atomicuilibrary 0.0.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (675) hide show
  1. package/dist/cjs/category-section.cjs.entry.js +2 -2
  2. package/dist/cjs/dom-BvBb0kmW.js +267 -0
  3. package/dist/cjs/exploration-project-tailwind.cjs.js +2 -2
  4. package/dist/cjs/{index-ClkOYpT8.js → index-C32cWsm5.js} +1 -1
  5. package/dist/cjs/layout-manager.cjs.entry.js +3 -3
  6. package/dist/cjs/library-card.cjs.entry.js +2 -2
  7. package/dist/cjs/lm-container_2.cjs.entry.js +2 -2
  8. package/dist/cjs/lm-panel_3.cjs.entry.js +5 -5
  9. package/dist/cjs/loader.cjs.js +2 -2
  10. package/dist/cjs/my-component.cjs.entry.js +1 -1
  11. package/dist/cjs/my-step.cjs.entry.js +2 -2
  12. package/dist/cjs/nav-bar.cjs.entry.js +4 -4
  13. package/dist/cjs/{security-E1JcwxGc.js → security-CNaNip8F.js} +88 -154
  14. package/dist/cjs/smart-step.cjs.entry.js +3 -3
  15. package/dist/cjs/timeline-item.cjs.entry.js +2 -2
  16. package/dist/cjs/{ui-accordion_10.cjs.entry.js → ui-accordion_11.cjs.entry.js} +730 -61
  17. package/dist/cjs/ui-advanced-data-table.cjs.entry.js +2 -2
  18. package/dist/cjs/ui-anchor.cjs.entry.js +2 -2
  19. package/dist/cjs/ui-animate-on-scroll.cjs.entry.js +3 -3
  20. package/dist/cjs/ui-aside-panel.cjs.entry.js +11 -12
  21. package/dist/cjs/ui-avatar-group_5.cjs.entry.js +1694 -0
  22. package/dist/cjs/ui-breadcrumb-item.cjs.entry.js +3 -3
  23. package/dist/cjs/ui-breadcrumb.cjs.entry.js +1 -1
  24. package/dist/cjs/ui-callout-banner.cjs.entry.js +3 -3
  25. package/dist/cjs/ui-card.cjs.entry.js +28 -5
  26. package/dist/cjs/ui-carousel.cjs.entry.js +1 -1
  27. package/dist/cjs/ui-checkbox.cjs.entry.js +5 -5
  28. package/dist/cjs/ui-code-editor.cjs.entry.js +3 -3
  29. package/dist/cjs/ui-code-preview.cjs.entry.js +2 -2
  30. package/dist/cjs/ui-color-picker.cjs.entry.js +256 -22
  31. package/dist/cjs/ui-command-palette.cjs.entry.js +1 -1
  32. package/dist/cjs/ui-dialog-box.cjs.entry.js +86 -12
  33. package/dist/cjs/ui-dialog-content.cjs.entry.js +1 -1
  34. package/dist/cjs/ui-dialog-footer_2.cjs.entry.js +1 -1
  35. package/dist/cjs/ui-divider.cjs.entry.js +1 -1
  36. package/dist/cjs/ui-dock-host.cjs.entry.js +4 -4
  37. package/dist/cjs/ui-dock.cjs.entry.js +2 -2
  38. package/dist/cjs/ui-drag-drop.cjs.entry.js +2 -2
  39. package/dist/cjs/ui-dropdown_2.cjs.entry.js +104 -34
  40. package/dist/cjs/ui-empty-state.cjs.entry.js +2 -2
  41. package/dist/cjs/ui-fab-item.cjs.entry.js +2 -2
  42. package/dist/cjs/ui-fab.cjs.entry.js +4 -4
  43. package/dist/cjs/ui-file-upload.cjs.entry.js +143 -44
  44. package/dist/cjs/ui-horizontal-nav.cjs.entry.js +2 -2
  45. package/dist/cjs/ui-knob.cjs.entry.js +1 -1
  46. package/dist/cjs/ui-label.cjs.entry.js +473 -0
  47. package/dist/cjs/ui-library.cjs.entry.js +2 -2
  48. package/dist/cjs/ui-list-group_2.cjs.entry.js +351 -58
  49. package/dist/cjs/ui-list.cjs.entry.js +76 -42
  50. package/dist/cjs/ui-masonry.cjs.entry.js +1 -1
  51. package/dist/cjs/ui-meter-group.cjs.entry.js +5 -4
  52. package/dist/cjs/ui-navigation-item.cjs.entry.js +5 -5
  53. package/dist/cjs/ui-number-input.cjs.entry.js +7 -3
  54. package/dist/cjs/ui-otp-input.cjs.entry.js +5 -5
  55. package/dist/cjs/ui-pagination_3.cjs.entry.js +235 -504
  56. package/dist/cjs/ui-panel.cjs.entry.js +1 -1
  57. package/dist/cjs/ui-pattern-input.cjs.entry.js +46 -11
  58. package/dist/cjs/ui-progress.cjs.entry.js +164 -23
  59. package/dist/cjs/ui-range-slider.cjs.entry.js +2 -2
  60. package/dist/cjs/ui-resizable-panel.cjs.entry.js +2 -2
  61. package/dist/cjs/ui-scroll-top.cjs.entry.js +1 -1
  62. package/dist/cjs/ui-smart-context-menu.cjs.entry.js +1 -1
  63. package/dist/cjs/ui-smart-stepper.cjs.entry.js +2 -2
  64. package/dist/cjs/ui-snackbar.cjs.entry.js +2 -2
  65. package/dist/cjs/ui-speed-dial.cjs.entry.js +1 -1
  66. package/dist/cjs/ui-speedometer.cjs.entry.js +28 -17
  67. package/dist/cjs/ui-splitter.cjs.entry.js +1 -1
  68. package/dist/cjs/ui-step.cjs.entry.js +2 -2
  69. package/dist/cjs/ui-stepper.cjs.entry.js +2 -2
  70. package/dist/cjs/ui-switch.cjs.entry.js +14 -13
  71. package/dist/cjs/ui-tabs.cjs.entry.js +3 -3
  72. package/dist/cjs/ui-tag.cjs.entry.js +58 -13
  73. package/dist/cjs/ui-timeline.cjs.entry.js +11 -3
  74. package/dist/cjs/ui-timer.cjs.entry.js +2 -2
  75. package/dist/cjs/ui-toolbar.cjs.entry.js +2 -2
  76. package/dist/cjs/ui-tooltip.cjs.entry.js +5 -5
  77. package/dist/cjs/ui-top-bar.cjs.entry.js +1 -1
  78. package/dist/cjs/ui-transfer-list.cjs.entry.js +7 -7
  79. package/dist/cjs/ui-tree.cjs.entry.js +30 -15
  80. package/dist/cjs/ui-workspace-manager.cjs.entry.js +3 -3
  81. package/dist/collection/assets/js/component-config.js +1 -0
  82. package/dist/collection/assets/js/demo-loader.js +2 -1
  83. package/dist/collection/assets/js/demos/about-demo.js +13 -13
  84. package/dist/collection/assets/js/demos/accordion-demo.js +238 -49
  85. package/dist/collection/assets/js/demos/advanced-data-table-demo.js +315 -316
  86. package/dist/collection/assets/js/demos/anchor-demo.js +27 -28
  87. package/dist/collection/assets/js/demos/animate-on-scroll-demo.js +12 -12
  88. package/dist/collection/assets/js/demos/aside-panel-demo.js +57 -57
  89. package/dist/collection/assets/js/demos/avatar-demo.js +433 -95
  90. package/dist/collection/assets/js/demos/badge-demo.js +51 -52
  91. package/dist/collection/assets/js/demos/breadcrumb-demo.js +7 -7
  92. package/dist/collection/assets/js/demos/button-demo.js +175 -106
  93. package/dist/collection/assets/js/demos/button-toggle-demo.js +199 -96
  94. package/dist/collection/assets/js/demos/callout-banner-demo.js +332 -42
  95. package/dist/collection/assets/js/demos/card-demo.js +122 -74
  96. package/dist/collection/assets/js/demos/carousel-demo.js +632 -360
  97. package/dist/collection/assets/js/demos/checkbox-demo.js +124 -7
  98. package/dist/collection/assets/js/demos/color-picker-demo.js +394 -100
  99. package/dist/collection/assets/js/demos/command-palette-demo.js +182 -65
  100. package/dist/collection/assets/js/demos/complex-form-demo.js +5 -5
  101. package/dist/collection/assets/js/demos/context-menu-demo.js +476 -55
  102. package/dist/collection/assets/js/demos/dialog-demo-temp.js +3 -3
  103. package/dist/collection/assets/js/demos/dialog-demo.js +336 -230
  104. package/dist/collection/assets/js/demos/divider-demo.js +59 -62
  105. package/dist/collection/assets/js/demos/dock-demo.js +92 -72
  106. package/dist/collection/assets/js/demos/dock-host-init.js +31 -31
  107. package/dist/collection/assets/js/demos/documentation-demo.js +227 -22
  108. package/dist/collection/assets/js/demos/drag-drop-demo.js +2 -2
  109. package/dist/collection/assets/js/demos/dropdown-demo.js +140 -136
  110. package/dist/collection/assets/js/demos/dropdown-subtitle-demo.js +2 -2
  111. package/dist/collection/assets/js/demos/empty-state-demo.js +304 -88
  112. package/dist/collection/assets/js/demos/fab-demo.js +95 -11
  113. package/dist/collection/assets/js/demos/file-upload-demo.js +641 -171
  114. package/dist/collection/assets/js/demos/home-components.js +2 -2
  115. package/dist/collection/assets/js/demos/horizontal-nav-demo.js +6 -6
  116. package/dist/collection/assets/js/demos/icon-demo.js +17 -17
  117. package/dist/collection/assets/js/demos/input-demo.js +147 -143
  118. package/dist/collection/assets/js/demos/knob-demo.js +29 -30
  119. package/dist/collection/assets/js/demos/label-demo.js +697 -0
  120. package/dist/collection/assets/js/demos/layout-manager-demo.js +55 -55
  121. package/dist/collection/assets/js/demos/list-demo.js +226 -140
  122. package/dist/collection/assets/js/demos/loader-demo.js +48 -48
  123. package/dist/collection/assets/js/demos/masonry-demo.js +592 -0
  124. package/dist/collection/assets/js/demos/meter-group-demo.js +14 -16
  125. package/dist/collection/assets/js/demos/multi-level-context-menu-demo.js +25 -25
  126. package/dist/collection/assets/js/demos/my-profile-demo.js +27 -27
  127. package/dist/collection/assets/js/demos/nav-bar-demo.js +1 -1
  128. package/dist/collection/assets/js/demos/number-input-demo.js +262 -211
  129. package/dist/collection/assets/js/demos/pagination-demo.js +29 -29
  130. package/dist/collection/assets/js/demos/panel-demo.js +18 -25
  131. package/dist/collection/assets/js/demos/pattern-input-demo.js +278 -40
  132. package/dist/collection/assets/js/demos/popover-demo.js +240 -149
  133. package/dist/collection/assets/js/demos/progress-demo.js +768 -61
  134. package/dist/collection/assets/js/demos/radio-demo.js +73 -12
  135. package/dist/collection/assets/js/demos/range-slider-demo.js +33 -33
  136. package/dist/collection/assets/js/demos/rating-demo.js +19 -19
  137. package/dist/collection/assets/js/demos/scroll-top-demo.js +8 -9
  138. package/dist/collection/assets/js/demos/skeleton-demo.js +110 -52
  139. package/dist/collection/assets/js/demos/skeleton-performance-demo.js +2 -2
  140. package/dist/collection/assets/js/demos/smart-dialog-demo.js +12 -12
  141. package/dist/collection/assets/js/demos/smart-menu-demo.js +17 -17
  142. package/dist/collection/assets/js/demos/snackbar-demo.js +53 -53
  143. package/dist/collection/assets/js/demos/speed-dial-demo.js +14 -14
  144. package/dist/collection/assets/js/demos/speedometer-demo.js +40 -32
  145. package/dist/collection/assets/js/demos/split-button-demo.js +2 -2
  146. package/dist/collection/assets/js/demos/splitter-demo.js +137 -0
  147. package/dist/collection/assets/js/demos/stack-demo.js +27 -27
  148. package/dist/collection/assets/js/demos/stepper-demo.js +49 -49
  149. package/dist/collection/assets/js/demos/switch-demo.js +561 -125
  150. package/dist/collection/assets/js/demos/tabs-demo.js +22 -22
  151. package/dist/collection/assets/js/demos/tag-demo.js +110 -80
  152. package/dist/collection/assets/js/demos/theme-selector-demo.js +27 -27
  153. package/dist/collection/assets/js/demos/timeline-demo.js +27 -14
  154. package/dist/collection/assets/js/demos/timeline-playground.js +2 -2
  155. package/dist/collection/assets/js/demos/timer-demo.js +10 -10
  156. package/dist/collection/assets/js/demos/toolbar-demo.js +17 -17
  157. package/dist/collection/assets/js/demos/tooltip-demo.js +116 -114
  158. package/dist/collection/assets/js/demos/top-bar-demo.js +6 -6
  159. package/dist/collection/assets/js/demos/transfer-list-demo.js +20 -20
  160. package/dist/collection/assets/js/demos/tree-demo.js +72 -70
  161. package/dist/collection/assets/js/demos/workspace-manager-demo.js +20 -20
  162. package/dist/collection/collection-manifest.json +2 -6
  163. package/dist/collection/components/accordion/accordion.css +576 -9
  164. package/dist/collection/components/accordion/accordion.js +47 -14
  165. package/dist/collection/components/advanced-data-table/advanced-data-table.css +24 -10
  166. package/dist/collection/components/advanced-data-table/advanced-data-table.js +2 -2
  167. package/dist/collection/components/anchor/anchor.css +0 -1
  168. package/dist/collection/components/animate-on-scroll/animate-on-scroll.js +2 -2
  169. package/dist/collection/components/aside-panel/aside-panel.css +3 -5
  170. package/dist/collection/components/aside-panel/aside-panel.js +12 -13
  171. package/dist/collection/components/avatar/avatar.css +6 -6
  172. package/dist/collection/components/avatar/avatar.js +64 -12
  173. package/dist/collection/components/badge/badge.css +28 -17
  174. package/dist/collection/components/badge/badge.js +7 -4
  175. package/dist/collection/components/breadcrumb/breadcrumb-item.js +2 -2
  176. package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
  177. package/dist/collection/components/button/button.css +132 -0
  178. package/dist/collection/components/button/button.js +130 -11
  179. package/dist/collection/components/button-toggle/button-toggle.js +2 -2
  180. package/dist/collection/components/button-toggle-group/button-toggle-group.css +161 -14
  181. package/dist/collection/components/button-toggle-group/button-toggle-group.js +2 -2
  182. package/dist/collection/components/callout-banner/callout-banner.css +75 -0
  183. package/dist/collection/components/callout-banner/callout-banner.js +1 -1
  184. package/dist/collection/components/card/card.css +304 -40
  185. package/dist/collection/components/card/card.js +48 -4
  186. package/dist/collection/components/checkbox/checkbox.css +8 -10
  187. package/dist/collection/components/checkbox/checkbox.js +5 -5
  188. package/dist/collection/components/code-editor/code-editor.js +1 -1
  189. package/dist/collection/components/code-preview/ui-code-preview.js +1 -1
  190. package/dist/collection/components/color-picker/color-picker.css +110 -6
  191. package/dist/collection/components/color-picker/color-picker.js +302 -26
  192. package/dist/collection/components/context-menu/context-menu.css +8 -8
  193. package/dist/collection/components/dialog-box/dialog-box.js +117 -15
  194. package/dist/collection/components/dialog-header/dialog-header.js +2 -2
  195. package/dist/collection/components/dock/dock.css +116 -3
  196. package/dist/collection/components/dock-host/ui-dock-host.js +3 -3
  197. package/dist/collection/components/drag-drop/drag-drop.js +1 -1
  198. package/dist/collection/components/dropdown/dropdown.css +101 -8
  199. package/dist/collection/components/dropdown/dropdown.js +94 -28
  200. package/dist/collection/components/empty-state/empty-state.js +1 -1
  201. package/dist/collection/components/fab/fab.css +87 -15
  202. package/dist/collection/components/fab/fab.js +3 -3
  203. package/dist/collection/components/fab-item/fab-item.js +1 -1
  204. package/dist/collection/components/file-upload/file-upload.css +1362 -31
  205. package/dist/collection/components/file-upload/file-upload.js +171 -50
  206. package/dist/collection/components/horizontal-nav/horizontal-nav.css +9 -9
  207. package/dist/collection/components/horizontal-nav/horizontal-nav.js +2 -2
  208. package/dist/collection/components/icon/icon.js +1 -1
  209. package/dist/collection/components/input/input.css +9 -0
  210. package/dist/collection/components/input/input.js +21 -10
  211. package/dist/collection/components/label/label.css +583 -0
  212. package/dist/collection/components/label/label.js +1669 -0
  213. package/dist/collection/components/layout-manager/layout-manager.js +1 -1
  214. package/dist/collection/components/layout-manager/lm-floating-window/lm-floating-window.js +1 -1
  215. package/dist/collection/components/layout-manager/lm-panel/lm-panel.js +1 -1
  216. package/dist/collection/components/layout-manager/lm-splitter/lm-splitter.js +1 -1
  217. package/dist/collection/components/layout-manager/lm-tabs/lm-tabs.js +1 -1
  218. package/dist/collection/components/library/category-section.js +1 -1
  219. package/dist/collection/components/library/library-card.js +1 -1
  220. package/dist/collection/components/library/library.js +1 -1
  221. package/dist/collection/components/list/list.css +46 -5
  222. package/dist/collection/components/list/list.js +76 -42
  223. package/dist/collection/components/list-group/list-group.css +0 -2
  224. package/dist/collection/components/list-group/list-group.js +11 -5
  225. package/dist/collection/components/list-item/list-item.css +427 -131
  226. package/dist/collection/components/list-item/list-item.js +373 -58
  227. package/dist/collection/components/loader/loader.css +1635 -0
  228. package/dist/collection/components/loader/loader.js +1120 -0
  229. package/dist/collection/components/meter-group/meter-group.css +5 -0
  230. package/dist/collection/components/meter-group/meter-group.js +3 -2
  231. package/dist/collection/components/my-step/my-step.js +1 -1
  232. package/dist/collection/components/nav-bar/nav-bar.css +4 -4
  233. package/dist/collection/components/nav-bar/nav-bar.js +6 -6
  234. package/dist/collection/components/number-input/number-input.js +6 -2
  235. package/dist/collection/components/otp-input/otp-input.css +10 -0
  236. package/dist/collection/components/otp-input/otp-input.js +3 -3
  237. package/dist/collection/components/pagination/pagination.js +1 -1
  238. package/dist/collection/components/pattern-input/pattern-input.css +0 -1
  239. package/dist/collection/components/pattern-input/pattern-input.js +44 -9
  240. package/dist/collection/components/popover/popover.css +35 -7
  241. package/dist/collection/components/popover/popover.js +64 -9
  242. package/dist/collection/components/progress/progress.css +307 -28
  243. package/dist/collection/components/progress/progress.js +244 -24
  244. package/dist/collection/components/radio/radio.css +5 -3
  245. package/dist/collection/components/radio/radio.js +2 -2
  246. package/dist/collection/components/range-slider/range-slider.css +284 -31
  247. package/dist/collection/components/range-slider/range-slider.js +5 -5
  248. package/dist/collection/components/rating/rating.css +151 -65
  249. package/dist/collection/components/rating/rating.js +31 -13
  250. package/dist/collection/components/resizable-panel/resizable-panel.js +1 -1
  251. package/dist/collection/components/skeleton/skeleton-loader.css +144 -44
  252. package/dist/collection/components/skeleton/skeleton-loader.js +11 -7
  253. package/dist/collection/components/smart-stepper/smart-step.js +2 -2
  254. package/dist/collection/components/smart-stepper/smart-stepper.js +1 -1
  255. package/dist/collection/components/snackbar/snackbar.js +1 -1
  256. package/dist/collection/components/speed-dial/speed-dial.js +1 -1
  257. package/dist/collection/components/speedometer/speedometer.css +26 -6
  258. package/dist/collection/components/speedometer/speedometer.js +26 -15
  259. package/dist/collection/components/stack/stack.js +2 -2
  260. package/dist/collection/components/step/step.js +1 -1
  261. package/dist/collection/components/stepper/stepper.js +1 -1
  262. package/dist/collection/components/switch/switch.css +367 -8
  263. package/dist/collection/components/switch/switch.js +14 -13
  264. package/dist/collection/components/tag/tag.css +38 -12
  265. package/dist/collection/components/tag/tag.js +58 -13
  266. package/dist/collection/components/tag-group/tag-group.css +0 -1
  267. package/dist/collection/components/tag-group/tag-group.js +3 -3
  268. package/dist/collection/components/timeline/timeline.css +380 -317
  269. package/dist/collection/components/timeline/timeline.js +8 -0
  270. package/dist/collection/components/timeline-item/timeline-item.js +1 -1
  271. package/dist/collection/components/timer/timer.js +1 -1
  272. package/dist/collection/components/toggle-group/toggle-group.css +7 -3
  273. package/dist/collection/components/toggle-group/toggle-group.js +7 -3
  274. package/dist/collection/components/toolbar/toolbar.js +1 -1
  275. package/dist/collection/components/tooltip/tooltip.js +4 -4
  276. package/dist/collection/components/top-bar/top-bar.js +2 -2
  277. package/dist/collection/components/transfer-list/transfer-list.css +13 -13
  278. package/dist/collection/components/transfer-list/transfer-list.js +4 -4
  279. package/dist/collection/components/tree/tree.css +35 -21
  280. package/dist/collection/components/tree/tree.js +28 -13
  281. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.css +53 -20
  282. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.js +48 -13
  283. package/dist/collection/components/ui-navigation-bar/navigation-item.css +7 -7
  284. package/dist/collection/components/ui-navigation-bar/navigation-item.js +3 -3
  285. package/dist/collection/components.js +1 -0
  286. package/dist/collection/utils/dom.js +151 -151
  287. package/dist/components/avatar-group.js +1 -1
  288. package/dist/components/avatar.js +1 -1
  289. package/dist/components/badge.js +1 -1
  290. package/dist/components/button-toggle.js +1 -1
  291. package/dist/components/button.js +1 -0
  292. package/dist/components/category-section2.js +1 -1
  293. package/dist/components/checkbox.js +1 -1
  294. package/dist/components/context-menu.js +1 -1
  295. package/dist/components/dialog-header.js +1 -1
  296. package/dist/components/dom.js +1 -1
  297. package/dist/components/dropdown.js +1 -1
  298. package/dist/components/icon.js +2 -2
  299. package/dist/components/input.js +1 -1
  300. package/dist/components/layout-manager.js +1 -1
  301. package/dist/components/library-card2.js +1 -1
  302. package/dist/components/list-group.js +1 -1
  303. package/dist/components/list-item.js +1 -1
  304. package/dist/components/lm-container2.js +1 -1
  305. package/dist/components/lm-floating-window2.js +1 -1
  306. package/dist/components/lm-panel2.js +1 -1
  307. package/dist/components/lm-splitter2.js +1 -1
  308. package/dist/components/lm-tabs2.js +1 -1
  309. package/dist/components/loader.js +1 -0
  310. package/dist/components/my-step.js +1 -1
  311. package/dist/components/nav-bar.js +1 -1
  312. package/dist/components/pagination.js +1 -1
  313. package/dist/components/popover.js +1 -0
  314. package/dist/components/radio.js +1 -1
  315. package/dist/components/range-slider.js +1 -1
  316. package/dist/components/rating.js +1 -1
  317. package/dist/components/resizable-panel.js +1 -1
  318. package/dist/components/skeleton-loader.js +1 -1
  319. package/dist/components/smart-step.js +1 -1
  320. package/dist/components/stack.js +1 -1
  321. package/dist/components/switch.js +1 -1
  322. package/dist/components/tag-group.js +1 -1
  323. package/dist/components/tag.js +1 -1
  324. package/dist/components/timeline-item.js +1 -1
  325. package/dist/components/toggle-group.js +1 -1
  326. package/dist/components/tooltip.js +1 -1
  327. package/dist/components/ui-accordion.js +1 -1
  328. package/dist/components/ui-advanced-data-table.js +1 -1
  329. package/dist/components/ui-anchor.js +1 -1
  330. package/dist/components/ui-animate-on-scroll.js +1 -1
  331. package/dist/components/ui-aside-panel.js +1 -1
  332. package/dist/components/ui-badge.js +1 -1
  333. package/dist/components/ui-breadcrumb-item.js +1 -1
  334. package/dist/components/ui-breadcrumb.js +1 -1
  335. package/dist/components/ui-button-toggle-group.js +1 -1
  336. package/dist/components/ui-button.js +1 -1
  337. package/dist/components/ui-callout-banner.js +1 -1
  338. package/dist/components/ui-card.js +1 -1
  339. package/dist/components/ui-carousel.js +1 -1
  340. package/dist/components/ui-code-editor.js +1 -1
  341. package/dist/components/ui-code-preview.js +1 -1
  342. package/dist/components/ui-color-picker.js +1 -1
  343. package/dist/components/ui-command-palette.js +1 -1
  344. package/dist/components/ui-dialog-box.js +1 -1
  345. package/dist/components/ui-divider.js +1 -1
  346. package/dist/components/ui-dock-host.js +1 -1
  347. package/dist/components/ui-dock.js +1 -1
  348. package/dist/components/ui-drag-drop.js +1 -1
  349. package/dist/components/ui-empty-state.js +1 -1
  350. package/dist/components/ui-fab-item.js +1 -1
  351. package/dist/components/ui-fab.js +1 -1
  352. package/dist/components/ui-file-upload.js +1 -1
  353. package/dist/components/ui-horizontal-nav.js +1 -1
  354. package/dist/components/ui-knob.js +1 -1
  355. package/dist/components/{ui-input-pair.d.ts → ui-label.d.ts} +4 -4
  356. package/dist/components/ui-label.js +1 -0
  357. package/dist/components/ui-library.js +1 -1
  358. package/dist/components/ui-list.js +1 -1
  359. package/dist/components/{ui-radio-group.d.ts → ui-loader.d.ts} +4 -4
  360. package/dist/components/ui-loader.js +1 -0
  361. package/dist/components/ui-masonry.js +1 -1
  362. package/dist/components/ui-meter-group.js +1 -1
  363. package/dist/components/ui-navigation-bar.js +1 -1
  364. package/dist/components/ui-navigation-item.js +1 -1
  365. package/dist/components/ui-number-input.js +1 -1
  366. package/dist/components/ui-otp-input.js +1 -1
  367. package/dist/components/ui-panel.js +1 -1
  368. package/dist/components/ui-pattern-input.js +1 -1
  369. package/dist/components/ui-popover.js +1 -1
  370. package/dist/components/ui-progress.js +1 -1
  371. package/dist/components/ui-scroll-top.js +1 -1
  372. package/dist/components/ui-smart-context-menu.js +1 -1
  373. package/dist/components/ui-smart-stepper.js +1 -1
  374. package/dist/components/ui-snackbar.js +1 -1
  375. package/dist/components/ui-speed-dial.js +1 -1
  376. package/dist/components/ui-speedometer.js +1 -1
  377. package/dist/components/ui-splitter.js +1 -1
  378. package/dist/components/ui-step.js +1 -1
  379. package/dist/components/ui-stepper.js +1 -1
  380. package/dist/components/ui-tabs.js +1 -1
  381. package/dist/components/ui-timeline.js +1 -1
  382. package/dist/components/ui-timer.js +1 -1
  383. package/dist/components/ui-toolbar.js +1 -1
  384. package/dist/components/ui-top-bar.js +1 -1
  385. package/dist/components/ui-transfer-list.js +1 -1
  386. package/dist/components/ui-tree.js +1 -1
  387. package/dist/components/ui-workspace-manager.js +1 -1
  388. package/dist/esm/category-section.entry.js +2 -2
  389. package/dist/esm/dom-DFBTWhGw.js +262 -0
  390. package/dist/esm/exploration-project-tailwind.js +3 -3
  391. package/dist/esm/{index-DUsoYu9r.js → index-Dqu2zaH1.js} +1 -1
  392. package/dist/esm/layout-manager.entry.js +3 -3
  393. package/dist/esm/library-card.entry.js +2 -2
  394. package/dist/esm/lm-container_2.entry.js +2 -2
  395. package/dist/esm/lm-panel_3.entry.js +5 -5
  396. package/dist/esm/loader.js +3 -3
  397. package/dist/esm/my-component.entry.js +1 -1
  398. package/dist/esm/my-step.entry.js +2 -2
  399. package/dist/esm/nav-bar.entry.js +4 -4
  400. package/dist/esm/{security-D2WzX6vR.js → security-Dyu3Nplq.js} +88 -154
  401. package/dist/esm/smart-step.entry.js +3 -3
  402. package/dist/esm/timeline-item.entry.js +2 -2
  403. package/dist/esm/{ui-accordion_10.entry.js → ui-accordion_11.entry.js} +730 -62
  404. package/dist/esm/ui-advanced-data-table.entry.js +2 -2
  405. package/dist/esm/ui-anchor.entry.js +2 -2
  406. package/dist/esm/ui-animate-on-scroll.entry.js +3 -3
  407. package/dist/esm/ui-aside-panel.entry.js +11 -12
  408. package/dist/esm/ui-avatar-group_5.entry.js +1688 -0
  409. package/dist/esm/ui-breadcrumb-item.entry.js +3 -3
  410. package/dist/esm/ui-breadcrumb.entry.js +1 -1
  411. package/dist/esm/ui-callout-banner.entry.js +3 -3
  412. package/dist/esm/ui-card.entry.js +28 -5
  413. package/dist/esm/ui-carousel.entry.js +1 -1
  414. package/dist/esm/ui-checkbox.entry.js +5 -5
  415. package/dist/esm/ui-code-editor.entry.js +3 -3
  416. package/dist/esm/ui-code-preview.entry.js +2 -2
  417. package/dist/esm/ui-color-picker.entry.js +256 -22
  418. package/dist/esm/ui-command-palette.entry.js +1 -1
  419. package/dist/esm/ui-dialog-box.entry.js +86 -12
  420. package/dist/esm/ui-dialog-content.entry.js +1 -1
  421. package/dist/esm/ui-dialog-footer_2.entry.js +1 -1
  422. package/dist/esm/ui-divider.entry.js +1 -1
  423. package/dist/esm/ui-dock-host.entry.js +4 -4
  424. package/dist/esm/ui-dock.entry.js +2 -2
  425. package/dist/esm/ui-drag-drop.entry.js +2 -2
  426. package/dist/esm/ui-dropdown_2.entry.js +104 -34
  427. package/dist/esm/ui-empty-state.entry.js +2 -2
  428. package/dist/esm/ui-fab-item.entry.js +2 -2
  429. package/dist/esm/ui-fab.entry.js +4 -4
  430. package/dist/esm/ui-file-upload.entry.js +143 -44
  431. package/dist/esm/ui-horizontal-nav.entry.js +2 -2
  432. package/dist/esm/ui-knob.entry.js +1 -1
  433. package/dist/esm/ui-label.entry.js +471 -0
  434. package/dist/esm/ui-library.entry.js +2 -2
  435. package/dist/esm/ui-list-group_2.entry.js +351 -58
  436. package/dist/esm/ui-list.entry.js +76 -42
  437. package/dist/esm/ui-masonry.entry.js +1 -1
  438. package/dist/esm/ui-meter-group.entry.js +5 -4
  439. package/dist/esm/ui-navigation-item.entry.js +5 -5
  440. package/dist/esm/ui-number-input.entry.js +7 -3
  441. package/dist/esm/ui-otp-input.entry.js +5 -5
  442. package/dist/esm/ui-pagination_3.entry.js +235 -504
  443. package/dist/esm/ui-panel.entry.js +1 -1
  444. package/dist/esm/ui-pattern-input.entry.js +46 -11
  445. package/dist/esm/ui-progress.entry.js +164 -23
  446. package/dist/esm/ui-range-slider.entry.js +2 -2
  447. package/dist/esm/ui-resizable-panel.entry.js +2 -2
  448. package/dist/esm/ui-scroll-top.entry.js +1 -1
  449. package/dist/esm/ui-smart-context-menu.entry.js +1 -1
  450. package/dist/esm/ui-smart-stepper.entry.js +2 -2
  451. package/dist/esm/ui-snackbar.entry.js +2 -2
  452. package/dist/esm/ui-speed-dial.entry.js +1 -1
  453. package/dist/esm/ui-speedometer.entry.js +28 -17
  454. package/dist/esm/ui-splitter.entry.js +1 -1
  455. package/dist/esm/ui-step.entry.js +2 -2
  456. package/dist/esm/ui-stepper.entry.js +2 -2
  457. package/dist/esm/ui-switch.entry.js +14 -13
  458. package/dist/esm/ui-tabs.entry.js +3 -3
  459. package/dist/esm/ui-tag.entry.js +58 -13
  460. package/dist/esm/ui-timeline.entry.js +11 -3
  461. package/dist/esm/ui-timer.entry.js +2 -2
  462. package/dist/esm/ui-toolbar.entry.js +2 -2
  463. package/dist/esm/ui-tooltip.entry.js +5 -5
  464. package/dist/esm/ui-top-bar.entry.js +1 -1
  465. package/dist/esm/ui-transfer-list.entry.js +7 -7
  466. package/dist/esm/ui-tree.entry.js +30 -15
  467. package/dist/esm/ui-workspace-manager.entry.js +3 -3
  468. package/dist/exploration-project-tailwind/exploration-project-tailwind.css +1 -1
  469. package/dist/exploration-project-tailwind/exploration-project-tailwind.esm.js +1 -1
  470. package/dist/exploration-project-tailwind/{p-f5719913.entry.js → p-024a299a.entry.js} +1 -1
  471. package/dist/exploration-project-tailwind/p-0a71896a.entry.js +1 -0
  472. package/dist/exploration-project-tailwind/{p-35296877.entry.js → p-0cdeb8d8.entry.js} +1 -1
  473. package/dist/exploration-project-tailwind/{p-a42fdc33.entry.js → p-139cefbc.entry.js} +1 -1
  474. package/dist/exploration-project-tailwind/{p-c7e87fbb.entry.js → p-198c83e5.entry.js} +1 -1
  475. package/dist/exploration-project-tailwind/p-236f47b1.entry.js +1 -0
  476. package/dist/exploration-project-tailwind/{p-81961fb1.entry.js → p-25530d0d.entry.js} +1 -1
  477. package/dist/exploration-project-tailwind/{p-41cd6bf0.entry.js → p-298f2057.entry.js} +1 -1
  478. package/dist/exploration-project-tailwind/{p-85e36111.entry.js → p-2b5a8e3e.entry.js} +1 -1
  479. package/dist/exploration-project-tailwind/p-2b6aa7bc.entry.js +1 -0
  480. package/dist/exploration-project-tailwind/{p-7515b1e3.entry.js → p-2cfba753.entry.js} +1 -1
  481. package/dist/exploration-project-tailwind/{p-c90722ec.entry.js → p-2fe22958.entry.js} +1 -1
  482. package/dist/exploration-project-tailwind/{p-85bf89fd.entry.js → p-3012e780.entry.js} +1 -1
  483. package/dist/exploration-project-tailwind/p-321c3f46.entry.js +1 -0
  484. package/dist/exploration-project-tailwind/{p-3d3d48fd.entry.js → p-3ab43638.entry.js} +1 -1
  485. package/dist/exploration-project-tailwind/p-3ad7e47e.entry.js +1 -0
  486. package/dist/exploration-project-tailwind/p-3b1ca826.entry.js +1 -0
  487. package/dist/exploration-project-tailwind/p-3ee8ddae.entry.js +1 -0
  488. package/dist/exploration-project-tailwind/{p-4f6bba75.entry.js → p-3efb44c8.entry.js} +1 -1
  489. package/dist/exploration-project-tailwind/{p-36861546.entry.js → p-42e3bc28.entry.js} +1 -1
  490. package/dist/exploration-project-tailwind/p-4360331a.entry.js +1 -0
  491. package/dist/exploration-project-tailwind/{p-2f961934.entry.js → p-443de32b.entry.js} +1 -1
  492. package/dist/exploration-project-tailwind/{p-898dd0fa.entry.js → p-44d15451.entry.js} +1 -1
  493. package/dist/exploration-project-tailwind/{p-e5322e59.entry.js → p-46071679.entry.js} +1 -1
  494. package/dist/exploration-project-tailwind/{p-a3f465d9.entry.js → p-497d6182.entry.js} +1 -1
  495. package/dist/exploration-project-tailwind/p-4ad8c55c.entry.js +1 -0
  496. package/dist/exploration-project-tailwind/{p-73d29a4a.entry.js → p-4c46ac0b.entry.js} +1 -1
  497. package/dist/exploration-project-tailwind/{p-f0830120.entry.js → p-5042ddaa.entry.js} +1 -1
  498. package/dist/exploration-project-tailwind/p-60190e0e.entry.js +1 -0
  499. package/dist/exploration-project-tailwind/p-60530874.entry.js +1 -0
  500. package/dist/exploration-project-tailwind/{p-200241f8.entry.js → p-6108565d.entry.js} +1 -1
  501. package/dist/exploration-project-tailwind/{p-77124686.entry.js → p-62889cfe.entry.js} +1 -1
  502. package/dist/exploration-project-tailwind/{p-9d0c8760.entry.js → p-66f71613.entry.js} +1 -1
  503. package/dist/exploration-project-tailwind/{p-2d273118.entry.js → p-67c440b2.entry.js} +1 -1
  504. package/dist/exploration-project-tailwind/{p-d419eaf0.entry.js → p-6f09503f.entry.js} +1 -1
  505. package/dist/exploration-project-tailwind/p-721bdbc3.entry.js +1 -0
  506. package/dist/exploration-project-tailwind/p-747b02ea.entry.js +1 -0
  507. package/dist/exploration-project-tailwind/{p-c6fd72e1.entry.js → p-754cb046.entry.js} +1 -1
  508. package/dist/exploration-project-tailwind/{p-ffb1754a.entry.js → p-7ed3bba2.entry.js} +1 -1
  509. package/dist/exploration-project-tailwind/{p-77cc333a.entry.js → p-864cebb7.entry.js} +1 -1
  510. package/dist/exploration-project-tailwind/{p-4d73c143.entry.js → p-96ee3196.entry.js} +1 -1
  511. package/dist/exploration-project-tailwind/{p-c5ddc817.entry.js → p-97086868.entry.js} +1 -1
  512. package/dist/exploration-project-tailwind/{p-287dbf09.entry.js → p-9c5ced88.entry.js} +1 -1
  513. package/dist/exploration-project-tailwind/p-9d3044d4.entry.js +1 -0
  514. package/dist/exploration-project-tailwind/p-9e079be6.entry.js +1 -0
  515. package/dist/exploration-project-tailwind/{p-0b004861.entry.js → p-9e4c45f5.entry.js} +1 -1
  516. package/dist/exploration-project-tailwind/p-9eee7394.entry.js +1 -0
  517. package/dist/exploration-project-tailwind/p-DFBTWhGw.js +1 -0
  518. package/dist/exploration-project-tailwind/p-Dqu2zaH1.js +2 -0
  519. package/dist/exploration-project-tailwind/p-Dyu3Nplq.js +2 -0
  520. package/dist/exploration-project-tailwind/p-a7bdedc2.entry.js +1 -0
  521. package/dist/exploration-project-tailwind/{p-c87aeab6.entry.js → p-a8ec29de.entry.js} +1 -1
  522. package/dist/exploration-project-tailwind/{p-c174a372.entry.js → p-ae617f62.entry.js} +1 -1
  523. package/dist/exploration-project-tailwind/{p-62352ef2.entry.js → p-aef76052.entry.js} +1 -1
  524. package/dist/exploration-project-tailwind/p-b5f043fa.entry.js +1 -0
  525. package/dist/exploration-project-tailwind/p-b637b91b.entry.js +1 -0
  526. package/dist/exploration-project-tailwind/{p-8d951aef.entry.js → p-bc49a088.entry.js} +1 -1
  527. package/dist/exploration-project-tailwind/{p-4de419d5.entry.js → p-bd9a631f.entry.js} +1 -1
  528. package/dist/exploration-project-tailwind/{p-e8ba0c95.entry.js → p-bf4b6767.entry.js} +1 -1
  529. package/dist/exploration-project-tailwind/p-c0fa400e.entry.js +1 -0
  530. package/dist/exploration-project-tailwind/{p-5e3e80ae.entry.js → p-c4f3d990.entry.js} +1 -1
  531. package/dist/exploration-project-tailwind/p-c68ddb2f.entry.js +1 -0
  532. package/dist/exploration-project-tailwind/p-c79574c4.entry.js +1 -0
  533. package/dist/exploration-project-tailwind/p-c840098d.entry.js +1 -0
  534. package/dist/exploration-project-tailwind/{p-a1ad32a2.entry.js → p-c8663cbe.entry.js} +1 -1
  535. package/dist/exploration-project-tailwind/{p-7f91d949.entry.js → p-cb6e38a6.entry.js} +1 -1
  536. package/dist/exploration-project-tailwind/p-cb9f2df1.entry.js +1 -0
  537. package/dist/exploration-project-tailwind/p-cfe8b696.entry.js +1 -0
  538. package/dist/exploration-project-tailwind/p-d00e13ae.entry.js +1 -0
  539. package/dist/exploration-project-tailwind/{p-c4ba7e52.entry.js → p-d01ed934.entry.js} +1 -1
  540. package/dist/exploration-project-tailwind/{p-aa85ff78.entry.js → p-d4e57d94.entry.js} +1 -1
  541. package/dist/exploration-project-tailwind/{p-ccb5c737.entry.js → p-d5bd3a3f.entry.js} +1 -1
  542. package/dist/exploration-project-tailwind/{p-45482d86.entry.js → p-d987cebe.entry.js} +1 -1
  543. package/dist/exploration-project-tailwind/p-d9ae77c0.entry.js +1 -0
  544. package/dist/exploration-project-tailwind/p-e9bae5c7.entry.js +1 -0
  545. package/dist/exploration-project-tailwind/p-f516fabc.entry.js +1 -0
  546. package/dist/exploration-project-tailwind/p-f68e2794.entry.js +1 -0
  547. package/dist/exploration-project-tailwind/{p-d30e24bd.entry.js → p-fa034f69.entry.js} +1 -1
  548. package/dist/types/components/accordion/accordion.d.ts +10 -2
  549. package/dist/types/components/aside-panel/aside-panel.d.ts +0 -3
  550. package/dist/types/components/avatar/avatar.d.ts +3 -0
  551. package/dist/types/components/avatar/types.d.ts +2 -0
  552. package/dist/types/components/badge/badge.d.ts +1 -0
  553. package/dist/types/components/button/button.d.ts +9 -0
  554. package/dist/types/components/card/card.d.ts +4 -0
  555. package/dist/types/components/color-picker/color-picker.d.ts +35 -2
  556. package/dist/types/components/dialog-box/dialog-box.d.ts +10 -0
  557. package/dist/types/components/dropdown/dropdown.d.ts +5 -0
  558. package/dist/types/components/file-upload/file-upload.d.ts +23 -6
  559. package/dist/types/components/label/label.d.ts +290 -0
  560. package/dist/types/components/label/types.d.ts +39 -0
  561. package/dist/types/components/list/list.d.ts +2 -1
  562. package/dist/types/components/list-group/list-group.d.ts +1 -0
  563. package/dist/types/components/list-item/list-item.d.ts +46 -17
  564. package/dist/types/components/loader/loader.d.ts +145 -0
  565. package/dist/types/components/pattern-input/pattern-input.d.ts +6 -0
  566. package/dist/types/components/popover/popover.d.ts +3 -0
  567. package/dist/types/components/progress/progress.d.ts +41 -2
  568. package/dist/types/components/range-slider/range-slider.d.ts +2 -2
  569. package/dist/types/components/rating/rating.d.ts +1 -0
  570. package/dist/types/components/skeleton/skeleton-loader.d.ts +1 -1
  571. package/dist/types/components/speedometer/speedometer.d.ts +1 -0
  572. package/dist/types/components/tag/tag.d.ts +4 -0
  573. package/dist/types/components/tree/tree.d.ts +1 -0
  574. package/dist/types/components/ui-navigation-bar/navigation-bar/navigation-bar.d.ts +1 -1
  575. package/dist/types/components.d.ts +1214 -1381
  576. package/dist/types/types/common.d.ts +2 -2
  577. package/dist/types/types/common.type.d.ts +3 -1
  578. package/dist/types/utils/dom.d.ts +4 -4
  579. package/package.json +4 -4
  580. package/dist/cjs/dom-oP1E4Rd3.js +0 -267
  581. package/dist/cjs/ui-avatar-group_3.cjs.entry.js +0 -634
  582. package/dist/cjs/ui-checkbox-group.cjs.entry.js +0 -330
  583. package/dist/cjs/ui-color-controller.cjs.entry.js +0 -150
  584. package/dist/cjs/ui-image-button.cjs.entry.js +0 -67
  585. package/dist/cjs/ui-input-pair.cjs.entry.js +0 -44
  586. package/dist/cjs/ui-popover.cjs.entry.js +0 -517
  587. package/dist/cjs/ui-radio-group.cjs.entry.js +0 -205
  588. package/dist/cjs/ui-radio.cjs.entry.js +0 -206
  589. package/dist/cjs/ui-smart-location-dropdown.cjs.entry.js +0 -565
  590. package/dist/collection/components/checkbox-group/checkbox-group.css +0 -223
  591. package/dist/collection/components/checkbox-group/checkbox-group.js +0 -1001
  592. package/dist/collection/components/color-controller/color-controller.css +0 -108
  593. package/dist/collection/components/color-controller/color-controller.js +0 -224
  594. package/dist/collection/components/image-button/image-button.css +0 -154
  595. package/dist/collection/components/image-button/image-button.js +0 -310
  596. package/dist/collection/components/image-button/types.js +0 -1
  597. package/dist/collection/components/input-pair/input-pair.css +0 -72
  598. package/dist/collection/components/input-pair/input-pair.js +0 -309
  599. package/dist/collection/components/radio-group/radio-group.css +0 -202
  600. package/dist/collection/components/radio-group/radio-group.js +0 -903
  601. package/dist/collection/components/radio-group/types.js +0 -1
  602. package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.css +0 -357
  603. package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.js +0 -1190
  604. package/dist/collection/components/smart-location-dropdown/types.js +0 -1
  605. package/dist/components/ui-checkbox-group.d.ts +0 -11
  606. package/dist/components/ui-checkbox-group.js +0 -1
  607. package/dist/components/ui-color-controller.d.ts +0 -11
  608. package/dist/components/ui-color-controller.js +0 -1
  609. package/dist/components/ui-image-button.d.ts +0 -11
  610. package/dist/components/ui-image-button.js +0 -1
  611. package/dist/components/ui-input-pair.js +0 -1
  612. package/dist/components/ui-radio-group.js +0 -1
  613. package/dist/components/ui-smart-location-dropdown.d.ts +0 -11
  614. package/dist/components/ui-smart-location-dropdown.js +0 -1
  615. package/dist/esm/dom-BMFah5q3.js +0 -262
  616. package/dist/esm/ui-avatar-group_3.entry.js +0 -630
  617. package/dist/esm/ui-checkbox-group.entry.js +0 -328
  618. package/dist/esm/ui-color-controller.entry.js +0 -148
  619. package/dist/esm/ui-image-button.entry.js +0 -65
  620. package/dist/esm/ui-input-pair.entry.js +0 -42
  621. package/dist/esm/ui-popover.entry.js +0 -515
  622. package/dist/esm/ui-radio-group.entry.js +0 -203
  623. package/dist/esm/ui-radio.entry.js +0 -204
  624. package/dist/esm/ui-smart-location-dropdown.entry.js +0 -563
  625. package/dist/exploration-project-tailwind/p-01c7db7a.entry.js +0 -1
  626. package/dist/exploration-project-tailwind/p-049744f9.entry.js +0 -1
  627. package/dist/exploration-project-tailwind/p-06f0c679.entry.js +0 -1
  628. package/dist/exploration-project-tailwind/p-0d31c9e9.entry.js +0 -1
  629. package/dist/exploration-project-tailwind/p-148e81df.entry.js +0 -1
  630. package/dist/exploration-project-tailwind/p-2f1aebb3.entry.js +0 -1
  631. package/dist/exploration-project-tailwind/p-46596a28.entry.js +0 -1
  632. package/dist/exploration-project-tailwind/p-46efdea3.entry.js +0 -1
  633. package/dist/exploration-project-tailwind/p-47e2a7ee.entry.js +0 -1
  634. package/dist/exploration-project-tailwind/p-5508874f.entry.js +0 -1
  635. package/dist/exploration-project-tailwind/p-5ce0dbd8.entry.js +0 -1
  636. package/dist/exploration-project-tailwind/p-61717490.entry.js +0 -1
  637. package/dist/exploration-project-tailwind/p-64e3a484.entry.js +0 -1
  638. package/dist/exploration-project-tailwind/p-6ab80ead.entry.js +0 -1
  639. package/dist/exploration-project-tailwind/p-6e9694f2.entry.js +0 -1
  640. package/dist/exploration-project-tailwind/p-6fa9dc15.entry.js +0 -1
  641. package/dist/exploration-project-tailwind/p-70d82d79.entry.js +0 -1
  642. package/dist/exploration-project-tailwind/p-717dad1f.entry.js +0 -1
  643. package/dist/exploration-project-tailwind/p-7376ac95.entry.js +0 -1
  644. package/dist/exploration-project-tailwind/p-77a21491.entry.js +0 -1
  645. package/dist/exploration-project-tailwind/p-807c6555.entry.js +0 -1
  646. package/dist/exploration-project-tailwind/p-875be805.entry.js +0 -1
  647. package/dist/exploration-project-tailwind/p-9fa70359.entry.js +0 -1
  648. package/dist/exploration-project-tailwind/p-9fc06ff0.entry.js +0 -1
  649. package/dist/exploration-project-tailwind/p-BMFah5q3.js +0 -1
  650. package/dist/exploration-project-tailwind/p-D2WzX6vR.js +0 -2
  651. package/dist/exploration-project-tailwind/p-DUsoYu9r.js +0 -2
  652. package/dist/exploration-project-tailwind/p-a4f52a76.entry.js +0 -1
  653. package/dist/exploration-project-tailwind/p-ab752761.entry.js +0 -1
  654. package/dist/exploration-project-tailwind/p-ba21fed3.entry.js +0 -1
  655. package/dist/exploration-project-tailwind/p-c2ca71ac.entry.js +0 -1
  656. package/dist/exploration-project-tailwind/p-c69dd43e.entry.js +0 -1
  657. package/dist/exploration-project-tailwind/p-ce1222a1.entry.js +0 -1
  658. package/dist/exploration-project-tailwind/p-d16c9635.entry.js +0 -1
  659. package/dist/exploration-project-tailwind/p-d2308a00.entry.js +0 -1
  660. package/dist/exploration-project-tailwind/p-debede45.entry.js +0 -1
  661. package/dist/exploration-project-tailwind/p-e90d5307.entry.js +0 -1
  662. package/dist/exploration-project-tailwind/p-ea51c5d8.entry.js +0 -1
  663. package/dist/exploration-project-tailwind/p-ecda1cc3.entry.js +0 -1
  664. package/dist/exploration-project-tailwind/p-f11e5cae.entry.js +0 -1
  665. package/dist/types/components/checkbox-group/checkbox-group.d.ts +0 -87
  666. package/dist/types/components/checkbox-group/types.d.ts +0 -8
  667. package/dist/types/components/color-controller/color-controller.d.ts +0 -24
  668. package/dist/types/components/image-button/image-button.d.ts +0 -31
  669. package/dist/types/components/image-button/types.d.ts +0 -1
  670. package/dist/types/components/input-pair/input-pair.d.ts +0 -28
  671. package/dist/types/components/radio-group/radio-group.d.ts +0 -74
  672. package/dist/types/components/radio-group/types.d.ts +0 -2
  673. package/dist/types/components/smart-location-dropdown/smart-location-dropdown.d.ts +0 -119
  674. package/dist/types/components/smart-location-dropdown/types.d.ts +0 -37
  675. /package/dist/collection/components/{checkbox-group → label}/types.js +0 -0
@@ -1 +1 @@
1
- import{proxyCustomElement as t,HTMLElement as e,createEvent as a,h as i,Host as r,transformTag as s}from"@stencil/core/internal/client";import{d as n,a as o}from"./badge.js";import{d as p}from"./icon.js";import{d as c}from"./input.js";const l=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.patternInputChange=a(this,"patternInputChange",7),this.patternInput=a(this,"patternInput",7),this.patternInputFocus=a(this,"patternInputFocus",7),this.patternInputBlur=a(this,"patternInputBlur",7),this.patternInputValidate=a(this,"patternInputValidate",7)}inputElement;debounceTimer;value="";pattern;validationRegex;placeholder;label;name;disabled=!1;required=!1;size="md";showValidation=!0;allowedChars;autoFormat=!0;maskChar="#";showCounter=!1;maxLength;inputType="text";helperText;errorMessage;successMessage;rtl=!1;clearable=!1;isValid=!0;isTouched=!1;isFocused=!1;patternInputChange;patternInput;patternInputFocus;patternInputBlur;patternInputValidate;valueChanged(t){this.validateInput(t)}componentDidLoad(){this.value&&this.validateInput(this.value)}getInputTypeRegex(){switch(this.inputType){case"numeric":return/^[0-9]*$/;case"alpha":return/^[a-zA-Z]*$/;case"alphanumeric":return/^[a-zA-Z0-9]*$/;case"custom":return this.allowedChars?RegExp(this.allowedChars):null;default:return null}}isCharAllowed(t,e){const a=this.getInputTypeRegex();return!a||a.test(e+t)}extractRawValue(t){return this.pattern&&this.autoFormat?t.replace(/[^\w\s]/g,"").replace(/\s+/g,""):t}formatValue(t){if(!this.pattern||!this.autoFormat)return t;let e="",a=0;for(let i=0;i<this.pattern.length&&a<t.length;i++){const r=this.pattern[i];r===this.maskChar?(e+=t[a],a++):e+=r}return e}validateInput(t){if(!t&&!this.required)return this.isValid=!0,!0;if(!t&&this.required)return this.isValid=!1,!1;if(this.validationRegex)try{const e=RegExp(this.validationRegex),a=this.extractRawValue(t);this.isValid=e.test(a)}catch(t){console.error("Invalid validation regex:",t),this.isValid=!1}else this.isValid=!0;return this.isValid}handleInput=t=>{const e=this.extractRawValue(t.detail),a=this.autoFormat?this.formatValue(e):e;this.value=a;const i=this.validateInput(a);this.patternInput.emit({value:e,formatted:a}),clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout((()=>{this.patternInputChange.emit({value:e,formatted:a,isValid:i}),this.patternInputValidate.emit({isValid:i,value:e})}),300)};handleKeyPress=t=>{if(this.disabled)return;const e=t.key;if(e.length>1||t.ctrlKey||t.metaKey)return;const a=this.extractRawValue(this.value);this.isCharAllowed(e,a)?this.maxLength&&a.length>=this.maxLength&&t.preventDefault():t.preventDefault()};handlePaste=t=>{if(this.disabled)return;t.preventDefault();const e=t.clipboardData?.getData("text")||"";let a="";for(const t of e)this.isCharAllowed(t,a)&&(a+=t);if(this.maxLength){const t=this.extractRawValue(this.value);a=a.substring(0,this.maxLength-t.length)}const i=this.autoFormat?this.formatValue(a):a;this.value=i,this.inputElement&&(this.inputElement.value=i);const r=this.validateInput(i);this.patternInputChange.emit({value:a,formatted:i,isValid:r})};handleFocus=()=>{this.isFocused=!0,this.patternInputFocus.emit()};handleBlur=()=>{this.isFocused=!1,this.isTouched=!0,this.patternInputBlur.emit()};getValidationMessage(){return this.isTouched&&this.showValidation?!this.isValid&&this.errorMessage?this.errorMessage:this.isValid&&this.value&&this.successMessage?this.successMessage:null:null}getCharCount(){return{current:this.extractRawValue(this.value).length,max:this.maxLength}}render(){const t=this.getValidationMessage(),e=this.getCharCount(),a=this.isTouched&&!this.isValid&&this.showValidation,s=this.isTouched&&this.isValid&&this.value&&this.showValidation;return i(r,{key:"e6cafe1df0d19d9aa631bb08d2396af558b95673",class:{"pattern-input-host":!0,"pattern-input-disabled":this.disabled,"pattern-input-focused":this.isFocused,"pattern-input-error":a,"pattern-input-success":s}},i("div",{key:"9c5996bb1d80efc3ddedc692f3a2161acddd93f7",class:"pattern-input-wrapper",dir:this.rtl?"rtl":"ltr"},this.label&&i("label",{key:"ea22f82e44ce4631d82fbe3d6a9bbce3a68b848b",class:"pattern-input-label"},this.label,this.required&&i("span",{key:"71ee8e5c5d50ad9e1fe81df81385813cf157b911",class:"pattern-input-required"},"*")),i("div",{key:"a4e05ef18befa44931881b5baa3f91b983017456",class:{"pattern-input-container":!0,["pattern-input-"+this.size]:!0,"pattern-input-container-focused":this.isFocused,"pattern-input-container-error":a,"pattern-input-container-success":s}},i("slot",{key:"a498a913a37bf11470bad5c9043caa196f2b860f",name:"prefix"}),i("ui-input",{key:"e8b7202121a6a5a1c27f2e2f26783d11c6fa1013",ref:t=>this.inputElement=t,type:"text",class:"pattern-input-field",value:this.value,placeholder:this.placeholder||this.pattern,disabled:this.disabled,required:this.required,name:this.name,maxLength:this.pattern?.length||this.maxLength,onInputChange:this.handleInput,onInputKeydown:t=>this.handleKeyPress(t.detail),onPasteInternal:t=>this.handlePaste(t.detail),onFocusInternal:this.handleFocus,onInputBlur:this.handleBlur,ariaInvalid:a,ariaRequired:this.required,fullWidth:!0,size:this.size}),this.showValidation&&i("span",{key:"fce03bbf3acc80f7cc48e011725d07a4381a9c1b",class:"pattern-input-status"},a&&i("ui-icon",{key:"e2fb5bb51afc46e381ee29c071564d4226826bd6",name:"x-circle",library:"lucide",size:"1.2em",class:"status-icon status-error"}),s&&i("ui-icon",{key:"ec772884ed89b461b0659acd66bf7d5816200e20",name:"check-circle",library:"lucide",size:"1.2em",class:"status-icon status-success"})),this.clearable&&this.value&&!this.disabled&&i("ui-button",{key:"f461b44289a9f0bd6a6f215288746ef4697efb6d",variant:"ghost",class:"pattern-input-clear",onClick:()=>{this.value="",this.patternInputChange.emit({value:"",formatted:"",isValid:!this.required})},ariaLabel:"Clear input",icon:"x",iconLibrary:"lucide",iconOnly:!0,size:"sm"}),i("slot",{key:"453ce5f34c6384272b66d88a03e0ad897da4eada",name:"suffix"})),i("div",{key:"dc815745573df1a2edbaae6971543642e20e74ed",class:"pattern-input-footer"},i("div",{key:"58e39b130ffb2b694e462dca3909a1b0d8e2ebee",class:"pattern-input-messages"},this.helperText&&!t&&i("span",{key:"a0fb4ffbcc587ff0a5bab578e299df3653a2a19d",class:"helper-text"},this.helperText),t&&i("span",{key:"286eff6417e271b6a92423eb2c08a2247b96d6fb",class:{"validation-message":!0,"validation-error":a,"validation-success":s}},t)),this.showCounter&&i("span",{key:"99d1593a2012cb8c20d86c7de3cc4be8319c3aca",class:"char-counter"},e.current,e.max&&" / "+e.max))))}static get watchers(){return{value:[{valueChanged:0}]}}static get style(){return'.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}.pattern-input-wrapper{display:flex;flex-direction:column;gap:8px}.pattern-input-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;opacity:0.65;color:var(--label-color, var(--text-secondary, #374151));margin-bottom:8px}.pattern-input-required{color:var(--color-danger, #ef4444);margin-left:4px}.pattern-input-container{position:relative;display:flex;align-items:center;background:var(--bg-primary, #ffffff);border:2px solid var(--border-strong, #d1d5db);border-radius:8px;transition:all 0.2s ease;padding:0 12px}.pattern-input-container:hover:not(.pattern-input-container-error){border-color:var(--color-primary, #9ca3af)}.pattern-input-container-focused{border-color:var(--color-primary-hover, #2563eb);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb, 37, 99, 235), 0.1)}.pattern-input-container-error{border-color:var(--color-danger, #ef4444)}.pattern-input-container-error.pattern-input-container-focused{box-shadow:0 0 0 3px rgba(var(--color-danger-rgb, 239, 68, 68), 0.1)}.pattern-input-container-success{border-color:var(--color-success, #10b981)}.pattern-input-container-success.pattern-input-container-focused{box-shadow:0 0 0 3px rgba(var(--color-success-rgb, 16, 185, 129), 0.1)}.pattern-input-field{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:var(--text-primary, #1f2937);font-family:"Courier New", monospace;letter-spacing:0.5px}.pattern-input-field::placeholder{color:var(--text-muted, #9ca3af);font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;letter-spacing:normal}.pattern-input-field:disabled{cursor:not-allowed;color:var(--text-muted, #9ca3af);background:var(--bg-primary, #f9fafb)}.pattern-input-sm{padding:6px 10px}.pattern-input-sm .pattern-input-field{font-size:13px;padding:2px 0}.pattern-input-md{padding:8px 12px}.pattern-input-md .pattern-input-field{font-size:14px;padding:4px 0}.pattern-input-lg{padding:10px 14px}.pattern-input-lg .pattern-input-field{font-size:16px;padding:6px 0}.pattern-input-status{display:flex;align-items:center;margin-left:8px}.status-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:bold}.status-error{background:var(--bg-primary, #fef2f2);color:var(--color-danger, #ef4444)}.status-success{background:var(--bg-primary, #f0fdf4);color:var(--color-success, #10b981)}.pattern-input-footer{display:flex;justify-content:space-between;align-items:flex-start;min-height:20px}.pattern-input-messages{flex:1}.helper-text,.validation-message{display:block;font-size:12px;line-height:1.4}.helper-text{color:var(--text-muted, #6b7280)}.validation-error{color:var(--color-danger, #ef4444);font-weight:500}.validation-success{color:var(--color-success, #10b981);font-weight:500}.char-counter{font-size:12px;color:var(--text-muted, #6b7280);font-weight:500;white-space:nowrap;margin-left:12px}.pattern-input-disabled{opacity:0.6;cursor:not-allowed}.pattern-input-disabled .pattern-input-container{background:var(--bg-primary, #f9fafb);cursor:not-allowed}.pattern-input-field:focus-visible{outline:none}.status-icon{animation:statusFadeIn 0.2s ease}@keyframes statusFadeIn{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:scale(1)}}.pattern-input-field[placeholder]{text-overflow:ellipsis}:host(.pattern-input-focused) .pattern-input-field{font-family:"Courier New", monospace}'}},[769,"ui-pattern-input",{value:[1537],pattern:[1],validationRegex:[1,"validation-regex"],placeholder:[1],label:[1],name:[1],disabled:[4],required:[4],size:[1],showValidation:[4,"show-validation"],allowedChars:[1,"allowed-chars"],autoFormat:[4,"auto-format"],maskChar:[1,"mask-char"],showCounter:[4,"show-counter"],maxLength:[2,"max-length"],inputType:[1,"input-type"],helperText:[1,"helper-text"],errorMessage:[1,"error-message"],successMessage:[1,"success-message"],rtl:[4],clearable:[4],isValid:[32],isTouched:[32],isFocused:[32]},void 0,{value:[{valueChanged:0}]}]),u=l,d=function(){"undefined"!=typeof customElements&&["ui-pattern-input","ui-badge","ui-button","ui-icon","ui-input"].forEach((t=>{switch(t){case"ui-pattern-input":customElements.get(s(t))||customElements.define(s(t),l);break;case"ui-badge":customElements.get(s(t))||o();break;case"ui-button":customElements.get(s(t))||n();break;case"ui-icon":customElements.get(s(t))||p();break;case"ui-input":customElements.get(s(t))||c()}}))};export{u as UiPatternInput,d as defineCustomElement}
1
+ import{proxyCustomElement as t,HTMLElement as e,createEvent as a,h as i,Host as r,transformTag as s}from"@stencil/core/internal/client";import{d as n}from"./badge.js";import{d as o}from"./button.js";import{d as p}from"./icon.js";import{d as l}from"./input.js";import{d as c}from"./loader.js";const u=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.patternInputChange=a(this,"patternInputChange",7),this.patternInput=a(this,"patternInput",7),this.patternInputFocus=a(this,"patternInputFocus",7),this.patternInputBlur=a(this,"patternInputBlur",7),this.patternInputValidate=a(this,"patternInputValidate",7)}inputElement;debounceTimer;value="";pattern;validationRegex;placeholder;label;name;disabled=!1;required=!1;size="md";showValidation=!0;allowedChars;autoFormat=!0;maskChar="#";showCounter=!1;maxLength;inputType="text";helperText;errorMessage;successMessage;rtl=!1;clearable=!1;isValid=!0;isTouched=!1;isFocused=!1;patternInputChange;patternInput;patternInputFocus;patternInputBlur;patternInputValidate;valueChanged(t){this.validateInput(t)}componentDidLoad(){this.value&&this.validateInput(this.value)}getInputTypeRegex(){switch(this.inputType){case"numeric":return/^[0-9]*$/;case"alpha":return/^[a-zA-Z]*$/;case"alphanumeric":return/^[a-zA-Z0-9]*$/;case"custom":return this.allowedChars?RegExp(this.allowedChars):null;default:return null}}isCharAllowed(t,e){const a=this.getInputTypeRegex();return!a||a.test(e+t)}extractRawValue(t){return this.pattern&&this.autoFormat?t.replace(/[^\w\s]/g,"").replace(/\s+/g,""):t}formatValue(t){if(!this.pattern||!this.autoFormat)return t;let e="",a=0;for(let i=0;i<this.pattern.length&&a<t.length;i++){const r=this.pattern[i];r===this.maskChar||"A"===r&&"A"!==this.maskChar?(e+=t[a],a++):e+=r}return e}generateFallbackRegex(){if(!this.pattern||!this.autoFormat)return null;let t="^";for(const e of this.pattern)t+=e===this.maskChar?"\\d":"A"===e&&"A"!==this.maskChar?"[A-Za-z0-9]":e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t+="$",RegExp(t)}validateInput(t){if(!t&&!this.required)return this.isValid=!0,!0;if(!t&&this.required)return this.isValid=!1,!1;let e=null;if(this.validationRegex)try{e=RegExp(this.validationRegex)}catch(t){return console.error("Invalid validation regex:",t),this.isValid=!1,!1}else e=this.generateFallbackRegex();return this.isValid=!e||e.test(t),this.isValid}handleInput=t=>{const e=this.extractRawValue(t.detail),a=this.autoFormat?this.formatValue(e):e;this.value=a;const i=this.validateInput(a);this.patternInput.emit({value:e,formatted:a}),clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout((()=>{this.patternInputChange.emit({value:e,formatted:a,isValid:i}),this.patternInputValidate.emit({isValid:i,value:e})}),300)};handleKeyPress=t=>{if(this.disabled)return;const e=t.key;if(e.length>1||t.ctrlKey||t.metaKey)return;const a=this.extractRawValue(this.value);this.isCharAllowed(e,a)?this.maxLength&&a.length>=this.maxLength&&t.preventDefault():t.preventDefault()};handlePaste=t=>{if(this.disabled)return;t.preventDefault();const e=t.clipboardData?.getData("text")||"";let a="";for(const t of e)this.isCharAllowed(t,a)&&(a+=t);if(this.maxLength){const t=this.extractRawValue(this.value);a=a.substring(0,this.maxLength-t.length)}const i=this.autoFormat?this.formatValue(a):a;this.value=i,this.inputElement&&(this.inputElement.value=i);const r=this.validateInput(i);this.patternInputChange.emit({value:a,formatted:i,isValid:r})};handleFocus=()=>{this.isFocused=!0,this.patternInputFocus.emit()};handleBlur=()=>{this.isFocused=!1,this.isTouched=!0,this.patternInputBlur.emit()};getValidationMessage(){return this.isTouched&&this.showValidation?!this.isValid&&this.errorMessage?this.errorMessage:this.isValid&&this.value&&this.successMessage?this.successMessage:null:null}getCharCount(){return{current:this.extractRawValue(this.value).length,max:this.maxLength}}render(){const t=this.getValidationMessage(),e=this.getCharCount(),a=this.isTouched&&!this.isValid&&this.showValidation,s=this.isTouched&&this.isValid&&this.value&&this.showValidation;return i(r,{key:"a18925eb76dddc52e1a0172c878ff1051ed7c01f",class:{"pattern-input-host":!0,"pattern-input-disabled":this.disabled,"pattern-input-focused":this.isFocused,"pattern-input-error":a,"pattern-input-success":s}},i("div",{key:"d0e1971bb1a1d298f5991e368c2f419d0bc7186d",class:"pattern-input-wrapper",dir:this.rtl?"rtl":"ltr"},this.label&&i("label",{key:"1297f7081e5f6e70bcb76ecf34774e37eff34000",class:"pattern-input-label"},this.label,this.required&&i("span",{key:"e7ca7ed1fc824e659f8d73647b52adf7bad25329",class:"pattern-input-required"},"*")),i("div",{key:"d110aa1601cda33f1a626939aa3dcd2a79597d09",class:{"pattern-input-container":!0,["pattern-input-"+this.size]:!0,"pattern-input-container-focused":this.isFocused,"pattern-input-container-error":a,"pattern-input-container-success":s}},i("slot",{key:"7d7543e141f99b9d7dca424f47439cfe14a2b1d1",name:"prefix"}),i("ui-input",{key:"693bf0fa1782b1488053c3b69a3b05bee906dea2",ref:t=>this.inputElement=t,type:"text",class:"pattern-input-field",value:this.value,placeholder:this.placeholder||this.pattern,disabled:this.disabled,required:this.required,name:this.name,maxLength:this.pattern?.length||this.maxLength,onInputChange:this.handleInput,onInputKeydown:t=>this.handleKeyPress(t.detail),onPasteInternal:t=>this.handlePaste(t.detail),onFocusInternal:this.handleFocus,onInputBlur:this.handleBlur,ariaInvalid:a,ariaRequired:this.required,fullWidth:!0,size:this.size}),this.showValidation&&i("span",{key:"f7a2d45bdec22db724fba2e0af8f4683fd67a853",class:"pattern-input-status"},a&&i("ui-icon",{key:"8d0639eae5b2f0754fe81e5172495e9aafc2989b",name:"x-circle",library:"lucide",size:"1.2em",class:"status-icon status-error"}),s&&i("ui-icon",{key:"2b1b920a941c74db303fbba9e125036a716de009",name:"check-circle",library:"lucide",size:"1.2em",class:"status-icon status-success"})),this.clearable&&this.value&&!this.disabled&&i("ui-button",{key:"edfded0699f5b20612d5548f5c2987acf8ac1d00",variant:"ghost",class:"pattern-input-clear",onClick:()=>{this.value="",this.patternInputChange.emit({value:"",formatted:"",isValid:!this.required})},ariaLabel:"Clear input",icon:"x",iconLibrary:"lucide",iconOnly:!0,size:"sm"}),i("slot",{key:"307ce5045f89a48d0be327e107373f54d5934ea2",name:"suffix"})),i("div",{key:"6e791a83f674dbe235545a48c3ee25eeac1e985a",class:"pattern-input-footer"},i("div",{key:"e70f47484112f7fd0c0ce1248fca88ae0b5bbd27",class:"pattern-input-messages"},this.helperText&&!t&&i("span",{key:"564e18bfd03a8e057efc00bff2eab356b3ae1ab3",class:"helper-text"},this.helperText),t&&i("span",{key:"c33cb23221b97daced7a1787ea4fe2e3dacb97e0",class:{"validation-message":!0,"validation-error":a,"validation-success":s}},t)),this.showCounter&&i("span",{key:"1dd7787679337def8caf5cae36f547423feb202d",class:"char-counter"},e.current,e.max&&" / "+e.max))))}static get watchers(){return{value:[{valueChanged:0}]}}static get style(){return'.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}.pattern-input-wrapper{display:flex;flex-direction:column;gap:8px}.pattern-input-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;opacity:0.65;color:var(--label-color, var(--text-secondary, #374151));margin-bottom:8px}.pattern-input-required{color:var(--color-danger, #ef4444);margin-left:4px}.pattern-input-container{position:relative;display:flex;align-items:center;background:var(--bg-primary, #ffffff);border-radius:8px;transition:all 0.2s ease;padding:0 12px}.pattern-input-container:hover:not(.pattern-input-container-error){border-color:var(--color-primary, #9ca3af)}.pattern-input-container-focused{border-color:var(--color-primary-hover, #2563eb);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb, 37, 99, 235), 0.1)}.pattern-input-container-error{border-color:var(--color-danger, #ef4444)}.pattern-input-container-error.pattern-input-container-focused{box-shadow:0 0 0 3px rgba(var(--color-danger-rgb, 239, 68, 68), 0.1)}.pattern-input-container-success{border-color:var(--color-success, #10b981)}.pattern-input-container-success.pattern-input-container-focused{box-shadow:0 0 0 3px rgba(var(--color-success-rgb, 16, 185, 129), 0.1)}.pattern-input-field{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:var(--text-primary, #1f2937);font-family:"Courier New", monospace;letter-spacing:0.5px}.pattern-input-field::placeholder{color:var(--text-muted, #9ca3af);font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;letter-spacing:normal}.pattern-input-field:disabled{cursor:not-allowed;color:var(--text-muted, #9ca3af);background:var(--bg-primary, #f9fafb)}.pattern-input-sm{padding:6px 10px}.pattern-input-sm .pattern-input-field{font-size:13px;padding:2px 0}.pattern-input-md{padding:8px 12px}.pattern-input-md .pattern-input-field{font-size:14px;padding:4px 0}.pattern-input-lg{padding:10px 14px}.pattern-input-lg .pattern-input-field{font-size:16px;padding:6px 0}.pattern-input-status{display:flex;align-items:center;margin-left:8px}.status-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:bold}.status-error{background:var(--bg-primary, #fef2f2);color:var(--color-danger, #ef4444)}.status-success{background:var(--bg-primary, #f0fdf4);color:var(--color-success, #10b981)}.pattern-input-footer{display:flex;justify-content:space-between;align-items:flex-start;min-height:20px}.pattern-input-messages{flex:1}.helper-text,.validation-message{display:block;font-size:12px;line-height:1.4}.helper-text{color:var(--text-muted, #6b7280)}.validation-error{color:var(--color-danger, #ef4444);font-weight:500}.validation-success{color:var(--color-success, #10b981);font-weight:500}.char-counter{font-size:12px;color:var(--text-muted, #6b7280);font-weight:500;white-space:nowrap;margin-left:12px}.pattern-input-disabled{opacity:0.6;cursor:not-allowed}.pattern-input-disabled .pattern-input-container{background:var(--bg-primary, #f9fafb);cursor:not-allowed}.pattern-input-field:focus-visible{outline:none}.status-icon{animation:statusFadeIn 0.2s ease}@keyframes statusFadeIn{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:scale(1)}}.pattern-input-field[placeholder]{text-overflow:ellipsis}:host(.pattern-input-focused) .pattern-input-field{font-family:"Courier New", monospace}'}},[769,"ui-pattern-input",{value:[1537],pattern:[1],validationRegex:[1,"validation-regex"],placeholder:[1],label:[1],name:[1],disabled:[4],required:[4],size:[1],showValidation:[4,"show-validation"],allowedChars:[1,"allowed-chars"],autoFormat:[4,"auto-format"],maskChar:[1,"mask-char"],showCounter:[4,"show-counter"],maxLength:[2,"max-length"],inputType:[1,"input-type"],helperText:[1,"helper-text"],errorMessage:[1,"error-message"],successMessage:[1,"success-message"],rtl:[4],clearable:[4],isValid:[32],isTouched:[32],isFocused:[32]},void 0,{value:[{valueChanged:0}]}]),d=u,h=function(){"undefined"!=typeof customElements&&["ui-pattern-input","ui-badge","ui-button","ui-icon","ui-input","ui-loader"].forEach((t=>{switch(t){case"ui-pattern-input":customElements.get(s(t))||customElements.define(s(t),u);break;case"ui-badge":customElements.get(s(t))||n();break;case"ui-button":customElements.get(s(t))||o();break;case"ui-icon":customElements.get(s(t))||p();break;case"ui-input":customElements.get(s(t))||l();break;case"ui-loader":customElements.get(s(t))||c()}}))};export{d as UiPatternInput,h as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as o,HTMLElement as e,createEvent as r,h as t,transformTag as i}from"@stencil/core/internal/client";import{s,d as a}from"./icon.js";import{F as p}from"./focus-trap.js";import{a as n,c as h}from"./dom.js";import{d,a as l}from"./badge.js";const c=o(class extends e{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.uiBeforeOpen=r(this,"uiBeforeOpen",7),this.uiOpen=r(this,"uiOpen",7),this.uiBeforeClose=r(this,"uiBeforeClose",7),this.uiClose=r(this,"uiClose",7),this.uiToggle=r(this,"uiToggle",7)}get element(){return this}heading="";target;content="";open=!1;disabled=!1;trigger="click";placement="top";showArrow=!0;width="280px";animation="scale";showCloseButton=!1;backdrop=!1;variant="light";popoverRole="dialog";showDelay=0;hideDelay=200;closeOnScroll=!1;closeOnEsc=!0;maxHeight="none";interactive=!0;loading=!1;skeleton=!1;offset=12;arrowSize=10;closeOnOutsideClick=!0;closeOnBlur=!0;matchTriggerWidth=!1;flip=!0;shift=!0;boundary="viewport";padding=24;fallbackPlacements;autoPlacement=!1;strategy="fixed";zIndex=21e3;uiBeforeOpen;uiOpen;uiBeforeClose;uiClose;uiToggle;currentPlacement="top";popoverStyles={};arrowStyles={};targetElement;popoverContent;arrowElement;hideTimeout;showTimeout;focusTrap;cleanupAutoUpdate;resizeObserver;latestSizeData={width:"",maxWidth:"",maxHeight:""};updateRetries=0;componentWillLoad(){this.currentPlacement=this.placement}componentDidLoad(){this.setupTrigger(),this.popoverContent=this.element.shadowRoot?.querySelector(".popover"),this.arrowElement=this.element.shadowRoot?.querySelector(".popover-arrow"),this.popoverContent&&(this.resizeObserver=new ResizeObserver((()=>{this.open&&this.updatePosition()})),this.resizeObserver.observe(this.popoverContent)),window.addEventListener("keydown",this.handleGlobalKeyDown)}componentDidUpdate(){this.open&&!this.cleanupAutoUpdate&&this.startAutoUpdate()}disconnectedCallback(){this.cleanup(),this.cleanupAutoUpdate&&this.cleanupAutoUpdate(),window.removeEventListener("keydown",this.handleGlobalKeyDown),this.focusTrap&&this.focusTrap.deactivate()}visibilityChanged(o){if(o){if(this.disabled)return void(this.open=!1);this.handleOpen()}else this.handleClose()}handleTriggerConfigChange(){this.cleanup(),this.setupTrigger()}handleOpen(){this.targetElement||this.setupTrigger(),this.popoverContent=this.element.shadowRoot?.querySelector(".popover"),this.arrowElement=this.element.shadowRoot?.querySelector(".popover-arrow"),this.popoverContent&&!this.resizeObserver&&(this.resizeObserver=new ResizeObserver((()=>{this.open&&this.updatePosition()})),this.resizeObserver.observe(this.popoverContent)),requestAnimationFrame((()=>{this.startAutoUpdate(),this.updateAriaAttributes(!0),this.closeOnOutsideClick&&setTimeout((()=>{document.addEventListener("click",this.handleOutsideClick)}),10),(this.backdrop||this.showCloseButton||"click"===this.trigger)&&requestAnimationFrame((()=>{this.initFocusTrap(),this.focusTrap&&this.focusTrap.activate()})),this.uiOpen.emit()}))}handleClose(){this.cleanupAutoUpdate&&(this.cleanupAutoUpdate(),this.cleanupAutoUpdate=void 0),document.removeEventListener("click",this.handleOutsideClick),this.focusTrap&&this.focusTrap.deactivate(),this.updateAriaAttributes(!1),this.uiClose.emit()}updateAriaAttributes(o){this.targetElement&&(this.targetElement.setAttribute("aria-expanded",""+o),this.targetElement.setAttribute("aria-haspopup","menu"===this.popoverRole?"menu":"true"))}initFocusTrap(){this.popoverContent&&(this.focusTrap||(this.focusTrap=new p(this.popoverContent,{initialFocus:this.popoverContent,returnFocus:this.targetElement,escapeDeactivates:!0,clickOutsideDeactivates:!this.backdrop})))}setupTrigger(){if(this.target&&(this.targetElement="string"==typeof this.target?document.querySelector(this.target):this.target),!this.targetElement){const o=this.element.shadowRoot?.querySelector('slot[name="trigger"]'),e=this.element.shadowRoot?.querySelector("slot:not([name])"),r=o=>{const e=o?.assignedElements();return e?.length>0?e[0]:null};this.targetElement=r(o)||r(e)}this.targetElement||(this.targetElement=this.element),this.targetElement&&"manual"!==this.trigger&&(["BUTTON","A","INPUT","SELECT","TEXTAREA"].includes(this.targetElement.tagName)||(this.targetElement.hasAttribute("role")||this.targetElement.setAttribute("role","button"),this.targetElement.hasAttribute("tabindex")||this.targetElement.setAttribute("tabindex","0")),"click"===this.trigger?(this.targetElement.addEventListener("click",this.handleTriggerClick),this.targetElement.addEventListener("keydown",this.handleTargetKeyDown)):"hover"===this.trigger?(this.targetElement.addEventListener("mouseenter",this.handleMouseEnter),this.targetElement.addEventListener("mouseleave",this.handleMouseLeave),this.targetElement.addEventListener("focusin",this.handleFocusIn),this.targetElement.addEventListener("focusout",this.handleFocusOut)):"focus"===this.trigger&&(this.targetElement.addEventListener("focusin",this.handleFocusIn),this.targetElement.addEventListener("focusout",this.handleFocusOut)),this.updateAriaAttributes(this.open))}handleTargetKeyDown=o=>{"Enter"!==o.key&&" "!==o.key||(o.preventDefault(),this.toggle())};cleanup(){this.targetElement&&(this.targetElement.removeEventListener("click",this.handleTriggerClick),this.targetElement.removeEventListener("keydown",this.handleTargetKeyDown),this.targetElement.removeEventListener("mouseenter",this.handleMouseEnter),this.targetElement.removeEventListener("mouseleave",this.handleMouseLeave),this.targetElement.removeEventListener("focusin",this.handleFocusIn),this.targetElement.removeEventListener("focusout",this.handleFocusOut),document.removeEventListener("click",this.handleOutsideClick),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=void 0))}handleTriggerClick=o=>{o.stopPropagation(),"click"===this.trigger&&this.toggle()};handleFocusIn=()=>{this.show()};handleFocusOut=()=>{this.hide()};handleOutsideClick=o=>{this.targetElement?.contains(o.target)||this.popoverContent?.contains(o.target)||this.open&&this.hide()};handleMouseEnter=()=>{this.disabled||(clearTimeout(this.hideTimeout),this.showDelay>0?this.showTimeout=setTimeout((()=>this.show()),this.showDelay):this.show())};handleMouseLeave=()=>{clearTimeout(this.showTimeout),this.hideTimeout=setTimeout((()=>this.hide()),this.hideDelay)};handlePopoverMouseEnter=()=>{"hover"===this.trigger&&this.interactive&&(clearTimeout(this.hideTimeout),clearTimeout(this.showTimeout))};handlePopoverMouseLeave=()=>{"hover"===this.trigger&&this.interactive&&this.handleMouseLeave()};handleGlobalKeyDown=o=>{this.open&&this.closeOnEsc&&"Escape"===o.key&&(o.stopPropagation(),this.hide())};startAutoUpdate(){this.cleanupAutoUpdate&&this.cleanupAutoUpdate(),this.popoverContent=this.element.shadowRoot?.querySelector(".popover"),this.showArrow&&(this.arrowElement=this.element.shadowRoot?.querySelector(".popover-arrow")),this.targetElement&&this.popoverContent&&(this.cleanupAutoUpdate=n(this.targetElement,this.popoverContent,(()=>this.updatePosition()),{animationFrame:!0}))}async updatePosition(){if(this.popoverContent||(this.popoverContent=this.element.shadowRoot?.querySelector(".popover")),this.showArrow&&!this.arrowElement&&(this.arrowElement=this.element.shadowRoot?.querySelector(".popover-arrow")),!this.open||!this.popoverContent||!this.targetElement)return void(this.updateRetries=0);if(0===this.popoverContent.offsetWidth&&this.updateRetries<5)return this.updateRetries++,void requestAnimationFrame((()=>this.updatePosition()));this.updateRetries=0;const{left:o,top:e,placement:r,availableHeight:t,availableWidth:i,arrowX:s,arrowY:a}=h(this.targetElement,{menuWidth:this.popoverContent.offsetWidth,menuHeight:this.popoverContent.offsetHeight,gap:this.offset,placement:this.autoPlacement?"auto":this.placement.split("-")[0],align:this.placement.includes("start")?"start":this.placement.includes("end")?"end":"center",padding:this.padding});this.currentPlacement=r,this.latestSizeData={width:this.width,maxWidth:Math.min(window.innerWidth-2*this.padding,i)+"px",maxHeight:"none"!==this.maxHeight?this.maxHeight:t+"px"};const p=this.latestSizeData;if(this.popoverStyles={position:this.strategy,left:o+"px",top:e+"px",width:this.matchTriggerWidth?this.targetElement.offsetWidth+"px":p.width||this.width,minWidth:"160px",maxWidth:p.maxWidth,maxHeight:p.maxHeight,visibility:"visible",opacity:"1"},this.showArrow&&this.arrowElement){const o=r,e={top:"bottom",right:"left",bottom:"top",left:"right"}[o],t=Math.round(this.arrowSize/2);this.arrowStyles={top:"",right:"",bottom:"",left:"",..."top"===o||"bottom"===o?{left:s+"px",transform:"translateX(-50%) rotate(45deg)"}:{top:a+"px",transform:"translateY(-50%) rotate(45deg)"},[e]:`-${t}px`}}}async reposition(){return this.updatePosition()}async computePlacement(){return this.currentPlacement}async show(){if(!this.disabled){if(this.uiBeforeOpen){const o=this.uiBeforeOpen.emit();if(o&&o.defaultPrevented)return}this.open=!0}}async hide(){if(this.uiBeforeClose){const o=this.uiBeforeClose.emit();if(o&&o.defaultPrevented)return}this.open=!1}async toggle(){this.disabled||(this.open?await this.hide():await this.show(),this.uiToggle&&this.uiToggle.emit({open:this.open}))}getPopoverStyle(){return{"--ui-popover-arrow-size":this.arrowSize+"px",zIndex:this.zIndex?""+this.zIndex:void 0}}render(){const o={popover:!0,"popover-visible":this.open,"popover-loading":this.loading,"popover-skeleton":this.skeleton,["popover-"+this.currentPlacement]:!0,["popover-"+this.variant]:!0,["popover-anim-"+this.animation]:!0},e={...this.getPopoverStyle(),...this.popoverStyles};return t("div",{key:"0f7778a7317e7842be132860b1dc61b611fa247d",class:"popover-wrapper"},t("div",{key:"2df4f3624d7335dbb9149b169778dfe288c4ff57",class:"popover-trigger"},t("slot",{key:"e0058a8f0c58e229df36e2ef47a402e4cf9e81dd",name:"trigger"}),t("slot",{key:"49c41549a41f352f0b94e6ae4dbde48435742ebc"})),this.backdrop&&this.open&&t("div",{key:"51851882bc67bd5a1a88d7a9f8bd44df99e3dee6",class:"popover-backdrop",onClick:()=>this.hide()}),this.open&&t("div",{key:"bd82cf9d153a7b228ac7696e407bb8a0d36ae942",class:o,style:e,onMouseEnter:()=>this.handlePopoverMouseEnter(),onMouseLeave:()=>this.handlePopoverMouseLeave(),role:this.popoverRole,"aria-modal":this.backdrop?"true":"false","aria-label":this.heading||void 0},this.showArrow&&t("div",{key:"545cb01f513e171e3d79a664ea57c5cbee6b5d07",class:"popover-arrow",style:this.arrowStyles}),t("div",{key:"bc8a9f93d49c2d1c201203728e731ef5a2850602",class:"popover-inner"},(this.heading||this.showCloseButton)&&t("div",{key:"9dee577314cc88f1bad7372006e593f34fa1a3fc",class:"popover-header"},this.heading&&t("div",{key:"7b0b3be1e8f6b0949969172eb74702034c661f6a",class:"popover-title"},this.heading),this.showCloseButton&&t("ui-button",{key:"d6dcc9b87b330797f6e29bf711df0504b386f5cb",variant:"ghost",size:"xxs",iconOnly:!0,class:"popover-close",onClick:()=>this.hide(),ariaLabel:"Close",icon:"x",iconLibrary:"lucide",iconSize:"14px"})),t("div",{key:"3639ca2119db19c98ce70fd11afe8ba4451cad2c",class:"popover-body",style:{maxHeight:this.maxHeight,overflowY:"none"!==this.maxHeight?"auto":void 0}},t("slot",{key:"43b5f442af61f83b9342a8a704a625155aabb0d3",name:"content"}),this.content&&t("div",{key:"1bd964f0709f66c335bfaaafe1bbe268554be279",innerHTML:s(this.content)})),t("slot",{key:"da80a35ef26a42ab2830e84ac81cdca2aef348f2",name:"footer"}))))}static get watchers(){return{open:[{visibilityChanged:0}],target:[{handleTriggerConfigChange:0}],trigger:[{handleTriggerConfigChange:0}]}}static get style(){return'@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}.popover-wrapper{position:relative;display:inline-block}.popover-trigger{display:inline-block;cursor:pointer}.popover-backdrop{position:fixed;inset-block-start:0;inset-inline-start:0;width:100vw;height:100vh;background:rgba(0, 0, 0, 0.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:19999;cursor:default;animation:backdropIn 0.18s ease}@keyframes backdropIn{from{opacity:0}to{opacity:1}}.popover{position:fixed;z-index:21000;background:var(--popover-bg, var(--bg-primary, #ffffff));border:1px solid var(--popover-border, var(--border-default, #e5e7eb));border-radius:var(--popover-radius, 10px);box-shadow:0 10px 25px -5px rgba(0, 0, 0, 0.12), 0 8px 10px -6px rgba(0, 0, 0, 0.08);opacity:0;transition:opacity 0.2s ease, transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);pointer-events:none;max-width:calc(100vw - 32px);word-wrap:break-word;overflow-wrap:break-word;overflow:visible;}.popover-visible{opacity:1;pointer-events:auto}.popover-inner{overflow:hidden;border-radius:inherit;max-height:inherit;}.popover-header{display:flex;align-items:center;justify-content:space-between;margin:0;padding-block:12px;padding-inline:16px;border-block-end:1px solid var(--popover-border, var(--border-default, #e5e7eb))}.popover-title{font-weight:700;font-size:14px;color:var(--popover-text-primary, var(--text-primary, #1f2937));margin:0;letter-spacing:-0.01em}.popover-close{background:transparent;border:none;color:var(--popover-text-secondary, var(--text-muted, #9ca3af));cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background 0.15s, color 0.15s;margin-inline-start:8px}.popover-close:hover{background:var(--popover-border, var(--border-default, #e5e7eb));color:var(--popover-text-primary, var(--text-primary, #1f2937))}.popover-body{padding-block:12px;padding-inline:16px;font-size:14px;color:var(--popover-text-secondary, var(--text-muted, #6b7280));line-height:1.6;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0, 0, 0, 0.15) transparent}.popover-body::-webkit-scrollbar{width:4px}.popover-body::-webkit-scrollbar-track{background:transparent}.popover-body::-webkit-scrollbar-thumb{background:rgba(0, 0, 0, 0.15);border-radius:2px}::slotted([slot=footer]){display:block;padding-block:10px;padding-inline:16px;border-block-start:1px solid var(--popover-border, var(--border-default, #e5e7eb));background:var(--popover-footer-bg, rgba(0, 0, 0, 0.02))}.popover-dark{--popover-bg:var(--bg-primary, #1f2937);--popover-border:var(--border-default, #374151);--popover-text-primary:var(--bg-primary, #f3f4f6);--popover-text-secondary:var(--bg-secondary, #d1d5db);--popover-footer-bg:rgba(255,255,255,0.04)}.popover-dark .popover-arrow{--popover-bg:var(--bg-primary, #1f2937);--popover-border:var(--border-default, #374151)}.popover-success{--popover-bg:var(--bg-primary, #f0fdf4);--popover-border:var(--color-success, #bbf7d0);--popover-text-primary:var(--color-success, #14532d);--popover-text-secondary:var(--color-success, #166534);--popover-footer-bg:rgba(var(--color-success-rgb, 16, 185, 129), 0.06)}.popover-success .popover-header{border-block-end-color:var(--color-success, #bbf7d0)}.popover-success .popover-title::before{content:"✓ ";color:var(--color-success, #16a34a)}.popover-warning{--popover-bg:var(--bg-primary, #fffbeb);--popover-border:var(--color-primary, #fde68a);--popover-text-primary:var(--color-danger, #78350f);--popover-text-secondary:var(--color-danger, #92400e);--popover-footer-bg:rgba(var(--color-warning-rgb, 245, 158, 11), 0.06)}.popover-warning .popover-header{border-block-end-color:var(--color-primary, #fde68a)}.popover-warning .popover-title::before{content:"⚠ ";color:var(--color-warning-hover, #d97706)}.popover-error{--popover-bg:var(--bg-primary, #fef2f2);--popover-border:var(--color-danger, #fecaca);--popover-text-primary:var(--color-danger, #7f1d1d);--popover-text-secondary:var(--color-danger, #991b1b);--popover-footer-bg:rgba(var(--color-danger-rgb, 239, 68, 68), 0.06)}.popover-error .popover-header{border-block-end-color:var(--color-danger, #fecaca)}.popover-error .popover-title::before{content:"✕ ";color:var(--color-danger-hover, #dc2626)}.popover-info{--popover-bg:var(--bg-primary, #eff6ff);--popover-border:var(--color-primary, #bfdbfe);--popover-text-primary:var(--color-primary, #1e3a8a);--popover-text-secondary:var(--color-primary, #1e40af);--popover-footer-bg:rgba(var(--color-primary-rgb, 59, 130, 246), 0.06)}.popover-info .popover-header{border-block-end-color:var(--color-primary, #bfdbfe)}.popover-info .popover-title::before{content:"ℹ ";color:var(--color-primary-hover, #2563eb)}.popover-arrow{position:absolute;width:var(--ui-popover-arrow-size, 10px);height:var(--ui-popover-arrow-size, 10px);background:var(--popover-bg, var(--bg-primary, #ffffff));border:1px solid var(--popover-border, var(--border-default, #e5e7eb));transform:rotate(45deg);pointer-events:none;box-sizing:border-box;z-index:1;}.popover-top .popover-arrow,.popover-top-start .popover-arrow,.popover-top-end .popover-arrow{border-top:none;border-left:none;}.popover-bottom .popover-arrow,.popover-bottom-start .popover-arrow,.popover-bottom-end .popover-arrow{border-right:none;border-bottom:none;}.popover-left .popover-arrow,.popover-left-start .popover-arrow,.popover-left-end .popover-arrow{border-left:none;border-bottom:none;}.popover-right .popover-arrow,.popover-right-start .popover-arrow,.popover-right-end .popover-arrow{border-top:none;border-right:none;}.popover-anim-scale{transform:scale(0.92);transform-origin:center top}.popover-anim-scale.popover-bottom,.popover-anim-scale.popover-bottom-start,.popover-anim-scale.popover-bottom-end{transform-origin:center bottom}.popover-anim-scale.popover-left,.popover-anim-scale.popover-left-start,.popover-anim-scale.popover-left-end{transform-origin:right center}.popover-anim-scale.popover-right,.popover-anim-scale.popover-right-start,.popover-anim-scale.popover-right-end{transform-origin:left center}.popover-anim-scale.popover-visible{transform:scale(1)}.popover-anim-slide.popover-top,.popover-anim-slide.popover-top-start,.popover-anim-slide.popover-top-end{transform:translateY(8px)}.popover-anim-slide.popover-bottom,.popover-anim-slide.popover-bottom-start,.popover-anim-slide.popover-bottom-end{transform:translateY(-8px)}.popover-anim-slide.popover-left,.popover-anim-slide.popover-left-start,.popover-anim-slide.popover-left-end{transform:translateX(8px)}.popover-anim-slide.popover-right,.popover-anim-slide.popover-right-start,.popover-anim-slide.popover-right-end{transform:translateX(-8px)}.popover-anim-slide.popover-visible{transform:translate(0, 0)}.popover-skeleton .popover-body{display:flex;flex-direction:column;gap:10px;padding:16px}.popover-skeleton .popover-body::before,.popover-skeleton .popover-body::after{content:"";display:block;height:12px;border-radius:6px;background:linear-gradient(90deg, var(--bg-primary, #e5e7eb) 25%, var(--bg-secondary, #f3f4f6) 50%, var(--bg-primary, #e5e7eb) 75%);background-size:200% 100%;animation:skeletonShimmer 1.4s infinite}.popover-skeleton .popover-body::after{width:65%}@keyframes skeletonShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.popover{transition:none;transform:none !important;opacity:1 !important;display:none}.popover-visible{display:block}}'}},[769,"ui-popover",{heading:[1],target:[1],content:[1],open:[1028],disabled:[4],trigger:[1],placement:[1],showArrow:[4,"show-arrow"],width:[1],animation:[1],showCloseButton:[4,"show-close-button"],backdrop:[4],variant:[1],popoverRole:[1,"popover-role"],showDelay:[2,"show-delay"],hideDelay:[2,"hide-delay"],closeOnScroll:[4,"close-on-scroll"],closeOnEsc:[4,"close-on-esc"],maxHeight:[1,"max-height"],interactive:[4],loading:[4],skeleton:[4],offset:[2],arrowSize:[2,"arrow-size"],closeOnOutsideClick:[4,"close-on-outside-click"],closeOnBlur:[4,"close-on-blur"],matchTriggerWidth:[4,"match-trigger-width"],flip:[4],shift:[4],boundary:[1],padding:[2],fallbackPlacements:[8,"fallback-placements"],autoPlacement:[4,"auto-placement"],strategy:[1],zIndex:[2,"z-index"],currentPlacement:[32],popoverStyles:[32],arrowStyles:[32],updatePosition:[64],reposition:[64],computePlacement:[64],show:[64],hide:[64],toggle:[64]},void 0,{open:[{visibilityChanged:0}],target:[{handleTriggerConfigChange:0}],trigger:[{handleTriggerConfigChange:0}]}]),v=c,b=function(){"undefined"!=typeof customElements&&["ui-popover","ui-badge","ui-button","ui-icon"].forEach((o=>{switch(o){case"ui-popover":customElements.get(i(o))||customElements.define(i(o),c);break;case"ui-badge":customElements.get(i(o))||l();break;case"ui-button":customElements.get(i(o))||d();break;case"ui-icon":customElements.get(i(o))||a()}}))};export{v as UiPopover,b as defineCustomElement}
1
+ import{P as o,d as p}from"./popover.js";const r=o,s=p;export{r as UiPopover,s as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as t,createEvent as r,h as s,Host as i,transformTag as o}from"@stencil/core/internal/client";import{d as a,a as n}from"./badge.js";import{d as l}from"./icon.js";const p=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.progressChange=r(this,"progressChange",7)}type="line";percent=0;status="normal";currentStatus="normal";strokeWidth=10;strokeColor="#1890ff";trailColor="#f0f0f0";gradient=!1;showInfo=!0;format=e=>e+"%";size="default";width="100%";height="100%";strokeLinecap="round";success=null;steps=0;gapDegree=0;gapPosition="top";multiProgress=[];buffer=0;showBuffer=!1;paused=!1;showPauseButton=!1;estimatedTime=0;showTimeEstimate=!1;milestones=[];indeterminate=!1;decimalPrecision=0;percentageColor="";liquid=!1;thresholds=[];icon="";iconLibrary="lucide";skeleton=!1;peakMarker=0;vitality=!1;dataLabels="";glass=!1;glow=!1;labelPosition="outside";orientation="horizontal";interactive=!1;ticks=0;animatedPercent=0;isDragging=!1;gradientId="ui-progress-gradient-"+Math.random().toString(36).substr(2,9);get el(){return this}progressChange;componentWillLoad(){this.animatedPercent=this.percent,this.currentStatus=this.status,this.normalizeProps()}normalizeProps(){try{"string"==typeof this.milestones&&(this.milestones=JSON.parse(this.milestones)),"string"==typeof this.thresholds&&(this.thresholds=JSON.parse(this.thresholds)),"string"==typeof this.success&&(this.success=JSON.parse(this.success)),"string"==typeof this.strokeColor&&this.strokeColor.startsWith("{")&&(this.strokeColor=JSON.parse(this.strokeColor)),"string"==typeof this.multiProgress&&(this.multiProgress=JSON.parse(this.multiProgress))}catch(e){console.warn("Failed to parse complex progress prop",e)}}handlePercentChange(e){e>this.peakMarker&&(this.peakMarker=e),this.animateProgress(e),this.applyThresholds(e)}handleStrokeColorChange(){this.normalizeProps()}applyThresholds(e){if(!this.thresholds.length)return;const t=[...this.thresholds].sort(((e,t)=>t.percent-e.percent)).find((t=>e>=t.percent));t?(t.status&&(this.currentStatus=t.status),t.color&&(this.strokeColor=t.color)):this.currentStatus=this.status}animateProgress(e){const t=this.animatedPercent,r=e-t,s=Date.now(),i=()=>{const e=Date.now(),o=Math.min((e-s)/500,1);this.animatedPercent=t+r*this.easeOut(o),o<1&&requestAnimationFrame(i)};requestAnimationFrame(i)}easeOut(e){return 1-Math.pow(1-e,3)}handleInteraction=e=>{if(!this.interactive)return;this.isDragging=!0,this.updateFromEvent(e);const t=()=>{this.isDragging=!1,document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",t),document.removeEventListener("touchmove",r),document.removeEventListener("touchend",t)},r=e=>{this.isDragging&&this.updateFromEvent(e)};document.addEventListener("mousemove",r),document.addEventListener("mouseup",t),document.addEventListener("touchmove",r),document.addEventListener("touchend",t)};updateFromEvent(e){const t=this.el.shadowRoot?.querySelector(".progress-line-trail")?.getBoundingClientRect();if(!t)return;let r=0;r="vertical"===this.orientation?100-((e.touches?e.touches[0].clientY:e.clientY)-t.top)/t.height*100:((e.touches?e.touches[0].clientX:e.clientX)-t.left)/t.width*100;const s=Math.max(0,Math.min(100,Math.round(r)));this.percent=s,this.progressChange.emit({value:s})}renderTicks(){if(this.ticks<=0)return null;const e=Math.floor(100/this.ticks),t=[];for(let r=0;r<=e;r++){const e=r*this.ticks;t.push(s("div",{class:"progress-tick",style:{["vertical"===this.orientation?"bottom":"left"]:e+"%"}}))}return t}getStrokeColor(){return"success"===this.currentStatus?"#52c41a":"exception"===this.currentStatus||"danger"===this.currentStatus?"#ff4d4f":"warning"===this.currentStatus?"#faad14":this.gradient||"object"==typeof this.strokeColor&&null!==this.strokeColor?`url(#${this.gradientId})`:"string"==typeof this.strokeColor?this.strokeColor:"#1890ff"}renderLineProgress(){const e=this.getStrokeColor(),t=Number(this.animatedPercent.toFixed(this.decimalPrecision));let r=e;const i="object"==typeof this.strokeColor&&null!==this.strokeColor,o=i?this.strokeColor:null;if(this.gradient||i){let t="#1890ff",s="#52c41a";o?(t=o.from||t,s=o.to||s):(t=e,s="normal"===this.status?"#69c0ff":e),r=`linear-gradient(${"vertical"===this.orientation?"to top":o&&o.direction||"to right"}, ${t}, ${s})`}const a={["vertical"===this.orientation?"height":"width"]:this.indeterminate?"100%":Math.min(this.animatedPercent,100)+"%",["vertical"===this.orientation?"width":"height"]:"100%",borderRadius:"round"===this.strokeLinecap?this.strokeWidth+"px":"0",background:r,..."vertical"===this.orientation?{position:"absolute",bottom:"0",left:"0"}:{}},n={["vertical"===this.orientation?"width":"height"]:this.strokeWidth+"px",["vertical"===this.orientation?"height":"width"]:"vertical"===this.orientation?"number"==typeof this.height?this.height+"px":this.height:"number"==typeof this.width?this.width+"px":this.width,borderRadius:"round"===this.strokeLinecap?this.strokeWidth+"px":"0",background:this.trailColor,cursor:this.interactive?"pointer":"default",flex:"1"};return s("div",{class:{"progress-line-wrapper":!0,["progress-orient-"+this.orientation]:!0}},"top"===this.labelPosition&&this.showInfo&&this.renderProgressInfo(),s("div",{class:"progress-line-trail",style:n,onMouseDown:this.handleInteraction,onTouchStart:this.handleInteraction},this.vitality&&s("div",{class:"progress-vitality-pulse"}),this.renderTicks(),this.showBuffer&&this.buffer>0&&s("div",{class:"progress-buffer-bar",style:{["vertical"===this.orientation?"height":"width"]:Math.min(this.buffer,100)+"%",["vertical"===this.orientation?"width":"height"]:this.strokeWidth+"px",background:e+"33",..."vertical"===this.orientation?{position:"absolute",bottom:"0",left:"0"}:{}}}),s("div",{class:{"progress-line-bar":!0,"progress-active":("active"===this.currentStatus||this.indeterminate)&&!this.paused,"progress-indeterminate":this.indeterminate,"progress-liquid":this.liquid,"progress-industrial":"industrial"===this.type,"progress-vibrate":"danger"===this.status},style:a},"inside"===this.labelPosition&&this.showInfo&&s("div",{class:"progress-text-inside",style:{color:this.percentageColor||"#fff",fontSize:Math.max(.6*this.strokeWidth,9)+"px"}},this.icon&&s("ui-icon",{name:this.icon,library:this.iconLibrary,style:{marginRight:"4px"}}),this.format(t)),this.success&&(this.success.percent??0)>0&&s("div",{class:"progress-success-bar",style:{["vertical"===this.orientation?"height":"width"]:(this.success.percent??0)/this.animatedPercent*100+"%",background:this.success.strokeColor||"#52c41a",..."vertical"===this.orientation?{position:"absolute",bottom:"0",left:"0"}:{}}})),this.peakMarker>0&&s("div",{class:"progress-peak-marker",style:{["vertical"===this.orientation?"bottom":"left"]:this.peakMarker+"%"},title:`Session Peak: ${this.peakMarker}%`}),this.milestones.map((e=>s("div",{class:"milestone-marker",style:{["vertical"===this.orientation?"bottom":"left"]:e.percent+"%"},title:e.label},e.icon?s("ui-icon",{name:e.icon.replace(/^fa[sb]? fa-/,""),library:"fontawesome"}):s("div",{class:"milestone-dot"}))))),this.multiProgress.length>0&&this.renderMultiProgress(),"top"!==this.labelPosition&&this.showInfo&&this.renderProgressInfo(),this.showTimeEstimate&&this.estimatedTime>0&&this.renderTimeEstimate(),this.showPauseButton&&this.renderPauseButton())}renderMultiProgress(){return s("div",{class:"multi-progress-container",style:{display:"flex",flexDirection:"column",gap:"8px",marginTop:"12px"}},this.multiProgress.map((e=>s("div",{class:"multi-progress-item",style:{display:"flex",alignItems:"center",gap:"12px"}},s("div",{class:"multi-progress-bar-wrap",style:{flex:"1",height:this.strokeWidth+"px",background:this.trailColor,borderRadius:"4px",overflow:"hidden"}},s("div",{class:"multi-progress-bar",style:{width:e.percent+"%",background:e.color||this.getStrokeColor(),height:"100%",transition:"width 0.5s ease"}})),e.label&&s("span",{class:"multi-progress-label",style:{fontSize:"11px",fontWeight:"700",color:"#64748b"}},e.label)))))}renderTimeEstimate(){const e=Math.floor(this.estimatedTime/60),t=this.estimatedTime%60;return s("span",{class:"time-estimate"},"Est. ",e>0?`${e}m ${t}s`:t+"s"," remaining")}renderPauseButton(){return s("ui-button",{variant:"ghost",class:"pause-button",onClick:()=>this.paused=!this.paused,icon:this.paused?"play":"pause",iconLibrary:"fontawesome",iconOnly:!0,size:"sm"})}renderStepsProgress(){const e=[],t=100/this.steps,r=this.getStrokeColor();for(let i=0;i<this.steps;i++){const o=(i+1)/this.steps*100<=this.animatedPercent;e.push(s("div",{class:{"progress-step":!0,"progress-step-active":o},style:{width:t+"%",background:o?r:this.trailColor,height:this.strokeWidth+"px"}}))}return s("div",{class:"progress-steps-wrapper",style:{width:"number"==typeof this.width?this.width+"px":this.width}},s("div",{class:"progress-steps-container"},e),this.showInfo&&this.renderProgressInfo())}renderCircleProgress(){const e="sm"===this.size?80:120,t=this.strokeWidth||("sm"===this.size?6:8),r=(e-t)/2,i=2*Math.PI*r,o=this.indeterminate?.75*i:i-this.animatedPercent/100*i,a=this.getStrokeColor(),n=this.gapPosition;let l=0;"bottom"===n?l=180:"top"===n?l=0:"left"===n?l=270:"right"===n&&(l=90);const p=this.getCirclePath(e/2,e/2,r,"dashboard"===this.type?this.gapDegree||75:this.gapDegree,l),h=this.icon?s("ui-icon",{name:this.icon,library:this.iconLibrary,style:{display:"block",fontSize:("sm"===this.size?18:24)+"px",marginBottom:"4px"}}):null,c="object"==typeof this.strokeColor&&null!==this.strokeColor,g=c?this.strokeColor:null;return s("div",{class:"progress-circle-wrapper",style:{width:e+"px",height:e+"px"}},s("svg",{width:e,height:e},(this.gradient||c)&&s("defs",null,s("linearGradient",{id:this.gradientId,x1:"0%",y1:"0%",x2:"100%",y2:"100%"},s("stop",{offset:"0%","stop-color":g&&g.from||a}),s("stop",{offset:"100%","stop-color":g?g.to||"#52c41a":"normal"===this.status?"#69c0ff":a}))),s("path",{d:p,stroke:this.trailColor,"stroke-width":t,fill:"none","stroke-linecap":this.strokeLinecap}),s("path",{d:p,stroke:a,"stroke-width":t,fill:"none","stroke-linecap":this.strokeLinecap,"stroke-dasharray":i,"stroke-dashoffset":o,class:{"progress-circle-path":!0,"progress-indeterminate":this.indeterminate,"progress-liquid":this.liquid}})),this.showInfo&&s("div",{class:"progress-circle-text"},h,this.renderProgressInfo()))}getCirclePath(e,t,r,s,i){const o=s*Math.PI/180,a=-Math.PI/2+o/2+i*Math.PI/180,n=a+2*Math.PI-o;return`M ${e+r*Math.cos(a)} ${t+r*Math.sin(a)} A ${r} ${r} 0 ${2*Math.PI-o>Math.PI?1:0} 1 ${e+r*Math.cos(n)} ${t+r*Math.sin(n)}`}renderProgressInfo(){if(this.indeterminate)return null;const e=Number(this.animatedPercent.toFixed(this.decimalPrecision)),t=this.dataLabels||this.format(e),r=this.percentageColor?{color:this.percentageColor}:{},i=this.icon?s("ui-icon",{name:this.icon,library:this.iconLibrary,style:{marginRight:"6px"}}):null;return"success"===this.status?s("span",{class:"progress-text",style:r},i||s("ui-icon",{name:"check-circle",library:"fontawesome"}),"inside"!==this.labelPosition&&t):"exception"===this.status||"danger"===this.status?s("span",{class:"progress-text progress-text-exception",style:r},i||s("ui-icon",{name:"exclamation-triangle",library:"fontawesome"}),"inside"!==this.labelPosition&&t):"warning"===this.status?s("span",{class:"progress-text progress-text-warning",style:r},i||s("ui-icon",{name:"exclamation-circle",library:"fontawesome"}),t):s("span",{class:"progress-text",style:r},i,t)}render(){const e={progress:!0,["progress-"+this.type]:!0,"progress-active":"active"===this.status||this.indeterminate,["progress-"+this.size]:"line"!==this.type,"progress-indeterminate":this.indeterminate,"progress-liquid":this.liquid,"progress-glass":this.glass,"progress-glow":this.glow,"progress-skeleton":this.skeleton};let t;t=this.steps>0&&"line"===this.type?this.renderStepsProgress():"line"===this.type?this.renderLineProgress():this.renderCircleProgress();const r=Number(this.animatedPercent.toFixed(this.decimalPrecision));return s(i,{key:"0f584282c7c54dc1e352dcd047f9393219ea05d7",role:"progressbar","aria-valuenow":r,"aria-valuemin":"0","aria-valuemax":"100","aria-label":this.dataLabels||`Progress: ${this.percent}%`,style:"vertical"===this.orientation?{height:"number"==typeof this.height?this.height+"px":this.height}:{}},s("div",{key:"7a81c6056d073cf9cdd90abf2e7748772f0f322d",class:e},t,(this.liquid||"industrial"===this.type)&&s("svg",{key:"1bee402a754d87ab25395c92acde5edd76da64a2",style:{position:"absolute",width:"0",height:"0"}},s("filter",{key:"bebea12167e23049848d62e1fd182958dc249f2b",id:"liquid-filter"},s("feGaussianBlur",{key:"a31af8c228fc7a4a9391b46f12a3e5a5a08ed6eb",in:"SourceGraphic",stdDeviation:"10",result:"blur"}),s("feColorMatrix",{key:"b4dddec3e0f1dfd172a3281e8c67897a89436387",in:"blur",mode:"matrix",values:"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7",result:"goo"}),s("feBlend",{key:"f5c08e7d756af6ae228c47115dffd9a4e32142c7",in:"SourceGraphic",in2:"goo"})))))}static get watchers(){return{percent:[{handlePercentChange:0}],strokeColor:[{handleStrokeColorChange:0}]}}static get style(){return'.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block}:host *{box-sizing:border-box}.progress{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size:14px;height:100%;width:100%;border-radius:inherit;display:flex;flex-direction:column}.progress-line-wrapper{display:flex;align-items:center;gap:12px}.progress-line-wrapper.progress-orient-vertical{flex-direction:column;height:100%;width:100%}.progress-line-wrapper.progress-orient-vertical .progress-text{text-align:center;min-width:unset;font-size:11px;font-weight:700;letter-spacing:0.05em;margin-top:8px;margin-left:0}.progress-line-trail{position:relative;overflow:hidden;transition:all 0.3s ease}.progress-line-trail:hover{opacity:0.9}.progress-line-bar{position:absolute;top:0;left:0;transition:width 0.5s cubic-bezier(0.4, 0, 0.2, 1), height 0.5s cubic-bezier(0.4, 0, 0.2, 1);border-radius:inherit;display:flex;align-items:center;justify-content:center;white-space:nowrap}.progress-text-inside{position:relative;z-index:2;font-weight:700;padding:0 8px;display:flex;align-items:center;justify-content:center}.progress-success-bar{position:absolute;top:0;right:0;border-radius:inherit}.progress-active .progress-line-bar::before{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background:var(--bg-primary, #ffffff);opacity:0;animation:progress-active 2s cubic-bezier(0.23, 1, 0.32, 1) infinite;border-radius:inherit}@keyframes progress-active{0%{opacity:0.1;width:0}20%{opacity:0.5;width:0}100%{opacity:0;width:100%}}.progress-indeterminate.progress-line .progress-line-bar{width:100%}.progress-indeterminate.progress-line .progress-line-bar::after{content:"";position:absolute;top:0;left:0;bottom:0;width:50%;background:linear-gradient(to right, transparent, rgba(255, 255, 255, 0.5), transparent);animation:progress-line-indeterminate 1.5s infinite linear}@keyframes progress-line-indeterminate{0%{left:-100%}100%{left:100%}}.progress-steps-wrapper{display:flex;align-items:center;gap:12px}.progress-steps-container{display:flex;gap:4px;flex:1}.progress-step{border-radius:4px;transition:background 0.3s ease}.progress-circle-wrapper{position:relative;display:inline-block}.progress-indeterminate.progress-circle .progress-circle-wrapper,.progress-indeterminate.progress-dashboard .progress-circle-wrapper{animation:progress-circle-rotate 2s infinite linear}.progress-circle-path{transition:stroke-dashoffset 0.5s cubic-bezier(0.4, 0, 0.2, 1)}@keyframes progress-circle-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.progress-circle-text{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);text-align:center;font-size:24px;font-weight:600;color:rgba(0, 0, 0, 0.85)}.progress-sm .progress-circle-text{font-size:16px}.progress-text{font-size:14px;color:rgba(0, 0, 0, 0.65);white-space:nowrap;min-width:32px;text-align:right;display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}.progress-text ui-icon{font-size:16px;vertical-align:middle}.progress-circle .progress-text{text-align:center}.progress-text i{font-size:16px;vertical-align:middle;margin-right:4px}.progress-success .progress-text i{color:var(--color-success, #52c41a)}.progress-text-warning i{color:var(--color-danger, #faad14)}.progress-text-exception i,.progress-exception .progress-text i,.progress-danger .progress-text i{color:var(--color-danger, #ff4d4f)}.progress-success .progress-line-bar{background:var(--color-success, #52c41a)}.progress-warning .progress-line-bar{background:var(--color-danger, #faad14)}.progress-exception .progress-line-bar,.progress-danger .progress-line-bar{background:var(--color-danger, #ff4d4f)}.progress-success .progress-circle-path{stroke:var(--color-success, #52c41a)}.progress-warning .progress-circle-path{stroke:var(--color-danger, #faad14)}.progress-exception .progress-circle-path,.progress-danger .progress-circle-path{stroke:var(--color-danger, #ff4d4f)}.progress-sm.progress-circle .progress-circle-wrapper{width:80px;height:80px}.progress-default.progress-circle .progress-circle-wrapper{width:120px;height:120px}.progress-liquid{overflow:hidden}.progress-liquid.progress-line-bar::after{content:"";position:absolute;top:0;left:0;width:200%;height:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 100 20\'%3E%3Cpath fill=\'var(--bg-primary, #ffffff)\' opacity=\'0.2\' d=\'M0 15 Q25 10 50 15 T100 15 V20 H0 Z\'/%3E%3C/svg%3E");background-size:50% 100%;animation:wave-move 2s infinite linear}.progress-liquid.progress-circle-path{filter:url(#liquid-filter);stroke-dasharray:20 2 !important;animation:circular-liquid 2s infinite linear}@keyframes circular-liquid{0%{stroke-dashoffset:0}100%{stroke-dashoffset:44}}@keyframes wave-move{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.progress-glass .progress-line-trail{background:rgba(255, 255, 255, 0.1) !important;backdrop-filter:blur(8px);border:1px solid rgba(255, 255, 255, 0.2);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.05)}.progress-glass .progress-circle-wrapper path:first-child{stroke:rgba(255, 255, 255, 0.2) !important;filter:blur(1px)}.progress-glow.progress-line .progress-line-bar{filter:drop-shadow(0 0 8px currentColor)}.progress-glow.progress-circle .progress-circle-path,.progress-glow.progress-dashboard .progress-circle-path{filter:drop-shadow(0 0 6px currentColor)}.progress-success.progress-glow .progress-line-bar{filter:drop-shadow(0 0 8px var(--color-success, #52c41a))}.progress-exception.progress-glow .progress-line-bar{filter:drop-shadow(0 0 8px var(--color-danger, #ff4d4f))}.progress-active.progress-glow .progress-line-bar{filter:drop-shadow(0 0 8px var(--color-primary, #1890ff))}.progress-industrial{mask-size:16px 100%;mask-image:linear-gradient(to right, var(--text-primary, #000) 70%, transparent 70%)}.progress-orient-vertical .progress-industrial{mask-size:100% 16px;mask-image:linear-gradient(to top, var(--text-primary, #000) 70%, transparent 70%)}.progress-industrial{box-shadow:inset 0 1px 2px rgba(255, 255, 255, 0.4), inset 0 -1px 2px rgba(0, 0, 0, 0.3), 0 1px 3px rgba(0, 0, 0, 0.2);border:1px solid rgba(255, 255, 255, 0.1)}.progress-vibrate{animation:thermal-vibration 0.15s infinite}@keyframes thermal-vibration{0%{transform:translateY(0)}25%{transform:translateY(-1px) translateX(1px)}50%{transform:translateY(1px) translateX(-1px)}75%{transform:translateY(-1px)}100%{transform:translateY(0)}}.progress-peak-marker{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--color-primary, #1890ff);box-shadow:0 0 8px var(--color-primary, #1890ff);transition:left 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);z-index:10;pointer-events:none}.progress-peak-marker::after{content:"";position:absolute;top:-4px;left:-3px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid var(--color-primary, #1890ff)}.progress-vitality-pulse{position:absolute;inset:0;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);width:50%;animation:vitality-wave 3s infinite ease-in-out;pointer-events:none;z-index:5}.progress-orient-vertical .progress-vitality-pulse{width:100%;height:50%;background:linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.2), transparent);animation:vitality-wave-vertical 3s infinite ease-in-out}@keyframes vitality-wave{0%{transform:translateX(-100%) skewX(-20deg)}50%{opacity:0.5}100%{transform:translateX(200%) skewX(-20deg)}}@keyframes vitality-wave-vertical{0%{transform:translateY(100%) skewY(-20deg)}50%{opacity:0.5}100%{transform:translateY(-200%) skewY(-20deg)}}.progress-tick{position:absolute;background:rgba(0, 0, 0, 0.1);pointer-events:none;z-index:1}.progress-orient-horizontal .progress-tick{top:0;bottom:0;width:1px}.progress-orient-vertical .progress-tick{left:0;right:0;height:1px}.milestone-marker{position:absolute;top:50%;transform:translate(-50%, -50%);z-index:15;cursor:help;display:flex;align-items:center;justify-content:center}.progress-orient-vertical .milestone-marker{left:50%;transform:translate(-50%, 50%)}.milestone-marker ui-icon{font-size:14px;color:var(--text-primary, #1a202c);background:var(--bg-primary, #ffffff);border-radius:50%;padding:2px;box-shadow:0 0 6px rgba(0, 0, 0, 0.1)}.milestone-dot{width:8px;height:8px;background:var(--bg-primary, #ffffff);border:2px solid var(--color-primary, #1890ff);border-radius:50%;box-shadow:0 0 4px rgba(0, 0, 0, 0.15)}.multi-progress-container{border-top:1px solid var(--border-subtle, #edf2f7);padding-top:16px;margin-top:20px}.multi-progress-item{transition:all 0.2s ease}.multi-progress-item:hover{transform:translateX(4px)}.multi-progress-bar-wrap{position:relative;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.05)}.multi-progress-label{letter-spacing:0.025em;text-transform:uppercase}.time-estimate{font-size:11px;color:var(--color-primary, #718096);font-weight:600;margin-top:8px;display:block}.pause-button{display:flex;align-items:center;justify-content:center;background:var(--bg-primary, #f7fafc);border:1px solid var(--border-subtle, #e2e8f0);border-radius:50%;width:24px;height:24px;cursor:pointer;color:var(--color-primary, #4a5568);transition:all 0.2s ease;margin-top:8px}.pause-button:hover{background:var(--bg-primary, #edf2f7);color:var(--color-primary, #2d3748);transform:scale(1.1)}.pause-button ui-icon{font-size:10px}.progress-skeleton .progress-line-trail{background:var(--bg-primary, #e2e8f0) !important;position:relative;overflow:hidden}.progress-skeleton .progress-line-trail::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.6), transparent);animation:progress-shimmer 1.5s infinite}.progress-skeleton .progress-line-bar{display:none !important}@keyframes progress-shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}@media (forced-colors: active){.progress-line-trail{border:1px solid CanvasText}.progress-line-bar{background:Highlight}.progress-peak-marker{background:Mark;box-shadow:none}.progress-tick{background:CanvasText;opacity:0.3}}'}},[513,"ui-progress",{type:[1],percent:[2],status:[1],strokeWidth:[2,"stroke-width"],strokeColor:[1,"stroke-color"],trailColor:[1,"trail-color"],gradient:[4],showInfo:[4,"show-info"],format:[16],size:[1],width:[8],height:[8],strokeLinecap:[1,"stroke-linecap"],success:[1040],steps:[2],gapDegree:[2,"gap-degree"],gapPosition:[1,"gap-position"],multiProgress:[16],buffer:[2],showBuffer:[4,"show-buffer"],paused:[1028],showPauseButton:[4,"show-pause-button"],estimatedTime:[2,"estimated-time"],showTimeEstimate:[4,"show-time-estimate"],milestones:[1040],indeterminate:[4],decimalPrecision:[2,"decimal-precision"],percentageColor:[1,"percentage-color"],liquid:[4],thresholds:[1040],icon:[1],iconLibrary:[1,"icon-library"],skeleton:[4],peakMarker:[1026,"peak-marker"],vitality:[4],dataLabels:[1,"data-labels"],glass:[4],glow:[4],labelPosition:[1,"label-position"],orientation:[513],interactive:[4],ticks:[2],currentStatus:[32],animatedPercent:[32],isDragging:[32],gradientId:[32]},void 0,{percent:[{handlePercentChange:0}],strokeColor:[{handleStrokeColorChange:0}]}]),h=p,c=function(){"undefined"!=typeof customElements&&["ui-progress","ui-badge","ui-button","ui-icon"].forEach((e=>{switch(e){case"ui-progress":customElements.get(o(e))||customElements.define(o(e),p);break;case"ui-badge":customElements.get(o(e))||n();break;case"ui-button":customElements.get(o(e))||a();break;case"ui-icon":customElements.get(o(e))||l()}}))};export{h as UiProgress,c as defineCustomElement}
1
+ import{proxyCustomElement as r,HTMLElement as e,createEvent as t,h as s,Host as o,transformTag as i}from"@stencil/core/internal/client";import{d as a}from"./badge.js";import{d as n}from"./button.js";import{d as p}from"./icon.js";import{d as l}from"./loader.js";const g=r(class extends e{constructor(r){super(),!1!==r&&this.__registerHost(),this.__attachShadow(),this.progressChange=t(this,"progressChange",7)}themeObserver;type="line";percent=0;status="normal";currentStatus="normal";strokeWidth=10;strokeColor="#1890ff";trailColor="";gradient=!1;showInfo=!0;format=r=>r+"%";size="default";width="100%";height="100%";strokeLinecap="round";success=null;steps=0;gapDegree=0;gapPosition="top";multiProgress=[];buffer=0;showBuffer=!1;paused=!1;showPauseButton=!1;estimatedTime=0;showTimeEstimate=!1;milestones=[];indeterminate=!1;decimalPrecision=0;percentageColor="";liquid=!1;thresholds=[];icon="";iconLibrary="lucide";skeleton=!1;peakMarker=0;vitality=!1;dataLabels="";glass=!1;statusBar=!1;statusBarAlign="left";statusBarPosition="inside";statusLabels={};glow=!1;labelPosition="outside";orientation="horizontal";interactive=!1;ticks=0;animatedPercent=0;isDragging=!1;isDarkTheme=!1;gradientId="ui-progress-gradient-"+Math.random().toString(36).substr(2,9);get el(){return this}progressChange;componentWillLoad(){this.animatedPercent=this.percent,this.currentStatus=this.status,this.normalizeProps(),this.syncThemeMode()}componentDidLoad(){this.setupThemeObserver()}disconnectedCallback(){this.themeObserver?.disconnect()}normalizeProps(){try{"string"==typeof this.milestones&&(this.milestones=JSON.parse(this.milestones)),"string"==typeof this.thresholds&&(this.thresholds=JSON.parse(this.thresholds)),"string"==typeof this.success&&(this.success=JSON.parse(this.success)),"string"==typeof this.strokeColor&&this.strokeColor.startsWith("{")&&(this.strokeColor=JSON.parse(this.strokeColor)),"string"==typeof this.multiProgress&&(this.multiProgress=JSON.parse(this.multiProgress)),"string"==typeof this.statusLabels&&(this.statusLabels=JSON.parse(this.statusLabels))}catch(r){console.warn("Failed to parse complex progress prop",r)}}setupThemeObserver(){if("undefined"==typeof MutationObserver)return;this.themeObserver?.disconnect(),this.themeObserver=new MutationObserver((()=>{this.syncThemeMode()}));const r={attributes:!0,attributeFilter:["class","data-theme"]};this.themeObserver.observe(document.documentElement,r),document.body&&this.themeObserver.observe(document.body,r),this.el.parentElement&&this.themeObserver.observe(this.el.parentElement,r)}syncThemeMode(){const r=this.el,e='[data-theme="dark"], .dark, .dark-theme',t=r?.closest(e),s=document.documentElement.matches(e),o=!!document.body&&document.body.matches(e);this.isDarkTheme=!!t||s||o}handlePercentChange(r){r>this.peakMarker&&(this.peakMarker=r),this.animateProgress(r),this.applyThresholds(r)}handleStrokeColorChange(){this.normalizeProps()}handleStatusChange(r){this.currentStatus=r}applyThresholds(r){if(!this.thresholds.length)return;const e=[...this.thresholds].sort(((r,e)=>e.percent-r.percent)).find((e=>r>=e.percent));e?(e.status&&(this.currentStatus=e.status),e.color&&(this.strokeColor=e.color)):this.currentStatus=this.status}animateProgress(r){const e=this.animatedPercent,t=r-e,s=Date.now(),o=()=>{const r=Date.now(),i=Math.min((r-s)/500,1);this.animatedPercent=e+t*this.easeOut(i),i<1&&requestAnimationFrame(o)};requestAnimationFrame(o)}easeOut(r){return 1-Math.pow(1-r,3)}handleInteraction=r=>{if(!this.interactive)return;this.isDragging=!0,this.updateFromEvent(r);const e=()=>{this.isDragging=!1,document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",e),document.removeEventListener("touchmove",t),document.removeEventListener("touchend",e)},t=r=>{this.isDragging&&this.updateFromEvent(r)};document.addEventListener("mousemove",t),document.addEventListener("mouseup",e),document.addEventListener("touchmove",t),document.addEventListener("touchend",e)};updateFromEvent(r){const e=this.el.shadowRoot?.querySelector(".progress-line-trail")?.getBoundingClientRect();if(!e)return;let t=0;t="vertical"===this.orientation?100-((r.touches?r.touches[0].clientY:r.clientY)-e.top)/e.height*100:((r.touches?r.touches[0].clientX:r.clientX)-e.left)/e.width*100;const s=Math.max(0,Math.min(100,Math.round(t)));this.percent=s,this.progressChange.emit({value:s})}renderTicks(){if(this.ticks<=0)return null;const r=Math.floor(100/this.ticks),e=[];for(let t=0;t<=r;t++){const r=t*this.ticks;e.push(s("div",{class:"progress-tick",style:{["vertical"===this.orientation?"bottom":"left"]:r+"%"}}))}return e}getStatusInfo(){const r=this.statusLabels||{};return"interrupted"===this.currentStatus?{label:r.interrupted??"Interrupted",cssClass:"interrupted",iconName:"ban"}:this.animatedPercent>=100||"completed"===this.currentStatus?{label:r.completed??"Completed",cssClass:"completed",iconName:"check-circle"}:this.animatedPercent<=0?{label:r.notStarted??"Not Started",cssClass:"not-started",iconName:"circle"}:{label:r.running??"Running",cssClass:"running",iconName:"loader"}}renderStatusBarChip(r=!1){const{label:e,cssClass:t,iconName:o}=this.getStatusInfo(),i=Number(this.animatedPercent.toFixed(this.decimalPrecision));let a={};return r||(a={position:"absolute",top:"50%",transform:"translateY(-50%)",zIndex:"2"},"right"===this.statusBarAlign?a.right="8px":"center"===this.statusBarAlign?(a.left="50%",a.transform="translate(-50%, -50%)"):a.left="8px"),s("div",{class:"progress-status-chip progress-status-chip--"+t,style:a},s("ui-icon",{name:o,library:"lucide"}),s("span",null,e),s("span",{"aria-hidden":"true",style:{opacity:"0.45",margin:"0 1px"}},"·"),s("span",null,i,"%"))}getStrokeColor(){return"success"===this.currentStatus||"completed"===this.currentStatus?"#52c41a":"exception"===this.currentStatus||"danger"===this.currentStatus||"interrupted"===this.currentStatus?"#ff4d4f":"warning"===this.currentStatus?"#faad14":"empty"===this.currentStatus?"#d9d9d9":"running"===this.currentStatus?"#1890ff":this.gradient||"object"==typeof this.strokeColor&&null!==this.strokeColor?`url(#${this.gradientId})`:"string"==typeof this.strokeColor?this.strokeColor:"#1890ff"}getTrailColor(){return"string"==typeof this.trailColor&&this.trailColor.trim().length>0?this.trailColor:this.statusBar?"var(--progress-status-surface, var(--progress-trail-color, var(--bg-secondary, #f1f5f9)))":"var(--progress-trail-color, var(--bg-tertiary, #e2e8f0))"}renderLineProgress(){const r=this.getStrokeColor(),e=this.getTrailColor(),t=Number(this.animatedPercent.toFixed(this.decimalPrecision));let o=r;const i="object"==typeof this.strokeColor&&null!==this.strokeColor,a=i?this.strokeColor:null;if(this.gradient||i){let e="#1890ff",t="#52c41a";a?(e=a.from||e,t=a.to||t):(e=r,t="normal"===this.status?"#69c0ff":r),o=`linear-gradient(${"vertical"===this.orientation?"to top":a&&a.direction||"to right"}, ${e}, ${t})`}const n=this.statusBar&&"top"===this.statusBarPosition,p=this.statusBar&&"inside"===this.statusBarPosition&&"vertical"!==this.orientation?Math.max(this.strokeWidth,32):this.strokeWidth,l={["vertical"===this.orientation?"height":"width"]:this.indeterminate?"100%":Math.min(this.animatedPercent,100)+"%",["vertical"===this.orientation?"width":"height"]:"100%",borderRadius:"round"===this.strokeLinecap?p+"px":"0",background:o,color:r,..."vertical"===this.orientation?{position:"absolute",bottom:"0",left:"0"}:{}},g={["vertical"===this.orientation?"width":"height"]:p+"px",["vertical"===this.orientation?"height":"width"]:"vertical"===this.orientation?"number"==typeof this.height?this.height+"px":this.height:"number"==typeof this.width?this.width+"px":this.width,borderRadius:"round"===this.strokeLinecap?p+"px":"0",background:e,cursor:this.interactive?"pointer":"default",flex:n?"none":"1"};return s("div",{class:{"progress-line-wrapper":!0,"progress-status-bar":this.statusBar,"progress-status-bar--top":n,["progress-orient-"+this.orientation]:!0}},n&&s("div",{class:"progress-status-header progress-status-header--"+this.statusBarAlign},this.renderStatusBarChip(!0)),!this.statusBar&&"top"===this.labelPosition&&this.showInfo&&this.renderProgressInfo(),s("div",{class:"progress-line-trail",style:g,onMouseDown:this.handleInteraction,onTouchStart:this.handleInteraction},this.statusBar&&"inside"===this.statusBarPosition&&this.renderStatusBarChip(!1),this.vitality&&s("div",{class:"progress-vitality-pulse"}),this.renderTicks(),this.showBuffer&&this.buffer>0&&s("div",{class:"progress-buffer-bar",style:{["vertical"===this.orientation?"height":"width"]:Math.min(this.buffer,100)+"%",["vertical"===this.orientation?"width":"height"]:this.strokeWidth+"px",background:r+"33",..."vertical"===this.orientation?{position:"absolute",bottom:"0",left:"0"}:{}}}),s("div",{class:{"progress-line-bar":!0,"progress-active":("active"===this.currentStatus||this.indeterminate)&&!this.paused,"progress-indeterminate":this.indeterminate,"progress-liquid":this.liquid,"progress-industrial":"industrial"===this.type,"progress-vibrate":"danger"===this.status},style:l},"inside"===this.labelPosition&&this.showInfo&&s("div",{class:"progress-text-inside",style:{color:this.percentageColor||"#fff",fontSize:Math.max(.6*this.strokeWidth,9)+"px"}},this.icon&&s("ui-icon",{name:this.icon,library:this.iconLibrary,style:{marginRight:"4px"}}),this.format(t)),this.success&&(this.success.percent??0)>0&&s("div",{class:"progress-success-bar",style:{["vertical"===this.orientation?"height":"width"]:(this.success.percent??0)/this.animatedPercent*100+"%",background:this.success.strokeColor||"#52c41a",..."vertical"===this.orientation?{position:"absolute",bottom:"0",left:"0"}:{}}})),this.peakMarker>0&&s("div",{class:"progress-peak-marker",style:{["vertical"===this.orientation?"bottom":"left"]:this.peakMarker+"%"},title:`Session Peak: ${this.peakMarker}%`}),this.milestones.map((r=>s("div",{class:"milestone-marker",style:{["vertical"===this.orientation?"bottom":"left"]:r.percent+"%"},title:r.label},r.icon?s("ui-icon",{name:r.icon.replace(/^fa[sb]? fa-/,""),library:"fontawesome"}):s("div",{class:"milestone-dot"}))))),this.multiProgress.length>0&&this.renderMultiProgress(),!this.statusBar&&"top"!==this.labelPosition&&this.showInfo&&this.renderProgressInfo(),this.showTimeEstimate&&this.estimatedTime>0&&this.renderTimeEstimate(),this.showPauseButton&&this.renderPauseButton())}renderMultiProgress(){const r=this.getTrailColor();return s("div",{class:"multi-progress-container",style:{display:"flex",flexDirection:"column",gap:"8px",marginTop:"12px"}},this.multiProgress.map((e=>s("div",{class:"multi-progress-item",style:{display:"flex",alignItems:"center",gap:"12px"}},s("div",{class:"multi-progress-bar-wrap",style:{flex:"1",height:this.strokeWidth+"px",background:r,borderRadius:"4px",overflow:"hidden"}},s("div",{class:"multi-progress-bar",style:{width:e.percent+"%",background:e.color||this.getStrokeColor(),height:"100%",transition:"width 0.5s ease"}})),e.label&&s("span",{class:"multi-progress-label",style:{fontSize:"11px",fontWeight:"700"}},e.label)))))}renderTimeEstimate(){const r=Math.floor(this.estimatedTime/60),e=this.estimatedTime%60;return s("span",{class:"time-estimate"},"Est. ",r>0?`${r}m ${e}s`:e+"s"," remaining")}renderPauseButton(){return s("ui-button",{variant:"ghost",class:"pause-button",onClick:()=>this.paused=!this.paused,icon:this.paused?"play":"pause",iconLibrary:"fontawesome",iconOnly:!0,size:"sm"})}renderStepsProgress(){const r=[],e=100/this.steps,t=this.getStrokeColor();for(let o=0;o<this.steps;o++){const i=(o+1)/this.steps*100<=this.animatedPercent;r.push(s("div",{class:{"progress-step":!0,"progress-step-active":i},style:{width:e+"%",background:i?t:this.trailColor,height:this.strokeWidth+"px"}}))}return s("div",{class:"progress-steps-wrapper",style:{width:"number"==typeof this.width?this.width+"px":this.width}},s("div",{class:"progress-steps-container"},r),this.showInfo&&this.renderProgressInfo())}renderCircleProgress(){const r="sm"===this.size?80:120,e=this.strokeWidth||("sm"===this.size?6:8),t=(r-e)/2,o=2*Math.PI*t,i=this.indeterminate?.75*o:o-this.animatedPercent/100*o,a=this.getStrokeColor(),n=this.gapPosition;let p=0;"bottom"===n?p=180:"top"===n?p=0:"left"===n?p=270:"right"===n&&(p=90);const l=this.getCirclePath(r/2,r/2,t,"dashboard"===this.type?this.gapDegree||75:this.gapDegree,p),g=this.icon?s("ui-icon",{name:this.icon,library:this.iconLibrary,style:{display:"block",fontSize:("sm"===this.size?18:24)+"px",marginBottom:"4px"}}):null,c="object"==typeof this.strokeColor&&null!==this.strokeColor,h=c?this.strokeColor:null,d=this.isDarkTheme?"#ffffff":"#000000",u=this.isDarkTheme?"0 1px 2px rgba(15, 23, 42, 0.55)":"none";return s("div",{class:"progress-circle-wrapper",style:{width:r+"px",height:r+"px","--progress-circle-label-color":d,"--progress-circle-label-shadow":u}},s("svg",{width:r,height:r},(this.gradient||c)&&s("defs",null,s("linearGradient",{id:this.gradientId,x1:"0%",y1:"0%",x2:"100%",y2:"100%"},s("stop",{offset:"0%","stop-color":h&&h.from||a}),s("stop",{offset:"100%","stop-color":h?h.to||"#52c41a":"normal"===this.status?"#69c0ff":a}))),s("path",{d:l,stroke:this.trailColor,"stroke-width":e,fill:"none","stroke-linecap":this.strokeLinecap}),s("path",{d:l,stroke:a,"stroke-width":e,fill:"none","stroke-linecap":this.strokeLinecap,"stroke-dasharray":o,"stroke-dashoffset":i,style:{color:a},class:{"progress-circle-path":!0,"progress-indeterminate":this.indeterminate,"progress-liquid":this.liquid}})),this.showInfo&&s("div",{class:"progress-circle-text",style:{color:d,textShadow:u}},g,this.renderProgressInfo()))}getCirclePath(r,e,t,s,o){const i=s*Math.PI/180,a=-Math.PI/2+i/2+o*Math.PI/180,n=a+2*Math.PI-i;return`M ${r+t*Math.cos(a)} ${e+t*Math.sin(a)} A ${t} ${t} 0 ${2*Math.PI-i>Math.PI?1:0} 1 ${r+t*Math.cos(n)} ${e+t*Math.sin(n)}`}renderProgressInfo(){if(this.indeterminate)return null;const r=Number(this.animatedPercent.toFixed(this.decimalPrecision)),e=this.dataLabels||this.format(r),t=this.percentageColor?{color:this.percentageColor}:{},o=this.icon?s("ui-icon",{name:this.icon,library:this.iconLibrary,style:{marginRight:"6px"}}):null;return"success"===this.currentStatus||"completed"===this.currentStatus?s("span",{class:"progress-text progress-text-success",style:t},o||s("ui-icon",{name:"check-circle",library:"fontawesome"}),"inside"!==this.labelPosition&&(this.dataLabels||("completed"===this.currentStatus?"Completed":e))):"exception"===this.currentStatus||"danger"===this.currentStatus||"interrupted"===this.currentStatus?s("span",{class:"progress-text progress-text-exception",style:t},o||s("ui-icon",{name:"exclamation-triangle",library:"fontawesome"}),"inside"!==this.labelPosition&&(this.dataLabels||("interrupted"===this.currentStatus?"Interrupted":e))):"warning"===this.currentStatus?s("span",{class:"progress-text progress-text-warning",style:t},o||s("ui-icon",{name:"exclamation-circle",library:"fontawesome"}),e):"empty"===this.currentStatus?s("span",{class:"progress-text progress-text-empty",style:t},o||s("ui-icon",{name:"circle",library:"fontawesome",style:{opacity:.4}}),"inside"!==this.labelPosition&&(this.dataLabels||"Empty")):"running"===this.currentStatus?s("span",{class:"progress-text progress-text-running",style:t},o||s("ui-icon",{name:"sync",library:"fontawesome",class:"fa-spin",style:{color:"#1890ff"}}),"inside"!==this.labelPosition&&(this.dataLabels||`Running (${e})`)):s("span",{class:"progress-text",style:t},o,e)}render(){const r={progress:!0,["progress-"+this.type]:!0,"progress-active":"active"===this.status||"running"===this.currentStatus||this.indeterminate,["progress-"+this.size]:"line"!==this.type,"progress-indeterminate":this.indeterminate,"progress-liquid":this.liquid,"progress-glass":this.glass,"progress-glow":this.glow,"progress-skeleton":this.skeleton,["progress-"+this.currentStatus]:!0};let e;e=this.steps>0&&"line"===this.type?this.renderStepsProgress():"line"===this.type?this.renderLineProgress():this.renderCircleProgress();const t=Number(this.animatedPercent.toFixed(this.decimalPrecision));return s(o,{key:"707d27a2cea5d03dcadd12448e1cb618f32e956b",role:"progressbar","aria-valuenow":t,"aria-valuemin":"0","aria-valuemax":"100","aria-label":this.dataLabels||`Progress: ${this.percent}%`,style:"vertical"===this.orientation?{height:"number"==typeof this.height?this.height+"px":this.height}:{}},s("div",{key:"cc1721fbe6b18ae128cae17afd926c3fee09da83",class:r},e,(this.liquid||"industrial"===this.type)&&s("svg",{key:"f6ef9f72eebaa4ca34ac9fc3692ec0655aabb1a9",style:{position:"absolute",width:"0",height:"0"}},s("filter",{key:"a452fc5c65e180b97ddd07bde94280123c28fa49",id:"liquid-filter"},s("feGaussianBlur",{key:"ed16a5c601664b2fa99bba8d08efb4360cad5fa6",in:"SourceGraphic",stdDeviation:"10",result:"blur"}),s("feColorMatrix",{key:"d9f249633f95de8be325c85ffd09c7d35d39e3e6",in:"blur",mode:"matrix",values:"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7",result:"goo"}),s("feBlend",{key:"fd21fbfc70afae8e47a8a04c407d52203504be43",in:"SourceGraphic",in2:"goo"})))))}static get watchers(){return{percent:[{handlePercentChange:0}],strokeColor:[{handleStrokeColorChange:0}],status:[{handleStatusChange:0}]}}static get style(){return'.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block;--progress-surface:var(--bg-primary, #ffffff);--progress-surface-muted:var(--bg-secondary, #f8fafc);--progress-text:var(--text-primary, #0f172a);--progress-circle-label-color:var(--text-primary, #0f172a);--progress-circle-label-shadow:none;--progress-text-muted:var(--text-secondary, #475569);--progress-border:var(--border-subtle, #e2e8f0);--progress-trail-color:var(--bg-tertiary, #e2e8f0);--progress-status-surface:color-mix(in srgb, var(--progress-surface) 84%, var(--progress-surface-muted) 16%);--progress-chip-shadow:0 1px 6px rgba(0, 0, 0, 0.18);--progress-status-not-started-bg:color-mix(in srgb, var(--progress-surface-muted) 92%, transparent);--progress-status-not-started-text:var(--progress-text-muted);--progress-status-not-started-border:color-mix(in srgb, var(--progress-border) 90%, transparent);--progress-status-running-bg:rgba(var(--color-primary-rgb, 24, 144, 255), 0.12);--progress-status-running-text:var(--color-primary, #1d4ed8);--progress-status-running-border:rgba(var(--color-primary-rgb, 24, 144, 255), 0.24);--progress-status-interrupted-bg:rgba(var(--color-warning-rgb, 245, 158, 11), 0.14);--progress-status-interrupted-text:var(--color-warning, #b45309);--progress-status-interrupted-border:rgba(var(--color-warning-rgb, 245, 158, 11), 0.28);--progress-status-completed-bg:rgba(var(--color-success-rgb, 16, 185, 129), 0.12);--progress-status-completed-text:var(--color-success, #15803d);--progress-status-completed-border:rgba(var(--color-success-rgb, 16, 185, 129), 0.24)}:host *{box-sizing:border-box}.progress{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size:14px;height:100%;width:100%;border-radius:inherit;display:flex;flex-direction:column}.progress-line-wrapper{display:flex;align-items:center;gap:12px}.progress-line-wrapper.progress-status-bar--top{flex-direction:column;align-items:stretch;gap:4px}.progress-line-wrapper.progress-status-bar--top .progress-line-trail{flex:none}.progress-line-wrapper.progress-orient-vertical{flex-direction:column;height:100%;width:100%}.progress-line-wrapper.progress-orient-vertical .progress-text{text-align:center;min-width:unset;font-size:11px;font-weight:700;letter-spacing:0.05em;margin-top:8px;margin-left:0}.progress-line-trail{position:relative;overflow:hidden;transition:all 0.3s ease}.progress-line-trail:hover{opacity:0.9}.progress-line-bar{position:absolute;top:0;left:0;transition:width 0.5s cubic-bezier(0.4, 0, 0.2, 1), height 0.5s cubic-bezier(0.4, 0, 0.2, 1);border-radius:inherit;display:flex;align-items:center;justify-content:center;white-space:nowrap}.progress-text-inside{position:relative;z-index:2;font-weight:700;padding:0 8px;display:flex;align-items:center;justify-content:center}.progress-success-bar{position:absolute;top:0;right:0;border-radius:inherit}.progress-active .progress-line-bar::before{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background:var(--bg-primary, #ffffff);opacity:0;animation:progress-active 2s cubic-bezier(0.23, 1, 0.32, 1) infinite;border-radius:inherit}@keyframes progress-active{0%{opacity:0.1;width:0}20%{opacity:0.5;width:0}100%{opacity:0;width:100%}}.progress-indeterminate.progress-line .progress-line-bar{width:100%}.progress-indeterminate.progress-line .progress-line-bar::after{content:"";position:absolute;top:0;left:0;bottom:0;width:50%;background:linear-gradient(to right, transparent, rgba(255, 255, 255, 0.5), transparent);animation:progress-line-indeterminate 1.5s infinite linear}@keyframes progress-line-indeterminate{0%{left:-100%}100%{left:100%}}.progress-steps-wrapper{display:flex;align-items:center;gap:12px}.progress-steps-container{display:flex;gap:4px;flex:1}.progress-step{border-radius:4px;transition:background 0.3s ease}.progress-circle-wrapper{position:relative;display:inline-block}.progress-indeterminate.progress-circle .progress-circle-wrapper,.progress-indeterminate.progress-dashboard .progress-circle-wrapper{animation:progress-circle-rotate 2s infinite linear}.progress-circle-path{transition:stroke-dashoffset 0.5s cubic-bezier(0.4, 0, 0.2, 1)}@keyframes progress-circle-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.progress-circle-text{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);display:flex;align-items:center;justify-content:center;width:calc(100% - 16px);max-width:calc(100% - 16px);text-align:center;line-height:1.2;font-size:24px;font-weight:600;color:var(--progress-circle-label-color);text-shadow:var(--progress-circle-label-shadow);pointer-events:none}.progress-circle-text .progress-text,.progress-circle-text .progress-text-success,.progress-circle-text .progress-text-running,.progress-circle-text .progress-text-warning,.progress-circle-text .progress-text-exception,.progress-circle-text .progress-text-empty,.progress-circle-text .progress-text i,.progress-circle-text .progress-text-success i,.progress-circle-text .progress-text-running i,.progress-circle-text .progress-text-warning i,.progress-circle-text .progress-text-exception i,.progress-circle-text .progress-text-empty i,.progress-circle-text .progress-text ui-icon{color:inherit !important}.progress-circle-text .progress-text-success ui-icon,.progress-circle-text .progress-text-running ui-icon,.progress-circle-text .progress-text-warning ui-icon,.progress-circle-text .progress-text-exception ui-icon,.progress-circle-text .progress-text-empty ui-icon{color:inherit !important}.progress-circle-text .progress-text{min-width:0;max-width:100%;justify-content:center;text-align:center;line-height:1.2;overflow-wrap:anywhere}.progress-sm .progress-circle-text{font-size:16px}.progress-text{font-size:14px;color:var(--progress-text-muted);white-space:nowrap;min-width:32px;text-align:right;display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}.progress-text ui-icon{font-size:16px;vertical-align:middle}.progress-circle .progress-text,.progress-dashboard .progress-text{text-align:center;justify-content:center;min-width:0}.progress-text i{font-size:16px;vertical-align:middle;margin-right:4px}.progress-success .progress-text i,.progress-completed .progress-text i{color:var(--color-success, #52c41a)}.progress-text-warning i{color:var(--color-danger, #faad14)}.progress-text-exception i,.progress-exception .progress-text i,.progress-danger .progress-text i,.progress-interrupted .progress-text i{color:var(--color-danger, #ff4d4f)}.progress-text-empty{color:var(--progress-text-muted) !important}.progress-text-empty i,.progress-text-empty ui-icon{color:var(--progress-text-muted) !important}.progress-text-running{color:var(--color-primary, #1890ff) !important}.progress-text-running i,.progress-text-running ui-icon{color:var(--color-primary, #1890ff) !important}.progress-text-success{color:var(--color-success, #52c41a) !important}.progress-text-success i,.progress-text-success ui-icon{color:var(--color-success, #52c41a) !important}.progress-text-exception{color:var(--color-danger, #ff4d4f) !important}.progress-text-exception i,.progress-text-exception ui-icon{color:var(--color-danger, #ff4d4f) !important}.progress-success .progress-line-bar,.progress-completed .progress-line-bar{background:var(--color-success, #52c41a)}.progress-warning .progress-line-bar{background:var(--color-danger, #faad14)}.progress-exception .progress-line-bar,.progress-danger .progress-line-bar,.progress-interrupted .progress-line-bar{background:var(--color-danger, #ff4d4f)}.progress-empty .progress-line-bar{background:var(--color-neutral, #d9d9d9)}.progress-running .progress-line-bar{background:var(--color-primary, #1890ff)}.progress-success .progress-circle-path,.progress-completed .progress-circle-path{stroke:var(--color-success, #52c41a)}.progress-warning .progress-circle-path{stroke:var(--color-danger, #faad14)}.progress-exception .progress-circle-path,.progress-danger .progress-circle-path,.progress-interrupted .progress-circle-path{stroke:var(--color-danger, #ff4d4f)}.progress-empty .progress-circle-path{stroke:var(--color-neutral, #d9d9d9)}.progress-running .progress-circle-path{stroke:var(--color-primary, #1890ff)}.progress-sm.progress-circle .progress-circle-wrapper{width:80px;height:80px}.progress-default.progress-circle .progress-circle-wrapper{width:120px;height:120px}.progress-liquid{overflow:hidden}.progress-liquid.progress-line-bar::after{content:"";position:absolute;top:0;left:0;width:200%;height:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 100 20\'%3E%3Cpath fill=\'var(--bg-primary, #ffffff)\' opacity=\'0.2\' d=\'M0 15 Q25 10 50 15 T100 15 V20 H0 Z\'/%3E%3C/svg%3E");background-size:50% 100%;animation:wave-move 2s infinite linear}.progress-liquid.progress-circle-path{filter:url(#liquid-filter);stroke-dasharray:20 2 !important;animation:circular-liquid 2s infinite linear}@keyframes circular-liquid{0%{stroke-dashoffset:0}100%{stroke-dashoffset:44}}@keyframes wave-move{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.progress-glass .progress-line-trail{background:rgba(128, 128, 128, 0.15) !important;backdrop-filter:blur(8px);border:1px solid rgba(128, 128, 128, 0.2);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.05)}.progress-glass .progress-circle-wrapper path:first-child{stroke:rgba(128, 128, 128, 0.2) !important;filter:blur(1px)}.progress-glow.progress-line .progress-line-bar{filter:drop-shadow(0 0 8px currentColor)}.progress-glow.progress-circle .progress-circle-path,.progress-glow.progress-dashboard .progress-circle-path{filter:drop-shadow(0 0 6px currentColor)}.progress-glow.progress-success.progress-line .progress-line-bar,.progress-glow.progress-completed.progress-line .progress-line-bar{filter:drop-shadow(0 0 8px rgba(82, 196, 26, 0.45)) !important}.progress-glow.progress-success.progress-circle .progress-circle-path,.progress-glow.progress-success.progress-dashboard .progress-circle-path,.progress-glow.progress-completed.progress-circle .progress-circle-path,.progress-glow.progress-completed.progress-dashboard .progress-circle-path{filter:drop-shadow(0 0 6px rgba(82, 196, 26, 0.45)) !important}.progress-glow.progress-exception.progress-line .progress-line-bar,.progress-glow.progress-danger.progress-line .progress-line-bar,.progress-glow.progress-interrupted.progress-line .progress-line-bar{filter:drop-shadow(0 0 8px rgba(255, 77, 79, 0.45)) !important}.progress-glow.progress-exception.progress-circle .progress-circle-path,.progress-glow.progress-exception.progress-dashboard .progress-circle-path,.progress-glow.progress-danger.progress-circle .progress-circle-path,.progress-glow.progress-danger.progress-dashboard .progress-circle-path,.progress-glow.progress-interrupted.progress-circle .progress-circle-path,.progress-glow.progress-interrupted.progress-dashboard .progress-circle-path{filter:drop-shadow(0 0 6px rgba(255, 77, 79, 0.45)) !important}.progress-glow.progress-warning.progress-line .progress-line-bar{filter:drop-shadow(0 0 8px rgba(250, 173, 20, 0.45)) !important}.progress-glow.progress-warning.progress-circle .progress-circle-path,.progress-glow.progress-warning.progress-dashboard .progress-circle-path{filter:drop-shadow(0 0 6px rgba(250, 173, 20, 0.45)) !important}.progress-glow.progress-running.progress-line .progress-line-bar,.progress-glow.progress-active.progress-line .progress-line-bar{filter:drop-shadow(0 0 8px rgba(24, 144, 255, 0.45)) !important}.progress-glow.progress-running.progress-circle .progress-circle-path,.progress-glow.progress-running.progress-dashboard .progress-circle-path,.progress-glow.progress-active.progress-circle .progress-circle-path,.progress-glow.progress-active.progress-dashboard .progress-circle-path{filter:drop-shadow(0 0 6px rgba(24, 144, 255, 0.45)) !important}.progress-industrial .progress-line-trail{mask-image:repeating-linear-gradient(to right, var(--text-primary, #000) 0, var(--text-primary, #000) 11px, transparent 11px, transparent 16px)}.progress-orient-vertical .progress-industrial .progress-line-trail{mask-image:repeating-linear-gradient(to top, var(--text-primary, #000) 0, var(--text-primary, #000) 11px, transparent 11px, transparent 16px)}.progress-industrial .progress-line-trail{box-shadow:inset 0 1px 2px rgba(255, 255, 255, 0.4), inset 0 -1px 2px rgba(0, 0, 0, 0.3), 0 1px 3px rgba(0, 0, 0, 0.2);border:1px solid rgba(255, 255, 255, 0.1)}.progress-vibrate{animation:thermal-vibration 0.15s infinite}@keyframes thermal-vibration{0%{transform:translateY(0)}25%{transform:translateY(-1px) translateX(1px)}50%{transform:translateY(1px) translateX(-1px)}75%{transform:translateY(-1px)}100%{transform:translateY(0)}}.progress-peak-marker{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--color-primary, #1890ff);box-shadow:0 0 8px var(--color-primary, #1890ff);transition:left 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);z-index:10;pointer-events:none}.progress-peak-marker::after{content:"";position:absolute;top:-4px;left:-3px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid var(--color-primary, #1890ff)}.progress-vitality-pulse{position:absolute;inset:0;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);width:50%;animation:vitality-wave 3s infinite ease-in-out;pointer-events:none;z-index:5}.progress-orient-vertical .progress-vitality-pulse{width:100%;height:50%;background:linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.2), transparent);animation:vitality-wave-vertical 3s infinite ease-in-out}@keyframes vitality-wave{0%{transform:translateX(-100%) skewX(-20deg)}50%{opacity:0.5}100%{transform:translateX(200%) skewX(-20deg)}}@keyframes vitality-wave-vertical{0%{transform:translateY(100%) skewY(-20deg)}50%{opacity:0.5}100%{transform:translateY(-200%) skewY(-20deg)}}.progress-tick{position:absolute;background:rgba(0, 0, 0, 0.1);pointer-events:none;z-index:1}.progress-orient-horizontal .progress-tick{top:0;bottom:0;width:1px}.progress-orient-vertical .progress-tick{left:0;right:0;height:1px}.milestone-marker{position:absolute;top:50%;transform:translate(-50%, -50%);z-index:15;cursor:help;display:flex;align-items:center;justify-content:center}.progress-orient-vertical .milestone-marker{left:50%;transform:translate(-50%, 50%)}.milestone-marker ui-icon{font-size:14px;color:var(--text-primary, #1a202c);background:var(--bg-primary, #ffffff);border-radius:50%;padding:2px;box-shadow:0 0 6px rgba(0, 0, 0, 0.1)}.milestone-dot{width:8px;height:8px;background:var(--bg-primary, #ffffff);border:2px solid var(--color-primary, #1890ff);border-radius:50%;box-shadow:0 0 4px rgba(0, 0, 0, 0.15)}.multi-progress-container{border-top:1px solid var(--border-subtle, #edf2f7);padding-top:16px;margin-top:20px}.multi-progress-item{transition:all 0.2s ease}.multi-progress-item:hover{transform:translateX(4px)}.multi-progress-bar-wrap{position:relative;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.05)}.multi-progress-label{letter-spacing:0.025em;text-transform:uppercase;color:var(--progress-text-muted)}.time-estimate{font-size:11px;color:var(--color-primary, #718096);font-weight:600;margin-top:8px;display:block}.pause-button{display:flex;align-items:center;justify-content:center;background:var(--bg-primary, #f7fafc);border:1px solid var(--border-subtle, #e2e8f0);border-radius:50%;width:24px;height:24px;cursor:pointer;color:var(--color-primary, #4a5568);transition:all 0.2s ease;margin-top:8px}.pause-button:hover{background:var(--bg-primary, #edf2f7);color:var(--color-primary, #2d3748);transform:scale(1.1)}.pause-button ui-icon{font-size:10px}.progress-skeleton .progress-line-trail{background:var(--bg-primary, #e2e8f0) !important;position:relative;overflow:hidden}.progress-skeleton .progress-line-trail::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.6), transparent);animation:progress-shimmer 1.5s infinite}.progress-skeleton .progress-line-bar{display:none !important}@keyframes progress-shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}@media (forced-colors: active){.progress-line-trail{border:1px solid CanvasText}.progress-line-bar{background:Highlight}.progress-peak-marker{background:Mark;box-shadow:none}.progress-tick{background:CanvasText;opacity:0.3}}.progress-status-header{display:flex;width:100%;margin-bottom:4px}.progress-status-header--left{justify-content:flex-start}.progress-status-header--center{justify-content:center}.progress-status-header--right{justify-content:flex-end}.progress-status-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;line-height:1;padding:4px 10px;border-radius:999px;white-space:nowrap;box-shadow:var(--progress-chip-shadow);backdrop-filter:blur(4px);pointer-events:none;user-select:none}.progress-status-chip ui-icon{font-size:11px}.progress-status-chip--not-started{background:var(--progress-status-not-started-bg);color:var(--progress-status-not-started-text);border:1px solid var(--progress-status-not-started-border)}.progress-status-chip--running{background:var(--progress-status-running-bg);color:var(--progress-status-running-text);border:1px solid var(--progress-status-running-border)}.progress-status-chip--running ui-icon{animation:progress-spin 1s linear infinite}.progress-status-chip--interrupted{background:var(--progress-status-interrupted-bg);color:var(--progress-status-interrupted-text);border:1px solid var(--progress-status-interrupted-border)}.progress-status-chip--completed{background:var(--progress-status-completed-bg);color:var(--progress-status-completed-text);border:1px solid var(--progress-status-completed-border)}@keyframes progress-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}:host-context(.dark),:host-context(.dark-theme),:host-context([data-theme=dark]),:host(.dark-theme),:host(.dark),:host([data-theme=dark]){--progress-circle-label-color:var(--text-primary, #f8fafc);--progress-circle-label-shadow:0 1px 2px rgba(15, 23, 42, 0.45)}:host-context(.dark) .progress-circle-text,:host-context(.dark-theme) .progress-circle-text,:host-context([data-theme=dark]) .progress-circle-text,:host(.dark-theme) .progress-circle-text,:host(.dark) .progress-circle-text,:host([data-theme=dark]) .progress-circle-text{color:var(--text-primary, #f8fafc)}:host-context(.dark) .progress-text,:host-context(.dark-theme) .progress-text,:host-context([data-theme=dark]) .progress-text,:host(.dark-theme) .progress-text,:host(.dark) .progress-text,:host([data-theme=dark]) .progress-text{color:var(--text-secondary, #cbd5e1)}:host-context(.dark) .multi-progress-label,:host-context(.dark-theme) .multi-progress-label,:host-context([data-theme=dark]) .multi-progress-label,:host(.dark-theme) .multi-progress-label,:host(.dark) .multi-progress-label,:host([data-theme=dark]) .multi-progress-label{color:var(--text-secondary, #cbd5e1)}:host-context(.dark) .progress-text-empty,:host-context(.dark) .progress-text-empty i,:host-context(.dark) .progress-text-empty ui-icon,:host-context(.dark-theme) .progress-text-empty,:host-context(.dark-theme) .progress-text-empty i,:host-context(.dark-theme) .progress-text-empty ui-icon,:host-context([data-theme=dark]) .progress-text-empty,:host-context([data-theme=dark]) .progress-text-empty i,:host-context([data-theme=dark]) .progress-text-empty ui-icon,:host(.dark-theme) .progress-text-empty,:host(.dark-theme) .progress-text-empty i,:host(.dark-theme) .progress-text-empty ui-icon,:host(.dark) .progress-text-empty,:host(.dark) .progress-text-empty i,:host(.dark) .progress-text-empty ui-icon,:host([data-theme=dark]) .progress-text-empty,:host([data-theme=dark]) .progress-text-empty i,:host([data-theme=dark]) .progress-text-empty ui-icon{color:var(--text-secondary, #94a3b8) !important}:host-context(.dark) .time-estimate,:host-context(.dark-theme) .time-estimate,:host-context([data-theme=dark]) .time-estimate,:host(.dark-theme) .time-estimate,:host(.dark) .time-estimate,:host([data-theme=dark]) .time-estimate{color:var(--text-secondary, #94a3b8)}:host-context(.dark) .progress-line-trail,:host-context(.dark-theme) .progress-line-trail,:host-context([data-theme=dark]) .progress-line-trail,:host(.dark-theme) .progress-line-trail,:host(.dark) .progress-line-trail,:host([data-theme=dark]) .progress-line-trail{background:var(--bg-tertiary, #334155)}:host-context(.dark) .multi-progress-bar-wrap,:host-context(.dark-theme) .multi-progress-bar-wrap,:host-context([data-theme=dark]) .multi-progress-bar-wrap,:host(.dark-theme) .multi-progress-bar-wrap,:host(.dark) .multi-progress-bar-wrap,:host([data-theme=dark]) .multi-progress-bar-wrap{background:var(--bg-tertiary, #334155) !important}'}},[513,"ui-progress",{type:[1],percent:[2],status:[1],strokeWidth:[2,"stroke-width"],strokeColor:[1,"stroke-color"],trailColor:[1,"trail-color"],gradient:[4],showInfo:[4,"show-info"],format:[16],size:[1],width:[8],height:[8],strokeLinecap:[1,"stroke-linecap"],success:[1040],steps:[2],gapDegree:[2,"gap-degree"],gapPosition:[1,"gap-position"],multiProgress:[16],buffer:[2],showBuffer:[4,"show-buffer"],paused:[1028],showPauseButton:[4,"show-pause-button"],estimatedTime:[2,"estimated-time"],showTimeEstimate:[4,"show-time-estimate"],milestones:[1040],indeterminate:[4],decimalPrecision:[2,"decimal-precision"],percentageColor:[1,"percentage-color"],liquid:[4],thresholds:[1040],icon:[1],iconLibrary:[1,"icon-library"],skeleton:[4],peakMarker:[1026,"peak-marker"],vitality:[4],dataLabels:[1,"data-labels"],glass:[4],statusBar:[4,"status-bar"],statusBarAlign:[1,"status-bar-align"],statusBarPosition:[1,"status-bar-position"],statusLabels:[1040],glow:[4],labelPosition:[1,"label-position"],orientation:[513],interactive:[4],ticks:[2],currentStatus:[32],animatedPercent:[32],isDragging:[32],isDarkTheme:[32],gradientId:[32]},void 0,{percent:[{handlePercentChange:0}],strokeColor:[{handleStrokeColorChange:0}],status:[{handleStatusChange:0}]}]),c=g,h=function(){"undefined"!=typeof customElements&&["ui-progress","ui-badge","ui-button","ui-icon","ui-loader"].forEach((r=>{switch(r){case"ui-progress":customElements.get(i(r))||customElements.define(i(r),g);break;case"ui-badge":customElements.get(i(r))||a();break;case"ui-button":customElements.get(i(r))||n();break;case"ui-icon":customElements.get(i(r))||p();break;case"ui-loader":customElements.get(i(r))||l()}}))};export{c as UiProgress,h as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as t,HTMLElement as o,h as s,Host as i,transformTag as r}from"@stencil/core/internal/client";import{d as e,a as l}from"./badge.js";import{d as a}from"./icon.js";const n=t(class extends o{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow()}get el(){return this}mode="top";threshold=300;behavior="smooth";position="bottom-right";quickJump=!1;strategy="fixed";icon="arrow-up";label;size="md";color="primary";variant="solid";target;showProgress=!1;progressColor;showProgressValue=!1;glassy=!1;magnetic=!1;magneticStrength=.3;magneticRadius=150;autoHide=!1;persistenceId;onPersistenceIdChange(){this.loadPersistedPosition()}isDraggable=!1;autoHideHoldTime=3e3;shape="rounded";iconLibrary="default";animation="scale";tooltip;zIndex=1e3;portal=!1;haptic=!1;skeleton=!1;loading=!1;textDirection="auto";isVisible=!1;isUserScrolling=!1;scrollProgress=0;dir="ltr";pulse=!1;anchors=[];isMenuOpen=!1;magneticTransform={x:0,y:0};dragOffset={x:0,y:0};isDragging=!1;targetElement;autoHideTimer;pulseTimer;dragStartPos={x:0,y:0};initialOffset={x:0,y:0};handleModeChange(){this.triggerPulse()}onTextDirectionChange(){this.updateDir()}componentWillLoad(){this.updateDir(),this.loadPersistedPosition(),this.computeScrollState(document.documentElement,window.pageYOffset??document.documentElement?.scrollTop??0)}componentDidLoad(){this.portal&&document.body&&this.el.parentNode!==document.body&&document.body.appendChild(this.el),this.initTarget()}componentDidUpdate(){this.targetElement||this.initTarget()}scanAnchors(){if(!this.quickJump)return;const t=Array.from(document.querySelectorAll("h1[id], h2[id], h3[id], h4[id], h5[id], h6[id], [data-ui-anchor]"));this.anchors=t.map((t=>({title:t.getAttribute("data-ui-anchor-title")||t.textContent.trim(),id:t.id||(t.hasAttribute("data-ui-anchor")?t.getAttribute("data-ui-anchor")??"":"")}))).filter((t=>!!t.id&&!!t.title))}loadPersistedPosition(){if(this.persistenceId&&this.isDraggable){const t=localStorage.getItem("ui-scroll-top-pos-"+this.persistenceId);if(t)try{this.dragOffset=JSON.parse(t)}catch(t){console.error("Failed to load ScrollTop position",t)}}}savePersistedPosition(){this.persistenceId&&this.isDraggable&&localStorage.setItem("ui-scroll-top-pos-"+this.persistenceId,JSON.stringify(this.dragOffset))}triggerPulse(){this.pulse=!0,this.pulseTimer&&clearTimeout(this.pulseTimer),this.pulseTimer=setTimeout((()=>this.pulse=!1),600)}updateDir(){if("rtl"===this.textDirection)this.dir="rtl";else if("ltr"===this.textDirection)this.dir="ltr";else{const t=getComputedStyle(this.el).direction;this.dir="rtl"===t?"rtl":"ltr"}}initTarget(){if(this.targetElement=this.target?document.querySelector(this.target):window,this.targetElement){this.targetElement.addEventListener("scroll",this.handleScroll);const t=this.targetElement instanceof Window?document.documentElement:this.targetElement,o=this.targetElement instanceof Window?window.pageYOffset||document.documentElement.scrollTop:this.targetElement.scrollTop;this.computeScrollState(t,o)}}computeScrollState(t,o){if(this.isVisible="top"===this.mode?o>this.threshold:"bottom"===this.mode?o<t.scrollHeight-t.clientHeight-this.threshold:!(o<this.threshold&&o>t.scrollHeight-t.clientHeight-this.threshold),this.showProgress){const s=t.scrollHeight-t.clientHeight;s>0&&(this.scrollProgress=Math.min(100,Math.max(0,o/s*100)))}}disconnectedCallback(){this.targetElement&&this.targetElement.removeEventListener("scroll",this.handleScroll),this.clearAutoHideTimer(),this.clearPulseTimer()}clearPulseTimer(){this.pulseTimer&&(clearTimeout(this.pulseTimer),this.pulseTimer=null)}clearAutoHideTimer(){this.autoHideTimer&&(clearTimeout(this.autoHideTimer),this.autoHideTimer=null)}handleScroll=()=>{const t=this.targetElement instanceof Window?document.documentElement:this.targetElement,o=this.targetElement instanceof Window?window.pageYOffset||document.documentElement.scrollTop:this.targetElement.scrollTop,s=this.isVisible;this.computeScrollState(t,o),this.autoHide&&this.isVisible?(this.isUserScrolling=!0,this.clearAutoHideTimer(),this.autoHideTimer=setTimeout((()=>{this.isUserScrolling=!1}),this.autoHideHoldTime)):this.autoHide||(this.isUserScrolling=!0),!s&&this.isVisible&&this.haptic&&"vibrate"in navigator&&navigator.vibrate(30)};handleAction=()=>{if(this.haptic&&"vibrate"in navigator&&navigator.vibrate(50),this.targetElement instanceof Window){let t=0;"bottom"===this.mode?t=document.documentElement.scrollHeight:"both"===this.mode&&(t=(window.pageYOffset||document.documentElement.scrollTop)>(document.documentElement.scrollHeight-document.documentElement.clientHeight)/2?0:document.documentElement.scrollHeight),window.scrollTo({top:t,behavior:this.behavior})}else{const t=this.targetElement;let o=0;"bottom"===this.mode?o=t.scrollHeight:"both"===this.mode&&(o=t.scrollTop>(t.scrollHeight-t.clientHeight)/2?0:t.scrollHeight),t.scrollTo({top:o,behavior:this.behavior})}};handleMouseMove(t){if(!this.magnetic||!this.isVisible)return;const o=this.el.getBoundingClientRect(),s=t.clientX-(o.left+o.width/2),i=t.clientY-(o.top+o.height/2),r=Math.sqrt(s*s+i*i);if(r<this.magneticRadius){const t=1-r/this.magneticRadius;this.magneticTransform={x:s*this.magneticStrength*t,y:i*this.magneticStrength*t}}else 0===this.magneticTransform.x&&0===this.magneticTransform.y||(this.magneticTransform={x:0,y:0})}handleContextMenu=t=>{this.quickJump&&(t.preventDefault(),this.scanAnchors(),this.isMenuOpen=!this.isMenuOpen)};jumpTo=t=>{const o=document.getElementById(t);o&&o.scrollIntoView({behavior:"smooth"}),this.isMenuOpen=!1};onMouseDown(t){this.isDraggable&&(this.isDragging=!0,this.dragStartPos={x:t.clientX,y:t.clientY},this.initialOffset={...this.dragOffset},this.isMenuOpen=!1,document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp))}onMouseMove=t=>{this.isDragging&&(this.dragOffset={x:this.initialOffset.x+(t.clientX-this.dragStartPos.x),y:this.initialOffset.y+(t.clientY-this.dragStartPos.y)})};onMouseUp=()=>{this.isDragging=!1,document.removeEventListener("mousemove",this.onMouseMove),document.removeEventListener("mouseup",this.onMouseUp),this.savePersistedPosition()};render(){if(this.skeleton)return s(i,{class:`scroll-top-skeleton scroll-top-${this.position} scroll-top-${this.size}`},s("div",{class:"skeleton-btn"}));const t=this.isVisible&&(!this.autoHide||this.isUserScrolling),o=2*Math.PI*22,r=o-this.scrollProgress/100*o;return s(i,{style:this.portal?{display:"contents"}:{}},s("ui-button",{variant:"solid"===this.variant?"primary":this.variant,class:{"scroll-top":!0,["scroll-top-"+this.position]:!0,["scroll-top-"+this.size]:!0,["scroll-top-"+this.color]:!0,["scroll-top-variant-"+this.variant]:!0,["scroll-top-shape-"+this.shape]:!0,["scroll-top-anim-"+this.animation]:!0,"scroll-top-visible":t,"scroll-top-active":this.isUserScrolling,"scroll-top-with-label":!!this.label,"scroll-top-loading":this.loading,"scroll-top-pulse":this.pulse,"scroll-top-glassy":this.glassy,"scroll-top-rtl":"rtl"===this.dir,"scroll-top-strategy-absolute":"absolute"===this.strategy},style:{"--z-index":""+this.zIndex,"--magnetic-x":this.magneticTransform.x+"px","--magnetic-y":this.magneticTransform.y+"px","--drag-x":this.dragOffset.x+"px","--drag-y":this.dragOffset.y+"px",transform:"translate(calc(var(--magnetic-x, 0px) + var(--drag-x, 0px)), calc(var(--magnetic-y, 0px) + var(--drag-y, 0px)))",transition:0!==this.magneticTransform.x||this.isDragging?"none":"transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)","pointer-events":t?"auto":"none",cursor:this.isDraggable?this.isDragging?"grabbing":"grab":"pointer"},onClick:()=>this.handleAction(),onKeyDown:t=>"Enter"===t.key&&this.handleAction(),onContextMenu:this.handleContextMenu,disabled:!t,ariaLabel:"top"===this.mode?"Scroll to top":"Scroll to bottom","aria-haspopup":this.quickJump?"true":"false","aria-expanded":this.isMenuOpen?"true":"false",title:this.quickJump?"Right-click for sections":this.tooltip||("top"===this.mode?"Top":"Bottom"),icon:this.loading?"loading":"top"===this.mode?this.icon:"bottom"===this.mode?"arrow-up"===this.icon?"arrow-down":this.icon:this.scrollProgress>50?"arrow-up"===this.icon?"arrow-up":this.icon:"arrow-up"===this.icon?"arrow-down":this.icon,iconLibrary:this.iconLibrary,loading:this.loading,label:this.label},this.showProgress&&s("svg",{class:"progress-ring",width:"100%",height:"100%",viewBox:"0 0 60 60",slot:"start"},s("circle",{class:"progress-ring__background",stroke:"rgba(255,255,255,0.1)","stroke-width":"3",fill:"transparent",r:22,cx:"30",cy:"30"}),s("circle",{class:"progress-ring__circle",stroke:this.progressColor||"currentColor","stroke-width":"3","stroke-dasharray":`${o} ${o}`,style:{strokeDashoffset:""+r},"stroke-linecap":"round",fill:"transparent",r:22,cx:"30",cy:"30"})),this.showProgress&&this.showProgressValue&&s("span",{class:"progress-value",slot:"start"},Math.round(this.scrollProgress),"%"),this.isMenuOpen&&s("div",{class:"scroll-top-anchors scroll-top-anchors-"+this.position,slot:"end"},s("div",{class:"scroll-top-anchors-header"},"Quick Jump"),s("div",{class:"scroll-top-anchors-list"},this.anchors.map((t=>s("ui-button",{key:t.id,variant:"ghost",class:"scroll-top-anchor-item",onClick:o=>{o.stopPropagation(),this.jumpTo(t.id)},label:t.title,block:!0})))))))}static get watchers(){return{persistenceId:[{onPersistenceIdChange:0}],mode:[{handleModeChange:0}],textDirection:[{onTextDirectionChange:0}]}}static get style(){return".sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:contents;--z-index:1000}.scroll-top{position:fixed;z-index:var(--z-index, 1000);display:flex;align-items:center;justify-content:center;padding:0;border:none;cursor:pointer;background:transparent !important;transition:all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);opacity:0;transform:scale(0);pointer-events:none}.scroll-top.scroll-top-strategy-absolute{position:absolute}.scroll-top.scroll-top-visible{opacity:1 !important;pointer-events:auto !important;transform:scale(1)}.scroll-top.scroll-top-visible.scroll-top-bottom-center,.scroll-top.scroll-top-visible.scroll-top-top-center{transform:translateX(-50%) scale(1) !important}.scroll-top.scroll-top-visible.scroll-top-center{transform:translate(-50%, -50%) scale(1) !important}.scroll-top.scroll-top-visible.scroll-top-center-left,.scroll-top.scroll-top-visible.scroll-top-center-right{transform:translateY(-50%) scale(1) !important}.scroll-top{font-family:inherit;font-weight:600;user-select:none;overflow:visible}.scroll-top.scroll-top-glassy{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%)}.scroll-top-visible{opacity:1 !important;visibility:visible !important}.scroll-top:hover{box-shadow:0 6px 20px rgba(0, 0, 0, 0.2);filter:brightness(1.1)}.scroll-top:active{transform:scale(0.92) !important}.scroll-top-shape-circle{border-radius:50%}.scroll-top-shape-square,.scroll-top-shape-sharp{border-radius:0}.scroll-top-shape-rounded{border-radius:12px}.scroll-top-shape-pill,.scroll-top-shape-oval{border-radius:999px}.scroll-top-shape-chip{border-radius:100px}.scroll-top-sm{width:40px;height:40px;font-size:14px}.scroll-top-md{width:50px;height:50px;font-size:16px}.scroll-top-lg{width:64px;height:64px;font-size:18px}.scroll-top-bottom-right{right:24px;bottom:24px}.scroll-top-bottom-left{left:24px;bottom:24px}.scroll-top-bottom-center{left:50%;bottom:24px;transform:translateX(-50%)}.scroll-top-top-center{top:24px;left:50%;transform:translateX(-50%)}.scroll-top-center-left{top:50%;left:24px;transform:translateY(-50%)}.scroll-top-center-right{top:50%;right:24px;transform:translateY(-50%)}.scroll-top-center{top:50%;left:50%;transform:translate(-50%, -50%)}.scroll-top-top-right{right:24px;top:24px}.scroll-top-top-left{left:24px;top:24px}.scroll-top-anim-scale{transform:scale(0.5)}.scroll-top-anim-scale.scroll-top-visible{transform:scale(1)}.scroll-top-bottom-center.scroll-top-anim-scale{transform:translateX(-50%) scale(0.5)}.scroll-top-bottom-center.scroll-top-anim-scale.scroll-top-visible{transform:translateX(-50%) scale(1)}.scroll-top-anim-fade{transform:none}.scroll-top-anim-slide.scroll-top-bottom-right{transform:translateY(40px)}.scroll-top-anim-slide.scroll-top-bottom-left{transform:translateY(40px)}.scroll-top-anim-slide.scroll-top-bottom-center{transform:translate(-50%, 40px)}.scroll-top-anim-slide.scroll-top-top-right{transform:translateY(-40px)}.scroll-top-anim-slide.scroll-top-top-left{transform:translateY(-40px)}.scroll-top-anim-slide.scroll-top-visible{transform:translate(0, 0) !important}.scroll-top-bottom-center.scroll-top-anim-slide.scroll-top-visible{transform:translate(-50%, 0) !important}.scroll-top-sm{width:40px;height:40px;min-width:40px}.scroll-top-md{width:56px;height:56px;min-width:56px}.scroll-top-lg{width:72px;height:72px;min-width:72px}.progress-ring{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;transform:rotate(-90deg)}.progress-ring__circle{transition:stroke-dashoffset 0.1s}.scroll-top-anchors{position:absolute;background:var(--bg-primary, #ffffff);border-radius:12px;box-shadow:0 10px 25px rgba(0, 0, 0, 0.2);width:200px;max-height:300px;overflow:hidden;display:flex;flex-direction:column;z-index:1000;border:1px solid rgba(0, 0, 0, 0.05);animation:scroll-top-menu-fade 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.scroll-top-glassy .scroll-top-anchors{background:rgba(255, 255, 255, 0.8);backdrop-filter:blur(16px)}.scroll-top-anchors-bottom-right{bottom:120%;right:0;transform-origin:bottom right}.scroll-top-anchors-bottom-left{bottom:120%;left:0;transform-origin:bottom left}.scroll-top-anchors-bottom-center{bottom:120%;left:50%;transform:translateX(-50%);transform-origin:bottom center}.scroll-top-anchors-top-right{top:120%;right:0;transform-origin:top right}.scroll-top-anchors-top-left{top:120%;left:0;transform-origin:top left}@keyframes scroll-top-menu-fade{from{opacity:0;transform:scale(0.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.scroll-top-anchors-header{padding:12px 16px;font-size:11px;font-weight:800;text-transform:uppercase;color:var(--text-muted, #6b7280);background:rgba(0, 0, 0, 0.02);border-bottom:1px solid rgba(0, 0, 0, 0.05);letter-spacing:0.1em}.scroll-top-anchors-list{overflow-y:auto;padding:4px}.scroll-top-anchor-item{width:100%;padding:10px 12px;text-align:left;background:transparent;border:none;border-radius:6px;font-size:13px;color:var(--text-secondary, #374151);cursor:pointer;transition:all 0.2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scroll-top-anchor-item:hover{background:rgba(0, 0, 0, 0.05);color:var(--text-primary, #111827)}.progress-value{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);font-size:10px;font-weight:700;z-index:3;opacity:0.8}.scroll-top-content{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px}.scroll-top-with-label{width:auto !important;min-width:50px;border-radius:30px !important}.scroll-top-label{font-size:0.85em;white-space:nowrap}.scroll-top-icon{display:flex;align-items:center;justify-content:center}:host([target]) .scroll-top{position:absolute}"}},[513,"ui-scroll-top",{mode:[1],threshold:[2],behavior:[1],position:[1],quickJump:[4,"quick-jump"],strategy:[1],icon:[1],label:[1],size:[1],color:[1],variant:[1],target:[1],showProgress:[4,"show-progress"],progressColor:[1,"progress-color"],showProgressValue:[4,"show-progress-value"],glassy:[4],magnetic:[4],magneticStrength:[2,"magnetic-strength"],magneticRadius:[2,"magnetic-radius"],autoHide:[4,"auto-hide"],persistenceId:[1,"persistence-id"],isDraggable:[4,"is-draggable"],autoHideHoldTime:[2,"auto-hide-hold-time"],shape:[1],iconLibrary:[1,"icon-library"],animation:[1],tooltip:[1],zIndex:[2,"z-index"],portal:[4],haptic:[4],skeleton:[4],loading:[4],textDirection:[1,"text-direction"],isVisible:[32],isUserScrolling:[32],scrollProgress:[32],dir:[32],pulse:[32],anchors:[32],isMenuOpen:[32],magneticTransform:[32],dragOffset:[32],isDragging:[32]},[[9,"mousemove","handleMouseMove"],[1,"mousedown","onMouseDown"]],{persistenceId:[{onPersistenceIdChange:0}],mode:[{handleModeChange:0}],textDirection:[{onTextDirectionChange:0}]}]),c=n,p=function(){"undefined"!=typeof customElements&&["ui-scroll-top","ui-badge","ui-button","ui-icon"].forEach((t=>{switch(t){case"ui-scroll-top":customElements.get(r(t))||customElements.define(r(t),n);break;case"ui-badge":customElements.get(r(t))||l();break;case"ui-button":customElements.get(r(t))||e();break;case"ui-icon":customElements.get(r(t))||a()}}))};export{c as UiScrollTop,p as defineCustomElement}
1
+ import{proxyCustomElement as t,HTMLElement as o,h as s,Host as i,transformTag as r}from"@stencil/core/internal/client";import{d as e}from"./badge.js";import{d as l}from"./button.js";import{d as a}from"./icon.js";import{d as n}from"./loader.js";const c=t(class extends o{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow()}get el(){return this}mode="top";threshold=300;behavior="smooth";position="bottom-right";quickJump=!1;strategy="fixed";icon="arrow-up";label;size="md";color="primary";variant="solid";target;showProgress=!1;progressColor;showProgressValue=!1;glassy=!1;magnetic=!1;magneticStrength=.3;magneticRadius=150;autoHide=!1;persistenceId;onPersistenceIdChange(){this.loadPersistedPosition()}isDraggable=!1;autoHideHoldTime=3e3;shape="rounded";iconLibrary="default";animation="scale";tooltip;zIndex=1e3;portal=!1;haptic=!1;skeleton=!1;loading=!1;textDirection="auto";isVisible=!1;isUserScrolling=!1;scrollProgress=0;dir="ltr";pulse=!1;anchors=[];isMenuOpen=!1;magneticTransform={x:0,y:0};dragOffset={x:0,y:0};isDragging=!1;targetElement;autoHideTimer;pulseTimer;dragStartPos={x:0,y:0};initialOffset={x:0,y:0};handleModeChange(){this.triggerPulse()}onTextDirectionChange(){this.updateDir()}componentWillLoad(){this.updateDir(),this.loadPersistedPosition(),this.computeScrollState(document.documentElement,window.pageYOffset??document.documentElement?.scrollTop??0)}componentDidLoad(){this.portal&&document.body&&this.el.parentNode!==document.body&&document.body.appendChild(this.el),this.initTarget()}componentDidUpdate(){this.targetElement||this.initTarget()}scanAnchors(){if(!this.quickJump)return;const t=Array.from(document.querySelectorAll("h1[id], h2[id], h3[id], h4[id], h5[id], h6[id], [data-ui-anchor]"));this.anchors=t.map((t=>({title:t.getAttribute("data-ui-anchor-title")||t.textContent.trim(),id:t.id||(t.hasAttribute("data-ui-anchor")?t.getAttribute("data-ui-anchor")??"":"")}))).filter((t=>!!t.id&&!!t.title))}loadPersistedPosition(){if(this.persistenceId&&this.isDraggable){const t=localStorage.getItem("ui-scroll-top-pos-"+this.persistenceId);if(t)try{this.dragOffset=JSON.parse(t)}catch(t){console.error("Failed to load ScrollTop position",t)}}}savePersistedPosition(){this.persistenceId&&this.isDraggable&&localStorage.setItem("ui-scroll-top-pos-"+this.persistenceId,JSON.stringify(this.dragOffset))}triggerPulse(){this.pulse=!0,this.pulseTimer&&clearTimeout(this.pulseTimer),this.pulseTimer=setTimeout((()=>this.pulse=!1),600)}updateDir(){if("rtl"===this.textDirection)this.dir="rtl";else if("ltr"===this.textDirection)this.dir="ltr";else{const t=getComputedStyle(this.el).direction;this.dir="rtl"===t?"rtl":"ltr"}}initTarget(){if(this.targetElement=this.target?document.querySelector(this.target):window,this.targetElement){this.targetElement.addEventListener("scroll",this.handleScroll);const t=this.targetElement instanceof Window?document.documentElement:this.targetElement,o=this.targetElement instanceof Window?window.pageYOffset||document.documentElement.scrollTop:this.targetElement.scrollTop;this.computeScrollState(t,o)}}computeScrollState(t,o){if(this.isVisible="top"===this.mode?o>this.threshold:"bottom"===this.mode?o<t.scrollHeight-t.clientHeight-this.threshold:!(o<this.threshold&&o>t.scrollHeight-t.clientHeight-this.threshold),this.showProgress){const s=t.scrollHeight-t.clientHeight;s>0&&(this.scrollProgress=Math.min(100,Math.max(0,o/s*100)))}}disconnectedCallback(){this.targetElement&&this.targetElement.removeEventListener("scroll",this.handleScroll),this.clearAutoHideTimer(),this.clearPulseTimer()}clearPulseTimer(){this.pulseTimer&&(clearTimeout(this.pulseTimer),this.pulseTimer=null)}clearAutoHideTimer(){this.autoHideTimer&&(clearTimeout(this.autoHideTimer),this.autoHideTimer=null)}handleScroll=()=>{const t=this.targetElement instanceof Window?document.documentElement:this.targetElement,o=this.targetElement instanceof Window?window.pageYOffset||document.documentElement.scrollTop:this.targetElement.scrollTop,s=this.isVisible;this.computeScrollState(t,o),this.autoHide&&this.isVisible?(this.isUserScrolling=!0,this.clearAutoHideTimer(),this.autoHideTimer=setTimeout((()=>{this.isUserScrolling=!1}),this.autoHideHoldTime)):this.autoHide||(this.isUserScrolling=!0),!s&&this.isVisible&&this.haptic&&"vibrate"in navigator&&navigator.vibrate(30)};handleAction=()=>{if(this.haptic&&"vibrate"in navigator&&navigator.vibrate(50),this.targetElement instanceof Window){let t=0;"bottom"===this.mode?t=document.documentElement.scrollHeight:"both"===this.mode&&(t=(window.pageYOffset||document.documentElement.scrollTop)>(document.documentElement.scrollHeight-document.documentElement.clientHeight)/2?0:document.documentElement.scrollHeight),window.scrollTo({top:t,behavior:this.behavior})}else{const t=this.targetElement;let o=0;"bottom"===this.mode?o=t.scrollHeight:"both"===this.mode&&(o=t.scrollTop>(t.scrollHeight-t.clientHeight)/2?0:t.scrollHeight),t.scrollTo({top:o,behavior:this.behavior})}};handleMouseMove(t){if(!this.magnetic||!this.isVisible)return;const o=this.el.getBoundingClientRect(),s=t.clientX-(o.left+o.width/2),i=t.clientY-(o.top+o.height/2),r=Math.sqrt(s*s+i*i);if(r<this.magneticRadius){const t=1-r/this.magneticRadius;this.magneticTransform={x:s*this.magneticStrength*t,y:i*this.magneticStrength*t}}else 0===this.magneticTransform.x&&0===this.magneticTransform.y||(this.magneticTransform={x:0,y:0})}handleContextMenu=t=>{this.quickJump&&(t.preventDefault(),this.scanAnchors(),this.isMenuOpen=!this.isMenuOpen)};jumpTo=t=>{const o=document.getElementById(t);o&&o.scrollIntoView({behavior:"smooth"}),this.isMenuOpen=!1};onMouseDown(t){this.isDraggable&&(this.isDragging=!0,this.dragStartPos={x:t.clientX,y:t.clientY},this.initialOffset={...this.dragOffset},this.isMenuOpen=!1,document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp))}onMouseMove=t=>{this.isDragging&&(this.dragOffset={x:this.initialOffset.x+(t.clientX-this.dragStartPos.x),y:this.initialOffset.y+(t.clientY-this.dragStartPos.y)})};onMouseUp=()=>{this.isDragging=!1,document.removeEventListener("mousemove",this.onMouseMove),document.removeEventListener("mouseup",this.onMouseUp),this.savePersistedPosition()};render(){if(this.skeleton)return s(i,{class:`scroll-top-skeleton scroll-top-${this.position} scroll-top-${this.size}`},s("div",{class:"skeleton-btn"}));const t=this.isVisible&&(!this.autoHide||this.isUserScrolling),o=2*Math.PI*22,r=o-this.scrollProgress/100*o;return s(i,{style:this.portal?{display:"contents"}:{}},s("ui-button",{variant:"solid"===this.variant?"primary":this.variant,class:{"scroll-top":!0,["scroll-top-"+this.position]:!0,["scroll-top-"+this.size]:!0,["scroll-top-"+this.color]:!0,["scroll-top-variant-"+this.variant]:!0,["scroll-top-shape-"+this.shape]:!0,["scroll-top-anim-"+this.animation]:!0,"scroll-top-visible":t,"scroll-top-active":this.isUserScrolling,"scroll-top-with-label":!!this.label,"scroll-top-loading":this.loading,"scroll-top-pulse":this.pulse,"scroll-top-glassy":this.glassy,"scroll-top-rtl":"rtl"===this.dir,"scroll-top-strategy-absolute":"absolute"===this.strategy},style:{"--z-index":""+this.zIndex,"--magnetic-x":this.magneticTransform.x+"px","--magnetic-y":this.magneticTransform.y+"px","--drag-x":this.dragOffset.x+"px","--drag-y":this.dragOffset.y+"px",transform:"translate(calc(var(--magnetic-x, 0px) + var(--drag-x, 0px)), calc(var(--magnetic-y, 0px) + var(--drag-y, 0px)))",transition:0!==this.magneticTransform.x||this.isDragging?"none":"transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)","pointer-events":t?"auto":"none",cursor:this.isDraggable?this.isDragging?"grabbing":"grab":"pointer"},onClick:()=>this.handleAction(),onKeyDown:t=>"Enter"===t.key&&this.handleAction(),onContextMenu:this.handleContextMenu,disabled:!t,ariaLabel:"top"===this.mode?"Scroll to top":"Scroll to bottom","aria-haspopup":this.quickJump?"true":"false","aria-expanded":this.isMenuOpen?"true":"false",title:this.quickJump?"Right-click for sections":this.tooltip||("top"===this.mode?"Top":"Bottom"),icon:this.loading?"loading":"top"===this.mode?this.icon:"bottom"===this.mode?"arrow-up"===this.icon?"arrow-down":this.icon:this.scrollProgress>50?"arrow-up"===this.icon?"arrow-up":this.icon:"arrow-up"===this.icon?"arrow-down":this.icon,iconLibrary:this.iconLibrary,loading:this.loading,label:this.label},this.showProgress&&s("svg",{class:"progress-ring",width:"100%",height:"100%",viewBox:"0 0 60 60",slot:"start"},s("circle",{class:"progress-ring__background",stroke:"rgba(255,255,255,0.1)","stroke-width":"3",fill:"transparent",r:22,cx:"30",cy:"30"}),s("circle",{class:"progress-ring__circle",stroke:this.progressColor||"currentColor","stroke-width":"3","stroke-dasharray":`${o} ${o}`,style:{strokeDashoffset:""+r},"stroke-linecap":"round",fill:"transparent",r:22,cx:"30",cy:"30"})),this.showProgress&&this.showProgressValue&&s("span",{class:"progress-value",slot:"start"},Math.round(this.scrollProgress),"%"),this.isMenuOpen&&s("div",{class:"scroll-top-anchors scroll-top-anchors-"+this.position,slot:"end"},s("div",{class:"scroll-top-anchors-header"},"Quick Jump"),s("div",{class:"scroll-top-anchors-list"},this.anchors.map((t=>s("ui-button",{key:t.id,variant:"ghost",class:"scroll-top-anchor-item",onClick:o=>{o.stopPropagation(),this.jumpTo(t.id)},label:t.title,block:!0})))))))}static get watchers(){return{persistenceId:[{onPersistenceIdChange:0}],mode:[{handleModeChange:0}],textDirection:[{onTextDirectionChange:0}]}}static get style(){return".sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:contents;--z-index:1000}.scroll-top{position:fixed;z-index:var(--z-index, 1000);display:flex;align-items:center;justify-content:center;padding:0;border:none;cursor:pointer;background:transparent !important;transition:all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);opacity:0;transform:scale(0);pointer-events:none}.scroll-top.scroll-top-strategy-absolute{position:absolute}.scroll-top.scroll-top-visible{opacity:1 !important;pointer-events:auto !important;transform:scale(1)}.scroll-top.scroll-top-visible.scroll-top-bottom-center,.scroll-top.scroll-top-visible.scroll-top-top-center{transform:translateX(-50%) scale(1) !important}.scroll-top.scroll-top-visible.scroll-top-center{transform:translate(-50%, -50%) scale(1) !important}.scroll-top.scroll-top-visible.scroll-top-center-left,.scroll-top.scroll-top-visible.scroll-top-center-right{transform:translateY(-50%) scale(1) !important}.scroll-top{font-family:inherit;font-weight:600;user-select:none;overflow:visible}.scroll-top.scroll-top-glassy{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%)}.scroll-top-visible{opacity:1 !important;visibility:visible !important}.scroll-top:hover{box-shadow:0 6px 20px rgba(0, 0, 0, 0.2);filter:brightness(1.1)}.scroll-top:active{transform:scale(0.92) !important}.scroll-top-shape-circle{border-radius:50%}.scroll-top-shape-square,.scroll-top-shape-sharp{border-radius:0}.scroll-top-shape-rounded{border-radius:12px}.scroll-top-shape-pill,.scroll-top-shape-oval{border-radius:999px}.scroll-top-shape-chip{border-radius:100px}.scroll-top-sm{width:40px;height:40px;font-size:14px}.scroll-top-md{width:50px;height:50px;font-size:16px}.scroll-top-lg{width:64px;height:64px;font-size:18px}.scroll-top-bottom-right{right:24px;bottom:24px}.scroll-top-bottom-left{left:24px;bottom:24px}.scroll-top-bottom-center{left:50%;bottom:24px;transform:translateX(-50%)}.scroll-top-top-center{top:24px;left:50%;transform:translateX(-50%)}.scroll-top-center-left{top:50%;left:24px;transform:translateY(-50%)}.scroll-top-center-right{top:50%;right:24px;transform:translateY(-50%)}.scroll-top-center{top:50%;left:50%;transform:translate(-50%, -50%)}.scroll-top-top-right{right:24px;top:24px}.scroll-top-top-left{left:24px;top:24px}.scroll-top-anim-scale{transform:scale(0.5)}.scroll-top-anim-scale.scroll-top-visible{transform:scale(1)}.scroll-top-bottom-center.scroll-top-anim-scale{transform:translateX(-50%) scale(0.5)}.scroll-top-bottom-center.scroll-top-anim-scale.scroll-top-visible{transform:translateX(-50%) scale(1)}.scroll-top-anim-fade{transform:none}.scroll-top-anim-slide.scroll-top-bottom-right{transform:translateY(40px)}.scroll-top-anim-slide.scroll-top-bottom-left{transform:translateY(40px)}.scroll-top-anim-slide.scroll-top-bottom-center{transform:translate(-50%, 40px)}.scroll-top-anim-slide.scroll-top-top-right{transform:translateY(-40px)}.scroll-top-anim-slide.scroll-top-top-left{transform:translateY(-40px)}.scroll-top-anim-slide.scroll-top-visible{transform:translate(0, 0) !important}.scroll-top-bottom-center.scroll-top-anim-slide.scroll-top-visible{transform:translate(-50%, 0) !important}.scroll-top-sm{width:40px;height:40px;min-width:40px}.scroll-top-md{width:56px;height:56px;min-width:56px}.scroll-top-lg{width:72px;height:72px;min-width:72px}.progress-ring{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;transform:rotate(-90deg)}.progress-ring__circle{transition:stroke-dashoffset 0.1s}.scroll-top-anchors{position:absolute;background:var(--bg-primary, #ffffff);border-radius:12px;box-shadow:0 10px 25px rgba(0, 0, 0, 0.2);width:200px;max-height:300px;overflow:hidden;display:flex;flex-direction:column;z-index:1000;border:1px solid rgba(0, 0, 0, 0.05);animation:scroll-top-menu-fade 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.scroll-top-glassy .scroll-top-anchors{background:rgba(255, 255, 255, 0.8);backdrop-filter:blur(16px)}.scroll-top-anchors-bottom-right{bottom:120%;right:0;transform-origin:bottom right}.scroll-top-anchors-bottom-left{bottom:120%;left:0;transform-origin:bottom left}.scroll-top-anchors-bottom-center{bottom:120%;left:50%;transform:translateX(-50%);transform-origin:bottom center}.scroll-top-anchors-top-right{top:120%;right:0;transform-origin:top right}.scroll-top-anchors-top-left{top:120%;left:0;transform-origin:top left}@keyframes scroll-top-menu-fade{from{opacity:0;transform:scale(0.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.scroll-top-anchors-header{padding:12px 16px;font-size:11px;font-weight:800;text-transform:uppercase;color:var(--text-muted, #6b7280);background:rgba(0, 0, 0, 0.02);border-bottom:1px solid rgba(0, 0, 0, 0.05);letter-spacing:0.1em}.scroll-top-anchors-list{overflow-y:auto;padding:4px}.scroll-top-anchor-item{width:100%;padding:10px 12px;text-align:left;background:transparent;border:none;border-radius:6px;font-size:13px;color:var(--text-secondary, #374151);cursor:pointer;transition:all 0.2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scroll-top-anchor-item:hover{background:rgba(0, 0, 0, 0.05);color:var(--text-primary, #111827)}.progress-value{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);font-size:10px;font-weight:700;z-index:3;opacity:0.8}.scroll-top-content{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px}.scroll-top-with-label{width:auto !important;min-width:50px;border-radius:30px !important}.scroll-top-label{font-size:0.85em;white-space:nowrap}.scroll-top-icon{display:flex;align-items:center;justify-content:center}:host([target]) .scroll-top{position:absolute}"}},[513,"ui-scroll-top",{mode:[1],threshold:[2],behavior:[1],position:[1],quickJump:[4,"quick-jump"],strategy:[1],icon:[1],label:[1],size:[1],color:[1],variant:[1],target:[1],showProgress:[4,"show-progress"],progressColor:[1,"progress-color"],showProgressValue:[4,"show-progress-value"],glassy:[4],magnetic:[4],magneticStrength:[2,"magnetic-strength"],magneticRadius:[2,"magnetic-radius"],autoHide:[4,"auto-hide"],persistenceId:[1,"persistence-id"],isDraggable:[4,"is-draggable"],autoHideHoldTime:[2,"auto-hide-hold-time"],shape:[1],iconLibrary:[1,"icon-library"],animation:[1],tooltip:[1],zIndex:[2,"z-index"],portal:[4],haptic:[4],skeleton:[4],loading:[4],textDirection:[1,"text-direction"],isVisible:[32],isUserScrolling:[32],scrollProgress:[32],dir:[32],pulse:[32],anchors:[32],isMenuOpen:[32],magneticTransform:[32],dragOffset:[32],isDragging:[32]},[[9,"mousemove","handleMouseMove"],[1,"mousedown","onMouseDown"]],{persistenceId:[{onPersistenceIdChange:0}],mode:[{handleModeChange:0}],textDirection:[{onTextDirectionChange:0}]}]),p=c,h=function(){"undefined"!=typeof customElements&&["ui-scroll-top","ui-badge","ui-button","ui-icon","ui-loader"].forEach((t=>{switch(t){case"ui-scroll-top":customElements.get(r(t))||customElements.define(r(t),c);break;case"ui-badge":customElements.get(r(t))||e();break;case"ui-button":customElements.get(r(t))||l();break;case"ui-icon":customElements.get(r(t))||a();break;case"ui-loader":customElements.get(r(t))||n()}}))};export{p as UiScrollTop,h as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as s,transformTag as n}from"@stencil/core/internal/client";import{d as o}from"./icon.js";const a=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.menuItemClick=i(this,"menuItemClick",7)}items=[];target;menuItemClick;visible=!1;position={x:0,y:0};activeSubmenus={};submenuPositions={};parsedItems=[];submenuOpenTimeouts={};submenuCloseTimeouts={};menuRef;targetElement=null;contextMenuHandler;targetRetryCount=0;maxTargetRetries=10;targetRetryDelay=100;handleItemsChange(t){this.parseItems(t)}componentWillLoad(){this.parseItems(this.items)}componentDidLoad(){if(this.attachContextMenuHandler(),this.target){const t=new MutationObserver((()=>{this.attachContextMenuHandler()}));t.observe(document.body,{childList:!0,subtree:!0}),this._targetObserver=t}}parseItems(t){if("string"==typeof t)try{this.parsedItems=JSON.parse(t)}catch{this.parsedItems=[]}else this.parsedItems=t||[]}attachContextMenuHandler(){if(!this.target)return void(this.contextMenuHandler||(this.contextMenuHandler=t=>{t.preventDefault(),t.stopPropagation(),this.show(t.clientX,t.clientY)},document.addEventListener("contextmenu",this.contextMenuHandler)));const t=document.querySelector(this.target);t!==this.targetElement&&(this.targetElement&&this.contextMenuHandler&&this.targetElement.removeEventListener("contextmenu",this.contextMenuHandler),this.targetElement=t),this.targetElement?(this.contextMenuHandler||(this.contextMenuHandler=t=>{t.preventDefault(),t.stopPropagation(),this.show(t.clientX,t.clientY)}),this.targetElement.addEventListener("contextmenu",this.contextMenuHandler),this.targetRetryCount=0):this.targetRetryCount<this.maxTargetRetries&&(this.targetRetryCount++,setTimeout((()=>this.attachContextMenuHandler()),this.targetRetryDelay))}disconnectedCallback(){this.targetElement&&this.contextMenuHandler&&this.targetElement.removeEventListener("contextmenu",this.contextMenuHandler),this._targetObserver&&this._targetObserver.disconnect(),!this.target&&this.contextMenuHandler&&document.removeEventListener("contextmenu",this.contextMenuHandler)}handleClickOutside(){this.visible&&this.hide()}handleResize(){this.visible&&this.hide()}async show(t,e){this.visible=!0,this.activeSubmenus={},this.submenuPositions={},setTimeout((()=>{this.position=this.calculatePosition(t,e,this.menuRef)}),0)}async hide(){this.visible=!1,this.activeSubmenus={},this.submenuPositions={}}calculatePosition(t,e,i){if(!i)return{x:t,y:e};const s=i.getBoundingClientRect(),n=window.innerWidth,o=window.innerHeight;let a=t,r=e;return t+s.width>n&&(a=n-s.width-5),e+s.height>o&&(r=o-s.height-5),{x:Math.max(5,a),y:Math.max(5,r)}}handleItemClick(t,e){e.stopPropagation(),t.disabled||t.divider||t.submenu&&t.submenu.length>0||(t.action&&t.action(),this.menuItemClick.emit({label:t.label,item:t}),this.hide())}handleItemHover(t,e,i,s=""){const n=s?`${s}-${e}`:""+e,o=n.split("-").length-1;if(Object.keys(this.submenuOpenTimeouts).forEach((t=>{t.split("-").length-1===o&&t!==n&&(clearTimeout(this.submenuOpenTimeouts[t]),delete this.submenuOpenTimeouts[t],this.activeSubmenus[t]=!1)})),t.submenu&&t.submenu.length>0&&!t.disabled)this.submenuOpenTimeouts[n]&&clearTimeout(this.submenuOpenTimeouts[n]),this.submenuCloseTimeouts[n]&&clearTimeout(this.submenuCloseTimeouts[n]),this.submenuOpenTimeouts[n]=window.setTimeout((()=>{this.activeSubmenus={...this.activeSubmenus,[n]:!0},setTimeout((()=>{const t=this.hostElement?.shadowRoot?.querySelector(".submenu-"+n);if(t){const e=i.currentTarget.getBoundingClientRect(),s=t.getBoundingClientRect(),o=window.innerWidth,a=window.innerHeight;let r=e.right,h=e.top,u="right",c="down";r+s.width>o&&(r=e.left-s.width,u="left"),h+s.height>a&&(h=Math.max(5,a-s.height-5),h<e.top&&(c="up")),r=Math.max(5,Math.min(r,o-s.width-5)),h=Math.max(5,Math.min(h,a-s.height-5)),this.submenuPositions={...this.submenuPositions,[n]:{x:r,y:h,direction:u,vertical:c}}}}),0)}),120);else{Object.keys(this.submenuOpenTimeouts).forEach((t=>{t.startsWith(n)||n.startsWith(t)||(clearTimeout(this.submenuOpenTimeouts[t]),delete this.submenuOpenTimeouts[t],this.activeSubmenus[t]=!1)})),Object.keys(this.submenuCloseTimeouts).forEach((t=>{t.startsWith(n)||n.startsWith(t)||(clearTimeout(this.submenuCloseTimeouts[t]),delete this.submenuCloseTimeouts[t])}));const t={},e={};Object.keys(this.activeSubmenus).forEach((i=>{(i.startsWith(n)||n.startsWith(i))&&(t[i]=this.activeSubmenus[i],this.submenuPositions[i]&&(e[i]=this.submenuPositions[i]))})),this.activeSubmenus=t,this.submenuPositions=e}}handleSubmenuClick(t,e){e.stopPropagation(),t.disabled||t.divider||(t.action&&t.action(),this.hide())}iconLibrary="default";renderMenuItem(t,e){if(t.divider)return s("div",{class:"menu-divider"});const i=t.submenu&&t.submenu.length>0,n=""+e;return s("div",{class:{"menu-item":!0,disabled:t.disabled,"has-submenu":i,active:this.activeSubmenus[n]},"data-path":n,onClick:e=>this.handleItemClick(t,e),onMouseEnter:i=>this.handleItemHover(t,e,i),onMouseLeave:()=>{setTimeout((()=>{const t=this.hostElement?.shadowRoot?.querySelector(".submenu-"+n);t&&t.matches(":hover")||(this.activeSubmenus[n]=!1,this.submenuPositions[n]=void 0)}),150)}},t.icon&&s("span",{class:"menu-icon"},s("ui-icon",{name:t.icon,library:this.iconLibrary,size:"16px"})),s("div",{class:"menu-label-container"},s("span",{class:"menu-label"},t.label),t.description&&s("span",{class:"menu-description"},t.description)),i&&s("span",{class:"submenu-arrow"},s("ui-icon",{name:"chevron-right",library:"lucide",size:"14px"})))}renderSubmenu(t,e,i=1){const n=this.submenuPositions[e];return!n||i>4?null:s("div",{class:`context-menu submenu submenu-${e} submenu-${n.direction} submenu-${n.vertical}`,style:{left:n.x+"px",top:n.y+"px",zIndex:""+(1e4+i)},onMouseEnter:()=>{this.submenuCloseTimeouts[e]&&(clearTimeout(this.submenuCloseTimeouts[e]),delete this.submenuCloseTimeouts[e]),this.activeSubmenus[e]=!0},onMouseLeave:()=>{this.submenuOpenTimeouts[e]&&(clearTimeout(this.submenuOpenTimeouts[e]),delete this.submenuOpenTimeouts[e]),this.submenuCloseTimeouts[e]=window.setTimeout((()=>{this.activeSubmenus[e]=!1}),200)}},t.map(((t,i)=>{if(t.divider)return s("div",{class:"menu-divider"});const o=t.submenu&&t.submenu.length>0,a=`${e}-${i}`;return s("div",{class:{"menu-item":!0,disabled:t.disabled,"has-submenu":o,active:this.activeSubmenus[a]},onClick:e=>this.handleItemClick(t,e),onMouseEnter:s=>this.handleItemHover(t,i,s,e),onMouseLeave:()=>{this.submenuOpenTimeouts[a]&&(clearTimeout(this.submenuOpenTimeouts[a]),delete this.submenuOpenTimeouts[a]),this.submenuCloseTimeouts[a]=window.setTimeout((()=>{this.activeSubmenus[a]=!1}),200)}},t.icon&&s("span",{class:"menu-icon"},s("ui-icon",{name:t.icon,library:this.iconLibrary,size:"16px"})),s("div",{class:"menu-label-container"},s("span",{class:"menu-label"},t.label),t.description&&s("span",{class:"menu-description"},t.description)),o&&s("span",{class:"submenu-arrow"},s("ui-icon",{name:"left"===n.direction?"chevron-left":"chevron-right",library:"lucide",size:"14px"})))})),Object.keys(this.activeSubmenus).map((t=>{if(t.startsWith(e+"-")){const e=this.getItemsByPath(t);if(e&&e.length>0)return this.renderSubmenu(e,t,i+1)}return null})))}getItemsByPath(t){const e=t.split("-").map((t=>parseInt(t)));let i=this.parsedItems;for(let t=0;t<e.length;t++){const s=e[t];if(!(i&&i[s]&&i[s].submenu))return null;i=i[s].submenu}return i}get hostElement(){return this}render(){return this.visible?s("div",{id:"smart-menu-host"},s("div",{class:"context-menu",ref:t=>this.menuRef=t,style:{left:this.position.x+"px",top:this.position.y+"px"},onClick:t=>t.stopPropagation()},this.parsedItems.map(((t,e)=>this.renderMenuItem(t,e)))),Object.keys(this.activeSubmenus).map((t=>{if(this.activeSubmenus[t]){const e=this.getItemsByPath(t);if(e&&e.length>0){const i=t.split("-").length+1;return this.renderSubmenu(e,t,i)}}return null}))):null}static get watchers(){return{items:[{handleItemsChange:0}]}}static get style(){return'.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}.context-menu{position:fixed;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);backdrop-filter:blur(10px);border-radius:12px;padding:6px;min-width:220px;box-shadow:0 10px 40px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;z-index:10000;animation:menuFadeIn 0.15s ease-out;user-select:none}.context-menu.submenu{background:linear-gradient(135deg, #f093fb 0%, #f5576c 100%)}@keyframes menuFadeIn{from{opacity:0;transform:scale(0.95) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.menu-item{display:flex;align-items:center;padding:10px 14px;cursor:pointer;border-radius:8px;color:white;font-size:14px;font-weight:500;transition:all 0.15s ease;position:relative;gap:10px}.menu-item:hover:not(.disabled){background:rgba(255, 255, 255, 0.2);transform:translateX(2px)}.menu-item.active{background:rgba(255, 255, 255, 0.25)}.menu-item.disabled{opacity:0.4;cursor:not-allowed}.menu-icon{font-size:16px;width:20px;display:flex;align-items:center;justify-content:center}.menu-label-container{flex:1;display:flex;flex-direction:column}.menu-label{white-space:nowrap}.menu-description{font-size:11px;opacity:0.7;font-weight:normal;margin-top:1px}.submenu-arrow{font-size:10px;opacity:0.8;margin-left:auto}.menu-divider{height:1px;background:rgba(255, 255, 255, 0.2);margin:6px 8px}'}},[513,"ui-smart-context-menu",{items:[1025],target:[1],iconLibrary:[1,"icon-library"],visible:[32],position:[32],activeSubmenus:[32],submenuPositions:[32],parsedItems:[32],show:[64],hide:[64]},[[8,"click","handleClickOutside"],[9,"resize","handleResize"]],{items:[{handleItemsChange:0}]}]),r=a,h=function(){"undefined"!=typeof customElements&&["ui-smart-context-menu","ui-icon"].forEach((t=>{switch(t){case"ui-smart-context-menu":customElements.get(n(t))||customElements.define(n(t),a);break;case"ui-icon":customElements.get(n(t))||o()}}))};export{r as UiSmartContextMenu,h as defineCustomElement}
1
+ import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as s,transformTag as n}from"@stencil/core/internal/client";import{d as o}from"./icon.js";import{d as a}from"./loader.js";const r=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.menuItemClick=i(this,"menuItemClick",7)}items=[];target;menuItemClick;visible=!1;position={x:0,y:0};activeSubmenus={};submenuPositions={};parsedItems=[];submenuOpenTimeouts={};submenuCloseTimeouts={};menuRef;targetElement=null;contextMenuHandler;targetRetryCount=0;maxTargetRetries=10;targetRetryDelay=100;handleItemsChange(t){this.parseItems(t)}componentWillLoad(){this.parseItems(this.items)}componentDidLoad(){if(this.attachContextMenuHandler(),this.target){const t=new MutationObserver((()=>{this.attachContextMenuHandler()}));t.observe(document.body,{childList:!0,subtree:!0}),this._targetObserver=t}}parseItems(t){if("string"==typeof t)try{this.parsedItems=JSON.parse(t)}catch{this.parsedItems=[]}else this.parsedItems=t||[]}attachContextMenuHandler(){if(!this.target)return void(this.contextMenuHandler||(this.contextMenuHandler=t=>{t.preventDefault(),t.stopPropagation(),this.show(t.clientX,t.clientY)},document.addEventListener("contextmenu",this.contextMenuHandler)));const t=document.querySelector(this.target);t!==this.targetElement&&(this.targetElement&&this.contextMenuHandler&&this.targetElement.removeEventListener("contextmenu",this.contextMenuHandler),this.targetElement=t),this.targetElement?(this.contextMenuHandler||(this.contextMenuHandler=t=>{t.preventDefault(),t.stopPropagation(),this.show(t.clientX,t.clientY)}),this.targetElement.addEventListener("contextmenu",this.contextMenuHandler),this.targetRetryCount=0):this.targetRetryCount<this.maxTargetRetries&&(this.targetRetryCount++,setTimeout((()=>this.attachContextMenuHandler()),this.targetRetryDelay))}disconnectedCallback(){this.targetElement&&this.contextMenuHandler&&this.targetElement.removeEventListener("contextmenu",this.contextMenuHandler),this._targetObserver&&this._targetObserver.disconnect(),!this.target&&this.contextMenuHandler&&document.removeEventListener("contextmenu",this.contextMenuHandler)}handleClickOutside(){this.visible&&this.hide()}handleResize(){this.visible&&this.hide()}async show(t,e){this.visible=!0,this.activeSubmenus={},this.submenuPositions={},setTimeout((()=>{this.position=this.calculatePosition(t,e,this.menuRef)}),0)}async hide(){this.visible=!1,this.activeSubmenus={},this.submenuPositions={}}calculatePosition(t,e,i){if(!i)return{x:t,y:e};const s=i.getBoundingClientRect(),n=window.innerWidth,o=window.innerHeight;let a=t,r=e;return t+s.width>n&&(a=n-s.width-5),e+s.height>o&&(r=o-s.height-5),{x:Math.max(5,a),y:Math.max(5,r)}}handleItemClick(t,e){e.stopPropagation(),t.disabled||t.divider||t.submenu&&t.submenu.length>0||(t.action&&t.action(),this.menuItemClick.emit({label:t.label,item:t}),this.hide())}handleItemHover(t,e,i,s=""){const n=s?`${s}-${e}`:""+e,o=n.split("-").length-1;if(Object.keys(this.submenuOpenTimeouts).forEach((t=>{t.split("-").length-1===o&&t!==n&&(clearTimeout(this.submenuOpenTimeouts[t]),delete this.submenuOpenTimeouts[t],this.activeSubmenus[t]=!1)})),t.submenu&&t.submenu.length>0&&!t.disabled)this.submenuOpenTimeouts[n]&&clearTimeout(this.submenuOpenTimeouts[n]),this.submenuCloseTimeouts[n]&&clearTimeout(this.submenuCloseTimeouts[n]),this.submenuOpenTimeouts[n]=window.setTimeout((()=>{this.activeSubmenus={...this.activeSubmenus,[n]:!0},setTimeout((()=>{const t=this.hostElement?.shadowRoot?.querySelector(".submenu-"+n);if(t){const e=i.currentTarget.getBoundingClientRect(),s=t.getBoundingClientRect(),o=window.innerWidth,a=window.innerHeight;let r=e.right,h=e.top,u="right",l="down";r+s.width>o&&(r=e.left-s.width,u="left"),h+s.height>a&&(h=Math.max(5,a-s.height-5),h<e.top&&(l="up")),r=Math.max(5,Math.min(r,o-s.width-5)),h=Math.max(5,Math.min(h,a-s.height-5)),this.submenuPositions={...this.submenuPositions,[n]:{x:r,y:h,direction:u,vertical:l}}}}),0)}),120);else{Object.keys(this.submenuOpenTimeouts).forEach((t=>{t.startsWith(n)||n.startsWith(t)||(clearTimeout(this.submenuOpenTimeouts[t]),delete this.submenuOpenTimeouts[t],this.activeSubmenus[t]=!1)})),Object.keys(this.submenuCloseTimeouts).forEach((t=>{t.startsWith(n)||n.startsWith(t)||(clearTimeout(this.submenuCloseTimeouts[t]),delete this.submenuCloseTimeouts[t])}));const t={},e={};Object.keys(this.activeSubmenus).forEach((i=>{(i.startsWith(n)||n.startsWith(i))&&(t[i]=this.activeSubmenus[i],this.submenuPositions[i]&&(e[i]=this.submenuPositions[i]))})),this.activeSubmenus=t,this.submenuPositions=e}}handleSubmenuClick(t,e){e.stopPropagation(),t.disabled||t.divider||(t.action&&t.action(),this.hide())}iconLibrary="default";renderMenuItem(t,e){if(t.divider)return s("div",{class:"menu-divider"});const i=t.submenu&&t.submenu.length>0,n=""+e;return s("div",{class:{"menu-item":!0,disabled:t.disabled,"has-submenu":i,active:this.activeSubmenus[n]},"data-path":n,onClick:e=>this.handleItemClick(t,e),onMouseEnter:i=>this.handleItemHover(t,e,i),onMouseLeave:()=>{setTimeout((()=>{const t=this.hostElement?.shadowRoot?.querySelector(".submenu-"+n);t&&t.matches(":hover")||(this.activeSubmenus[n]=!1,this.submenuPositions[n]=void 0)}),150)}},t.icon&&s("span",{class:"menu-icon"},s("ui-icon",{name:t.icon,library:this.iconLibrary,size:"16px"})),s("div",{class:"menu-label-container"},s("span",{class:"menu-label"},t.label),t.description&&s("span",{class:"menu-description"},t.description)),i&&s("span",{class:"submenu-arrow"},s("ui-icon",{name:"chevron-right",library:"lucide",size:"14px"})))}renderSubmenu(t,e,i=1){const n=this.submenuPositions[e];return!n||i>4?null:s("div",{class:`context-menu submenu submenu-${e} submenu-${n.direction} submenu-${n.vertical}`,style:{left:n.x+"px",top:n.y+"px",zIndex:""+(1e4+i)},onMouseEnter:()=>{this.submenuCloseTimeouts[e]&&(clearTimeout(this.submenuCloseTimeouts[e]),delete this.submenuCloseTimeouts[e]),this.activeSubmenus[e]=!0},onMouseLeave:()=>{this.submenuOpenTimeouts[e]&&(clearTimeout(this.submenuOpenTimeouts[e]),delete this.submenuOpenTimeouts[e]),this.submenuCloseTimeouts[e]=window.setTimeout((()=>{this.activeSubmenus[e]=!1}),200)}},t.map(((t,i)=>{if(t.divider)return s("div",{class:"menu-divider"});const o=t.submenu&&t.submenu.length>0,a=`${e}-${i}`;return s("div",{class:{"menu-item":!0,disabled:t.disabled,"has-submenu":o,active:this.activeSubmenus[a]},onClick:e=>this.handleItemClick(t,e),onMouseEnter:s=>this.handleItemHover(t,i,s,e),onMouseLeave:()=>{this.submenuOpenTimeouts[a]&&(clearTimeout(this.submenuOpenTimeouts[a]),delete this.submenuOpenTimeouts[a]),this.submenuCloseTimeouts[a]=window.setTimeout((()=>{this.activeSubmenus[a]=!1}),200)}},t.icon&&s("span",{class:"menu-icon"},s("ui-icon",{name:t.icon,library:this.iconLibrary,size:"16px"})),s("div",{class:"menu-label-container"},s("span",{class:"menu-label"},t.label),t.description&&s("span",{class:"menu-description"},t.description)),o&&s("span",{class:"submenu-arrow"},s("ui-icon",{name:"left"===n.direction?"chevron-left":"chevron-right",library:"lucide",size:"14px"})))})),Object.keys(this.activeSubmenus).map((t=>{if(t.startsWith(e+"-")){const e=this.getItemsByPath(t);if(e&&e.length>0)return this.renderSubmenu(e,t,i+1)}return null})))}getItemsByPath(t){const e=t.split("-").map((t=>parseInt(t)));let i=this.parsedItems;for(let t=0;t<e.length;t++){const s=e[t];if(!(i&&i[s]&&i[s].submenu))return null;i=i[s].submenu}return i}get hostElement(){return this}render(){return this.visible?s("div",{id:"smart-menu-host"},s("div",{class:"context-menu",ref:t=>this.menuRef=t,style:{left:this.position.x+"px",top:this.position.y+"px"},onClick:t=>t.stopPropagation()},this.parsedItems.map(((t,e)=>this.renderMenuItem(t,e)))),Object.keys(this.activeSubmenus).map((t=>{if(this.activeSubmenus[t]){const e=this.getItemsByPath(t);if(e&&e.length>0){const i=t.split("-").length+1;return this.renderSubmenu(e,t,i)}}return null}))):null}static get watchers(){return{items:[{handleItemsChange:0}]}}static get style(){return'.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}.context-menu{position:fixed;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);backdrop-filter:blur(10px);border-radius:12px;padding:6px;min-width:220px;box-shadow:0 10px 40px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;z-index:10000;animation:menuFadeIn 0.15s ease-out;user-select:none}.context-menu.submenu{background:linear-gradient(135deg, #f093fb 0%, #f5576c 100%)}@keyframes menuFadeIn{from{opacity:0;transform:scale(0.95) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.menu-item{display:flex;align-items:center;padding:10px 14px;cursor:pointer;border-radius:8px;color:white;font-size:14px;font-weight:500;transition:all 0.15s ease;position:relative;gap:10px}.menu-item:hover:not(.disabled){background:rgba(255, 255, 255, 0.2);transform:translateX(2px)}.menu-item.active{background:rgba(255, 255, 255, 0.25)}.menu-item.disabled{opacity:0.4;cursor:not-allowed}.menu-icon{font-size:16px;width:20px;display:flex;align-items:center;justify-content:center}.menu-label-container{flex:1;display:flex;flex-direction:column}.menu-label{white-space:nowrap}.menu-description{font-size:11px;opacity:0.7;font-weight:normal;margin-top:1px}.submenu-arrow{font-size:10px;opacity:0.8;margin-left:auto}.menu-divider{height:1px;background:rgba(255, 255, 255, 0.2);margin:6px 8px}'}},[513,"ui-smart-context-menu",{items:[1025],target:[1],iconLibrary:[1,"icon-library"],visible:[32],position:[32],activeSubmenus:[32],submenuPositions:[32],parsedItems:[32],show:[64],hide:[64]},[[8,"click","handleClickOutside"],[9,"resize","handleResize"]],{items:[{handleItemsChange:0}]}]),h=r,u=function(){"undefined"!=typeof customElements&&["ui-smart-context-menu","ui-icon","ui-loader"].forEach((t=>{switch(t){case"ui-smart-context-menu":customElements.get(n(t))||customElements.define(n(t),r);break;case"ui-icon":customElements.get(n(t))||o();break;case"ui-loader":customElements.get(n(t))||a()}}))};export{h as UiSmartContextMenu,u as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as o,transformTag as r}from"@stencil/core/internal/client";const s=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.stepperChange=i(this,"stepperChange",7)}orientation="horizontal";size="md";activeStep=0;get host(){return this}stepperChange;async next(){const t=this.getStepsSync();return this.activeStep<t.length-1&&this.goTo(this.activeStep+1)}async prev(){return this.activeStep>0&&this.goTo(this.activeStep-1)}async goTo(t){const e=this.getStepsSync();return t>=0&&t<e.length&&(this.activeStep=t,this.updateStepVisibility(),this.stepperChange.emit({index:t,step:e[t]}),!0)}async getCurrentStep(){return this.getStepsSync()[this.activeStep]||null}async getSteps(){return this.getStepsSync()}getStepsSync(){return Array.from(this.host.querySelectorAll("smart-step"))}updateStepVisibility(){this.getStepsSync().forEach(((t,e)=>{const i=t.querySelector(".stepper-content");i&&(i.style.display=e===this.activeStep?"block":"none");const o=t.querySelector(".step-header");o&&(o.classList.remove("active","completed"),e===this.activeStep?o.classList.add("active"):e<this.activeStep&&o.classList.add("completed"))}))}handleStepClick=t=>{const e=t.target.closest("smart-step");if(e){const t=this.getStepsSync().indexOf(e);-1!==t&&this.goTo(t)}};componentDidLoad(){this.updateStepVisibility()}componentDidUpdate(){this.updateStepVisibility()}handleStepClickEvent(t){t.stopPropagation();const e=t.target,i=this.getStepsSync().indexOf(e);-1!==i&&this.goTo(i)}render(){return o("div",{key:"055f2373e201924afcb4c2038ff1bd6c0d096111",class:["smart-stepper-container","stepper-"+this.orientation,"stepper-"+this.size].join(" ")},o("div",{key:"f0f5dbbb155ba61648a4633bff44548cd4cb28e3",class:"stepper-header",onClick:this.handleStepClick},o("slot",{key:"fa4ef01b0c1b248dd5ac90b8ab9bc7689b943caa"})),o("div",{key:"592f2c79d4916c14c1e7a5a3ffaad77a257a01a3",class:"stepper-content-area"},o("slot",{key:"958a6697b165c1b0499ac1433476a8cccf14bf9f",name:"content"})))}static get style(){return'.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block}.stepper-header{display:flex;gap:16px;margin-bottom:16px}.step-header{padding:12px 16px;border-radius:4px;background:#fff;cursor:pointer;transition:all 0.2s;border:1px solid #e5e7eb;display:flex;align-items:center;gap:12px;position:relative;flex:1;min-width:0;}:host-context(.stepper-horizontal) .step-header:not(:last-child)::after{content:"";position:absolute;right:-16px;top:50%;width:16px;height:2px;background:#e5e7eb;z-index:1;display:none;}.step-header:hover:not(.disabled){background:#f9fafb;border-color:#d1d5db}.step-header.active{border-color:#3b82f6;background:#eff6ff}.step-header.completed{border-color:#10b981;background:#f0fdf4;}.step-header.disabled{opacity:0.5;cursor:not-allowed;background:#f3f4f6}.step-icon{width:32px;height:32px;border-radius:50%;background:#e5e7eb;color:#6b7280;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0;transition:all 0.2s}.step-header.active .step-icon{background:#3b82f6;color:#fff}.step-header.completed .step-icon{background:#10b981;color:#fff}.step-text{display:flex;flex-direction:column;min-width:0}.step-title{font-weight:600;font-size:14px;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-desc{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stepper-content{min-height:80px;background:#fff;border-radius:4px;box-shadow:0 1px 4px rgba(0, 0, 0, 0.04);padding:16px}'}},[769,"ui-smart-stepper",{orientation:[1],size:[1],activeStep:[1026,"active-step"],next:[64],prev:[64],goTo:[64],getCurrentStep:[64],getSteps:[64]},[[0,"stepClick","handleStepClickEvent"]]]),n=s,p=function(){"undefined"!=typeof customElements&&["ui-smart-stepper"].forEach((t=>{"ui-smart-stepper"===t&&(customElements.get(r(t))||customElements.define(r(t),s))}))};export{n as UiSmartStepper,p as defineCustomElement}
1
+ import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as o,transformTag as r}from"@stencil/core/internal/client";const s=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.stepperChange=i(this,"stepperChange",7)}orientation="horizontal";size="md";activeStep=0;get host(){return this}stepperChange;async next(){const t=this.getStepsSync();return this.activeStep<t.length-1&&this.goTo(this.activeStep+1)}async prev(){return this.activeStep>0&&this.goTo(this.activeStep-1)}async goTo(t){const e=this.getStepsSync();return t>=0&&t<e.length&&(this.activeStep=t,this.updateStepVisibility(),this.stepperChange.emit({index:t,step:e[t]}),!0)}async getCurrentStep(){return this.getStepsSync()[this.activeStep]||null}async getSteps(){return this.getStepsSync()}getStepsSync(){return Array.from(this.host.querySelectorAll("smart-step"))}updateStepVisibility(){this.getStepsSync().forEach(((t,e)=>{const i=t.querySelector(".stepper-content");i&&(i.style.display=e===this.activeStep?"block":"none");const o=t.querySelector(".step-header");o&&(o.classList.remove("active","completed"),e===this.activeStep?o.classList.add("active"):e<this.activeStep&&o.classList.add("completed"))}))}handleStepClick=t=>{const e=t.target.closest("smart-step");if(e){const t=this.getStepsSync().indexOf(e);-1!==t&&this.goTo(t)}};componentDidLoad(){this.updateStepVisibility()}componentDidUpdate(){this.updateStepVisibility()}handleStepClickEvent(t){t.stopPropagation();const e=t.target,i=this.getStepsSync().indexOf(e);-1!==i&&this.goTo(i)}render(){return o("div",{key:"5f68b30cf9e222adb3173b3d24cb1660b1f88480",class:["smart-stepper-container","stepper-"+this.orientation,"stepper-"+this.size].join(" ")},o("div",{key:"01fa7e21cfe43f093fb695105ac720c2beb8c2f3",class:"stepper-header",onClick:this.handleStepClick},o("slot",{key:"e79f5035758931b91aa9041a72e59ae616ed5ad7"})),o("div",{key:"822a7a9b69e18ce7644d427ee5447992c232a4c9",class:"stepper-content-area"},o("slot",{key:"e81303bd4161bc6dd4dbb7525cf15d02106ce3e3",name:"content"})))}static get style(){return'.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block}.stepper-header{display:flex;gap:16px;margin-bottom:16px}.step-header{padding:12px 16px;border-radius:4px;background:#fff;cursor:pointer;transition:all 0.2s;border:1px solid #e5e7eb;display:flex;align-items:center;gap:12px;position:relative;flex:1;min-width:0;}:host-context(.stepper-horizontal) .step-header:not(:last-child)::after{content:"";position:absolute;right:-16px;top:50%;width:16px;height:2px;background:#e5e7eb;z-index:1;display:none;}.step-header:hover:not(.disabled){background:#f9fafb;border-color:#d1d5db}.step-header.active{border-color:#3b82f6;background:#eff6ff}.step-header.completed{border-color:#10b981;background:#f0fdf4;}.step-header.disabled{opacity:0.5;cursor:not-allowed;background:#f3f4f6}.step-icon{width:32px;height:32px;border-radius:50%;background:#e5e7eb;color:#6b7280;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0;transition:all 0.2s}.step-header.active .step-icon{background:#3b82f6;color:#fff}.step-header.completed .step-icon{background:#10b981;color:#fff}.step-text{display:flex;flex-direction:column;min-width:0}.step-title{font-weight:600;font-size:14px;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-desc{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stepper-content{min-height:80px;background:#fff;border-radius:4px;box-shadow:0 1px 4px rgba(0, 0, 0, 0.04);padding:16px}'}},[769,"ui-smart-stepper",{orientation:[1],size:[1],activeStep:[1026,"active-step"],next:[64],prev:[64],goTo:[64],getCurrentStep:[64],getSteps:[64]},[[0,"stepClick","handleStepClickEvent"]]]),n=s,p=function(){"undefined"!=typeof customElements&&["ui-smart-stepper"].forEach((t=>{"ui-smart-stepper"===t&&(customElements.get(r(t))||customElements.define(r(t),s))}))};export{n as UiSmartStepper,p as defineCustomElement}