atomicuilibrary 0.0.1 → 0.1.3

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 (675) hide show
  1. package/dist/cjs/category-section.cjs.entry.js +2 -2
  2. package/dist/cjs/dom-BvBb0kmW.js +267 -0
  3. package/dist/cjs/exploration-project-tailwind.cjs.js +2 -2
  4. package/dist/cjs/{index-ClkOYpT8.js → index-C32cWsm5.js} +1 -1
  5. package/dist/cjs/layout-manager.cjs.entry.js +3 -3
  6. package/dist/cjs/library-card.cjs.entry.js +2 -2
  7. package/dist/cjs/lm-container_2.cjs.entry.js +2 -2
  8. package/dist/cjs/lm-panel_3.cjs.entry.js +5 -5
  9. package/dist/cjs/loader.cjs.js +2 -2
  10. package/dist/cjs/my-component.cjs.entry.js +1 -1
  11. package/dist/cjs/my-step.cjs.entry.js +2 -2
  12. package/dist/cjs/nav-bar.cjs.entry.js +4 -4
  13. package/dist/cjs/{security-E1JcwxGc.js → security-CNaNip8F.js} +88 -154
  14. package/dist/cjs/smart-step.cjs.entry.js +3 -3
  15. package/dist/cjs/timeline-item.cjs.entry.js +2 -2
  16. package/dist/cjs/{ui-accordion_10.cjs.entry.js → ui-accordion_11.cjs.entry.js} +730 -61
  17. package/dist/cjs/ui-advanced-data-table.cjs.entry.js +2 -2
  18. package/dist/cjs/ui-anchor.cjs.entry.js +2 -2
  19. package/dist/cjs/ui-animate-on-scroll.cjs.entry.js +3 -3
  20. package/dist/cjs/ui-aside-panel.cjs.entry.js +11 -12
  21. package/dist/cjs/ui-avatar-group_5.cjs.entry.js +1694 -0
  22. package/dist/cjs/ui-breadcrumb-item.cjs.entry.js +3 -3
  23. package/dist/cjs/ui-breadcrumb.cjs.entry.js +1 -1
  24. package/dist/cjs/ui-callout-banner.cjs.entry.js +3 -3
  25. package/dist/cjs/ui-card.cjs.entry.js +28 -5
  26. package/dist/cjs/ui-carousel.cjs.entry.js +1 -1
  27. package/dist/cjs/ui-checkbox.cjs.entry.js +5 -5
  28. package/dist/cjs/ui-code-editor.cjs.entry.js +3 -3
  29. package/dist/cjs/ui-code-preview.cjs.entry.js +2 -2
  30. package/dist/cjs/ui-color-picker.cjs.entry.js +256 -22
  31. package/dist/cjs/ui-command-palette.cjs.entry.js +1 -1
  32. package/dist/cjs/ui-dialog-box.cjs.entry.js +86 -12
  33. package/dist/cjs/ui-dialog-content.cjs.entry.js +1 -1
  34. package/dist/cjs/ui-dialog-footer_2.cjs.entry.js +1 -1
  35. package/dist/cjs/ui-divider.cjs.entry.js +1 -1
  36. package/dist/cjs/ui-dock-host.cjs.entry.js +4 -4
  37. package/dist/cjs/ui-dock.cjs.entry.js +2 -2
  38. package/dist/cjs/ui-drag-drop.cjs.entry.js +2 -2
  39. package/dist/cjs/ui-dropdown_2.cjs.entry.js +104 -34
  40. package/dist/cjs/ui-empty-state.cjs.entry.js +2 -2
  41. package/dist/cjs/ui-fab-item.cjs.entry.js +2 -2
  42. package/dist/cjs/ui-fab.cjs.entry.js +4 -4
  43. package/dist/cjs/ui-file-upload.cjs.entry.js +143 -44
  44. package/dist/cjs/ui-horizontal-nav.cjs.entry.js +2 -2
  45. package/dist/cjs/ui-knob.cjs.entry.js +1 -1
  46. package/dist/cjs/ui-label.cjs.entry.js +473 -0
  47. package/dist/cjs/ui-library.cjs.entry.js +2 -2
  48. package/dist/cjs/ui-list-group_2.cjs.entry.js +351 -58
  49. package/dist/cjs/ui-list.cjs.entry.js +76 -42
  50. package/dist/cjs/ui-masonry.cjs.entry.js +1 -1
  51. package/dist/cjs/ui-meter-group.cjs.entry.js +5 -4
  52. package/dist/cjs/ui-navigation-item.cjs.entry.js +5 -5
  53. package/dist/cjs/ui-number-input.cjs.entry.js +7 -3
  54. package/dist/cjs/ui-otp-input.cjs.entry.js +5 -5
  55. package/dist/cjs/ui-pagination_3.cjs.entry.js +235 -504
  56. package/dist/cjs/ui-panel.cjs.entry.js +1 -1
  57. package/dist/cjs/ui-pattern-input.cjs.entry.js +46 -11
  58. package/dist/cjs/ui-progress.cjs.entry.js +164 -23
  59. package/dist/cjs/ui-range-slider.cjs.entry.js +2 -2
  60. package/dist/cjs/ui-resizable-panel.cjs.entry.js +2 -2
  61. package/dist/cjs/ui-scroll-top.cjs.entry.js +1 -1
  62. package/dist/cjs/ui-smart-context-menu.cjs.entry.js +1 -1
  63. package/dist/cjs/ui-smart-stepper.cjs.entry.js +2 -2
  64. package/dist/cjs/ui-snackbar.cjs.entry.js +2 -2
  65. package/dist/cjs/ui-speed-dial.cjs.entry.js +1 -1
  66. package/dist/cjs/ui-speedometer.cjs.entry.js +28 -17
  67. package/dist/cjs/ui-splitter.cjs.entry.js +1 -1
  68. package/dist/cjs/ui-step.cjs.entry.js +2 -2
  69. package/dist/cjs/ui-stepper.cjs.entry.js +2 -2
  70. package/dist/cjs/ui-switch.cjs.entry.js +14 -13
  71. package/dist/cjs/ui-tabs.cjs.entry.js +3 -3
  72. package/dist/cjs/ui-tag.cjs.entry.js +58 -13
  73. package/dist/cjs/ui-timeline.cjs.entry.js +11 -3
  74. package/dist/cjs/ui-timer.cjs.entry.js +2 -2
  75. package/dist/cjs/ui-toolbar.cjs.entry.js +2 -2
  76. package/dist/cjs/ui-tooltip.cjs.entry.js +5 -5
  77. package/dist/cjs/ui-top-bar.cjs.entry.js +1 -1
  78. package/dist/cjs/ui-transfer-list.cjs.entry.js +7 -7
  79. package/dist/cjs/ui-tree.cjs.entry.js +30 -15
  80. package/dist/cjs/ui-workspace-manager.cjs.entry.js +3 -3
  81. package/dist/collection/assets/js/component-config.js +1 -0
  82. package/dist/collection/assets/js/demo-loader.js +2 -1
  83. package/dist/collection/assets/js/demos/about-demo.js +13 -13
  84. package/dist/collection/assets/js/demos/accordion-demo.js +238 -49
  85. package/dist/collection/assets/js/demos/advanced-data-table-demo.js +315 -316
  86. package/dist/collection/assets/js/demos/anchor-demo.js +27 -28
  87. package/dist/collection/assets/js/demos/animate-on-scroll-demo.js +12 -12
  88. package/dist/collection/assets/js/demos/aside-panel-demo.js +57 -57
  89. package/dist/collection/assets/js/demos/avatar-demo.js +433 -95
  90. package/dist/collection/assets/js/demos/badge-demo.js +51 -52
  91. package/dist/collection/assets/js/demos/breadcrumb-demo.js +7 -7
  92. package/dist/collection/assets/js/demos/button-demo.js +175 -106
  93. package/dist/collection/assets/js/demos/button-toggle-demo.js +199 -96
  94. package/dist/collection/assets/js/demos/callout-banner-demo.js +332 -42
  95. package/dist/collection/assets/js/demos/card-demo.js +122 -74
  96. package/dist/collection/assets/js/demos/carousel-demo.js +632 -360
  97. package/dist/collection/assets/js/demos/checkbox-demo.js +124 -7
  98. package/dist/collection/assets/js/demos/color-picker-demo.js +394 -100
  99. package/dist/collection/assets/js/demos/command-palette-demo.js +182 -65
  100. package/dist/collection/assets/js/demos/complex-form-demo.js +5 -5
  101. package/dist/collection/assets/js/demos/context-menu-demo.js +476 -55
  102. package/dist/collection/assets/js/demos/dialog-demo-temp.js +3 -3
  103. package/dist/collection/assets/js/demos/dialog-demo.js +336 -230
  104. package/dist/collection/assets/js/demos/divider-demo.js +59 -62
  105. package/dist/collection/assets/js/demos/dock-demo.js +92 -72
  106. package/dist/collection/assets/js/demos/dock-host-init.js +31 -31
  107. package/dist/collection/assets/js/demos/documentation-demo.js +227 -22
  108. package/dist/collection/assets/js/demos/drag-drop-demo.js +2 -2
  109. package/dist/collection/assets/js/demos/dropdown-demo.js +140 -136
  110. package/dist/collection/assets/js/demos/dropdown-subtitle-demo.js +2 -2
  111. package/dist/collection/assets/js/demos/empty-state-demo.js +304 -88
  112. package/dist/collection/assets/js/demos/fab-demo.js +95 -11
  113. package/dist/collection/assets/js/demos/file-upload-demo.js +641 -171
  114. package/dist/collection/assets/js/demos/home-components.js +2 -2
  115. package/dist/collection/assets/js/demos/horizontal-nav-demo.js +6 -6
  116. package/dist/collection/assets/js/demos/icon-demo.js +17 -17
  117. package/dist/collection/assets/js/demos/input-demo.js +147 -143
  118. package/dist/collection/assets/js/demos/knob-demo.js +29 -30
  119. package/dist/collection/assets/js/demos/label-demo.js +697 -0
  120. package/dist/collection/assets/js/demos/layout-manager-demo.js +55 -55
  121. package/dist/collection/assets/js/demos/list-demo.js +226 -140
  122. package/dist/collection/assets/js/demos/loader-demo.js +48 -48
  123. package/dist/collection/assets/js/demos/masonry-demo.js +592 -0
  124. package/dist/collection/assets/js/demos/meter-group-demo.js +14 -16
  125. package/dist/collection/assets/js/demos/multi-level-context-menu-demo.js +25 -25
  126. package/dist/collection/assets/js/demos/my-profile-demo.js +27 -27
  127. package/dist/collection/assets/js/demos/nav-bar-demo.js +1 -1
  128. package/dist/collection/assets/js/demos/number-input-demo.js +262 -211
  129. package/dist/collection/assets/js/demos/pagination-demo.js +29 -29
  130. package/dist/collection/assets/js/demos/panel-demo.js +18 -25
  131. package/dist/collection/assets/js/demos/pattern-input-demo.js +278 -40
  132. package/dist/collection/assets/js/demos/popover-demo.js +240 -149
  133. package/dist/collection/assets/js/demos/progress-demo.js +768 -61
  134. package/dist/collection/assets/js/demos/radio-demo.js +73 -12
  135. package/dist/collection/assets/js/demos/range-slider-demo.js +33 -33
  136. package/dist/collection/assets/js/demos/rating-demo.js +19 -19
  137. package/dist/collection/assets/js/demos/scroll-top-demo.js +8 -9
  138. package/dist/collection/assets/js/demos/skeleton-demo.js +110 -52
  139. package/dist/collection/assets/js/demos/skeleton-performance-demo.js +2 -2
  140. package/dist/collection/assets/js/demos/smart-dialog-demo.js +12 -12
  141. package/dist/collection/assets/js/demos/smart-menu-demo.js +17 -17
  142. package/dist/collection/assets/js/demos/snackbar-demo.js +53 -53
  143. package/dist/collection/assets/js/demos/speed-dial-demo.js +14 -14
  144. package/dist/collection/assets/js/demos/speedometer-demo.js +40 -32
  145. package/dist/collection/assets/js/demos/split-button-demo.js +2 -2
  146. package/dist/collection/assets/js/demos/splitter-demo.js +137 -0
  147. package/dist/collection/assets/js/demos/stack-demo.js +27 -27
  148. package/dist/collection/assets/js/demos/stepper-demo.js +49 -49
  149. package/dist/collection/assets/js/demos/switch-demo.js +561 -125
  150. package/dist/collection/assets/js/demos/tabs-demo.js +22 -22
  151. package/dist/collection/assets/js/demos/tag-demo.js +110 -80
  152. package/dist/collection/assets/js/demos/theme-selector-demo.js +27 -27
  153. package/dist/collection/assets/js/demos/timeline-demo.js +27 -14
  154. package/dist/collection/assets/js/demos/timeline-playground.js +2 -2
  155. package/dist/collection/assets/js/demos/timer-demo.js +10 -10
  156. package/dist/collection/assets/js/demos/toolbar-demo.js +17 -17
  157. package/dist/collection/assets/js/demos/tooltip-demo.js +116 -114
  158. package/dist/collection/assets/js/demos/top-bar-demo.js +6 -6
  159. package/dist/collection/assets/js/demos/transfer-list-demo.js +20 -20
  160. package/dist/collection/assets/js/demos/tree-demo.js +72 -70
  161. package/dist/collection/assets/js/demos/workspace-manager-demo.js +20 -20
  162. package/dist/collection/collection-manifest.json +2 -6
  163. package/dist/collection/components/accordion/accordion.css +576 -9
  164. package/dist/collection/components/accordion/accordion.js +47 -14
  165. package/dist/collection/components/advanced-data-table/advanced-data-table.css +24 -10
  166. package/dist/collection/components/advanced-data-table/advanced-data-table.js +2 -2
  167. package/dist/collection/components/anchor/anchor.css +0 -1
  168. package/dist/collection/components/animate-on-scroll/animate-on-scroll.js +2 -2
  169. package/dist/collection/components/aside-panel/aside-panel.css +3 -5
  170. package/dist/collection/components/aside-panel/aside-panel.js +12 -13
  171. package/dist/collection/components/avatar/avatar.css +6 -6
  172. package/dist/collection/components/avatar/avatar.js +64 -12
  173. package/dist/collection/components/badge/badge.css +28 -17
  174. package/dist/collection/components/badge/badge.js +7 -4
  175. package/dist/collection/components/breadcrumb/breadcrumb-item.js +2 -2
  176. package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
  177. package/dist/collection/components/button/button.css +132 -0
  178. package/dist/collection/components/button/button.js +130 -11
  179. package/dist/collection/components/button-toggle/button-toggle.js +2 -2
  180. package/dist/collection/components/button-toggle-group/button-toggle-group.css +161 -14
  181. package/dist/collection/components/button-toggle-group/button-toggle-group.js +2 -2
  182. package/dist/collection/components/callout-banner/callout-banner.css +75 -0
  183. package/dist/collection/components/callout-banner/callout-banner.js +1 -1
  184. package/dist/collection/components/card/card.css +304 -40
  185. package/dist/collection/components/card/card.js +48 -4
  186. package/dist/collection/components/checkbox/checkbox.css +8 -10
  187. package/dist/collection/components/checkbox/checkbox.js +5 -5
  188. package/dist/collection/components/code-editor/code-editor.js +1 -1
  189. package/dist/collection/components/code-preview/ui-code-preview.js +1 -1
  190. package/dist/collection/components/color-picker/color-picker.css +110 -6
  191. package/dist/collection/components/color-picker/color-picker.js +302 -26
  192. package/dist/collection/components/context-menu/context-menu.css +8 -8
  193. package/dist/collection/components/dialog-box/dialog-box.js +117 -15
  194. package/dist/collection/components/dialog-header/dialog-header.js +2 -2
  195. package/dist/collection/components/dock/dock.css +116 -3
  196. package/dist/collection/components/dock-host/ui-dock-host.js +3 -3
  197. package/dist/collection/components/drag-drop/drag-drop.js +1 -1
  198. package/dist/collection/components/dropdown/dropdown.css +101 -8
  199. package/dist/collection/components/dropdown/dropdown.js +94 -28
  200. package/dist/collection/components/empty-state/empty-state.js +1 -1
  201. package/dist/collection/components/fab/fab.css +87 -15
  202. package/dist/collection/components/fab/fab.js +3 -3
  203. package/dist/collection/components/fab-item/fab-item.js +1 -1
  204. package/dist/collection/components/file-upload/file-upload.css +1362 -31
  205. package/dist/collection/components/file-upload/file-upload.js +171 -50
  206. package/dist/collection/components/horizontal-nav/horizontal-nav.css +9 -9
  207. package/dist/collection/components/horizontal-nav/horizontal-nav.js +2 -2
  208. package/dist/collection/components/icon/icon.js +1 -1
  209. package/dist/collection/components/input/input.css +9 -0
  210. package/dist/collection/components/input/input.js +21 -10
  211. package/dist/collection/components/label/label.css +583 -0
  212. package/dist/collection/components/label/label.js +1669 -0
  213. package/dist/collection/components/layout-manager/layout-manager.js +1 -1
  214. package/dist/collection/components/layout-manager/lm-floating-window/lm-floating-window.js +1 -1
  215. package/dist/collection/components/layout-manager/lm-panel/lm-panel.js +1 -1
  216. package/dist/collection/components/layout-manager/lm-splitter/lm-splitter.js +1 -1
  217. package/dist/collection/components/layout-manager/lm-tabs/lm-tabs.js +1 -1
  218. package/dist/collection/components/library/category-section.js +1 -1
  219. package/dist/collection/components/library/library-card.js +1 -1
  220. package/dist/collection/components/library/library.js +1 -1
  221. package/dist/collection/components/list/list.css +46 -5
  222. package/dist/collection/components/list/list.js +76 -42
  223. package/dist/collection/components/list-group/list-group.css +0 -2
  224. package/dist/collection/components/list-group/list-group.js +11 -5
  225. package/dist/collection/components/list-item/list-item.css +427 -131
  226. package/dist/collection/components/list-item/list-item.js +373 -58
  227. package/dist/collection/components/loader/loader.css +1635 -0
  228. package/dist/collection/components/loader/loader.js +1120 -0
  229. package/dist/collection/components/meter-group/meter-group.css +5 -0
  230. package/dist/collection/components/meter-group/meter-group.js +3 -2
  231. package/dist/collection/components/my-step/my-step.js +1 -1
  232. package/dist/collection/components/nav-bar/nav-bar.css +4 -4
  233. package/dist/collection/components/nav-bar/nav-bar.js +6 -6
  234. package/dist/collection/components/number-input/number-input.js +6 -2
  235. package/dist/collection/components/otp-input/otp-input.css +10 -0
  236. package/dist/collection/components/otp-input/otp-input.js +3 -3
  237. package/dist/collection/components/pagination/pagination.js +1 -1
  238. package/dist/collection/components/pattern-input/pattern-input.css +0 -1
  239. package/dist/collection/components/pattern-input/pattern-input.js +44 -9
  240. package/dist/collection/components/popover/popover.css +35 -7
  241. package/dist/collection/components/popover/popover.js +64 -9
  242. package/dist/collection/components/progress/progress.css +307 -28
  243. package/dist/collection/components/progress/progress.js +244 -24
  244. package/dist/collection/components/radio/radio.css +5 -3
  245. package/dist/collection/components/radio/radio.js +2 -2
  246. package/dist/collection/components/range-slider/range-slider.css +284 -31
  247. package/dist/collection/components/range-slider/range-slider.js +5 -5
  248. package/dist/collection/components/rating/rating.css +151 -65
  249. package/dist/collection/components/rating/rating.js +31 -13
  250. package/dist/collection/components/resizable-panel/resizable-panel.js +1 -1
  251. package/dist/collection/components/skeleton/skeleton-loader.css +144 -44
  252. package/dist/collection/components/skeleton/skeleton-loader.js +11 -7
  253. package/dist/collection/components/smart-stepper/smart-step.js +2 -2
  254. package/dist/collection/components/smart-stepper/smart-stepper.js +1 -1
  255. package/dist/collection/components/snackbar/snackbar.js +1 -1
  256. package/dist/collection/components/speed-dial/speed-dial.js +1 -1
  257. package/dist/collection/components/speedometer/speedometer.css +26 -6
  258. package/dist/collection/components/speedometer/speedometer.js +26 -15
  259. package/dist/collection/components/stack/stack.js +2 -2
  260. package/dist/collection/components/step/step.js +1 -1
  261. package/dist/collection/components/stepper/stepper.js +1 -1
  262. package/dist/collection/components/switch/switch.css +367 -8
  263. package/dist/collection/components/switch/switch.js +14 -13
  264. package/dist/collection/components/tag/tag.css +38 -12
  265. package/dist/collection/components/tag/tag.js +58 -13
  266. package/dist/collection/components/tag-group/tag-group.css +0 -1
  267. package/dist/collection/components/tag-group/tag-group.js +3 -3
  268. package/dist/collection/components/timeline/timeline.css +380 -317
  269. package/dist/collection/components/timeline/timeline.js +8 -0
  270. package/dist/collection/components/timeline-item/timeline-item.js +1 -1
  271. package/dist/collection/components/timer/timer.js +1 -1
  272. package/dist/collection/components/toggle-group/toggle-group.css +7 -3
  273. package/dist/collection/components/toggle-group/toggle-group.js +7 -3
  274. package/dist/collection/components/toolbar/toolbar.js +1 -1
  275. package/dist/collection/components/tooltip/tooltip.js +4 -4
  276. package/dist/collection/components/top-bar/top-bar.js +2 -2
  277. package/dist/collection/components/transfer-list/transfer-list.css +13 -13
  278. package/dist/collection/components/transfer-list/transfer-list.js +4 -4
  279. package/dist/collection/components/tree/tree.css +35 -21
  280. package/dist/collection/components/tree/tree.js +28 -13
  281. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.css +53 -20
  282. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.js +48 -13
  283. package/dist/collection/components/ui-navigation-bar/navigation-item.css +7 -7
  284. package/dist/collection/components/ui-navigation-bar/navigation-item.js +3 -3
  285. package/dist/collection/components.js +1 -0
  286. package/dist/collection/utils/dom.js +151 -151
  287. package/dist/components/avatar-group.js +1 -1
  288. package/dist/components/avatar.js +1 -1
  289. package/dist/components/badge.js +1 -1
  290. package/dist/components/button-toggle.js +1 -1
  291. package/dist/components/button.js +1 -0
  292. package/dist/components/category-section2.js +1 -1
  293. package/dist/components/checkbox.js +1 -1
  294. package/dist/components/context-menu.js +1 -1
  295. package/dist/components/dialog-header.js +1 -1
  296. package/dist/components/dom.js +1 -1
  297. package/dist/components/dropdown.js +1 -1
  298. package/dist/components/icon.js +2 -2
  299. package/dist/components/input.js +1 -1
  300. package/dist/components/layout-manager.js +1 -1
  301. package/dist/components/library-card2.js +1 -1
  302. package/dist/components/list-group.js +1 -1
  303. package/dist/components/list-item.js +1 -1
  304. package/dist/components/lm-container2.js +1 -1
  305. package/dist/components/lm-floating-window2.js +1 -1
  306. package/dist/components/lm-panel2.js +1 -1
  307. package/dist/components/lm-splitter2.js +1 -1
  308. package/dist/components/lm-tabs2.js +1 -1
  309. package/dist/components/loader.js +1 -0
  310. package/dist/components/my-step.js +1 -1
  311. package/dist/components/nav-bar.js +1 -1
  312. package/dist/components/pagination.js +1 -1
  313. package/dist/components/popover.js +1 -0
  314. package/dist/components/radio.js +1 -1
  315. package/dist/components/range-slider.js +1 -1
  316. package/dist/components/rating.js +1 -1
  317. package/dist/components/resizable-panel.js +1 -1
  318. package/dist/components/skeleton-loader.js +1 -1
  319. package/dist/components/smart-step.js +1 -1
  320. package/dist/components/stack.js +1 -1
  321. package/dist/components/switch.js +1 -1
  322. package/dist/components/tag-group.js +1 -1
  323. package/dist/components/tag.js +1 -1
  324. package/dist/components/timeline-item.js +1 -1
  325. package/dist/components/toggle-group.js +1 -1
  326. package/dist/components/tooltip.js +1 -1
  327. package/dist/components/ui-accordion.js +1 -1
  328. package/dist/components/ui-advanced-data-table.js +1 -1
  329. package/dist/components/ui-anchor.js +1 -1
  330. package/dist/components/ui-animate-on-scroll.js +1 -1
  331. package/dist/components/ui-aside-panel.js +1 -1
  332. package/dist/components/ui-badge.js +1 -1
  333. package/dist/components/ui-breadcrumb-item.js +1 -1
  334. package/dist/components/ui-breadcrumb.js +1 -1
  335. package/dist/components/ui-button-toggle-group.js +1 -1
  336. package/dist/components/ui-button.js +1 -1
  337. package/dist/components/ui-callout-banner.js +1 -1
  338. package/dist/components/ui-card.js +1 -1
  339. package/dist/components/ui-carousel.js +1 -1
  340. package/dist/components/ui-code-editor.js +1 -1
  341. package/dist/components/ui-code-preview.js +1 -1
  342. package/dist/components/ui-color-picker.js +1 -1
  343. package/dist/components/ui-command-palette.js +1 -1
  344. package/dist/components/ui-dialog-box.js +1 -1
  345. package/dist/components/ui-divider.js +1 -1
  346. package/dist/components/ui-dock-host.js +1 -1
  347. package/dist/components/ui-dock.js +1 -1
  348. package/dist/components/ui-drag-drop.js +1 -1
  349. package/dist/components/ui-empty-state.js +1 -1
  350. package/dist/components/ui-fab-item.js +1 -1
  351. package/dist/components/ui-fab.js +1 -1
  352. package/dist/components/ui-file-upload.js +1 -1
  353. package/dist/components/ui-horizontal-nav.js +1 -1
  354. package/dist/components/ui-knob.js +1 -1
  355. package/dist/components/{ui-input-pair.d.ts → ui-label.d.ts} +4 -4
  356. package/dist/components/ui-label.js +1 -0
  357. package/dist/components/ui-library.js +1 -1
  358. package/dist/components/ui-list.js +1 -1
  359. package/dist/components/{ui-radio-group.d.ts → ui-loader.d.ts} +4 -4
  360. package/dist/components/ui-loader.js +1 -0
  361. package/dist/components/ui-masonry.js +1 -1
  362. package/dist/components/ui-meter-group.js +1 -1
  363. package/dist/components/ui-navigation-bar.js +1 -1
  364. package/dist/components/ui-navigation-item.js +1 -1
  365. package/dist/components/ui-number-input.js +1 -1
  366. package/dist/components/ui-otp-input.js +1 -1
  367. package/dist/components/ui-panel.js +1 -1
  368. package/dist/components/ui-pattern-input.js +1 -1
  369. package/dist/components/ui-popover.js +1 -1
  370. package/dist/components/ui-progress.js +1 -1
  371. package/dist/components/ui-scroll-top.js +1 -1
  372. package/dist/components/ui-smart-context-menu.js +1 -1
  373. package/dist/components/ui-smart-stepper.js +1 -1
  374. package/dist/components/ui-snackbar.js +1 -1
  375. package/dist/components/ui-speed-dial.js +1 -1
  376. package/dist/components/ui-speedometer.js +1 -1
  377. package/dist/components/ui-splitter.js +1 -1
  378. package/dist/components/ui-step.js +1 -1
  379. package/dist/components/ui-stepper.js +1 -1
  380. package/dist/components/ui-tabs.js +1 -1
  381. package/dist/components/ui-timeline.js +1 -1
  382. package/dist/components/ui-timer.js +1 -1
  383. package/dist/components/ui-toolbar.js +1 -1
  384. package/dist/components/ui-top-bar.js +1 -1
  385. package/dist/components/ui-transfer-list.js +1 -1
  386. package/dist/components/ui-tree.js +1 -1
  387. package/dist/components/ui-workspace-manager.js +1 -1
  388. package/dist/esm/category-section.entry.js +2 -2
  389. package/dist/esm/dom-DFBTWhGw.js +262 -0
  390. package/dist/esm/exploration-project-tailwind.js +3 -3
  391. package/dist/esm/{index-DUsoYu9r.js → index-Dqu2zaH1.js} +1 -1
  392. package/dist/esm/layout-manager.entry.js +3 -3
  393. package/dist/esm/library-card.entry.js +2 -2
  394. package/dist/esm/lm-container_2.entry.js +2 -2
  395. package/dist/esm/lm-panel_3.entry.js +5 -5
  396. package/dist/esm/loader.js +3 -3
  397. package/dist/esm/my-component.entry.js +1 -1
  398. package/dist/esm/my-step.entry.js +2 -2
  399. package/dist/esm/nav-bar.entry.js +4 -4
  400. package/dist/esm/{security-D2WzX6vR.js → security-Dyu3Nplq.js} +88 -154
  401. package/dist/esm/smart-step.entry.js +3 -3
  402. package/dist/esm/timeline-item.entry.js +2 -2
  403. package/dist/esm/{ui-accordion_10.entry.js → ui-accordion_11.entry.js} +730 -62
  404. package/dist/esm/ui-advanced-data-table.entry.js +2 -2
  405. package/dist/esm/ui-anchor.entry.js +2 -2
  406. package/dist/esm/ui-animate-on-scroll.entry.js +3 -3
  407. package/dist/esm/ui-aside-panel.entry.js +11 -12
  408. package/dist/esm/ui-avatar-group_5.entry.js +1688 -0
  409. package/dist/esm/ui-breadcrumb-item.entry.js +3 -3
  410. package/dist/esm/ui-breadcrumb.entry.js +1 -1
  411. package/dist/esm/ui-callout-banner.entry.js +3 -3
  412. package/dist/esm/ui-card.entry.js +28 -5
  413. package/dist/esm/ui-carousel.entry.js +1 -1
  414. package/dist/esm/ui-checkbox.entry.js +5 -5
  415. package/dist/esm/ui-code-editor.entry.js +3 -3
  416. package/dist/esm/ui-code-preview.entry.js +2 -2
  417. package/dist/esm/ui-color-picker.entry.js +256 -22
  418. package/dist/esm/ui-command-palette.entry.js +1 -1
  419. package/dist/esm/ui-dialog-box.entry.js +86 -12
  420. package/dist/esm/ui-dialog-content.entry.js +1 -1
  421. package/dist/esm/ui-dialog-footer_2.entry.js +1 -1
  422. package/dist/esm/ui-divider.entry.js +1 -1
  423. package/dist/esm/ui-dock-host.entry.js +4 -4
  424. package/dist/esm/ui-dock.entry.js +2 -2
  425. package/dist/esm/ui-drag-drop.entry.js +2 -2
  426. package/dist/esm/ui-dropdown_2.entry.js +104 -34
  427. package/dist/esm/ui-empty-state.entry.js +2 -2
  428. package/dist/esm/ui-fab-item.entry.js +2 -2
  429. package/dist/esm/ui-fab.entry.js +4 -4
  430. package/dist/esm/ui-file-upload.entry.js +143 -44
  431. package/dist/esm/ui-horizontal-nav.entry.js +2 -2
  432. package/dist/esm/ui-knob.entry.js +1 -1
  433. package/dist/esm/ui-label.entry.js +471 -0
  434. package/dist/esm/ui-library.entry.js +2 -2
  435. package/dist/esm/ui-list-group_2.entry.js +351 -58
  436. package/dist/esm/ui-list.entry.js +76 -42
  437. package/dist/esm/ui-masonry.entry.js +1 -1
  438. package/dist/esm/ui-meter-group.entry.js +5 -4
  439. package/dist/esm/ui-navigation-item.entry.js +5 -5
  440. package/dist/esm/ui-number-input.entry.js +7 -3
  441. package/dist/esm/ui-otp-input.entry.js +5 -5
  442. package/dist/esm/ui-pagination_3.entry.js +235 -504
  443. package/dist/esm/ui-panel.entry.js +1 -1
  444. package/dist/esm/ui-pattern-input.entry.js +46 -11
  445. package/dist/esm/ui-progress.entry.js +164 -23
  446. package/dist/esm/ui-range-slider.entry.js +2 -2
  447. package/dist/esm/ui-resizable-panel.entry.js +2 -2
  448. package/dist/esm/ui-scroll-top.entry.js +1 -1
  449. package/dist/esm/ui-smart-context-menu.entry.js +1 -1
  450. package/dist/esm/ui-smart-stepper.entry.js +2 -2
  451. package/dist/esm/ui-snackbar.entry.js +2 -2
  452. package/dist/esm/ui-speed-dial.entry.js +1 -1
  453. package/dist/esm/ui-speedometer.entry.js +28 -17
  454. package/dist/esm/ui-splitter.entry.js +1 -1
  455. package/dist/esm/ui-step.entry.js +2 -2
  456. package/dist/esm/ui-stepper.entry.js +2 -2
  457. package/dist/esm/ui-switch.entry.js +14 -13
  458. package/dist/esm/ui-tabs.entry.js +3 -3
  459. package/dist/esm/ui-tag.entry.js +58 -13
  460. package/dist/esm/ui-timeline.entry.js +11 -3
  461. package/dist/esm/ui-timer.entry.js +2 -2
  462. package/dist/esm/ui-toolbar.entry.js +2 -2
  463. package/dist/esm/ui-tooltip.entry.js +5 -5
  464. package/dist/esm/ui-top-bar.entry.js +1 -1
  465. package/dist/esm/ui-transfer-list.entry.js +7 -7
  466. package/dist/esm/ui-tree.entry.js +30 -15
  467. package/dist/esm/ui-workspace-manager.entry.js +3 -3
  468. package/dist/exploration-project-tailwind/exploration-project-tailwind.css +1 -1
  469. package/dist/exploration-project-tailwind/exploration-project-tailwind.esm.js +1 -1
  470. package/dist/exploration-project-tailwind/{p-f5719913.entry.js → p-024a299a.entry.js} +1 -1
  471. package/dist/exploration-project-tailwind/p-0a71896a.entry.js +1 -0
  472. package/dist/exploration-project-tailwind/{p-35296877.entry.js → p-0cdeb8d8.entry.js} +1 -1
  473. package/dist/exploration-project-tailwind/{p-a42fdc33.entry.js → p-139cefbc.entry.js} +1 -1
  474. package/dist/exploration-project-tailwind/{p-c7e87fbb.entry.js → p-198c83e5.entry.js} +1 -1
  475. package/dist/exploration-project-tailwind/p-236f47b1.entry.js +1 -0
  476. package/dist/exploration-project-tailwind/{p-81961fb1.entry.js → p-25530d0d.entry.js} +1 -1
  477. package/dist/exploration-project-tailwind/{p-41cd6bf0.entry.js → p-298f2057.entry.js} +1 -1
  478. package/dist/exploration-project-tailwind/{p-85e36111.entry.js → p-2b5a8e3e.entry.js} +1 -1
  479. package/dist/exploration-project-tailwind/p-2b6aa7bc.entry.js +1 -0
  480. package/dist/exploration-project-tailwind/{p-7515b1e3.entry.js → p-2cfba753.entry.js} +1 -1
  481. package/dist/exploration-project-tailwind/{p-c90722ec.entry.js → p-2fe22958.entry.js} +1 -1
  482. package/dist/exploration-project-tailwind/{p-85bf89fd.entry.js → p-3012e780.entry.js} +1 -1
  483. package/dist/exploration-project-tailwind/p-321c3f46.entry.js +1 -0
  484. package/dist/exploration-project-tailwind/{p-3d3d48fd.entry.js → p-3ab43638.entry.js} +1 -1
  485. package/dist/exploration-project-tailwind/p-3ad7e47e.entry.js +1 -0
  486. package/dist/exploration-project-tailwind/p-3b1ca826.entry.js +1 -0
  487. package/dist/exploration-project-tailwind/p-3ee8ddae.entry.js +1 -0
  488. package/dist/exploration-project-tailwind/{p-4f6bba75.entry.js → p-3efb44c8.entry.js} +1 -1
  489. package/dist/exploration-project-tailwind/{p-36861546.entry.js → p-42e3bc28.entry.js} +1 -1
  490. package/dist/exploration-project-tailwind/p-4360331a.entry.js +1 -0
  491. package/dist/exploration-project-tailwind/{p-2f961934.entry.js → p-443de32b.entry.js} +1 -1
  492. package/dist/exploration-project-tailwind/{p-898dd0fa.entry.js → p-44d15451.entry.js} +1 -1
  493. package/dist/exploration-project-tailwind/{p-e5322e59.entry.js → p-46071679.entry.js} +1 -1
  494. package/dist/exploration-project-tailwind/{p-a3f465d9.entry.js → p-497d6182.entry.js} +1 -1
  495. package/dist/exploration-project-tailwind/p-4ad8c55c.entry.js +1 -0
  496. package/dist/exploration-project-tailwind/{p-73d29a4a.entry.js → p-4c46ac0b.entry.js} +1 -1
  497. package/dist/exploration-project-tailwind/{p-f0830120.entry.js → p-5042ddaa.entry.js} +1 -1
  498. package/dist/exploration-project-tailwind/p-60190e0e.entry.js +1 -0
  499. package/dist/exploration-project-tailwind/p-60530874.entry.js +1 -0
  500. package/dist/exploration-project-tailwind/{p-200241f8.entry.js → p-6108565d.entry.js} +1 -1
  501. package/dist/exploration-project-tailwind/{p-77124686.entry.js → p-62889cfe.entry.js} +1 -1
  502. package/dist/exploration-project-tailwind/{p-9d0c8760.entry.js → p-66f71613.entry.js} +1 -1
  503. package/dist/exploration-project-tailwind/{p-2d273118.entry.js → p-67c440b2.entry.js} +1 -1
  504. package/dist/exploration-project-tailwind/{p-d419eaf0.entry.js → p-6f09503f.entry.js} +1 -1
  505. package/dist/exploration-project-tailwind/p-721bdbc3.entry.js +1 -0
  506. package/dist/exploration-project-tailwind/p-747b02ea.entry.js +1 -0
  507. package/dist/exploration-project-tailwind/{p-c6fd72e1.entry.js → p-754cb046.entry.js} +1 -1
  508. package/dist/exploration-project-tailwind/{p-ffb1754a.entry.js → p-7ed3bba2.entry.js} +1 -1
  509. package/dist/exploration-project-tailwind/{p-77cc333a.entry.js → p-864cebb7.entry.js} +1 -1
  510. package/dist/exploration-project-tailwind/{p-4d73c143.entry.js → p-96ee3196.entry.js} +1 -1
  511. package/dist/exploration-project-tailwind/{p-c5ddc817.entry.js → p-97086868.entry.js} +1 -1
  512. package/dist/exploration-project-tailwind/{p-287dbf09.entry.js → p-9c5ced88.entry.js} +1 -1
  513. package/dist/exploration-project-tailwind/p-9d3044d4.entry.js +1 -0
  514. package/dist/exploration-project-tailwind/p-9e079be6.entry.js +1 -0
  515. package/dist/exploration-project-tailwind/{p-0b004861.entry.js → p-9e4c45f5.entry.js} +1 -1
  516. package/dist/exploration-project-tailwind/p-9eee7394.entry.js +1 -0
  517. package/dist/exploration-project-tailwind/p-DFBTWhGw.js +1 -0
  518. package/dist/exploration-project-tailwind/p-Dqu2zaH1.js +2 -0
  519. package/dist/exploration-project-tailwind/p-Dyu3Nplq.js +2 -0
  520. package/dist/exploration-project-tailwind/p-a7bdedc2.entry.js +1 -0
  521. package/dist/exploration-project-tailwind/{p-c87aeab6.entry.js → p-a8ec29de.entry.js} +1 -1
  522. package/dist/exploration-project-tailwind/{p-c174a372.entry.js → p-ae617f62.entry.js} +1 -1
  523. package/dist/exploration-project-tailwind/{p-62352ef2.entry.js → p-aef76052.entry.js} +1 -1
  524. package/dist/exploration-project-tailwind/p-b5f043fa.entry.js +1 -0
  525. package/dist/exploration-project-tailwind/p-b637b91b.entry.js +1 -0
  526. package/dist/exploration-project-tailwind/{p-8d951aef.entry.js → p-bc49a088.entry.js} +1 -1
  527. package/dist/exploration-project-tailwind/{p-4de419d5.entry.js → p-bd9a631f.entry.js} +1 -1
  528. package/dist/exploration-project-tailwind/{p-e8ba0c95.entry.js → p-bf4b6767.entry.js} +1 -1
  529. package/dist/exploration-project-tailwind/p-c0fa400e.entry.js +1 -0
  530. package/dist/exploration-project-tailwind/{p-5e3e80ae.entry.js → p-c4f3d990.entry.js} +1 -1
  531. package/dist/exploration-project-tailwind/p-c68ddb2f.entry.js +1 -0
  532. package/dist/exploration-project-tailwind/p-c79574c4.entry.js +1 -0
  533. package/dist/exploration-project-tailwind/p-c840098d.entry.js +1 -0
  534. package/dist/exploration-project-tailwind/{p-a1ad32a2.entry.js → p-c8663cbe.entry.js} +1 -1
  535. package/dist/exploration-project-tailwind/{p-7f91d949.entry.js → p-cb6e38a6.entry.js} +1 -1
  536. package/dist/exploration-project-tailwind/p-cb9f2df1.entry.js +1 -0
  537. package/dist/exploration-project-tailwind/p-cfe8b696.entry.js +1 -0
  538. package/dist/exploration-project-tailwind/p-d00e13ae.entry.js +1 -0
  539. package/dist/exploration-project-tailwind/{p-c4ba7e52.entry.js → p-d01ed934.entry.js} +1 -1
  540. package/dist/exploration-project-tailwind/{p-aa85ff78.entry.js → p-d4e57d94.entry.js} +1 -1
  541. package/dist/exploration-project-tailwind/{p-ccb5c737.entry.js → p-d5bd3a3f.entry.js} +1 -1
  542. package/dist/exploration-project-tailwind/{p-45482d86.entry.js → p-d987cebe.entry.js} +1 -1
  543. package/dist/exploration-project-tailwind/p-d9ae77c0.entry.js +1 -0
  544. package/dist/exploration-project-tailwind/p-e9bae5c7.entry.js +1 -0
  545. package/dist/exploration-project-tailwind/p-f516fabc.entry.js +1 -0
  546. package/dist/exploration-project-tailwind/p-f68e2794.entry.js +1 -0
  547. package/dist/exploration-project-tailwind/{p-d30e24bd.entry.js → p-fa034f69.entry.js} +1 -1
  548. package/dist/types/components/accordion/accordion.d.ts +10 -2
  549. package/dist/types/components/aside-panel/aside-panel.d.ts +0 -3
  550. package/dist/types/components/avatar/avatar.d.ts +3 -0
  551. package/dist/types/components/avatar/types.d.ts +2 -0
  552. package/dist/types/components/badge/badge.d.ts +1 -0
  553. package/dist/types/components/button/button.d.ts +9 -0
  554. package/dist/types/components/card/card.d.ts +4 -0
  555. package/dist/types/components/color-picker/color-picker.d.ts +35 -2
  556. package/dist/types/components/dialog-box/dialog-box.d.ts +10 -0
  557. package/dist/types/components/dropdown/dropdown.d.ts +5 -0
  558. package/dist/types/components/file-upload/file-upload.d.ts +23 -6
  559. package/dist/types/components/label/label.d.ts +290 -0
  560. package/dist/types/components/label/types.d.ts +39 -0
  561. package/dist/types/components/list/list.d.ts +2 -1
  562. package/dist/types/components/list-group/list-group.d.ts +1 -0
  563. package/dist/types/components/list-item/list-item.d.ts +46 -17
  564. package/dist/types/components/loader/loader.d.ts +145 -0
  565. package/dist/types/components/pattern-input/pattern-input.d.ts +6 -0
  566. package/dist/types/components/popover/popover.d.ts +3 -0
  567. package/dist/types/components/progress/progress.d.ts +41 -2
  568. package/dist/types/components/range-slider/range-slider.d.ts +2 -2
  569. package/dist/types/components/rating/rating.d.ts +1 -0
  570. package/dist/types/components/skeleton/skeleton-loader.d.ts +1 -1
  571. package/dist/types/components/speedometer/speedometer.d.ts +1 -0
  572. package/dist/types/components/tag/tag.d.ts +4 -0
  573. package/dist/types/components/tree/tree.d.ts +1 -0
  574. package/dist/types/components/ui-navigation-bar/navigation-bar/navigation-bar.d.ts +1 -1
  575. package/dist/types/components.d.ts +1214 -1381
  576. package/dist/types/types/common.d.ts +2 -2
  577. package/dist/types/types/common.type.d.ts +3 -1
  578. package/dist/types/utils/dom.d.ts +4 -4
  579. package/package.json +4 -4
  580. package/dist/cjs/dom-oP1E4Rd3.js +0 -267
  581. package/dist/cjs/ui-avatar-group_3.cjs.entry.js +0 -634
  582. package/dist/cjs/ui-checkbox-group.cjs.entry.js +0 -330
  583. package/dist/cjs/ui-color-controller.cjs.entry.js +0 -150
  584. package/dist/cjs/ui-image-button.cjs.entry.js +0 -67
  585. package/dist/cjs/ui-input-pair.cjs.entry.js +0 -44
  586. package/dist/cjs/ui-popover.cjs.entry.js +0 -517
  587. package/dist/cjs/ui-radio-group.cjs.entry.js +0 -205
  588. package/dist/cjs/ui-radio.cjs.entry.js +0 -206
  589. package/dist/cjs/ui-smart-location-dropdown.cjs.entry.js +0 -565
  590. package/dist/collection/components/checkbox-group/checkbox-group.css +0 -223
  591. package/dist/collection/components/checkbox-group/checkbox-group.js +0 -1001
  592. package/dist/collection/components/color-controller/color-controller.css +0 -108
  593. package/dist/collection/components/color-controller/color-controller.js +0 -224
  594. package/dist/collection/components/image-button/image-button.css +0 -154
  595. package/dist/collection/components/image-button/image-button.js +0 -310
  596. package/dist/collection/components/image-button/types.js +0 -1
  597. package/dist/collection/components/input-pair/input-pair.css +0 -72
  598. package/dist/collection/components/input-pair/input-pair.js +0 -309
  599. package/dist/collection/components/radio-group/radio-group.css +0 -202
  600. package/dist/collection/components/radio-group/radio-group.js +0 -903
  601. package/dist/collection/components/radio-group/types.js +0 -1
  602. package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.css +0 -357
  603. package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.js +0 -1190
  604. package/dist/collection/components/smart-location-dropdown/types.js +0 -1
  605. package/dist/components/ui-checkbox-group.d.ts +0 -11
  606. package/dist/components/ui-checkbox-group.js +0 -1
  607. package/dist/components/ui-color-controller.d.ts +0 -11
  608. package/dist/components/ui-color-controller.js +0 -1
  609. package/dist/components/ui-image-button.d.ts +0 -11
  610. package/dist/components/ui-image-button.js +0 -1
  611. package/dist/components/ui-input-pair.js +0 -1
  612. package/dist/components/ui-radio-group.js +0 -1
  613. package/dist/components/ui-smart-location-dropdown.d.ts +0 -11
  614. package/dist/components/ui-smart-location-dropdown.js +0 -1
  615. package/dist/esm/dom-BMFah5q3.js +0 -262
  616. package/dist/esm/ui-avatar-group_3.entry.js +0 -630
  617. package/dist/esm/ui-checkbox-group.entry.js +0 -328
  618. package/dist/esm/ui-color-controller.entry.js +0 -148
  619. package/dist/esm/ui-image-button.entry.js +0 -65
  620. package/dist/esm/ui-input-pair.entry.js +0 -42
  621. package/dist/esm/ui-popover.entry.js +0 -515
  622. package/dist/esm/ui-radio-group.entry.js +0 -203
  623. package/dist/esm/ui-radio.entry.js +0 -204
  624. package/dist/esm/ui-smart-location-dropdown.entry.js +0 -563
  625. package/dist/exploration-project-tailwind/p-01c7db7a.entry.js +0 -1
  626. package/dist/exploration-project-tailwind/p-049744f9.entry.js +0 -1
  627. package/dist/exploration-project-tailwind/p-06f0c679.entry.js +0 -1
  628. package/dist/exploration-project-tailwind/p-0d31c9e9.entry.js +0 -1
  629. package/dist/exploration-project-tailwind/p-148e81df.entry.js +0 -1
  630. package/dist/exploration-project-tailwind/p-2f1aebb3.entry.js +0 -1
  631. package/dist/exploration-project-tailwind/p-46596a28.entry.js +0 -1
  632. package/dist/exploration-project-tailwind/p-46efdea3.entry.js +0 -1
  633. package/dist/exploration-project-tailwind/p-47e2a7ee.entry.js +0 -1
  634. package/dist/exploration-project-tailwind/p-5508874f.entry.js +0 -1
  635. package/dist/exploration-project-tailwind/p-5ce0dbd8.entry.js +0 -1
  636. package/dist/exploration-project-tailwind/p-61717490.entry.js +0 -1
  637. package/dist/exploration-project-tailwind/p-64e3a484.entry.js +0 -1
  638. package/dist/exploration-project-tailwind/p-6ab80ead.entry.js +0 -1
  639. package/dist/exploration-project-tailwind/p-6e9694f2.entry.js +0 -1
  640. package/dist/exploration-project-tailwind/p-6fa9dc15.entry.js +0 -1
  641. package/dist/exploration-project-tailwind/p-70d82d79.entry.js +0 -1
  642. package/dist/exploration-project-tailwind/p-717dad1f.entry.js +0 -1
  643. package/dist/exploration-project-tailwind/p-7376ac95.entry.js +0 -1
  644. package/dist/exploration-project-tailwind/p-77a21491.entry.js +0 -1
  645. package/dist/exploration-project-tailwind/p-807c6555.entry.js +0 -1
  646. package/dist/exploration-project-tailwind/p-875be805.entry.js +0 -1
  647. package/dist/exploration-project-tailwind/p-9fa70359.entry.js +0 -1
  648. package/dist/exploration-project-tailwind/p-9fc06ff0.entry.js +0 -1
  649. package/dist/exploration-project-tailwind/p-BMFah5q3.js +0 -1
  650. package/dist/exploration-project-tailwind/p-D2WzX6vR.js +0 -2
  651. package/dist/exploration-project-tailwind/p-DUsoYu9r.js +0 -2
  652. package/dist/exploration-project-tailwind/p-a4f52a76.entry.js +0 -1
  653. package/dist/exploration-project-tailwind/p-ab752761.entry.js +0 -1
  654. package/dist/exploration-project-tailwind/p-ba21fed3.entry.js +0 -1
  655. package/dist/exploration-project-tailwind/p-c2ca71ac.entry.js +0 -1
  656. package/dist/exploration-project-tailwind/p-c69dd43e.entry.js +0 -1
  657. package/dist/exploration-project-tailwind/p-ce1222a1.entry.js +0 -1
  658. package/dist/exploration-project-tailwind/p-d16c9635.entry.js +0 -1
  659. package/dist/exploration-project-tailwind/p-d2308a00.entry.js +0 -1
  660. package/dist/exploration-project-tailwind/p-debede45.entry.js +0 -1
  661. package/dist/exploration-project-tailwind/p-e90d5307.entry.js +0 -1
  662. package/dist/exploration-project-tailwind/p-ea51c5d8.entry.js +0 -1
  663. package/dist/exploration-project-tailwind/p-ecda1cc3.entry.js +0 -1
  664. package/dist/exploration-project-tailwind/p-f11e5cae.entry.js +0 -1
  665. package/dist/types/components/checkbox-group/checkbox-group.d.ts +0 -87
  666. package/dist/types/components/checkbox-group/types.d.ts +0 -8
  667. package/dist/types/components/color-controller/color-controller.d.ts +0 -24
  668. package/dist/types/components/image-button/image-button.d.ts +0 -31
  669. package/dist/types/components/image-button/types.d.ts +0 -1
  670. package/dist/types/components/input-pair/input-pair.d.ts +0 -28
  671. package/dist/types/components/radio-group/radio-group.d.ts +0 -74
  672. package/dist/types/components/radio-group/types.d.ts +0 -2
  673. package/dist/types/components/smart-location-dropdown/smart-location-dropdown.d.ts +0 -119
  674. package/dist/types/components/smart-location-dropdown/types.d.ts +0 -37
  675. /package/dist/collection/components/{checkbox-group → label}/types.js +0 -0
@@ -1 +1 @@
1
- import{proxyCustomElement as a,HTMLElement as e,createEvent as i,h as r,Host as t,transformTag as o}from"@stencil/core/internal/client";import{s as n,d as s}from"./icon.js";import{c,g as l,b as m}from"./dom.js";import{d,a as p}from"./badge.js";import{d as h}from"./resizable-panel.js";const g=a(class extends e{constructor(a){super(),!1!==a&&this.__registerHost(),this.layoutChange=i(this,"layoutChange",7),this.panelAdded=i(this,"panelAdded",7),this.panelRemoved=i(this,"panelRemoved",7),this.panelMoved=i(this,"panelMoved",7),this.panelPoppedOut=i(this,"panelPoppedOut",7),this.panelDocked=i(this,"panelDocked",7),this.panelMaximized=i(this,"panelMaximized",7),this.panelRestored=i(this,"panelRestored",7),this.regionAdded=i(this,"regionAdded",7),this.regionRemoved=i(this,"regionRemoved",7)}get el(){return this}regions=[];handleRegionsChange(){this.initRegions(),this.root={...this.root},this.layoutVersion++}direction="horizontal";saveState=!0;stateKey="layout-manager-state";root;panelsById={};popouts={};maximizedPanel;preMaximizeState;draggingPanel;draggingPopout;layoutVersion=0;contextMenu;tabActionsMenu;floatingDropdown;openDropdowns={};openActionsMenu={};regionsNeedingScroll={};minimizedRegions={};dragOverTarget;floatingDropdownTrigger;tabActionsMenuTrigger;layoutChange;panelAdded;panelRemoved;panelMoved;panelPoppedOut;panelDocked;panelMaximized;panelRestored;regionAdded;regionRemoved;async getLayoutState(){return{root:this.root,panels:this.panelsById}}async clearAllRegions(){await this.closeAllPanels(),this.panelsById={},this.popouts={},this.maximizedPanel=void 0,this.draggingPanel=void 0,this.draggingPopout=void 0,this.contextMenu=void 0,this.tabActionsMenu=void 0,this.openDropdowns={},this.openActionsMenu={},this.root={id:"__root__",title:"Root",direction:this.direction,children:[],panels:[]},this.floatingDropdownTrigger=void 0,this.tabActionsMenuTrigger=void 0,this.emitLayoutChange()}handleScroll(){(this.floatingDropdown||this.tabActionsMenu)&&this.recalculateMenuPositions()}recalculateMenuPositions(){requestAnimationFrame((()=>{if(this.floatingDropdown&&this.floatingDropdownTrigger){const a=c(this.floatingDropdownTrigger,{menuWidth:200,menuHeight:300,gap:4,align:"end"});this.floatingDropdown={...this.floatingDropdown,x:a.left??0,y:a.top??0}}if(this.tabActionsMenu&&this.tabActionsMenuTrigger){const a=c(this.tabActionsMenuTrigger,{menuWidth:180,menuHeight:200,gap:4,align:"end"});this.tabActionsMenu={...this.tabActionsMenu,x:a.left??0,y:a.top??0}}}))}componentWillLoad(){this.saveState&&this.loadState(),(!this.root||0===this.root.children?.length&&0===this.root.panels?.length)&&this.initRegions(),document.addEventListener("click",this.handleDocumentClick)}disconnectedCallback(){document.removeEventListener("click",this.handleDocumentClick)}handleDocumentClick=a=>{const e=a.target;e.closest(".lm-panel-dropdown-wrapper")||Object.values(this.openDropdowns).some((a=>a))&&(this.openDropdowns={}),e.closest(".lm-actions-menu-wrapper")||Object.values(this.openActionsMenu).some((a=>a))&&(this.openActionsMenu={})};parseRegions(){return(("string"==typeof this.regions?JSON.parse(this.regions):this.regions)||[]).map((a=>({id:a.id,title:a.title,size:a.size??25,minSize:a.minSize,maxSize:a.maxSize,collapsible:a.collapsible??!1})))}initRegions(){const a=this.parseRegions(),e=a.reduce(((a,e)=>a+(e.size||0)),0)||100,i=a.map((i=>({...i,size:(i.size||100/a.length)/e*100,panels:[],activePanelId:void 0})));this.root={id:"__root__",title:"Root",size:100,panels:[],children:i,direction:this.direction}}async addPanel(a){const e=a.id||`panel-${Date.now()}-${Math.floor(1e3*Math.random())}`,i=this.findRegionNode(a.regionId)?.node;if(!i)throw Error("Region not found: "+a.regionId);if("content-only"===i.type&&i.panels&&i.panels.length>0)return i.panels[0];const r={id:e,title:a.title,regionId:i.id,closable:!1!==a.closable,icon:a.icon,iconLibrary:a.iconLibrary,allowPopout:!1!==a.allowPopout,element:a.element,html:a.html};return this.panelsById={...this.panelsById,[e]:r},i.panels=[...i.panels||[],e],i.activePanelId=e,this.root={...this.root},this.panelAdded.emit(r),this.emitLayoutChange(),e}async removePanel(a){const e=this.panelsById[a];if(!e)return;if(e.pinned)return;this.maximizedPanel===a&&(this.maximizedPanel=void 0,this.preMaximizeState=void 0);const i=this.findRegionNode(e.regionId)?.node;i&&(i.panels=(i.panels||[]).filter((e=>e!==a)),i.activePanelId===a&&(i.activePanelId=i.panels[(i.panels||[]).length-1]||void 0));const{[a]:r,...t}=this.panelsById;this.panelsById=t;const{[a]:o,...n}=this.popouts;this.popouts=n,this.root={...this.root},this.panelRemoved.emit({panelId:a,regionId:i?.id||""}),this.emitLayoutChange()}async movePanel(a,e,i){const r=this.panelsById[a];if(!r)throw Error("Panel not found: "+a);const t=this.findRegionNode(r.regionId)?.node,o=this.findRegionNode(e)?.node;if(!o)throw Error("Target region not found: "+e);t&&(t.panels=(t.panels||[]).filter((e=>e!==a)),t.activePanelId===a&&(t.activePanelId=t.panels[(t.panels||[]).length-1]||void 0)),r.regionId=o.id;const n=[...o.panels||[]];void 0===i||i<0||i>n.length?n.push(a):n.splice(i,0,a),o.panels=n,o.activePanelId=a,this.panelsById={...this.panelsById},this.root={...this.root},this.panelMoved.emit({panelId:a,from:t?.id||"",to:o.id}),this.emitLayoutChange()}async popoutPanel(a,e){const i=this.panelsById[a];if(!i)throw Error("Panel not found: "+a);const r=this.findRegionNode(i.regionId)?.node;r&&(r.panels=(r.panels||[]).filter((e=>e!==a)),r.activePanelId===a&&(r.activePanelId=r.panels[(r.panels||[]).length-1]||void 0)),this.popouts={...this.popouts,[a]:{x:e?.x??100,y:e?.y??100,width:e?.width??400,height:e?.height??300}},this.root={...this.root},this.panelPoppedOut.emit({panelId:a}),this.emitLayoutChange()}async dockPanel(a,e,i){if(!this.popouts[a])return;const{[a]:r,...t}=this.popouts;this.popouts=t,await this.movePanel(a,e,i),this.panelDocked.emit({panelId:a,regionId:e})}async splitRegion(a,e="horizontal"){const i=this.findRegionNode(a);if(!i)throw Error("Region not found: "+a);const{node:r}=i;if(r.children&&r.children.length)return;const t={id:a+"-a",title:r.title,size:50,panels:[],activePanelId:void 0},o={id:a+"-b",title:r.title,size:50,panels:[],activePanelId:void 0};r.panels?.length&&(t.panels=[...r.panels],t.activePanelId=r.activePanelId,r.panels=[],r.activePanelId=void 0),r.children=[t,o],r.direction=e,this.root={...this.root},this.emitLayoutChange()}async maximizePanel(a){if(!this.panelsById[a])throw Error("Panel not found: "+a);this.preMaximizeState={root:JSON.parse(JSON.stringify(this.root)),panelsById:JSON.parse(JSON.stringify(this.panelsById))},this.maximizedPanel=a,this.panelMaximized.emit({panelId:a})}async restorePanel(){if(!this.maximizedPanel)return;const a=this.maximizedPanel;this.preMaximizeState&&(this.preMaximizeState.root&&this.preMaximizeState.panelsById&&(this.root=this.preMaximizeState.root,this.panelsById=this.preMaximizeState.panelsById,this.root={...this.root},this.panelsById={...this.panelsById},this.layoutVersion++),this.preMaximizeState=void 0),this.maximizedPanel=void 0,this.panelRestored.emit({panelId:a}),this.emitLayoutChange()}async closeAllPanels(a){if(a){const e=this.findRegionNode(a);if(!e||!e.node.panels)return;const i=[...e.node.panels];for(const a of i)await this.removePanel(a)}else{const a=Object.keys(this.panelsById);for(const e of a)await this.removePanel(e)}}async mergeRegion(a){const e=this.findRegionNode(a);if(!e)return;const{node:i}=e;if(!i.children||!i.children.length)return;const r=i.children[0];i.panels=[...r.panels||[]],i.activePanelId=r.activePanelId,i.children=void 0,i.direction=void 0,this.root={...this.root},this.emitLayoutChange()}async createRegion(a){if(this.findRegionNode(a.id))return;const e=this.root.children||[],i=e.reduce(((a,e)=>a+(e.size||0)),0)||100,r=a.size??100/(e.length+1),t=r/(i+r)*100,o=e.map((a=>({...a,size:(a.size||0)*(i/(i+r))})));this.root.children=[...o,{id:a.id,title:a.title,size:t,minSize:a.minSize,maxSize:a.maxSize,collapsible:a.collapsible??!1,panels:[],activePanelId:void 0}],this.emitLayoutChange()}async addRegion(a){this.root&&this.root.children||(this.root={id:"__root__",title:"Root",direction:this.direction,children:[],panels:[]});const e=a.id||"region-"+Date.now(),i=a.title||"Region "+(this.root.children.length+1),r=a.position||"end",t=a.type||"default";if(this.findRegionNode(e))throw Error(`Region with id '${e}' already exists`);const o={id:e,title:i,size:a.size||100/(this.root.children.length+1),panels:[],activePanelId:void 0,type:t};if(this.root.children="start"===r?[o,...this.root.children]:[...this.root.children,o],!a.skipNormalization){const a=this.root.children.reduce(((a,e)=>a+(e.size||0)),0);this.root.children=this.root.children.map((e=>({...e,size:(e.size||0)/a*100})))}return this.root={...this.root},this.emitLayoutChange(),this.regionAdded.emit({regionId:e,title:i}),e}async normalizeRegionSizes(){if(!this.root||!this.root.children)return;const a=this.root.children.reduce(((a,e)=>a+(e.size||0)),0);0!==a&&(this.root.children=this.root.children.map((e=>({...e,size:(e.size||0)/a*100}))),this.root={...this.root},this.emitLayoutChange())}async removeRegion(a){const e=this.findRegionNode(a);if(!e)return;const{parent:i}=e;if(!i||!i.children)return;const r=i.children.findIndex((e=>e.id===a)),t=i.children[r],o=i.children[r-1]||i.children[r+1];i.children=i.children.filter((e=>e.id!==a)),o&&t&&t.panels?.length&&(o.panels=[...o.panels||[],...t.panels],o.activePanelId=o.activePanelId||t.activePanelId||(o.panels||[])[(o.panels||[]).length-1]);const n=i.children,s=n.reduce(((a,e)=>a+(e.size||0)),0)||100;i.children=n.map((a=>({...a,size:(a.size||0)/s*100}))),this.root={...this.root},this.emitLayoutChange(),this.regionRemoved.emit({regionId:a})}onPanelPopout(a){this.popoutPanel(a.detail.panelId)}onPanelSelect(a){const e=this.findRegionNode(a.detail.regionId)?.node;e&&(e.activePanelId=a.detail.panelId,this.root={...this.root},this.emitLayoutChange())}emitLayoutChange(){const a=[],e=i=>{i.children&&i.children.length?i.children.forEach(e):a.push(i)};e(this.root),this.layoutChange.emit({regions:a}),this.saveState&&this.saveStateToStorage()}saveStateToStorage(){try{const a=Object.fromEntries(Object.entries(this.panelsById).map((([a,e])=>{const{element:i,...r}=e;return[a,r]})));localStorage.setItem(this.stateKey,JSON.stringify({root:this.root,panelsById:a,minimizedRegions:this.minimizedRegions}))}catch(a){console.error("[WorkspaceManager] Failed to save state",a)}}loadState(){try{const a=localStorage.getItem(this.stateKey);if(a){const e=JSON.parse(a);this.root=e.root,this.panelsById=e.panelsById,this.minimizedRegions=e.minimizedRegions||{}}}catch(a){console.error("[WorkspaceManager] Failed to load state",a)}}findRegionNode(a){let e;const i=(r,t)=>{r.id!==a?r.children&&r.children.forEach((a=>i(a,r))):e={node:r,parent:t}};return i(this.root),e}scrollTabs(a,e){const i=document.querySelector(`[data-region-id="${a}"] .lm-tabs`);i&&i.scrollBy({left:"left"===e?-200:200,behavior:"smooth"})}togglePanelDropdown(a,e){e?.stopPropagation();const i=!this.openDropdowns[a];if(this.openDropdowns={...this.openDropdowns,[a]:i},i&&e){this.floatingDropdownTrigger=e.currentTarget;const i=c(this.floatingDropdownTrigger,{menuWidth:200,menuHeight:300,gap:4,align:"end"});this.floatingDropdown={x:i.left??0,y:i.top??0,regionId:a,type:"panel"}}else this.floatingDropdown=void 0,this.floatingDropdownTrigger=void 0}selectPanelFromDropdown(a,e){this.selectPanel(a,e),this.openDropdowns={...this.openDropdowns,[a]:!1},this.floatingDropdown=void 0}toggleActionsMenu(a,e){e?.stopPropagation();const i=!this.openActionsMenu[a];if(this.openActionsMenu={...this.openActionsMenu,[a]:i},i&&e){this.floatingDropdownTrigger=e.currentTarget;const i=c(this.floatingDropdownTrigger,{menuWidth:200,menuHeight:300,gap:4,align:"end"});this.floatingDropdown={x:i.left??0,y:i.top??0,regionId:a,type:"actions"}}else this.floatingDropdown=void 0,this.floatingDropdownTrigger=void 0}minimizeRegion(a){if(this.maximizedPanel)return;const e=this.findRegionNode(a);if(!e)return;const i=e.node,r=e.parent;if(this.maximizedPanel){const e=this.panelsById[this.maximizedPanel];if(e&&e.regionId===a)return}const t=i.panels?.[0]?this.panelsById[i.panels[0]]:null,o=t?.icon||"fas fa-window-minimize";let n,s=-1,c="left";if(r&&r.children){s=r.children.findIndex((e=>e.id===a)),n=r.id,c=s<Math.floor(r.children.length/2)?"left":"right";const e=r.children.filter((e=>e.id!==a));if(e.length>0){const a=e.reduce(((a,e)=>a+(e.size||0)),0);if(a>0)e.forEach((e=>{e.size=(e.size||0)/a*100}));else{const a=100/e.length;e.forEach((e=>{e.size=a}))}}r.children=e}else if(this.root.id===a)return;this.minimizedRegions={...this.minimizedRegions,[a]:{title:i.title||a,icon:o,iconLibrary:t?.iconLibrary,region:{...i},parentId:n,index:s,side:c}},this.layoutVersion++,this.root={...this.root},this.emitLayoutChange()}restoreRegion(a){const e=this.minimizedRegions[a];if(!e)return;const{region:i,parentId:r,index:t}=e;if(r){const a=this.findRegionNode(r);if(a&&a.node&&a.node.children){const e=a.node,r=JSON.parse(JSON.stringify(i)),o=[...e.children??[]];o.splice(t,0,r);const n=o.reduce(((a,e)=>a+(e.size||0)),0);n>0&&o.forEach((a=>{a.size=(a.size||0)/n*100})),e.children=o,this.layoutVersion++}}const{[a]:o,...n}=this.minimizedRegions;this.minimizedRegions=n,this.root={...this.root},this.emitLayoutChange()}closeAllAndRemoveRegion(a){const e=this.findRegionNode(a)?.node;e&&([...e.panels].forEach((a=>{this.removePanel(a)})),this.removeRegion(a))}renderTabs(a){const e=a.panels.map((a=>this.panelsById[a])).filter(Boolean),i=e.filter((a=>a.pinned)),t=e.filter((a=>!a.pinned)),o=i.length>0&&t.length>0,n=this.regionsNeedingScroll[a.id]||!1;return r("div",{class:"lm-tabs-container","data-region-id":a.id},n&&r("ui-button",{variant:"ghost",size:"sm",icon:"chevron-left",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Scroll left",onClick:()=>this.scrollTabs(a.id,"left")}),r("div",{class:"lm-tabs",onDragOver:e=>{e.preventDefault(),this.handleDragOver(e,a.id)},onDragLeave:()=>this.dragOverTarget=void 0,onDrop:e=>this.handleTabDrop(e,a)},e.map(((i,t)=>{const n=i.pinned;return r("div",{key:i.id},!n&&t>0&&e[t-1]?.pinned&&o&&r("div",{class:"lm-tab-separator",title:"Pinned / Unpinned divider"}),r("div",{class:{"lm-tab":!0,active:a.activePanelId===i.id,pinned:!!n},draggable:!0,onDragStart:e=>this.handleTabDragStart(e,i,a),onContextMenu:e=>this.openContextMenu(e,a.id,i.id),onClick:()=>this.selectPanel(a.id,i.id)},i.icon&&r("ui-icon",{name:i.icon,library:i.iconLibrary||"lucide"}),r("span",{class:"lm-tab-title"},i.title),n&&r("ui-icon",{name:"thumbtack",library:"fontawesome",class:"lm-tab-btn",title:"Unpin",onClick:a=>{a.stopPropagation(),this.togglePin(i.id)}}),i.dirty&&r("span",{class:"lm-dot",title:"Unsaved changes"}),r("ui-button",{variant:"ghost",size:"sm",icon:"ellipsis-v",iconLibrary:"fontawesome",ariaLabel:"More actions",onClick:a=>{a.stopPropagation();const e=!this.openDropdowns["tab-"+i.id];if(this.openDropdowns={...this.openDropdowns,["tab-"+i.id]:e},e){this.tabActionsMenuTrigger=a.currentTarget;const e=this.tabActionsMenuTrigger.getBoundingClientRect(),r=l(this.el);this.tabActionsMenu={x:e.right-r.x,y:e.bottom-r.y+4,panelId:i.id}}else this.tabActionsMenu=void 0,this.tabActionsMenuTrigger=void 0}}),i.closable&&!n&&r("ui-button",{variant:"ghost",size:"sm",icon:"times",iconLibrary:"fontawesome",ariaLabel:"Close",onClick:a=>{a.stopPropagation(),this.removePanel(i.id)}})))}))),n&&r("ui-button",{variant:"ghost",size:"sm",icon:"chevron-right",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Scroll right",onClick:()=>this.scrollTabs(a.id,"right")}))}handleTabDragStart(a,e,i){this.draggingPanel={panelId:e.id,fromRegionId:i.id},a.dataTransfer?.setData("text/plain",e.id),a.dataTransfer?.setDragImage(a.target,0,0)}handleTabDrop(a,e){a.preventDefault();const i=a.dataTransfer?.getData("text/plain")||this.draggingPanel?.panelId;if(!i)return;let r;const t=a.target.closest(".lm-tab");t&&(r=Array.from(t.parentElement.querySelectorAll(".lm-tab")).indexOf(t)),this.movePanel(i,e.id,r),this.draggingPanel=void 0}selectPanel(a,e){const i=this.findRegionNode(a)?.node;i&&(i.activePanelId=e,this.root={...this.root},this.emitLayoutChange())}switchToPanel(a,e){const i=this.findRegionNode(a)?.node;i&&i.panels.includes(e)&&(i.activePanelId=e,this.root={...this.root})}renderNavigationRegion(a){const e=a.panels.map((a=>this.panelsById[a])).filter(Boolean);return r("div",{class:"lm-region lm-region-navigation","data-region-id":a.id},r("div",{class:"lm-region-header"},r("div",{class:"lm-navigation-header"},r("span",{class:"lm-navigation-title"},a.title||"Navigation")),r("ui-button",{variant:"ghost",size:"sm",icon:"times-circle",iconLibrary:"fontawesome",ariaLabel:"Close all panels and remove region",onClick:()=>this.closeAllAndRemoveRegion(a.id)})),r("div",{class:"lm-navigation-content"},e.map((e=>r("div",{class:"lm-navigation-section","data-panel-id":e.id},r("div",{class:{"lm-navigation-section-header":!0,active:a.activePanelId===e.id},onClick:()=>this.switchToPanel(a.id,e.id)},e.icon&&r("ui-icon",{name:e.icon,library:e.iconLibrary||"default"}),r("span",{class:"lm-navigation-section-title"},e.title),r("ui-button",{variant:"ghost",size:"sm",class:"lm-navigation-section-close",icon:"times",iconLibrary:"fontawesome",ariaLabel:"Close panel",onClick:a=>{a.stopPropagation(),this.removePanel(e.id)}})),a.activePanelId===e.id&&r("div",{class:"lm-navigation-section-content",ref:a=>this.attachContent(a,e)})))),0===e.length&&r("div",{class:"lm-empty"},"No panels open")))}renderHeaderOnlyRegion(a){const e=a.activePanelId?this.panelsById[a.activePanelId]:void 0;return r("div",{class:"lm-region lm-region-header-only","data-region-id":a.id},r("div",{class:"lm-region-header"},r("div",{class:"lm-header-only-title"},e?.icon&&r("ui-icon",{name:e.icon,library:e.iconLibrary||"default"}),r("span",null,e?.title||a.title||"Content")),r("div",{class:"lm-header-only-actions"},r("div",{class:"lm-panel-dropdown-wrapper"},r("ui-button",{variant:"ghost",size:"sm",icon:"list",iconLibrary:"fontawesome",ariaLabel:"Show all panels",onClick:e=>this.togglePanelDropdown(a.id,e)})),e&&r("ui-button",{variant:"ghost",size:"sm",icon:"expand",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Maximize",onClick:()=>this.maximizePanel(e.id)}),e&&r("ui-button",{variant:"ghost",size:"sm",icon:"external-link-alt",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Pop out",onClick:()=>this.popoutPanel(e.id)}),r("ui-button",{variant:"ghost",size:"sm",icon:"times-circle",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Close all panels and remove region",onClick:()=>this.closeAllAndRemoveRegion(a.id)}))),r("div",{class:"lm-region-content"},e&&r("div",{class:"lm-panel-host","data-panel-id":e.id,ref:a=>this.attachContent(a,e)}),!e&&r("div",{class:"lm-empty"},"No content available")))}renderLeafRegion(a){const e=a.activePanelId?this.panelsById[a.activePanelId]:void 0,i=a.type||"default",t="no-header"!==i&&"content-only"!==i,o="title-only"!==i&&"no-header"!==i&&"content-only"!==i&&"navigation"!==i&&"header-only"!==i,n="default"===i,s=this.regionsNeedingScroll[a.id]||!1;return"content-only"===i?r("div",{class:"lm-region lm-region-content-only","data-region-id":a.id},e&&r("div",{class:"lm-panel-host","data-panel-id":e.id,ref:a=>this.attachContent(a,e)})):"navigation"===i?this.renderNavigationRegion(a):"header-only"===i?this.renderHeaderOnlyRegion(a):r("div",{class:{"lm-region":!0,["lm-region-"+i]:!0},"data-region-id":a.id},t&&r("div",{class:"lm-region-header"},"title-only"===i&&r("div",{class:"lm-region-title"},r("span",null,a.title)),o&&this.renderTabs(a),n&&r("div",{class:"lm-region-actions"},s&&r("div",{class:"lm-panel-dropdown-wrapper"},r("ui-button",{variant:"ghost",size:"sm",icon:"list",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Show all panels",onClick:e=>this.togglePanelDropdown(a.id,e)})),r("div",{class:"lm-actions-menu-wrapper"},r("ui-button",{variant:"ghost",size:"sm",icon:"ellipsis-v",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Actions",onClick:e=>this.toggleActionsMenu(a.id,e)})),r("ui-button",{variant:"ghost",size:"sm",icon:"window-minimize",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Minimize region",onClick:()=>this.minimizeRegion(a.id)}),(a.panels?.length||0)>0&&r("ui-button",{variant:"ghost",size:"sm",icon:"times-circle",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Close all panels and remove region",onClick:()=>this.closeAllAndRemoveRegion(a.id)}))),r("div",{class:"lm-region-content",onDragOver:e=>{e.preventDefault(),this.handleDragOver(e,a.id)},onDragLeave:()=>this.dragOverTarget=void 0,onDrop:e=>this.handleTabDrop(e,a)},e&&r("div",{class:"lm-panel-host","data-panel-id":e.id,ref:a=>this.attachContent(a,e)}),!e&&r("div",{class:"lm-empty"},"No tabs open"),this.dragOverTarget?.regionId===a.id&&r("div",{class:"lm-drop-highlighter lm-drop-"+this.dragOverTarget.position})))}renderRegionNode(a){if(a.children&&a.children.length){const e=a.children.map((a=>({id:a.id,size:a.size,minSize:a.minSize,maxSize:a.maxSize,collapsible:a.collapsible})));return r("ui-resizable-panel",{key:`resizable-${a.id}-v${this.layoutVersion}`,direction:a.direction||"horizontal",panels:JSON.stringify(e),saveState:!1,stateKey:`${this.stateKey}-${a.id}`,showHandleIcon:!0},a.children.map((a=>r("div",{slot:a.id,class:"lm-slot"},this.renderRegionNode(a)))))}return this.renderLeafRegion(a)}attachContent(a,e){if(a){for(;a.firstChild;)a.removeChild(a.firstChild);e.element?a.appendChild(e.element):e.html&&(a.innerHTML=n(e.html))}}renderVerticalNav(a){const e=Object.entries(this.minimizedRegions).filter((([e,i])=>i.side===a));return 0===e.length?null:r("div",{class:"lm-vertical-nav lm-vertical-nav-"+a},e.map((([a,e])=>r("div",{key:a,class:"lm-nav-item",title:e.title,onClick:()=>this.restoreRegion(a)},r("ui-icon",{name:e.icon,library:e.iconLibrary||"default"}),r("span",{class:"lm-nav-label"},e.title)))))}render(){if(this.maximizedPanel){const a=this.panelsById[this.maximizedPanel];if(a)return r(t,null,r("div",{class:"lm-container lm-maximized"},r("div",{class:"lm-maximized-panel"},r("div",{class:"lm-maximized-header"},r("span",{class:"lm-maximized-title"},a.title),r("div",{class:"lm-maximized-actions"},r("ui-button",{variant:"ghost",size:"sm",icon:"compress",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Restore",onClick:()=>this.restorePanel()}),r("ui-button",{variant:"ghost",size:"sm",icon:"times",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Close",onClick:()=>this.removePanel(this.maximizedPanel)}))),r("div",{class:"lm-maximized-content",ref:e=>this.attachContent(e,a)}))))}return r(t,null,this.renderVerticalNav("left"),r("div",{class:"lm-container"},this.root&&this.renderRegionNode(this.root),r("div",{class:"lm-popout-layer"},Object.keys(this.popouts).map((a=>{const e=this.popouts[a],i=this.panelsById[a];return i?r("div",{class:"lm-popout-window",style:{left:e.x+"px",top:e.y+"px",width:e.width+"px",height:e.height+"px"},"data-panel-id":a},r("div",{class:"lm-popout-header",onMouseDown:e=>this.startPopoutDrag(e,a)},r("span",{class:"lm-popout-title"},i.title),r("div",{class:"lm-popout-actions"},r("ui-button",{variant:"ghost",size:"sm",icon:"download",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Dock",onClick:()=>this.dockPanel(a,i.regionId)}),r("ui-button",{variant:"ghost",size:"sm",icon:"times",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Close",onClick:()=>this.removePanel(a)}))),r("div",{class:"lm-popout-content",ref:a=>this.attachContent(a,i)})):null}))),this.contextMenu&&this.renderContextMenu(),this.tabActionsMenu&&this.renderTabActionsMenu(),this.floatingDropdown&&this.renderFloatingDropdown()),this.renderVerticalNav("right"))}startPopoutDrag(a,e){const i=this.popouts[e];if(!i)return;const r=a.currentTarget.parentElement.getBoundingClientRect();this.draggingPopout={panelId:e,offsetX:a.clientX-r.left,offsetY:a.clientY-r.top};const t=a=>{let r=a.clientX-this.draggingPopout.offsetX,t=a.clientY-this.draggingPopout.offsetY;const o=window.innerWidth,n=window.innerHeight;Math.abs(r)<20&&(r=0),Math.abs(t)<20&&(t=0),Math.abs(r+i.width-o)<20&&(r=o-i.width),Math.abs(t+i.height-n)<20&&(t=n-i.height),this.popouts[e]={...this.popouts[e],x:r,y:t},this.popouts={...this.popouts}},o=()=>{document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",o),this.draggingPopout=void 0};document.addEventListener("mousemove",t),document.addEventListener("mouseup",o)}openContextMenu(a,e,i){a.preventDefault();const r=m(a.clientX,a.clientY,this.el);this.contextMenu={x:r.x,y:r.y,regionId:e,panelId:i};const t=()=>{this.contextMenu=void 0,document.removeEventListener("click",t)};document.addEventListener("click",t,{once:!0})}renderContextMenu(){const{x:a,y:e,regionId:i,panelId:t}=this.contextMenu,o=this.panelsById[t];return r("div",{class:"lm-context-menu",style:{left:a+"px",top:e+"px"}},r("ui-button",{variant:"ghost",fullWidth:!0,icon:"thumbtack",iconLibrary:"fontawesome",iconSize:"14px",label:o?.pinned?"Unpin Tab":"Pin Tab",onClick:()=>{this.togglePin(t),this.contextMenu=void 0}}),r("hr",null),r("ui-button",{variant:"ghost",fullWidth:!0,disabled:o?.pinned,label:o?.pinned?"Close (Pinned)":"Close",onClick:()=>{this.removePanel(t),this.contextMenu=void 0}}),r("ui-button",{variant:"ghost",fullWidth:!0,icon:"arrows-alt-h",iconLibrary:"fontawesome",iconSize:"14px",label:"Close Others",onClick:()=>{this.closeOthers(i,t),this.contextMenu=void 0}}),r("ui-button",{variant:"ghost",fullWidth:!0,icon:"arrow-right",iconLibrary:"fontawesome",iconSize:"14px",label:"Close to the Right",onClick:()=>{this.closeToRight(i,t),this.contextMenu=void 0}}),r("hr",null),r("ui-button",{variant:"ghost",fullWidth:!0,label:"Move to New Group (H)",onClick:()=>{this.splitRegion(i,"horizontal").then((()=>this.movePanel(t,i+"-b"))),this.contextMenu=void 0}}),r("ui-button",{variant:"ghost",fullWidth:!0,label:"Move to New Group (V)",onClick:()=>{this.splitRegion(i,"vertical").then((()=>this.movePanel(t,i+"-b"))),this.contextMenu=void 0}}))}renderTabActionsMenu(){const{x:a,y:e,panelId:i}=this.tabActionsMenu,t=this.panelsById[i];return t?r("div",{class:"lm-tab-actions-menu-fixed",style:{left:a+"px",top:e+"px"}},r("div",{class:"lm-tab-actions-item",onClick:a=>{a.stopPropagation(),this.maximizePanel(i),this.openDropdowns={...this.openDropdowns,["tab-"+i]:!1},this.tabActionsMenu=void 0}},r("ui-icon",{name:"expand",library:"fontawesome",size:"14px"}),r("span",null,"Maximize")),t.allowPopout&&r("div",{class:"lm-tab-actions-item",onClick:a=>{a.stopPropagation(),this.popoutPanel(i),this.openDropdowns={...this.openDropdowns,["tab-"+i]:!1},this.tabActionsMenu=void 0}},r("ui-icon",{name:"window-restore",library:"fontawesome"}),r("span",null,"Pop Out")),r("div",{class:"lm-tab-actions-divider"}),r("div",{class:"lm-tab-actions-item",onClick:a=>{a.stopPropagation(),this.togglePin(i),this.openDropdowns={...this.openDropdowns,["tab-"+i]:!1},this.tabActionsMenu=void 0}},r(r.Fragment,null,r("ui-icon",{name:"thumbtack",library:"fontawesome"}),r("span",null,t.pinned?"Unpin Tab":"Pin Tab"))),r("div",{class:"lm-tab-actions-divider"}),r("div",{class:"lm-tab-actions-item",onClick:a=>{a.stopPropagation(),this.closeOthers(t.regionId,i),this.tabActionsMenu=void 0}},r("ui-icon",{name:"arrows-alt-h",library:"fontawesome"}),r("span",null,"Close Others")),r("div",{class:"lm-tab-actions-item",onClick:a=>{a.stopPropagation(),this.closeToRight(t.regionId,i),this.tabActionsMenu=void 0}},r("ui-icon",{name:"arrow-right",library:"fontawesome"}),r("span",null,"Close to the Right")),r("div",{class:"lm-tab-actions-divider"}),r("div",{class:"lm-tab-actions-item lm-tab-actions-danger",onClick:a=>{a.stopPropagation(),this.removePanel(i),this.tabActionsMenu=void 0}},r("ui-icon",{name:"times",library:"fontawesome"}),r("span",null,"Close"))):null}closeOthers(a,e){const i=this.findRegionNode(a)?.node;i&&(i.panels||[]).filter((a=>a!==e)).forEach((a=>this.removePanel(a)))}closeToRight(a,e){const i=this.findRegionNode(a)?.node;if(!i)return;const r=(i.panels||[]).indexOf(e);(i.panels||[]).slice(r+1).forEach((a=>this.removePanel(a)))}togglePin(a){const e=this.panelsById[a];if(!e)return;e.pinned=!e.pinned;const i=this.findRegionNode(e.regionId)?.node;if(!i||!i.panels)return;const r=i.panels.map((a=>this.panelsById[a])).filter(Boolean),t=r.filter((a=>a.pinned)).map((a=>a.id)),o=r.filter((a=>!a.pinned)).map((a=>a.id));i.panels=[...t,...o],this.panelsById={...this.panelsById},this.root={...this.root}}checkTabsOverflow(){const a=[],e=i=>{i.panels&&a.push(i),i.children&&i.children.forEach(e)};this.root&&e(this.root);const i={};a.forEach((a=>{const e=this.el.querySelector(`[data-region-id="${a.id}"] .lm-tabs`);e&&(i[a.id]=e.scrollWidth>e.offsetWidth)})),JSON.stringify(i)!==JSON.stringify(this.regionsNeedingScroll)&&(this.regionsNeedingScroll=i)}handleDragOver(a,e){const i=a.currentTarget.getBoundingClientRect(),r=a.clientX-i.left,t=a.clientY-i.top;let o="center";t<.2*i.height?o="top":t>.8*i.height?o="bottom":r<.2*i.width?o="left":r>.8*i.width&&(o="right"),this.dragOverTarget={regionId:e,position:o}}renderFloatingDropdown(){if(!this.floatingDropdown)return null;const{x:a,y:e,regionId:i,type:t}=this.floatingDropdown,o=this.findRegionById(this.root,i);if(!o)return null;if("panel"===t){const i=o.panels.map((a=>this.panelsById[a])).filter(Boolean);return r("div",{class:"lm-panel-dropdown-menu",style:{position:"fixed",top:e+"px",left:a+"px",zIndex:"12000",minWidth:"200px"}},r("div",{class:"lm-panel-dropdown-header"},"All Panels (",i.length,")"),i.map((a=>r("div",{class:{"lm-panel-dropdown-item":!0,active:o.activePanelId===a.id},onClick:()=>this.selectPanelFromDropdown(o.id,a.id)},a.icon&&r("ui-icon",{name:a.icon,library:a.iconLibrary||"lucide",style:{marginRight:"8px"}}),r("span",null,a.title)))))}{const i=o.activePanelId?this.panelsById[o.activePanelId]:null;return r("div",{class:"lm-actions-dropdown-menu",style:{position:"fixed",top:e+"px",left:a+"px",zIndex:"12000",minWidth:"180px"}},r("div",{class:"lm-actions-item",onClick:()=>{this.splitRegion(o.id,"horizontal"),this.floatingDropdown=void 0,this.openActionsMenu={}}},r("ui-icon",{name:"columns",library:"fontawesome",class:"lm-actions-icon"}),"Split Horizontal"),r("div",{class:"lm-actions-item",onClick:()=>{this.splitRegion(o.id,"vertical"),this.floatingDropdown=void 0,this.openActionsMenu={}}},r("ui-icon",{name:"grip-lines",library:"fontawesome",class:"lm-actions-icon"}),"Split Vertical"),r("div",{class:"lm-actions-divider"}),i&&r("div",{class:"lm-actions-item",onClick:()=>{this.maximizePanel(i.id),this.floatingDropdown=void 0,this.openActionsMenu={}}},r("ui-icon",{name:"expand",library:"fontawesome",class:"lm-actions-icon"}),"Maximize Panel"),(o.panels?.length||0)>0&&r(r.Fragment,null,r("div",{class:"lm-actions-divider"}),r("div",{class:"lm-actions-item",onClick:()=>{this.closeAllPanels(o.id),this.floatingDropdown=void 0,this.openActionsMenu={}}},r("ui-icon",{name:"times",library:"fontawesome",class:"lm-actions-icon"}),"Close All Panels")),r("div",{class:"lm-actions-divider"}),r("div",{class:"lm-actions-item",onClick:()=>{this.mergeRegion(o.id),this.floatingDropdown=void 0,this.openActionsMenu={}}},r("ui-icon",{name:"compress",library:"fontawesome",class:"lm-actions-icon"}),"Merge Region"),r("div",{class:"lm-actions-divider"}),r("div",{class:"lm-actions-item lm-actions-danger",onClick:()=>{this.closeAllAndRemoveRegion(o.id),this.floatingDropdown=void 0,this.openActionsMenu={}}},r("ui-icon",{name:"trash",library:"fontawesome",class:"lm-actions-icon"}),"Remove Group"))}}findRegionById(a,e){if(a.id===e)return a;for(const i of a.children??[]){const a=this.findRegionById(i,e);if(a)return a}return null}componentDidUpdate(){setTimeout((()=>this.checkTabsOverflow()),0)}static get watchers(){return{regions:[{handleRegionsChange:0}]}}static get style(){return'.sr-only.sc-ui-workspace-manager{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.sc-ui-workspace-manager{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}.sc-ui-workspace-manager-h{display:flex;height:100%;width:100%;overflow:hidden}.lm-vertical-nav.sc-ui-workspace-manager{width:50px;background:var(--bg-secondary, #2b2b2b);display:flex;flex-direction:column;align-items:center;padding:0;gap:0;overflow-y:auto;flex-shrink:0}.lm-vertical-nav.lm-vertical-nav-left.sc-ui-workspace-manager{border-right:1px solid var(--border-strong, #3e3e42);box-shadow:2px 0 8px rgba(0, 0, 0, 0.3)}.lm-vertical-nav.lm-vertical-nav-right.sc-ui-workspace-manager{border-left:1px solid var(--border-strong, #3e3e42);box-shadow:-2px 0 8px rgba(0, 0, 0, 0.3)}.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager{width:100%;height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted, #858585);transition:all 0.15s ease;padding:0;position:relative}.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager::before{content:"";position:absolute;top:0;bottom:0;width:2px;background:transparent;transition:background 0.15s ease}.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager i.sc-ui-workspace-manager{font-size:24px;margin-bottom:0}.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager .lm-nav-label.sc-ui-workspace-manager{font-size:8px;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-weight:400;letter-spacing:0.5px;text-transform:uppercase}.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager:hover{background:var(--bg-secondary, #2d2d30);color:var(--text-standard, #ffffff)}.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager:hover::before{background:var(--bg-secondary, #505050)}.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager:active,.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.active.sc-ui-workspace-manager{background:var(--bg-primary, #1e1e1e);color:var(--text-standard, #ffffff)}.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager:active::before,.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.active.sc-ui-workspace-manager::before{background:var(--color-primary, #007acc)}.lm-vertical-nav.lm-vertical-nav-left.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager::before{left:0}.lm-vertical-nav.lm-vertical-nav-right.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager::before{right:0}.lm-container.sc-ui-workspace-manager{position:relative;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.lm-container.lm-maximized.sc-ui-workspace-manager{background:var(--bg-secondary, #0f172a)}.lm-maximized-panel.sc-ui-workspace-manager{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-secondary, #0f172a);overflow:hidden}.lm-maximized-header.sc-ui-workspace-manager{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg, var(--color-primary, #1e3a8a) 0%, var(--color-primary, #10b981) 100%);color:var(--text-standard, #ffffff);padding:8px 12px;border-bottom:1px solid var(--color-primary-hover, #2563eb);flex-shrink:0;min-height:40px;box-shadow:0 2px 8px rgba(0, 0, 0, 0.3)}.lm-maximized-header.sc-ui-workspace-manager .lm-maximized-title.sc-ui-workspace-manager{font-size:16px;font-weight:600}.lm-maximized-header.sc-ui-workspace-manager .lm-maximized-actions.sc-ui-workspace-manager{display:flex;gap:8px}.lm-maximized-header.sc-ui-workspace-manager .lm-maximized-actions.sc-ui-workspace-manager button.sc-ui-workspace-manager{background:rgba(255, 255, 255, 0.2);border:none;color:var(--text-standard, #ffffff);cursor:pointer;padding:6px 10px;border-radius:4px;transition:all 0.2s;font-size:14px}.lm-maximized-header.sc-ui-workspace-manager .lm-maximized-actions.sc-ui-workspace-manager button.sc-ui-workspace-manager:hover{background:rgba(255, 255, 255, 0.3);transform:scale(1.05)}.lm-maximized-header.sc-ui-workspace-manager .lm-maximized-actions.sc-ui-workspace-manager button.sc-ui-workspace-manager i.sc-ui-workspace-manager{pointer-events:none}.lm-maximized-content.sc-ui-workspace-manager{flex:1;overflow:auto;background:var(--bg-secondary, #0f172a);color:var(--text-standard, #e5e7eb)}.lm-maximized-content.sc-ui-workspace-manager::-webkit-scrollbar{width:8px;height:8px}.lm-maximized-content.sc-ui-workspace-manager::-webkit-scrollbar-track{background:var(--bg-primary, #1e293b)}.lm-maximized-content.sc-ui-workspace-manager::-webkit-scrollbar-thumb{background:var(--color-primary, #475569);border-radius:4px}.lm-maximized-content.sc-ui-workspace-manager::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #64748b)}.lm-slot.sc-ui-workspace-manager{width:100%;height:100%;display:flex;flex-direction:column;min-height:0;min-width:0}.lm-region.sc-ui-workspace-manager{display:flex;flex-direction:column;height:100%;width:100%;min-height:0;min-width:0;overflow:visible;position:relative}.lm-region.lm-region-navigation.sc-ui-workspace-manager .lm-region-header.sc-ui-workspace-manager{background:var(--color-primary, #1e3a8a);border-bottom:2px solid var(--color-primary, #10b981)}.lm-region.lm-region-title-only.sc-ui-workspace-manager .lm-region-header.sc-ui-workspace-manager{background:var(--color-primary, #374151);justify-content:center;padding:8px 12px}.lm-region.lm-region-no-header.sc-ui-workspace-manager .lm-region-content.sc-ui-workspace-manager{border-radius:0}.lm-region.lm-region-content-only.sc-ui-workspace-manager{overflow:hidden}.lm-region.lm-region-content-only.sc-ui-workspace-manager .lm-panel-host.sc-ui-workspace-manager{width:100%;height:100%;margin:0;padding:0;border:none;background:transparent}.lm-region.lm-region-header-only.sc-ui-workspace-manager .lm-region-header.sc-ui-workspace-manager{background:var(--bg-primary, #1f2937);padding:6px 12px;border-bottom:2px solid var(--color-primary, #10b981)}.lm-region-title.sc-ui-workspace-manager{flex:1;display:flex;align-items:center;font-weight:600;font-size:14px;color:var(--text-standard, #e5e7eb);padding:0 8px}.lm-navigation-header.sc-ui-workspace-manager{flex:1;display:flex;align-items:center;gap:8px;padding:0 8px}.lm-navigation-title.sc-ui-workspace-manager{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:0.5px;color:var(--text-standard, #ffffff)}.lm-region-header.sc-ui-workspace-manager{display:flex;align-items:center;gap:4px;background:var(--bg-primary, #1f2937);color:var(--text-standard, #e5e7eb);padding:2px 6px;border-bottom:1px solid var(--border-default, #374151);flex-shrink:0;min-height:36px;min-width:0;width:100%;overflow:visible;position:relative;z-index:11000;box-shadow:0 1px 3px rgba(0, 0, 0, 0.2)}.lm-tabs-container.sc-ui-workspace-manager{display:flex;align-items:center;gap:4px;background:var(--bg-secondary, #0f172a);padding:0 4px;flex:1;min-width:0;overflow:visible;max-width:100%}.lm-tab-scroll-btn.sc-ui-workspace-manager{display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;cursor:pointer;flex-shrink:0;flex-basis:28px;transition:all 0.2s ease}.lm-tab-scroll-btn.sc-ui-workspace-manager:hover{transform:translateY(-1px)}.lm-tab-scroll-btn.sc-ui-workspace-manager:active{transform:scale(0.95)}.lm-tab-scroll-btn.sc-ui-workspace-manager i.sc-ui-workspace-manager{font-size:12px}.lm-tabs.sc-ui-workspace-manager{display:flex;gap:2px;overflow-x:auto;overflow-y:visible;scrollbar-width:thin;scrollbar-color:var(--text-secondary, #374151) var(--text-primary, #1f2937);flex:1;min-width:0}.lm-tabs.sc-ui-workspace-manager::-webkit-scrollbar{height:6px}.lm-tabs.sc-ui-workspace-manager::-webkit-scrollbar-track{background:var(--bg-primary, #1f2937)}.lm-tabs.sc-ui-workspace-manager::-webkit-scrollbar-thumb{background:var(--color-primary, #374151);border-radius:3px}.lm-tabs.sc-ui-workspace-manager::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #4b5563)}.lm-tab-separator.sc-ui-workspace-manager{width:1px;background:linear-gradient(to bottom, transparent 20%, var(--color-primary, #10b981) 50%, transparent 80%);margin:0 4px;flex-shrink:0;opacity:0.5}.lm-panel-dropdown-wrapper.sc-ui-workspace-manager{position:relative;flex-shrink:0;z-index:1}.lm-panel-list-btn.sc-ui-workspace-manager{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-default, #374151);background:var(--bg-primary, #1f2937);color:var(--text-muted, #9ca3af);border-radius:4px;cursor:pointer;flex-shrink:0;transition:all 0.2s ease}.lm-panel-list-btn.sc-ui-workspace-manager:hover{background:var(--color-primary, #374151);color:var(--text-standard, #e5e7eb);border-color:var(--border-dark)}.lm-panel-list-btn.sc-ui-workspace-manager:active{transform:scale(0.95)}.lm-panel-list-btn.sc-ui-workspace-manager i.sc-ui-workspace-manager{font-size:14px}.lm-panel-dropdown-menu.sc-ui-workspace-manager{position:absolute;top:calc(100% + 4px);right:0;min-width:220px;max-width:320px;max-height:400px;overflow-y:auto;background:var(--bg-primary, #1f2937);border:1px solid var(--border-default, #374151);border-radius:6px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.5);z-index:2;scrollbar-width:thin;scrollbar-color:var(--text-secondary, #4b5563) var(--text-primary, #1f2937)}.lm-panel-dropdown-menu.sc-ui-workspace-manager::-webkit-scrollbar{width:6px}.lm-panel-dropdown-menu.sc-ui-workspace-manager::-webkit-scrollbar-track{background:var(--bg-primary, #1f2937)}.lm-panel-dropdown-menu.sc-ui-workspace-manager::-webkit-scrollbar-thumb{background:var(--color-primary, #4b5563);border-radius:3px}.lm-panel-dropdown-menu.sc-ui-workspace-manager::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #6b7280)}.lm-panel-dropdown-header.sc-ui-workspace-manager{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-default, #374151);background:var(--bg-secondary, #111827);position:sticky;top:0;z-index:1}.lm-panel-dropdown-item.sc-ui-workspace-manager{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:all 0.15s ease;color:var(--text-standard, #e5e7eb);font-size:13px}.lm-panel-dropdown-item.sc-ui-workspace-manager:hover{background:var(--color-primary, #374151)}.lm-panel-dropdown-item.active.sc-ui-workspace-manager{background:var(--color-primary, #10b981);color:var(--text-standard, #ffffff);font-weight:500}.lm-panel-dropdown-item.sc-ui-workspace-manager i.sc-ui-workspace-manager:first-child{width:16px;text-align:center;font-size:12px;color:var(--text-muted, #9ca3af)}.lm-panel-dropdown-item.sc-ui-workspace-manager .lm-panel-dropdown-title.sc-ui-workspace-manager{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lm-panel-dropdown-item.sc-ui-workspace-manager .fa-check.sc-ui-workspace-manager{color:var(--text-standard, #ffffff);font-size:12px}.lm-panel-dropdown-item.sc-ui-workspace-manager .lm-dot.sc-ui-workspace-manager{width:6px;height:6px;border-radius:50%;background:var(--color-warning, #f59e0b)}.lm-minimize-btn.sc-ui-workspace-manager{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-default, #374151);background:var(--bg-primary, #1f2937);color:var(--text-muted, #9ca3af);border-radius:4px;cursor:pointer;flex-shrink:0;transition:all 0.2s ease}.lm-minimize-btn.sc-ui-workspace-manager:hover{background:var(--color-primary, #10b981);color:var(--text-standard, #ffffff);border-color:var(--primary-color)}.lm-minimize-btn.sc-ui-workspace-manager:active{transform:scale(0.95)}.lm-minimize-btn.sc-ui-workspace-manager i.sc-ui-workspace-manager{font-size:14px}.lm-close-all-btn.sc-ui-workspace-manager{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-default, #374151);background:var(--bg-primary, #1f2937);color:var(--text-muted, #9ca3af);border-radius:4px;cursor:pointer;flex-shrink:0;transition:all 0.2s ease}.lm-close-all-btn.sc-ui-workspace-manager:hover{background:var(--color-danger, #991b1b);color:var(--color-danger, #fca5a5);border-color:var(--color-danger-hover, #dc2626)}.lm-close-all-btn.sc-ui-workspace-manager:active{transform:scale(0.95)}.lm-close-all-btn.sc-ui-workspace-manager i.sc-ui-workspace-manager{font-size:14px}.lm-actions-menu-wrapper.sc-ui-workspace-manager{position:relative;flex-shrink:0;z-index:1}.lm-actions-menu-btn.sc-ui-workspace-manager{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-default, #374151);background:var(--bg-primary, #1f2937);color:var(--text-muted, #9ca3af);border-radius:4px;cursor:pointer;flex-shrink:0;transition:all 0.2s ease}.lm-actions-menu-btn.sc-ui-workspace-manager:hover{background:var(--color-primary, #374151);color:var(--text-standard, #e5e7eb);border-color:var(--border-dark)}.lm-actions-menu-btn.sc-ui-workspace-manager:active{transform:scale(0.95)}.lm-actions-menu-btn.sc-ui-workspace-manager i.sc-ui-workspace-manager{font-size:14px}.lm-actions-dropdown-menu.sc-ui-workspace-manager{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;background:var(--bg-primary, #1f2937);border:1px solid var(--border-default, #374151);border-radius:6px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.5);z-index:2;overflow:hidden}.lm-actions-menu-item.sc-ui-workspace-manager{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:all 0.15s ease;color:var(--text-standard, #e5e7eb);font-size:13px}.lm-actions-menu-item.sc-ui-workspace-manager:hover{background:var(--color-primary, #374151)}.lm-actions-menu-item.sc-ui-workspace-manager i.sc-ui-workspace-manager{width:16px;text-align:center;font-size:13px;color:var(--text-muted, #9ca3af)}.lm-actions-menu-item.sc-ui-workspace-manager span.sc-ui-workspace-manager{flex:1}.lm-actions-menu-divider.sc-ui-workspace-manager{height:1px;background:var(--color-primary, #374151);margin:4px 0}.lm-tab.sc-ui-workspace-manager{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:4px 4px 0 0;background:var(--bg-secondary, #111827);cursor:pointer;user-select:none;white-space:nowrap;flex-shrink:0;transition:all 0.2s ease;border:1px solid transparent;border-bottom:none;position:relative;z-index:1}.lm-tab.sc-ui-workspace-manager:hover{background:var(--bg-primary, #1f2937);border-color:var(--border-dark);transform:translateY(-1px);z-index:2}.lm-tab.sc-ui-workspace-manager .fa-thumbtack.sc-ui-workspace-manager{color:var(--primary-color);font-size:11px;animation:pinPulse 2s ease-in-out infinite}@keyframes pinPulse{0%,100%{opacity:0.7}50%{opacity:1}}.lm-tab.active.sc-ui-workspace-manager{background:var(--bg-primary, #0b1020);color:var(--text-standard, #ffffff);border-color:var(--primary-color);box-shadow:0 2px 8px rgba(var(--color-success-rgb, 61, 205, 88), 0.2)}.lm-tab.sc-ui-workspace-manager .lm-dot.sc-ui-workspace-manager{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--color-danger, #eab308)}.lm-region-actions.sc-ui-workspace-manager{margin-left:auto;display:inline-flex;gap:6px}.lm-region-actions.sc-ui-workspace-manager button.sc-ui-workspace-manager{appearance:none;border:none;background:transparent;color:inherit;padding:6px;cursor:pointer;border-radius:4px;transition:all 0.2s ease;display:inline-flex;align-items:center;justify-content:center}.lm-region-actions.sc-ui-workspace-manager button.sc-ui-workspace-manager:hover{background:var(--color-primary, #374151);color:var(--primary-color)}.lm-region-actions.sc-ui-workspace-manager button.sc-ui-workspace-manager:active{transform:scale(0.95)}.lm-tab.sc-ui-workspace-manager .lm-tab-btn.sc-ui-workspace-manager{appearance:none;border:none;background:transparent;color:inherit;padding:4px;cursor:pointer;border-radius:4px;transition:all 0.15s ease;display:inline-flex;align-items:center;justify-content:center}.lm-tab.sc-ui-workspace-manager .lm-tab-btn.sc-ui-workspace-manager:hover{background:rgba(var(--color-success-rgb, 61, 205, 88), 0.15);color:var(--primary-color);transform:scale(1.1)}.lm-tab.sc-ui-workspace-manager .lm-tab-btn.sc-ui-workspace-manager:active{transform:scale(0.9)}.lm-tab.sc-ui-workspace-manager .lm-tab-btn.lm-tab-actions.sc-ui-workspace-manager:hover{background:rgba(156, 163, 175, 0.15);color:var(--text-muted, #9ca3af)}.lm-tab.sc-ui-workspace-manager .lm-tab-btn.lm-close.sc-ui-workspace-manager:hover{background:rgba(var(--color-danger-rgb, 220, 38, 38), 0.15);color:var(--color-danger-hover, #dc2626)}.lm-tab-actions-wrapper.sc-ui-workspace-manager{position:relative;display:inline-flex;align-items:center;z-index:1}.lm-tab.sc-ui-workspace-manager:has(.lm-tab-actions-menu){z-index:10002}.lm-tab-actions-menu.sc-ui-workspace-manager{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-primary, #1f2937);border:1px solid var(--border-default, #374151);border-radius:6px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.3);z-index:10001;min-width:140px;overflow:hidden;animation:slideDown 0.15s ease}.lm-tab-actions-menu-fixed.sc-ui-workspace-manager{position:fixed;background:var(--bg-primary, #1f2937);border:1px solid var(--border-default, #374151);border-radius:6px;box-shadow:0 4px 24px rgba(0, 0, 0, 0.5);z-index:12000;min-width:160px;overflow:hidden;transform:translateX(-100%);animation:slideDown 0.15s ease}.lm-tab-actions-item.sc-ui-workspace-manager{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;color:var(--text-standard, #e5e7eb);font-size:13px;transition:all 0.15s ease}.lm-tab-actions-item.sc-ui-workspace-manager i.sc-ui-workspace-manager{width:16px;text-align:center;font-size:13px;color:var(--text-muted, #9ca3af)}.lm-tab-actions-item.sc-ui-workspace-manager:hover{background:var(--color-primary, #374151);color:var(--primary-color)}.lm-tab-actions-item.sc-ui-workspace-manager:hover i.sc-ui-workspace-manager{color:var(--primary-color)}.lm-tab-actions-item.lm-tab-actions-danger.sc-ui-workspace-manager{color:var(--color-danger, #fca5a5)}.lm-tab-actions-item.lm-tab-actions-danger.sc-ui-workspace-manager i.sc-ui-workspace-manager{color:var(--color-danger, #fca5a5)}.lm-tab-actions-item.lm-tab-actions-danger.sc-ui-workspace-manager:hover{background:var(--color-danger, #991b1b);color:var(--text-standard, #ffffff)}.lm-tab-actions-item.lm-tab-actions-danger.sc-ui-workspace-manager:hover i.sc-ui-workspace-manager{color:var(--text-standard, #ffffff)}.lm-tab-actions-item.sc-ui-workspace-manager:first-child{border-top-left-radius:6px;border-top-right-radius:6px}.lm-tab-actions-item.sc-ui-workspace-manager:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.lm-tab-actions-divider.sc-ui-workspace-manager{height:1px;background:var(--color-primary, #374151);margin:4px 8px}.lm-region-content.sc-ui-workspace-manager{position:relative;flex:1;background:var(--bg-secondary, #0f172a);color:var(--text-standard, #e5e7eb);min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column}.lm-panel-host.sc-ui-workspace-manager{position:absolute;inset:0;padding:0;overflow:auto;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:var(--text-secondary, #374151) var(--text-primary, #0f172a)}.lm-panel-host.sc-ui-workspace-manager::-webkit-scrollbar{width:8px;height:8px}.lm-panel-host.sc-ui-workspace-manager::-webkit-scrollbar-track{background:var(--bg-secondary, #0f172a)}.lm-panel-host.sc-ui-workspace-manager::-webkit-scrollbar-thumb{background:var(--color-primary, #374151);border-radius:4px}.lm-panel-host.sc-ui-workspace-manager::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #4b5563)}.lm-empty.sc-ui-workspace-manager{position:absolute;inset:0;display:grid;place-items:center;color:var(--text-muted, #9ca3af);font-size:14px;font-style:italic}.lm-popout-layer.sc-ui-workspace-manager{position:absolute;inset:0;pointer-events:none}.lm-popout-window.sc-ui-workspace-manager{position:absolute;background:var(--bg-secondary, #0f172a);border:1px solid var(--color-success, #3dcd58);border-radius:10px;box-shadow:0 20px 60px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(var(--color-success-rgb, 61, 205, 88), 0.3);overflow:hidden;pointer-events:auto;display:flex;flex-direction:column;backdrop-filter:blur(10px)}.lm-popout-header.sc-ui-workspace-manager{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:linear-gradient(135deg, var(--bg-primary, #1f2937), var(--bg-secondary, #111827));border-bottom:1px solid var(--border-default, #374151);cursor:move;user-select:none}.lm-popout-header.sc-ui-workspace-manager:active{cursor:grabbing}.lm-popout-content.sc-ui-workspace-manager{flex:1;overflow:auto;padding:0;scrollbar-width:thin;scrollbar-color:var(--text-secondary, #374151) var(--text-primary, #0f172a)}.lm-popout-content.sc-ui-workspace-manager::-webkit-scrollbar{width:8px;height:8px}.lm-popout-content.sc-ui-workspace-manager::-webkit-scrollbar-track{background:var(--bg-secondary, #0f172a)}.lm-popout-content.sc-ui-workspace-manager::-webkit-scrollbar-thumb{background:var(--color-primary, #374151);border-radius:4px}.lm-popout-content.sc-ui-workspace-manager::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #4b5563)}.lm-tabs.drag-over.sc-ui-workspace-manager,.lm-region-content.drag-over.sc-ui-workspace-manager{outline:2px dashed var(--color-success, #3dcd58)}.lm-context-menu.sc-ui-workspace-manager{position:fixed;background:var(--bg-secondary, #111827);color:var(--text-standard, #e5e7eb);border:1px solid var(--border-default, #374151);border-radius:6px;box-shadow:0 8px 24px rgba(0, 0, 0, 0.4);padding:6px;display:grid;gap:4px;z-index:11000}.lm-context-menu.sc-ui-workspace-manager button.sc-ui-workspace-manager{appearance:none;border:none;background:var(--bg-primary, #1f2937);color:inherit;padding:6px 8px;border-radius:4px;cursor:pointer;text-align:left;display:flex;align-items:center;gap:8px}.lm-context-menu.sc-ui-workspace-manager button.sc-ui-workspace-manager:disabled{opacity:0.5;cursor:not-allowed;color:var(--text-secondary)}.lm-context-menu.sc-ui-workspace-manager button.sc-ui-workspace-manager i.sc-ui-workspace-manager{width:14px;text-align:center}.lm-context-menu.sc-ui-workspace-manager button.sc-ui-workspace-manager:hover:not(:disabled){background:var(--color-primary, #374151)}.lm-navigation-content.sc-ui-workspace-manager{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--bg-secondary, #0f172a)}.lm-navigation-content.sc-ui-workspace-manager::-webkit-scrollbar{width:8px}.lm-navigation-content.sc-ui-workspace-manager::-webkit-scrollbar-track{background:var(--bg-primary, #1e293b)}.lm-navigation-content.sc-ui-workspace-manager::-webkit-scrollbar-thumb{background:var(--color-primary, #475569);border-radius:4px}.lm-navigation-content.sc-ui-workspace-manager::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #64748b)}.lm-navigation-section.sc-ui-workspace-manager{border-bottom:1px solid var(--border-subtle, #1e293b)}.lm-navigation-section.sc-ui-workspace-manager:last-child{border-bottom:none}.lm-navigation-section-header.sc-ui-workspace-manager{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-primary, #1f2937);color:var(--text-standard, #e5e7eb);cursor:pointer;transition:all 0.2s;border-left:3px solid transparent}.lm-navigation-section-header.sc-ui-workspace-manager:hover{background:var(--color-primary, #374151)}.lm-navigation-section-header.active.sc-ui-workspace-manager{background:var(--color-primary, #1e3a8a);border-left-color:var(--primary-color);font-weight:600}.lm-navigation-section-header.sc-ui-workspace-manager i.sc-ui-workspace-manager{font-size:14px;color:var(--text-muted, #9ca3af);width:16px;text-align:center}.lm-navigation-section-title.sc-ui-workspace-manager{flex:1;font-size:13px}.lm-navigation-section-close.sc-ui-workspace-manager{display:none;background:transparent;border:none;color:var(--text-muted, #9ca3af);cursor:pointer;padding:4px;border-radius:3px;transition:all 0.2s}.lm-navigation-section-close.sc-ui-workspace-manager:hover{background:rgba(255, 255, 255, 0.1);color:var(--text-standard, #ffffff)}.lm-navigation-section-close.sc-ui-workspace-manager i.sc-ui-workspace-manager{font-size:12px;pointer-events:none}.lm-navigation-section-header.sc-ui-workspace-manager:hover .lm-navigation-section-close.sc-ui-workspace-manager{display:block}.lm-navigation-section-content.sc-ui-workspace-manager{padding:12px;background:var(--bg-secondary, #0f172a);overflow:auto;max-height:400px}.lm-navigation-section-content.sc-ui-workspace-manager::-webkit-scrollbar{width:6px}.lm-navigation-section-content.sc-ui-workspace-manager::-webkit-scrollbar-track{background:var(--bg-primary, #1e293b)}.lm-navigation-section-content.sc-ui-workspace-manager::-webkit-scrollbar-thumb{background:var(--color-primary, #475569);border-radius:3px}.lm-navigation-section-content.sc-ui-workspace-manager::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #64748b)}.lm-header-only-title.sc-ui-workspace-manager{flex:1;display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--text-standard, #e5e7eb)}.lm-header-only-title.sc-ui-workspace-manager i.sc-ui-workspace-manager{font-size:14px;color:var(--text-muted, #9ca3af)}.lm-header-only-title.sc-ui-workspace-manager span.sc-ui-workspace-manager{color:var(--text-standard, #ffffff)}.lm-header-only-actions.sc-ui-workspace-manager{display:flex;align-items:center;gap:8px}.lm-header-btn.sc-ui-workspace-manager{background:rgba(255, 255, 255, 0.1);border:none;color:var(--text-standard, #e5e7eb);cursor:pointer;padding:6px 10px;border-radius:4px;transition:all 0.2s;font-size:13px;display:flex;align-items:center;justify-content:center}.lm-header-btn.sc-ui-workspace-manager:hover{background:rgba(255, 255, 255, 0.2);transform:scale(1.05)}.lm-header-btn.sc-ui-workspace-manager i.sc-ui-workspace-manager{pointer-events:none}.lm-context-menu.sc-ui-workspace-manager hr.sc-ui-workspace-manager{border:none;border-top:1px solid var(--border-default, #374151);margin:6px 0}'}},[514,"ui-workspace-manager",{regions:[1],direction:[1],saveState:[4,"save-state"],stateKey:[1,"state-key"],root:[32],panelsById:[32],popouts:[32],maximizedPanel:[32],preMaximizeState:[32],draggingPanel:[32],draggingPopout:[32],layoutVersion:[32],contextMenu:[32],tabActionsMenu:[32],floatingDropdown:[32],openDropdowns:[32],openActionsMenu:[32],regionsNeedingScroll:[32],minimizedRegions:[32],dragOverTarget:[32],getLayoutState:[64],clearAllRegions:[64],addPanel:[64],removePanel:[64],movePanel:[64],popoutPanel:[64],dockPanel:[64],splitRegion:[64],maximizePanel:[64],restorePanel:[64],closeAllPanels:[64],mergeRegion:[64],createRegion:[64],addRegion:[64],normalizeRegionSizes:[64],removeRegion:[64]},[[11,"scroll","handleScroll"],[9,"resize","handleScroll"],[9,"mousemove","handleScroll"],[0,"panelPopout","onPanelPopout"],[0,"panelSelect","onPanelSelect"]],{regions:[{handleRegionsChange:0}]}]),u=g,b=function(){"undefined"!=typeof customElements&&["ui-workspace-manager","ui-badge","ui-button","ui-icon","ui-resizable-panel"].forEach((a=>{switch(a){case"ui-workspace-manager":customElements.get(o(a))||customElements.define(o(a),g);break;case"ui-badge":customElements.get(o(a))||p();break;case"ui-button":customElements.get(o(a))||d();break;case"ui-icon":customElements.get(o(a))||s();break;case"ui-resizable-panel":customElements.get(o(a))||h()}}))};export{u as UiWorkspaceManager,b as defineCustomElement}
1
+ import{proxyCustomElement as a,HTMLElement as e,createEvent as i,h as r,Host as t,transformTag as o}from"@stencil/core/internal/client";import{s as n,d as s}from"./icon.js";import{c,g as l,b as m}from"./dom.js";import{d}from"./badge.js";import{d as p}from"./button.js";import{d as h}from"./loader.js";import{d as g}from"./resizable-panel.js";const u=a(class extends e{constructor(a){super(),!1!==a&&this.__registerHost(),this.layoutChange=i(this,"layoutChange",7),this.panelAdded=i(this,"panelAdded",7),this.panelRemoved=i(this,"panelRemoved",7),this.panelMoved=i(this,"panelMoved",7),this.panelPoppedOut=i(this,"panelPoppedOut",7),this.panelDocked=i(this,"panelDocked",7),this.panelMaximized=i(this,"panelMaximized",7),this.panelRestored=i(this,"panelRestored",7),this.regionAdded=i(this,"regionAdded",7),this.regionRemoved=i(this,"regionRemoved",7)}get el(){return this}regions=[];handleRegionsChange(){this.initRegions(),this.root={...this.root},this.layoutVersion++}direction="horizontal";saveState=!0;stateKey="layout-manager-state";root;panelsById={};popouts={};maximizedPanel;preMaximizeState;draggingPanel;draggingPopout;layoutVersion=0;contextMenu;tabActionsMenu;floatingDropdown;openDropdowns={};openActionsMenu={};regionsNeedingScroll={};minimizedRegions={};dragOverTarget;floatingDropdownTrigger;tabActionsMenuTrigger;layoutChange;panelAdded;panelRemoved;panelMoved;panelPoppedOut;panelDocked;panelMaximized;panelRestored;regionAdded;regionRemoved;async getLayoutState(){return{root:this.root,panels:this.panelsById}}async clearAllRegions(){await this.closeAllPanels(),this.panelsById={},this.popouts={},this.maximizedPanel=void 0,this.draggingPanel=void 0,this.draggingPopout=void 0,this.contextMenu=void 0,this.tabActionsMenu=void 0,this.openDropdowns={},this.openActionsMenu={},this.root={id:"__root__",title:"Root",direction:this.direction,children:[],panels:[]},this.floatingDropdownTrigger=void 0,this.tabActionsMenuTrigger=void 0,this.emitLayoutChange()}handleScroll(){(this.floatingDropdown||this.tabActionsMenu)&&this.recalculateMenuPositions()}recalculateMenuPositions(){requestAnimationFrame((()=>{if(this.floatingDropdown&&this.floatingDropdownTrigger){const a=c(this.floatingDropdownTrigger,{menuWidth:200,menuHeight:300,gap:4,align:"end"});this.floatingDropdown={...this.floatingDropdown,x:a.left??0,y:a.top??0}}if(this.tabActionsMenu&&this.tabActionsMenuTrigger){const a=c(this.tabActionsMenuTrigger,{menuWidth:180,menuHeight:200,gap:4,align:"end"});this.tabActionsMenu={...this.tabActionsMenu,x:a.left??0,y:a.top??0}}}))}componentWillLoad(){this.saveState&&this.loadState(),(!this.root||0===this.root.children?.length&&0===this.root.panels?.length)&&this.initRegions(),document.addEventListener("click",this.handleDocumentClick)}disconnectedCallback(){document.removeEventListener("click",this.handleDocumentClick)}handleDocumentClick=a=>{const e=a.target;e.closest(".lm-panel-dropdown-wrapper")||Object.values(this.openDropdowns).some((a=>a))&&(this.openDropdowns={}),e.closest(".lm-actions-menu-wrapper")||Object.values(this.openActionsMenu).some((a=>a))&&(this.openActionsMenu={})};parseRegions(){return(("string"==typeof this.regions?JSON.parse(this.regions):this.regions)||[]).map((a=>({id:a.id,title:a.title,size:a.size??25,minSize:a.minSize,maxSize:a.maxSize,collapsible:a.collapsible??!1})))}initRegions(){const a=this.parseRegions(),e=a.reduce(((a,e)=>a+(e.size||0)),0)||100,i=a.map((i=>({...i,size:(i.size||100/a.length)/e*100,panels:[],activePanelId:void 0})));this.root={id:"__root__",title:"Root",size:100,panels:[],children:i,direction:this.direction}}async addPanel(a){const e=a.id||`panel-${Date.now()}-${Math.floor(1e3*Math.random())}`,i=this.findRegionNode(a.regionId)?.node;if(!i)throw Error("Region not found: "+a.regionId);if("content-only"===i.type&&i.panels&&i.panels.length>0)return i.panels[0];const r={id:e,title:a.title,regionId:i.id,closable:!1!==a.closable,icon:a.icon,iconLibrary:a.iconLibrary,allowPopout:!1!==a.allowPopout,element:a.element,html:a.html};return this.panelsById={...this.panelsById,[e]:r},i.panels=[...i.panels||[],e],i.activePanelId=e,this.root={...this.root},this.panelAdded.emit(r),this.emitLayoutChange(),e}async removePanel(a){const e=this.panelsById[a];if(!e)return;if(e.pinned)return;this.maximizedPanel===a&&(this.maximizedPanel=void 0,this.preMaximizeState=void 0);const i=this.findRegionNode(e.regionId)?.node;i&&(i.panels=(i.panels||[]).filter((e=>e!==a)),i.activePanelId===a&&(i.activePanelId=i.panels[(i.panels||[]).length-1]||void 0));const{[a]:r,...t}=this.panelsById;this.panelsById=t;const{[a]:o,...n}=this.popouts;this.popouts=n,this.root={...this.root},this.panelRemoved.emit({panelId:a,regionId:i?.id||""}),this.emitLayoutChange()}async movePanel(a,e,i){const r=this.panelsById[a];if(!r)throw Error("Panel not found: "+a);const t=this.findRegionNode(r.regionId)?.node,o=this.findRegionNode(e)?.node;if(!o)throw Error("Target region not found: "+e);t&&(t.panels=(t.panels||[]).filter((e=>e!==a)),t.activePanelId===a&&(t.activePanelId=t.panels[(t.panels||[]).length-1]||void 0)),r.regionId=o.id;const n=[...o.panels||[]];void 0===i||i<0||i>n.length?n.push(a):n.splice(i,0,a),o.panels=n,o.activePanelId=a,this.panelsById={...this.panelsById},this.root={...this.root},this.panelMoved.emit({panelId:a,from:t?.id||"",to:o.id}),this.emitLayoutChange()}async popoutPanel(a,e){const i=this.panelsById[a];if(!i)throw Error("Panel not found: "+a);const r=this.findRegionNode(i.regionId)?.node;r&&(r.panels=(r.panels||[]).filter((e=>e!==a)),r.activePanelId===a&&(r.activePanelId=r.panels[(r.panels||[]).length-1]||void 0)),this.popouts={...this.popouts,[a]:{x:e?.x??100,y:e?.y??100,width:e?.width??400,height:e?.height??300}},this.root={...this.root},this.panelPoppedOut.emit({panelId:a}),this.emitLayoutChange()}async dockPanel(a,e,i){if(!this.popouts[a])return;const{[a]:r,...t}=this.popouts;this.popouts=t,await this.movePanel(a,e,i),this.panelDocked.emit({panelId:a,regionId:e})}async splitRegion(a,e="horizontal"){const i=this.findRegionNode(a);if(!i)throw Error("Region not found: "+a);const{node:r}=i;if(r.children&&r.children.length)return;const t={id:a+"-a",title:r.title,size:50,panels:[],activePanelId:void 0},o={id:a+"-b",title:r.title,size:50,panels:[],activePanelId:void 0};r.panels?.length&&(t.panels=[...r.panels],t.activePanelId=r.activePanelId,r.panels=[],r.activePanelId=void 0),r.children=[t,o],r.direction=e,this.root={...this.root},this.emitLayoutChange()}async maximizePanel(a){if(!this.panelsById[a])throw Error("Panel not found: "+a);this.preMaximizeState={root:JSON.parse(JSON.stringify(this.root)),panelsById:JSON.parse(JSON.stringify(this.panelsById))},this.maximizedPanel=a,this.panelMaximized.emit({panelId:a})}async restorePanel(){if(!this.maximizedPanel)return;const a=this.maximizedPanel;this.preMaximizeState&&(this.preMaximizeState.root&&this.preMaximizeState.panelsById&&(this.root=this.preMaximizeState.root,this.panelsById=this.preMaximizeState.panelsById,this.root={...this.root},this.panelsById={...this.panelsById},this.layoutVersion++),this.preMaximizeState=void 0),this.maximizedPanel=void 0,this.panelRestored.emit({panelId:a}),this.emitLayoutChange()}async closeAllPanels(a){if(a){const e=this.findRegionNode(a);if(!e||!e.node.panels)return;const i=[...e.node.panels];for(const a of i)await this.removePanel(a)}else{const a=Object.keys(this.panelsById);for(const e of a)await this.removePanel(e)}}async mergeRegion(a){const e=this.findRegionNode(a);if(!e)return;const{node:i}=e;if(!i.children||!i.children.length)return;const r=i.children[0];i.panels=[...r.panels||[]],i.activePanelId=r.activePanelId,i.children=void 0,i.direction=void 0,this.root={...this.root},this.emitLayoutChange()}async createRegion(a){if(this.findRegionNode(a.id))return;const e=this.root.children||[],i=e.reduce(((a,e)=>a+(e.size||0)),0)||100,r=a.size??100/(e.length+1),t=r/(i+r)*100,o=e.map((a=>({...a,size:(a.size||0)*(i/(i+r))})));this.root.children=[...o,{id:a.id,title:a.title,size:t,minSize:a.minSize,maxSize:a.maxSize,collapsible:a.collapsible??!1,panels:[],activePanelId:void 0}],this.emitLayoutChange()}async addRegion(a){this.root&&this.root.children||(this.root={id:"__root__",title:"Root",direction:this.direction,children:[],panels:[]});const e=a.id||"region-"+Date.now(),i=a.title||"Region "+(this.root.children.length+1),r=a.position||"end",t=a.type||"default";if(this.findRegionNode(e))throw Error(`Region with id '${e}' already exists`);const o={id:e,title:i,size:a.size||100/(this.root.children.length+1),panels:[],activePanelId:void 0,type:t};if(this.root.children="start"===r?[o,...this.root.children]:[...this.root.children,o],!a.skipNormalization){const a=this.root.children.reduce(((a,e)=>a+(e.size||0)),0);this.root.children=this.root.children.map((e=>({...e,size:(e.size||0)/a*100})))}return this.root={...this.root},this.emitLayoutChange(),this.regionAdded.emit({regionId:e,title:i}),e}async normalizeRegionSizes(){if(!this.root||!this.root.children)return;const a=this.root.children.reduce(((a,e)=>a+(e.size||0)),0);0!==a&&(this.root.children=this.root.children.map((e=>({...e,size:(e.size||0)/a*100}))),this.root={...this.root},this.emitLayoutChange())}async removeRegion(a){const e=this.findRegionNode(a);if(!e)return;const{parent:i}=e;if(!i||!i.children)return;const r=i.children.findIndex((e=>e.id===a)),t=i.children[r],o=i.children[r-1]||i.children[r+1];i.children=i.children.filter((e=>e.id!==a)),o&&t&&t.panels?.length&&(o.panels=[...o.panels||[],...t.panels],o.activePanelId=o.activePanelId||t.activePanelId||(o.panels||[])[(o.panels||[]).length-1]);const n=i.children,s=n.reduce(((a,e)=>a+(e.size||0)),0)||100;i.children=n.map((a=>({...a,size:(a.size||0)/s*100}))),this.root={...this.root},this.emitLayoutChange(),this.regionRemoved.emit({regionId:a})}onPanelPopout(a){this.popoutPanel(a.detail.panelId)}onPanelSelect(a){const e=this.findRegionNode(a.detail.regionId)?.node;e&&(e.activePanelId=a.detail.panelId,this.root={...this.root},this.emitLayoutChange())}emitLayoutChange(){const a=[],e=i=>{i.children&&i.children.length?i.children.forEach(e):a.push(i)};e(this.root),this.layoutChange.emit({regions:a}),this.saveState&&this.saveStateToStorage()}saveStateToStorage(){try{const a=Object.fromEntries(Object.entries(this.panelsById).map((([a,e])=>{const{element:i,...r}=e;return[a,r]})));localStorage.setItem(this.stateKey,JSON.stringify({root:this.root,panelsById:a,minimizedRegions:this.minimizedRegions}))}catch(a){console.error("[WorkspaceManager] Failed to save state",a)}}loadState(){try{const a=localStorage.getItem(this.stateKey);if(a){const e=JSON.parse(a);this.root=e.root,this.panelsById=e.panelsById,this.minimizedRegions=e.minimizedRegions||{}}}catch(a){console.error("[WorkspaceManager] Failed to load state",a)}}findRegionNode(a){let e;const i=(r,t)=>{r.id!==a?r.children&&r.children.forEach((a=>i(a,r))):e={node:r,parent:t}};return i(this.root),e}scrollTabs(a,e){const i=document.querySelector(`[data-region-id="${a}"] .lm-tabs`);i&&i.scrollBy({left:"left"===e?-200:200,behavior:"smooth"})}togglePanelDropdown(a,e){e?.stopPropagation();const i=!this.openDropdowns[a];if(this.openDropdowns={...this.openDropdowns,[a]:i},i&&e){this.floatingDropdownTrigger=e.currentTarget;const i=c(this.floatingDropdownTrigger,{menuWidth:200,menuHeight:300,gap:4,align:"end"});this.floatingDropdown={x:i.left??0,y:i.top??0,regionId:a,type:"panel"}}else this.floatingDropdown=void 0,this.floatingDropdownTrigger=void 0}selectPanelFromDropdown(a,e){this.selectPanel(a,e),this.openDropdowns={...this.openDropdowns,[a]:!1},this.floatingDropdown=void 0}toggleActionsMenu(a,e){e?.stopPropagation();const i=!this.openActionsMenu[a];if(this.openActionsMenu={...this.openActionsMenu,[a]:i},i&&e){this.floatingDropdownTrigger=e.currentTarget;const i=c(this.floatingDropdownTrigger,{menuWidth:200,menuHeight:300,gap:4,align:"end"});this.floatingDropdown={x:i.left??0,y:i.top??0,regionId:a,type:"actions"}}else this.floatingDropdown=void 0,this.floatingDropdownTrigger=void 0}minimizeRegion(a){if(this.maximizedPanel)return;const e=this.findRegionNode(a);if(!e)return;const i=e.node,r=e.parent;if(this.maximizedPanel){const e=this.panelsById[this.maximizedPanel];if(e&&e.regionId===a)return}const t=i.panels?.[0]?this.panelsById[i.panels[0]]:null,o=t?.icon||"fas fa-window-minimize";let n,s=-1,c="left";if(r&&r.children){s=r.children.findIndex((e=>e.id===a)),n=r.id,c=s<Math.floor(r.children.length/2)?"left":"right";const e=r.children.filter((e=>e.id!==a));if(e.length>0){const a=e.reduce(((a,e)=>a+(e.size||0)),0);if(a>0)e.forEach((e=>{e.size=(e.size||0)/a*100}));else{const a=100/e.length;e.forEach((e=>{e.size=a}))}}r.children=e}else if(this.root.id===a)return;this.minimizedRegions={...this.minimizedRegions,[a]:{title:i.title||a,icon:o,iconLibrary:t?.iconLibrary,region:{...i},parentId:n,index:s,side:c}},this.layoutVersion++,this.root={...this.root},this.emitLayoutChange()}restoreRegion(a){const e=this.minimizedRegions[a];if(!e)return;const{region:i,parentId:r,index:t}=e;if(r){const a=this.findRegionNode(r);if(a&&a.node&&a.node.children){const e=a.node,r=JSON.parse(JSON.stringify(i)),o=[...e.children??[]];o.splice(t,0,r);const n=o.reduce(((a,e)=>a+(e.size||0)),0);n>0&&o.forEach((a=>{a.size=(a.size||0)/n*100})),e.children=o,this.layoutVersion++}}const{[a]:o,...n}=this.minimizedRegions;this.minimizedRegions=n,this.root={...this.root},this.emitLayoutChange()}closeAllAndRemoveRegion(a){const e=this.findRegionNode(a)?.node;e&&([...e.panels].forEach((a=>{this.removePanel(a)})),this.removeRegion(a))}renderTabs(a){const e=a.panels.map((a=>this.panelsById[a])).filter(Boolean),i=e.filter((a=>a.pinned)),t=e.filter((a=>!a.pinned)),o=i.length>0&&t.length>0,n=this.regionsNeedingScroll[a.id]||!1;return r("div",{class:"lm-tabs-container","data-region-id":a.id},n&&r("ui-button",{variant:"ghost",size:"sm",icon:"chevron-left",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Scroll left",onClick:()=>this.scrollTabs(a.id,"left")}),r("div",{class:"lm-tabs",onDragOver:e=>{e.preventDefault(),this.handleDragOver(e,a.id)},onDragLeave:()=>this.dragOverTarget=void 0,onDrop:e=>this.handleTabDrop(e,a)},e.map(((i,t)=>{const n=i.pinned;return r("div",{key:i.id},!n&&t>0&&e[t-1]?.pinned&&o&&r("div",{class:"lm-tab-separator",title:"Pinned / Unpinned divider"}),r("div",{class:{"lm-tab":!0,active:a.activePanelId===i.id,pinned:!!n},draggable:!0,onDragStart:e=>this.handleTabDragStart(e,i,a),onContextMenu:e=>this.openContextMenu(e,a.id,i.id),onClick:()=>this.selectPanel(a.id,i.id)},i.icon&&r("ui-icon",{name:i.icon,library:i.iconLibrary||"lucide"}),r("span",{class:"lm-tab-title"},i.title),n&&r("ui-icon",{name:"thumbtack",library:"fontawesome",class:"lm-tab-btn",title:"Unpin",onClick:a=>{a.stopPropagation(),this.togglePin(i.id)}}),i.dirty&&r("span",{class:"lm-dot",title:"Unsaved changes"}),r("ui-button",{variant:"ghost",size:"sm",icon:"ellipsis-v",iconLibrary:"fontawesome",ariaLabel:"More actions",onClick:a=>{a.stopPropagation();const e=!this.openDropdowns["tab-"+i.id];if(this.openDropdowns={...this.openDropdowns,["tab-"+i.id]:e},e){this.tabActionsMenuTrigger=a.currentTarget;const e=this.tabActionsMenuTrigger.getBoundingClientRect(),r=l(this.el);this.tabActionsMenu={x:e.right-r.x,y:e.bottom-r.y+4,panelId:i.id}}else this.tabActionsMenu=void 0,this.tabActionsMenuTrigger=void 0}}),i.closable&&!n&&r("ui-button",{variant:"ghost",size:"sm",icon:"times",iconLibrary:"fontawesome",ariaLabel:"Close",onClick:a=>{a.stopPropagation(),this.removePanel(i.id)}})))}))),n&&r("ui-button",{variant:"ghost",size:"sm",icon:"chevron-right",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Scroll right",onClick:()=>this.scrollTabs(a.id,"right")}))}handleTabDragStart(a,e,i){this.draggingPanel={panelId:e.id,fromRegionId:i.id},a.dataTransfer?.setData("text/plain",e.id),a.dataTransfer?.setDragImage(a.target,0,0)}handleTabDrop(a,e){a.preventDefault();const i=a.dataTransfer?.getData("text/plain")||this.draggingPanel?.panelId;if(!i)return;let r;const t=a.target.closest(".lm-tab");t&&(r=Array.from(t.parentElement.querySelectorAll(".lm-tab")).indexOf(t)),this.movePanel(i,e.id,r),this.draggingPanel=void 0}selectPanel(a,e){const i=this.findRegionNode(a)?.node;i&&(i.activePanelId=e,this.root={...this.root},this.emitLayoutChange())}switchToPanel(a,e){const i=this.findRegionNode(a)?.node;i&&i.panels.includes(e)&&(i.activePanelId=e,this.root={...this.root})}renderNavigationRegion(a){const e=a.panels.map((a=>this.panelsById[a])).filter(Boolean);return r("div",{class:"lm-region lm-region-navigation","data-region-id":a.id},r("div",{class:"lm-region-header"},r("div",{class:"lm-navigation-header"},r("span",{class:"lm-navigation-title"},a.title||"Navigation")),r("ui-button",{variant:"ghost",size:"sm",icon:"times-circle",iconLibrary:"fontawesome",ariaLabel:"Close all panels and remove region",onClick:()=>this.closeAllAndRemoveRegion(a.id)})),r("div",{class:"lm-navigation-content"},e.map((e=>r("div",{class:"lm-navigation-section","data-panel-id":e.id},r("div",{class:{"lm-navigation-section-header":!0,active:a.activePanelId===e.id},onClick:()=>this.switchToPanel(a.id,e.id)},e.icon&&r("ui-icon",{name:e.icon,library:e.iconLibrary||"default"}),r("span",{class:"lm-navigation-section-title"},e.title),r("ui-button",{variant:"ghost",size:"sm",class:"lm-navigation-section-close",icon:"times",iconLibrary:"fontawesome",ariaLabel:"Close panel",onClick:a=>{a.stopPropagation(),this.removePanel(e.id)}})),a.activePanelId===e.id&&r("div",{class:"lm-navigation-section-content",ref:a=>this.attachContent(a,e)})))),0===e.length&&r("div",{class:"lm-empty"},"No panels open")))}renderHeaderOnlyRegion(a){const e=a.activePanelId?this.panelsById[a.activePanelId]:void 0;return r("div",{class:"lm-region lm-region-header-only","data-region-id":a.id},r("div",{class:"lm-region-header"},r("div",{class:"lm-header-only-title"},e?.icon&&r("ui-icon",{name:e.icon,library:e.iconLibrary||"default"}),r("span",null,e?.title||a.title||"Content")),r("div",{class:"lm-header-only-actions"},r("div",{class:"lm-panel-dropdown-wrapper"},r("ui-button",{variant:"ghost",size:"sm",icon:"list",iconLibrary:"fontawesome",ariaLabel:"Show all panels",onClick:e=>this.togglePanelDropdown(a.id,e)})),e&&r("ui-button",{variant:"ghost",size:"sm",icon:"expand",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Maximize",onClick:()=>this.maximizePanel(e.id)}),e&&r("ui-button",{variant:"ghost",size:"sm",icon:"external-link-alt",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Pop out",onClick:()=>this.popoutPanel(e.id)}),r("ui-button",{variant:"ghost",size:"sm",icon:"times-circle",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Close all panels and remove region",onClick:()=>this.closeAllAndRemoveRegion(a.id)}))),r("div",{class:"lm-region-content"},e&&r("div",{class:"lm-panel-host","data-panel-id":e.id,ref:a=>this.attachContent(a,e)}),!e&&r("div",{class:"lm-empty"},"No content available")))}renderLeafRegion(a){const e=a.activePanelId?this.panelsById[a.activePanelId]:void 0,i=a.type||"default",t="no-header"!==i&&"content-only"!==i,o="title-only"!==i&&"no-header"!==i&&"content-only"!==i&&"navigation"!==i&&"header-only"!==i,n="default"===i,s=this.regionsNeedingScroll[a.id]||!1;return"content-only"===i?r("div",{class:"lm-region lm-region-content-only","data-region-id":a.id},e&&r("div",{class:"lm-panel-host","data-panel-id":e.id,ref:a=>this.attachContent(a,e)})):"navigation"===i?this.renderNavigationRegion(a):"header-only"===i?this.renderHeaderOnlyRegion(a):r("div",{class:{"lm-region":!0,["lm-region-"+i]:!0},"data-region-id":a.id},t&&r("div",{class:"lm-region-header"},"title-only"===i&&r("div",{class:"lm-region-title"},r("span",null,a.title)),o&&this.renderTabs(a),n&&r("div",{class:"lm-region-actions"},s&&r("div",{class:"lm-panel-dropdown-wrapper"},r("ui-button",{variant:"ghost",size:"sm",icon:"list",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Show all panels",onClick:e=>this.togglePanelDropdown(a.id,e)})),r("div",{class:"lm-actions-menu-wrapper"},r("ui-button",{variant:"ghost",size:"sm",icon:"ellipsis-v",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Actions",onClick:e=>this.toggleActionsMenu(a.id,e)})),r("ui-button",{variant:"ghost",size:"sm",icon:"window-minimize",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Minimize region",onClick:()=>this.minimizeRegion(a.id)}),(a.panels?.length||0)>0&&r("ui-button",{variant:"ghost",size:"sm",icon:"times-circle",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Close all panels and remove region",onClick:()=>this.closeAllAndRemoveRegion(a.id)}))),r("div",{class:"lm-region-content",onDragOver:e=>{e.preventDefault(),this.handleDragOver(e,a.id)},onDragLeave:()=>this.dragOverTarget=void 0,onDrop:e=>this.handleTabDrop(e,a)},e&&r("div",{class:"lm-panel-host","data-panel-id":e.id,ref:a=>this.attachContent(a,e)}),!e&&r("div",{class:"lm-empty"},"No tabs open"),this.dragOverTarget?.regionId===a.id&&r("div",{class:"lm-drop-highlighter lm-drop-"+this.dragOverTarget.position})))}renderRegionNode(a){if(a.children&&a.children.length){const e=a.children.map((a=>({id:a.id,size:a.size,minSize:a.minSize,maxSize:a.maxSize,collapsible:a.collapsible})));return r("ui-resizable-panel",{key:`resizable-${a.id}-v${this.layoutVersion}`,direction:a.direction||"horizontal",panels:JSON.stringify(e),saveState:!1,stateKey:`${this.stateKey}-${a.id}`,showHandleIcon:!0},a.children.map((a=>r("div",{slot:a.id,class:"lm-slot"},this.renderRegionNode(a)))))}return this.renderLeafRegion(a)}attachContent(a,e){if(a){for(;a.firstChild;)a.removeChild(a.firstChild);e.element?a.appendChild(e.element):e.html&&(a.innerHTML=n(e.html))}}renderVerticalNav(a){const e=Object.entries(this.minimizedRegions).filter((([e,i])=>i.side===a));return 0===e.length?null:r("div",{class:"lm-vertical-nav lm-vertical-nav-"+a},e.map((([a,e])=>r("div",{key:a,class:"lm-nav-item",title:e.title,onClick:()=>this.restoreRegion(a)},r("ui-icon",{name:e.icon,library:e.iconLibrary||"default"}),r("span",{class:"lm-nav-label"},e.title)))))}render(){if(this.maximizedPanel){const a=this.panelsById[this.maximizedPanel];if(a)return r(t,null,r("div",{class:"lm-container lm-maximized"},r("div",{class:"lm-maximized-panel"},r("div",{class:"lm-maximized-header"},r("span",{class:"lm-maximized-title"},a.title),r("div",{class:"lm-maximized-actions"},r("ui-button",{variant:"ghost",size:"sm",icon:"compress",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Restore",onClick:()=>this.restorePanel()}),r("ui-button",{variant:"ghost",size:"sm",icon:"times",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Close",onClick:()=>this.removePanel(this.maximizedPanel)}))),r("div",{class:"lm-maximized-content",ref:e=>this.attachContent(e,a)}))))}return r(t,null,this.renderVerticalNav("left"),r("div",{class:"lm-container"},this.root&&this.renderRegionNode(this.root),r("div",{class:"lm-popout-layer"},Object.keys(this.popouts).map((a=>{const e=this.popouts[a],i=this.panelsById[a];return i?r("div",{class:"lm-popout-window",style:{left:e.x+"px",top:e.y+"px",width:e.width+"px",height:e.height+"px"},"data-panel-id":a},r("div",{class:"lm-popout-header",onMouseDown:e=>this.startPopoutDrag(e,a)},r("span",{class:"lm-popout-title"},i.title),r("div",{class:"lm-popout-actions"},r("ui-button",{variant:"ghost",size:"sm",icon:"download",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Dock",onClick:()=>this.dockPanel(a,i.regionId)}),r("ui-button",{variant:"ghost",size:"sm",icon:"times",iconLibrary:"fontawesome",iconSize:"14px",ariaLabel:"Close",onClick:()=>this.removePanel(a)}))),r("div",{class:"lm-popout-content",ref:a=>this.attachContent(a,i)})):null}))),this.contextMenu&&this.renderContextMenu(),this.tabActionsMenu&&this.renderTabActionsMenu(),this.floatingDropdown&&this.renderFloatingDropdown()),this.renderVerticalNav("right"))}startPopoutDrag(a,e){const i=this.popouts[e];if(!i)return;const r=a.currentTarget.parentElement.getBoundingClientRect();this.draggingPopout={panelId:e,offsetX:a.clientX-r.left,offsetY:a.clientY-r.top};const t=a=>{let r=a.clientX-this.draggingPopout.offsetX,t=a.clientY-this.draggingPopout.offsetY;const o=window.innerWidth,n=window.innerHeight;Math.abs(r)<20&&(r=0),Math.abs(t)<20&&(t=0),Math.abs(r+i.width-o)<20&&(r=o-i.width),Math.abs(t+i.height-n)<20&&(t=n-i.height),this.popouts[e]={...this.popouts[e],x:r,y:t},this.popouts={...this.popouts}},o=()=>{document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",o),this.draggingPopout=void 0};document.addEventListener("mousemove",t),document.addEventListener("mouseup",o)}openContextMenu(a,e,i){a.preventDefault();const r=m(a.clientX,a.clientY,this.el);this.contextMenu={x:r.x,y:r.y,regionId:e,panelId:i};const t=()=>{this.contextMenu=void 0,document.removeEventListener("click",t)};document.addEventListener("click",t,{once:!0})}renderContextMenu(){const{x:a,y:e,regionId:i,panelId:t}=this.contextMenu,o=this.panelsById[t];return r("div",{class:"lm-context-menu",style:{left:a+"px",top:e+"px"}},r("ui-button",{variant:"ghost",fullWidth:!0,icon:"thumbtack",iconLibrary:"fontawesome",iconSize:"14px",label:o?.pinned?"Unpin Tab":"Pin Tab",onClick:()=>{this.togglePin(t),this.contextMenu=void 0}}),r("hr",null),r("ui-button",{variant:"ghost",fullWidth:!0,disabled:o?.pinned,label:o?.pinned?"Close (Pinned)":"Close",onClick:()=>{this.removePanel(t),this.contextMenu=void 0}}),r("ui-button",{variant:"ghost",fullWidth:!0,icon:"arrows-alt-h",iconLibrary:"fontawesome",iconSize:"14px",label:"Close Others",onClick:()=>{this.closeOthers(i,t),this.contextMenu=void 0}}),r("ui-button",{variant:"ghost",fullWidth:!0,icon:"arrow-right",iconLibrary:"fontawesome",iconSize:"14px",label:"Close to the Right",onClick:()=>{this.closeToRight(i,t),this.contextMenu=void 0}}),r("hr",null),r("ui-button",{variant:"ghost",fullWidth:!0,label:"Move to New Group (H)",onClick:()=>{this.splitRegion(i,"horizontal").then((()=>this.movePanel(t,i+"-b"))),this.contextMenu=void 0}}),r("ui-button",{variant:"ghost",fullWidth:!0,label:"Move to New Group (V)",onClick:()=>{this.splitRegion(i,"vertical").then((()=>this.movePanel(t,i+"-b"))),this.contextMenu=void 0}}))}renderTabActionsMenu(){const{x:a,y:e,panelId:i}=this.tabActionsMenu,t=this.panelsById[i];return t?r("div",{class:"lm-tab-actions-menu-fixed",style:{left:a+"px",top:e+"px"}},r("div",{class:"lm-tab-actions-item",onClick:a=>{a.stopPropagation(),this.maximizePanel(i),this.openDropdowns={...this.openDropdowns,["tab-"+i]:!1},this.tabActionsMenu=void 0}},r("ui-icon",{name:"expand",library:"fontawesome",size:"14px"}),r("span",null,"Maximize")),t.allowPopout&&r("div",{class:"lm-tab-actions-item",onClick:a=>{a.stopPropagation(),this.popoutPanel(i),this.openDropdowns={...this.openDropdowns,["tab-"+i]:!1},this.tabActionsMenu=void 0}},r("ui-icon",{name:"window-restore",library:"fontawesome"}),r("span",null,"Pop Out")),r("div",{class:"lm-tab-actions-divider"}),r("div",{class:"lm-tab-actions-item",onClick:a=>{a.stopPropagation(),this.togglePin(i),this.openDropdowns={...this.openDropdowns,["tab-"+i]:!1},this.tabActionsMenu=void 0}},r(r.Fragment,null,r("ui-icon",{name:"thumbtack",library:"fontawesome"}),r("span",null,t.pinned?"Unpin Tab":"Pin Tab"))),r("div",{class:"lm-tab-actions-divider"}),r("div",{class:"lm-tab-actions-item",onClick:a=>{a.stopPropagation(),this.closeOthers(t.regionId,i),this.tabActionsMenu=void 0}},r("ui-icon",{name:"arrows-alt-h",library:"fontawesome"}),r("span",null,"Close Others")),r("div",{class:"lm-tab-actions-item",onClick:a=>{a.stopPropagation(),this.closeToRight(t.regionId,i),this.tabActionsMenu=void 0}},r("ui-icon",{name:"arrow-right",library:"fontawesome"}),r("span",null,"Close to the Right")),r("div",{class:"lm-tab-actions-divider"}),r("div",{class:"lm-tab-actions-item lm-tab-actions-danger",onClick:a=>{a.stopPropagation(),this.removePanel(i),this.tabActionsMenu=void 0}},r("ui-icon",{name:"times",library:"fontawesome"}),r("span",null,"Close"))):null}closeOthers(a,e){const i=this.findRegionNode(a)?.node;i&&(i.panels||[]).filter((a=>a!==e)).forEach((a=>this.removePanel(a)))}closeToRight(a,e){const i=this.findRegionNode(a)?.node;if(!i)return;const r=(i.panels||[]).indexOf(e);(i.panels||[]).slice(r+1).forEach((a=>this.removePanel(a)))}togglePin(a){const e=this.panelsById[a];if(!e)return;e.pinned=!e.pinned;const i=this.findRegionNode(e.regionId)?.node;if(!i||!i.panels)return;const r=i.panels.map((a=>this.panelsById[a])).filter(Boolean),t=r.filter((a=>a.pinned)).map((a=>a.id)),o=r.filter((a=>!a.pinned)).map((a=>a.id));i.panels=[...t,...o],this.panelsById={...this.panelsById},this.root={...this.root}}checkTabsOverflow(){const a=[],e=i=>{i.panels&&a.push(i),i.children&&i.children.forEach(e)};this.root&&e(this.root);const i={};a.forEach((a=>{const e=this.el.querySelector(`[data-region-id="${a.id}"] .lm-tabs`);e&&(i[a.id]=e.scrollWidth>e.offsetWidth)})),JSON.stringify(i)!==JSON.stringify(this.regionsNeedingScroll)&&(this.regionsNeedingScroll=i)}handleDragOver(a,e){const i=a.currentTarget.getBoundingClientRect(),r=a.clientX-i.left,t=a.clientY-i.top;let o="center";t<.2*i.height?o="top":t>.8*i.height?o="bottom":r<.2*i.width?o="left":r>.8*i.width&&(o="right"),this.dragOverTarget={regionId:e,position:o}}renderFloatingDropdown(){if(!this.floatingDropdown)return null;const{x:a,y:e,regionId:i,type:t}=this.floatingDropdown,o=this.findRegionById(this.root,i);if(!o)return null;if("panel"===t){const i=o.panels.map((a=>this.panelsById[a])).filter(Boolean);return r("div",{class:"lm-panel-dropdown-menu",style:{position:"fixed",top:e+"px",left:a+"px",zIndex:"12000",minWidth:"200px"}},r("div",{class:"lm-panel-dropdown-header"},"All Panels (",i.length,")"),i.map((a=>r("div",{class:{"lm-panel-dropdown-item":!0,active:o.activePanelId===a.id},onClick:()=>this.selectPanelFromDropdown(o.id,a.id)},a.icon&&r("ui-icon",{name:a.icon,library:a.iconLibrary||"lucide",style:{marginRight:"8px"}}),r("span",null,a.title)))))}{const i=o.activePanelId?this.panelsById[o.activePanelId]:null;return r("div",{class:"lm-actions-dropdown-menu",style:{position:"fixed",top:e+"px",left:a+"px",zIndex:"12000",minWidth:"180px"}},r("div",{class:"lm-actions-item",onClick:()=>{this.splitRegion(o.id,"horizontal"),this.floatingDropdown=void 0,this.openActionsMenu={}}},r("ui-icon",{name:"columns",library:"fontawesome",class:"lm-actions-icon"}),"Split Horizontal"),r("div",{class:"lm-actions-item",onClick:()=>{this.splitRegion(o.id,"vertical"),this.floatingDropdown=void 0,this.openActionsMenu={}}},r("ui-icon",{name:"grip-lines",library:"fontawesome",class:"lm-actions-icon"}),"Split Vertical"),r("div",{class:"lm-actions-divider"}),i&&r("div",{class:"lm-actions-item",onClick:()=>{this.maximizePanel(i.id),this.floatingDropdown=void 0,this.openActionsMenu={}}},r("ui-icon",{name:"expand",library:"fontawesome",class:"lm-actions-icon"}),"Maximize Panel"),(o.panels?.length||0)>0&&r(r.Fragment,null,r("div",{class:"lm-actions-divider"}),r("div",{class:"lm-actions-item",onClick:()=>{this.closeAllPanels(o.id),this.floatingDropdown=void 0,this.openActionsMenu={}}},r("ui-icon",{name:"times",library:"fontawesome",class:"lm-actions-icon"}),"Close All Panels")),r("div",{class:"lm-actions-divider"}),r("div",{class:"lm-actions-item",onClick:()=>{this.mergeRegion(o.id),this.floatingDropdown=void 0,this.openActionsMenu={}}},r("ui-icon",{name:"compress",library:"fontawesome",class:"lm-actions-icon"}),"Merge Region"),r("div",{class:"lm-actions-divider"}),r("div",{class:"lm-actions-item lm-actions-danger",onClick:()=>{this.closeAllAndRemoveRegion(o.id),this.floatingDropdown=void 0,this.openActionsMenu={}}},r("ui-icon",{name:"trash",library:"fontawesome",class:"lm-actions-icon"}),"Remove Group"))}}findRegionById(a,e){if(a.id===e)return a;for(const i of a.children??[]){const a=this.findRegionById(i,e);if(a)return a}return null}componentDidUpdate(){setTimeout((()=>this.checkTabsOverflow()),0)}static get watchers(){return{regions:[{handleRegionsChange:0}]}}static get style(){return'.sr-only.sc-ui-workspace-manager{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.sc-ui-workspace-manager{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}.sc-ui-workspace-manager-h{display:flex;height:100%;width:100%;overflow:hidden}.lm-vertical-nav.sc-ui-workspace-manager{width:50px;background:var(--bg-secondary, #2b2b2b);display:flex;flex-direction:column;align-items:center;padding:0;gap:0;overflow-y:auto;flex-shrink:0}.lm-vertical-nav.lm-vertical-nav-left.sc-ui-workspace-manager{border-right:1px solid var(--border-strong, #3e3e42);box-shadow:2px 0 8px rgba(0, 0, 0, 0.3)}.lm-vertical-nav.lm-vertical-nav-right.sc-ui-workspace-manager{border-left:1px solid var(--border-strong, #3e3e42);box-shadow:-2px 0 8px rgba(0, 0, 0, 0.3)}.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager{width:100%;height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted, #858585);transition:all 0.15s ease;padding:0;position:relative}.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager::before{content:"";position:absolute;top:0;bottom:0;width:2px;background:transparent;transition:background 0.15s ease}.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager i.sc-ui-workspace-manager{font-size:24px;margin-bottom:0}.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager .lm-nav-label.sc-ui-workspace-manager{font-size:8px;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-weight:400;letter-spacing:0.5px;text-transform:uppercase}.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager:hover{background:var(--bg-secondary, #2d2d30);color:var(--text-standard, #ffffff)}.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager:hover::before{background:var(--bg-secondary, #505050)}.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager:active,.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.active.sc-ui-workspace-manager{background:var(--bg-primary, #1e1e1e);color:var(--text-standard, #ffffff)}.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager:active::before,.lm-vertical-nav.sc-ui-workspace-manager .lm-nav-item.active.sc-ui-workspace-manager::before{background:var(--color-primary, #007acc)}.lm-vertical-nav.lm-vertical-nav-left.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager::before{left:0}.lm-vertical-nav.lm-vertical-nav-right.sc-ui-workspace-manager .lm-nav-item.sc-ui-workspace-manager::before{right:0}.lm-container.sc-ui-workspace-manager{position:relative;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.lm-container.lm-maximized.sc-ui-workspace-manager{background:var(--bg-secondary, #0f172a)}.lm-maximized-panel.sc-ui-workspace-manager{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-secondary, #0f172a);overflow:hidden}.lm-maximized-header.sc-ui-workspace-manager{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg, var(--color-primary, #1e3a8a) 0%, var(--color-primary, #10b981) 100%);color:var(--text-standard, #ffffff);padding:8px 12px;border-bottom:1px solid var(--color-primary-hover, #2563eb);flex-shrink:0;min-height:40px;box-shadow:0 2px 8px rgba(0, 0, 0, 0.3)}.lm-maximized-header.sc-ui-workspace-manager .lm-maximized-title.sc-ui-workspace-manager{font-size:16px;font-weight:600}.lm-maximized-header.sc-ui-workspace-manager .lm-maximized-actions.sc-ui-workspace-manager{display:flex;gap:8px}.lm-maximized-header.sc-ui-workspace-manager .lm-maximized-actions.sc-ui-workspace-manager button.sc-ui-workspace-manager{background:rgba(255, 255, 255, 0.2);border:none;color:var(--text-standard, #ffffff);cursor:pointer;padding:6px 10px;border-radius:4px;transition:all 0.2s;font-size:14px}.lm-maximized-header.sc-ui-workspace-manager .lm-maximized-actions.sc-ui-workspace-manager button.sc-ui-workspace-manager:hover{background:rgba(255, 255, 255, 0.3);transform:scale(1.05)}.lm-maximized-header.sc-ui-workspace-manager .lm-maximized-actions.sc-ui-workspace-manager button.sc-ui-workspace-manager i.sc-ui-workspace-manager{pointer-events:none}.lm-maximized-content.sc-ui-workspace-manager{flex:1;overflow:auto;background:var(--bg-secondary, #0f172a);color:var(--text-standard, #e5e7eb)}.lm-maximized-content.sc-ui-workspace-manager::-webkit-scrollbar{width:8px;height:8px}.lm-maximized-content.sc-ui-workspace-manager::-webkit-scrollbar-track{background:var(--bg-primary, #1e293b)}.lm-maximized-content.sc-ui-workspace-manager::-webkit-scrollbar-thumb{background:var(--color-primary, #475569);border-radius:4px}.lm-maximized-content.sc-ui-workspace-manager::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #64748b)}.lm-slot.sc-ui-workspace-manager{width:100%;height:100%;display:flex;flex-direction:column;min-height:0;min-width:0}.lm-region.sc-ui-workspace-manager{display:flex;flex-direction:column;height:100%;width:100%;min-height:0;min-width:0;overflow:visible;position:relative}.lm-region.lm-region-navigation.sc-ui-workspace-manager .lm-region-header.sc-ui-workspace-manager{background:var(--color-primary, #1e3a8a);border-bottom:2px solid var(--color-primary, #10b981)}.lm-region.lm-region-title-only.sc-ui-workspace-manager .lm-region-header.sc-ui-workspace-manager{background:var(--color-primary, #374151);justify-content:center;padding:8px 12px}.lm-region.lm-region-no-header.sc-ui-workspace-manager .lm-region-content.sc-ui-workspace-manager{border-radius:0}.lm-region.lm-region-content-only.sc-ui-workspace-manager{overflow:hidden}.lm-region.lm-region-content-only.sc-ui-workspace-manager .lm-panel-host.sc-ui-workspace-manager{width:100%;height:100%;margin:0;padding:0;border:none;background:transparent}.lm-region.lm-region-header-only.sc-ui-workspace-manager .lm-region-header.sc-ui-workspace-manager{background:var(--bg-primary, #1f2937);padding:6px 12px;border-bottom:2px solid var(--color-primary, #10b981)}.lm-region-title.sc-ui-workspace-manager{flex:1;display:flex;align-items:center;font-weight:600;font-size:14px;color:var(--text-standard, #e5e7eb);padding:0 8px}.lm-navigation-header.sc-ui-workspace-manager{flex:1;display:flex;align-items:center;gap:8px;padding:0 8px}.lm-navigation-title.sc-ui-workspace-manager{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:0.5px;color:var(--text-standard, #ffffff)}.lm-region-header.sc-ui-workspace-manager{display:flex;align-items:center;gap:4px;background:var(--bg-primary, #1f2937);color:var(--text-standard, #e5e7eb);padding:2px 6px;border-bottom:1px solid var(--border-default, #374151);flex-shrink:0;min-height:36px;min-width:0;width:100%;overflow:visible;position:relative;z-index:11000;box-shadow:0 1px 3px rgba(0, 0, 0, 0.2)}.lm-tabs-container.sc-ui-workspace-manager{display:flex;align-items:center;gap:4px;background:var(--bg-secondary, #0f172a);padding:0 4px;flex:1;min-width:0;overflow:visible;max-width:100%}.lm-tab-scroll-btn.sc-ui-workspace-manager{display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;cursor:pointer;flex-shrink:0;flex-basis:28px;transition:all 0.2s ease}.lm-tab-scroll-btn.sc-ui-workspace-manager:hover{transform:translateY(-1px)}.lm-tab-scroll-btn.sc-ui-workspace-manager:active{transform:scale(0.95)}.lm-tab-scroll-btn.sc-ui-workspace-manager i.sc-ui-workspace-manager{font-size:12px}.lm-tabs.sc-ui-workspace-manager{display:flex;gap:2px;overflow-x:auto;overflow-y:visible;scrollbar-width:thin;scrollbar-color:var(--text-secondary, #374151) var(--text-primary, #1f2937);flex:1;min-width:0}.lm-tabs.sc-ui-workspace-manager::-webkit-scrollbar{height:6px}.lm-tabs.sc-ui-workspace-manager::-webkit-scrollbar-track{background:var(--bg-primary, #1f2937)}.lm-tabs.sc-ui-workspace-manager::-webkit-scrollbar-thumb{background:var(--color-primary, #374151);border-radius:3px}.lm-tabs.sc-ui-workspace-manager::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #4b5563)}.lm-tab-separator.sc-ui-workspace-manager{width:1px;background:linear-gradient(to bottom, transparent 20%, var(--color-primary, #10b981) 50%, transparent 80%);margin:0 4px;flex-shrink:0;opacity:0.5}.lm-panel-dropdown-wrapper.sc-ui-workspace-manager{position:relative;flex-shrink:0;z-index:1}.lm-panel-list-btn.sc-ui-workspace-manager{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-default, #374151);background:var(--bg-primary, #1f2937);color:var(--text-muted, #9ca3af);border-radius:4px;cursor:pointer;flex-shrink:0;transition:all 0.2s ease}.lm-panel-list-btn.sc-ui-workspace-manager:hover{background:var(--color-primary, #374151);color:var(--text-standard, #e5e7eb);border-color:var(--border-dark)}.lm-panel-list-btn.sc-ui-workspace-manager:active{transform:scale(0.95)}.lm-panel-list-btn.sc-ui-workspace-manager i.sc-ui-workspace-manager{font-size:14px}.lm-panel-dropdown-menu.sc-ui-workspace-manager{position:absolute;top:calc(100% + 4px);right:0;min-width:220px;max-width:320px;max-height:400px;overflow-y:auto;background:var(--bg-primary, #1f2937);border:1px solid var(--border-default, #374151);border-radius:6px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.5);z-index:2;scrollbar-width:thin;scrollbar-color:var(--text-secondary, #4b5563) var(--text-primary, #1f2937)}.lm-panel-dropdown-menu.sc-ui-workspace-manager::-webkit-scrollbar{width:6px}.lm-panel-dropdown-menu.sc-ui-workspace-manager::-webkit-scrollbar-track{background:var(--bg-primary, #1f2937)}.lm-panel-dropdown-menu.sc-ui-workspace-manager::-webkit-scrollbar-thumb{background:var(--color-primary, #4b5563);border-radius:3px}.lm-panel-dropdown-menu.sc-ui-workspace-manager::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #6b7280)}.lm-panel-dropdown-header.sc-ui-workspace-manager{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-default, #374151);background:var(--bg-secondary, #111827);position:sticky;top:0;z-index:1}.lm-panel-dropdown-item.sc-ui-workspace-manager{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:all 0.15s ease;color:var(--text-standard, #e5e7eb);font-size:13px}.lm-panel-dropdown-item.sc-ui-workspace-manager:hover{background:var(--color-primary, #374151)}.lm-panel-dropdown-item.active.sc-ui-workspace-manager{background:var(--color-primary, #10b981);color:var(--text-standard, #ffffff);font-weight:500}.lm-panel-dropdown-item.sc-ui-workspace-manager i.sc-ui-workspace-manager:first-child{width:16px;text-align:center;font-size:12px;color:var(--text-muted, #9ca3af)}.lm-panel-dropdown-item.sc-ui-workspace-manager .lm-panel-dropdown-title.sc-ui-workspace-manager{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lm-panel-dropdown-item.sc-ui-workspace-manager .fa-check.sc-ui-workspace-manager{color:var(--text-standard, #ffffff);font-size:12px}.lm-panel-dropdown-item.sc-ui-workspace-manager .lm-dot.sc-ui-workspace-manager{width:6px;height:6px;border-radius:50%;background:var(--color-warning, #f59e0b)}.lm-minimize-btn.sc-ui-workspace-manager{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-default, #374151);background:var(--bg-primary, #1f2937);color:var(--text-muted, #9ca3af);border-radius:4px;cursor:pointer;flex-shrink:0;transition:all 0.2s ease}.lm-minimize-btn.sc-ui-workspace-manager:hover{background:var(--color-primary, #10b981);color:var(--text-standard, #ffffff);border-color:var(--primary-color)}.lm-minimize-btn.sc-ui-workspace-manager:active{transform:scale(0.95)}.lm-minimize-btn.sc-ui-workspace-manager i.sc-ui-workspace-manager{font-size:14px}.lm-close-all-btn.sc-ui-workspace-manager{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-default, #374151);background:var(--bg-primary, #1f2937);color:var(--text-muted, #9ca3af);border-radius:4px;cursor:pointer;flex-shrink:0;transition:all 0.2s ease}.lm-close-all-btn.sc-ui-workspace-manager:hover{background:var(--color-danger, #991b1b);color:var(--color-danger, #fca5a5);border-color:var(--color-danger-hover, #dc2626)}.lm-close-all-btn.sc-ui-workspace-manager:active{transform:scale(0.95)}.lm-close-all-btn.sc-ui-workspace-manager i.sc-ui-workspace-manager{font-size:14px}.lm-actions-menu-wrapper.sc-ui-workspace-manager{position:relative;flex-shrink:0;z-index:1}.lm-actions-menu-btn.sc-ui-workspace-manager{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-default, #374151);background:var(--bg-primary, #1f2937);color:var(--text-muted, #9ca3af);border-radius:4px;cursor:pointer;flex-shrink:0;transition:all 0.2s ease}.lm-actions-menu-btn.sc-ui-workspace-manager:hover{background:var(--color-primary, #374151);color:var(--text-standard, #e5e7eb);border-color:var(--border-dark)}.lm-actions-menu-btn.sc-ui-workspace-manager:active{transform:scale(0.95)}.lm-actions-menu-btn.sc-ui-workspace-manager i.sc-ui-workspace-manager{font-size:14px}.lm-actions-dropdown-menu.sc-ui-workspace-manager{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;background:var(--bg-primary, #1f2937);border:1px solid var(--border-default, #374151);border-radius:6px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.5);z-index:2;overflow:hidden}.lm-actions-menu-item.sc-ui-workspace-manager{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:all 0.15s ease;color:var(--text-standard, #e5e7eb);font-size:13px}.lm-actions-menu-item.sc-ui-workspace-manager:hover{background:var(--color-primary, #374151)}.lm-actions-menu-item.sc-ui-workspace-manager i.sc-ui-workspace-manager{width:16px;text-align:center;font-size:13px;color:var(--text-muted, #9ca3af)}.lm-actions-menu-item.sc-ui-workspace-manager span.sc-ui-workspace-manager{flex:1}.lm-actions-menu-divider.sc-ui-workspace-manager{height:1px;background:var(--color-primary, #374151);margin:4px 0}.lm-tab.sc-ui-workspace-manager{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:4px 4px 0 0;background:var(--bg-secondary, #111827);cursor:pointer;user-select:none;white-space:nowrap;flex-shrink:0;transition:all 0.2s ease;border:1px solid transparent;border-bottom:none;position:relative;z-index:1}.lm-tab.sc-ui-workspace-manager:hover{background:var(--bg-primary, #1f2937);border-color:var(--border-dark);transform:translateY(-1px);z-index:2}.lm-tab.sc-ui-workspace-manager .fa-thumbtack.sc-ui-workspace-manager{color:var(--primary-color);font-size:11px;animation:pinPulse 2s ease-in-out infinite}@keyframes pinPulse{0%,100%{opacity:0.7}50%{opacity:1}}.lm-tab.active.sc-ui-workspace-manager{background:var(--bg-primary, #0b1020);color:var(--text-standard, #ffffff);border-color:var(--primary-color);box-shadow:0 2px 8px rgba(var(--color-success-rgb, 61, 205, 88), 0.2)}.lm-tab.sc-ui-workspace-manager .lm-dot.sc-ui-workspace-manager{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--color-danger, #eab308)}.lm-region-actions.sc-ui-workspace-manager{margin-left:auto;display:inline-flex;gap:6px}.lm-region-actions.sc-ui-workspace-manager button.sc-ui-workspace-manager{appearance:none;border:none;background:transparent;color:inherit;padding:6px;cursor:pointer;border-radius:4px;transition:all 0.2s ease;display:inline-flex;align-items:center;justify-content:center}.lm-region-actions.sc-ui-workspace-manager button.sc-ui-workspace-manager:hover{background:var(--color-primary, #374151);color:var(--primary-color)}.lm-region-actions.sc-ui-workspace-manager button.sc-ui-workspace-manager:active{transform:scale(0.95)}.lm-tab.sc-ui-workspace-manager .lm-tab-btn.sc-ui-workspace-manager{appearance:none;border:none;background:transparent;color:inherit;padding:4px;cursor:pointer;border-radius:4px;transition:all 0.15s ease;display:inline-flex;align-items:center;justify-content:center}.lm-tab.sc-ui-workspace-manager .lm-tab-btn.sc-ui-workspace-manager:hover{background:rgba(var(--color-success-rgb, 61, 205, 88), 0.15);color:var(--primary-color);transform:scale(1.1)}.lm-tab.sc-ui-workspace-manager .lm-tab-btn.sc-ui-workspace-manager:active{transform:scale(0.9)}.lm-tab.sc-ui-workspace-manager .lm-tab-btn.lm-tab-actions.sc-ui-workspace-manager:hover{background:rgba(156, 163, 175, 0.15);color:var(--text-muted, #9ca3af)}.lm-tab.sc-ui-workspace-manager .lm-tab-btn.lm-close.sc-ui-workspace-manager:hover{background:rgba(var(--color-danger-rgb, 220, 38, 38), 0.15);color:var(--color-danger-hover, #dc2626)}.lm-tab-actions-wrapper.sc-ui-workspace-manager{position:relative;display:inline-flex;align-items:center;z-index:1}.lm-tab.sc-ui-workspace-manager:has(.lm-tab-actions-menu){z-index:10002}.lm-tab-actions-menu.sc-ui-workspace-manager{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-primary, #1f2937);border:1px solid var(--border-default, #374151);border-radius:6px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.3);z-index:10001;min-width:140px;overflow:hidden;animation:slideDown 0.15s ease}.lm-tab-actions-menu-fixed.sc-ui-workspace-manager{position:fixed;background:var(--bg-primary, #1f2937);border:1px solid var(--border-default, #374151);border-radius:6px;box-shadow:0 4px 24px rgba(0, 0, 0, 0.5);z-index:12000;min-width:160px;overflow:hidden;transform:translateX(-100%);animation:slideDown 0.15s ease}.lm-tab-actions-item.sc-ui-workspace-manager{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;color:var(--text-standard, #e5e7eb);font-size:13px;transition:all 0.15s ease}.lm-tab-actions-item.sc-ui-workspace-manager i.sc-ui-workspace-manager{width:16px;text-align:center;font-size:13px;color:var(--text-muted, #9ca3af)}.lm-tab-actions-item.sc-ui-workspace-manager:hover{background:var(--color-primary, #374151);color:var(--primary-color)}.lm-tab-actions-item.sc-ui-workspace-manager:hover i.sc-ui-workspace-manager{color:var(--primary-color)}.lm-tab-actions-item.lm-tab-actions-danger.sc-ui-workspace-manager{color:var(--color-danger, #fca5a5)}.lm-tab-actions-item.lm-tab-actions-danger.sc-ui-workspace-manager i.sc-ui-workspace-manager{color:var(--color-danger, #fca5a5)}.lm-tab-actions-item.lm-tab-actions-danger.sc-ui-workspace-manager:hover{background:var(--color-danger, #991b1b);color:var(--text-standard, #ffffff)}.lm-tab-actions-item.lm-tab-actions-danger.sc-ui-workspace-manager:hover i.sc-ui-workspace-manager{color:var(--text-standard, #ffffff)}.lm-tab-actions-item.sc-ui-workspace-manager:first-child{border-top-left-radius:6px;border-top-right-radius:6px}.lm-tab-actions-item.sc-ui-workspace-manager:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.lm-tab-actions-divider.sc-ui-workspace-manager{height:1px;background:var(--color-primary, #374151);margin:4px 8px}.lm-region-content.sc-ui-workspace-manager{position:relative;flex:1;background:var(--bg-secondary, #0f172a);color:var(--text-standard, #e5e7eb);min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column}.lm-panel-host.sc-ui-workspace-manager{position:absolute;inset:0;padding:0;overflow:auto;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:var(--text-secondary, #374151) var(--text-primary, #0f172a)}.lm-panel-host.sc-ui-workspace-manager::-webkit-scrollbar{width:8px;height:8px}.lm-panel-host.sc-ui-workspace-manager::-webkit-scrollbar-track{background:var(--bg-secondary, #0f172a)}.lm-panel-host.sc-ui-workspace-manager::-webkit-scrollbar-thumb{background:var(--color-primary, #374151);border-radius:4px}.lm-panel-host.sc-ui-workspace-manager::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #4b5563)}.lm-empty.sc-ui-workspace-manager{position:absolute;inset:0;display:grid;place-items:center;color:var(--text-muted, #9ca3af);font-size:14px;font-style:italic}.lm-popout-layer.sc-ui-workspace-manager{position:absolute;inset:0;pointer-events:none}.lm-popout-window.sc-ui-workspace-manager{position:absolute;background:var(--bg-secondary, #0f172a);border:1px solid var(--color-success, #3dcd58);border-radius:10px;box-shadow:0 20px 60px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(var(--color-success-rgb, 61, 205, 88), 0.3);overflow:hidden;pointer-events:auto;display:flex;flex-direction:column;backdrop-filter:blur(10px)}.lm-popout-header.sc-ui-workspace-manager{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:linear-gradient(135deg, var(--bg-primary, #1f2937), var(--bg-secondary, #111827));border-bottom:1px solid var(--border-default, #374151);cursor:move;user-select:none}.lm-popout-header.sc-ui-workspace-manager:active{cursor:grabbing}.lm-popout-content.sc-ui-workspace-manager{flex:1;overflow:auto;padding:0;scrollbar-width:thin;scrollbar-color:var(--text-secondary, #374151) var(--text-primary, #0f172a)}.lm-popout-content.sc-ui-workspace-manager::-webkit-scrollbar{width:8px;height:8px}.lm-popout-content.sc-ui-workspace-manager::-webkit-scrollbar-track{background:var(--bg-secondary, #0f172a)}.lm-popout-content.sc-ui-workspace-manager::-webkit-scrollbar-thumb{background:var(--color-primary, #374151);border-radius:4px}.lm-popout-content.sc-ui-workspace-manager::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #4b5563)}.lm-tabs.drag-over.sc-ui-workspace-manager,.lm-region-content.drag-over.sc-ui-workspace-manager{outline:2px dashed var(--color-success, #3dcd58)}.lm-context-menu.sc-ui-workspace-manager{position:fixed;background:var(--bg-secondary, #111827);color:var(--text-standard, #e5e7eb);border:1px solid var(--border-default, #374151);border-radius:6px;box-shadow:0 8px 24px rgba(0, 0, 0, 0.4);padding:6px;display:grid;gap:4px;z-index:11000}.lm-context-menu.sc-ui-workspace-manager button.sc-ui-workspace-manager{appearance:none;border:none;background:var(--bg-primary, #1f2937);color:inherit;padding:6px 8px;border-radius:4px;cursor:pointer;text-align:left;display:flex;align-items:center;gap:8px}.lm-context-menu.sc-ui-workspace-manager button.sc-ui-workspace-manager:disabled{opacity:0.5;cursor:not-allowed;color:var(--text-secondary)}.lm-context-menu.sc-ui-workspace-manager button.sc-ui-workspace-manager i.sc-ui-workspace-manager{width:14px;text-align:center}.lm-context-menu.sc-ui-workspace-manager button.sc-ui-workspace-manager:hover:not(:disabled){background:var(--color-primary, #374151)}.lm-navigation-content.sc-ui-workspace-manager{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--bg-secondary, #0f172a)}.lm-navigation-content.sc-ui-workspace-manager::-webkit-scrollbar{width:8px}.lm-navigation-content.sc-ui-workspace-manager::-webkit-scrollbar-track{background:var(--bg-primary, #1e293b)}.lm-navigation-content.sc-ui-workspace-manager::-webkit-scrollbar-thumb{background:var(--color-primary, #475569);border-radius:4px}.lm-navigation-content.sc-ui-workspace-manager::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #64748b)}.lm-navigation-section.sc-ui-workspace-manager{border-bottom:1px solid var(--border-subtle, #1e293b)}.lm-navigation-section.sc-ui-workspace-manager:last-child{border-bottom:none}.lm-navigation-section-header.sc-ui-workspace-manager{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-primary, #1f2937);color:var(--text-standard, #e5e7eb);cursor:pointer;transition:all 0.2s;border-left:3px solid transparent}.lm-navigation-section-header.sc-ui-workspace-manager:hover{background:var(--color-primary, #374151)}.lm-navigation-section-header.active.sc-ui-workspace-manager{background:var(--color-primary, #1e3a8a);border-left-color:var(--primary-color);font-weight:600}.lm-navigation-section-header.sc-ui-workspace-manager i.sc-ui-workspace-manager{font-size:14px;color:var(--text-muted, #9ca3af);width:16px;text-align:center}.lm-navigation-section-title.sc-ui-workspace-manager{flex:1;font-size:13px}.lm-navigation-section-close.sc-ui-workspace-manager{display:none;background:transparent;border:none;color:var(--text-muted, #9ca3af);cursor:pointer;padding:4px;border-radius:3px;transition:all 0.2s}.lm-navigation-section-close.sc-ui-workspace-manager:hover{background:rgba(255, 255, 255, 0.1);color:var(--text-standard, #ffffff)}.lm-navigation-section-close.sc-ui-workspace-manager i.sc-ui-workspace-manager{font-size:12px;pointer-events:none}.lm-navigation-section-header.sc-ui-workspace-manager:hover .lm-navigation-section-close.sc-ui-workspace-manager{display:block}.lm-navigation-section-content.sc-ui-workspace-manager{padding:12px;background:var(--bg-secondary, #0f172a);overflow:auto;max-height:400px}.lm-navigation-section-content.sc-ui-workspace-manager::-webkit-scrollbar{width:6px}.lm-navigation-section-content.sc-ui-workspace-manager::-webkit-scrollbar-track{background:var(--bg-primary, #1e293b)}.lm-navigation-section-content.sc-ui-workspace-manager::-webkit-scrollbar-thumb{background:var(--color-primary, #475569);border-radius:3px}.lm-navigation-section-content.sc-ui-workspace-manager::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #64748b)}.lm-header-only-title.sc-ui-workspace-manager{flex:1;display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--text-standard, #e5e7eb)}.lm-header-only-title.sc-ui-workspace-manager i.sc-ui-workspace-manager{font-size:14px;color:var(--text-muted, #9ca3af)}.lm-header-only-title.sc-ui-workspace-manager span.sc-ui-workspace-manager{color:var(--text-standard, #ffffff)}.lm-header-only-actions.sc-ui-workspace-manager{display:flex;align-items:center;gap:8px}.lm-header-btn.sc-ui-workspace-manager{background:rgba(255, 255, 255, 0.1);border:none;color:var(--text-standard, #e5e7eb);cursor:pointer;padding:6px 10px;border-radius:4px;transition:all 0.2s;font-size:13px;display:flex;align-items:center;justify-content:center}.lm-header-btn.sc-ui-workspace-manager:hover{background:rgba(255, 255, 255, 0.2);transform:scale(1.05)}.lm-header-btn.sc-ui-workspace-manager i.sc-ui-workspace-manager{pointer-events:none}.lm-context-menu.sc-ui-workspace-manager hr.sc-ui-workspace-manager{border:none;border-top:1px solid var(--border-default, #374151);margin:6px 0}'}},[514,"ui-workspace-manager",{regions:[1],direction:[1],saveState:[4,"save-state"],stateKey:[1,"state-key"],root:[32],panelsById:[32],popouts:[32],maximizedPanel:[32],preMaximizeState:[32],draggingPanel:[32],draggingPopout:[32],layoutVersion:[32],contextMenu:[32],tabActionsMenu:[32],floatingDropdown:[32],openDropdowns:[32],openActionsMenu:[32],regionsNeedingScroll:[32],minimizedRegions:[32],dragOverTarget:[32],getLayoutState:[64],clearAllRegions:[64],addPanel:[64],removePanel:[64],movePanel:[64],popoutPanel:[64],dockPanel:[64],splitRegion:[64],maximizePanel:[64],restorePanel:[64],closeAllPanels:[64],mergeRegion:[64],createRegion:[64],addRegion:[64],normalizeRegionSizes:[64],removeRegion:[64]},[[11,"scroll","handleScroll"],[9,"resize","handleScroll"],[9,"mousemove","handleScroll"],[0,"panelPopout","onPanelPopout"],[0,"panelSelect","onPanelSelect"]],{regions:[{handleRegionsChange:0}]}]),b=u,v=function(){"undefined"!=typeof customElements&&["ui-workspace-manager","ui-badge","ui-button","ui-icon","ui-loader","ui-resizable-panel"].forEach((a=>{switch(a){case"ui-workspace-manager":customElements.get(o(a))||customElements.define(o(a),u);break;case"ui-badge":customElements.get(o(a))||d();break;case"ui-button":customElements.get(o(a))||p();break;case"ui-icon":customElements.get(o(a))||s();break;case"ui-loader":customElements.get(o(a))||h();break;case"ui-resizable-panel":customElements.get(o(a))||g()}}))};export{b as UiWorkspaceManager,v as defineCustomElement}
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-DUsoYu9r.js';
1
+ import { r as registerInstance, h, H as Host } from './index-Dqu2zaH1.js';
2
2
 
3
3
  const categorySectionCss = () => `.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}:host{display:block;margin-bottom:32px}.category{background:linear-gradient(135deg, rgba(30, 41, 59, 0.6), rgba(15, 23, 42, 0.8));border:1px solid rgba(255, 255, 255, 0.08);border-radius:24px;overflow:hidden;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.category:hover{border-color:rgba(99, 102, 241, 0.3)}.category-header{display:flex;align-items:center;gap:16px;padding:24px 28px;background:transparent;border:none;width:100%;cursor:pointer;text-align:left;color:inherit;font-family:inherit;transition:background 0.2s ease}.category-header:hover{background:rgba(255, 255, 255, 0.03)}.category-icon{font-size:1.8rem;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, rgba(99, 102, 241, 0.2), rgba(168, 85, 247, 0.15));border-radius:14px;flex-shrink:0}.category-title{margin:0;font-size:1.4rem;font-weight:700;color:#f1f5f9;flex:1;letter-spacing:-0.02em}.category-count{font-size:0.85rem;font-weight:600;padding:6px 14px;background:rgba(99, 102, 241, 0.15);color:#a5b4fc;border-radius:20px}.chevron{color:#64748b;transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.chevron.rotated{transform:rotate(-90deg)}.category-content{padding:0 24px 24px;max-height:2000px;overflow:hidden;transition:all 0.4s cubic-bezier(0.4, 0, 0.2, 1);opacity:1}.category.collapsed .category-content{max-height:0;padding-top:0;padding-bottom:0;opacity:0}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:16px}@media (max-width: 768px){.cards-grid{grid-template-columns:1fr}.category-header{padding:16px 20px}.category-content{padding:0 16px 16px}.category-title{font-size:1.2rem}}:host-context(.light) .category{background:linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(248, 250, 252, 0.9));border-color:rgba(0, 0, 0, 0.08)}:host-context(.light) .category-title{color:#1e293b}:host-context(.light) .chevron{color:#94a3b8}`;
4
4
 
@@ -20,7 +20,7 @@ const CategorySection = class {
20
20
  this.expanded = !this.expanded;
21
21
  };
22
22
  render() {
23
- return (h(Host, { key: 'e3a09ce08fdb7d41a84a0513c9bd9307d7d0fb2f' }, h("div", { key: '68321cc0d827decbd472217460b97dc7955c818c', class: { 'category': true, 'collapsed': !this.expanded } }, h("ui-button", { key: '4b232b38aa4f84d8526206801aa1c562a051da64', class: "category-header", onButtonClick: this.toggleExpanded, variant: "plain", fullWidth: true, align: "start" }, h("span", { key: 'c4d4449576357c8a85e131fd6e51d550b61bcb0e', class: "category-icon" }, this.categoryIcon), h("h2", { key: 'dd646cf30106d5665fd7cf16a33a1646dd576be5', class: "category-title" }, this.categoryName), h("span", { key: 'e174d5fa4e6eeaf3e6998f583c5a38329e66e176', class: "category-count" }, this.components.length), h("svg", { key: '5e926d6ace89797270d978e2c51aeeb362e57e33', class: { 'chevron': true, 'rotated': !this.expanded }, width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2" }, h("polyline", { key: 'f02857e200d2f5562c19a1fecc3a4584fd52271e', points: "6,9 12,15 18,9" }))), h("div", { key: '3e70d09a10eda7220b63253dca6638220326ea0a', class: "category-content" }, h("div", { key: 'a51ebf47c0fafe095ca8616ee3f661ee4124c805', class: "cards-grid" }, this.components.map(comp => (h("library-card", { key: comp.id, "component-id": comp.id, "card-title": comp.name, description: comp.description, icon: comp.icon, badge: comp.badge, docs: comp.docs, mode: this.mode }))))))));
23
+ return (h(Host, { key: '0416a668691cac54fcb40a81043c011864528f56' }, h("div", { key: '2597565c47c72e3b0841619c73078db790d47d52', class: { 'category': true, 'collapsed': !this.expanded } }, h("ui-button", { key: '677186fb712e1d2bdae4bf8381bc123cb396fab8', class: "category-header", onButtonClick: this.toggleExpanded, variant: "plain", fullWidth: true, align: "start" }, h("span", { key: '8f46d202777d2df4d74a88bb01ecb76d35c6415d', class: "category-icon" }, this.categoryIcon), h("h2", { key: '51247e2c6def99ab123592bedaf88d3696ece4c6', class: "category-title" }, this.categoryName), h("span", { key: 'cc616b7292cd1562b26c1d5eff04e9c0c7cc48c0', class: "category-count" }, this.components.length), h("svg", { key: '0054711645043b37f2f1ed61bf7d7b7b8caa98ad', class: { 'chevron': true, 'rotated': !this.expanded }, width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2" }, h("polyline", { key: '3a7a0b22c5d9ac8f5080b5af44320d08ad6040cb', points: "6,9 12,15 18,9" }))), h("div", { key: 'd727e08e615a6aa899c0fd416e58799de0f305f4', class: "category-content" }, h("div", { key: '732f248ac911b2e7a8daae6b8db94a39bed6545f', class: "cards-grid" }, this.components.map(comp => (h("library-card", { key: comp.id, "component-id": comp.id, "card-title": comp.name, description: comp.description, icon: comp.icon, badge: comp.badge, docs: comp.docs, mode: this.mode }))))))));
24
24
  }
25
25
  };
26
26
  CategorySection.style = categorySectionCss();
@@ -0,0 +1,262 @@
1
+ /**
2
+ * Finds the nearest ancestor that creates a new containing block for position:fixed elements.
3
+ * This function is fully Shadow DOM and Flat Tree aware, accounting for slots and shadow boundaries.
4
+ */
5
+ function getFlatTreeParent(node) {
6
+ return node?.assignedSlot || node?.parentElement || node?.getRootNode()?.host || null;
7
+ }
8
+ function isStandardElement(node) {
9
+ return Boolean(node) && node.nodeType === 1;
10
+ }
11
+ function styleCreatesContainingBlock(style) {
12
+ const transform = style.transform || '';
13
+ const filter = style.filter || '';
14
+ const backdropFilter = style.backdropFilter || '';
15
+ const perspective = style.perspective || '';
16
+ const mask = style.mask || '';
17
+ const clipPath = style.clipPath || '';
18
+ const contain = style.contain || '';
19
+ const willChange = style.willChange || '';
20
+ const hasTransform = [transform, style.translate || '', style.rotate || '', style.scale || ''].some((value) => value && value !== 'none');
21
+ const hasWillChange = ['transform', 'perspective', 'filter', 'backdrop-filter', 'translate', 'rotate', 'scale', 'mask', 'clip-path', 'contain']
22
+ .some((token) => willChange.includes(token));
23
+ const hasContain = ['layout', 'paint', 'strict', 'content'].some((token) => contain.includes(token));
24
+ return hasTransform
25
+ || Boolean(filter && filter !== 'none')
26
+ || Boolean(backdropFilter && backdropFilter !== 'none')
27
+ || Boolean(perspective && perspective !== 'none')
28
+ || Boolean(mask && mask !== 'none')
29
+ || Boolean(clipPath && clipPath !== 'none')
30
+ || hasWillChange
31
+ || hasContain;
32
+ }
33
+ function getTransformedAncestor(element) {
34
+ let el = element;
35
+ while (el && el !== document.documentElement) {
36
+ if (!isStandardElement(el)) {
37
+ el = el.host || el.parentNode;
38
+ continue;
39
+ }
40
+ const style = globalThis.getComputedStyle(el);
41
+ if (!style) {
42
+ el = getFlatTreeParent(el);
43
+ continue;
44
+ }
45
+ if (styleCreatesContainingBlock(style)) {
46
+ return el;
47
+ }
48
+ el = getFlatTreeParent(el);
49
+ }
50
+ return null;
51
+ }
52
+ function getOppositePlacement(requestedPlacement, space, menuWidth, menuHeight) {
53
+ if (requestedPlacement === 'bottom' && space.below < menuHeight && space.above > space.below)
54
+ return 'top';
55
+ if (requestedPlacement === 'top' && space.above < menuHeight && space.below > space.above)
56
+ return 'bottom';
57
+ if (requestedPlacement === 'right' && space.right < menuWidth && space.left > space.right)
58
+ return 'left';
59
+ if (requestedPlacement === 'left' && space.left < menuWidth && space.right > space.left)
60
+ return 'right';
61
+ return requestedPlacement;
62
+ }
63
+ function resolvePlacement(requestedPlacement, space, menuWidth, menuHeight) {
64
+ const finalPlacement = getOppositePlacement(requestedPlacement, space, menuWidth, menuHeight);
65
+ const verticalPlacement = finalPlacement === 'top' || finalPlacement === 'bottom';
66
+ const verticalSpace = Math.max(space.above, space.below);
67
+ const horizontalSpace = Math.max(space.left, space.right);
68
+ if (verticalPlacement && verticalSpace < menuHeight && (space.right >= menuWidth || space.left >= menuWidth)) {
69
+ return space.right > space.left ? 'right' : 'left';
70
+ }
71
+ if (!verticalPlacement && horizontalSpace < menuWidth && (space.above >= menuHeight || space.below >= menuHeight)) {
72
+ return space.above > space.below ? 'top' : 'bottom';
73
+ }
74
+ return finalPlacement;
75
+ }
76
+ function getBasePlacementCoordinates(placement, triggerRect, size, screen, gap, padding) {
77
+ switch (placement) {
78
+ case 'top':
79
+ return {
80
+ left: 0,
81
+ top: triggerRect.top - size.height - gap,
82
+ availableWidth: screen.width - (padding * 2),
83
+ availableHeight: triggerRect.top - gap - padding,
84
+ };
85
+ case 'bottom':
86
+ return {
87
+ left: 0,
88
+ top: triggerRect.bottom + gap,
89
+ availableWidth: screen.width - (padding * 2),
90
+ availableHeight: screen.height - triggerRect.bottom - gap - padding,
91
+ };
92
+ case 'left':
93
+ return {
94
+ left: triggerRect.left - size.width - gap,
95
+ top: 0,
96
+ availableWidth: triggerRect.left - gap - padding,
97
+ availableHeight: screen.height - (padding * 2),
98
+ };
99
+ case 'right':
100
+ default:
101
+ return {
102
+ left: triggerRect.right + gap,
103
+ top: 0,
104
+ availableWidth: screen.width - triggerRect.right - gap - padding,
105
+ availableHeight: screen.height - (padding * 2),
106
+ };
107
+ }
108
+ }
109
+ function applyCrossAxisAlignment(placement, align, triggerRect, size, coords, screen, padding) {
110
+ if (placement === 'top' || placement === 'bottom') {
111
+ let alignedLeft = triggerRect.left + (triggerRect.width / 2) - (size.width / 2);
112
+ if (align === 'start')
113
+ alignedLeft = triggerRect.left;
114
+ if (align === 'end')
115
+ alignedLeft = triggerRect.right - size.width;
116
+ coords.left = alignedLeft;
117
+ coords.availableWidth = screen.width - (padding * 2);
118
+ return coords;
119
+ }
120
+ let alignedTop = triggerRect.top + (triggerRect.height / 2) - (size.height / 2);
121
+ if (align === 'start')
122
+ alignedTop = triggerRect.top;
123
+ if (align === 'end')
124
+ alignedTop = triggerRect.bottom - size.height;
125
+ coords.top = alignedTop;
126
+ coords.availableHeight = screen.height - (padding * 2);
127
+ return coords;
128
+ }
129
+ function getArrowCoordinates(placement, triggerRect, top, left, ancestorOffset, actualMenuWidth, actualMenuHeight) {
130
+ const arrowPadding = 12;
131
+ if (placement === 'top' || placement === 'bottom') {
132
+ const triggerCenter = triggerRect.left + (triggerRect.width / 2);
133
+ const menuAbsoluteLeft = left + ancestorOffset.x;
134
+ const arrowX = Math.max(arrowPadding, Math.min(triggerCenter - menuAbsoluteLeft, actualMenuWidth - arrowPadding));
135
+ return { arrowX, arrowY: 0 };
136
+ }
137
+ const triggerCenter = triggerRect.top + (triggerRect.height / 2);
138
+ const menuAbsoluteTop = top + ancestorOffset.y;
139
+ const arrowY = Math.max(arrowPadding, Math.min(triggerCenter - menuAbsoluteTop, actualMenuHeight - arrowPadding));
140
+ return { arrowX: 0, arrowY };
141
+ }
142
+ /**
143
+ * Returns the viewport-relative offset of the nearest transformed ancestor.
144
+ */
145
+ function getTransformedAncestorOffset(element) {
146
+ const ancestor = getTransformedAncestor(element);
147
+ if (ancestor) {
148
+ const rect = ancestor.getBoundingClientRect();
149
+ return { x: rect.left, y: rect.top, el: ancestor };
150
+ }
151
+ return { x: 0, y: 0, el: null };
152
+ }
153
+ /**
154
+ * Calculates a robust, environment-proof position for floating elements (dropdowns, menus).
155
+ * It automatically handles:
156
+ * 1. Nested CSS transforms (containing blocks)
157
+ * 2. Viewport boundary detection (clamping)
158
+ * 3. Vertical space detection (flipping top/bottom)
159
+ * 4. Aligning to trigger element
160
+ */
161
+ /**
162
+ * Modern auto-update utility that tracks element positions and re-triggers placement logic.
163
+ */
164
+ function autoUpdate(reference, floating, update, options = {}) {
165
+ const { animationFrame = false } = options;
166
+ let frameId = null;
167
+ const handleUpdate = () => {
168
+ update();
169
+ if (animationFrame) {
170
+ frameId = requestAnimationFrame(handleUpdate);
171
+ }
172
+ };
173
+ if (animationFrame) {
174
+ frameId = requestAnimationFrame(handleUpdate);
175
+ }
176
+ else {
177
+ update(); // Initial update
178
+ }
179
+ globalThis.addEventListener('scroll', update, { capture: true, passive: true });
180
+ globalThis.addEventListener('resize', update, { passive: true });
181
+ const resizeObserver = new ResizeObserver(() => update());
182
+ resizeObserver.observe(reference);
183
+ resizeObserver.observe(floating);
184
+ const cleanup = () => {
185
+ if (frameId !== null)
186
+ cancelAnimationFrame(frameId);
187
+ globalThis.removeEventListener('scroll', update, { capture: true });
188
+ globalThis.removeEventListener('resize', update);
189
+ resizeObserver.disconnect();
190
+ };
191
+ return cleanup;
192
+ }
193
+ /**
194
+ * Calculates a robust, environment-proof position for floating elements (popovers, dropdowns, menus).
195
+ * Supports all 4 sides, alignment, and boundary detection.
196
+ */
197
+ function calculateUniversalPlacement(trigger, options) {
198
+ const { menuWidth, menuHeight, actualMenuWidth = menuWidth, actualMenuHeight = menuHeight, gap = 4, placement = 'auto', align = 'center', padding = 8, useTransformedAncestorOffset = true, flip = true, shift = true } = options;
199
+ if (!trigger) {
200
+ return { left: 0, top: 0, width: 0, availableWidth: 0, availableHeight: 0, placement: 'bottom', isClamped: false };
201
+ }
202
+ const triggerRect = trigger.getBoundingClientRect();
203
+ const screen = { width: globalThis.innerWidth, height: globalThis.innerHeight };
204
+ const ancestorOffset = useTransformedAncestorOffset
205
+ ? getTransformedAncestorOffset(trigger)
206
+ : { x: 0, y: 0};
207
+ const requestedPlacement = placement === 'auto' ? 'bottom' : placement;
208
+ let finalPlacement = requestedPlacement;
209
+ if (placement === 'auto' || flip) {
210
+ finalPlacement = resolvePlacement(requestedPlacement, {
211
+ below: screen.height - triggerRect.bottom - gap - padding,
212
+ above: triggerRect.top - gap - padding,
213
+ right: screen.width - triggerRect.right - gap - padding,
214
+ left: triggerRect.left - gap - padding,
215
+ }, menuWidth, menuHeight);
216
+ }
217
+ const baseCoords = getBasePlacementCoordinates(finalPlacement, triggerRect, { width: actualMenuWidth, height: actualMenuHeight }, screen, gap, padding);
218
+ const alignedCoords = applyCrossAxisAlignment(finalPlacement, align, triggerRect, { width: actualMenuWidth, height: actualMenuHeight }, baseCoords, screen, padding);
219
+ let { left, top, availableWidth, availableHeight } = alignedCoords;
220
+ left -= ancestorOffset.x;
221
+ top -= ancestorOffset.y;
222
+ const originalLeft = left;
223
+ const originalTop = top;
224
+ const minLeft = padding - ancestorOffset.x;
225
+ const maxLeft = screen.width - actualMenuWidth - padding - ancestorOffset.x;
226
+ const minTop = padding - ancestorOffset.y;
227
+ const maxTop = screen.height - actualMenuHeight - padding - ancestorOffset.y;
228
+ if (shift) {
229
+ if (finalPlacement === 'top' || finalPlacement === 'bottom') {
230
+ left = Math.max(minLeft, Math.min(left, maxLeft));
231
+ }
232
+ else {
233
+ top = Math.max(minTop, Math.min(top, maxTop));
234
+ }
235
+ }
236
+ const isClamped = left !== originalLeft || top !== originalTop;
237
+ const { arrowX, arrowY } = getArrowCoordinates(finalPlacement, triggerRect, top, left, ancestorOffset, actualMenuWidth, actualMenuHeight);
238
+ return {
239
+ left,
240
+ top,
241
+ width: menuWidth,
242
+ availableWidth,
243
+ availableHeight,
244
+ placement: finalPlacement,
245
+ isClamped,
246
+ arrowX,
247
+ arrowY
248
+ };
249
+ }
250
+ /**
251
+ * Corrects viewport-relative coordinates (e.g., from MouseEvent.clientX/Y)
252
+ * to work correctly when the target element is inside a transformed container.
253
+ */
254
+ function correctViewportCoordinates(x, y, element) {
255
+ const offset = getTransformedAncestorOffset(element);
256
+ return {
257
+ x: x - offset.x,
258
+ y: y - offset.y,
259
+ };
260
+ }
261
+
262
+ export { correctViewportCoordinates as a, autoUpdate as b, calculateUniversalPlacement as c, getTransformedAncestorOffset as g };