atomicuilibrary 0.1.0 → 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 (618) 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 +4 -4
  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/smart-step.cjs.entry.js +3 -3
  14. package/dist/cjs/timeline-item.cjs.entry.js +2 -2
  15. package/dist/cjs/ui-accordion_11.cjs.entry.js +132 -50
  16. package/dist/cjs/ui-advanced-data-table.cjs.entry.js +2 -2
  17. package/dist/cjs/ui-anchor.cjs.entry.js +2 -2
  18. package/dist/cjs/ui-animate-on-scroll.cjs.entry.js +3 -3
  19. package/dist/cjs/ui-aside-panel.cjs.entry.js +10 -11
  20. package/dist/cjs/ui-avatar-group_5.cjs.entry.js +1694 -0
  21. package/dist/cjs/ui-breadcrumb-item.cjs.entry.js +3 -3
  22. package/dist/cjs/ui-breadcrumb.cjs.entry.js +1 -1
  23. package/dist/cjs/ui-callout-banner.cjs.entry.js +2 -2
  24. package/dist/cjs/ui-card.cjs.entry.js +4 -3
  25. package/dist/cjs/ui-carousel.cjs.entry.js +1 -1
  26. package/dist/cjs/ui-checkbox.cjs.entry.js +3 -3
  27. package/dist/cjs/ui-code-editor.cjs.entry.js +2 -2
  28. package/dist/cjs/ui-code-preview.cjs.entry.js +2 -2
  29. package/dist/cjs/ui-color-picker.cjs.entry.js +256 -22
  30. package/dist/cjs/ui-command-palette.cjs.entry.js +1 -1
  31. package/dist/cjs/ui-dialog-box.cjs.entry.js +85 -11
  32. package/dist/cjs/ui-dialog-content.cjs.entry.js +1 -1
  33. package/dist/cjs/ui-dialog-footer_2.cjs.entry.js +1 -1
  34. package/dist/cjs/ui-divider.cjs.entry.js +1 -1
  35. package/dist/cjs/ui-dock-host.cjs.entry.js +4 -4
  36. package/dist/cjs/ui-dock.cjs.entry.js +2 -2
  37. package/dist/cjs/ui-drag-drop.cjs.entry.js +2 -2
  38. package/dist/cjs/ui-dropdown_2.cjs.entry.js +104 -34
  39. package/dist/cjs/ui-empty-state.cjs.entry.js +2 -2
  40. package/dist/cjs/ui-fab-item.cjs.entry.js +2 -2
  41. package/dist/cjs/ui-fab.cjs.entry.js +4 -4
  42. package/dist/cjs/ui-file-upload.cjs.entry.js +143 -44
  43. package/dist/cjs/ui-horizontal-nav.cjs.entry.js +2 -2
  44. package/dist/cjs/ui-knob.cjs.entry.js +1 -1
  45. package/dist/cjs/ui-label.cjs.entry.js +473 -0
  46. package/dist/cjs/ui-library.cjs.entry.js +2 -2
  47. package/dist/cjs/ui-list-group_2.cjs.entry.js +349 -60
  48. package/dist/cjs/ui-list.cjs.entry.js +76 -42
  49. package/dist/cjs/ui-masonry.cjs.entry.js +1 -1
  50. package/dist/cjs/ui-meter-group.cjs.entry.js +5 -4
  51. package/dist/cjs/ui-navigation-item.cjs.entry.js +5 -5
  52. package/dist/cjs/ui-number-input.cjs.entry.js +7 -3
  53. package/dist/cjs/ui-otp-input.cjs.entry.js +5 -5
  54. package/dist/cjs/{ui-pagination_4.cjs.entry.js → ui-pagination_3.cjs.entry.js} +35 -506
  55. package/dist/cjs/ui-panel.cjs.entry.js +1 -1
  56. package/dist/cjs/ui-pattern-input.cjs.entry.js +46 -11
  57. package/dist/cjs/ui-progress.cjs.entry.js +66 -9
  58. package/dist/cjs/ui-range-slider.cjs.entry.js +2 -2
  59. package/dist/cjs/ui-resizable-panel.cjs.entry.js +2 -2
  60. package/dist/cjs/ui-scroll-top.cjs.entry.js +1 -1
  61. package/dist/cjs/ui-smart-context-menu.cjs.entry.js +1 -1
  62. package/dist/cjs/ui-smart-stepper.cjs.entry.js +2 -2
  63. package/dist/cjs/ui-snackbar.cjs.entry.js +1 -1
  64. package/dist/cjs/ui-speed-dial.cjs.entry.js +1 -1
  65. package/dist/cjs/ui-speedometer.cjs.entry.js +28 -17
  66. package/dist/cjs/ui-splitter.cjs.entry.js +1 -1
  67. package/dist/cjs/ui-step.cjs.entry.js +2 -2
  68. package/dist/cjs/ui-stepper.cjs.entry.js +1 -1
  69. package/dist/cjs/ui-switch.cjs.entry.js +14 -13
  70. package/dist/cjs/ui-tabs.cjs.entry.js +2 -2
  71. package/dist/cjs/ui-tag.cjs.entry.js +58 -13
  72. package/dist/cjs/ui-timeline.cjs.entry.js +10 -2
  73. package/dist/cjs/ui-timer.cjs.entry.js +2 -2
  74. package/dist/cjs/ui-toolbar.cjs.entry.js +2 -2
  75. package/dist/cjs/ui-tooltip.cjs.entry.js +4 -4
  76. package/dist/cjs/ui-top-bar.cjs.entry.js +1 -1
  77. package/dist/cjs/ui-transfer-list.cjs.entry.js +6 -6
  78. package/dist/cjs/ui-tree.cjs.entry.js +30 -15
  79. package/dist/cjs/ui-workspace-manager.cjs.entry.js +2 -2
  80. package/dist/collection/assets/js/component-config.js +1 -0
  81. package/dist/collection/assets/js/demo-loader.js +2 -0
  82. package/dist/collection/assets/js/demos/about-demo.js +13 -13
  83. package/dist/collection/assets/js/demos/accordion-demo.js +66 -66
  84. package/dist/collection/assets/js/demos/advanced-data-table-demo.js +102 -102
  85. package/dist/collection/assets/js/demos/anchor-demo.js +27 -28
  86. package/dist/collection/assets/js/demos/animate-on-scroll-demo.js +12 -12
  87. package/dist/collection/assets/js/demos/aside-panel-demo.js +51 -51
  88. package/dist/collection/assets/js/demos/avatar-demo.js +433 -95
  89. package/dist/collection/assets/js/demos/badge-demo.js +51 -52
  90. package/dist/collection/assets/js/demos/breadcrumb-demo.js +7 -7
  91. package/dist/collection/assets/js/demos/button-demo.js +117 -107
  92. package/dist/collection/assets/js/demos/button-toggle-demo.js +199 -96
  93. package/dist/collection/assets/js/demos/callout-banner-demo.js +23 -23
  94. package/dist/collection/assets/js/demos/card-demo.js +23 -22
  95. package/dist/collection/assets/js/demos/carousel-demo.js +632 -360
  96. package/dist/collection/assets/js/demos/checkbox-demo.js +124 -7
  97. package/dist/collection/assets/js/demos/color-picker-demo.js +394 -100
  98. package/dist/collection/assets/js/demos/command-palette-demo.js +182 -65
  99. package/dist/collection/assets/js/demos/complex-form-demo.js +5 -5
  100. package/dist/collection/assets/js/demos/context-menu-demo.js +43 -43
  101. package/dist/collection/assets/js/demos/dialog-demo-temp.js +3 -3
  102. package/dist/collection/assets/js/demos/dialog-demo.js +336 -230
  103. package/dist/collection/assets/js/demos/divider-demo.js +59 -62
  104. package/dist/collection/assets/js/demos/dock-demo.js +12 -12
  105. package/dist/collection/assets/js/demos/dock-host-init.js +31 -31
  106. package/dist/collection/assets/js/demos/documentation-demo.js +34 -34
  107. package/dist/collection/assets/js/demos/drag-drop-demo.js +2 -2
  108. package/dist/collection/assets/js/demos/dropdown-demo.js +140 -136
  109. package/dist/collection/assets/js/demos/dropdown-subtitle-demo.js +2 -2
  110. package/dist/collection/assets/js/demos/empty-state-demo.js +294 -78
  111. package/dist/collection/assets/js/demos/fab-demo.js +95 -11
  112. package/dist/collection/assets/js/demos/file-upload-demo.js +641 -171
  113. package/dist/collection/assets/js/demos/home-components.js +2 -2
  114. package/dist/collection/assets/js/demos/horizontal-nav-demo.js +6 -6
  115. package/dist/collection/assets/js/demos/icon-demo.js +17 -17
  116. package/dist/collection/assets/js/demos/input-demo.js +147 -143
  117. package/dist/collection/assets/js/demos/knob-demo.js +29 -30
  118. package/dist/collection/assets/js/demos/label-demo.js +697 -0
  119. package/dist/collection/assets/js/demos/layout-manager-demo.js +55 -55
  120. package/dist/collection/assets/js/demos/list-demo.js +185 -122
  121. package/dist/collection/assets/js/demos/loader-demo.js +48 -48
  122. package/dist/collection/assets/js/demos/masonry-demo.js +568 -140
  123. package/dist/collection/assets/js/demos/meter-group-demo.js +14 -16
  124. package/dist/collection/assets/js/demos/multi-level-context-menu-demo.js +25 -25
  125. package/dist/collection/assets/js/demos/my-profile-demo.js +27 -27
  126. package/dist/collection/assets/js/demos/nav-bar-demo.js +1 -1
  127. package/dist/collection/assets/js/demos/number-input-demo.js +262 -211
  128. package/dist/collection/assets/js/demos/pagination-demo.js +29 -29
  129. package/dist/collection/assets/js/demos/panel-demo.js +18 -25
  130. package/dist/collection/assets/js/demos/pattern-input-demo.js +278 -40
  131. package/dist/collection/assets/js/demos/popover-demo.js +240 -149
  132. package/dist/collection/assets/js/demos/progress-demo.js +170 -156
  133. package/dist/collection/assets/js/demos/radio-demo.js +73 -12
  134. package/dist/collection/assets/js/demos/range-slider-demo.js +33 -33
  135. package/dist/collection/assets/js/demos/rating-demo.js +19 -19
  136. package/dist/collection/assets/js/demos/scroll-top-demo.js +8 -9
  137. package/dist/collection/assets/js/demos/skeleton-demo.js +110 -52
  138. package/dist/collection/assets/js/demos/skeleton-performance-demo.js +2 -2
  139. package/dist/collection/assets/js/demos/smart-dialog-demo.js +12 -12
  140. package/dist/collection/assets/js/demos/smart-menu-demo.js +17 -17
  141. package/dist/collection/assets/js/demos/snackbar-demo.js +53 -53
  142. package/dist/collection/assets/js/demos/speed-dial-demo.js +14 -14
  143. package/dist/collection/assets/js/demos/speedometer-demo.js +40 -32
  144. package/dist/collection/assets/js/demos/split-button-demo.js +2 -2
  145. package/dist/collection/assets/js/demos/splitter-demo.js +14 -14
  146. package/dist/collection/assets/js/demos/stack-demo.js +27 -27
  147. package/dist/collection/assets/js/demos/stepper-demo.js +49 -49
  148. package/dist/collection/assets/js/demos/switch-demo.js +561 -125
  149. package/dist/collection/assets/js/demos/tabs-demo.js +22 -22
  150. package/dist/collection/assets/js/demos/tag-demo.js +62 -62
  151. package/dist/collection/assets/js/demos/theme-selector-demo.js +27 -27
  152. package/dist/collection/assets/js/demos/timeline-demo.js +10 -10
  153. package/dist/collection/assets/js/demos/timeline-playground.js +2 -2
  154. package/dist/collection/assets/js/demos/timer-demo.js +10 -10
  155. package/dist/collection/assets/js/demos/toolbar-demo.js +17 -17
  156. package/dist/collection/assets/js/demos/tooltip-demo.js +92 -90
  157. package/dist/collection/assets/js/demos/top-bar-demo.js +6 -6
  158. package/dist/collection/assets/js/demos/transfer-list-demo.js +20 -20
  159. package/dist/collection/assets/js/demos/tree-demo.js +50 -66
  160. package/dist/collection/assets/js/demos/workspace-manager-demo.js +20 -20
  161. package/dist/collection/collection-manifest.json +1 -2
  162. package/dist/collection/components/accordion/accordion.css +275 -9
  163. package/dist/collection/components/accordion/accordion.js +7 -6
  164. package/dist/collection/components/advanced-data-table/advanced-data-table.css +5 -5
  165. package/dist/collection/components/advanced-data-table/advanced-data-table.js +2 -2
  166. package/dist/collection/components/anchor/anchor.css +1 -0
  167. package/dist/collection/components/animate-on-scroll/animate-on-scroll.js +2 -2
  168. package/dist/collection/components/aside-panel/aside-panel.css +2 -2
  169. package/dist/collection/components/aside-panel/aside-panel.js +10 -11
  170. package/dist/collection/components/avatar/avatar.css +6 -6
  171. package/dist/collection/components/avatar/avatar.js +63 -11
  172. package/dist/collection/components/badge/badge.css +27 -17
  173. package/dist/collection/components/badge/badge.js +6 -3
  174. package/dist/collection/components/breadcrumb/breadcrumb-item.js +2 -2
  175. package/dist/collection/components/button/button.css +1 -0
  176. package/dist/collection/components/button/button.js +3 -3
  177. package/dist/collection/components/button-toggle/button-toggle.js +2 -2
  178. package/dist/collection/components/button-toggle-group/button-toggle-group.css +161 -14
  179. package/dist/collection/components/button-toggle-group/button-toggle-group.js +2 -2
  180. package/dist/collection/components/callout-banner/callout-banner.css +75 -0
  181. package/dist/collection/components/callout-banner/callout-banner.js +1 -1
  182. package/dist/collection/components/card/card.css +221 -9
  183. package/dist/collection/components/card/card.js +3 -2
  184. package/dist/collection/components/checkbox/checkbox.js +3 -3
  185. package/dist/collection/components/code-editor/code-editor.js +1 -1
  186. package/dist/collection/components/code-preview/ui-code-preview.js +1 -1
  187. package/dist/collection/components/color-picker/color-picker.css +110 -6
  188. package/dist/collection/components/color-picker/color-picker.js +302 -26
  189. package/dist/collection/components/context-menu/context-menu.css +9 -9
  190. package/dist/collection/components/dialog-box/dialog-box.js +116 -14
  191. package/dist/collection/components/dialog-header/dialog-header.js +1 -1
  192. package/dist/collection/components/dock/dock.css +116 -3
  193. package/dist/collection/components/dock-host/ui-dock-host.js +3 -3
  194. package/dist/collection/components/drag-drop/drag-drop.js +1 -1
  195. package/dist/collection/components/dropdown/dropdown.css +101 -8
  196. package/dist/collection/components/dropdown/dropdown.js +94 -28
  197. package/dist/collection/components/empty-state/empty-state.js +1 -1
  198. package/dist/collection/components/fab/fab.css +87 -15
  199. package/dist/collection/components/fab/fab.js +3 -3
  200. package/dist/collection/components/fab-item/fab-item.js +1 -1
  201. package/dist/collection/components/file-upload/file-upload.css +1362 -31
  202. package/dist/collection/components/file-upload/file-upload.js +171 -50
  203. package/dist/collection/components/horizontal-nav/horizontal-nav.css +9 -9
  204. package/dist/collection/components/horizontal-nav/horizontal-nav.js +2 -2
  205. package/dist/collection/components/icon/icon.js +1 -1
  206. package/dist/collection/components/input/input.css +9 -0
  207. package/dist/collection/components/input/input.js +20 -9
  208. package/dist/collection/components/label/label.css +583 -0
  209. package/dist/collection/components/label/label.js +1669 -0
  210. package/dist/collection/components/layout-manager/layout-manager.js +1 -1
  211. package/dist/collection/components/layout-manager/lm-floating-window/lm-floating-window.js +1 -1
  212. package/dist/collection/components/layout-manager/lm-panel/lm-panel.js +1 -1
  213. package/dist/collection/components/layout-manager/lm-splitter/lm-splitter.js +1 -1
  214. package/dist/collection/components/layout-manager/lm-tabs/lm-tabs.js +1 -1
  215. package/dist/collection/components/library/category-section.js +1 -1
  216. package/dist/collection/components/library/library-card.js +1 -1
  217. package/dist/collection/components/library/library.js +1 -1
  218. package/dist/collection/components/list/list.css +46 -5
  219. package/dist/collection/components/list/list.js +76 -42
  220. package/dist/collection/components/list-group/list-group.css +0 -2
  221. package/dist/collection/components/list-group/list-group.js +11 -5
  222. package/dist/collection/components/list-item/list-item.css +403 -131
  223. package/dist/collection/components/list-item/list-item.js +345 -61
  224. package/dist/collection/components/loader/loader.css +1 -1
  225. package/dist/collection/components/loader/loader.js +2 -2
  226. package/dist/collection/components/meter-group/meter-group.css +5 -0
  227. package/dist/collection/components/meter-group/meter-group.js +3 -2
  228. package/dist/collection/components/my-step/my-step.js +1 -1
  229. package/dist/collection/components/nav-bar/nav-bar.css +4 -4
  230. package/dist/collection/components/nav-bar/nav-bar.js +6 -6
  231. package/dist/collection/components/number-input/number-input.js +6 -2
  232. package/dist/collection/components/otp-input/otp-input.css +10 -0
  233. package/dist/collection/components/otp-input/otp-input.js +3 -3
  234. package/dist/collection/components/pagination/pagination.js +1 -1
  235. package/dist/collection/components/pattern-input/pattern-input.css +0 -1
  236. package/dist/collection/components/pattern-input/pattern-input.js +44 -9
  237. package/dist/collection/components/popover/popover.css +35 -7
  238. package/dist/collection/components/popover/popover.js +64 -9
  239. package/dist/collection/components/progress/progress.css +176 -32
  240. package/dist/collection/components/progress/progress.js +66 -8
  241. package/dist/collection/components/radio/radio.css +2 -0
  242. package/dist/collection/components/radio/radio.js +2 -2
  243. package/dist/collection/components/range-slider/range-slider.css +284 -31
  244. package/dist/collection/components/range-slider/range-slider.js +5 -5
  245. package/dist/collection/components/rating/rating.css +151 -65
  246. package/dist/collection/components/rating/rating.js +31 -13
  247. package/dist/collection/components/resizable-panel/resizable-panel.js +1 -1
  248. package/dist/collection/components/skeleton/skeleton-loader.css +144 -44
  249. package/dist/collection/components/skeleton/skeleton-loader.js +11 -7
  250. package/dist/collection/components/smart-stepper/smart-step.js +2 -2
  251. package/dist/collection/components/smart-stepper/smart-stepper.js +1 -1
  252. package/dist/collection/components/speedometer/speedometer.css +26 -6
  253. package/dist/collection/components/speedometer/speedometer.js +26 -15
  254. package/dist/collection/components/stack/stack.js +2 -2
  255. package/dist/collection/components/step/step.js +1 -1
  256. package/dist/collection/components/stepper/stepper.js +1 -1
  257. package/dist/collection/components/switch/switch.css +367 -8
  258. package/dist/collection/components/switch/switch.js +13 -12
  259. package/dist/collection/components/tag/tag.css +38 -12
  260. package/dist/collection/components/tag/tag.js +58 -13
  261. package/dist/collection/components/tag-group/tag-group.css +0 -1
  262. package/dist/collection/components/tag-group/tag-group.js +3 -3
  263. package/dist/collection/components/timeline/timeline.css +380 -317
  264. package/dist/collection/components/timeline/timeline.js +8 -0
  265. package/dist/collection/components/timeline-item/timeline-item.js +1 -1
  266. package/dist/collection/components/timer/timer.js +1 -1
  267. package/dist/collection/components/toggle-group/toggle-group.css +7 -3
  268. package/dist/collection/components/toggle-group/toggle-group.js +7 -3
  269. package/dist/collection/components/toolbar/toolbar.js +1 -1
  270. package/dist/collection/components/tooltip/tooltip.js +4 -4
  271. package/dist/collection/components/top-bar/top-bar.js +2 -2
  272. package/dist/collection/components/transfer-list/transfer-list.css +13 -13
  273. package/dist/collection/components/transfer-list/transfer-list.js +4 -4
  274. package/dist/collection/components/tree/tree.css +35 -21
  275. package/dist/collection/components/tree/tree.js +28 -13
  276. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.css +34 -16
  277. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.js +46 -11
  278. package/dist/collection/components/ui-navigation-bar/navigation-item.css +7 -7
  279. package/dist/collection/components/ui-navigation-bar/navigation-item.js +3 -3
  280. package/dist/collection/utils/dom.js +151 -151
  281. package/dist/components/avatar-group.js +1 -1
  282. package/dist/components/avatar.js +1 -1
  283. package/dist/components/badge.js +1 -1
  284. package/dist/components/button-toggle.js +1 -1
  285. package/dist/components/button.js +1 -0
  286. package/dist/components/category-section2.js +1 -1
  287. package/dist/components/checkbox.js +1 -1
  288. package/dist/components/context-menu.js +1 -1
  289. package/dist/components/dialog-header.js +1 -1
  290. package/dist/components/dom.js +1 -1
  291. package/dist/components/dropdown.js +1 -1
  292. package/dist/components/icon.js +2 -2
  293. package/dist/components/input.js +1 -1
  294. package/dist/components/layout-manager.js +1 -1
  295. package/dist/components/library-card2.js +1 -1
  296. package/dist/components/list-group.js +1 -1
  297. package/dist/components/list-item.js +1 -1
  298. package/dist/components/lm-container2.js +1 -1
  299. package/dist/components/lm-floating-window2.js +1 -1
  300. package/dist/components/lm-panel2.js +1 -1
  301. package/dist/components/lm-splitter2.js +1 -1
  302. package/dist/components/lm-tabs2.js +1 -1
  303. package/dist/components/loader.js +1 -1
  304. package/dist/components/my-step.js +1 -1
  305. package/dist/components/nav-bar.js +1 -1
  306. package/dist/components/pagination.js +1 -1
  307. package/dist/components/popover.js +1 -0
  308. package/dist/components/radio.js +1 -1
  309. package/dist/components/range-slider.js +1 -1
  310. package/dist/components/rating.js +1 -1
  311. package/dist/components/resizable-panel.js +1 -1
  312. package/dist/components/skeleton-loader.js +1 -1
  313. package/dist/components/smart-step.js +1 -1
  314. package/dist/components/stack.js +1 -1
  315. package/dist/components/switch.js +1 -1
  316. package/dist/components/tag-group.js +1 -1
  317. package/dist/components/tag.js +1 -1
  318. package/dist/components/timeline-item.js +1 -1
  319. package/dist/components/toggle-group.js +1 -1
  320. package/dist/components/tooltip.js +1 -1
  321. package/dist/components/ui-accordion.js +1 -1
  322. package/dist/components/ui-advanced-data-table.js +1 -1
  323. package/dist/components/ui-anchor.js +1 -1
  324. package/dist/components/ui-animate-on-scroll.js +1 -1
  325. package/dist/components/ui-aside-panel.js +1 -1
  326. package/dist/components/ui-badge.js +1 -1
  327. package/dist/components/ui-breadcrumb-item.js +1 -1
  328. package/dist/components/ui-breadcrumb.js +1 -1
  329. package/dist/components/ui-button-toggle-group.js +1 -1
  330. package/dist/components/ui-button.js +1 -1
  331. package/dist/components/ui-callout-banner.js +1 -1
  332. package/dist/components/ui-card.js +1 -1
  333. package/dist/components/ui-carousel.js +1 -1
  334. package/dist/components/ui-code-editor.js +1 -1
  335. package/dist/components/ui-code-preview.js +1 -1
  336. package/dist/components/ui-color-picker.js +1 -1
  337. package/dist/components/ui-command-palette.js +1 -1
  338. package/dist/components/ui-dialog-box.js +1 -1
  339. package/dist/components/ui-dock-host.js +1 -1
  340. package/dist/components/ui-dock.js +1 -1
  341. package/dist/components/ui-drag-drop.js +1 -1
  342. package/dist/components/ui-empty-state.js +1 -1
  343. package/dist/components/ui-fab-item.js +1 -1
  344. package/dist/components/ui-fab.js +1 -1
  345. package/dist/components/ui-file-upload.js +1 -1
  346. package/dist/components/ui-horizontal-nav.js +1 -1
  347. package/dist/components/ui-knob.js +1 -1
  348. package/dist/components/{ui-color-controller.d.ts → ui-label.d.ts} +4 -4
  349. package/dist/components/ui-label.js +1 -0
  350. package/dist/components/ui-library.js +1 -1
  351. package/dist/components/ui-list.js +1 -1
  352. package/dist/components/ui-masonry.js +1 -1
  353. package/dist/components/ui-meter-group.js +1 -1
  354. package/dist/components/ui-navigation-bar.js +1 -1
  355. package/dist/components/ui-navigation-item.js +1 -1
  356. package/dist/components/ui-number-input.js +1 -1
  357. package/dist/components/ui-otp-input.js +1 -1
  358. package/dist/components/ui-panel.js +1 -1
  359. package/dist/components/ui-pattern-input.js +1 -1
  360. package/dist/components/ui-popover.js +1 -1
  361. package/dist/components/ui-progress.js +1 -1
  362. package/dist/components/ui-scroll-top.js +1 -1
  363. package/dist/components/ui-smart-stepper.js +1 -1
  364. package/dist/components/ui-snackbar.js +1 -1
  365. package/dist/components/ui-speed-dial.js +1 -1
  366. package/dist/components/ui-speedometer.js +1 -1
  367. package/dist/components/ui-splitter.js +1 -1
  368. package/dist/components/ui-step.js +1 -1
  369. package/dist/components/ui-stepper.js +1 -1
  370. package/dist/components/ui-tabs.js +1 -1
  371. package/dist/components/ui-timeline.js +1 -1
  372. package/dist/components/ui-timer.js +1 -1
  373. package/dist/components/ui-toolbar.js +1 -1
  374. package/dist/components/ui-top-bar.js +1 -1
  375. package/dist/components/ui-transfer-list.js +1 -1
  376. package/dist/components/ui-tree.js +1 -1
  377. package/dist/components/ui-workspace-manager.js +1 -1
  378. package/dist/esm/category-section.entry.js +2 -2
  379. package/dist/esm/dom-DFBTWhGw.js +262 -0
  380. package/dist/esm/exploration-project-tailwind.js +3 -3
  381. package/dist/esm/{index-DUsoYu9r.js → index-Dqu2zaH1.js} +1 -1
  382. package/dist/esm/layout-manager.entry.js +3 -3
  383. package/dist/esm/library-card.entry.js +2 -2
  384. package/dist/esm/lm-container_2.entry.js +2 -2
  385. package/dist/esm/lm-panel_3.entry.js +4 -4
  386. package/dist/esm/loader.js +3 -3
  387. package/dist/esm/my-component.entry.js +1 -1
  388. package/dist/esm/my-step.entry.js +2 -2
  389. package/dist/esm/nav-bar.entry.js +4 -4
  390. package/dist/esm/smart-step.entry.js +3 -3
  391. package/dist/esm/timeline-item.entry.js +2 -2
  392. package/dist/esm/ui-accordion_11.entry.js +132 -50
  393. package/dist/esm/ui-advanced-data-table.entry.js +2 -2
  394. package/dist/esm/ui-anchor.entry.js +2 -2
  395. package/dist/esm/ui-animate-on-scroll.entry.js +3 -3
  396. package/dist/esm/ui-aside-panel.entry.js +10 -11
  397. package/dist/esm/ui-avatar-group_5.entry.js +1688 -0
  398. package/dist/esm/ui-breadcrumb-item.entry.js +3 -3
  399. package/dist/esm/ui-breadcrumb.entry.js +1 -1
  400. package/dist/esm/ui-callout-banner.entry.js +2 -2
  401. package/dist/esm/ui-card.entry.js +4 -3
  402. package/dist/esm/ui-carousel.entry.js +1 -1
  403. package/dist/esm/ui-checkbox.entry.js +3 -3
  404. package/dist/esm/ui-code-editor.entry.js +2 -2
  405. package/dist/esm/ui-code-preview.entry.js +2 -2
  406. package/dist/esm/ui-color-picker.entry.js +256 -22
  407. package/dist/esm/ui-command-palette.entry.js +1 -1
  408. package/dist/esm/ui-dialog-box.entry.js +85 -11
  409. package/dist/esm/ui-dialog-content.entry.js +1 -1
  410. package/dist/esm/ui-dialog-footer_2.entry.js +1 -1
  411. package/dist/esm/ui-divider.entry.js +1 -1
  412. package/dist/esm/ui-dock-host.entry.js +4 -4
  413. package/dist/esm/ui-dock.entry.js +2 -2
  414. package/dist/esm/ui-drag-drop.entry.js +2 -2
  415. package/dist/esm/ui-dropdown_2.entry.js +104 -34
  416. package/dist/esm/ui-empty-state.entry.js +2 -2
  417. package/dist/esm/ui-fab-item.entry.js +2 -2
  418. package/dist/esm/ui-fab.entry.js +4 -4
  419. package/dist/esm/ui-file-upload.entry.js +143 -44
  420. package/dist/esm/ui-horizontal-nav.entry.js +2 -2
  421. package/dist/esm/ui-knob.entry.js +1 -1
  422. package/dist/esm/ui-label.entry.js +471 -0
  423. package/dist/esm/ui-library.entry.js +2 -2
  424. package/dist/esm/ui-list-group_2.entry.js +349 -60
  425. package/dist/esm/ui-list.entry.js +76 -42
  426. package/dist/esm/ui-masonry.entry.js +1 -1
  427. package/dist/esm/ui-meter-group.entry.js +5 -4
  428. package/dist/esm/ui-navigation-item.entry.js +5 -5
  429. package/dist/esm/ui-number-input.entry.js +7 -3
  430. package/dist/esm/ui-otp-input.entry.js +5 -5
  431. package/dist/esm/{ui-pagination_4.entry.js → ui-pagination_3.entry.js} +36 -506
  432. package/dist/esm/ui-panel.entry.js +1 -1
  433. package/dist/esm/ui-pattern-input.entry.js +46 -11
  434. package/dist/esm/ui-progress.entry.js +66 -9
  435. package/dist/esm/ui-range-slider.entry.js +2 -2
  436. package/dist/esm/ui-resizable-panel.entry.js +2 -2
  437. package/dist/esm/ui-scroll-top.entry.js +1 -1
  438. package/dist/esm/ui-smart-context-menu.entry.js +1 -1
  439. package/dist/esm/ui-smart-stepper.entry.js +2 -2
  440. package/dist/esm/ui-snackbar.entry.js +1 -1
  441. package/dist/esm/ui-speed-dial.entry.js +1 -1
  442. package/dist/esm/ui-speedometer.entry.js +28 -17
  443. package/dist/esm/ui-splitter.entry.js +1 -1
  444. package/dist/esm/ui-step.entry.js +2 -2
  445. package/dist/esm/ui-stepper.entry.js +1 -1
  446. package/dist/esm/ui-switch.entry.js +14 -13
  447. package/dist/esm/ui-tabs.entry.js +2 -2
  448. package/dist/esm/ui-tag.entry.js +58 -13
  449. package/dist/esm/ui-timeline.entry.js +10 -2
  450. package/dist/esm/ui-timer.entry.js +2 -2
  451. package/dist/esm/ui-toolbar.entry.js +2 -2
  452. package/dist/esm/ui-tooltip.entry.js +4 -4
  453. package/dist/esm/ui-top-bar.entry.js +1 -1
  454. package/dist/esm/ui-transfer-list.entry.js +6 -6
  455. package/dist/esm/ui-tree.entry.js +30 -15
  456. package/dist/esm/ui-workspace-manager.entry.js +2 -2
  457. package/dist/exploration-project-tailwind/exploration-project-tailwind.css +1 -1
  458. package/dist/exploration-project-tailwind/exploration-project-tailwind.esm.js +1 -1
  459. package/dist/exploration-project-tailwind/{p-7ba2258a.entry.js → p-024a299a.entry.js} +1 -1
  460. package/dist/exploration-project-tailwind/p-0a71896a.entry.js +1 -0
  461. package/dist/exploration-project-tailwind/{p-35296877.entry.js → p-0cdeb8d8.entry.js} +1 -1
  462. package/dist/exploration-project-tailwind/{p-a42fdc33.entry.js → p-139cefbc.entry.js} +1 -1
  463. package/dist/exploration-project-tailwind/{p-036d2a44.entry.js → p-198c83e5.entry.js} +1 -1
  464. package/dist/exploration-project-tailwind/p-236f47b1.entry.js +1 -0
  465. package/dist/exploration-project-tailwind/{p-81ebba11.entry.js → p-25530d0d.entry.js} +1 -1
  466. package/dist/exploration-project-tailwind/{p-41cd6bf0.entry.js → p-298f2057.entry.js} +1 -1
  467. package/dist/exploration-project-tailwind/{p-85e36111.entry.js → p-2b5a8e3e.entry.js} +1 -1
  468. package/dist/exploration-project-tailwind/{p-e8c6d395.entry.js → p-2b6aa7bc.entry.js} +1 -1
  469. package/dist/exploration-project-tailwind/{p-70bacda8.entry.js → p-2cfba753.entry.js} +1 -1
  470. package/dist/exploration-project-tailwind/{p-cbee2607.entry.js → p-2fe22958.entry.js} +1 -1
  471. package/dist/exploration-project-tailwind/{p-20ecc116.entry.js → p-3012e780.entry.js} +1 -1
  472. package/dist/exploration-project-tailwind/p-321c3f46.entry.js +1 -0
  473. package/dist/exploration-project-tailwind/{p-8b57fe4e.entry.js → p-3ab43638.entry.js} +1 -1
  474. package/dist/exploration-project-tailwind/p-3ad7e47e.entry.js +1 -0
  475. package/dist/exploration-project-tailwind/p-3b1ca826.entry.js +1 -0
  476. package/dist/exploration-project-tailwind/p-3ee8ddae.entry.js +1 -0
  477. package/dist/exploration-project-tailwind/{p-e22317c1.entry.js → p-3efb44c8.entry.js} +1 -1
  478. package/dist/exploration-project-tailwind/{p-36861546.entry.js → p-42e3bc28.entry.js} +1 -1
  479. package/dist/exploration-project-tailwind/p-4360331a.entry.js +1 -0
  480. package/dist/exploration-project-tailwind/{p-2f961934.entry.js → p-443de32b.entry.js} +1 -1
  481. package/dist/exploration-project-tailwind/{p-898dd0fa.entry.js → p-44d15451.entry.js} +1 -1
  482. package/dist/exploration-project-tailwind/{p-4288c158.entry.js → p-46071679.entry.js} +1 -1
  483. package/dist/exploration-project-tailwind/{p-a3f465d9.entry.js → p-497d6182.entry.js} +1 -1
  484. package/dist/exploration-project-tailwind/p-4ad8c55c.entry.js +1 -0
  485. package/dist/exploration-project-tailwind/{p-4aaa8e40.entry.js → p-4c46ac0b.entry.js} +1 -1
  486. package/dist/exploration-project-tailwind/{p-98e91da5.entry.js → p-5042ddaa.entry.js} +1 -1
  487. package/dist/exploration-project-tailwind/p-60190e0e.entry.js +1 -0
  488. package/dist/exploration-project-tailwind/p-60530874.entry.js +1 -0
  489. package/dist/exploration-project-tailwind/{p-200241f8.entry.js → p-6108565d.entry.js} +1 -1
  490. package/dist/exploration-project-tailwind/{p-fb4aca69.entry.js → p-62889cfe.entry.js} +1 -1
  491. package/dist/exploration-project-tailwind/{p-c02284ea.entry.js → p-66f71613.entry.js} +1 -1
  492. package/dist/exploration-project-tailwind/{p-7889bfc4.entry.js → p-67c440b2.entry.js} +1 -1
  493. package/dist/exploration-project-tailwind/{p-c1c8ac28.entry.js → p-6f09503f.entry.js} +1 -1
  494. package/dist/exploration-project-tailwind/p-721bdbc3.entry.js +1 -0
  495. package/dist/exploration-project-tailwind/p-747b02ea.entry.js +1 -0
  496. package/dist/exploration-project-tailwind/{p-c6fd72e1.entry.js → p-754cb046.entry.js} +1 -1
  497. package/dist/exploration-project-tailwind/{p-97af03cc.entry.js → p-7ed3bba2.entry.js} +1 -1
  498. package/dist/exploration-project-tailwind/{p-d59da767.entry.js → p-864cebb7.entry.js} +1 -1
  499. package/dist/exploration-project-tailwind/{p-4d73c143.entry.js → p-96ee3196.entry.js} +1 -1
  500. package/dist/exploration-project-tailwind/{p-54965530.entry.js → p-97086868.entry.js} +1 -1
  501. package/dist/exploration-project-tailwind/{p-d114a347.entry.js → p-9c5ced88.entry.js} +1 -1
  502. package/dist/exploration-project-tailwind/p-9d3044d4.entry.js +1 -0
  503. package/dist/exploration-project-tailwind/p-9e079be6.entry.js +1 -0
  504. package/dist/exploration-project-tailwind/{p-790556f0.entry.js → p-9e4c45f5.entry.js} +1 -1
  505. package/dist/exploration-project-tailwind/p-9eee7394.entry.js +1 -0
  506. package/dist/exploration-project-tailwind/p-DFBTWhGw.js +1 -0
  507. package/dist/exploration-project-tailwind/p-Dqu2zaH1.js +2 -0
  508. package/dist/exploration-project-tailwind/p-a7bdedc2.entry.js +1 -0
  509. package/dist/exploration-project-tailwind/{p-c87aeab6.entry.js → p-a8ec29de.entry.js} +1 -1
  510. package/dist/exploration-project-tailwind/{p-6ddbee42.entry.js → p-ae617f62.entry.js} +1 -1
  511. package/dist/exploration-project-tailwind/{p-05a436d3.entry.js → p-aef76052.entry.js} +1 -1
  512. package/dist/exploration-project-tailwind/p-b5f043fa.entry.js +1 -0
  513. package/dist/exploration-project-tailwind/p-b637b91b.entry.js +1 -0
  514. package/dist/exploration-project-tailwind/{p-d2e45c5e.entry.js → p-bc49a088.entry.js} +1 -1
  515. package/dist/exploration-project-tailwind/{p-6b838549.entry.js → p-bd9a631f.entry.js} +1 -1
  516. package/dist/exploration-project-tailwind/{p-e8ba0c95.entry.js → p-bf4b6767.entry.js} +1 -1
  517. package/dist/exploration-project-tailwind/p-c0fa400e.entry.js +1 -0
  518. package/dist/exploration-project-tailwind/{p-8578b616.entry.js → p-c4f3d990.entry.js} +1 -1
  519. package/dist/exploration-project-tailwind/p-c68ddb2f.entry.js +1 -0
  520. package/dist/exploration-project-tailwind/p-c79574c4.entry.js +1 -0
  521. package/dist/exploration-project-tailwind/p-c840098d.entry.js +1 -0
  522. package/dist/exploration-project-tailwind/{p-a1ad32a2.entry.js → p-c8663cbe.entry.js} +1 -1
  523. package/dist/exploration-project-tailwind/p-cb6e38a6.entry.js +1 -0
  524. package/dist/exploration-project-tailwind/p-cb9f2df1.entry.js +1 -0
  525. package/dist/exploration-project-tailwind/p-cfe8b696.entry.js +1 -0
  526. package/dist/exploration-project-tailwind/p-d00e13ae.entry.js +1 -0
  527. package/dist/exploration-project-tailwind/{p-c4ba7e52.entry.js → p-d01ed934.entry.js} +1 -1
  528. package/dist/exploration-project-tailwind/{p-aa85ff78.entry.js → p-d4e57d94.entry.js} +1 -1
  529. package/dist/exploration-project-tailwind/{p-ccb5c737.entry.js → p-d5bd3a3f.entry.js} +1 -1
  530. package/dist/exploration-project-tailwind/{p-45482d86.entry.js → p-d987cebe.entry.js} +1 -1
  531. package/dist/exploration-project-tailwind/p-d9ae77c0.entry.js +1 -0
  532. package/dist/exploration-project-tailwind/p-e9bae5c7.entry.js +1 -0
  533. package/dist/exploration-project-tailwind/p-f516fabc.entry.js +1 -0
  534. package/dist/exploration-project-tailwind/p-f68e2794.entry.js +1 -0
  535. package/dist/exploration-project-tailwind/{p-d30e24bd.entry.js → p-fa034f69.entry.js} +1 -1
  536. package/dist/types/components/aside-panel/aside-panel.d.ts +0 -3
  537. package/dist/types/components/avatar/avatar.d.ts +3 -0
  538. package/dist/types/components/avatar/types.d.ts +2 -0
  539. package/dist/types/components/badge/badge.d.ts +1 -0
  540. package/dist/types/components/color-picker/color-picker.d.ts +35 -2
  541. package/dist/types/components/dialog-box/dialog-box.d.ts +10 -0
  542. package/dist/types/components/dropdown/dropdown.d.ts +5 -0
  543. package/dist/types/components/file-upload/file-upload.d.ts +23 -6
  544. package/dist/types/components/label/label.d.ts +290 -0
  545. package/dist/types/components/label/types.d.ts +39 -0
  546. package/dist/types/components/list/list.d.ts +2 -1
  547. package/dist/types/components/list-group/list-group.d.ts +1 -0
  548. package/dist/types/components/list-item/list-item.d.ts +45 -17
  549. package/dist/types/components/pattern-input/pattern-input.d.ts +6 -0
  550. package/dist/types/components/popover/popover.d.ts +3 -0
  551. package/dist/types/components/progress/progress.d.ts +7 -0
  552. package/dist/types/components/range-slider/range-slider.d.ts +2 -2
  553. package/dist/types/components/rating/rating.d.ts +1 -0
  554. package/dist/types/components/skeleton/skeleton-loader.d.ts +1 -1
  555. package/dist/types/components/speedometer/speedometer.d.ts +1 -0
  556. package/dist/types/components/tag/tag.d.ts +4 -0
  557. package/dist/types/components/tree/tree.d.ts +1 -0
  558. package/dist/types/components/ui-navigation-bar/navigation-bar/navigation-bar.d.ts +1 -1
  559. package/dist/types/components.d.ts +742 -425
  560. package/dist/types/types/common.d.ts +2 -2
  561. package/dist/types/types/common.type.d.ts +2 -0
  562. package/dist/types/utils/dom.d.ts +4 -4
  563. package/package.json +4 -5
  564. package/dist/cjs/dom-oP1E4Rd3.js +0 -267
  565. package/dist/cjs/ui-avatar-group_3.cjs.entry.js +0 -634
  566. package/dist/cjs/ui-color-controller.cjs.entry.js +0 -150
  567. package/dist/cjs/ui-popover.cjs.entry.js +0 -517
  568. package/dist/cjs/ui-smart-location-dropdown.cjs.entry.js +0 -565
  569. package/dist/collection/components/color-controller/color-controller.css +0 -108
  570. package/dist/collection/components/color-controller/color-controller.js +0 -224
  571. package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.css +0 -357
  572. package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.js +0 -1190
  573. package/dist/components/ui-color-controller.js +0 -1
  574. package/dist/components/ui-smart-location-dropdown.d.ts +0 -11
  575. package/dist/components/ui-smart-location-dropdown.js +0 -1
  576. package/dist/esm/dom-BMFah5q3.js +0 -262
  577. package/dist/esm/ui-avatar-group_3.entry.js +0 -630
  578. package/dist/esm/ui-color-controller.entry.js +0 -148
  579. package/dist/esm/ui-popover.entry.js +0 -515
  580. package/dist/esm/ui-smart-location-dropdown.entry.js +0 -563
  581. package/dist/exploration-project-tailwind/p-06f0c679.entry.js +0 -1
  582. package/dist/exploration-project-tailwind/p-0d31c9e9.entry.js +0 -1
  583. package/dist/exploration-project-tailwind/p-148e81df.entry.js +0 -1
  584. package/dist/exploration-project-tailwind/p-16bdd162.entry.js +0 -1
  585. package/dist/exploration-project-tailwind/p-2347d21b.entry.js +0 -1
  586. package/dist/exploration-project-tailwind/p-3d381f75.entry.js +0 -1
  587. package/dist/exploration-project-tailwind/p-4417a9d8.entry.js +0 -1
  588. package/dist/exploration-project-tailwind/p-44742ddd.entry.js +0 -1
  589. package/dist/exploration-project-tailwind/p-47e2a7ee.entry.js +0 -1
  590. package/dist/exploration-project-tailwind/p-4bef8bed.entry.js +0 -1
  591. package/dist/exploration-project-tailwind/p-4efd63ce.entry.js +0 -1
  592. package/dist/exploration-project-tailwind/p-5c835d90.entry.js +0 -1
  593. package/dist/exploration-project-tailwind/p-61717490.entry.js +0 -1
  594. package/dist/exploration-project-tailwind/p-717dad1f.entry.js +0 -1
  595. package/dist/exploration-project-tailwind/p-71d95bb1.entry.js +0 -1
  596. package/dist/exploration-project-tailwind/p-9bd14f69.entry.js +0 -1
  597. package/dist/exploration-project-tailwind/p-9fc06ff0.entry.js +0 -1
  598. package/dist/exploration-project-tailwind/p-BMFah5q3.js +0 -1
  599. package/dist/exploration-project-tailwind/p-DUsoYu9r.js +0 -2
  600. package/dist/exploration-project-tailwind/p-a27f59d2.entry.js +0 -1
  601. package/dist/exploration-project-tailwind/p-a7b07cf4.entry.js +0 -1
  602. package/dist/exploration-project-tailwind/p-bd89d060.entry.js +0 -1
  603. package/dist/exploration-project-tailwind/p-c63c522e.entry.js +0 -1
  604. package/dist/exploration-project-tailwind/p-c69dd43e.entry.js +0 -1
  605. package/dist/exploration-project-tailwind/p-d6ce9721.entry.js +0 -1
  606. package/dist/exploration-project-tailwind/p-dc92a343.entry.js +0 -1
  607. package/dist/exploration-project-tailwind/p-debede45.entry.js +0 -1
  608. package/dist/exploration-project-tailwind/p-e76318c7.entry.js +0 -1
  609. package/dist/exploration-project-tailwind/p-ea51c5d8.entry.js +0 -1
  610. package/dist/exploration-project-tailwind/p-eab5ad36.entry.js +0 -1
  611. package/dist/exploration-project-tailwind/p-f0bc5d7e.entry.js +0 -1
  612. package/dist/exploration-project-tailwind/p-f1beee72.entry.js +0 -1
  613. package/dist/exploration-project-tailwind/p-f543392f.entry.js +0 -1
  614. package/dist/exploration-project-tailwind/p-f61cfb7c.entry.js +0 -1
  615. package/dist/types/components/color-controller/color-controller.d.ts +0 -24
  616. package/dist/types/components/smart-location-dropdown/smart-location-dropdown.d.ts +0 -119
  617. package/dist/types/components/smart-location-dropdown/types.d.ts +0 -37
  618. /package/dist/collection/components/{smart-location-dropdown → label}/types.js +0 -0
@@ -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:"5243803a66e8bfae497796c6bf73d4f006fa35e4",class:["smart-stepper-container","stepper-"+this.orientation,"stepper-"+this.size].join(" ")},o("div",{key:"6a7b4c7d81107e2f42ededb0e598c18ad0c8966a",class:"stepper-header",onClick:this.handleStepClick},o("slot",{key:"dcec321fde59e2b21f49344fd1d105a822d2d9c4"})),o("div",{key:"d9fff061e8c196a8eef547c036ba9c9a384d59d8",class:"stepper-content-area"},o("slot",{key:"a89db3104943e20880b5633732e801dfdcd70dff",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}
@@ -1 +1 @@
1
- import{proxyCustomElement as a,HTMLElement as t,createEvent as r,h as e,transformTag as i}from"@stencil/core/internal/client";import{s as n,d as o}from"./icon.js";import{d as s,a as c}from"./badge.js";import{d as l}from"./input.js";import{d as b}from"./loader.js";const d=a(class extends t{constructor(a){super(),!1!==a&&this.__registerHost(),this.__attachShadow(),this.snackbarClosed=r(this,"snackbarClosed",7),this.snackbarAdded=r(this,"snackbarAdded",7),this.snackbarUpdated=r(this,"snackbarUpdated",7),this.snackbarLinkClicked=r(this,"snackbarLinkClicked",7),this.snackbarActionClicked=r(this,"snackbarActionClicked",7)}get element(){return this}position="top-right";maxVisible=5;stackMode="stack";openMode="slide-down";variant="filled";size="md";theme="auto";cardStack=!1;groupThreshold=3e3;duration=5e3;coalesce=!1;maxDuration=0;showCountdown=!1;textDirection="auto";onTextDirectionChange(){this.updateDir()}iconLibrary="lucide";portal=!0;pauseOnHover=!0;pauseOnFocusLoss=!0;soundMode="synth";particles=!0;enableSlots=!1;snackbarClosed;snackbarAdded;snackbarUpdated;snackbarLinkClicked;snackbarActionClicked;snackbars=[];visibleSnackbars=[];animatedItems=new Set;isHovered=!1;expandedSnackbars=new Set;dragX={};isDragging=null;dir="ltr";countdownSeconds={};timers={};startX=0;componentWillLoad(){this.updateVisibleSnackbars(),this.updateDir(),window.addEventListener("keydown",this.handleGlobalKeyDown),this.portal&&document.body&&this.element.parentElement!==document.body&&document.body.appendChild(this.element),window.addEventListener("blur",(()=>this.handleWindowBlur())),window.addEventListener("focus",(()=>this.handleWindowFocus()))}updateDir(){if("rtl"===this.textDirection)return void(this.dir="rtl");if("ltr"===this.textDirection)return void(this.dir="ltr");const a=getComputedStyle(this.element).direction;this.dir="rtl"===a?"rtl":"ltr"}disconnectedCallback(){window.removeEventListener("keydown",this.handleGlobalKeyDown),window.removeEventListener("blur",(()=>this.handleWindowBlur())),window.removeEventListener("focus",(()=>this.handleWindowFocus()))}handleGlobalKeyDown=a=>{"Escape"===a.key&&this.snackbars.length>0&&(a.preventDefault(),a.stopPropagation(),this.closeAll())};positionChanged(){this.updateVisibleSnackbars()}maxVisibleChanged(){this.updateVisibleSnackbars()}stackModeChanged(){this.updateVisibleSnackbars()}handleWindowBlur(){this.pauseOnFocusLoss&&(this.isHovered=!0)}handleWindowFocus(){if(this.pauseOnFocusLoss){this.isHovered=!1;const a=Date.now();Object.values(this.timers).forEach((t=>{t.lastTime=a}))}}updateVisibleSnackbars(){this.visibleSnackbars=[...this.snackbars].sort(((a,t)=>"urgent"===a.priority&&"urgent"!==t.priority?-1:"urgent"!==a.priority&&"urgent"===t.priority?1:0)).slice(0,this.maxVisible)}async add(a){if(this.coalesce){const t=this.snackbars.findIndex((t=>t.message===a.message&&t.type===a.type));if(-1!==t){const r=this.snackbars[t].id;return this.update(r,{count:(this.snackbars[t].count||1)+1,duration:a.duration||this.snackbars[t].duration||this.duration,history:[...this.snackbars[t].history||[],{message:a.message,title:a.title,timestamp:Date.now()}]}),r}}const t=this.generateId(),r={id:t,type:a.type||"info",title:a.title,message:a.message,html:a.html||!1,avatar:a.avatar,icon:a.icon,iconLibrary:a.iconLibrary||this.iconLibrary,link:a.link,action:a.action,actions:a.actions||[],duration:0===a.duration?0:this.clampDuration(a.duration||this.duration),variant:a.variant||this.variant,size:a.size||this.size,customClass:a.customClass,closable:!1!==a.closable,count:1,haptic:a.haptic||"error"===a.type,sound:a.sound,progress:a.progress||"bar",priority:a.priority||("error"===a.type?"urgent":"high"),theme:a.theme||this.theme,input:a.input,sticky:!!a.sticky,onClose:a.onClose,slot:a.slot,history:[{message:a.message,title:a.title,timestamp:Date.now()}]};return"sovereign"===r.type&&this.particles&&this.spawnParticles(t),r.haptic&&"vibrate"in navigator&&("sovereign"===r.type?navigator.vibrate([100,30,100,30,100]):navigator.vibrate("error"===r.type?[50,50,50]:30)),"synth"===this.soundMode?this.playSynthSound(r.type):r.sound&&new Audio(r.sound).play().catch((()=>{})),this.snackbars="stack"===this.stackMode||"lifo"===this.stackMode?[r,...this.snackbars]:[...this.snackbars,r],this.snackbars.length>this.maxVisible&&this.close(this.snackbars[this.snackbars.length-1].id),this.updateVisibleSnackbars(),this.startTimer(t,r.duration??0),this.snackbarAdded.emit({id:t,item:r}),t}clampDuration(a){return this.maxDuration>0&&a>this.maxDuration?this.maxDuration:a}async close(a){const t=this.snackbars.findIndex((t=>t.id===a));if(-1!==t){if(this.timers[a]&&(cancelAnimationFrame(this.timers[a].id),delete this.timers[a]),this.animatedItems.add(a+"-closing"),this.snackbars[t]?.onClose&&this.snackbars[t].onClose(),this.snackbarClosed.emit({id:a,item:this.snackbars[t]}),this.snackbars=this.snackbars.filter((t=>t.id!==a)),this.animatedItems.delete(a),this.animatedItems.delete(a+"-closing"),void 0!==this.countdownSeconds[a]){const{[a]:t,...r}=this.countdownSeconds;this.countdownSeconds=r}this.updateVisibleSnackbars()}}async closeAll(){Object.values(this.timers).forEach((a=>cancelAnimationFrame(a.id))),this.timers={},this.snackbars.forEach((a=>{a.onClose&&a.onClose(),this.snackbarClosed.emit({id:a.id,item:a})})),this.snackbars=[],this.visibleSnackbars=[],this.animatedItems.clear()}async closeNext(){if(0===this.snackbars.length)return;let a;a="queue"===this.stackMode?this.snackbars[this.snackbars.length-1].id:this.snackbars[0].id,await this.close(a)}async getAll(){return[...this.snackbars]}async pause(a){this.timers[a]&&(cancelAnimationFrame(this.timers[a].id),this.timers[a].id=0)}async resume(a){if(this.timers[a]&&0===this.timers[a].id&&this.timers[a].remaining>0){this.timers[a].lastTime=Date.now();const t=()=>{if(!this.timers[a])return;const r=Date.now(),e=r-this.timers[a].lastTime;this.timers[a].lastTime=r,this.isHovered||(this.timers[a].remaining-=e),this.timers[a].remaining<=0?this.close(a):this.timers[a].id=requestAnimationFrame(t)};this.timers[a].id=requestAnimationFrame(t)}}async replace(a,t){const r=this.snackbars.findIndex((t=>t.id===a));if(-1===r)return;const e={...t,id:a},i=[...this.snackbars];i[r]=e,this.snackbars=i,this.updateVisibleSnackbars(),this.timers[a]&&(cancelAnimationFrame(this.timers[a].id),delete this.timers[a]),(e.duration??0)>0&&this.startTimer(a,e.duration),this.snackbarUpdated.emit({id:a,item:e})}async promise(a,t){const r=await this.add({type:"loading",message:t.loading,duration:0,closable:!0});try{const e=await("function"==typeof a?a():a),i="function"==typeof t.success?t.success(e):t.success;return this.update(r,{type:"success",message:i,duration:t.duration||4e3,closable:!0}),e}catch(a){const e="function"==typeof t.error?t.error(a):t.error;throw this.update(r,{type:"error",message:e,duration:t.duration||5e3,closable:!0}),a}}async undoable(a){const t=await this.add({message:a.message,title:a.title,type:a.type||"neutral",duration:a.duration||6e3,action:a.action||{label:"UNDO",onClick:()=>{a.onUndo(),this.close(t)}},link:a.link}),r=e=>{e.detail.id===t&&(a.onDismiss&&a.onDismiss(),this.element.removeEventListener("snackbarClosed",r))};return this.element.addEventListener("snackbarClosed",r),t}async update(a,t){const r=this.snackbars.findIndex((t=>t.id===a));if(-1!==r){const e=void 0!==t.count&&t.count!==this.snackbars[r].count,i={...this.snackbars[r],...t},n=[...this.snackbars];n[r]=i,this.snackbars=n,this.updateVisibleSnackbars(),e&&this.triggerBadgePulse(a),void 0!==t.duration&&(this.timers[a]&&(cancelAnimationFrame(this.timers[a].id),delete this.timers[a]),t.duration>0&&this.startTimer(a,t.duration)),this.snackbarUpdated.emit({id:a,item:i})}}generateId(){return`snackbar-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}startTimer(a,t){const r=this.snackbars.find((t=>t.id===a));if(t<=0||r&&r.sticky)return;this.timers[a]={remaining:t,lastTime:Date.now(),duration:t,id:0};const e=()=>{if(!this.timers[a])return;const t=Date.now(),r=t-this.timers[a].lastTime;this.timers[a].lastTime=t,this.isHovered||(this.timers[a].remaining-=r);const i=Math.min(100,Math.max(0,100-this.timers[a].remaining/this.timers[a].duration*100)),n=this.getProgressBarElement(a);n&&(n.style.width=i+"%");const o=this.getProgressRingElement(a);if(o&&(o.style.strokeDashoffset=""+(56.5-i/100*56.5)),this.showCountdown){const t=Math.ceil(this.timers[a].remaining/1e3);this.countdownSeconds[a]!==t&&(this.countdownSeconds={...this.countdownSeconds,[a]:t})}this.timers[a].remaining<=0?this.close(a):this.timers[a].id=requestAnimationFrame(e)};this.timers[a].id=requestAnimationFrame(e)}getProgressBarElement(a){return this.element.shadowRoot?.querySelector(`[data-snackbar-id="${a}"] .snackbar-progress`)}getProgressRingElement(a){return this.element.shadowRoot?.querySelector(`[data-snackbar-id="${a}"] .snackbar-progress-ring circle`)}handleCloseClick=a=>{this.close(a)};handleLinkClick=(a,t)=>{t.link&&this.snackbarLinkClicked.emit({id:a,item:t,link:t.link})};playSynthSound(a){try{const t=new(window.AudioContext||window.webkitAudioContext),r=t.createOscillator(),e=t.createGain();r.connect(e),e.connect(t.destination),"success"===a||"sovereign"===a?(r.type="sine",r.frequency.setValueAtTime(880,t.currentTime),r.frequency.exponentialRampToValueAtTime(1320,t.currentTime+.1),e.gain.setValueAtTime(.05,t.currentTime),e.gain.exponentialRampToValueAtTime(.01,t.currentTime+.3)):"error"===a||"warning"===a?(r.type="square",r.frequency.setValueAtTime(220,t.currentTime),r.frequency.exponentialRampToValueAtTime(110,t.currentTime+.1),e.gain.setValueAtTime(.05,t.currentTime),e.gain.exponentialRampToValueAtTime(.01,t.currentTime+.4)):(r.type="sine",r.frequency.setValueAtTime(440,t.currentTime),e.gain.setValueAtTime(.03,t.currentTime),e.gain.exponentialRampToValueAtTime(.01,t.currentTime+.2)),r.start(),r.stop(t.currentTime+.5)}catch(a){}}toggleExpand(a){const t=new Set(this.expandedSnackbars);t.has(a)?t.delete(a):t.add(a),this.expandedSnackbars=t}triggerBadgePulse(a){const t=this.element.shadowRoot?.querySelector(`[data-snackbar-id="${a}"] .snackbar-badge`);t&&(t.classList.remove("pulse"),t.classList.add("pulse"))}spawnParticles(a){if("undefined"==typeof window)return;const t=["✨","⭐","💫","🌟"];setTimeout((()=>{const r=this.element.shadowRoot?.querySelector(`[data-snackbar-id="${a}"]`);if(!r)return;"static"===getComputedStyle(r).position&&(r.style.position="relative",r.style.overflow="visible");const e=(a,e,i)=>{const n=document.createElement("span");n.className="sb-particle sb-particle--"+a;const o=2*Math.PI*e/i,s=80+120*Math.random(),c=Math.round(Math.cos(o)*s),l=Math.round(Math.sin(o)*s),b=Math.round(1080*Math.random()-540),d=(1+.8*Math.random()).toFixed(2),p=(.15*Math.random()).toFixed(2);if("burst"===a){const a=(6+6*Math.random()).toFixed(1);n.style.cssText=`--tx:${c};--ty:${l};--r:${b};--d:${d}s;--delay:${p}s;--size:${a}px`}else if("float"===a){const a=(12+10*Math.random()).toFixed(1);n.textContent=t[Math.floor(Math.random()*t.length)],n.style.cssText=`--tx:${c};--ty:${l};--r:${b};--d:${d}s;--delay:${p}s;--size:${a}px`}else{const a=(4+5*Math.random()).toFixed(1),t=Math.round(60*(Math.random()-.5)),r=Math.round(30*(Math.random()-.5));n.style.cssText=`top:calc(50% + ${r}px);left:calc(50% + ${t}px);--d:${(.6+.5*Math.random()).toFixed(2)}s;--delay:${p}s;--size:${a}px`}r.appendChild(n),setTimeout((()=>n.remove()),1e3*(parseFloat(d)+parseFloat(p))+50)};let i=0,n=0,o=0;for(let a=0;a<24;a++){const t=a%3;0===t&&i<10?e("burst",i++,10):1===t&&n<8?e("float",n++,8):o<6&&e("glint",o++,6)}}),80)}handleKeyDown=(a,t,r)=>{if("Delete"===a.key||"Backspace"===a.key)this.close(t);else if("ArrowDown"===a.key){const a=this.element.shadowRoot?.querySelector(`[data-stack-index="${r+1}"]`);a&&a.focus()}else if("ArrowUp"===a.key){const a=this.element.shadowRoot?.querySelector(`[data-stack-index="${r-1}"]`);a&&a.focus()}};handleActionClick=(a,t)=>{this.snackbarActionClicked.emit({id:a,item:t}),t.action&&t.action.onClick&&t.action.onClick()};handleMouseDown=(a,t)=>{this.isDragging=t,this.startX=a.clientX,this.dragX={...this.dragX,[t]:0},document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("mouseup",this.handleMouseUp)};handleMouseMove=a=>{if(!this.isDragging)return;const t=a.clientX-this.startX;this.dragX={...this.dragX,[this.isDragging]:t}};handleMouseUp=()=>{if(!this.isDragging)return;const a=this.isDragging,t=this.dragX[a]||0;Math.abs(t)>120?(this.dragX={...this.dragX,[a]:t>0?500:-500},setTimeout((()=>this.close(a)),200)):this.dragX={...this.dragX,[a]:0},this.isDragging=null,document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp)};handleMouseEnter=()=>{if(!this.pauseOnHover)return;this.isHovered=!0;const a=Date.now();Object.values(this.timers).forEach((t=>{t.lastTime=a}))};handleTouchStart=(a,t)=>{this.isDragging=t,this.startX=a.touches[0].clientX,this.dragX={...this.dragX,[t]:0}};handleTouchMove=(a,t)=>{if(this.isDragging!==t)return;const r=a.touches[0].clientX-this.startX,e=this.position.includes("rtl"===this.dir?"left":"right"),i=this.position.includes("rtl"===this.dir?"right":"left"),n=e&&r<0||i&&r>0?.2:1;this.dragX={...this.dragX,[t]:r*n},Math.abs(r)>10&&a.preventDefault()};handleTouchEnd=a=>{if(this.isDragging!==a)return;const t=this.dragX[a]||0,r=this.position.includes("rtl"===this.dir?"left":"right"),e=this.position.includes("rtl"===this.dir?"right":"left");r&&t>100||e&&t<-100||this.position.includes("center")&&Math.abs(t)>100?(this.dragX={...this.dragX,[a]:t>0?500:-500},setTimeout((()=>this.close(a)),200)):this.dragX={...this.dragX,[a]:0},this.isDragging=null};handleMouseLeave=()=>{if(!this.pauseOnHover)return;this.isHovered=!1;const a=Date.now();Object.values(this.timers).forEach((t=>{t.lastTime=a}))};handleInputSubmit=(a,t,r)=>{t.input&&t.input.onSubmit&&(t.input.onSubmit(r),this.close(a))};renderIcon(a){if(a.avatar)return e("div",{class:"snackbar-avatar"},e("img",{src:a.avatar,alt:""}));if(a.icon)return e("div",{class:"snackbar-custom-icon"},e("ui-icon",{name:a.icon,library:a.iconLibrary||this.iconLibrary,size:"1.5rem"}));const t=a.type;if("success"===t)return e("div",{class:"snackbar-icon-draw "+t},e("svg",{viewBox:"0 0 52 52"},e("circle",{class:"circle",cx:"26",cy:"26",r:"25",fill:"none"}),e("path",{class:"check",fill:"none",d:"M14.1 27.2l7.1 7.2 16.7-16.8"})));if("error"===t)return e("div",{class:"snackbar-icon-draw "+t},e("svg",{viewBox:"0 0 52 52"},e("circle",{class:"circle",cx:"26",cy:"26",r:"25",fill:"none"}),e("path",{class:"cross",fill:"none",d:"M16 16 36 36 M36 16 16 36"})));const r={success:e("ui-icon",{name:"check-circle",library:this.iconLibrary,size:"1.25em",style:{color:"var(--color-success-600)"}}),error:e("ui-icon",{name:"alert-circle",library:this.iconLibrary,size:"1.25em",style:{color:"var(--color-danger-600)"}}),warning:e("ui-icon",{name:"alert-triangle",library:this.iconLibrary,size:"1.25em",style:{color:"var(--color-warning-600)"}}),info:e("ui-icon",{name:"info",library:this.iconLibrary,size:"1.25em",style:{color:"var(--color-info-600)"}}),neutral:e("ui-icon",{name:"bell",library:this.iconLibrary,size:"1.25em",style:{color:"var(--color-neutral-600, #6b7280)"}}),loading:e("span",{class:"snackbar-loading-spinner"}),sovereign:e("ui-icon",{name:"crown",library:this.iconLibrary,size:"1.25em",style:{color:"#fbbf24"}})};return e("div",{class:"snackbar-icon "+t},r[t])}getAriaLive(a){return"urgent"===a.priority?"assertive":"high"===a.priority||"error"===a.type?"polite":"off"}render(){return e("div",{key:"2ca2794f89a74dc183c6490ffcc65e493eaaea30",class:`snackbar-container ${this.position} ${this.cardStack?"card-stack":""} ${this.isHovered?"hovered":""} ${"rtl"===this.dir?"rtl":""}`,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,role:this.visibleSnackbars.some((a=>"error"===a.type||"urgent"===a.priority))?"alert":"status","aria-atomic":"true"},this.snackbars.length>1&&e("ui-button",{key:"e8288b58adc2f402e120dcacbb3d88993d535123",variant:"ghost",size:"sm",icon:"list-x",iconLibrary:this.iconLibrary,iconSize:"14px",onClick:()=>this.closeAll(),ariaLabel:"Clear all notifications",class:"snackbar-clear-all",label:`Clear All (${this.snackbars.length})`},e("span",{key:"608cb677315ac751d626e2d615ca4636e9d4a11e",class:"kb-hint",slot:"end"},"Esc")),this.cardStack&&!this.isHovered&&this.snackbars.length>1&&e("div",{key:"63bfc95aa5d3b7b5daa77cd286eadf2a57fcfcb4",class:"stack-count-badge",onClick:()=>{this.isHovered=!0},title:"Click to expand all notifications"},e("span",{key:"1b3e099e53747efe22a51b6d27aacf7e7b2ad069",class:"stack-count-number"},this.snackbars.length),e("span",{key:"e2c05e3e0334dfe39043a0bdbc05680de497f473",class:"stack-count-label"},"notifications")),this.visibleSnackbars.map(((a,t)=>{const r=this.cardStack&&!this.isHovered?t:0,i=this.animatedItems.has(a.id+"-closing");return e("div",{key:a.id,"data-snackbar-id":a.id,"data-stack-index":t,class:`snackbar-item ${a.type} ${a.variant||"filled"} ${a.size||"md"} ${this.openMode} ${a.customClass||""} ${this.isDragging===a.id?"dragging":""} ${i?"closing":""} theme-${a.theme||this.theme}`,style:{animationDelay:.1*t+"s","--stack-index":""+r,transform:this.dragX[a.id]?`translateX(${this.dragX[a.id]}px) rotate(${this.dragX[a.id]/20}deg)`:void 0,opacity:this.dragX[a.id]?""+Math.max(0,1-Math.abs(this.dragX[a.id])/400):void 0,cursor:this.isDragging===a.id?"grabbing":void 0},role:"off"!==this.getAriaLive(a)?"log":void 0,"aria-live":this.getAriaLive(a),onMouseDown:t=>this.handleMouseDown(t,a.id),onKeyDown:r=>this.handleKeyDown(r,a.id,t),onTouchStart:t=>this.handleTouchStart(t,a.id),onTouchMove:t=>this.handleTouchMove(t,a.id),onTouchEnd:()=>this.handleTouchEnd(a.id),tabIndex:0},e("div",{class:"item-main-row"},this.renderIcon(a),e("div",{class:"snackbar-content"},e("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},a.title&&e("div",{class:"snackbar-title","aria-label":"Title: "+a.title},a.title),(a.count??0)>1&&e("ui-button",{variant:"ghost",size:"sm",onClick:()=>this.toggleExpand(a.id),ariaLabel:a.count+" occurrences. Click to toggle history.",label:""+a.count,icon:this.expandedSnackbars.has(a.id)?"chevron-up":"chevron-down",iconLibrary:this.iconLibrary,iconSize:"10px",iconPosition:"right"})),this.expandedSnackbars.has(a.id)&&a.history&&e("div",{class:"snackbar-history"},a.history.map(((a,t)=>e("div",{class:"history-item",key:t},e("span",{class:"history-time"},new Date(a.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})),e("span",{class:"history-msg"},a.message))))),a.html?e("div",{class:"snackbar-message",innerHTML:n(a.message),role:"document"}):a.slot?e("div",{class:"snackbar-slot-content"},e("slot",{name:a.slot})):e("p",{class:"snackbar-message","aria-label":"Message: "+a.message},a.message)),!1!==a.closable&&e("ui-button",{variant:"ghost",size:"sm",iconOnly:!0,icon:"x",iconLibrary:this.iconLibrary,iconSize:"1.2em",onButtonClick:()=>this.handleCloseClick(a.id),ariaLabel:"Close snackbar",class:"snackbar-close"})),a.input&&e("div",{class:"snackbar-quick-input"},e("ui-input",{type:a.input.type||"text",placeholder:a.input.placeholder,onInputKeydown:t=>{"Enter"===t.detail.key&&this.handleInputSubmit(a.id,a,t.detail.target.value)},autoFocus:!0,size:"sm",fullWidth:!0})),(a.link||a.action||a.actions&&a.actions.length>0)&&e("div",{class:"snackbar-actions"},a.action&&e("ui-button",{variant:"ghost",size:"sm",onButtonClick:()=>this.handleActionClick(a.id,a),icon:a.action.icon,iconLibrary:this.iconLibrary,iconSize:"12px",label:a.action.label}),a.actions&&a.actions.map((t=>e("ui-button",{variant:t.variant,size:"sm",onButtonClick:()=>{t.onClick&&t.onClick(),this.handleActionClick(a.id,a)},icon:t.icon,iconLibrary:this.iconLibrary,iconSize:"12px",label:t.label}))),a.link&&e("a",{class:"snackbar-link",href:a.link.url,onClick:t=>{t.preventDefault(),this.handleLinkClick(a.id,a)}},a.link.text)),(a.duration??0)>0&&"ring"===a.progress&&e("svg",{class:"snackbar-progress-ring",viewBox:"0 0 20 20","aria-hidden":"true"},e("circle",{cx:"10",cy:"10",r:"9"})),(a.duration??0)>0&&"ring"!==a.progress&&e("div",{class:"snackbar-progress "+a.type,"aria-hidden":"true"}),(a.duration??0)>0&&this.showCountdown&&!a.sticky&&e("span",{class:"snackbar-countdown","aria-hidden":"true"},this.countdownSeconds[a.id]??Math.ceil((a.duration??0)/1e3),"s"),a.history&&a.history.length>1&&e("div",{class:"snackbar-history-indicator"},e("ui-button",{variant:"ghost",size:"sm",onButtonClick:t=>{const r=t.detail;r.stopPropagation();const e=r.currentTarget.closest(".snackbar-item"),i=e?.classList.toggle("history-expanded");r.currentTarget.label=i?"Hide history":`View previous history (${(a.history??[]).length-1})`},label:`View previous history (${(a.history??[]).length-1})`}),e("div",{class:"snackbar-history-list"},a.history.slice(0,-1).reverse().map((a=>e("div",{class:"history-item"},e("span",{class:"history-time"},new Date(a.timestamp).toLocaleTimeString()),e("span",{class:"history-msg"},a.message)))))))})),this.enableSlots&&e("slot",{key:"5a2fd1ebe5ba293ecf8dae3e83cbfe40ce25c995"}))}componentDidRender(){this.visibleSnackbars.forEach((a=>{this.animatedItems.has(a.id)||(this.animatedItems.add(a.id),setTimeout((()=>{const t=this.element.shadowRoot?.querySelector(`[data-snackbar-id="${a.id}"]`);t&&t.classList.add("show")}),10))}))}static get watchers(){return{textDirection:[{onTextDirectionChange:0}],position:[{positionChanged:0}],maxVisible:[{maxVisibleChanged:0}],stackMode:[{stackModeChanged: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}.snackbar-quick-input{width:100%;margin:12px 0 0 0;display:flex;align-items:center;pointer-events:auto}.snackbar-quick-input input{width:100%;min-width:0;box-sizing:border-box;padding:8px 12px;border-radius:6px;border:1px solid var(--border-default, #e5e7eb);font-size:15px;background:var(--bg-primary, #ffffff);outline:none;transition:border 0.2s, box-shadow 0.2s}.snackbar-quick-input input:focus{border:1.5px solid var(--color-primary, #6366f1);box-shadow:0 0 0 2px var(--color-primary, #c7d2fe)}:host{display:block;position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:var(--snackbar-z-index, 10500);transform:translateZ(0);--snackbar-radius:12px;--snackbar-font:inherit;--snackbar-min-width:320px;--snackbar-max-width:440px;--snackbar-z-index:10500;--snackbar-bg:var(--bg-primary, #fdfdfd);--snackbar-color:var(--text-primary, #1f2937);--snackbar-border:rgba(0, 0, 0, 0.08);--snackbar-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);--snackbar-success-bg:var(--color-success-hover, #059669);--snackbar-error-bg:var(--color-danger-hover, #dc2626);--snackbar-warning-bg:var(--color-warning-hover, #d97706);--snackbar-info-bg:var(--color-primary-hover, #2563eb);--snackbar-neutral-bg:var(--color-primary, #4b5563);--snackbar-badge-bg:rgba(15, 23, 42, 0.85);--snackbar-badge-color:var(--color-primary, #60a5fa)}.snackbar-container{display:block;position:absolute;z-index:10501;pointer-events:none;width:auto;max-width:100vw;box-sizing:border-box;padding:16px;display:flex;flex-direction:column;gap:12px;transition:all 0.4s cubic-bezier(0.18, 0.89, 0.32, 1.28);max-height:calc(100vh - 40px)}.snackbar-clear-all{pointer-events:auto;align-self:center;margin-bottom:8px;background:rgba(255, 255, 255, 0.9);border:1px solid rgba(0, 0, 0, 0.1);border-radius:20px;padding:6px 14px;font-size:11px;font-weight:600;color:var(--text-secondary, #4b5563);display:flex;align-items:center;gap:6px;cursor:pointer;box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1);backdrop-filter:blur(8px);transition:all 0.2s;z-index:2000;}.snackbar-container.card-stack:not(.hovered) .snackbar-clear-all{display:none}.snackbar-clear-all:hover{background:var(--bg-primary, #ffffff);transform:translateY(-1px);box-shadow:0 6px 10px -1px rgba(0, 0, 0, 0.15)}.snackbar-clear-all .kb-hint{background:rgba(0, 0, 0, 0.05);padding:1px 4px;border-radius:3px;font-size:9px;opacity:0.6}.snackbar-badge-btn{background:var(--snackbar-badge-bg, rgba(15, 23, 42, 0.85));color:#fff;border-radius:12px;padding:2px 8px;font-size:10px;border:none;cursor:pointer;display:flex;align-items:center;transition:transform 0.2s;pointer-events:auto}.snackbar-badge-btn:hover{transform:scale(1.05)}.snackbar-badge-btn ui-icon{margin-left:4px;display:flex}.snackbar-history{margin-top:8px;padding:8px;background:rgba(0, 0, 0, 0.03);border-radius:6px;font-size:12px;max-height:120px;overflow-y:auto;scrollbar-width:thin}.snackbar-history .history-item{display:flex;gap:8px;padding:4px 0;border-bottom:1px solid rgba(0, 0, 0, 0.05)}.snackbar-history .history-item:last-child{border-bottom:none}.snackbar-history .history-item .history-time{color:var(--text-secondary, #6b7280);font-family:monospace;white-space:nowrap}.snackbar-history .history-item .history-msg{color:var(--text-primary, #111827)}.theme-dark .snackbar-clear-all{background:var(--bg-primary, #1e293b);color:var(--text-standard, #e2e8f0);border-color:rgba(255, 255, 255, 0.1)}.snackbar-countdown{position:absolute;bottom:28px;right:12px;background:rgba(0, 0, 0, 0.55);color:rgba(255, 255, 255, 0.9);border-radius:10px;padding:2px 7px;font-size:10px;font-weight:700;letter-spacing:0.02em;pointer-events:none;opacity:1;transition:opacity 0.3s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:10;min-width:24px;text-align:center;font-variant-numeric:tabular-nums;}.snackbar-container.rtl .snackbar-countdown{right:auto;left:12px}.snackbar-container:hover .snackbar-countdown{opacity:0}.snackbar-container.top-left{top:0;left:0;align-items:flex-start}.snackbar-container.top-right{top:0;right:0;align-items:flex-end}.snackbar-container.top-center{top:0;left:50%;transform:translateX(-50%);align-items:center}.snackbar-container.bottom-left{bottom:0;left:0;flex-direction:column-reverse;align-items:flex-start}.snackbar-container.bottom-right{bottom:0;right:0;flex-direction:column-reverse;align-items:flex-end}.snackbar-container.bottom-center{bottom:0;left:50%;transform:translateX(-50%);flex-direction:column-reverse;align-items:center}.snackbar-container.rtl.top-left{left:auto;right:0;align-items:flex-end}.snackbar-container.rtl.top-right{right:auto;left:0;align-items:flex-start}.snackbar-container.rtl.bottom-left{left:auto;right:0;align-items:flex-end}.snackbar-container.rtl.bottom-right{right:auto;left:0;align-items:flex-start}.snackbar-container.rtl .snackbar-item.slide-right{animation-name:slideInLeft}.snackbar-container.rtl .snackbar-item.slide-left{animation-name:slideInRight}.snackbar-container:not(.bottom-left):not(.bottom-right):not(.bottom-center) .snackbar-item{order:var(--stack-index)}.snackbar-container.bottom-left,.snackbar-container.bottom-right,.snackbar-container.bottom-center{padding-bottom:24px}.snackbar-container.top-left,.snackbar-container.top-right,.snackbar-container.top-center{padding-top:24px}.stack-count-badge{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px;background:rgba(15, 23, 42, 0.85);color:var(--text-standard, #ffffff);border-radius:20px;padding:4px 12px;font-size:11px;font-weight:700;cursor:pointer;z-index:200;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255, 255, 255, 0.15);transition:all 0.2s ease;pointer-events:auto;white-space:nowrap}.stack-count-badge:hover{background:rgba(15, 23, 42, 0.98);transform:translateX(-50%) translateY(-2px);box-shadow:0 4px 12px rgba(0, 0, 0, 0.3)}.stack-count-badge .stack-count-number{font-size:13px;font-weight:800;color:var(--color-primary, #60a5fa)}.stack-count-badge .stack-count-label{opacity:0.7;font-weight:500}.snackbar-container.bottom-left .stack-count-badge,.snackbar-container.bottom-right .stack-count-badge,.snackbar-container.bottom-center .stack-count-badge{bottom:auto;top:-18px}.snackbar-container.bottom-left .stack-count-badge:hover,.snackbar-container.bottom-right .stack-count-badge:hover,.snackbar-container.bottom-center .stack-count-badge:hover{transform:translateX(-50%) translateY(2px)}.snackbar-container.top-right .stack-count-badge,.snackbar-container.bottom-right .stack-count-badge{left:auto;right:0;transform:none}.snackbar-container.top-right .stack-count-badge:hover,.snackbar-container.bottom-right .stack-count-badge:hover{transform:translateY(-2px)}.snackbar-container.top-left .stack-count-badge,.snackbar-container.bottom-left .stack-count-badge{left:0;transform:none}.snackbar-container.top-left .stack-count-badge:hover,.snackbar-container.bottom-left .stack-count-badge:hover{transform:translateY(-2px)}.snackbar-container.card-stack{display:flex !important;flex-direction:column;width:360px;max-width:calc(100vw - 32px);min-height:160px;padding:16px;pointer-events:none;overflow:visible;--stack-gap:8px;--stack-shrink:0.04;--stack-opacity:0.15;}.snackbar-container.card-stack::before{content:"";position:absolute;inset:-8px;background:transparent;pointer-events:auto;z-index:0}.snackbar-container.card-stack:not(.hovered) .snackbar-item{position:absolute !important;margin:0 !important;pointer-events:none;transition:transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.5s ease, width 0.5s ease;width:calc(100% - var(--stack-index, 0) * 14px);opacity:calc(1 - var(--stack-index, 0) * var(--stack-opacity));filter:brightness(calc(1 - var(--stack-index, 0) * 0.08));z-index:calc(50 - var(--stack-index, 0))}.snackbar-container.card-stack.top-left:not(.hovered) .snackbar-item,.snackbar-container.card-stack.top-right:not(.hovered) .snackbar-item,.snackbar-container.card-stack.top-center:not(.hovered) .snackbar-item{top:16px;transform:translateY(calc(var(--stack-index, 0) * var(--stack-gap)))}.snackbar-container.card-stack.bottom-left:not(.hovered) .snackbar-item,.snackbar-container.card-stack.bottom-right:not(.hovered) .snackbar-item,.snackbar-container.card-stack.bottom-center:not(.hovered) .snackbar-item{bottom:16px;transform:translateY(calc(var(--stack-index, 0) * var(--stack-gap) * -1))}.snackbar-container.card-stack.top-right:not(.hovered) .snackbar-item,.snackbar-container.card-stack.bottom-right:not(.hovered) .snackbar-item{right:0;left:auto !important}.snackbar-container.card-stack.top-left:not(.hovered) .snackbar-item,.snackbar-container.card-stack.bottom-left:not(.hovered) .snackbar-item{left:0 !important;right:auto}.snackbar-container.card-stack.top-center:not(.hovered) .snackbar-item,.snackbar-container.card-stack.bottom-center:not(.hovered) .snackbar-item{left:50% !important;right:auto;transform:translateX(-50%) translateY(calc(var(--stack-index, 0) * var(--stack-gap)))}.snackbar-container.card-stack.bottom-center:not(.hovered) .snackbar-item{transform:translateX(-50%) translateY(calc(var(--stack-index, 0) * var(--stack-gap) * -1))}@keyframes stackSlideFromTop{from{transform:translateX(-50%) translateY(-40px);opacity:0}to{transform:translateX(-50%) translateY(calc(var(--stack-index, 0) * var(--stack-gap)));opacity:calc(1 - var(--stack-index, 0) * var(--stack-opacity))}}@keyframes stackSlideFromBottom{from{transform:translateX(-50%) translateY(40px);opacity:0}to{transform:translateX(-50%) translateY(calc(var(--stack-index, 0) * var(--stack-gap) * -1));opacity:calc(1 - var(--stack-index, 0) * var(--stack-opacity))}}.snackbar-container.card-stack.top-center:not(.hovered) .snackbar-item{animation:stackSlideFromTop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) both;animation-delay:calc(var(--stack-index, 0) * 60ms)}.snackbar-container.card-stack.bottom-center:not(.hovered) .snackbar-item{animation:stackSlideFromBottom 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) both;animation-delay:calc(var(--stack-index, 0) * 60ms)}.snackbar-container.card-stack:not(.hovered) .snackbar-item[data-stack-index="0"]{pointer-events:auto;opacity:1 !important;filter:none !important;z-index:100 !important;box-shadow:0 8px 24px rgba(0, 0, 0, 0.18)}.snackbar-container.card-stack.top-center:not(.hovered) .snackbar-item[data-stack-index="0"],.snackbar-container.card-stack.bottom-center:not(.hovered) .snackbar-item[data-stack-index="0"]{transform:translateX(-50%) !important}.snackbar-container.card-stack.hovered{pointer-events:auto;align-items:stretch;}.snackbar-container.card-stack.hovered .snackbar-item{position:relative !important;left:auto !important;right:auto !important;top:auto !important;bottom:auto !important;width:100% !important;transform:none !important;opacity:1 !important;filter:none !important;pointer-events:auto;margin:0 0 8px 0 !important;z-index:auto !important;box-shadow:0 4px 12px rgba(0, 0, 0, 0.1);transition:transform 0.3s ease, box-shadow 0.2s ease}.snackbar-container.card-stack.hovered .snackbar-item:last-child{margin-bottom:0 !important}.snackbar-container.card-stack.hovered .snackbar-item:hover{transform:translateY(-2px) !important;box-shadow:0 12px 24px rgba(0, 0, 0, 0.14)}.snackbar-item{box-sizing:border-box;display:flex;flex-direction:column;width:auto;min-width:var(--snackbar-min-width, 320px);max-width:var(--snackbar-max-width, 440px);padding:16px;border-radius:var(--snackbar-radius, 12px);pointer-events:auto;box-shadow:var(--snackbar-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05));background:var(--snackbar-bg, #fdfdfd);color:var(--snackbar-color, var(--text-primary, #1f2937));transition:all 0.5s cubic-bezier(0.18, 0.89, 0.32, 1.28), transform 0.2s ease;position:relative;overflow:visible;backdrop-filter:blur(16px);border:1px solid var(--snackbar-border, rgba(0, 0, 0, 0.08));z-index:calc(100 - var(--stack-index))}.snackbar-item:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)}.snackbar-item:focus-visible{outline:2px solid var(--color-primary, #10b981);outline-offset:4px;box-shadow:0 0 0 4px rgba(var(--color-primary-rgb, 59, 130, 246), 0.4);background:var(--bg-primary, #ffffff) !important}.snackbar-item{}.snackbar-item.sm{min-width:280px;padding:10px 12px;--snackbar-title-size:13px;--snackbar-msg-size:12px;--snackbar-icon-size:1.1rem;gap:8px}.snackbar-item.md{min-width:320px;padding:16px;--snackbar-title-size:15px;--snackbar-msg-size:14px;--snackbar-icon-size:1.25rem}.snackbar-item.lg{min-width:400px;padding:20px 24px;--snackbar-title-size:18px;--snackbar-msg-size:16px;--snackbar-icon-size:1.5rem;gap:16px}.item-main-row{display:flex;align-items:flex-start;gap:12px;width:100%}.snackbar-content{flex:1;min-width:0}.snackbar-title{font-weight:700;font-size:var(--snackbar-title-size, 15px);color:inherit;margin-bottom:2px;display:flex;align-items:center;gap:8px}.snackbar-message{font-size:var(--snackbar-msg-size, 14px);line-height:1.5;color:inherit;opacity:0.9;margin:0;word-break:break-word;white-space:pre-wrap}.snackbar-icon,.snackbar-custom-icon{font-size:var(--snackbar-icon-size, 1.25rem)}.snackbar-badge{background:rgba(0, 0, 0, 0.1);padding:2px 8px;border-radius:12px;font-size:11px;font-weight:800;transition:all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.snackbar-badge.pulse{animation:badgePop 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275)}@keyframes badgePop{0%{transform:scale(1)}50%{transform:scale(1.6);background:var(--color-danger, #fbbf24);color:var(--text-primary, #000);box-shadow:0 0 15px rgba(251, 191, 36, 0.5)}100%{transform:scale(1)}}.snackbar-item.filled{color:var(--text-standard, #ffffff);border:none}.snackbar-item.filled.success{background:var(--snackbar-success-bg, var(--color-success-hover, #059669))}.snackbar-item.filled.error{background:var(--snackbar-error-bg, var(--color-danger-hover, #dc2626))}.snackbar-item.filled.warning{background:var(--snackbar-warning-bg, var(--color-warning-hover, #d97706))}.snackbar-item.filled.info{background:var(--snackbar-info-bg, var(--color-primary-hover, #2563eb))}.snackbar-item.filled.neutral{background:var(--snackbar-neutral-bg, #4b5563)}.snackbar-item.filled.loading{background:var(--snackbar-neutral-bg, #4b5563)}.snackbar-item.glass{background:rgba(255, 255, 255, 0.6);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255, 255, 255, 0.4);box-shadow:0 8px 32px 0 rgba(31, 38, 135, 0.15);color:var(--text-primary, #1e293b)}.snackbar-item.glass.success{border-left:4px solid var(--color-success, #10b981);background:rgba(236, 253, 245, 0.6)}.snackbar-item.glass.error{border-left:4px solid var(--color-danger, #ef4444);background:rgba(254, 242, 242, 0.6)}.snackbar-item.glass.warning{border-left:4px solid var(--color-warning, #f59e0b);background:rgba(255, 251, 235, 0.6)}.snackbar-item.glass.info{border-left:4px solid var(--color-primary, #10b981);background:rgba(239, 246, 255, 0.6)}.snackbar-item.glass .snackbar-action-btn:not(.variant-danger){background:rgba(0, 0, 0, 0.05);border-color:rgba(0, 0, 0, 0.1);color:var(--color-primary, #334155)}.snackbar-item.glass .snackbar-action-btn:not(.variant-danger):hover{background:rgba(0, 0, 0, 0.1)}.snackbar-item.outlined{background:rgba(255, 255, 255, 0.9);border-width:1.5px;border-style:solid}.snackbar-item.outlined.success{border-color:var(--color-success-hover, #059669);color:var(--color-success-hover, #059669)}.snackbar-item.outlined.error{border-color:var(--color-danger-hover, #dc2626);color:var(--color-danger-hover, #dc2626)}.snackbar-item.outlined.warning{border-color:var(--color-warning-hover, #d97706);color:var(--color-warning-hover, #d97706)}.snackbar-item.outlined.info{border-color:var(--color-primary-hover, #2563eb);color:var(--color-primary-hover, #2563eb)}.snackbar-item.outlined.neutral{border-color:var(--border-strong, #4b5563);color:var(--text-secondary, #4b5563)}.snackbar-item.soft{background:rgba(255, 255, 255, 0.95)}.snackbar-item.soft.success{border-left:4px solid var(--color-success, #10b981);background:var(--bg-primary, #ecfdf5);color:var(--color-primary, #065f46)}.snackbar-item.soft.success .snackbar-title,.snackbar-item.soft.success .snackbar-icon{color:var(--color-success-hover, #059669)}.snackbar-item.soft.error{border-left:4px solid var(--color-danger, #ef4444);background:var(--bg-primary, #fef2f2);color:var(--color-danger, #991b1b)}.snackbar-item.soft.error .snackbar-title,.snackbar-item.soft.error .snackbar-icon{color:var(--color-danger-hover, #dc2626)}.snackbar-item.soft.warning{border-left:4px solid var(--color-warning, #f59e0b);background:var(--bg-primary, #fffbeb);color:var(--color-danger, #92400e)}.snackbar-item.soft.warning .snackbar-title,.snackbar-item.soft.warning .snackbar-icon{color:var(--color-warning-hover, #d97706)}.snackbar-item.soft.info{border-left:4px solid var(--color-primary, #10b981);background:var(--bg-primary, #eff6ff);color:var(--color-primary, #1e40af)}.snackbar-item.soft.info .snackbar-title,.snackbar-item.soft.info .snackbar-icon{color:var(--color-primary-hover, #2563eb)}.snackbar-item.soft.neutral{border-left:4px solid var(--color-primary, #475569);background:var(--bg-secondary, #f3f4f6);color:var(--text-secondary, #374151)}.snackbar-item.soft.neutral .snackbar-title,.snackbar-item.soft.neutral .snackbar-icon{color:var(--color-primary, #475569)}.snackbar-item.neutral:not(.filled),.snackbar-item.loading:not(.filled){background:var(--bg-primary, #f8fafc);border-color:var(--border-subtle, #e2e8f0);color:var(--color-primary, #334155)}.snackbar-item.filled.success{background:var(--color-success, #10b981);color:var(--text-standard, #ffffff)}.snackbar-item.filled.error{background:var(--color-danger, #ef4444);color:var(--text-standard, #ffffff)}.snackbar-item.filled.warning{background:var(--color-warning, #f59e0b);color:var(--text-standard, #ffffff)}.snackbar-item.filled.info{background:var(--color-primary, #10b981);color:var(--text-standard, #ffffff)}.snackbar-item.filled.neutral{background:var(--color-primary, #334155);color:var(--text-standard, #ffffff)}.snackbar-item.filled.loading{background:var(--color-primary, #475569);color:var(--text-standard, #ffffff)}.snackbar-item.sovereign{background:linear-gradient(135deg, var(--bg-primary, #1e293b) 0%, var(--bg-secondary, #0f172a) 100%);color:var(--color-danger, #fbbf24);border:1px solid rgba(251, 191, 36, 0.4);box-shadow:0 0 20px rgba(251, 191, 36, 0.15), 0 10px 15px -3px rgba(0, 0, 0, 0.3);overflow:hidden}.snackbar-item.sovereign::after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle, rgba(251, 191, 36, 0.1) 0%, transparent 70%);opacity:0.5;animation:sovereignPulse 4s infinite alternate}.snackbar-item.sovereign .snackbar-title{color:var(--color-danger, #fbbf24);text-shadow:0 0 8px rgba(251, 191, 36, 0.4);letter-spacing:0.05em}.snackbar-item.sovereign .snackbar-badge{background:var(--color-danger, #fbbf24);color:var(--text-primary, #0f172a)}.snackbar-item.sovereign .snackbar-progress{background:var(--color-danger, #fbbf24);box-shadow:0 0 10px var(--color-danger, #fbbf24);height:3px}.snackbar-item.sovereign .snackbar-icon{color:var(--color-danger, #fbbf24);filter:drop-shadow(0 0 5px rgba(251, 191, 36, 0.6))}@keyframes sovereignPulse{0%{transform:scale(1) translate(0, 0);opacity:0.3}100%{transform:scale(1.2) translate(5%, 5%);opacity:0.6}}.snackbar-item.theme-dark{background:var(--bg-secondary, #111827);color:var(--text-standard, #ffffff);border-color:rgba(255, 255, 255, 0.1);box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.5)}.snackbar-item{opacity:0;transition:all 0.5s cubic-bezier(0.18, 0.89, 0.32, 1.28), opacity 0.3s ease, max-height 0.4s ease, margin 0.4s ease;max-height:200px}.snackbar-item.slide-up{transform:translateY(40px) scale(0.9)}.snackbar-item.slide-down{transform:translateY(-40px) scale(0.9)}.snackbar-item.slide-left{transform:translateX(-100%) scale(0.9)}.snackbar-item.slide-right{transform:translateX(100%) scale(0.9)}.snackbar-item.fade{transform:scale(0.95)}.snackbar-item.scale{transform:scale(0.1)}.snackbar-item.spring{transform:translateY(100px)}.snackbar-item.show{opacity:1;transform:translate(0, 0) scale(1)}.snackbar-item.closing{opacity:0 !important;transform:scale(0.8) translateY(20px) !important;pointer-events:none;max-height:0 !important;margin-top:0 !important;margin-bottom:0 !important;padding-top:0 !important;padding-bottom:0 !important;overflow:hidden;filter:blur(8px)}.snackbar-container.top-left .snackbar-item.closing,.snackbar-container.top-right .snackbar-item.closing,.snackbar-container.top-center .snackbar-item.closing{transform:scale(0.8) translateY(-20px) !important}.snackbar-item.spring.show{animation:springEntry 0.6s cubic-bezier(0.18, 0.89, 0.32, 1.28) forwards}@keyframes springEntry{0%{transform:translateY(100px) scale(0.4);opacity:0}70%{transform:translateY(-10px) scale(1.05);opacity:1}100%{transform:translateY(0) scale(1);opacity:1}}.snackbar-item.bounce.show{animation:bounceIn 0.5s cubic-bezier(0.36, 0, 0.66, -0.56) forwards}@keyframes bounceIn{0%{transform:scale(0.3);opacity:0}50%{transform:scale(1.1);opacity:1}70%{transform:scale(0.9)}100%{transform:scale(1)}}.snackbar-actions{display:flex;align-items:center;gap:12px;margin-top:10px}.snackbar-action-btn{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;background:rgba(0, 0, 0, 0.1);border:1px solid rgba(0, 0, 0, 0.1);color:inherit;cursor:pointer;transition:all 0.2s}.snackbar-action-btn:hover{background:rgba(0, 0, 0, 0.2)}.snackbar-item.filled .snackbar-action-btn{background:rgba(255, 255, 255, 0.2);border-color:rgba(255, 255, 255, 0.3)}.snackbar-item.filled .snackbar-action-btn:hover{background:rgba(255, 255, 255, 0.3)}.snackbar-action-btn.variant-primary{background:var(--color-primary, #10b981);color:var(--text-standard, #ffffff);border-color:var(--color-primary-hover, #2563eb)}.snackbar-action-btn.variant-primary:hover{background:var(--color-primary-hover, #2563eb)}.snackbar-action-btn.variant-danger{background:var(--color-danger, #ef4444);color:var(--text-standard, #ffffff);border-color:var(--color-danger-hover, #dc2626)}.snackbar-action-btn.variant-danger:hover{background:var(--color-danger-hover, #dc2626)}.snackbar-action-btn.variant-text{background:transparent;border:none;font-weight:600;padding:4px 6px}.snackbar-action-btn.variant-text:hover{text-decoration:underline;background:rgba(0, 0, 0, 0.05)}.snackbar-link{font-size:12px;text-decoration:underline;color:inherit;opacity:0.8;font-weight:500}.snackbar-link:hover{opacity:1}.snackbar-progress{position:absolute;bottom:0;left:0;height:4px;background:rgba(255, 255, 255, 0.5);width:0%;transition:width linear;}.snackbar-container.hovered .snackbar-progress{animation:progressPulse 2s infinite ease-in-out}@keyframes progressPulse{0%,100%{opacity:0.5}50%{opacity:0.8}}.snackbar-item:not(.filled) .snackbar-progress,.snackbar-item.neutral.filled .snackbar-progress,.snackbar-item.outlined .snackbar-progress,.snackbar-item.soft .snackbar-progress{background:currentColor;opacity:0.15}.snackbar-progress-ring{position:absolute;top:12px;right:12px;width:20px;height:20px;transform:rotate(-90deg)}.snackbar-progress-ring circle{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:56.5;stroke-dashoffset:56.5;opacity:0.3}.snackbar-close{background:none;border:none;color:inherit;cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0.6;transition:all 0.2s}.snackbar-close:hover{opacity:1;background:rgba(0, 0, 0, 0.05)}.snackbar-icon-draw{width:24px;height:24px}.circle{stroke-dasharray:157;stroke-dashoffset:157;stroke-width:2;stroke-miterlimit:10;stroke:currentColor;fill:none;animation:stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards}.check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;stroke:currentColor;stroke-width:3;animation:stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards}@keyframes stroke{100%{stroke-dashoffset:0}}.snackbar-history-indicator{margin-top:12px;border-top:1px solid rgba(0, 0, 0, 0.05);padding-top:8px;width:100%}.expand-history-btn{background:transparent;border:none;font-size:11px;font-weight:600;color:inherit;opacity:0.6;cursor:pointer;padding:4px 0;display:flex;align-items:center;gap:4px}.expand-history-btn:hover{opacity:1;text-decoration:underline}.snackbar-history-list{max-height:0;overflow:hidden;transition:max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);display:flex;flex-direction:column;gap:6px}.snackbar-item.history-expanded .snackbar-history-list{max-height:150px;margin-top:8px;overflow-y:auto}.history-item{display:flex;flex-direction:column;padding:6px 8px;background:rgba(0, 0, 0, 0.03);border-radius:4px;font-size:12px}.history-item .history-time{font-size:10px;font-weight:700;opacity:0.5}.history-item .history-msg{opacity:0.8}.theme-dark .history-item{background:rgba(255, 255, 255, 0.05)}.snackbar-item.filled .history-item{background:rgba(255, 255, 255, 0.1)}.snackbar-loading-spinner{width:18px;height:18px;border:2px solid rgba(255, 255, 255, 0.3);border-radius:50%;border-top-color:var(--bg-primary, #ffffff);animation:spin 0.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.snackbar-quick-input{width:100%;margin-top:8px}.snackbar-quick-input input{width:100%;padding:8px 12px;border-radius:6px;border:1px solid rgba(0, 0, 0, 0.1);background:rgba(255, 255, 255, 0.5);font-size:13px;outline:none}.snackbar-quick-input input:focus{border-color:var(--color-primary, #10b981);background:var(--bg-primary, #ffffff)}@media (max-width: 500px){.snackbar-container{left:0 !important;right:0 !important;width:100% !important;max-width:100% !important;transform:none !important;padding:12px !important;bottom:0 !important;top:auto !important;}.snackbar-container.top-left,.snackbar-container.top-right,.snackbar-container.top-center{top:0 !important;bottom:auto !important}.snackbar-item{width:100% !important;min-width:0 !important;max-width:100% !important;margin-left:0 !important;margin-right:0 !important}.snackbar-clear-all{width:auto;align-self:center}.snackbar-container.card-stack{min-width:0 !important}.snackbar-container.card-stack::before{display:none}.snackbar-container.card-stack{}}@keyframes sb-particle-burst{0%{transform:translate(-50%, -50%) translate(0, 0) scale(0) rotate(0deg);opacity:0}15%{opacity:1;transform:translate(-50%, -50%) translate(calc(var(--tx) * 0.25px), calc(var(--ty) * 0.25px)) scale(var(--s)) rotate(calc(var(--r) * 0.2deg))}80%{opacity:0.7}100%{transform:translate(-50%, -50%) translate(calc(var(--tx) * 1px), calc(var(--ty) * 1px)) scale(0) rotate(calc(var(--r) * 1deg));opacity:0}}@keyframes sb-particle-float{0%{transform:translate(-50%, -50%) translate(0, 0) scale(0.5) rotate(0deg);opacity:0}20%{opacity:1}100%{transform:translate(-50%, -50%) translate(calc(var(--tx) * 0.5px), calc(var(--ty) * 1px)) scale(0) rotate(calc(var(--r) * 0.5deg));opacity:0}}@keyframes sb-particle-glint{0%{transform:translate(-50%, -50%) scale(0);opacity:0}30%{transform:translate(-50%, -50%) scale(1.6);opacity:1}100%{transform:translate(-50%, -50%) scale(0.3);opacity:0}}.sb-particle{position:absolute;top:50%;left:50%;pointer-events:none;will-change:transform, opacity;z-index:1000;animation-fill-mode:forwards;animation-timing-function:cubic-bezier(0.19, 1, 0.22, 1);animation-duration:var(--d, 1.2s);animation-delay:var(--delay, 0s)}.sb-particle.sb-particle--burst{width:var(--size, 8px);height:var(--size, 8px);border-radius:50%;background:radial-gradient(circle, #fbbf24 0%, #f97316 60%, transparent 100%);box-shadow:0 0 6px 1px rgba(251, 191, 36, 0.5019607843);animation-name:sb-particle-burst}.sb-particle.sb-particle--float{font-size:var(--size, 14px);line-height:1;animation-name:sb-particle-float}.sb-particle.sb-particle--glint{width:var(--size, 6px);height:var(--size, 6px);border-radius:50%;background:#fff;box-shadow:0 0 4px 2px rgba(255, 255, 255, 0.5019607843);animation-name:sb-particle-glint}.snackbar-particle{position:absolute;top:50%;left:50%;pointer-events:none;z-index:1000;opacity:0;will-change:transform, opacity}.snackbar-particle.type-glow{width:8px;height:8px;background:radial-gradient(circle, #fbbf24 0%, transparent 70%);border-radius:50%;box-shadow:0 0 10px #fbbf24;animation:snackbarParticleExplode 1.6s cubic-bezier(0.19, 1, 0.22, 1) forwards}.snackbar-particle.type-emoji{animation:snackbarParticleExplodeRotate 1.8s cubic-bezier(0.19, 1, 0.22, 1) forwards;white-space:nowrap}@keyframes snackbarParticleExplode{0%{transform:translate(-50%, -50%) scale(0);opacity:0}20%{transform:translate(-50%, -50%) scale(1.5);opacity:1}100%{transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(0);opacity:0}}@keyframes snackbarParticleExplodeRotate{0%{transform:translate(-50%, -50%) scale(0) rotate(0deg);opacity:0}20%{transform:translate(-50%, -50%) scale(1.5) rotate(0deg);opacity:1}100%{transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(0) rotate(var(--rot));opacity:0}}'}},[769,"ui-snackbar",{position:[1],maxVisible:[2,"max-visible"],stackMode:[1,"stack-mode"],openMode:[1,"open-mode"],variant:[1],size:[1],theme:[1],cardStack:[4,"card-stack"],groupThreshold:[2,"group-threshold"],duration:[2],coalesce:[4],maxDuration:[2,"max-duration"],showCountdown:[4,"show-countdown"],textDirection:[1,"text-direction"],iconLibrary:[1,"icon-library"],portal:[4],pauseOnHover:[4,"pause-on-hover"],pauseOnFocusLoss:[4,"pause-on-focus-loss"],soundMode:[1,"sound-mode"],particles:[4],enableSlots:[4,"enable-slots"],snackbars:[32],visibleSnackbars:[32],animatedItems:[32],isHovered:[32],expandedSnackbars:[32],dragX:[32],isDragging:[32],dir:[32],countdownSeconds:[32],add:[64],close:[64],closeAll:[64],closeNext:[64],getAll:[64],pause:[64],resume:[64],replace:[64],promise:[64],undoable:[64],update:[64]},void 0,{textDirection:[{onTextDirectionChange:0}],position:[{positionChanged:0}],maxVisible:[{maxVisibleChanged:0}],stackMode:[{stackModeChanged:0}]}]),p=d,h=function(){"undefined"!=typeof customElements&&["ui-snackbar","ui-badge","ui-button","ui-icon","ui-input","ui-loader"].forEach((a=>{switch(a){case"ui-snackbar":customElements.get(i(a))||customElements.define(i(a),d);break;case"ui-badge":customElements.get(i(a))||c();break;case"ui-button":customElements.get(i(a))||s();break;case"ui-icon":customElements.get(i(a))||o();break;case"ui-input":customElements.get(i(a))||l();break;case"ui-loader":customElements.get(i(a))||b()}}))};export{p as UiSnackbar,h as defineCustomElement}
1
+ import{proxyCustomElement as a,HTMLElement as t,createEvent as r,h as e,transformTag as i}from"@stencil/core/internal/client";import{s as n,d as o}from"./icon.js";import{d as s}from"./badge.js";import{d as c}from"./button.js";import{d as l}from"./input.js";import{d as b}from"./loader.js";const d=a(class extends t{constructor(a){super(),!1!==a&&this.__registerHost(),this.__attachShadow(),this.snackbarClosed=r(this,"snackbarClosed",7),this.snackbarAdded=r(this,"snackbarAdded",7),this.snackbarUpdated=r(this,"snackbarUpdated",7),this.snackbarLinkClicked=r(this,"snackbarLinkClicked",7),this.snackbarActionClicked=r(this,"snackbarActionClicked",7)}get element(){return this}position="top-right";maxVisible=5;stackMode="stack";openMode="slide-down";variant="filled";size="md";theme="auto";cardStack=!1;groupThreshold=3e3;duration=5e3;coalesce=!1;maxDuration=0;showCountdown=!1;textDirection="auto";onTextDirectionChange(){this.updateDir()}iconLibrary="lucide";portal=!0;pauseOnHover=!0;pauseOnFocusLoss=!0;soundMode="synth";particles=!0;enableSlots=!1;snackbarClosed;snackbarAdded;snackbarUpdated;snackbarLinkClicked;snackbarActionClicked;snackbars=[];visibleSnackbars=[];animatedItems=new Set;isHovered=!1;expandedSnackbars=new Set;dragX={};isDragging=null;dir="ltr";countdownSeconds={};timers={};startX=0;componentWillLoad(){this.updateVisibleSnackbars(),this.updateDir(),window.addEventListener("keydown",this.handleGlobalKeyDown),this.portal&&document.body&&this.element.parentElement!==document.body&&document.body.appendChild(this.element),window.addEventListener("blur",(()=>this.handleWindowBlur())),window.addEventListener("focus",(()=>this.handleWindowFocus()))}updateDir(){if("rtl"===this.textDirection)return void(this.dir="rtl");if("ltr"===this.textDirection)return void(this.dir="ltr");const a=getComputedStyle(this.element).direction;this.dir="rtl"===a?"rtl":"ltr"}disconnectedCallback(){window.removeEventListener("keydown",this.handleGlobalKeyDown),window.removeEventListener("blur",(()=>this.handleWindowBlur())),window.removeEventListener("focus",(()=>this.handleWindowFocus()))}handleGlobalKeyDown=a=>{"Escape"===a.key&&this.snackbars.length>0&&(a.preventDefault(),a.stopPropagation(),this.closeAll())};positionChanged(){this.updateVisibleSnackbars()}maxVisibleChanged(){this.updateVisibleSnackbars()}stackModeChanged(){this.updateVisibleSnackbars()}handleWindowBlur(){this.pauseOnFocusLoss&&(this.isHovered=!0)}handleWindowFocus(){if(this.pauseOnFocusLoss){this.isHovered=!1;const a=Date.now();Object.values(this.timers).forEach((t=>{t.lastTime=a}))}}updateVisibleSnackbars(){this.visibleSnackbars=[...this.snackbars].sort(((a,t)=>"urgent"===a.priority&&"urgent"!==t.priority?-1:"urgent"!==a.priority&&"urgent"===t.priority?1:0)).slice(0,this.maxVisible)}async add(a){if(this.coalesce){const t=this.snackbars.findIndex((t=>t.message===a.message&&t.type===a.type));if(-1!==t){const r=this.snackbars[t].id;return this.update(r,{count:(this.snackbars[t].count||1)+1,duration:a.duration||this.snackbars[t].duration||this.duration,history:[...this.snackbars[t].history||[],{message:a.message,title:a.title,timestamp:Date.now()}]}),r}}const t=this.generateId(),r={id:t,type:a.type||"info",title:a.title,message:a.message,html:a.html||!1,avatar:a.avatar,icon:a.icon,iconLibrary:a.iconLibrary||this.iconLibrary,link:a.link,action:a.action,actions:a.actions||[],duration:0===a.duration?0:this.clampDuration(a.duration||this.duration),variant:a.variant||this.variant,size:a.size||this.size,customClass:a.customClass,closable:!1!==a.closable,count:1,haptic:a.haptic||"error"===a.type,sound:a.sound,progress:a.progress||"bar",priority:a.priority||("error"===a.type?"urgent":"high"),theme:a.theme||this.theme,input:a.input,sticky:!!a.sticky,onClose:a.onClose,slot:a.slot,history:[{message:a.message,title:a.title,timestamp:Date.now()}]};return"sovereign"===r.type&&this.particles&&this.spawnParticles(t),r.haptic&&"vibrate"in navigator&&("sovereign"===r.type?navigator.vibrate([100,30,100,30,100]):navigator.vibrate("error"===r.type?[50,50,50]:30)),"synth"===this.soundMode?this.playSynthSound(r.type):r.sound&&new Audio(r.sound).play().catch((()=>{})),this.snackbars="stack"===this.stackMode||"lifo"===this.stackMode?[r,...this.snackbars]:[...this.snackbars,r],this.snackbars.length>this.maxVisible&&this.close(this.snackbars[this.snackbars.length-1].id),this.updateVisibleSnackbars(),this.startTimer(t,r.duration??0),this.snackbarAdded.emit({id:t,item:r}),t}clampDuration(a){return this.maxDuration>0&&a>this.maxDuration?this.maxDuration:a}async close(a){const t=this.snackbars.findIndex((t=>t.id===a));if(-1!==t){if(this.timers[a]&&(cancelAnimationFrame(this.timers[a].id),delete this.timers[a]),this.animatedItems.add(a+"-closing"),this.snackbars[t]?.onClose&&this.snackbars[t].onClose(),this.snackbarClosed.emit({id:a,item:this.snackbars[t]}),this.snackbars=this.snackbars.filter((t=>t.id!==a)),this.animatedItems.delete(a),this.animatedItems.delete(a+"-closing"),void 0!==this.countdownSeconds[a]){const{[a]:t,...r}=this.countdownSeconds;this.countdownSeconds=r}this.updateVisibleSnackbars()}}async closeAll(){Object.values(this.timers).forEach((a=>cancelAnimationFrame(a.id))),this.timers={},this.snackbars.forEach((a=>{a.onClose&&a.onClose(),this.snackbarClosed.emit({id:a.id,item:a})})),this.snackbars=[],this.visibleSnackbars=[],this.animatedItems.clear()}async closeNext(){if(0===this.snackbars.length)return;let a;a="queue"===this.stackMode?this.snackbars[this.snackbars.length-1].id:this.snackbars[0].id,await this.close(a)}async getAll(){return[...this.snackbars]}async pause(a){this.timers[a]&&(cancelAnimationFrame(this.timers[a].id),this.timers[a].id=0)}async resume(a){if(this.timers[a]&&0===this.timers[a].id&&this.timers[a].remaining>0){this.timers[a].lastTime=Date.now();const t=()=>{if(!this.timers[a])return;const r=Date.now(),e=r-this.timers[a].lastTime;this.timers[a].lastTime=r,this.isHovered||(this.timers[a].remaining-=e),this.timers[a].remaining<=0?this.close(a):this.timers[a].id=requestAnimationFrame(t)};this.timers[a].id=requestAnimationFrame(t)}}async replace(a,t){const r=this.snackbars.findIndex((t=>t.id===a));if(-1===r)return;const e={...t,id:a},i=[...this.snackbars];i[r]=e,this.snackbars=i,this.updateVisibleSnackbars(),this.timers[a]&&(cancelAnimationFrame(this.timers[a].id),delete this.timers[a]),(e.duration??0)>0&&this.startTimer(a,e.duration),this.snackbarUpdated.emit({id:a,item:e})}async promise(a,t){const r=await this.add({type:"loading",message:t.loading,duration:0,closable:!0});try{const e=await("function"==typeof a?a():a),i="function"==typeof t.success?t.success(e):t.success;return this.update(r,{type:"success",message:i,duration:t.duration||4e3,closable:!0}),e}catch(a){const e="function"==typeof t.error?t.error(a):t.error;throw this.update(r,{type:"error",message:e,duration:t.duration||5e3,closable:!0}),a}}async undoable(a){const t=await this.add({message:a.message,title:a.title,type:a.type||"neutral",duration:a.duration||6e3,action:a.action||{label:"UNDO",onClick:()=>{a.onUndo(),this.close(t)}},link:a.link}),r=e=>{e.detail.id===t&&(a.onDismiss&&a.onDismiss(),this.element.removeEventListener("snackbarClosed",r))};return this.element.addEventListener("snackbarClosed",r),t}async update(a,t){const r=this.snackbars.findIndex((t=>t.id===a));if(-1!==r){const e=void 0!==t.count&&t.count!==this.snackbars[r].count,i={...this.snackbars[r],...t},n=[...this.snackbars];n[r]=i,this.snackbars=n,this.updateVisibleSnackbars(),e&&this.triggerBadgePulse(a),void 0!==t.duration&&(this.timers[a]&&(cancelAnimationFrame(this.timers[a].id),delete this.timers[a]),t.duration>0&&this.startTimer(a,t.duration)),this.snackbarUpdated.emit({id:a,item:i})}}generateId(){return`snackbar-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}startTimer(a,t){const r=this.snackbars.find((t=>t.id===a));if(t<=0||r&&r.sticky)return;this.timers[a]={remaining:t,lastTime:Date.now(),duration:t,id:0};const e=()=>{if(!this.timers[a])return;const t=Date.now(),r=t-this.timers[a].lastTime;this.timers[a].lastTime=t,this.isHovered||(this.timers[a].remaining-=r);const i=Math.min(100,Math.max(0,100-this.timers[a].remaining/this.timers[a].duration*100)),n=this.getProgressBarElement(a);n&&(n.style.width=i+"%");const o=this.getProgressRingElement(a);if(o&&(o.style.strokeDashoffset=""+(56.5-i/100*56.5)),this.showCountdown){const t=Math.ceil(this.timers[a].remaining/1e3);this.countdownSeconds[a]!==t&&(this.countdownSeconds={...this.countdownSeconds,[a]:t})}this.timers[a].remaining<=0?this.close(a):this.timers[a].id=requestAnimationFrame(e)};this.timers[a].id=requestAnimationFrame(e)}getProgressBarElement(a){return this.element.shadowRoot?.querySelector(`[data-snackbar-id="${a}"] .snackbar-progress`)}getProgressRingElement(a){return this.element.shadowRoot?.querySelector(`[data-snackbar-id="${a}"] .snackbar-progress-ring circle`)}handleCloseClick=a=>{this.close(a)};handleLinkClick=(a,t)=>{t.link&&this.snackbarLinkClicked.emit({id:a,item:t,link:t.link})};playSynthSound(a){try{const t=new(window.AudioContext||window.webkitAudioContext),r=t.createOscillator(),e=t.createGain();r.connect(e),e.connect(t.destination),"success"===a||"sovereign"===a?(r.type="sine",r.frequency.setValueAtTime(880,t.currentTime),r.frequency.exponentialRampToValueAtTime(1320,t.currentTime+.1),e.gain.setValueAtTime(.05,t.currentTime),e.gain.exponentialRampToValueAtTime(.01,t.currentTime+.3)):"error"===a||"warning"===a?(r.type="square",r.frequency.setValueAtTime(220,t.currentTime),r.frequency.exponentialRampToValueAtTime(110,t.currentTime+.1),e.gain.setValueAtTime(.05,t.currentTime),e.gain.exponentialRampToValueAtTime(.01,t.currentTime+.4)):(r.type="sine",r.frequency.setValueAtTime(440,t.currentTime),e.gain.setValueAtTime(.03,t.currentTime),e.gain.exponentialRampToValueAtTime(.01,t.currentTime+.2)),r.start(),r.stop(t.currentTime+.5)}catch(a){}}toggleExpand(a){const t=new Set(this.expandedSnackbars);t.has(a)?t.delete(a):t.add(a),this.expandedSnackbars=t}triggerBadgePulse(a){const t=this.element.shadowRoot?.querySelector(`[data-snackbar-id="${a}"] .snackbar-badge`);t&&(t.classList.remove("pulse"),t.classList.add("pulse"))}spawnParticles(a){if("undefined"==typeof window)return;const t=["✨","⭐","💫","🌟"];setTimeout((()=>{const r=this.element.shadowRoot?.querySelector(`[data-snackbar-id="${a}"]`);if(!r)return;"static"===getComputedStyle(r).position&&(r.style.position="relative",r.style.overflow="visible");const e=(a,e,i)=>{const n=document.createElement("span");n.className="sb-particle sb-particle--"+a;const o=2*Math.PI*e/i,s=80+120*Math.random(),c=Math.round(Math.cos(o)*s),l=Math.round(Math.sin(o)*s),b=Math.round(1080*Math.random()-540),d=(1+.8*Math.random()).toFixed(2),p=(.15*Math.random()).toFixed(2);if("burst"===a){const a=(6+6*Math.random()).toFixed(1);n.style.cssText=`--tx:${c};--ty:${l};--r:${b};--d:${d}s;--delay:${p}s;--size:${a}px`}else if("float"===a){const a=(12+10*Math.random()).toFixed(1);n.textContent=t[Math.floor(Math.random()*t.length)],n.style.cssText=`--tx:${c};--ty:${l};--r:${b};--d:${d}s;--delay:${p}s;--size:${a}px`}else{const a=(4+5*Math.random()).toFixed(1),t=Math.round(60*(Math.random()-.5)),r=Math.round(30*(Math.random()-.5));n.style.cssText=`top:calc(50% + ${r}px);left:calc(50% + ${t}px);--d:${(.6+.5*Math.random()).toFixed(2)}s;--delay:${p}s;--size:${a}px`}r.appendChild(n),setTimeout((()=>n.remove()),1e3*(parseFloat(d)+parseFloat(p))+50)};let i=0,n=0,o=0;for(let a=0;a<24;a++){const t=a%3;0===t&&i<10?e("burst",i++,10):1===t&&n<8?e("float",n++,8):o<6&&e("glint",o++,6)}}),80)}handleKeyDown=(a,t,r)=>{if("Delete"===a.key||"Backspace"===a.key)this.close(t);else if("ArrowDown"===a.key){const a=this.element.shadowRoot?.querySelector(`[data-stack-index="${r+1}"]`);a&&a.focus()}else if("ArrowUp"===a.key){const a=this.element.shadowRoot?.querySelector(`[data-stack-index="${r-1}"]`);a&&a.focus()}};handleActionClick=(a,t)=>{this.snackbarActionClicked.emit({id:a,item:t}),t.action&&t.action.onClick&&t.action.onClick()};handleMouseDown=(a,t)=>{this.isDragging=t,this.startX=a.clientX,this.dragX={...this.dragX,[t]:0},document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("mouseup",this.handleMouseUp)};handleMouseMove=a=>{if(!this.isDragging)return;const t=a.clientX-this.startX;this.dragX={...this.dragX,[this.isDragging]:t}};handleMouseUp=()=>{if(!this.isDragging)return;const a=this.isDragging,t=this.dragX[a]||0;Math.abs(t)>120?(this.dragX={...this.dragX,[a]:t>0?500:-500},setTimeout((()=>this.close(a)),200)):this.dragX={...this.dragX,[a]:0},this.isDragging=null,document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp)};handleMouseEnter=()=>{if(!this.pauseOnHover)return;this.isHovered=!0;const a=Date.now();Object.values(this.timers).forEach((t=>{t.lastTime=a}))};handleTouchStart=(a,t)=>{this.isDragging=t,this.startX=a.touches[0].clientX,this.dragX={...this.dragX,[t]:0}};handleTouchMove=(a,t)=>{if(this.isDragging!==t)return;const r=a.touches[0].clientX-this.startX,e=this.position.includes("rtl"===this.dir?"left":"right"),i=this.position.includes("rtl"===this.dir?"right":"left"),n=e&&r<0||i&&r>0?.2:1;this.dragX={...this.dragX,[t]:r*n},Math.abs(r)>10&&a.preventDefault()};handleTouchEnd=a=>{if(this.isDragging!==a)return;const t=this.dragX[a]||0,r=this.position.includes("rtl"===this.dir?"left":"right"),e=this.position.includes("rtl"===this.dir?"right":"left");r&&t>100||e&&t<-100||this.position.includes("center")&&Math.abs(t)>100?(this.dragX={...this.dragX,[a]:t>0?500:-500},setTimeout((()=>this.close(a)),200)):this.dragX={...this.dragX,[a]:0},this.isDragging=null};handleMouseLeave=()=>{if(!this.pauseOnHover)return;this.isHovered=!1;const a=Date.now();Object.values(this.timers).forEach((t=>{t.lastTime=a}))};handleInputSubmit=(a,t,r)=>{t.input&&t.input.onSubmit&&(t.input.onSubmit(r),this.close(a))};renderIcon(a){if(a.avatar)return e("div",{class:"snackbar-avatar"},e("img",{src:a.avatar,alt:""}));if(a.icon)return e("div",{class:"snackbar-custom-icon"},e("ui-icon",{name:a.icon,library:a.iconLibrary||this.iconLibrary,size:"1.5rem"}));const t=a.type;if("success"===t)return e("div",{class:"snackbar-icon-draw "+t},e("svg",{viewBox:"0 0 52 52"},e("circle",{class:"circle",cx:"26",cy:"26",r:"25",fill:"none"}),e("path",{class:"check",fill:"none",d:"M14.1 27.2l7.1 7.2 16.7-16.8"})));if("error"===t)return e("div",{class:"snackbar-icon-draw "+t},e("svg",{viewBox:"0 0 52 52"},e("circle",{class:"circle",cx:"26",cy:"26",r:"25",fill:"none"}),e("path",{class:"cross",fill:"none",d:"M16 16 36 36 M36 16 16 36"})));const r={success:e("ui-icon",{name:"check-circle",library:this.iconLibrary,size:"1.25em",style:{color:"var(--color-success-600)"}}),error:e("ui-icon",{name:"alert-circle",library:this.iconLibrary,size:"1.25em",style:{color:"var(--color-danger-600)"}}),warning:e("ui-icon",{name:"alert-triangle",library:this.iconLibrary,size:"1.25em",style:{color:"var(--color-warning-600)"}}),info:e("ui-icon",{name:"info",library:this.iconLibrary,size:"1.25em",style:{color:"var(--color-info-600)"}}),neutral:e("ui-icon",{name:"bell",library:this.iconLibrary,size:"1.25em",style:{color:"var(--color-neutral-600, #6b7280)"}}),loading:e("span",{class:"snackbar-loading-spinner"}),sovereign:e("ui-icon",{name:"crown",library:this.iconLibrary,size:"1.25em",style:{color:"#fbbf24"}})};return e("div",{class:"snackbar-icon "+t},r[t])}getAriaLive(a){return"urgent"===a.priority?"assertive":"high"===a.priority||"error"===a.type?"polite":"off"}render(){return e("div",{key:"2ca2794f89a74dc183c6490ffcc65e493eaaea30",class:`snackbar-container ${this.position} ${this.cardStack?"card-stack":""} ${this.isHovered?"hovered":""} ${"rtl"===this.dir?"rtl":""}`,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,role:this.visibleSnackbars.some((a=>"error"===a.type||"urgent"===a.priority))?"alert":"status","aria-atomic":"true"},this.snackbars.length>1&&e("ui-button",{key:"e8288b58adc2f402e120dcacbb3d88993d535123",variant:"ghost",size:"sm",icon:"list-x",iconLibrary:this.iconLibrary,iconSize:"14px",onClick:()=>this.closeAll(),ariaLabel:"Clear all notifications",class:"snackbar-clear-all",label:`Clear All (${this.snackbars.length})`},e("span",{key:"608cb677315ac751d626e2d615ca4636e9d4a11e",class:"kb-hint",slot:"end"},"Esc")),this.cardStack&&!this.isHovered&&this.snackbars.length>1&&e("div",{key:"63bfc95aa5d3b7b5daa77cd286eadf2a57fcfcb4",class:"stack-count-badge",onClick:()=>{this.isHovered=!0},title:"Click to expand all notifications"},e("span",{key:"1b3e099e53747efe22a51b6d27aacf7e7b2ad069",class:"stack-count-number"},this.snackbars.length),e("span",{key:"e2c05e3e0334dfe39043a0bdbc05680de497f473",class:"stack-count-label"},"notifications")),this.visibleSnackbars.map(((a,t)=>{const r=this.cardStack&&!this.isHovered?t:0,i=this.animatedItems.has(a.id+"-closing");return e("div",{key:a.id,"data-snackbar-id":a.id,"data-stack-index":t,class:`snackbar-item ${a.type} ${a.variant||"filled"} ${a.size||"md"} ${this.openMode} ${a.customClass||""} ${this.isDragging===a.id?"dragging":""} ${i?"closing":""} theme-${a.theme||this.theme}`,style:{animationDelay:.1*t+"s","--stack-index":""+r,transform:this.dragX[a.id]?`translateX(${this.dragX[a.id]}px) rotate(${this.dragX[a.id]/20}deg)`:void 0,opacity:this.dragX[a.id]?""+Math.max(0,1-Math.abs(this.dragX[a.id])/400):void 0,cursor:this.isDragging===a.id?"grabbing":void 0},role:"off"!==this.getAriaLive(a)?"log":void 0,"aria-live":this.getAriaLive(a),onMouseDown:t=>this.handleMouseDown(t,a.id),onKeyDown:r=>this.handleKeyDown(r,a.id,t),onTouchStart:t=>this.handleTouchStart(t,a.id),onTouchMove:t=>this.handleTouchMove(t,a.id),onTouchEnd:()=>this.handleTouchEnd(a.id),tabIndex:0},e("div",{class:"item-main-row"},this.renderIcon(a),e("div",{class:"snackbar-content"},e("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},a.title&&e("div",{class:"snackbar-title","aria-label":"Title: "+a.title},a.title),(a.count??0)>1&&e("ui-button",{variant:"ghost",size:"sm",onClick:()=>this.toggleExpand(a.id),ariaLabel:a.count+" occurrences. Click to toggle history.",label:""+a.count,icon:this.expandedSnackbars.has(a.id)?"chevron-up":"chevron-down",iconLibrary:this.iconLibrary,iconSize:"10px",iconPosition:"right"})),this.expandedSnackbars.has(a.id)&&a.history&&e("div",{class:"snackbar-history"},a.history.map(((a,t)=>e("div",{class:"history-item",key:t},e("span",{class:"history-time"},new Date(a.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})),e("span",{class:"history-msg"},a.message))))),a.html?e("div",{class:"snackbar-message",innerHTML:n(a.message),role:"document"}):a.slot?e("div",{class:"snackbar-slot-content"},e("slot",{name:a.slot})):e("p",{class:"snackbar-message","aria-label":"Message: "+a.message},a.message)),!1!==a.closable&&e("ui-button",{variant:"ghost",size:"sm",iconOnly:!0,icon:"x",iconLibrary:this.iconLibrary,iconSize:"1.2em",onButtonClick:()=>this.handleCloseClick(a.id),ariaLabel:"Close snackbar",class:"snackbar-close"})),a.input&&e("div",{class:"snackbar-quick-input"},e("ui-input",{type:a.input.type||"text",placeholder:a.input.placeholder,onInputKeydown:t=>{"Enter"===t.detail.key&&this.handleInputSubmit(a.id,a,t.detail.target.value)},autoFocus:!0,size:"sm",fullWidth:!0})),(a.link||a.action||a.actions&&a.actions.length>0)&&e("div",{class:"snackbar-actions"},a.action&&e("ui-button",{variant:"ghost",size:"sm",onButtonClick:()=>this.handleActionClick(a.id,a),icon:a.action.icon,iconLibrary:this.iconLibrary,iconSize:"12px",label:a.action.label}),a.actions&&a.actions.map((t=>e("ui-button",{variant:t.variant,size:"sm",onButtonClick:()=>{t.onClick&&t.onClick(),this.handleActionClick(a.id,a)},icon:t.icon,iconLibrary:this.iconLibrary,iconSize:"12px",label:t.label}))),a.link&&e("a",{class:"snackbar-link",href:a.link.url,onClick:t=>{t.preventDefault(),this.handleLinkClick(a.id,a)}},a.link.text)),(a.duration??0)>0&&"ring"===a.progress&&e("svg",{class:"snackbar-progress-ring",viewBox:"0 0 20 20","aria-hidden":"true"},e("circle",{cx:"10",cy:"10",r:"9"})),(a.duration??0)>0&&"ring"!==a.progress&&e("div",{class:"snackbar-progress "+a.type,"aria-hidden":"true"}),(a.duration??0)>0&&this.showCountdown&&!a.sticky&&e("span",{class:"snackbar-countdown","aria-hidden":"true"},this.countdownSeconds[a.id]??Math.ceil((a.duration??0)/1e3),"s"),a.history&&a.history.length>1&&e("div",{class:"snackbar-history-indicator"},e("ui-button",{variant:"ghost",size:"sm",onButtonClick:t=>{const r=t.detail;r.stopPropagation();const e=r.currentTarget.closest(".snackbar-item"),i=e?.classList.toggle("history-expanded");r.currentTarget.label=i?"Hide history":`View previous history (${(a.history??[]).length-1})`},label:`View previous history (${(a.history??[]).length-1})`}),e("div",{class:"snackbar-history-list"},a.history.slice(0,-1).reverse().map((a=>e("div",{class:"history-item"},e("span",{class:"history-time"},new Date(a.timestamp).toLocaleTimeString()),e("span",{class:"history-msg"},a.message)))))))})),this.enableSlots&&e("slot",{key:"5a2fd1ebe5ba293ecf8dae3e83cbfe40ce25c995"}))}componentDidRender(){this.visibleSnackbars.forEach((a=>{this.animatedItems.has(a.id)||(this.animatedItems.add(a.id),setTimeout((()=>{const t=this.element.shadowRoot?.querySelector(`[data-snackbar-id="${a.id}"]`);t&&t.classList.add("show")}),10))}))}static get watchers(){return{textDirection:[{onTextDirectionChange:0}],position:[{positionChanged:0}],maxVisible:[{maxVisibleChanged:0}],stackMode:[{stackModeChanged: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}.snackbar-quick-input{width:100%;margin:12px 0 0 0;display:flex;align-items:center;pointer-events:auto}.snackbar-quick-input input{width:100%;min-width:0;box-sizing:border-box;padding:8px 12px;border-radius:6px;border:1px solid var(--border-default, #e5e7eb);font-size:15px;background:var(--bg-primary, #ffffff);outline:none;transition:border 0.2s, box-shadow 0.2s}.snackbar-quick-input input:focus{border:1.5px solid var(--color-primary, #6366f1);box-shadow:0 0 0 2px var(--color-primary, #c7d2fe)}:host{display:block;position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:var(--snackbar-z-index, 10500);transform:translateZ(0);--snackbar-radius:12px;--snackbar-font:inherit;--snackbar-min-width:320px;--snackbar-max-width:440px;--snackbar-z-index:10500;--snackbar-bg:var(--bg-primary, #fdfdfd);--snackbar-color:var(--text-primary, #1f2937);--snackbar-border:rgba(0, 0, 0, 0.08);--snackbar-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);--snackbar-success-bg:var(--color-success-hover, #059669);--snackbar-error-bg:var(--color-danger-hover, #dc2626);--snackbar-warning-bg:var(--color-warning-hover, #d97706);--snackbar-info-bg:var(--color-primary-hover, #2563eb);--snackbar-neutral-bg:var(--color-primary, #4b5563);--snackbar-badge-bg:rgba(15, 23, 42, 0.85);--snackbar-badge-color:var(--color-primary, #60a5fa)}.snackbar-container{display:block;position:absolute;z-index:10501;pointer-events:none;width:auto;max-width:100vw;box-sizing:border-box;padding:16px;display:flex;flex-direction:column;gap:12px;transition:all 0.4s cubic-bezier(0.18, 0.89, 0.32, 1.28);max-height:calc(100vh - 40px)}.snackbar-clear-all{pointer-events:auto;align-self:center;margin-bottom:8px;background:rgba(255, 255, 255, 0.9);border:1px solid rgba(0, 0, 0, 0.1);border-radius:20px;padding:6px 14px;font-size:11px;font-weight:600;color:var(--text-secondary, #4b5563);display:flex;align-items:center;gap:6px;cursor:pointer;box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1);backdrop-filter:blur(8px);transition:all 0.2s;z-index:2000;}.snackbar-container.card-stack:not(.hovered) .snackbar-clear-all{display:none}.snackbar-clear-all:hover{background:var(--bg-primary, #ffffff);transform:translateY(-1px);box-shadow:0 6px 10px -1px rgba(0, 0, 0, 0.15)}.snackbar-clear-all .kb-hint{background:rgba(0, 0, 0, 0.05);padding:1px 4px;border-radius:3px;font-size:9px;opacity:0.6}.snackbar-badge-btn{background:var(--snackbar-badge-bg, rgba(15, 23, 42, 0.85));color:#fff;border-radius:12px;padding:2px 8px;font-size:10px;border:none;cursor:pointer;display:flex;align-items:center;transition:transform 0.2s;pointer-events:auto}.snackbar-badge-btn:hover{transform:scale(1.05)}.snackbar-badge-btn ui-icon{margin-left:4px;display:flex}.snackbar-history{margin-top:8px;padding:8px;background:rgba(0, 0, 0, 0.03);border-radius:6px;font-size:12px;max-height:120px;overflow-y:auto;scrollbar-width:thin}.snackbar-history .history-item{display:flex;gap:8px;padding:4px 0;border-bottom:1px solid rgba(0, 0, 0, 0.05)}.snackbar-history .history-item:last-child{border-bottom:none}.snackbar-history .history-item .history-time{color:var(--text-secondary, #6b7280);font-family:monospace;white-space:nowrap}.snackbar-history .history-item .history-msg{color:var(--text-primary, #111827)}.theme-dark .snackbar-clear-all{background:var(--bg-primary, #1e293b);color:var(--text-standard, #e2e8f0);border-color:rgba(255, 255, 255, 0.1)}.snackbar-countdown{position:absolute;bottom:28px;right:12px;background:rgba(0, 0, 0, 0.55);color:rgba(255, 255, 255, 0.9);border-radius:10px;padding:2px 7px;font-size:10px;font-weight:700;letter-spacing:0.02em;pointer-events:none;opacity:1;transition:opacity 0.3s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:10;min-width:24px;text-align:center;font-variant-numeric:tabular-nums;}.snackbar-container.rtl .snackbar-countdown{right:auto;left:12px}.snackbar-container:hover .snackbar-countdown{opacity:0}.snackbar-container.top-left{top:0;left:0;align-items:flex-start}.snackbar-container.top-right{top:0;right:0;align-items:flex-end}.snackbar-container.top-center{top:0;left:50%;transform:translateX(-50%);align-items:center}.snackbar-container.bottom-left{bottom:0;left:0;flex-direction:column-reverse;align-items:flex-start}.snackbar-container.bottom-right{bottom:0;right:0;flex-direction:column-reverse;align-items:flex-end}.snackbar-container.bottom-center{bottom:0;left:50%;transform:translateX(-50%);flex-direction:column-reverse;align-items:center}.snackbar-container.rtl.top-left{left:auto;right:0;align-items:flex-end}.snackbar-container.rtl.top-right{right:auto;left:0;align-items:flex-start}.snackbar-container.rtl.bottom-left{left:auto;right:0;align-items:flex-end}.snackbar-container.rtl.bottom-right{right:auto;left:0;align-items:flex-start}.snackbar-container.rtl .snackbar-item.slide-right{animation-name:slideInLeft}.snackbar-container.rtl .snackbar-item.slide-left{animation-name:slideInRight}.snackbar-container:not(.bottom-left):not(.bottom-right):not(.bottom-center) .snackbar-item{order:var(--stack-index)}.snackbar-container.bottom-left,.snackbar-container.bottom-right,.snackbar-container.bottom-center{padding-bottom:24px}.snackbar-container.top-left,.snackbar-container.top-right,.snackbar-container.top-center{padding-top:24px}.stack-count-badge{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px;background:rgba(15, 23, 42, 0.85);color:var(--text-standard, #ffffff);border-radius:20px;padding:4px 12px;font-size:11px;font-weight:700;cursor:pointer;z-index:200;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255, 255, 255, 0.15);transition:all 0.2s ease;pointer-events:auto;white-space:nowrap}.stack-count-badge:hover{background:rgba(15, 23, 42, 0.98);transform:translateX(-50%) translateY(-2px);box-shadow:0 4px 12px rgba(0, 0, 0, 0.3)}.stack-count-badge .stack-count-number{font-size:13px;font-weight:800;color:var(--color-primary, #60a5fa)}.stack-count-badge .stack-count-label{opacity:0.7;font-weight:500}.snackbar-container.bottom-left .stack-count-badge,.snackbar-container.bottom-right .stack-count-badge,.snackbar-container.bottom-center .stack-count-badge{bottom:auto;top:-18px}.snackbar-container.bottom-left .stack-count-badge:hover,.snackbar-container.bottom-right .stack-count-badge:hover,.snackbar-container.bottom-center .stack-count-badge:hover{transform:translateX(-50%) translateY(2px)}.snackbar-container.top-right .stack-count-badge,.snackbar-container.bottom-right .stack-count-badge{left:auto;right:0;transform:none}.snackbar-container.top-right .stack-count-badge:hover,.snackbar-container.bottom-right .stack-count-badge:hover{transform:translateY(-2px)}.snackbar-container.top-left .stack-count-badge,.snackbar-container.bottom-left .stack-count-badge{left:0;transform:none}.snackbar-container.top-left .stack-count-badge:hover,.snackbar-container.bottom-left .stack-count-badge:hover{transform:translateY(-2px)}.snackbar-container.card-stack{display:flex !important;flex-direction:column;width:360px;max-width:calc(100vw - 32px);min-height:160px;padding:16px;pointer-events:none;overflow:visible;--stack-gap:8px;--stack-shrink:0.04;--stack-opacity:0.15;}.snackbar-container.card-stack::before{content:"";position:absolute;inset:-8px;background:transparent;pointer-events:auto;z-index:0}.snackbar-container.card-stack:not(.hovered) .snackbar-item{position:absolute !important;margin:0 !important;pointer-events:none;transition:transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.5s ease, width 0.5s ease;width:calc(100% - var(--stack-index, 0) * 14px);opacity:calc(1 - var(--stack-index, 0) * var(--stack-opacity));filter:brightness(calc(1 - var(--stack-index, 0) * 0.08));z-index:calc(50 - var(--stack-index, 0))}.snackbar-container.card-stack.top-left:not(.hovered) .snackbar-item,.snackbar-container.card-stack.top-right:not(.hovered) .snackbar-item,.snackbar-container.card-stack.top-center:not(.hovered) .snackbar-item{top:16px;transform:translateY(calc(var(--stack-index, 0) * var(--stack-gap)))}.snackbar-container.card-stack.bottom-left:not(.hovered) .snackbar-item,.snackbar-container.card-stack.bottom-right:not(.hovered) .snackbar-item,.snackbar-container.card-stack.bottom-center:not(.hovered) .snackbar-item{bottom:16px;transform:translateY(calc(var(--stack-index, 0) * var(--stack-gap) * -1))}.snackbar-container.card-stack.top-right:not(.hovered) .snackbar-item,.snackbar-container.card-stack.bottom-right:not(.hovered) .snackbar-item{right:0;left:auto !important}.snackbar-container.card-stack.top-left:not(.hovered) .snackbar-item,.snackbar-container.card-stack.bottom-left:not(.hovered) .snackbar-item{left:0 !important;right:auto}.snackbar-container.card-stack.top-center:not(.hovered) .snackbar-item,.snackbar-container.card-stack.bottom-center:not(.hovered) .snackbar-item{left:50% !important;right:auto;transform:translateX(-50%) translateY(calc(var(--stack-index, 0) * var(--stack-gap)))}.snackbar-container.card-stack.bottom-center:not(.hovered) .snackbar-item{transform:translateX(-50%) translateY(calc(var(--stack-index, 0) * var(--stack-gap) * -1))}@keyframes stackSlideFromTop{from{transform:translateX(-50%) translateY(-40px);opacity:0}to{transform:translateX(-50%) translateY(calc(var(--stack-index, 0) * var(--stack-gap)));opacity:calc(1 - var(--stack-index, 0) * var(--stack-opacity))}}@keyframes stackSlideFromBottom{from{transform:translateX(-50%) translateY(40px);opacity:0}to{transform:translateX(-50%) translateY(calc(var(--stack-index, 0) * var(--stack-gap) * -1));opacity:calc(1 - var(--stack-index, 0) * var(--stack-opacity))}}.snackbar-container.card-stack.top-center:not(.hovered) .snackbar-item{animation:stackSlideFromTop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) both;animation-delay:calc(var(--stack-index, 0) * 60ms)}.snackbar-container.card-stack.bottom-center:not(.hovered) .snackbar-item{animation:stackSlideFromBottom 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) both;animation-delay:calc(var(--stack-index, 0) * 60ms)}.snackbar-container.card-stack:not(.hovered) .snackbar-item[data-stack-index="0"]{pointer-events:auto;opacity:1 !important;filter:none !important;z-index:100 !important;box-shadow:0 8px 24px rgba(0, 0, 0, 0.18)}.snackbar-container.card-stack.top-center:not(.hovered) .snackbar-item[data-stack-index="0"],.snackbar-container.card-stack.bottom-center:not(.hovered) .snackbar-item[data-stack-index="0"]{transform:translateX(-50%) !important}.snackbar-container.card-stack.hovered{pointer-events:auto;align-items:stretch;}.snackbar-container.card-stack.hovered .snackbar-item{position:relative !important;left:auto !important;right:auto !important;top:auto !important;bottom:auto !important;width:100% !important;transform:none !important;opacity:1 !important;filter:none !important;pointer-events:auto;margin:0 0 8px 0 !important;z-index:auto !important;box-shadow:0 4px 12px rgba(0, 0, 0, 0.1);transition:transform 0.3s ease, box-shadow 0.2s ease}.snackbar-container.card-stack.hovered .snackbar-item:last-child{margin-bottom:0 !important}.snackbar-container.card-stack.hovered .snackbar-item:hover{transform:translateY(-2px) !important;box-shadow:0 12px 24px rgba(0, 0, 0, 0.14)}.snackbar-item{box-sizing:border-box;display:flex;flex-direction:column;width:auto;min-width:var(--snackbar-min-width, 320px);max-width:var(--snackbar-max-width, 440px);padding:16px;border-radius:var(--snackbar-radius, 12px);pointer-events:auto;box-shadow:var(--snackbar-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05));background:var(--snackbar-bg, #fdfdfd);color:var(--snackbar-color, var(--text-primary, #1f2937));transition:all 0.5s cubic-bezier(0.18, 0.89, 0.32, 1.28), transform 0.2s ease;position:relative;overflow:visible;backdrop-filter:blur(16px);border:1px solid var(--snackbar-border, rgba(0, 0, 0, 0.08));z-index:calc(100 - var(--stack-index))}.snackbar-item:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)}.snackbar-item:focus-visible{outline:2px solid var(--color-primary, #10b981);outline-offset:4px;box-shadow:0 0 0 4px rgba(var(--color-primary-rgb, 59, 130, 246), 0.4);background:var(--bg-primary, #ffffff) !important}.snackbar-item{}.snackbar-item.sm{min-width:280px;padding:10px 12px;--snackbar-title-size:13px;--snackbar-msg-size:12px;--snackbar-icon-size:1.1rem;gap:8px}.snackbar-item.md{min-width:320px;padding:16px;--snackbar-title-size:15px;--snackbar-msg-size:14px;--snackbar-icon-size:1.25rem}.snackbar-item.lg{min-width:400px;padding:20px 24px;--snackbar-title-size:18px;--snackbar-msg-size:16px;--snackbar-icon-size:1.5rem;gap:16px}.item-main-row{display:flex;align-items:flex-start;gap:12px;width:100%}.snackbar-content{flex:1;min-width:0}.snackbar-title{font-weight:700;font-size:var(--snackbar-title-size, 15px);color:inherit;margin-bottom:2px;display:flex;align-items:center;gap:8px}.snackbar-message{font-size:var(--snackbar-msg-size, 14px);line-height:1.5;color:inherit;opacity:0.9;margin:0;word-break:break-word;white-space:pre-wrap}.snackbar-icon,.snackbar-custom-icon{font-size:var(--snackbar-icon-size, 1.25rem)}.snackbar-badge{background:rgba(0, 0, 0, 0.1);padding:2px 8px;border-radius:12px;font-size:11px;font-weight:800;transition:all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.snackbar-badge.pulse{animation:badgePop 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275)}@keyframes badgePop{0%{transform:scale(1)}50%{transform:scale(1.6);background:var(--color-danger, #fbbf24);color:var(--text-primary, #000);box-shadow:0 0 15px rgba(251, 191, 36, 0.5)}100%{transform:scale(1)}}.snackbar-item.filled{color:var(--text-standard, #ffffff);border:none}.snackbar-item.filled.success{background:var(--snackbar-success-bg, var(--color-success-hover, #059669))}.snackbar-item.filled.error{background:var(--snackbar-error-bg, var(--color-danger-hover, #dc2626))}.snackbar-item.filled.warning{background:var(--snackbar-warning-bg, var(--color-warning-hover, #d97706))}.snackbar-item.filled.info{background:var(--snackbar-info-bg, var(--color-primary-hover, #2563eb))}.snackbar-item.filled.neutral{background:var(--snackbar-neutral-bg, #4b5563)}.snackbar-item.filled.loading{background:var(--snackbar-neutral-bg, #4b5563)}.snackbar-item.glass{background:rgba(255, 255, 255, 0.6);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255, 255, 255, 0.4);box-shadow:0 8px 32px 0 rgba(31, 38, 135, 0.15);color:var(--text-primary, #1e293b)}.snackbar-item.glass.success{border-left:4px solid var(--color-success, #10b981);background:rgba(236, 253, 245, 0.6)}.snackbar-item.glass.error{border-left:4px solid var(--color-danger, #ef4444);background:rgba(254, 242, 242, 0.6)}.snackbar-item.glass.warning{border-left:4px solid var(--color-warning, #f59e0b);background:rgba(255, 251, 235, 0.6)}.snackbar-item.glass.info{border-left:4px solid var(--color-primary, #10b981);background:rgba(239, 246, 255, 0.6)}.snackbar-item.glass .snackbar-action-btn:not(.variant-danger){background:rgba(0, 0, 0, 0.05);border-color:rgba(0, 0, 0, 0.1);color:var(--color-primary, #334155)}.snackbar-item.glass .snackbar-action-btn:not(.variant-danger):hover{background:rgba(0, 0, 0, 0.1)}.snackbar-item.outlined{background:rgba(255, 255, 255, 0.9);border-width:1.5px;border-style:solid}.snackbar-item.outlined.success{border-color:var(--color-success-hover, #059669);color:var(--color-success-hover, #059669)}.snackbar-item.outlined.error{border-color:var(--color-danger-hover, #dc2626);color:var(--color-danger-hover, #dc2626)}.snackbar-item.outlined.warning{border-color:var(--color-warning-hover, #d97706);color:var(--color-warning-hover, #d97706)}.snackbar-item.outlined.info{border-color:var(--color-primary-hover, #2563eb);color:var(--color-primary-hover, #2563eb)}.snackbar-item.outlined.neutral{border-color:var(--border-strong, #4b5563);color:var(--text-secondary, #4b5563)}.snackbar-item.soft{background:rgba(255, 255, 255, 0.95)}.snackbar-item.soft.success{border-left:4px solid var(--color-success, #10b981);background:var(--bg-primary, #ecfdf5);color:var(--color-primary, #065f46)}.snackbar-item.soft.success .snackbar-title,.snackbar-item.soft.success .snackbar-icon{color:var(--color-success-hover, #059669)}.snackbar-item.soft.error{border-left:4px solid var(--color-danger, #ef4444);background:var(--bg-primary, #fef2f2);color:var(--color-danger, #991b1b)}.snackbar-item.soft.error .snackbar-title,.snackbar-item.soft.error .snackbar-icon{color:var(--color-danger-hover, #dc2626)}.snackbar-item.soft.warning{border-left:4px solid var(--color-warning, #f59e0b);background:var(--bg-primary, #fffbeb);color:var(--color-danger, #92400e)}.snackbar-item.soft.warning .snackbar-title,.snackbar-item.soft.warning .snackbar-icon{color:var(--color-warning-hover, #d97706)}.snackbar-item.soft.info{border-left:4px solid var(--color-primary, #10b981);background:var(--bg-primary, #eff6ff);color:var(--color-primary, #1e40af)}.snackbar-item.soft.info .snackbar-title,.snackbar-item.soft.info .snackbar-icon{color:var(--color-primary-hover, #2563eb)}.snackbar-item.soft.neutral{border-left:4px solid var(--color-primary, #475569);background:var(--bg-secondary, #f3f4f6);color:var(--text-secondary, #374151)}.snackbar-item.soft.neutral .snackbar-title,.snackbar-item.soft.neutral .snackbar-icon{color:var(--color-primary, #475569)}.snackbar-item.neutral:not(.filled),.snackbar-item.loading:not(.filled){background:var(--bg-primary, #f8fafc);border-color:var(--border-subtle, #e2e8f0);color:var(--color-primary, #334155)}.snackbar-item.filled.success{background:var(--color-success, #10b981);color:var(--text-standard, #ffffff)}.snackbar-item.filled.error{background:var(--color-danger, #ef4444);color:var(--text-standard, #ffffff)}.snackbar-item.filled.warning{background:var(--color-warning, #f59e0b);color:var(--text-standard, #ffffff)}.snackbar-item.filled.info{background:var(--color-primary, #10b981);color:var(--text-standard, #ffffff)}.snackbar-item.filled.neutral{background:var(--color-primary, #334155);color:var(--text-standard, #ffffff)}.snackbar-item.filled.loading{background:var(--color-primary, #475569);color:var(--text-standard, #ffffff)}.snackbar-item.sovereign{background:linear-gradient(135deg, var(--bg-primary, #1e293b) 0%, var(--bg-secondary, #0f172a) 100%);color:var(--color-danger, #fbbf24);border:1px solid rgba(251, 191, 36, 0.4);box-shadow:0 0 20px rgba(251, 191, 36, 0.15), 0 10px 15px -3px rgba(0, 0, 0, 0.3);overflow:hidden}.snackbar-item.sovereign::after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle, rgba(251, 191, 36, 0.1) 0%, transparent 70%);opacity:0.5;animation:sovereignPulse 4s infinite alternate}.snackbar-item.sovereign .snackbar-title{color:var(--color-danger, #fbbf24);text-shadow:0 0 8px rgba(251, 191, 36, 0.4);letter-spacing:0.05em}.snackbar-item.sovereign .snackbar-badge{background:var(--color-danger, #fbbf24);color:var(--text-primary, #0f172a)}.snackbar-item.sovereign .snackbar-progress{background:var(--color-danger, #fbbf24);box-shadow:0 0 10px var(--color-danger, #fbbf24);height:3px}.snackbar-item.sovereign .snackbar-icon{color:var(--color-danger, #fbbf24);filter:drop-shadow(0 0 5px rgba(251, 191, 36, 0.6))}@keyframes sovereignPulse{0%{transform:scale(1) translate(0, 0);opacity:0.3}100%{transform:scale(1.2) translate(5%, 5%);opacity:0.6}}.snackbar-item.theme-dark{background:var(--bg-secondary, #111827);color:var(--text-standard, #ffffff);border-color:rgba(255, 255, 255, 0.1);box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.5)}.snackbar-item{opacity:0;transition:all 0.5s cubic-bezier(0.18, 0.89, 0.32, 1.28), opacity 0.3s ease, max-height 0.4s ease, margin 0.4s ease;max-height:200px}.snackbar-item.slide-up{transform:translateY(40px) scale(0.9)}.snackbar-item.slide-down{transform:translateY(-40px) scale(0.9)}.snackbar-item.slide-left{transform:translateX(-100%) scale(0.9)}.snackbar-item.slide-right{transform:translateX(100%) scale(0.9)}.snackbar-item.fade{transform:scale(0.95)}.snackbar-item.scale{transform:scale(0.1)}.snackbar-item.spring{transform:translateY(100px)}.snackbar-item.show{opacity:1;transform:translate(0, 0) scale(1)}.snackbar-item.closing{opacity:0 !important;transform:scale(0.8) translateY(20px) !important;pointer-events:none;max-height:0 !important;margin-top:0 !important;margin-bottom:0 !important;padding-top:0 !important;padding-bottom:0 !important;overflow:hidden;filter:blur(8px)}.snackbar-container.top-left .snackbar-item.closing,.snackbar-container.top-right .snackbar-item.closing,.snackbar-container.top-center .snackbar-item.closing{transform:scale(0.8) translateY(-20px) !important}.snackbar-item.spring.show{animation:springEntry 0.6s cubic-bezier(0.18, 0.89, 0.32, 1.28) forwards}@keyframes springEntry{0%{transform:translateY(100px) scale(0.4);opacity:0}70%{transform:translateY(-10px) scale(1.05);opacity:1}100%{transform:translateY(0) scale(1);opacity:1}}.snackbar-item.bounce.show{animation:bounceIn 0.5s cubic-bezier(0.36, 0, 0.66, -0.56) forwards}@keyframes bounceIn{0%{transform:scale(0.3);opacity:0}50%{transform:scale(1.1);opacity:1}70%{transform:scale(0.9)}100%{transform:scale(1)}}.snackbar-actions{display:flex;align-items:center;gap:12px;margin-top:10px}.snackbar-action-btn{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;background:rgba(0, 0, 0, 0.1);border:1px solid rgba(0, 0, 0, 0.1);color:inherit;cursor:pointer;transition:all 0.2s}.snackbar-action-btn:hover{background:rgba(0, 0, 0, 0.2)}.snackbar-item.filled .snackbar-action-btn{background:rgba(255, 255, 255, 0.2);border-color:rgba(255, 255, 255, 0.3)}.snackbar-item.filled .snackbar-action-btn:hover{background:rgba(255, 255, 255, 0.3)}.snackbar-action-btn.variant-primary{background:var(--color-primary, #10b981);color:var(--text-standard, #ffffff);border-color:var(--color-primary-hover, #2563eb)}.snackbar-action-btn.variant-primary:hover{background:var(--color-primary-hover, #2563eb)}.snackbar-action-btn.variant-danger{background:var(--color-danger, #ef4444);color:var(--text-standard, #ffffff);border-color:var(--color-danger-hover, #dc2626)}.snackbar-action-btn.variant-danger:hover{background:var(--color-danger-hover, #dc2626)}.snackbar-action-btn.variant-text{background:transparent;border:none;font-weight:600;padding:4px 6px}.snackbar-action-btn.variant-text:hover{text-decoration:underline;background:rgba(0, 0, 0, 0.05)}.snackbar-link{font-size:12px;text-decoration:underline;color:inherit;opacity:0.8;font-weight:500}.snackbar-link:hover{opacity:1}.snackbar-progress{position:absolute;bottom:0;left:0;height:4px;background:rgba(255, 255, 255, 0.5);width:0%;transition:width linear;}.snackbar-container.hovered .snackbar-progress{animation:progressPulse 2s infinite ease-in-out}@keyframes progressPulse{0%,100%{opacity:0.5}50%{opacity:0.8}}.snackbar-item:not(.filled) .snackbar-progress,.snackbar-item.neutral.filled .snackbar-progress,.snackbar-item.outlined .snackbar-progress,.snackbar-item.soft .snackbar-progress{background:currentColor;opacity:0.15}.snackbar-progress-ring{position:absolute;top:12px;right:12px;width:20px;height:20px;transform:rotate(-90deg)}.snackbar-progress-ring circle{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:56.5;stroke-dashoffset:56.5;opacity:0.3}.snackbar-close{background:none;border:none;color:inherit;cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0.6;transition:all 0.2s}.snackbar-close:hover{opacity:1;background:rgba(0, 0, 0, 0.05)}.snackbar-icon-draw{width:24px;height:24px}.circle{stroke-dasharray:157;stroke-dashoffset:157;stroke-width:2;stroke-miterlimit:10;stroke:currentColor;fill:none;animation:stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards}.check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;stroke:currentColor;stroke-width:3;animation:stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards}@keyframes stroke{100%{stroke-dashoffset:0}}.snackbar-history-indicator{margin-top:12px;border-top:1px solid rgba(0, 0, 0, 0.05);padding-top:8px;width:100%}.expand-history-btn{background:transparent;border:none;font-size:11px;font-weight:600;color:inherit;opacity:0.6;cursor:pointer;padding:4px 0;display:flex;align-items:center;gap:4px}.expand-history-btn:hover{opacity:1;text-decoration:underline}.snackbar-history-list{max-height:0;overflow:hidden;transition:max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);display:flex;flex-direction:column;gap:6px}.snackbar-item.history-expanded .snackbar-history-list{max-height:150px;margin-top:8px;overflow-y:auto}.history-item{display:flex;flex-direction:column;padding:6px 8px;background:rgba(0, 0, 0, 0.03);border-radius:4px;font-size:12px}.history-item .history-time{font-size:10px;font-weight:700;opacity:0.5}.history-item .history-msg{opacity:0.8}.theme-dark .history-item{background:rgba(255, 255, 255, 0.05)}.snackbar-item.filled .history-item{background:rgba(255, 255, 255, 0.1)}.snackbar-loading-spinner{width:18px;height:18px;border:2px solid rgba(255, 255, 255, 0.3);border-radius:50%;border-top-color:var(--bg-primary, #ffffff);animation:spin 0.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.snackbar-quick-input{width:100%;margin-top:8px}.snackbar-quick-input input{width:100%;padding:8px 12px;border-radius:6px;border:1px solid rgba(0, 0, 0, 0.1);background:rgba(255, 255, 255, 0.5);font-size:13px;outline:none}.snackbar-quick-input input:focus{border-color:var(--color-primary, #10b981);background:var(--bg-primary, #ffffff)}@media (max-width: 500px){.snackbar-container{left:0 !important;right:0 !important;width:100% !important;max-width:100% !important;transform:none !important;padding:12px !important;bottom:0 !important;top:auto !important;}.snackbar-container.top-left,.snackbar-container.top-right,.snackbar-container.top-center{top:0 !important;bottom:auto !important}.snackbar-item{width:100% !important;min-width:0 !important;max-width:100% !important;margin-left:0 !important;margin-right:0 !important}.snackbar-clear-all{width:auto;align-self:center}.snackbar-container.card-stack{min-width:0 !important}.snackbar-container.card-stack::before{display:none}.snackbar-container.card-stack{}}@keyframes sb-particle-burst{0%{transform:translate(-50%, -50%) translate(0, 0) scale(0) rotate(0deg);opacity:0}15%{opacity:1;transform:translate(-50%, -50%) translate(calc(var(--tx) * 0.25px), calc(var(--ty) * 0.25px)) scale(var(--s)) rotate(calc(var(--r) * 0.2deg))}80%{opacity:0.7}100%{transform:translate(-50%, -50%) translate(calc(var(--tx) * 1px), calc(var(--ty) * 1px)) scale(0) rotate(calc(var(--r) * 1deg));opacity:0}}@keyframes sb-particle-float{0%{transform:translate(-50%, -50%) translate(0, 0) scale(0.5) rotate(0deg);opacity:0}20%{opacity:1}100%{transform:translate(-50%, -50%) translate(calc(var(--tx) * 0.5px), calc(var(--ty) * 1px)) scale(0) rotate(calc(var(--r) * 0.5deg));opacity:0}}@keyframes sb-particle-glint{0%{transform:translate(-50%, -50%) scale(0);opacity:0}30%{transform:translate(-50%, -50%) scale(1.6);opacity:1}100%{transform:translate(-50%, -50%) scale(0.3);opacity:0}}.sb-particle{position:absolute;top:50%;left:50%;pointer-events:none;will-change:transform, opacity;z-index:1000;animation-fill-mode:forwards;animation-timing-function:cubic-bezier(0.19, 1, 0.22, 1);animation-duration:var(--d, 1.2s);animation-delay:var(--delay, 0s)}.sb-particle.sb-particle--burst{width:var(--size, 8px);height:var(--size, 8px);border-radius:50%;background:radial-gradient(circle, #fbbf24 0%, #f97316 60%, transparent 100%);box-shadow:0 0 6px 1px rgba(251, 191, 36, 0.5019607843);animation-name:sb-particle-burst}.sb-particle.sb-particle--float{font-size:var(--size, 14px);line-height:1;animation-name:sb-particle-float}.sb-particle.sb-particle--glint{width:var(--size, 6px);height:var(--size, 6px);border-radius:50%;background:#fff;box-shadow:0 0 4px 2px rgba(255, 255, 255, 0.5019607843);animation-name:sb-particle-glint}.snackbar-particle{position:absolute;top:50%;left:50%;pointer-events:none;z-index:1000;opacity:0;will-change:transform, opacity}.snackbar-particle.type-glow{width:8px;height:8px;background:radial-gradient(circle, #fbbf24 0%, transparent 70%);border-radius:50%;box-shadow:0 0 10px #fbbf24;animation:snackbarParticleExplode 1.6s cubic-bezier(0.19, 1, 0.22, 1) forwards}.snackbar-particle.type-emoji{animation:snackbarParticleExplodeRotate 1.8s cubic-bezier(0.19, 1, 0.22, 1) forwards;white-space:nowrap}@keyframes snackbarParticleExplode{0%{transform:translate(-50%, -50%) scale(0);opacity:0}20%{transform:translate(-50%, -50%) scale(1.5);opacity:1}100%{transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(0);opacity:0}}@keyframes snackbarParticleExplodeRotate{0%{transform:translate(-50%, -50%) scale(0) rotate(0deg);opacity:0}20%{transform:translate(-50%, -50%) scale(1.5) rotate(0deg);opacity:1}100%{transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(0) rotate(var(--rot));opacity:0}}'}},[769,"ui-snackbar",{position:[1],maxVisible:[2,"max-visible"],stackMode:[1,"stack-mode"],openMode:[1,"open-mode"],variant:[1],size:[1],theme:[1],cardStack:[4,"card-stack"],groupThreshold:[2,"group-threshold"],duration:[2],coalesce:[4],maxDuration:[2,"max-duration"],showCountdown:[4,"show-countdown"],textDirection:[1,"text-direction"],iconLibrary:[1,"icon-library"],portal:[4],pauseOnHover:[4,"pause-on-hover"],pauseOnFocusLoss:[4,"pause-on-focus-loss"],soundMode:[1,"sound-mode"],particles:[4],enableSlots:[4,"enable-slots"],snackbars:[32],visibleSnackbars:[32],animatedItems:[32],isHovered:[32],expandedSnackbars:[32],dragX:[32],isDragging:[32],dir:[32],countdownSeconds:[32],add:[64],close:[64],closeAll:[64],closeNext:[64],getAll:[64],pause:[64],resume:[64],replace:[64],promise:[64],undoable:[64],update:[64]},void 0,{textDirection:[{onTextDirectionChange:0}],position:[{positionChanged:0}],maxVisible:[{maxVisibleChanged:0}],stackMode:[{stackModeChanged:0}]}]),p=d,h=function(){"undefined"!=typeof customElements&&["ui-snackbar","ui-badge","ui-button","ui-icon","ui-input","ui-loader"].forEach((a=>{switch(a){case"ui-snackbar":customElements.get(i(a))||customElements.define(i(a),d);break;case"ui-badge":customElements.get(i(a))||s();break;case"ui-button":customElements.get(i(a))||c();break;case"ui-icon":customElements.get(i(a))||o();break;case"ui-input":customElements.get(i(a))||l();break;case"ui-loader":customElements.get(i(a))||b()}}))};export{p as UiSnackbar,h as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as a,Host as o,transformTag as s}from"@stencil/core/internal/client";import{d as r,a as n}from"./badge.js";import{d}from"./icon.js";import{d as l}from"./loader.js";const p=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.actionClick=i(this,"actionClick",7),this.speedDialToggle=i(this,"speedDialToggle",7)}get el(){return this}position="bottom-right";actions=[];strategy="fixed";icon="plus";iconLibrary="se";toggleIcon;actionLibrary="default";color="primary";size="md";variant="solid";direction="auto";shape="rounded";tooltipPosition="auto";showTooltips=!0;labelPosition="auto";labelHide=!1;trigger="click";layout="linear";closeOnScroll=!1;glassy=!1;magnetic=!1;magneticStrength=.3;magneticRadius=150;persistenceId;isDraggable=!1;isOpen=!1;magneticTransform={x:0,y:0};itemAngles=[];dragOffset={x:0,y:0};isDragging=!1;isElastic=!1;actionClick;speedDialToggle;mainButton;closeTimer;dragStartPos={x:0,y:0};initialOffset={x:0,y:0};componentWillLoad(){this.loadPersistedPosition()}loadPersistedPosition(){if(this.persistenceId&&this.isDraggable){const t=localStorage.getItem("ui-speed-dial-pos-"+this.persistenceId);if(t)try{this.dragOffset=JSON.parse(t)}catch(t){console.error("Failed to load SpeedDial position",t)}}}savePersistedPosition(){this.persistenceId&&this.isDraggable&&localStorage.setItem("ui-speed-dial-pos-"+this.persistenceId,JSON.stringify(this.dragOffset))}getActions(){if("string"==typeof this.actions)try{return JSON.parse(this.actions)}catch{return[]}return this.actions}getDialDirection(){return"auto"!==this.direction?this.direction:"center"===this.position||this.position.startsWith("bottom")?"up":this.position.startsWith("top")?"down":this.position.endsWith("right")?"left":"right"}getTooltipPosition(){if(this.labelPosition&&"auto"!==this.labelPosition)return this.labelPosition;if(this.tooltipPosition&&"auto"!==this.tooltipPosition)return this.tooltipPosition;const t=this.el.getBoundingClientRect();return this.position.endsWith("right")?t.left<120?"right":"left":this.position.endsWith("left")?t.right>window.innerWidth-120?"left":"right":this.position.startsWith("top")?t.bottom>window.innerHeight-120?"top":"bottom":"top"}toggleDial=()=>{this.isDragging||(this.triggerElastic(),this.setOpen(!this.isOpen))};triggerElastic(){this.isElastic=!0,setTimeout((()=>this.isElastic=!1),400)}handleOpenChange(t){t&&this.calculateSafeAngles()}calculateSafeAngles(){if("linear"===this.layout)return;const t=this.getActions().length;if(0===t)return;const e=[],i=this.el.getBoundingClientRect(),a=100;let o=0,s=360;if("arc"===this.layout){const t=this.getDialDirection();"up"===t?(o=180,s=360):"down"===t?(o=0,s=180):"left"===t?(o=90,s=270):"right"===t&&(o=270,s=450),!(i.right>window.innerWidth-a||this.position.includes("right"))||"up"!==t&&"auto"!==t||(o-=45,s-=45),!(i.left<a||this.position.includes("left"))||"up"!==t&&"auto"!==t||(o+=45,s+=45),!(i.top<a||this.position.includes("top"))||"right"!==t&&"auto"!==t||(o+=45,s+=45),!(i.bottom>window.innerHeight-a||this.position.includes("bottom"))||"right"!==t&&"auto"!==t||(o-=45,s-=45),"center-left"===this.position&&(o=270,s=450),"center-right"===this.position&&(o=90,s=270)}const r=t>1?(s-o)/("radial"===this.layout?t:t-1):0;for(let i=0;i<t;i++)e.push(o+i*r);this.itemAngles=e}setOpen(t){this.isOpen!==t&&(this.isOpen=t,this.speedDialToggle.emit(this.isOpen))}handleActionClick=t=>{t.disabled||(this.actionClick.emit(t.id+""),this.setOpen(!1))};handleBackdropClick=()=>{this.isOpen&&"hover"!==this.trigger&&this.setOpen(!1)};handleWindowScroll(){this.isOpen&&this.closeOnScroll&&this.setOpen(!1)}handleGlobalKeyDown(t){const e=this.getActions();if(!e||0===e.length)return;const i=e.find((e=>e.shortcut===t.key&&!e.disabled));return i?(t.preventDefault(),void this.handleActionClick(i)):void 0}handleMouseMove(t){if(!this.magnetic)return;const e=this.el.getBoundingClientRect(),i=t.clientX-(e.left+e.width/2),a=t.clientY-(e.top+e.height/2),o=Math.sqrt(i*i+a*a);if(o<this.magneticRadius){const t=1-o/this.magneticRadius;this.magneticTransform={x:i*this.magneticStrength*t,y:a*this.magneticStrength*t}}else 0===this.magneticTransform.x&&0===this.magneticTransform.y||(this.magneticTransform={x:0,y:0})}onMouseDown(t){this.isDraggable&&(this.isDragging=!0,this.dragStartPos={x:t.clientX,y:t.clientY},this.initialOffset={...this.dragOffset},this.setOpen(!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()};onMouseEnter=()=>{"hover"===this.trigger&&(clearTimeout(this.closeTimer),this.setOpen(!0))};onMouseLeave=()=>{"hover"===this.trigger&&(this.closeTimer=setTimeout((()=>{this.setOpen(!1)}),300))};handleLocalKeyDown(t){if(!this.isOpen)return;const e=Array.from(this.el.shadowRoot?.querySelectorAll(".speed-dial-action")??[]);if((document.activeElement===this.mainButton||this.el.shadowRoot?.activeElement===this.mainButton)&&["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key))return t.preventDefault(),void(e.length>0&&e[e.length-1].focus());const i=e.indexOf(this.el.shadowRoot?.activeElement);"Escape"===t.key?(this.setOpen(!1),this.mainButton.focus()):-1!==i&&(["ArrowDown","ArrowRight"].includes(t.key)?(t.preventDefault(),e[(i+1)%e.length].focus()):["ArrowUp","ArrowLeft"].includes(t.key)&&(t.preventDefault(),e[(i-1+e.length)%e.length].focus()))}render(){const t=this.getActions(),e=this.getDialDirection(),i=this.getTooltipPosition(),s={"speed-dial-container":!0,["speed-dial-"+this.size]:!0,"speed-dial-open":this.isOpen,"speed-dial-glassy":this.glassy,"speed-dial-dragging":this.isDragging,"speed-dial-elastic":this.isElastic},r={"speed-dial-button":!0,"speed-dial-main":!0,["speed-dial-"+this.color]:!0,["speed-dial-variant-"+this.variant]:!0,["speed-dial-shape-"+this.shape]:!0,"speed-dial-button-open":this.isOpen,"speed-dial-button-has-toggle-icon":!!this.toggleIcon},n={"speed-dial-actions":!0,["speed-dial-actions-"+e]:!0,["speed-dial-layout-"+this.layout]:!0};return a(o,{key:"044e35eacc272591b4f60488eb366c40c1b1f236",class:{["speed-dial-strategy-"+this.strategy]:!0,["speed-dial-"+this.position]:!0},onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},a("div",{key:"37b6426b0b26e5fbb55a7d52a1b1a515a3d56954",class:s,style:{"--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)",cursor:this.isDraggable?this.isDragging?"grabbing":"grab":"default"}},this.isOpen&&"click"===this.trigger&&a("div",{key:"4abeed7f2425ec14494dd7bb8e772eee322ff6a6",class:"speed-dial-backdrop",onClick:this.handleBackdropClick}),a("div",{key:"0bfdc8b5ce0ca3949742414078299c3fda31d755",class:n,role:"menu","aria-orientation":["top","bottom"].includes(e)?"vertical":"horizontal"},this.isOpen&&t.map(((t,e)=>a("div",{key:t.id,class:"speed-dial-action-wrapper",style:{"--item-angle":(this.itemAngles[e]||0)+"deg","--index":""+e,"--stagger-delay":.05*e+"s","animation-delay":.05*e+"s"}},a("ui-button",{variant:"ghost",class:{"speed-dial-action":!0,["speed-dial-"+(t.variant||this.variant)]:!0,["speed-dial-variant-"+(t.variant||this.variant)]:!0,["speed-dial-shape-"+(t.shape||this.shape)]:!0,["speed-dial-"+(t.color||this.color)]:!0,"speed-dial-action-disabled":t.disabled},onClick:()=>this.handleActionClick(t),disabled:t.disabled,ariaLabel:t.label,style:{backgroundColor:t.color||void 0}},a("span",{class:"speed-dial-action-icon"},a("ui-icon",{name:t.icon,library:t.iconLibrary||this.actionLibrary,size:"1.25em"})),t.badge&&a("span",{class:"speed-dial-action-badge",style:{backgroundColor:t.badgeColor}},t.badge),t.shortcut&&a("span",{class:"speed-dial-action-shortcut"},t.shortcut)),this.showTooltips&&t.label&&a("div",{class:{"speed-dial-tooltip":!0,["speed-dial-tooltip-"+i]:!0,"speed-dial-tooltip-hidden":this.labelHide}},t.label))))),a("ui-button",{key:"3a6825fce27f39d7a4a689b4e860b7363b34e67f",variant:"ghost",class:r,onClick:this.toggleDial,ariaLabel:"Speed dial menu","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"true",ref:t=>this.mainButton=t},a("slot",{key:"b59d109049ce98eae735d4e598a929669171d247",name:"trigger-icon"},a("span",{key:"3d3c55dbbd3b67ade9dbd28a66b60feb2483e12a",class:"speed-dial-icon"},a("ui-icon",{key:"b0c231ad4fe207ca18e2b8efcf8ad891072d7c65",name:this.isOpen&&this.toggleIcon?this.toggleIcon:this.icon,library:this.iconLibrary,size:"1.5rem"}))))))}static get watchers(){return{isOpen:[{handleOpenChange: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;z-index:1000;position:fixed;left:auto;right:auto;top:auto;bottom:auto}:host(.speed-dial-strategy-absolute){position:absolute}:host(.speed-dial-strategy-fixed){position:fixed}.speed-dial-container{position:relative}:host(.speed-dial-top-left){top:var(--speed-dial-top, 24px);left:var(--speed-dial-left, 24px)}:host(.speed-dial-top-right){top:var(--speed-dial-top, 24px);right:var(--speed-dial-right, 24px)}:host(.speed-dial-bottom-left){bottom:var(--speed-dial-bottom, 24px);left:var(--speed-dial-left, 24px)}:host(.speed-dial-bottom-right){bottom:var(--speed-dial-bottom, 24px);right:var(--speed-dial-right, 24px)}:host(.speed-dial-center),:host(.speed-dial-bottom-center){left:50%;bottom:var(--speed-dial-bottom, 24px);transform:translateX(-50%)}:host(.speed-dial-top-center){left:50%;top:var(--speed-dial-top, 24px);transform:translateX(-50%)}:host(.speed-dial-center-left){left:var(--speed-dial-left, 24px);top:50%;transform:translateY(-50%)}:host(.speed-dial-center-right){right:var(--speed-dial-right, 24px);top:50%;transform:translateY(-50%)}.speed-dial-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;opacity:0;animation:fadeIn 0.2s forwards;z-index:-1}.speed-dial-glassy .speed-dial-backdrop{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@keyframes fadeIn{to{opacity:1}}.speed-dial-button{position:relative;z-index:2;display:flex !important;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);outline:none;-webkit-tap-highlight-color:transparent;background:transparent !important;border:none;padding:0;margin:0}.speed-dial-elastic .speed-dial-button{animation:speed-dial-elastic-anim 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)}@keyframes speed-dial-elastic-anim{0%{transform:scale(1)}30%{transform:scale(1.15, 0.85)}60%{transform:scale(0.9, 1.1)}100%{transform:scale(1)}}.speed-dial-button:hover{box-shadow:0 6px 12px rgba(0, 0, 0, 0.3);transform:scale(1.05)}.speed-dial-button:active{transform:scale(0.95)}.speed-dial-button-open:not(.speed-dial-button-has-toggle-icon){transform:rotate(45deg)}.speed-dial-button-open:not(.speed-dial-button-has-toggle-icon):hover{transform:rotate(45deg) scale(1.05)}.speed-dial-sm .speed-dial-button{width:40px;height:40px;font-size:18px}.speed-dial-sm .speed-dial-button{width:40px;height:40px;font-size:20px}.speed-dial-md .speed-dial-button{width:56px;height:56px;font-size:24px}.speed-dial-lg .speed-dial-button{width:72px;height:72px;font-size:32px}.speed-dial-icon{transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.speed-dial-actions{position:absolute;display:flex;gap:12px;z-index:1}.speed-dial-actions-up{flex-direction:column-reverse;bottom:100%;left:50%;transform:translateX(-50%);margin-bottom:12px}.speed-dial-actions-down{flex-direction:column;top:100%;left:50%;transform:translateX(-50%);margin-top:12px}.speed-dial-actions-left{flex-direction:row-reverse;right:100%;top:50%;transform:translateY(-50%);margin-right:12px}.speed-dial-actions-right{flex-direction:row;left:100%;top:50%;transform:translateY(-50%);margin-left:12px}.speed-dial-layout-radial,.speed-dial-layout-arc{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:0;height:0;overflow:visible}.speed-dial-layout-radial .speed-dial-action-wrapper,.speed-dial-layout-arc .speed-dial-action-wrapper{position:absolute;top:50%;left:50%;margin:-24px;transform-origin:center center;transition:all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);--angle:var(--item-angle, 0deg);--radius:100px;transform:rotate(var(--angle)) translate(var(--radius)) rotate(calc(-1 * var(--angle))) scale(0);opacity:0}.speed-dial-open .speed-dial-layout-radial .speed-dial-action-wrapper,.speed-dial-open .speed-dial-layout-arc .speed-dial-action-wrapper{transform:rotate(var(--angle)) translate(var(--radius)) rotate(calc(-1 * var(--angle))) scale(1);opacity:1}.speed-dial-action-wrapper{position:relative;opacity:0;transform:scale(0);animation:actionAppear 0.2s cubic-bezier(0.4, 0, 0.2, 1) forwards}@keyframes actionAppear{from{opacity:0;transform:translate(0, 0) scale(0)}to{opacity:1;transform:var(--translation, translate(0, 0)) scale(1)}}.speed-dial-layout-linear .speed-dial-action-wrapper{--translation:translate(0, 0)}.speed-dial-layout-radial .speed-dial-action-wrapper,.speed-dial-layout-arc .speed-dial-action-wrapper{--translation:translate(calc(cos(var(--angle)) * var(--radius)), calc(sin(var(--angle)) * -1 * var(--radius)))}.speed-dial-action{display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s ease;background:transparent !important;border:none}.speed-dial-sm .speed-dial-action{width:36px;height:36px;font-size:16px}.speed-dial-md .speed-dial-action{width:48px;height:48px;font-size:20px}.speed-dial-lg .speed-dial-action{width:60px;height:60px;font-size:24px}.speed-dial-action:hover:not(.speed-dial-action-disabled){box-shadow:0 4px 10px rgba(0, 0, 0, 0.3);transform:scale(1.1)}.speed-dial-action:active:not(.speed-dial-action-disabled){transform:scale(0.95)}.speed-dial-action-disabled{opacity:0.5;cursor:not-allowed}.speed-dial-action-icon{display:flex;align-items:center;justify-content:center}.speed-dial-action-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background-color:var(--color-danger, #ef4444);color:var(--text-standard, #ffffff);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);border:2px solid var(--bg-primary, #ffffff)}.speed-dial-action-shortcut{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);background:var(--color-primary, #374151);color:var(--text-standard, #ffffff);font-size:8px;padding:1px 4px;border-radius:4px;font-weight:700;text-transform:uppercase;z-index:1000;pointer-events:none}.speed-dial-action-shortcut.speed-dial-dragging{pointer-events:auto;z-index:2000}.speed-dial-action-shortcut{opacity:0.8}.speed-dial-tooltip{position:absolute;background-color:rgba(0, 0, 0, 0.85);color:var(--text-standard, #ffffff);padding:6px 12px;border-radius:4px;font-size:12px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity 0.2s ease;z-index:1001}.speed-dial-action-wrapper:hover .speed-dial-tooltip{opacity:1}.speed-dial-tooltip-left{right:100%;top:50%;transform:translateY(-50%);margin-right:8px}.speed-dial-tooltip-right{left:100%;top:50%;transform:translateY(-50%);margin-left:8px}.speed-dial-tooltip-top{bottom:100%;left:50%;transform:translateX(-50%);margin-bottom:8px}.speed-dial-tooltip-bottom{top:100%;left:50%;transform:translateX(-50%);margin-top:8px}.speed-dial-tooltip::after{content:"";position:absolute;width:0;height:0;border:4px solid transparent}.speed-dial-tooltip-left::after{right:-8px;top:50%;transform:translateY(-50%);border-left-color:rgba(0, 0, 0, 0.85)}.speed-dial-tooltip-right::after{left:-8px;top:50%;transform:translateY(-50%);border-right-color:rgba(0, 0, 0, 0.85)}.speed-dial-tooltip-top::after{bottom:-8px;left:50%;transform:translateX(-50%);border-top-color:rgba(0, 0, 0, 0.85)}.speed-dial-tooltip-bottom::after{top:-8px;left:50%;transform:translateX(-50%);border-bottom-color:rgba(0, 0, 0, 0.85)}.speed-dial-button:focus-visible,.speed-dial-action:focus-visible{outline:2px solid var(--color-primary-hover, #2563eb);outline-offset:2px}'}},[769,"ui-speed-dial",{position:[1],actions:[1],strategy:[1],icon:[1],iconLibrary:[1,"icon-library"],toggleIcon:[1,"toggle-icon"],actionLibrary:[1,"action-library"],color:[1],size:[1],variant:[1],direction:[1],shape:[1],tooltipPosition:[1,"tooltip-position"],showTooltips:[4,"show-tooltips"],labelPosition:[1,"label-position"],labelHide:[4,"label-hide"],trigger:[1],layout:[1],closeOnScroll:[4,"close-on-scroll"],glassy:[4],magnetic:[4],magneticStrength:[2,"magnetic-strength"],magneticRadius:[2,"magnetic-radius"],persistenceId:[1,"persistence-id"],isDraggable:[4,"is-draggable"],isOpen:[32],magneticTransform:[32],itemAngles:[32],dragOffset:[32],isDragging:[32],isElastic:[32]},[[9,"scroll","handleWindowScroll"],[8,"keydown","handleGlobalKeyDown"],[9,"mousemove","handleMouseMove"],[1,"mousedown","onMouseDown"],[0,"keydown","handleLocalKeyDown"]],{isOpen:[{handleOpenChange:0}]}]),c=p,h=function(){"undefined"!=typeof customElements&&["ui-speed-dial","ui-badge","ui-button","ui-icon","ui-loader"].forEach((t=>{switch(t){case"ui-speed-dial":customElements.get(s(t))||customElements.define(s(t),p);break;case"ui-badge":customElements.get(s(t))||n();break;case"ui-button":customElements.get(s(t))||r();break;case"ui-icon":customElements.get(s(t))||d();break;case"ui-loader":customElements.get(s(t))||l()}}))};export{c as UiSpeedDial,h as defineCustomElement}
1
+ import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as a,Host as o,transformTag as s}from"@stencil/core/internal/client";import{d as r}from"./badge.js";import{d as n}from"./button.js";import{d}from"./icon.js";import{d as l}from"./loader.js";const p=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.actionClick=i(this,"actionClick",7),this.speedDialToggle=i(this,"speedDialToggle",7)}get el(){return this}position="bottom-right";actions=[];strategy="fixed";icon="plus";iconLibrary="se";toggleIcon;actionLibrary="default";color="primary";size="md";variant="solid";direction="auto";shape="rounded";tooltipPosition="auto";showTooltips=!0;labelPosition="auto";labelHide=!1;trigger="click";layout="linear";closeOnScroll=!1;glassy=!1;magnetic=!1;magneticStrength=.3;magneticRadius=150;persistenceId;isDraggable=!1;isOpen=!1;magneticTransform={x:0,y:0};itemAngles=[];dragOffset={x:0,y:0};isDragging=!1;isElastic=!1;actionClick;speedDialToggle;mainButton;closeTimer;dragStartPos={x:0,y:0};initialOffset={x:0,y:0};componentWillLoad(){this.loadPersistedPosition()}loadPersistedPosition(){if(this.persistenceId&&this.isDraggable){const t=localStorage.getItem("ui-speed-dial-pos-"+this.persistenceId);if(t)try{this.dragOffset=JSON.parse(t)}catch(t){console.error("Failed to load SpeedDial position",t)}}}savePersistedPosition(){this.persistenceId&&this.isDraggable&&localStorage.setItem("ui-speed-dial-pos-"+this.persistenceId,JSON.stringify(this.dragOffset))}getActions(){if("string"==typeof this.actions)try{return JSON.parse(this.actions)}catch{return[]}return this.actions}getDialDirection(){return"auto"!==this.direction?this.direction:"center"===this.position||this.position.startsWith("bottom")?"up":this.position.startsWith("top")?"down":this.position.endsWith("right")?"left":"right"}getTooltipPosition(){if(this.labelPosition&&"auto"!==this.labelPosition)return this.labelPosition;if(this.tooltipPosition&&"auto"!==this.tooltipPosition)return this.tooltipPosition;const t=this.el.getBoundingClientRect();return this.position.endsWith("right")?t.left<120?"right":"left":this.position.endsWith("left")?t.right>window.innerWidth-120?"left":"right":this.position.startsWith("top")?t.bottom>window.innerHeight-120?"top":"bottom":"top"}toggleDial=()=>{this.isDragging||(this.triggerElastic(),this.setOpen(!this.isOpen))};triggerElastic(){this.isElastic=!0,setTimeout((()=>this.isElastic=!1),400)}handleOpenChange(t){t&&this.calculateSafeAngles()}calculateSafeAngles(){if("linear"===this.layout)return;const t=this.getActions().length;if(0===t)return;const e=[],i=this.el.getBoundingClientRect(),a=100;let o=0,s=360;if("arc"===this.layout){const t=this.getDialDirection();"up"===t?(o=180,s=360):"down"===t?(o=0,s=180):"left"===t?(o=90,s=270):"right"===t&&(o=270,s=450),!(i.right>window.innerWidth-a||this.position.includes("right"))||"up"!==t&&"auto"!==t||(o-=45,s-=45),!(i.left<a||this.position.includes("left"))||"up"!==t&&"auto"!==t||(o+=45,s+=45),!(i.top<a||this.position.includes("top"))||"right"!==t&&"auto"!==t||(o+=45,s+=45),!(i.bottom>window.innerHeight-a||this.position.includes("bottom"))||"right"!==t&&"auto"!==t||(o-=45,s-=45),"center-left"===this.position&&(o=270,s=450),"center-right"===this.position&&(o=90,s=270)}const r=t>1?(s-o)/("radial"===this.layout?t:t-1):0;for(let i=0;i<t;i++)e.push(o+i*r);this.itemAngles=e}setOpen(t){this.isOpen!==t&&(this.isOpen=t,this.speedDialToggle.emit(this.isOpen))}handleActionClick=t=>{t.disabled||(this.actionClick.emit(t.id+""),this.setOpen(!1))};handleBackdropClick=()=>{this.isOpen&&"hover"!==this.trigger&&this.setOpen(!1)};handleWindowScroll(){this.isOpen&&this.closeOnScroll&&this.setOpen(!1)}handleGlobalKeyDown(t){const e=this.getActions();if(!e||0===e.length)return;const i=e.find((e=>e.shortcut===t.key&&!e.disabled));return i?(t.preventDefault(),void this.handleActionClick(i)):void 0}handleMouseMove(t){if(!this.magnetic)return;const e=this.el.getBoundingClientRect(),i=t.clientX-(e.left+e.width/2),a=t.clientY-(e.top+e.height/2),o=Math.sqrt(i*i+a*a);if(o<this.magneticRadius){const t=1-o/this.magneticRadius;this.magneticTransform={x:i*this.magneticStrength*t,y:a*this.magneticStrength*t}}else 0===this.magneticTransform.x&&0===this.magneticTransform.y||(this.magneticTransform={x:0,y:0})}onMouseDown(t){this.isDraggable&&(this.isDragging=!0,this.dragStartPos={x:t.clientX,y:t.clientY},this.initialOffset={...this.dragOffset},this.setOpen(!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()};onMouseEnter=()=>{"hover"===this.trigger&&(clearTimeout(this.closeTimer),this.setOpen(!0))};onMouseLeave=()=>{"hover"===this.trigger&&(this.closeTimer=setTimeout((()=>{this.setOpen(!1)}),300))};handleLocalKeyDown(t){if(!this.isOpen)return;const e=Array.from(this.el.shadowRoot?.querySelectorAll(".speed-dial-action")??[]);if((document.activeElement===this.mainButton||this.el.shadowRoot?.activeElement===this.mainButton)&&["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key))return t.preventDefault(),void(e.length>0&&e[e.length-1].focus());const i=e.indexOf(this.el.shadowRoot?.activeElement);"Escape"===t.key?(this.setOpen(!1),this.mainButton.focus()):-1!==i&&(["ArrowDown","ArrowRight"].includes(t.key)?(t.preventDefault(),e[(i+1)%e.length].focus()):["ArrowUp","ArrowLeft"].includes(t.key)&&(t.preventDefault(),e[(i-1+e.length)%e.length].focus()))}render(){const t=this.getActions(),e=this.getDialDirection(),i=this.getTooltipPosition(),s={"speed-dial-container":!0,["speed-dial-"+this.size]:!0,"speed-dial-open":this.isOpen,"speed-dial-glassy":this.glassy,"speed-dial-dragging":this.isDragging,"speed-dial-elastic":this.isElastic},r={"speed-dial-button":!0,"speed-dial-main":!0,["speed-dial-"+this.color]:!0,["speed-dial-variant-"+this.variant]:!0,["speed-dial-shape-"+this.shape]:!0,"speed-dial-button-open":this.isOpen,"speed-dial-button-has-toggle-icon":!!this.toggleIcon},n={"speed-dial-actions":!0,["speed-dial-actions-"+e]:!0,["speed-dial-layout-"+this.layout]:!0};return a(o,{key:"044e35eacc272591b4f60488eb366c40c1b1f236",class:{["speed-dial-strategy-"+this.strategy]:!0,["speed-dial-"+this.position]:!0},onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},a("div",{key:"37b6426b0b26e5fbb55a7d52a1b1a515a3d56954",class:s,style:{"--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)",cursor:this.isDraggable?this.isDragging?"grabbing":"grab":"default"}},this.isOpen&&"click"===this.trigger&&a("div",{key:"4abeed7f2425ec14494dd7bb8e772eee322ff6a6",class:"speed-dial-backdrop",onClick:this.handleBackdropClick}),a("div",{key:"0bfdc8b5ce0ca3949742414078299c3fda31d755",class:n,role:"menu","aria-orientation":["top","bottom"].includes(e)?"vertical":"horizontal"},this.isOpen&&t.map(((t,e)=>a("div",{key:t.id,class:"speed-dial-action-wrapper",style:{"--item-angle":(this.itemAngles[e]||0)+"deg","--index":""+e,"--stagger-delay":.05*e+"s","animation-delay":.05*e+"s"}},a("ui-button",{variant:"ghost",class:{"speed-dial-action":!0,["speed-dial-"+(t.variant||this.variant)]:!0,["speed-dial-variant-"+(t.variant||this.variant)]:!0,["speed-dial-shape-"+(t.shape||this.shape)]:!0,["speed-dial-"+(t.color||this.color)]:!0,"speed-dial-action-disabled":t.disabled},onClick:()=>this.handleActionClick(t),disabled:t.disabled,ariaLabel:t.label,style:{backgroundColor:t.color||void 0}},a("span",{class:"speed-dial-action-icon"},a("ui-icon",{name:t.icon,library:t.iconLibrary||this.actionLibrary,size:"1.25em"})),t.badge&&a("span",{class:"speed-dial-action-badge",style:{backgroundColor:t.badgeColor}},t.badge),t.shortcut&&a("span",{class:"speed-dial-action-shortcut"},t.shortcut)),this.showTooltips&&t.label&&a("div",{class:{"speed-dial-tooltip":!0,["speed-dial-tooltip-"+i]:!0,"speed-dial-tooltip-hidden":this.labelHide}},t.label))))),a("ui-button",{key:"3a6825fce27f39d7a4a689b4e860b7363b34e67f",variant:"ghost",class:r,onClick:this.toggleDial,ariaLabel:"Speed dial menu","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"true",ref:t=>this.mainButton=t},a("slot",{key:"b59d109049ce98eae735d4e598a929669171d247",name:"trigger-icon"},a("span",{key:"3d3c55dbbd3b67ade9dbd28a66b60feb2483e12a",class:"speed-dial-icon"},a("ui-icon",{key:"b0c231ad4fe207ca18e2b8efcf8ad891072d7c65",name:this.isOpen&&this.toggleIcon?this.toggleIcon:this.icon,library:this.iconLibrary,size:"1.5rem"}))))))}static get watchers(){return{isOpen:[{handleOpenChange: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;z-index:1000;position:fixed;left:auto;right:auto;top:auto;bottom:auto}:host(.speed-dial-strategy-absolute){position:absolute}:host(.speed-dial-strategy-fixed){position:fixed}.speed-dial-container{position:relative}:host(.speed-dial-top-left){top:var(--speed-dial-top, 24px);left:var(--speed-dial-left, 24px)}:host(.speed-dial-top-right){top:var(--speed-dial-top, 24px);right:var(--speed-dial-right, 24px)}:host(.speed-dial-bottom-left){bottom:var(--speed-dial-bottom, 24px);left:var(--speed-dial-left, 24px)}:host(.speed-dial-bottom-right){bottom:var(--speed-dial-bottom, 24px);right:var(--speed-dial-right, 24px)}:host(.speed-dial-center),:host(.speed-dial-bottom-center){left:50%;bottom:var(--speed-dial-bottom, 24px);transform:translateX(-50%)}:host(.speed-dial-top-center){left:50%;top:var(--speed-dial-top, 24px);transform:translateX(-50%)}:host(.speed-dial-center-left){left:var(--speed-dial-left, 24px);top:50%;transform:translateY(-50%)}:host(.speed-dial-center-right){right:var(--speed-dial-right, 24px);top:50%;transform:translateY(-50%)}.speed-dial-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;opacity:0;animation:fadeIn 0.2s forwards;z-index:-1}.speed-dial-glassy .speed-dial-backdrop{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@keyframes fadeIn{to{opacity:1}}.speed-dial-button{position:relative;z-index:2;display:flex !important;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);outline:none;-webkit-tap-highlight-color:transparent;background:transparent !important;border:none;padding:0;margin:0}.speed-dial-elastic .speed-dial-button{animation:speed-dial-elastic-anim 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)}@keyframes speed-dial-elastic-anim{0%{transform:scale(1)}30%{transform:scale(1.15, 0.85)}60%{transform:scale(0.9, 1.1)}100%{transform:scale(1)}}.speed-dial-button:hover{box-shadow:0 6px 12px rgba(0, 0, 0, 0.3);transform:scale(1.05)}.speed-dial-button:active{transform:scale(0.95)}.speed-dial-button-open:not(.speed-dial-button-has-toggle-icon){transform:rotate(45deg)}.speed-dial-button-open:not(.speed-dial-button-has-toggle-icon):hover{transform:rotate(45deg) scale(1.05)}.speed-dial-sm .speed-dial-button{width:40px;height:40px;font-size:18px}.speed-dial-sm .speed-dial-button{width:40px;height:40px;font-size:20px}.speed-dial-md .speed-dial-button{width:56px;height:56px;font-size:24px}.speed-dial-lg .speed-dial-button{width:72px;height:72px;font-size:32px}.speed-dial-icon{transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.speed-dial-actions{position:absolute;display:flex;gap:12px;z-index:1}.speed-dial-actions-up{flex-direction:column-reverse;bottom:100%;left:50%;transform:translateX(-50%);margin-bottom:12px}.speed-dial-actions-down{flex-direction:column;top:100%;left:50%;transform:translateX(-50%);margin-top:12px}.speed-dial-actions-left{flex-direction:row-reverse;right:100%;top:50%;transform:translateY(-50%);margin-right:12px}.speed-dial-actions-right{flex-direction:row;left:100%;top:50%;transform:translateY(-50%);margin-left:12px}.speed-dial-layout-radial,.speed-dial-layout-arc{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:0;height:0;overflow:visible}.speed-dial-layout-radial .speed-dial-action-wrapper,.speed-dial-layout-arc .speed-dial-action-wrapper{position:absolute;top:50%;left:50%;margin:-24px;transform-origin:center center;transition:all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);--angle:var(--item-angle, 0deg);--radius:100px;transform:rotate(var(--angle)) translate(var(--radius)) rotate(calc(-1 * var(--angle))) scale(0);opacity:0}.speed-dial-open .speed-dial-layout-radial .speed-dial-action-wrapper,.speed-dial-open .speed-dial-layout-arc .speed-dial-action-wrapper{transform:rotate(var(--angle)) translate(var(--radius)) rotate(calc(-1 * var(--angle))) scale(1);opacity:1}.speed-dial-action-wrapper{position:relative;opacity:0;transform:scale(0);animation:actionAppear 0.2s cubic-bezier(0.4, 0, 0.2, 1) forwards}@keyframes actionAppear{from{opacity:0;transform:translate(0, 0) scale(0)}to{opacity:1;transform:var(--translation, translate(0, 0)) scale(1)}}.speed-dial-layout-linear .speed-dial-action-wrapper{--translation:translate(0, 0)}.speed-dial-layout-radial .speed-dial-action-wrapper,.speed-dial-layout-arc .speed-dial-action-wrapper{--translation:translate(calc(cos(var(--angle)) * var(--radius)), calc(sin(var(--angle)) * -1 * var(--radius)))}.speed-dial-action{display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s ease;background:transparent !important;border:none}.speed-dial-sm .speed-dial-action{width:36px;height:36px;font-size:16px}.speed-dial-md .speed-dial-action{width:48px;height:48px;font-size:20px}.speed-dial-lg .speed-dial-action{width:60px;height:60px;font-size:24px}.speed-dial-action:hover:not(.speed-dial-action-disabled){box-shadow:0 4px 10px rgba(0, 0, 0, 0.3);transform:scale(1.1)}.speed-dial-action:active:not(.speed-dial-action-disabled){transform:scale(0.95)}.speed-dial-action-disabled{opacity:0.5;cursor:not-allowed}.speed-dial-action-icon{display:flex;align-items:center;justify-content:center}.speed-dial-action-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background-color:var(--color-danger, #ef4444);color:var(--text-standard, #ffffff);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);border:2px solid var(--bg-primary, #ffffff)}.speed-dial-action-shortcut{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);background:var(--color-primary, #374151);color:var(--text-standard, #ffffff);font-size:8px;padding:1px 4px;border-radius:4px;font-weight:700;text-transform:uppercase;z-index:1000;pointer-events:none}.speed-dial-action-shortcut.speed-dial-dragging{pointer-events:auto;z-index:2000}.speed-dial-action-shortcut{opacity:0.8}.speed-dial-tooltip{position:absolute;background-color:rgba(0, 0, 0, 0.85);color:var(--text-standard, #ffffff);padding:6px 12px;border-radius:4px;font-size:12px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity 0.2s ease;z-index:1001}.speed-dial-action-wrapper:hover .speed-dial-tooltip{opacity:1}.speed-dial-tooltip-left{right:100%;top:50%;transform:translateY(-50%);margin-right:8px}.speed-dial-tooltip-right{left:100%;top:50%;transform:translateY(-50%);margin-left:8px}.speed-dial-tooltip-top{bottom:100%;left:50%;transform:translateX(-50%);margin-bottom:8px}.speed-dial-tooltip-bottom{top:100%;left:50%;transform:translateX(-50%);margin-top:8px}.speed-dial-tooltip::after{content:"";position:absolute;width:0;height:0;border:4px solid transparent}.speed-dial-tooltip-left::after{right:-8px;top:50%;transform:translateY(-50%);border-left-color:rgba(0, 0, 0, 0.85)}.speed-dial-tooltip-right::after{left:-8px;top:50%;transform:translateY(-50%);border-right-color:rgba(0, 0, 0, 0.85)}.speed-dial-tooltip-top::after{bottom:-8px;left:50%;transform:translateX(-50%);border-top-color:rgba(0, 0, 0, 0.85)}.speed-dial-tooltip-bottom::after{top:-8px;left:50%;transform:translateX(-50%);border-bottom-color:rgba(0, 0, 0, 0.85)}.speed-dial-button:focus-visible,.speed-dial-action:focus-visible{outline:2px solid var(--color-primary-hover, #2563eb);outline-offset:2px}'}},[769,"ui-speed-dial",{position:[1],actions:[1],strategy:[1],icon:[1],iconLibrary:[1,"icon-library"],toggleIcon:[1,"toggle-icon"],actionLibrary:[1,"action-library"],color:[1],size:[1],variant:[1],direction:[1],shape:[1],tooltipPosition:[1,"tooltip-position"],showTooltips:[4,"show-tooltips"],labelPosition:[1,"label-position"],labelHide:[4,"label-hide"],trigger:[1],layout:[1],closeOnScroll:[4,"close-on-scroll"],glassy:[4],magnetic:[4],magneticStrength:[2,"magnetic-strength"],magneticRadius:[2,"magnetic-radius"],persistenceId:[1,"persistence-id"],isDraggable:[4,"is-draggable"],isOpen:[32],magneticTransform:[32],itemAngles:[32],dragOffset:[32],isDragging:[32],isElastic:[32]},[[9,"scroll","handleWindowScroll"],[8,"keydown","handleGlobalKeyDown"],[9,"mousemove","handleMouseMove"],[1,"mousedown","onMouseDown"],[0,"keydown","handleLocalKeyDown"]],{isOpen:[{handleOpenChange:0}]}]),c=p,h=function(){"undefined"!=typeof customElements&&["ui-speed-dial","ui-badge","ui-button","ui-icon","ui-loader"].forEach((t=>{switch(t){case"ui-speed-dial":customElements.get(s(t))||customElements.define(s(t),p);break;case"ui-badge":customElements.get(s(t))||r();break;case"ui-button":customElements.get(s(t))||n();break;case"ui-icon":customElements.get(s(t))||d();break;case"ui-loader":customElements.get(s(t))||l()}}))};export{c as UiSpeedDial,h as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as t,HTMLElement as e,createEvent as s,h as i,transformTag as a}from"@stencil/core/internal/client";const n=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.valueChange=s(this,"valueChange",7)}get hostElement(){return this}value=0;secondaryValue;minValue=0;maxValue=100;size=200;label="";unit="";showPercentage=!1;ranges="[]";needleColor="#1f2937";showTicks=!0;tickCount=10;animationDuration=1e3;startAngle=-135;endAngle=135;needleShape="triangle";customLabels="";gradientColors="";interactive=!1;valueChange;parsedLabels={};animatedValue=0;parsedRanges=[];parsedGradients=[];gradientId="speedometer-grad-"+Math.floor(1e6*Math.random());animationFrame;animationStartTime;animationStartValue;isDragging=!1;rect;handleValueChange(t){this.animateToValue(t)}handleRangesChange(t){this.parseRanges(t)}handleLabelsChange(t){this.parseLabels(t)}handleGradientChange(t){this.parseGradients(t)}parseLabels(t){if(t)try{this.parsedLabels=JSON.parse(t)}catch(t){console.error("Invalid customLabels JSON",t)}else this.parsedLabels={}}componentWillLoad(){this.parseRanges(this.ranges),this.parseLabels(this.customLabels),this.parseGradients(this.gradientColors),this.animatedValue=this.value}componentDidLoad(){this.animateToValue(this.value)}disconnectedCallback(){this.animationFrame&&cancelAnimationFrame(this.animationFrame)}parseRanges(t){if(t)try{this.parsedRanges=JSON.parse(t)}catch(t){console.error("Invalid JSON for speedometer ranges:",t),this.parsedRanges=[]}else this.parsedRanges=[]}parseGradients(t){if(t)try{this.parsedGradients=JSON.parse(t)}catch(e){this.parsedGradients=t.split(",").map((t=>t.trim()))}else this.parsedGradients=[]}animateToValue(t){this.animationFrame&&cancelAnimationFrame(this.animationFrame),this.animationStartTime=performance.now(),this.animationStartValue=this.animatedValue;const e=s=>{const i=Math.min((s-this.animationStartTime)/this.animationDuration,1);this.animatedValue=this.animationStartValue+(t-this.animationStartValue)*(1-Math.pow(1-i,3)),i<1?this.animationFrame=requestAnimationFrame(e):this.animatedValue=t};this.animationFrame=requestAnimationFrame(e)}async exportImage(t="speedometer",e="png"){const s=this.hostElement.shadowRoot.querySelector("svg");if(s)if("svg"===e){const e=(new XMLSerializer).serializeToString(s),i=new Blob([e],{type:"image/svg+xml;charset=utf-8"}),a=URL.createObjectURL(i);this.downloadFile(a,t+".svg")}else{const e=(new XMLSerializer).serializeToString(s),i=document.createElement("canvas");i.width=this.size,i.height=this.size;const a=i.getContext("2d"),n=new Image;n.onload=()=>{a.drawImage(n,0,0);const e=i.toDataURL("image/png");this.downloadFile(e,t+".png")},n.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(e)))}}downloadFile(t,e){const s=document.createElement("a");s.href=t,s.download=e,document.body.appendChild(s),s.click(),document.body.removeChild(s)}handleMouseDown=t=>{this.interactive&&(this.isDragging=!0,this.rect=this.hostElement.shadowRoot.querySelector(".speedometer-container").getBoundingClientRect(),this.updateValueFromEvent(t),window.addEventListener("mousemove",this.handleMouseMove),window.addEventListener("mouseup",this.handleMouseUp))};handleMouseMove=t=>{this.isDragging&&(t.preventDefault(),this.updateValueFromEvent(t))};handleMouseUp=()=>{this.isDragging=!1,window.removeEventListener("mousemove",this.handleMouseMove),window.removeEventListener("mouseup",this.handleMouseUp)};updateValueFromEvent(t){let e=Math.atan2(("touches"in t?t.touches[0].clientY:t.clientY)-(this.rect.top+this.rect.height/2),("touches"in t?t.touches[0].clientX:t.clientX)-(this.rect.left+this.rect.width/2))*(180/Math.PI);e=(e+360)%360;const s=this.endAngle-this.startAngle;let i=((e+90)%360-(this.startAngle+360)%360+360)%360;i>s&&(i=i>s+(360-s)/2?0:s);let a=this.startAngle+i;a=Math.max(this.startAngle,Math.min(this.endAngle,a));const n=Math.round(2*(this.minValue+(a-this.startAngle)/(this.endAngle-this.startAngle)*(this.maxValue-this.minValue)))/2;n!==this.value&&(this.value=n,this.valueChange.emit(this.value))}getColorForValue(t){if(0===this.parsedRanges.length)return"var(--primary-color)";const e=this.parsedRanges.find((e=>t>=e.min&&t<=e.max));return e?e.color:this.parsedRanges[0].color}valueToAngle(t){return this.startAngle+(t-this.minValue)/(this.maxValue-this.minValue)*(this.endAngle-this.startAngle)}polarToCartesian(t,e,s,i){const a=(i-90)*Math.PI/180;return{x:t+s*Math.cos(a),y:e+s*Math.sin(a)}}createArc(t,e,s,i,a){const n=this.polarToCartesian(t,e,s,a),o=this.polarToCartesian(t,e,s,i);return["M",n.x,n.y,"A",s,s,0,a-i<=180?"0":"1",0,o.x,o.y].join(" ")}renderArc(){const t=this.size/2,e=this.size/2-30,s=this.createArc(t,t,e,this.startAngle,this.endAngle),a=this.valueToAngle(this.animatedValue),n=this.createArc(t,t,e,this.startAngle,a);let o=this.getColorForValue(this.animatedValue);return this.parsedGradients.length>1&&(o=`url(#${this.gradientId})`),i("g",null,i("defs",null,this.parsedGradients.length>1&&i("linearGradient",{id:this.gradientId,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},this.parsedGradients.map(((t,e)=>i("stop",{offset:e/(this.parsedGradients.length-1)*100+"%","stop-color":t}))))),i("path",{d:s,fill:"none",stroke:"#e5e7eb","stroke-width":20,"stroke-linecap":"round"}),this.parsedRanges.length>0?this.parsedRanges.map((s=>{const a=this.valueToAngle(s.min),n=this.valueToAngle(s.max),o=this.createArc(t,t,e,a,n);return i("path",{d:o,fill:"none",stroke:s.color,"stroke-width":20,"stroke-linecap":"round",opacity:"0.3"})})):null,i("path",{d:n,fill:"none",stroke:o,"stroke-width":20,"stroke-linecap":"round",class:"value-arc"}))}renderTicks(){if(!this.showTicks)return null;const t=this.size/2,e=this.size/2-20,s=e-10,a=[];for(let n=0;n<=this.tickCount;n++){const o=n/this.tickCount,r=this.startAngle+(this.endAngle-this.startAngle)*o,h=this.polarToCartesian(t,t,e,r),l=this.polarToCartesian(t,t,s,r);if(a.push(i("line",{x1:h.x,y1:h.y,x2:l.x,y2:l.y,stroke:"#9ca3af","stroke-width":"2","stroke-linecap":"round"})),n%2==0){const e=this.polarToCartesian(t,t,s-15,r),n=this.minValue+(this.maxValue-this.minValue)*o;a.push(i("text",{x:e.x,y:e.y,"text-anchor":"middle","dominant-baseline":"middle",class:"tick-label"},void 0!==this.parsedLabels[n]?this.parsedLabels[n]:Math.round(n)))}}return i("g",null,a)}renderNeedle(t,e,s=!1){const a=this.size/2,n=this.size/2-40,o=s?2:4,r=this.valueToAngle(t),h=this.polarToCartesian(a,a,n,r),l=(r-90)*Math.PI/180,c=l+Math.PI/2,d=l-Math.PI/2,p=a+o*Math.cos(c),u=a+o*Math.sin(c),m=a+o*Math.cos(d),g=a+o*Math.sin(d);let f="";if("line"===this.needleShape||s)f=`M ${p} ${u} L ${h.x} ${h.y}`;else if("arrow"===this.needleShape){const t=this.polarToCartesian(a,a,.7*n,r);f=`M ${p} ${u} L ${t.x} ${t.y} L ${h.x} ${h.y} L ${t.x} ${t.y} L ${m} ${g} Z`}else f=`M ${p} ${u} L ${h.x} ${h.y} L ${m} ${g} Z`;return i("g",{class:s?"needle-secondary":"needle-primary",style:{opacity:s?"0.6":"1"}},i("path",{d:f,fill:e,class:"needle"}),i("circle",{cx:a,cy:a,r:s?4:8,fill:e}),!s&&i("circle",{cx:a,cy:a,r:"4",fill:"#fff"}))}renderValue(){const t=this.showPercentage?Math.round((this.animatedValue-this.minValue)/(this.maxValue-this.minValue)*100):Math.round(10*this.animatedValue)/10,e=this.showPercentage?"%":this.unit,s=this.size/2,a=this.size-Math.max(15,Math.round(.1*this.size));return i("g",{class:"value-group",style:{fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'}},i("text",{x:s,y:a,"text-anchor":"middle",class:"value-number-svg",fill:"currentColor","font-weight":"700"},t,e&&i("tspan",{class:"value-unit-svg","font-size":"0.6em",dx:"4","font-weight":"500"},e)),this.label&&i("text",{x:s,y:a+20,"text-anchor":"middle",class:"value-label-svg",fill:"#9ca3af","font-size":"12","font-weight":"500",style:{textTransform:"uppercase",letterSpacing:"0.5px"}},this.label))}render(){return i("div",{key:"570b60c58715ce7a233153441a669a866e4df90a",class:{"speedometer-container":!0,interactive:this.interactive,"is-dragging":this.isDragging},onMouseDown:this.handleMouseDown,style:{width:this.size+"px",height:this.size+"px",cursor:this.interactive?this.isDragging?"grabbing":"grab":"default"}},i("svg",{key:"a05ee4e7e85418f36e106209ec363f84071ff58f",width:this.size,height:this.size,viewBox:`0 0 ${this.size} ${this.size}`,class:"speedometer-svg"},this.renderArc(),this.renderTicks(),void 0!==this.secondaryValue&&this.renderNeedle(this.secondaryValue,"#9ca3af",!0),this.renderNeedle(this.animatedValue,this.needleColor),this.renderValue()))}static get watchers(){return{value:[{handleValueChange:0}],ranges:[{handleRangesChange:0}],customLabels:[{handleLabelsChange:0}],gradientColors:[{handleGradientChange:0}]}}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}.speedometer-container{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}.speedometer-svg{display:block}.value-arc{transition:stroke 0.3s ease;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1))}.needle{transition:transform 0.3s ease;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2))}.tick-label{font-size:11px;fill:var(--text-muted, #6b7280);font-weight:500}.value-display{position:absolute;bottom:var(--value-bottom, 8px);left:50%;transform:translateX(-50%);text-align:center;pointer-events:none}.value-number-svg{font-size:32px;font-weight:700;fill:var(--text-primary, #1f2937);transition:fill 0.3s ease}.value-unit-svg{font-size:18px;font-weight:500;fill:var(--text-muted, #6b7280)}.value-label-svg{font-size:13px;fill:var(--text-muted, #6b7280);font-weight:500;text-transform:uppercase;letter-spacing:0.5px}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.8}}.speedometer-container:hover .value-arc{filter:drop-shadow(0 4px 8px rgba(var(--color-primary-rgb, 59, 130, 246), 0.3))}'}},[513,"ui-speedometer",{value:[1026],secondaryValue:[2,"secondary-value"],minValue:[2,"min-value"],maxValue:[2,"max-value"],size:[2],label:[1],unit:[1],showPercentage:[4,"show-percentage"],ranges:[1],needleColor:[1,"needle-color"],showTicks:[4,"show-ticks"],tickCount:[2,"tick-count"],animationDuration:[2,"animation-duration"],startAngle:[2,"start-angle"],endAngle:[2,"end-angle"],needleShape:[1,"needle-shape"],customLabels:[1,"custom-labels"],gradientColors:[1,"gradient-colors"],interactive:[4],parsedLabels:[32],animatedValue:[32],parsedRanges:[32],parsedGradients:[32],exportImage:[64]},void 0,{value:[{handleValueChange:0}],ranges:[{handleRangesChange:0}],customLabels:[{handleLabelsChange:0}],gradientColors:[{handleGradientChange:0}]}]),o=n,r=function(){"undefined"!=typeof customElements&&["ui-speedometer"].forEach((t=>{"ui-speedometer"===t&&(customElements.get(a(t))||customElements.define(a(t),n))}))};export{o as UiSpeedometer,r as defineCustomElement}
1
+ import{proxyCustomElement as t,HTMLElement as e,createEvent as s,h as i,transformTag as a}from"@stencil/core/internal/client";const n=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.valueChange=s(this,"valueChange",7)}get hostElement(){return this}value=0;secondaryValue;minValue=0;maxValue=100;size=200;label="";unit="";showPercentage=!1;ranges="[]";needleColor="#1f2937";showTicks=!0;tickCount=10;animationDuration=1e3;startAngle=-135;endAngle=135;needleShape="triangle";customLabels="";gradientColors="";interactive=!1;valueChange;parsedLabels={};animatedValue=0;parsedRanges=[];parsedGradients=[];gradientId="speedometer-grad-"+Math.floor(1e6*Math.random());animationFrame;animationStartTime;animationStartValue;isDragging=!1;rect;handleValueChange(t){this.animateToValue(t)}handleRangesChange(t){this.parseRanges(t)}handleLabelsChange(t){this.parseLabels(t)}handleGradientChange(t){this.parseGradients(t)}parseLabels(t){if(t)try{this.parsedLabels=JSON.parse(t)}catch(t){console.error("Invalid customLabels JSON",t)}else this.parsedLabels={}}componentWillLoad(){this.parseRanges(this.ranges),this.parseLabels(this.customLabels),this.parseGradients(this.gradientColors),this.animatedValue=this.value}componentDidLoad(){this.animateToValue(this.value)}disconnectedCallback(){this.animationFrame&&cancelAnimationFrame(this.animationFrame)}parseRanges(t){if(t)try{this.parsedRanges=JSON.parse(t)}catch(t){console.error("Invalid JSON for speedometer ranges:",t),this.parsedRanges=[]}else this.parsedRanges=[]}parseGradients(t){if(t)try{this.parsedGradients=JSON.parse(t)}catch(e){this.parsedGradients=t.split(",").map((t=>t.trim()))}else this.parsedGradients=[]}getEffectiveRanges(){if(this.parsedRanges.length>0)return this.parsedRanges;const t=this.maxValue-this.minValue,e=this.minValue+.4*t,s=this.minValue+.7*t;return[{min:this.minValue,max:e,color:"var(--color-success, #22c55e)"},{min:e,max:s,color:"var(--color-warning, #f59e0b)"},{min:s,max:this.maxValue,color:"var(--color-danger, #ef4444)"}]}animateToValue(t){this.animationFrame&&cancelAnimationFrame(this.animationFrame),this.animationStartTime=performance.now(),this.animationStartValue=this.animatedValue;const e=s=>{const i=Math.min((s-this.animationStartTime)/this.animationDuration,1);this.animatedValue=this.animationStartValue+(t-this.animationStartValue)*(1-Math.pow(1-i,3)),i<1?this.animationFrame=requestAnimationFrame(e):this.animatedValue=t};this.animationFrame=requestAnimationFrame(e)}async exportImage(t="speedometer",e="png"){const s=this.hostElement.shadowRoot.querySelector("svg");if(s)if("svg"===e){const e=(new XMLSerializer).serializeToString(s),i=new Blob([e],{type:"image/svg+xml;charset=utf-8"}),a=URL.createObjectURL(i);this.downloadFile(a,t+".svg")}else{const e=(new XMLSerializer).serializeToString(s),i=document.createElement("canvas");i.width=this.size,i.height=this.size;const a=i.getContext("2d"),n=new Image;n.onload=()=>{a.drawImage(n,0,0);const e=i.toDataURL("image/png");this.downloadFile(e,t+".png")},n.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(e)))}}downloadFile(t,e){const s=document.createElement("a");s.href=t,s.download=e,document.body.appendChild(s),s.click(),document.body.removeChild(s)}handleMouseDown=t=>{this.interactive&&(this.isDragging=!0,this.rect=this.hostElement.shadowRoot.querySelector(".speedometer-container").getBoundingClientRect(),this.updateValueFromEvent(t),window.addEventListener("mousemove",this.handleMouseMove),window.addEventListener("mouseup",this.handleMouseUp))};handleMouseMove=t=>{this.isDragging&&(t.preventDefault(),this.updateValueFromEvent(t))};handleMouseUp=()=>{this.isDragging=!1,window.removeEventListener("mousemove",this.handleMouseMove),window.removeEventListener("mouseup",this.handleMouseUp)};updateValueFromEvent(t){let e=Math.atan2(("touches"in t?t.touches[0].clientY:t.clientY)-(this.rect.top+this.rect.height/2),("touches"in t?t.touches[0].clientX:t.clientX)-(this.rect.left+this.rect.width/2))*(180/Math.PI);e=(e+360)%360;const s=this.endAngle-this.startAngle;let i=((e+90)%360-(this.startAngle+360)%360+360)%360;i>s&&(i=i>s+(360-s)/2?0:s);let a=this.startAngle+i;a=Math.max(this.startAngle,Math.min(this.endAngle,a));const n=Math.round(2*(this.minValue+(a-this.startAngle)/(this.endAngle-this.startAngle)*(this.maxValue-this.minValue)))/2;n!==this.value&&(this.value=n,this.valueChange.emit(this.value))}getColorForValue(t){const e=this.getEffectiveRanges(),s=e.find((e=>t>=e.min&&t<=e.max));return s?s.color:e[0].color}valueToAngle(t){return this.startAngle+(t-this.minValue)/(this.maxValue-this.minValue)*(this.endAngle-this.startAngle)}polarToCartesian(t,e,s,i){const a=(i-90)*Math.PI/180;return{x:t+s*Math.cos(a),y:e+s*Math.sin(a)}}createArc(t,e,s,i,a){const n=this.polarToCartesian(t,e,s,a),o=this.polarToCartesian(t,e,s,i);return["M",n.x,n.y,"A",s,s,0,a-i<=180?"0":"1",0,o.x,o.y].join(" ")}renderArc(){const t=this.size/2,e=this.size/2-30,s=this.createArc(t,t,e,this.startAngle,this.endAngle),a=this.valueToAngle(this.animatedValue),n=this.createArc(t,t,e,this.startAngle,a);let o=this.getColorForValue(this.animatedValue);return this.parsedGradients.length>1&&(o=`url(#${this.gradientId})`),i("g",null,i("defs",null,this.parsedGradients.length>1&&i("linearGradient",{id:this.gradientId,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},this.parsedGradients.map(((t,e)=>i("stop",{key:`${t}-${e}`,offset:e/(this.parsedGradients.length-1)*100+"%","stop-color":t}))))),i("path",{d:s,fill:"none",stroke:"#e5e7eb","stroke-width":20,"stroke-linecap":"round"}),this.getEffectiveRanges().map(((s,a)=>{const n=this.valueToAngle(s.min),o=this.valueToAngle(s.max),r=this.createArc(t,t,e,n,o);return i("path",{key:`${s.min}-${s.max}-${a}`,d:r,fill:"none",stroke:s.color,"stroke-width":20,"stroke-linecap":"round",opacity:"0.38",class:"range-segment"})})),i("path",{d:n,fill:"none",stroke:o,"stroke-width":20,"stroke-linecap":"round",class:"value-arc"}))}renderTicks(){if(!this.showTicks)return null;const t=this.size/2,e=this.size/2-20,s=e-12,a=s-Math.max(20,Math.round(.08*this.size)),n=[];for(let o=0;o<=this.tickCount;o++){const r=o/this.tickCount,h=this.startAngle+(this.endAngle-this.startAngle)*r,l=this.polarToCartesian(t,t,e,h),c=this.polarToCartesian(t,t,s,h);if(n.push(i("line",{x1:l.x,y1:l.y,x2:c.x,y2:c.y,stroke:"var(--text-secondary, #64748b)","stroke-width":"2.5","stroke-linecap":"round",class:"tick-mark"})),o%2==0){const e=this.polarToCartesian(t,t,a,h),s=this.minValue+(this.maxValue-this.minValue)*r;n.push(i("text",{x:e.x,y:e.y,"text-anchor":"middle","dominant-baseline":"middle",class:"tick-label","paint-order":"stroke"},this.parsedLabels[s]??Math.round(s)))}}return i("g",null,n)}renderNeedle(t,e,s=!1){const a=this.size/2,n=this.size/2-40,o=s?2:4,r=this.valueToAngle(t),h=this.polarToCartesian(a,a,n,r),l=(r-90)*Math.PI/180,c=l+Math.PI/2,d=l-Math.PI/2,p=a+o*Math.cos(c),m=a+o*Math.sin(c),u=a+o*Math.cos(d),g=a+o*Math.sin(d);let f="";if("line"===this.needleShape||s)f=`M ${p} ${m} L ${h.x} ${h.y}`;else if("arrow"===this.needleShape){const t=this.polarToCartesian(a,a,.7*n,r);f=`M ${p} ${m} L ${t.x} ${t.y} L ${h.x} ${h.y} L ${t.x} ${t.y} L ${u} ${g} Z`}else f=`M ${p} ${m} L ${h.x} ${h.y} L ${u} ${g} Z`;return i("g",{class:s?"needle-secondary":"needle-primary",style:{opacity:s?"0.6":"1"}},i("path",{d:f,fill:e,class:"needle"}),i("circle",{cx:a,cy:a,r:s?4:8,fill:e}),!s&&i("circle",{cx:a,cy:a,r:"4",fill:"#fff"}))}renderValue(){const t=this.showPercentage?Math.round((this.animatedValue-this.minValue)/(this.maxValue-this.minValue)*100):Math.round(10*this.animatedValue)/10,e=this.showPercentage?"%":this.unit,s=this.size/2,a=this.size-Math.max(15,Math.round(.1*this.size));return i("g",{class:"value-group",style:{fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'}},i("text",{x:s,y:a,"text-anchor":"middle",class:"value-number-svg",fill:"currentColor","font-weight":"700"},t,e&&i("tspan",{class:"value-unit-svg","font-size":"0.6em",dx:"4","font-weight":"500"},e)),this.label&&i("text",{x:s,y:a+20,"text-anchor":"middle",class:"value-label-svg","font-size":"12","font-weight":"500",style:{textTransform:"uppercase",letterSpacing:"0.5px"}},this.label))}render(){return i("div",{key:"79553b35dfa7f6238e8f71e157af9be8071b38f3",class:{"speedometer-container":!0,interactive:this.interactive,"is-dragging":this.isDragging},onMouseDown:this.handleMouseDown,style:{width:this.size+"px",height:this.size+"px",cursor:this.interactive?this.isDragging?"grabbing":"grab":"default"}},i("svg",{key:"b7d59896164480aec8d960c116e460b6a0a7c86d",width:this.size,height:this.size,viewBox:`0 0 ${this.size} ${this.size}`,class:"speedometer-svg"},this.renderArc(),this.renderTicks(),void 0!==this.secondaryValue&&this.renderNeedle(this.secondaryValue,"#9ca3af",!0),this.renderNeedle(this.animatedValue,this.needleColor),this.renderValue()))}static get watchers(){return{value:[{handleValueChange:0}],ranges:[{handleRangesChange:0}],customLabels:[{handleLabelsChange:0}],gradientColors:[{handleGradientChange:0}]}}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}.speedometer-container{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}.speedometer-svg{display:block}.value-arc{transition:stroke 0.3s ease;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1))}.needle{transition:transform 0.3s ease;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2))}.tick-label{font-size:12px;fill:var(--text-secondary, #475569);opacity:0.98;font-weight:700;stroke:var(--bg-primary, #ffffff);stroke-width:3px;stroke-linejoin:round}.tick-mark{opacity:0.95}.value-display{position:absolute;bottom:var(--value-bottom, 8px);left:50%;transform:translateX(-50%);text-align:center;pointer-events:none}.value-number-svg{font-size:32px;font-weight:700;fill:currentColor;transition:fill 0.3s ease}.value-unit-svg{font-size:18px;font-weight:500;fill:currentColor;opacity:0.6}.value-label-svg{font-size:13px;fill:currentColor;opacity:0.6;font-weight:500;text-transform:uppercase;letter-spacing:0.5px}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.8}}.speedometer-container:hover .value-arc{filter:drop-shadow(0 4px 8px rgba(var(--color-primary-rgb, 59, 130, 246), 0.3))}@media (prefers-color-scheme: dark){.tick-label{fill:var(--text-primary, #e5e7eb);stroke:rgba(15, 23, 42, 0.9)}.tick-mark{opacity:1}}'}},[513,"ui-speedometer",{value:[1026],secondaryValue:[2,"secondary-value"],minValue:[2,"min-value"],maxValue:[2,"max-value"],size:[2],label:[1],unit:[1],showPercentage:[4,"show-percentage"],ranges:[1],needleColor:[1,"needle-color"],showTicks:[4,"show-ticks"],tickCount:[2,"tick-count"],animationDuration:[2,"animation-duration"],startAngle:[2,"start-angle"],endAngle:[2,"end-angle"],needleShape:[1,"needle-shape"],customLabels:[1,"custom-labels"],gradientColors:[1,"gradient-colors"],interactive:[4],parsedLabels:[32],animatedValue:[32],parsedRanges:[32],parsedGradients:[32],exportImage:[64]},void 0,{value:[{handleValueChange:0}],ranges:[{handleRangesChange:0}],customLabels:[{handleLabelsChange:0}],gradientColors:[{handleGradientChange:0}]}]),o=n,r=function(){"undefined"!=typeof customElements&&["ui-speedometer"].forEach((t=>{"ui-speedometer"===t&&(customElements.get(a(t))||customElements.define(a(t),n))}))};export{o as UiSpeedometer,r as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as t,HTMLElement as e,createEvent as r,h as i,transformTag as s}from"@stencil/core/internal/client";import{d as o,a}from"./badge.js";import{d as l}from"./icon.js";import{d as n}from"./loader.js";const h=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.sizeChange=r(this,"sizeChange",7),this.panelCollapse=r(this,"panelCollapse",7),this.splitterDragStart=r(this,"splitterDragStart",7),this.splitterDragEnd=r(this,"splitterDragEnd",7)}get el(){return this}direction="horizontal";gutterSize=8;gutterColor="#e5e7eb";gutterHoverColor="#0de44dff";panels=[];sizes=[];snapThreshold=20;animated=!0;persistState=!1;storageKey="splitter-state";showGutterIcon=!0;doubleClickCollapse=!0;keyboardNavigation=!0;rtl=!1;theme="auto";rounded=!1;elevated=!1;isDragging=!1;activeGutterIndex=-1;hoveredGutterIndex=-1;collapsedPanels=new Set;sizeChange;panelCollapse;splitterDragStart;splitterDragEnd;startPos=0;startSizes=[];panelRefs=[];componentWillLoad(){this.initializeSizes(),this.persistState&&this.loadState()}componentDidLoad(){0===this.sizes.length&&this.initializeSizes(),this.keyboardNavigation&&document.addEventListener("keydown",this.handleKeyDown)}disconnectedCallback(){this.keyboardNavigation&&document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp)}handlePanelsChange(){this.initializeSizes()}initializeSizes(){const t=this.getPanelCount();0!==t&&this.sizes.length!==t&&(this.sizes=Array(t).fill(0).map(((e,r)=>this.panels[r]?.size||100/t)))}getPanelCount(){const t=this.el.querySelectorAll('[slot^="panel-"]');return Math.max(t.length,this.panels.length)}loadState(){try{const t=localStorage.getItem(this.storageKey);if(t){const e=JSON.parse(t);this.sizes=e.sizes||this.sizes,this.collapsedPanels=new Set(e.collapsed||[])}}catch(t){console.error("Failed to load splitter state:",t)}}saveState(){if(this.persistState)try{const t={sizes:this.sizes,collapsed:Array.from(this.collapsedPanels)};localStorage.setItem(this.storageKey,JSON.stringify(t))}catch(t){console.error("Failed to save splitter state:",t)}}handleMouseDown=(t,e)=>{t.preventDefault(),this.isDragging=!0,this.activeGutterIndex=e,this.startPos="horizontal"===this.direction?t.clientX:t.clientY,this.startSizes=[...this.sizes],document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("mouseup",this.handleMouseUp),this.splitterDragStart.emit({index:e})};handleMouseMove=t=>{if(!this.isDragging||-1===this.activeGutterIndex)return;const e=("horizontal"===this.direction?t.clientX:t.clientY)-this.startPos,r=[...this.startSizes],i=this.activeGutterIndex,s=this.activeGutterIndex+1,o=this.panels[i],a=this.panels[s];let l=this.startSizes[i]+(this.rtl&&"horizontal"===this.direction?-e:e)/("horizontal"===this.direction?this.el.offsetWidth:this.el.offsetHeight)*100;const n=void 0!==o?.minSize?o.minSize:0,h=void 0!==o?.maxSize?o.maxSize:100,p=void 0!==a?.minSize?a.minSize:0;let c=Math.max(Math.max(n,this.startSizes[i]+this.startSizes[s]-(void 0!==a?.maxSize?a.maxSize:100)),Math.min(Math.min(h,this.startSizes[i]+this.startSizes[s]-p),l));this.snapThreshold>0&&(Math.abs(c-n)<this.snapThreshold&&(c=n),Math.abs(this.startSizes[i]+this.startSizes[s]-c-p)<this.snapThreshold&&(c=this.startSizes[i]+this.startSizes[s]-p)),r[i]=c,r[s]=this.startSizes[i]+this.startSizes[s]-c,this.sizes=r,this.sizeChange.emit({sizes:this.sizes,index:this.activeGutterIndex})};handleMouseUp=()=>{this.isDragging&&(this.isDragging=!1,this.splitterDragEnd.emit({index:this.activeGutterIndex,sizes:this.sizes}),this.activeGutterIndex=-1,this.saveState()),document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp)};handleGutterDoubleClick=t=>{if(!this.doubleClickCollapse)return;const e=this.panels[t];e?.collapsible&&this.toggleCollapse(t)};toggleCollapse(t){const e=this.collapsedPanels.has(t);e?this.collapsedPanels.delete(t):(this.collapsedPanels.add(t),this.sizes[t]=this.panels[t]?.minSize||0),this.collapsedPanels=new Set(this.collapsedPanels),this.panelCollapse.emit({index:t,collapsed:!e}),this.saveState()}handleKeyDown=t=>{this.keyboardNavigation&&-1!==this.activeGutterIndex&&("ArrowLeft"===t.key||"ArrowUp"===t.key?(t.preventDefault(),this.adjustSize(this.activeGutterIndex,-5)):"ArrowRight"!==t.key&&"ArrowDown"!==t.key||(t.preventDefault(),this.adjustSize(this.activeGutterIndex,5)))};adjustSize(t,e){const r=[...this.sizes];r[t]+=e,r[t+1]-=e,this.sizes=r,this.sizeChange.emit({sizes:this.sizes,index:t})}renderGutter(t){const e=this.activeGutterIndex===t,r=this.hoveredGutterIndex===t;return i("div",{class:{"splitter-gutter":!0,"splitter-gutter-active":e,"splitter-gutter-hovered":r,"splitter-gutter-horizontal":"horizontal"===this.direction,"splitter-gutter-vertical":"vertical"===this.direction},style:{width:"horizontal"===this.direction?this.gutterSize+"px":"100%",height:"vertical"===this.direction?this.gutterSize+"px":"100%",background:r||e?this.gutterHoverColor:this.gutterColor},onMouseDown:e=>this.handleMouseDown(e,t),onDblClick:()=>this.handleGutterDoubleClick(t),onMouseEnter:()=>this.hoveredGutterIndex=t,onMouseLeave:()=>this.hoveredGutterIndex=-1},this.showGutterIcon&&i("ui-icon",{name:"grip-"+("horizontal"===this.direction?"vertical":"lines"),library:"fontawesome"}))}renderPanel(t){const e=this.sizes[t]||0,r=this.collapsedPanels.has(t),s=this.panels[t];return i("div",{ref:e=>this.panelRefs[t]=e,class:{"splitter-panel":!0,"splitter-panel-collapsed":r,"splitter-panel-animated":this.animated&&!this.isDragging},style:{["horizontal"===this.direction?"width":"height"]:e+"%",["horizontal"===this.direction?"height":"width"]:"100%"}},i("slot",{name:"panel-"+t}),s?.collapsible&&i("ui-button",{variant:"ghost",onClick:()=>this.toggleCollapse(t),ariaLabel:r?"Expand":"Collapse",icon:"chevron-"+(r?"right":"left"),iconLibrary:"fontawesome",iconOnly:!0,size:"sm"}))}render(){const t=this.getPanelCount(),e=[];for(let r=0;r<t;r++)e.push(this.renderPanel(r)),r<t-1&&e.push(this.renderGutter(r));return i("div",{key:"e4576c74bbbb36dd9e15f0e7860efd48e878656c",class:{"splitter-container":!0,["splitter-"+this.direction]:!0,["splitter-theme-"+this.theme]:!0,"splitter-rounded":this.rounded,"splitter-elevated":this.elevated,"splitter-dragging":this.isDragging,"splitter-rtl":this.rtl}},e)}static get watchers(){return{panels:[{handlePanelsChange: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;width:100%;height:100%;--gutter-size:8px;--gutter-color:var(--text-standard, #e5e7eb);--gutter-hover-color:var(--color-primary, #10b981);--panel-bg:var(--bg-primary, #ffffff);--panel-border:var(--border-default, #e5e7eb)}.splitter-container{display:flex;width:100%;height:100%;position:relative;overflow:hidden}.splitter-horizontal{flex-direction:row}.splitter-vertical{flex-direction:column}.splitter-rounded{border-radius:8px;overflow:hidden}.splitter-elevated{box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)}.splitter-panel{position:relative;overflow:auto;background:var(--panel-bg);flex-shrink:0}.splitter-panel::-webkit-scrollbar{width:8px;height:8px}.splitter-panel::-webkit-scrollbar-track{background:var(--bg-primary, #f1f1f1)}.splitter-panel::-webkit-scrollbar-thumb{background:var(--bg-tertiary, #888);border-radius:4px}.splitter-panel::-webkit-scrollbar-thumb:hover{background:var(--bg-secondary, #555)}.splitter-panel-animated{transition:width 0.3s ease, height 0.3s ease}.splitter-panel-collapsed{overflow:hidden}.splitter-gutter{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:col-resize;transition:background-color 0.2s ease;user-select:none}.splitter-gutter i{color:var(--text-muted, #9ca3af);font-size:12px;pointer-events:none;transition:color 0.2s ease}.splitter-gutter:hover i,.splitter-gutter.splitter-gutter-active i{color:var(--text-standard, #ffffff)}.splitter-gutter-vertical{cursor:row-resize}.splitter-gutter-horizontal{cursor:col-resize}.splitter-gutter-active{background:var(--gutter-hover-color) !important;z-index:10}.splitter-gutter-hovered{background:var(--gutter-hover-color)}.splitter-collapse-btn{position:absolute;top:8px;right:8px;width:24px;height:24px;border:none;background:var(--bg-secondary, #f3f4f6);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;z-index:5}.splitter-collapse-btn i{font-size:12px;color:var(--text-muted, #6b7280)}.splitter-collapse-btn:hover{background:var(--bg-primary, #e5e7eb);transform:scale(1.1)}.splitter-collapse-btn:hover i{color:var(--text-secondary, #374151)}.splitter-collapse-btn:active{transform:scale(0.95)}.splitter-dragging{cursor:col-resize;user-select:none}.splitter-dragging .splitter-panel{pointer-events:none}.splitter-dragging.splitter-vertical{cursor:row-resize}.splitter-rtl{direction:rtl}.splitter-rtl .splitter-collapse-btn{right:auto;left:8px}.splitter-theme-dark{--panel-bg:var(--bg-primary, #1f2937);--panel-border:var(--border-default, #374151);--gutter-color:var(--text-secondary, #374151);--gutter-hover-color:var(--color-primary, #10b981)}.splitter-theme-dark .splitter-panel{color:var(--text-standard, #f9fafb)}.splitter-theme-dark .splitter-panel::-webkit-scrollbar-track{background:var(--bg-secondary, #111827)}.splitter-theme-dark .splitter-panel::-webkit-scrollbar-thumb{background:var(--color-primary, #4b5563)}.splitter-theme-dark .splitter-panel::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #6b7280)}.splitter-theme-dark .splitter-collapse-btn{background:var(--color-primary, #374151)}.splitter-theme-dark .splitter-collapse-btn i{color:var(--text-muted, #9ca3af)}.splitter-theme-dark .splitter-collapse-btn:hover{background:var(--color-primary, #4b5563)}.splitter-theme-dark .splitter-collapse-btn:hover i{color:var(--bg-secondary, #d1d5db)}.splitter-theme-dark .splitter-gutter i{color:var(--text-muted, #6b7280)}@media (prefers-color-scheme: dark){.splitter-theme-auto{--panel-bg:var(--bg-primary, #1f2937);--panel-border:var(--border-default, #374151);--gutter-color:var(--text-secondary, #374151);--gutter-hover-color:var(--color-primary, #10b981)}.splitter-theme-auto .splitter-panel{color:var(--text-standard, #f9fafb)}.splitter-theme-auto .splitter-panel::-webkit-scrollbar-track{background:var(--bg-secondary, #111827)}.splitter-theme-auto .splitter-panel::-webkit-scrollbar-thumb{background:var(--color-primary, #4b5563)}.splitter-theme-auto .splitter-panel::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #6b7280)}.splitter-theme-auto .splitter-collapse-btn{background:var(--color-primary, #374151)}.splitter-theme-auto .splitter-collapse-btn i{color:var(--text-muted, #9ca3af)}.splitter-theme-auto .splitter-collapse-btn:hover{background:var(--color-primary, #4b5563)}.splitter-theme-auto .splitter-collapse-btn:hover i{color:var(--bg-secondary, #d1d5db)}.splitter-theme-auto .splitter-gutter i{color:var(--text-muted, #6b7280)}}@media (max-width: 768px){.splitter-gutter{width:12px !important;height:12px !important}.splitter-collapse-btn{width:32px;height:32px}.splitter-collapse-btn i{font-size:14px}}.splitter-gutter:focus{outline:2px solid var(--gutter-hover-color);outline-offset:2px}.splitter-collapse-btn:focus{outline:2px solid var(--color-primary, #10b981);outline-offset:2px}"}},[769,"ui-splitter",{direction:[1],gutterSize:[2,"gutter-size"],gutterColor:[1,"gutter-color"],gutterHoverColor:[1,"gutter-hover-color"],panels:[16],sizes:[1040],snapThreshold:[2,"snap-threshold"],animated:[4],persistState:[4,"persist-state"],storageKey:[1,"storage-key"],showGutterIcon:[4,"show-gutter-icon"],doubleClickCollapse:[4,"double-click-collapse"],keyboardNavigation:[4,"keyboard-navigation"],rtl:[4],theme:[1],rounded:[4],elevated:[4],isDragging:[32],activeGutterIndex:[32],hoveredGutterIndex:[32],collapsedPanels:[32]},void 0,{panels:[{handlePanelsChange:0}]}]),p=h,c=function(){"undefined"!=typeof customElements&&["ui-splitter","ui-badge","ui-button","ui-icon","ui-loader"].forEach((t=>{switch(t){case"ui-splitter":customElements.get(s(t))||customElements.define(s(t),h);break;case"ui-badge":customElements.get(s(t))||a();break;case"ui-button":customElements.get(s(t))||o();break;case"ui-icon":customElements.get(s(t))||l();break;case"ui-loader":customElements.get(s(t))||n()}}))};export{p as UiSplitter,c as defineCustomElement}
1
+ import{proxyCustomElement as t,HTMLElement as e,createEvent as r,h as i,transformTag as s}from"@stencil/core/internal/client";import{d as o}from"./badge.js";import{d as a}from"./button.js";import{d as l}from"./icon.js";import{d as n}from"./loader.js";const h=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.sizeChange=r(this,"sizeChange",7),this.panelCollapse=r(this,"panelCollapse",7),this.splitterDragStart=r(this,"splitterDragStart",7),this.splitterDragEnd=r(this,"splitterDragEnd",7)}get el(){return this}direction="horizontal";gutterSize=8;gutterColor="#e5e7eb";gutterHoverColor="#0de44dff";panels=[];sizes=[];snapThreshold=20;animated=!0;persistState=!1;storageKey="splitter-state";showGutterIcon=!0;doubleClickCollapse=!0;keyboardNavigation=!0;rtl=!1;theme="auto";rounded=!1;elevated=!1;isDragging=!1;activeGutterIndex=-1;hoveredGutterIndex=-1;collapsedPanels=new Set;sizeChange;panelCollapse;splitterDragStart;splitterDragEnd;startPos=0;startSizes=[];panelRefs=[];componentWillLoad(){this.initializeSizes(),this.persistState&&this.loadState()}componentDidLoad(){0===this.sizes.length&&this.initializeSizes(),this.keyboardNavigation&&document.addEventListener("keydown",this.handleKeyDown)}disconnectedCallback(){this.keyboardNavigation&&document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp)}handlePanelsChange(){this.initializeSizes()}initializeSizes(){const t=this.getPanelCount();0!==t&&this.sizes.length!==t&&(this.sizes=Array(t).fill(0).map(((e,r)=>this.panels[r]?.size||100/t)))}getPanelCount(){const t=this.el.querySelectorAll('[slot^="panel-"]');return Math.max(t.length,this.panels.length)}loadState(){try{const t=localStorage.getItem(this.storageKey);if(t){const e=JSON.parse(t);this.sizes=e.sizes||this.sizes,this.collapsedPanels=new Set(e.collapsed||[])}}catch(t){console.error("Failed to load splitter state:",t)}}saveState(){if(this.persistState)try{const t={sizes:this.sizes,collapsed:Array.from(this.collapsedPanels)};localStorage.setItem(this.storageKey,JSON.stringify(t))}catch(t){console.error("Failed to save splitter state:",t)}}handleMouseDown=(t,e)=>{t.preventDefault(),this.isDragging=!0,this.activeGutterIndex=e,this.startPos="horizontal"===this.direction?t.clientX:t.clientY,this.startSizes=[...this.sizes],document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("mouseup",this.handleMouseUp),this.splitterDragStart.emit({index:e})};handleMouseMove=t=>{if(!this.isDragging||-1===this.activeGutterIndex)return;const e=("horizontal"===this.direction?t.clientX:t.clientY)-this.startPos,r=[...this.startSizes],i=this.activeGutterIndex,s=this.activeGutterIndex+1,o=this.panels[i],a=this.panels[s];let l=this.startSizes[i]+(this.rtl&&"horizontal"===this.direction?-e:e)/("horizontal"===this.direction?this.el.offsetWidth:this.el.offsetHeight)*100;const n=void 0!==o?.minSize?o.minSize:0,h=void 0!==o?.maxSize?o.maxSize:100,p=void 0!==a?.minSize?a.minSize:0;let c=Math.max(Math.max(n,this.startSizes[i]+this.startSizes[s]-(void 0!==a?.maxSize?a.maxSize:100)),Math.min(Math.min(h,this.startSizes[i]+this.startSizes[s]-p),l));this.snapThreshold>0&&(Math.abs(c-n)<this.snapThreshold&&(c=n),Math.abs(this.startSizes[i]+this.startSizes[s]-c-p)<this.snapThreshold&&(c=this.startSizes[i]+this.startSizes[s]-p)),r[i]=c,r[s]=this.startSizes[i]+this.startSizes[s]-c,this.sizes=r,this.sizeChange.emit({sizes:this.sizes,index:this.activeGutterIndex})};handleMouseUp=()=>{this.isDragging&&(this.isDragging=!1,this.splitterDragEnd.emit({index:this.activeGutterIndex,sizes:this.sizes}),this.activeGutterIndex=-1,this.saveState()),document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp)};handleGutterDoubleClick=t=>{if(!this.doubleClickCollapse)return;const e=this.panels[t];e?.collapsible&&this.toggleCollapse(t)};toggleCollapse(t){const e=this.collapsedPanels.has(t);e?this.collapsedPanels.delete(t):(this.collapsedPanels.add(t),this.sizes[t]=this.panels[t]?.minSize||0),this.collapsedPanels=new Set(this.collapsedPanels),this.panelCollapse.emit({index:t,collapsed:!e}),this.saveState()}handleKeyDown=t=>{this.keyboardNavigation&&-1!==this.activeGutterIndex&&("ArrowLeft"===t.key||"ArrowUp"===t.key?(t.preventDefault(),this.adjustSize(this.activeGutterIndex,-5)):"ArrowRight"!==t.key&&"ArrowDown"!==t.key||(t.preventDefault(),this.adjustSize(this.activeGutterIndex,5)))};adjustSize(t,e){const r=[...this.sizes];r[t]+=e,r[t+1]-=e,this.sizes=r,this.sizeChange.emit({sizes:this.sizes,index:t})}renderGutter(t){const e=this.activeGutterIndex===t,r=this.hoveredGutterIndex===t;return i("div",{class:{"splitter-gutter":!0,"splitter-gutter-active":e,"splitter-gutter-hovered":r,"splitter-gutter-horizontal":"horizontal"===this.direction,"splitter-gutter-vertical":"vertical"===this.direction},style:{width:"horizontal"===this.direction?this.gutterSize+"px":"100%",height:"vertical"===this.direction?this.gutterSize+"px":"100%",background:r||e?this.gutterHoverColor:this.gutterColor},onMouseDown:e=>this.handleMouseDown(e,t),onDblClick:()=>this.handleGutterDoubleClick(t),onMouseEnter:()=>this.hoveredGutterIndex=t,onMouseLeave:()=>this.hoveredGutterIndex=-1},this.showGutterIcon&&i("ui-icon",{name:"grip-"+("horizontal"===this.direction?"vertical":"lines"),library:"fontawesome"}))}renderPanel(t){const e=this.sizes[t]||0,r=this.collapsedPanels.has(t),s=this.panels[t];return i("div",{ref:e=>this.panelRefs[t]=e,class:{"splitter-panel":!0,"splitter-panel-collapsed":r,"splitter-panel-animated":this.animated&&!this.isDragging},style:{["horizontal"===this.direction?"width":"height"]:e+"%",["horizontal"===this.direction?"height":"width"]:"100%"}},i("slot",{name:"panel-"+t}),s?.collapsible&&i("ui-button",{variant:"ghost",onClick:()=>this.toggleCollapse(t),ariaLabel:r?"Expand":"Collapse",icon:"chevron-"+(r?"right":"left"),iconLibrary:"fontawesome",iconOnly:!0,size:"sm"}))}render(){const t=this.getPanelCount(),e=[];for(let r=0;r<t;r++)e.push(this.renderPanel(r)),r<t-1&&e.push(this.renderGutter(r));return i("div",{key:"e4576c74bbbb36dd9e15f0e7860efd48e878656c",class:{"splitter-container":!0,["splitter-"+this.direction]:!0,["splitter-theme-"+this.theme]:!0,"splitter-rounded":this.rounded,"splitter-elevated":this.elevated,"splitter-dragging":this.isDragging,"splitter-rtl":this.rtl}},e)}static get watchers(){return{panels:[{handlePanelsChange: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;width:100%;height:100%;--gutter-size:8px;--gutter-color:var(--text-standard, #e5e7eb);--gutter-hover-color:var(--color-primary, #10b981);--panel-bg:var(--bg-primary, #ffffff);--panel-border:var(--border-default, #e5e7eb)}.splitter-container{display:flex;width:100%;height:100%;position:relative;overflow:hidden}.splitter-horizontal{flex-direction:row}.splitter-vertical{flex-direction:column}.splitter-rounded{border-radius:8px;overflow:hidden}.splitter-elevated{box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)}.splitter-panel{position:relative;overflow:auto;background:var(--panel-bg);flex-shrink:0}.splitter-panel::-webkit-scrollbar{width:8px;height:8px}.splitter-panel::-webkit-scrollbar-track{background:var(--bg-primary, #f1f1f1)}.splitter-panel::-webkit-scrollbar-thumb{background:var(--bg-tertiary, #888);border-radius:4px}.splitter-panel::-webkit-scrollbar-thumb:hover{background:var(--bg-secondary, #555)}.splitter-panel-animated{transition:width 0.3s ease, height 0.3s ease}.splitter-panel-collapsed{overflow:hidden}.splitter-gutter{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:col-resize;transition:background-color 0.2s ease;user-select:none}.splitter-gutter i{color:var(--text-muted, #9ca3af);font-size:12px;pointer-events:none;transition:color 0.2s ease}.splitter-gutter:hover i,.splitter-gutter.splitter-gutter-active i{color:var(--text-standard, #ffffff)}.splitter-gutter-vertical{cursor:row-resize}.splitter-gutter-horizontal{cursor:col-resize}.splitter-gutter-active{background:var(--gutter-hover-color) !important;z-index:10}.splitter-gutter-hovered{background:var(--gutter-hover-color)}.splitter-collapse-btn{position:absolute;top:8px;right:8px;width:24px;height:24px;border:none;background:var(--bg-secondary, #f3f4f6);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;z-index:5}.splitter-collapse-btn i{font-size:12px;color:var(--text-muted, #6b7280)}.splitter-collapse-btn:hover{background:var(--bg-primary, #e5e7eb);transform:scale(1.1)}.splitter-collapse-btn:hover i{color:var(--text-secondary, #374151)}.splitter-collapse-btn:active{transform:scale(0.95)}.splitter-dragging{cursor:col-resize;user-select:none}.splitter-dragging .splitter-panel{pointer-events:none}.splitter-dragging.splitter-vertical{cursor:row-resize}.splitter-rtl{direction:rtl}.splitter-rtl .splitter-collapse-btn{right:auto;left:8px}.splitter-theme-dark{--panel-bg:var(--bg-primary, #1f2937);--panel-border:var(--border-default, #374151);--gutter-color:var(--text-secondary, #374151);--gutter-hover-color:var(--color-primary, #10b981)}.splitter-theme-dark .splitter-panel{color:var(--text-standard, #f9fafb)}.splitter-theme-dark .splitter-panel::-webkit-scrollbar-track{background:var(--bg-secondary, #111827)}.splitter-theme-dark .splitter-panel::-webkit-scrollbar-thumb{background:var(--color-primary, #4b5563)}.splitter-theme-dark .splitter-panel::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #6b7280)}.splitter-theme-dark .splitter-collapse-btn{background:var(--color-primary, #374151)}.splitter-theme-dark .splitter-collapse-btn i{color:var(--text-muted, #9ca3af)}.splitter-theme-dark .splitter-collapse-btn:hover{background:var(--color-primary, #4b5563)}.splitter-theme-dark .splitter-collapse-btn:hover i{color:var(--bg-secondary, #d1d5db)}.splitter-theme-dark .splitter-gutter i{color:var(--text-muted, #6b7280)}@media (prefers-color-scheme: dark){.splitter-theme-auto{--panel-bg:var(--bg-primary, #1f2937);--panel-border:var(--border-default, #374151);--gutter-color:var(--text-secondary, #374151);--gutter-hover-color:var(--color-primary, #10b981)}.splitter-theme-auto .splitter-panel{color:var(--text-standard, #f9fafb)}.splitter-theme-auto .splitter-panel::-webkit-scrollbar-track{background:var(--bg-secondary, #111827)}.splitter-theme-auto .splitter-panel::-webkit-scrollbar-thumb{background:var(--color-primary, #4b5563)}.splitter-theme-auto .splitter-panel::-webkit-scrollbar-thumb:hover{background:var(--color-primary, #6b7280)}.splitter-theme-auto .splitter-collapse-btn{background:var(--color-primary, #374151)}.splitter-theme-auto .splitter-collapse-btn i{color:var(--text-muted, #9ca3af)}.splitter-theme-auto .splitter-collapse-btn:hover{background:var(--color-primary, #4b5563)}.splitter-theme-auto .splitter-collapse-btn:hover i{color:var(--bg-secondary, #d1d5db)}.splitter-theme-auto .splitter-gutter i{color:var(--text-muted, #6b7280)}}@media (max-width: 768px){.splitter-gutter{width:12px !important;height:12px !important}.splitter-collapse-btn{width:32px;height:32px}.splitter-collapse-btn i{font-size:14px}}.splitter-gutter:focus{outline:2px solid var(--gutter-hover-color);outline-offset:2px}.splitter-collapse-btn:focus{outline:2px solid var(--color-primary, #10b981);outline-offset:2px}"}},[769,"ui-splitter",{direction:[1],gutterSize:[2,"gutter-size"],gutterColor:[1,"gutter-color"],gutterHoverColor:[1,"gutter-hover-color"],panels:[16],sizes:[1040],snapThreshold:[2,"snap-threshold"],animated:[4],persistState:[4,"persist-state"],storageKey:[1,"storage-key"],showGutterIcon:[4,"show-gutter-icon"],doubleClickCollapse:[4,"double-click-collapse"],keyboardNavigation:[4,"keyboard-navigation"],rtl:[4],theme:[1],rounded:[4],elevated:[4],isDragging:[32],activeGutterIndex:[32],hoveredGutterIndex:[32],collapsedPanels:[32]},void 0,{panels:[{handlePanelsChange:0}]}]),p=h,c=function(){"undefined"!=typeof customElements&&["ui-splitter","ui-badge","ui-button","ui-icon","ui-loader"].forEach((t=>{switch(t){case"ui-splitter":customElements.get(s(t))||customElements.define(s(t),h);break;case"ui-badge":customElements.get(s(t))||o();break;case"ui-button":customElements.get(s(t))||a();break;case"ui-icon":customElements.get(s(t))||l();break;case"ui-loader":customElements.get(s(t))||n()}}))};export{p as UiSplitter,c as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as t,HTMLElement as e,h as o,transformTag as n}from"@stencil/core/internal/client";const r=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow()}index=0;stepTitle="";subtitle=null;icon=null;badge=null;tooltip=null;status="upcoming";disabled=!1;validate;renderContent;render(){return o("div",{key:"34d10339a1b9505e53b2adb8059cfeee2bbb0841",class:"ui-step-container",role:"presentation"},o("div",{key:"adfe6db495ad914bb066963d5d01f89ec4c8b500",class:"ui-step-slots-hidden",style:{display:"none"}},o("slot",{key:"f00c0378d9cb2233b917e714ff9c3b73687fb43c",name:"icon"}),o("slot",{key:"c8fe113292f4181096a2254012cef1c5f2ce9239",name:"title"}),o("slot",{key:"933b9f3adda9b05fa55fad607db3838329c540ed",name:"description"})),o("slot",{key:"16fa7b618483d991cfab40c55bb6e3f42cf431c0"}))}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}.stepper{display:flex;position:relative;--connector-color:var(--step-color, #4b6bfb)}.stepper[data-style=solid]::before{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:var(--connector-color)}.stepper[data-style=dotted]::before{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:repeating-linear-gradient(to right, var(--connector-color) 0 4px, transparent 4px 8px)}.stepper[data-style=dashed]::before{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:repeating-linear-gradient(to right, var(--connector-color) 0 10px, transparent 10px 20px)}.stepper[data-style=segmented]::before{content:"";position:absolute;top:50%;left:0;right:0;height:4px;background:linear-gradient(to right, var(--connector-color) 0 20%, transparent 20% 25%, var(--connector-color) 25% 45%, transparent 45% 50%, var(--connector-color) 50% 70%, transparent 70% 75%, var(--connector-color) 75% 100%)}.stepper[data-reduced=true] *{animation:none !important;transition:none !important}'}},[769,"ui-step",{stepTitle:[1,"step-title"],subtitle:[1],icon:[1],badge:[1],tooltip:[1],status:[1],disabled:[4],validate:[16],renderContent:[16]}]),i=r,a=function(){"undefined"!=typeof customElements&&["ui-step"].forEach((t=>{"ui-step"===t&&(customElements.get(n(t))||customElements.define(n(t),r))}))};export{i as UiStep,a as defineCustomElement}
1
+ import{proxyCustomElement as t,HTMLElement as e,h as o,transformTag as n}from"@stencil/core/internal/client";const r=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow()}index=0;stepTitle="";subtitle=null;icon=null;badge=null;tooltip=null;status="upcoming";disabled=!1;validate;renderContent;render(){return o("div",{key:"de59e6d6505c76bc976aa2bf5855dad0ef5e89c0",class:"ui-step-container",role:"presentation"},o("div",{key:"c8fd7d9d902baf954efb14320019baeee0fd8779",class:"ui-step-slots-hidden",style:{display:"none"}},o("slot",{key:"d10ff568dfe41f6afe9c01c463126356a320145d",name:"icon"}),o("slot",{key:"b980bfd228b83625eedee13544f4f8528ef91631",name:"title"}),o("slot",{key:"81c6b9421b60a56a3f2af19f5f81188ac4fc7ce6",name:"description"})),o("slot",{key:"5fd79b9a25c3f97af09cfab85a00172e663e6275"}))}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}.stepper{display:flex;position:relative;--connector-color:var(--step-color, #4b6bfb)}.stepper[data-style=solid]::before{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:var(--connector-color)}.stepper[data-style=dotted]::before{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:repeating-linear-gradient(to right, var(--connector-color) 0 4px, transparent 4px 8px)}.stepper[data-style=dashed]::before{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:repeating-linear-gradient(to right, var(--connector-color) 0 10px, transparent 10px 20px)}.stepper[data-style=segmented]::before{content:"";position:absolute;top:50%;left:0;right:0;height:4px;background:linear-gradient(to right, var(--connector-color) 0 20%, transparent 20% 25%, var(--connector-color) 25% 45%, transparent 45% 50%, var(--connector-color) 50% 70%, transparent 70% 75%, var(--connector-color) 75% 100%)}.stepper[data-reduced=true] *{animation:none !important;transition:none !important}'}},[769,"ui-step",{stepTitle:[1,"step-title"],subtitle:[1],icon:[1],badge:[1],tooltip:[1],status:[1],disabled:[4],validate:[16],renderContent:[16]}]),a=r,i=function(){"undefined"!=typeof customElements&&["ui-step"].forEach((t=>{"ui-step"===t&&(customElements.get(n(t))||customElements.define(n(t),r))}))};export{a as UiStep,i as defineCustomElement}