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{r as t,c as e,h as i}from"./p-DUsoYu9r.js";import{s as o}from"./p-D2WzX6vR.js";const r=class{constructor(i){t(this,i),this.valueChange=e(this,"valueChange"),this.runCode=e(this,"runCode")}value="";language="javascript";theme="vs-dark";readonly=!1;lineNumbers=!0;toolbar=!1;toolbarLabelDisplay="hover";toolbarGroups=["all"];tabs=[];valueChange;runCode;highlightedCode="";lineCount=1;statusStats={line:1,col:1,selected:0};showSearch=!1;searchQuery="";showPalette=!1;paletteQuery="";showHelp=!1;activeTabIndex=0;unfoldedLines=new Set;foldedLines=new Set;lintErrors=[];activeToolbarTab="home";fontSize=14;showLineNumbers=!0;showMinimap=!0;showSidebar=!0;showBottomPanel=!0;activeSidebarTab="files";activeBottomTab="terminal";activeFileIndex=0;files=[{name:"index.js",language:"javascript",content:"// Welcome to the IDE\n// Start coding here..."},{name:"styles.css",language:"css",content:"/* Add your styles here */\nbody {\n margin: 0;\n}"},{name:"index.html",language:"html",content:"<!DOCTYPE html>\n<html>\n<body>\n <h1>Hello</h1>\n</body>\n</html>"}];terminalLogs=[{type:"info",text:"IDE Terminal initialized.",time:(new Date).toLocaleTimeString()}];suggestions=[];suggestionIndex=0;showSuggestions=!1;suggestionPos={top:0,left:0};textarea;pre;lineNumbersRef;minimapRef;minimapViewport;searchInput;paletteInput;charWidth=8.4;lineHeight=21;keywords={javascript:["function","return","const","let","var","import","export","class","if","else","for","while","switch","case","break","continue","true","false","null","undefined","console","log","document","window","async","await","try","catch","throw","new","this","super","typeof","instanceof","void","delete","in","of"],python:["def","class","return","if","elif","else","for","while","try","except","finally","import","from","as","pass","break","continue","True","False","None","print","with","yield","lambda","global","nonlocal","raise","assert"],html:["div","span","h1","h2","h3","p","a","button","input","form","img","ul","li","script","style","head","body","html","meta","link","title","header","footer","nav","main","section","article","aside"],css:["color","background","border","margin","padding","width","height","display","flex","grid","font-size","position","top","left","right","bottom","opacity","z-index","transform","transition","animation","justify-content","align-items"],java:["public","private","protected","class","interface","extends","implements","void","int","double","String","boolean","if","else","for","while","return","new","this","super","try","catch","finally","throw","throws","package","import","static","final"],csharp:["public","private","protected","class","interface","void","int","string","bool","if","else","for","while","return","new","this","var","namespace","using","static","readonly","async","await"]};commands=[{id:"theme-toggle",label:"Toggle Theme (Dark/Light)",action:()=>this.toggleTheme()},{id:"minimap-toggle",label:"Toggle Minimap",action:()=>this.showMinimap=!this.showMinimap},{id:"line-nums-toggle",label:"Toggle Line Numbers",action:()=>this.showLineNumbers=!this.showLineNumbers},{id:"format",label:"Format Document (Simple Indent)",action:()=>this.simpleFormat()},{id:"clear",label:"Clear Code",action:()=>{this.value="",this.valueChange.emit("")}},{id:"copy",label:"Copy to Clipboard",action:()=>this.handleCopy()},{id:"fold-all",label:"Fold All",action:()=>this.foldAll()},{id:"unfold-all",label:"Unfold All",action:()=>this.unfoldAll()},{id:"undo",label:"Undo",action:()=>document.execCommand("undo")},{id:"redo",label:"Redo",action:()=>document.execCommand("redo")}];componentWillLoad(){this.highlightCode(),this.updateLineCount(),this.runLinting()}componentDidLoad(){this.measureChar(),this.tabs.length>0&&this.handleTabClick(0)}measureChar(){if(!this.pre)return;const t=document.createElement("span");t.textContent="M",t.style.visibility="hidden",this.pre.appendChild(t);const e=t.getBoundingClientRect();this.charWidth=e.width,this.lineHeight=e.height,this.pre.removeChild(t)}valueChanged(){this.highlightCode(),this.updateLineCount(),this.runLinting()}languageChanged(){this.highlightCode(),this.runLinting()}tabsChanged(){this.tabs.length>0&&this.activeTabIndex>=this.tabs.length&&this.handleTabClick(0)}searchQueryChanged(){this.highlightCode()}executeCode(){if("javascript"===this.language||"json"===this.language)try{const t=[],e={log:(...e)=>t.push({type:"info",text:e.map((t=>"object"==typeof t?JSON.stringify(t):String(t))).join(" ")}),error:(...e)=>t.push({type:"error",text:e.join(" ")}),warn:(...e)=>t.push({type:"warn",text:e.join(" ")})};return new Function("console",this.value)(e),t.length>0?t:[{type:"info",text:"(Success: No output)"}]}catch(t){return[{type:"error",text:`Runtime Error: ${t.message}`}]}return[{type:"info",text:`Simulation for ${this.language} complete. (Code execution restricted to JS)`}]}handleInput=t=>{this.value=t.target.value,this.valueChange.emit(this.value),this.checkSuggestions()};checkSuggestions(){if(!this.textarea)return;const{selectionStart:t,value:e}=this.textarea;let i=t-1;for(;i>=0&&/[\w]/.test(e[i]);)i--;const o=e.substring(i+1,t);if(o.length<1)return void(this.showSuggestions=!1);const r=(this.keywords[this.language]||[]).filter((t=>t.toLowerCase().startsWith(o.toLowerCase())&&t!==o));if(r.length>0){this.suggestions=r,this.suggestionIndex=0,this.showSuggestions=!0;const i=e.substring(0,t).split("\n");this.suggestionPos={top:i.length*this.lineHeight-this.textarea.scrollTop+5,left:i[i.length-1].length*this.charWidth-this.textarea.scrollLeft+10}}else this.showSuggestions=!1}acceptSuggestion(t){if(!this.textarea)return;const{selectionStart:e,value:i}=this.textarea;let o=e-1;for(;o>=0&&/[\w]/.test(i[o]);)o--;o++;const r=i.substring(0,o)+t+i.substring(e);this.value=r,this.valueChange.emit(r),this.showSuggestions=!1,requestAnimationFrame((()=>{this.textarea.selectionStart=this.textarea.selectionEnd=o+t.length,this.highlightCode(),this.textarea.focus()}))}handleScroll=()=>{if(this.textarea&&this.pre){const{scrollTop:t,scrollLeft:e}=this.textarea;if(this.pre.scrollTop=t,this.pre.scrollLeft=e,this.minimapRef&&(this.minimapRef.scrollTop=t/(this.textarea.scrollHeight-this.textarea.clientHeight)*(this.minimapRef.scrollHeight-this.minimapRef.clientHeight),this.minimapViewport)){const e=this.textarea.clientHeight/this.textarea.scrollHeight;this.minimapViewport.style.top=t/this.textarea.scrollHeight*100+"%",this.minimapViewport.style.height=100*e+"%"}}this.lineNumbersRef&&this.textarea&&(this.lineNumbersRef.scrollTop=this.textarea.scrollTop)};handleKeydown=t=>{const e=t.ctrlKey||t.metaKey;if(e&&t.shiftKey&&("p"===t.key||"P"===t.key))return t.preventDefault(),void this.togglePalette();if(e&&"f"===t.key)return t.preventDefault(),void this.toggleSearch();if(this.showSuggestions){if("ArrowDown"===t.key)return t.preventDefault(),void(this.suggestionIndex=(this.suggestionIndex+1)%this.suggestions.length);if("ArrowUp"===t.key)return t.preventDefault(),void(this.suggestionIndex=(this.suggestionIndex-1+this.suggestions.length)%this.suggestions.length);if("Enter"===t.key||"Tab"===t.key)return t.preventDefault(),void this.acceptSuggestion(this.suggestions[this.suggestionIndex]);if("Escape"===t.key)return void(this.showSuggestions=!1)}if("Tab"===t.key){t.preventDefault();const e=this.textarea.selectionStart,i=this.textarea.selectionEnd,o=" ";return this.value=this.value.substring(0,e)+o+this.value.substring(i),requestAnimationFrame((()=>{this.textarea.selectionStart=this.textarea.selectionEnd=e+o.length,this.highlightCode()})),void this.valueChange.emit(this.value)}const i=this.textarea.selectionStart,o=this.textarea.selectionEnd,r=this.value,a={"(":")","{":"}","[":"]",'"':'"',"'":"'"};if(a[t.key])return t.preventDefault(),this.value=r.substring(0,i)+t.key+a[t.key]+r.substring(o),requestAnimationFrame((()=>{this.textarea.selectionStart=this.textarea.selectionEnd=i+1,this.highlightCode()})),void this.valueChange.emit(this.value);if(["}","]",")",'"',"'"].includes(t.key)&&r[i]===t.key)return t.preventDefault(),void(this.textarea.selectionStart=this.textarea.selectionEnd=i+1);if("Enter"===t.key){t.preventDefault();const e=r.substring(0,i).split("\n").pop(),a=e.match(/^\s*/);let s=a?a[0]:"";return(e.trim().endsWith("{")||e.trim().endsWith(":"))&&(s+=" "),this.value=r.substring(0,i)+"\n"+s+r.substring(o),requestAnimationFrame((()=>{this.textarea.selectionStart=this.textarea.selectionEnd=i+1+s.length,this.highlightCode()})),void this.valueChange.emit(this.value)}if("Backspace"===t.key&&i===o&&i>0){const e=r[i-1],o=r[i];("{"===e&&"}"===o||"("===e&&")"===o||"["===e&&"]"===o||'"'===e&&'"'===o||"'"===e&&"'"===o)&&(t.preventDefault(),this.value=r.substring(0,i-1)+r.substring(i+1),requestAnimationFrame((()=>{this.textarea.selectionStart=this.textarea.selectionEnd=i-1,this.highlightCode()})),this.valueChange.emit(this.value))}};handleSelection=t=>{const e=t.target,i=e.value.substring(0,e.selectionStart).split("\n");this.statusStats={line:i.length,col:i[i.length-1].length+1,selected:e.selectionEnd-e.selectionStart}};handleMinimapClick=t=>{const e=t.currentTarget.getBoundingClientRect();this.textarea&&(this.textarea.scrollTop=(t.clientY-e.top)/e.height*this.textarea.scrollHeight-this.textarea.clientHeight/2)};handleCopy=()=>{navigator.clipboard.writeText(this.value)};handleTabClick(t){if(t<0||t>=this.tabs.length)return;this.activeTabIndex=t;const e=this.tabs[t];this.value=e.content,this.language=e.language,this.valueChange.emit(this.value)}toggleSearch=()=>{this.showSearch=!this.showSearch,this.showSearch?setTimeout((()=>this.searchInput?.focus()),50):this.searchQuery=""};findNext(){if(!this.searchQuery)return;const t=this.value;let e=t.indexOf(this.searchQuery,this.textarea.selectionEnd);-1===e&&(e=t.indexOf(this.searchQuery,0)),-1!==e&&this.selectAndScroll(e,e+this.searchQuery.length)}findPrev(){if(!this.searchQuery)return;const t=this.value;let e=t.lastIndexOf(this.searchQuery,this.textarea.selectionStart-1);-1===e&&(e=t.lastIndexOf(this.searchQuery)),-1!==e&&this.selectAndScroll(e,e+this.searchQuery.length)}selectAndScroll(t,e){this.textarea.focus(),this.textarea.selectionStart=t,this.textarea.selectionEnd=e,this.handleScroll()}togglePalette=()=>{this.showPalette=!this.showPalette,this.paletteQuery="",this.showPalette&&setTimeout((()=>this.paletteInput?.focus()),50)};runCommand(t){t.isSymbol?this.selectAndScroll(t.start,t.end):t.action(),this.showPalette=!1}getPaletteItems(){if(this.paletteQuery.startsWith("@"))return this.getSymbols(this.paletteQuery.substring(1));const t=this.paletteQuery.toLowerCase();return this.commands.filter((e=>e.label.toLowerCase().includes(t)))}getSymbols(t){const e=[],i=this.value.split("\n"),o=t.toLowerCase(),r={javascript:/function\s+([\w$]+)|const\s+([\w$]+)\s*=\s*\([^)]*\)\s*=>|class\s+([\w$]+)/g,python:/def\s+([\w]+)|class\s+([\w]+)/g,java:/(?:public|private|protected|static|\s) +[\w\<\>\[\]]+\s+([\w]+)\s*\([^)]*\)\s*\{|class\s+([\w]+)/g,csharp:/(?:public|private|protected|static|\s) +[\w\<\>\[\]]+\s+([\w]+)\s*\([^)]*\)\s*\{|class\s+([\w]+)/g}[this.language];if(!r)return[];let a=0;for(let t=0;t<i.length;t++){const s=i[t];let n;for(;null!==(n=r.exec(s));){const i=n[1]||n[2]||n[3];i&&i.toLowerCase().includes(o)&&e.push({id:`symbol-${t}`,label:`@${i}`,isSymbol:!0,start:a+n.index,end:a+n.index+n[0].length,line:t+1})}a+=s.length+1}return e}toggleTheme(){this.theme="vs-dark"===this.theme?"vs-light":"vs-dark"}toggleMinimap(){this.showMinimap=!this.showMinimap}handleSelectAll(){this.textarea&&this.textarea.select()}handleUndo(){document.execCommand("undo")}handleRedo(){document.execCommand("redo")}handleCommentSelection(){if(!this.textarea)return;const t=this.textarea.selectionStart,e=this.textarea.selectionEnd,i=this.value,o=i.substring(t,e);let r;if("javascript"===this.language||"python"===this.language||"java"===this.language||"csharp"===this.language){const t="python"===this.language?"# ":"// ";r=o.includes("\n")?o.split("\n").map((e=>e.startsWith(t)?e.substring(t.length):t+e)).join("\n"):o.startsWith(t)?o.substring(t.length):t+o}else"html"===this.language?r=o.startsWith("\x3c!--")?o.replace(/^<!--\s*([\s\S]*?)\s*-->$/,"$1"):`\x3c!-- ${o} --\x3e`:"css"===this.language&&(r=o.startsWith("/*")?o.replace(/^\/\*\s*([\s\S]*?)\s*\*\/$/,"$1"):`/* ${o} */`);void 0!==r&&(this.value=i.substring(0,t)+r+i.substring(e),this.valueChange.emit(this.value),requestAnimationFrame((()=>{this.textarea.selectionStart=t,this.textarea.selectionEnd=t+r.length,this.highlightCode()})))}simpleFormat(){if("json"===this.language){try{const t=JSON.parse(this.value);this.value=JSON.stringify(t,null,2),this.valueChange.emit(this.value)}catch(t){}return}const t=this.value.split("\n");let e=0;const i=[];for(let o=0;o<t.length;o++){let r=t[o].trim();""!==r?((r.match(/^[\}\]\)]/)||r.startsWith("</"))&&(e=Math.max(0,e-1)),i.push(" ".repeat(e)+r),(r.endsWith("{")||r.endsWith("[")||r.endsWith("(")||r.match(/<[^/].*>$/)&&!r.match(/\/>$/)&&!r.includes("</"))&&e++):i.push("")}this.value=i.join("\n"),this.valueChange.emit(this.value),this.terminalLogs=[...this.terminalLogs,{type:"info",text:"Document formatted successfully.",time:(new Date).toLocaleTimeString()}]}getLineGitStatus(t){return t%15==0?"added":t%25==0?"modified":"none"}runLinting(){const t=[],e=this.value.split("\n"),i=[];for(let o=0;o<e.length;o++){const r=e[o];for(let e=0;e<r.length;e++){const a=r[e];if(["{","[","("].includes(a))i.push({char:a,line:o+1});else if(["}","]",")"].includes(a)){const e=i.pop();e&&this.matches(e.char,a)||t.push({line:o+1,msg:`Unexpected '${a}'`})}}}i.length>0&&i.forEach((e=>{t.push({line:e.line,msg:`Unclosed '${e.char}'`})})),this.lintErrors=t}matches(t,e){return"{"===t&&"}"===e||"["===t&&"]"===e||"("===t&&")"===e}isLineFoldable(t,e){if(t>=e.length-1)return!1;const i=this.getIndentLevel(e[t]);return this.getIndentLevel(e[t+1])>i||e[t].trim().endsWith("{")||e[t].trim().endsWith(":")}getIndentLevel(t){const e=t.match(/^\s*/);return e?e[0].length:0}toggleFold(t){this.foldedLines.has(t)?this.foldedLines.delete(t):this.foldedLines.add(t),this.foldedLines=new Set(this.foldedLines)}foldAll(){const t=this.value.split("\n");for(let e=0;e<t.length;e++)this.isLineFoldable(e,t)&&this.foldedLines.add(e+1);this.foldedLines=new Set(this.foldedLines)}unfoldAll(){this.foldedLines.clear(),this.foldedLines=new Set(this.foldedLines)}updateLineCount(){const t=this.value?this.value.split("\n").length:1;this.lineCount=t}highlightCode(){if(!this.value)return void(this.highlightedCode="");let t=this.escapeHtml(this.value);switch(this.language){case"javascript":case"json":t=this.highlightJS(t);break;case"html":t=this.highlightHTML(t);break;case"css":t=this.highlightCSS(t);break;case"python":t=this.highlightPython(t);break;case"java":case"csharp":t=this.highlightJavaCSharp(t);break;case"ladder":t=this.highlightLadder(t)}this.value.endsWith("\n")&&(t+="<br>"),this.highlightedCode=t}escapeRegex(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}escapeHtml(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}highlightJS(t){return t.replace(/\/\/.*/g,'<span class="token comment">$&</span>').replace(/\/\*[\s\S]*?\*\//g,'<span class="token comment">$&</span>').replace(/('.*?')|(".*?")|(`[\s\S]*?`)/g,'<span class="token string">$&</span>').replace(/\b(const|let|var|function|return|if|else|for|while|import|export|class|this|new|true|false|null|undefined|async|await|try|catch|finally|throw|break|continue|default|case|switch|typeof|instanceof|void|delete|in|of|static|get|set|extends|super)\b/g,'<span class="token keyword">$&</span>').replace(/\b(\d+)\b/g,'<span class="token number">$&</span>').replace(/\b([A-Z][a-zA-Z0-9_]*)\b/g,'<span class="token class">$&</span>').replace(/(\w+)(?=\()/g,'<span class="token function">$&</span>')}highlightHTML(t){return t.replace(/(&lt;\/?)(\w+)(.*?)(&gt;)/g,((t,e,i,o,r)=>`<span class="token tag">${e}${i}</span>${o.replace(/(\w+)=("[^"]*")/g,'<span class="token attr-name">$1</span>=<span class="token string">$2</span>')}<span class="token tag">${r}</span>`)).replace(/&lt;!--[\s\S]*?--&gt;/g,'<span class="token comment">$&</span>')}highlightCSS(t){return t.replace(/\/\*[\s\S]*?\*\//g,'<span class="token comment">$&</span>').replace(/([a-zA-Z-]+)(?=:)/g,'<span class="token property">$1</span>').replace(/(:)([^;]+)(;)/g,((t,e,i,o)=>`${e}<span class="token number">${i}</span>${o}`)).replace(/(\.|#)([\w-]+)/g,'<span class="token selector">$1$2</span>')}highlightPython(t){return t.replace(/#.*/g,'<span class="token comment">$&</span>').replace(/("""[\s\S]*?""")|('''.*?''')/g,'<span class="token string">$&</span>').replace(/('.*?')|(".*?")/g,'<span class="token string">$&</span>').replace(/\b(def|class|if|elif|else|for|while|return|import|from|as|try|except|finally|with|pass|continue|break|True|False|None)\b/g,'<span class="token keyword">$&</span>').replace(/\b(\d+)\b/g,'<span class="token number">$&</span>').replace(/\b([A-Z][a-zA-Z0-9_]*)\b/g,'<span class="token class">$&</span>').replace(/@\w+/g,'<span class="token function">$&</span>')}highlightJavaCSharp(t){return t.replace(/\/\/.*/g,'<span class="token comment">$&</span>').replace(/('.*?')|(".*?")/g,'<span class="token string">$&</span>').replace(/\b(public|private|protected|static|final|class|interface|void|int|double|String|boolean|if|else|for|while|return|new|this|super|extends|implements|try|catch|finally|throw|throws|package|import|namespace|using|var)\b/g,'<span class="token keyword">$&</span>').replace(/\b(\d+)\b/g,'<span class="token number">$&</span>').replace(/\b([A-Z][a-zA-Z0-9_]*)\b/g,'<span class="token class">$&</span>').replace(/@\w+/g,'<span class="token function">$&</span>')}highlightLadder(t){return t.replace(/\(\*.*?\*\)/g,'<span class="token comment">$&</span>').replace(/\b(XIC|XIO|OTE|OTL|OTU|TON|TOF|RTO|CTU|CTD|MOV|COP|ADD|SUB|MUL|DIV|LIM|EQU|NEQ|LES|GRT|LEQ|GEQ|JMP|LBL)\b/g,'<span class="token keyword">$&</span>').replace(/\b(PROGRAM|END_PROGRAM|VAR|END_VAR|BOOL|INT|REAL|TIME|TON|IF|THEN|END_IF)\b/g,'<span class="token keyword">$&</span>').replace(/%[IQM][\d\.]+/g,'<span class="token number">$&</span>').replace(/\b([A-Z][a-zA-Z0-9_]*)\b/g,'<span class="token variable">$&</span>')}renderLineNumbers(){if(!this.showLineNumbers)return null;const t=this.value.split("\n");return i("div",{class:"line-numbers",ref:t=>this.lineNumbersRef=t},t.map(((e,o)=>{const r=o+1,a=this.lintErrors.find((t=>t.line===r)),s=this.isLineFoldable(o,t),n=this.foldedLines.has(r),l=this.getLineGitStatus(o);return i("div",{class:{"line-number":!0,[`git-${l}`]:"none"!==l},onClick:()=>s&&this.toggleFold(r),style:{color:a?"#ff4d4d":"inherit"},title:a?a.msg:""},r,s&&i("span",{class:"fold-icon"},i("ui-icon",{name:"chevron-"+(n?"right":"down"),library:"fontawesome",size:"10px"})))})))}renderPalette(){if(!this.showPalette)return null;const t=this.getPaletteItems();return i("div",{class:"editor-palette-overlay",onClick:this.togglePalette},i("div",{class:"editor-palette",onClick:t=>t.stopPropagation()},i("div",{class:"palette-input-wrapper"},i("ui-icon",{name:"terminal",library:"fontawesome"}),i("ui-input",{type:"text",placeholder:"Type a command or @ for symbols...",value:this.paletteQuery,onInputChange:t=>this.paletteQuery=t.detail,ref:t=>this.paletteInput=t,onInputKeydown:e=>{"Escape"===e.detail.key&&this.togglePalette(),"Enter"===e.detail.key&&t.length>0&&this.runCommand(t[0])},variant:"plain",size:"sm"})),i("div",{class:"palette-results"},t.length>0?t.map((t=>i("div",{class:"palette-item",onClick:()=>this.runCommand(t)},i("ui-icon",{name:t.isSymbol?"at":"play",library:"fontawesome",size:"14px"}),i("span",null,t.label),t.line&&i("span",{class:"palette-meta"},"Line ",t.line)))):i("div",{class:"palette-no-results"},"No results found"))))}renderSearch(){return this.showSearch?i("div",{class:"search-widget"},i("ui-input",{customClass:"search-input",ref:t=>this.searchInput=t,type:"text",placeholder:"Find",value:this.searchQuery,onInputChange:t=>this.searchQuery=t.detail,onInputKeydown:t=>{const e=t.detail;"Escape"===e.key&&(this.showSearch=!1),"Enter"===e.key&&(e.shiftKey?this.findPrev():this.findNext())},size:"sm",variant:"outlined"}),i("div",{class:"search-actions"},i("ui-button",{variant:"ghost",size:"sm",onClick:()=>this.findPrev(),ariaLabel:"Previous (Shift+Enter)",icon:"arrow-up",iconLibrary:"fontawesome",iconOnly:!0,iconSize:"14px"}),i("ui-button",{variant:"ghost",size:"sm",onClick:()=>this.findNext(),ariaLabel:"Next (Enter)",icon:"arrow-down",iconLibrary:"fontawesome",iconOnly:!0,iconSize:"14px"}),i("ui-button",{variant:"ghost",size:"sm",onClick:()=>this.showSearch=!1,ariaLabel:"Close search",icon:"times",iconLibrary:"fontawesome",iconOnly:!0,iconSize:"14px"}))):null}renderMinimap(){return this.showMinimap?i("div",{class:"minimap-container",onClick:this.handleMinimapClick},i("div",{class:"minimap-content",innerHTML:o(this.highlightedCode),ref:t=>this.minimapRef=t}),i("div",{class:"minimap-viewport",ref:t=>this.minimapViewport=t})):null}renderStatusBar(){return i("div",{class:"status-bar"},i("div",{class:"status-item"},i("ui-icon",{name:"code-branch",library:"fontawesome",size:"14px"})," main"),i("div",{class:"status-item"},i("ui-icon",{name:"exclamation-circle",library:"fontawesome",size:"14px"})," ",this.lintErrors.length," Errors"),i("div",{class:"status-item"},"Ln ",this.statusStats.line,", Col ",this.statusStats.col),i("div",{class:"status-item"},this.statusStats.selected>0?`(${this.statusStats.selected} selected)`:""),i("div",{class:"status-item"},"Spaces: 2"),i("div",{class:"status-item"},this.language.toUpperCase()),i("div",{class:"status-item",onClick:()=>this.toggleTheme(),style:{cursor:"pointer"}},i("ui-icon","vs-dark"===this.theme?{name:"moon",library:"fontawesome",size:"14px"}:{name:"sun",library:"fontawesome",size:"14px"})))}renderSuggestions(){return this.showSuggestions?i("ul",{class:"suggestion-list",style:{top:`${this.suggestionPos.top}px`,left:`${this.suggestionPos.left}px`}},this.suggestions.map(((t,e)=>i("li",{class:e===this.suggestionIndex?"active":"",onClick:()=>this.acceptSuggestion(t),onMouseDown:t=>t.preventDefault()},i("ui-icon",{name:"cube",library:"fontawesome",size:"14px",class:"icon"})," ",t)))):null}renderRibbonButton(t,e,o,r={}){const{lg:a=!1,color:s}=r,n="always"===this.toolbarLabelDisplay,l="hover"===this.toolbarLabelDisplay,c=i("ui-button",{slot:l?"target":void 0,onClick:o,style:s?{color:s}:{},ariaLabel:e,label:n?e:void 0,icon:t.replace(/^fa[sb]? fa-/,""),iconLibrary:"fontawesome",iconOnly:!n,size:a?"lg":"md",variant:"ghost"});return l?i("ui-tooltip",{content:e,position:"bottom"},c):c}isGroupVisible(t){return!(this.toolbarGroups&&!this.toolbarGroups.includes("all"))||this.toolbarGroups.includes(t)}renderToolbar(){return this.toolbar?i("div",{class:`editor-ribbon-container labels-${this.toolbarLabelDisplay}`},i("div",{class:"ribbon-tabs"},i("div",{class:"ribbon-tab "+("home"===this.activeToolbarTab?"active":""),onClick:()=>this.activeToolbarTab="home"},i("ui-tooltip",{content:"Home",position:"bottom"},i("ui-icon",{name:"home",library:"fontawesome",slot:"target",size:"16px"}))),i("div",{class:"ribbon-tab "+("edit"===this.activeToolbarTab?"active":""),onClick:()=>this.activeToolbarTab="edit"},i("ui-tooltip",{content:"Edit",position:"bottom"},i("ui-icon",{name:"edit",library:"fontawesome",slot:"target",size:"16px"}))),i("div",{class:"ribbon-tab "+("view"===this.activeToolbarTab?"active":""),onClick:()=>this.activeToolbarTab="view"},i("ui-tooltip",{content:"View",position:"bottom"},i("ui-icon",{name:"eye",library:"fontawesome",slot:"target",size:"16px"}))),i("div",{class:"ribbon-tab "+("run"===this.activeToolbarTab?"active":""),onClick:()=>this.activeToolbarTab="run"},i("ui-tooltip",{content:"Run",position:"bottom"},i("ui-icon",{name:"play",library:"fontawesome",slot:"target",size:"16px"})))),i("div",{class:"ribbon-content"},"home"===this.activeToolbarTab&&i("div",{class:"ribbon-panel"},this.isGroupVisible("history")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-undo","Undo",(()=>this.handleUndo()),{lg:!0}),this.renderRibbonButton("fas fa-redo","Redo",(()=>this.handleRedo()),{lg:!0})),i("div",{class:"ribbon-group-label"},"History")),this.isGroupVisible("history")&&this.isGroupVisible("clipboard")&&i("div",{class:"ribbon-group divider"}),this.isGroupVisible("clipboard")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-copy","Copy",(()=>this.handleCopy())),this.renderRibbonButton("fas fa-mouse-pointer","Select All",(()=>this.handleSelectAll()))),i("div",{class:"ribbon-group-label"},"Clipboard")),(this.isGroupVisible("history")||this.isGroupVisible("clipboard"))&&this.isGroupVisible("search")&&i("div",{class:"ribbon-group divider"}),this.isGroupVisible("search")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-search","Find",(()=>this.toggleSearch()),{lg:!0}),this.renderRibbonButton("fas fa-terminal","Palette",(()=>this.togglePalette()),{lg:!0})),i("div",{class:"ribbon-group-label"},"Search"))),"edit"===this.activeToolbarTab&&i("div",{class:"ribbon-panel"},this.isGroupVisible("document")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-code","Format",(()=>this.simpleFormat()),{lg:!0})),i("div",{class:"ribbon-group-label"},"Document")),this.isGroupVisible("document")&&this.isGroupVisible("folding")&&i("div",{class:"ribbon-group divider"}),this.isGroupVisible("folding")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-minus-square","Fold All",(()=>this.foldAll())),this.renderRibbonButton("fas fa-plus-square","Unfold All",(()=>this.unfoldAll()))),i("div",{class:"ribbon-group-label"},"Folding")),(this.isGroupVisible("document")||this.isGroupVisible("folding"))&&this.isGroupVisible("actions")&&i("div",{class:"ribbon-group divider"}),this.isGroupVisible("actions")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-comment-slash","Comment",(()=>this.handleCommentSelection()))),i("div",{class:"ribbon-group-label"},"Actions"))),"view"===this.activeToolbarTab&&i("div",{class:"ribbon-panel"},this.isGroupVisible("interface")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-map","Minimap",(()=>this.toggleMinimap()),{lg:!0,active:this.showMinimap}),this.renderRibbonButton("fas fa-list-ol","Line Numbers",(()=>this.showLineNumbers=!this.showLineNumbers),{lg:!0,active:this.showLineNumbers})),i("div",{class:"ribbon-group-label"},"Interface")),this.isGroupVisible("interface")&&this.isGroupVisible("theme")&&i("div",{class:"ribbon-group divider"}),this.isGroupVisible("theme")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("vs-dark"===this.theme?"fas fa-moon":"fas fa-sun","vs-dark"===this.theme?"Dark":"Light",(()=>this.toggleTheme()),{lg:!0})),i("div",{class:"ribbon-group-label"},"Theme")),(this.isGroupVisible("interface")||this.isGroupVisible("theme"))&&this.isGroupVisible("appearance")&&i("div",{class:"ribbon-group divider"}),this.isGroupVisible("appearance")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},i("div",{class:"ribbon-select-container"},i("select",{onChange:t=>this.fontSize=parseInt(t.target.value)},[10,12,14,16,18,20,24].map((t=>i("option",{value:t,selected:this.fontSize===t},t,"px")))),"always"===this.toolbarLabelDisplay&&i("span",null,"Font Size"))),i("div",{class:"ribbon-group-label"},"Appearance"))),"run"===this.activeToolbarTab&&i("div",{class:"ribbon-panel"},this.isGroupVisible("execution")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-play","Run Code",(()=>this.runCode.emit()),{lg:!0,color:"#4ade80"})),i("div",{class:"ribbon-group-label"},"Execution"))))):null}renderHelp(){return this.showHelp?i("div",{class:"help-modal-overlay",onClick:()=>this.showHelp=!1},i("div",{class:"help-modal",onClick:t=>t.stopPropagation()},i("div",{class:"help-header"},i("h3",null,"Editor Shortcuts & Help"),i("ui-button",{variant:"ghost",onClick:()=>this.showHelp=!1,ariaLabel:"Close help",icon:"times",iconLibrary:"fontawesome",iconOnly:!0})),i("div",{class:"help-content"},i("div",{class:"help-section"},i("h4",null,"Keyboard Shortcuts"),i("ul",null,i("li",null,i("kbd",null,"Ctrl")," + ",i("kbd",null,"F")," : Find / Search"),i("li",null,i("kbd",null,"Ctrl")," + ",i("kbd",null,"Shift")," + ",i("kbd",null,"P")," : Command Palette"),i("li",null,i("kbd",null,"Ctrl")," + ",i("kbd",null,"Space")," : Trigger Suggestions"),i("li",null,i("kbd",null,"Tab")," : Indent / Accept Suggestion"))),i("div",{class:"help-section"},i("h4",null,"Toolbar Features"),i("ul",null,i("li",null,i("ui-icon",{name:"play",library:"fontawesome",style:{color:"#4ade80"},size:"14px"})," ",i("strong",null,"Run"),": Execute code (demo mode)"),i("li",null,i("ui-icon",{name:"indent",library:"fontawesome",size:"14px"})," ",i("strong",null,"Format"),": Auto-indent code"),i("li",null,i("ui-icon",{name:"moon",library:"fontawesome",size:"14px"})," ",i("strong",null,"Theme"),": Toggle Dark/Light")))))):null}renderTabBar(){return this.tabs&&0!==this.tabs.length?i("div",{class:"editor-tabs"},this.tabs.map(((t,e)=>i("div",{class:"editor-tab "+(e===this.activeTabIndex?"active":""),onClick:()=>this.handleTabClick(e)},i("ui-icon",{class:"tab-icon",name:this.getIconForLang(t.language),library:"fontawesome"}),i("span",{class:"tab-title"},t.title))))):null}getIconForLang(t){switch(t){case"javascript":return"js-square";case"html":return"html5";case"css":return"css3";case"python":return"python";case"java":return"java";case"json":return"code";default:return"file-alt"}}renderSidebar(){return this.showSidebar?i("div",{class:{"editor-sidebar":!0,collapsed:!this.showSidebar}},i("div",{class:"sidebar-tabs"},i("div",{class:{"sidebar-tab":!0,active:"files"===this.activeSidebarTab},onClick:()=>this.activeSidebarTab="files"},i("ui-icon",{name:"copy",library:"fontawesome"}))),i("div",{class:"sidebar-content"},"files"===this.activeSidebarTab&&i("div",{class:"file-explorer"},i("div",{class:"sidebar-header"},"EXPLORER"),i("div",{class:"file-list"},this.files.map(((t,e)=>i("div",{class:{"file-item":!0,active:this.activeFileIndex===e},onClick:()=>this.switchFile(e)},i("ui-icon",{name:this.getFileIcon(t.name).split(" ").find((t=>t.startsWith("fa-"))).replace("fa-",""),library:"fontawesome",class:this.getFileIcon(t.name)}),i("span",null,t.name)))))))):null}handleTerminalKeyDown=t=>{if("Enter"===t.key){const e=t.target,i=e.value.trim().toLowerCase();if(!i)return;this.terminalLogs=[...this.terminalLogs,{type:"info",text:`$ ${e.value}`,time:(new Date).toLocaleTimeString()}],"clear"===i?this.terminalLogs=[]:"run"===i||"node index.js"===i?(this.terminalLogs=[...this.terminalLogs,{type:"info",text:"Executing program...",time:(new Date).toLocaleTimeString()}],setTimeout((()=>{const t=this.executeCode().map((t=>({...t,time:(new Date).toLocaleTimeString()})));this.terminalLogs=[...this.terminalLogs,...t],this.runCode.emit()}),500)):this.terminalLogs="help"===i?[...this.terminalLogs,{type:"info",text:"Available commands: run, clear, help, ls, whoami",time:(new Date).toLocaleTimeString()}]:[...this.terminalLogs,{type:"error",text:`Command not found: ${i}`,time:(new Date).toLocaleTimeString()}],e.value=""}};renderBreadcrumbs(){const t=this.files[this.activeFileIndex];return i("div",{class:"editor-breadcrumbs"},i("div",{class:"breadcrumb-item"},i("ui-icon",{name:"folder-open",library:"fontawesome",size:"12px"}),i("span",null,"project"),i("span",{class:"separator"},"/")),i("div",{class:"breadcrumb-item"},i("ui-icon",{name:this.getFileIcon(t.name).split(" ").find((t=>t.startsWith("fa-"))).replace("fa-",""),library:"fontawesome",class:this.getFileIcon(t.name),size:"12px"}),i("span",null,t.name)))}renderBottomPanel(){return this.showBottomPanel?i("div",{class:{"editor-bottom-panel":!0,collapsed:!this.showBottomPanel}},i("div",{class:"panel-header"},i("div",{class:"panel-tabs"},i("div",{class:{"panel-tab":!0,active:"terminal"===this.activeBottomTab},onClick:()=>this.activeBottomTab="terminal"},"TERMINAL"),i("div",{class:{"panel-tab":!0,active:"output"===this.activeBottomTab},onClick:()=>this.activeBottomTab="output"},"OUTPUT"),i("div",{class:{"panel-tab":!0,active:"problems"===this.activeBottomTab},onClick:()=>this.activeBottomTab="problems"},"PROBLEMS")),i("div",{class:"panel-controls"},i("ui-icon",{name:"times",library:"fontawesome",onClick:()=>this.showBottomPanel=!1,style:{cursor:"pointer"}}))),i("div",{class:"panel-content"},"terminal"===this.activeBottomTab&&i("div",{class:"terminal-content"},this.terminalLogs.map((t=>i("div",{class:`log-item ${t.type}`},i("span",{class:"log-time"},"[",t.time,"]"),i("span",{class:"log-text"},t.text)))),i("div",{class:"terminal-input-line"},i("span",{class:"terminal-prompt"},"$"),i("ui-input",{type:"text",customClass:"terminal-input",placeholder:"Type a command (run, clear, help)...",onInputKeydown:t=>this.handleTerminalKeyDown(t.detail),variant:"plain",size:"sm",fullWidth:!0}))),"output"===this.activeBottomTab&&i("div",{class:"output-preview",style:{display:"flex",alignItems:"center",justifyCenter:"center",height:"100%",background:"#f8fafc",color:"#64748b"}},i("div",{style:{textAlign:"center"}},i("ui-icon",{name:"eye-slash",library:"fontawesome",size:"32px",style:{opacity:.5,marginBottom:"12px"}}),i("p",{style:{fontSize:"14px",fontWeight:"500"}},"Live Preview Disabled (No Iframe)"))))):null}switchFile(t){this.activeFileIndex=t;const e=this.files[t];this.value=e.content,this.language=e.language,this.valueChange.emit(this.value)}getFileIcon(t){return t.endsWith(".js")?"fab fa-js-square text-warning":t.endsWith(".html")?"fab fa-html5 text-danger":t.endsWith(".css")?"fab fa-css3-alt text-primary":"fas fa-file-code"}render(){const t="vs-light"===this.theme?"theme-vs-light":"theme-vs-dark",e=this.value.split("\n");let r=-1,a=-1;for(let t=0;t<e.length;t++)if(-1!==r){if(!(this.getIndentLevel(e[t])<=a&&""!==e[t].trim()))continue;r=-1}else this.foldedLines.has(t+1)&&(r=t+1,a=this.getIndentLevel(e[t]));return i("div",{key:"321fc92d91bf5365394b866e7efef0bcce5f92e8",class:`code-editor-container ${t}`},this.renderTabBar(),this.renderToolbar(),this.renderPalette(),i("div",{key:"212c74c9fae6bddf8206698c2b7279acc328cdf6",class:"code-editor-layout"},this.renderSidebar(),i("div",{key:"6afeb17b34a66e4cdaf72d8582041913a58d13fc",class:"editor-main-panel"},this.renderBreadcrumbs(),i("div",{key:"7a3e97d74cc5b68250a4471a3e1b9fa858d22b98",class:"editor-main-content",style:{display:"flex",flex:"1",minHeight:"0",position:"relative"}},this.renderLineNumbers(),i("div",{key:"ce569b57f4c9b4365cd9f014d8aff2d1c8679b8b",class:"editor-wrapper"},this.renderSearch(),this.renderSuggestions(),i("ui-button",{key:"629168b1f60cc6a962af7d4f81e0078d5c13f2d4",variant:"ghost",class:"copy-button",onClick:this.handleCopy,ariaLabel:"Copy Code",icon:"copy",iconLibrary:"fontawesome",iconOnly:!0}),i("pre",{key:"d4fa13f823d5ba4ab80db9ab66286de099ba28cc",class:"syntax-highlighter",ref:t=>this.pre=t,innerHTML:o(this.highlightedCode)}),i("textarea",{key:"77d8ec6eb4aa8cea02da3ca30d1b5a992717d319",class:"editor-content",ref:t=>this.textarea=t,value:this.value,onInput:this.handleInput,onScroll:this.handleScroll,onKeyDown:this.handleKeydown,onSelect:this.handleSelection,onClick:this.handleSelection,onKeyUp:this.handleSelection,spellcheck:!1,readonly:this.readonly,role:"textbox","aria-multiline":"true","aria-label":"Code Editor"})),this.renderMinimap()),this.renderBottomPanel())),this.renderStatusBar(),this.renderHelp())}static get watchers(){return{value:[{valueChanged:0}],language:[{languageChanged:0}],tabs:[{tabsChanged:0}],searchQuery:[{searchQueryChanged:0}]}}};r.style='.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:flex;flex-direction:column;font-family:"Menlo", "Monaco", "Courier New", monospace;font-size:14px;line-height:1.5;position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--border-color, var(--border-subtle, #e2e8f0));background-color:var(--editor-bg);color:var(--editor-fg);--editor-bg:var(--bg-primary, #ffffff);--editor-fg:var(--text-primary, #1e293b);--line-num-bg:var(--bg-primary, #f8fafc);--line-num-fg:var(--color-primary, #94a3b8);--indent-guide:rgba(0, 0, 0, 0.05);--cursor-color:var(--text-primary, #000);--selection-bg:var(--color-primary, #b3d4fc);--status-bar-bg:var(--bg-secondary, #f1f5f9);--status-bar-fg:var(--color-primary, #64748b);--minimap-width:60px;--git-added:var(--color-success, #28a745);--git-modified:var(--color-danger, #ffc107)}:host(.theme-vs-dark){--editor-bg:var(--bg-primary, #1e1e1e);--editor-fg:var(--bg-secondary, #d4d4d4);--line-num-bg:var(--bg-primary, #1e1e1e);--line-num-fg:var(--text-muted, #858585);--cursor-color:var(--text-standard, #ffffff);--selection-bg:var(--color-primary, #264f78);--status-bar-bg:var(--color-primary, #007acc);--status-bar-fg:var(--bg-primary, #ffffff);border-color:var(--border-strong, #333)}.code-editor-container{display:flex;flex-direction:column;flex:1;position:relative;overflow:hidden;height:100%}.code-editor-layout{display:grid;grid-template-columns:auto 1fr auto;flex:1;min-height:0;position:relative;overflow:hidden;background-color:var(--editor-bg)}.sidebar-tabs{width:48px;flex-shrink:0;background-color:var(--status-bar-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:20px}.sidebar-tabs .sidebar-tab{font-size:20px;color:var(--status-bar-fg);cursor:pointer;width:100%;display:flex;justify-content:center;position:relative;padding:8px 0;opacity:0.6;transition:all 0.2s}.sidebar-tabs .sidebar-tab.active{opacity:1;color:var(--color-primary, #007acc);border-left:2px solid var(--color-primary, #007acc)}.sidebar-tabs .sidebar-tab:hover{opacity:1}.sidebar-content{flex:1;overflow-y:auto;padding:0}.sidebar-header{padding:10px 16px;font-size:11px;font-weight:600;color:var(--status-bar-fg);text-transform:uppercase;letter-spacing:0.5px}.file-list{padding:4px 0}.file-item{display:flex;align-items:center;padding:6px 16px;gap:8px;cursor:pointer;font-size:13px;color:var(--status-bar-fg);transition:background 0.2s}.file-item:hover{background-color:rgba(128, 128, 128, 0.1);color:var(--editor-fg)}.file-item.active{background-color:rgba(0, 122, 204, 0.1);color:var(--color-primary, #007acc);font-weight:500}.file-item i{width:16px;text-align:center}.file-item .text-warning{color:var(--color-warning, #f59e0b)}.file-item .text-danger{color:var(--color-danger, #ef4444)}.file-item .text-primary{color:var(--color-primary, #10b981)}.editor-main-panel{display:flex;flex-direction:column;min-width:0;flex:1}.editor-breadcrumbs{height:35px;background-color:var(--editor-bg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 16px;font-size:13px;color:var(--status-bar-fg);gap:10px;user-select:none}.editor-breadcrumbs .breadcrumb-item{display:flex;align-items:center;gap:6px;cursor:pointer}.editor-breadcrumbs .breadcrumb-item:hover{color:var(--editor-fg)}.editor-breadcrumbs .breadcrumb-item i{font-size:14px}.editor-breadcrumbs .breadcrumb-item .separator{opacity:0.5;margin:0 4px}.editor-bottom-panel{height:250px;background-color:var(--editor-bg);border-top:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden;transition:height 0.3s ease}.editor-bottom-panel.collapsed{height:0;border-top:none}.editor-bottom-panel .panel-header{height:35px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;border-bottom:1px solid var(--border-color);background-color:var(--status-bar-bg)}.editor-bottom-panel .panel-tabs{display:flex;gap:20px;height:100%}.editor-bottom-panel .panel-tabs .panel-tab{font-size:11px;font-weight:600;color:var(--status-bar-fg);height:100%;display:flex;align-items:center;cursor:pointer;border-bottom:2px solid transparent;opacity:0.7;transition:all 0.2s}.editor-bottom-panel .panel-tabs .panel-tab:hover{opacity:1}.editor-bottom-panel .panel-tabs .panel-tab.active{opacity:1;color:var(--color-primary, #007acc);border-bottom-color:var(--color-primary, #007acc)}.editor-bottom-panel .panel-controls i{font-size:12px;color:var(--status-bar-fg);cursor:pointer;opacity:0.6}.editor-bottom-panel .panel-controls i:hover{opacity:1;color:var(--color-danger, #ef4444)}.editor-bottom-panel .panel-content{flex:1;overflow-y:auto;padding:12px 16px;font-family:"Menlo", "Monaco", "Courier New", monospace;background-color:var(--editor-bg)}.editor-bottom-panel .terminal-content .log-item{margin-bottom:4px;font-size:12px;display:flex;gap:8px}.editor-bottom-panel .terminal-content .log-item .log-time{opacity:0.5}.editor-bottom-panel .terminal-content .log-item.info{color:var(--color-success, #10b981)}.editor-bottom-panel .terminal-content .log-item.error{color:var(--color-danger, #ef4444)}.editor-bottom-panel .terminal-content .log-item.warn{color:var(--color-warning, #f59e0b)}.editor-bottom-panel .terminal-content .terminal-input-line{display:flex;gap:8px;margin-top:8px;align-items:center}.editor-bottom-panel .terminal-content .terminal-input-line .terminal-prompt{color:var(--color-primary, #007acc);font-weight:bold}.editor-bottom-panel .terminal-content .terminal-input-line .terminal-input{background:transparent;border:none;color:var(--editor-fg);outline:none;flex:1;font-family:inherit;font-size:12px}.line-numbers{flex-shrink:0;padding:10px 0;text-align:right;background-color:var(--line-num-bg);color:var(--line-num-fg);border-right:1px solid rgba(128, 128, 128, 0.1);user-select:none;min-width:45px;overflow:hidden}.line-numbers .line-number{display:flex;padding:0 4px 0 8px;height:1.5em;white-space:nowrap;justify-content:space-between;cursor:pointer}.line-numbers .line-number .fold-icon{opacity:0;font-size:9px;margin-left:4px;display:flex;align-items:center;color:var(--line-num-fg)}.line-numbers .line-number.git-added{border-left:3px solid var(--git-added)}.line-numbers .line-number.git-modified{border-left:3px solid var(--git-modified)}.line-numbers .line-number:hover .fold-icon{opacity:1;color:var(--editor-fg)}.folded-placeholder{background-color:var(--status-bar-bg);color:var(--status-bar-fg);padding:0 4px;border-radius:2px;font-size:10px;cursor:pointer;user-select:none;margin-left:4px;display:inline-block;height:14px;line-height:14px}.editor-wrapper{flex-grow:1;position:relative;overflow:hidden}.editor-content,.syntax-highlighter{margin:0;padding:10px;border:none;box-sizing:border-box;font-family:inherit;font-size:inherit;line-height:inherit;tab-size:2;white-space:pre;word-wrap:normal;overflow-x:auto;overflow-y:auto;position:absolute;top:0;left:0;width:100%;height:100%}.editor-content{color:transparent;background:transparent;caret-color:var(--cursor-color);z-index:1;resize:none;outline:none;background-image:linear-gradient(to right, var(--indent-guide) 1px, transparent 1px);background-size:calc(var(--indent-size, 2) * 8.4px) 100%;background-repeat:repeat-x;background-attachment:local}.editor-content::selection{background:var(--selection-bg);color:transparent}.syntax-highlighter{z-index:0;pointer-events:none;color:var(--editor-fg)}.lint-error{text-decoration:underline wavy var(--color-danger, #ff4d4d);text-decoration-thickness:2px;position:relative}.minimap-container{width:var(--minimap-width);border-left:1px solid rgba(128, 128, 128, 0.1);background:var(--editor-bg);overflow:hidden;position:relative;user-select:none;flex-shrink:0;cursor:pointer}.minimap-content{transform-origin:top left;transform:scale(0.15);width:666%;pointer-events:none;padding:10px}.minimap-viewport{position:absolute;left:0;width:100%;background:rgba(100, 100, 100, 0.2);cursor:grab;transition:background 0.2s}.minimap-viewport:hover{background:rgba(100, 100, 100, 0.3)}.minimap-viewport:active{cursor:grabbing;background:rgba(100, 100, 100, 0.4)}.status-bar{display:flex;justify-content:flex-end;gap:16px;padding:4px 12px;background-color:var(--status-bar-bg);color:var(--status-bar-fg);font-size:11px;flex-shrink:0;user-select:none}.status-item{display:flex;align-items:center;gap:6px;cursor:default}.status-item i{font-size:10px}.command-palette-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.3);z-index:100;display:flex;justify-content:center;align-items:flex-start;padding-top:20px;backdrop-filter:blur(1px)}.command-palette{width:400px;max-width:90%;background:var(--editor-bg);border:1px solid var(--border-color, #454545);box-shadow:0 4px 12px rgba(0, 0, 0, 0.25);border-radius:6px;display:flex;flex-direction:column;overflow:hidden;animation:slideDown 0.15s ease-out}.command-palette input{width:100%;padding:10px;border:none;background:var(--status-bar-bg);color:var(--editor-fg);font-family:inherit;font-size:13px;outline:none;border-bottom:1px solid var(--border-color, rgba(128, 128, 128, 0.2))}.command-palette .command-list{max-height:250px;overflow-y:auto;margin:0;padding:0;list-style:none}.command-palette .command-item{padding:8px 12px;cursor:pointer;font-size:13px;display:flex;justify-content:space-between;color:var(--editor-fg);border-left:2px solid transparent;}.command-palette .command-item:hover,.command-palette .command-item.active{background-color:var(--selection-bg);border-left-color:var(--status-bar-bg)}.command-palette .command-item .shortcut{opacity:0.6;font-size:11px}@keyframes slideDown{from{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.token.comment{color:var(--color-success, #6a9955);font-style:italic}.token.string{color:var(--color-danger, #ce9178)}.token.number{color:var(--color-primary, #b5cea8)}.token.boolean{color:var(--color-primary, #569cd6)}.token.keyword{color:var(--color-primary, #c586c0);font-weight:bold}.token.function{color:var(--color-primary, #dcdcaa)}.token.operator{color:var(--bg-secondary, #d4d4d4)}.token.class{color:var(--color-primary, #4ec9b0)}.token.variable{color:var(--color-primary, #9cdcfe)}.token.tag{color:var(--color-primary, #569cd6)}.token.attr-name{color:var(--color-primary, #9cdcfe)}.token.property{color:var(--color-primary, #9cdcfe)}.token.selector{color:var(--color-primary, #d7ba7d)}:host(:not(.theme-vs-dark)) .token.string{color:var(--color-danger, #a31515)}:host(:not(.theme-vs-dark)) .token.keyword{color:var(--color-primary, #af00db)}:host(:not(.theme-vs-dark)) .token.function{color:var(--color-primary, #795e26)}:host(:not(.theme-vs-dark)) .token.number{color:var(--color-success, #098658)}:host(:not(.theme-vs-dark)) .token.comment{color:var(--color-success, #008000)}:host(:not(.theme-vs-dark)) .token.selector{color:var(--text-primary, #800000)}.copy-button{position:absolute;top:8px;right:20px;z-index:10;background:rgba(128, 128, 128, 0.2);border:none;color:var(--editor-fg);padding:4px 8px;border-radius:4px;cursor:pointer;opacity:0;transition:opacity 0.2s;font-size:12px}.copy-button:hover{background:rgba(128, 128, 128, 0.4)}:host(:hover) .copy-button{opacity:1}.search-widget{position:absolute;top:10px;right:40px;right:60px;z-index:50;display:flex;background:var(--editor-bg);border:1px solid var(--border-color, #ccc);box-shadow:0 4px 6px rgba(0, 0, 0, 0.1);border-radius:4px;padding:4px;align-items:center}.search-widget .search-input{border:none;outline:none;background:transparent;color:var(--editor-fg);padding:4px;font-size:13px;width:150px}.search-widget .search-actions{display:flex;gap:2px}.search-widget .search-actions button{background:transparent;border:none;color:var(--status-bar-fg);cursor:pointer;padding:4px;border-radius:2px}.search-widget .search-actions button:hover{background:var(--line-num-bg);color:var(--editor-fg)}.suggestion-list{position:absolute;z-index:100;background:var(--editor-bg);border:1px solid var(--border-color, #ccc);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);border-radius:4px;max-height:200px;overflow-y:auto;width:200px;margin:0;padding:0;list-style:none;font-size:13px;font-family:inherit}.suggestion-list li{padding:4px 8px;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--editor-fg)}.suggestion-list li.active,.suggestion-list li:hover{background:var(--selection-bg);color:var(--editor-fg)}.suggestion-list li .icon{opacity:0.7;font-size:11px}.editor-tabs{display:flex;background-color:var(--status-bar-bg);background-color:var(--bg-primary, #252526);overflow-x:auto;flex-shrink:0;}.editor-tabs::-webkit-scrollbar{height:4px}.editor-tabs::-webkit-scrollbar-thumb{background:rgba(128, 128, 128, 0.3)}:host(:not(.theme-vs-dark)) .editor-tabs{background-color:var(--bg-primary, #f3f3f3)}.editor-tab{display:flex;align-items:center;gap:8px;padding:8px 12px;color:var(--text-muted, #969696);background-color:transparent;cursor:pointer;border-right:1px solid rgba(0, 0, 0, 0.1);font-size:13px;white-space:nowrap;border-top:2px solid transparent;}.editor-tab:hover{background-color:rgba(128, 128, 128, 0.1);color:var(--editor-fg)}.editor-tab.active{background-color:var(--editor-bg);color:var(--editor-fg);border-top-color:var(--color-primary, #007acc);}.editor-tab .tab-icon{font-size:12px;opacity:0.8}.editor-tab{}.editor-ribbon-container{display:flex;flex-direction:column;background-color:var(--ribbon-bg, #f3f3f3);border-bottom:1px solid var(--border-color, #d1d1d1);flex-shrink:0;user-select:none;font-family:"Segoe UI", system-ui, -apple-system, sans-serif;--ribbon-bg:var(--bg-primary, #f3f3f3);--ribbon-tab-active:var(--bg-primary, #ffffff);--ribbon-tab-fg:var(--text-secondary, #333333);--ribbon-accent:var(--color-primary, #2b579a);}:host(.theme-vs-dark) .editor-ribbon-container{--ribbon-bg:var(--bg-secondary, #2d2d2d);--ribbon-tab-active:var(--text-secondary, #3c3c3c);--ribbon-tab-fg:var(--bg-secondary, #cccccc);--ribbon-accent:var(--color-primary, #007acc);border-bottom-color:var(--border-strong, #3e3e3e)}.ribbon-tabs{display:flex;padding:0 10px;background-color:var(--ribbon-accent);gap:2px}.ribbon-tab{padding:4px 12px;cursor:pointer;opacity:0.7;transition:all 0.2s;border-bottom:2px solid transparent;font-size:11px;font-weight:500;display:flex;align-items:center;gap:6px;min-width:60px;justify-content:center}.ribbon-tab ui-tooltip{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.ribbon-tab i{font-size:14px}.ribbon-tab:hover{background-color:rgba(255, 255, 255, 0.15);opacity:1}.ribbon-tab:hover i{transform:scale(1.1)}.ribbon-tab.active{background-color:var(--ribbon-bg);color:var(--ribbon-tab-fg);font-weight:600;border-bottom:none;border-radius:4px 4px 0 0;margin-top:4px;padding-top:4px;opacity:1}.ribbon-tab.active i{opacity:1}.ribbon-content{background:var(--editor-bg);border-bottom:1px solid var(--border-color);min-height:0;padding:4px;display:flex;gap:8px;overflow-x:auto}.labels-hover .ribbon-content,.labels-hidden .ribbon-content{min-height:48px}.ribbon-panel{display:flex;gap:12px;height:100%;align-items:stretch}.ribbon-group{display:flex;flex-direction:column;gap:2px;padding-right:12px;border-right:1px solid var(--border-color);height:100%;justify-content:space-between}.ribbon-group:last-child{border-right:none}.ribbon-group.divider{padding:0;width:1px;background:linear-gradient(to bottom, transparent 10%, var(--border-color, #d1d1d1) 20%, var(--border-color, #d1d1d1) 80%, transparent 90%);margin:2px 4px}.ribbon-group-content{display:flex;gap:4px;align-items:center;flex:1}.ribbon-group-label{font-size:9px;color:var(--status-bar-fg);text-align:center;text-transform:uppercase;letter-spacing:0.5px;opacity:0.7}.labels-hidden .ribbon-group-label{display:none}.ribbon-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 8px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--editor-fg);cursor:pointer;transition:all 0.2s;min-width:32px;font-size:11px}.ribbon-btn i{font-size:16px}.ribbon-btn:hover{background:rgba(144, 144, 144, 0.1);border-color:var(--border-color)}.ribbon-btn.active{background:rgba(0, 122, 204, 0.1);border-color:var(--color-primary, #007acc);color:var(--color-primary, #007acc)}.ribbon-btn.lg{padding:4px 12px;gap:4px;min-width:48px}.ribbon-btn.lg i{font-size:20px}.ribbon-btn.icon-only{padding:4px;min-width:28px;height:28px}.ribbon-btn.icon-only span{display:none}.ribbon-btn.icon-only i{font-size:16px}.ribbon-select-container{display:flex;flex-direction:column;gap:2px;align-items:center}.ribbon-select-container select{padding:2px 4px;font-size:11px;border:1px solid var(--border-color, #ccc);border-radius:3px;background:var(--editor-bg);color:var(--editor-fg);outline:none}.ribbon-select-container span{font-size:10px;opacity:0.7}.help-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.5);z-index:200;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(2px)}.help-modal{background:var(--editor-bg);color:var(--editor-fg);width:400px;max-width:90%;border-radius:8px;border:1px solid var(--border-color, #454545);box-shadow:0 10px 25px rgba(0, 0, 0, 0.5);display:flex;flex-direction:column;overflow:hidden;animation:fadeIn 0.2s ease-out}.help-modal .help-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--status-bar-bg);color:var(--status-bar-fg);border-bottom:1px solid rgba(128, 128, 128, 0.2)}.help-modal .help-header h3{margin:0;font-size:14px;font-weight:600}.help-modal .help-header .close-btn{background:transparent;border:none;color:inherit;cursor:pointer;font-size:14px;padding:4px}.help-modal .help-header .close-btn:hover{opacity:0.8}.help-modal .help-content{padding:16px;display:flex;flex-direction:column;gap:16px}.help-modal .help-section h4{margin:0 0 8px 0;font-size:12px;text-transform:uppercase;letter-spacing:0.5px;opacity:0.7;border-bottom:1px solid rgba(128, 128, 128, 0.2);padding-bottom:4px}.help-modal .help-section ul{list-style:none;padding:0;margin:0;font-size:13px}.help-modal .help-section ul li{margin-bottom:6px;display:flex;align-items:center;gap:8px}.help-modal kbd{background:rgba(128, 128, 128, 0.2);padding:2px 4px;border-radius:3px;font-family:inherit;font-size:11px;border:1px solid rgba(128, 128, 128, 0.3)}@keyframes fadeIn{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}';export{r as ui_code_editor}
1
+ import{r as t,c as e,h as i}from"./p-Dqu2zaH1.js";import{s as o}from"./p-Dyu3Nplq.js";const r=class{constructor(i){t(this,i),this.valueChange=e(this,"valueChange"),this.runCode=e(this,"runCode")}value="";language="javascript";theme="vs-dark";readonly=!1;lineNumbers=!0;toolbar=!1;toolbarLabelDisplay="hover";toolbarGroups=["all"];tabs=[];valueChange;runCode;highlightedCode="";lineCount=1;statusStats={line:1,col:1,selected:0};showSearch=!1;searchQuery="";showPalette=!1;paletteQuery="";showHelp=!1;activeTabIndex=0;unfoldedLines=new Set;foldedLines=new Set;lintErrors=[];activeToolbarTab="home";fontSize=14;showLineNumbers=!0;showMinimap=!0;showSidebar=!0;showBottomPanel=!0;activeSidebarTab="files";activeBottomTab="terminal";activeFileIndex=0;files=[{name:"index.js",language:"javascript",content:"// Welcome to the IDE\n// Start coding here..."},{name:"styles.css",language:"css",content:"/* Add your styles here */\nbody {\n margin: 0;\n}"},{name:"index.html",language:"html",content:"<!DOCTYPE html>\n<html>\n<body>\n <h1>Hello</h1>\n</body>\n</html>"}];terminalLogs=[{type:"info",text:"IDE Terminal initialized.",time:(new Date).toLocaleTimeString()}];suggestions=[];suggestionIndex=0;showSuggestions=!1;suggestionPos={top:0,left:0};textarea;pre;lineNumbersRef;minimapRef;minimapViewport;searchInput;paletteInput;charWidth=8.4;lineHeight=21;keywords={javascript:["function","return","const","let","var","import","export","class","if","else","for","while","switch","case","break","continue","true","false","null","undefined","console","log","document","window","async","await","try","catch","throw","new","this","super","typeof","instanceof","void","delete","in","of"],python:["def","class","return","if","elif","else","for","while","try","except","finally","import","from","as","pass","break","continue","True","False","None","print","with","yield","lambda","global","nonlocal","raise","assert"],html:["div","span","h1","h2","h3","p","a","button","input","form","img","ul","li","script","style","head","body","html","meta","link","title","header","footer","nav","main","section","article","aside"],css:["color","background","border","margin","padding","width","height","display","flex","grid","font-size","position","top","left","right","bottom","opacity","z-index","transform","transition","animation","justify-content","align-items"],java:["public","private","protected","class","interface","extends","implements","void","int","double","String","boolean","if","else","for","while","return","new","this","super","try","catch","finally","throw","throws","package","import","static","final"],csharp:["public","private","protected","class","interface","void","int","string","bool","if","else","for","while","return","new","this","var","namespace","using","static","readonly","async","await"]};commands=[{id:"theme-toggle",label:"Toggle Theme (Dark/Light)",action:()=>this.toggleTheme()},{id:"minimap-toggle",label:"Toggle Minimap",action:()=>this.showMinimap=!this.showMinimap},{id:"line-nums-toggle",label:"Toggle Line Numbers",action:()=>this.showLineNumbers=!this.showLineNumbers},{id:"format",label:"Format Document (Simple Indent)",action:()=>this.simpleFormat()},{id:"clear",label:"Clear Code",action:()=>{this.value="",this.valueChange.emit("")}},{id:"copy",label:"Copy to Clipboard",action:()=>this.handleCopy()},{id:"fold-all",label:"Fold All",action:()=>this.foldAll()},{id:"unfold-all",label:"Unfold All",action:()=>this.unfoldAll()},{id:"undo",label:"Undo",action:()=>document.execCommand("undo")},{id:"redo",label:"Redo",action:()=>document.execCommand("redo")}];componentWillLoad(){this.highlightCode(),this.updateLineCount(),this.runLinting()}componentDidLoad(){this.measureChar(),this.tabs.length>0&&this.handleTabClick(0)}measureChar(){if(!this.pre)return;const t=document.createElement("span");t.textContent="M",t.style.visibility="hidden",this.pre.appendChild(t);const e=t.getBoundingClientRect();this.charWidth=e.width,this.lineHeight=e.height,this.pre.removeChild(t)}valueChanged(){this.highlightCode(),this.updateLineCount(),this.runLinting()}languageChanged(){this.highlightCode(),this.runLinting()}tabsChanged(){this.tabs.length>0&&this.activeTabIndex>=this.tabs.length&&this.handleTabClick(0)}searchQueryChanged(){this.highlightCode()}executeCode(){if("javascript"===this.language||"json"===this.language)try{const t=[],e={log:(...e)=>t.push({type:"info",text:e.map((t=>"object"==typeof t?JSON.stringify(t):String(t))).join(" ")}),error:(...e)=>t.push({type:"error",text:e.join(" ")}),warn:(...e)=>t.push({type:"warn",text:e.join(" ")})};return new Function("console",this.value)(e),t.length>0?t:[{type:"info",text:"(Success: No output)"}]}catch(t){return[{type:"error",text:`Runtime Error: ${t.message}`}]}return[{type:"info",text:`Simulation for ${this.language} complete. (Code execution restricted to JS)`}]}handleInput=t=>{this.value=t.target.value,this.valueChange.emit(this.value),this.checkSuggestions()};checkSuggestions(){if(!this.textarea)return;const{selectionStart:t,value:e}=this.textarea;let i=t-1;for(;i>=0&&/[\w]/.test(e[i]);)i--;const o=e.substring(i+1,t);if(o.length<1)return void(this.showSuggestions=!1);const r=(this.keywords[this.language]||[]).filter((t=>t.toLowerCase().startsWith(o.toLowerCase())&&t!==o));if(r.length>0){this.suggestions=r,this.suggestionIndex=0,this.showSuggestions=!0;const i=e.substring(0,t).split("\n");this.suggestionPos={top:i.length*this.lineHeight-this.textarea.scrollTop+5,left:i[i.length-1].length*this.charWidth-this.textarea.scrollLeft+10}}else this.showSuggestions=!1}acceptSuggestion(t){if(!this.textarea)return;const{selectionStart:e,value:i}=this.textarea;let o=e-1;for(;o>=0&&/[\w]/.test(i[o]);)o--;o++;const r=i.substring(0,o)+t+i.substring(e);this.value=r,this.valueChange.emit(r),this.showSuggestions=!1,requestAnimationFrame((()=>{this.textarea.selectionStart=this.textarea.selectionEnd=o+t.length,this.highlightCode(),this.textarea.focus()}))}handleScroll=()=>{if(this.textarea&&this.pre){const{scrollTop:t,scrollLeft:e}=this.textarea;if(this.pre.scrollTop=t,this.pre.scrollLeft=e,this.minimapRef&&(this.minimapRef.scrollTop=t/(this.textarea.scrollHeight-this.textarea.clientHeight)*(this.minimapRef.scrollHeight-this.minimapRef.clientHeight),this.minimapViewport)){const e=this.textarea.clientHeight/this.textarea.scrollHeight;this.minimapViewport.style.top=t/this.textarea.scrollHeight*100+"%",this.minimapViewport.style.height=100*e+"%"}}this.lineNumbersRef&&this.textarea&&(this.lineNumbersRef.scrollTop=this.textarea.scrollTop)};handleKeydown=t=>{const e=t.ctrlKey||t.metaKey;if(e&&t.shiftKey&&("p"===t.key||"P"===t.key))return t.preventDefault(),void this.togglePalette();if(e&&"f"===t.key)return t.preventDefault(),void this.toggleSearch();if(this.showSuggestions){if("ArrowDown"===t.key)return t.preventDefault(),void(this.suggestionIndex=(this.suggestionIndex+1)%this.suggestions.length);if("ArrowUp"===t.key)return t.preventDefault(),void(this.suggestionIndex=(this.suggestionIndex-1+this.suggestions.length)%this.suggestions.length);if("Enter"===t.key||"Tab"===t.key)return t.preventDefault(),void this.acceptSuggestion(this.suggestions[this.suggestionIndex]);if("Escape"===t.key)return void(this.showSuggestions=!1)}if("Tab"===t.key){t.preventDefault();const e=this.textarea.selectionStart,i=this.textarea.selectionEnd,o=" ";return this.value=this.value.substring(0,e)+o+this.value.substring(i),requestAnimationFrame((()=>{this.textarea.selectionStart=this.textarea.selectionEnd=e+o.length,this.highlightCode()})),void this.valueChange.emit(this.value)}const i=this.textarea.selectionStart,o=this.textarea.selectionEnd,r=this.value,a={"(":")","{":"}","[":"]",'"':'"',"'":"'"};if(a[t.key])return t.preventDefault(),this.value=r.substring(0,i)+t.key+a[t.key]+r.substring(o),requestAnimationFrame((()=>{this.textarea.selectionStart=this.textarea.selectionEnd=i+1,this.highlightCode()})),void this.valueChange.emit(this.value);if(["}","]",")",'"',"'"].includes(t.key)&&r[i]===t.key)return t.preventDefault(),void(this.textarea.selectionStart=this.textarea.selectionEnd=i+1);if("Enter"===t.key){t.preventDefault();const e=r.substring(0,i).split("\n").pop(),a=e.match(/^\s*/);let s=a?a[0]:"";return(e.trim().endsWith("{")||e.trim().endsWith(":"))&&(s+=" "),this.value=r.substring(0,i)+"\n"+s+r.substring(o),requestAnimationFrame((()=>{this.textarea.selectionStart=this.textarea.selectionEnd=i+1+s.length,this.highlightCode()})),void this.valueChange.emit(this.value)}if("Backspace"===t.key&&i===o&&i>0){const e=r[i-1],o=r[i];("{"===e&&"}"===o||"("===e&&")"===o||"["===e&&"]"===o||'"'===e&&'"'===o||"'"===e&&"'"===o)&&(t.preventDefault(),this.value=r.substring(0,i-1)+r.substring(i+1),requestAnimationFrame((()=>{this.textarea.selectionStart=this.textarea.selectionEnd=i-1,this.highlightCode()})),this.valueChange.emit(this.value))}};handleSelection=t=>{const e=t.target,i=e.value.substring(0,e.selectionStart).split("\n");this.statusStats={line:i.length,col:i[i.length-1].length+1,selected:e.selectionEnd-e.selectionStart}};handleMinimapClick=t=>{const e=t.currentTarget.getBoundingClientRect();this.textarea&&(this.textarea.scrollTop=(t.clientY-e.top)/e.height*this.textarea.scrollHeight-this.textarea.clientHeight/2)};handleCopy=()=>{navigator.clipboard.writeText(this.value)};handleTabClick(t){if(t<0||t>=this.tabs.length)return;this.activeTabIndex=t;const e=this.tabs[t];this.value=e.content,this.language=e.language,this.valueChange.emit(this.value)}toggleSearch=()=>{this.showSearch=!this.showSearch,this.showSearch?setTimeout((()=>this.searchInput?.focus()),50):this.searchQuery=""};findNext(){if(!this.searchQuery)return;const t=this.value;let e=t.indexOf(this.searchQuery,this.textarea.selectionEnd);-1===e&&(e=t.indexOf(this.searchQuery,0)),-1!==e&&this.selectAndScroll(e,e+this.searchQuery.length)}findPrev(){if(!this.searchQuery)return;const t=this.value;let e=t.lastIndexOf(this.searchQuery,this.textarea.selectionStart-1);-1===e&&(e=t.lastIndexOf(this.searchQuery)),-1!==e&&this.selectAndScroll(e,e+this.searchQuery.length)}selectAndScroll(t,e){this.textarea.focus(),this.textarea.selectionStart=t,this.textarea.selectionEnd=e,this.handleScroll()}togglePalette=()=>{this.showPalette=!this.showPalette,this.paletteQuery="",this.showPalette&&setTimeout((()=>this.paletteInput?.focus()),50)};runCommand(t){t.isSymbol?this.selectAndScroll(t.start,t.end):t.action(),this.showPalette=!1}getPaletteItems(){if(this.paletteQuery.startsWith("@"))return this.getSymbols(this.paletteQuery.substring(1));const t=this.paletteQuery.toLowerCase();return this.commands.filter((e=>e.label.toLowerCase().includes(t)))}getSymbols(t){const e=[],i=this.value.split("\n"),o=t.toLowerCase(),r={javascript:/function\s+([\w$]+)|const\s+([\w$]+)\s*=\s*\([^)]*\)\s*=>|class\s+([\w$]+)/g,python:/def\s+([\w]+)|class\s+([\w]+)/g,java:/(?:public|private|protected|static|\s) +[\w\<\>\[\]]+\s+([\w]+)\s*\([^)]*\)\s*\{|class\s+([\w]+)/g,csharp:/(?:public|private|protected|static|\s) +[\w\<\>\[\]]+\s+([\w]+)\s*\([^)]*\)\s*\{|class\s+([\w]+)/g}[this.language];if(!r)return[];let a=0;for(let t=0;t<i.length;t++){const s=i[t];let n;for(;null!==(n=r.exec(s));){const i=n[1]||n[2]||n[3];i&&i.toLowerCase().includes(o)&&e.push({id:`symbol-${t}`,label:`@${i}`,isSymbol:!0,start:a+n.index,end:a+n.index+n[0].length,line:t+1})}a+=s.length+1}return e}toggleTheme(){this.theme="vs-dark"===this.theme?"vs-light":"vs-dark"}toggleMinimap(){this.showMinimap=!this.showMinimap}handleSelectAll(){this.textarea&&this.textarea.select()}handleUndo(){document.execCommand("undo")}handleRedo(){document.execCommand("redo")}handleCommentSelection(){if(!this.textarea)return;const t=this.textarea.selectionStart,e=this.textarea.selectionEnd,i=this.value,o=i.substring(t,e);let r;if("javascript"===this.language||"python"===this.language||"java"===this.language||"csharp"===this.language){const t="python"===this.language?"# ":"// ";r=o.includes("\n")?o.split("\n").map((e=>e.startsWith(t)?e.substring(t.length):t+e)).join("\n"):o.startsWith(t)?o.substring(t.length):t+o}else"html"===this.language?r=o.startsWith("\x3c!--")?o.replace(/^<!--\s*([\s\S]*?)\s*-->$/,"$1"):`\x3c!-- ${o} --\x3e`:"css"===this.language&&(r=o.startsWith("/*")?o.replace(/^\/\*\s*([\s\S]*?)\s*\*\/$/,"$1"):`/* ${o} */`);void 0!==r&&(this.value=i.substring(0,t)+r+i.substring(e),this.valueChange.emit(this.value),requestAnimationFrame((()=>{this.textarea.selectionStart=t,this.textarea.selectionEnd=t+r.length,this.highlightCode()})))}simpleFormat(){if("json"===this.language){try{const t=JSON.parse(this.value);this.value=JSON.stringify(t,null,2),this.valueChange.emit(this.value)}catch(t){}return}const t=this.value.split("\n");let e=0;const i=[];for(let o=0;o<t.length;o++){let r=t[o].trim();""!==r?((r.match(/^[\}\]\)]/)||r.startsWith("</"))&&(e=Math.max(0,e-1)),i.push(" ".repeat(e)+r),(r.endsWith("{")||r.endsWith("[")||r.endsWith("(")||r.match(/<[^/].*>$/)&&!r.match(/\/>$/)&&!r.includes("</"))&&e++):i.push("")}this.value=i.join("\n"),this.valueChange.emit(this.value),this.terminalLogs=[...this.terminalLogs,{type:"info",text:"Document formatted successfully.",time:(new Date).toLocaleTimeString()}]}getLineGitStatus(t){return t%15==0?"added":t%25==0?"modified":"none"}runLinting(){const t=[],e=this.value.split("\n"),i=[];for(let o=0;o<e.length;o++){const r=e[o];for(let e=0;e<r.length;e++){const a=r[e];if(["{","[","("].includes(a))i.push({char:a,line:o+1});else if(["}","]",")"].includes(a)){const e=i.pop();e&&this.matches(e.char,a)||t.push({line:o+1,msg:`Unexpected '${a}'`})}}}i.length>0&&i.forEach((e=>{t.push({line:e.line,msg:`Unclosed '${e.char}'`})})),this.lintErrors=t}matches(t,e){return"{"===t&&"}"===e||"["===t&&"]"===e||"("===t&&")"===e}isLineFoldable(t,e){if(t>=e.length-1)return!1;const i=this.getIndentLevel(e[t]);return this.getIndentLevel(e[t+1])>i||e[t].trim().endsWith("{")||e[t].trim().endsWith(":")}getIndentLevel(t){const e=t.match(/^\s*/);return e?e[0].length:0}toggleFold(t){this.foldedLines.has(t)?this.foldedLines.delete(t):this.foldedLines.add(t),this.foldedLines=new Set(this.foldedLines)}foldAll(){const t=this.value.split("\n");for(let e=0;e<t.length;e++)this.isLineFoldable(e,t)&&this.foldedLines.add(e+1);this.foldedLines=new Set(this.foldedLines)}unfoldAll(){this.foldedLines.clear(),this.foldedLines=new Set(this.foldedLines)}updateLineCount(){const t=this.value?this.value.split("\n").length:1;this.lineCount=t}highlightCode(){if(!this.value)return void(this.highlightedCode="");let t=this.escapeHtml(this.value);switch(this.language){case"javascript":case"json":t=this.highlightJS(t);break;case"html":t=this.highlightHTML(t);break;case"css":t=this.highlightCSS(t);break;case"python":t=this.highlightPython(t);break;case"java":case"csharp":t=this.highlightJavaCSharp(t);break;case"ladder":t=this.highlightLadder(t)}this.value.endsWith("\n")&&(t+="<br>"),this.highlightedCode=t}escapeRegex(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}escapeHtml(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}highlightJS(t){return t.replace(/\/\/.*/g,'<span class="token comment">$&</span>').replace(/\/\*[\s\S]*?\*\//g,'<span class="token comment">$&</span>').replace(/('.*?')|(".*?")|(`[\s\S]*?`)/g,'<span class="token string">$&</span>').replace(/\b(const|let|var|function|return|if|else|for|while|import|export|class|this|new|true|false|null|undefined|async|await|try|catch|finally|throw|break|continue|default|case|switch|typeof|instanceof|void|delete|in|of|static|get|set|extends|super)\b/g,'<span class="token keyword">$&</span>').replace(/\b(\d+)\b/g,'<span class="token number">$&</span>').replace(/\b([A-Z][a-zA-Z0-9_]*)\b/g,'<span class="token class">$&</span>').replace(/(\w+)(?=\()/g,'<span class="token function">$&</span>')}highlightHTML(t){return t.replace(/(&lt;\/?)(\w+)(.*?)(&gt;)/g,((t,e,i,o,r)=>`<span class="token tag">${e}${i}</span>${o.replace(/(\w+)=("[^"]*")/g,'<span class="token attr-name">$1</span>=<span class="token string">$2</span>')}<span class="token tag">${r}</span>`)).replace(/&lt;!--[\s\S]*?--&gt;/g,'<span class="token comment">$&</span>')}highlightCSS(t){return t.replace(/\/\*[\s\S]*?\*\//g,'<span class="token comment">$&</span>').replace(/([a-zA-Z-]+)(?=:)/g,'<span class="token property">$1</span>').replace(/(:)([^;]+)(;)/g,((t,e,i,o)=>`${e}<span class="token number">${i}</span>${o}`)).replace(/(\.|#)([\w-]+)/g,'<span class="token selector">$1$2</span>')}highlightPython(t){return t.replace(/#.*/g,'<span class="token comment">$&</span>').replace(/("""[\s\S]*?""")|('''.*?''')/g,'<span class="token string">$&</span>').replace(/('.*?')|(".*?")/g,'<span class="token string">$&</span>').replace(/\b(def|class|if|elif|else|for|while|return|import|from|as|try|except|finally|with|pass|continue|break|True|False|None)\b/g,'<span class="token keyword">$&</span>').replace(/\b(\d+)\b/g,'<span class="token number">$&</span>').replace(/\b([A-Z][a-zA-Z0-9_]*)\b/g,'<span class="token class">$&</span>').replace(/@\w+/g,'<span class="token function">$&</span>')}highlightJavaCSharp(t){return t.replace(/\/\/.*/g,'<span class="token comment">$&</span>').replace(/('.*?')|(".*?")/g,'<span class="token string">$&</span>').replace(/\b(public|private|protected|static|final|class|interface|void|int|double|String|boolean|if|else|for|while|return|new|this|super|extends|implements|try|catch|finally|throw|throws|package|import|namespace|using|var)\b/g,'<span class="token keyword">$&</span>').replace(/\b(\d+)\b/g,'<span class="token number">$&</span>').replace(/\b([A-Z][a-zA-Z0-9_]*)\b/g,'<span class="token class">$&</span>').replace(/@\w+/g,'<span class="token function">$&</span>')}highlightLadder(t){return t.replace(/\(\*.*?\*\)/g,'<span class="token comment">$&</span>').replace(/\b(XIC|XIO|OTE|OTL|OTU|TON|TOF|RTO|CTU|CTD|MOV|COP|ADD|SUB|MUL|DIV|LIM|EQU|NEQ|LES|GRT|LEQ|GEQ|JMP|LBL)\b/g,'<span class="token keyword">$&</span>').replace(/\b(PROGRAM|END_PROGRAM|VAR|END_VAR|BOOL|INT|REAL|TIME|TON|IF|THEN|END_IF)\b/g,'<span class="token keyword">$&</span>').replace(/%[IQM][\d\.]+/g,'<span class="token number">$&</span>').replace(/\b([A-Z][a-zA-Z0-9_]*)\b/g,'<span class="token variable">$&</span>')}renderLineNumbers(){if(!this.showLineNumbers)return null;const t=this.value.split("\n");return i("div",{class:"line-numbers",ref:t=>this.lineNumbersRef=t},t.map(((e,o)=>{const r=o+1,a=this.lintErrors.find((t=>t.line===r)),s=this.isLineFoldable(o,t),n=this.foldedLines.has(r),l=this.getLineGitStatus(o);return i("div",{class:{"line-number":!0,[`git-${l}`]:"none"!==l},onClick:()=>s&&this.toggleFold(r),style:{color:a?"#ff4d4d":"inherit"},title:a?a.msg:""},r,s&&i("span",{class:"fold-icon"},i("ui-icon",{name:"chevron-"+(n?"right":"down"),library:"fontawesome",size:"10px"})))})))}renderPalette(){if(!this.showPalette)return null;const t=this.getPaletteItems();return i("div",{class:"editor-palette-overlay",onClick:this.togglePalette},i("div",{class:"editor-palette",onClick:t=>t.stopPropagation()},i("div",{class:"palette-input-wrapper"},i("ui-icon",{name:"terminal",library:"fontawesome"}),i("ui-input",{type:"text",placeholder:"Type a command or @ for symbols...",value:this.paletteQuery,onInputChange:t=>this.paletteQuery=t.detail,ref:t=>this.paletteInput=t,onInputKeydown:e=>{"Escape"===e.detail.key&&this.togglePalette(),"Enter"===e.detail.key&&t.length>0&&this.runCommand(t[0])},variant:"plain",size:"sm"})),i("div",{class:"palette-results"},t.length>0?t.map((t=>i("div",{class:"palette-item",onClick:()=>this.runCommand(t)},i("ui-icon",{name:t.isSymbol?"at":"play",library:"fontawesome",size:"14px"}),i("span",null,t.label),t.line&&i("span",{class:"palette-meta"},"Line ",t.line)))):i("div",{class:"palette-no-results"},"No results found"))))}renderSearch(){return this.showSearch?i("div",{class:"search-widget"},i("ui-input",{customClass:"search-input",ref:t=>this.searchInput=t,type:"text",placeholder:"Find",value:this.searchQuery,onInputChange:t=>this.searchQuery=t.detail,onInputKeydown:t=>{const e=t.detail;"Escape"===e.key&&(this.showSearch=!1),"Enter"===e.key&&(e.shiftKey?this.findPrev():this.findNext())},size:"sm",variant:"outlined"}),i("div",{class:"search-actions"},i("ui-button",{variant:"ghost",size:"sm",onClick:()=>this.findPrev(),ariaLabel:"Previous (Shift+Enter)",icon:"arrow-up",iconLibrary:"fontawesome",iconOnly:!0,iconSize:"14px"}),i("ui-button",{variant:"ghost",size:"sm",onClick:()=>this.findNext(),ariaLabel:"Next (Enter)",icon:"arrow-down",iconLibrary:"fontawesome",iconOnly:!0,iconSize:"14px"}),i("ui-button",{variant:"ghost",size:"sm",onClick:()=>this.showSearch=!1,ariaLabel:"Close search",icon:"times",iconLibrary:"fontawesome",iconOnly:!0,iconSize:"14px"}))):null}renderMinimap(){return this.showMinimap?i("div",{class:"minimap-container",onClick:this.handleMinimapClick},i("div",{class:"minimap-content",innerHTML:o(this.highlightedCode),ref:t=>this.minimapRef=t}),i("div",{class:"minimap-viewport",ref:t=>this.minimapViewport=t})):null}renderStatusBar(){return i("div",{class:"status-bar"},i("div",{class:"status-item"},i("ui-icon",{name:"code-branch",library:"fontawesome",size:"14px"})," main"),i("div",{class:"status-item"},i("ui-icon",{name:"exclamation-circle",library:"fontawesome",size:"14px"})," ",this.lintErrors.length," Errors"),i("div",{class:"status-item"},"Ln ",this.statusStats.line,", Col ",this.statusStats.col),i("div",{class:"status-item"},this.statusStats.selected>0?`(${this.statusStats.selected} selected)`:""),i("div",{class:"status-item"},"Spaces: 2"),i("div",{class:"status-item"},this.language.toUpperCase()),i("div",{class:"status-item",onClick:()=>this.toggleTheme(),style:{cursor:"pointer"}},i("ui-icon","vs-dark"===this.theme?{name:"moon",library:"fontawesome",size:"14px"}:{name:"sun",library:"fontawesome",size:"14px"})))}renderSuggestions(){return this.showSuggestions?i("ul",{class:"suggestion-list",style:{top:`${this.suggestionPos.top}px`,left:`${this.suggestionPos.left}px`}},this.suggestions.map(((t,e)=>i("li",{class:e===this.suggestionIndex?"active":"",onClick:()=>this.acceptSuggestion(t),onMouseDown:t=>t.preventDefault()},i("ui-icon",{name:"cube",library:"fontawesome",size:"14px",class:"icon"})," ",t)))):null}renderRibbonButton(t,e,o,r={}){const{lg:a=!1,color:s}=r,n="always"===this.toolbarLabelDisplay,l="hover"===this.toolbarLabelDisplay,c=i("ui-button",{slot:l?"target":void 0,onClick:o,style:s?{color:s}:{},ariaLabel:e,label:n?e:void 0,icon:t.replace(/^fa[sb]? fa-/,""),iconLibrary:"fontawesome",iconOnly:!n,size:a?"lg":"md",variant:"ghost"});return l?i("ui-tooltip",{content:e,position:"bottom"},c):c}isGroupVisible(t){return!(this.toolbarGroups&&!this.toolbarGroups.includes("all"))||this.toolbarGroups.includes(t)}renderToolbar(){return this.toolbar?i("div",{class:`editor-ribbon-container labels-${this.toolbarLabelDisplay}`},i("div",{class:"ribbon-tabs"},i("div",{class:"ribbon-tab "+("home"===this.activeToolbarTab?"active":""),onClick:()=>this.activeToolbarTab="home"},i("ui-tooltip",{content:"Home",position:"bottom"},i("ui-icon",{name:"home",library:"fontawesome",slot:"target",size:"16px"}))),i("div",{class:"ribbon-tab "+("edit"===this.activeToolbarTab?"active":""),onClick:()=>this.activeToolbarTab="edit"},i("ui-tooltip",{content:"Edit",position:"bottom"},i("ui-icon",{name:"edit",library:"fontawesome",slot:"target",size:"16px"}))),i("div",{class:"ribbon-tab "+("view"===this.activeToolbarTab?"active":""),onClick:()=>this.activeToolbarTab="view"},i("ui-tooltip",{content:"View",position:"bottom"},i("ui-icon",{name:"eye",library:"fontawesome",slot:"target",size:"16px"}))),i("div",{class:"ribbon-tab "+("run"===this.activeToolbarTab?"active":""),onClick:()=>this.activeToolbarTab="run"},i("ui-tooltip",{content:"Run",position:"bottom"},i("ui-icon",{name:"play",library:"fontawesome",slot:"target",size:"16px"})))),i("div",{class:"ribbon-content"},"home"===this.activeToolbarTab&&i("div",{class:"ribbon-panel"},this.isGroupVisible("history")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-undo","Undo",(()=>this.handleUndo()),{lg:!0}),this.renderRibbonButton("fas fa-redo","Redo",(()=>this.handleRedo()),{lg:!0})),i("div",{class:"ribbon-group-label"},"History")),this.isGroupVisible("history")&&this.isGroupVisible("clipboard")&&i("div",{class:"ribbon-group divider"}),this.isGroupVisible("clipboard")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-copy","Copy",(()=>this.handleCopy())),this.renderRibbonButton("fas fa-mouse-pointer","Select All",(()=>this.handleSelectAll()))),i("div",{class:"ribbon-group-label"},"Clipboard")),(this.isGroupVisible("history")||this.isGroupVisible("clipboard"))&&this.isGroupVisible("search")&&i("div",{class:"ribbon-group divider"}),this.isGroupVisible("search")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-search","Find",(()=>this.toggleSearch()),{lg:!0}),this.renderRibbonButton("fas fa-terminal","Palette",(()=>this.togglePalette()),{lg:!0})),i("div",{class:"ribbon-group-label"},"Search"))),"edit"===this.activeToolbarTab&&i("div",{class:"ribbon-panel"},this.isGroupVisible("document")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-code","Format",(()=>this.simpleFormat()),{lg:!0})),i("div",{class:"ribbon-group-label"},"Document")),this.isGroupVisible("document")&&this.isGroupVisible("folding")&&i("div",{class:"ribbon-group divider"}),this.isGroupVisible("folding")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-minus-square","Fold All",(()=>this.foldAll())),this.renderRibbonButton("fas fa-plus-square","Unfold All",(()=>this.unfoldAll()))),i("div",{class:"ribbon-group-label"},"Folding")),(this.isGroupVisible("document")||this.isGroupVisible("folding"))&&this.isGroupVisible("actions")&&i("div",{class:"ribbon-group divider"}),this.isGroupVisible("actions")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-comment-slash","Comment",(()=>this.handleCommentSelection()))),i("div",{class:"ribbon-group-label"},"Actions"))),"view"===this.activeToolbarTab&&i("div",{class:"ribbon-panel"},this.isGroupVisible("interface")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-map","Minimap",(()=>this.toggleMinimap()),{lg:!0,active:this.showMinimap}),this.renderRibbonButton("fas fa-list-ol","Line Numbers",(()=>this.showLineNumbers=!this.showLineNumbers),{lg:!0,active:this.showLineNumbers})),i("div",{class:"ribbon-group-label"},"Interface")),this.isGroupVisible("interface")&&this.isGroupVisible("theme")&&i("div",{class:"ribbon-group divider"}),this.isGroupVisible("theme")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("vs-dark"===this.theme?"fas fa-moon":"fas fa-sun","vs-dark"===this.theme?"Dark":"Light",(()=>this.toggleTheme()),{lg:!0})),i("div",{class:"ribbon-group-label"},"Theme")),(this.isGroupVisible("interface")||this.isGroupVisible("theme"))&&this.isGroupVisible("appearance")&&i("div",{class:"ribbon-group divider"}),this.isGroupVisible("appearance")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},i("div",{class:"ribbon-select-container"},i("select",{onChange:t=>this.fontSize=parseInt(t.target.value)},[10,12,14,16,18,20,24].map((t=>i("option",{value:t,selected:this.fontSize===t},t,"px")))),"always"===this.toolbarLabelDisplay&&i("span",null,"Font Size"))),i("div",{class:"ribbon-group-label"},"Appearance"))),"run"===this.activeToolbarTab&&i("div",{class:"ribbon-panel"},this.isGroupVisible("execution")&&i("div",{class:"ribbon-group"},i("div",{class:"ribbon-group-content"},this.renderRibbonButton("fas fa-play","Run Code",(()=>this.runCode.emit()),{lg:!0,color:"#4ade80"})),i("div",{class:"ribbon-group-label"},"Execution"))))):null}renderHelp(){return this.showHelp?i("div",{class:"help-modal-overlay",onClick:()=>this.showHelp=!1},i("div",{class:"help-modal",onClick:t=>t.stopPropagation()},i("div",{class:"help-header"},i("h3",null,"Editor Shortcuts & Help"),i("ui-button",{variant:"ghost",onClick:()=>this.showHelp=!1,ariaLabel:"Close help",icon:"times",iconLibrary:"fontawesome",iconOnly:!0})),i("div",{class:"help-content"},i("div",{class:"help-section"},i("h4",null,"Keyboard Shortcuts"),i("ul",null,i("li",null,i("kbd",null,"Ctrl")," + ",i("kbd",null,"F")," : Find / Search"),i("li",null,i("kbd",null,"Ctrl")," + ",i("kbd",null,"Shift")," + ",i("kbd",null,"P")," : Command Palette"),i("li",null,i("kbd",null,"Ctrl")," + ",i("kbd",null,"Space")," : Trigger Suggestions"),i("li",null,i("kbd",null,"Tab")," : Indent / Accept Suggestion"))),i("div",{class:"help-section"},i("h4",null,"Toolbar Features"),i("ul",null,i("li",null,i("ui-icon",{name:"play",library:"fontawesome",style:{color:"#4ade80"},size:"14px"})," ",i("strong",null,"Run"),": Execute code (demo mode)"),i("li",null,i("ui-icon",{name:"indent",library:"fontawesome",size:"14px"})," ",i("strong",null,"Format"),": Auto-indent code"),i("li",null,i("ui-icon",{name:"moon",library:"fontawesome",size:"14px"})," ",i("strong",null,"Theme"),": Toggle Dark/Light")))))):null}renderTabBar(){return this.tabs&&0!==this.tabs.length?i("div",{class:"editor-tabs"},this.tabs.map(((t,e)=>i("div",{class:"editor-tab "+(e===this.activeTabIndex?"active":""),onClick:()=>this.handleTabClick(e)},i("ui-icon",{class:"tab-icon",name:this.getIconForLang(t.language),library:"fontawesome"}),i("span",{class:"tab-title"},t.title))))):null}getIconForLang(t){switch(t){case"javascript":return"js-square";case"html":return"html5";case"css":return"css3";case"python":return"python";case"java":return"java";case"json":return"code";default:return"file-alt"}}renderSidebar(){return this.showSidebar?i("div",{class:{"editor-sidebar":!0,collapsed:!this.showSidebar}},i("div",{class:"sidebar-tabs"},i("div",{class:{"sidebar-tab":!0,active:"files"===this.activeSidebarTab},onClick:()=>this.activeSidebarTab="files"},i("ui-icon",{name:"copy",library:"fontawesome"}))),i("div",{class:"sidebar-content"},"files"===this.activeSidebarTab&&i("div",{class:"file-explorer"},i("div",{class:"sidebar-header"},"EXPLORER"),i("div",{class:"file-list"},this.files.map(((t,e)=>i("div",{class:{"file-item":!0,active:this.activeFileIndex===e},onClick:()=>this.switchFile(e)},i("ui-icon",{name:this.getFileIcon(t.name).split(" ").find((t=>t.startsWith("fa-"))).replace("fa-",""),library:"fontawesome",class:this.getFileIcon(t.name)}),i("span",null,t.name)))))))):null}handleTerminalKeyDown=t=>{if("Enter"===t.key){const e=t.target,i=e.value.trim().toLowerCase();if(!i)return;this.terminalLogs=[...this.terminalLogs,{type:"info",text:`$ ${e.value}`,time:(new Date).toLocaleTimeString()}],"clear"===i?this.terminalLogs=[]:"run"===i||"node index.js"===i?(this.terminalLogs=[...this.terminalLogs,{type:"info",text:"Executing program...",time:(new Date).toLocaleTimeString()}],setTimeout((()=>{const t=this.executeCode().map((t=>({...t,time:(new Date).toLocaleTimeString()})));this.terminalLogs=[...this.terminalLogs,...t],this.runCode.emit()}),500)):this.terminalLogs="help"===i?[...this.terminalLogs,{type:"info",text:"Available commands: run, clear, help, ls, whoami",time:(new Date).toLocaleTimeString()}]:[...this.terminalLogs,{type:"error",text:`Command not found: ${i}`,time:(new Date).toLocaleTimeString()}],e.value=""}};renderBreadcrumbs(){const t=this.files[this.activeFileIndex];return i("div",{class:"editor-breadcrumbs"},i("div",{class:"breadcrumb-item"},i("ui-icon",{name:"folder-open",library:"fontawesome",size:"12px"}),i("span",null,"project"),i("span",{class:"separator"},"/")),i("div",{class:"breadcrumb-item"},i("ui-icon",{name:this.getFileIcon(t.name).split(" ").find((t=>t.startsWith("fa-"))).replace("fa-",""),library:"fontawesome",class:this.getFileIcon(t.name),size:"12px"}),i("span",null,t.name)))}renderBottomPanel(){return this.showBottomPanel?i("div",{class:{"editor-bottom-panel":!0,collapsed:!this.showBottomPanel}},i("div",{class:"panel-header"},i("div",{class:"panel-tabs"},i("div",{class:{"panel-tab":!0,active:"terminal"===this.activeBottomTab},onClick:()=>this.activeBottomTab="terminal"},"TERMINAL"),i("div",{class:{"panel-tab":!0,active:"output"===this.activeBottomTab},onClick:()=>this.activeBottomTab="output"},"OUTPUT"),i("div",{class:{"panel-tab":!0,active:"problems"===this.activeBottomTab},onClick:()=>this.activeBottomTab="problems"},"PROBLEMS")),i("div",{class:"panel-controls"},i("ui-icon",{name:"times",library:"fontawesome",onClick:()=>this.showBottomPanel=!1,style:{cursor:"pointer"}}))),i("div",{class:"panel-content"},"terminal"===this.activeBottomTab&&i("div",{class:"terminal-content"},this.terminalLogs.map((t=>i("div",{class:`log-item ${t.type}`},i("span",{class:"log-time"},"[",t.time,"]"),i("span",{class:"log-text"},t.text)))),i("div",{class:"terminal-input-line"},i("span",{class:"terminal-prompt"},"$"),i("ui-input",{type:"text",customClass:"terminal-input",placeholder:"Type a command (run, clear, help)...",onInputKeydown:t=>this.handleTerminalKeyDown(t.detail),variant:"plain",size:"sm",fullWidth:!0}))),"output"===this.activeBottomTab&&i("div",{class:"output-preview",style:{display:"flex",alignItems:"center",justifyCenter:"center",height:"100%",background:"#f8fafc",color:"#64748b"}},i("div",{style:{textAlign:"center"}},i("ui-icon",{name:"eye-slash",library:"fontawesome",size:"32px",style:{opacity:.5,marginBottom:"12px"}}),i("p",{style:{fontSize:"14px",fontWeight:"500"}},"Live Preview Disabled (No Iframe)"))))):null}switchFile(t){this.activeFileIndex=t;const e=this.files[t];this.value=e.content,this.language=e.language,this.valueChange.emit(this.value)}getFileIcon(t){return t.endsWith(".js")?"fab fa-js-square text-warning":t.endsWith(".html")?"fab fa-html5 text-danger":t.endsWith(".css")?"fab fa-css3-alt text-primary":"fas fa-file-code"}render(){const t="vs-light"===this.theme?"theme-vs-light":"theme-vs-dark",e=this.value.split("\n");let r=-1,a=-1;for(let t=0;t<e.length;t++)if(-1!==r){if(!(this.getIndentLevel(e[t])<=a&&""!==e[t].trim()))continue;r=-1}else this.foldedLines.has(t+1)&&(r=t+1,a=this.getIndentLevel(e[t]));return i("div",{key:"5229f839ffa5013cc1353c43d54c3315d6aa0c11",class:`code-editor-container ${t}`},this.renderTabBar(),this.renderToolbar(),this.renderPalette(),i("div",{key:"6564c00ec9a82be1bcb45a18940fe7556b0393df",class:"code-editor-layout"},this.renderSidebar(),i("div",{key:"f47ffa82fba7f827560b696c1f7405e65615571b",class:"editor-main-panel"},this.renderBreadcrumbs(),i("div",{key:"a1fef31453e1575e131734c36e0a4c1b719ea837",class:"editor-main-content",style:{display:"flex",flex:"1",minHeight:"0",position:"relative"}},this.renderLineNumbers(),i("div",{key:"20e82ae884cd7bf7adf2fcbe89381b8df7fba253",class:"editor-wrapper"},this.renderSearch(),this.renderSuggestions(),i("ui-button",{key:"35f030759ebe50cbfd90e5b993ddd950b6762956",variant:"ghost",class:"copy-button",onClick:this.handleCopy,ariaLabel:"Copy Code",icon:"copy",iconLibrary:"fontawesome",iconOnly:!0}),i("pre",{key:"dcc2605b0183153a60e5242ff75af686c1e2d591",class:"syntax-highlighter",ref:t=>this.pre=t,innerHTML:o(this.highlightedCode)}),i("textarea",{key:"64339f4a719d2f1b5851cd886b741b56eb5d0e58",class:"editor-content",ref:t=>this.textarea=t,value:this.value,onInput:this.handleInput,onScroll:this.handleScroll,onKeyDown:this.handleKeydown,onSelect:this.handleSelection,onClick:this.handleSelection,onKeyUp:this.handleSelection,spellcheck:!1,readonly:this.readonly,role:"textbox","aria-multiline":"true","aria-label":"Code Editor"})),this.renderMinimap()),this.renderBottomPanel())),this.renderStatusBar(),this.renderHelp())}static get watchers(){return{value:[{valueChanged:0}],language:[{languageChanged:0}],tabs:[{tabsChanged:0}],searchQuery:[{searchQueryChanged:0}]}}};r.style='.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:flex;flex-direction:column;font-family:"Menlo", "Monaco", "Courier New", monospace;font-size:14px;line-height:1.5;position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--border-color, var(--border-subtle, #e2e8f0));background-color:var(--editor-bg);color:var(--editor-fg);--editor-bg:var(--bg-primary, #ffffff);--editor-fg:var(--text-primary, #1e293b);--line-num-bg:var(--bg-primary, #f8fafc);--line-num-fg:var(--color-primary, #94a3b8);--indent-guide:rgba(0, 0, 0, 0.05);--cursor-color:var(--text-primary, #000);--selection-bg:var(--color-primary, #b3d4fc);--status-bar-bg:var(--bg-secondary, #f1f5f9);--status-bar-fg:var(--color-primary, #64748b);--minimap-width:60px;--git-added:var(--color-success, #28a745);--git-modified:var(--color-danger, #ffc107)}:host(.theme-vs-dark){--editor-bg:var(--bg-primary, #1e1e1e);--editor-fg:var(--bg-secondary, #d4d4d4);--line-num-bg:var(--bg-primary, #1e1e1e);--line-num-fg:var(--text-muted, #858585);--cursor-color:var(--text-standard, #ffffff);--selection-bg:var(--color-primary, #264f78);--status-bar-bg:var(--color-primary, #007acc);--status-bar-fg:var(--bg-primary, #ffffff);border-color:var(--border-strong, #333)}.code-editor-container{display:flex;flex-direction:column;flex:1;position:relative;overflow:hidden;height:100%}.code-editor-layout{display:grid;grid-template-columns:auto 1fr auto;flex:1;min-height:0;position:relative;overflow:hidden;background-color:var(--editor-bg)}.sidebar-tabs{width:48px;flex-shrink:0;background-color:var(--status-bar-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:20px}.sidebar-tabs .sidebar-tab{font-size:20px;color:var(--status-bar-fg);cursor:pointer;width:100%;display:flex;justify-content:center;position:relative;padding:8px 0;opacity:0.6;transition:all 0.2s}.sidebar-tabs .sidebar-tab.active{opacity:1;color:var(--color-primary, #007acc);border-left:2px solid var(--color-primary, #007acc)}.sidebar-tabs .sidebar-tab:hover{opacity:1}.sidebar-content{flex:1;overflow-y:auto;padding:0}.sidebar-header{padding:10px 16px;font-size:11px;font-weight:600;color:var(--status-bar-fg);text-transform:uppercase;letter-spacing:0.5px}.file-list{padding:4px 0}.file-item{display:flex;align-items:center;padding:6px 16px;gap:8px;cursor:pointer;font-size:13px;color:var(--status-bar-fg);transition:background 0.2s}.file-item:hover{background-color:rgba(128, 128, 128, 0.1);color:var(--editor-fg)}.file-item.active{background-color:rgba(0, 122, 204, 0.1);color:var(--color-primary, #007acc);font-weight:500}.file-item i{width:16px;text-align:center}.file-item .text-warning{color:var(--color-warning, #f59e0b)}.file-item .text-danger{color:var(--color-danger, #ef4444)}.file-item .text-primary{color:var(--color-primary, #10b981)}.editor-main-panel{display:flex;flex-direction:column;min-width:0;flex:1}.editor-breadcrumbs{height:35px;background-color:var(--editor-bg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 16px;font-size:13px;color:var(--status-bar-fg);gap:10px;user-select:none}.editor-breadcrumbs .breadcrumb-item{display:flex;align-items:center;gap:6px;cursor:pointer}.editor-breadcrumbs .breadcrumb-item:hover{color:var(--editor-fg)}.editor-breadcrumbs .breadcrumb-item i{font-size:14px}.editor-breadcrumbs .breadcrumb-item .separator{opacity:0.5;margin:0 4px}.editor-bottom-panel{height:250px;background-color:var(--editor-bg);border-top:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden;transition:height 0.3s ease}.editor-bottom-panel.collapsed{height:0;border-top:none}.editor-bottom-panel .panel-header{height:35px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;border-bottom:1px solid var(--border-color);background-color:var(--status-bar-bg)}.editor-bottom-panel .panel-tabs{display:flex;gap:20px;height:100%}.editor-bottom-panel .panel-tabs .panel-tab{font-size:11px;font-weight:600;color:var(--status-bar-fg);height:100%;display:flex;align-items:center;cursor:pointer;border-bottom:2px solid transparent;opacity:0.7;transition:all 0.2s}.editor-bottom-panel .panel-tabs .panel-tab:hover{opacity:1}.editor-bottom-panel .panel-tabs .panel-tab.active{opacity:1;color:var(--color-primary, #007acc);border-bottom-color:var(--color-primary, #007acc)}.editor-bottom-panel .panel-controls i{font-size:12px;color:var(--status-bar-fg);cursor:pointer;opacity:0.6}.editor-bottom-panel .panel-controls i:hover{opacity:1;color:var(--color-danger, #ef4444)}.editor-bottom-panel .panel-content{flex:1;overflow-y:auto;padding:12px 16px;font-family:"Menlo", "Monaco", "Courier New", monospace;background-color:var(--editor-bg)}.editor-bottom-panel .terminal-content .log-item{margin-bottom:4px;font-size:12px;display:flex;gap:8px}.editor-bottom-panel .terminal-content .log-item .log-time{opacity:0.5}.editor-bottom-panel .terminal-content .log-item.info{color:var(--color-success, #10b981)}.editor-bottom-panel .terminal-content .log-item.error{color:var(--color-danger, #ef4444)}.editor-bottom-panel .terminal-content .log-item.warn{color:var(--color-warning, #f59e0b)}.editor-bottom-panel .terminal-content .terminal-input-line{display:flex;gap:8px;margin-top:8px;align-items:center}.editor-bottom-panel .terminal-content .terminal-input-line .terminal-prompt{color:var(--color-primary, #007acc);font-weight:bold}.editor-bottom-panel .terminal-content .terminal-input-line .terminal-input{background:transparent;border:none;color:var(--editor-fg);outline:none;flex:1;font-family:inherit;font-size:12px}.line-numbers{flex-shrink:0;padding:10px 0;text-align:right;background-color:var(--line-num-bg);color:var(--line-num-fg);border-right:1px solid rgba(128, 128, 128, 0.1);user-select:none;min-width:45px;overflow:hidden}.line-numbers .line-number{display:flex;padding:0 4px 0 8px;height:1.5em;white-space:nowrap;justify-content:space-between;cursor:pointer}.line-numbers .line-number .fold-icon{opacity:0;font-size:9px;margin-left:4px;display:flex;align-items:center;color:var(--line-num-fg)}.line-numbers .line-number.git-added{border-left:3px solid var(--git-added)}.line-numbers .line-number.git-modified{border-left:3px solid var(--git-modified)}.line-numbers .line-number:hover .fold-icon{opacity:1;color:var(--editor-fg)}.folded-placeholder{background-color:var(--status-bar-bg);color:var(--status-bar-fg);padding:0 4px;border-radius:2px;font-size:10px;cursor:pointer;user-select:none;margin-left:4px;display:inline-block;height:14px;line-height:14px}.editor-wrapper{flex-grow:1;position:relative;overflow:hidden}.editor-content,.syntax-highlighter{margin:0;padding:10px;border:none;box-sizing:border-box;font-family:inherit;font-size:inherit;line-height:inherit;tab-size:2;white-space:pre;word-wrap:normal;overflow-x:auto;overflow-y:auto;position:absolute;top:0;left:0;width:100%;height:100%}.editor-content{color:transparent;background:transparent;caret-color:var(--cursor-color);z-index:1;resize:none;outline:none;background-image:linear-gradient(to right, var(--indent-guide) 1px, transparent 1px);background-size:calc(var(--indent-size, 2) * 8.4px) 100%;background-repeat:repeat-x;background-attachment:local}.editor-content::selection{background:var(--selection-bg);color:transparent}.syntax-highlighter{z-index:0;pointer-events:none;color:var(--editor-fg)}.lint-error{text-decoration:underline wavy var(--color-danger, #ff4d4d);text-decoration-thickness:2px;position:relative}.minimap-container{width:var(--minimap-width);border-left:1px solid rgba(128, 128, 128, 0.1);background:var(--editor-bg);overflow:hidden;position:relative;user-select:none;flex-shrink:0;cursor:pointer}.minimap-content{transform-origin:top left;transform:scale(0.15);width:666%;pointer-events:none;padding:10px}.minimap-viewport{position:absolute;left:0;width:100%;background:rgba(100, 100, 100, 0.2);cursor:grab;transition:background 0.2s}.minimap-viewport:hover{background:rgba(100, 100, 100, 0.3)}.minimap-viewport:active{cursor:grabbing;background:rgba(100, 100, 100, 0.4)}.status-bar{display:flex;justify-content:flex-end;gap:16px;padding:4px 12px;background-color:var(--status-bar-bg);color:var(--status-bar-fg);font-size:11px;flex-shrink:0;user-select:none}.status-item{display:flex;align-items:center;gap:6px;cursor:default}.status-item i{font-size:10px}.command-palette-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.3);z-index:100;display:flex;justify-content:center;align-items:flex-start;padding-top:20px;backdrop-filter:blur(1px)}.command-palette{width:400px;max-width:90%;background:var(--editor-bg);border:1px solid var(--border-color, #454545);box-shadow:0 4px 12px rgba(0, 0, 0, 0.25);border-radius:6px;display:flex;flex-direction:column;overflow:hidden;animation:slideDown 0.15s ease-out}.command-palette input{width:100%;padding:10px;border:none;background:var(--status-bar-bg);color:var(--editor-fg);font-family:inherit;font-size:13px;outline:none;border-bottom:1px solid var(--border-color, rgba(128, 128, 128, 0.2))}.command-palette .command-list{max-height:250px;overflow-y:auto;margin:0;padding:0;list-style:none}.command-palette .command-item{padding:8px 12px;cursor:pointer;font-size:13px;display:flex;justify-content:space-between;color:var(--editor-fg);border-left:2px solid transparent;}.command-palette .command-item:hover,.command-palette .command-item.active{background-color:var(--selection-bg);border-left-color:var(--status-bar-bg)}.command-palette .command-item .shortcut{opacity:0.6;font-size:11px}@keyframes slideDown{from{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.token.comment{color:var(--color-success, #6a9955);font-style:italic}.token.string{color:var(--color-danger, #ce9178)}.token.number{color:var(--color-primary, #b5cea8)}.token.boolean{color:var(--color-primary, #569cd6)}.token.keyword{color:var(--color-primary, #c586c0);font-weight:bold}.token.function{color:var(--color-primary, #dcdcaa)}.token.operator{color:var(--bg-secondary, #d4d4d4)}.token.class{color:var(--color-primary, #4ec9b0)}.token.variable{color:var(--color-primary, #9cdcfe)}.token.tag{color:var(--color-primary, #569cd6)}.token.attr-name{color:var(--color-primary, #9cdcfe)}.token.property{color:var(--color-primary, #9cdcfe)}.token.selector{color:var(--color-primary, #d7ba7d)}:host(:not(.theme-vs-dark)) .token.string{color:var(--color-danger, #a31515)}:host(:not(.theme-vs-dark)) .token.keyword{color:var(--color-primary, #af00db)}:host(:not(.theme-vs-dark)) .token.function{color:var(--color-primary, #795e26)}:host(:not(.theme-vs-dark)) .token.number{color:var(--color-success, #098658)}:host(:not(.theme-vs-dark)) .token.comment{color:var(--color-success, #008000)}:host(:not(.theme-vs-dark)) .token.selector{color:var(--text-primary, #800000)}.copy-button{position:absolute;top:8px;right:20px;z-index:10;background:rgba(128, 128, 128, 0.2);border:none;color:var(--editor-fg);padding:4px 8px;border-radius:4px;cursor:pointer;opacity:0;transition:opacity 0.2s;font-size:12px}.copy-button:hover{background:rgba(128, 128, 128, 0.4)}:host(:hover) .copy-button{opacity:1}.search-widget{position:absolute;top:10px;right:40px;right:60px;z-index:50;display:flex;background:var(--editor-bg);border:1px solid var(--border-color, #ccc);box-shadow:0 4px 6px rgba(0, 0, 0, 0.1);border-radius:4px;padding:4px;align-items:center}.search-widget .search-input{border:none;outline:none;background:transparent;color:var(--editor-fg);padding:4px;font-size:13px;width:150px}.search-widget .search-actions{display:flex;gap:2px}.search-widget .search-actions button{background:transparent;border:none;color:var(--status-bar-fg);cursor:pointer;padding:4px;border-radius:2px}.search-widget .search-actions button:hover{background:var(--line-num-bg);color:var(--editor-fg)}.suggestion-list{position:absolute;z-index:100;background:var(--editor-bg);border:1px solid var(--border-color, #ccc);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);border-radius:4px;max-height:200px;overflow-y:auto;width:200px;margin:0;padding:0;list-style:none;font-size:13px;font-family:inherit}.suggestion-list li{padding:4px 8px;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--editor-fg)}.suggestion-list li.active,.suggestion-list li:hover{background:var(--selection-bg);color:var(--editor-fg)}.suggestion-list li .icon{opacity:0.7;font-size:11px}.editor-tabs{display:flex;background-color:var(--status-bar-bg);background-color:var(--bg-primary, #252526);overflow-x:auto;flex-shrink:0;}.editor-tabs::-webkit-scrollbar{height:4px}.editor-tabs::-webkit-scrollbar-thumb{background:rgba(128, 128, 128, 0.3)}:host(:not(.theme-vs-dark)) .editor-tabs{background-color:var(--bg-primary, #f3f3f3)}.editor-tab{display:flex;align-items:center;gap:8px;padding:8px 12px;color:var(--text-muted, #969696);background-color:transparent;cursor:pointer;border-right:1px solid rgba(0, 0, 0, 0.1);font-size:13px;white-space:nowrap;border-top:2px solid transparent;}.editor-tab:hover{background-color:rgba(128, 128, 128, 0.1);color:var(--editor-fg)}.editor-tab.active{background-color:var(--editor-bg);color:var(--editor-fg);border-top-color:var(--color-primary, #007acc);}.editor-tab .tab-icon{font-size:12px;opacity:0.8}.editor-tab{}.editor-ribbon-container{display:flex;flex-direction:column;background-color:var(--ribbon-bg, #f3f3f3);border-bottom:1px solid var(--border-color, #d1d1d1);flex-shrink:0;user-select:none;font-family:"Segoe UI", system-ui, -apple-system, sans-serif;--ribbon-bg:var(--bg-primary, #f3f3f3);--ribbon-tab-active:var(--bg-primary, #ffffff);--ribbon-tab-fg:var(--text-secondary, #333333);--ribbon-accent:var(--color-primary, #2b579a);}:host(.theme-vs-dark) .editor-ribbon-container{--ribbon-bg:var(--bg-secondary, #2d2d2d);--ribbon-tab-active:var(--text-secondary, #3c3c3c);--ribbon-tab-fg:var(--bg-secondary, #cccccc);--ribbon-accent:var(--color-primary, #007acc);border-bottom-color:var(--border-strong, #3e3e3e)}.ribbon-tabs{display:flex;padding:0 10px;background-color:var(--ribbon-accent);gap:2px}.ribbon-tab{padding:4px 12px;cursor:pointer;opacity:0.7;transition:all 0.2s;border-bottom:2px solid transparent;font-size:11px;font-weight:500;display:flex;align-items:center;gap:6px;min-width:60px;justify-content:center}.ribbon-tab ui-tooltip{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.ribbon-tab i{font-size:14px}.ribbon-tab:hover{background-color:rgba(255, 255, 255, 0.15);opacity:1}.ribbon-tab:hover i{transform:scale(1.1)}.ribbon-tab.active{background-color:var(--ribbon-bg);color:var(--ribbon-tab-fg);font-weight:600;border-bottom:none;border-radius:4px 4px 0 0;margin-top:4px;padding-top:4px;opacity:1}.ribbon-tab.active i{opacity:1}.ribbon-content{background:var(--editor-bg);border-bottom:1px solid var(--border-color);min-height:0;padding:4px;display:flex;gap:8px;overflow-x:auto}.labels-hover .ribbon-content,.labels-hidden .ribbon-content{min-height:48px}.ribbon-panel{display:flex;gap:12px;height:100%;align-items:stretch}.ribbon-group{display:flex;flex-direction:column;gap:2px;padding-right:12px;border-right:1px solid var(--border-color);height:100%;justify-content:space-between}.ribbon-group:last-child{border-right:none}.ribbon-group.divider{padding:0;width:1px;background:linear-gradient(to bottom, transparent 10%, var(--border-color, #d1d1d1) 20%, var(--border-color, #d1d1d1) 80%, transparent 90%);margin:2px 4px}.ribbon-group-content{display:flex;gap:4px;align-items:center;flex:1}.ribbon-group-label{font-size:9px;color:var(--status-bar-fg);text-align:center;text-transform:uppercase;letter-spacing:0.5px;opacity:0.7}.labels-hidden .ribbon-group-label{display:none}.ribbon-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 8px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--editor-fg);cursor:pointer;transition:all 0.2s;min-width:32px;font-size:11px}.ribbon-btn i{font-size:16px}.ribbon-btn:hover{background:rgba(144, 144, 144, 0.1);border-color:var(--border-color)}.ribbon-btn.active{background:rgba(0, 122, 204, 0.1);border-color:var(--color-primary, #007acc);color:var(--color-primary, #007acc)}.ribbon-btn.lg{padding:4px 12px;gap:4px;min-width:48px}.ribbon-btn.lg i{font-size:20px}.ribbon-btn.icon-only{padding:4px;min-width:28px;height:28px}.ribbon-btn.icon-only span{display:none}.ribbon-btn.icon-only i{font-size:16px}.ribbon-select-container{display:flex;flex-direction:column;gap:2px;align-items:center}.ribbon-select-container select{padding:2px 4px;font-size:11px;border:1px solid var(--border-color, #ccc);border-radius:3px;background:var(--editor-bg);color:var(--editor-fg);outline:none}.ribbon-select-container span{font-size:10px;opacity:0.7}.help-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.5);z-index:200;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(2px)}.help-modal{background:var(--editor-bg);color:var(--editor-fg);width:400px;max-width:90%;border-radius:8px;border:1px solid var(--border-color, #454545);box-shadow:0 10px 25px rgba(0, 0, 0, 0.5);display:flex;flex-direction:column;overflow:hidden;animation:fadeIn 0.2s ease-out}.help-modal .help-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--status-bar-bg);color:var(--status-bar-fg);border-bottom:1px solid rgba(128, 128, 128, 0.2)}.help-modal .help-header h3{margin:0;font-size:14px;font-weight:600}.help-modal .help-header .close-btn{background:transparent;border:none;color:inherit;cursor:pointer;font-size:14px;padding:4px}.help-modal .help-header .close-btn:hover{opacity:0.8}.help-modal .help-content{padding:16px;display:flex;flex-direction:column;gap:16px}.help-modal .help-section h4{margin:0 0 8px 0;font-size:12px;text-transform:uppercase;letter-spacing:0.5px;opacity:0.7;border-bottom:1px solid rgba(128, 128, 128, 0.2);padding-bottom:4px}.help-modal .help-section ul{list-style:none;padding:0;margin:0;font-size:13px}.help-modal .help-section ul li{margin-bottom:6px;display:flex;align-items:center;gap:8px}.help-modal kbd{background:rgba(128, 128, 128, 0.2);padding:2px 4px;border-radius:3px;font-family:inherit;font-size:11px;border:1px solid rgba(128, 128, 128, 0.3)}@keyframes fadeIn{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}';export{r as ui_code_editor}
@@ -0,0 +1 @@
1
+ import{r as e,c as t,h as r}from"./p-Dqu2zaH1.js";const i=class{constructor(r){e(this,r),this.meterClick=t(this,"meterClick")}values=[];orientation="horizontal";size="md";showLabels=!0;iconLibrary="default";showValues=!0;showLegend=!1;shape="line";min=0;max=100;interactive=!1;animated=!0;meterClick;handleValuesChange(){this.normalizeProps()}componentWillLoad(){this.normalizeProps()}normalizeProps(){if("string"==typeof this.values)try{this.values=JSON.parse(this.values)}catch(e){console.warn("Failed to parse meter-group values",e)}}getValues(){return Array.isArray(this.values)?this.values:[]}getPercentage(e){return(e-this.min)/(this.max-this.min)*100}getDefaultColor(e){const t=["#3bf673","#10b981","#f59e0b","#ef4444","#8b5cf6","#ec4899"];return t[e%t.length]}handleSegmentClick(e){this.interactive&&this.meterClick.emit(e)}renderCircleMeter(){const e=this.getValues(),t=e.reduce(((e,t)=>e+t.value),0),i=2*Math.PI*50;let o=0;const s=e.map(((e,r)=>{const s=e.value/t*100,a=s/100*i,n=-o,l="object"==typeof e.color&&null!==e.color,c=l?e.color.from:e.color||this.getDefaultColor(r),h=`meter-grad-${r}-${Math.random().toString(36).substr(2,4)}`,d=e.gradient||l;return o+=a,{...e,color:c,gradientId:h,strokeDasharray:`${a} ${i}`,strokeDashoffset:n,percentage:s.toFixed(1),hasGradient:d}})),a="sm"===this.size?8:"lg"===this.size?16:12;return r("div",{class:"meter-circle-container"},r("svg",{viewBox:"0 0 120 120",class:"meter-circle"},r("circle",{cx:"60",cy:"60",r:50,fill:"none",stroke:"#e5e7eb","stroke-width":a}),r("defs",null,s.map((e=>{const t="object"==typeof e.color&&null!==e.color;if(!e.gradient&&!t)return null;const i=t?e.color.to:"object"==typeof e.gradient?e.gradient.to:`${e.color}99`;return r("linearGradient",{id:e.gradientId,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},r("stop",{offset:"0%","stop-color":t?e.color.from:"object"==typeof e.gradient?e.gradient.from:e.color}),r("stop",{offset:"100%","stop-color":i}))}))),s.map((e=>r("g",{onClick:()=>this.handleSegmentClick(e),style:{cursor:this.interactive?"pointer":"default"}},r("title",null,`${e.label}: ${e.value}`),r("circle",{cx:"60",cy:"60",r:50,fill:"none",stroke:e.gradient||"object"==typeof e.color&&null!==e.color?`url(#${e.gradientId})`:e.color,"stroke-width":a,"stroke-dasharray":e.strokeDasharray,"stroke-dashoffset":e.strokeDashoffset,"stroke-linecap":"round",transform:"rotate(-90 60 60)",style:{transition:this.animated?"stroke-dasharray 0.5s ease, stroke-dashoffset 0.5s ease":"none"}})))),this.showValues&&r("text",{x:"60",y:"60","text-anchor":"middle","dominant-baseline":"middle",class:"circle-total-value"},t)))}render(){const e=this.getValues(),t=e.reduce(((e,t)=>e+t.value),0),i=["meter-group",`meter-${this.orientation}`,`meter-${this.size}`,`meter-${this.shape}`].join(" ");return r("div",{key:"3cf1fdd83af37d9f8f7f82e0caa61f889303aa45",class:i},"circle"===this.shape?this.renderCircleMeter():r("div",{class:"meter-container"},e.map(((e,t)=>{const i=this.getPercentage(e.value),o=e.color||this.getDefaultColor(t);return r("div",{class:"meter-segment",style:{width:"horizontal"===this.orientation?`${i}%`:void 0,height:"vertical"===this.orientation?`${i}%`:void 0,background:(()=>{const t="object"==typeof e.color&&null!==e.color;return e.gradient||t?`linear-gradient(${"horizontal"===this.orientation?"to right":"to top"}, ${t?e.color.from:"object"==typeof e.gradient?e.gradient.from:o}, ${t?e.color.to:"object"==typeof e.gradient?e.gradient.to:o+"99"})`:o})(),cursor:this.interactive?"pointer":"default",transition:this.animated?"width 0.5s ease, height 0.5s ease":"none"},title:`${e.label}: ${e.value}`,onClick:()=>this.handleSegmentClick(e)},this.showValues&&r("span",{class:"meter-value"},e.value))}))),(this.showLabels||this.showLegend)&&r("div",{key:"b171d4c53a8154a0ca13b84c4e73d699b5c612bc",class:"meter-legend"},e.map(((e,i)=>{const o=e.color||this.getDefaultColor(i),s=(e.value/t*100).toFixed(1);return r("div",{class:"legend-item",onClick:()=>this.handleSegmentClick(e),style:{cursor:this.interactive?"pointer":"default"}},r("span",{class:"legend-color",style:{backgroundColor:"object"==typeof o&&null!==o?o.from:o}}),e.icon&&r("span",{class:"legend-icon",style:{marginRight:"6px"}},r("ui-icon",{name:e.icon,library:e.iconLibrary||this.iconLibrary,size:"1.1em"})),r("span",{class:"legend-label"},e.label),this.showValues&&r("span",{class:"legend-value"},e.value," (",s,"%)"))}))))}static get watchers(){return{values:[{handleValuesChange:0}]}}};i.style=".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;width:100%}.meter-group{display:flex;flex-direction:column;gap:12px;font-family:inherit}.meter-container{display:flex;border-radius:8px;overflow:hidden;background-color:var(--bg-primary, #e5e7eb)}.meter-horizontal .meter-container{flex-direction:row;width:100%}.meter-horizontal.meter-sm .meter-container{height:16px}.meter-horizontal.meter-md .meter-container{height:24px}.meter-horizontal.meter-lg .meter-container{height:32px}.meter-vertical{flex-direction:row}.meter-vertical .meter-container{flex-direction:column-reverse;height:200px}.meter-vertical.meter-sm .meter-container{width:16px}.meter-vertical.meter-md .meter-container{width:24px}.meter-vertical.meter-lg .meter-container{width:32px}.meter-segment{display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;position:relative}.meter-segment:hover{filter:brightness(1.1)}.meter-value{color:var(--text-standard, #ffffff);font-size:11px;font-weight:600;text-shadow:0 1px 2px rgba(0, 0, 0, 0.3);white-space:nowrap}.meter-horizontal .meter-segment:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.meter-horizontal .meter-segment:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.meter-vertical .meter-segment:first-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.meter-vertical .meter-segment:last-child{border-top-left-radius:8px;border-top-right-radius:8px}.meter-legend{display:flex;flex-wrap:wrap;gap:12px}.legend-item{display:flex;align-items:center;gap:6px;font-size:13px}.legend-color{width:12px;height:12px;border-radius:2px;flex-shrink:0}.legend-label{color:var(--text-secondary, #374151);font-weight:500}.legend-value{color:var(--text-muted, #6b7280);font-size:12px}.meter-circle-container{display:flex;justify-content:center;align-items:center}.meter-circle{width:100%;max-width:200px;height:auto}.meter-circle.meter-sm{max-width:120px}.meter-circle.meter-lg{max-width:280px}.circle-total-value{font-size:20px;font-weight:600;fill:var(--text-secondary, #374151)}.meter-sm .circle-total-value{font-size:14px}.meter-lg .circle-total-value{font-size:26px}";export{i as ui_meter_group}
@@ -1 +1 @@
1
- import{r as t,h as i}from"./p-DUsoYu9r.js";const e=class{constructor(i){t(this,i)}node;activeTabId;renderChild(t,e){return"tabs"!==this.node.type||t.id===this.activeTabId||0===e&&!this.activeTabId||t.id===this.activeTabId?"panel"===t.type?i("lm-panel",{panel:t}):i("lm-container",{node:t}):null}render(){if(!this.node)return i("div",{class:"lm-container lm-empty"},"No configuration node provided");const t=`lm-container lm-${this.node.type}`;if("tabs"===this.node.type||"nav"===this.node.type||"single"===this.node.type){if("single"===this.node.type){const e=this.node.children[0];return i("div",{class:t,"data-id":this.node.id},e?this.renderChild(e,0):i("div",{class:"lm-empty-single"},"Empty"))}const e=this.activeTabId||(this.node.children[0]?this.node.children[0].id:null),n="nav"===this.node.type;return i("div",{class:`${t} ${n?"lm-nav-layout":""}`,"data-id":this.node.id},i("lm-tabs",{panels:this.node.children,activeTabId:e,containerId:this.node.id,mode:n?"vertical":"horizontal"}),i("div",{class:"lm-tab-content"},this.node.children.map(((t,n)=>i("div",{class:"lm-tab-pane",style:{display:t.id===e?"block":"none"}},this.renderChild(t,n))))))}return i("div",{class:t,"data-id":this.node.id},this.node.children.map(((t,e)=>{const n="column"===this.node.type||"vertical"===this.node.type;if(!0===t.collapsed)return null;const o=!this.node.children.slice(e+1).some((t=>!t.collapsed));return[i("div",{class:"lm-child","data-id":t.id,style:{flexGrow:t.size?`${t.size}`:"1",minWidth:t.minWidth?`${t.minWidth}px`:"0",minHeight:t.minHeight?`${t.minHeight}px`:"0"}},"panel"===t.type?i("lm-panel",{panel:t}):i("lm-container",{node:t})),!o&&i("lm-splitter",{containerId:this.node.id,index:e,direction:n?"vertical":"horizontal"})]})))}};e.style=".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;width:100%;height:100%;overflow:hidden;box-sizing:border-box}.lm-container{display:flex;width:100%;height:100%;flex:1;overflow:hidden;box-sizing:border-box}.lm-container.lm-row,.lm-container.lm-horizontal{flex-direction:row}.lm-container.lm-column,.lm-container.lm-vertical{flex-direction:column}.lm-container{}.lm-container.lm-tabs{flex-direction:column}.lm-container{}.lm-container.lm-nav-layout{flex-direction:row;}.lm-container.lm-nav-layout>.lm-tabs{width:48px;flex-direction:column;border-bottom:none;border-right:1px solid var(--border-subtle, #e2e8f0)}.lm-container.lm-nav-layout>.lm-tab-content{flex:1;width:calc(100% - 48px)}.lm-child{display:flex;flex:1;min-width:0;min-height:0;overflow:hidden;position:relative;transition:flex-grow 0.3s cubic-bezier(0.4, 0, 0.2, 1), width 0.3s cubic-bezier(0.4, 0, 0.2, 1), height 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.lm-tab-content{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.lm-tab-pane{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}@media (max-width: 768px){.lm-container.lm-row,.lm-container.lm-horizontal,.lm-container.lm-nav-layout{flex-direction:column !important}.lm-container.lm-nav-layout>.lm-tabs{width:100% !important;flex-direction:row !important;border-right:none;border-bottom:1px solid var(--border-subtle, #e2e8f0);height:auto;overflow-x:auto}.lm-container.lm-nav-layout>.lm-tab-content{width:100% !important}:host-context(.lm-container) .lm-splitter{display:none !important}}";const n=class{constructor(i){t(this,i)}panelId;x=100;y=100;render(){return i("div",{key:"987212734ff21ee0d02c5ae2f0fe144e901d8206",class:"lm-float",style:{left:`${this.x}px`,top:`${this.y}px`},"data-panel-id":this.panelId},i("div",{key:"8b922866c1955c167c6a2e5ea5d30c3c5a6bd57c",class:"lm-float-header"},"Floating - ",this.panelId),i("div",{key:"a0e3f8cd66090fc879b10b7ce0d7005ea6e76381",class:"lm-float-body"},i("slot",{key:"0362df47eeafe69e15151e443b72c62e97ca3300"})))}};n.style="";export{e as lm_container,n as lm_floating_window}
1
+ import{r as t,h as i}from"./p-Dqu2zaH1.js";const n=class{constructor(i){t(this,i)}node;activeTabId;renderChild(t,n){return"tabs"!==this.node.type||t.id===this.activeTabId||0===n&&!this.activeTabId||t.id===this.activeTabId?"panel"===t.type?i("lm-panel",{panel:t}):i("lm-container",{node:t}):null}render(){if(!this.node)return i("div",{class:"lm-container lm-empty"},"No configuration node provided");const t=`lm-container lm-${this.node.type}`;if("tabs"===this.node.type||"nav"===this.node.type||"single"===this.node.type){if("single"===this.node.type){const n=this.node.children[0];return i("div",{class:t,"data-id":this.node.id},n?this.renderChild(n,0):i("div",{class:"lm-empty-single"},"Empty"))}const n=this.activeTabId||(this.node.children[0]?this.node.children[0].id:null),o="nav"===this.node.type;return i("div",{class:`${t} ${o?"lm-nav-layout":""}`,"data-id":this.node.id},i("lm-tabs",{panels:this.node.children,activeTabId:n,containerId:this.node.id,mode:o?"vertical":"horizontal"}),i("div",{class:"lm-tab-content"},this.node.children.map(((t,o)=>i("div",{class:"lm-tab-pane",style:{display:t.id===n?"block":"none"}},this.renderChild(t,o))))))}return i("div",{class:t,"data-id":this.node.id},this.node.children.map(((t,n)=>{const o="column"===this.node.type||"vertical"===this.node.type;if(!0===t.collapsed)return null;const e=!this.node.children.slice(n+1).some((t=>!t.collapsed));return[i("div",{class:"lm-child","data-id":t.id,style:{flexGrow:t.size?`${t.size}`:"1",minWidth:t.minWidth?`${t.minWidth}px`:"0",minHeight:t.minHeight?`${t.minHeight}px`:"0"}},"panel"===t.type?i("lm-panel",{panel:t}):i("lm-container",{node:t})),!e&&i("lm-splitter",{containerId:this.node.id,index:n,direction:o?"vertical":"horizontal"})]})))}};n.style=".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;width:100%;height:100%;overflow:hidden;box-sizing:border-box}.lm-container{display:flex;width:100%;height:100%;flex:1;overflow:hidden;box-sizing:border-box}.lm-container.lm-row,.lm-container.lm-horizontal{flex-direction:row}.lm-container.lm-column,.lm-container.lm-vertical{flex-direction:column}.lm-container{}.lm-container.lm-tabs{flex-direction:column}.lm-container{}.lm-container.lm-nav-layout{flex-direction:row;}.lm-container.lm-nav-layout>.lm-tabs{width:48px;flex-direction:column;border-bottom:none;border-right:1px solid var(--border-subtle, #e2e8f0)}.lm-container.lm-nav-layout>.lm-tab-content{flex:1;width:calc(100% - 48px)}.lm-child{display:flex;flex:1;min-width:0;min-height:0;overflow:hidden;position:relative;transition:flex-grow 0.3s cubic-bezier(0.4, 0, 0.2, 1), width 0.3s cubic-bezier(0.4, 0, 0.2, 1), height 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.lm-tab-content{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.lm-tab-pane{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}@media (max-width: 768px){.lm-container.lm-row,.lm-container.lm-horizontal,.lm-container.lm-nav-layout{flex-direction:column !important}.lm-container.lm-nav-layout>.lm-tabs{width:100% !important;flex-direction:row !important;border-right:none;border-bottom:1px solid var(--border-subtle, #e2e8f0);height:auto;overflow-x:auto}.lm-container.lm-nav-layout>.lm-tab-content{width:100% !important}:host-context(.lm-container) .lm-splitter{display:none !important}}";const o=class{constructor(i){t(this,i)}panelId;x=100;y=100;render(){return i("div",{key:"92b28396c12cabbdffd7dd788ceb74be31bfde0f",class:"lm-float",style:{left:`${this.x}px`,top:`${this.y}px`},"data-panel-id":this.panelId},i("div",{key:"0f7457be8d396fdf15364b7c0041a795059c5556",class:"lm-float-header"},"Floating - ",this.panelId),i("div",{key:"5b34d95c36696850776f264b13f04c95a33376b4",class:"lm-float-body"},i("slot",{key:"ca6fa102f1477c914ac5ba84e1845704f0c5ba02"})))}};o.style="";export{n as lm_container,o as lm_floating_window}
@@ -0,0 +1 @@
1
+ import{r as a,c as r,a as t,h as e,H as o}from"./p-Dqu2zaH1.js";import{s as i}from"./p-Dyu3Nplq.js";const d=class{constructor(t){a(this,t),this.cardFlip=r(this,"cardFlip"),this.menuItemClick=r(this,"menuItemClick"),this.expandToggle=r(this,"expandToggle"),this.cardToggle=r(this,"cardToggle"),this.cardClick=r(this,"cardClick"),this.cardSelect=r(this,"cardSelect"),this.cardClose=r(this,"cardClose"),this.menuActionClick=r(this,"menuActionClick")}get element(){return t(this)}cardId="";cardTitle="";variant="default";size="default";layout="vertical";color="default";displayMode="default";shape="default";glass=!1;bordered=!0;border="";borderRadius="8px";importance="standard";pattern="default";headStyle={};bodyStyle={};type="default";width="100%";height="auto";aspectRatio="16/9";hoverable=!1;flippable=!1;flipTrigger="click";flipped=!1;collapsible=!1;collapsed=!1;closable=!1;closed=!1;selectable=!1;selected=!1;clickable=!1;href="";target="";tilt=!1;magnetic=!1;cover="";coverAlt="Card cover";extra="";avatar="";avatarIcon="";ribbon="";ribbonPosition="top-right";ribbonColor="";description="";tag="";buttonText="";actions="";showMenu=!1;menuItems="[]";menuActions="";iconLibrary="default";loading=!1;autoScroll=!1;scrollBehavior="smooth";isFlipped=!1;isMenuOpen=!1;isCollapsed=!1;isClosed=!1;parsedMenuItems=[];magneticTransform="";tiltTransform="";cardFlip;menuItemClick;expandToggle;cardToggle;cardClick;cardSelect;cardClose;menuActionClick;menuRef;handleMenuPropsChange(){this.parseMenuItems()}handleFlippedChange(a){this.isFlipped=a}handleCollapsedChange(a){this.isCollapsed=a}handleClosedChange(a){this.isClosed=a}componentWillLoad(){this.parseMenuItems(),this.isFlipped=this.flipped,this.isCollapsed=this.collapsed,this.isClosed=this.closed}handleClickOutside(a){this.isMenuOpen&&this.menuRef&&!this.menuRef.contains(a.target)&&(this.isMenuOpen=!1)}parseMenuItems(){let a=[];if(this.menuItems&&"[]"!==this.menuItems)try{a=JSON.parse(this.menuItems)}catch(a){console.error("Invalid JSON for menu items:",a)}this.menuActions&&this.menuActions.split(",").map((a=>a.trim())).forEach((r=>{r&&a.push({id:r.toLowerCase().replace(/\s+/g,"-"),label:r})})),this.parsedMenuItems=a}toggleFlip=a=>{a&&a.stopPropagation(),this.flippable&&(this.isFlipped=!this.isFlipped,this.flipped=this.isFlipped,this.cardFlip.emit(this.isFlipped))};toggleCollapse=a=>{a&&a.stopPropagation(),this.collapsible&&(this.isCollapsed=!this.isCollapsed,this.collapsed=this.isCollapsed,this.cardToggle.emit(!this.isCollapsed),this.expandToggle.emit({expanded:!this.isCollapsed}),this.autoScroll&&!this.isCollapsed&&setTimeout((()=>{this.element.scrollIntoView({behavior:this.scrollBehavior,block:"nearest"})}),300))};async scrollToCard(){this.element.scrollIntoView({behavior:this.scrollBehavior,block:"nearest"})}toggleMenu=a=>{a.stopPropagation(),this.isMenuOpen=!this.isMenuOpen};handleMenuItemClick=(a,r)=>{r.stopPropagation();const t=this.parsedMenuItems.find((r=>r.id===a));t?.disabled||(this.menuItemClick.emit({itemId:a,cardId:this.cardId}),this.menuActionClick.emit(a),this.isMenuOpen=!1)};handleCardClick=a=>{const r=a.target;if(!(r.closest("button")||r.closest(".menu-dropdown")||r.closest(".card-actions")||r.closest(".card-action-btn"))){if(!this.flippable||"click"!==this.flipTrigger)return this.selectable?(this.selected=!this.selected,void this.cardSelect.emit(this.selected)):void(this.href?"_blank"===this.target?window.open(this.href,"_blank"):window.location.href=this.href:this.clickable&&this.cardClick.emit());this.toggleFlip(a)}};handleMouseEnter=a=>{this.flippable&&"hover"===this.flipTrigger&&(this.isFlipped=!0,this.flipped=!0,this.cardFlip.emit(!0)),this.handleMouseMove(a)};handleMouseLeave=()=>{this.flippable&&"hover"===this.flipTrigger&&(this.isFlipped=!1,this.flipped=!1,this.cardFlip.emit(!1)),this.tiltTransform="",this.magneticTransform=""};handleMouseMove=a=>{if(!this.magnetic&&!this.tilt||this.loading)return;const r=this.element.getBoundingClientRect(),t=a.clientX-(r.left+r.width/2),e=a.clientY-(r.top+r.height/2);if(this.magnetic){const a=20;this.magneticTransform=`translate(${t/a}px, ${e/a}px)`}this.tilt&&(this.tiltTransform=`perspective(1000px) rotateX(${e/(r.height/2)*-15}deg) rotateY(${t/(r.width/2)*15}deg)`)};handleClose=a=>{a.stopPropagation(),this.isClosed=!0,this.closed=!0,this.cardClose.emit()};renderMenu(){return this.showMenu||this.parsedMenuItems.length>0?e("div",{class:"menu-container",ref:a=>this.menuRef=a},e("ui-button",{variant:"ghost",onClick:this.toggleMenu,ariaLabel:"Card menu",icon:"more-vertical",iconLibrary:"lucide",iconOnly:!0,size:"sm"}),this.isMenuOpen&&e("div",{class:"menu-dropdown",role:"menu"},this.parsedMenuItems.map((a=>a.separator?e("div",{class:"menu-separator",role:"separator"}):e("ui-button",{variant:"ghost",onClick:r=>this.handleMenuItemClick(a.id,r),disabled:a.disabled,label:a.label,icon:a.icon,iconLibrary:a.iconLibrary||this.iconLibrary,fullWidth:!0,align:"start",size:"sm"}))))):null}renderSkeleton(){return e("div",{class:"skeleton-wrapper"},e("div",{class:"skeleton-header"},e("div",{class:"skeleton-avatar"}),e("div",{class:"skeleton-title-group"},e("div",{class:"skeleton-text skeleton-title"}),e("div",{class:"skeleton-text skeleton-subtitle"}))),e("div",{class:"skeleton-content"},e("div",{class:"skeleton-text full"}),e("div",{class:"skeleton-text full"}),e("div",{class:"skeleton-text half"})))}renderSelectionIndicator(){return this.selectable?e("div",{class:"selection-indicator "+(this.selected?"selected":"")},this.selected&&e("ui-icon",{name:"check",library:"lucide",size:"1.2em",class:"check-icon"})):null}renderHeader(){return this.cardTitle||this.extra||this.avatar||this.avatarIcon||this.closable||this.collapsible||this.showMenu||this.parsedMenuItems.length>0?e("div",{class:"card-header",style:this.headStyle},e("div",{class:"card-header-main"},(this.avatar||this.avatarIcon)&&e("div",{class:"card-avatar"},this.avatar?e("img",{src:this.avatar,alt:"avatar",class:"card-avatar-img"}):e("ui-icon",{name:this.avatarIcon,library:this.iconLibrary,size:"1.2em"})),e("div",{class:"card-title-group"},this.cardTitle&&e("div",{class:"card-title-text"},this.cardTitle),e("slot",{name:"header"}),e("slot",{name:"title"}))),e("div",{class:"card-actions"},this.extra&&e("div",{class:"card-extra",innerHTML:i(this.extra)}),e("slot",{name:"extra"}),e("slot",{name:"actions"}),this.collapsible&&e("ui-button",{variant:"ghost",onClick:this.toggleCollapse,ariaLabel:this.isCollapsed?"Expand":"Collapse",icon:this.isCollapsed?"chevron-down":"chevron-up",iconLibrary:"lucide",iconOnly:!0,size:"sm"}),this.renderMenu(),this.closable&&e("ui-button",{variant:"ghost",onClick:this.handleClose,ariaLabel:"Close",icon:"x",iconLibrary:"lucide",iconOnly:!0,size:"sm"}))):null}renderCover(){return this.cover||this.element.querySelector('[slot="cover"]')?e("div",{class:"card-cover",style:{aspectRatio:this.aspectRatio}},this.cover&&e("img",{src:this.cover,alt:this.coverAlt}),e("slot",{name:"cover"})):null}renderFooter(){const a=this.actions?this.actions.split(",").map((a=>a.trim())):[];return this.buttonText||a.length>0||this.element.querySelector('[slot="footer"]')?e("div",{class:"card-footer"},this.buttonText&&e("ui-button",{variant:"primary",label:this.buttonText}),a.length>0&&e("ul",{class:"card-quick-actions"},a.map((a=>e("li",null,e("span",{innerHTML:i(a)}))))),e("slot",{name:"footer"})):null}renderFrontCard(){return e("div",{class:{"card-face-content":!0,"card-collapsed":this.isCollapsed,"card-hoverable":this.hoverable,"card-selectable":this.selectable,"card-selected":this.selected,"card-clickable":!(!this.href&&!this.clickable||this.flippable),"card-glass":this.glass,"has-open-menu":this.isMenuOpen,[`card-layout-${this.layout}`]:!0,[`card-importance-${this.importance}`]:!0,[`card-pattern-${this.pattern}`]:!0,[`card-type-${this.type}`]:!0,[`card-variant-${this.variant}`]:!0,[`card-color-${this.color}`]:!0},style:{borderRadius:this.borderRadius,border:this.selected?"2px solid var(--ui-card-selected-border, #3bf673)":this.bordered?this.border||void 0:"none"}},this.renderCover(),e("div",{class:"card-details-wrapper"},this.renderHeader(),e("slot",{name:"tabs"}),!this.isCollapsed&&[e("div",{class:"card-content",style:this.bodyStyle},e("slot",null),e("slot",{name:"content"}),this.description&&e("div",{class:"card-description"},this.description),this.tag&&e("div",{class:"card-tag"},this.tag)),this.renderFooter(),e("slot",{name:"grid"})]))}renderBackCard(){if(!this.flippable)return null;const a={borderRadius:this.borderRadius,border:this.bordered?this.border||void 0:"none"};return e("div",{class:{"card-face-content":!0,"card-back":!0,[`card-variant-${this.variant}`]:!0,[`card-color-${this.color}`]:!0},style:a},e("div",{class:"card-back-header"},e("ui-button",{variant:"ghost",onClick:this.toggleFlip,ariaLabel:"Flip card back",icon:"arrow-left",iconLibrary:"lucide",iconOnly:!0,size:"sm"})),e("div",{class:"card-content"},e("slot",{name:"back"},e("div",{class:"card-back-default"},e("h3",null,"Back Side"),e("p",null,'Add content to the "back" slot to customize this side.'))),e("slot",{name:"back-content"})))}render(){const a=["ui-card",`variant-${"string"==typeof this.variant?this.variant:"default"}`,`color-${"string"==typeof this.color?this.color:"default"}`,`size-${"string"==typeof this.size?this.size:"md"}`,this.isFlipped&&"is-flipped",this.loading&&"is-loading",this.flippable&&"is-flippable",this.isClosed&&"is-closed"].filter(Boolean).join(" ");return e(o,{key:"d3957a8995d121511a78f4639c913d09f276f23a",class:a,style:{width:"string"==typeof this.width?this.width:void 0,height:"string"==typeof this.height?this.height:void 0},onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},this.ribbon&&e("div",{key:"d6876c833f4b02af4b78b370e3168b4ea1630f87",class:`card-ribbon ribbon-${this.ribbonPosition}`,style:this.ribbonColor?{backgroundColor:this.ribbonColor}:{}},e("span",{key:"a42c047dd8f66aca2754b18fc8e3a335dde47c74"},this.ribbon)),this.loading?e("div",{class:"card-loading-container",style:{borderRadius:this.borderRadius}},this.renderSkeleton()):e("div",{class:"card-container",onClick:this.handleCardClick,onMouseMove:this.handleMouseMove,style:{transform:`${this.magneticTransform} ${this.tiltTransform}`,transition:this.magneticTransform||this.tiltTransform?"none":"transform 0.5s cubic-bezier(0.23, 1, 0.32, 1)"}},this.flippable?e("div",{class:"card-flipper"},e("div",{class:"card-face face-front"},this.renderFrontCard(),this.renderSelectionIndicator()),e("div",{class:"card-face face-back"},this.renderBackCard())):[this.renderFrontCard(),this.renderSelectionIndicator()]))}static get watchers(){return{menuItems:[{handleMenuPropsChange:0}],menuActions:[{handleMenuPropsChange:0}],flipped:[{handleFlippedChange:0}],collapsed:[{handleCollapsedChange:0}],closed:[{handleClosedChange:0}]}}};d.style='.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;box-sizing:border-box;--ui-card-selected-border:var(--color-primary, #10b981);--ui-card-primary:var(--color-primary, #10b981);--ui-card-success:var(--color-success, #10b981);--ui-card-warning:var(--color-warning, #f59e0b);--ui-card-danger:var(--color-danger, #ef4444);--ui-card-info:var(--color-info, #06b6d4)}:host *{box-sizing:border-box}.ui-card{font-family:var(--ui-font-family, inherit);position:relative;width:100%;height:100%;transition:transform 0.3s ease, box-shadow 0.3s ease}.card-container{position:relative;width:100%;height:100%;perspective:1000px}.card-flipper{position:relative;width:100%;height:100%;transition:transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);transform-style:preserve-3d}:host(.is-flipped) .card-flipper{transform:rotateY(180deg)}:host(.is-flippable){min-height:var(--ui-card-flip-min-height, 280px)}:host(.is-flippable) .card-container{min-height:var(--ui-card-flip-min-height, 280px)}:host(.is-closed){display:none !important}.card-face{position:absolute;top:0;left:0;width:100%;height:min-content;min-height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex}.face-back{transform:rotateY(180deg)}.card-face-content{display:flex;flex-direction:column;width:100%;background:var(--ui-card-bg, var(--bg-primary, #ffffff));border-radius:var(--ui-card-radius, 8px);overflow:hidden;transition:all 0.3s ease;border:1px solid var(--ui-card-border-color, var(--border-default, #e5e7eb));box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);position:relative}.card-face-content.has-open-menu{overflow:visible !important;z-index:100 !important}.card-details-wrapper{display:flex;flex-direction:column;flex:1;width:100%}.card-variant-elevated{box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)}.card-variant-outlined{box-shadow:none;border:2px solid var(--ui-card-border-color, var(--border-default, #e5e7eb))}.card-variant-filled{background-color:var(--bg-primary, #f9fafb);border:none}.card-variant-primary{border-left:4px solid var(--ui-card-primary)}.card-variant-primary .card-header{background:linear-gradient(to right, rgba(var(--color-primary-rgb, 59, 130, 246), 0.1), transparent)}.card-variant-success{border-left:4px solid var(--ui-card-success)}.card-variant-success .card-header{background:linear-gradient(to right, rgba(var(--color-success-rgb, 16, 185, 129), 0.1), transparent)}.card-variant-warning{border-left:4px solid var(--ui-card-warning)}.card-variant-warning .card-header{background:linear-gradient(to right, rgba(var(--color-warning-rgb, 245, 158, 11), 0.1), transparent)}.card-variant-danger{border-left:4px solid var(--ui-card-danger)}.card-variant-danger .card-header{background:linear-gradient(to right, rgba(var(--color-danger-rgb, 239, 68, 68), 0.1), transparent)}.card-variant-info{border-left:4px solid var(--ui-card-info)}.card-variant-info .card-header{background:linear-gradient(to right, rgba(6, 182, 212, 0.1), transparent)}.card-variant-status{border:1px solid var(--border-default, #e5e7eb);transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.card-variant-status.card-color-primary{border:1.5px solid var(--ui-card-primary);background:color-mix(in srgb, var(--ui-card-primary) 5%, var(--ui-card-bg, var(--bg-primary, #ffffff)))}.card-variant-status.card-color-primary .card-header{border-bottom-color:color-mix(in srgb, var(--ui-card-primary) 15%, var(--border-default, #e5e7eb))}.card-variant-status.card-color-success{border:1.5px solid var(--ui-card-success);background:color-mix(in srgb, var(--ui-card-success) 5%, var(--ui-card-bg, var(--bg-primary, #ffffff)))}.card-variant-status.card-color-success .card-header{border-bottom-color:color-mix(in srgb, var(--ui-card-success) 15%, var(--border-default, #e5e7eb))}.card-variant-status.card-color-warning{border:1.5px solid var(--ui-card-warning);background:color-mix(in srgb, var(--ui-card-warning) 5%, var(--ui-card-bg, var(--bg-primary, #ffffff)))}.card-variant-status.card-color-warning .card-header{border-bottom-color:color-mix(in srgb, var(--ui-card-warning) 15%, var(--border-default, #e5e7eb))}.card-variant-status.card-color-danger{border:1.5px solid var(--ui-card-danger);background:color-mix(in srgb, var(--ui-card-danger) 5%, var(--ui-card-bg, var(--bg-primary, #ffffff)))}.card-variant-status.card-color-danger .card-header{border-bottom-color:color-mix(in srgb, var(--ui-card-danger) 15%, var(--border-default, #e5e7eb))}.card-variant-status.card-color-info{border:1.5px solid var(--ui-card-info);background:color-mix(in srgb, var(--ui-card-info) 5%, var(--ui-card-bg, var(--bg-primary, #ffffff)))}.card-variant-status.card-color-info .card-header{border-bottom-color:color-mix(in srgb, var(--ui-card-info) 15%, var(--border-default, #e5e7eb))}.card-importance-emphasized{box-shadow:0 10px 30px rgba(0, 0, 0, 0.15);border:none;background:linear-gradient(135deg, var(--bg-secondary, #111827) 0%, var(--color-primary, #374151) 100%);color:var(--text-standard, #ffffff)}.card-importance-emphasized .card-title-text,.card-importance-emphasized .card-content,.card-importance-emphasized .card-extra,.card-importance-emphasized .card-description{color:var(--text-standard, #ffffff)}.card-importance-emphasized .card-header,.card-importance-emphasized .card-footer{border-bottom-color:rgba(255, 255, 255, 0.1);border-top-color:rgba(255, 255, 255, 0.1)}.card-importance-emphasized .card-action-btn{color:rgba(255, 255, 255, 0.7)}.card-importance-emphasized .card-action-btn:hover{background:rgba(255, 255, 255, 0.1);color:var(--text-standard, #ffffff)}.card-pattern-shortcut{text-align:center;padding:32px 24px;align-items:center}.card-pattern-shortcut .card-header{border-bottom:none;padding:0;margin-bottom:16px;flex-direction:column}.card-pattern-shortcut .card-header-main{flex-direction:column;gap:12px}.card-pattern-shortcut .card-title-text{font-size:20px;text-align:center}.card-pattern-shortcut .card-avatar{margin:0 auto 8px;width:64px;height:64px}.card-pattern-shortcut .card-avatar i{font-size:32px}.card-pattern-product .card-cover{background:var(--bg-primary, #f7f7f7)}.card-pattern-product .card-content{padding-top:16px}.card-type-inner{background:var(--bg-primary, #fafafa)}.card-type-inner .card-header{background:transparent;padding:12px 16px;min-height:48px}.card-type-inner .card-content{padding:16px}.card-glass{background:rgba(255, 255, 255, 0.4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255, 255, 255, 0.3);box-shadow:0 8px 32px 0 rgba(31, 38, 135, 0.1)}.card-selectable{cursor:pointer;border:2px solid transparent !important}.card-selectable:hover{border-color:var(--border-subtle, #e6f7ff) !important;box-shadow:0 4px 12px rgba(0, 0, 0, 0.08)}.card-selected{border-color:var(--ui-card-selected-border) !important;box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 59, 130, 246), 0.1)}.selection-indicator{position:absolute;top:8px;right:8px;width:24px;height:24px;background:var(--ui-card-selected-border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-standard, #ffffff);opacity:0;transform:scale(0.5);transition:all 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);z-index:10}.selection-indicator.selected{opacity:1;transform:scale(1)}.card-ribbon{position:absolute;z-index:20;padding:4px 16px;background:var(--ui-card-primary);color:var(--text-standard, #ffffff);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;box-shadow:0 2px 4px rgba(0, 0, 0, 0.2)}.card-ribbon.ribbon-top-right{top:12px;right:-8px;border-radius:4px 0 0 4px}.card-ribbon.ribbon-top-right::after{content:"";position:absolute;right:0;bottom:-8px;border-right:8px solid transparent;border-top:8px solid rgba(0, 0, 0, 0.3)}.card-ribbon.ribbon-top-left{top:12px;left:-8px;border-radius:0 4px 4px 0}.card-ribbon.ribbon-top-left::after{content:"";position:absolute;left:0;bottom:-8px;border-left:8px solid transparent;border-top:8px solid rgba(0, 0, 0, 0.3)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle, #f3f4f6);min-height:56px;gap:12px;transition:all 0.3s ease}.card-contain-tabs .card-header{border-bottom:none;padding-bottom:0}.card-header-main{display:flex;align-items:center;gap:12px;flex:1}.card-avatar{width:40px;height:40px;border-radius:50%;background:var(--bg-secondary, #f3f4f6);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.card-avatar i{font-size:18px;color:var(--text-muted, #9ca3af)}.card-avatar-img{width:100%;height:100%;object-fit:cover}.card-title-text{font-weight:700;font-size:16px;color:var(--text-primary, #111827)}.card-actions{display:flex;align-items:center;gap:4px}.card-extra{font-size:13px;color:var(--text-muted, #6b7280)}.card-action-btn{width:32px;height:32px;padding:0;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--text-muted, #6b7280);display:flex;align-items:center;justify-content:center;transition:all 0.2s}.card-action-btn:hover{background:var(--bg-secondary, #f3f4f6);color:var(--text-primary, #111827)}.card-cover{width:100%;overflow:hidden}.card-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.5s ease}.card-hoverable:hover .card-cover img{transform:scale(1.05)}.card-content{padding:20px;flex:1;color:var(--text-secondary, #4b5563);line-height:1.6}.card-description{margin-top:12px;color:var(--text-muted, #6b7280);font-size:14px}.card-tag{display:inline-block;margin-top:12px;padding:2px 10px;background:var(--bg-secondary, #f3f4f6);border-radius:99px;font-size:12px;color:var(--text-secondary, #4b5563);font-weight:500}.card-footer{padding:16px 20px;border-top:1px solid var(--border-subtle, #f3f4f6);display:flex;flex-direction:column;gap:12px}.card-primary-btn{width:100%;padding:10px;background:var(--ui-card-primary);color:var(--text-standard, #ffffff);border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:opacity 0.2s}.card-primary-btn:hover{opacity:0.9}.card-quick-actions{list-style:none;padding:0;margin:16px -20px -16px;display:flex;background:var(--bg-primary, #fafafa);border-top:1px solid var(--border-subtle, #f3f4f6)}.card-quick-actions li{flex:1;padding:12px 16px;text-align:center;color:var(--text-secondary, #4b5563);font-weight:500;cursor:pointer;transition:all 0.2s;border-right:1px solid var(--border-subtle, #f3f4f6)}.card-quick-actions li:last-child{border-right:none}.card-quick-actions li:hover{background:var(--bg-secondary, #f3f4f6);color:var(--ui-card-primary)}.card-layout-horizontal{flex-direction:row !important}.card-layout-horizontal .card-cover{width:35% !important;max-width:300px;height:auto !important;flex-shrink:0}.card-layout-horizontal .card-details-wrapper{flex:1}@media (max-width: 768px){.card-layout-horizontal{flex-direction:column !important}.card-layout-horizontal .card-cover{width:100% !important;max-width:none;aspect-ratio:16/9}}::slotted([slot=grid]){display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1px;background:var(--bg-secondary, #f3f4f6);border-top:1px solid var(--border-subtle, #f3f4f6)}::slotted([slot=grid]) ui-card{margin:0;--ui-card-radius:0}.menu-container{position:relative}.menu-dropdown{position:absolute;top:100%;right:0;background:var(--bg-primary, #ffffff);border-radius:8px;box-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);border:1px solid var(--border-subtle, #f3f4f6);padding:6px;min-width:160px;z-index:100;margin-top:4px;animation:slideDown 0.2s ease}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.menu-item{width:100%;padding:8px 12px;border:none;background:transparent;display:flex;align-items:center;gap:8px;border-radius:4px;cursor:pointer;font-size:14px;color:var(--text-secondary, #374151)}.menu-item:hover{background:var(--bg-primary, #f9fafb);color:var(--text-primary, #111827)}.menu-item.menu-item-disabled{opacity:0.5;cursor:not-allowed}.menu-separator{height:1px;background:var(--bg-secondary, #f3f4f6);margin:4px -6px}.card-loading-container{background:var(--bg-primary, #ffffff);border:1px solid var(--border-default, #e5e7eb);padding:20px}.skeleton-wrapper{display:flex;flex-direction:column;gap:16px}.skeleton-header{display:flex;align-items:center;gap:12px}.skeleton-title-group{display:flex;flex-direction:column;gap:8px;flex:1}.skeleton-content{display:flex;flex-direction:column;gap:8px}.skeleton-avatar{background:var(--bg-secondary, #f3f4f6);width:48px;height:48px;border-radius:50%;flex-shrink:0}.skeleton-text{background:var(--bg-secondary, #f3f4f6);height:16px;border-radius:4px;position:relative;overflow:hidden}.skeleton-text.skeleton-title{width:60%}.skeleton-text.skeleton-subtitle{width:40%;height:12px}.skeleton-text.full{width:100%}.skeleton-text.half{width:50%}.skeleton-text::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);animation:loading-shimmer 1.5s infinite}@keyframes loading-shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}.card-hoverable:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)}.card-clickable{cursor:pointer}:host-context(.dark) .card-face-content,:host-context([data-theme=dark]) .card-face-content,:host(.dark) .card-face-content,:host([data-theme=dark]) .card-face-content{background:var(--bg-primary, #1f2937);border-color:var(--border-default, #374151);color:var(--text-standard, #f3f4f6)}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .card-variant-primary:not(.card-importance-emphasized),:host-context([data-theme=dark]) .card-variant-primary:not(.card-importance-emphasized),:host(.dark) .card-variant-primary:not(.card-importance-emphasized),:host([data-theme=dark]) .card-variant-primary:not(.card-importance-emphasized){border-left:4px solid var(--ui-card-primary) !important}:host-context(.dark) .card-variant-success:not(.card-importance-emphasized),:host-context([data-theme=dark]) .card-variant-success:not(.card-importance-emphasized),:host(.dark) .card-variant-success:not(.card-importance-emphasized),:host([data-theme=dark]) .card-variant-success:not(.card-importance-emphasized){border-left:4px solid var(--ui-card-success) !important}:host-context(.dark) .card-variant-warning:not(.card-importance-emphasized),:host-context([data-theme=dark]) .card-variant-warning:not(.card-importance-emphasized),:host(.dark) .card-variant-warning:not(.card-importance-emphasized),:host([data-theme=dark]) .card-variant-warning:not(.card-importance-emphasized){border-left:4px solid var(--ui-card-warning) !important}:host-context(.dark) .card-variant-danger:not(.card-importance-emphasized),:host-context([data-theme=dark]) .card-variant-danger:not(.card-importance-emphasized),:host(.dark) .card-variant-danger:not(.card-importance-emphasized),:host([data-theme=dark]) .card-variant-danger:not(.card-importance-emphasized){border-left:4px solid var(--ui-card-danger) !important}:host-context(.dark) .card-variant-info:not(.card-importance-emphasized),:host-context([data-theme=dark]) .card-variant-info:not(.card-importance-emphasized),:host(.dark) .card-variant-info:not(.card-importance-emphasized),:host([data-theme=dark]) .card-variant-info:not(.card-importance-emphasized){border-left:4px solid var(--ui-card-info) !important}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .card-variant-status,:host-context([data-theme=dark]) .card-variant-status,:host(.dark) .card-variant-status,:host([data-theme=dark]) .card-variant-status{border-color:var(--border-default, #374151)}:host-context(.dark) .card-variant-status.card-color-primary,:host-context([data-theme=dark]) .card-variant-status.card-color-primary,:host(.dark) .card-variant-status.card-color-primary,:host([data-theme=dark]) .card-variant-status.card-color-primary{border-color:var(--ui-card-primary) !important;background:color-mix(in srgb, var(--ui-card-primary) 8%, var(--bg-primary, #1f2937)) !important}:host-context(.dark) .card-variant-status.card-color-success,:host-context([data-theme=dark]) .card-variant-status.card-color-success,:host(.dark) .card-variant-status.card-color-success,:host([data-theme=dark]) .card-variant-status.card-color-success{border-color:var(--ui-card-success) !important;background:color-mix(in srgb, var(--ui-card-success) 8%, var(--bg-primary, #1f2937)) !important}:host-context(.dark) .card-variant-status.card-color-warning,:host-context([data-theme=dark]) .card-variant-status.card-color-warning,:host(.dark) .card-variant-status.card-color-warning,:host([data-theme=dark]) .card-variant-status.card-color-warning{border-color:var(--ui-card-warning) !important;background:color-mix(in srgb, var(--ui-card-warning) 8%, var(--bg-primary, #1f2937)) !important}:host-context(.dark) .card-variant-status.card-color-danger,:host-context([data-theme=dark]) .card-variant-status.card-color-danger,:host(.dark) .card-variant-status.card-color-danger,:host([data-theme=dark]) .card-variant-status.card-color-danger{border-color:var(--ui-card-danger) !important;background:color-mix(in srgb, var(--ui-card-danger) 8%, var(--bg-primary, #1f2937)) !important}:host-context(.dark) .card-variant-status.card-color-info,:host-context([data-theme=dark]) .card-variant-status.card-color-info,:host(.dark) .card-variant-status.card-color-info,:host([data-theme=dark]) .card-variant-status.card-color-info{border-color:var(--ui-card-info) !important;background:color-mix(in srgb, var(--ui-card-info) 8%, var(--bg-primary, #1f2937)) !important}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .card-importance-emphasized,:host-context([data-theme=dark]) .card-importance-emphasized,:host(.dark) .card-importance-emphasized,:host([data-theme=dark]) .card-importance-emphasized{border:none !important;background:linear-gradient(135deg, var(--bg-secondary, #111827) 0%, var(--color-primary, #374151) 100%) !important;color:var(--text-standard, #ffffff) !important}:host-context(.dark) .card-importance-emphasized .card-title-text,:host-context(.dark) .card-importance-emphasized .card-content,:host-context(.dark) .card-importance-emphasized .card-extra,:host-context(.dark) .card-importance-emphasized .card-description,:host-context([data-theme=dark]) .card-importance-emphasized .card-title-text,:host-context([data-theme=dark]) .card-importance-emphasized .card-content,:host-context([data-theme=dark]) .card-importance-emphasized .card-extra,:host-context([data-theme=dark]) .card-importance-emphasized .card-description,:host(.dark) .card-importance-emphasized .card-title-text,:host(.dark) .card-importance-emphasized .card-content,:host(.dark) .card-importance-emphasized .card-extra,:host(.dark) .card-importance-emphasized .card-description,:host([data-theme=dark]) .card-importance-emphasized .card-title-text,:host([data-theme=dark]) .card-importance-emphasized .card-content,:host([data-theme=dark]) .card-importance-emphasized .card-extra,:host([data-theme=dark]) .card-importance-emphasized .card-description{color:var(--text-standard, #ffffff) !important}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .card-glass,:host-context([data-theme=dark]) .card-glass,:host(.dark) .card-glass,:host([data-theme=dark]) .card-glass{background:rgba(15, 23, 42, 0.45) !important;border-color:rgba(255, 255, 255, 0.08) !important;backdrop-filter:blur(12px) !important;-webkit-backdrop-filter:blur(12px) !important}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .card-selected,:host-context([data-theme=dark]) .card-selected,:host(.dark) .card-selected,:host([data-theme=dark]) .card-selected{border-color:var(--ui-card-selected-border) !important}:host-context(.dark) .card-title-text,:host-context([data-theme=dark]) .card-title-text,:host(.dark) .card-title-text,:host([data-theme=dark]) .card-title-text{color:var(--text-standard, #f9fafb)}:host-context(.dark) .card-header,:host-context([data-theme=dark]) .card-header,:host(.dark) .card-header,:host([data-theme=dark]) .card-header{border-bottom-color:var(--border-default, #374151)}:host-context(.dark) .card-footer,:host-context([data-theme=dark]) .card-footer,:host(.dark) .card-footer,:host([data-theme=dark]) .card-footer{border-top-color:var(--border-default, #374151)}:host-context(.dark) .menu-dropdown,:host-context([data-theme=dark]) .menu-dropdown,:host(.dark) .menu-dropdown,:host([data-theme=dark]) .menu-dropdown{background:var(--bg-primary, #1f2937);border-color:var(--border-default, #374151)}:host-context(.dark) .menu-item,:host-context([data-theme=dark]) .menu-item,:host(.dark) .menu-item,:host([data-theme=dark]) .menu-item{color:var(--bg-secondary, #d1d5db)}:host-context(.dark) .menu-item:hover,:host-context([data-theme=dark]) .menu-item:hover,:host(.dark) .menu-item:hover,:host([data-theme=dark]) .menu-item:hover{background:var(--color-primary, #374151);color:var(--text-standard, #f9fafb)}:host-context(.dark) .skeleton-text,:host-context(.dark) .skeleton-avatar,:host-context([data-theme=dark]) .skeleton-text,:host-context([data-theme=dark]) .skeleton-avatar,:host(.dark) .skeleton-text,:host(.dark) .skeleton-avatar,:host([data-theme=dark]) .skeleton-text,:host([data-theme=dark]) .skeleton-avatar{background:var(--bg-secondary, #374151)}';export{d as ui_card}
@@ -0,0 +1 @@
1
+ import{r as t,c as i,a as s,h as a,H as r}from"./p-Dqu2zaH1.js";import{n as c}from"./p-C7gf39HE.js";const h=class{constructor(s){t(this,s),this.switchChange=i(this,"switchChange"),this.switchFocus=i(this,"switchFocus"),this.switchBlur=i(this,"switchBlur"),this.switchConfirm=i(this,"switchConfirm"),this.switchSuccess=i(this,"switchSuccess")}get el(){return s(this)}checked=!1;disabled=!1;readonly=!1;invalid=!1;loading=!1;size="md";color="primary";variant="solid";shape="default";width;label="";labelPosition="right";elevation=0;thumbShape="circle";iconOff;iconOn;showIcons=!1;enableAnimation=!0;orientation="horizontal";helperText="";errorMessage="";checkedText="";uncheckedText="";showTrackText=!1;rtl=!1;formId="";name="";value="on";physics="liquid";glow=!1;requireConfirmation=!1;confirmationMessage="Are you sure you want to change this?";indeterminate=!1;showSuccessFeedback=!1;switchTabIndex=0;ariaLabel="";gradient=!1;gradientColors="";autoSubmit=!1;showDefaultIcons=!1;required=!1;haptic=!1;description;descriptionPosition="bottom";checkedImage;uncheckedImage;async=!1;internalLoading=!1;isShaking=!1;async shake(){this.isShaking=!0,this.haptic&&"vibrate"in navigator&&navigator.vibrate([10,50,10,50,10]),setTimeout((()=>{this.isShaking=!1}),600)}showTooltip=!1;tooltipText="";iconLibrary="ionicons";isFocused=!1;isHovered=!1;showingSuccess=!1;showConfirmDialog=!1;pendingValue=!1;showRipple=!1;switchChange;switchFocus;switchBlur;switchConfirm;switchSuccess;handleCheckedChange(t){this.autoSubmit&&this.triggerFormSubmit(),this.showSuccessFeedback&&t&&this.triggerSuccessFeedback()}triggerFormSubmit(){let t=null;if(t=this.formId?document.getElementById(this.formId):this.el.closest("form"),t){const i=new window.Event("submit",{cancelable:!0,bubbles:!0});t.dispatchEvent(i),i.defaultPrevented||t.submit()}}handleChange=t=>{if(this.disabled||this.readonly||this.loading)return void t.preventDefault();const i=t.target,s=i.checked;return this.indeterminate&&(this.indeterminate=!1,i.indeterminate=!1),this.requireConfirmation?(this.pendingValue=s,this.showConfirmDialog=!0,void(i.checked=this.checked)):(this.haptic&&"vibrate"in navigator&&navigator.vibrate(this.checked?10:15),this.async?(this.switchChange.emit({checked:s,value:this.value}),i.checked=this.checked,void(this.internalLoading=!0)):void this.applyToggle(s))};async stopAsyncLoading(){this.internalLoading=!1}applyToggle(t){this.checked!==t&&(this.checked=t,this.checked&&this.triggerRipple(),this.switchChange.emit({checked:this.checked,value:this.value}))}triggerRipple(){this.showRipple=!0,setTimeout((()=>{this.showRipple=!1}),600)}triggerSuccessFeedback(){this.showingSuccess=!0,this.switchSuccess.emit(),setTimeout((()=>{this.showingSuccess=!1}),2e3)}handleConfirm=()=>{this.showConfirmDialog=!1,this.switchConfirm.emit({confirmed:!0,value:this.pendingValue}),this.applyToggle(this.pendingValue)};handleCancel=()=>{this.showConfirmDialog=!1,this.switchConfirm.emit({confirmed:!1,value:this.pendingValue})};handleFocus=()=>{this.disabled||this.loading||(this.isFocused=!0,this.switchFocus.emit())};handleBlur=()=>{this.isFocused=!1,this.switchBlur.emit()};handleMouseEnter=()=>{this.disabled||(this.isHovered=!0)};handleMouseLeave=()=>{this.isHovered=!1};handleKeyDown=t=>{this.disabled||this.readonly||this.loading||"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this.triggerRipple(),this.applyToggle(!this.checked))};getIcon(){if(this.loading)return a("span",{class:"switch-spinner"},a("ui-icon",{name:"refresh",library:this.iconLibrary,spin:!0,size:"14px"}));const t=this.checked?this.checkedImage:this.uncheckedImage;if(t)return a("div",{class:"switch-image-container"},a("img",{src:t,class:"switch-thumb-image",alt:"status"}));if(this.checked){if(this.iconOn)return a("span",{class:"switch-icon"},a("ui-icon",{name:this.iconOn,library:this.iconLibrary,size:"calc(var(--switch-thumb-size, 20px) * 0.6)"}));if(this.showIcons||this.showDefaultIcons)return a("span",{class:"switch-icon"},a("ui-icon",{name:"checkmark",library:this.iconLibrary,size:"calc(var(--switch-thumb-size, 20px) * 0.6)"}))}else{if(this.iconOff)return a("span",{class:"switch-icon"},a("ui-icon",{name:this.iconOff,library:this.iconLibrary,size:"calc(var(--switch-thumb-size, 20px) * 0.6)"}));if(this.showIcons||this.showDefaultIcons)return a("span",{class:"switch-icon"},a("ui-icon",{name:"close",library:this.iconLibrary,size:"calc(var(--switch-thumb-size, 20px) * 0.6)"}))}return null}renderTrackText(){return this.showTrackText?a("span",{class:"switch-track-text"},this.checked?this.checkedText||"ON":this.uncheckedText||"OFF"):null}renderHelperText(){return this.invalid&&this.errorMessage?a("div",{class:"switch-helper-text switch-error-text"},a("ui-icon",{name:"alert-circle",library:"lucide",size:"12px"}),a("span",null,this.errorMessage)):this.helperText?a("div",{class:"switch-helper-text"},this.helperText):null}renderTooltip(){return this.showTooltip&&this.tooltipText&&this.isHovered?a("div",{class:"switch-tooltip"},this.tooltipText):null}renderSuccessFeedback(){return this.showingSuccess?a("div",{class:"switch-success-feedback"},a("ui-icon",{name:"check-circle",library:"lucide",size:"16px"})):null}renderConfirmDialog(){return this.showConfirmDialog?a("div",{class:"switch-confirm-overlay",onClick:this.handleCancel},a("div",{class:"switch-confirm-dialog",onClick:t=>t.stopPropagation()},a("div",{class:"confirm-message"},this.confirmationMessage),a("div",{class:"confirm-actions"},a("ui-button",{variant:"ghost",size:"sm",onClick:this.handleCancel,label:"Cancel"}),a("ui-button",{variant:"primary",size:"sm",onClick:this.handleConfirm,label:"Confirm"})))):null}render(){const t=this.label&&a("span",{key:"f905beb970bc012fe3dd7f4bd7acf493cf3fb3f6",class:"switch-label"},this.label,this.required&&a("span",{key:"81a78c65abe3d6479c7d41328bca0e88a8735161",class:"switch-required"},"*"),this.description&&"bottom"===this.descriptionPosition&&a("span",{key:"365373b18336c14fbfa70873b71141fe9e1c96e2",class:"switch-description-bottom"},this.description)),i=this.description&&"side"===this.descriptionPosition&&a("span",{key:"52abfd268f4fd11c36d9f5e9936db895dd5408f1",class:"switch-description-side"},this.description),s={};if(this.gradient&&this.gradientColors)try{const t=JSON.parse(this.gradientColors);Array.isArray(t)&&t.length>=2&&(s.background=`linear-gradient(135deg, ${t[0]} 0%, ${t[1]} 100%)`)}catch(t){}const h={};return this.width&&(h["--switch-track-width"]=this.width),a(r,{key:"b7ba49c8d24a3a2cfc13e1ce958b5457b88d784f",style:h,class:{"switch-host":!0,"switch-disabled":this.disabled||this.loading,"switch-readonly":this.readonly,"switch-checked":this.checked,"switch-invalid":this.invalid,"switch-focused":this.isFocused,"switch-hovered":this.isHovered,"switch-vertical":"vertical"===this.orientation,"switch-animate":this.enableAnimation,"switch-indeterminate":this.indeterminate,"switch-glow":this.glow,"switch-rtl":this.rtl,[`switch-physics-${this.physics}`]:!0,[`switch-elevation-${this.elevation}`]:this.elevation>0,[`switch-color-${this.color}`]:!0,[`switch-${this.variant}`]:!0},onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},a("div",{key:"17e3523dd99ee0267d2b6f76e23312c6fa0f0101",part:"container",class:{"switch-container-outer":!0,[`switch-${c(this.size,"md")}`]:!0,[`switch-color-${this.color}`]:!0,[`switch-physics-${this.physics}`]:!0,[`switch-variant-${this.variant}`]:!0,[`switch-${this.shape}`]:!0,[`thumb-${this.thumbShape}`]:!0,"switch-checked":this.checked,"switch-disabled":this.disabled,"switch-readonly":this.readonly,"switch-loading":this.loading||this.internalLoading,"switch-error":this.invalid,"switch-glow":this.glow&&this.checked,"switch-haptic":this.haptic,"switch-rtl":this.rtl,"switch-shaking":this.isShaking,"switch-animate":this.enableAnimation,"switch-indeterminate":this.indeterminate}},a("label",{key:"0eaca201f9bfb9441af8c66ad61342debf248910",part:"label",class:{"switch-container":!0,[`switch-${c(this.size,"md")}`]:!0,[`switch-color-${this.color}`]:!0,[`switch-${this.variant}`]:!0,[`switch-${this.shape}`]:!0,[`thumb-${this.thumbShape}`]:!0,"switch-label-left":"left"===this.labelPosition,"switch-label-right":"right"===this.labelPosition||!this.labelPosition}},"left"===this.labelPosition&&t,a("div",{key:"96a10112cb18eb3fe11dfe32c266d9aa35d3d2d3",part:"wrapper",class:"switch-wrapper"},a("input",{key:"cd6b45812dbe942086571fd9c9d8a37a28e80d90",type:"checkbox",class:"switch-input",checked:this.checked,disabled:this.disabled||this.loading,readonly:this.readonly,name:this.name,value:this.value,required:this.required,tabindex:this.switchTabIndex,onChange:this.handleChange,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,"aria-label":this.ariaLabel||this.label,"aria-checked":this.indeterminate?"mixed":this.checked?"true":"false","aria-disabled":(this.disabled||this.loading).toString(),"aria-invalid":this.invalid.toString(),ref:t=>{t&&this.indeterminate&&(t.indeterminate=!0)}}),a("div",{key:"857bbb32f9ba5f0dd4091d0876ff015a1feaebbd",part:"track",class:{"switch-track":!0,"switch-track-checked":this.checked,"switch-track-disabled":this.disabled||this.loading,"switch-gradient":this.gradient},style:s},this.renderTrackText(),a("div",{key:"6ff1c6881314adc05e6dd21a1d559da3a7fa974b",part:"thumb",class:{"switch-thumb":!0,"switch-thumb-checked":this.checked,"switch-thumb-loading":this.loading}},this.getIcon()),this.showRipple&&a("div",{key:"4823c08f49784985cb598c001e25dd83a7417143",class:"switch-ripple"}),this.loading&&a("div",{key:"3eafccb3b4f423091ed2e8b408d7123b89e7cb58",class:"switch-loading-overlay"}))),"right"===this.labelPosition&&t,i,this.renderSuccessFeedback()),this.renderHelperText(),this.renderTooltip()),this.renderConfirmDialog())}static get watchers(){return{checked:[{handleCheckedChange:0}]}}};h.style='@charset "UTF-8";.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:inline-block;--switch-primary:var(--color-primary-hover, #2563eb);--switch-secondary:var(--color-primary, #64748b);--switch-success:var(--color-success, #10b981);--switch-danger:var(--color-danger, #ef4444);--switch-warning:var(--color-warning, #f59e0b);--switch-info:var(--color-primary, #10b981);--switch-primary-rgb:37, 99, 235;--switch-secondary-rgb:100, 116, 139;--switch-success-rgb:16, 185, 129;--switch-danger-rgb:239, 68, 104;--switch-warning-rgb:245, 158, 11;--switch-info-rgb:59, 130, 246;--switch-track-bg:#b8c4d0;--switch-thumb-bg:var(--bg-primary, #ffffff);--switch-text:var(--label-color, var(--text-primary, #1e293b));--switch-text-muted:var(--label-subtitle-color, var(--text-secondary, #64748b));--switch-font:-apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, Helvetica, Arial, sans-serif;--switch-duration:0.4s;--switch-easing:cubic-bezier(0.4, 0, 0.2, 1);--switch-transition:all var(--switch-duration) var(--switch-easing)}:host-context(.dark),:host-context([data-theme=dark]),:host-context([data-theme=violet]),:host-context([data-theme=pink]),:host-context([data-theme=blue]),:host-context([data-theme=green]){--switch-track-bg:var(--bg-tertiary, #334155);--switch-thumb-bg:var(--text-emphasized, #ffffff);--switch-text:var(--label-color, #f1f5f9);--switch-text-muted:var(--label-subtitle-color, #cbd5e1)}:host-context(.dark) .switch-track,:host-context([data-theme=dark]) .switch-track,:host-context([data-theme=violet]) .switch-track,:host-context([data-theme=pink]) .switch-track,:host-context([data-theme=blue]) .switch-track,:host-context([data-theme=green]) .switch-track{border:1px solid var(--border-strong, rgba(255, 255, 255, 0.12))}.switch-host{font-family:var(--switch-font);-webkit-tap-highlight-color:transparent}.switch-host.switch-glow.switch-checked .switch-track{box-shadow:0 0 15px rgba(var(--switch-primary-rgb, 37, 99, 235), 0.4)}.switch-host.switch-glow.switch-checked.switch-success .switch-track{box-shadow:0 0 15px rgba(var(--switch-success-rgb), 0.4)}.switch-host.switch-glow.switch-checked.switch-danger .switch-track{box-shadow:0 0 15px rgba(var(--switch-danger-rgb), 0.4)}.switch-host.switch-glow.switch-checked.switch-warning .switch-track{box-shadow:0 0 15px rgba(var(--switch-warning-rgb), 0.4)}.switch-host.switch-glow.switch-checked.switch-info .switch-track{box-shadow:0 0 15px rgba(var(--switch-info-rgb), 0.4)}.switch-host{--switch-easing:cubic-bezier(0.4, 0, 0.2, 1)}.switch-host.switch-physics-linear{--switch-easing:cubic-bezier(0, 0, 1, 1)}.switch-host.switch-physics-stiff{--switch-easing:cubic-bezier(0.18, 0.89, 0.32, 1.28);--switch-duration:0.2s}.switch-host.switch-physics-liquid{--switch-easing:cubic-bezier(0.4, 0, 0.2, 1);--switch-duration:0.4s}.switch-host.switch-physics-bouncy{--switch-easing:cubic-bezier(0.68, -0.6, 0.32, 1.6);--switch-duration:0.5s}.switch-host .switch-track,.switch-host .switch-thumb,.switch-host .switch-track-text,.switch-host .switch-ripple{transition:var(--switch-transition)}:host(.switch-color-primary){--switch-active-bg:var(--switch-primary);--switch-active-bg-rgb:var(--color-primary-rgb)}:host(.switch-color-success){--switch-active-bg:var(--switch-success);--switch-active-bg-rgb:var(--color-success-rgb)}:host(.switch-color-danger){--switch-active-bg:var(--switch-danger);--switch-active-bg-rgb:var(--color-danger-rgb)}:host(.switch-color-warning){--switch-active-bg:var(--switch-warning);--switch-active-bg-rgb:var(--color-warning-rgb)}:host(.switch-color-info){--switch-active-bg:var(--switch-info);--switch-active-bg-rgb:var(--color-primary-rgb)}:host(.switch-color-secondary){--switch-active-bg:var(--switch-secondary);--switch-active-bg-rgb:var(--color-primary-rgb)}:host(.switch-checked.switch-solid) .switch-track{background:var(--switch-active-bg);border-color:rgba(0, 0, 0, 0.05)}:host(.switch-checked.switch-solid) .switch-track-text{color:var(--color-primary-text, #ffffff)}:host(.switch-glass) .switch-track{background:rgba(255, 255, 255, 0.1) !important;backdrop-filter:blur(8px) saturate(180%);border:1px solid rgba(255, 255, 255, 0.2)}:host(.switch-glass.switch-checked) .switch-track{background:rgba(var(--switch-active-bg-rgb, 37, 99, 235), 0.2) !important;border-color:rgba(var(--switch-active-bg-rgb, 37, 99, 235), 0.4)}:host(.switch-glass.switch-checked) .switch-track-text{color:var(--switch-active-bg);text-shadow:0 0 8px rgba(var(--switch-active-bg-rgb), 0.4)}:host(.switch-raised) .switch-track{background:var(--bg-secondary, #f1f5f9);box-shadow:inset 4px 4px 8px rgba(0, 0, 0, 0.06), inset -4px -4px 8px rgba(255, 255, 255, 0.8)}:host(.switch-raised) .switch-thumb{box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.8)}:host(.switch-raised.switch-checked) .switch-track{background:linear-gradient(135deg, var(--switch-active-bg), rgba(var(--switch-active-bg-rgb), 0.8));box-shadow:inset 2px 2px 4px rgba(0, 0, 0, 0.2)}:host(.switch-outlined) .switch-track{background:transparent !important;border:2px solid var(--border-subtle, #e2e8f0)}:host(.switch-outlined.switch-checked) .switch-track{border-color:var(--switch-active-bg)}:host(.switch-outlined) .switch-thumb{background:var(--color-primary, #94a3b8)}:host(.switch-outlined.switch-checked) .switch-thumb{background:var(--switch-active-bg);box-shadow:0 0 10px rgba(var(--switch-active-bg-rgb), 0.3)}:host(.switch-glow.switch-checked) .switch-track{box-shadow:0 0 12px rgba(var(--switch-active-bg-rgb), 0.3);animation:switch-glow-pulse 2s ease-in-out infinite}.switch-loading .switch-track{position:relative;overflow:hidden}.switch-loading .switch-track::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);background-size:200% 100%;animation:switch-shimmer 1.5s infinite linear;z-index:1}.switch-loading .switch-track::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px);background-size:4px 4px;opacity:0.5;z-index:0}@keyframes switch-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.switch-container-outer{display:flex;flex-direction:column}.switch-container{display:inline-flex;align-items:center;gap:12px;cursor:pointer;user-select:none;position:relative;transition:opacity var(--switch-duration) var(--switch-easing);font-family:"Inter", -apple-system, sans-serif}.switch-label-left{flex-direction:row-reverse}.switch-wrapper{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.switch-input{position:absolute;width:100%;height:100%;opacity:0;cursor:inherit;z-index:2;margin:0;outline:none}.switch-input:focus-visible~.switch-track{box-shadow:0 0 0 2px var(--bg-primary, #ffffff), 0 0 0 4px var(--switch-active-bg, var(--switch-primary));transform:scale(1.02)}.switch-track{position:relative;display:flex;align-items:center;background:var(--switch-track-bg);border-radius:9999px;transition:background-color var(--switch-duration) var(--switch-easing), box-shadow 0.2s ease, transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);overflow:hidden;border:1px solid rgba(0, 0, 0, 0.14)}.switch-container:hover .switch-track{filter:brightness(1.05);box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)}.switch-container:active .switch-track{transform:scale(0.96);filter:brightness(0.95)}.switch-ripple{position:absolute;left:50%;top:50%;width:10px;height:10px;background:rgba(255, 255, 255, 0.4);border-radius:50%;transform:translate(-50%, -50%);pointer-events:none;animation:switch-ripple-expand 0.6s cubic-bezier(0, 0, 0.2, 1) forwards;z-index:1}.switch-loading-overlay{position:absolute;inset:0;background:rgba(255, 255, 255, 0.15);z-index:10;overflow:hidden}.switch-loading-overlay::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);background-size:8px 8px;opacity:0.3}.switch-loading-overlay::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);animation:switch-shimmer 1.5s infinite}@keyframes switch-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(200%)}}@keyframes switch-ripple-expand{0%{transform:translate(-50%, -50%) scale(0);opacity:0.8}100%{transform:translate(-50%, -50%) scale(15);opacity:0}}.switch-thumb{position:absolute;background-color:var(--switch-thumb-bg, var(--bg-primary, #ffffff));border-radius:50%;box-shadow:0 2px 6px rgba(0, 0, 0, 0.18), 0 1px 3px rgba(0, 0, 0, 0.12);transition:transform var(--switch-duration) var(--switch-easing), background-color var(--switch-duration) var(--switch-easing), box-shadow var(--switch-duration) var(--switch-easing);z-index:2;display:flex;align-items:center;justify-content:center;border:0.5px solid rgba(0, 0, 0, 0.1)}.switch-thumb:hover{transform:scale(1.05) translateZ(0);box-shadow:0 4px 8px rgba(0, 0, 0, 0.2), 0 2px 4px rgba(0, 0, 0, 0.12)}.switch-icon{display:flex;align-items:center;justify-content:center;font-size:10px}.switch-track-text{position:absolute;font-size:calc(var(--switch-thumb-size, 20px) * 0.45);font-weight:800;color:var(--switch-text-muted);text-transform:uppercase;user-select:none;pointer-events:none;transition:var(--switch-transition);opacity:0.8;letter-spacing:0.02em}.switch-xxxs{--switch-thumb-size:10px;--switch-track-width:24px}.switch-xxxs .switch-track{width:var(--switch-track-width);min-width:var(--switch-track-width);height:12px}.switch-xxxs .switch-thumb{width:var(--switch-thumb-size);height:var(--switch-thumb-size);left:2px}.switch-xxxs.switch-checked .switch-thumb{transform:translateX(calc(var(--switch-track-width) - var(--switch-thumb-size) - 4px))}.switch-xxxs .switch-track-text{position:absolute;top:50%;transform:translateY(-50%);width:calc(var(--switch-track-width) - var(--switch-thumb-size) - 6px);text-align:center;line-height:1;left:calc(var(--switch-thumb-size) + 2px);transition:all var(--switch-duration) var(--switch-easing)}.switch-xxxs.switch-checked .switch-track-text{left:4px}.switch-xxs{--switch-thumb-size:12px;--switch-track-width:28px}.switch-xxs .switch-track{width:var(--switch-track-width);min-width:var(--switch-track-width);height:14px}.switch-xxs .switch-thumb{width:var(--switch-thumb-size);height:var(--switch-thumb-size);left:2px}.switch-xxs.switch-checked .switch-thumb{transform:translateX(calc(var(--switch-track-width) - var(--switch-thumb-size) - 4px))}.switch-xxs .switch-track-text{position:absolute;top:50%;transform:translateY(-50%);width:calc(var(--switch-track-width) - var(--switch-thumb-size) - 6px);text-align:center;line-height:1;left:calc(var(--switch-thumb-size) + 2px);transition:all var(--switch-duration) var(--switch-easing)}.switch-xxs.switch-checked .switch-track-text{left:4px}.switch-xs{--switch-thumb-size:14px;--switch-track-width:32px}.switch-xs .switch-track{width:var(--switch-track-width);min-width:var(--switch-track-width);height:17px}.switch-xs .switch-thumb{width:var(--switch-thumb-size);height:var(--switch-thumb-size);left:2px}.switch-xs.switch-checked .switch-thumb{transform:translateX(calc(var(--switch-track-width) - var(--switch-thumb-size) - 4px))}.switch-xs .switch-track-text{position:absolute;top:50%;transform:translateY(-50%);width:calc(var(--switch-track-width) - var(--switch-thumb-size) - 6px);text-align:center;line-height:1;left:calc(var(--switch-thumb-size) + 2px);transition:all var(--switch-duration) var(--switch-easing)}.switch-xs.switch-checked .switch-track-text{left:4px}.switch-sm{--switch-thumb-size:16px;--switch-track-width:36px}.switch-sm .switch-track{width:var(--switch-track-width);min-width:var(--switch-track-width);height:20px}.switch-sm .switch-thumb{width:var(--switch-thumb-size);height:var(--switch-thumb-size);left:2px}.switch-sm.switch-checked .switch-thumb{transform:translateX(calc(var(--switch-track-width) - var(--switch-thumb-size) - 4px))}.switch-sm .switch-track-text{position:absolute;top:50%;transform:translateY(-50%);width:calc(var(--switch-track-width) - var(--switch-thumb-size) - 6px);text-align:center;line-height:1;left:calc(var(--switch-thumb-size) + 2px);transition:all var(--switch-duration) var(--switch-easing)}.switch-sm.switch-checked .switch-track-text{left:4px}.switch-md{--switch-thumb-size:20px;--switch-track-width:44px}.switch-md .switch-track{width:var(--switch-track-width);min-width:var(--switch-track-width);height:24px}.switch-md .switch-thumb{width:var(--switch-thumb-size);height:var(--switch-thumb-size);left:2px}.switch-md.switch-checked .switch-thumb{transform:translateX(calc(var(--switch-track-width) - var(--switch-thumb-size) - 4px))}.switch-md .switch-track-text{position:absolute;top:50%;transform:translateY(-50%);width:calc(var(--switch-track-width) - var(--switch-thumb-size) - 6px);text-align:center;line-height:1;left:calc(var(--switch-thumb-size) + 2px);transition:all var(--switch-duration) var(--switch-easing)}.switch-md.switch-checked .switch-track-text{left:4px}.switch-lg{--switch-thumb-size:24px;--switch-track-width:52px}.switch-lg .switch-track{width:var(--switch-track-width);min-width:var(--switch-track-width);height:28px}.switch-lg .switch-thumb{width:var(--switch-thumb-size);height:var(--switch-thumb-size);left:2px}.switch-lg.switch-checked .switch-thumb{transform:translateX(calc(var(--switch-track-width) - var(--switch-thumb-size) - 4px))}.switch-lg .switch-track-text{position:absolute;top:50%;transform:translateY(-50%);width:calc(var(--switch-track-width) - var(--switch-thumb-size) - 6px);text-align:center;line-height:1;left:calc(var(--switch-thumb-size) + 2px);transition:all var(--switch-duration) var(--switch-easing)}.switch-lg.switch-checked .switch-track-text{left:4px}.switch-xl{--switch-thumb-size:28px;--switch-track-width:64px}.switch-xl .switch-track{width:var(--switch-track-width);min-width:var(--switch-track-width);height:32px}.switch-xl .switch-thumb{width:var(--switch-thumb-size);height:var(--switch-thumb-size);left:2px}.switch-xl.switch-checked .switch-thumb{transform:translateX(calc(var(--switch-track-width) - var(--switch-thumb-size) - 4px))}.switch-xl .switch-track-text{position:absolute;top:50%;transform:translateY(-50%);width:calc(var(--switch-track-width) - var(--switch-thumb-size) - 6px);text-align:center;line-height:1;left:calc(var(--switch-thumb-size) + 2px);transition:all var(--switch-duration) var(--switch-easing)}.switch-xl.switch-checked .switch-track-text{left:4px}.switch-xxl{--switch-thumb-size:34px;--switch-track-width:76px}.switch-xxl .switch-track{width:var(--switch-track-width);min-width:var(--switch-track-width);height:38px}.switch-xxl .switch-thumb{width:var(--switch-thumb-size);height:var(--switch-thumb-size);left:2px}.switch-xxl.switch-checked .switch-thumb{transform:translateX(calc(var(--switch-track-width) - var(--switch-thumb-size) - 4px))}.switch-xxl .switch-track-text{position:absolute;top:50%;transform:translateY(-50%);width:calc(var(--switch-track-width) - var(--switch-thumb-size) - 6px);text-align:center;line-height:1;left:calc(var(--switch-thumb-size) + 2px);transition:all var(--switch-duration) var(--switch-easing)}.switch-xxl.switch-checked .switch-track-text{left:4px}.switch-xxxl{--switch-thumb-size:40px;--switch-track-width:88px}.switch-xxxl .switch-track{width:var(--switch-track-width);min-width:var(--switch-track-width);height:44px}.switch-xxxl .switch-thumb{width:var(--switch-thumb-size);height:var(--switch-thumb-size);left:2px}.switch-xxxl.switch-checked .switch-thumb{transform:translateX(calc(var(--switch-track-width) - var(--switch-thumb-size) - 4px))}.switch-xxxl .switch-track-text{position:absolute;top:50%;transform:translateY(-50%);width:calc(var(--switch-track-width) - var(--switch-thumb-size) - 6px);text-align:center;line-height:1;left:calc(var(--switch-thumb-size) + 2px);transition:all var(--switch-duration) var(--switch-easing)}.switch-xxxl.switch-checked .switch-track-text{left:4px}@keyframes switch-glow-pulse{0%,100%{filter:drop-shadow(0 0 5px rgba(var(--switch-active-bg-rgb, 37, 99, 235), 0.3))}50%{filter:drop-shadow(0 0 12px rgba(var(--switch-active-bg-rgb, 37, 99, 235), 0.6))}}.switch-glass .switch-track{background:rgba(255, 255, 255, 0.08) !important;backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255, 255, 255, 0.12);box-shadow:inset 0 1px 1px rgba(255, 255, 255, 0.05), 0 4px 6px -1px rgba(0, 0, 0, 0.1)}.switch-glass .switch-thumb{background:rgba(255, 255, 255, 0.9);backdrop-filter:blur(8px);box-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);border:1px solid rgba(255, 255, 255, 0.3)}.switch-raised .switch-track{background:var(--bg-secondary, #f1f5f9);box-shadow:inset 4px 4px 8px rgba(0, 0, 0, 0.06), inset -4px -4px 8px rgba(255, 255, 255, 0.8);border:1px solid rgba(0, 0, 0, 0.02)}.switch-raised .switch-thumb{background:linear-gradient(145deg, var(--bg-primary, #ffffff), var(--bg-primary, #f8fafc));box-shadow:2px 2px 5px rgba(0, 0, 0, 0.05), -1px -1px 3px rgba(255, 255, 255, 0.9);border:0.5px solid rgba(0, 0, 0, 0.02)}.switch-image-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:inherit}.switch-thumb-image{width:100%;height:100%;object-fit:cover;transition:transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.switch-rounded .switch-track,.switch-rounded .switch-thumb{border-radius:4px}.switch-square .switch-track,.switch-square .switch-thumb{border-radius:0}.switch-pill .switch-track,.switch-pill .switch-thumb{border-radius:9999px}.thumb-square .switch-thumb{border-radius:2px}.switch-vertical .switch-container{flex-direction:column}.switch-vertical .switch-track{flex-direction:column}.switch-vertical .switch-thumb{left:50%;transform:translateX(-50%);top:2px}.switch-vertical.switch-xxxs .switch-track{width:12px;height:24px}.switch-vertical.switch-xxxs.switch-checked .switch-thumb{transform:translate(-50%, 11px)}.switch-vertical.switch-xxs .switch-track{width:14px;height:28px}.switch-vertical.switch-xxs.switch-checked .switch-thumb{transform:translate(-50%, 13px)}.switch-vertical.switch-xs .switch-track{width:17px;height:32px}.switch-vertical.switch-xs.switch-checked .switch-thumb{transform:translate(-50%, 15px)}.switch-vertical.switch-sm .switch-track{width:20px;height:36px}.switch-vertical.switch-sm.switch-checked .switch-thumb{transform:translate(-50%, 16px)}.switch-vertical.switch-md .switch-track{width:24px;height:44px}.switch-vertical.switch-md.switch-checked .switch-thumb{transform:translate(-50%, 20px)}.switch-vertical.switch-lg .switch-track{width:28px;height:52px}.switch-vertical.switch-lg.switch-checked .switch-thumb{transform:translate(-50%, 24px)}.switch-vertical.switch-xl .switch-track{width:32px;height:64px}.switch-vertical.switch-xl.switch-checked .switch-thumb{transform:translate(-50%, 32px)}.switch-vertical.switch-xxl .switch-track{width:38px;height:76px}.switch-vertical.switch-xxl.switch-checked .switch-thumb{transform:translate(-50%, 38px)}.switch-vertical.switch-xxxl .switch-track{width:44px;height:88px}.switch-vertical.switch-xxxl.switch-checked .switch-thumb{transform:translate(-50%, 44px)}.switch-disabled{opacity:0.5;cursor:not-allowed !important}.switch-readonly{cursor:default !important}.switch-readonly .switch-input{pointer-events:none}.switch-invalid .switch-track{border-color:var(--switch-danger);box-shadow:0 0 0 2px rgba(var(--color-danger-rgb, 239, 68, 68), 0.1)}.switch-focused .switch-track{box-shadow:0 0 0 3px rgba(var(--color-primary-rgb, 37, 99, 235), 0.2)}.switch-hovered:not(.switch-disabled) .switch-track{filter:brightness(0.95)}.switch-gradient .switch-track{border:none}.switch-elevation-1 .switch-track{box-shadow:0 2px 4px rgba(0, 0, 0, 0.1)}.switch-elevation-2 .switch-track{box-shadow:0 4px 8px rgba(0, 0, 0, 0.1)}.switch-elevation-3 .switch-track{box-shadow:0 6px 12px rgba(0, 0, 0, 0.1)}.switch-elevation-4 .switch-track{box-shadow:0 8px 16px rgba(0, 0, 0, 0.1)}.switch-elevation-5 .switch-track{box-shadow:0 10px 20px rgba(0, 0, 0, 0.1)}.switch-indeterminate .switch-thumb{left:50%;transform:translateX(-50%)}.switch-indeterminate .switch-thumb::after{content:"";position:absolute;width:50%;height:2px;background:var(--switch-active-bg, #94a3b8);border-radius:4px}.switch-rtl{direction:rtl}.switch-rtl .switch-container{flex-direction:row-reverse}.switch-rtl .switch-thumb{left:auto;inset-inline-start:2px;inset-inline-end:auto}.switch-rtl.switch-checked .switch-thumb{transform:translateX(calc(-1 * (var(--switch-track-width) - var(--switch-thumb-size) - 4px)))}.switch-rtl .switch-track-text{inset-inline-start:4px;inset-inline-end:auto;text-align:left;left:auto}.switch-rtl.switch-checked .switch-track-text{inset-inline-start:calc(var(--switch-thumb-size) + 8px);inset-inline-end:auto;left:auto}.switch-loading-overlay{position:absolute;inset:0;background:rgba(255, 255, 255, 0.2);z-index:1}.switch-spinner{display:flex;align-items:center;justify-content:center}.switch-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;opacity:0.65;color:var(--switch-text);display:flex;flex-direction:column;line-height:1.2}.switch-description-bottom{font-size:11px;font-weight:400;color:var(--switch-text-muted);opacity:0.8;margin-top:2px}.switch-description-side{font-size:12px;font-weight:400;color:var(--switch-text-muted);opacity:0.6;margin-inline-start:12px;padding-inline-start:12px;border-inline-start:1px solid rgba(0, 0, 0, 0.08);white-space:nowrap}.switch-required{color:var(--switch-danger);margin-inline-start:2px}.switch-helper-text{margin-top:4px;font-size:12px;color:var(--switch-text-muted);display:flex;align-items:center;gap:4px}.switch-tooltip{position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(-10px);background:rgba(15, 23, 42, 0.95);color:var(--text-standard, #ffffff);padding:6px 12px;border-radius:6px;font-size:12px;white-space:nowrap;pointer-events:none;z-index:100;box-shadow:0 4px 12px rgba(0, 0, 0, 0.2);border:1px solid rgba(255, 255, 255, 0.1);animation:tooltip-fade-in 0.2s ease}.switch-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:rgba(15, 23, 42, 0.95)}@keyframes tooltip-fade-in{from{opacity:0;transform:translateX(-50%) translateY(-5px)}to{opacity:1;transform:translateX(-50%) translateY(-10px)}}.switch-error-text{color:var(--switch-danger)}.switch-success-feedback{color:var(--switch-success);margin-inline-start:8px;animation:success-pop 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)}@keyframes success-pop{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}.switch-confirm-overlay{position:fixed;inset:0;background:rgba(0, 0, 0, 0.4);backdrop-filter:blur(2px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fade-in 0.2s ease}.switch-confirm-dialog{background:var(--bg-primary, #ffffff);padding:24px;border-radius:12px;box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1);max-width:320px;width:90%;animation:slide-up 0.3s ease}.confirm-message{margin-bottom:20px;font-size:15px;color:var(--text-primary, #1e293b);line-height:1.5}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-btn{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all 0.2s}.confirm-btn.cancel{background:var(--bg-secondary, #f1f5f9);color:var(--color-primary, #475569)}.confirm-btn.ok{background:var(--switch-primary);color:var(--text-standard, #ffffff)}.confirm-btn:hover{opacity:0.9;transform:translateY(-1px)}.switch-shaking{animation:switch-shake 0.4s cubic-bezier(0.36, 0.07, 0.19, 0.97) both}@keyframes switch-shake{10%,90%{transform:translate3d(-1px, 0, 0)}20%,80%{transform:translate3d(2px, 0, 0)}30%,50%,70%{transform:translate3d(-4px, 0, 0)}40%,60%{transform:translate3d(4px, 0, 0)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes slide-up{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.switch-flat .switch-track{background:transparent !important;border:2px solid var(--switch-track-bg) !important;box-shadow:none !important}.switch-flat .switch-thumb{background:var(--switch-track-bg) !important;box-shadow:none !important;border:none !important}:host(.switch-checked.switch-flat) .switch-track{border-color:var(--switch-active-bg) !important}:host(.switch-checked.switch-flat) .switch-thumb{background:var(--switch-active-bg) !important;box-shadow:0 2px 8px rgba(var(--switch-active-bg-rgb, 37, 99, 235), 0.35) !important}.switch-dot .switch-wrapper{padding-top:14px}.switch-dot .switch-wrapper::before{content:"";position:absolute;top:2px;left:50%;transform:translateX(-50%);width:7px;height:7px;border-radius:50%;background:var(--switch-track-bg);transition:background var(--switch-duration) var(--switch-easing), transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.2s ease}:host(.switch-checked.switch-dot) .switch-wrapper::before{background:var(--switch-active-bg);box-shadow:0 0 7px rgba(var(--switch-active-bg-rgb, 37, 99, 235), 0.55);transform:translateX(-50%) scale(1.2)}.switch-metallic .switch-track{background:linear-gradient(145deg, #2d2d2d, #484848) !important;border:1px solid rgba(0, 0, 0, 0.5) !important;box-shadow:inset 3px 3px 7px rgba(0, 0, 0, 0.55), inset -2px -2px 5px rgba(255, 255, 255, 0.06) !important}.switch-metallic .switch-thumb{background:radial-gradient(circle at 35% 30%, #f5f5f5, #b0b0b0 50%, #707070) !important;box-shadow:3px 3px 7px rgba(0, 0, 0, 0.45), -1px -1px 4px rgba(255, 255, 255, 0.35), inset 0 1px 1px rgba(255, 255, 255, 0.6) !important;border:1px solid rgba(80, 80, 80, 0.4) !important}:host(.switch-checked.switch-metallic) .switch-track{background:linear-gradient(145deg, #0f3020, #1a5535) !important;box-shadow:inset 3px 3px 7px rgba(0, 0, 0, 0.55), 0 0 16px rgba(var(--switch-success-rgb, 16, 185, 129), 0.3) !important;border-color:rgba(16, 185, 129, 0.4) !important}.switch-slider .switch-track{background:transparent !important;border:none !important;box-shadow:none !important;overflow:visible !important}.switch-slider .switch-track::before{content:"";position:absolute;left:0;right:0;top:50%;height:4px;transform:translateY(-50%);background:var(--switch-track-bg);border-radius:2px;z-index:0;transition:background var(--switch-duration) var(--switch-easing)}.switch-slider .switch-thumb{z-index:3;background:var(--switch-thumb-bg) !important;box-shadow:0 3px 10px rgba(0, 0, 0, 0.18), 0 1px 4px rgba(0, 0, 0, 0.1), inset 0 1px 1px rgba(255, 255, 255, 0.7) !important;border:1.5px solid rgba(0, 0, 0, 0.07) !important}:host(.switch-checked.switch-slider) .switch-track::before{background:var(--switch-active-bg)}:host(.switch-checked.switch-slider) .switch-thumb{background:var(--switch-active-bg) !important;box-shadow:0 3px 10px rgba(var(--switch-active-bg-rgb, 37, 99, 235), 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;border-color:rgba(var(--switch-active-bg-rgb, 37, 99, 235), 0.2) !important}.switch-pill-flat .switch-track{background:var(--switch-track-bg) !important;border:none !important;box-shadow:none !important;border-radius:9999px !important}.switch-pill-flat .switch-thumb{box-shadow:0 1px 3px rgba(0, 0, 0, 0.12) !important;border:none !important;border-radius:9999px !important;background:#ffffff !important}:host(.switch-checked.switch-pill-flat) .switch-track{background:var(--switch-active-bg) !important}:host(.switch-checked.switch-pill-flat) .switch-thumb{box-shadow:0 1px 4px rgba(var(--switch-active-bg-rgb, 37, 99, 235), 0.25) !important}.switch-soft .switch-track{background:rgba(var(--switch-active-bg-rgb, 148, 163, 184), 0.12) !important;border:1.5px solid rgba(var(--switch-active-bg-rgb, 148, 163, 184), 0.28) !important;box-shadow:none !important}.switch-soft .switch-thumb{background:rgba(var(--switch-active-bg-rgb, 148, 163, 184), 0.65) !important;box-shadow:0 1px 4px rgba(0, 0, 0, 0.1) !important;border:none !important}:host(.switch-checked.switch-soft) .switch-track{background:rgba(var(--switch-active-bg-rgb, 37, 99, 235), 0.18) !important;border-color:var(--switch-active-bg) !important}:host(.switch-checked.switch-soft) .switch-thumb{background:var(--switch-active-bg) !important;box-shadow:0 2px 8px rgba(var(--switch-active-bg-rgb, 37, 99, 235), 0.35) !important}.switch-bicolor .switch-track{background:linear-gradient(to right, #22c55e 50%, #ef4444 50%) !important;border:none !important;box-shadow:none !important;overflow:hidden}.switch-bicolor .switch-track::before{content:"✓";position:absolute;left:6px;top:50%;transform:translateY(-50%);color:rgba(255, 255, 255, 0.95);font-size:calc(var(--switch-thumb-size, 20px) * 0.55);font-weight:900;z-index:1;pointer-events:none;line-height:1}.switch-bicolor .switch-track::after{content:"✕";position:absolute;right:6px;top:50%;transform:translateY(-50%);color:rgba(255, 255, 255, 0.95);font-size:calc(var(--switch-thumb-size, 20px) * 0.55);font-weight:900;z-index:1;pointer-events:none;line-height:1}.switch-bicolor .switch-thumb{z-index:2;background:#ffffff !important;box-shadow:0 2px 10px rgba(0, 0, 0, 0.3), 0 1px 4px rgba(0, 0, 0, 0.15) !important;border:1.5px solid rgba(255, 255, 255, 0.8) !important}:host-context(.dark) .switch-bicolor .switch-track,[data-theme=dark] .switch-bicolor .switch-track{background:linear-gradient(to right, #16a34a 50%, #dc2626 50%) !important}.switch-power .switch-track{height:var(--switch-track-width) !important;border-radius:50% !important;background:var(--bg-primary, #ffffff) !important;border:5px solid #94a3b8 !important;box-shadow:inset 2px 2px 8px rgba(0, 0, 0, 0.1), inset -2px -2px 6px rgba(255, 255, 255, 0.85), 0 4px 16px rgba(0, 0, 0, 0.1) !important;justify-content:center;align-items:center}.switch-power .switch-track::before{content:"OFF";color:#94a3b8;font-size:calc(var(--switch-track-width, 44px) * 0.22);font-weight:900;letter-spacing:0.05em;pointer-events:none;z-index:2;transition:color 0.3s ease}.switch-power .switch-thumb{display:none !important}:host(.switch-checked.switch-power) .switch-track{border-color:var(--switch-active-bg) !important;background:var(--bg-primary, #ffffff) !important;box-shadow:inset 1px 1px 4px rgba(0, 0, 0, 0.05), inset -1px -1px 4px rgba(255, 255, 255, 0.9), 0 0 24px rgba(var(--switch-active-bg-rgb, 37, 99, 235), 0.35) !important}:host(.switch-checked.switch-power) .switch-track::before{content:"ON";color:var(--switch-active-bg)}:host-context(.dark) .switch-power .switch-track,[data-theme=dark] .switch-power .switch-track{background:#1e293b !important;box-shadow:inset 3px 3px 8px rgba(0, 0, 0, 0.5), inset -2px -2px 6px rgba(255, 255, 255, 0.05), 0 4px 16px rgba(0, 0, 0, 0.3) !important}:host(.switch-status){--switch-track-width:104px}.switch-status .switch-track{background:linear-gradient(to right, #22c55e 52%, var(--bg-secondary, #f1f5f9) 48%) !important;border:2px solid #22c55e !important;box-shadow:none !important;overflow:hidden}.switch-status .switch-track::before{content:"✓";position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#22c55e;font-size:calc(var(--switch-thumb-size, 20px) * 0.7);font-weight:900;z-index:1;pointer-events:none;line-height:1;transition:color 0.3s ease}.switch-status .switch-track-text{position:absolute !important;top:50% !important;left:8px !important;right:auto !important;transform:translateY(-50%) !important;width:auto !important;color:#ffffff !important;font-size:10px !important;font-weight:900 !important;letter-spacing:0.05em !important;opacity:1 !important;white-space:nowrap;transition:none !important}.switch-status .switch-thumb{display:none !important}:host(.switch-checked.switch-status) .switch-track{background:linear-gradient(to right, var(--bg-secondary, #f1f5f9) 48%, #ef4444 52%) !important;border-color:#ef4444 !important}:host(.switch-checked.switch-status) .switch-track::before{content:"✕";right:auto;left:10px;color:#ef4444}:host(.switch-checked.switch-status) .switch-track-text{left:auto !important;right:8px !important;color:#ffffff !important}:host(.switch-labeled){--switch-track-width:120px}.switch-labeled .switch-track{background:#cbd5e1 !important;border:none !important;box-shadow:inset 2px 2px 6px rgba(0, 0, 0, 0.14), inset -1px -1px 4px rgba(255, 255, 255, 0.85) !important}.switch-labeled .switch-track-text{color:#475569 !important;font-size:11px !important;font-weight:800 !important;letter-spacing:0.04em !important;text-transform:uppercase !important;opacity:1 !important;width:auto !important;white-space:nowrap}.switch-labeled .switch-thumb{position:relative;background:#ffffff !important;box-shadow:0 2px 8px rgba(0, 0, 0, 0.18), 0 1px 3px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;border:none !important}.switch-labeled .switch-thumb::after{content:"⊘";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);display:block;color:#94a3b8;font-size:calc(var(--switch-thumb-size, 20px) * 0.52);font-weight:400;pointer-events:none;line-height:1}:host(.switch-checked.switch-labeled) .switch-track{background:var(--switch-active-bg) !important;box-shadow:inset 1px 1px 4px rgba(0, 0, 0, 0.1), inset -1px -1px 3px rgba(255, 255, 255, 0.12), 0 0 12px rgba(var(--switch-active-bg-rgb, 37, 99, 235), 0.2) !important}:host(.switch-checked.switch-labeled) .switch-track-text{color:#ffffff !important}:host(.switch-checked.switch-labeled) .switch-thumb::after{content:"✓";color:var(--switch-active-bg);font-weight:900;font-size:calc(var(--switch-thumb-size, 20px) * 0.6)}:host-context(.dark) .switch-labeled .switch-track,[data-theme=dark] .switch-labeled .switch-track{background:#334155 !important;box-shadow:inset 2px 2px 6px rgba(0, 0, 0, 0.4), inset -1px -1px 3px rgba(255, 255, 255, 0.05) !important}:host-context(.dark) .switch-labeled .switch-track-text,[data-theme=dark] .switch-labeled .switch-track-text{color:#94a3b8 !important}';export{h as ui_switch}
@@ -0,0 +1 @@
1
+ import{r as t,c as e,a as s,h as i}from"./p-Dqu2zaH1.js";const a=class{constructor(s){t(this,s),this.valueChange=e(this,"valueChange")}get hostElement(){return s(this)}value=0;secondaryValue;minValue=0;maxValue=100;size=200;label="";unit="";showPercentage=!1;ranges="[]";needleColor="#1f2937";showTicks=!0;tickCount=10;animationDuration=1e3;startAngle=-135;endAngle=135;needleShape="triangle";customLabels="";gradientColors="";interactive=!1;valueChange;parsedLabels={};animatedValue=0;parsedRanges=[];parsedGradients=[];gradientId=`speedometer-grad-${Math.floor(1e6*Math.random())}`;animationFrame;animationStartTime;animationStartValue;isDragging=!1;rect;handleValueChange(t){this.animateToValue(t)}handleRangesChange(t){this.parseRanges(t)}handleLabelsChange(t){this.parseLabels(t)}handleGradientChange(t){this.parseGradients(t)}parseLabels(t){if(t)try{this.parsedLabels=JSON.parse(t)}catch(t){console.error("Invalid customLabels JSON",t)}else this.parsedLabels={}}componentWillLoad(){this.parseRanges(this.ranges),this.parseLabels(this.customLabels),this.parseGradients(this.gradientColors),this.animatedValue=this.value}componentDidLoad(){this.animateToValue(this.value)}disconnectedCallback(){this.animationFrame&&cancelAnimationFrame(this.animationFrame)}parseRanges(t){if(t)try{this.parsedRanges=JSON.parse(t)}catch(t){console.error("Invalid JSON for speedometer ranges:",t),this.parsedRanges=[]}else this.parsedRanges=[]}parseGradients(t){if(t)try{this.parsedGradients=JSON.parse(t)}catch(e){this.parsedGradients=t.split(",").map((t=>t.trim()))}else this.parsedGradients=[]}getEffectiveRanges(){if(this.parsedRanges.length>0)return this.parsedRanges;const t=this.maxValue-this.minValue,e=this.minValue+.4*t,s=this.minValue+.7*t;return[{min:this.minValue,max:e,color:"var(--color-success, #22c55e)"},{min:e,max:s,color:"var(--color-warning, #f59e0b)"},{min:s,max:this.maxValue,color:"var(--color-danger, #ef4444)"}]}animateToValue(t){this.animationFrame&&cancelAnimationFrame(this.animationFrame),this.animationStartTime=performance.now(),this.animationStartValue=this.animatedValue;const e=s=>{const i=Math.min((s-this.animationStartTime)/this.animationDuration,1),a=1-Math.pow(1-i,3);this.animatedValue=this.animationStartValue+(t-this.animationStartValue)*a,i<1?this.animationFrame=requestAnimationFrame(e):this.animatedValue=t};this.animationFrame=requestAnimationFrame(e)}async exportImage(t="speedometer",e="png"){const s=this.hostElement.shadowRoot.querySelector("svg");if(s)if("svg"===e){const e=(new XMLSerializer).serializeToString(s),i=new Blob([e],{type:"image/svg+xml;charset=utf-8"}),a=URL.createObjectURL(i);this.downloadFile(a,`${t}.svg`)}else{const e=(new XMLSerializer).serializeToString(s),i=document.createElement("canvas");i.width=this.size,i.height=this.size;const a=i.getContext("2d"),n=new Image;n.onload=()=>{a.drawImage(n,0,0);const e=i.toDataURL("image/png");this.downloadFile(e,`${t}.png`)},n.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(e)))}}downloadFile(t,e){const s=document.createElement("a");s.href=t,s.download=e,document.body.appendChild(s),s.click(),document.body.removeChild(s)}handleMouseDown=t=>{this.interactive&&(this.isDragging=!0,this.rect=this.hostElement.shadowRoot.querySelector(".speedometer-container").getBoundingClientRect(),this.updateValueFromEvent(t),window.addEventListener("mousemove",this.handleMouseMove),window.addEventListener("mouseup",this.handleMouseUp))};handleMouseMove=t=>{this.isDragging&&(t.preventDefault(),this.updateValueFromEvent(t))};handleMouseUp=()=>{this.isDragging=!1,window.removeEventListener("mousemove",this.handleMouseMove),window.removeEventListener("mouseup",this.handleMouseUp)};updateValueFromEvent(t){let e=Math.atan2(("touches"in t?t.touches[0].clientY:t.clientY)-(this.rect.top+this.rect.height/2),("touches"in t?t.touches[0].clientX:t.clientX)-(this.rect.left+this.rect.width/2))*(180/Math.PI);e=(e+360)%360;const s=this.endAngle-this.startAngle;let i=((e+90)%360-(this.startAngle+360)%360+360)%360;i>s&&(i=i>s+(360-s)/2?0:s);let a=this.startAngle+i;a=Math.max(this.startAngle,Math.min(this.endAngle,a));const n=Math.round(2*(this.minValue+(a-this.startAngle)/(this.endAngle-this.startAngle)*(this.maxValue-this.minValue)))/2;n!==this.value&&(this.value=n,this.valueChange.emit(this.value))}getColorForValue(t){const e=this.getEffectiveRanges(),s=e.find((e=>t>=e.min&&t<=e.max));return s?s.color:e[0].color}valueToAngle(t){return this.startAngle+(t-this.minValue)/(this.maxValue-this.minValue)*(this.endAngle-this.startAngle)}polarToCartesian(t,e,s,i){const a=(i-90)*Math.PI/180;return{x:t+s*Math.cos(a),y:e+s*Math.sin(a)}}createArc(t,e,s,i,a){const n=this.polarToCartesian(t,e,s,a),r=this.polarToCartesian(t,e,s,i);return["M",n.x,n.y,"A",s,s,0,a-i<=180?"0":"1",0,r.x,r.y].join(" ")}renderArc(){const t=this.size/2,e=this.size/2-30,s=this.createArc(t,t,e,this.startAngle,this.endAngle),a=this.valueToAngle(this.animatedValue),n=this.createArc(t,t,e,this.startAngle,a);let r=this.getColorForValue(this.animatedValue);return this.parsedGradients.length>1&&(r=`url(#${this.gradientId})`),i("g",null,i("defs",null,this.parsedGradients.length>1&&i("linearGradient",{id:this.gradientId,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},this.parsedGradients.map(((t,e)=>i("stop",{key:`${t}-${e}`,offset:e/(this.parsedGradients.length-1)*100+"%","stop-color":t}))))),i("path",{d:s,fill:"none",stroke:"#e5e7eb","stroke-width":20,"stroke-linecap":"round"}),this.getEffectiveRanges().map(((s,a)=>{const n=this.valueToAngle(s.min),r=this.valueToAngle(s.max),o=this.createArc(t,t,e,n,r);return i("path",{key:`${s.min}-${s.max}-${a}`,d:o,fill:"none",stroke:s.color,"stroke-width":20,"stroke-linecap":"round",opacity:"0.38",class:"range-segment"})})),i("path",{d:n,fill:"none",stroke:r,"stroke-width":20,"stroke-linecap":"round",class:"value-arc"}))}renderTicks(){if(!this.showTicks)return null;const t=this.size/2,e=this.size/2-20,s=e-12,a=s-Math.max(20,Math.round(.08*this.size)),n=[];for(let r=0;r<=this.tickCount;r++){const o=r/this.tickCount,h=this.startAngle+(this.endAngle-this.startAngle)*o,l=this.polarToCartesian(t,t,e,h),c=this.polarToCartesian(t,t,s,h);if(n.push(i("line",{x1:l.x,y1:l.y,x2:c.x,y2:c.y,stroke:"var(--text-secondary, #64748b)","stroke-width":"2.5","stroke-linecap":"round",class:"tick-mark"})),r%2==0){const e=this.polarToCartesian(t,t,a,h),s=this.minValue+(this.maxValue-this.minValue)*o,r=Math.round(s);n.push(i("text",{x:e.x,y:e.y,"text-anchor":"middle","dominant-baseline":"middle",class:"tick-label","paint-order":"stroke"},this.parsedLabels[s]??r))}}return i("g",null,n)}renderNeedle(t,e,s=!1){const a=this.size/2,n=this.size/2-40,r=s?2:4,o=this.valueToAngle(t),h=this.polarToCartesian(a,a,n,o),l=(o-90)*Math.PI/180,c=l+Math.PI/2,d=l-Math.PI/2,p=a+r*Math.cos(c),m=a+r*Math.sin(c),u=a+r*Math.cos(d),g=a+r*Math.sin(d);let f="";if("line"===this.needleShape||s)f=`M ${p} ${m} L ${h.x} ${h.y}`;else if("arrow"===this.needleShape){const t=this.polarToCartesian(a,a,.7*n,o);f=`M ${p} ${m} L ${t.x} ${t.y} L ${h.x} ${h.y} L ${t.x} ${t.y} L ${u} ${g} Z`}else f=`M ${p} ${m} L ${h.x} ${h.y} L ${u} ${g} Z`;return i("g",{class:s?"needle-secondary":"needle-primary",style:{opacity:s?"0.6":"1"}},i("path",{d:f,fill:e,class:"needle"}),i("circle",{cx:a,cy:a,r:s?4:8,fill:e}),!s&&i("circle",{cx:a,cy:a,r:"4",fill:"#fff"}))}renderValue(){const t=this.showPercentage?Math.round((this.animatedValue-this.minValue)/(this.maxValue-this.minValue)*100):Math.round(10*this.animatedValue)/10,e=this.showPercentage?"%":this.unit,s=this.size/2,a=this.size-Math.max(15,Math.round(.1*this.size));return i("g",{class:"value-group",style:{fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'}},i("text",{x:s,y:a,"text-anchor":"middle",class:"value-number-svg",fill:"currentColor","font-weight":"700"},t,e&&i("tspan",{class:"value-unit-svg","font-size":"0.6em",dx:"4","font-weight":"500"},e)),this.label&&i("text",{x:s,y:a+20,"text-anchor":"middle",class:"value-label-svg","font-size":"12","font-weight":"500",style:{textTransform:"uppercase",letterSpacing:"0.5px"}},this.label))}render(){return i("div",{key:"79553b35dfa7f6238e8f71e157af9be8071b38f3",class:{"speedometer-container":!0,interactive:this.interactive,"is-dragging":this.isDragging},onMouseDown:this.handleMouseDown,style:{width:`${this.size}px`,height:`${this.size}px`,cursor:this.interactive?this.isDragging?"grabbing":"grab":"default"}},i("svg",{key:"b7d59896164480aec8d960c116e460b6a0a7c86d",width:this.size,height:this.size,viewBox:`0 0 ${this.size} ${this.size}`,class:"speedometer-svg"},this.renderArc(),this.renderTicks(),void 0!==this.secondaryValue&&this.renderNeedle(this.secondaryValue,"#9ca3af",!0),this.renderNeedle(this.animatedValue,this.needleColor),this.renderValue()))}static get watchers(){return{value:[{handleValueChange:0}],ranges:[{handleRangesChange:0}],customLabels:[{handleLabelsChange:0}],gradientColors:[{handleGradientChange:0}]}}};a.style='.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}.speedometer-container{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}.speedometer-svg{display:block}.value-arc{transition:stroke 0.3s ease;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1))}.needle{transition:transform 0.3s ease;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2))}.tick-label{font-size:12px;fill:var(--text-secondary, #475569);opacity:0.98;font-weight:700;stroke:var(--bg-primary, #ffffff);stroke-width:3px;stroke-linejoin:round}.tick-mark{opacity:0.95}.value-display{position:absolute;bottom:var(--value-bottom, 8px);left:50%;transform:translateX(-50%);text-align:center;pointer-events:none}.value-number-svg{font-size:32px;font-weight:700;fill:currentColor;transition:fill 0.3s ease}.value-unit-svg{font-size:18px;font-weight:500;fill:currentColor;opacity:0.6}.value-label-svg{font-size:13px;fill:currentColor;opacity:0.6;font-weight:500;text-transform:uppercase;letter-spacing:0.5px}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.8}}.speedometer-container:hover .value-arc{filter:drop-shadow(0 4px 8px rgba(var(--color-primary-rgb, 59, 130, 246), 0.3))}@media (prefers-color-scheme: dark){.tick-label{fill:var(--text-primary, #e5e7eb);stroke:rgba(15, 23, 42, 0.9)}.tick-mark{opacity:1}}';export{a as ui_speedometer}