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
@@ -7,43 +7,53 @@ export function initProgressDemo() {
7
7
  <h2>Progress Indicators</h2>
8
8
  <div style="display: flex; gap: 8px;">
9
9
  <span style="padding: 4px 8px; background: #e0f2fe; color: #075985; border-radius: 4px; font-size: 11px; font-weight: 600;">NEW</span>
10
- <span style="padding: 4px 8px; background: #dcfce7; color: #166534; border-radius: 4px; font-size: 11px; font-weight: 600;">PREMIUM</span>
10
+ <span style="padding: 4px 8px; background:var(--accent-green-soft,#dcfce7); color: var(--accent-green,#166534); border-radius: 4px; font-size: 11px; font-weight: 600;">PREMIUM</span>
11
11
  </div>
12
12
  </div>
13
13
 
14
- <p style="color: #64748b; font-size: 15px; margin-bottom: 30px; line-height: 1.6;">
14
+ <p style="color:var(--text-secondary,#64748b); font-size: 15px; margin-bottom: 30px; line-height: 1.6;">
15
15
  Dynamic progress indicators including line, circle, and dashboard types with support for steppers, multi-segmented bars, and premium animations.
16
16
  </p>
17
17
 
18
18
  <div class="demo-controls" style="margin: 20px 0; display: flex; gap: 10px; flex-wrap: wrap;">
19
- <ui-button onclick="showProgressPlayground()" variant="outline">🎮 Playground</ui-button>
20
- <ui-button onclick="showProgressBasics()" variant="outline">Line Progress</ui-button>
21
- <ui-button onclick="showProgressCircular()" variant="outline">Circular & Dashboard</ui-button>
22
- <ui-button onclick="showProgressPremium()" variant="outline">✨ Premium Effects</ui-button>
23
- <ui-button onclick="showProgressAdvanced()" variant="outline">Advanced Features</ui-button>
24
- <ui-button onclick="showProgressIndustrial()" variant="outline">🛡️ Industrial Monitoring</ui-button>
25
- <ui-button onclick="showProgressInteractive()" variant="outline">🕹️ Control Suite</ui-button>
26
- <ui-button onclick="showProgressVertical()" variant="outline">↕️ Vertical Racks</ui-button>
19
+ <ui-button onclick="showProgressPlayground()" data-demo="playground" variant="outline">🎮 Playground</ui-button>
20
+ <ui-button onclick="showProgressLifecycles()" data-demo="lifecycles" variant="outline">🔄 Lifecycle Statuses</ui-button>
21
+ <ui-button onclick="showProgressScanning()" data-demo="scanning" variant="outline">🔍 Device Scanner</ui-button>
22
+ <ui-button onclick="showProgressBasics()" data-demo="basics" variant="outline">Line Progress</ui-button>
23
+ <ui-button onclick="showProgressCircular()" data-demo="circular" variant="outline">Circular & Dashboard</ui-button>
24
+ <ui-button onclick="showProgressPremium()" data-demo="premium" variant="outline">✨ Premium Effects</ui-button>
25
+ <ui-button onclick="showProgressAdvanced()" data-demo="advanced" variant="outline">Advanced Features</ui-button>
26
+ <ui-button onclick="showProgressIndustrial()" data-demo="industrial" variant="outline">🛡️ Industrial Monitoring</ui-button>
27
+ <ui-button onclick="showProgressInteractive()" data-demo="interactive" variant="outline">🕹️ Control Suite</ui-button>
28
+ <ui-button onclick="showProgressVertical()" data-demo="vertical" variant="outline">↕️ Vertical Racks</ui-button>
29
+ <ui-button onclick="showProgressStatusBar()" data-demo="statusbar" variant="outline">🏷️ Status Bar</ui-button>
27
30
  </div>
28
31
 
29
- <div id="progressDemoContainer" style="margin-top: 40px; min-height: 400px; padding: 24px; background: #f8fafc; border-radius: 12px; border: 1px solid #e2e8f0;"></div>
32
+ <div id="progressDemoContainer" style="margin-top: 40px; min-height: 400px; padding: 24px; background:var(--bg-secondary,#f8fafc); border-radius: 12px; border:1px solid var(--border-default,#e2e8f0);"></div>
30
33
  `;
31
34
 
35
+ const updateProgressActiveBtn = demoName => {
36
+ section.querySelectorAll('.demo-controls ui-button').forEach(btn => {
37
+ btn.selected = btn.getAttribute('data-demo') === demoName;
38
+ });
39
+ };
40
+
32
41
  window.showProgressPlayground = function () {
42
+ updateProgressActiveBtn('playground');
33
43
  const container = document.getElementById('progressDemoContainer');
34
44
  container.innerHTML = `
35
45
  <div class="demo-block">
36
46
  <h3 style="margin-bottom: 20px;">🎮 Progress Playground</h3>
37
47
  <div style="display: grid; grid-template-columns: 320px 1fr; gap: 30px;">
38
48
  <!-- Controls -->
39
- <div style="background: white; padding: 24px; border-radius: 12px; border: 1px solid #e2e8f0; display: flex; flex-direction: column; gap: 16px;">
49
+ <div style="background:var(--bg-primary,white); padding: 24px; border-radius: 12px; border:1px solid var(--border-default,#e2e8f0); display: flex; flex-direction: column; gap: 16px;">
40
50
  <label style="display: flex; flex-direction: column; gap: 4px;">
41
- <span style="font-size: 12px; font-weight: 600; color: #64748b;">Percent (0-100)</span>
51
+ <span style="font-size: 12px; font-weight: 600; color:var(--text-secondary,#64748b);">Percent (0-100)</span>
42
52
  <ui-input type="range" id="progPercent" min="0" max="100" value="45" oninput="updateProgressPlayground()">
43
53
  </label>
44
54
 
45
55
  <label style="display: flex; flex-direction: column; gap: 4px;">
46
- <span style="font-size: 12px; font-weight: 600; color: #64748b;">Type</span>
56
+ <span style="font-size: 12px; font-weight: 600; color:var(--text-secondary,#64748b);">Type</span>
47
57
  <ui-dropdown id="progType" onchange="updateProgressPlayground()" style="padding: 8px; border-radius: 6px; border: 1px solid #cbd5e1;">
48
58
  <option value="line">Line (Default)</option>
49
59
  <option value="circle">Circle</option>
@@ -53,7 +63,7 @@ export function initProgressDemo() {
53
63
  </label>
54
64
 
55
65
  <label style="display: flex; flex-direction: column; gap: 4px;">
56
- <span style="font-size: 12px; font-weight: 600; color: #64748b;">Status</span>
66
+ <span style="font-size: 12px; font-weight: 600; color:var(--text-secondary,#64748b);">Status</span>
57
67
  <ui-dropdown id="progStatus" onchange="updateProgressPlayground()" style="padding: 8px; border-radius: 6px; border: 1px solid #cbd5e1;">
58
68
  <option value="default">Default</option>
59
69
  <option value="active">Active (Wavy)</option>
@@ -61,16 +71,20 @@ export function initProgressDemo() {
61
71
  <option value="exception">Exception (Red)</option>
62
72
  <option value="warning">Warning (Yellow)</option>
63
73
  <option value="danger">Danger (Vibrating)</option>
74
+ <option value="empty">Empty</option>
75
+ <option value="running">Running (Spinner)</option>
76
+ <option value="completed">Completed (Check)</option>
77
+ <option value="interrupted">Interrupted (Alert)</option>
64
78
  </ui-dropdown>
65
79
  </label>
66
80
 
67
81
  <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 10px;">
68
82
  <label style="display: flex; flex-direction: column; gap: 4px;">
69
- <span style="font-size: 12px; font-weight: 600; color: #64748b;">Stroke Width</span>
83
+ <span style="font-size: 12px; font-weight: 600; color:var(--text-secondary,#64748b);">Stroke Width</span>
70
84
  <ui-input type="number" id="progStrokeWidth" value="10" oninput="updateProgressPlayground()" style="padding: 8px; border-radius: 6px; border: 1px solid #cbd5e1;">
71
85
  </label>
72
86
  <label style="display: flex; flex-direction: column; gap: 4px;">
73
- <span style="font-size: 12px; font-weight: 600; color: #64748b;">Decimal</span>
87
+ <span style="font-size: 12px; font-weight: 600; color:var(--text-secondary,#64748b);">Decimal</span>
74
88
  <ui-input type="number" id="progDecimal" value="0" min="0" max="2" oninput="updateProgressPlayground()" style="padding: 8px; border-radius: 6px; border: 1px solid #cbd5e1;">
75
89
  </label>
76
90
  </div>
@@ -83,14 +97,14 @@ export function initProgressDemo() {
83
97
  </div>
84
98
 
85
99
  <label style="display: flex; flex-direction: column; gap: 4px;">
86
- <span style="font-size: 12px; font-weight: 600; color: #64748b;">Custom Data Label</span>
100
+ <span style="font-size: 12px; font-weight: 600; color:var(--text-secondary,#64748b);">Custom Data Label</span>
87
101
  <ui-input type="text" id="progDataLabels" placeholder="e.g. 5.2 GB" onInputChange="updateProgressPlayground()"></ui-input>
88
102
  </label>
89
103
  </div>
90
104
 
91
105
  <!-- Preview -->
92
106
  <div style="display: flex; flex-direction: column; gap: 20px;">
93
- <div id="progPreviewContainer" style="flex: 1; background: white; border-radius: 12px; border: 1px solid #e2e8f0; display: flex; align-items: center; justify-content: center; min-height: 250px;">
107
+ <div id="progPreviewContainer" style="flex: 1; background:var(--bg-primary,white); border-radius: 12px; border:1px solid var(--border-default,#e2e8f0); display: flex; align-items: center; justify-content: center; min-height: 250px;">
94
108
  <ui-progress percent="45"></ui-progress>
95
109
  </div>
96
110
  <div style="background: #1e293b; color: #e2e8f0; padding: 16px; border-radius: 8px; font-family: monospace; font-size: 13px; line-height: 1.5; white-space: pre-wrap;">
@@ -133,15 +147,154 @@ export function initProgressDemo() {
133
147
  code.innerText = `<ui-progress ${props}></ui-progress>`;
134
148
  };
135
149
 
150
+ window.showProgressLifecycles = function () {
151
+ updateProgressActiveBtn('lifecycles');
152
+ const container = document.getElementById('progressDemoContainer');
153
+ container.innerHTML = `
154
+ <div class="demo-block">
155
+ <h3 style="margin-bottom: 8px;">🔄 Lifecycle Status Monitoring</h3>
156
+ <p style="font-size: 14px; color:var(--text-secondary,#64748b); margin-bottom: 24px;">
157
+ Track system processes end-to-end using native status lifecycles: <code>empty</code>, <code>running</code>, <code>completed</code>, and <code>interrupted</code>.
158
+ </p>
159
+
160
+ <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin-bottom: 40px;">
161
+
162
+ <!-- Empty State -->
163
+ <div style="background:var(--bg-primary,white); border-radius: 12px; border:1px solid var(--border-default,#e2e8f0); padding: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);">
164
+ <h4 style="margin: 0 0 16px; font-size: 13px; color:var(--text-secondary,#64748b); display: flex; align-items: center; justify-content: space-between;">
165
+ <span>Empty State</span>
166
+ <span style="font-size: 10px; font-weight: bold; background:var(--bg-tertiary,#f1f5f9); color:var(--text-secondary,#64748b); padding: 2px 8px; border-radius: 10px; text-transform: uppercase;">Awaiting</span>
167
+ </h4>
168
+ <ui-progress percent="0" status="empty" stroke-width="12"></ui-progress>
169
+ <p style="font-size: 12px; color:var(--text-secondary,#64748b); margin-top: 12px; margin-bottom: 0;">Task queued, awaiting resource allocation.</p>
170
+ </div>
171
+
172
+ <!-- Running State -->
173
+ <div style="background:var(--bg-primary,white); border-radius: 12px; border:1px solid var(--border-default,#e2e8f0); padding: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);">
174
+ <h4 style="margin: 0 0 16px; font-size: 13px; color: #1890ff; display: flex; align-items: center; justify-content: space-between;">
175
+ <span>Running State</span>
176
+ <span style="font-size: 10px; font-weight: bold; background: #e0f2fe; color: #0369a1; padding: 2px 8px; border-radius: 10px; text-transform: uppercase;">Active</span>
177
+ </h4>
178
+ <ui-progress percent="45" status="running" stroke-width="12"></ui-progress>
179
+ <p style="font-size: 12px; color:var(--text-secondary,#64748b); margin-top: 12px; margin-bottom: 0;">Actively processing records. Wave pulse enabled.</p>
180
+ </div>
181
+
182
+ <!-- Completed State -->
183
+ <div style="background:var(--bg-primary,white); border-radius: 12px; border:1px solid var(--border-default,#e2e8f0); padding: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);">
184
+ <h4 style="margin: 0 0 16px; font-size: 13px; color: #52c41a; display: flex; align-items: center; justify-content: space-between;">
185
+ <span>Completed State</span>
186
+ <span style="font-size: 10px; font-weight: bold; background:var(--accent-green-soft,#dcfce7); color:var(--accent-green,#15803d); padding: 2px 8px; border-radius: 10px; text-transform: uppercase;">Success</span>
187
+ </h4>
188
+ <ui-progress percent="100" status="completed" stroke-width="12"></ui-progress>
189
+ <p style="font-size: 12px; color:var(--text-secondary,#64748b); margin-top: 12px; margin-bottom: 0;">Operation finished successfully. Output generated.</p>
190
+ </div>
191
+
192
+ <!-- Interrupted State -->
193
+ <div style="background:var(--bg-primary,white); border-radius: 12px; border:1px solid var(--border-default,#e2e8f0); padding: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);">
194
+ <h4 style="margin: 0 0 16px; font-size: 13px; color: #ff4d4f; display: flex; align-items: center; justify-content: space-between;">
195
+ <span>Interrupted State</span>
196
+ <span style="font-size: 10px; font-weight: bold; background:var(--accent-red-soft,#fef2f2); color:var(--accent-red,#b91c1c); padding: 2px 8px; border-radius: 10px; text-transform: uppercase;">Halted</span>
197
+ </h4>
198
+ <ui-progress percent="70" status="interrupted" stroke-width="12"></ui-progress>
199
+ <p style="font-size: 12px; color:var(--text-secondary,#64748b); margin-top: 12px; margin-bottom: 0;">Network loss detected. Thread execution suspended.</p>
200
+ </div>
201
+
202
+ </div>
203
+
204
+ <!-- Dynamic Process Lifecycle Simulator -->
205
+ <div style="background: var(--bg-primary, #ffffff); color: var(--text-primary, #0f172a); border: 1px solid var(--border-default, #e2e8f0); border-radius: 16px; padding: 32px; box-shadow: 0 10px 15px -3px rgba(15,23,42,0.08);">
206
+ <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px;">
207
+ <h4 style="margin: 0; font-size: 16px; font-weight: 600; letter-spacing: 0.02em;">⚡ Operation Lifecycle Simulator</h4>
208
+ <span id="lifecycleStateText" style="font-size: 11px; font-weight: bold; background: var(--bg-tertiary, #f1f5f9); color: var(--text-secondary, #64748b); border: 1px solid var(--border-default, #cbd5e1); padding: 6px 14px; border-radius: 20px; letter-spacing: 0.05em; text-transform: uppercase;">QUEUED</span>
209
+ </div>
210
+
211
+ <div style="background: var(--bg-secondary, #f8fafc); border: 1px solid var(--border-default, #e2e8f0); border-radius: 12px; padding: 24px; margin-bottom: 24px;">
212
+ <ui-progress id="lifecycleProgress" percent="0" status="empty" stroke-width="16" decimal-precision="1"></ui-progress>
213
+ </div>
214
+
215
+ <div style="display: flex; gap: 12px; flex-wrap: wrap;">
216
+ <ui-button id="btnLifecycleInit" onclick="handleLifecycleAction('init')" variant="outline" style="--ui-button-border-color: var(--border-default, #cbd5e1); --ui-button-color: var(--text-primary, #0f172a);">🔌 Queue (Empty)</ui-button>
217
+ <ui-button id="btnLifecycleStart" onclick="handleLifecycleAction('start')" variant="outline" style="--ui-button-border-color: rgba(var(--color-primary-rgb, 24, 144, 255), 0.28); --ui-button-color: var(--color-primary, #1d4ed8);">🚀 Start (Running)</ui-button>
218
+ <ui-button id="btnLifecycleInterrupt" onclick="handleLifecycleAction('interrupt')" variant="outline" style="--ui-button-border-color: rgba(var(--color-danger-rgb, 255, 77, 79), 0.28); --ui-button-color: var(--color-danger, #b91c1c);">🚫 Halt (Interrupt)</ui-button>
219
+ <ui-button id="btnLifecycleComplete" onclick="handleLifecycleAction('complete')" variant="outline" style="--ui-button-border-color: rgba(var(--color-success-rgb, 16, 185, 129), 0.28); --ui-button-color: var(--color-success, #15803d);">✨ Force Complete</ui-button>
220
+ </div>
221
+ </div>
222
+ </div>
223
+ `;
224
+
225
+ let simInterval = null;
226
+
227
+ window.handleLifecycleAction = function (action) {
228
+ const pBar = document.getElementById('lifecycleProgress');
229
+ const stateText = document.getElementById('lifecycleStateText');
230
+ if (!pBar || !stateText) return;
231
+
232
+ if (window.lifecycleInterval) {
233
+ clearInterval(window.lifecycleInterval);
234
+ window.lifecycleInterval = null;
235
+ }
236
+
237
+ if (action === 'init') {
238
+ pBar.percent = 0;
239
+ pBar.status = 'empty';
240
+ stateText.innerText = 'QUEUED';
241
+ stateText.style.background = 'var(--bg-tertiary, #f1f5f9)';
242
+ stateText.style.color = 'var(--text-secondary, #64748b)';
243
+ stateText.style.borderColor = 'var(--border-default, #cbd5e1)';
244
+ } else if (action === 'start') {
245
+ pBar.status = 'running';
246
+ stateText.innerText = 'RUNNING';
247
+ stateText.style.background = 'rgba(var(--color-primary-rgb, 24, 144, 255), 0.12)';
248
+ stateText.style.color = 'var(--color-primary, #1d4ed8)';
249
+ stateText.style.borderColor = 'rgba(var(--color-primary-rgb, 24, 144, 255), 0.24)';
250
+
251
+ let current = parseFloat(pBar.percent) || 0;
252
+ if (current >= 100) {
253
+ current = 0;
254
+ }
255
+
256
+ window.lifecycleInterval = setInterval(() => {
257
+ current += 1.2;
258
+ if (current < 100) {
259
+ pBar.percent = current.toFixed(1);
260
+ } else {
261
+ clearInterval(window.lifecycleInterval);
262
+ window.lifecycleInterval = null;
263
+ pBar.percent = 100;
264
+ pBar.status = 'completed';
265
+ stateText.innerText = 'COMPLETED';
266
+ stateText.style.background = 'rgba(var(--color-success-rgb, 16, 185, 129), 0.12)';
267
+ stateText.style.color = 'var(--color-success, #15803d)';
268
+ stateText.style.borderColor = 'rgba(var(--color-success-rgb, 16, 185, 129), 0.24)';
269
+ }
270
+ }, 100);
271
+ } else if (action === 'interrupt') {
272
+ pBar.status = 'interrupted';
273
+ stateText.innerText = 'INTERRUPTED';
274
+ stateText.style.background = 'rgba(var(--color-danger-rgb, 255, 77, 79), 0.12)';
275
+ stateText.style.color = 'var(--color-danger, #b91c1c)';
276
+ stateText.style.borderColor = 'rgba(var(--color-danger-rgb, 255, 77, 79), 0.24)';
277
+ } else if (action === 'complete') {
278
+ pBar.percent = 100;
279
+ pBar.status = 'completed';
280
+ stateText.innerText = 'COMPLETED';
281
+ stateText.style.background = 'rgba(var(--color-success-rgb, 16, 185, 129), 0.12)';
282
+ stateText.style.color = 'var(--color-success, #15803d)';
283
+ stateText.style.borderColor = 'rgba(var(--color-success-rgb, 16, 185, 129), 0.24)';
284
+ }
285
+ };
286
+ };
287
+
136
288
  window.showProgressBasics = function () {
289
+ updateProgressActiveBtn('basics');
137
290
  const container = document.getElementById('progressDemoContainer');
138
291
  container.innerHTML = `
139
292
  <div class="demo-block">
140
293
  <h3>Standard Progress Matrix</h3>
141
- <p style="font-size: 14px; color: #64748b; margin-bottom: 30px;">Every state. Every percent. Pure clarity.</p>
294
+ <p style="font-size: 14px; color:var(--text-secondary,#64748b); margin-bottom: 30px;">Every state. Every percent. Pure clarity.</p>
142
295
  <div style="display: flex; flex-direction: column; gap: 32px;">
143
- <div class="demo-card" style="background: white; padding: 24px; border-radius: 12px; border: 1px solid #e2e8f0;">
144
- <h4 style="margin: 0 0 16px; font-size: 13px; color: #94a3b8;">Status Hierarchy</h4>
296
+ <div class="demo-card" style="background:var(--bg-primary,white); padding: 24px; border-radius: 12px; border:1px solid var(--border-default,#e2e8f0);">
297
+ <h4 style="margin: 0 0 16px; font-size: 13px; color:var(--text-secondary,#64748b);">Status Hierarchy</h4>
145
298
  <div style="display: flex; flex-direction: column; gap: 20px;">
146
299
  <ui-progress percent="30" data-labels="Initialization (30%)"></ui-progress>
147
300
  <ui-progress percent="50" status="active" data-labels="Processing Data (50%)"></ui-progress>
@@ -151,8 +304,8 @@ export function initProgressDemo() {
151
304
  </div>
152
305
  </div>
153
306
 
154
- <div class="demo-card" style="background: white; padding: 24px; border-radius: 12px; border: 1px solid #e2e8f0;">
155
- <h4 style="margin: 0 0 16px; font-size: 13px; color: #94a3b8;">Stroke Variants</h4>
307
+ <div class="demo-card" style="background:var(--bg-primary,white); padding: 24px; border-radius: 12px; border:1px solid var(--border-default,#e2e8f0);">
308
+ <h4 style="margin: 0 0 16px; font-size: 13px; color:var(--text-secondary,#64748b);">Stroke Variants</h4>
156
309
  <div style="display: flex; flex-direction: column; gap: 24px;">
157
310
  <ui-progress percent="60" stroke-width="4" stroke-linecap="square"></ui-progress>
158
311
  <ui-progress percent="60" stroke-width="12" stroke-linecap="round"></ui-progress>
@@ -165,14 +318,15 @@ export function initProgressDemo() {
165
318
  };
166
319
 
167
320
  window.showProgressCircular = function () {
321
+ updateProgressActiveBtn('circular');
168
322
  const container = document.getElementById('progressDemoContainer');
169
323
  container.innerHTML = `
170
324
  <div class="demo-block">
171
325
  <h3 style="margin-bottom: 24px;">Circular & Dashboard Telemetry</h3>
172
326
  <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 32px;">
173
327
  <!-- 1. Gap Configurations -->
174
- <div style="background: white; border-radius: 16px; border: 1px solid #e2e8f0; padding: 32px;">
175
- <h4 style="margin: 0 0 24px; font-size: 13px; color: #94a3b8;">Polar Gap Positioning</h4>
328
+ <div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
329
+ <h4 style="margin: 0 0 24px; font-size: 13px; color:var(--text-secondary,#64748b);">Polar Gap Positioning</h4>
176
330
  <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 32px; justify-items: center;">
177
331
  <ui-progress type="dashboard" percent="75" gap-position="top" width="100" data-labels="TOP"></ui-progress>
178
332
  <ui-progress type="dashboard" percent="75" gap-position="bottom" width="100" data-labels="BOT"></ui-progress>
@@ -182,8 +336,8 @@ export function initProgressDemo() {
182
336
  </div>
183
337
 
184
338
  <!-- 2. Circular Dynamics -->
185
- <div style="background: white; border-radius: 16px; border: 1px solid #e2e8f0; padding: 32px;">
186
- <h4 style="margin: 0 0 24px; font-size: 13px; color: #94a3b8;">Density & Precision</h4>
339
+ <div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
340
+ <h4 style="margin: 0 0 24px; font-size: 13px; color:var(--text-secondary,#64748b);">Density & Precision</h4>
187
341
  <div style="display: flex; flex-direction: column; gap: 40px; align-items: center;">
188
342
  <div style="display: flex; gap: 40px; align-items: center;">
189
343
  <ui-progress type="circle" percent="45" width="80" size="md"roke-width="12"></ui-progress>
@@ -198,31 +352,32 @@ export function initProgressDemo() {
198
352
  };
199
353
 
200
354
  window.showProgressPremium = function () {
355
+ updateProgressActiveBtn('premium');
201
356
  const container = document.getElementById('progressDemoContainer');
202
357
  container.innerHTML = `
203
358
  <div class="demo-block">
204
359
  <h3 style="margin-bottom: 24px;">✨ Visual Masterclass: Premium Synthesis</h3>
205
360
  <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 32px;">
206
- <div style="background: white; border-radius: 16px; border: 1px solid #e2e8f0; padding: 32px;">
207
- <h4 style="margin: 0 0 20px; font-size: 13px; color: #94a3b8;">Liquid Wave Telemetry</h4>
361
+ <div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
362
+ <h4 style="margin: 0 0 20px; font-size: 13px; color:var(--text-secondary,#64748b);">Liquid Wave Telemetry</h4>
208
363
  <ui-progress percent="65" liquid="true" stroke-color="#10b981" stroke-width="20" data-labels="COOLANT LEVEL"></ui-progress>
209
364
  </div>
210
365
 
211
- <div style="background: #1e293b; border-radius: 16px; padding: 32px;">
212
- <h4 style="margin: 0 0 20px; font-size: 13px; color: #475569;">Glassmorphic System</h4>
213
- <ui-progress percent="50" glass="true" stroke-color="#10b981" trail-color="rgba(255,255,255,0.05)" stroke-width="20"></ui-progress>
366
+ <div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
367
+ <h4 style="margin: 0 0 20px; font-size: 13px; color:var(--text-secondary,#64748b);">Glassmorphic System</h4>
368
+ <ui-progress percent="50" glass="true" stroke-color="#10b981" stroke-width="20"></ui-progress>
214
369
  </div>
215
370
 
216
- <div style="background: white; border-radius: 16px; border: 1px solid #e2e8f0; padding: 32px;">
217
- <h4 style="margin: 0 0 20px; font-size: 13px; color: #94a3b8;">High-Energy Glow</h4>
371
+ <div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
372
+ <h4 style="margin: 0 0 20px; font-size: 13px; color:var(--text-secondary,#64748b);">High-Energy Glow</h4>
218
373
  <div style="display: flex; flex-direction: column; gap: 24px;">
219
374
  <ui-progress percent="80" glow="true" stroke-color="#f43f5e" status="danger"></ui-progress>
220
375
  <ui-progress percent="40" glow="true" stroke-color="#a855f7" vitality="true"></ui-progress>
221
376
  </div>
222
377
  </div>
223
378
 
224
- <div style="background: white; border-radius: 16px; border: 1px solid #e2e8f0; padding: 32px;">
225
- <h4 style="margin: 0 0 20px; font-size: 13px; color: #94a3b8;">Indeterminate Cycles</h4>
379
+ <div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
380
+ <h4 style="margin: 0 0 20px; font-size: 13px; color:var(--text-secondary,#64748b);">Indeterminate Cycles</h4>
226
381
  <div style="display: flex; gap: 40px; justify-content: center;">
227
382
  <ui-progress type="circle" indeterminate="true" width="80"></ui-progress>
228
383
  <ui-progress type="dashboard" indeterminate="true" width="80" stroke-color="#f59e0b"></ui-progress>
@@ -234,13 +389,14 @@ export function initProgressDemo() {
234
389
  };
235
390
 
236
391
  window.showProgressAdvanced = function () {
392
+ updateProgressActiveBtn('advanced');
237
393
  const container = document.getElementById('progressDemoContainer');
238
394
  container.innerHTML = `
239
395
  <div class="demo-block">
240
396
  <h3 style="margin-bottom: 24px;">Advanced Forensic Logic</h3>
241
397
  <div style="display: flex; flex-direction: column; gap: 32px;">
242
- <div style="background: white; border-radius: 16px; border: 1px solid #e2e8f0; padding: 32px;">
243
- <h4 style="margin: 0 0 20px; font-size: 13px; color: #94a3b8;">Scale Ticks & Numeric Precision</h4>
398
+ <div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
399
+ <h4 style="margin: 0 0 20px; font-size: 13px; color:var(--text-secondary,#64748b);">Scale Ticks & Numeric Precision</h4>
244
400
  <div style="display: flex; flex-direction: column; gap: 32px;">
245
401
  <ui-progress percent="45" ticks="10" stroke-width="16" data-labels="SENSOR_01: NOMINAL"></ui-progress>
246
402
  <ui-progress percent="82" ticks="5" stroke-width="16" stroke-color="#f59e0b" data-labels="THERMAL_READOUT: 82.0°C"></ui-progress>
@@ -248,22 +404,22 @@ export function initProgressDemo() {
248
404
  </div>
249
405
 
250
406
  <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 32px;">
251
- <div style="background: white; border-radius: 16px; border: 1px solid #e2e8f0; padding: 32px;">
252
- <h4 style="margin: 0 0 20px; font-size: 13px; color: #94a3b8;">Milestone Lifecycles</h4>
407
+ <div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
408
+ <h4 style="margin: 0 0 20px; font-size: 13px; color:var(--text-secondary,#64748b);">Milestone Lifecycles</h4>
253
409
  <ui-progress
254
410
  percent="65"
255
411
  stroke-width="16"
256
412
  milestones='[{"percent": 25, "label": "Dev"}, {"percent": 50, "label": "Test"}, {"percent": 75, "label": "Deploy"}]'
257
413
  ></ui-progress>
258
414
  </div>
259
- <div style="background: white; border-radius: 16px; border: 1px solid #e2e8f0; padding: 32px;">
260
- <h4 style="margin: 0 0 20px; font-size: 13px; color: #94a3b8;">Buffer & Success Ratios</h4>
415
+ <div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
416
+ <h4 style="margin: 0 0 20px; font-size: 13px; color:var(--text-secondary,#64748b);">Buffer & Success Ratios</h4>
261
417
  <ui-progress percent="85" show-buffer="true" buffer="95" success='{"percent": 40}' stroke-width="24" stroke-linecap="square"></ui-progress>
262
418
  </div>
263
419
  </div>
264
420
 
265
- <div style="background: white; border-radius: 16px; border: 1px solid #e2e8f0; padding: 32px;">
266
- <h4 style="margin: 0 0 20px; font-size: 13px; color: #94a3b8;">High-Fidelity Gradients</h4>
421
+ <div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 32px;">
422
+ <h4 style="margin: 0 0 20px; font-size: 13px; color:var(--text-secondary,#64748b);">High-Fidelity Gradients</h4>
267
423
  <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 32px;">
268
424
  <div style="display: flex; flex-direction: column; gap: 20px;">
269
425
  <ui-progress percent="90" stroke-color='{"from": "#10b981", "to": "#8b5cf6"}' stroke-width="12" data-labels="Ocean Gradient"></ui-progress>
@@ -282,18 +438,19 @@ export function initProgressDemo() {
282
438
  };
283
439
 
284
440
  window.showProgressIndustrial = function () {
441
+ updateProgressActiveBtn('industrial');
285
442
  const container = document.getElementById('progressDemoContainer');
286
443
  container.innerHTML = `
287
444
  <div class="demo-block">
288
445
  <h3 style="margin-bottom: 24px;">🛡️ Industrial Telemetry & Mission Control</h3>
289
- <p style="font-size: 14px; color: #64748b; margin-bottom: 30px;">
446
+ <p style="font-size: 14px; color:var(--text-secondary,#64748b); margin-bottom: 30px;">
290
447
  High-fidelity segmented monitoring with autonomous status evolution and forensic tracking.
291
448
  </p>
292
449
 
293
450
  <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 40px;">
294
451
  <!-- 1. Real-time Rack Monitor -->
295
- <div style="background: white; border-radius: 16px; border: 1px solid #e2e8f0; padding: 24px; box-shadow: 0 4px 12px rgba(0,0,0,0.05);">
296
- <h4 style="margin: 0 0 16px; font-size: 13px; text-transform: uppercase; letter-spacing: 0.1em; color: #94a3b8;">Rack #04 Status</h4>
452
+ <div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 24px; box-shadow: 0 4px 12px rgba(0,0,0,0.05);">
453
+ <h4 style="margin: 0 0 16px; font-size: 13px; text-transform: uppercase; letter-spacing: 0.1em; color:var(--text-secondary,#64748b);">Rack #04 Status</h4>
297
454
  <ui-progress
298
455
  id="industrialRack"
299
456
  type="industrial"
@@ -304,14 +461,14 @@ export function initProgressDemo() {
304
461
  thresholds='[{"percent": 80, "status": "danger"}, {"percent": 60, "status": "warning"}]'
305
462
  ></ui-progress>
306
463
  <div style="margin-top: 16px; display: flex; justify-content: space-between;">
307
- <ui-button onclick="updateIndPercent(-5)" style="background: #f1f5f9; border: 1px solid #cbd5e1; border-radius: 4px; padding: 4px 12px; font-size: 11px; cursor: pointer;">Decrease Load</ui-button>
308
- <ui-button onclick="updateIndPercent(5)" style="background: #1e293b; color: white; border: none; border-radius: 4px; padding: 4px 12px; font-size: 11px; cursor: pointer;">Increase Load</ui-button>
464
+ <ui-button onclick="updateIndPercent(-5)">Decrease Load</ui-button>
465
+ <ui-button onclick="updateIndPercent(5)" >Increase Load</ui-button>
309
466
  </div>
310
467
  </div>
311
468
 
312
469
  <!-- 2. Memory Forensics -->
313
- <div style="background: white; border-radius: 16px; border: 1px solid #e2e8f0; padding: 24px; box-shadow: 0 4px 12px rgba(0,0,0,0.05);">
314
- <h4 style="margin: 0 0 16px; font-size: 13px; text-transform: uppercase; letter-spacing: 0.1em; color: #94a3b8;">Memory Peak Tracker</h4>
470
+ <div style="background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0); padding: 24px; box-shadow: 0 4px 12px rgba(0,0,0,0.05);">
471
+ <h4 style="margin: 0 0 16px; font-size: 13px; text-transform: uppercase; letter-spacing: 0.1em; color:var(--text-secondary,#64748b);">Memory Peak Tracker</h4>
315
472
  <ui-progress
316
473
  id="memoryForensics"
317
474
  type="line"
@@ -320,15 +477,15 @@ export function initProgressDemo() {
320
477
  stroke-color="#10b981"
321
478
  data-labels="6.4 GB / 32 GB"
322
479
  ></ui-progress>
323
- <p style="font-size: 11px; color: #94a3b8; margin-top: 12px;">The blue marker tracks the maximum load reached this session.</p>
480
+ <p style="font-size: 11px; color:var(--text-secondary,#64748b); margin-top: 12px;">The blue marker tracks the maximum load reached this session.</p>
324
481
  </div>
325
482
  </div>
326
483
 
327
484
  <!-- 3. Stress Test Center -->
328
- <div style="margin-top: 40px; background: #0f172a; border-radius: 16px; padding: 32px; color: white;">
485
+ <div style="margin-top: 40px; background: var(--bg-primary, white); border: 1px solid var(--border-default, #e2e8f0); border-radius: 16px; padding: 32px; color: var(--text-primary, #0f172a);">
329
486
  <h4 style="margin: 0 0 20px; font-size: 15px; display: flex; align-items: center; gap: 8px;">
330
487
  ⚡ Thermal Stress Simulator
331
- <span id="stressStatus" style="font-size: 11px; background: #334155; padding: 4px 10px; border-radius: 20px;">NOMINAL</span>
488
+ <span id="stressStatus" style="font-size: 11px; background: var(--bg-tertiary, #f1f5f9); color: var(--text-secondary, #64748b); border: 1px solid var(--border-default, #cbd5e1); padding: 4px 10px; border-radius: 20px;">NOMINAL</span>
332
489
  </h4>
333
490
  <ui-progress
334
491
  id="stressTest"
@@ -339,7 +496,7 @@ export function initProgressDemo() {
339
496
  vitality="true"
340
497
  thresholds='[{"percent": 85, "status": "danger"}, {"percent": 70, "status": "warning"}]'
341
498
  ></ui-progress>
342
- <ui-button onclick="startStressTest()" style="margin-top: 24px; width: 100%; padding: 12px; background: #ef4444; border: none; border-radius: 8px; font-weight: 700; color: white; cursor: pointer;">START THERMAL RAMP</ui-button>
499
+ <ui-button onclick="startStressTest()" style="margin-top: 24px; width: 100%; padding: 12px; background: var(--accent-red,#ef4444); border: none; border-radius: 8px; font-weight: 700; color: white; cursor: pointer;">START THERMAL RAMP</ui-button>
343
500
  </div>
344
501
  </div>
345
502
  `;
@@ -362,11 +519,15 @@ export function initProgressDemo() {
362
519
  el.percent = current;
363
520
  if (current >= 70 && current < 85) {
364
521
  status.innerText = 'WARNING';
365
- status.style.background = '#854d0e';
522
+ status.style.background = 'rgba(var(--color-warning-rgb, 245, 158, 11), 0.12)';
523
+ status.style.color = 'var(--color-warning, #b45309)';
524
+ status.style.borderColor = 'rgba(var(--color-warning-rgb, 245, 158, 11), 0.24)';
366
525
  }
367
526
  if (current >= 85) {
368
527
  status.innerText = 'CRITICAL THERMAL PRESSURE';
369
- status.style.background = '#991b1b';
528
+ status.style.background = 'rgba(var(--color-danger-rgb, 255, 77, 79), 0.12)';
529
+ status.style.color = 'var(--color-danger, #b91c1c)';
530
+ status.style.borderColor = 'rgba(var(--color-danger-rgb, 255, 77, 79), 0.24)';
370
531
  }
371
532
  if (current >= 100) {
372
533
  clearInterval(interval);
@@ -387,15 +548,16 @@ export function initProgressDemo() {
387
548
  };
388
549
 
389
550
  window.showProgressInteractive = function () {
551
+ updateProgressActiveBtn('interactive');
390
552
  const container = document.getElementById('progressDemoContainer');
391
553
  container.innerHTML = `
392
554
  <div class="demo-block">
393
555
  <h3 style="margin-bottom: 24px;">🕹️ Control Suite: Reactive Scripting</h3>
394
- <p style="font-size: 14px; color: #64748b; margin-bottom: 30px;">
556
+ <p style="font-size: 14px; color:var(--text-secondary,#64748b); margin-bottom: 30px;">
395
557
  Dynamic progress bars converted into primary system configuration controls via the <code>interactive</code> prop.
396
558
  </p>
397
559
 
398
- <div style="background: white; border-radius: 16px; padding: 40px; border: 1px solid #e2e8f0; display: flex; flex-direction: column; gap: 40px;">
560
+ <div style="background:var(--bg-primary,white); border-radius: 16px; padding: 40px; border:1px solid var(--border-default,#e2e8f0); display: flex; flex-direction: column; gap: 40px;">
399
561
  <div>
400
562
  <div style="display: flex; justify-content: space-between; margin-bottom: 8px;">
401
563
  <label style="font-weight: 600; font-size: 13px;">Manual Fan Speed Configuration</label>
@@ -444,11 +606,12 @@ export function initProgressDemo() {
444
606
  };
445
607
 
446
608
  window.showProgressVertical = function () {
609
+ updateProgressActiveBtn('vertical');
447
610
  const container = document.getElementById('progressDemoContainer');
448
611
  container.innerHTML = `
449
612
  <div class="demo-block">
450
613
  <h3 style="margin-bottom: 24px;">↕️ High-Density Vertical Racks</h3>
451
- <div style="display: flex; gap: 40px; justify-content: center; height: 350px; padding: 40px; background: white; border-radius: 16px; border: 1px solid #e2e8f0;">
614
+ <div style="display: flex; gap: 40px; justify-content: center; height: 350px; padding: 40px; background:var(--bg-primary,white); border-radius: 16px; border:1px solid var(--border-default,#e2e8f0);">
452
615
  <ui-progress orientation="vertical" percent="80" height="100%" stroke-width="24" stroke-color="#f43f5e" vitality="true" glow="true" data-labels="THERMAL"></ui-progress>
453
616
  <ui-progress orientation="vertical" percent="60" height="100%" stroke-width="24" stroke-color="#10b981" ticks="20" data-labels="NETWORK"></ui-progress>
454
617
  <ui-progress orientation="vertical" percent="40" height="100%" stroke-width="24" stroke-color="#10b981" type="industrial" data-labels="POWER"></ui-progress>
@@ -458,5 +621,549 @@ export function initProgressDemo() {
458
621
  `;
459
622
  };
460
623
 
624
+ window.showProgressScanning = function () {
625
+ updateProgressActiveBtn('scanning');
626
+ const container = document.getElementById('progressDemoContainer');
627
+ container.innerHTML = `
628
+ <div class="demo-block" style="font-family: inherit;">
629
+ <div style="display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px;">
630
+ <div>
631
+ <h3 style="margin: 0; font-size: 20px; font-weight: 700; color:var(--text-primary,#0f172a);">🔍 Cybernetic Device Scanner</h3>
632
+ <p style="margin: 4px 0 0; font-size: 14px; color:var(--text-secondary,#64748b);">Automated sector, memory, and threat scanning telemetry.</p>
633
+ </div>
634
+ <span id="scanStatusBadge" style="font-size: 11px; font-weight: 700; background:var(--bg-tertiary,#f1f5f9); color:var(--text-secondary,#64748b); padding: 4px 12px; border-radius: 20px; text-transform: uppercase; letter-spacing: 0.05em;">AWAITING COMMAND</span>
635
+ </div>
636
+
637
+ <div style="display: grid; grid-template-columns: 280px 1fr; gap: 32px; margin-bottom: 32px;">
638
+ <!-- Left Panel: Dial & Actions -->
639
+ <div style="background:var(--bg-primary,white); border:1px solid var(--border-default,#e2e8f0); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; align-items: center; gap: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);">
640
+ <div style="position: relative; width: 160px; height: 160px; display: flex; align-items: center; justify-content: center;">
641
+ <ui-progress
642
+ id="scanCircularProgress"
643
+ type="dashboard"
644
+ percent="0"
645
+ stroke-width="12"
646
+ stroke-color='{"from": "#3b82f6", "to": "#10b981"}'
647
+ gap-position="bottom"
648
+ width="160"
649
+ glow="true"
650
+ liquid="true"
651
+ status="empty"
652
+ ></ui-progress>
653
+ </div>
654
+
655
+ <!-- Scanning Controls -->
656
+ <div style="display: flex; flex-direction: column; width: 100%; gap: 10px; margin-top: 10px;">
657
+ <ui-button id="btnStartScan" onclick="handleScanAction('start')" variant="primary" style="width: 100%;">⚡ Start Full Scan</ui-button>
658
+ <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 8px;">
659
+ <ui-button id="btnPauseScan" onclick="handleScanAction('pause')" variant="outline" style="font-size: 12px;">⏸️ Pause</ui-button>
660
+ <ui-button id="btnHaltScan" onclick="handleScanAction('halt')" variant="outline" style="font-size: 12px; --ui-button-color:var(--accent-red,#ef4444); --ui-button-border-color: #fecaca;">🚫 Abort</ui-button>
661
+ </div>
662
+ <ui-button id="btnResetScan" onclick="handleScanAction('reset')" variant="ghost" style="width: 100%; font-size: 12px;">🔄 Reset Console</ui-button>
663
+ </div>
664
+ </div>
665
+
666
+ <!-- Right Panel: Live Logs & Telemetry -->
667
+ <div style="display: flex; flex-direction: column; gap: 20px;">
668
+ <!-- Telemetry Cards -->
669
+ <div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;">
670
+ <div style="background:var(--bg-primary,white); border:1px solid var(--border-default,#e2e8f0); padding: 16px; border-radius: 12px; text-align: center;">
671
+ <span style="font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; color:var(--text-secondary,#64748b); font-weight: 600;">Sectors Checked</span>
672
+ <h4 id="sectorsCount" style="margin: 8px 0 0; font-size: 24px; font-weight: 800; color:var(--text-primary,#0f172a);">0</h4>
673
+ </div>
674
+ <div style="background:var(--bg-primary,white); border:1px solid var(--border-default,#e2e8f0); padding: 16px; border-radius: 12px; text-align: center;">
675
+ <span style="font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; color:var(--text-secondary,#64748b); font-weight: 600;">Threats Detected</span>
676
+ <h4 id="threatsCount" style="margin: 8px 0 0; font-size: 24px; font-weight: 800; color:var(--text-primary,#0f172a);">0</h4>
677
+ </div>
678
+ <div style="background:var(--bg-primary,white); border:1px solid var(--border-default,#e2e8f0); padding: 16px; border-radius: 12px; text-align: center;">
679
+ <span style="font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; color:var(--text-secondary,#64748b); font-weight: 600;">Scan Time</span>
680
+ <h4 id="elapsedScanTime" style="margin: 8px 0 0; font-size: 24px; font-weight: 800; color:var(--text-primary,#0f172a);">0.0s</h4>
681
+ </div>
682
+ </div>
683
+
684
+ <!-- Terminal Console Logs -->
685
+ <div style="background: #0f172a; color: #38bdf8; border-radius: 16px; padding: 20px; font-family: 'Courier New', Courier, monospace; font-size: 12px; height: 180px; overflow-y: auto; border: 1px solid #1e293b; box-shadow: inset 0 2px 8px rgba(0,0,0,0.5);" id="scanTerminalConsole">
686
+ <div style="color:var(--text-secondary,#64748b);">[SCAN ENGINE v4.2.1] INITIALIZED...</div>
687
+ <div style="color:var(--text-secondary,#64748b);">[CONSOLE] READY FOR HARDWARE RAMP...</div>
688
+ </div>
689
+ </div>
690
+ </div>
691
+
692
+ <!-- Linear Sub-System Feed -->
693
+ <div style="background:var(--bg-primary,white); border:1px solid var(--border-default,#e2e8f0); border-radius: 16px; padding: 24px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);">
694
+ <h4 style="margin: 0 0 16px; font-size: 13px; text-transform: uppercase; color:var(--text-secondary,#64748b); font-weight: 700; letter-spacing: 0.05em;">Memory Buffer Allocation Check</h4>
695
+ <ui-progress id="scanLinearBuffer" percent="0" status="empty" stroke-width="16" vitality="true"></ui-progress>
696
+ </div>
697
+ </div>
698
+ `;
699
+
700
+ // Active scan memory variables
701
+ if (window.scanInterval) {
702
+ clearInterval(window.scanInterval);
703
+ window.scanInterval = null;
704
+ }
705
+ window.scanTimeElapsed = 0;
706
+ window.scanSectors = 0;
707
+ window.scanThreats = 0;
708
+
709
+ const mockSectors = [
710
+ '/dev/disk0s1/System/Library/Kernels/kernel',
711
+ '/dev/disk0s1/System/Library/Extensions/AppleACPIPlatform.kext',
712
+ '/dev/disk0s1/System/Library/Extensions/AppleSMBIOS.kext',
713
+ '/dev/disk0s1/System/Library/Fonts/SF-Pro.ttf',
714
+ '/dev/disk0s1/usr/sbin/cron',
715
+ '/dev/disk0s1/usr/bin/security',
716
+ '/dev/disk0s1/private/var/log/system.log',
717
+ '/dev/disk0s1/Applications/CyberneticScanner.app',
718
+ '/Memory/Alloc/RAM_BLOCK_0x00FF34D',
719
+ '/Memory/Alloc/RAM_BLOCK_0x01AA87D',
720
+ '/Ports/TCP/Port-80-Listener',
721
+ '/Ports/TCP/Port-443-SecureGateway',
722
+ '/Ports/TCP/Port-8080-AltServer',
723
+ ];
724
+
725
+ window.handleScanAction = function (action) {
726
+ const circ = document.getElementById('scanCircularProgress');
727
+ const line = document.getElementById('scanLinearBuffer');
728
+ const statusBadge = document.getElementById('scanStatusBadge');
729
+ const term = document.getElementById('scanTerminalConsole');
730
+ const secCount = document.getElementById('sectorsCount');
731
+ const thCount = document.getElementById('threatsCount');
732
+ const timeCount = document.getElementById('elapsedScanTime');
733
+
734
+ if (!circ || !line || !statusBadge || !term) return;
735
+
736
+ const log = (msg, color = '#38bdf8') => {
737
+ const div = document.createElement('div');
738
+ div.style.color = color;
739
+ div.innerText = `[${new Date().toLocaleTimeString()}] ${msg}`;
740
+ term.appendChild(div);
741
+ term.scrollTop = term.scrollHeight;
742
+ };
743
+
744
+ if (action === 'start') {
745
+ if (window.scanInterval) return;
746
+
747
+ circ.status = 'running';
748
+ line.status = 'running';
749
+ statusBadge.innerText = 'RUNNING';
750
+ statusBadge.style.background = '#e0f2fe';
751
+ statusBadge.style.color = '#0369a1';
752
+ log('INITIATING FULL HARDWARE DEVICE SCAN...', '#10b981');
753
+
754
+ window.scanTimeStart = Date.now() - window.scanTimeElapsed;
755
+
756
+ window.scanInterval = setInterval(() => {
757
+ let current = parseFloat(circ.percent) || 0;
758
+ if (current < 100) {
759
+ current += 1.6;
760
+ if (current > 100) current = 100;
761
+
762
+ circ.percent = current.toFixed(1);
763
+ line.percent = current.toFixed(1);
764
+
765
+ // Update timer
766
+ window.scanTimeElapsed = Date.now() - window.scanTimeStart;
767
+ timeCount.innerText = (window.scanTimeElapsed / 1000).toFixed(1) + 's';
768
+
769
+ // Check mock sector files
770
+ window.scanSectors += Math.floor(Math.random() * 8) + 3;
771
+ secCount.innerText = window.scanSectors;
772
+
773
+ const randomFile = mockSectors[Math.floor(Math.random() * mockSectors.length)];
774
+ log(`CHECKING: ${randomFile}`);
775
+
776
+ // Mock threats detection at 40% and 80%
777
+ if (current >= 40 && window.scanThreats === 0) {
778
+ window.scanThreats = 1;
779
+ thCount.innerText = '1';
780
+ thCount.style.color = '#f59e0b';
781
+ circ.status = 'warning';
782
+ line.status = 'warning';
783
+ statusBadge.innerText = 'WARNING';
784
+ statusBadge.style.background = '#fef3c7';
785
+ statusBadge.style.color = '#b45309';
786
+ log('⚠️ SYSTEM WARNING: UNVERIFIED BUFFER DETECTED AT SECTOR 4!', '#f59e0b');
787
+ }
788
+
789
+ if (current >= 80 && window.scanThreats === 1) {
790
+ window.scanThreats = 2;
791
+ thCount.innerText = '2';
792
+ thCount.style.color = '#ef4444';
793
+ circ.status = 'interrupted';
794
+ line.status = 'interrupted';
795
+ statusBadge.innerText = 'SUSPECTED THREAT';
796
+ statusBadge.style.background = '#fef2f2';
797
+ statusBadge.style.color = '#b91c1c';
798
+ log('🚨 CRITICAL ALERT: CORRUPTED MALICIOUS THREAD IN RAM BLOCK!', '#ef4444');
799
+ }
800
+
801
+ } else {
802
+ clearInterval(window.scanInterval);
803
+ window.scanInterval = null;
804
+ circ.percent = 100;
805
+ line.percent = 100;
806
+
807
+ if (window.scanThreats > 0) {
808
+ circ.status = 'interrupted';
809
+ line.status = 'interrupted';
810
+ statusBadge.innerText = 'THREAT FOUND';
811
+ statusBadge.style.background = '#fef2f2';
812
+ statusBadge.style.color = '#b91c1c';
813
+ log('❌ SCAN COMPLETE: 2 CRITICAL THREATS SECURED. IMMEDIATE ACTION REQUIRED.', '#ef4444');
814
+ } else {
815
+ circ.status = 'completed';
816
+ line.status = 'completed';
817
+ statusBadge.innerText = 'COMPLETED';
818
+ statusBadge.style.background = '#dcfce7';
819
+ statusBadge.style.color = '#15803d';
820
+ log('✨ SCAN COMPLETE: DEVICE SECURE. ZERO THREATS DETECTED.', '#10b981');
821
+ }
822
+ }
823
+ }, 120);
824
+ } else if (action === 'pause') {
825
+ if (!window.scanInterval) return;
826
+ clearInterval(window.scanInterval);
827
+ window.scanInterval = null;
828
+
829
+ statusBadge.innerText = 'PAUSED';
830
+ statusBadge.style.background = '#f1f5f9';
831
+ statusBadge.style.color = '#475569';
832
+ log('SCAN SUSPENDED BY OPERATOR.', '#faad14');
833
+ } else if (action === 'halt') {
834
+ if (window.scanInterval) {
835
+ clearInterval(window.scanInterval);
836
+ window.scanInterval = null;
837
+ }
838
+ circ.status = 'interrupted';
839
+ line.status = 'interrupted';
840
+ statusBadge.innerText = 'ABORTED';
841
+ statusBadge.style.background = '#fef2f2';
842
+ statusBadge.style.color = '#b91c1c';
843
+ log('❌ CRITICAL: HARDWARE SCAN ABORTED IMMEDIATELY!', '#ef4444');
844
+ } else if (action === 'reset') {
845
+ if (window.scanInterval) {
846
+ clearInterval(window.scanInterval);
847
+ window.scanInterval = null;
848
+ }
849
+ circ.percent = 0;
850
+ circ.status = 'empty';
851
+ line.percent = 0;
852
+ line.status = 'empty';
853
+ window.scanTimeElapsed = 0;
854
+ window.scanSectors = 0;
855
+ window.scanThreats = 0;
856
+
857
+ secCount.innerText = '0';
858
+ thCount.innerText = '0';
859
+ thCount.style.color = '';
860
+ timeCount.innerText = '0.0s';
861
+ statusBadge.innerText = 'AWAITING COMMAND';
862
+ statusBadge.style.background = '';
863
+ statusBadge.style.color = '';
864
+
865
+ term.innerHTML = `
866
+ <div style="color:var(--text-secondary,#64748b);">[SCAN ENGINE v4.2.1] INITIALIZED...</div>
867
+ <div style="color:var(--text-secondary,#64748b);">[CONSOLE] READY FOR HARDWARE RAMP...</div>
868
+ `;
869
+ log('SCAN TELEMETRY CLEARED AND RESET.', '#64748b');
870
+ }
871
+ };
872
+ };
873
+
874
+ window.showProgressStatusBar = function () {
875
+ updateProgressActiveBtn('statusbar');
876
+ const container = document.getElementById('progressDemoContainer');
877
+ container.innerHTML = `
878
+ <div class="demo-block">
879
+ <h3 style="margin-bottom:6px;">🏷️ Status Bar Variant</h3>
880
+ <p style="font-size:13px; color:var(--text-secondary,#64748b); margin:0 0 28px; line-height:1.6;">Add <code>status-bar</code> to any <code>ui-progress</code> line bar. The status badge and percentage are derived automatically from <code>percent</code> and <code>status</code>. Use <code>status-bar-align</code> to position the label and <code>status-labels</code> to override any text.</p>
881
+
882
+ <!-- Custom labels showcase -->
883
+ <h4 style="font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-secondary,#64748b); margin:0 0 14px;">Custom Labels</h4>
884
+ <div style="display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; margin-bottom:36px;">
885
+
886
+ <div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
887
+ <span style="font-size:11px; font-weight:700; color:#cbd5e1; display:block; margin-bottom:10px;">Deploy pipeline labels</span>
888
+ <ui-progress percent="0" status-bar stroke-width="6"
889
+ status-labels='{"notStarted":"Queued","running":"Deploying","interrupted":"Rolled Back","completed":"Live"}'></ui-progress>
890
+ </div>
891
+
892
+ <div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
893
+ <span style="font-size:11px; font-weight:700; color:#cbd5e1; display:block; margin-bottom:10px;">File transfer labels</span>
894
+ <ui-progress percent="55" status-bar stroke-width="6" stroke-color="#3b82f6"
895
+ status-labels='{"notStarted":"Pending","running":"Uploading","interrupted":"Paused","completed":"Sent"}'></ui-progress>
896
+ </div>
897
+
898
+ <div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
899
+ <span style="font-size:11px; font-weight:700; color:#cbd5e1; display:block; margin-bottom:10px;">Partial override (running only)</span>
900
+ <ui-progress percent="72" status-bar stroke-width="6" stroke-color="#8b5cf6"
901
+ status-labels='{"running":"In Progress"}'></ui-progress>
902
+ </div>
903
+
904
+ <div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
905
+ <span style="font-size:11px; font-weight:700; color:#cbd5e1; display:block; margin-bottom:10px;">Interrupted — custom label</span>
906
+ <ui-progress percent="41" status="interrupted" status-bar stroke-width="6" stroke-color="#f59e0b"
907
+ status-labels='{"interrupted":"On Hold"}'></ui-progress>
908
+ </div>
909
+ </div>
910
+
911
+ <!-- Badge Alignment showcase -->
912
+ <h4 style="font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-secondary,#64748b); margin:0 0 14px;">Chip Alignment</h4>
913
+ <div style="display:flex; flex-direction:column; gap:12px; margin-bottom:36px;">
914
+
915
+ <div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
916
+ <span style="font-size:11px; font-weight:700; color:#cbd5e1; display:block; margin-bottom:10px;">LEFT (default) — chip anchored to left edge</span>
917
+ <ui-progress percent="60" status-bar status-bar-align="left" stroke-width="7" stroke-color="#3b82f6"></ui-progress>
918
+ </div>
919
+
920
+ <div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
921
+ <span style="font-size:11px; font-weight:700; color:#cbd5e1; display:block; margin-bottom:10px;">CENTER — chip centered on bar</span>
922
+ <ui-progress percent="60" status-bar status-bar-align="center" stroke-width="7" stroke-color="#8b5cf6"></ui-progress>
923
+ </div>
924
+
925
+ <div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
926
+ <span style="font-size:11px; font-weight:700; color:#cbd5e1; display:block; margin-bottom:10px;">RIGHT — chip anchored to right edge</span>
927
+ <ui-progress percent="60" status-bar status-bar-align="right" stroke-width="7" stroke-color="#22c55e"></ui-progress>
928
+ </div>
929
+ </div>
930
+
931
+ <!-- All 4 lifecycle states -->
932
+ <h4 style="font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-secondary,#64748b); margin:0 0 14px;">Lifecycle States</h4>
933
+ <div style="display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:14px; margin-bottom:36px;">
934
+
935
+ <div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
936
+ <ui-progress percent="0" status-bar stroke-width="6"></ui-progress>
937
+ </div>
938
+ <div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
939
+ <ui-progress percent="45" status-bar stroke-width="6" stroke-color="#3b82f6"></ui-progress>
940
+ </div>
941
+ <div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
942
+ <ui-progress percent="72" status="interrupted" status-bar stroke-width="6" stroke-color="#f59e0b"></ui-progress>
943
+ </div>
944
+ <div style="background:var(--bg-primary,white); padding:18px 20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
945
+ <ui-progress percent="100" status-bar stroke-width="6" stroke-color="#22c55e"></ui-progress>
946
+ </div>
947
+ </div>
948
+
949
+ <!-- Real-world context cards -->
950
+ <h4 style="font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-secondary,#64748b); margin:0 0 14px;">Real-World Usage</h4>
951
+ <div style="display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; margin-bottom:36px;">
952
+
953
+ <div style="background:var(--bg-primary,white); padding:20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
954
+ <div style="display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;">
955
+ <div>
956
+ <p style="margin:0; font-size:13px; font-weight:700; color:var(--text-primary,#0f172a);">CI/CD Pipeline</p>
957
+ <p style="margin:2px 0 0; font-size:11px; color:var(--text-secondary,#64748b);">main → production</p>
958
+ </div>
959
+ <span style="font-size:10px; font-weight:700; background:var(--accent-blue-soft,#eff6ff); color:var(--accent-blue,#3b82f6); padding:3px 8px; border-radius:20px;">DEPLOY</span>
960
+ </div>
961
+ <ui-progress percent="68" status-bar stroke-width="7" stroke-color="#3b82f6"></ui-progress>
962
+ </div>
963
+
964
+ <div style="background:var(--bg-primary,white); padding:20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
965
+ <div style="display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;">
966
+ <div>
967
+ <p style="margin:0; font-size:13px; font-weight:700; color:var(--text-primary,#0f172a);">File Upload</p>
968
+ <p style="margin:2px 0 0; font-size:11px; color:var(--text-secondary,#64748b);">design-assets-v3.zip</p>
969
+ </div>
970
+ <span style="font-size:10px; font-weight:700; background:var(--accent-green-soft,#f0fdf4); color:#16a34a; padding:3px 8px; border-radius:20px;">DONE</span>
971
+ </div>
972
+ <ui-progress percent="100" status-bar status-bar-align="right" stroke-width="7" stroke-color="#22c55e"></ui-progress>
973
+ </div>
974
+
975
+ <div style="background:var(--bg-primary,white); padding:20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
976
+ <div style="display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;">
977
+ <div>
978
+ <p style="margin:0; font-size:13px; font-weight:700; color:var(--text-primary,#0f172a);">Database Migration</p>
979
+ <p style="margin:2px 0 0; font-size:11px; color:var(--text-secondary,#64748b);">prod_db → replica_eu</p>
980
+ </div>
981
+ <span style="font-size:10px; font-weight:700; background:var(--accent-yellow-soft,#fffbeb); color:var(--accent-yellow,#d97706); padding:3px 8px; border-radius:20px;">PAUSED</span>
982
+ </div>
983
+ <ui-progress percent="41" status="interrupted" status-bar stroke-width="7" stroke-color="#f59e0b"></ui-progress>
984
+ </div>
985
+
986
+ <div style="background:var(--bg-primary,white); padding:20px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
987
+ <div style="display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;">
988
+ <div>
989
+ <p style="margin:0; font-size:13px; font-weight:700; color:var(--text-primary,#0f172a);">Scheduled Backup</p>
990
+ <p style="margin:2px 0 0; font-size:11px; color:var(--text-secondary,#64748b);">Starts at 03:00 UTC</p>
991
+ </div>
992
+ <span style="font-size:10px; font-weight:700; background:var(--bg-tertiary,#f1f5f9); color:var(--text-secondary,#64748b); padding:3px 8px; border-radius:20px;">QUEUED</span>
993
+ </div>
994
+ <ui-progress percent="0" status-bar status-bar-align="center" stroke-width="7"></ui-progress>
995
+ </div>
996
+ </div>
997
+
998
+ <!-- Interactive demo -->
999
+ <h4 style="font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-secondary,#64748b); margin:0 0 14px;">Interactive</h4>
1000
+ <div style="background:var(--bg-primary,white); padding:24px; border-radius:12px; border:1px solid var(--border-default,#e2e8f0);">
1001
+ <div style="display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:16px;">
1002
+ <label style="font-size:13px; font-weight:600; white-space:nowrap; color:var(--text-primary,#0f172a);">Progress: <span id="sb-val">0</span>%</label>
1003
+ <input type="range" id="sb-slider" min="0" max="100" value="0" style="flex:1; min-width:140px;">
1004
+ <ui-button id="sb-btn-interrupt" variant="outline" style="--ui-button-color:var(--accent-yellow,#d97706); --ui-button-border-color:#fde68a;">⛔ Interrupt</ui-button>
1005
+ <ui-button id="sb-btn-reset" variant="ghost">↺ Reset</ui-button>
1006
+ </div>
1007
+ <div style="display:flex; align-items:center; gap:8px; margin-bottom:16px;">
1008
+ <span style="font-size:12px; font-weight:600; color:var(--text-secondary,#64748b);">Align:</span>
1009
+ <button id="sb-align-left" data-align="left" style="padding:3px 12px; font-size:12px; font-weight:600; border-radius:6px; border:1.5px solid #3b82f6; background:var(--accent-blue-soft,#eff6ff); color:var(--accent-blue,#2563eb); cursor:pointer;">Left</button>
1010
+ <button id="sb-align-center" data-align="center" style="padding:3px 12px; font-size:12px; font-weight:600; border-radius:6px; border:1.5px solid #e2e8f0; background:var(--bg-secondary,#f8fafc); color:#475569; cursor:pointer;">Center</button>
1011
+ <button id="sb-align-right" data-align="right" style="padding:3px 12px; font-size:12px; font-weight:600; border-radius:6px; border:1.5px solid #e2e8f0; background:var(--bg-secondary,#f8fafc); color:#475569; cursor:pointer;">Right</button>
1012
+ </div>
1013
+ <!-- Position and Height controls -->
1014
+ <div style="display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-bottom:16px; padding:12px; background:var(--bg-secondary,#f8fafc); border-radius:8px; border:1px solid var(--border-default,#e2e8f0);">
1015
+ <div style="display:flex; align-items:center; gap:8px;">
1016
+ <span style="font-size:12px; font-weight:600; color:var(--text-secondary,#64748b);">Position:</span>
1017
+ <button id="sb-pos-inside" data-pos="inside" style="padding:3px 12px; font-size:12px; font-weight:600; border-radius:6px; border:1.5px solid #3b82f6; background:var(--accent-blue-soft,#eff6ff); color:var(--accent-blue,#2563eb); cursor:pointer;">Inside Bar</button>
1018
+ <button id="sb-pos-top" data-pos="top" style="padding:3px 12px; font-size:12px; font-weight:600; border-radius:6px; border:1.5px solid #e2e8f0; background:var(--bg-secondary,#f8fafc); color:#475569; cursor:pointer;">On Top</button>
1019
+ </div>
1020
+ <div style="display:flex; align-items:center; gap:8px; flex:1; min-width:200px;">
1021
+ <span style="font-size:12px; font-weight:600; color:var(--text-secondary,#64748b); white-space:nowrap;">Bar Height: <span id="sb-height-val">8</span>px</span>
1022
+ <input type="range" id="sb-height-slider" min="2" max="40" value="8" style="flex:1; cursor:pointer;">
1023
+ </div>
1024
+ </div>
1025
+ <!-- Custom label inputs -->
1026
+ <div style="display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; margin-bottom:20px; padding:16px; background:var(--bg-secondary,#f8fafc); border-radius:8px; border:1px solid var(--border-default,#e2e8f0);">
1027
+ <label style="display:flex; flex-direction:column; gap:4px; font-size:11px; font-weight:700; color:var(--text-secondary,#64748b); text-transform:uppercase; letter-spacing:.05em;">
1028
+ Not Started
1029
+ <input id="sb-lbl-notStarted" type="text" placeholder="Not Started" value="" style="padding:5px 8px; font-size:12px; border-radius:6px; border:1px solid var(--border-default,#e2e8f0); outline:none; background:var(--bg-primary,white);">
1030
+ </label>
1031
+ <label style="display:flex; flex-direction:column; gap:4px; font-size:11px; font-weight:700; color:var(--text-secondary,#64748b); text-transform:uppercase; letter-spacing:.05em;">
1032
+ Running
1033
+ <input id="sb-lbl-running" type="text" placeholder="Running" value="" style="padding:5px 8px; font-size:12px; border-radius:6px; border:1px solid var(--border-default,#e2e8f0); outline:none; background:var(--bg-primary,white);">
1034
+ </label>
1035
+ <label style="display:flex; flex-direction:column; gap:4px; font-size:11px; font-weight:700; color:var(--text-secondary,#64748b); text-transform:uppercase; letter-spacing:.05em;">
1036
+ Interrupted
1037
+ <input id="sb-lbl-interrupted" type="text" placeholder="Interrupted" value="" style="padding:5px 8px; font-size:12px; border-radius:6px; border:1px solid var(--border-default,#e2e8f0); outline:none; background:var(--bg-primary,white);">
1038
+ </label>
1039
+ <label style="display:flex; flex-direction:column; gap:4px; font-size:11px; font-weight:700; color:var(--text-secondary,#64748b); text-transform:uppercase; letter-spacing:.05em;">
1040
+ Completed
1041
+ <input id="sb-lbl-completed" type="text" placeholder="Completed" value="" style="padding:5px 8px; font-size:12px; border-radius:6px; border:1px solid var(--border-default,#e2e8f0); outline:none; background:var(--bg-primary,white);">
1042
+ </label>
1043
+ </div>
1044
+ <ui-progress id="sb-bar" percent="0" status-bar status-bar-align="left" stroke-width="8"></ui-progress>
1045
+ </div>
1046
+
1047
+ <!-- Usage snippet -->
1048
+ <h4 style="font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-secondary,#64748b); margin:28px 0 14px;">Usage</h4>
1049
+ <div style="background:#0f172a; border-radius:10px; padding:18px 22px; font-family:'Courier New',monospace; font-size:12px; line-height:1.9; color:#e2e8f0; overflow-x:auto;">
1050
+ <span style="color:var(--text-secondary,#64748b);">/* default labels (rendered inside, forces minimum 32px height) */</span><br>
1051
+ <span style="color:#7dd3fc;">&lt;ui-progress</span><span style="color:#86efac;"> percent</span><span style="color:#f8fafc;">="45"</span><span style="color:#86efac;"> status-bar</span><span style="color:#7dd3fc;">&gt;&lt;/ui-progress&gt;</span><br><br>
1052
+ <span style="color:var(--text-secondary,#64748b);">/* status bar on top (allows custom/reduced height via stroke-width) */</span><br>
1053
+ <span style="color:#7dd3fc;">&lt;ui-progress</span><span style="color:#86efac;"> percent</span><span style="color:#f8fafc;">="60"</span><span style="color:#86efac;"> status-bar</span><span style="color:#86efac;"> status-bar-position</span><span style="color:#f8fafc;">="top"</span><span style="color:#86efac;"> stroke-width</span><span style="color:#f8fafc;">="4"</span><span style="color:#7dd3fc;">&gt;&lt;/ui-progress&gt;</span><br><br>
1054
+ <span style="color:var(--text-secondary,#64748b);">/* custom all 4 labels */</span><br>
1055
+ <span style="color:#7dd3fc;">&lt;ui-progress</span><span style="color:#86efac;"> percent</span><span style="color:#f8fafc;">="55"</span><span style="color:#86efac;"> status-bar</span><br>
1056
+ &nbsp;&nbsp;<span style="color:#86efac;"> status-labels</span><span style="color:#f8fafc;">='{"notStarted":"Queued","running":"Uploading","interrupted":"Paused","completed":"Sent"}'</span><span style="color:#7dd3fc;">&gt;&lt;/ui-progress&gt;</span>
1057
+ </div>
1058
+ </div>
1059
+ `;
1060
+
1061
+ const bar = document.getElementById('sb-bar');
1062
+ const slider = document.getElementById('sb-slider');
1063
+ const valEl = document.getElementById('sb-val');
1064
+ const heightSlider = document.getElementById('sb-height-slider');
1065
+ const heightValEl = document.getElementById('sb-height-val');
1066
+ let interrupted = false;
1067
+
1068
+ function applyState(pct, isInterrupted) {
1069
+ valEl.textContent = pct;
1070
+ bar.setAttribute('percent', pct);
1071
+ if (isInterrupted) {
1072
+ bar.setAttribute('status', 'interrupted');
1073
+ bar.setAttribute('stroke-color', '#f59e0b');
1074
+ } else if (pct >= 100) {
1075
+ bar.setAttribute('status', 'completed');
1076
+ bar.setAttribute('stroke-color', '#22c55e');
1077
+ } else if (pct > 0) {
1078
+ bar.setAttribute('status', 'running');
1079
+ bar.setAttribute('stroke-color', '#3b82f6');
1080
+ } else {
1081
+ bar.removeAttribute('status');
1082
+ bar.setAttribute('stroke-color', '#94a3b8');
1083
+ }
1084
+ }
1085
+
1086
+ slider.addEventListener('input', e => {
1087
+ interrupted = false;
1088
+ applyState(+e.target.value, false);
1089
+ });
1090
+ document.getElementById('sb-btn-interrupt').addEventListener('click', () => {
1091
+ interrupted = true;
1092
+ applyState(+slider.value, true);
1093
+ });
1094
+ document.getElementById('sb-btn-reset').addEventListener('click', () => {
1095
+ interrupted = false;
1096
+ slider.value = 0;
1097
+ applyState(0, false);
1098
+
1099
+ // Reset height and position
1100
+ heightSlider.value = 8;
1101
+ heightValEl.textContent = 8;
1102
+ bar.setAttribute('stroke-width', 8);
1103
+ bar.removeAttribute('status-bar-position');
1104
+
1105
+ // Update position toggle buttons styles
1106
+ ['inside', 'top'].forEach(p => {
1107
+ const btn = document.getElementById(`sb-pos-${p}`);
1108
+ const active = p === 'inside';
1109
+ btn.style.borderColor = active ? '#3b82f6' : '#e2e8f0';
1110
+ btn.style.background = active ? '#eff6ff' : '#f8fafc';
1111
+ btn.style.color = active ? '#2563eb' : '#475569';
1112
+ });
1113
+ });
1114
+
1115
+ // Alignment toggle buttons
1116
+ ['left', 'center', 'right'].forEach(align => {
1117
+ document.getElementById(`sb-align-${align}`).addEventListener('click', () => {
1118
+ bar.setAttribute('status-bar-align', align);
1119
+ ['left', 'center', 'right'].forEach(a => {
1120
+ const btn = document.getElementById(`sb-align-${a}`);
1121
+ const active = a === align;
1122
+ btn.style.borderColor = active ? '#3b82f6' : '#e2e8f0';
1123
+ btn.style.background = active ? '#eff6ff' : '#f8fafc';
1124
+ btn.style.color = active ? '#2563eb' : '#475569';
1125
+ });
1126
+ });
1127
+ });
1128
+
1129
+ // Position toggle buttons
1130
+ ['inside', 'top'].forEach(pos => {
1131
+ document.getElementById(`sb-pos-${pos}`).addEventListener('click', () => {
1132
+ bar.setAttribute('status-bar-position', pos);
1133
+ ['inside', 'top'].forEach(p => {
1134
+ const btn = document.getElementById(`sb-pos-${p}`);
1135
+ const active = p === pos;
1136
+ btn.style.borderColor = active ? '#3b82f6' : '#e2e8f0';
1137
+ btn.style.background = active ? '#eff6ff' : '#f8fafc';
1138
+ btn.style.color = active ? '#2563eb' : '#475569';
1139
+ });
1140
+ });
1141
+ });
1142
+
1143
+ // Height slider
1144
+ heightSlider.addEventListener('input', e => {
1145
+ const val = e.target.value;
1146
+ heightValEl.textContent = val;
1147
+ bar.setAttribute('stroke-width', val);
1148
+ });
1149
+
1150
+ // Custom label inputs — update status-labels attribute live
1151
+ function syncLabels() {
1152
+ const labels = {};
1153
+ ['notStarted', 'running', 'interrupted', 'completed'].forEach(key => {
1154
+ const val = document.getElementById(`sb-lbl-${key}`)?.value.trim();
1155
+ if (val) labels[key] = val;
1156
+ });
1157
+ if (Object.keys(labels).length) {
1158
+ bar.setAttribute('status-labels', JSON.stringify(labels));
1159
+ } else {
1160
+ bar.removeAttribute('status-labels');
1161
+ }
1162
+ }
1163
+ ['notStarted', 'running', 'interrupted', 'completed'].forEach(key => {
1164
+ document.getElementById(`sb-lbl-${key}`)?.addEventListener('input', syncLabels);
1165
+ });
1166
+ };
1167
+
461
1168
  showProgressPlayground();
462
1169
  }