atomicuilibrary 0.0.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (675) hide show
  1. package/dist/cjs/category-section.cjs.entry.js +2 -2
  2. package/dist/cjs/dom-BvBb0kmW.js +267 -0
  3. package/dist/cjs/exploration-project-tailwind.cjs.js +2 -2
  4. package/dist/cjs/{index-ClkOYpT8.js → index-C32cWsm5.js} +1 -1
  5. package/dist/cjs/layout-manager.cjs.entry.js +3 -3
  6. package/dist/cjs/library-card.cjs.entry.js +2 -2
  7. package/dist/cjs/lm-container_2.cjs.entry.js +2 -2
  8. package/dist/cjs/lm-panel_3.cjs.entry.js +5 -5
  9. package/dist/cjs/loader.cjs.js +2 -2
  10. package/dist/cjs/my-component.cjs.entry.js +1 -1
  11. package/dist/cjs/my-step.cjs.entry.js +2 -2
  12. package/dist/cjs/nav-bar.cjs.entry.js +4 -4
  13. package/dist/cjs/{security-E1JcwxGc.js → security-CNaNip8F.js} +88 -154
  14. package/dist/cjs/smart-step.cjs.entry.js +3 -3
  15. package/dist/cjs/timeline-item.cjs.entry.js +2 -2
  16. package/dist/cjs/{ui-accordion_10.cjs.entry.js → ui-accordion_11.cjs.entry.js} +730 -61
  17. package/dist/cjs/ui-advanced-data-table.cjs.entry.js +2 -2
  18. package/dist/cjs/ui-anchor.cjs.entry.js +2 -2
  19. package/dist/cjs/ui-animate-on-scroll.cjs.entry.js +3 -3
  20. package/dist/cjs/ui-aside-panel.cjs.entry.js +11 -12
  21. package/dist/cjs/ui-avatar-group_5.cjs.entry.js +1694 -0
  22. package/dist/cjs/ui-breadcrumb-item.cjs.entry.js +3 -3
  23. package/dist/cjs/ui-breadcrumb.cjs.entry.js +1 -1
  24. package/dist/cjs/ui-callout-banner.cjs.entry.js +3 -3
  25. package/dist/cjs/ui-card.cjs.entry.js +28 -5
  26. package/dist/cjs/ui-carousel.cjs.entry.js +1 -1
  27. package/dist/cjs/ui-checkbox.cjs.entry.js +5 -5
  28. package/dist/cjs/ui-code-editor.cjs.entry.js +3 -3
  29. package/dist/cjs/ui-code-preview.cjs.entry.js +2 -2
  30. package/dist/cjs/ui-color-picker.cjs.entry.js +256 -22
  31. package/dist/cjs/ui-command-palette.cjs.entry.js +1 -1
  32. package/dist/cjs/ui-dialog-box.cjs.entry.js +86 -12
  33. package/dist/cjs/ui-dialog-content.cjs.entry.js +1 -1
  34. package/dist/cjs/ui-dialog-footer_2.cjs.entry.js +1 -1
  35. package/dist/cjs/ui-divider.cjs.entry.js +1 -1
  36. package/dist/cjs/ui-dock-host.cjs.entry.js +4 -4
  37. package/dist/cjs/ui-dock.cjs.entry.js +2 -2
  38. package/dist/cjs/ui-drag-drop.cjs.entry.js +2 -2
  39. package/dist/cjs/ui-dropdown_2.cjs.entry.js +104 -34
  40. package/dist/cjs/ui-empty-state.cjs.entry.js +2 -2
  41. package/dist/cjs/ui-fab-item.cjs.entry.js +2 -2
  42. package/dist/cjs/ui-fab.cjs.entry.js +4 -4
  43. package/dist/cjs/ui-file-upload.cjs.entry.js +143 -44
  44. package/dist/cjs/ui-horizontal-nav.cjs.entry.js +2 -2
  45. package/dist/cjs/ui-knob.cjs.entry.js +1 -1
  46. package/dist/cjs/ui-label.cjs.entry.js +473 -0
  47. package/dist/cjs/ui-library.cjs.entry.js +2 -2
  48. package/dist/cjs/ui-list-group_2.cjs.entry.js +351 -58
  49. package/dist/cjs/ui-list.cjs.entry.js +76 -42
  50. package/dist/cjs/ui-masonry.cjs.entry.js +1 -1
  51. package/dist/cjs/ui-meter-group.cjs.entry.js +5 -4
  52. package/dist/cjs/ui-navigation-item.cjs.entry.js +5 -5
  53. package/dist/cjs/ui-number-input.cjs.entry.js +7 -3
  54. package/dist/cjs/ui-otp-input.cjs.entry.js +5 -5
  55. package/dist/cjs/ui-pagination_3.cjs.entry.js +235 -504
  56. package/dist/cjs/ui-panel.cjs.entry.js +1 -1
  57. package/dist/cjs/ui-pattern-input.cjs.entry.js +46 -11
  58. package/dist/cjs/ui-progress.cjs.entry.js +164 -23
  59. package/dist/cjs/ui-range-slider.cjs.entry.js +2 -2
  60. package/dist/cjs/ui-resizable-panel.cjs.entry.js +2 -2
  61. package/dist/cjs/ui-scroll-top.cjs.entry.js +1 -1
  62. package/dist/cjs/ui-smart-context-menu.cjs.entry.js +1 -1
  63. package/dist/cjs/ui-smart-stepper.cjs.entry.js +2 -2
  64. package/dist/cjs/ui-snackbar.cjs.entry.js +2 -2
  65. package/dist/cjs/ui-speed-dial.cjs.entry.js +1 -1
  66. package/dist/cjs/ui-speedometer.cjs.entry.js +28 -17
  67. package/dist/cjs/ui-splitter.cjs.entry.js +1 -1
  68. package/dist/cjs/ui-step.cjs.entry.js +2 -2
  69. package/dist/cjs/ui-stepper.cjs.entry.js +2 -2
  70. package/dist/cjs/ui-switch.cjs.entry.js +14 -13
  71. package/dist/cjs/ui-tabs.cjs.entry.js +3 -3
  72. package/dist/cjs/ui-tag.cjs.entry.js +58 -13
  73. package/dist/cjs/ui-timeline.cjs.entry.js +11 -3
  74. package/dist/cjs/ui-timer.cjs.entry.js +2 -2
  75. package/dist/cjs/ui-toolbar.cjs.entry.js +2 -2
  76. package/dist/cjs/ui-tooltip.cjs.entry.js +5 -5
  77. package/dist/cjs/ui-top-bar.cjs.entry.js +1 -1
  78. package/dist/cjs/ui-transfer-list.cjs.entry.js +7 -7
  79. package/dist/cjs/ui-tree.cjs.entry.js +30 -15
  80. package/dist/cjs/ui-workspace-manager.cjs.entry.js +3 -3
  81. package/dist/collection/assets/js/component-config.js +1 -0
  82. package/dist/collection/assets/js/demo-loader.js +2 -1
  83. package/dist/collection/assets/js/demos/about-demo.js +13 -13
  84. package/dist/collection/assets/js/demos/accordion-demo.js +238 -49
  85. package/dist/collection/assets/js/demos/advanced-data-table-demo.js +315 -316
  86. package/dist/collection/assets/js/demos/anchor-demo.js +27 -28
  87. package/dist/collection/assets/js/demos/animate-on-scroll-demo.js +12 -12
  88. package/dist/collection/assets/js/demos/aside-panel-demo.js +57 -57
  89. package/dist/collection/assets/js/demos/avatar-demo.js +433 -95
  90. package/dist/collection/assets/js/demos/badge-demo.js +51 -52
  91. package/dist/collection/assets/js/demos/breadcrumb-demo.js +7 -7
  92. package/dist/collection/assets/js/demos/button-demo.js +175 -106
  93. package/dist/collection/assets/js/demos/button-toggle-demo.js +199 -96
  94. package/dist/collection/assets/js/demos/callout-banner-demo.js +332 -42
  95. package/dist/collection/assets/js/demos/card-demo.js +122 -74
  96. package/dist/collection/assets/js/demos/carousel-demo.js +632 -360
  97. package/dist/collection/assets/js/demos/checkbox-demo.js +124 -7
  98. package/dist/collection/assets/js/demos/color-picker-demo.js +394 -100
  99. package/dist/collection/assets/js/demos/command-palette-demo.js +182 -65
  100. package/dist/collection/assets/js/demos/complex-form-demo.js +5 -5
  101. package/dist/collection/assets/js/demos/context-menu-demo.js +476 -55
  102. package/dist/collection/assets/js/demos/dialog-demo-temp.js +3 -3
  103. package/dist/collection/assets/js/demos/dialog-demo.js +336 -230
  104. package/dist/collection/assets/js/demos/divider-demo.js +59 -62
  105. package/dist/collection/assets/js/demos/dock-demo.js +92 -72
  106. package/dist/collection/assets/js/demos/dock-host-init.js +31 -31
  107. package/dist/collection/assets/js/demos/documentation-demo.js +227 -22
  108. package/dist/collection/assets/js/demos/drag-drop-demo.js +2 -2
  109. package/dist/collection/assets/js/demos/dropdown-demo.js +140 -136
  110. package/dist/collection/assets/js/demos/dropdown-subtitle-demo.js +2 -2
  111. package/dist/collection/assets/js/demos/empty-state-demo.js +304 -88
  112. package/dist/collection/assets/js/demos/fab-demo.js +95 -11
  113. package/dist/collection/assets/js/demos/file-upload-demo.js +641 -171
  114. package/dist/collection/assets/js/demos/home-components.js +2 -2
  115. package/dist/collection/assets/js/demos/horizontal-nav-demo.js +6 -6
  116. package/dist/collection/assets/js/demos/icon-demo.js +17 -17
  117. package/dist/collection/assets/js/demos/input-demo.js +147 -143
  118. package/dist/collection/assets/js/demos/knob-demo.js +29 -30
  119. package/dist/collection/assets/js/demos/label-demo.js +697 -0
  120. package/dist/collection/assets/js/demos/layout-manager-demo.js +55 -55
  121. package/dist/collection/assets/js/demos/list-demo.js +226 -140
  122. package/dist/collection/assets/js/demos/loader-demo.js +48 -48
  123. package/dist/collection/assets/js/demos/masonry-demo.js +592 -0
  124. package/dist/collection/assets/js/demos/meter-group-demo.js +14 -16
  125. package/dist/collection/assets/js/demos/multi-level-context-menu-demo.js +25 -25
  126. package/dist/collection/assets/js/demos/my-profile-demo.js +27 -27
  127. package/dist/collection/assets/js/demos/nav-bar-demo.js +1 -1
  128. package/dist/collection/assets/js/demos/number-input-demo.js +262 -211
  129. package/dist/collection/assets/js/demos/pagination-demo.js +29 -29
  130. package/dist/collection/assets/js/demos/panel-demo.js +18 -25
  131. package/dist/collection/assets/js/demos/pattern-input-demo.js +278 -40
  132. package/dist/collection/assets/js/demos/popover-demo.js +240 -149
  133. package/dist/collection/assets/js/demos/progress-demo.js +768 -61
  134. package/dist/collection/assets/js/demos/radio-demo.js +73 -12
  135. package/dist/collection/assets/js/demos/range-slider-demo.js +33 -33
  136. package/dist/collection/assets/js/demos/rating-demo.js +19 -19
  137. package/dist/collection/assets/js/demos/scroll-top-demo.js +8 -9
  138. package/dist/collection/assets/js/demos/skeleton-demo.js +110 -52
  139. package/dist/collection/assets/js/demos/skeleton-performance-demo.js +2 -2
  140. package/dist/collection/assets/js/demos/smart-dialog-demo.js +12 -12
  141. package/dist/collection/assets/js/demos/smart-menu-demo.js +17 -17
  142. package/dist/collection/assets/js/demos/snackbar-demo.js +53 -53
  143. package/dist/collection/assets/js/demos/speed-dial-demo.js +14 -14
  144. package/dist/collection/assets/js/demos/speedometer-demo.js +40 -32
  145. package/dist/collection/assets/js/demos/split-button-demo.js +2 -2
  146. package/dist/collection/assets/js/demos/splitter-demo.js +137 -0
  147. package/dist/collection/assets/js/demos/stack-demo.js +27 -27
  148. package/dist/collection/assets/js/demos/stepper-demo.js +49 -49
  149. package/dist/collection/assets/js/demos/switch-demo.js +561 -125
  150. package/dist/collection/assets/js/demos/tabs-demo.js +22 -22
  151. package/dist/collection/assets/js/demos/tag-demo.js +110 -80
  152. package/dist/collection/assets/js/demos/theme-selector-demo.js +27 -27
  153. package/dist/collection/assets/js/demos/timeline-demo.js +27 -14
  154. package/dist/collection/assets/js/demos/timeline-playground.js +2 -2
  155. package/dist/collection/assets/js/demos/timer-demo.js +10 -10
  156. package/dist/collection/assets/js/demos/toolbar-demo.js +17 -17
  157. package/dist/collection/assets/js/demos/tooltip-demo.js +116 -114
  158. package/dist/collection/assets/js/demos/top-bar-demo.js +6 -6
  159. package/dist/collection/assets/js/demos/transfer-list-demo.js +20 -20
  160. package/dist/collection/assets/js/demos/tree-demo.js +72 -70
  161. package/dist/collection/assets/js/demos/workspace-manager-demo.js +20 -20
  162. package/dist/collection/collection-manifest.json +2 -6
  163. package/dist/collection/components/accordion/accordion.css +576 -9
  164. package/dist/collection/components/accordion/accordion.js +47 -14
  165. package/dist/collection/components/advanced-data-table/advanced-data-table.css +24 -10
  166. package/dist/collection/components/advanced-data-table/advanced-data-table.js +2 -2
  167. package/dist/collection/components/anchor/anchor.css +0 -1
  168. package/dist/collection/components/animate-on-scroll/animate-on-scroll.js +2 -2
  169. package/dist/collection/components/aside-panel/aside-panel.css +3 -5
  170. package/dist/collection/components/aside-panel/aside-panel.js +12 -13
  171. package/dist/collection/components/avatar/avatar.css +6 -6
  172. package/dist/collection/components/avatar/avatar.js +64 -12
  173. package/dist/collection/components/badge/badge.css +28 -17
  174. package/dist/collection/components/badge/badge.js +7 -4
  175. package/dist/collection/components/breadcrumb/breadcrumb-item.js +2 -2
  176. package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
  177. package/dist/collection/components/button/button.css +132 -0
  178. package/dist/collection/components/button/button.js +130 -11
  179. package/dist/collection/components/button-toggle/button-toggle.js +2 -2
  180. package/dist/collection/components/button-toggle-group/button-toggle-group.css +161 -14
  181. package/dist/collection/components/button-toggle-group/button-toggle-group.js +2 -2
  182. package/dist/collection/components/callout-banner/callout-banner.css +75 -0
  183. package/dist/collection/components/callout-banner/callout-banner.js +1 -1
  184. package/dist/collection/components/card/card.css +304 -40
  185. package/dist/collection/components/card/card.js +48 -4
  186. package/dist/collection/components/checkbox/checkbox.css +8 -10
  187. package/dist/collection/components/checkbox/checkbox.js +5 -5
  188. package/dist/collection/components/code-editor/code-editor.js +1 -1
  189. package/dist/collection/components/code-preview/ui-code-preview.js +1 -1
  190. package/dist/collection/components/color-picker/color-picker.css +110 -6
  191. package/dist/collection/components/color-picker/color-picker.js +302 -26
  192. package/dist/collection/components/context-menu/context-menu.css +8 -8
  193. package/dist/collection/components/dialog-box/dialog-box.js +117 -15
  194. package/dist/collection/components/dialog-header/dialog-header.js +2 -2
  195. package/dist/collection/components/dock/dock.css +116 -3
  196. package/dist/collection/components/dock-host/ui-dock-host.js +3 -3
  197. package/dist/collection/components/drag-drop/drag-drop.js +1 -1
  198. package/dist/collection/components/dropdown/dropdown.css +101 -8
  199. package/dist/collection/components/dropdown/dropdown.js +94 -28
  200. package/dist/collection/components/empty-state/empty-state.js +1 -1
  201. package/dist/collection/components/fab/fab.css +87 -15
  202. package/dist/collection/components/fab/fab.js +3 -3
  203. package/dist/collection/components/fab-item/fab-item.js +1 -1
  204. package/dist/collection/components/file-upload/file-upload.css +1362 -31
  205. package/dist/collection/components/file-upload/file-upload.js +171 -50
  206. package/dist/collection/components/horizontal-nav/horizontal-nav.css +9 -9
  207. package/dist/collection/components/horizontal-nav/horizontal-nav.js +2 -2
  208. package/dist/collection/components/icon/icon.js +1 -1
  209. package/dist/collection/components/input/input.css +9 -0
  210. package/dist/collection/components/input/input.js +21 -10
  211. package/dist/collection/components/label/label.css +583 -0
  212. package/dist/collection/components/label/label.js +1669 -0
  213. package/dist/collection/components/layout-manager/layout-manager.js +1 -1
  214. package/dist/collection/components/layout-manager/lm-floating-window/lm-floating-window.js +1 -1
  215. package/dist/collection/components/layout-manager/lm-panel/lm-panel.js +1 -1
  216. package/dist/collection/components/layout-manager/lm-splitter/lm-splitter.js +1 -1
  217. package/dist/collection/components/layout-manager/lm-tabs/lm-tabs.js +1 -1
  218. package/dist/collection/components/library/category-section.js +1 -1
  219. package/dist/collection/components/library/library-card.js +1 -1
  220. package/dist/collection/components/library/library.js +1 -1
  221. package/dist/collection/components/list/list.css +46 -5
  222. package/dist/collection/components/list/list.js +76 -42
  223. package/dist/collection/components/list-group/list-group.css +0 -2
  224. package/dist/collection/components/list-group/list-group.js +11 -5
  225. package/dist/collection/components/list-item/list-item.css +427 -131
  226. package/dist/collection/components/list-item/list-item.js +373 -58
  227. package/dist/collection/components/loader/loader.css +1635 -0
  228. package/dist/collection/components/loader/loader.js +1120 -0
  229. package/dist/collection/components/meter-group/meter-group.css +5 -0
  230. package/dist/collection/components/meter-group/meter-group.js +3 -2
  231. package/dist/collection/components/my-step/my-step.js +1 -1
  232. package/dist/collection/components/nav-bar/nav-bar.css +4 -4
  233. package/dist/collection/components/nav-bar/nav-bar.js +6 -6
  234. package/dist/collection/components/number-input/number-input.js +6 -2
  235. package/dist/collection/components/otp-input/otp-input.css +10 -0
  236. package/dist/collection/components/otp-input/otp-input.js +3 -3
  237. package/dist/collection/components/pagination/pagination.js +1 -1
  238. package/dist/collection/components/pattern-input/pattern-input.css +0 -1
  239. package/dist/collection/components/pattern-input/pattern-input.js +44 -9
  240. package/dist/collection/components/popover/popover.css +35 -7
  241. package/dist/collection/components/popover/popover.js +64 -9
  242. package/dist/collection/components/progress/progress.css +307 -28
  243. package/dist/collection/components/progress/progress.js +244 -24
  244. package/dist/collection/components/radio/radio.css +5 -3
  245. package/dist/collection/components/radio/radio.js +2 -2
  246. package/dist/collection/components/range-slider/range-slider.css +284 -31
  247. package/dist/collection/components/range-slider/range-slider.js +5 -5
  248. package/dist/collection/components/rating/rating.css +151 -65
  249. package/dist/collection/components/rating/rating.js +31 -13
  250. package/dist/collection/components/resizable-panel/resizable-panel.js +1 -1
  251. package/dist/collection/components/skeleton/skeleton-loader.css +144 -44
  252. package/dist/collection/components/skeleton/skeleton-loader.js +11 -7
  253. package/dist/collection/components/smart-stepper/smart-step.js +2 -2
  254. package/dist/collection/components/smart-stepper/smart-stepper.js +1 -1
  255. package/dist/collection/components/snackbar/snackbar.js +1 -1
  256. package/dist/collection/components/speed-dial/speed-dial.js +1 -1
  257. package/dist/collection/components/speedometer/speedometer.css +26 -6
  258. package/dist/collection/components/speedometer/speedometer.js +26 -15
  259. package/dist/collection/components/stack/stack.js +2 -2
  260. package/dist/collection/components/step/step.js +1 -1
  261. package/dist/collection/components/stepper/stepper.js +1 -1
  262. package/dist/collection/components/switch/switch.css +367 -8
  263. package/dist/collection/components/switch/switch.js +14 -13
  264. package/dist/collection/components/tag/tag.css +38 -12
  265. package/dist/collection/components/tag/tag.js +58 -13
  266. package/dist/collection/components/tag-group/tag-group.css +0 -1
  267. package/dist/collection/components/tag-group/tag-group.js +3 -3
  268. package/dist/collection/components/timeline/timeline.css +380 -317
  269. package/dist/collection/components/timeline/timeline.js +8 -0
  270. package/dist/collection/components/timeline-item/timeline-item.js +1 -1
  271. package/dist/collection/components/timer/timer.js +1 -1
  272. package/dist/collection/components/toggle-group/toggle-group.css +7 -3
  273. package/dist/collection/components/toggle-group/toggle-group.js +7 -3
  274. package/dist/collection/components/toolbar/toolbar.js +1 -1
  275. package/dist/collection/components/tooltip/tooltip.js +4 -4
  276. package/dist/collection/components/top-bar/top-bar.js +2 -2
  277. package/dist/collection/components/transfer-list/transfer-list.css +13 -13
  278. package/dist/collection/components/transfer-list/transfer-list.js +4 -4
  279. package/dist/collection/components/tree/tree.css +35 -21
  280. package/dist/collection/components/tree/tree.js +28 -13
  281. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.css +53 -20
  282. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.js +48 -13
  283. package/dist/collection/components/ui-navigation-bar/navigation-item.css +7 -7
  284. package/dist/collection/components/ui-navigation-bar/navigation-item.js +3 -3
  285. package/dist/collection/components.js +1 -0
  286. package/dist/collection/utils/dom.js +151 -151
  287. package/dist/components/avatar-group.js +1 -1
  288. package/dist/components/avatar.js +1 -1
  289. package/dist/components/badge.js +1 -1
  290. package/dist/components/button-toggle.js +1 -1
  291. package/dist/components/button.js +1 -0
  292. package/dist/components/category-section2.js +1 -1
  293. package/dist/components/checkbox.js +1 -1
  294. package/dist/components/context-menu.js +1 -1
  295. package/dist/components/dialog-header.js +1 -1
  296. package/dist/components/dom.js +1 -1
  297. package/dist/components/dropdown.js +1 -1
  298. package/dist/components/icon.js +2 -2
  299. package/dist/components/input.js +1 -1
  300. package/dist/components/layout-manager.js +1 -1
  301. package/dist/components/library-card2.js +1 -1
  302. package/dist/components/list-group.js +1 -1
  303. package/dist/components/list-item.js +1 -1
  304. package/dist/components/lm-container2.js +1 -1
  305. package/dist/components/lm-floating-window2.js +1 -1
  306. package/dist/components/lm-panel2.js +1 -1
  307. package/dist/components/lm-splitter2.js +1 -1
  308. package/dist/components/lm-tabs2.js +1 -1
  309. package/dist/components/loader.js +1 -0
  310. package/dist/components/my-step.js +1 -1
  311. package/dist/components/nav-bar.js +1 -1
  312. package/dist/components/pagination.js +1 -1
  313. package/dist/components/popover.js +1 -0
  314. package/dist/components/radio.js +1 -1
  315. package/dist/components/range-slider.js +1 -1
  316. package/dist/components/rating.js +1 -1
  317. package/dist/components/resizable-panel.js +1 -1
  318. package/dist/components/skeleton-loader.js +1 -1
  319. package/dist/components/smart-step.js +1 -1
  320. package/dist/components/stack.js +1 -1
  321. package/dist/components/switch.js +1 -1
  322. package/dist/components/tag-group.js +1 -1
  323. package/dist/components/tag.js +1 -1
  324. package/dist/components/timeline-item.js +1 -1
  325. package/dist/components/toggle-group.js +1 -1
  326. package/dist/components/tooltip.js +1 -1
  327. package/dist/components/ui-accordion.js +1 -1
  328. package/dist/components/ui-advanced-data-table.js +1 -1
  329. package/dist/components/ui-anchor.js +1 -1
  330. package/dist/components/ui-animate-on-scroll.js +1 -1
  331. package/dist/components/ui-aside-panel.js +1 -1
  332. package/dist/components/ui-badge.js +1 -1
  333. package/dist/components/ui-breadcrumb-item.js +1 -1
  334. package/dist/components/ui-breadcrumb.js +1 -1
  335. package/dist/components/ui-button-toggle-group.js +1 -1
  336. package/dist/components/ui-button.js +1 -1
  337. package/dist/components/ui-callout-banner.js +1 -1
  338. package/dist/components/ui-card.js +1 -1
  339. package/dist/components/ui-carousel.js +1 -1
  340. package/dist/components/ui-code-editor.js +1 -1
  341. package/dist/components/ui-code-preview.js +1 -1
  342. package/dist/components/ui-color-picker.js +1 -1
  343. package/dist/components/ui-command-palette.js +1 -1
  344. package/dist/components/ui-dialog-box.js +1 -1
  345. package/dist/components/ui-divider.js +1 -1
  346. package/dist/components/ui-dock-host.js +1 -1
  347. package/dist/components/ui-dock.js +1 -1
  348. package/dist/components/ui-drag-drop.js +1 -1
  349. package/dist/components/ui-empty-state.js +1 -1
  350. package/dist/components/ui-fab-item.js +1 -1
  351. package/dist/components/ui-fab.js +1 -1
  352. package/dist/components/ui-file-upload.js +1 -1
  353. package/dist/components/ui-horizontal-nav.js +1 -1
  354. package/dist/components/ui-knob.js +1 -1
  355. package/dist/components/{ui-input-pair.d.ts → ui-label.d.ts} +4 -4
  356. package/dist/components/ui-label.js +1 -0
  357. package/dist/components/ui-library.js +1 -1
  358. package/dist/components/ui-list.js +1 -1
  359. package/dist/components/{ui-radio-group.d.ts → ui-loader.d.ts} +4 -4
  360. package/dist/components/ui-loader.js +1 -0
  361. package/dist/components/ui-masonry.js +1 -1
  362. package/dist/components/ui-meter-group.js +1 -1
  363. package/dist/components/ui-navigation-bar.js +1 -1
  364. package/dist/components/ui-navigation-item.js +1 -1
  365. package/dist/components/ui-number-input.js +1 -1
  366. package/dist/components/ui-otp-input.js +1 -1
  367. package/dist/components/ui-panel.js +1 -1
  368. package/dist/components/ui-pattern-input.js +1 -1
  369. package/dist/components/ui-popover.js +1 -1
  370. package/dist/components/ui-progress.js +1 -1
  371. package/dist/components/ui-scroll-top.js +1 -1
  372. package/dist/components/ui-smart-context-menu.js +1 -1
  373. package/dist/components/ui-smart-stepper.js +1 -1
  374. package/dist/components/ui-snackbar.js +1 -1
  375. package/dist/components/ui-speed-dial.js +1 -1
  376. package/dist/components/ui-speedometer.js +1 -1
  377. package/dist/components/ui-splitter.js +1 -1
  378. package/dist/components/ui-step.js +1 -1
  379. package/dist/components/ui-stepper.js +1 -1
  380. package/dist/components/ui-tabs.js +1 -1
  381. package/dist/components/ui-timeline.js +1 -1
  382. package/dist/components/ui-timer.js +1 -1
  383. package/dist/components/ui-toolbar.js +1 -1
  384. package/dist/components/ui-top-bar.js +1 -1
  385. package/dist/components/ui-transfer-list.js +1 -1
  386. package/dist/components/ui-tree.js +1 -1
  387. package/dist/components/ui-workspace-manager.js +1 -1
  388. package/dist/esm/category-section.entry.js +2 -2
  389. package/dist/esm/dom-DFBTWhGw.js +262 -0
  390. package/dist/esm/exploration-project-tailwind.js +3 -3
  391. package/dist/esm/{index-DUsoYu9r.js → index-Dqu2zaH1.js} +1 -1
  392. package/dist/esm/layout-manager.entry.js +3 -3
  393. package/dist/esm/library-card.entry.js +2 -2
  394. package/dist/esm/lm-container_2.entry.js +2 -2
  395. package/dist/esm/lm-panel_3.entry.js +5 -5
  396. package/dist/esm/loader.js +3 -3
  397. package/dist/esm/my-component.entry.js +1 -1
  398. package/dist/esm/my-step.entry.js +2 -2
  399. package/dist/esm/nav-bar.entry.js +4 -4
  400. package/dist/esm/{security-D2WzX6vR.js → security-Dyu3Nplq.js} +88 -154
  401. package/dist/esm/smart-step.entry.js +3 -3
  402. package/dist/esm/timeline-item.entry.js +2 -2
  403. package/dist/esm/{ui-accordion_10.entry.js → ui-accordion_11.entry.js} +730 -62
  404. package/dist/esm/ui-advanced-data-table.entry.js +2 -2
  405. package/dist/esm/ui-anchor.entry.js +2 -2
  406. package/dist/esm/ui-animate-on-scroll.entry.js +3 -3
  407. package/dist/esm/ui-aside-panel.entry.js +11 -12
  408. package/dist/esm/ui-avatar-group_5.entry.js +1688 -0
  409. package/dist/esm/ui-breadcrumb-item.entry.js +3 -3
  410. package/dist/esm/ui-breadcrumb.entry.js +1 -1
  411. package/dist/esm/ui-callout-banner.entry.js +3 -3
  412. package/dist/esm/ui-card.entry.js +28 -5
  413. package/dist/esm/ui-carousel.entry.js +1 -1
  414. package/dist/esm/ui-checkbox.entry.js +5 -5
  415. package/dist/esm/ui-code-editor.entry.js +3 -3
  416. package/dist/esm/ui-code-preview.entry.js +2 -2
  417. package/dist/esm/ui-color-picker.entry.js +256 -22
  418. package/dist/esm/ui-command-palette.entry.js +1 -1
  419. package/dist/esm/ui-dialog-box.entry.js +86 -12
  420. package/dist/esm/ui-dialog-content.entry.js +1 -1
  421. package/dist/esm/ui-dialog-footer_2.entry.js +1 -1
  422. package/dist/esm/ui-divider.entry.js +1 -1
  423. package/dist/esm/ui-dock-host.entry.js +4 -4
  424. package/dist/esm/ui-dock.entry.js +2 -2
  425. package/dist/esm/ui-drag-drop.entry.js +2 -2
  426. package/dist/esm/ui-dropdown_2.entry.js +104 -34
  427. package/dist/esm/ui-empty-state.entry.js +2 -2
  428. package/dist/esm/ui-fab-item.entry.js +2 -2
  429. package/dist/esm/ui-fab.entry.js +4 -4
  430. package/dist/esm/ui-file-upload.entry.js +143 -44
  431. package/dist/esm/ui-horizontal-nav.entry.js +2 -2
  432. package/dist/esm/ui-knob.entry.js +1 -1
  433. package/dist/esm/ui-label.entry.js +471 -0
  434. package/dist/esm/ui-library.entry.js +2 -2
  435. package/dist/esm/ui-list-group_2.entry.js +351 -58
  436. package/dist/esm/ui-list.entry.js +76 -42
  437. package/dist/esm/ui-masonry.entry.js +1 -1
  438. package/dist/esm/ui-meter-group.entry.js +5 -4
  439. package/dist/esm/ui-navigation-item.entry.js +5 -5
  440. package/dist/esm/ui-number-input.entry.js +7 -3
  441. package/dist/esm/ui-otp-input.entry.js +5 -5
  442. package/dist/esm/ui-pagination_3.entry.js +235 -504
  443. package/dist/esm/ui-panel.entry.js +1 -1
  444. package/dist/esm/ui-pattern-input.entry.js +46 -11
  445. package/dist/esm/ui-progress.entry.js +164 -23
  446. package/dist/esm/ui-range-slider.entry.js +2 -2
  447. package/dist/esm/ui-resizable-panel.entry.js +2 -2
  448. package/dist/esm/ui-scroll-top.entry.js +1 -1
  449. package/dist/esm/ui-smart-context-menu.entry.js +1 -1
  450. package/dist/esm/ui-smart-stepper.entry.js +2 -2
  451. package/dist/esm/ui-snackbar.entry.js +2 -2
  452. package/dist/esm/ui-speed-dial.entry.js +1 -1
  453. package/dist/esm/ui-speedometer.entry.js +28 -17
  454. package/dist/esm/ui-splitter.entry.js +1 -1
  455. package/dist/esm/ui-step.entry.js +2 -2
  456. package/dist/esm/ui-stepper.entry.js +2 -2
  457. package/dist/esm/ui-switch.entry.js +14 -13
  458. package/dist/esm/ui-tabs.entry.js +3 -3
  459. package/dist/esm/ui-tag.entry.js +58 -13
  460. package/dist/esm/ui-timeline.entry.js +11 -3
  461. package/dist/esm/ui-timer.entry.js +2 -2
  462. package/dist/esm/ui-toolbar.entry.js +2 -2
  463. package/dist/esm/ui-tooltip.entry.js +5 -5
  464. package/dist/esm/ui-top-bar.entry.js +1 -1
  465. package/dist/esm/ui-transfer-list.entry.js +7 -7
  466. package/dist/esm/ui-tree.entry.js +30 -15
  467. package/dist/esm/ui-workspace-manager.entry.js +3 -3
  468. package/dist/exploration-project-tailwind/exploration-project-tailwind.css +1 -1
  469. package/dist/exploration-project-tailwind/exploration-project-tailwind.esm.js +1 -1
  470. package/dist/exploration-project-tailwind/{p-f5719913.entry.js → p-024a299a.entry.js} +1 -1
  471. package/dist/exploration-project-tailwind/p-0a71896a.entry.js +1 -0
  472. package/dist/exploration-project-tailwind/{p-35296877.entry.js → p-0cdeb8d8.entry.js} +1 -1
  473. package/dist/exploration-project-tailwind/{p-a42fdc33.entry.js → p-139cefbc.entry.js} +1 -1
  474. package/dist/exploration-project-tailwind/{p-c7e87fbb.entry.js → p-198c83e5.entry.js} +1 -1
  475. package/dist/exploration-project-tailwind/p-236f47b1.entry.js +1 -0
  476. package/dist/exploration-project-tailwind/{p-81961fb1.entry.js → p-25530d0d.entry.js} +1 -1
  477. package/dist/exploration-project-tailwind/{p-41cd6bf0.entry.js → p-298f2057.entry.js} +1 -1
  478. package/dist/exploration-project-tailwind/{p-85e36111.entry.js → p-2b5a8e3e.entry.js} +1 -1
  479. package/dist/exploration-project-tailwind/p-2b6aa7bc.entry.js +1 -0
  480. package/dist/exploration-project-tailwind/{p-7515b1e3.entry.js → p-2cfba753.entry.js} +1 -1
  481. package/dist/exploration-project-tailwind/{p-c90722ec.entry.js → p-2fe22958.entry.js} +1 -1
  482. package/dist/exploration-project-tailwind/{p-85bf89fd.entry.js → p-3012e780.entry.js} +1 -1
  483. package/dist/exploration-project-tailwind/p-321c3f46.entry.js +1 -0
  484. package/dist/exploration-project-tailwind/{p-3d3d48fd.entry.js → p-3ab43638.entry.js} +1 -1
  485. package/dist/exploration-project-tailwind/p-3ad7e47e.entry.js +1 -0
  486. package/dist/exploration-project-tailwind/p-3b1ca826.entry.js +1 -0
  487. package/dist/exploration-project-tailwind/p-3ee8ddae.entry.js +1 -0
  488. package/dist/exploration-project-tailwind/{p-4f6bba75.entry.js → p-3efb44c8.entry.js} +1 -1
  489. package/dist/exploration-project-tailwind/{p-36861546.entry.js → p-42e3bc28.entry.js} +1 -1
  490. package/dist/exploration-project-tailwind/p-4360331a.entry.js +1 -0
  491. package/dist/exploration-project-tailwind/{p-2f961934.entry.js → p-443de32b.entry.js} +1 -1
  492. package/dist/exploration-project-tailwind/{p-898dd0fa.entry.js → p-44d15451.entry.js} +1 -1
  493. package/dist/exploration-project-tailwind/{p-e5322e59.entry.js → p-46071679.entry.js} +1 -1
  494. package/dist/exploration-project-tailwind/{p-a3f465d9.entry.js → p-497d6182.entry.js} +1 -1
  495. package/dist/exploration-project-tailwind/p-4ad8c55c.entry.js +1 -0
  496. package/dist/exploration-project-tailwind/{p-73d29a4a.entry.js → p-4c46ac0b.entry.js} +1 -1
  497. package/dist/exploration-project-tailwind/{p-f0830120.entry.js → p-5042ddaa.entry.js} +1 -1
  498. package/dist/exploration-project-tailwind/p-60190e0e.entry.js +1 -0
  499. package/dist/exploration-project-tailwind/p-60530874.entry.js +1 -0
  500. package/dist/exploration-project-tailwind/{p-200241f8.entry.js → p-6108565d.entry.js} +1 -1
  501. package/dist/exploration-project-tailwind/{p-77124686.entry.js → p-62889cfe.entry.js} +1 -1
  502. package/dist/exploration-project-tailwind/{p-9d0c8760.entry.js → p-66f71613.entry.js} +1 -1
  503. package/dist/exploration-project-tailwind/{p-2d273118.entry.js → p-67c440b2.entry.js} +1 -1
  504. package/dist/exploration-project-tailwind/{p-d419eaf0.entry.js → p-6f09503f.entry.js} +1 -1
  505. package/dist/exploration-project-tailwind/p-721bdbc3.entry.js +1 -0
  506. package/dist/exploration-project-tailwind/p-747b02ea.entry.js +1 -0
  507. package/dist/exploration-project-tailwind/{p-c6fd72e1.entry.js → p-754cb046.entry.js} +1 -1
  508. package/dist/exploration-project-tailwind/{p-ffb1754a.entry.js → p-7ed3bba2.entry.js} +1 -1
  509. package/dist/exploration-project-tailwind/{p-77cc333a.entry.js → p-864cebb7.entry.js} +1 -1
  510. package/dist/exploration-project-tailwind/{p-4d73c143.entry.js → p-96ee3196.entry.js} +1 -1
  511. package/dist/exploration-project-tailwind/{p-c5ddc817.entry.js → p-97086868.entry.js} +1 -1
  512. package/dist/exploration-project-tailwind/{p-287dbf09.entry.js → p-9c5ced88.entry.js} +1 -1
  513. package/dist/exploration-project-tailwind/p-9d3044d4.entry.js +1 -0
  514. package/dist/exploration-project-tailwind/p-9e079be6.entry.js +1 -0
  515. package/dist/exploration-project-tailwind/{p-0b004861.entry.js → p-9e4c45f5.entry.js} +1 -1
  516. package/dist/exploration-project-tailwind/p-9eee7394.entry.js +1 -0
  517. package/dist/exploration-project-tailwind/p-DFBTWhGw.js +1 -0
  518. package/dist/exploration-project-tailwind/p-Dqu2zaH1.js +2 -0
  519. package/dist/exploration-project-tailwind/p-Dyu3Nplq.js +2 -0
  520. package/dist/exploration-project-tailwind/p-a7bdedc2.entry.js +1 -0
  521. package/dist/exploration-project-tailwind/{p-c87aeab6.entry.js → p-a8ec29de.entry.js} +1 -1
  522. package/dist/exploration-project-tailwind/{p-c174a372.entry.js → p-ae617f62.entry.js} +1 -1
  523. package/dist/exploration-project-tailwind/{p-62352ef2.entry.js → p-aef76052.entry.js} +1 -1
  524. package/dist/exploration-project-tailwind/p-b5f043fa.entry.js +1 -0
  525. package/dist/exploration-project-tailwind/p-b637b91b.entry.js +1 -0
  526. package/dist/exploration-project-tailwind/{p-8d951aef.entry.js → p-bc49a088.entry.js} +1 -1
  527. package/dist/exploration-project-tailwind/{p-4de419d5.entry.js → p-bd9a631f.entry.js} +1 -1
  528. package/dist/exploration-project-tailwind/{p-e8ba0c95.entry.js → p-bf4b6767.entry.js} +1 -1
  529. package/dist/exploration-project-tailwind/p-c0fa400e.entry.js +1 -0
  530. package/dist/exploration-project-tailwind/{p-5e3e80ae.entry.js → p-c4f3d990.entry.js} +1 -1
  531. package/dist/exploration-project-tailwind/p-c68ddb2f.entry.js +1 -0
  532. package/dist/exploration-project-tailwind/p-c79574c4.entry.js +1 -0
  533. package/dist/exploration-project-tailwind/p-c840098d.entry.js +1 -0
  534. package/dist/exploration-project-tailwind/{p-a1ad32a2.entry.js → p-c8663cbe.entry.js} +1 -1
  535. package/dist/exploration-project-tailwind/{p-7f91d949.entry.js → p-cb6e38a6.entry.js} +1 -1
  536. package/dist/exploration-project-tailwind/p-cb9f2df1.entry.js +1 -0
  537. package/dist/exploration-project-tailwind/p-cfe8b696.entry.js +1 -0
  538. package/dist/exploration-project-tailwind/p-d00e13ae.entry.js +1 -0
  539. package/dist/exploration-project-tailwind/{p-c4ba7e52.entry.js → p-d01ed934.entry.js} +1 -1
  540. package/dist/exploration-project-tailwind/{p-aa85ff78.entry.js → p-d4e57d94.entry.js} +1 -1
  541. package/dist/exploration-project-tailwind/{p-ccb5c737.entry.js → p-d5bd3a3f.entry.js} +1 -1
  542. package/dist/exploration-project-tailwind/{p-45482d86.entry.js → p-d987cebe.entry.js} +1 -1
  543. package/dist/exploration-project-tailwind/p-d9ae77c0.entry.js +1 -0
  544. package/dist/exploration-project-tailwind/p-e9bae5c7.entry.js +1 -0
  545. package/dist/exploration-project-tailwind/p-f516fabc.entry.js +1 -0
  546. package/dist/exploration-project-tailwind/p-f68e2794.entry.js +1 -0
  547. package/dist/exploration-project-tailwind/{p-d30e24bd.entry.js → p-fa034f69.entry.js} +1 -1
  548. package/dist/types/components/accordion/accordion.d.ts +10 -2
  549. package/dist/types/components/aside-panel/aside-panel.d.ts +0 -3
  550. package/dist/types/components/avatar/avatar.d.ts +3 -0
  551. package/dist/types/components/avatar/types.d.ts +2 -0
  552. package/dist/types/components/badge/badge.d.ts +1 -0
  553. package/dist/types/components/button/button.d.ts +9 -0
  554. package/dist/types/components/card/card.d.ts +4 -0
  555. package/dist/types/components/color-picker/color-picker.d.ts +35 -2
  556. package/dist/types/components/dialog-box/dialog-box.d.ts +10 -0
  557. package/dist/types/components/dropdown/dropdown.d.ts +5 -0
  558. package/dist/types/components/file-upload/file-upload.d.ts +23 -6
  559. package/dist/types/components/label/label.d.ts +290 -0
  560. package/dist/types/components/label/types.d.ts +39 -0
  561. package/dist/types/components/list/list.d.ts +2 -1
  562. package/dist/types/components/list-group/list-group.d.ts +1 -0
  563. package/dist/types/components/list-item/list-item.d.ts +46 -17
  564. package/dist/types/components/loader/loader.d.ts +145 -0
  565. package/dist/types/components/pattern-input/pattern-input.d.ts +6 -0
  566. package/dist/types/components/popover/popover.d.ts +3 -0
  567. package/dist/types/components/progress/progress.d.ts +41 -2
  568. package/dist/types/components/range-slider/range-slider.d.ts +2 -2
  569. package/dist/types/components/rating/rating.d.ts +1 -0
  570. package/dist/types/components/skeleton/skeleton-loader.d.ts +1 -1
  571. package/dist/types/components/speedometer/speedometer.d.ts +1 -0
  572. package/dist/types/components/tag/tag.d.ts +4 -0
  573. package/dist/types/components/tree/tree.d.ts +1 -0
  574. package/dist/types/components/ui-navigation-bar/navigation-bar/navigation-bar.d.ts +1 -1
  575. package/dist/types/components.d.ts +1214 -1381
  576. package/dist/types/types/common.d.ts +2 -2
  577. package/dist/types/types/common.type.d.ts +3 -1
  578. package/dist/types/utils/dom.d.ts +4 -4
  579. package/package.json +4 -4
  580. package/dist/cjs/dom-oP1E4Rd3.js +0 -267
  581. package/dist/cjs/ui-avatar-group_3.cjs.entry.js +0 -634
  582. package/dist/cjs/ui-checkbox-group.cjs.entry.js +0 -330
  583. package/dist/cjs/ui-color-controller.cjs.entry.js +0 -150
  584. package/dist/cjs/ui-image-button.cjs.entry.js +0 -67
  585. package/dist/cjs/ui-input-pair.cjs.entry.js +0 -44
  586. package/dist/cjs/ui-popover.cjs.entry.js +0 -517
  587. package/dist/cjs/ui-radio-group.cjs.entry.js +0 -205
  588. package/dist/cjs/ui-radio.cjs.entry.js +0 -206
  589. package/dist/cjs/ui-smart-location-dropdown.cjs.entry.js +0 -565
  590. package/dist/collection/components/checkbox-group/checkbox-group.css +0 -223
  591. package/dist/collection/components/checkbox-group/checkbox-group.js +0 -1001
  592. package/dist/collection/components/color-controller/color-controller.css +0 -108
  593. package/dist/collection/components/color-controller/color-controller.js +0 -224
  594. package/dist/collection/components/image-button/image-button.css +0 -154
  595. package/dist/collection/components/image-button/image-button.js +0 -310
  596. package/dist/collection/components/image-button/types.js +0 -1
  597. package/dist/collection/components/input-pair/input-pair.css +0 -72
  598. package/dist/collection/components/input-pair/input-pair.js +0 -309
  599. package/dist/collection/components/radio-group/radio-group.css +0 -202
  600. package/dist/collection/components/radio-group/radio-group.js +0 -903
  601. package/dist/collection/components/radio-group/types.js +0 -1
  602. package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.css +0 -357
  603. package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.js +0 -1190
  604. package/dist/collection/components/smart-location-dropdown/types.js +0 -1
  605. package/dist/components/ui-checkbox-group.d.ts +0 -11
  606. package/dist/components/ui-checkbox-group.js +0 -1
  607. package/dist/components/ui-color-controller.d.ts +0 -11
  608. package/dist/components/ui-color-controller.js +0 -1
  609. package/dist/components/ui-image-button.d.ts +0 -11
  610. package/dist/components/ui-image-button.js +0 -1
  611. package/dist/components/ui-input-pair.js +0 -1
  612. package/dist/components/ui-radio-group.js +0 -1
  613. package/dist/components/ui-smart-location-dropdown.d.ts +0 -11
  614. package/dist/components/ui-smart-location-dropdown.js +0 -1
  615. package/dist/esm/dom-BMFah5q3.js +0 -262
  616. package/dist/esm/ui-avatar-group_3.entry.js +0 -630
  617. package/dist/esm/ui-checkbox-group.entry.js +0 -328
  618. package/dist/esm/ui-color-controller.entry.js +0 -148
  619. package/dist/esm/ui-image-button.entry.js +0 -65
  620. package/dist/esm/ui-input-pair.entry.js +0 -42
  621. package/dist/esm/ui-popover.entry.js +0 -515
  622. package/dist/esm/ui-radio-group.entry.js +0 -203
  623. package/dist/esm/ui-radio.entry.js +0 -204
  624. package/dist/esm/ui-smart-location-dropdown.entry.js +0 -563
  625. package/dist/exploration-project-tailwind/p-01c7db7a.entry.js +0 -1
  626. package/dist/exploration-project-tailwind/p-049744f9.entry.js +0 -1
  627. package/dist/exploration-project-tailwind/p-06f0c679.entry.js +0 -1
  628. package/dist/exploration-project-tailwind/p-0d31c9e9.entry.js +0 -1
  629. package/dist/exploration-project-tailwind/p-148e81df.entry.js +0 -1
  630. package/dist/exploration-project-tailwind/p-2f1aebb3.entry.js +0 -1
  631. package/dist/exploration-project-tailwind/p-46596a28.entry.js +0 -1
  632. package/dist/exploration-project-tailwind/p-46efdea3.entry.js +0 -1
  633. package/dist/exploration-project-tailwind/p-47e2a7ee.entry.js +0 -1
  634. package/dist/exploration-project-tailwind/p-5508874f.entry.js +0 -1
  635. package/dist/exploration-project-tailwind/p-5ce0dbd8.entry.js +0 -1
  636. package/dist/exploration-project-tailwind/p-61717490.entry.js +0 -1
  637. package/dist/exploration-project-tailwind/p-64e3a484.entry.js +0 -1
  638. package/dist/exploration-project-tailwind/p-6ab80ead.entry.js +0 -1
  639. package/dist/exploration-project-tailwind/p-6e9694f2.entry.js +0 -1
  640. package/dist/exploration-project-tailwind/p-6fa9dc15.entry.js +0 -1
  641. package/dist/exploration-project-tailwind/p-70d82d79.entry.js +0 -1
  642. package/dist/exploration-project-tailwind/p-717dad1f.entry.js +0 -1
  643. package/dist/exploration-project-tailwind/p-7376ac95.entry.js +0 -1
  644. package/dist/exploration-project-tailwind/p-77a21491.entry.js +0 -1
  645. package/dist/exploration-project-tailwind/p-807c6555.entry.js +0 -1
  646. package/dist/exploration-project-tailwind/p-875be805.entry.js +0 -1
  647. package/dist/exploration-project-tailwind/p-9fa70359.entry.js +0 -1
  648. package/dist/exploration-project-tailwind/p-9fc06ff0.entry.js +0 -1
  649. package/dist/exploration-project-tailwind/p-BMFah5q3.js +0 -1
  650. package/dist/exploration-project-tailwind/p-D2WzX6vR.js +0 -2
  651. package/dist/exploration-project-tailwind/p-DUsoYu9r.js +0 -2
  652. package/dist/exploration-project-tailwind/p-a4f52a76.entry.js +0 -1
  653. package/dist/exploration-project-tailwind/p-ab752761.entry.js +0 -1
  654. package/dist/exploration-project-tailwind/p-ba21fed3.entry.js +0 -1
  655. package/dist/exploration-project-tailwind/p-c2ca71ac.entry.js +0 -1
  656. package/dist/exploration-project-tailwind/p-c69dd43e.entry.js +0 -1
  657. package/dist/exploration-project-tailwind/p-ce1222a1.entry.js +0 -1
  658. package/dist/exploration-project-tailwind/p-d16c9635.entry.js +0 -1
  659. package/dist/exploration-project-tailwind/p-d2308a00.entry.js +0 -1
  660. package/dist/exploration-project-tailwind/p-debede45.entry.js +0 -1
  661. package/dist/exploration-project-tailwind/p-e90d5307.entry.js +0 -1
  662. package/dist/exploration-project-tailwind/p-ea51c5d8.entry.js +0 -1
  663. package/dist/exploration-project-tailwind/p-ecda1cc3.entry.js +0 -1
  664. package/dist/exploration-project-tailwind/p-f11e5cae.entry.js +0 -1
  665. package/dist/types/components/checkbox-group/checkbox-group.d.ts +0 -87
  666. package/dist/types/components/checkbox-group/types.d.ts +0 -8
  667. package/dist/types/components/color-controller/color-controller.d.ts +0 -24
  668. package/dist/types/components/image-button/image-button.d.ts +0 -31
  669. package/dist/types/components/image-button/types.d.ts +0 -1
  670. package/dist/types/components/input-pair/input-pair.d.ts +0 -28
  671. package/dist/types/components/radio-group/radio-group.d.ts +0 -74
  672. package/dist/types/components/radio-group/types.d.ts +0 -2
  673. package/dist/types/components/smart-location-dropdown/smart-location-dropdown.d.ts +0 -119
  674. package/dist/types/components/smart-location-dropdown/types.d.ts +0 -37
  675. /package/dist/collection/components/{checkbox-group → label}/types.js +0 -0
@@ -1,6 +1,6 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-DUsoYu9r.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-Dqu2zaH1.js';
2
2
 
3
- const fileUploadCss = () => `.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block;font-family:inherit}:host(.is-sideload){background:white;border-radius:24px;overflow:hidden;box-shadow:0 10px 40px rgba(0, 0, 0, 0.12);border:1px solid #e5e7eb}.fu-label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary, #374151);margin-bottom:6px}.fu-sideload-header{padding:32px 32px 16px 32px}.fu-header-title-row{display:flex;align-items:center;gap:16px;margin-bottom:24px}.fu-header-title-row h2{margin:0;font-size:28px;font-weight:500;color:#111827;flex:1}.fu-close-dialog{background:#ef4444 !important;color:white !important;border-radius:8px !important;width:36px;height:36px}.fu-sideload-zone{border:2px dashed #e5e7eb;border-radius:12px;padding:16px;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;background:#fdfdfd;transition:all 0.2s}.fu-sideload-zone:hover,.fu-sideload-zone.is-dragging{border-color:#10b981;background:#f0fdf4}.fu-sideload-zone span{font-size:15px;color:#4b5563}.fu-browse-pill{background:#10b981;color:white;padding:2px 12px;border-radius:20px;font-weight:600;margin-left:4px}.fu-zone{border:2px dashed var(--border-strong, #d1d5db);border-radius:14px;padding:40px 24px;text-align:center;cursor:pointer;background:var(--bg-primary, #fafafa);transition:border-color 0.2s, background 0.2s}.fu-zone:hover:not(.fu-disabled){border-color:var(--color-primary, #10b981);background:var(--bg-primary, #eff6ff)}.fu-zone.fu-dragging{border-color:var(--color-primary, #10b981);background:var(--bg-primary, #eff6ff);box-shadow:inset 0 0 0 3px rgba(var(--color-primary-rgb, 59, 130, 246), 0.2)}.fu-zone.fu-disabled{opacity:0.5;cursor:not-allowed}.fu-zone-icon{font-size:40px;margin-bottom:10px}.fu-file-list{display:flex;flex-direction:column;gap:12px;padding:16px 32px;max-height:400px;overflow-y:auto}.fu-file-list.is-sideload-list{padding:0 32px 32px 32px}.fu-file-item{display:flex;align-items:center;gap:16px;padding:14px 20px;border:1px solid #e5e7eb;border-radius:14px;background:white;transition:transform 0.2s}.fu-file-item.is-error{background:#fff1f2;border-color:#fecaca}.fu-sideload-item-icon{flex-shrink:0}.fu-file-info{flex:1;min-width:0}.fu-file-name{display:block;font-size:15px;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fu-file-meta{font-size:13px;color:#6b7280;margin-top:2px}.fu-item-error-msg{color:#ef4444;font-weight:700;background:rgba(239, 68, 68, 0.08);padding:1px 6px;border-radius:4px}.fu-remove{color:#9ca3af !important}.fu-remove:hover{color:#ef4444 !important}.fu-sideload-footer{padding:24px 32px;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between}.fu-footer-actions-right{display:flex;gap:12px}.fu-trigger-row{display:flex;align-items:center;gap:16px}.fu-actions{display:flex;gap:8px}.fu-progress-bar{height:6px;background:#e5e7eb;border-radius:3px;margin-top:10px;overflow:hidden}.fu-progress-fill{height:100%;background:#10b981;transition:width 0.3s ease}.fu-input-hidden{display:none}`;
3
+ const fileUploadCss = () => `@charset "UTF-8";.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block;font-family:inherit}:host(.is-sideload){background:var(--bg-primary, white);border-radius:24px;overflow:hidden;box-shadow:0 10px 40px rgba(0, 0, 0, 0.12);border:1px solid var(--border-default, #e5e7eb)}.fu-label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary, #374151);margin-bottom:6px}.fu-sideload-header{padding:32px 32px 16px 32px}.fu-header-title-row{display:flex;align-items:center;gap:16px;margin-bottom:24px}.fu-header-title-row h2{margin:0;font-size:28px;font-weight:500;color:var(--text-primary, #111827);flex:1}.fu-close-dialog{background:#ef4444 !important;color:white !important;border-radius:8px !important;width:36px;height:36px}.fu-sideload-zone{border:2px dashed var(--border-strong, #e5e7eb);border-radius:12px;padding:16px;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;background:var(--bg-secondary, #fdfdfd);transition:all 0.2s}.fu-sideload-zone:hover,.fu-sideload-zone.is-dragging{border-color:var(--color-primary, #10b981);background:rgba(16, 185, 129, 0.05)}.fu-sideload-zone span{font-size:15px;color:var(--text-secondary, #4b5563)}.fu-browse-pill{background:#10b981;color:white;padding:2px 12px;border-radius:20px;font-weight:600;margin-left:4px}.fu-zone{border:2px dashed var(--border-strong, #d1d5db);border-radius:14px;padding:40px 24px;text-align:center;cursor:pointer;background:var(--bg-primary, #fafafa);transition:border-color 0.2s, background 0.2s}.fu-zone:hover:not(.fu-disabled){border-color:var(--color-primary, #10b981);background:var(--bg-primary, #eff6ff)}.fu-zone.fu-dragging{border-color:var(--color-primary, #10b981);background:var(--bg-primary, #eff6ff);box-shadow:inset 0 0 0 3px rgba(var(--color-primary-rgb, 59, 130, 246), 0.2)}.fu-zone.fu-disabled{opacity:0.5;cursor:not-allowed}.fu-zone-icon{font-size:40px;margin-bottom:10px}.fu-file-list{display:flex;flex-direction:column;gap:10px;padding:16px 32px;max-height:400px;overflow-y:auto}.fu-file-list.is-sideload-list{padding:0 32px 32px 32px}.fu-file-item{display:flex;align-items:center;gap:14px;padding:12px 16px;border:1px solid var(--border-default, #e5e7eb);border-radius:12px;background:var(--bg-primary, white);transition:all 0.25s cubic-bezier(0.4, 0, 0.2, 1);box-shadow:0 1px 3px rgba(0, 0, 0, 0.02)}.fu-file-item:hover{border-color:var(--border-strong, #d1d5db);box-shadow:0 4px 12px rgba(0, 0, 0, 0.05)}.fu-file-item.is-error{background:var(--bg-primary, #fff1f2);border-color:#fecaca}.fu-file-item.is-error:hover{border-color:var(--color-error, #ef4444)}.fu-file-item.is-success{border-color:var(--color-success, #10b981);background:var(--bg-primary, #fcfdfc)}.fu-file-item.is-success:hover{border-color:var(--color-success, #10b981)}.fu-file-icon-wrapper{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.2s}.fu-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.fu-file-name-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.fu-file-name{font-size:14px;font-weight:500;color:var(--text-primary, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.fu-file-status{flex-shrink:0}.fu-status-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:0.05em}.fu-status-badge.is-success{background:rgba(16, 185, 129, 0.08);color:#10b981}.fu-status-badge.is-uploading{background:rgba(59, 130, 246, 0.08);color:#3b82f6}.fu-status-badge.is-pending{background:rgba(107, 114, 128, 0.08);color:#6b7280}.fu-status-badge.is-validating{background:rgba(245, 158, 11, 0.08);color:#f59e0b}.fu-status-badge.is-error{background:rgba(239, 68, 68, 0.08);color:#ef4444}.fu-spinner-dot{width:6px;height:6px;background:currentColor;border-radius:50%;animation:fu-pulse 1.2s infinite ease-in-out}@keyframes fu-pulse{0%,100%{transform:scale(0.6);opacity:0.5}50%{transform:scale(1.2);opacity:1}}.fu-file-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary, #6b7280)}.fu-file-size{font-weight:500}.fu-file-error-msg{color:#ef4444;font-weight:500;display:inline-flex;align-items:center;gap:4px;animation:fu-shake 0.3s ease-in-out}@keyframes fu-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}.fu-remove{color:#9ca3af !important;opacity:0.8;transition:all 0.2s !important}.fu-remove:hover{color:#ef4444 !important;opacity:1;transform:scale(1.05)}.fu-sideload-footer{padding:24px 32px;background:var(--bg-secondary, #f9fafb);border-top:1px solid var(--border-default, #e5e7eb);display:flex;align-items:center;justify-content:space-between}.fu-footer-actions-right{display:flex;gap:12px}.fu-trigger-row{display:flex;align-items:center;gap:16px}.fu-actions{display:flex;gap:8px}.fu-progress-bar{height:6px;background:#e5e7eb;border-radius:3px;margin-top:10px;overflow:hidden}.fu-progress-fill{height:100%;background:#10b981;transition:width 0.3s ease}.fu-input-hidden{display:none}.fu-file-item.is-clickable{cursor:pointer}.fu-file-item.is-clickable:hover{background:var(--bg-secondary, #f9fafb);border-radius:10px;box-shadow:inset 0 0 0 1.5px var(--border-default, #e5e7eb)}.fu-zone-has-files{border-color:var(--color-primary, #10b981)}.fu-zone-queue-badge{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:6px 14px;background:rgba(16, 185, 129, 0.1);border:1.5px solid rgba(16, 185, 129, 0.35);border-radius:20px;font-size:13px;font-weight:600;color:var(--color-primary-text, #047857);cursor:pointer;transition:background 0.15s, box-shadow 0.15s;z-index:1}.fu-zone-queue-badge:hover{background:rgba(16, 185, 129, 0.18);box-shadow:0 0 0 3px rgba(16, 185, 129, 0.15)}.fu-zone-queue-view{opacity:0.75;font-weight:700;margin-left:2px}.fu-view-queue-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--bg-secondary, #f3f4f6);border:1.5px solid var(--border-default, #e5e7eb);border-radius:20px;font-size:13px;font-weight:600;color:var(--text-primary, #374151);cursor:pointer;transition:background 0.15s, border-color 0.15s, color 0.15s}.fu-view-queue-btn:hover{background:rgba(16, 185, 129, 0.08);border-color:var(--color-primary, #10b981);color:var(--color-primary-text, #047857)}.fu-queue-backdrop{position:fixed;inset:0;z-index:99998;background:rgba(0, 0, 0, 0.45);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:fu-fade-in 0.15s ease}.fu-queue-dialog{background:var(--bg-primary, #ffffff);border-radius:20px;width:min(560px, 100vw - 32px);max-height:min(88dvh, 88vh, 680px);display:flex;flex-direction:column;box-shadow:0 24px 64px rgba(0, 0, 0, 0.16), 0 0 0 1px rgba(0, 0, 0, 0.06);overflow:clip;animation:fu-dialog-in 0.18s cubic-bezier(0.34, 1.56, 0.64, 1)}.fu-queue-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--border-default, #e5e7eb);flex-shrink:0}.fu-queue-header-right{display:flex;align-items:center;gap:8px}.fu-upload-mode-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:0.01em}.fu-upload-mode-badge.is-auto{background:rgba(16, 185, 129, 0.1);color:var(--color-primary-text, #047857);border:1px solid rgba(16, 185, 129, 0.25)}.fu-upload-mode-badge.is-manual{background:rgba(99, 102, 241, 0.1);color:#4f46e5;border:1px solid rgba(99, 102, 241, 0.25)}.fu-queue-manual-banner{display:flex;align-items:center;gap:8px;padding:10px 20px;background:rgba(99, 102, 241, 0.06);border-bottom:1px solid rgba(99, 102, 241, 0.15);font-size:13px;color:var(--text-secondary, #4b5563);flex-shrink:0}.fu-queue-manual-banner strong{color:#4f46e5;font-weight:700}.fu-queue-dialog--manual .fu-queue-footer{background:rgba(99, 102, 241, 0.03)}.fu-upload-icon-text{font-size:36px;line-height:1}.fu-inline-trigger{display:inline-flex;align-items:center;gap:7px;padding:6px 12px 6px 9px;background:transparent;border:1.5px solid var(--border-default, #e2e8f0);border-radius:8px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:var(--text-primary, #374151);transition:background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s;position:relative;white-space:nowrap;user-select:none}.fu-inline-trigger:hover:not(.fu-inline-disabled){background:var(--bg-secondary, #f1f5f9);border-color:var(--color-primary, #10b981);color:var(--color-primary, #10b981);box-shadow:0 0 0 3px rgba(16, 185, 129, 0.1)}.fu-inline-trigger:active:not(.fu-inline-disabled){background:rgba(16, 185, 129, 0.08);box-shadow:none}.fu-inline-trigger.fu-inline-active{border-color:var(--color-primary, #10b981);color:var(--color-primary, #10b981);background:rgba(16, 185, 129, 0.05)}.fu-inline-trigger.fu-inline-disabled{opacity:0.45;cursor:not-allowed}.fu-inline-icon{display:inline-flex;align-items:center;flex-shrink:0}.fu-inline-label{line-height:1.2}.fu-inline-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:20px;background:var(--color-primary, #10b981);color:#fff;font-size:10px;font-weight:800;line-height:1;cursor:pointer;transition:background 0.15s, transform 0.15s}.fu-inline-badge:hover{background:#059669;transform:scale(1.1)}.fu-queue-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--text-primary, #111827)}.fu-queue-count-pill{padding:2px 10px;border-radius:20px;background:rgba(16, 185, 129, 0.12);color:var(--color-primary-text, #047857);font-size:12px;font-weight:700;border:1px solid rgba(16, 185, 129, 0.3)}.fu-queue-errors{padding:10px 20px;border-bottom:1px solid rgba(239, 68, 68, 0.25);background:rgba(254, 242, 242, 0.8);display:flex;flex-direction:column;gap:6px;flex-shrink:0;max-height:120px;overflow-y:auto}.fu-queue-error-item{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#ef4444}.fu-queue-summary{display:flex;align-items:center;gap:16px;padding:8px 20px;border-bottom:1px solid var(--border-default, #e5e7eb);background:var(--bg-secondary, #f9fafb);flex-shrink:0;flex-wrap:wrap}.fu-queue-summary-stat{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary, #6b7280)}.fu-queue-summary-stat.is-auto{color:#3b82f6}.fu-queue-summary-stat.is-complete{color:#10b981}.fu-qs-dot{width:8px;height:8px;border-radius:50%}.fu-qs-dot.success{background:#10b981}.fu-qs-dot.pending{background:#6366f1}.fu-qs-dot.error{background:#ef4444}.fu-queue-list{flex:1;min-height:0;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:10px}.fu-queue-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 0;color:var(--text-muted, #9ca3af);font-size:14px;font-weight:500}.fu-queue-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 20px 18px;border-top:1px solid var(--border-default, #e5e7eb);background:var(--bg-secondary, #f9fafb);flex-shrink:0;position:relative;z-index:1}.fu-queue-footer-left,.fu-queue-footer-right{display:flex;align-items:center;gap:8px}.fu-dialog-backdrop{position:fixed;inset:0;z-index:99999;background:rgba(0, 0, 0, 0.45);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;animation:fu-fade-in 0.15s ease}@keyframes fu-fade-in{from{opacity:0}to{opacity:1}}.fu-dialog{background:var(--bg-primary, #ffffff);border-radius:18px;width:min(480px, 100vw - 32px);max-height:min(90vh, 640px);display:flex;flex-direction:column;box-shadow:0 24px 64px rgba(0, 0, 0, 0.16), 0 0 0 1px rgba(0, 0, 0, 0.06);overflow:hidden;animation:fu-dialog-in 0.18s cubic-bezier(0.34, 1.56, 0.64, 1)}@keyframes fu-dialog-in{from{opacity:0;transform:scale(0.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.fu-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--border-default, #e5e7eb)}.fu-dialog-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--text-primary, #111827)}.fu-dialog-preview{background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border-default, #e5e7eb);display:flex;align-items:center;justify-content:center;min-height:180px;max-height:260px;overflow:hidden;padding:16px}.fu-dialog-image{max-width:100%;max-height:228px;object-fit:contain;border-radius:8px;box-shadow:0 4px 16px rgba(0, 0, 0, 0.1)}.fu-dialog-file-icon{width:96px;height:96px;border-radius:20px;display:flex;align-items:center;justify-content:center}.fu-dialog-info{padding:20px 24px 16px;display:flex;flex-direction:column;gap:10px;flex:1;overflow-y:auto}.fu-dialog-name{font-size:15px;font-weight:700;color:var(--text-primary, #111827);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fu-dialog-meta{display:flex;gap:16px;flex-wrap:wrap}.fu-dialog-meta-item{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary, #6b7280);font-weight:500}.fu-dialog-status-row{display:flex}.fu-dialog-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:700}.fu-dialog-badge.is-success{background:rgba(16, 185, 129, 0.1);color:#10b981}.fu-dialog-badge.is-error{background:rgba(239, 68, 68, 0.1);color:#ef4444}.fu-dialog-badge.is-pending{background:rgba(99, 102, 241, 0.1);color:#6366f1}.fu-dialog-badge.is-uploading{background:rgba(59, 130, 246, 0.1);color:#3b82f6}.fu-dialog-badge.is-validating{background:rgba(245, 158, 11, 0.1);color:#f59e0b}.fu-dialog-progress{height:6px;background:var(--border-default, #e5e7eb);border-radius:3px;overflow:hidden;margin-top:4px}.fu-dialog-progress-fill{height:100%;background:var(--color-primary, #10b981);border-radius:3px;transition:width 0.4s ease}.fu-dialog-footer{display:flex;align-items:center;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--border-default, #e5e7eb)}.fu-dialog-nav-count{font-size:12px;font-weight:600;color:var(--text-secondary, #6b7280);min-width:40px;text-align:center}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .fu-queue-backdrop,:host-context(.dark) .fu-dialog-backdrop,:host-context([data-theme=dark]) .fu-queue-backdrop,:host-context([data-theme=dark]) .fu-dialog-backdrop,:host(.dark) .fu-queue-backdrop,:host(.dark) .fu-dialog-backdrop,:host([data-theme=dark]) .fu-queue-backdrop,:host([data-theme=dark]) .fu-dialog-backdrop{background:rgba(0, 0, 0, 0.65);backdrop-filter:blur(6px)}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .fu-queue-dialog,:host-context(.dark) .fu-dialog,:host-context([data-theme=dark]) .fu-queue-dialog,:host-context([data-theme=dark]) .fu-dialog,:host(.dark) .fu-queue-dialog,:host(.dark) .fu-dialog,:host([data-theme=dark]) .fu-queue-dialog,:host([data-theme=dark]) .fu-dialog{background:var(--bg-primary, #1e293b);box-shadow:0 24px 64px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.08)}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .fu-inline-trigger,:host-context([data-theme=dark]) .fu-inline-trigger,:host(.dark) .fu-inline-trigger,:host([data-theme=dark]) .fu-inline-trigger{border-color:var(--border-default, #334155);color:var(--text-primary, #e2e8f0)}:host-context(.dark) .fu-inline-trigger:hover:not(.fu-inline-disabled),:host-context([data-theme=dark]) .fu-inline-trigger:hover:not(.fu-inline-disabled),:host(.dark) .fu-inline-trigger:hover:not(.fu-inline-disabled),:host([data-theme=dark]) .fu-inline-trigger:hover:not(.fu-inline-disabled){background:rgba(255, 255, 255, 0.06);border-color:var(--color-primary, #10b981);color:#34d399;box-shadow:0 0 0 3px rgba(16, 185, 129, 0.12)}:host-context(.dark) .fu-inline-trigger.fu-inline-active,:host-context([data-theme=dark]) .fu-inline-trigger.fu-inline-active,:host(.dark) .fu-inline-trigger.fu-inline-active,:host([data-theme=dark]) .fu-inline-trigger.fu-inline-active{border-color:#34d399;color:#34d399;background:rgba(52, 211, 153, 0.06)}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .fu-upload-mode-badge.is-auto,:host-context([data-theme=dark]) .fu-upload-mode-badge.is-auto,:host(.dark) .fu-upload-mode-badge.is-auto,:host([data-theme=dark]) .fu-upload-mode-badge.is-auto{background:rgba(16, 185, 129, 0.15);color:#34d399;border-color:rgba(52, 211, 153, 0.3)}:host-context(.dark) .fu-upload-mode-badge.is-manual,:host-context([data-theme=dark]) .fu-upload-mode-badge.is-manual,:host(.dark) .fu-upload-mode-badge.is-manual,:host([data-theme=dark]) .fu-upload-mode-badge.is-manual{background:rgba(99, 102, 241, 0.15);color:#a5b4fc;border-color:rgba(165, 180, 252, 0.3)}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .fu-queue-manual-banner,:host-context([data-theme=dark]) .fu-queue-manual-banner,:host(.dark) .fu-queue-manual-banner,:host([data-theme=dark]) .fu-queue-manual-banner{background:rgba(99, 102, 241, 0.08);border-bottom-color:rgba(99, 102, 241, 0.2);color:var(--text-secondary, #94a3b8)}:host-context(.dark) .fu-queue-manual-banner strong,:host-context([data-theme=dark]) .fu-queue-manual-banner strong,:host(.dark) .fu-queue-manual-banner strong,:host([data-theme=dark]) .fu-queue-manual-banner strong{color:#a5b4fc}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .fu-queue-header,:host-context(.dark) .fu-dialog-header,:host-context([data-theme=dark]) .fu-queue-header,:host-context([data-theme=dark]) .fu-dialog-header,:host(.dark) .fu-queue-header,:host(.dark) .fu-dialog-header,:host([data-theme=dark]) .fu-queue-header,:host([data-theme=dark]) .fu-dialog-header{border-bottom-color:var(--border-default, #334155)}:host-context(.dark) .fu-queue-title,:host-context(.dark) .fu-dialog-title,:host-context([data-theme=dark]) .fu-queue-title,:host-context([data-theme=dark]) .fu-dialog-title,:host(.dark) .fu-queue-title,:host(.dark) .fu-dialog-title,:host([data-theme=dark]) .fu-queue-title,:host([data-theme=dark]) .fu-dialog-title{color:var(--text-primary, #f1f5f9)}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .fu-queue-count-pill,:host-context([data-theme=dark]) .fu-queue-count-pill,:host(.dark) .fu-queue-count-pill,:host([data-theme=dark]) .fu-queue-count-pill{background:rgba(16, 185, 129, 0.18);color:#34d399;border-color:rgba(52, 211, 153, 0.3)}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .fu-queue-errors,:host-context([data-theme=dark]) .fu-queue-errors,:host(.dark) .fu-queue-errors,:host([data-theme=dark]) .fu-queue-errors{background:rgba(239, 68, 68, 0.1);border-bottom-color:rgba(239, 68, 68, 0.25)}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .fu-queue-summary,:host-context([data-theme=dark]) .fu-queue-summary,:host(.dark) .fu-queue-summary,:host([data-theme=dark]) .fu-queue-summary{background:var(--bg-secondary, #0f172a);border-bottom-color:var(--border-default, #334155)}:host-context(.dark) .fu-queue-summary-stat,:host-context([data-theme=dark]) .fu-queue-summary-stat,:host(.dark) .fu-queue-summary-stat,:host([data-theme=dark]) .fu-queue-summary-stat{color:var(--text-secondary, #94a3b8)}:host-context(.dark) .fu-queue-summary-stat.is-auto,:host-context([data-theme=dark]) .fu-queue-summary-stat.is-auto,:host(.dark) .fu-queue-summary-stat.is-auto,:host([data-theme=dark]) .fu-queue-summary-stat.is-auto{color:#93c5fd}:host-context(.dark) .fu-queue-summary-stat.is-complete,:host-context([data-theme=dark]) .fu-queue-summary-stat.is-complete,:host(.dark) .fu-queue-summary-stat.is-complete,:host([data-theme=dark]) .fu-queue-summary-stat.is-complete{color:#34d399}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .fu-queue-list,:host-context([data-theme=dark]) .fu-queue-list,:host(.dark) .fu-queue-list,:host([data-theme=dark]) .fu-queue-list{scrollbar-color:var(--border-default, #334155) transparent;scrollbar-width:thin}:host-context(.dark) .fu-queue-empty,:host-context([data-theme=dark]) .fu-queue-empty,:host(.dark) .fu-queue-empty,:host([data-theme=dark]) .fu-queue-empty{color:var(--text-muted, #64748b)}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .fu-file-item,:host-context([data-theme=dark]) .fu-file-item,:host(.dark) .fu-file-item,:host([data-theme=dark]) .fu-file-item{border-bottom-color:var(--border-default, #1e293b)}:host-context(.dark) .fu-file-item.is-clickable:hover,:host-context([data-theme=dark]) .fu-file-item.is-clickable:hover,:host(.dark) .fu-file-item.is-clickable:hover,:host([data-theme=dark]) .fu-file-item.is-clickable:hover{background:rgba(255, 255, 255, 0.05);box-shadow:inset 0 0 0 1.5px var(--border-default, #334155)}:host-context(.dark) .fu-file-name,:host-context([data-theme=dark]) .fu-file-name,:host(.dark) .fu-file-name,:host([data-theme=dark]) .fu-file-name{color:var(--text-primary, #f1f5f9)}:host-context(.dark) .fu-file-meta,:host-context([data-theme=dark]) .fu-file-meta,:host(.dark) .fu-file-meta,:host([data-theme=dark]) .fu-file-meta{color:var(--text-secondary, #94a3b8)}:host-context(.dark) .fu-file-error-msg,:host-context([data-theme=dark]) .fu-file-error-msg,:host(.dark) .fu-file-error-msg,:host([data-theme=dark]) .fu-file-error-msg{color:#f87171}:host-context(.dark) .fu-remove,:host-context([data-theme=dark]) .fu-remove,:host(.dark) .fu-remove,:host([data-theme=dark]) .fu-remove{color:#64748b !important}:host-context(.dark) .fu-remove:hover,:host-context([data-theme=dark]) .fu-remove:hover,:host(.dark) .fu-remove:hover,:host([data-theme=dark]) .fu-remove:hover{color:#f87171 !important}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .fu-queue-footer,:host-context([data-theme=dark]) .fu-queue-footer,:host(.dark) .fu-queue-footer,:host([data-theme=dark]) .fu-queue-footer{background:var(--bg-secondary, #0f172a);border-top-color:var(--border-default, #334155)}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .fu-status-badge.is-success,:host-context([data-theme=dark]) .fu-status-badge.is-success,:host(.dark) .fu-status-badge.is-success,:host([data-theme=dark]) .fu-status-badge.is-success{background:rgba(16, 185, 129, 0.15);color:#34d399}:host-context(.dark) .fu-status-badge.is-error,:host-context([data-theme=dark]) .fu-status-badge.is-error,:host(.dark) .fu-status-badge.is-error,:host([data-theme=dark]) .fu-status-badge.is-error{background:rgba(239, 68, 68, 0.15);color:#f87171}:host-context(.dark) .fu-status-badge.is-pending,:host-context([data-theme=dark]) .fu-status-badge.is-pending,:host(.dark) .fu-status-badge.is-pending,:host([data-theme=dark]) .fu-status-badge.is-pending{background:rgba(99, 102, 241, 0.15);color:#a5b4fc}:host-context(.dark) .fu-status-badge.is-uploading,:host-context([data-theme=dark]) .fu-status-badge.is-uploading,:host(.dark) .fu-status-badge.is-uploading,:host([data-theme=dark]) .fu-status-badge.is-uploading{background:rgba(59, 130, 246, 0.15);color:#93c5fd}:host-context(.dark) .fu-status-badge.is-validating,:host-context([data-theme=dark]) .fu-status-badge.is-validating,:host(.dark) .fu-status-badge.is-validating,:host([data-theme=dark]) .fu-status-badge.is-validating{background:rgba(245, 158, 11, 0.15);color:#fcd34d}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .fu-dialog-preview,:host-context([data-theme=dark]) .fu-dialog-preview,:host(.dark) .fu-dialog-preview,:host([data-theme=dark]) .fu-dialog-preview{background:var(--bg-secondary, #0f172a);border-bottom-color:var(--border-default, #334155)}:host-context(.dark) .fu-dialog-image,:host-context([data-theme=dark]) .fu-dialog-image,:host(.dark) .fu-dialog-image,:host([data-theme=dark]) .fu-dialog-image{box-shadow:0 4px 24px rgba(0, 0, 0, 0.4)}:host-context(.dark) .fu-dialog-name,:host-context([data-theme=dark]) .fu-dialog-name,:host(.dark) .fu-dialog-name,:host([data-theme=dark]) .fu-dialog-name{color:var(--text-primary, #f1f5f9)}:host-context(.dark) .fu-dialog-meta-item,:host-context([data-theme=dark]) .fu-dialog-meta-item,:host(.dark) .fu-dialog-meta-item,:host([data-theme=dark]) .fu-dialog-meta-item{color:var(--text-secondary, #94a3b8)}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .fu-dialog-badge.is-success,:host-context([data-theme=dark]) .fu-dialog-badge.is-success,:host(.dark) .fu-dialog-badge.is-success,:host([data-theme=dark]) .fu-dialog-badge.is-success{background:rgba(16, 185, 129, 0.15);color:#34d399}:host-context(.dark) .fu-dialog-badge.is-error,:host-context([data-theme=dark]) .fu-dialog-badge.is-error,:host(.dark) .fu-dialog-badge.is-error,:host([data-theme=dark]) .fu-dialog-badge.is-error{background:rgba(239, 68, 68, 0.15);color:#f87171}:host-context(.dark) .fu-dialog-badge.is-pending,:host-context([data-theme=dark]) .fu-dialog-badge.is-pending,:host(.dark) .fu-dialog-badge.is-pending,:host([data-theme=dark]) .fu-dialog-badge.is-pending{background:rgba(99, 102, 241, 0.15);color:#a5b4fc}:host-context(.dark) .fu-dialog-badge.is-uploading,:host-context([data-theme=dark]) .fu-dialog-badge.is-uploading,:host(.dark) .fu-dialog-badge.is-uploading,:host([data-theme=dark]) .fu-dialog-badge.is-uploading{background:rgba(59, 130, 246, 0.15);color:#93c5fd}:host-context(.dark) .fu-dialog-badge.is-validating,:host-context([data-theme=dark]) .fu-dialog-badge.is-validating,:host(.dark) .fu-dialog-badge.is-validating,:host([data-theme=dark]) .fu-dialog-badge.is-validating{background:rgba(245, 158, 11, 0.15);color:#fcd34d}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .fu-progress-bar,:host-context(.dark) .fu-dialog-progress,:host-context([data-theme=dark]) .fu-progress-bar,:host-context([data-theme=dark]) .fu-dialog-progress,:host(.dark) .fu-progress-bar,:host(.dark) .fu-dialog-progress,:host([data-theme=dark]) .fu-progress-bar,:host([data-theme=dark]) .fu-dialog-progress{background:rgba(255, 255, 255, 0.08)}:host-context(.dark) .fu-dialog-footer,:host-context([data-theme=dark]) .fu-dialog-footer,:host(.dark) .fu-dialog-footer,:host([data-theme=dark]) .fu-dialog-footer{border-top-color:var(--border-default, #334155)}:host-context(.dark) .fu-dialog-nav-count,:host-context([data-theme=dark]) .fu-dialog-nav-count,:host(.dark) .fu-dialog-nav-count,:host([data-theme=dark]) .fu-dialog-nav-count{color:var(--text-secondary, #94a3b8)}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .fu-zone-queue-badge,:host-context([data-theme=dark]) .fu-zone-queue-badge,:host(.dark) .fu-zone-queue-badge,:host([data-theme=dark]) .fu-zone-queue-badge{background:rgba(16, 185, 129, 0.12);border-color:rgba(52, 211, 153, 0.3);color:#34d399}:host-context(.dark) .fu-zone-queue-badge:hover,:host-context([data-theme=dark]) .fu-zone-queue-badge:hover,:host(.dark) .fu-zone-queue-badge:hover,:host([data-theme=dark]) .fu-zone-queue-badge:hover{background:rgba(16, 185, 129, 0.22)}:host-context(.dark) .fu-view-queue-btn,:host-context([data-theme=dark]) .fu-view-queue-btn,:host(.dark) .fu-view-queue-btn,:host([data-theme=dark]) .fu-view-queue-btn{background:var(--bg-secondary, #1e293b);border-color:var(--border-default, #334155);color:var(--text-primary, #f1f5f9)}:host-context(.dark) .fu-view-queue-btn:hover,:host-context([data-theme=dark]) .fu-view-queue-btn:hover,:host(.dark) .fu-view-queue-btn:hover,:host([data-theme=dark]) .fu-view-queue-btn:hover{background:rgba(16, 185, 129, 0.1);border-color:#34d399;color:#34d399}:host-context(.dark),:host-context([data-theme=dark]),:host(.dark),:host([data-theme=dark]){}:host-context(.dark) .fu-zone-has-files,:host-context([data-theme=dark]) .fu-zone-has-files,:host(.dark) .fu-zone-has-files,:host([data-theme=dark]) .fu-zone-has-files{background:rgba(16, 185, 129, 0.05)}@media (prefers-color-scheme: dark){.fu-queue-backdrop,.fu-dialog-backdrop{background:rgba(0, 0, 0, 0.65);backdrop-filter:blur(6px)}.fu-queue-dialog,.fu-dialog{background:var(--bg-primary, #1e293b);box-shadow:0 24px 64px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.08)}.fu-inline-trigger{border-color:var(--border-default, #334155);color:var(--text-primary, #e2e8f0)}.fu-inline-trigger:hover:not(.fu-inline-disabled){background:rgba(255, 255, 255, 0.06);border-color:var(--color-primary, #10b981);color:#34d399;box-shadow:0 0 0 3px rgba(16, 185, 129, 0.12)}.fu-inline-trigger.fu-inline-active{border-color:#34d399;color:#34d399;background:rgba(52, 211, 153, 0.06)}.fu-upload-mode-badge.is-auto{background:rgba(16, 185, 129, 0.15);color:#34d399;border-color:rgba(52, 211, 153, 0.3)}.fu-upload-mode-badge.is-manual{background:rgba(99, 102, 241, 0.15);color:#a5b4fc;border-color:rgba(165, 180, 252, 0.3)}.fu-queue-manual-banner{background:rgba(99, 102, 241, 0.08);border-bottom-color:rgba(99, 102, 241, 0.2);color:var(--text-secondary, #94a3b8)}.fu-queue-manual-banner strong{color:#a5b4fc}.fu-queue-header,.fu-dialog-header{border-bottom-color:var(--border-default, #334155)}.fu-queue-title,.fu-dialog-title{color:var(--text-primary, #f1f5f9)}.fu-queue-count-pill{background:rgba(16, 185, 129, 0.18);color:#34d399;border-color:rgba(52, 211, 153, 0.3)}.fu-queue-errors{background:rgba(239, 68, 68, 0.1);border-bottom-color:rgba(239, 68, 68, 0.25)}.fu-queue-summary{background:var(--bg-secondary, #0f172a);border-bottom-color:var(--border-default, #334155)}.fu-queue-summary-stat{color:var(--text-secondary, #94a3b8)}.fu-queue-summary-stat.is-auto{color:#93c5fd}.fu-queue-summary-stat.is-complete{color:#34d399}.fu-queue-list{scrollbar-color:var(--border-default, #334155) transparent;scrollbar-width:thin}.fu-queue-empty{color:var(--text-muted, #64748b)}.fu-file-item{border-bottom-color:var(--border-default, #1e293b)}.fu-file-item.is-clickable:hover{background:rgba(255, 255, 255, 0.05);box-shadow:inset 0 0 0 1.5px var(--border-default, #334155)}.fu-file-name{color:var(--text-primary, #f1f5f9)}.fu-file-meta{color:var(--text-secondary, #94a3b8)}.fu-file-error-msg{color:#f87171}.fu-remove{color:#64748b !important}.fu-remove:hover{color:#f87171 !important}.fu-queue-footer{background:var(--bg-secondary, #0f172a);border-top-color:var(--border-default, #334155)}.fu-status-badge.is-success{background:rgba(16, 185, 129, 0.15);color:#34d399}.fu-status-badge.is-error{background:rgba(239, 68, 68, 0.15);color:#f87171}.fu-status-badge.is-pending{background:rgba(99, 102, 241, 0.15);color:#a5b4fc}.fu-status-badge.is-uploading{background:rgba(59, 130, 246, 0.15);color:#93c5fd}.fu-status-badge.is-validating{background:rgba(245, 158, 11, 0.15);color:#fcd34d}.fu-dialog-preview{background:var(--bg-secondary, #0f172a);border-bottom-color:var(--border-default, #334155)}.fu-dialog-image{box-shadow:0 4px 24px rgba(0, 0, 0, 0.4)}.fu-dialog-name{color:var(--text-primary, #f1f5f9)}.fu-dialog-meta-item{color:var(--text-secondary, #94a3b8)}.fu-dialog-badge.is-success{background:rgba(16, 185, 129, 0.15);color:#34d399}.fu-dialog-badge.is-error{background:rgba(239, 68, 68, 0.15);color:#f87171}.fu-dialog-badge.is-pending{background:rgba(99, 102, 241, 0.15);color:#a5b4fc}.fu-dialog-badge.is-uploading{background:rgba(59, 130, 246, 0.15);color:#93c5fd}.fu-dialog-badge.is-validating{background:rgba(245, 158, 11, 0.15);color:#fcd34d}.fu-progress-bar,.fu-dialog-progress{background:rgba(255, 255, 255, 0.08)}.fu-dialog-footer{border-top-color:var(--border-default, #334155)}.fu-dialog-nav-count{color:var(--text-secondary, #94a3b8)}.fu-zone-queue-badge{background:rgba(16, 185, 129, 0.12);border-color:rgba(52, 211, 153, 0.3);color:#34d399}.fu-zone-queue-badge:hover{background:rgba(16, 185, 129, 0.22)}.fu-view-queue-btn{background:var(--bg-secondary, #1e293b);border-color:var(--border-default, #334155);color:var(--text-primary, #f1f5f9)}.fu-view-queue-btn:hover{background:rgba(16, 185, 129, 0.1);border-color:#34d399;color:#34d399}.fu-zone-has-files{background:rgba(16, 185, 129, 0.05)}}`;
4
4
 
5
5
  const FileUpload = class {
6
6
  constructor(hostRef) {
@@ -34,10 +34,11 @@ const FileUpload = class {
34
34
  showPreview = true;
35
35
  /** Disabled */
36
36
  disabled = false;
37
- /** Variant: 'dropzone' | 'button' | 'compact' | 'sideload' */
37
+ /** Variant: 'dropzone' | 'button' | 'compact' | 'inline' | 'sideload' */
38
38
  variant = 'dropzone';
39
- /** Icon emoji or text */
40
- uploadIcon = '📁';
39
+ /** Custom upload icon: pass a lucide icon name (e.g. "file-plus") or any emoji/text.
40
+ * Defaults to the upload-cloud lucide icon when left empty. */
41
+ uploadIcon = '';
41
42
  /** RTL support */
42
43
  rtl = false;
43
44
  /** Capture attribute for mobile camera */
@@ -48,12 +49,16 @@ const FileUpload = class {
48
49
  fileNamePattern = '';
49
50
  /** Show manual validate button */
50
51
  showValidateButton = false;
51
- /** Show manual upload button */
52
+ /** Show manual upload button — overrides auto-upload when true */
52
53
  showUploadButton = false;
53
- /** Automatically trigger upload when files are selected */
54
+ /** When true (default), upload begins immediately after files are selected.
55
+ * When false, files stay in "Ready" state until the user clicks the Upload button inside the queue dialog. */
54
56
  autoUpload = true;
55
57
  /** Automatically emit completion event and hide list when all files succeed */
56
58
  autoCloseOnSuccess = false;
59
+ /** Allow the user to select an entire folder instead of individual files.
60
+ * Sets webkitdirectory on the hidden input. Implicitly enables multiple. */
61
+ directory = false;
57
62
  /** Integrated header title (for sideload variant) */
58
63
  headerTitle = '';
59
64
  isDragging = false;
@@ -61,6 +66,10 @@ const FileUpload = class {
61
66
  errors = [];
62
67
  /** Overall component state: 'idle' | 'validating' | 'uploading' | 'success' | 'error' */
63
68
  componentStatus = 'idle';
69
+ /** Whether the queue management dialog is visible */
70
+ isQueueOpen = false;
71
+ /** Index of the file currently shown in the preview dialog (-1 = closed) */
72
+ previewFileIndex = -1;
64
73
  uploadIntervals = {};
65
74
  fileSelect;
66
75
  fileRemove;
@@ -124,6 +133,8 @@ const FileUpload = class {
124
133
  this.files = [];
125
134
  this.errors = [];
126
135
  this.componentStatus = 'idle';
136
+ this.isQueueOpen = false;
137
+ this.previewFileIndex = -1;
127
138
  }
128
139
  formatSize(bytes) {
129
140
  if (bytes < 1024)
@@ -210,6 +221,15 @@ const FileUpload = class {
210
221
  if (fileNameError) {
211
222
  validationErrors.push(fileNameError);
212
223
  }
224
+ // Empty file check — must come before size-range checks
225
+ if (file.size === 0) {
226
+ validationErrors.push({
227
+ fileName: file.name,
228
+ message: `${file.name} is empty (0 KB) and cannot be uploaded`,
229
+ rule: 'empty-file',
230
+ });
231
+ return validationErrors; // skip further size checks on an empty file
232
+ }
213
233
  if (this.minSize > 0 && file.size < this.minSize) {
214
234
  validationErrors.push({
215
235
  fileName: file.name,
@@ -267,11 +287,6 @@ const FileUpload = class {
267
287
  uf.errorMessage = `Duplicate detected: "${file.name}"`;
268
288
  validationErrors.push({ fileName: file.name, message: uf.errorMessage, rule: 'duplicate-file' });
269
289
  }
270
- if (file.size === 0) {
271
- uf.status = 'error';
272
- uf.errorMessage = 'File is empty (0 bytes)';
273
- validationErrors.push({ fileName: file.name, message: uf.errorMessage, rule: 'empty-file' });
274
- }
275
290
  const fileErrors = this.validateFile(file);
276
291
  if (fileErrors.length > 0 && uf.status !== 'error') {
277
292
  uf.status = 'error';
@@ -289,6 +304,9 @@ const FileUpload = class {
289
304
  });
290
305
  this.errors = validationErrors.map(error => error.message);
291
306
  this.files = [...this.files, ...newFiles];
307
+ // Auto-open the queue dialog whenever files are added
308
+ if (newFiles.length > 0 && this.variant !== 'sideload')
309
+ this.isQueueOpen = true;
292
310
  if (this.autoUpload) {
293
311
  newFiles.filter(f => f.status === 'pending').forEach(f => this.startSimulation(f.name));
294
312
  }
@@ -368,47 +386,128 @@ const FileUpload = class {
368
386
  delete this.uploadIntervals[removed.name];
369
387
  }
370
388
  this.files = this.files.filter((_, i) => i !== idx);
389
+ // Remove validation errors that mention this file's name
390
+ this.errors = this.errors.filter(e => !e.includes(removed.name));
391
+ // Clear max-files warnings when we're now under the limit
392
+ if (this.files.length < this.maxFiles) {
393
+ this.errors = this.errors.filter(e => !e.includes('more file') && !e.includes('upload up to'));
394
+ }
395
+ // If no files left, clear all remaining errors
396
+ if (this.files.length === 0) {
397
+ this.errors = [];
398
+ }
371
399
  this.fileRemove.emit(removed.name);
372
400
  this.fileSelect.emit(this.files);
373
401
  };
374
- getIcon(type) {
375
- if (type.startsWith('image/'))
376
- return '🖼️';
377
- if (type === 'application/pdf')
378
- return '📄';
379
- if (type.includes('word'))
380
- return '📝';
381
- if (type.includes('sheet') || type.includes('excel'))
382
- return '📊';
383
- if (type.includes('zip') || type.includes('rar'))
384
- return '🗜️';
385
- return '📎';
402
+ getFileIconStyles(type) {
403
+ const t = (type || '').toLowerCase();
404
+ if (t.startsWith('image/')) {
405
+ return { icon: 'image', bg: 'rgba(168, 85, 247, 0.08)', color: 'rgb(168, 85, 247)' };
406
+ }
407
+ if (t === 'application/pdf' || t.includes('pdf') || t.includes('word') || t.includes('document')) {
408
+ return { icon: 'file-text', bg: 'rgba(59, 130, 246, 0.08)', color: 'rgb(59, 130, 246)' };
409
+ }
410
+ if (t.includes('sheet') || t.includes('excel') || t.includes('csv') || t.includes('spreadsheet')) {
411
+ return { icon: 'file-spreadsheet', bg: 'rgba(16, 185, 129, 0.08)', color: 'rgb(16, 185, 129)' };
412
+ }
413
+ if (t.includes('zip') || t.includes('rar') || t.includes('tar') || t.includes('compressed') || t.includes('7z')) {
414
+ return { icon: 'archive', bg: 'rgba(245, 158, 11, 0.08)', color: 'rgb(245, 158, 11)' };
415
+ }
416
+ if (t.startsWith('audio/')) {
417
+ return { icon: 'music', bg: 'rgba(236, 72, 153, 0.08)', color: 'rgb(236, 72, 153)' };
418
+ }
419
+ if (t.startsWith('video/')) {
420
+ return { icon: 'video', bg: 'rgba(239, 68, 68, 0.08)', color: 'rgb(239, 68, 68)' };
421
+ }
422
+ return { icon: 'file', bg: 'rgba(107, 114, 128, 0.08)', color: 'rgb(107, 114, 128)' };
423
+ }
424
+ /** Renders the zone/trigger icon — lucide icon name, emoji text, or default upload-cloud */
425
+ renderUploadZoneIcon(size = '40px') {
426
+ if (!this.uploadIcon) {
427
+ // Default: use lucide upload-cloud icon
428
+ return h("ui-icon", { name: "upload-cloud", library: "lucide", size: size, color: "var(--color-primary, #10b981)" });
429
+ }
430
+ // Heuristic: if no spaces and only a-z/0-9/- it's a lucide icon name
431
+ if (/^[a-z0-9-]+$/.test(this.uploadIcon)) {
432
+ return h("ui-icon", { name: this.uploadIcon, library: "lucide", size: size, color: "var(--color-primary, #10b981)" });
433
+ }
434
+ // Otherwise render as emoji/text
435
+ return h("span", { class: "fu-upload-icon-text" }, this.uploadIcon);
436
+ }
437
+ /** Renders the reusable file-row used in both the queue dialog and sideload list */
438
+ renderFileRow(f, idx, isUploading) {
439
+ const progress = f.progress || 0;
440
+ const status = f.status;
441
+ const { icon, bg, color } = this.getFileIconStyles(f.type);
442
+ const renderedIcon = status === 'error' ? 'alert-triangle' : icon;
443
+ const renderedBg = status === 'error' ? 'rgba(239, 68, 68, 0.08)' : bg;
444
+ const renderedColor = status === 'error' ? 'rgb(239, 68, 68)' : color;
445
+ return (h("div", { class: { 'fu-file-item': true, [`is-${status}`]: true, 'is-clickable': true }, key: f.name + idx, onClick: () => { this.previewFileIndex = idx; }, title: "Click to preview" }, h("div", { class: "fu-file-icon-wrapper", style: { backgroundColor: renderedBg } }, h("ui-icon", { name: renderedIcon, library: "lucide", size: "20px", color: renderedColor })), h("div", { class: "fu-file-info" }, h("div", { class: "fu-file-name-row" }, h("span", { class: "fu-file-name", title: f.name }, f.name), h("span", { class: "fu-file-status" }, status === 'success' && h("span", { class: "fu-status-badge is-success" }, h("ui-icon", { name: "check", library: "lucide", size: "12px", color: "#10b981" }), h("span", null, "Done")), status === 'uploading' && h("span", { class: "fu-status-badge is-uploading" }, h("span", { class: "fu-spinner-dot" }), h("span", null, Math.round(progress), "%")), status === 'pending' && h("span", { class: "fu-status-badge is-pending" }, h("span", null, "Ready")), status === 'validating' && h("span", { class: "fu-status-badge is-validating" }, h("span", null, "Validating\u00E2\u20AC\u00A6")), status === 'error' && h("span", { class: "fu-status-badge is-error" }, h("span", null, "Failed")))), h("div", { class: "fu-file-meta" }, h("span", { class: "fu-file-size" }, this.formatSize(f.size)), status === 'error' && f.errorMessage && (h("span", { class: "fu-file-error-msg" }, h("ui-icon", { name: "alert-circle", library: "lucide", size: "12px", color: "currentColor" }), h("span", null, f.errorMessage)))), status === 'uploading' && (h("div", { class: "fu-progress-bar" }, h("div", { class: "fu-progress-fill", style: { width: `${progress}%` } })))), h("ui-button", { variant: "ghost", size: "xxs", iconOnly: true, class: "fu-remove", onClick: (e) => { e.stopPropagation(); this.removeFile(idx); }, ariaLabel: "Remove", icon: "x", iconLibrary: "lucide", iconSize: "16px", disabled: isUploading && status === 'uploading' })));
446
+ }
447
+ /** Queue management dialog — shown for all non-sideload variants */
448
+ /** Queue management dialog - shown for all non-sideload variants */
449
+ renderQueueDialog() {
450
+ if (!this.isQueueOpen || this.variant === 'sideload')
451
+ return null;
452
+ const hasFiles = this.files.length > 0;
453
+ const isUploading = this.componentStatus === 'uploading';
454
+ const isValidating = this.componentStatus === 'validating';
455
+ const validCount = this.files.filter(f => f.status !== 'error').length;
456
+ const readyCount = this.files.filter(f => f.status === 'pending').length;
457
+ const doneCount = this.files.filter(f => f.status === 'success').length;
458
+ const pendingCount = this.files.filter(f => f.status === 'pending' || f.status === 'uploading').length;
459
+ const failedCount = this.files.filter(f => f.status === 'error').length;
460
+ const hasErrors = failedCount > 0;
461
+ const allSuccess = hasFiles && this.files.every(f => f.status === 'success');
462
+ const canAdd = !this.disabled && this.files.length < this.maxFiles;
463
+ const isManual = !this.autoUpload || this.showUploadButton;
464
+ const showUploadBtn = isManual && !allSuccess;
465
+ const closeQueue = () => {
466
+ this.isQueueOpen = false;
467
+ // Drop successfully uploaded files — they're done; keep pending/uploading/error
468
+ this.files = this.files.filter(f => f.status !== 'success');
469
+ if (this.files.length === 0) {
470
+ this.componentStatus = 'idle';
471
+ this.errors = [];
472
+ this.previewFileIndex = -1;
473
+ }
474
+ };
475
+ return (h("div", { class: "fu-queue-backdrop", onClick: closeQueue }, h("div", { class: { 'fu-queue-dialog': true, 'fu-queue-dialog--manual': isManual }, onClick: (e) => e.stopPropagation(), role: "dialog", "aria-modal": "true", "aria-label": "Upload Queue" }, h("div", { class: "fu-queue-header" }, h("div", { class: "fu-queue-title" }, h("ui-icon", { name: "upload-cloud", library: "lucide", size: "18px", color: "var(--color-primary, #10b981)" }), h("span", null, "Upload Queue"), h("span", { class: "fu-queue-count-pill" }, this.files.length, " file", this.files.length !== 1 ? 's' : '')), h("div", { class: "fu-queue-header-right" }, h("span", { class: `fu-upload-mode-badge ${isManual ? 'is-manual' : 'is-auto'}` }, h("ui-icon", { name: isManual ? 'hand' : 'zap', library: "lucide", size: "11px", color: "currentColor" }), isManual ? 'Manual upload' : 'Auto upload'), h("ui-button", { variant: "ghost", size: "sm", iconOnly: true, icon: "x", iconLibrary: "lucide", onClick: closeQueue, ariaLabel: "Close dialog" }))), isManual && readyCount > 0 && !isUploading && !allSuccess && (h("div", { class: "fu-queue-manual-banner" }, h("ui-icon", { name: "mouse-pointer-click", library: "lucide", size: "14px", color: "#6366f1" }), h("span", null, readyCount, " file", readyCount !== 1 ? 's' : '', " ready \u2014 click ", h("strong", null, "Upload"), " when ready."))), this.errors.length > 0 && (h("div", { class: "fu-queue-errors" }, this.errors.map(e => (h("div", { class: "fu-queue-error-item" }, h("ui-icon", { name: "alert-triangle", library: "lucide", size: "14px", color: "#ef4444" }), h("span", null, e)))))), hasFiles && (h("div", { class: "fu-queue-summary" }, doneCount > 0 && h("span", { class: "fu-queue-summary-stat" }, h("span", { class: "fu-qs-dot success" }), doneCount, " done"), pendingCount > 0 && h("span", { class: "fu-queue-summary-stat" }, h("span", { class: "fu-qs-dot pending" }), pendingCount, " pending"), hasErrors && h("span", { class: "fu-queue-summary-stat" }, h("span", { class: "fu-qs-dot error" }), failedCount, " failed"), this.autoUpload && isUploading && (h("span", { class: "fu-queue-summary-stat is-auto" }, h("span", { class: "fu-spinner-dot" }), " Uploading...")), allSuccess && (h("span", { class: "fu-queue-summary-stat is-complete" }, h("ui-icon", { name: "check-circle", library: "lucide", size: "13px", color: "#10b981" }), " All done")))), h("div", { class: "fu-queue-list" }, !hasFiles && (h("div", { class: "fu-queue-empty" }, h("ui-icon", { name: "inbox", library: "lucide", size: "32px", color: "var(--text-muted, #9ca3af)" }), h("span", null, "No files in queue"))), this.files.map((f, idx) => this.renderFileRow(f, idx, isUploading))), h("div", { class: "fu-queue-footer" }, h("div", { class: "fu-queue-footer-left" }, canAdd && (h("ui-button", { variant: "ghost", size: "sm", label: "Add more", icon: "plus", iconLibrary: "lucide", disabled: isUploading, onClick: () => this.inputRef?.click() })), hasErrors && (h("ui-button", { variant: "ghost", size: "sm", label: "Remove failed", icon: "trash-2", iconLibrary: "lucide", onClick: () => this.removeInvalidFiles() }))), h("div", { class: "fu-queue-footer-right" }, !isUploading && !allSuccess && (h("ui-button", { variant: "outline", size: "sm", label: "Cancel all", onClick: () => this.clear() })), this.showValidateButton && (h("ui-button", { variant: "outline", size: "sm", label: "Validate", loading: isValidating, disabled: isUploading || !hasFiles, onClick: () => this.validate() })), showUploadBtn && (h("ui-button", { variant: "primary", size: "sm", label: isUploading ? 'Uploading...' : `Upload ${readyCount > 0 ? readyCount : validCount} file${(readyCount || validCount) !== 1 ? 's' : ''}`, icon: isUploading ? 'loader' : 'upload', iconLibrary: "lucide", loading: isUploading, disabled: isValidating || validCount === 0, onClick: () => this.upload() })), allSuccess && (h("ui-button", { variant: "primary", size: "sm", icon: "check", iconLibrary: "lucide", label: "Done", onClick: closeQueue })))))));
476
+ }
477
+ renderPreviewDialog() {
478
+ const idx = this.previewFileIndex;
479
+ if (idx < 0 || idx >= this.files.length)
480
+ return null;
481
+ const f = this.files[idx];
482
+ const progress = f.progress || 0;
483
+ const status = f.status;
484
+ const isUploading = status === 'uploading';
485
+ const isImage = f.type?.startsWith('image/') && !!f.dataUrl;
486
+ const { icon, bg, color } = this.getFileIconStyles(f.type);
487
+ const renderedIcon = status === 'error' ? 'alert-triangle' : icon;
488
+ const renderedBg = status === 'error' ? 'rgba(239, 68, 68, 0.08)' : bg;
489
+ const renderedColor = status === 'error' ? 'rgb(239, 68, 68)' : color;
490
+ const close = () => { this.previewFileIndex = -1; };
491
+ return (h("div", { class: "fu-dialog-backdrop", onClick: close }, h("div", { class: "fu-dialog", onClick: (e) => e.stopPropagation(), role: "dialog", "aria-modal": "true", "aria-label": `File details: ${f.name}` }, h("div", { class: "fu-dialog-header" }, h("div", { class: "fu-dialog-title" }, h("ui-icon", { name: "file-search", library: "lucide", size: "18px", color: "var(--color-primary, #10b981)" }), h("span", null, "File Details")), h("ui-button", { variant: "ghost", size: "sm", iconOnly: true, icon: "x", iconLibrary: "lucide", onClick: close, ariaLabel: "Close" })), h("div", { class: "fu-dialog-preview" }, isImage
492
+ ? h("img", { class: "fu-dialog-image", src: f.dataUrl, alt: f.name })
493
+ : h("div", { class: "fu-dialog-file-icon", style: { backgroundColor: renderedBg } }, h("ui-icon", { name: renderedIcon, library: "lucide", size: "48px", color: renderedColor }))), h("div", { class: "fu-dialog-info" }, h("div", { class: "fu-dialog-name", title: f.name }, f.name), h("div", { class: "fu-dialog-meta" }, h("span", { class: "fu-dialog-meta-item" }, h("ui-icon", { name: "hard-drive", library: "lucide", size: "13px", color: "currentColor" }), this.formatSize(f.size)), h("span", { class: "fu-dialog-meta-item" }, h("ui-icon", { name: "tag", library: "lucide", size: "13px", color: "currentColor" }), f.type || 'Unknown type')), h("div", { class: "fu-dialog-status-row" }, status === 'success' && h("span", { class: "fu-dialog-badge is-success" }, h("ui-icon", { name: "check-circle", library: "lucide", size: "14px", color: "currentColor" }), "Uploaded successfully"), status === 'uploading' && h("span", { class: "fu-dialog-badge is-uploading" }, h("span", { class: "fu-spinner-dot" }), "Uploading\u00E2\u20AC\u00A6 ", Math.round(progress), "%"), status === 'pending' && h("span", { class: "fu-dialog-badge is-pending" }, h("ui-icon", { name: "clock", library: "lucide", size: "14px", color: "currentColor" }), "Ready to upload"), status === 'error' && h("span", { class: "fu-dialog-badge is-error" }, h("ui-icon", { name: "alert-circle", library: "lucide", size: "14px", color: "currentColor" }), f.errorMessage || 'Upload failed'), status === 'validating' && h("span", { class: "fu-dialog-badge is-validating" }, h("span", { class: "fu-spinner-dot" }), "Validating\u00E2\u20AC\u00A6")), (status === 'uploading' || status === 'success') && (h("div", { class: "fu-dialog-progress" }, h("div", { class: "fu-dialog-progress-fill", style: { width: `${progress}%` } })))), h("div", { class: "fu-dialog-footer" }, h("ui-button", { variant: "ghost", size: "sm", label: "Remove file", icon: "trash-2", iconLibrary: "lucide", disabled: isUploading, onClick: () => { this.removeFile(idx); close(); } }), h("div", { style: { flex: '1' } }), h("ui-button", { variant: "ghost", size: "sm", iconOnly: true, icon: "chevron-left", iconLibrary: "lucide", disabled: idx === 0, ariaLabel: "Previous file", onClick: () => { this.previewFileIndex = idx - 1; } }), h("span", { class: "fu-dialog-nav-count" }, idx + 1, " / ", this.files.length), h("ui-button", { variant: "ghost", size: "sm", iconOnly: true, icon: "chevron-right", iconLibrary: "lucide", disabled: idx === this.files.length - 1, ariaLabel: "Next file", onClick: () => { this.previewFileIndex = idx + 1; } }), h("ui-button", { variant: "primary", size: "sm", label: "Close", onClick: close })))));
386
494
  }
387
495
  render() {
388
496
  const canAdd = !this.disabled && this.files.length < this.maxFiles;
389
497
  const hasFiles = this.files.length > 0;
390
498
  const isUploading = this.componentStatus === 'uploading';
391
- const isValidating = this.componentStatus === 'validating';
392
499
  const validFilesCount = this.files.filter(f => f.status !== 'error').length;
393
- const hasErrors = this.files.some(f => f.status === 'error');
394
- return (h(Host, { key: 'e023a6d860e04cbad81a073a3d921b4670644ea1', dir: this.rtl ? 'rtl' : 'ltr', onPaste: this.handlePaste, class: { 'is-sideload': this.variant === 'sideload' } }, this.variant === 'sideload' && (h("div", { key: 'f0a9154a2d0fd3574b659674cf76f3a12f058d57', class: "fu-sideload-header" }, h("div", { key: '83d0168bac94abaa64b8e97026c97fd8d2423ae3', class: "fu-header-title-row" }, h("ui-icon", { key: '8387010b6ef439d6de023eb97eb18fc38d9aa06d', name: "upload-cloud", library: "lucide", size: "24px", color: "var(--color-primary, #10b981)" }), h("h2", { key: 'a31a8e98afedd667a99090de154ee41565e7d6ca' }, this.headerTitle || 'Sideload Firmware'), h("ui-button", { key: 'b6253491fe52f40256bc7160c5d7f127f56618f3', variant: "ghost", size: "md", iconOnly: true, icon: "x", iconLibrary: "lucide", class: "fu-close-dialog" })), h("div", { key: 'b1628a83b975aaf63a78fb4827eda5b723d7559e', class: { 'fu-sideload-zone': true, 'is-dragging': this.isDragging }, onDragOver: (e) => { e.preventDefault(); this.isDragging = true; }, onDragLeave: () => (this.isDragging = false), onDrop: this.handleDrop, onClick: () => canAdd && this.inputRef?.click() }, h("ui-icon", { key: '438322e56615a49d5b59ce048a53baa70a378bbd', name: "upload", library: "lucide", size: "20px", color: "var(--color-primary, #10b981)" }), h("span", { key: '55635c6bdee2d0f6cdb76f6c631e43af00119c29' }, "Drop more files or ", h("strong", { key: '38a4347b3acc9f226d8807513a13e896cc3988ab', class: "fu-browse-pill" }, "Browse"))))), this.label && this.variant !== 'sideload' && h("label", { key: '8d7e1ab4892d62a638a0ac2a7ed3de49ea4db3a7', class: "fu-label" }, this.label), this.variant === 'dropzone' && (h("div", { key: 'e3db150b83ca3874088a4f0ab4ff721d1eb8599a', class: { 'fu-zone': true, 'fu-dragging': this.isDragging, 'fu-disabled': this.disabled }, onDragOver: (e) => { e.preventDefault(); this.isDragging = true; }, onDragLeave: () => (this.isDragging = false), onDrop: this.handleDrop, onClick: () => canAdd && this.inputRef?.click() }, h("div", { key: 'c067ae850850024015757974c5e881b1fc52cdd0', class: "fu-zone-icon" }, this.uploadIcon), h("div", { key: 'a438cded36e799c246e29bd636bc79c833246d2e', class: "fu-zone-title" }, "Drag & drop files here"), h("div", { key: '952dd6afce21218fa9a3b9c1f7cb1a2854ab9f21', class: "fu-zone-sub" }, "or ", h("span", { key: '5946db023c7713f63ff402082de612cfe27d79e1', class: "fu-zone-browse" }, "browse files")), h("div", { key: '0b63680de4b4c3d99a985747efd1bdf2733b8c1a', class: "fu-zone-limit" }, this.accept && h("span", { key: '5c75daa15408bec904c57ee6f7e4af4ba09f56b7' }, "Accepts: ", this.accept), h("span", { key: '34488fd0e8064650fcbc50672d9f4b40b56c3252' }, "Max ", this.formatSize(this.maxSize), " \u00B7 Up to ", this.maxFiles, " files")))), (this.variant === 'button' || this.variant === 'compact') && (h("div", { key: '805a97dbff1ac3911e20d25d9feb5dc0e0254d90', class: "fu-trigger-row" }, this.variant === 'button' && (h("ui-button", { key: '54b3624ef218f5c5c8d62a4c5dc88fe24ddc9a27', variant: "primary", onClick: () => canAdd && this.inputRef?.click(), disabled: this.disabled || isUploading, label: this.label || 'Select Files', icon: this.uploadIcon })), this.variant === 'compact' && (h("div", { key: '3ebbfb44da248d985e86f48759772545de916d5d', class: { 'fu-compact': true, 'fu-disabled': this.disabled }, onClick: () => canAdd && this.inputRef?.click() }, h("span", { key: '39e88c85f57b10cec99d7c677689cd0402b8b5b0', class: "fu-compact-icon" }, this.uploadIcon), h("span", { key: '41e011e8f46008ef0e803fcfe7bbecc55e7ddd98', class: "fu-compact-text" }, this.label || 'Choose file'), h("span", { key: '5f2c96e19c6ab3d715ffbd9d33fd49c507cda31b', class: "fu-compact-count" }, this.files.length, " / ", this.maxFiles))), (this.showValidateButton || this.showUploadButton) && (h("div", { key: '494128b8db00f33ab9d602b78c2c17c9374ddf0a', class: "fu-actions" }, this.showValidateButton && (h("ui-button", { key: '470be75a0b9a69b8557f749c615f60848b045f7f', variant: "outline", size: "md", loading: isValidating, disabled: isUploading || this.disabled || !hasFiles, onClick: () => this.validate(), label: "Validate" })), this.showUploadButton && (h("ui-button", { key: '14cea3a0039fe06e5a6eff5baf4ce1ffcee724ad', variant: "primary", size: "md", loading: isUploading, disabled: isValidating || this.disabled || !hasFiles, onClick: () => this.upload(), label: "Upload All", icon: "upload", iconLibrary: "lucide" })))))), this.variant === 'dropzone' && (this.showValidateButton || this.showUploadButton) && (h("div", { key: 'aba1a4dc3bfffe9b2613719ce2ae876e10bd9aca', class: "fu-dropzone-actions" }, h("span", { key: 'f6bddf09dfb74057ee74aff7e82a38a999973e9c', class: "fu-status-text" }, hasFiles ? `${this.files.length} file(s) selected` : 'No files selected'), h("div", { key: 'e050caeb8ba45b9d2d0adeddf659b5a53abddf89', class: "fu-button-group" }, this.showValidateButton && (h("ui-button", { key: '95b6ea727bbe7cad4a3ba6f10e1b3777393b4ca4', variant: "ghost", size: "md", loading: isValidating, disabled: isUploading || !hasFiles, onClick: () => this.validate(), label: "Validate Files" })), this.showUploadButton && (h("ui-button", { key: '3d92daaa1f7d0bb85e1bf016fb53aa0f771c4510', variant: "primary", size: "md", loading: isUploading, disabled: isValidating || !hasFiles, onClick: () => this.upload(), label: "Start Upload" }))))), h("input", { key: '33eaf23068f5a8042b7e44ef8564f22860693395', ref: el => (this.inputRef = el), type: "file", class: "fu-input-hidden", accept: this.accept, multiple: this.multiple, capture: this.capture === true ? 'environment' : (this.capture || undefined), onChange: this.handleFileInput }), this.errors.length > 0 && this.variant !== 'sideload' && (h("div", { key: '7c206fe6b3cd098262a1061e9abf88909c443fb2', class: "fu-errors" }, this.errors.map(e => h("div", { class: "fu-error" }, "\u26A0 ", e)))), this.showPreview && hasFiles && (h("div", { key: '36884700bc547826dfbfa32556a59e56ea0c9ff1', class: { 'fu-file-list': true, 'is-sideload-list': this.variant === 'sideload' } }, this.variant !== 'sideload' && h("div", { key: '634011f23cba7105437851f7e969e98ee1e46c09', class: "fu-list-header" }, "QUEUED FILES"), this.files.map((f, idx) => {
395
- const progress = f.progress || 0;
396
- const status = f.status;
397
- const statusLabels = {
398
- pending: 'Ready',
399
- validating: 'Validating...',
400
- uploading: 'Uploading...',
401
- success: 'Complete',
402
- error: 'Failed'
403
- };
404
- const itemIcon = status === 'error' ? 'alert-triangle' : (status === 'success' ? 'check-circle' : 'info');
405
- const iconColor = status === 'error' ? '#f59e0b' : (status === 'success' ? '#10b981' : '#3b82f6');
406
- return (h("div", { class: { 'fu-file-item': true, [`is-${status}`]: true }, key: f.name + idx }, this.variant === 'sideload'
407
- ? h("ui-icon", { class: "fu-sideload-item-icon", name: itemIcon, library: "lucide", size: "24px", color: iconColor })
408
- : (f.type.startsWith('image/') && f.dataUrl
409
- ? h("img", { class: "fu-thumb", src: f.dataUrl, alt: f.name })
410
- : h("span", { class: "fu-file-icon" }, this.getIcon(f.type))), h("div", { class: "fu-file-info" }, h("div", { class: "fu-file-name-row" }, h("span", { class: "fu-file-name" }, f.name), h("span", { class: "fu-file-status" }, this.variant !== 'sideload' && h("span", { class: "fu-status-label" }, statusLabels[status]), status === 'success' && h("ui-icon", { name: "check", library: "lucide", size: "14px", color: "#10b981" }), status === 'error' && this.variant !== 'sideload' && h("ui-icon", { name: "alert-circle", library: "lucide", size: "14px", color: "#ef4444" }), status === 'uploading' && h("span", { class: "fu-file-percent" }, Math.round(progress), "%"))), h("div", { class: "fu-file-meta" }, h("span", { class: "fu-file-size" }, this.formatSize(f.size)), f.errorMessage && h("span", { class: "fu-item-error-msg" }, " \u00B7 ", f.errorMessage)), (status === 'uploading' || status === 'success') && (h("div", { class: "fu-progress-bar" }, h("div", { class: "fu-progress-fill", style: { width: `${progress}%` } })))), h("ui-button", { variant: "ghost", size: "xxs", iconOnly: true, class: "fu-remove", onClick: (e) => { e.stopPropagation(); this.removeFile(idx); }, ariaLabel: "Remove", icon: "x-circle", iconLibrary: "lucide", iconSize: "18px", disabled: isUploading && status === 'uploading' })));
411
- }))), this.variant === 'sideload' && (h("div", { key: 'ef71906dbefd987da6f7cf54dacb41528d8e7d4b', class: "fu-sideload-footer" }, h("div", { key: 'e5ce897412814293206de68572bce9fe93478fff', class: "fu-footer-actions-left" }, hasErrors && (h("ui-button", { key: '40c336eb57ba23767800511d7f8a5525c3bb3a0f', variant: "ghost", size: "md", label: "Clean Queue", onClick: () => this.removeInvalidFiles(), icon: "trash-2", iconLibrary: "lucide" }))), h("div", { key: '31c7983a14455d24158aa3c7bb69b490f995968e', class: "fu-footer-actions-right" }, h("ui-button", { key: 'd9723f7193044a178473437cad30d2074d41b6b4', variant: "outline", label: "Cancel", onClick: () => this.clear() }), h("ui-button", { key: '532aae5a83893629ee5d8186904286393183f5e7', variant: "primary", label: `Upload ${validFilesCount} files`, disabled: validFilesCount === 0 || isUploading, loading: isUploading, onClick: () => this.upload(), icon: "upload", iconLibrary: "lucide" })))), this.helperText && this.variant !== 'sideload' && h("div", { key: '6bd4941a135fbf542f3d9ca275847660424695d9', class: "fu-helper" }, this.helperText)));
500
+ return (h(Host, { key: 'd3152c915742132400c8c4bb67d9e3b89d54b632', dir: this.rtl ? 'rtl' : 'ltr', onPaste: this.handlePaste, class: { 'is-sideload': this.variant === 'sideload' } }, this.variant === 'sideload' && (h("div", { key: 'dd3fe148a8860b4b9b1ef9e47358bdd46dd64a21', class: "fu-sideload-header" }, h("div", { key: '0f170379a0ea0c797a6c05819af167de7c2dafed', class: "fu-header-title-row" }, h("ui-icon", { key: '6b0b71f7e01651f33efaf6a2a3421367b71b47cc', name: "upload-cloud", library: "lucide", size: "24px", color: "var(--color-primary, #10b981)" }), h("h2", { key: 'a4330e9cb9973cdb61ed42f65dc5a374c371d8f2' }, this.headerTitle || 'Sideload Firmware'), h("ui-button", { key: '2dd90814fbaa9f636c1a0f24f126ab9b31583d66', variant: "ghost", size: "md", iconOnly: true, icon: "x", iconLibrary: "lucide", class: "fu-close-dialog" })), h("div", { key: '234c9679585087721a30df197ae8c0f3739b5c94', class: { 'fu-sideload-zone': true, 'is-dragging': this.isDragging }, onDragOver: (e) => { e.preventDefault(); this.isDragging = true; }, onDragLeave: () => (this.isDragging = false), onDrop: this.handleDrop, onClick: () => canAdd && this.inputRef?.click() }, h("ui-icon", { key: '303cf7a91a182a42aa288519ba933854ffe63b94', name: "upload", library: "lucide", size: "20px", color: "var(--color-primary, #10b981)" }), h("span", { key: 'd3c193b6e528ff43ce0f4ebd7959cfb0ae78b220' }, "Drop more files or ", h("strong", { key: '373cba75237e24b8b6a4e384129cf9543d5cf30e', class: "fu-browse-pill" }, "Browse"))))), this.variant === 'sideload' && hasFiles && (h("div", { key: 'e6b1e6370a769387ec8b75954e34847f93e37e05', class: "fu-file-list is-sideload-list" }, this.files.map((f, idx) => this.renderFileRow(f, idx, isUploading)))), this.variant === 'sideload' && (h("div", { key: 'f4d122874935aeff0dfee060c91d6299234cee5e', class: "fu-sideload-footer" }, h("div", { key: '4e98b7d2bf5fa02766414def762e070d378eb98e', class: "fu-footer-actions-left" }, this.files.some(f => f.status === 'error') && (h("ui-button", { key: 'a2cf99cb5992794930f97f559918a1ad02d05288', variant: "ghost", size: "md", label: "Clean Queue", icon: "trash-2", iconLibrary: "lucide", onClick: () => this.removeInvalidFiles() }))), h("div", { key: '5425b0d9c59a85e6113ab43ca1c03757bc78845b', class: "fu-footer-actions-right" }, h("ui-button", { key: 'c0ef12d4bd32b4eede664130f1cc662abbf1e83f', variant: "outline", label: "Cancel", onClick: () => this.clear() }), h("ui-button", { key: '293aac09dfda74ea69b8d8ea1082ad25786ca62f', variant: "primary", label: `Upload ${validFilesCount} files`, disabled: validFilesCount === 0 || isUploading, loading: isUploading, onClick: () => this.upload(), icon: "upload", iconLibrary: "lucide" })))), this.variant !== 'sideload' && (h("div", { key: 'ad83c062093c5992ca2f02e1b5bd11483e43f1fd' }, this.label && h("label", { key: '9b807a8af85d1fc282375a47d565b1a52d31e207', class: "fu-label" }, this.label), this.variant === 'dropzone' && (h("div", { key: '376d617761e2d03b3fbed7a0fa27da05a6acd1f7', class: { 'fu-zone': true, 'fu-dragging': this.isDragging, 'fu-disabled': this.disabled, 'fu-zone-has-files': hasFiles }, onDragOver: (e) => { e.preventDefault(); this.isDragging = true; }, onDragLeave: () => (this.isDragging = false), onDrop: this.handleDrop, onClick: () => canAdd && this.inputRef?.click() }, h("div", { key: '7df435796b000ddc2af9590115ecd96d8c365bcc', class: "fu-zone-icon" }, this.renderUploadZoneIcon('40px')), h("div", { key: '9cd1d88570d13b1535286a5133aa673eb56473d8', class: "fu-zone-title" }, "Drag & drop files here"), h("div", { key: '82adc9f84981437ed9d1f619ad9f5b52be0a645b', class: "fu-zone-sub" }, "or ", h("span", { key: '0f1f65b55b58aca3eec0d8b3667c9ebeffdc29d3', class: "fu-zone-browse" }, "browse files")), h("div", { key: 'b9a9021442ec5bc8e3309a51cadd2af5cb193c08', class: "fu-zone-limit" }, this.accept && h("span", { key: '12217ab2c6ce5955f966ab627740aabf114484c8' }, "Accepts: ", this.accept), h("span", { key: '5ffd8530aed30321eff0c8e01c6104e2626e0476' }, "Max ", this.formatSize(this.maxSize), " \u00B7 Up to ", this.maxFiles, " files")), hasFiles && (h("div", { key: '4d155a2c4b6516743b7ee38d2ddcc5c20d3c1089', class: "fu-zone-queue-badge", onClick: (e) => { e.stopPropagation(); this.isQueueOpen = true; } }, h("ui-icon", { key: '4e9d11d3444c799a6c54efbe8c3ef894be451809', name: "layers", library: "lucide", size: "14px", color: "#10b981" }), h("span", { key: '8e52407087416f63933efb6288be0e8899f06391' }, this.files.length, " file", this.files.length !== 1 ? 's' : '', " queued"), h("span", { key: '374fbd52cbe323bea13a0749af95050030891dc4', class: "fu-zone-queue-view" }, "View Queue \u2192"))))), (this.variant === 'button' || this.variant === 'compact' || this.variant === 'inline') && (h("div", { key: 'c7b031b7b628d8972fd72ab903e5324f7946fc8c', class: "fu-trigger-row" }, this.variant === 'button' && (h("ui-button", { key: '25a4cdca35f3c1047683825991c36335fbc0166d', variant: "primary", onClick: () => canAdd && this.inputRef?.click(), disabled: this.disabled || isUploading, label: this.label || 'Select Files', icon: this.uploadIcon || 'upload-cloud', iconLibrary: "lucide" })), this.variant === 'compact' && (h("div", { key: '9eb1ef83a2814e814730e42c175b612cdc4f2cd8', class: { 'fu-compact': true, 'fu-disabled': this.disabled }, onClick: () => canAdd && this.inputRef?.click() }, h("span", { key: 'a68573fcfc5a820a46c9b8c832ffd4ceec155651', class: "fu-compact-icon" }, this.renderUploadZoneIcon('18px')), h("span", { key: '5f8c2a40cbceb3f6f10bbb4481284836e476975e', class: "fu-compact-text" }, this.label || 'Choose file'), h("span", { key: 'ae53043e7f6dbc27bc42bde8e2bf9d7870591718', class: "fu-compact-count" }, this.files.length, " / ", this.maxFiles))), this.variant === 'inline' && (h("button", { key: '49e94c27db6aa2b0a9eb56150abed00769a45ba2', class: { 'fu-inline-trigger': true, 'fu-inline-disabled': this.disabled, 'fu-inline-active': hasFiles }, disabled: this.disabled, onClick: () => canAdd && this.inputRef?.click(), type: "button", title: this.label || 'Upload files' }, h("span", { key: '148d06eb63c8df50ba268c5165fd12fb525c238e', class: "fu-inline-icon" }, this.renderUploadZoneIcon('16px')), h("span", { key: 'ba271f05d6d8e0b3c9419bc1e7bd367e0f7adf0d', class: "fu-inline-label" }, this.label || 'Upload files'), hasFiles && (h("span", { key: 'd7ad2159e8e33facc99edc0926d46939c2864fb4', class: "fu-inline-badge", onClick: (e) => { e.stopPropagation(); this.isQueueOpen = true; } }, this.files.length)))), hasFiles && this.variant !== 'inline' && (h("button", { key: 'bd4a50a142bac3d136c0de7221ce15fe078628fd', class: "fu-view-queue-btn", onClick: () => { this.isQueueOpen = true; } }, h("ui-icon", { key: '71083c82786b219595cf9d8b5738848da048c0b9', name: "layers", library: "lucide", size: "14px", color: "currentColor" }), this.files.length, " file", this.files.length !== 1 ? 's' : '', " queued")))), this.helperText && h("div", { key: 'ecc66b684f1e28a0f886faeee45b274b613f36a5', class: "fu-helper" }, this.helperText))), h("input", { key: '3e50fac523ae8a776f4468782a079d8a4206ac45', ref: el => {
501
+ this.inputRef = el;
502
+ if (el) {
503
+ if (this.directory) {
504
+ el.setAttribute('webkitdirectory', '');
505
+ }
506
+ else {
507
+ el.removeAttribute('webkitdirectory');
508
+ }
509
+ }
510
+ }, type: "file", class: "fu-input-hidden", accept: this.accept, multiple: this.multiple || this.directory, capture: this.capture === true ? 'environment' : (this.capture || undefined), onChange: this.handleFileInput }), this.renderQueueDialog(), this.renderPreviewDialog()));
412
511
  }
413
512
  };
414
513
  FileUpload.style = fileUploadCss();
@@ -1,6 +1,6 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-DUsoYu9r.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-Dqu2zaH1.js';
2
2
 
3
- const horizontalNavCss = () => `.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%}.horizontal-nav-container{position:relative;display:flex;align-items:center;width:100%}.horizontal-nav-container.scrollable .horizontal-nav{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.horizontal-nav-container.scrollable .horizontal-nav::-webkit-scrollbar{display:none}.horizontal-nav{display:flex;width:100%;background-color:#ffffff;border-radius:8px;padding:4px}.nav-list{display:flex;list-style:none;margin:0;padding:0;gap:4px;width:100%}.horizontal-nav.full-width .nav-list{flex:1}.horizontal-nav.full-width .nav-list-item{flex:1}.horizontal-nav.full-width .nav-item{width:100%;justify-content:center}.horizontal-nav.align-start .nav-list{justify-content:flex-start}.horizontal-nav.align-center .nav-list{justify-content:center}.horizontal-nav.align-end .nav-list{justify-content:flex-end}.horizontal-nav.align-space-between .nav-list{justify-content:space-between}.nav-list-item{display:flex}.nav-item{display:flex;align-items:center;gap:8px;padding:8px 16px;background:none;border:none;border-radius:6px;color:#64748b;text-decoration:none;font-weight:500;cursor:pointer;transition:all 0.2s ease;white-space:nowrap;font-size:14px;position:relative}.horizontal-nav.size-sm .nav-item{padding:6px 12px;font-size:12px;gap:6px}.horizontal-nav.size-md .nav-item{padding:8px 16px;font-size:14px;gap:8px}.horizontal-nav.size-lg .nav-item{padding:10px 20px;font-size:16px;gap:10px}.horizontal-nav.variant-default .nav-item:hover:not(.disabled):not(.active){background-color:#f1f5f9;color:#475569}.horizontal-nav.variant-default .nav-item.active{background-color:#eff6ff;color:#3b82f6}.horizontal-nav.variant-pills .nav-item{border-radius:20px}.horizontal-nav.variant-pills .nav-item:hover:not(.disabled):not(.active){background-color:#f1f5f9;color:#475569}.horizontal-nav.variant-pills .nav-item.active{background-color:#3b82f6;color:white}.horizontal-nav.variant-underline{background-color:transparent;border-bottom:1px solid #e2e8f0;border-radius:0;padding:0}.horizontal-nav.variant-underline .nav-item{border-radius:0;padding-bottom:12px;margin-bottom:-1px}.horizontal-nav.variant-underline .nav-item::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background-color:transparent;transition:background-color 0.2s ease}.horizontal-nav.variant-underline .nav-item:hover:not(.disabled):not(.active){color:#475569}.horizontal-nav.variant-underline .nav-item:hover:not(.disabled):not(.active)::after{background-color:#cbd5e1}.horizontal-nav.variant-underline .nav-item.active{color:#3b82f6}.horizontal-nav.variant-underline .nav-item.active::after{background-color:#3b82f6}.horizontal-nav.variant-segmented{background-color:#f1f5f9;border-radius:8px;padding:4px}.horizontal-nav.variant-segmented .nav-item{background-color:transparent}.horizontal-nav.variant-segmented .nav-item:hover:not(.disabled):not(.active){background-color:rgba(255, 255, 255, 0.5)}.horizontal-nav.variant-segmented .nav-item.active{background-color:white;color:#1e293b;box-shadow:0 1px 3px rgba(0, 0, 0, 0.1)}.nav-item.disabled{opacity:0.4;cursor:not-allowed}.nav-item-content{display:flex;align-items:center;gap:inherit}.nav-icon{display:inline-flex;align-items:center;font-size:1.1em;line-height:1}.nav-icon svg{width:1em;height:1em;fill:currentColor}.nav-label{line-height:1}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;background-color:#ef4444;color:white;font-size:11px;font-weight:600;border-radius:10px;line-height:1}.nav-item.active .nav-badge{background-color:#dc2626}.horizontal-nav.with-divider .nav-list-item:not(:last-child)::after{content:"";width:1px;height:20px;background-color:#e2e8f0;margin:auto 4px}.scroll-button{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:white;border:1px solid #e2e8f0;border-radius:50%;cursor:pointer;z-index:10;box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);transition:all 0.2s ease}.scroll-button:hover{background-color:#f8fafc;border-color:#cbd5e1}.scroll-button.left{left:4px}.scroll-button.right{right:4px}.scroll-button svg{width:16px;height:16px;color:#64748b}.horizontal-nav.display-list{padding:0;background:transparent}.horizontal-nav.display-list .nav-list{flex-direction:column;gap:0}.horizontal-nav.display-list .nav-list-item{width:100%;border-bottom:1px solid #e5e7eb}.horizontal-nav.display-list .nav-list-item:last-child{border-bottom:none}.horizontal-nav.display-list .nav-item{width:100%;padding:12px 16px;border-radius:0;justify-content:flex-start;background-color:#ffffff}.horizontal-nav.display-list .nav-item:hover{background-color:#f9fafb}.horizontal-nav.display-list .nav-item.active{background-color:#eff6ff;border-left:3px solid #3b82f6;padding-left:13px}.horizontal-nav.display-list.variant-pills .nav-item,.horizontal-nav.display-list.variant-underline .nav-item,.horizontal-nav.display-list.variant-segmented .nav-item{border-radius:0}.horizontal-nav.display-list.variant-pills .nav-item.active{background-color:#eff6ff}.horizontal-nav.display-list.size-sm .nav-item{padding:8px 12px}.horizontal-nav.display-list.size-sm .nav-item.active{padding-left:9px}.horizontal-nav.display-list.size-lg .nav-item{padding:16px 20px}.horizontal-nav.display-list.size-lg .nav-item.active{padding-left:17px}@media (max-width: 640px){.horizontal-nav.size-md .nav-item{padding:6px 12px;font-size:13px}.horizontal-nav.size-lg .nav-item{padding:8px 16px;font-size:14px}}`;
3
+ const horizontalNavCss = () => `.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%}.horizontal-nav-container{position:relative;display:flex;align-items:center;width:100%}.horizontal-nav-container.scrollable .horizontal-nav{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.horizontal-nav-container.scrollable .horizontal-nav::-webkit-scrollbar{display:none}.horizontal-nav{display:flex;width:100%;background-color:#ffffff;border-radius:8px;padding:4px}.nav-list{display:flex;list-style:none;margin:0;padding:0;gap:4px;width:100%}.horizontal-nav.full-width .nav-list{flex:1}.horizontal-nav.full-width .nav-list-item{flex:1}.horizontal-nav.full-width .nav-item{width:100%;justify-content:center}.horizontal-nav.align-start .nav-list{justify-content:flex-start}.horizontal-nav.align-center .nav-list{justify-content:center}.horizontal-nav.align-end .nav-list{justify-content:flex-end}.horizontal-nav.align-space-between .nav-list{justify-content:space-between}.nav-list-item{display:flex}.nav-item{display:flex;align-items:center;gap:8px;padding:8px 16px;background:none;border:none;border-radius:6px;color:#64748b;text-decoration:none;font-weight:500;cursor:pointer;transition:all 0.2s ease;white-space:nowrap;font-size:14px;position:relative}.horizontal-nav.size-sm .nav-item{padding:6px 12px;font-size:12px;gap:6px}.horizontal-nav.size-md .nav-item{padding:8px 16px;font-size:14px;gap:8px}.horizontal-nav.size-lg .nav-item{padding:10px 20px;font-size:16px;gap:10px}.horizontal-nav.variant-default .nav-item:hover:not(.disabled):not(.active){background-color:#f1f5f9;color:#475569}.horizontal-nav.variant-default .nav-item.active{background-color:var(--color-primary-subtle, rgba(59, 130, 246, 0.1));color:var(--color-primary, #3b82f6)}.horizontal-nav.variant-pills .nav-item{border-radius:20px}.horizontal-nav.variant-pills .nav-item:hover:not(.disabled):not(.active){background-color:#f1f5f9;color:#475569}.horizontal-nav.variant-pills .nav-item.active{background-color:var(--color-primary, #3b82f6);color:var(--text-inverse, white)}.horizontal-nav.variant-underline{background-color:transparent;border-bottom:1px solid #e2e8f0;border-radius:0;padding:0}.horizontal-nav.variant-underline .nav-item{border-radius:0;padding-bottom:12px;margin-bottom:-1px}.horizontal-nav.variant-underline .nav-item::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background-color:transparent;transition:background-color 0.2s ease}.horizontal-nav.variant-underline .nav-item:hover:not(.disabled):not(.active){color:#475569}.horizontal-nav.variant-underline .nav-item:hover:not(.disabled):not(.active)::after{background-color:#cbd5e1}.horizontal-nav.variant-underline .nav-item.active{color:var(--color-primary, #3b82f6)}.horizontal-nav.variant-underline .nav-item.active::after{background-color:var(--color-primary, #3b82f6)}.horizontal-nav.variant-segmented{background-color:#f1f5f9;border-radius:8px;padding:4px}.horizontal-nav.variant-segmented .nav-item{background-color:transparent}.horizontal-nav.variant-segmented .nav-item:hover:not(.disabled):not(.active){background-color:rgba(255, 255, 255, 0.5)}.horizontal-nav.variant-segmented .nav-item.active{background-color:white;color:#1e293b;box-shadow:0 1px 3px rgba(0, 0, 0, 0.1)}.nav-item.disabled{opacity:0.4;cursor:not-allowed}.nav-item-content{display:flex;align-items:center;gap:inherit}.nav-icon{display:inline-flex;align-items:center;font-size:1.1em;line-height:1}.nav-icon svg{width:1em;height:1em;fill:currentColor}.nav-label{line-height:1}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;background-color:#ef4444;color:white;font-size:11px;font-weight:600;border-radius:10px;line-height:1}.nav-item.active .nav-badge{background-color:#dc2626}.horizontal-nav.with-divider .nav-list-item:not(:last-child)::after{content:"";width:1px;height:20px;background-color:#e2e8f0;margin:auto 4px}.scroll-button{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:white;border:1px solid #e2e8f0;border-radius:50%;cursor:pointer;z-index:10;box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);transition:all 0.2s ease}.scroll-button:hover{background-color:#f8fafc;border-color:#cbd5e1}.scroll-button.left{left:4px}.scroll-button.right{right:4px}.scroll-button svg{width:16px;height:16px;color:#64748b}.horizontal-nav.display-list{padding:0;background:transparent}.horizontal-nav.display-list .nav-list{flex-direction:column;gap:0}.horizontal-nav.display-list .nav-list-item{width:100%;border-bottom:1px solid #e5e7eb}.horizontal-nav.display-list .nav-list-item:last-child{border-bottom:none}.horizontal-nav.display-list .nav-item{width:100%;padding:12px 16px;border-radius:0;justify-content:flex-start;background-color:#ffffff}.horizontal-nav.display-list .nav-item:hover{background-color:#f9fafb}.horizontal-nav.display-list .nav-item.active{background-color:var(--color-primary-subtle, rgba(59, 130, 246, 0.1));border-left:3px solid var(--color-primary, #3b82f6);padding-left:13px}.horizontal-nav.display-list.variant-pills .nav-item,.horizontal-nav.display-list.variant-underline .nav-item,.horizontal-nav.display-list.variant-segmented .nav-item{border-radius:0}.horizontal-nav.display-list.variant-pills .nav-item.active{background-color:var(--color-primary-subtle, rgba(59, 130, 246, 0.1))}.horizontal-nav.display-list.size-sm .nav-item{padding:8px 12px}.horizontal-nav.display-list.size-sm .nav-item.active{padding-left:9px}.horizontal-nav.display-list.size-lg .nav-item{padding:16px 20px}.horizontal-nav.display-list.size-lg .nav-item.active{padding-left:17px}@media (max-width: 640px){.horizontal-nav.size-md .nav-item{padding:6px 12px;font-size:13px}.horizontal-nav.size-lg .nav-item{padding:8px 16px;font-size:14px}}`;
4
4
 
5
5
  const HorizontalNav = class {
6
6
  constructor(hostRef) {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, a as getElement, h } from './index-DUsoYu9r.js';
1
+ import { r as registerInstance, c as createEvent, a as getElement, h } from './index-Dqu2zaH1.js';
2
2
 
3
3
  const knobCss = () => `.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:inline-block}.knob-wrapper{display:flex;flex-direction:column;align-items:center;gap:12px}.knob-container{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;user-select:none;touch-action:none;transition:transform 0.1s ease}.knob-container:hover:not(.disabled):not(.readonly){transform:scale(1.02)}.knob-container.dragging{cursor:grabbing;transform:scale(1.05)}.knob-container.disabled,.knob-container.readonly{cursor:not-allowed;opacity:0.5}.knob-svg{display:block;overflow:visible}.value-arc{filter:drop-shadow(0 2px 4px rgba(var(--color-primary-rgb, 59, 130, 246), 0.3));transition:stroke 0.2s ease}.knob-container:hover:not(.disabled):not(.readonly) .value-arc{filter:drop-shadow(0 3px 6px rgba(var(--color-primary-rgb, 59, 130, 246), 0.4))}.center-dot{filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1))}.indicator{transition:all 0.1s ease;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2))}.value-label{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);display:flex;align-items:baseline;gap:2px;pointer-events:none;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}.value-number{font-size:calc(var(--knob-size, 120px) * 0.2);font-weight:700;color:var(--text-primary, #1e293b);line-height:1}.value-suffix{font-size:calc(var(--knob-size, 120px) * 0.12);font-weight:600;color:var(--text-muted, #64748b);line-height:1}.min-max-labels{display:flex;justify-content:space-between;width:100%;font-size:12px;color:var(--text-muted, #64748b);font-weight:500;padding:0 8px}.min-label,.max-label{white-space:nowrap}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.8}}.knob-container.dragging .value-label{animation:pulse 0.3s ease-in-out}.knob-container:active:not(.disabled):not(.readonly){transform:scale(1.05)}.knob-container:focus-visible{outline:2px solid var(--color-primary, #10b981);outline-offset:4px;border-radius:50%}@media (max-width: 640px){.value-number{font-size:calc(var(--knob-size, 120px) * 0.18)}.value-suffix{font-size:calc(var(--knob-size, 120px) * 0.11)}.min-max-labels{font-size:11px}}`;
4
4