atomicuilibrary 0.0.1

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 (1108) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +111 -0
  3. package/dist/cjs/category-section.cjs.entry.js +30 -0
  4. package/dist/cjs/component-size-DsYFUZcz.js +29 -0
  5. package/dist/cjs/dom-oP1E4Rd3.js +267 -0
  6. package/dist/cjs/event-bus-B6M2f8CQ.js +23 -0
  7. package/dist/cjs/exploration-project-tailwind.cjs.js +24 -0
  8. package/dist/cjs/focus-trap-i9T6oXLc.js +139 -0
  9. package/dist/cjs/index-ClkOYpT8.js +2275 -0
  10. package/dist/cjs/index.cjs.js +260 -0
  11. package/dist/cjs/layout-manager.cjs.entry.js +616 -0
  12. package/dist/cjs/library-card.cjs.entry.js +63 -0
  13. package/dist/cjs/lm-container_2.cjs.entry.js +79 -0
  14. package/dist/cjs/lm-panel_3.cjs.entry.js +108 -0
  15. package/dist/cjs/loader.cjs.js +12 -0
  16. package/dist/cjs/my-component.cjs.entry.js +33 -0
  17. package/dist/cjs/my-step.cjs.entry.js +29 -0
  18. package/dist/cjs/nav-bar.cjs.entry.js +247 -0
  19. package/dist/cjs/security-E1JcwxGc.js +1547 -0
  20. package/dist/cjs/smart-step.cjs.entry.js +47 -0
  21. package/dist/cjs/timeline-item.cjs.entry.js +29 -0
  22. package/dist/cjs/ui-accordion_10.cjs.entry.js +5733 -0
  23. package/dist/cjs/ui-advanced-data-table.cjs.entry.js +2684 -0
  24. package/dist/cjs/ui-anchor.cjs.entry.js +558 -0
  25. package/dist/cjs/ui-animate-on-scroll.cjs.entry.js +285 -0
  26. package/dist/cjs/ui-aside-panel.cjs.entry.js +638 -0
  27. package/dist/cjs/ui-avatar-group_3.cjs.entry.js +634 -0
  28. package/dist/cjs/ui-breadcrumb-item.cjs.entry.js +56 -0
  29. package/dist/cjs/ui-breadcrumb.cjs.entry.js +201 -0
  30. package/dist/cjs/ui-callout-banner.cjs.entry.js +291 -0
  31. package/dist/cjs/ui-card.cjs.entry.js +411 -0
  32. package/dist/cjs/ui-carousel.cjs.entry.js +547 -0
  33. package/dist/cjs/ui-checkbox-group.cjs.entry.js +330 -0
  34. package/dist/cjs/ui-checkbox.cjs.entry.js +260 -0
  35. package/dist/cjs/ui-code-editor.cjs.entry.js +961 -0
  36. package/dist/cjs/ui-code-preview.cjs.entry.js +315 -0
  37. package/dist/cjs/ui-color-controller.cjs.entry.js +150 -0
  38. package/dist/cjs/ui-color-picker.cjs.entry.js +658 -0
  39. package/dist/cjs/ui-command-palette.cjs.entry.js +178 -0
  40. package/dist/cjs/ui-dialog-box.cjs.entry.js +1808 -0
  41. package/dist/cjs/ui-dialog-content.cjs.entry.js +31 -0
  42. package/dist/cjs/ui-dialog-footer_2.cjs.entry.js +193 -0
  43. package/dist/cjs/ui-divider.cjs.entry.js +481 -0
  44. package/dist/cjs/ui-dock-host.cjs.entry.js +128 -0
  45. package/dist/cjs/ui-dock.cjs.entry.js +221 -0
  46. package/dist/cjs/ui-drag-drop.cjs.entry.js +172 -0
  47. package/dist/cjs/ui-dropdown_2.cjs.entry.js +1552 -0
  48. package/dist/cjs/ui-empty-state.cjs.entry.js +398 -0
  49. package/dist/cjs/ui-fab-item.cjs.entry.js +39 -0
  50. package/dist/cjs/ui-fab.cjs.entry.js +277 -0
  51. package/dist/cjs/ui-file-upload.cjs.entry.js +418 -0
  52. package/dist/cjs/ui-horizontal-nav.cjs.entry.js +135 -0
  53. package/dist/cjs/ui-image-button.cjs.entry.js +67 -0
  54. package/dist/cjs/ui-input-pair.cjs.entry.js +44 -0
  55. package/dist/cjs/ui-knob.cjs.entry.js +447 -0
  56. package/dist/cjs/ui-library.cjs.entry.js +134 -0
  57. package/dist/cjs/ui-list-group_2.cjs.entry.js +586 -0
  58. package/dist/cjs/ui-list.cjs.entry.js +732 -0
  59. package/dist/cjs/ui-masonry.cjs.entry.js +478 -0
  60. package/dist/cjs/ui-meter-group.cjs.entry.js +173 -0
  61. package/dist/cjs/ui-navigation-item.cjs.entry.js +104 -0
  62. package/dist/cjs/ui-number-input.cjs.entry.js +191 -0
  63. package/dist/cjs/ui-otp-input.cjs.entry.js +246 -0
  64. package/dist/cjs/ui-pagination_3.cjs.entry.js +1621 -0
  65. package/dist/cjs/ui-panel.cjs.entry.js +614 -0
  66. package/dist/cjs/ui-pattern-input.cjs.entry.js +278 -0
  67. package/dist/cjs/ui-popover.cjs.entry.js +517 -0
  68. package/dist/cjs/ui-progress.cjs.entry.js +516 -0
  69. package/dist/cjs/ui-radio-group.cjs.entry.js +205 -0
  70. package/dist/cjs/ui-radio.cjs.entry.js +206 -0
  71. package/dist/cjs/ui-range-slider.cjs.entry.js +637 -0
  72. package/dist/cjs/ui-resizable-panel.cjs.entry.js +484 -0
  73. package/dist/cjs/ui-scroll-top.cjs.entry.js +459 -0
  74. package/dist/cjs/ui-smart-context-menu.cjs.entry.js +376 -0
  75. package/dist/cjs/ui-smart-location-dropdown.cjs.entry.js +565 -0
  76. package/dist/cjs/ui-smart-stepper.cjs.entry.js +137 -0
  77. package/dist/cjs/ui-snackbar.cjs.entry.js +863 -0
  78. package/dist/cjs/ui-speed-dial.cjs.entry.js +520 -0
  79. package/dist/cjs/ui-speedometer.cjs.entry.js +428 -0
  80. package/dist/cjs/ui-splitter.cjs.entry.js +282 -0
  81. package/dist/cjs/ui-step.cjs.entry.js +30 -0
  82. package/dist/cjs/ui-stepper.cjs.entry.js +640 -0
  83. package/dist/cjs/ui-switch.cjs.entry.js +405 -0
  84. package/dist/cjs/ui-tabs.cjs.entry.js +703 -0
  85. package/dist/cjs/ui-tag.cjs.entry.js +299 -0
  86. package/dist/cjs/ui-timeline.cjs.entry.js +267 -0
  87. package/dist/cjs/ui-timer.cjs.entry.js +502 -0
  88. package/dist/cjs/ui-toolbar.cjs.entry.js +619 -0
  89. package/dist/cjs/ui-tooltip.cjs.entry.js +697 -0
  90. package/dist/cjs/ui-top-bar.cjs.entry.js +121 -0
  91. package/dist/cjs/ui-transfer-list.cjs.entry.js +592 -0
  92. package/dist/cjs/ui-tree.cjs.entry.js +874 -0
  93. package/dist/cjs/ui-workspace-manager.cjs.entry.js +1201 -0
  94. package/dist/cjs/utils-DVZ6gul6.js +26 -0
  95. package/dist/collection/assets/js/component-config.js +41 -0
  96. package/dist/collection/assets/js/demo-loader.js +147 -0
  97. package/dist/collection/assets/js/demo-nav.js +273 -0
  98. package/dist/collection/assets/js/demos/about-demo.js +60 -0
  99. package/dist/collection/assets/js/demos/accordion-demo.js +1954 -0
  100. package/dist/collection/assets/js/demos/advanced-data-table-demo.js +2952 -0
  101. package/dist/collection/assets/js/demos/anchor-demo.js +527 -0
  102. package/dist/collection/assets/js/demos/animate-on-scroll-demo.js +174 -0
  103. package/dist/collection/assets/js/demos/aside-panel-demo.js +1109 -0
  104. package/dist/collection/assets/js/demos/avatar-demo.js +508 -0
  105. package/dist/collection/assets/js/demos/badge-demo.js +620 -0
  106. package/dist/collection/assets/js/demos/breadcrumb-demo.js +365 -0
  107. package/dist/collection/assets/js/demos/button-demo.js +1223 -0
  108. package/dist/collection/assets/js/demos/button-toggle-demo.js +978 -0
  109. package/dist/collection/assets/js/demos/callout-banner-demo.js +366 -0
  110. package/dist/collection/assets/js/demos/card-demo.js +427 -0
  111. package/dist/collection/assets/js/demos/carousel-demo.js +360 -0
  112. package/dist/collection/assets/js/demos/checkbox-demo.js +489 -0
  113. package/dist/collection/assets/js/demos/code-preview-demo.js +216 -0
  114. package/dist/collection/assets/js/demos/color-picker-demo.js +117 -0
  115. package/dist/collection/assets/js/demos/command-palette-demo.js +105 -0
  116. package/dist/collection/assets/js/demos/complex-form-demo.js +45 -0
  117. package/dist/collection/assets/js/demos/context-menu-data.js +436 -0
  118. package/dist/collection/assets/js/demos/context-menu-demo.js +829 -0
  119. package/dist/collection/assets/js/demos/dashboard-demo.js +5 -0
  120. package/dist/collection/assets/js/demos/dialog-demo-temp.js +411 -0
  121. package/dist/collection/assets/js/demos/dialog-demo.js +2567 -0
  122. package/dist/collection/assets/js/demos/divider-demo.js +853 -0
  123. package/dist/collection/assets/js/demos/dock-demo.js +422 -0
  124. package/dist/collection/assets/js/demos/dock-host-init.js +117 -0
  125. package/dist/collection/assets/js/demos/dock-host-playground.js +59 -0
  126. package/dist/collection/assets/js/demos/documentation-demo.js +34 -0
  127. package/dist/collection/assets/js/demos/drag-drop-demo.js +132 -0
  128. package/dist/collection/assets/js/demos/dropdown-demo.js +1410 -0
  129. package/dist/collection/assets/js/demos/dropdown-subtitle-demo.js +18 -0
  130. package/dist/collection/assets/js/demos/empty-state-demo.js +580 -0
  131. package/dist/collection/assets/js/demos/fab-demo.js +374 -0
  132. package/dist/collection/assets/js/demos/file-upload-demo.js +171 -0
  133. package/dist/collection/assets/js/demos/home-components.js +750 -0
  134. package/dist/collection/assets/js/demos/home-demo.js +441 -0
  135. package/dist/collection/assets/js/demos/horizontal-nav-demo.js +277 -0
  136. package/dist/collection/assets/js/demos/icon-demo.js +380 -0
  137. package/dist/collection/assets/js/demos/input-demo.js +1932 -0
  138. package/dist/collection/assets/js/demos/knob-demo.js +570 -0
  139. package/dist/collection/assets/js/demos/layout-manager-demo.js +918 -0
  140. package/dist/collection/assets/js/demos/list-demo.js +1402 -0
  141. package/dist/collection/assets/js/demos/loader-demo.js +453 -0
  142. package/dist/collection/assets/js/demos/meter-group-demo.js +499 -0
  143. package/dist/collection/assets/js/demos/multi-level-context-menu-demo.js +924 -0
  144. package/dist/collection/assets/js/demos/my-profile-demo.js +237 -0
  145. package/dist/collection/assets/js/demos/nav-bar-demo.js +187 -0
  146. package/dist/collection/assets/js/demos/number-input-demo.js +242 -0
  147. package/dist/collection/assets/js/demos/overview-demo.js +11 -0
  148. package/dist/collection/assets/js/demos/pagination-demo.js +1042 -0
  149. package/dist/collection/assets/js/demos/panel-demo.js +789 -0
  150. package/dist/collection/assets/js/demos/pattern-input-demo.js +241 -0
  151. package/dist/collection/assets/js/demos/popover-demo.js +882 -0
  152. package/dist/collection/assets/js/demos/progress-demo.js +462 -0
  153. package/dist/collection/assets/js/demos/radio-demo.js +413 -0
  154. package/dist/collection/assets/js/demos/range-slider-demo.js +1217 -0
  155. package/dist/collection/assets/js/demos/rating-demo.js +383 -0
  156. package/dist/collection/assets/js/demos/scroll-top-demo.js +353 -0
  157. package/dist/collection/assets/js/demos/skeleton-demo.js +490 -0
  158. package/dist/collection/assets/js/demos/skeleton-performance-demo.js +26 -0
  159. package/dist/collection/assets/js/demos/smart-dialog-demo.js +552 -0
  160. package/dist/collection/assets/js/demos/smart-menu-demo.js +375 -0
  161. package/dist/collection/assets/js/demos/smart-stepper-demo.js +50 -0
  162. package/dist/collection/assets/js/demos/snackbar-demo.js +1040 -0
  163. package/dist/collection/assets/js/demos/speed-dial-demo.js +764 -0
  164. package/dist/collection/assets/js/demos/speedometer-demo.js +425 -0
  165. package/dist/collection/assets/js/demos/split-button-demo.js +201 -0
  166. package/dist/collection/assets/js/demos/stack-demo.js +228 -0
  167. package/dist/collection/assets/js/demos/stepper-demo.js +798 -0
  168. package/dist/collection/assets/js/demos/switch-demo.js +849 -0
  169. package/dist/collection/assets/js/demos/tabs-demo.js +1032 -0
  170. package/dist/collection/assets/js/demos/tag-demo.js +842 -0
  171. package/dist/collection/assets/js/demos/theme-selector-demo.js +466 -0
  172. package/dist/collection/assets/js/demos/timeline-demo.js +365 -0
  173. package/dist/collection/assets/js/demos/timeline-playground.js +59 -0
  174. package/dist/collection/assets/js/demos/timer-demo.js +313 -0
  175. package/dist/collection/assets/js/demos/toolbar-demo.js +643 -0
  176. package/dist/collection/assets/js/demos/tooltip-demo.js +730 -0
  177. package/dist/collection/assets/js/demos/top-bar-demo.js +417 -0
  178. package/dist/collection/assets/js/demos/transfer-list-demo.js +555 -0
  179. package/dist/collection/assets/js/demos/tree-demo.js +693 -0
  180. package/dist/collection/assets/js/demos/workspace-manager-demo.js +241 -0
  181. package/dist/collection/assets/js/index-boot.js +104 -0
  182. package/dist/collection/assets/js/nav-bar-demo.js +20 -0
  183. package/dist/collection/assets/js/nav-bar-init.js +119 -0
  184. package/dist/collection/assets/js/utils/layout-loader.js +80 -0
  185. package/dist/collection/collection-manifest.json +113 -0
  186. package/dist/collection/components/accordion/accordion.css +2090 -0
  187. package/dist/collection/components/accordion/accordion.js +2955 -0
  188. package/dist/collection/components/accordion/types.js +1 -0
  189. package/dist/collection/components/advanced-data-table/advanced-data-table.css +2606 -0
  190. package/dist/collection/components/advanced-data-table/advanced-data-table.js +5394 -0
  191. package/dist/collection/components/advanced-data-table/types.js +1 -0
  192. package/dist/collection/components/anchor/anchor.css +395 -0
  193. package/dist/collection/components/anchor/anchor.js +1404 -0
  194. package/dist/collection/components/anchor/types.js +1 -0
  195. package/dist/collection/components/animate-on-scroll/animate-on-scroll.css +804 -0
  196. package/dist/collection/components/animate-on-scroll/animate-on-scroll.js +696 -0
  197. package/dist/collection/components/aside-panel/aside-panel.css +472 -0
  198. package/dist/collection/components/aside-panel/aside-panel.js +1697 -0
  199. package/dist/collection/components/avatar/avatar.css +696 -0
  200. package/dist/collection/components/avatar/avatar.js +2007 -0
  201. package/dist/collection/components/avatar/types.js +1 -0
  202. package/dist/collection/components/avatar-group/avatar-group.css +253 -0
  203. package/dist/collection/components/avatar-group/avatar-group.js +405 -0
  204. package/dist/collection/components/avatar-group/types.js +1 -0
  205. package/dist/collection/components/badge/badge.css +580 -0
  206. package/dist/collection/components/badge/badge.js +723 -0
  207. package/dist/collection/components/badge/types.js +1 -0
  208. package/dist/collection/components/breadcrumb/breadcrumb-item.js +231 -0
  209. package/dist/collection/components/breadcrumb/breadcrumb.css +313 -0
  210. package/dist/collection/components/breadcrumb/breadcrumb.js +510 -0
  211. package/dist/collection/components/breadcrumb/types.js +1 -0
  212. package/dist/collection/components/button/button.css +1862 -0
  213. package/dist/collection/components/button/button.js +1380 -0
  214. package/dist/collection/components/button/types.js +1 -0
  215. package/dist/collection/components/button-toggle/button-toggle.css +97 -0
  216. package/dist/collection/components/button-toggle/button-toggle.js +620 -0
  217. package/dist/collection/components/button-toggle-group/button-toggle-group.css +401 -0
  218. package/dist/collection/components/button-toggle-group/button-toggle-group.js +1572 -0
  219. package/dist/collection/components/button-toggle-group/types.js +1 -0
  220. package/dist/collection/components/callout-banner/callout-banner.css +684 -0
  221. package/dist/collection/components/callout-banner/callout-banner.js +1076 -0
  222. package/dist/collection/components/callout-banner/types.js +1 -0
  223. package/dist/collection/components/card/card.css +663 -0
  224. package/dist/collection/components/card/card.js +1697 -0
  225. package/dist/collection/components/card/types.js +1 -0
  226. package/dist/collection/components/carousel/carousel.css +549 -0
  227. package/dist/collection/components/carousel/carousel.js +1512 -0
  228. package/dist/collection/components/carousel/types.js +1 -0
  229. package/dist/collection/components/checkbox/checkbox.css +863 -0
  230. package/dist/collection/components/checkbox/checkbox.js +1201 -0
  231. package/dist/collection/components/checkbox/types.js +1 -0
  232. package/dist/collection/components/checkbox-group/checkbox-group.css +223 -0
  233. package/dist/collection/components/checkbox-group/checkbox-group.js +1001 -0
  234. package/dist/collection/components/checkbox-group/types.js +1 -0
  235. package/dist/collection/components/code-editor/code-editor.css +1081 -0
  236. package/dist/collection/components/code-editor/code-editor.js +1211 -0
  237. package/dist/collection/components/code-editor/types.js +1 -0
  238. package/dist/collection/components/code-preview/types.js +1 -0
  239. package/dist/collection/components/code-preview/ui-code-preview.css +209 -0
  240. package/dist/collection/components/code-preview/ui-code-preview.js +548 -0
  241. package/dist/collection/components/color-controller/color-controller.css +108 -0
  242. package/dist/collection/components/color-controller/color-controller.js +224 -0
  243. package/dist/collection/components/color-picker/color-picker.css +323 -0
  244. package/dist/collection/components/color-picker/color-picker.js +1139 -0
  245. package/dist/collection/components/color-picker/types.js +1 -0
  246. package/dist/collection/components/command-palette/command-palette.css +260 -0
  247. package/dist/collection/components/command-palette/command-palette.js +429 -0
  248. package/dist/collection/components/command-palette/types.js +1 -0
  249. package/dist/collection/components/context-menu/context-menu.css +388 -0
  250. package/dist/collection/components/context-menu/context-menu.js +1412 -0
  251. package/dist/collection/components/context-menu/types.js +1 -0
  252. package/dist/collection/components/dialog-box/dialog-box.css +1261 -0
  253. package/dist/collection/components/dialog-box/dialog-box.js +4314 -0
  254. package/dist/collection/components/dialog-box/dialog-tray.css +268 -0
  255. package/dist/collection/components/dialog-box/types.js +1 -0
  256. package/dist/collection/components/dialog-content/dialog-content.css +83 -0
  257. package/dist/collection/components/dialog-content/dialog-content.js +96 -0
  258. package/dist/collection/components/dialog-footer/dialog-footer.css +89 -0
  259. package/dist/collection/components/dialog-footer/dialog-footer.js +94 -0
  260. package/dist/collection/components/dialog-footer/types.js +1 -0
  261. package/dist/collection/components/dialog-header/dialog-header.css +203 -0
  262. package/dist/collection/components/dialog-header/dialog-header.js +630 -0
  263. package/dist/collection/components/dialog-header/types.js +1 -0
  264. package/dist/collection/components/divider/divider.css +948 -0
  265. package/dist/collection/components/divider/divider.js +1612 -0
  266. package/dist/collection/components/divider/types.js +1 -0
  267. package/dist/collection/components/dock/dock.css +348 -0
  268. package/dist/collection/components/dock/dock.js +464 -0
  269. package/dist/collection/components/dock/types.js +1 -0
  270. package/dist/collection/components/dock-host/index.js +1 -0
  271. package/dist/collection/components/dock-host/types.js +1 -0
  272. package/dist/collection/components/dock-host/ui-dock-host.css +155 -0
  273. package/dist/collection/components/dock-host/ui-dock-host.js +226 -0
  274. package/dist/collection/components/drag-drop/drag-drop.css +103 -0
  275. package/dist/collection/components/drag-drop/drag-drop.js +385 -0
  276. package/dist/collection/components/drag-drop/types.js +1 -0
  277. package/dist/collection/components/dropdown/dropdown.css +1142 -0
  278. package/dist/collection/components/dropdown/dropdown.js +2033 -0
  279. package/dist/collection/components/dropdown/types.js +1 -0
  280. package/dist/collection/components/empty-state/empty-state.css +712 -0
  281. package/dist/collection/components/empty-state/empty-state.js +1256 -0
  282. package/dist/collection/components/empty-state/types.js +1 -0
  283. package/dist/collection/components/fab/fab.css +601 -0
  284. package/dist/collection/components/fab/fab.js +1124 -0
  285. package/dist/collection/components/fab-item/fab-item.css +107 -0
  286. package/dist/collection/components/fab-item/fab-item.js +177 -0
  287. package/dist/collection/components/fab-item/types.js +1 -0
  288. package/dist/collection/components/file-upload/file-upload.css +243 -0
  289. package/dist/collection/components/file-upload/file-upload.js +1022 -0
  290. package/dist/collection/components/file-upload/types.js +1 -0
  291. package/dist/collection/components/horizontal-nav/horizontal-nav.css +394 -0
  292. package/dist/collection/components/horizontal-nav/horizontal-nav.js +375 -0
  293. package/dist/collection/components/icon/icon.css +113 -0
  294. package/dist/collection/components/icon/icon.js +583 -0
  295. package/dist/collection/components/image-button/image-button.css +154 -0
  296. package/dist/collection/components/image-button/image-button.js +310 -0
  297. package/dist/collection/components/image-button/types.js +1 -0
  298. package/dist/collection/components/input/input.css +1544 -0
  299. package/dist/collection/components/input/input.js +3690 -0
  300. package/dist/collection/components/input/types.js +1 -0
  301. package/dist/collection/components/input-pair/input-pair.css +72 -0
  302. package/dist/collection/components/input-pair/input-pair.js +309 -0
  303. package/dist/collection/components/knob/knob.css +162 -0
  304. package/dist/collection/components/knob/knob.js +986 -0
  305. package/dist/collection/components/knob/types.js +1 -0
  306. package/dist/collection/components/layout-manager/layout-manager.css +41 -0
  307. package/dist/collection/components/layout-manager/layout-manager.js +525 -0
  308. package/dist/collection/components/layout-manager/lm-container/lm-container.css +117 -0
  309. package/dist/collection/components/layout-manager/lm-container/lm-container.js +110 -0
  310. package/dist/collection/components/layout-manager/lm-floating-window/lm-floating-window.css +0 -0
  311. package/dist/collection/components/layout-manager/lm-floating-window/lm-floating-window.js +49 -0
  312. package/dist/collection/components/layout-manager/lm-panel/lm-panel.css +97 -0
  313. package/dist/collection/components/layout-manager/lm-panel/lm-panel.js +58 -0
  314. package/dist/collection/components/layout-manager/lm-splitter/lm-splitter.css +57 -0
  315. package/dist/collection/components/layout-manager/lm-splitter/lm-splitter.js +120 -0
  316. package/dist/collection/components/layout-manager/lm-tabs/lm-tabs.css +149 -0
  317. package/dist/collection/components/layout-manager/lm-tabs/lm-tabs.js +130 -0
  318. package/dist/collection/components/layout-manager/types.js +1 -0
  319. package/dist/collection/components/library/category-section.css +147 -0
  320. package/dist/collection/components/library/category-section.js +139 -0
  321. package/dist/collection/components/library/data.js +74 -0
  322. package/dist/collection/components/library/library-card.css +181 -0
  323. package/dist/collection/components/library/library-card.js +203 -0
  324. package/dist/collection/components/library/library.css +358 -0
  325. package/dist/collection/components/library/library.js +91 -0
  326. package/dist/collection/components/list/list.css +1029 -0
  327. package/dist/collection/components/list/list.js +2167 -0
  328. package/dist/collection/components/list-group/list-group.css +275 -0
  329. package/dist/collection/components/list-group/list-group.js +356 -0
  330. package/dist/collection/components/list-item/list-item.css +1491 -0
  331. package/dist/collection/components/list-item/list-item.js +2184 -0
  332. package/dist/collection/components/masonry/masonry.css +414 -0
  333. package/dist/collection/components/masonry/masonry.js +1104 -0
  334. package/dist/collection/components/masonry/types.js +1 -0
  335. package/dist/collection/components/meter-group/meter-group.css +184 -0
  336. package/dist/collection/components/meter-group/meter-group.js +471 -0
  337. package/dist/collection/components/meter-group/types.js +1 -0
  338. package/dist/collection/components/my-component/my-component.css +27 -0
  339. package/dist/collection/components/my-component/my-component.js +95 -0
  340. package/dist/collection/components/my-step/my-step.css +25 -0
  341. package/dist/collection/components/my-step/my-step.js +237 -0
  342. package/dist/collection/components/nav-bar/nav-bar.css +448 -0
  343. package/dist/collection/components/nav-bar/nav-bar.js +608 -0
  344. package/dist/collection/components/number-input/number-input.css +200 -0
  345. package/dist/collection/components/number-input/number-input.js +695 -0
  346. package/dist/collection/components/otp-input/otp-input.css +243 -0
  347. package/dist/collection/components/otp-input/otp-input.js +761 -0
  348. package/dist/collection/components/otp-input/types.js +1 -0
  349. package/dist/collection/components/pagination/pagination.css +1399 -0
  350. package/dist/collection/components/pagination/pagination.js +2033 -0
  351. package/dist/collection/components/pagination/types.js +1 -0
  352. package/dist/collection/components/panel/panel.css +837 -0
  353. package/dist/collection/components/panel/panel.js +1842 -0
  354. package/dist/collection/components/panel/types.js +1 -0
  355. package/dist/collection/components/pattern-input/pattern-input.css +252 -0
  356. package/dist/collection/components/pattern-input/pattern-input.js +788 -0
  357. package/dist/collection/components/popover/popover.css +399 -0
  358. package/dist/collection/components/popover/popover.js +1449 -0
  359. package/dist/collection/components/popover/types.js +1 -0
  360. package/dist/collection/components/progress/progress.css +588 -0
  361. package/dist/collection/components/progress/progress.js +1414 -0
  362. package/dist/collection/components/progress/types.js +1 -0
  363. package/dist/collection/components/radio/radio.css +773 -0
  364. package/dist/collection/components/radio/radio.js +1059 -0
  365. package/dist/collection/components/radio/types.js +1 -0
  366. package/dist/collection/components/radio-group/radio-group.css +202 -0
  367. package/dist/collection/components/radio-group/radio-group.js +903 -0
  368. package/dist/collection/components/radio-group/types.js +1 -0
  369. package/dist/collection/components/range-slider/range-slider.css +602 -0
  370. package/dist/collection/components/range-slider/range-slider.js +1369 -0
  371. package/dist/collection/components/range-slider/types.js +1 -0
  372. package/dist/collection/components/rating/rating.css +768 -0
  373. package/dist/collection/components/rating/rating.js +1062 -0
  374. package/dist/collection/components/rating/types.js +1 -0
  375. package/dist/collection/components/resizable-panel/resizable-panel.css +247 -0
  376. package/dist/collection/components/resizable-panel/resizable-panel.js +874 -0
  377. package/dist/collection/components/resizable-panel/types.js +1 -0
  378. package/dist/collection/components/scroll-top/scroll-top.css +397 -0
  379. package/dist/collection/components/scroll-top/scroll-top.js +1178 -0
  380. package/dist/collection/components/scroll-top/types.js +1 -0
  381. package/dist/collection/components/skeleton/skeleton-loader.css +429 -0
  382. package/dist/collection/components/skeleton/skeleton-loader.js +1193 -0
  383. package/dist/collection/components/skeleton/types.js +1 -0
  384. package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.css +357 -0
  385. package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.js +1190 -0
  386. package/dist/collection/components/smart-location-dropdown/types.js +1 -0
  387. package/dist/collection/components/smart-menu/menu-item.interface.js +1 -0
  388. package/dist/collection/components/smart-menu/smart-menu.css +119 -0
  389. package/dist/collection/components/smart-menu/smart-menu.js +544 -0
  390. package/dist/collection/components/smart-stepper/smart-step.css +213 -0
  391. package/dist/collection/components/smart-stepper/smart-step.js +170 -0
  392. package/dist/collection/components/smart-stepper/smart-stepper.css +146 -0
  393. package/dist/collection/components/smart-stepper/smart-stepper.js +338 -0
  394. package/dist/collection/components/snackbar/snackbar.css +1480 -0
  395. package/dist/collection/components/snackbar/snackbar.js +1759 -0
  396. package/dist/collection/components/snackbar/types.js +1 -0
  397. package/dist/collection/components/speed-dial/speed-dial.css +478 -0
  398. package/dist/collection/components/speed-dial/speed-dial.js +1183 -0
  399. package/dist/collection/components/speed-dial/types.js +1 -0
  400. package/dist/collection/components/speedometer/speedometer.css +95 -0
  401. package/dist/collection/components/speedometer/speedometer.js +868 -0
  402. package/dist/collection/components/speedometer/types.js +1 -0
  403. package/dist/collection/components/splitter/splitter.css +269 -0
  404. package/dist/collection/components/splitter/splitter.js +713 -0
  405. package/dist/collection/components/splitter/types.js +1 -0
  406. package/dist/collection/components/stack/stack.css +269 -0
  407. package/dist/collection/components/stack/stack.js +297 -0
  408. package/dist/collection/components/stack/types.js +1 -0
  409. package/dist/collection/components/step/step.css +77 -0
  410. package/dist/collection/components/step/step.js +214 -0
  411. package/dist/collection/components/step/types.js +1 -0
  412. package/dist/collection/components/stepper/stepper.css +1079 -0
  413. package/dist/collection/components/stepper/stepper.js +1850 -0
  414. package/dist/collection/components/stepper/types.js +1 -0
  415. package/dist/collection/components/switch/switch.css +1099 -0
  416. package/dist/collection/components/switch/switch.js +1578 -0
  417. package/dist/collection/components/tabs/tabs.css +1355 -0
  418. package/dist/collection/components/tabs/tabs.js +1474 -0
  419. package/dist/collection/components/tabs/types.js +1 -0
  420. package/dist/collection/components/tag/tag.css +893 -0
  421. package/dist/collection/components/tag/tag.js +1119 -0
  422. package/dist/collection/components/tag/types.js +1 -0
  423. package/dist/collection/components/tag-group/tag-group.css +144 -0
  424. package/dist/collection/components/tag-group/tag-group.js +887 -0
  425. package/dist/collection/components/tag-group/types.js +1 -0
  426. package/dist/collection/components/timeline/timeline.css +1850 -0
  427. package/dist/collection/components/timeline/timeline.js +889 -0
  428. package/dist/collection/components/timeline/types.js +1 -0
  429. package/dist/collection/components/timeline/ui-timeline.stories.js +19 -0
  430. package/dist/collection/components/timeline-item/timeline-item.css +75 -0
  431. package/dist/collection/components/timeline-item/timeline-item.js +91 -0
  432. package/dist/collection/components/timer/timer.css +367 -0
  433. package/dist/collection/components/timer/timer.js +1292 -0
  434. package/dist/collection/components/timer/types.js +1 -0
  435. package/dist/collection/components/timer/ui-timer.stories.js +19 -0
  436. package/dist/collection/components/toggle-group/toggle-group.css +361 -0
  437. package/dist/collection/components/toggle-group/toggle-group.js +1212 -0
  438. package/dist/collection/components/toggle-group/types.js +1 -0
  439. package/dist/collection/components/toolbar/toolbar-types.js +1 -0
  440. package/dist/collection/components/toolbar/toolbar.css +1186 -0
  441. package/dist/collection/components/toolbar/toolbar.js +1635 -0
  442. package/dist/collection/components/tooltip/tooltip.css +609 -0
  443. package/dist/collection/components/tooltip/tooltip.js +1882 -0
  444. package/dist/collection/components/tooltip/types.js +1 -0
  445. package/dist/collection/components/top-bar/top-bar.css +274 -0
  446. package/dist/collection/components/top-bar/top-bar.js +383 -0
  447. package/dist/collection/components/transfer-list/transfer-list.css +520 -0
  448. package/dist/collection/components/transfer-list/transfer-list.js +1225 -0
  449. package/dist/collection/components/transfer-list/types.js +1 -0
  450. package/dist/collection/components/tree/tree.css +1197 -0
  451. package/dist/collection/components/tree/tree.js +2509 -0
  452. package/dist/collection/components/tree/types.js +1 -0
  453. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.css +830 -0
  454. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.js +1231 -0
  455. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-types.js +1 -0
  456. package/dist/collection/components/ui-navigation-bar/navigation-item.css +679 -0
  457. package/dist/collection/components/ui-navigation-bar/navigation-item.js +385 -0
  458. package/dist/collection/components/ui-navigation-bar/navigation-types.js +1 -0
  459. package/dist/collection/components/workspace-manager/types.js +1 -0
  460. package/dist/collection/components/workspace-manager/workspace-manager.css +1094 -0
  461. package/dist/collection/components/workspace-manager/workspace-manager.js +1914 -0
  462. package/dist/collection/components.js +51 -0
  463. package/dist/collection/index.js +108 -0
  464. package/dist/collection/service/drag-manager.js +23 -0
  465. package/dist/collection/service/event-bus.js +19 -0
  466. package/dist/collection/service/serialization.js +8 -0
  467. package/dist/collection/service/state-engine.js +247 -0
  468. package/dist/collection/service/theme-switcher.js +146 -0
  469. package/dist/collection/stories/Button.stories.js +15 -0
  470. package/dist/collection/types/common.js +1 -0
  471. package/dist/collection/types/index.js +4 -0
  472. package/dist/collection/utils/aria-live.js +60 -0
  473. package/dist/collection/utils/component-size.js +25 -0
  474. package/dist/collection/utils/dom.js +260 -0
  475. package/dist/collection/utils/focus-trap.js +135 -0
  476. package/dist/collection/utils/security.js +10 -0
  477. package/dist/collection/utils/test/setup-component-test-env.js +92 -0
  478. package/dist/collection/utils/utils.js +21 -0
  479. package/dist/collection/utils/validation.js +74 -0
  480. package/dist/components/avatar-group.js +1 -0
  481. package/dist/components/avatar.js +1 -0
  482. package/dist/components/badge.js +1 -0
  483. package/dist/components/button-toggle.js +1 -0
  484. package/dist/components/category-section.d.ts +11 -0
  485. package/dist/components/category-section.js +1 -0
  486. package/dist/components/category-section2.js +1 -0
  487. package/dist/components/checkbox.js +1 -0
  488. package/dist/components/context-menu.js +1 -0
  489. package/dist/components/dialog-footer.js +1 -0
  490. package/dist/components/dialog-header.js +1 -0
  491. package/dist/components/dom.js +1 -0
  492. package/dist/components/dropdown.js +1 -0
  493. package/dist/components/event-bus.js +1 -0
  494. package/dist/components/focus-trap.js +1 -0
  495. package/dist/components/icon.js +2 -0
  496. package/dist/components/index.d.ts +35 -0
  497. package/dist/components/index.js +1 -0
  498. package/dist/components/input.js +1 -0
  499. package/dist/components/layout-manager.d.ts +11 -0
  500. package/dist/components/layout-manager.js +1 -0
  501. package/dist/components/library-card.d.ts +11 -0
  502. package/dist/components/library-card.js +1 -0
  503. package/dist/components/library-card2.js +1 -0
  504. package/dist/components/list-group.js +1 -0
  505. package/dist/components/list-item.js +1 -0
  506. package/dist/components/lm-container.d.ts +11 -0
  507. package/dist/components/lm-container.js +1 -0
  508. package/dist/components/lm-container2.js +1 -0
  509. package/dist/components/lm-floating-window.d.ts +11 -0
  510. package/dist/components/lm-floating-window.js +1 -0
  511. package/dist/components/lm-floating-window2.js +1 -0
  512. package/dist/components/lm-panel.d.ts +11 -0
  513. package/dist/components/lm-panel.js +1 -0
  514. package/dist/components/lm-panel2.js +1 -0
  515. package/dist/components/lm-splitter.d.ts +11 -0
  516. package/dist/components/lm-splitter.js +1 -0
  517. package/dist/components/lm-splitter2.js +1 -0
  518. package/dist/components/lm-tabs.d.ts +11 -0
  519. package/dist/components/lm-tabs.js +1 -0
  520. package/dist/components/lm-tabs2.js +1 -0
  521. package/dist/components/my-component.d.ts +11 -0
  522. package/dist/components/my-component.js +1 -0
  523. package/dist/components/my-step.d.ts +11 -0
  524. package/dist/components/my-step.js +1 -0
  525. package/dist/components/nav-bar.d.ts +11 -0
  526. package/dist/components/nav-bar.js +1 -0
  527. package/dist/components/pagination.js +1 -0
  528. package/dist/components/radio.js +1 -0
  529. package/dist/components/range-slider.js +1 -0
  530. package/dist/components/rating.js +1 -0
  531. package/dist/components/resizable-panel.js +1 -0
  532. package/dist/components/skeleton-loader.js +1 -0
  533. package/dist/components/smart-step.d.ts +11 -0
  534. package/dist/components/smart-step.js +1 -0
  535. package/dist/components/stack.js +1 -0
  536. package/dist/components/switch.js +1 -0
  537. package/dist/components/tag-group.js +1 -0
  538. package/dist/components/tag.js +1 -0
  539. package/dist/components/timeline-item.d.ts +11 -0
  540. package/dist/components/timeline-item.js +1 -0
  541. package/dist/components/toggle-group.js +1 -0
  542. package/dist/components/tooltip.js +1 -0
  543. package/dist/components/ui-accordion.d.ts +11 -0
  544. package/dist/components/ui-accordion.js +1 -0
  545. package/dist/components/ui-advanced-data-table.d.ts +11 -0
  546. package/dist/components/ui-advanced-data-table.js +1 -0
  547. package/dist/components/ui-anchor.d.ts +11 -0
  548. package/dist/components/ui-anchor.js +1 -0
  549. package/dist/components/ui-animate-on-scroll.d.ts +11 -0
  550. package/dist/components/ui-animate-on-scroll.js +1 -0
  551. package/dist/components/ui-aside-panel.d.ts +11 -0
  552. package/dist/components/ui-aside-panel.js +1 -0
  553. package/dist/components/ui-avatar-group.d.ts +11 -0
  554. package/dist/components/ui-avatar-group.js +1 -0
  555. package/dist/components/ui-avatar.d.ts +11 -0
  556. package/dist/components/ui-avatar.js +1 -0
  557. package/dist/components/ui-badge.d.ts +11 -0
  558. package/dist/components/ui-badge.js +1 -0
  559. package/dist/components/ui-breadcrumb-item.d.ts +11 -0
  560. package/dist/components/ui-breadcrumb-item.js +1 -0
  561. package/dist/components/ui-breadcrumb.d.ts +11 -0
  562. package/dist/components/ui-breadcrumb.js +1 -0
  563. package/dist/components/ui-button-toggle-group.d.ts +11 -0
  564. package/dist/components/ui-button-toggle-group.js +1 -0
  565. package/dist/components/ui-button-toggle.d.ts +11 -0
  566. package/dist/components/ui-button-toggle.js +1 -0
  567. package/dist/components/ui-button.d.ts +11 -0
  568. package/dist/components/ui-button.js +1 -0
  569. package/dist/components/ui-callout-banner.d.ts +11 -0
  570. package/dist/components/ui-callout-banner.js +1 -0
  571. package/dist/components/ui-card.d.ts +11 -0
  572. package/dist/components/ui-card.js +1 -0
  573. package/dist/components/ui-carousel.d.ts +11 -0
  574. package/dist/components/ui-carousel.js +1 -0
  575. package/dist/components/ui-checkbox-group.d.ts +11 -0
  576. package/dist/components/ui-checkbox-group.js +1 -0
  577. package/dist/components/ui-checkbox.d.ts +11 -0
  578. package/dist/components/ui-checkbox.js +1 -0
  579. package/dist/components/ui-code-editor.d.ts +11 -0
  580. package/dist/components/ui-code-editor.js +1 -0
  581. package/dist/components/ui-code-preview.d.ts +11 -0
  582. package/dist/components/ui-code-preview.js +1 -0
  583. package/dist/components/ui-color-controller.d.ts +11 -0
  584. package/dist/components/ui-color-controller.js +1 -0
  585. package/dist/components/ui-color-picker.d.ts +11 -0
  586. package/dist/components/ui-color-picker.js +1 -0
  587. package/dist/components/ui-command-palette.d.ts +11 -0
  588. package/dist/components/ui-command-palette.js +1 -0
  589. package/dist/components/ui-context-menu.d.ts +11 -0
  590. package/dist/components/ui-context-menu.js +1 -0
  591. package/dist/components/ui-dialog-box.d.ts +11 -0
  592. package/dist/components/ui-dialog-box.js +1 -0
  593. package/dist/components/ui-dialog-content.d.ts +11 -0
  594. package/dist/components/ui-dialog-content.js +1 -0
  595. package/dist/components/ui-dialog-footer.d.ts +11 -0
  596. package/dist/components/ui-dialog-footer.js +1 -0
  597. package/dist/components/ui-dialog-header.d.ts +11 -0
  598. package/dist/components/ui-dialog-header.js +1 -0
  599. package/dist/components/ui-divider.d.ts +11 -0
  600. package/dist/components/ui-divider.js +1 -0
  601. package/dist/components/ui-dock-host.d.ts +11 -0
  602. package/dist/components/ui-dock-host.js +1 -0
  603. package/dist/components/ui-dock.d.ts +11 -0
  604. package/dist/components/ui-dock.js +1 -0
  605. package/dist/components/ui-drag-drop.d.ts +11 -0
  606. package/dist/components/ui-drag-drop.js +1 -0
  607. package/dist/components/ui-dropdown.d.ts +11 -0
  608. package/dist/components/ui-dropdown.js +1 -0
  609. package/dist/components/ui-empty-state.d.ts +11 -0
  610. package/dist/components/ui-empty-state.js +1 -0
  611. package/dist/components/ui-fab-item.d.ts +11 -0
  612. package/dist/components/ui-fab-item.js +1 -0
  613. package/dist/components/ui-fab.d.ts +11 -0
  614. package/dist/components/ui-fab.js +1 -0
  615. package/dist/components/ui-file-upload.d.ts +11 -0
  616. package/dist/components/ui-file-upload.js +1 -0
  617. package/dist/components/ui-horizontal-nav.d.ts +11 -0
  618. package/dist/components/ui-horizontal-nav.js +1 -0
  619. package/dist/components/ui-icon.d.ts +11 -0
  620. package/dist/components/ui-icon.js +1 -0
  621. package/dist/components/ui-image-button.d.ts +11 -0
  622. package/dist/components/ui-image-button.js +1 -0
  623. package/dist/components/ui-input-pair.d.ts +11 -0
  624. package/dist/components/ui-input-pair.js +1 -0
  625. package/dist/components/ui-input.d.ts +11 -0
  626. package/dist/components/ui-input.js +1 -0
  627. package/dist/components/ui-knob.d.ts +11 -0
  628. package/dist/components/ui-knob.js +1 -0
  629. package/dist/components/ui-library.d.ts +11 -0
  630. package/dist/components/ui-library.js +1 -0
  631. package/dist/components/ui-list-group.d.ts +11 -0
  632. package/dist/components/ui-list-group.js +1 -0
  633. package/dist/components/ui-list-item.d.ts +11 -0
  634. package/dist/components/ui-list-item.js +1 -0
  635. package/dist/components/ui-list.d.ts +11 -0
  636. package/dist/components/ui-list.js +1 -0
  637. package/dist/components/ui-masonry.d.ts +11 -0
  638. package/dist/components/ui-masonry.js +1 -0
  639. package/dist/components/ui-meter-group.d.ts +11 -0
  640. package/dist/components/ui-meter-group.js +1 -0
  641. package/dist/components/ui-navigation-bar.d.ts +11 -0
  642. package/dist/components/ui-navigation-bar.js +1 -0
  643. package/dist/components/ui-navigation-item.d.ts +11 -0
  644. package/dist/components/ui-navigation-item.js +1 -0
  645. package/dist/components/ui-number-input.d.ts +11 -0
  646. package/dist/components/ui-number-input.js +1 -0
  647. package/dist/components/ui-otp-input.d.ts +11 -0
  648. package/dist/components/ui-otp-input.js +1 -0
  649. package/dist/components/ui-pagination.d.ts +11 -0
  650. package/dist/components/ui-pagination.js +1 -0
  651. package/dist/components/ui-panel.d.ts +11 -0
  652. package/dist/components/ui-panel.js +1 -0
  653. package/dist/components/ui-pattern-input.d.ts +11 -0
  654. package/dist/components/ui-pattern-input.js +1 -0
  655. package/dist/components/ui-popover.d.ts +11 -0
  656. package/dist/components/ui-popover.js +1 -0
  657. package/dist/components/ui-progress.d.ts +11 -0
  658. package/dist/components/ui-progress.js +1 -0
  659. package/dist/components/ui-radio-group.d.ts +11 -0
  660. package/dist/components/ui-radio-group.js +1 -0
  661. package/dist/components/ui-radio.d.ts +11 -0
  662. package/dist/components/ui-radio.js +1 -0
  663. package/dist/components/ui-range-slider.d.ts +11 -0
  664. package/dist/components/ui-range-slider.js +1 -0
  665. package/dist/components/ui-rating.d.ts +11 -0
  666. package/dist/components/ui-rating.js +1 -0
  667. package/dist/components/ui-resizable-panel.d.ts +11 -0
  668. package/dist/components/ui-resizable-panel.js +1 -0
  669. package/dist/components/ui-scroll-top.d.ts +11 -0
  670. package/dist/components/ui-scroll-top.js +1 -0
  671. package/dist/components/ui-skeleton.d.ts +11 -0
  672. package/dist/components/ui-skeleton.js +1 -0
  673. package/dist/components/ui-smart-context-menu.d.ts +11 -0
  674. package/dist/components/ui-smart-context-menu.js +1 -0
  675. package/dist/components/ui-smart-location-dropdown.d.ts +11 -0
  676. package/dist/components/ui-smart-location-dropdown.js +1 -0
  677. package/dist/components/ui-smart-stepper.d.ts +11 -0
  678. package/dist/components/ui-smart-stepper.js +1 -0
  679. package/dist/components/ui-snackbar.d.ts +11 -0
  680. package/dist/components/ui-snackbar.js +1 -0
  681. package/dist/components/ui-speed-dial.d.ts +11 -0
  682. package/dist/components/ui-speed-dial.js +1 -0
  683. package/dist/components/ui-speedometer.d.ts +11 -0
  684. package/dist/components/ui-speedometer.js +1 -0
  685. package/dist/components/ui-splitter.d.ts +11 -0
  686. package/dist/components/ui-splitter.js +1 -0
  687. package/dist/components/ui-stack.d.ts +11 -0
  688. package/dist/components/ui-stack.js +1 -0
  689. package/dist/components/ui-step.d.ts +11 -0
  690. package/dist/components/ui-step.js +1 -0
  691. package/dist/components/ui-stepper.d.ts +11 -0
  692. package/dist/components/ui-stepper.js +1 -0
  693. package/dist/components/ui-switch.d.ts +11 -0
  694. package/dist/components/ui-switch.js +1 -0
  695. package/dist/components/ui-tabs.d.ts +11 -0
  696. package/dist/components/ui-tabs.js +1 -0
  697. package/dist/components/ui-tag-group.d.ts +11 -0
  698. package/dist/components/ui-tag-group.js +1 -0
  699. package/dist/components/ui-tag.d.ts +11 -0
  700. package/dist/components/ui-tag.js +1 -0
  701. package/dist/components/ui-timeline.d.ts +11 -0
  702. package/dist/components/ui-timeline.js +1 -0
  703. package/dist/components/ui-timer.d.ts +11 -0
  704. package/dist/components/ui-timer.js +1 -0
  705. package/dist/components/ui-toggle-group.d.ts +11 -0
  706. package/dist/components/ui-toggle-group.js +1 -0
  707. package/dist/components/ui-toolbar.d.ts +11 -0
  708. package/dist/components/ui-toolbar.js +1 -0
  709. package/dist/components/ui-tooltip.d.ts +11 -0
  710. package/dist/components/ui-tooltip.js +1 -0
  711. package/dist/components/ui-top-bar.d.ts +11 -0
  712. package/dist/components/ui-top-bar.js +1 -0
  713. package/dist/components/ui-transfer-list.d.ts +11 -0
  714. package/dist/components/ui-transfer-list.js +1 -0
  715. package/dist/components/ui-tree.d.ts +11 -0
  716. package/dist/components/ui-tree.js +1 -0
  717. package/dist/components/ui-workspace-manager.d.ts +11 -0
  718. package/dist/components/ui-workspace-manager.js +1 -0
  719. package/dist/components/utils.js +1 -0
  720. package/dist/esm/category-section.entry.js +28 -0
  721. package/dist/esm/component-size-C7gf39HE.js +27 -0
  722. package/dist/esm/dom-BMFah5q3.js +262 -0
  723. package/dist/esm/event-bus-vwwmWKs9.js +21 -0
  724. package/dist/esm/exploration-project-tailwind.js +20 -0
  725. package/dist/esm/focus-trap-BSQ8klD4.js +137 -0
  726. package/dist/esm/index-DUsoYu9r.js +2264 -0
  727. package/dist/esm/index.js +256 -0
  728. package/dist/esm/layout-manager.entry.js +614 -0
  729. package/dist/esm/library-card.entry.js +61 -0
  730. package/dist/esm/lm-container_2.entry.js +76 -0
  731. package/dist/esm/lm-panel_3.entry.js +104 -0
  732. package/dist/esm/loader.js +10 -0
  733. package/dist/esm/my-component.entry.js +31 -0
  734. package/dist/esm/my-step.entry.js +27 -0
  735. package/dist/esm/nav-bar.entry.js +245 -0
  736. package/dist/esm/security-D2WzX6vR.js +1545 -0
  737. package/dist/esm/smart-step.entry.js +45 -0
  738. package/dist/esm/timeline-item.entry.js +27 -0
  739. package/dist/esm/ui-accordion_10.entry.js +5722 -0
  740. package/dist/esm/ui-advanced-data-table.entry.js +2682 -0
  741. package/dist/esm/ui-anchor.entry.js +556 -0
  742. package/dist/esm/ui-animate-on-scroll.entry.js +283 -0
  743. package/dist/esm/ui-aside-panel.entry.js +636 -0
  744. package/dist/esm/ui-avatar-group_3.entry.js +630 -0
  745. package/dist/esm/ui-breadcrumb-item.entry.js +54 -0
  746. package/dist/esm/ui-breadcrumb.entry.js +199 -0
  747. package/dist/esm/ui-callout-banner.entry.js +289 -0
  748. package/dist/esm/ui-card.entry.js +409 -0
  749. package/dist/esm/ui-carousel.entry.js +545 -0
  750. package/dist/esm/ui-checkbox-group.entry.js +328 -0
  751. package/dist/esm/ui-checkbox.entry.js +258 -0
  752. package/dist/esm/ui-code-editor.entry.js +959 -0
  753. package/dist/esm/ui-code-preview.entry.js +313 -0
  754. package/dist/esm/ui-color-controller.entry.js +148 -0
  755. package/dist/esm/ui-color-picker.entry.js +656 -0
  756. package/dist/esm/ui-command-palette.entry.js +176 -0
  757. package/dist/esm/ui-dialog-box.entry.js +1806 -0
  758. package/dist/esm/ui-dialog-content.entry.js +29 -0
  759. package/dist/esm/ui-dialog-footer_2.entry.js +190 -0
  760. package/dist/esm/ui-divider.entry.js +479 -0
  761. package/dist/esm/ui-dock-host.entry.js +126 -0
  762. package/dist/esm/ui-dock.entry.js +219 -0
  763. package/dist/esm/ui-drag-drop.entry.js +170 -0
  764. package/dist/esm/ui-dropdown_2.entry.js +1549 -0
  765. package/dist/esm/ui-empty-state.entry.js +396 -0
  766. package/dist/esm/ui-fab-item.entry.js +37 -0
  767. package/dist/esm/ui-fab.entry.js +275 -0
  768. package/dist/esm/ui-file-upload.entry.js +416 -0
  769. package/dist/esm/ui-horizontal-nav.entry.js +133 -0
  770. package/dist/esm/ui-image-button.entry.js +65 -0
  771. package/dist/esm/ui-input-pair.entry.js +42 -0
  772. package/dist/esm/ui-knob.entry.js +445 -0
  773. package/dist/esm/ui-library.entry.js +132 -0
  774. package/dist/esm/ui-list-group_2.entry.js +583 -0
  775. package/dist/esm/ui-list.entry.js +730 -0
  776. package/dist/esm/ui-masonry.entry.js +476 -0
  777. package/dist/esm/ui-meter-group.entry.js +171 -0
  778. package/dist/esm/ui-navigation-item.entry.js +102 -0
  779. package/dist/esm/ui-number-input.entry.js +189 -0
  780. package/dist/esm/ui-otp-input.entry.js +244 -0
  781. package/dist/esm/ui-pagination_3.entry.js +1617 -0
  782. package/dist/esm/ui-panel.entry.js +612 -0
  783. package/dist/esm/ui-pattern-input.entry.js +276 -0
  784. package/dist/esm/ui-popover.entry.js +515 -0
  785. package/dist/esm/ui-progress.entry.js +514 -0
  786. package/dist/esm/ui-radio-group.entry.js +203 -0
  787. package/dist/esm/ui-radio.entry.js +204 -0
  788. package/dist/esm/ui-range-slider.entry.js +635 -0
  789. package/dist/esm/ui-resizable-panel.entry.js +482 -0
  790. package/dist/esm/ui-scroll-top.entry.js +457 -0
  791. package/dist/esm/ui-smart-context-menu.entry.js +374 -0
  792. package/dist/esm/ui-smart-location-dropdown.entry.js +563 -0
  793. package/dist/esm/ui-smart-stepper.entry.js +135 -0
  794. package/dist/esm/ui-snackbar.entry.js +861 -0
  795. package/dist/esm/ui-speed-dial.entry.js +518 -0
  796. package/dist/esm/ui-speedometer.entry.js +426 -0
  797. package/dist/esm/ui-splitter.entry.js +280 -0
  798. package/dist/esm/ui-step.entry.js +28 -0
  799. package/dist/esm/ui-stepper.entry.js +638 -0
  800. package/dist/esm/ui-switch.entry.js +403 -0
  801. package/dist/esm/ui-tabs.entry.js +701 -0
  802. package/dist/esm/ui-tag.entry.js +297 -0
  803. package/dist/esm/ui-timeline.entry.js +265 -0
  804. package/dist/esm/ui-timer.entry.js +500 -0
  805. package/dist/esm/ui-toolbar.entry.js +617 -0
  806. package/dist/esm/ui-tooltip.entry.js +695 -0
  807. package/dist/esm/ui-top-bar.entry.js +119 -0
  808. package/dist/esm/ui-transfer-list.entry.js +590 -0
  809. package/dist/esm/ui-tree.entry.js +872 -0
  810. package/dist/esm/ui-workspace-manager.entry.js +1199 -0
  811. package/dist/esm/utils-Ck6jDuhz.js +23 -0
  812. package/dist/exploration-project-tailwind/exploration-project-tailwind.css +1 -0
  813. package/dist/exploration-project-tailwind/exploration-project-tailwind.esm.js +1 -0
  814. package/dist/exploration-project-tailwind/index.esm.js +1 -0
  815. package/dist/exploration-project-tailwind/p-01c7db7a.entry.js +1 -0
  816. package/dist/exploration-project-tailwind/p-049744f9.entry.js +1 -0
  817. package/dist/exploration-project-tailwind/p-06f0c679.entry.js +1 -0
  818. package/dist/exploration-project-tailwind/p-0b004861.entry.js +1 -0
  819. package/dist/exploration-project-tailwind/p-0d31c9e9.entry.js +1 -0
  820. package/dist/exploration-project-tailwind/p-148e81df.entry.js +1 -0
  821. package/dist/exploration-project-tailwind/p-200241f8.entry.js +1 -0
  822. package/dist/exploration-project-tailwind/p-287dbf09.entry.js +1 -0
  823. package/dist/exploration-project-tailwind/p-2d273118.entry.js +1 -0
  824. package/dist/exploration-project-tailwind/p-2f1aebb3.entry.js +1 -0
  825. package/dist/exploration-project-tailwind/p-2f961934.entry.js +1 -0
  826. package/dist/exploration-project-tailwind/p-35296877.entry.js +1 -0
  827. package/dist/exploration-project-tailwind/p-36861546.entry.js +1 -0
  828. package/dist/exploration-project-tailwind/p-3d3d48fd.entry.js +1 -0
  829. package/dist/exploration-project-tailwind/p-41cd6bf0.entry.js +1 -0
  830. package/dist/exploration-project-tailwind/p-45482d86.entry.js +1 -0
  831. package/dist/exploration-project-tailwind/p-46596a28.entry.js +1 -0
  832. package/dist/exploration-project-tailwind/p-46efdea3.entry.js +1 -0
  833. package/dist/exploration-project-tailwind/p-47e2a7ee.entry.js +1 -0
  834. package/dist/exploration-project-tailwind/p-4d73c143.entry.js +1 -0
  835. package/dist/exploration-project-tailwind/p-4de419d5.entry.js +1 -0
  836. package/dist/exploration-project-tailwind/p-4f6bba75.entry.js +1 -0
  837. package/dist/exploration-project-tailwind/p-5508874f.entry.js +1 -0
  838. package/dist/exploration-project-tailwind/p-5ce0dbd8.entry.js +1 -0
  839. package/dist/exploration-project-tailwind/p-5e3e80ae.entry.js +1 -0
  840. package/dist/exploration-project-tailwind/p-61717490.entry.js +1 -0
  841. package/dist/exploration-project-tailwind/p-62352ef2.entry.js +1 -0
  842. package/dist/exploration-project-tailwind/p-64e3a484.entry.js +1 -0
  843. package/dist/exploration-project-tailwind/p-6ab80ead.entry.js +1 -0
  844. package/dist/exploration-project-tailwind/p-6e9694f2.entry.js +1 -0
  845. package/dist/exploration-project-tailwind/p-6fa9dc15.entry.js +1 -0
  846. package/dist/exploration-project-tailwind/p-70d82d79.entry.js +1 -0
  847. package/dist/exploration-project-tailwind/p-717dad1f.entry.js +1 -0
  848. package/dist/exploration-project-tailwind/p-7376ac95.entry.js +1 -0
  849. package/dist/exploration-project-tailwind/p-73d29a4a.entry.js +1 -0
  850. package/dist/exploration-project-tailwind/p-7515b1e3.entry.js +1 -0
  851. package/dist/exploration-project-tailwind/p-77124686.entry.js +1 -0
  852. package/dist/exploration-project-tailwind/p-77a21491.entry.js +1 -0
  853. package/dist/exploration-project-tailwind/p-77cc333a.entry.js +1 -0
  854. package/dist/exploration-project-tailwind/p-7f91d949.entry.js +1 -0
  855. package/dist/exploration-project-tailwind/p-807c6555.entry.js +1 -0
  856. package/dist/exploration-project-tailwind/p-81961fb1.entry.js +1 -0
  857. package/dist/exploration-project-tailwind/p-85bf89fd.entry.js +1 -0
  858. package/dist/exploration-project-tailwind/p-85e36111.entry.js +1 -0
  859. package/dist/exploration-project-tailwind/p-875be805.entry.js +1 -0
  860. package/dist/exploration-project-tailwind/p-898dd0fa.entry.js +1 -0
  861. package/dist/exploration-project-tailwind/p-8d951aef.entry.js +1 -0
  862. package/dist/exploration-project-tailwind/p-9d0c8760.entry.js +1 -0
  863. package/dist/exploration-project-tailwind/p-9fa70359.entry.js +1 -0
  864. package/dist/exploration-project-tailwind/p-9fc06ff0.entry.js +1 -0
  865. package/dist/exploration-project-tailwind/p-BMFah5q3.js +1 -0
  866. package/dist/exploration-project-tailwind/p-BSQ8klD4.js +1 -0
  867. package/dist/exploration-project-tailwind/p-C7gf39HE.js +1 -0
  868. package/dist/exploration-project-tailwind/p-Ck6jDuhz.js +1 -0
  869. package/dist/exploration-project-tailwind/p-D2WzX6vR.js +2 -0
  870. package/dist/exploration-project-tailwind/p-DUsoYu9r.js +2 -0
  871. package/dist/exploration-project-tailwind/p-a1ad32a2.entry.js +1 -0
  872. package/dist/exploration-project-tailwind/p-a3f465d9.entry.js +1 -0
  873. package/dist/exploration-project-tailwind/p-a42fdc33.entry.js +1 -0
  874. package/dist/exploration-project-tailwind/p-a4f52a76.entry.js +1 -0
  875. package/dist/exploration-project-tailwind/p-aa85ff78.entry.js +1 -0
  876. package/dist/exploration-project-tailwind/p-ab752761.entry.js +1 -0
  877. package/dist/exploration-project-tailwind/p-ba21fed3.entry.js +1 -0
  878. package/dist/exploration-project-tailwind/p-c174a372.entry.js +1 -0
  879. package/dist/exploration-project-tailwind/p-c2ca71ac.entry.js +1 -0
  880. package/dist/exploration-project-tailwind/p-c4ba7e52.entry.js +1 -0
  881. package/dist/exploration-project-tailwind/p-c5ddc817.entry.js +1 -0
  882. package/dist/exploration-project-tailwind/p-c69dd43e.entry.js +1 -0
  883. package/dist/exploration-project-tailwind/p-c6fd72e1.entry.js +1 -0
  884. package/dist/exploration-project-tailwind/p-c7e87fbb.entry.js +1 -0
  885. package/dist/exploration-project-tailwind/p-c87aeab6.entry.js +1 -0
  886. package/dist/exploration-project-tailwind/p-c90722ec.entry.js +1 -0
  887. package/dist/exploration-project-tailwind/p-ccb5c737.entry.js +1 -0
  888. package/dist/exploration-project-tailwind/p-ce1222a1.entry.js +1 -0
  889. package/dist/exploration-project-tailwind/p-d16c9635.entry.js +1 -0
  890. package/dist/exploration-project-tailwind/p-d2308a00.entry.js +1 -0
  891. package/dist/exploration-project-tailwind/p-d30e24bd.entry.js +1 -0
  892. package/dist/exploration-project-tailwind/p-d419eaf0.entry.js +1 -0
  893. package/dist/exploration-project-tailwind/p-debede45.entry.js +1 -0
  894. package/dist/exploration-project-tailwind/p-e5322e59.entry.js +1 -0
  895. package/dist/exploration-project-tailwind/p-e8ba0c95.entry.js +1 -0
  896. package/dist/exploration-project-tailwind/p-e90d5307.entry.js +1 -0
  897. package/dist/exploration-project-tailwind/p-ea51c5d8.entry.js +1 -0
  898. package/dist/exploration-project-tailwind/p-ecda1cc3.entry.js +1 -0
  899. package/dist/exploration-project-tailwind/p-f0830120.entry.js +1 -0
  900. package/dist/exploration-project-tailwind/p-f11e5cae.entry.js +1 -0
  901. package/dist/exploration-project-tailwind/p-f5719913.entry.js +1 -0
  902. package/dist/exploration-project-tailwind/p-ffb1754a.entry.js +1 -0
  903. package/dist/exploration-project-tailwind/p-vwwmWKs9.js +1 -0
  904. package/dist/index.cjs.js +1 -0
  905. package/dist/index.js +1 -0
  906. package/dist/types/components/accordion/accordion.d.ts +352 -0
  907. package/dist/types/components/accordion/types.d.ts +69 -0
  908. package/dist/types/components/advanced-data-table/advanced-data-table.d.ts +697 -0
  909. package/dist/types/components/advanced-data-table/types.d.ts +120 -0
  910. package/dist/types/components/anchor/anchor.d.ts +133 -0
  911. package/dist/types/components/anchor/types.d.ts +17 -0
  912. package/dist/types/components/animate-on-scroll/animate-on-scroll.d.ts +101 -0
  913. package/dist/types/components/aside-panel/aside-panel.d.ts +249 -0
  914. package/dist/types/components/avatar/avatar.d.ts +201 -0
  915. package/dist/types/components/avatar/types.d.ts +132 -0
  916. package/dist/types/components/avatar-group/avatar-group.d.ts +52 -0
  917. package/dist/types/components/avatar-group/types.d.ts +31 -0
  918. package/dist/types/components/badge/badge.d.ts +109 -0
  919. package/dist/types/components/badge/types.d.ts +6 -0
  920. package/dist/types/components/breadcrumb/breadcrumb-item.d.ts +36 -0
  921. package/dist/types/components/breadcrumb/breadcrumb.d.ts +73 -0
  922. package/dist/types/components/breadcrumb/types.d.ts +5 -0
  923. package/dist/types/components/button/button.d.ts +133 -0
  924. package/dist/types/components/button/types.d.ts +1 -0
  925. package/dist/types/components/button-toggle/button-toggle.d.ts +64 -0
  926. package/dist/types/components/button-toggle-group/button-toggle-group.d.ts +141 -0
  927. package/dist/types/components/button-toggle-group/types.d.ts +7 -0
  928. package/dist/types/components/callout-banner/callout-banner.d.ts +115 -0
  929. package/dist/types/components/callout-banner/types.d.ts +7 -0
  930. package/dist/types/components/card/card.d.ts +160 -0
  931. package/dist/types/components/card/types.d.ts +13 -0
  932. package/dist/types/components/carousel/carousel.d.ts +150 -0
  933. package/dist/types/components/carousel/types.d.ts +8 -0
  934. package/dist/types/components/checkbox/checkbox.d.ts +92 -0
  935. package/dist/types/components/checkbox/types.d.ts +5 -0
  936. package/dist/types/components/checkbox-group/checkbox-group.d.ts +87 -0
  937. package/dist/types/components/checkbox-group/types.d.ts +8 -0
  938. package/dist/types/components/code-editor/code-editor.d.ts +147 -0
  939. package/dist/types/components/code-editor/types.d.ts +20 -0
  940. package/dist/types/components/code-preview/types.d.ts +5 -0
  941. package/dist/types/components/code-preview/ui-code-preview.d.ts +69 -0
  942. package/dist/types/components/color-controller/color-controller.d.ts +24 -0
  943. package/dist/types/components/color-picker/color-picker.d.ts +116 -0
  944. package/dist/types/components/color-picker/types.d.ts +24 -0
  945. package/dist/types/components/command-palette/command-palette.d.ts +41 -0
  946. package/dist/types/components/command-palette/types.d.ts +7 -0
  947. package/dist/types/components/context-menu/context-menu.d.ts +135 -0
  948. package/dist/types/components/context-menu/types.d.ts +20 -0
  949. package/dist/types/components/dialog-box/dialog-box.d.ts +648 -0
  950. package/dist/types/components/dialog-box/types.d.ts +1 -0
  951. package/dist/types/components/dialog-content/dialog-content.d.ts +9 -0
  952. package/dist/types/components/dialog-footer/dialog-footer.d.ts +9 -0
  953. package/dist/types/components/dialog-footer/types.d.ts +1 -0
  954. package/dist/types/components/dialog-header/dialog-header.d.ts +102 -0
  955. package/dist/types/components/dialog-header/types.d.ts +2 -0
  956. package/dist/types/components/divider/divider.d.ts +245 -0
  957. package/dist/types/components/divider/types.d.ts +14 -0
  958. package/dist/types/components/dock/dock.d.ts +37 -0
  959. package/dist/types/components/dock/types.d.ts +11 -0
  960. package/dist/types/components/dock-host/index.d.ts +1 -0
  961. package/dist/types/components/dock-host/types.d.ts +1 -0
  962. package/dist/types/components/dock-host/ui-dock-host.d.ts +23 -0
  963. package/dist/types/components/drag-drop/drag-drop.d.ts +52 -0
  964. package/dist/types/components/drag-drop/types.d.ts +9 -0
  965. package/dist/types/components/dropdown/dropdown.d.ts +264 -0
  966. package/dist/types/components/dropdown/types.d.ts +19 -0
  967. package/dist/types/components/empty-state/empty-state.d.ts +74 -0
  968. package/dist/types/components/empty-state/types.d.ts +13 -0
  969. package/dist/types/components/fab/fab.d.ts +73 -0
  970. package/dist/types/components/fab-item/fab-item.d.ts +14 -0
  971. package/dist/types/components/fab-item/types.d.ts +3 -0
  972. package/dist/types/components/file-upload/file-upload.d.ts +91 -0
  973. package/dist/types/components/file-upload/types.d.ts +15 -0
  974. package/dist/types/components/horizontal-nav/horizontal-nav.d.ts +68 -0
  975. package/dist/types/components/icon/icon.d.ts +66 -0
  976. package/dist/types/components/image-button/image-button.d.ts +31 -0
  977. package/dist/types/components/image-button/types.d.ts +1 -0
  978. package/dist/types/components/input/input.d.ts +217 -0
  979. package/dist/types/components/input/types.d.ts +6 -0
  980. package/dist/types/components/input-pair/input-pair.d.ts +28 -0
  981. package/dist/types/components/knob/knob.d.ts +147 -0
  982. package/dist/types/components/knob/types.d.ts +4 -0
  983. package/dist/types/components/layout-manager/layout-manager.d.ts +32 -0
  984. package/dist/types/components/layout-manager/lm-container/lm-container.d.ts +7 -0
  985. package/dist/types/components/layout-manager/lm-floating-window/lm-floating-window.d.ts +6 -0
  986. package/dist/types/components/layout-manager/lm-panel/lm-panel.d.ts +7 -0
  987. package/dist/types/components/layout-manager/lm-splitter/lm-splitter.d.ts +12 -0
  988. package/dist/types/components/layout-manager/lm-tabs/lm-tabs.d.ts +12 -0
  989. package/dist/types/components/layout-manager/types.d.ts +1 -0
  990. package/dist/types/components/library/category-section.d.ts +15 -0
  991. package/dist/types/components/library/data.d.ts +11 -0
  992. package/dist/types/components/library/library-card.d.ts +19 -0
  993. package/dist/types/components/library/library.d.ts +9 -0
  994. package/dist/types/components/list/list.d.ts +183 -0
  995. package/dist/types/components/list-group/list-group.d.ts +28 -0
  996. package/dist/types/components/list-item/list-item.d.ts +200 -0
  997. package/dist/types/components/masonry/masonry.d.ts +105 -0
  998. package/dist/types/components/masonry/types.d.ts +5 -0
  999. package/dist/types/components/meter-group/meter-group.d.ts +66 -0
  1000. package/dist/types/components/meter-group/types.d.ts +12 -0
  1001. package/dist/types/components/my-component/my-component.d.ts +16 -0
  1002. package/dist/types/components/my-step/index.d.ts +12 -0
  1003. package/dist/types/components/my-step/my-step.d.ts +13 -0
  1004. package/dist/types/components/nav-bar/nav-bar.d.ts +119 -0
  1005. package/dist/types/components/number-input/number-input.d.ts +72 -0
  1006. package/dist/types/components/otp-input/otp-input.d.ts +64 -0
  1007. package/dist/types/components/otp-input/types.d.ts +3 -0
  1008. package/dist/types/components/pagination/pagination.d.ts +295 -0
  1009. package/dist/types/components/pagination/types.d.ts +1 -0
  1010. package/dist/types/components/panel/panel.d.ts +275 -0
  1011. package/dist/types/components/panel/types.d.ts +7 -0
  1012. package/dist/types/components/pattern-input/pattern-input.d.ts +88 -0
  1013. package/dist/types/components/popover/popover.d.ts +161 -0
  1014. package/dist/types/components/popover/types.d.ts +3 -0
  1015. package/dist/types/components/progress/progress.d.ts +224 -0
  1016. package/dist/types/components/progress/types.d.ts +6 -0
  1017. package/dist/types/components/radio/radio.d.ts +87 -0
  1018. package/dist/types/components/radio/types.d.ts +7 -0
  1019. package/dist/types/components/radio-group/radio-group.d.ts +74 -0
  1020. package/dist/types/components/radio-group/types.d.ts +2 -0
  1021. package/dist/types/components/range-slider/range-slider.d.ts +201 -0
  1022. package/dist/types/components/range-slider/types.d.ts +4 -0
  1023. package/dist/types/components/rating/rating.d.ts +127 -0
  1024. package/dist/types/components/rating/types.d.ts +1 -0
  1025. package/dist/types/components/resizable-panel/resizable-panel.d.ts +59 -0
  1026. package/dist/types/components/resizable-panel/types.d.ts +11 -0
  1027. package/dist/types/components/scroll-top/scroll-top.d.ts +186 -0
  1028. package/dist/types/components/scroll-top/types.d.ts +1 -0
  1029. package/dist/types/components/skeleton/skeleton-loader.d.ts +149 -0
  1030. package/dist/types/components/skeleton/types.d.ts +1 -0
  1031. package/dist/types/components/smart-location-dropdown/smart-location-dropdown.d.ts +119 -0
  1032. package/dist/types/components/smart-location-dropdown/types.d.ts +37 -0
  1033. package/dist/types/components/smart-menu/menu-item.interface.d.ts +10 -0
  1034. package/dist/types/components/smart-menu/smart-menu.d.ts +64 -0
  1035. package/dist/types/components/smart-stepper/smart-step.d.ts +29 -0
  1036. package/dist/types/components/smart-stepper/smart-stepper.d.ts +53 -0
  1037. package/dist/types/components/snackbar/snackbar.d.ts +223 -0
  1038. package/dist/types/components/snackbar/types.d.ts +104 -0
  1039. package/dist/types/components/speed-dial/speed-dial.d.ts +171 -0
  1040. package/dist/types/components/speed-dial/types.d.ts +11 -0
  1041. package/dist/types/components/speedometer/speedometer.d.ts +125 -0
  1042. package/dist/types/components/speedometer/types.d.ts +8 -0
  1043. package/dist/types/components/splitter/splitter.d.ts +63 -0
  1044. package/dist/types/components/splitter/types.d.ts +9 -0
  1045. package/dist/types/components/stack/stack.d.ts +34 -0
  1046. package/dist/types/components/stack/types.d.ts +3 -0
  1047. package/dist/types/components/step/step.d.ts +16 -0
  1048. package/dist/types/components/step/types.d.ts +1 -0
  1049. package/dist/types/components/stepper/stepper.d.ts +218 -0
  1050. package/dist/types/components/stepper/types.d.ts +39 -0
  1051. package/dist/types/components/switch/switch.d.ts +162 -0
  1052. package/dist/types/components/tabs/tabs.d.ts +182 -0
  1053. package/dist/types/components/tabs/types.d.ts +17 -0
  1054. package/dist/types/components/tag/tag.d.ts +172 -0
  1055. package/dist/types/components/tag/types.d.ts +4 -0
  1056. package/dist/types/components/tag-group/tag-group.d.ts +107 -0
  1057. package/dist/types/components/tag-group/types.d.ts +2 -0
  1058. package/dist/types/components/timeline/timeline.d.ts +73 -0
  1059. package/dist/types/components/timeline/types.d.ts +28 -0
  1060. package/dist/types/components/timeline/ui-timeline.stories.d.ts +9 -0
  1061. package/dist/types/components/timeline-item/timeline-item.d.ts +15 -0
  1062. package/dist/types/components/timer/timer.d.ts +123 -0
  1063. package/dist/types/components/timer/types.d.ts +18 -0
  1064. package/dist/types/components/timer/ui-timer.stories.d.ts +9 -0
  1065. package/dist/types/components/toggle-group/toggle-group.d.ts +136 -0
  1066. package/dist/types/components/toggle-group/types.d.ts +5 -0
  1067. package/dist/types/components/toolbar/toolbar-types.d.ts +189 -0
  1068. package/dist/types/components/toolbar/toolbar.d.ts +150 -0
  1069. package/dist/types/components/tooltip/tooltip.d.ts +166 -0
  1070. package/dist/types/components/tooltip/types.d.ts +3 -0
  1071. package/dist/types/components/top-bar/top-bar.d.ts +76 -0
  1072. package/dist/types/components/transfer-list/transfer-list.d.ts +137 -0
  1073. package/dist/types/components/transfer-list/types.d.ts +13 -0
  1074. package/dist/types/components/tree/tree.d.ts +180 -0
  1075. package/dist/types/components/tree/types.d.ts +76 -0
  1076. package/dist/types/components/ui-navigation-bar/navigation-bar/navigation-bar.d.ts +108 -0
  1077. package/dist/types/components/ui-navigation-bar/navigation-bar/navigation-types.d.ts +17 -0
  1078. package/dist/types/components/ui-navigation-bar/navigation-item.d.ts +26 -0
  1079. package/dist/types/components/ui-navigation-bar/navigation-types.d.ts +19 -0
  1080. package/dist/types/components/workspace-manager/types.d.ts +48 -0
  1081. package/dist/types/components/workspace-manager/workspace-manager.d.ts +211 -0
  1082. package/dist/types/components.d.ts +29634 -0
  1083. package/dist/types/index.d.ts +21 -0
  1084. package/dist/types/service/drag-manager.d.ts +8 -0
  1085. package/dist/types/service/event-bus.d.ts +9 -0
  1086. package/dist/types/service/serialization.d.ts +5 -0
  1087. package/dist/types/service/state-engine.d.ts +25 -0
  1088. package/dist/types/service/theme-switcher.d.ts +46 -0
  1089. package/dist/types/stencil-public-runtime.d.ts +1860 -0
  1090. package/dist/types/types/animation.type.d.ts +96 -0
  1091. package/dist/types/types/common.d.ts +52 -0
  1092. package/dist/types/types/common.type.d.ts +608 -0
  1093. package/dist/types/types/index.d.ts +37 -0
  1094. package/dist/types/types/text.type.d.ts +32 -0
  1095. package/dist/types/utils/aria-live.d.ts +20 -0
  1096. package/dist/types/utils/component-size.d.ts +2 -0
  1097. package/dist/types/utils/dom.d.ts +58 -0
  1098. package/dist/types/utils/focus-trap.d.ts +35 -0
  1099. package/dist/types/utils/security.d.ts +5 -0
  1100. package/dist/types/utils/test/setup-component-test-env.d.ts +14 -0
  1101. package/dist/types/utils/utils.d.ts +7 -0
  1102. package/dist/types/utils/validation.d.ts +43 -0
  1103. package/loader/cdn.js +1 -0
  1104. package/loader/index.cjs.js +1 -0
  1105. package/loader/index.d.ts +24 -0
  1106. package/loader/index.es2017.js +1 -0
  1107. package/loader/index.js +2 -0
  1108. package/package.json +77 -0
@@ -0,0 +1,1954 @@
1
+ // Accordion Demo - Enhanced with 15+ New Features
2
+ export function initAccordionDemo() {
3
+ const section = document.getElementById('accordion');
4
+ if (!section) return;
5
+
6
+ section.innerHTML = `
7
+ <p style="margin-top: 0; opacity: 0.7; font-size: 14px; margin-bottom: 24px;">Collapsible content sections with 15+ powerful features including search, drag & drop, nested items, and more.</p>
8
+
9
+ <div class="demo-controls-wrapper" style="max-height: 250px; overflow-y: auto; padding: 20px; border-radius: 16px; background: rgba(var(--bg-primary-rgb, 255, 255, 255), 0.5); border: 1px solid rgba(128, 128, 128, 0.1);">
10
+ <div class="demo-grid-wrapper">
11
+ <ui-button id="btnInteractive" label="🎮 Interactive" size="xs" variant="outline"></ui-button>
12
+ <ui-button id="btnBasic" label="Basic" size="xs" variant="outline"></ui-button>
13
+ <ui-button id="btnSubtitle" label="📝 Subtitles" size="xs" variant="outline"></ui-button>
14
+ <ui-button id="btnParagraphs" label="📄 Paragraphs" size="xs" variant="outline"></ui-button>
15
+ <ui-button id="btnSearch" label="🔍 Search" size="xs" variant="outline"></ui-button>
16
+ <ui-button id="btnActions" label="⚡ Actions" size="xs" variant="outline"></ui-button>
17
+ <ui-button id="btnNested" label="🌳 Nested" size="xs" variant="outline"></ui-button>
18
+ <ui-button id="btnDragDrop" label="🎯 Drag & Drop" size="xs" variant="outline"></ui-button>
19
+ <ui-button id="btnPersistence" label="💾 Persistence" size="xs" variant="outline"></ui-button>
20
+ <ui-button id="btnLoading" label="⏳ Loading" size="xs" variant="outline"></ui-button>
21
+ <ui-button id="btnRTL" label="🌍 RTL" size="xs" variant="outline"></ui-button>
22
+ <ui-button id="btnDense" label="📦 Dense" size="xs" variant="outline"></ui-button>
23
+ <ui-button id="btnEvents" label="📡 Events" size="xs" variant="outline"></ui-button>
24
+ <ui-button id="btnControlled" label="🎮 Controlled" size="xs" variant="outline"></ui-button>
25
+ <ui-button id="btnAsync" label="⏳ Async" size="xs" variant="outline"></ui-button>
26
+ <ui-button id="btnSlot" label="🧩 Slots" size="xs" variant="outline"></ui-button>
27
+ <ui-button id="btnEmoji" label="😊 Emojis" size="xs" variant="outline"></ui-button>
28
+ <ui-button id="btnCardList" label="📇 Card List" size="xs" variant="outline"></ui-button>
29
+ <ui-button id="btnDropdown" label="🔽 Dropdown" size="xs" variant="outline"></ui-button>
30
+ <ui-button id="btnAutoScroll" label="📜 Auto Scroll" size="xs" variant="outline"></ui-button>
31
+ <ui-button id="btnPhysics" label="🧬 Physics" size="xs" variant="outline"></ui-button>
32
+ <ui-button id="btnHeadline" label="💡 Headlines" size="xs" variant="outline"></ui-button>
33
+ <ui-button id="btnCollabAI" label="🤖 AI & Collab" size="xs" variant="outline"></ui-button>
34
+ <ui-button id="btnSuccess" label="✨ Success" size="xs" variant="outline"></ui-button>
35
+ <ui-button id="btnSelection" label="📍 Selection" size="xs" variant="outline"></ui-button>
36
+ <ui-button id="btnGodTier" label="⚡ God-Tier" size="xs" variant="outline"></ui-button>
37
+ <ui-button id="btnZenith" label="🛠️ Zenith" size="xs" variant="outline"></ui-button>
38
+ <ui-button id="btnVeto" label="🚥 Veto" size="xs" variant="outline"></ui-button>
39
+ </div>
40
+ </div>
41
+
42
+ <div id="accordionDemoContainer" style="margin-top: 32px; padding: 32px; background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%); border-radius: 24px; border: 1px solid #dcfce7; box-shadow: 0 10px 25px -5px rgba(16, 185, 129, 0.05);"></div>
43
+ `;
44
+
45
+ // Map of buttons to functions
46
+ const demoMap = {
47
+ btnInteractive: showInteractiveAccordion,
48
+ btnBasic: showBasicAccordion,
49
+ btnSubtitle: showSubtitleAccordion,
50
+ btnParagraphs: showParagraphAccordion,
51
+ btnSearch: showSearchAccordion,
52
+ btnActions: showActionsAccordion,
53
+ btnNested: showNestedAccordion,
54
+ btnDragDrop: showDragDropAccordion,
55
+ btnPersistence: showPersistenceAccordion,
56
+ btnLoading: showLoadingAccordion,
57
+ btnRTL: showRTLAccordion,
58
+ btnDense: showDenseAccordion,
59
+ btnEvents: showEventsAccordion,
60
+ btnControlled: showControlledAccordion,
61
+ btnAsync: showAsyncAccordion,
62
+ btnSlot: showSlotAccordion,
63
+ btnEmoji: showEmojiAccordion,
64
+ btnCardList: showCardListAccordion,
65
+ btnDropdown: showDropdownInAccordion,
66
+ btnAutoScroll: showAutoScrollAccordion,
67
+ btnPhysics: showPhysicsAccordion,
68
+ btnHeadline: showHeadlineDemo,
69
+ btnCollabAI: showCollabAIDemo,
70
+ btnSuccess: showSuccessAccordion,
71
+ btnSelection: showSelectionDemo,
72
+ btnGodTier: showGodTierDemo,
73
+ btnZenith: showZenithControls,
74
+ btnVeto: showVetoAccordion,
75
+ };
76
+
77
+ const updateActiveDemoButton = selectedId => {
78
+ Object.keys(demoMap).forEach(id => {
79
+ const btn = document.getElementById(id);
80
+ if (btn) {
81
+ btn.selected = id === selectedId;
82
+ }
83
+ });
84
+ };
85
+
86
+ setTimeout(() => {
87
+ // Attach event listeners to all buttons
88
+ Object.keys(demoMap).forEach(id => {
89
+ const btn = document.getElementById(id);
90
+ if (btn) {
91
+ btn.addEventListener('click', () => {
92
+ const func = demoMap[id];
93
+ if (func) {
94
+ func();
95
+ updateActiveDemoButton(id);
96
+ }
97
+ });
98
+ }
99
+ });
100
+
101
+ // Default view
102
+ updateActiveDemoButton('btnBasic');
103
+ showBasicAccordion();
104
+ }, 100);
105
+
106
+ // ── Demo Functions ──────────────────────────────────────────────────────────
107
+
108
+ function showBasicAccordion() {
109
+ const container = document.getElementById('accordionDemoContainer');
110
+ if (!container) return;
111
+
112
+ container.innerHTML = `
113
+ <div class="demo-block">
114
+ <h3>Basic Accordion</h3>
115
+ <ui-accordion id="basicAccordion" icon-library="lucide"></ui-accordion>
116
+ </div>
117
+ `;
118
+
119
+ setTimeout(() => {
120
+ const accordion = document.getElementById('basicAccordion');
121
+ if (accordion) {
122
+ accordion.items = [
123
+ {
124
+ id: 'item1',
125
+ title: 'What is Stencil?',
126
+ content: 'Stencil is a toolchain for building reusable, scalable Design Systems. It generates Web Components that can be used in any framework or no framework at all.',
127
+ icon: 'info',
128
+ },
129
+ {
130
+ id: 'item2',
131
+ title: 'Why use Web Components?',
132
+ content: '<ul style="margin:0;"><li>Web Components standard</li><li>TypeScript support</li><li>Framework agnostic</li><li>Lazy loading</li><li>Pre-rendering</li></ul>',
133
+ icon: 'zap',
134
+ },
135
+ {
136
+ id: 'item3',
137
+ title: 'Getting Started',
138
+ content: 'Install Stencil CLI with <code>npm init stencil</code> and choose a starter template. Then run <code>npm start</code> to begin development.',
139
+ icon: 'rocket',
140
+ },
141
+ ];
142
+ accordion.defaultOpen = ['item1'];
143
+ }
144
+ }, 50);
145
+ }
146
+
147
+ // Subtitle Accordion
148
+ function showSubtitleAccordion() {
149
+ const container = document.getElementById('accordionDemoContainer');
150
+ if (!container) return;
151
+
152
+ container.innerHTML = `
153
+ <div class="demo-block">
154
+ <h3>📝 Accordion with Subtitles</h3>
155
+ <p style="color: #6b7280; margin-bottom: 16px;">Each item can have a subtitle for additional context.</p>
156
+ <ui-accordion id="subtitleAccordion" icon-library="lucide"></ui-accordion>
157
+ </div>
158
+ `;
159
+
160
+ setTimeout(() => {
161
+ const accordion = document.getElementById('subtitleAccordion');
162
+ if (accordion) {
163
+ accordion.items = [
164
+ {
165
+ id: 'profile',
166
+ title: 'User Profile',
167
+ subtitle: 'Manage your personal information',
168
+ content: 'Update your name, email, avatar, and other profile details here.',
169
+ icon: 'user',
170
+ },
171
+ {
172
+ id: 'security',
173
+ title: 'Security Settings',
174
+ subtitle: 'Password, 2FA, and login history',
175
+ content: 'Configure two-factor authentication, change your password, and review recent login activity.',
176
+ icon: 'lock',
177
+ },
178
+ {
179
+ id: 'notifications',
180
+ title: 'Notifications',
181
+ subtitle: 'Email and push notification preferences',
182
+ content: 'Choose which notifications you want to receive and how you want to be notified.',
183
+ icon: 'bell',
184
+ badge: 3,
185
+ },
186
+ ];
187
+ }
188
+ }, 50);
189
+ }
190
+
191
+ // Search Accordion
192
+ function showSearchAccordion() {
193
+ const container = document.getElementById('accordionDemoContainer');
194
+ if (!container) return;
195
+
196
+ container.innerHTML = `
197
+ <div class="demo-block">
198
+ <h3>🔍 Accordion with Search</h3>
199
+ <p style="color: #6b7280; margin-bottom: 16px;">Filter items in real-time with search highlighting.</p>
200
+ <ui-accordion id="searchAccordion" enable-search="true" multiple="true" icon-library="lucide"></ui-accordion>
201
+ </div>
202
+ `;
203
+
204
+ setTimeout(() => {
205
+ const accordion = document.getElementById('searchAccordion');
206
+ if (accordion) {
207
+ accordion.items = JSON.stringify([
208
+ {
209
+ id: 'react',
210
+ title: 'React',
211
+ subtitle: 'A JavaScript library for building user interfaces',
212
+ content: 'React makes it painless to create interactive UIs. Design simple views for each state in your application.',
213
+ icon: 'layers',
214
+ },
215
+ {
216
+ id: 'vue',
217
+ title: 'Vue.js',
218
+ subtitle: 'The Progressive JavaScript Framework',
219
+ content: 'Vue is a progressive framework for building user interfaces. It is designed to be incrementally adoptable.',
220
+ icon: 'heart',
221
+ },
222
+ {
223
+ id: 'angular',
224
+ title: 'Angular',
225
+ subtitle: 'Platform for building mobile and desktop web applications',
226
+ content: 'Angular is a platform and framework for building single-page client applications using HTML and TypeScript.',
227
+ icon: 'triangle',
228
+ },
229
+ {
230
+ id: 'svelte',
231
+ title: 'Svelte',
232
+ subtitle: 'Cybernetically enhanced web apps',
233
+ content: 'Svelte is a radical new approach to building user interfaces. It shifts work into a compile step.',
234
+ icon: 'flame',
235
+ },
236
+ ]);
237
+ }
238
+ }, 50);
239
+ }
240
+
241
+ // Actions Accordion
242
+ function showActionsAccordion() {
243
+ const container = document.getElementById('accordionDemoContainer');
244
+ if (!container) return;
245
+
246
+ container.innerHTML = `
247
+ <div class="demo-block">
248
+ <h3>⚡ Accordion with Action Buttons</h3>
249
+ <p style="color: #6b7280; margin-bottom: 16px;">Add interactive buttons to accordion headers.</p>
250
+ <ui-accordion id="actionsAccordion" icon-library="lucide"></ui-accordion>
251
+ <div id="actionLog" style="margin-top: 16px; padding: 12px; background: #f3f4f6; border-radius: 6px; font-size: 13px; max-height: 150px; overflow-y: auto;"></div>
252
+ </div>
253
+ `;
254
+
255
+ setTimeout(() => {
256
+ const accordion = document.getElementById('actionsAccordion');
257
+ const actionLog = document.getElementById('actionLog');
258
+
259
+ if (accordion) {
260
+ accordion.items = JSON.stringify([
261
+ {
262
+ id: 'doc1',
263
+ title: 'Project Proposal.docx',
264
+ subtitle: 'Last modified: 2 hours ago',
265
+ content: 'This is the main project proposal document containing all requirements and specifications.',
266
+ icon: 'file',
267
+ actions: [
268
+ { id: 'edit', label: 'Edit', icon: 'pencil' },
269
+ { id: 'share', label: 'Share', icon: 'link' },
270
+ { id: 'delete', label: 'Delete', icon: 'trash-2' },
271
+ ],
272
+ },
273
+ {
274
+ id: 'doc2',
275
+ title: 'Budget Report.xlsx',
276
+ subtitle: 'Last modified: 1 day ago',
277
+ content: 'Financial budget report for Q1 2024 with detailed breakdowns.',
278
+ icon: 'bar-chart-2',
279
+ actions: [
280
+ { id: 'download', label: 'Download', icon: 'download' },
281
+ { id: 'print', label: 'Print', icon: 'printer' },
282
+ ],
283
+ },
284
+ ]);
285
+
286
+ // Listen to action events
287
+ accordion.addEventListener('accordionAction', e => {
288
+ const { itemId, actionId, action } = e.detail;
289
+ const logEntry = document.createElement('div');
290
+ logEntry.style.marginBottom = '4px';
291
+ logEntry.innerHTML = `<strong>${new Date().toLocaleTimeString()}</strong>: Action "${action.label}" (${actionId}) clicked on item "${itemId}"`;
292
+ actionLog.prepend(logEntry);
293
+ });
294
+ }
295
+ }, 50);
296
+ }
297
+
298
+ // Nested Accordion
299
+ function showNestedAccordion() {
300
+ const container = document.getElementById('accordionDemoContainer');
301
+ if (!container) return;
302
+
303
+ container.innerHTML = `
304
+ <div class="demo-block">
305
+ <h3>🌳 Nested Accordion with Visual Guides</h3>
306
+ <p style="color: #6b7280; margin-bottom: 16px;">Create hierarchical structures with Apex-tier visual nesting guides (vertical connecting lines).</p>
307
+ <ui-accordion id="nestedAccordion" enable-nested="true" multiple="true" icon-library="lucide"></ui-accordion>
308
+ </div>
309
+ `;
310
+
311
+ setTimeout(() => {
312
+ const accordion = document.getElementById('nestedAccordion');
313
+ if (accordion) {
314
+ accordion.items = JSON.stringify([
315
+ {
316
+ id: 'frontend',
317
+ title: 'Frontend Development',
318
+ subtitle: '3 subcategories',
319
+ content: 'All frontend-related topics and resources.',
320
+ icon: 'palette',
321
+ children: [
322
+ {
323
+ id: 'html',
324
+ title: 'HTML',
325
+ content: 'HyperText Markup Language - the standard markup language for Web pages.',
326
+ icon: 'file-text',
327
+ },
328
+ {
329
+ id: 'css',
330
+ title: 'CSS',
331
+ content: 'Cascading Style Sheets - describes how HTML elements are to be displayed.',
332
+ icon: 'palette',
333
+ },
334
+ {
335
+ id: 'js',
336
+ title: 'JavaScript',
337
+ content: 'Programming language that enables interactive web pages.',
338
+ icon: 'zap',
339
+ },
340
+ ],
341
+ },
342
+ {
343
+ id: 'backend',
344
+ title: 'Backend Development',
345
+ subtitle: '2 subcategories',
346
+ content: 'Server-side development topics.',
347
+ icon: 'settings',
348
+ children: [
349
+ {
350
+ id: 'nodejs',
351
+ title: 'Node.js',
352
+ content: "JavaScript runtime built on Chrome's V8 JavaScript engine.",
353
+ icon: 'heart',
354
+ },
355
+ {
356
+ id: 'databases',
357
+ title: 'Databases',
358
+ content: 'SQL and NoSQL database systems.',
359
+ icon: 'database',
360
+ },
361
+ ],
362
+ },
363
+ ]);
364
+ }
365
+ }, 50);
366
+ }
367
+
368
+ // Drag & Drop Accordion
369
+ function showDragDropAccordion() {
370
+ const container = document.getElementById('accordionDemoContainer');
371
+ if (!container) return;
372
+
373
+ container.innerHTML = `
374
+ <div class="demo-block">
375
+ <h3>🎯 Drag & Drop Reordering</h3>
376
+ <p style="color: #6b7280; margin-bottom: 16px;">Drag items to reorder them.</p>
377
+ <ui-accordion id="dragDropAccordion" enable-drag-drop="true" icon-library="lucide"></ui-accordion>
378
+ <div id="reorderLog" style="margin-top: 16px; padding: 12px; background: #f3f4f6; border-radius: 6px; font-size: 13px;"></div>
379
+ </div>
380
+ `;
381
+
382
+ setTimeout(() => {
383
+ const accordion = document.getElementById('dragDropAccordion');
384
+ const reorderLog = document.getElementById('reorderLog');
385
+
386
+ if (accordion) {
387
+ accordion.items = JSON.stringify([
388
+ { id: 'task1', title: '1. First Task', content: 'Complete project setup', icon: 'clipboard-list' },
389
+ { id: 'task2', title: '2. Second Task', content: 'Design UI mockups', icon: 'palette' },
390
+ { id: 'task3', title: '3. Third Task', content: 'Implement features', icon: 'settings' },
391
+ { id: 'task4', title: '4. Fourth Task', content: 'Testing and QA', icon: 'check-circle' },
392
+ ]);
393
+
394
+ accordion.addEventListener('accordionReorder', e => {
395
+ const { itemId, oldIndex, newIndex } = e.detail;
396
+ reorderLog.innerHTML = `<strong>Reordered:</strong> Item "${itemId}" moved from position ${oldIndex + 1} to ${newIndex + 1}`;
397
+ });
398
+ }
399
+ }, 50);
400
+ }
401
+
402
+ // Persistence Accordion
403
+ function showPersistenceAccordion() {
404
+ const container = document.getElementById('accordionDemoContainer');
405
+ if (!container) return;
406
+
407
+ container.innerHTML = `
408
+ <div class="demo-block">
409
+ <h3>💾 Accordion with Persistence</h3>
410
+ <p style="color: #6b7280; margin-bottom: 16px;">Your open/closed state is saved to localStorage. Try refreshing the page!</p>
411
+ <ui-accordion id="persistenceAccordion" enable-persistence="true" persistence-key="demo-accordion-state" multiple="true" icon-library="lucide"></ui-accordion>
412
+ </div>
413
+ `;
414
+
415
+ setTimeout(() => {
416
+ const accordion = document.getElementById('persistenceAccordion');
417
+ if (accordion) {
418
+ accordion.items = JSON.stringify([
419
+ { id: 'p1', title: 'Persistent Item 1', content: 'This state is saved!', icon: 'save' },
420
+ { id: 'p2', title: 'Persistent Item 2', content: 'Try opening/closing and refreshing.', icon: 'refresh-cw' },
421
+ { id: 'p3', title: 'Persistent Item 3', content: 'Your preferences are remembered.', icon: 'star' },
422
+ ]);
423
+ }
424
+ }, 50);
425
+ }
426
+
427
+ // Loading Accordion
428
+ function showLoadingAccordion() {
429
+ const container = document.getElementById('accordionDemoContainer');
430
+ if (!container) return;
431
+
432
+ container.innerHTML = `
433
+ <div class="demo-block">
434
+ <h3>⏳ Accordion with Loading States</h3>
435
+ <p style="color: #6b7280; margin-bottom: 16px;">Show loading indicators for async operations.</p>
436
+ <ui-accordion id="loadingAccordion" icon-library="lucide"></ui-accordion>
437
+ </div>
438
+ `;
439
+
440
+ setTimeout(() => {
441
+ const accordion = document.getElementById('loadingAccordion');
442
+ if (accordion) {
443
+ accordion.items = JSON.stringify([
444
+ { id: 'load1', title: 'Loaded Item', content: 'This item is fully loaded.', icon: 'check-circle' },
445
+ { id: 'load2', title: 'Loading Item', content: 'This item is loading...', icon: 'loader', loading: true },
446
+ { id: 'load3', title: 'Another Item', content: 'Normal item.', icon: 'file' },
447
+ ]);
448
+ }
449
+ }, 50);
450
+ }
451
+
452
+ // RTL Accordion
453
+ function showRTLAccordion() {
454
+ const container = document.getElementById('accordionDemoContainer');
455
+ if (!container) return;
456
+
457
+ container.innerHTML = `
458
+ <div class="demo-block">
459
+ <h3>🌍 Right-to-Left (RTL) Support</h3>
460
+ <p style="color: #6b7280; margin-bottom: 16px;">Full support for RTL languages like Arabic and Hebrew.</p>
461
+ <ui-accordion id="rtlAccordion" rtl="true" icon-library="lucide"></ui-accordion>
462
+ </div>
463
+ `;
464
+
465
+ setTimeout(() => {
466
+ const accordion = document.getElementById('rtlAccordion');
467
+ if (accordion) {
468
+ accordion.items = JSON.stringify([
469
+ { id: 'rtl1', title: 'مرحبا بك (Welcome)', content: 'This is RTL mode with Arabic text support.', icon: 'globe' },
470
+ { id: 'rtl2', title: 'שלום (Hello)', content: 'Hebrew text is also supported in RTL mode.', icon: 'book' },
471
+ { id: 'rtl3', title: 'RTL Layout', content: 'All elements are properly aligned for right-to-left reading.', icon: 'arrow-right' },
472
+ ]);
473
+ }
474
+ }, 50);
475
+ }
476
+
477
+ // Dense Accordion
478
+ function showDenseAccordion() {
479
+ const container = document.getElementById('accordionDemoContainer');
480
+ if (!container) return;
481
+
482
+ container.innerHTML = `
483
+ <div class="demo-block">
484
+ <h3>📦 Dense/Compact Mode</h3>
485
+ <p style="color: #6b7280; margin-bottom: 16px;">Reduced spacing for data-heavy interfaces.</p>
486
+ <ui-accordion id="denseAccordion" dense="true" multiple="true" icon-library="lucide"></ui-accordion>
487
+ </div>
488
+ `;
489
+
490
+ setTimeout(() => {
491
+ const accordion = document.getElementById('denseAccordion');
492
+ if (accordion) {
493
+ accordion.items = JSON.stringify([
494
+ { id: 'd1', title: 'Compact Item 1', subtitle: 'Less padding', content: 'Dense mode uses less spacing.', icon: 'package' },
495
+ { id: 'd2', title: 'Compact Item 2', subtitle: 'Smaller fonts', content: 'Perfect for dashboards.', icon: 'bar-chart-2' },
496
+ { id: 'd3', title: 'Compact Item 3', subtitle: 'More content', content: 'Fit more on screen.', icon: 'trending-up' },
497
+ { id: 'd4', title: 'Compact Item 4', subtitle: 'Efficient layout', content: 'Optimized spacing.', icon: 'zap' },
498
+ ]);
499
+ }
500
+ }, 50);
501
+ }
502
+
503
+ // Events Accordion
504
+ function showEventsAccordion() {
505
+ const container = document.getElementById('accordionDemoContainer');
506
+ if (!container) return;
507
+
508
+ container.innerHTML = `
509
+ <div class="demo-block">
510
+ <h3>📡 Animation Lifecycle Events</h3>
511
+ <p style="color: #6b7280; margin-bottom: 16px;">Listen to beforeOpen, afterOpen, beforeClose, afterClose events.</p>
512
+ <ui-accordion id="eventsAccordion" icon-library="lucide"></ui-accordion>
513
+ <div id="eventLog" style="margin-top: 16px; padding: 12px; background: #f3f4f6; border-radius: 6px; font-size: 13px; max-height: 200px; overflow-y: auto;"></div>
514
+ </div>
515
+ `;
516
+
517
+ setTimeout(() => {
518
+ const accordion = document.getElementById('eventsAccordion');
519
+ const eventLog = document.getElementById('eventLog');
520
+
521
+ if (accordion) {
522
+ accordion.items = JSON.stringify([
523
+ { id: 'e1', title: 'Event Item 1', content: 'Click to trigger events.', icon: 'rss' },
524
+ { id: 'e2', title: 'Event Item 2', content: 'Watch the log below.', icon: 'eye' },
525
+ { id: 'e3', title: 'Event Item 3', content: 'All events are captured.', icon: 'sparkles' },
526
+ ]);
527
+
528
+ const logEvent = (eventName, detail) => {
529
+ const entry = document.createElement('div');
530
+ entry.style.marginBottom = '4px';
531
+ entry.innerHTML = `<strong>${new Date().toLocaleTimeString()}</strong>: <span style="color: #10b981;">${eventName}</span> - Item: ${detail.itemId}`;
532
+ eventLog.prepend(entry);
533
+ };
534
+
535
+ accordion.addEventListener('beforeOpen', e => logEvent('beforeOpen', e.detail));
536
+ accordion.addEventListener('afterOpen', e => logEvent('afterOpen', e.detail));
537
+ accordion.addEventListener('beforeClose', e => logEvent('beforeClose', e.detail));
538
+ accordion.addEventListener('afterClose', e => logEvent('afterClose', e.detail));
539
+ }
540
+ }, 50);
541
+ }
542
+
543
+ // Controlled Accordion
544
+ function showControlledAccordion() {
545
+ const container = document.getElementById('accordionDemoContainer');
546
+ if (!container) return;
547
+
548
+ container.innerHTML = `
549
+ <div class="demo-block">
550
+ <h3>🎮 Controlled Mode</h3>
551
+ <p style="color: #6b7280; margin-bottom: 16px;">Control the state of the accordion from outside (Parent controls children).</p>
552
+
553
+ <div style="margin-bottom: 20px; display: flex; gap: 12px; flex-wrap: wrap;">
554
+ <ui-button id="ctrlOpen1" variant="outline" color="primary" label="Open Item 1" size="md"></ui-button>
555
+ <ui-button id="ctrlOpen2" variant="outline" color="primary" label="Open Item 2" size="md"></ui-button>
556
+ <ui-button id="ctrlOpen13" variant="outline" color="primary" label="Open 1 & 3" size="md"></ui-button>
557
+ <ui-button id="ctrlCloseAll" variant="ghost" color="secondary" label="Close All" size="md"></ui-button>
558
+ </div>
559
+
560
+ <ui-accordion id="controlledAccordion" multiple="true" icon-library="lucide"></ui-accordion>
561
+ <div id="controlledLog" style="margin-top: 10px; font-size: 13px; color: #6b7280; padding: 10px; background: #f9fafb; border-radius: 6px;">Current External State: []</div>
562
+ </div>
563
+ `;
564
+
565
+ // Global helper for the buttons above
566
+ window.setAccordionState = ids => {
567
+ const accordion = document.getElementById('controlledAccordion');
568
+ if (accordion) {
569
+ accordion.expandedItems = ids;
570
+ document.getElementById('controlledLog').textContent = `Current External State: [${ids.join(', ')}]`;
571
+ }
572
+ };
573
+
574
+ setTimeout(() => {
575
+ const b1 = document.getElementById('ctrlOpen1');
576
+ const b2 = document.getElementById('ctrlOpen2');
577
+ const b13 = document.getElementById('ctrlOpen13');
578
+ const bAll = document.getElementById('ctrlCloseAll');
579
+
580
+ if (b1) b1.addEventListener('click', () => window.setAccordionState(['c1']));
581
+ if (b2) b2.addEventListener('click', () => window.setAccordionState(['c2']));
582
+ if (b13) b13.addEventListener('click', () => window.setAccordionState(['c1', 'c3']));
583
+ if (bAll) bAll.addEventListener('click', () => window.setAccordionState([]));
584
+ }, 50);
585
+
586
+ setTimeout(() => {
587
+ const accordion = document.getElementById('controlledAccordion');
588
+ if (accordion) {
589
+ accordion.items = JSON.stringify([
590
+ { id: 'c1', title: 'Controlled Item 1', content: 'I am controlled by buttons above.', icon: 'gamepad' },
591
+ { id: 'c2', title: 'Controlled Item 2', content: 'Me too!', icon: 'gamepad-2' },
592
+ { id: 'c3', title: 'Controlled Item 3', content: 'We can be opened together.', icon: 'dices' },
593
+ ]);
594
+
595
+ accordion.addEventListener('accordionChange', e => {
596
+ const log = document.getElementById('controlledLog');
597
+ if (log) log.textContent = `Internal Change Event: ${e.detail.itemId} is now ${e.detail.isOpen ? 'Open' : 'Closed'}`;
598
+ });
599
+ }
600
+ }, 50);
601
+ }
602
+
603
+ // Async & Lazy Accordion
604
+ function showAsyncAccordion() {
605
+ const container = document.getElementById('accordionDemoContainer');
606
+ if (!container) return;
607
+
608
+ container.innerHTML = `
609
+ <div class="demo-block">
610
+ <h3>⏳ Async Data & Lazy Rendering</h3>
611
+ <p style="color: #6b7280; margin-bottom: 16px;">Simulated API call with Skeleton loading state and Lazy rendered content.</p>
612
+
613
+ <ui-button id="btnReloadAsync" variant="outline" color="primary" label="↻ Reload Data" size="md" style="margin-bottom: 16px;"></ui-button>
614
+
615
+ <ui-accordion id="asyncAccordion" lazy="true" icon-library="lucide"></ui-accordion>
616
+ </div>
617
+ `;
618
+
619
+ window.reloadAsyncData = () => {
620
+ const accordion = document.getElementById('asyncAccordion');
621
+ if (!accordion) return;
622
+
623
+ accordion.loading = true; // Show skeleton
624
+ accordion.items = '[]'; // Clear items
625
+
626
+ setTimeout(() => {
627
+ accordion.items = JSON.stringify([
628
+ { id: 'a1', title: 'Fetched Data 1', content: 'This content was "fetched" from an API.', icon: 'cloud' },
629
+ { id: 'a2', title: 'Fetched Data 2', content: 'Lazy prop means this DOM was not created until you opened me.', icon: 'zap' },
630
+ { id: 'a3', title: 'Fetched Data 3', content: 'Heavy content is good for lazy rendering.', icon: 'package' },
631
+ ]);
632
+ accordion.loading = false; // Hide skeleton
633
+ }, 2000);
634
+ };
635
+
636
+ // Trigger initial load
637
+ setTimeout(() => {
638
+ const btn = document.getElementById('btnReloadAsync');
639
+ if (btn) btn.addEventListener('click', () => window.reloadAsyncData());
640
+ window.reloadAsyncData();
641
+ }, 100);
642
+ }
643
+
644
+ // Slot Content Accordion
645
+ function showSlotAccordion() {
646
+ const container = document.getElementById('accordionDemoContainer');
647
+ if (!container) return;
648
+
649
+ container.innerHTML = `
650
+ <div class="demo-block">
651
+ <h3>🧩 Accordion with Slotted Content</h3>
652
+ <p style="color: #6b7280; margin-bottom: 16px;">Use slots to inject complex HTML content into accordion items. If the <code>content</code> property is omitted in the item data, the accordion will automatically look for a slot named <code>content-{id}</code>.</p>
653
+
654
+ <ui-accordion id="slotAccordion" icon-library="lucide" multiple="true">
655
+ <!-- Custom Content for Item 1 -->
656
+ <div slot="content-slot1" style="padding: 16px; background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 8px;">
657
+ <div style="display: flex; gap: 16px; align-items: flex-start;">
658
+ <div style="width: 48px; height: 48px; background: #0ea5e9; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: white;">🌟</div>
659
+ <div>
660
+ <h4 style="margin: 0 0 8px 0; color: #0369a1;">Rich HTML Content</h4>
661
+ <p style="margin: 0 0 12px 0; font-size: 0.9em; color: #334155; line-height: 1.5;">
662
+ This entire block is passed via a named slot. You can include buttons, images, or even other components here.
663
+ </p>
664
+ <div style="display: flex; gap: 8px;">
665
+ <ui-button variant="outline" color="primary" label="Primary Action" size="xs"></ui-button>
666
+ <ui-button variant="outline" color="secondary" label="Secondary" size="xs"></ui-button>
667
+ </div>
668
+ </div>
669
+ </div>
670
+ </div>
671
+
672
+ <!-- Custom Content for Item 2 -->
673
+ <div slot="content-slot2" style="background: #f8fafc; border-radius: 8px; overflow: hidden; border: 1px solid #e2e8f0;">
674
+ <div style="padding: 12px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; font-weight: 600; font-size: 0.9em;">
675
+ User Details
676
+ </div>
677
+ <table style="width: 100%; border-collapse: collapse; font-size: 0.9em;">
678
+ <tr style="border-bottom: 1px solid #f1f5f9;"><td style="padding: 8px 12px; color: #64748b;">Name</td><td style="padding: 8px 12px; font-weight: 500;">John Doe</td></tr>
679
+ <tr style="border-bottom: 1px solid #f1f5f9;"><td style="padding: 8px 12px; color: #64748b;">Email</td><td style="padding: 8px 12px; font-weight: 500;">john@example.com</td></tr>
680
+ <tr><td style="padding: 8px 12px; color: #64748b;">Status</td><td style="padding: 8px 12px;"><span style="padding: 2px 8px; background: #dcfce7; color: #166534; border-radius: 12px; font-size: 0.8em;">Active</span></td></tr>
681
+ </table>
682
+ </div>
683
+ </ui-accordion>
684
+ </div>
685
+ `;
686
+
687
+ setTimeout(() => {
688
+ const accordion = document.getElementById('slotAccordion');
689
+ if (accordion) {
690
+ accordion.items = JSON.stringify([
691
+ {
692
+ id: 'slot1',
693
+ title: 'Rich Content Item',
694
+ subtitle: 'This item uses slot="content-slot1"',
695
+ icon: 'layout',
696
+ // No content property -> uses slot
697
+ },
698
+ {
699
+ id: 'slot2',
700
+ title: 'Table Layout Item',
701
+ subtitle: 'This item uses slot="content-slot2"',
702
+ icon: 'table',
703
+ // No content property -> uses slot
704
+ },
705
+ {
706
+ id: 'normal',
707
+ title: 'Standard Item',
708
+ subtitle: 'This just uses the content property',
709
+ content: 'I am a standard string content. I am boring compared to my siblings.',
710
+ icon: 'file-text',
711
+ },
712
+ ]);
713
+ accordion.defaultOpen = JSON.stringify(['slot1', 'normal']);
714
+ }
715
+ }, 50);
716
+ }
717
+
718
+ // Emoji Icons Accordion
719
+ function showEmojiAccordion() {
720
+ const container = document.getElementById('accordionDemoContainer');
721
+ if (!container) return;
722
+
723
+ container.innerHTML = `
724
+ <div class="demo-block">
725
+ <h3>😊 Emoji Icons</h3>
726
+ <p style="color: #6b7280; margin-bottom: 16px;">Use any Unicode emoji as an accordion item icon via <code>iconLibrary: 'emoji'</code>. Emoji render in full colour using the platform's native emoji font.</p>
727
+ <ui-accordion id="emojiAccordion" icon-library="emoji" multiple="true"></ui-accordion>
728
+ </div>
729
+ `;
730
+
731
+ setTimeout(() => {
732
+ const accordion = document.getElementById('emojiAccordion');
733
+ if (accordion) {
734
+ accordion.items = JSON.stringify([
735
+ {
736
+ id: 'emoji1',
737
+ title: 'Rocket Launch',
738
+ subtitle: 'High-priority feature',
739
+ content: 'Emoji icons render natively using the platform emoji font — no icon library CDN needed.',
740
+ icon: '🚀',
741
+ iconLibrary: 'emoji',
742
+ badge: 2,
743
+ },
744
+ {
745
+ id: 'emoji2',
746
+ title: 'Fire Alert',
747
+ subtitle: 'Critical bug',
748
+ content: "Each item can specify its own emoji independently via the <code>iconLibrary</code> field, or inherit from the accordion's <code>icon-library</code> prop.",
749
+ icon: '🔥',
750
+ iconLibrary: 'emoji',
751
+ },
752
+ {
753
+ id: 'emoji3',
754
+ title: 'Celebration',
755
+ subtitle: 'Release milestone',
756
+ content: "Emojis scale perfectly because they are text — set <code>size</code> on the accordion items or rely on the accordion's font-size cascade.",
757
+ icon: '🎉',
758
+ iconLibrary: 'emoji',
759
+ badge: 1,
760
+ },
761
+ {
762
+ id: 'emoji4',
763
+ title: 'Idea / Research',
764
+ subtitle: 'New proposal',
765
+ content: 'Mix emoji with any other icon library: set <code>icon-library="emoji"</code> globally and override individual items as needed.',
766
+ icon: '💡',
767
+ iconLibrary: 'emoji',
768
+ },
769
+ {
770
+ id: 'emoji5',
771
+ title: 'Security & Access',
772
+ subtitle: 'Permissions review',
773
+ content:
774
+ 'The <code>color</code> prop on <code>ui-icon</code> is automatically set to <code>unset</code> when <code>library="emoji"</code> so the native emoji palette is always preserved.',
775
+ icon: '🔐',
776
+ iconLibrary: 'emoji',
777
+ },
778
+ ]);
779
+ accordion.defaultOpen = JSON.stringify(['emoji1']);
780
+ }
781
+ }, 50);
782
+ }
783
+
784
+ // Card List Accordion (Navigation Style)
785
+ function showCardListAccordion() {
786
+ const container = document.getElementById('accordionDemoContainer');
787
+ if (!container) return;
788
+
789
+ container.innerHTML = `
790
+ <div class="demo-block">
791
+ <div style="display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px;">
792
+ <div>
793
+ <h3 style="margin: 0; font-size: 1.5rem; font-weight: 800; color: #111827;">📇 Card List Variant</h3>
794
+ <p style="color: #6b7280; margin-top: 4px;">Premium navigation-style accordion with tinted icon pills and separated cards.</p>
795
+ </div>
796
+ <div style="display: flex; gap: 8px;">
797
+ <ui-button id="swatchGreen" icon-only shape="circle" size="xxs" style="background: #10b981; --color-solid: #10b981;"></ui-button>
798
+ <ui-button id="swatchBlue" icon-only shape="circle" size="xxs" style="background: #6366f1; --color-solid: #6366f1;"></ui-button>
799
+ <ui-button id="swatchRed" icon-only shape="circle" size="xxs" style="background: #f43f5e; --color-solid: #f43f5e;"></ui-button>
800
+ </div>
801
+ </div>
802
+
803
+ <ui-accordion id="cardListAccordion" variant="card-list" selected-header-color="#10b981" multiple="false"></ui-accordion>
804
+ </div>
805
+ `;
806
+
807
+ window.changeCardListColor = function (color) {
808
+ const acc = document.getElementById('cardListAccordion');
809
+ if (acc) acc.selectedHeaderColor = color;
810
+ };
811
+
812
+ setTimeout(() => {
813
+ const sg = document.getElementById('swatchGreen');
814
+ const sb = document.getElementById('swatchBlue');
815
+ const sr = document.getElementById('swatchRed');
816
+ if (sg) sg.addEventListener('click', () => window.changeCardListColor('#10b981'));
817
+ if (sb) sb.addEventListener('click', () => window.changeCardListColor('#6366f1'));
818
+ if (sr) sr.addEventListener('click', () => window.changeCardListColor('#f43f5e'));
819
+ }, 50);
820
+
821
+ setTimeout(() => {
822
+ const accordion = document.getElementById('cardListAccordion');
823
+ if (accordion) {
824
+ accordion.items = JSON.stringify([
825
+ {
826
+ id: 'guide1',
827
+ title: 'Getting Started',
828
+ subtitle: 'Design philosophy and core concepts',
829
+ content:
830
+ 'Learn how to integrate our Stencil-based components into your workflow. We support React, Angular, Vue, and Vanilla JS out of the box with zero configuration required.',
831
+ icon: 'rocket',
832
+ iconLibrary: 'lucide',
833
+ },
834
+ {
835
+ id: 'guide2',
836
+ title: 'Installation',
837
+ subtitle: 'Step-by-step setup and dependencies',
838
+ content:
839
+ 'Install via NPM or use our CDN for quick prototyping. This component library is highly optimized for bundles with dead-code elimination and efficient lazy loading.',
840
+ icon: 'download',
841
+ iconLibrary: 'lucide',
842
+ },
843
+ {
844
+ id: 'guide3',
845
+ title: 'Usage Guide',
846
+ subtitle: 'Principles for implementing components',
847
+ content:
848
+ 'Our API is consistent and intuitive. Every component follows standard accessibility rules (ARIA), supports RTS/LTR, and comes with comprehensive TypeScript definitions.',
849
+ icon: 'terminal',
850
+ iconLibrary: 'lucide',
851
+ },
852
+ {
853
+ id: 'guide4',
854
+ title: 'Advanced Tips',
855
+ subtitle: 'Performance tuning and custom theming',
856
+ content: 'Dive deep into CSS variables, design tokens, and shadow DOM strategies to build complex, high-performance web applications.',
857
+ icon: 'zap',
858
+ iconLibrary: 'lucide',
859
+ },
860
+ ]);
861
+ accordion.defaultOpen = JSON.stringify(['guide1']);
862
+ }
863
+ }, 50);
864
+ }
865
+
866
+ // Dropdown Integration Accordion
867
+ function showDropdownInAccordion() {
868
+ const container = document.getElementById('accordionDemoContainer');
869
+ if (!container) return;
870
+
871
+ container.innerHTML = `
872
+ <div class="demo-block">
873
+ <h3>🔽 Dropdown Integration</h3>
874
+ <p style="color: #6b7280; margin-bottom: 24px;">Seamlessly integrate form controls within accordion panels. Demonstrates how portaling bypasses overflow constraints.</p>
875
+
876
+ <ui-accordion id="dropdownAccordion" variant="card-list" selected-header-color="#8b5cf6" multiple="true">
877
+ <div slot="content-filters" style="padding: 24px; display: flex; flex-direction: column; gap: 20px;">
878
+ <div>
879
+ <label style="display: block; font-size: 13px; font-weight: 600; color: #4b5563; margin-bottom: 8px;">Select Department</label>
880
+ <ui-dropdown id="accDeptDropdown" placeholder="All Departments" icon-library="lucide"></ui-dropdown>
881
+ </div>
882
+ <div>
883
+ <label style="display: block; font-size: 13px; font-weight: 600; color: #4b5563; margin-bottom: 8px;">Filter by Role</label>
884
+ <ui-dropdown id="accRoleDropdown" multi-select placeholder="Select roles..." icon-library="lucide"></ui-dropdown>
885
+ </div>
886
+ </div>
887
+
888
+ <div slot="content-settings" style="padding: 24px;">
889
+ <label style="display: block; font-size: 13px; font-weight: 600; color: #4b5563; margin-bottom: 8px;">Region Selection</label>
890
+ <ui-dropdown id="accRegionDropdown" cascading placeholder="Select region..." icon-library="lucide"></ui-dropdown>
891
+ </div>
892
+ </ui-accordion>
893
+ </div>
894
+ `;
895
+
896
+ setTimeout(() => {
897
+ const accordion = document.getElementById('dropdownAccordion');
898
+ if (accordion) {
899
+ accordion.items = [
900
+ {
901
+ id: 'filters',
902
+ title: 'Reporting Filters',
903
+ subtitle: 'Single and Multi-select dropdowns',
904
+ icon: 'filter',
905
+ iconLibrary: 'lucide',
906
+ },
907
+ {
908
+ id: 'settings',
909
+ title: 'Global Settings',
910
+ subtitle: 'Cascading hierarchy dropdown',
911
+ icon: 'globe',
912
+ iconLibrary: 'lucide',
913
+ },
914
+ ];
915
+ accordion.defaultOpen = ['filters'];
916
+ }
917
+
918
+ const dept = document.getElementById('accDeptDropdown');
919
+ if (dept) {
920
+ dept.options = [
921
+ { value: 'hr', label: 'Human Resources', icon: 'users' },
922
+ { value: 'it', label: 'Information Technology', icon: 'monitor' },
923
+ { value: 'fin', label: 'Finance', icon: 'credit-card' },
924
+ ];
925
+ }
926
+
927
+ const role = document.getElementById('accRoleDropdown');
928
+ if (role) {
929
+ role.options = [
930
+ { value: 'eng', label: 'Engineer' },
931
+ { value: 'mgr', label: 'Manager' },
932
+ { value: 'dir', label: 'Director' },
933
+ { value: 'vp', label: 'Vice President' },
934
+ ];
935
+ }
936
+
937
+ const region = document.getElementById('accRegionDropdown');
938
+ if (region) {
939
+ region.options = [
940
+ {
941
+ value: 'na',
942
+ label: 'North America',
943
+ children: [
944
+ { value: 'usa', label: 'United States' },
945
+ { value: 'can', label: 'Canada' },
946
+ ],
947
+ },
948
+ {
949
+ value: 'eu',
950
+ label: 'Europe',
951
+ children: [
952
+ { value: 'uk', label: 'United Kingdom' },
953
+ { value: 'ger', label: 'Germany' },
954
+ ],
955
+ },
956
+ ];
957
+ }
958
+ }, 50);
959
+ }
960
+
961
+ // Interactive Playground
962
+ function showInteractiveAccordion() {
963
+ const container = document.getElementById('accordionDemoContainer');
964
+ if (!container) return;
965
+
966
+ container.innerHTML = `
967
+ <div class="demo-block">
968
+ <h3>🎮 Interactive Playground</h3>
969
+ <p style="opacity: 0.7; margin-bottom: 24px;">Try all features and see changes in real-time!</p>
970
+
971
+ <div class="playground-settings">
972
+ <div style="background: #f8fafc; padding: 24px; border-radius: 12px; margin-bottom: 32px; border: 1px solid #e2e8f0;">
973
+ <h4 style="margin: 0 0 16px 0; color: #1e293b; font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em;">🏗️ Layout & Core</h4>
974
+ <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px;">
975
+ <ui-checkbox id="accordionMultiple" label="Multiple Open"></ui-checkbox>
976
+ <ui-checkbox id="accordionShowNumbers" label="Show Numbers"></ui-checkbox>
977
+ <ui-checkbox id="accordionRTL" label="RTL Mode"></ui-checkbox>
978
+ <ui-checkbox id="accordionDense" label="Dense Mode"></ui-checkbox>
979
+ <ui-checkbox id="accordionDisabled" label="Disable All"></ui-checkbox>
980
+ <ui-checkbox id="accordionAutoScroll" label="Auto Scroll" checked="true"></ui-checkbox>
981
+ <ui-checkbox id="accordionSticky" label="Sticky Headers"></ui-checkbox>
982
+ <ui-checkbox id="accordionLazy" label="Lazy Render"></ui-checkbox>
983
+ </div>
984
+
985
+ <h4 style="margin: 24px 0 16px 0; color: #1e293b; font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em;">🎨 Visuals & Sensory</h4>
986
+ <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px;">
987
+ <ui-checkbox id="accordionParallax" label="🌌 3D Parallax"></ui-checkbox>
988
+ <ui-checkbox id="accordionHaptics" label="🔊 Audio Haptics"></ui-checkbox>
989
+ <ui-checkbox id="accordionHolographic" label="🔳 3D Depth"></ui-checkbox>
990
+ <ui-checkbox id="accordionSparklines" label="📉 Sparklines"></ui-checkbox>
991
+ <div style="display: flex; align-items: center; gap: 8px;">
992
+ <label style="font-size: 13px; color: #4b5563;">Header Color</label>
993
+ <ui-color-picker id="accordionColor" value="#10b981"></ui-color-picker>
994
+ </div>
995
+ <div style="display: flex; align-items: center; gap: 8px;">
996
+ <label style="font-size: 13px; color: #4b5563;">Background</label>
997
+ <ui-color-picker id="accordionBgColor" value="#ffffff"></ui-color-picker>
998
+ </div>
999
+ </div>
1000
+
1001
+ <h4 style="margin: 24px 0 16px 0; color: #1e293b; font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em;">🏛️ Industrial Sovereign</h4>
1002
+ <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px;">
1003
+ <ui-checkbox id="accordionSearch" label="🔍 Search" checked="true"></ui-checkbox>
1004
+ <ui-checkbox id="accordionHeatmap" label="🗺️ Heatmap"></ui-checkbox>
1005
+ <ui-checkbox id="accordionLocking" label="🔐 Pattern Lock"></ui-checkbox>
1006
+ <ui-checkbox id="accordionQuick" label="🛸 Quick Actions"></ui-checkbox>
1007
+ <ui-checkbox id="accordionVoice" label="🎙️ Voice Control"></ui-checkbox>
1008
+ <ui-checkbox id="accordionStream" label="📟 Streaming"></ui-checkbox>
1009
+ <ui-checkbox id="accordionBreadcrumbs" label="📂 Breadcrumbs"></ui-checkbox>
1010
+ <ui-checkbox id="accordionPresence" label="👥 Presence"></ui-checkbox>
1011
+ <ui-checkbox id="accordionAI" label="🤖 AI Briefing"></ui-checkbox>
1012
+ </div>
1013
+
1014
+ <h4 style="margin: 24px 0 16px 0; color: #1e293b; font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em;">⚙️ Configuration</h4>
1015
+ <div style="display: flex; gap: 20px; flex-wrap: wrap; align-items: flex-end;">
1016
+ <div style="width: 150px;">
1017
+ <label style="display:block; font-size:12px; margin-bottom:4px;">Variant</label>
1018
+ <ui-dropdown id="accordionVariant" value="default" options='[
1019
+ {"label": "Default", "value": "default"},
1020
+ {"label": "Splitted", "value": "splitted"},
1021
+ {"label": "Bordered", "value": "bordered"},
1022
+ {"label": "Card", "value": "card"},
1023
+ {"label": "Card List", "value": "card-list"},
1024
+ {"label": "Headline", "value": "headline"}
1025
+ ]'></ui-dropdown>
1026
+ </div>
1027
+ <div style="width: 120px;">
1028
+ <label style="display:block; font-size:12px; margin-bottom:4px;">Size</label>
1029
+ <ui-dropdown id="accordionSize" value="md" options='[
1030
+ {"label": "Small", "value": "sm"},
1031
+ {"label": "Medium", "value": "md"},
1032
+ {"label": "Large", "value": "lg"}
1033
+ ]'></ui-dropdown>
1034
+ </div>
1035
+ <div style="width: 120px;">
1036
+ <label style="display:block; font-size:12px; margin-bottom:4px;">Theme</label>
1037
+ <ui-dropdown id="accordionTheme" value="default" options='[
1038
+ {"label": "Default", "value": "default"},
1039
+ {"label": "Glass", "value": "glass"},
1040
+ {"label": "Radiant", "value": "radiant"}
1041
+ ]'></ui-dropdown>
1042
+ </div>
1043
+ <div style="width: 120px;">
1044
+ <label style="display:block; font-size:12px; margin-bottom:4px;">Icon Pos</label>
1045
+ <ui-dropdown id="accordionIconPos" value="end" options='[
1046
+ {"label": "End", "value": "end"},
1047
+ {"label": "Start", "value": "start"}
1048
+ ]'></ui-dropdown>
1049
+ </div>
1050
+ <div style="width: 120px;">
1051
+ <label style="display:block; font-size:12px; margin-bottom:4px;">Physics</label>
1052
+ <ui-dropdown id="accordionPhysics" value="stiff" options='[
1053
+ {"label": "Stiff", "value": "stiff"},
1054
+ {"label": "Bouncy", "value": "bouncy"},
1055
+ {"label": "Liquid", "value": "liquid"}
1056
+ ]'></ui-dropdown>
1057
+ </div>
1058
+ <div style="width: 100px;">
1059
+ <label style="display:block; font-size:12px; margin-bottom:4px;">Columns</label>
1060
+ <ui-number-input id="accordionCols" value="1" min="1" max="4"></ui-number-input>
1061
+ </div>
1062
+ </div>
1063
+ </div>
1064
+ <ui-button id="syncZenithBtn" variant="outline" color="primary" full-width label="🔮 SYNC ZENITH ENGINE" size="large"></ui-button>
1065
+ </div>
1066
+
1067
+ <div class="playground-preview" style="margin-top: 24px;">
1068
+ <ui-accordion id="interactiveAccordion" style="width: 100%;" icon-library="lucide"></ui-accordion>
1069
+ </div>
1070
+
1071
+ <div style="margin-top: 20px; background: #1e293b; padding: 16px; border-radius: 8px; position: relative;">
1072
+ <ui-button id="copyAccordionBtn" style="position: absolute; top: 10px; right: 10px;" variant="outline" size="xxs" label="Copy"></ui-button>
1073
+ <code id="accordionCodeBlock" style="color: #e2e8f0; font-family: monospace; font-size: 13px; display: block; overflow-x: auto; padding-right: 50px; white-space: pre-wrap;">
1074
+ &lt;ui-accordion ...&gt;&lt;/ui-accordion&gt;
1075
+ </code>
1076
+ </div>
1077
+ </div>
1078
+ `;
1079
+
1080
+ setTimeout(() => {
1081
+ const accordion = document.getElementById('interactiveAccordion');
1082
+ if (accordion) {
1083
+ accordion.items = JSON.stringify([
1084
+ {
1085
+ id: 'item1',
1086
+ title: 'Feature-Rich Item',
1087
+ subtitle: 'With subtitle and actions',
1088
+ content: 'This item demonstrates subtitle, badge, and action buttons.',
1089
+ icon: 'palette',
1090
+ badge: 3,
1091
+ actions: [
1092
+ { id: 'edit', label: 'Edit', icon: 'pencil' },
1093
+ { id: 'delete', label: 'Delete', icon: 'trash-2' },
1094
+ ],
1095
+ },
1096
+ {
1097
+ id: 'item2',
1098
+ title: 'Nested Content',
1099
+ subtitle: 'Enable nested mode to see children',
1100
+ content: 'This item has nested children (enable nested mode).',
1101
+ icon: 'tree-pine',
1102
+ children: [
1103
+ { id: 'child1', title: 'Child Item 1', content: 'Nested content 1', icon: 'file' },
1104
+ { id: 'child2', title: 'Child Item 2', content: 'Nested content 2', icon: 'file' },
1105
+ ],
1106
+ },
1107
+ {
1108
+ id: 'item3',
1109
+ title: 'Searchable Item',
1110
+ subtitle: 'Try searching for keywords',
1111
+ content: 'This item contains searchable text with keywords like JavaScript, React, and TypeScript.',
1112
+ icon: 'search',
1113
+ badge: 5,
1114
+ },
1115
+ {
1116
+ id: 'item4',
1117
+ title: 'Disabled Item',
1118
+ subtitle: 'This item is disabled',
1119
+ content: 'This section is disabled and cannot be toggled.',
1120
+ icon: 'lock',
1121
+ disabled: true,
1122
+ },
1123
+ ]);
1124
+ accordion.defaultOpen = JSON.stringify(['item1']);
1125
+ }
1126
+ }, 50);
1127
+
1128
+ setTimeout(() => {
1129
+ const ctrls = container.querySelectorAll('ui-checkbox, ui-dropdown, ui-number-input, ui-color-picker');
1130
+ ctrls.forEach(ctrl => {
1131
+ const eventName =
1132
+ ctrl.tagName === 'UI-CHECKBOX'
1133
+ ? 'checkboxChange'
1134
+ : ctrl.tagName === 'UI-DROPDOWN'
1135
+ ? 'dropdownChange'
1136
+ : ctrl.tagName === 'UI-COLOR-PICKER'
1137
+ ? 'colorChange'
1138
+ : 'inputChange';
1139
+ ctrl.addEventListener(eventName, () => updateInteractiveAccordion());
1140
+ });
1141
+
1142
+ const syncBtn = document.getElementById('syncZenithBtn');
1143
+ if (syncBtn) {
1144
+ syncBtn.addEventListener('click', () => updateInteractiveAccordion());
1145
+ }
1146
+
1147
+ const copyBtn = document.getElementById('copyAccordionBtn');
1148
+ if (copyBtn) {
1149
+ copyBtn.addEventListener('click', () => copyAccordionCode());
1150
+ }
1151
+
1152
+ updateInteractiveAccordion();
1153
+ }, 100);
1154
+ }
1155
+
1156
+ function updateInteractiveAccordion() {
1157
+ const accordion = document.getElementById('interactiveAccordion');
1158
+ if (!accordion) return;
1159
+
1160
+ // Helper to get value
1161
+ const val = id => {
1162
+ const el = document.getElementById(id);
1163
+ if (!el) return null;
1164
+ if (el.tagName === 'UI-CHECKBOX') return el.checked;
1165
+ return el.value;
1166
+ };
1167
+
1168
+ accordion.multiple = val('accordionMultiple');
1169
+ accordion.showNumbers = val('accordionShowNumbers');
1170
+ accordion.rtl = val('accordionRTL');
1171
+ accordion.dense = val('accordionDense');
1172
+ accordion.disabled = val('accordionDisabled');
1173
+ accordion.autoScroll = val('accordionAutoScroll');
1174
+ accordion.stickyHeaders = val('accordionSticky');
1175
+ accordion.lazyRender = val('accordionLazy');
1176
+
1177
+ accordion.enableParallax = val('accordionParallax');
1178
+ accordion.enableHaptics = val('accordionHaptics');
1179
+ accordion.enableHolographic = val('accordionHolographic');
1180
+ accordion.enableSparklines = val('accordionSparklines');
1181
+ accordion.selectedHeaderColor = val('accordionColor');
1182
+ accordion.backgroundColor = val('accordionBgColor');
1183
+
1184
+ accordion.enableSearch = val('accordionSearch');
1185
+ accordion.enableSearchHeatmap = val('accordionHeatmap');
1186
+ accordion.enableLocking = val('accordionLocking');
1187
+ accordion.enableQuickActions = val('accordionQuick');
1188
+ accordion.enableVoiceControl = val('accordionVoice');
1189
+ accordion.enableStreaming = val('accordionStream');
1190
+ accordion.showBreadcrumbs = val('accordionBreadcrumbs');
1191
+ accordion.enableCollaborators = val('accordionPresence');
1192
+ accordion.enableAISummaries = val('accordionAI');
1193
+
1194
+ accordion.variant = val('accordionVariant') || 'default';
1195
+ accordion.theme = val('accordionTheme') || 'default';
1196
+ accordion.physics = val('accordionPhysics') || 'stiff';
1197
+ accordion.size = val('accordionSize') || 'md';
1198
+ accordion.iconPosition = val('accordionIconPos') || 'end';
1199
+ accordion.columns = parseInt(val('accordionCols') || 1);
1200
+
1201
+ accordion.enableNested = true; // Always on for playground
1202
+ accordion.iconLibrary = 'lucide';
1203
+
1204
+ // Update Code Block
1205
+ const codeBlock = document.getElementById('accordionCodeBlock');
1206
+ if (codeBlock) {
1207
+ const isMultiple = val('accordionMultiple');
1208
+ const showNumbers = val('accordionShowNumbers');
1209
+ const enableSearch = val('accordionSearch');
1210
+ const rtl = val('accordionRTL');
1211
+ const dense = val('accordionDense');
1212
+ const isDisabled = val('accordionDisabled');
1213
+ const autoScroll = val('accordionAutoScroll');
1214
+
1215
+ let props = '';
1216
+ if (isMultiple) props += ' multiple';
1217
+ if (showNumbers) props += ' show-numbers';
1218
+ if (enableSearch) props += ' enable-search';
1219
+ if (rtl) props += ' rtl';
1220
+ if (dense) props += ' dense';
1221
+ if (isDisabled) props += ' disabled';
1222
+ if (autoScroll) props += ' auto-scroll';
1223
+
1224
+ const variant = val('accordionVariant') || 'default';
1225
+ const size = val('accordionSize') || 'md';
1226
+ const iconPos = val('accordionIconPos') || 'end';
1227
+ const physics = val('accordionPhysics') || 'stiff';
1228
+
1229
+ if (variant !== 'default') props += ` variant="${variant}"`;
1230
+ if (size !== 'md') props += ` size="${size}"`;
1231
+ if (iconPos !== 'end') props += ` icon-position="${iconPos}"`;
1232
+ if (physics !== 'stiff') props += ` physics="${physics}"`;
1233
+ if (val('accordionColor') !== '#10b981') props += ` selected-header-color="${val('accordionColor')}"`;
1234
+ if (val('accordionBgColor') !== '#ffffff') props += ` background-color="${val('accordionBgColor')}"`;
1235
+
1236
+ codeBlock.innerText = `<ui-accordion icon-library="lucide"${props}></ui-accordion>\n<script>\n const accordion = document.querySelector('ui-accordion');\n accordion.items = JSON.stringify([...]);\n</script>`;
1237
+ }
1238
+ }
1239
+
1240
+ /**
1241
+ * Show Auto Scroll Demo with long list
1242
+ */
1243
+ function showAutoScrollAccordion() {
1244
+ const container = document.getElementById('accordionDemoContainer');
1245
+ if (!container) return;
1246
+
1247
+ container.innerHTML = `
1248
+ <div class="demo-block">
1249
+ <h3>📜 Auto Scroll Demo</h3>
1250
+ <p style="color: #6b7280; margin-bottom: 16px;">
1251
+ Enable <b>autoScroll</b> to automatically scroll the page when an item is expanded off-screen.
1252
+ Perfect for long lists or when content is very tall.
1253
+ </p>
1254
+ <div style="background: #f8fafc; padding: 20px; border-radius: 8px; margin-bottom: 24px; border: 1px solid #e2e8f0;">
1255
+ <p style="margin-top: 0;">Try opening items at the <b>bottom</b> of this list:</p>
1256
+ <ui-accordion id="autoScrollAccordion" auto-scroll="true" icon-library="lucide" variant="bordered"></ui-accordion>
1257
+ </div>
1258
+ </div>
1259
+ `;
1260
+
1261
+ setTimeout(() => {
1262
+ const accordion = document.getElementById('autoScrollAccordion');
1263
+ if (accordion) {
1264
+ const longItems = [];
1265
+ for (let i = 1; i <= 20; i++) {
1266
+ longItems.push({
1267
+ id: `item-${i}`,
1268
+ title: `Accordion Item #${i}`,
1269
+ subtitle: `Supporting text for item ${i}`,
1270
+ content: `
1271
+ <div style="padding: 10px 0;">
1272
+ <p>Detailed content for section ${i}. This is a demonstration of the auto-scroll capabilities.</p>
1273
+ <div style="height: 150px; background: #eaeff2; border-radius: 4px; display: flex; align-items: center; justify-content: center; color: #94a3b8; font-style: italic;">
1274
+ Tall content box (200px)
1275
+ </div>
1276
+ <p style="margin-top: 15px;">When auto-scroll is on, opening this will ensure it's fully visible in your browser window.</p>
1277
+ </div>
1278
+ `,
1279
+ icon: 'list',
1280
+ });
1281
+ }
1282
+ accordion.items = JSON.stringify(longItems);
1283
+ }
1284
+ }, 50);
1285
+ }
1286
+
1287
+ const copyAccordionCode = () => {
1288
+ const code = document.getElementById('accordionCodeBlock').innerText;
1289
+ const btn = document.getElementById('copyAccordionBtn');
1290
+ navigator.clipboard.writeText(code).then(() => {
1291
+ const originalText = btn.innerText;
1292
+ btn.innerText = 'Copied!';
1293
+ btn.style.background = '#10b981';
1294
+ setTimeout(() => {
1295
+ btn.innerText = originalText;
1296
+ btn.style.background = 'rgba(255,255,255,0.1)';
1297
+ }, 2000);
1298
+ });
1299
+ };
1300
+
1301
+ // Initialize with playground
1302
+ setTimeout(() => {
1303
+ if (window.showInteractiveAccordion) {
1304
+ window.showInteractiveAccordion();
1305
+ }
1306
+ }, 100);
1307
+
1308
+ // Kinetic Physics Accordion
1309
+ function showPhysicsAccordion() {
1310
+ const container = document.getElementById('accordionDemoContainer');
1311
+ if (!container) return;
1312
+
1313
+ container.innerHTML = `
1314
+ <div class="demo-block">
1315
+ <h3 style="text-align: center; font-weight: 800; letter-spacing: 0.1em; color: #111827; margin-bottom: 8px;">🧬 SEGMENTED KINETIC SYSTEM</h3>
1316
+ <p style="text-align: center; color: #6b7280; margin-bottom: 32px; font-size: 14px;">Apex Tier expansion physics including Bouncy (Spring-like) and Liquid (High viscosity).</p>
1317
+
1318
+ <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 32px; max-width: 900px; margin: 0 auto;">
1319
+ <div style="background: white; padding: 20px; border-radius: 16px; border: 1px solid #f3f4f6; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);">
1320
+ <h4 style="margin-bottom: 16px; color: #f43f5e; display: flex; align-items: center; gap: 8px;">
1321
+ <span style="width: 8px; height: 8px; border-radius: 50%; background: #f43f5e;"></span>
1322
+ Bouncy Physics (Stiff Spring)
1323
+ </h4>
1324
+ <p style="font-size: 11px; color: #94a3b8; margin-top: -8px; margin-bottom: 16px;">Uses 1.05x elastic vertical stretch on expansion.</p>
1325
+ <ui-accordion id="bouncyAcc" physics="bouncy" selected-header-color="#f43f5e" multiple="true" icon-library="lucide"></ui-accordion>
1326
+ </div>
1327
+ <div style="background: white; padding: 20px; border-radius: 16px; border: 1px solid #f3f4f6; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);">
1328
+ <h4 style="margin-bottom: 16px; color: #0ea5e9; display: flex; align-items: center; gap: 8px;">
1329
+ <span style="width: 8px; height: 8px; border-radius: 50%; background: #0ea5e9;"></span>
1330
+ Liquid Physics (High Viscosity)
1331
+ </h4>
1332
+ <p style="font-size: 11px; color: #94a3b8; margin-top: -8px; margin-bottom: 16px;">Uses viscous 0.8x-to-1.02x stretch with skew distortion.</p>
1333
+ <ui-accordion id="liquidAcc" physics="liquid" selected-header-color="#0ea5e9" animation-duration="600" multiple="true" icon-library="lucide"></ui-accordion>
1334
+ </div>
1335
+ </div>
1336
+ </div>
1337
+ `;
1338
+
1339
+ setTimeout(() => {
1340
+ const bouncy = document.getElementById('bouncyAcc');
1341
+ const liquid = document.getElementById('liquidAcc');
1342
+ const items = [
1343
+ { id: 'p1', title: 'Expand Me', content: 'Notice the spring over-travel on expansion.', icon: 'zap' },
1344
+ { id: 'p2', title: 'Mechanical Feel', content: 'High-fidelity motion curves for premium look.', icon: 'cog' },
1345
+ ];
1346
+ if (bouncy) bouncy.items = JSON.stringify(items);
1347
+ if (liquid) liquid.items = JSON.stringify(items);
1348
+ }, 50);
1349
+ }
1350
+
1351
+ function showVetoAccordion() {
1352
+ const container = document.getElementById('accordionDemoContainer');
1353
+ if (!container) return;
1354
+ container.innerHTML = `
1355
+ <div class="demo-block">
1356
+ <h3>🚥 Veto Rejection & Kinetic Shake</h3>
1357
+ <p style="color: #6b7280; margin-bottom: 16px;">Prevent expansion based on logic and provide kinetic "shake" feedback.</p>
1358
+ <ui-accordion id="vetoAcc" variant="card-list" icon-library="lucide"></ui-accordion>
1359
+ <div id="vetoStatus" style="margin-top: 12px; height: 20px; color: #ef4444; font-weight: 600; font-size: 14px; text-align: center;"></div>
1360
+ </div>
1361
+ `;
1362
+ setTimeout(() => {
1363
+ const acc = document.getElementById('vetoAcc');
1364
+ if (acc) {
1365
+ acc.items = JSON.stringify([
1366
+ { id: 'u', title: 'Unlocked Content (Click me)', content: 'Universal access permitted.', icon: 'unlock' },
1367
+ { id: 'l', title: 'Locked Content (Vetoed)', subtitle: 'Restricted access', content: '', icon: 'lock', actions: [{ id: 'req', label: 'Request Access', icon: 'key' }] },
1368
+ ]);
1369
+ acc.addEventListener('beforeOpen', e => {
1370
+ if (e.detail.itemId === 'l') {
1371
+ e.preventDefault();
1372
+ acc.shake('l');
1373
+ const s = document.getElementById('vetoStatus');
1374
+ if (s) {
1375
+ s.textContent = '⛔ ACCESS DENIED: VETO REJECTION';
1376
+ setTimeout(() => {
1377
+ s.textContent = '';
1378
+ }, 2000);
1379
+ }
1380
+ }
1381
+ });
1382
+ acc.addEventListener('accordionAction', e => {
1383
+ alert(`Access request sent for item ${e.detail.itemId}`);
1384
+ });
1385
+ }
1386
+ }, 50);
1387
+ }
1388
+
1389
+ // Success Radiant Pulse Demo
1390
+ function showSuccessAccordion() {
1391
+ const container = document.getElementById('accordionDemoContainer');
1392
+ if (!container) return;
1393
+
1394
+ container.innerHTML = `
1395
+ <div class="demo-block">
1396
+ <h3 style="color: #10b981;">✨ Success Radiant Pulse</h3>
1397
+ <p style="color: #6b7280; margin-bottom: 24px;">Trigger a premium "radiant pulse" to confirm successful operations within an accordion.</p>
1398
+ <div style="margin-bottom: 20px; display: flex; gap: 12px;">
1399
+ <ui-button id="btnPulse1" variant="outline" color="success" label="Pulse Step 1" size="md"></ui-button>
1400
+ <ui-button id="btnPulse2" variant="outline" color="success" label="Pulse Step 2" size="md"></ui-button>
1401
+ </div>
1402
+ <ui-accordion id="successAcc" multiple="true" variant="card-list" icon-library="lucide"></ui-accordion>
1403
+ </div>
1404
+ `;
1405
+
1406
+ const triggerAccSuccess = id => {
1407
+ const acc = document.getElementById('successAcc');
1408
+ if (acc) acc.success(id);
1409
+ };
1410
+
1411
+ setTimeout(() => {
1412
+ const b1 = document.getElementById('btnPulse1');
1413
+ const b2 = document.getElementById('btnPulse2');
1414
+ if (b1) b1.addEventListener('click', () => triggerAccSuccess('step1'));
1415
+ if (b2) b2.addEventListener('click', () => triggerAccSuccess('step2'));
1416
+ }, 50);
1417
+
1418
+ setTimeout(() => {
1419
+ const acc = document.getElementById('successAcc');
1420
+ if (acc) {
1421
+ acc.items = JSON.stringify([
1422
+ { id: 'step1', title: 'Workflow Step 1', subtitle: 'Data Validation Completed', content: 'Step 1 has been validated automatically.', icon: 'check-circle' },
1423
+ { id: 'step2', title: 'Workflow Step 2', subtitle: 'Compliance Review', content: 'Compliance tokens generated successfully.', icon: 'shield-check' },
1424
+ ]);
1425
+ acc.defaultOpen = ['step1'];
1426
+ }
1427
+ }, 50);
1428
+ }
1429
+
1430
+ // Headline Demo
1431
+ function showHeadlineDemo() {
1432
+ const container = document.getElementById('accordionDemoContainer');
1433
+ if (!container) return;
1434
+
1435
+ const headlineItems = [
1436
+ {
1437
+ id: '1',
1438
+ title: 'Solutions by Partner and Services',
1439
+ subtitle: 'Understanding how digitalisation and electrification trends create strategic opportunities for your business across every vertical.',
1440
+ content: 'Detailed strategy documentation for global partners, covering go-to-market approaches and co-sell incentives.',
1441
+ badge: 1,
1442
+ },
1443
+ {
1444
+ id: '2',
1445
+ title: 'Explore All Services',
1446
+ subtitle: 'Browse the full catalogue of modern industrial solutions built for scale and reliability.',
1447
+ content: 'Comprehensive catalogue of industrial, cloud and professional services with pricing, SLAs, and onboarding guides.',
1448
+ },
1449
+ {
1450
+ id: '3',
1451
+ title: 'Solutions by Industry',
1452
+ subtitle: 'Cloud-based data centre infrastructure management purpose-built for energy, finance, healthcare, and manufacturing.',
1453
+ content: 'Industry roadmaps for critical sectors with regulatory frameworks and reference architectures.',
1454
+ },
1455
+ ];
1456
+
1457
+ container.innerHTML = `
1458
+ <div style="background:#fff; padding: 40px 0;">
1459
+
1460
+ <!-- Header tag picker -->
1461
+ <div style="display:flex; align-items:center; gap:12px; margin-bottom:40px; flex-wrap:wrap;">
1462
+ <span style="font-size:12px; font-weight:600; color:#6b7280; text-transform:uppercase; letter-spacing:.08em;">Header Tag</span>
1463
+ <div style="display: flex; gap: 4px;">
1464
+ <ui-button-toggle-group
1465
+ id="hl-tag-group"
1466
+ value="3"
1467
+ options='[
1468
+ {"label": "H1", "value": "1"},
1469
+ {"label": "H2", "value": "2"},
1470
+ {"label": "H3", "value": "3"},
1471
+ {"label": "H4", "value": "4"},
1472
+ {"label": "H5", "value": "5"},
1473
+ {"label": "H6", "value": "6"}
1474
+ ]'
1475
+ ></ui-button-toggle-group>
1476
+ </div>
1477
+ <span id="hl-size-label" style="font-size:12px; color:#9ca3af; margin-left:4px;">48px title · 24px subtitle</span>
1478
+ </div>
1479
+
1480
+ <!-- Live accordion -->
1481
+ <ui-accordion
1482
+ id="headlineLiveAcc"
1483
+ variant="headline"
1484
+ header-level="3"
1485
+ selection-position="none"
1486
+ default-open='["3"]'
1487
+ ></ui-accordion>
1488
+ </div>
1489
+ `;
1490
+
1491
+ const sizeMeta = [
1492
+ { title: '48px', subtitle: '24px', padding: '48px' },
1493
+ { title: '36px', subtitle: '20px', padding: '40px' },
1494
+ { title: '28px', subtitle: '17px', padding: '32px' },
1495
+ { title: '22px', subtitle: '14px', padding: '24px' },
1496
+ { title: '18px', subtitle: '13px', padding: '18px' },
1497
+ { title: '15px', subtitle: '12px', padding: '14px' },
1498
+ ];
1499
+
1500
+ const applyHeadlineLevel = function (level) {
1501
+ const acc = document.getElementById('headlineLiveAcc');
1502
+ if (!acc) return;
1503
+ acc.setAttribute('header-level', String(level));
1504
+ // Update active button
1505
+ ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].forEach((tag, i) => {
1506
+ const btn = document.getElementById(`hl-tag-${tag}`);
1507
+ if (!btn) return;
1508
+ const active = i + 1 === level;
1509
+ btn.style.background = active ? '#111827' : '#f8fafc';
1510
+ btn.style.color = active ? '#fff' : '#374151';
1511
+ btn.style.borderColor = active ? '#111827' : '#d1d5db';
1512
+ });
1513
+ // Update label
1514
+ const meta = sizeMeta[level - 1];
1515
+ const label = document.getElementById('hl-size-label');
1516
+ if (label) label.textContent = `${meta.title} title · ${meta.subtitle} subtitle · ${meta.padding} padding`;
1517
+ };
1518
+
1519
+ setTimeout(() => {
1520
+ const acc = document.getElementById('headlineLiveAcc');
1521
+ const group = document.getElementById('hl-tag-group');
1522
+ if (acc) {
1523
+ acc.items = JSON.stringify(headlineItems);
1524
+ acc.defaultOpen = ['3'];
1525
+ }
1526
+ if (group) {
1527
+ group.addEventListener('uiChange', e => applyHeadlineLevel(parseInt(e.detail.value)));
1528
+ }
1529
+ }, 50);
1530
+ }
1531
+
1532
+ // Zenith Controls Demo
1533
+ function showZenithControls() {
1534
+ const container = document.getElementById('accordionDemoContainer');
1535
+ if (!container) return;
1536
+
1537
+ container.innerHTML = `
1538
+ <div class="demo-block">
1539
+ <h3>🛠️ Zenith Mastery Controls</h3>
1540
+ <p style="color: #6b7280; margin-bottom: 24px;">Test the absolute latest "Zenith Tier" features independently.</p>
1541
+
1542
+ <div style="background: var(--bg-secondary, #f8fafc); padding: 24px; border-radius: 12px; margin-bottom: 32px; display: flex; gap: 24px; flex-wrap: wrap; border: 1px solid var(--border-default, #e2e8f0);">
1543
+ <ui-checkbox id="zenithHaptics" label="Audio Haptics"></ui-checkbox>
1544
+ <ui-checkbox id="zenithParallax" label="3D Parallax"></ui-checkbox>
1545
+ <ui-checkbox id="zenithSticky" label="Sticky Headers"></ui-checkbox>
1546
+ <ui-checkbox id="zenithLazy" label="Lazy Render"></ui-checkbox>
1547
+ <ui-checkbox id="zenithQuick" label="Quick Actions"></ui-checkbox>
1548
+ <ui-checkbox id="zenithHeatmap" label="Search Heatmap"></ui-checkbox>
1549
+ <div style="display: flex; align-items: center; gap: 8px;">
1550
+ <span style="font-size: 14px; color: var(--text-secondary);">Focus ms:</span>
1551
+ <ui-input id="zenithFocusTimeout" type="number" value="0" style="width: 100px;"></ui-input>
1552
+ </div>
1553
+ <ui-checkbox id="zenithSearch" label="🔍 Search" checked></ui-checkbox>
1554
+ <ui-checkbox id="zenithLocking" label="🔐 Pattern Lock"></ui-checkbox>
1555
+ <ui-checkbox id="zenithSparklines" label="📉 Sparklines"></ui-checkbox>
1556
+ <ui-checkbox id="zenithRanking" label="📊 Ranking"></ui-checkbox>
1557
+ <ui-checkbox id="zenithBreadcrumbs" label="📂 Breadcrumbs"></ui-checkbox>
1558
+ <ui-checkbox id="zenithPrint" label="🖨️ Print Power"></ui-checkbox>
1559
+ <ui-checkbox id="zenithPortal" label="🔳 Focus Portal"></ui-checkbox>
1560
+ <ui-checkbox id="zenithPresence" label="👥 Presence"></ui-checkbox>
1561
+ <ui-checkbox id="zenithAI" label="🤖 AI Briefing"></ui-checkbox>
1562
+ <div style="margin-left: auto; display: flex; gap: 8px;">
1563
+ <ui-button id="btnSaveSnapshot" variant="outline" color="success" size="md" label="💾 Save"></ui-button>
1564
+ <ui-button id="btnLoadSnapshot" variant="outline" color="primary" size="md" label="📂 Load"></ui-button>
1565
+ </div>
1566
+ </div>
1567
+
1568
+ <div style="display: flex; gap: 8px; padding: 12px; background: rgba(0,0,0,0.02); border-radius: 8px; margin: 16px 0; border: 1px dashed rgba(0,0,0,0.05);">
1569
+ <ui-checkbox id="zenithVoice" label="🎙️ Voice Control"></ui-checkbox>
1570
+ <ui-checkbox id="zenithStream" label="📟 Streaming"></ui-checkbox>
1571
+ <ui-checkbox id="zenithHolographic" label="🌌 3D Holographic"></ui-checkbox>
1572
+ <ui-checkbox id="zenithTeleport" label="🔗 Teleportation"></ui-checkbox>
1573
+ </div>
1574
+
1575
+ <ui-accordion id="zenithControlAcc" variant="card-list" selected-header-color="#8b5cf6"
1576
+ enable-search="true" enable-nested="true" enable-quick-actions="true"></ui-accordion>
1577
+ </div>
1578
+ `;
1579
+
1580
+ const toggleZenithFeature = (prop, val) => {
1581
+ const acc = document.getElementById('zenithControlAcc');
1582
+ if (acc) acc[prop] = val;
1583
+ };
1584
+
1585
+ setTimeout(() => {
1586
+ const mapping = {
1587
+ zenithHaptics: 'enableHaptics',
1588
+ zenithParallax: 'enableParallax',
1589
+ zenithSticky: 'stickyHeaders',
1590
+ zenithLazy: 'lazyRender',
1591
+ zenithQuick: 'enableQuickActions',
1592
+ zenithHeatmap: 'enableSearchHeatmap',
1593
+ zenithSearch: 'enableSearch',
1594
+ zenithLocking: 'enableLocking',
1595
+ zenithSparklines: 'enableSparklines',
1596
+ zenithRanking: 'enableRanking',
1597
+ zenithBreadcrumbs: 'showBreadcrumbs',
1598
+ zenithPrint: 'printExpandAll',
1599
+ zenithPortal: 'enablePortalReader',
1600
+ zenithPresence: 'enableCollaborators',
1601
+ zenithAI: 'enableAISummaries',
1602
+ zenithVoice: 'enableVoiceControl',
1603
+ zenithStream: 'enableStreaming',
1604
+ zenithHolographic: 'enableHolographic',
1605
+ zenithTeleport: 'enableTeleportation',
1606
+ };
1607
+
1608
+ Object.entries(mapping).forEach(([id, prop]) => {
1609
+ const el = document.getElementById(id);
1610
+ if (el) el.addEventListener('checkboxChange', e => toggleZenithFeature(prop, e.detail.checked));
1611
+ });
1612
+
1613
+ const timeoutInp = document.getElementById('zenithFocusTimeout');
1614
+ if (timeoutInp) timeoutInp.addEventListener('inputChange', e => toggleZenithFeature('focusTimeout', parseInt(e.detail.value)));
1615
+
1616
+ const saveBtn = document.getElementById('btnSaveSnapshot');
1617
+ const loadBtn = document.getElementById('btnLoadSnapshot');
1618
+ if (saveBtn) saveBtn.addEventListener('click', () => {}); // saveTestSnapshot missing
1619
+ if (loadBtn) loadBtn.addEventListener('click', () => {}); // loadTestSnapshot missing
1620
+ }, 100);
1621
+
1622
+ setTimeout(() => {
1623
+ const acc = document.getElementById('zenithControlAcc');
1624
+ if (acc) {
1625
+ const items = [
1626
+ {
1627
+ id: 'node-stream',
1628
+ title: 'Sovereign Telemetry',
1629
+ subtitle: 'Live Cluster A',
1630
+ icon: 'zap',
1631
+ streamData: [
1632
+ 'Initialize Cluster Node 001...',
1633
+ 'AUTH: 256-bit encryption handshake: OK',
1634
+ 'SYNC: Regional shards connected: 12/12',
1635
+ 'LOAD: CPU @ 42.1%, MEM @ 68.4GB',
1636
+ 'ALERT: Minor latency in Node 04...',
1637
+ 'RESOLVED: Rerouted via Node 09',
1638
+ ],
1639
+ content: 'Telemetry stream is operating within normal industrial thresholds.',
1640
+ teleportTo: 'node-sec',
1641
+ },
1642
+ {
1643
+ id: 'node-sec',
1644
+ title: 'Security Perimeter',
1645
+ subtitle: 'Zone Alpha',
1646
+ lockCode: '123',
1647
+ content: 'Authenticated! All perimeter nodes are active and secure.',
1648
+ status: 'completed',
1649
+ icon: 'shield',
1650
+ actions: [{ id: 'lock', icon: 'lock' }],
1651
+ collaborators: [
1652
+ { id: '1', name: 'Alice', color: '#ec4899' },
1653
+ { id: '2', name: 'Bob', color: '#10b981' },
1654
+ ],
1655
+ summaryList: ['Firewall: Status Nominal', 'IPS: 0 Intrusions detected', 'Nodes: 42/42 Active'],
1656
+ },
1657
+ ...Array.from({ length: 15 }, (_, i) => ({
1658
+ id: `node-${i}`,
1659
+ title: `Data Log ${i + 1}`,
1660
+ subtitle: `Server Instance #${100 + i}`,
1661
+ content: `Technical logs for instance ${i + 1}. No critical errors recorded.`,
1662
+ sparkline: Array.from({ length: 10 }, () => Math.random() * 100),
1663
+ status: 'none',
1664
+ icon: 'server',
1665
+ actions: [{ id: 'pin', icon: 'pin' }],
1666
+ })),
1667
+ ];
1668
+ acc.items = JSON.stringify(items);
1669
+ acc.defaultOpen = ['node-stream'];
1670
+ }
1671
+ }, 50);
1672
+ }
1673
+
1674
+ // Selection Demo
1675
+ function showSelectionDemo() {
1676
+ const container = document.getElementById('accordionDemoContainer');
1677
+ if (!container) return;
1678
+
1679
+ container.innerHTML = `
1680
+ <div class="demo-block">
1681
+ <h3>📍 Selection Indicator Positions</h3>
1682
+ <p style="color: #6b7280; margin-bottom: 24px;">Configure where the active selection indicator appears: Left (Standard) or Top (Tab-style).</p>
1683
+
1684
+ <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 32px;">
1685
+ <div>
1686
+ <h4 style="margin-bottom: 12px; color: #4b5563;">Selection: Left (Default)</h4>
1687
+ <ui-accordion selection-position="left" selected-header-color="#10b981" id="leftSelectionAcc"></ui-accordion>
1688
+ </div>
1689
+ <div>
1690
+ <h4 style="margin-bottom: 12px; color: #4b5563;">Selection: Top (Premium)</h4>
1691
+ <ui-accordion selection-position="top" selected-header-color="#8b5cf6" id="topSelectionAcc"></ui-accordion>
1692
+ </div>
1693
+ </div>
1694
+ </div>
1695
+ `;
1696
+
1697
+ setTimeout(() => {
1698
+ const items = [
1699
+ { id: '1', title: 'Interactive Selection', content: 'The border indicates state.', icon: 'mouse-pointer' },
1700
+ { id: '2', title: 'Configurable Color', content: 'You can set any hex color for the indicator.', icon: 'palette' },
1701
+ ];
1702
+ const left = document.getElementById('leftSelectionAcc');
1703
+ const top = document.getElementById('topSelectionAcc');
1704
+ if (left) {
1705
+ left.items = JSON.stringify(items);
1706
+ left.defaultOpen = ['1'];
1707
+ }
1708
+ if (top) {
1709
+ top.items = JSON.stringify(items);
1710
+ top.defaultOpen = ['1'];
1711
+ }
1712
+ }, 50);
1713
+ }
1714
+
1715
+ // God-Tier Demo
1716
+ function showGodTierDemo() {
1717
+ const container = document.getElementById('accordionDemoContainer');
1718
+ if (!container) return;
1719
+
1720
+ container.innerHTML = `
1721
+ <div style="background: #0f172a; padding: 60px; border-radius: 24px; color: white; min-height: 800px;">
1722
+ <div style="max-width: 1000px; margin: 0 auto;">
1723
+ <header style="margin-bottom: 60px; text-align: center;">
1724
+ <h2 style="font-size: 3rem; font-weight: 800; background: linear-gradient(135deg, #38bdf8, #818cf8); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 12px;">The Apex God-Tier</h2>
1725
+ <p style="color: #94a3b8; font-size: 1.1rem;">Wizard Mode • Persistence • Glassmorphism • Multi-Column Grid • Lazy Rendering</p>
1726
+ </header>
1727
+
1728
+ <section style="display: grid; grid-template-columns: 1fr 1fr; gap: 40px;">
1729
+ <div>
1730
+ <h4 style="margin-bottom: 20px; color: #38bdf8;">Primary Control Plate</h4>
1731
+ <ui-accordion
1732
+ id="godTierAcc"
1733
+ variant="card-list"
1734
+ theme="radiant"
1735
+ lazy-render="true"
1736
+ enable-parallax="true"
1737
+ enable-haptics="true"
1738
+ sticky-headers="true"
1739
+ sync-group="dashboard-alpha"
1740
+ selected-header-color="#38bdf8"
1741
+ ></ui-accordion>
1742
+ </div>
1743
+
1744
+ <div>
1745
+ <h4 style="margin-bottom: 20px; color: #818cf8;">Mirror Secondary Plate</h4>
1746
+ <ui-accordion
1747
+ id="godTierAccMirror"
1748
+ variant="card-list"
1749
+ theme="glass"
1750
+ lazy-render="true"
1751
+ enable-parallax="true"
1752
+ enable-haptics="true"
1753
+ sync-group="dashboard-alpha"
1754
+ selected-header-color="#818cf8"
1755
+ ></ui-accordion>
1756
+ </div>
1757
+ </section>
1758
+
1759
+ <footer style="margin-top: 60px; border-top: 1px solid #1e293b; padding-top: 30px; display: flex; justify-content: space-between; align-items: center;">
1760
+ <div style="color: #64748b; font-size: 0.9rem;">State automatically saved to localStorage</div>
1761
+ <ui-button id="btnResetGod" variant="ghost" color="secondary" label="Reset state"></ui-button>
1762
+ </footer>
1763
+ </div>
1764
+ </div>
1765
+ `;
1766
+
1767
+ setTimeout(() => {
1768
+ const items = [
1769
+ {
1770
+ id: 'step1',
1771
+ title: 'Infrastructure Setup',
1772
+ subtitle: 'Cloud resource provisioning status',
1773
+ peek: '✅ Clusters initialized in 2.4s. All nodes online.',
1774
+ content:
1775
+ '<div style="background: rgba(16, 185, 129, 0.05); border: 1px solid #10b981; padding: 16px; border-radius: 12px; color: #10b981;">✅ All production clusters were initialized in 2.4s. DNS propagation complete.</div>',
1776
+ status: 'completed',
1777
+ progress: 100,
1778
+ badge: 12,
1779
+ icon: 'server',
1780
+ },
1781
+ {
1782
+ id: 'step2',
1783
+ title: 'Security Sync',
1784
+ subtitle: 'Identity and Access Management',
1785
+ peek: '❌ Token rotation failed for regional subgroup B.',
1786
+ content:
1787
+ '<div style="background: rgba(239, 68, 68, 0.05); border: 1px solid #ef4444; padding: 16px; border-radius: 12px; color: #ef4444;">❌ Token rotation failed for regional subgroup B. Permission denied by root-authority.</div>',
1788
+ status: 'error',
1789
+ progress: 12,
1790
+ icon: 'lock',
1791
+ },
1792
+ {
1793
+ id: 'step3',
1794
+ title: 'Data Ingestion Pipeline',
1795
+ subtitle: 'Real-time telemetry streams',
1796
+ peek: '📊 Processing: 2.4 TB/min | Throughput: 98.2%',
1797
+ content:
1798
+ '<div style="display: flex; gap: 12px; flex-direction: column;"><div>Currently processing: <strong>2.4 TB/min</strong></div> <div style="height: 4px; background: #334155; border-radius: 2px;"><div style="width: 70%; height: 100%; background: #38bdf8; border-radius: 2px;"></div></div></div>',
1799
+ status: 'current',
1800
+ progress: 70,
1801
+ icon: 'activity',
1802
+ },
1803
+ {
1804
+ id: 'step4',
1805
+ title: 'Optimization Engine',
1806
+ subtitle: 'AI-driven cost reduction',
1807
+ content: 'Engine is analyzing traffic patterns. Estimated cost savings: $4.2k/month.',
1808
+ status: 'warning',
1809
+ icon: 'zap',
1810
+ },
1811
+ {
1812
+ id: 'step5',
1813
+ title: 'Deployment Manifest',
1814
+ subtitle: 'Version 4.2.0 stable rollout',
1815
+ content: 'Ready to finalize. All hooks are verified.',
1816
+ status: 'none',
1817
+ icon: 'package',
1818
+ },
1819
+ {
1820
+ id: 'step6',
1821
+ title: 'Resource Monitoring',
1822
+ subtitle: 'Active node health checks',
1823
+ content: 'Nodes: 42 Active, 0 Drained, 0 Failing.',
1824
+ status: 'none',
1825
+ icon: 'bar-chart',
1826
+ },
1827
+ ];
1828
+ const acc = document.getElementById('godTierAcc');
1829
+ const mirror = document.getElementById('godTierAccMirror');
1830
+ if (acc) {
1831
+ acc.items = JSON.stringify(items);
1832
+ if (!localStorage.getItem('god-tier-demo-v1')) {
1833
+ acc.defaultOpen = ['step3'];
1834
+ }
1835
+ }
1836
+ if (mirror) {
1837
+ mirror.items = JSON.stringify(items);
1838
+ if (!localStorage.getItem('god-tier-demo-v1')) {
1839
+ mirror.defaultOpen = ['step3'];
1840
+ }
1841
+ }
1842
+ const resetBtn = document.getElementById('btnResetGod');
1843
+ if (resetBtn) {
1844
+ resetBtn.addEventListener('click', () => {
1845
+ localStorage.removeItem('god-tier-demo-v1');
1846
+ location.reload();
1847
+ });
1848
+ }
1849
+ }, 50);
1850
+ }
1851
+
1852
+ // AI & Collaboration Demo
1853
+ function showCollabAIDemo() {
1854
+ const container = document.getElementById('accordionDemoContainer');
1855
+ if (!container) return;
1856
+
1857
+ container.innerHTML = `
1858
+ <div class="demo-block">
1859
+ <h3>🤖 Industrial Sovereignty: AI & Real-time Collaboration</h3>
1860
+ <p style="color: #6b7280; margin-bottom: 24px;">Features: Self-generating AI briefings on hover and cross-tab presence indicators via BroadcastChannel.</p>
1861
+
1862
+ <div style="margin-bottom: 20px; padding: 12px; background: #f0f9ff; border: 1px dashed #10b981; border-radius: 8px;">
1863
+ <p style="margin: 0; font-size: 13px; color: #1e40af;">
1864
+ <strong>💡 Verification Steps:</strong>
1865
+ <br/>1. <strong>AI Briefings:</strong> Hover over the titles like "System Architecture" — notice the AI-generated bullet points.
1866
+ <br/>2. <strong>Collaboration:</strong> Open this page in <strong>two different tabs</strong>. Open/Close items in one tab and watch the presence avatars update in the other.
1867
+ </p>
1868
+ </div>
1869
+
1870
+ <ui-accordion id="collabAIAccordion"
1871
+ enable-ai-summaries="true"
1872
+ enable-collaborators="true"
1873
+ variant="card"
1874
+ multiple="true"
1875
+ persistence-key="collab-demo">
1876
+ </ui-accordion>
1877
+ </div>
1878
+ `;
1879
+
1880
+ setTimeout(() => {
1881
+ const accordion = document.getElementById('collabAIAccordion');
1882
+ if (accordion) {
1883
+ accordion.items = [
1884
+ {
1885
+ id: 'arch',
1886
+ title: 'System Architecture',
1887
+ content:
1888
+ 'The system utilizes a distributed microservices pattern with a Stencil-based design system at the core. It leverages Web Components for framework agnostic deployment and high performance shadow DOM rendering.',
1889
+ icon: 'layout',
1890
+ collaborators: [{ id: 'u1', name: 'Dev Lead', color: '#10b981' }],
1891
+ },
1892
+ {
1893
+ id: 'security',
1894
+ title: 'Encryption Standards',
1895
+ content:
1896
+ 'End-to-end encryption using AES-256 for data at rest and TLS 1.3 for data in transit. Identity is managed via OIDC/OAuth2 with hardware security module (HSM) support for key rotation.',
1897
+ icon: 'lock',
1898
+ collaborators: [{ id: 'u2', name: 'Security Auditor', color: '#ef4444' }],
1899
+ },
1900
+ {
1901
+ id: 'performance',
1902
+ title: 'Optimization Hooks',
1903
+ content:
1904
+ 'Critical path analysis identifies bottleneck components. We utilize IntersectionObserver for lazy loading and BroadcastChannel for cross-context state synchronization across browser threads.',
1905
+ icon: 'zap',
1906
+ },
1907
+ ];
1908
+ }
1909
+ }, 50);
1910
+ }
1911
+
1912
+ // Paragraphs Accordion
1913
+ function showParagraphAccordion() {
1914
+ const container = document.getElementById('accordionDemoContainer');
1915
+ if (!container) return;
1916
+
1917
+ container.innerHTML = `
1918
+ <div class="demo-block">
1919
+ <h3>📄 Accordion with Multi-Paragraph Content</h3>
1920
+ <p style="color: #6b7280; margin-bottom: 16px;">Accordion items can contain multiple paragraphs of text with proper spacing.</p>
1921
+ <ui-accordion id="paragraphAccordion" icon-library="lucide"></ui-accordion>
1922
+ </div>
1923
+ `;
1924
+
1925
+ setTimeout(() => {
1926
+ const accordion = document.getElementById('paragraphAccordion');
1927
+ if (accordion) {
1928
+ accordion.items = [
1929
+ {
1930
+ id: 'item1',
1931
+ title: 'Terms of Service',
1932
+ content: `
1933
+ <p style="margin-bottom: 12px;">Welcome to our Terms of Service. Please read these terms carefully before using our services.</p>
1934
+ <p style="margin-bottom: 12px;">By accessing or using the Service, you agree to be bound by these Terms. If you disagree with any part of the terms, then you may not access the Service.</p>
1935
+ <p>Your access to and use of the Service is conditioned on your acceptance of and compliance with these Terms.</p>
1936
+ `,
1937
+ icon: 'file-text',
1938
+ },
1939
+ {
1940
+ id: 'item2',
1941
+ title: 'Privacy Policy',
1942
+ content: `
1943
+ <p style="margin-bottom: 12px;">We value your privacy and are committed to protecting your personal data.</p>
1944
+ <p style="margin-bottom: 12px;">This Privacy Policy will inform you as to how we look after your personal data when you visit our website (regardless of where you visit it from) and tell you about your privacy rights and how the law protects you.</p>
1945
+ <p>Please use the Glossary to understand the meaning of some of the terms used in this Privacy Policy.</p>
1946
+ `,
1947
+ icon: 'shield',
1948
+ },
1949
+ ];
1950
+ accordion.defaultOpen = ['item1'];
1951
+ }
1952
+ }, 50);
1953
+ }
1954
+ }