atomicuilibrary 0.0.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (675) hide show
  1. package/dist/cjs/category-section.cjs.entry.js +2 -2
  2. package/dist/cjs/dom-BvBb0kmW.js +267 -0
  3. package/dist/cjs/exploration-project-tailwind.cjs.js +2 -2
  4. package/dist/cjs/{index-ClkOYpT8.js → index-C32cWsm5.js} +1 -1
  5. package/dist/cjs/layout-manager.cjs.entry.js +3 -3
  6. package/dist/cjs/library-card.cjs.entry.js +2 -2
  7. package/dist/cjs/lm-container_2.cjs.entry.js +2 -2
  8. package/dist/cjs/lm-panel_3.cjs.entry.js +5 -5
  9. package/dist/cjs/loader.cjs.js +2 -2
  10. package/dist/cjs/my-component.cjs.entry.js +1 -1
  11. package/dist/cjs/my-step.cjs.entry.js +2 -2
  12. package/dist/cjs/nav-bar.cjs.entry.js +4 -4
  13. package/dist/cjs/{security-E1JcwxGc.js → security-CNaNip8F.js} +88 -154
  14. package/dist/cjs/smart-step.cjs.entry.js +3 -3
  15. package/dist/cjs/timeline-item.cjs.entry.js +2 -2
  16. package/dist/cjs/{ui-accordion_10.cjs.entry.js → ui-accordion_11.cjs.entry.js} +730 -61
  17. package/dist/cjs/ui-advanced-data-table.cjs.entry.js +2 -2
  18. package/dist/cjs/ui-anchor.cjs.entry.js +2 -2
  19. package/dist/cjs/ui-animate-on-scroll.cjs.entry.js +3 -3
  20. package/dist/cjs/ui-aside-panel.cjs.entry.js +11 -12
  21. package/dist/cjs/ui-avatar-group_5.cjs.entry.js +1694 -0
  22. package/dist/cjs/ui-breadcrumb-item.cjs.entry.js +3 -3
  23. package/dist/cjs/ui-breadcrumb.cjs.entry.js +1 -1
  24. package/dist/cjs/ui-callout-banner.cjs.entry.js +3 -3
  25. package/dist/cjs/ui-card.cjs.entry.js +28 -5
  26. package/dist/cjs/ui-carousel.cjs.entry.js +1 -1
  27. package/dist/cjs/ui-checkbox.cjs.entry.js +5 -5
  28. package/dist/cjs/ui-code-editor.cjs.entry.js +3 -3
  29. package/dist/cjs/ui-code-preview.cjs.entry.js +2 -2
  30. package/dist/cjs/ui-color-picker.cjs.entry.js +256 -22
  31. package/dist/cjs/ui-command-palette.cjs.entry.js +1 -1
  32. package/dist/cjs/ui-dialog-box.cjs.entry.js +86 -12
  33. package/dist/cjs/ui-dialog-content.cjs.entry.js +1 -1
  34. package/dist/cjs/ui-dialog-footer_2.cjs.entry.js +1 -1
  35. package/dist/cjs/ui-divider.cjs.entry.js +1 -1
  36. package/dist/cjs/ui-dock-host.cjs.entry.js +4 -4
  37. package/dist/cjs/ui-dock.cjs.entry.js +2 -2
  38. package/dist/cjs/ui-drag-drop.cjs.entry.js +2 -2
  39. package/dist/cjs/ui-dropdown_2.cjs.entry.js +104 -34
  40. package/dist/cjs/ui-empty-state.cjs.entry.js +2 -2
  41. package/dist/cjs/ui-fab-item.cjs.entry.js +2 -2
  42. package/dist/cjs/ui-fab.cjs.entry.js +4 -4
  43. package/dist/cjs/ui-file-upload.cjs.entry.js +143 -44
  44. package/dist/cjs/ui-horizontal-nav.cjs.entry.js +2 -2
  45. package/dist/cjs/ui-knob.cjs.entry.js +1 -1
  46. package/dist/cjs/ui-label.cjs.entry.js +473 -0
  47. package/dist/cjs/ui-library.cjs.entry.js +2 -2
  48. package/dist/cjs/ui-list-group_2.cjs.entry.js +351 -58
  49. package/dist/cjs/ui-list.cjs.entry.js +76 -42
  50. package/dist/cjs/ui-masonry.cjs.entry.js +1 -1
  51. package/dist/cjs/ui-meter-group.cjs.entry.js +5 -4
  52. package/dist/cjs/ui-navigation-item.cjs.entry.js +5 -5
  53. package/dist/cjs/ui-number-input.cjs.entry.js +7 -3
  54. package/dist/cjs/ui-otp-input.cjs.entry.js +5 -5
  55. package/dist/cjs/ui-pagination_3.cjs.entry.js +235 -504
  56. package/dist/cjs/ui-panel.cjs.entry.js +1 -1
  57. package/dist/cjs/ui-pattern-input.cjs.entry.js +46 -11
  58. package/dist/cjs/ui-progress.cjs.entry.js +164 -23
  59. package/dist/cjs/ui-range-slider.cjs.entry.js +2 -2
  60. package/dist/cjs/ui-resizable-panel.cjs.entry.js +2 -2
  61. package/dist/cjs/ui-scroll-top.cjs.entry.js +1 -1
  62. package/dist/cjs/ui-smart-context-menu.cjs.entry.js +1 -1
  63. package/dist/cjs/ui-smart-stepper.cjs.entry.js +2 -2
  64. package/dist/cjs/ui-snackbar.cjs.entry.js +2 -2
  65. package/dist/cjs/ui-speed-dial.cjs.entry.js +1 -1
  66. package/dist/cjs/ui-speedometer.cjs.entry.js +28 -17
  67. package/dist/cjs/ui-splitter.cjs.entry.js +1 -1
  68. package/dist/cjs/ui-step.cjs.entry.js +2 -2
  69. package/dist/cjs/ui-stepper.cjs.entry.js +2 -2
  70. package/dist/cjs/ui-switch.cjs.entry.js +14 -13
  71. package/dist/cjs/ui-tabs.cjs.entry.js +3 -3
  72. package/dist/cjs/ui-tag.cjs.entry.js +58 -13
  73. package/dist/cjs/ui-timeline.cjs.entry.js +11 -3
  74. package/dist/cjs/ui-timer.cjs.entry.js +2 -2
  75. package/dist/cjs/ui-toolbar.cjs.entry.js +2 -2
  76. package/dist/cjs/ui-tooltip.cjs.entry.js +5 -5
  77. package/dist/cjs/ui-top-bar.cjs.entry.js +1 -1
  78. package/dist/cjs/ui-transfer-list.cjs.entry.js +7 -7
  79. package/dist/cjs/ui-tree.cjs.entry.js +30 -15
  80. package/dist/cjs/ui-workspace-manager.cjs.entry.js +3 -3
  81. package/dist/collection/assets/js/component-config.js +1 -0
  82. package/dist/collection/assets/js/demo-loader.js +2 -1
  83. package/dist/collection/assets/js/demos/about-demo.js +13 -13
  84. package/dist/collection/assets/js/demos/accordion-demo.js +238 -49
  85. package/dist/collection/assets/js/demos/advanced-data-table-demo.js +315 -316
  86. package/dist/collection/assets/js/demos/anchor-demo.js +27 -28
  87. package/dist/collection/assets/js/demos/animate-on-scroll-demo.js +12 -12
  88. package/dist/collection/assets/js/demos/aside-panel-demo.js +57 -57
  89. package/dist/collection/assets/js/demos/avatar-demo.js +433 -95
  90. package/dist/collection/assets/js/demos/badge-demo.js +51 -52
  91. package/dist/collection/assets/js/demos/breadcrumb-demo.js +7 -7
  92. package/dist/collection/assets/js/demos/button-demo.js +175 -106
  93. package/dist/collection/assets/js/demos/button-toggle-demo.js +199 -96
  94. package/dist/collection/assets/js/demos/callout-banner-demo.js +332 -42
  95. package/dist/collection/assets/js/demos/card-demo.js +122 -74
  96. package/dist/collection/assets/js/demos/carousel-demo.js +632 -360
  97. package/dist/collection/assets/js/demos/checkbox-demo.js +124 -7
  98. package/dist/collection/assets/js/demos/color-picker-demo.js +394 -100
  99. package/dist/collection/assets/js/demos/command-palette-demo.js +182 -65
  100. package/dist/collection/assets/js/demos/complex-form-demo.js +5 -5
  101. package/dist/collection/assets/js/demos/context-menu-demo.js +476 -55
  102. package/dist/collection/assets/js/demos/dialog-demo-temp.js +3 -3
  103. package/dist/collection/assets/js/demos/dialog-demo.js +336 -230
  104. package/dist/collection/assets/js/demos/divider-demo.js +59 -62
  105. package/dist/collection/assets/js/demos/dock-demo.js +92 -72
  106. package/dist/collection/assets/js/demos/dock-host-init.js +31 -31
  107. package/dist/collection/assets/js/demos/documentation-demo.js +227 -22
  108. package/dist/collection/assets/js/demos/drag-drop-demo.js +2 -2
  109. package/dist/collection/assets/js/demos/dropdown-demo.js +140 -136
  110. package/dist/collection/assets/js/demos/dropdown-subtitle-demo.js +2 -2
  111. package/dist/collection/assets/js/demos/empty-state-demo.js +304 -88
  112. package/dist/collection/assets/js/demos/fab-demo.js +95 -11
  113. package/dist/collection/assets/js/demos/file-upload-demo.js +641 -171
  114. package/dist/collection/assets/js/demos/home-components.js +2 -2
  115. package/dist/collection/assets/js/demos/horizontal-nav-demo.js +6 -6
  116. package/dist/collection/assets/js/demos/icon-demo.js +17 -17
  117. package/dist/collection/assets/js/demos/input-demo.js +147 -143
  118. package/dist/collection/assets/js/demos/knob-demo.js +29 -30
  119. package/dist/collection/assets/js/demos/label-demo.js +697 -0
  120. package/dist/collection/assets/js/demos/layout-manager-demo.js +55 -55
  121. package/dist/collection/assets/js/demos/list-demo.js +226 -140
  122. package/dist/collection/assets/js/demos/loader-demo.js +48 -48
  123. package/dist/collection/assets/js/demos/masonry-demo.js +592 -0
  124. package/dist/collection/assets/js/demos/meter-group-demo.js +14 -16
  125. package/dist/collection/assets/js/demos/multi-level-context-menu-demo.js +25 -25
  126. package/dist/collection/assets/js/demos/my-profile-demo.js +27 -27
  127. package/dist/collection/assets/js/demos/nav-bar-demo.js +1 -1
  128. package/dist/collection/assets/js/demos/number-input-demo.js +262 -211
  129. package/dist/collection/assets/js/demos/pagination-demo.js +29 -29
  130. package/dist/collection/assets/js/demos/panel-demo.js +18 -25
  131. package/dist/collection/assets/js/demos/pattern-input-demo.js +278 -40
  132. package/dist/collection/assets/js/demos/popover-demo.js +240 -149
  133. package/dist/collection/assets/js/demos/progress-demo.js +768 -61
  134. package/dist/collection/assets/js/demos/radio-demo.js +73 -12
  135. package/dist/collection/assets/js/demos/range-slider-demo.js +33 -33
  136. package/dist/collection/assets/js/demos/rating-demo.js +19 -19
  137. package/dist/collection/assets/js/demos/scroll-top-demo.js +8 -9
  138. package/dist/collection/assets/js/demos/skeleton-demo.js +110 -52
  139. package/dist/collection/assets/js/demos/skeleton-performance-demo.js +2 -2
  140. package/dist/collection/assets/js/demos/smart-dialog-demo.js +12 -12
  141. package/dist/collection/assets/js/demos/smart-menu-demo.js +17 -17
  142. package/dist/collection/assets/js/demos/snackbar-demo.js +53 -53
  143. package/dist/collection/assets/js/demos/speed-dial-demo.js +14 -14
  144. package/dist/collection/assets/js/demos/speedometer-demo.js +40 -32
  145. package/dist/collection/assets/js/demos/split-button-demo.js +2 -2
  146. package/dist/collection/assets/js/demos/splitter-demo.js +137 -0
  147. package/dist/collection/assets/js/demos/stack-demo.js +27 -27
  148. package/dist/collection/assets/js/demos/stepper-demo.js +49 -49
  149. package/dist/collection/assets/js/demos/switch-demo.js +561 -125
  150. package/dist/collection/assets/js/demos/tabs-demo.js +22 -22
  151. package/dist/collection/assets/js/demos/tag-demo.js +110 -80
  152. package/dist/collection/assets/js/demos/theme-selector-demo.js +27 -27
  153. package/dist/collection/assets/js/demos/timeline-demo.js +27 -14
  154. package/dist/collection/assets/js/demos/timeline-playground.js +2 -2
  155. package/dist/collection/assets/js/demos/timer-demo.js +10 -10
  156. package/dist/collection/assets/js/demos/toolbar-demo.js +17 -17
  157. package/dist/collection/assets/js/demos/tooltip-demo.js +116 -114
  158. package/dist/collection/assets/js/demos/top-bar-demo.js +6 -6
  159. package/dist/collection/assets/js/demos/transfer-list-demo.js +20 -20
  160. package/dist/collection/assets/js/demos/tree-demo.js +72 -70
  161. package/dist/collection/assets/js/demos/workspace-manager-demo.js +20 -20
  162. package/dist/collection/collection-manifest.json +2 -6
  163. package/dist/collection/components/accordion/accordion.css +576 -9
  164. package/dist/collection/components/accordion/accordion.js +47 -14
  165. package/dist/collection/components/advanced-data-table/advanced-data-table.css +24 -10
  166. package/dist/collection/components/advanced-data-table/advanced-data-table.js +2 -2
  167. package/dist/collection/components/anchor/anchor.css +0 -1
  168. package/dist/collection/components/animate-on-scroll/animate-on-scroll.js +2 -2
  169. package/dist/collection/components/aside-panel/aside-panel.css +3 -5
  170. package/dist/collection/components/aside-panel/aside-panel.js +12 -13
  171. package/dist/collection/components/avatar/avatar.css +6 -6
  172. package/dist/collection/components/avatar/avatar.js +64 -12
  173. package/dist/collection/components/badge/badge.css +28 -17
  174. package/dist/collection/components/badge/badge.js +7 -4
  175. package/dist/collection/components/breadcrumb/breadcrumb-item.js +2 -2
  176. package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
  177. package/dist/collection/components/button/button.css +132 -0
  178. package/dist/collection/components/button/button.js +130 -11
  179. package/dist/collection/components/button-toggle/button-toggle.js +2 -2
  180. package/dist/collection/components/button-toggle-group/button-toggle-group.css +161 -14
  181. package/dist/collection/components/button-toggle-group/button-toggle-group.js +2 -2
  182. package/dist/collection/components/callout-banner/callout-banner.css +75 -0
  183. package/dist/collection/components/callout-banner/callout-banner.js +1 -1
  184. package/dist/collection/components/card/card.css +304 -40
  185. package/dist/collection/components/card/card.js +48 -4
  186. package/dist/collection/components/checkbox/checkbox.css +8 -10
  187. package/dist/collection/components/checkbox/checkbox.js +5 -5
  188. package/dist/collection/components/code-editor/code-editor.js +1 -1
  189. package/dist/collection/components/code-preview/ui-code-preview.js +1 -1
  190. package/dist/collection/components/color-picker/color-picker.css +110 -6
  191. package/dist/collection/components/color-picker/color-picker.js +302 -26
  192. package/dist/collection/components/context-menu/context-menu.css +8 -8
  193. package/dist/collection/components/dialog-box/dialog-box.js +117 -15
  194. package/dist/collection/components/dialog-header/dialog-header.js +2 -2
  195. package/dist/collection/components/dock/dock.css +116 -3
  196. package/dist/collection/components/dock-host/ui-dock-host.js +3 -3
  197. package/dist/collection/components/drag-drop/drag-drop.js +1 -1
  198. package/dist/collection/components/dropdown/dropdown.css +101 -8
  199. package/dist/collection/components/dropdown/dropdown.js +94 -28
  200. package/dist/collection/components/empty-state/empty-state.js +1 -1
  201. package/dist/collection/components/fab/fab.css +87 -15
  202. package/dist/collection/components/fab/fab.js +3 -3
  203. package/dist/collection/components/fab-item/fab-item.js +1 -1
  204. package/dist/collection/components/file-upload/file-upload.css +1362 -31
  205. package/dist/collection/components/file-upload/file-upload.js +171 -50
  206. package/dist/collection/components/horizontal-nav/horizontal-nav.css +9 -9
  207. package/dist/collection/components/horizontal-nav/horizontal-nav.js +2 -2
  208. package/dist/collection/components/icon/icon.js +1 -1
  209. package/dist/collection/components/input/input.css +9 -0
  210. package/dist/collection/components/input/input.js +21 -10
  211. package/dist/collection/components/label/label.css +583 -0
  212. package/dist/collection/components/label/label.js +1669 -0
  213. package/dist/collection/components/layout-manager/layout-manager.js +1 -1
  214. package/dist/collection/components/layout-manager/lm-floating-window/lm-floating-window.js +1 -1
  215. package/dist/collection/components/layout-manager/lm-panel/lm-panel.js +1 -1
  216. package/dist/collection/components/layout-manager/lm-splitter/lm-splitter.js +1 -1
  217. package/dist/collection/components/layout-manager/lm-tabs/lm-tabs.js +1 -1
  218. package/dist/collection/components/library/category-section.js +1 -1
  219. package/dist/collection/components/library/library-card.js +1 -1
  220. package/dist/collection/components/library/library.js +1 -1
  221. package/dist/collection/components/list/list.css +46 -5
  222. package/dist/collection/components/list/list.js +76 -42
  223. package/dist/collection/components/list-group/list-group.css +0 -2
  224. package/dist/collection/components/list-group/list-group.js +11 -5
  225. package/dist/collection/components/list-item/list-item.css +427 -131
  226. package/dist/collection/components/list-item/list-item.js +373 -58
  227. package/dist/collection/components/loader/loader.css +1635 -0
  228. package/dist/collection/components/loader/loader.js +1120 -0
  229. package/dist/collection/components/meter-group/meter-group.css +5 -0
  230. package/dist/collection/components/meter-group/meter-group.js +3 -2
  231. package/dist/collection/components/my-step/my-step.js +1 -1
  232. package/dist/collection/components/nav-bar/nav-bar.css +4 -4
  233. package/dist/collection/components/nav-bar/nav-bar.js +6 -6
  234. package/dist/collection/components/number-input/number-input.js +6 -2
  235. package/dist/collection/components/otp-input/otp-input.css +10 -0
  236. package/dist/collection/components/otp-input/otp-input.js +3 -3
  237. package/dist/collection/components/pagination/pagination.js +1 -1
  238. package/dist/collection/components/pattern-input/pattern-input.css +0 -1
  239. package/dist/collection/components/pattern-input/pattern-input.js +44 -9
  240. package/dist/collection/components/popover/popover.css +35 -7
  241. package/dist/collection/components/popover/popover.js +64 -9
  242. package/dist/collection/components/progress/progress.css +307 -28
  243. package/dist/collection/components/progress/progress.js +244 -24
  244. package/dist/collection/components/radio/radio.css +5 -3
  245. package/dist/collection/components/radio/radio.js +2 -2
  246. package/dist/collection/components/range-slider/range-slider.css +284 -31
  247. package/dist/collection/components/range-slider/range-slider.js +5 -5
  248. package/dist/collection/components/rating/rating.css +151 -65
  249. package/dist/collection/components/rating/rating.js +31 -13
  250. package/dist/collection/components/resizable-panel/resizable-panel.js +1 -1
  251. package/dist/collection/components/skeleton/skeleton-loader.css +144 -44
  252. package/dist/collection/components/skeleton/skeleton-loader.js +11 -7
  253. package/dist/collection/components/smart-stepper/smart-step.js +2 -2
  254. package/dist/collection/components/smart-stepper/smart-stepper.js +1 -1
  255. package/dist/collection/components/snackbar/snackbar.js +1 -1
  256. package/dist/collection/components/speed-dial/speed-dial.js +1 -1
  257. package/dist/collection/components/speedometer/speedometer.css +26 -6
  258. package/dist/collection/components/speedometer/speedometer.js +26 -15
  259. package/dist/collection/components/stack/stack.js +2 -2
  260. package/dist/collection/components/step/step.js +1 -1
  261. package/dist/collection/components/stepper/stepper.js +1 -1
  262. package/dist/collection/components/switch/switch.css +367 -8
  263. package/dist/collection/components/switch/switch.js +14 -13
  264. package/dist/collection/components/tag/tag.css +38 -12
  265. package/dist/collection/components/tag/tag.js +58 -13
  266. package/dist/collection/components/tag-group/tag-group.css +0 -1
  267. package/dist/collection/components/tag-group/tag-group.js +3 -3
  268. package/dist/collection/components/timeline/timeline.css +380 -317
  269. package/dist/collection/components/timeline/timeline.js +8 -0
  270. package/dist/collection/components/timeline-item/timeline-item.js +1 -1
  271. package/dist/collection/components/timer/timer.js +1 -1
  272. package/dist/collection/components/toggle-group/toggle-group.css +7 -3
  273. package/dist/collection/components/toggle-group/toggle-group.js +7 -3
  274. package/dist/collection/components/toolbar/toolbar.js +1 -1
  275. package/dist/collection/components/tooltip/tooltip.js +4 -4
  276. package/dist/collection/components/top-bar/top-bar.js +2 -2
  277. package/dist/collection/components/transfer-list/transfer-list.css +13 -13
  278. package/dist/collection/components/transfer-list/transfer-list.js +4 -4
  279. package/dist/collection/components/tree/tree.css +35 -21
  280. package/dist/collection/components/tree/tree.js +28 -13
  281. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.css +53 -20
  282. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.js +48 -13
  283. package/dist/collection/components/ui-navigation-bar/navigation-item.css +7 -7
  284. package/dist/collection/components/ui-navigation-bar/navigation-item.js +3 -3
  285. package/dist/collection/components.js +1 -0
  286. package/dist/collection/utils/dom.js +151 -151
  287. package/dist/components/avatar-group.js +1 -1
  288. package/dist/components/avatar.js +1 -1
  289. package/dist/components/badge.js +1 -1
  290. package/dist/components/button-toggle.js +1 -1
  291. package/dist/components/button.js +1 -0
  292. package/dist/components/category-section2.js +1 -1
  293. package/dist/components/checkbox.js +1 -1
  294. package/dist/components/context-menu.js +1 -1
  295. package/dist/components/dialog-header.js +1 -1
  296. package/dist/components/dom.js +1 -1
  297. package/dist/components/dropdown.js +1 -1
  298. package/dist/components/icon.js +2 -2
  299. package/dist/components/input.js +1 -1
  300. package/dist/components/layout-manager.js +1 -1
  301. package/dist/components/library-card2.js +1 -1
  302. package/dist/components/list-group.js +1 -1
  303. package/dist/components/list-item.js +1 -1
  304. package/dist/components/lm-container2.js +1 -1
  305. package/dist/components/lm-floating-window2.js +1 -1
  306. package/dist/components/lm-panel2.js +1 -1
  307. package/dist/components/lm-splitter2.js +1 -1
  308. package/dist/components/lm-tabs2.js +1 -1
  309. package/dist/components/loader.js +1 -0
  310. package/dist/components/my-step.js +1 -1
  311. package/dist/components/nav-bar.js +1 -1
  312. package/dist/components/pagination.js +1 -1
  313. package/dist/components/popover.js +1 -0
  314. package/dist/components/radio.js +1 -1
  315. package/dist/components/range-slider.js +1 -1
  316. package/dist/components/rating.js +1 -1
  317. package/dist/components/resizable-panel.js +1 -1
  318. package/dist/components/skeleton-loader.js +1 -1
  319. package/dist/components/smart-step.js +1 -1
  320. package/dist/components/stack.js +1 -1
  321. package/dist/components/switch.js +1 -1
  322. package/dist/components/tag-group.js +1 -1
  323. package/dist/components/tag.js +1 -1
  324. package/dist/components/timeline-item.js +1 -1
  325. package/dist/components/toggle-group.js +1 -1
  326. package/dist/components/tooltip.js +1 -1
  327. package/dist/components/ui-accordion.js +1 -1
  328. package/dist/components/ui-advanced-data-table.js +1 -1
  329. package/dist/components/ui-anchor.js +1 -1
  330. package/dist/components/ui-animate-on-scroll.js +1 -1
  331. package/dist/components/ui-aside-panel.js +1 -1
  332. package/dist/components/ui-badge.js +1 -1
  333. package/dist/components/ui-breadcrumb-item.js +1 -1
  334. package/dist/components/ui-breadcrumb.js +1 -1
  335. package/dist/components/ui-button-toggle-group.js +1 -1
  336. package/dist/components/ui-button.js +1 -1
  337. package/dist/components/ui-callout-banner.js +1 -1
  338. package/dist/components/ui-card.js +1 -1
  339. package/dist/components/ui-carousel.js +1 -1
  340. package/dist/components/ui-code-editor.js +1 -1
  341. package/dist/components/ui-code-preview.js +1 -1
  342. package/dist/components/ui-color-picker.js +1 -1
  343. package/dist/components/ui-command-palette.js +1 -1
  344. package/dist/components/ui-dialog-box.js +1 -1
  345. package/dist/components/ui-divider.js +1 -1
  346. package/dist/components/ui-dock-host.js +1 -1
  347. package/dist/components/ui-dock.js +1 -1
  348. package/dist/components/ui-drag-drop.js +1 -1
  349. package/dist/components/ui-empty-state.js +1 -1
  350. package/dist/components/ui-fab-item.js +1 -1
  351. package/dist/components/ui-fab.js +1 -1
  352. package/dist/components/ui-file-upload.js +1 -1
  353. package/dist/components/ui-horizontal-nav.js +1 -1
  354. package/dist/components/ui-knob.js +1 -1
  355. package/dist/components/{ui-input-pair.d.ts → ui-label.d.ts} +4 -4
  356. package/dist/components/ui-label.js +1 -0
  357. package/dist/components/ui-library.js +1 -1
  358. package/dist/components/ui-list.js +1 -1
  359. package/dist/components/{ui-radio-group.d.ts → ui-loader.d.ts} +4 -4
  360. package/dist/components/ui-loader.js +1 -0
  361. package/dist/components/ui-masonry.js +1 -1
  362. package/dist/components/ui-meter-group.js +1 -1
  363. package/dist/components/ui-navigation-bar.js +1 -1
  364. package/dist/components/ui-navigation-item.js +1 -1
  365. package/dist/components/ui-number-input.js +1 -1
  366. package/dist/components/ui-otp-input.js +1 -1
  367. package/dist/components/ui-panel.js +1 -1
  368. package/dist/components/ui-pattern-input.js +1 -1
  369. package/dist/components/ui-popover.js +1 -1
  370. package/dist/components/ui-progress.js +1 -1
  371. package/dist/components/ui-scroll-top.js +1 -1
  372. package/dist/components/ui-smart-context-menu.js +1 -1
  373. package/dist/components/ui-smart-stepper.js +1 -1
  374. package/dist/components/ui-snackbar.js +1 -1
  375. package/dist/components/ui-speed-dial.js +1 -1
  376. package/dist/components/ui-speedometer.js +1 -1
  377. package/dist/components/ui-splitter.js +1 -1
  378. package/dist/components/ui-step.js +1 -1
  379. package/dist/components/ui-stepper.js +1 -1
  380. package/dist/components/ui-tabs.js +1 -1
  381. package/dist/components/ui-timeline.js +1 -1
  382. package/dist/components/ui-timer.js +1 -1
  383. package/dist/components/ui-toolbar.js +1 -1
  384. package/dist/components/ui-top-bar.js +1 -1
  385. package/dist/components/ui-transfer-list.js +1 -1
  386. package/dist/components/ui-tree.js +1 -1
  387. package/dist/components/ui-workspace-manager.js +1 -1
  388. package/dist/esm/category-section.entry.js +2 -2
  389. package/dist/esm/dom-DFBTWhGw.js +262 -0
  390. package/dist/esm/exploration-project-tailwind.js +3 -3
  391. package/dist/esm/{index-DUsoYu9r.js → index-Dqu2zaH1.js} +1 -1
  392. package/dist/esm/layout-manager.entry.js +3 -3
  393. package/dist/esm/library-card.entry.js +2 -2
  394. package/dist/esm/lm-container_2.entry.js +2 -2
  395. package/dist/esm/lm-panel_3.entry.js +5 -5
  396. package/dist/esm/loader.js +3 -3
  397. package/dist/esm/my-component.entry.js +1 -1
  398. package/dist/esm/my-step.entry.js +2 -2
  399. package/dist/esm/nav-bar.entry.js +4 -4
  400. package/dist/esm/{security-D2WzX6vR.js → security-Dyu3Nplq.js} +88 -154
  401. package/dist/esm/smart-step.entry.js +3 -3
  402. package/dist/esm/timeline-item.entry.js +2 -2
  403. package/dist/esm/{ui-accordion_10.entry.js → ui-accordion_11.entry.js} +730 -62
  404. package/dist/esm/ui-advanced-data-table.entry.js +2 -2
  405. package/dist/esm/ui-anchor.entry.js +2 -2
  406. package/dist/esm/ui-animate-on-scroll.entry.js +3 -3
  407. package/dist/esm/ui-aside-panel.entry.js +11 -12
  408. package/dist/esm/ui-avatar-group_5.entry.js +1688 -0
  409. package/dist/esm/ui-breadcrumb-item.entry.js +3 -3
  410. package/dist/esm/ui-breadcrumb.entry.js +1 -1
  411. package/dist/esm/ui-callout-banner.entry.js +3 -3
  412. package/dist/esm/ui-card.entry.js +28 -5
  413. package/dist/esm/ui-carousel.entry.js +1 -1
  414. package/dist/esm/ui-checkbox.entry.js +5 -5
  415. package/dist/esm/ui-code-editor.entry.js +3 -3
  416. package/dist/esm/ui-code-preview.entry.js +2 -2
  417. package/dist/esm/ui-color-picker.entry.js +256 -22
  418. package/dist/esm/ui-command-palette.entry.js +1 -1
  419. package/dist/esm/ui-dialog-box.entry.js +86 -12
  420. package/dist/esm/ui-dialog-content.entry.js +1 -1
  421. package/dist/esm/ui-dialog-footer_2.entry.js +1 -1
  422. package/dist/esm/ui-divider.entry.js +1 -1
  423. package/dist/esm/ui-dock-host.entry.js +4 -4
  424. package/dist/esm/ui-dock.entry.js +2 -2
  425. package/dist/esm/ui-drag-drop.entry.js +2 -2
  426. package/dist/esm/ui-dropdown_2.entry.js +104 -34
  427. package/dist/esm/ui-empty-state.entry.js +2 -2
  428. package/dist/esm/ui-fab-item.entry.js +2 -2
  429. package/dist/esm/ui-fab.entry.js +4 -4
  430. package/dist/esm/ui-file-upload.entry.js +143 -44
  431. package/dist/esm/ui-horizontal-nav.entry.js +2 -2
  432. package/dist/esm/ui-knob.entry.js +1 -1
  433. package/dist/esm/ui-label.entry.js +471 -0
  434. package/dist/esm/ui-library.entry.js +2 -2
  435. package/dist/esm/ui-list-group_2.entry.js +351 -58
  436. package/dist/esm/ui-list.entry.js +76 -42
  437. package/dist/esm/ui-masonry.entry.js +1 -1
  438. package/dist/esm/ui-meter-group.entry.js +5 -4
  439. package/dist/esm/ui-navigation-item.entry.js +5 -5
  440. package/dist/esm/ui-number-input.entry.js +7 -3
  441. package/dist/esm/ui-otp-input.entry.js +5 -5
  442. package/dist/esm/ui-pagination_3.entry.js +235 -504
  443. package/dist/esm/ui-panel.entry.js +1 -1
  444. package/dist/esm/ui-pattern-input.entry.js +46 -11
  445. package/dist/esm/ui-progress.entry.js +164 -23
  446. package/dist/esm/ui-range-slider.entry.js +2 -2
  447. package/dist/esm/ui-resizable-panel.entry.js +2 -2
  448. package/dist/esm/ui-scroll-top.entry.js +1 -1
  449. package/dist/esm/ui-smart-context-menu.entry.js +1 -1
  450. package/dist/esm/ui-smart-stepper.entry.js +2 -2
  451. package/dist/esm/ui-snackbar.entry.js +2 -2
  452. package/dist/esm/ui-speed-dial.entry.js +1 -1
  453. package/dist/esm/ui-speedometer.entry.js +28 -17
  454. package/dist/esm/ui-splitter.entry.js +1 -1
  455. package/dist/esm/ui-step.entry.js +2 -2
  456. package/dist/esm/ui-stepper.entry.js +2 -2
  457. package/dist/esm/ui-switch.entry.js +14 -13
  458. package/dist/esm/ui-tabs.entry.js +3 -3
  459. package/dist/esm/ui-tag.entry.js +58 -13
  460. package/dist/esm/ui-timeline.entry.js +11 -3
  461. package/dist/esm/ui-timer.entry.js +2 -2
  462. package/dist/esm/ui-toolbar.entry.js +2 -2
  463. package/dist/esm/ui-tooltip.entry.js +5 -5
  464. package/dist/esm/ui-top-bar.entry.js +1 -1
  465. package/dist/esm/ui-transfer-list.entry.js +7 -7
  466. package/dist/esm/ui-tree.entry.js +30 -15
  467. package/dist/esm/ui-workspace-manager.entry.js +3 -3
  468. package/dist/exploration-project-tailwind/exploration-project-tailwind.css +1 -1
  469. package/dist/exploration-project-tailwind/exploration-project-tailwind.esm.js +1 -1
  470. package/dist/exploration-project-tailwind/{p-f5719913.entry.js → p-024a299a.entry.js} +1 -1
  471. package/dist/exploration-project-tailwind/p-0a71896a.entry.js +1 -0
  472. package/dist/exploration-project-tailwind/{p-35296877.entry.js → p-0cdeb8d8.entry.js} +1 -1
  473. package/dist/exploration-project-tailwind/{p-a42fdc33.entry.js → p-139cefbc.entry.js} +1 -1
  474. package/dist/exploration-project-tailwind/{p-c7e87fbb.entry.js → p-198c83e5.entry.js} +1 -1
  475. package/dist/exploration-project-tailwind/p-236f47b1.entry.js +1 -0
  476. package/dist/exploration-project-tailwind/{p-81961fb1.entry.js → p-25530d0d.entry.js} +1 -1
  477. package/dist/exploration-project-tailwind/{p-41cd6bf0.entry.js → p-298f2057.entry.js} +1 -1
  478. package/dist/exploration-project-tailwind/{p-85e36111.entry.js → p-2b5a8e3e.entry.js} +1 -1
  479. package/dist/exploration-project-tailwind/p-2b6aa7bc.entry.js +1 -0
  480. package/dist/exploration-project-tailwind/{p-7515b1e3.entry.js → p-2cfba753.entry.js} +1 -1
  481. package/dist/exploration-project-tailwind/{p-c90722ec.entry.js → p-2fe22958.entry.js} +1 -1
  482. package/dist/exploration-project-tailwind/{p-85bf89fd.entry.js → p-3012e780.entry.js} +1 -1
  483. package/dist/exploration-project-tailwind/p-321c3f46.entry.js +1 -0
  484. package/dist/exploration-project-tailwind/{p-3d3d48fd.entry.js → p-3ab43638.entry.js} +1 -1
  485. package/dist/exploration-project-tailwind/p-3ad7e47e.entry.js +1 -0
  486. package/dist/exploration-project-tailwind/p-3b1ca826.entry.js +1 -0
  487. package/dist/exploration-project-tailwind/p-3ee8ddae.entry.js +1 -0
  488. package/dist/exploration-project-tailwind/{p-4f6bba75.entry.js → p-3efb44c8.entry.js} +1 -1
  489. package/dist/exploration-project-tailwind/{p-36861546.entry.js → p-42e3bc28.entry.js} +1 -1
  490. package/dist/exploration-project-tailwind/p-4360331a.entry.js +1 -0
  491. package/dist/exploration-project-tailwind/{p-2f961934.entry.js → p-443de32b.entry.js} +1 -1
  492. package/dist/exploration-project-tailwind/{p-898dd0fa.entry.js → p-44d15451.entry.js} +1 -1
  493. package/dist/exploration-project-tailwind/{p-e5322e59.entry.js → p-46071679.entry.js} +1 -1
  494. package/dist/exploration-project-tailwind/{p-a3f465d9.entry.js → p-497d6182.entry.js} +1 -1
  495. package/dist/exploration-project-tailwind/p-4ad8c55c.entry.js +1 -0
  496. package/dist/exploration-project-tailwind/{p-73d29a4a.entry.js → p-4c46ac0b.entry.js} +1 -1
  497. package/dist/exploration-project-tailwind/{p-f0830120.entry.js → p-5042ddaa.entry.js} +1 -1
  498. package/dist/exploration-project-tailwind/p-60190e0e.entry.js +1 -0
  499. package/dist/exploration-project-tailwind/p-60530874.entry.js +1 -0
  500. package/dist/exploration-project-tailwind/{p-200241f8.entry.js → p-6108565d.entry.js} +1 -1
  501. package/dist/exploration-project-tailwind/{p-77124686.entry.js → p-62889cfe.entry.js} +1 -1
  502. package/dist/exploration-project-tailwind/{p-9d0c8760.entry.js → p-66f71613.entry.js} +1 -1
  503. package/dist/exploration-project-tailwind/{p-2d273118.entry.js → p-67c440b2.entry.js} +1 -1
  504. package/dist/exploration-project-tailwind/{p-d419eaf0.entry.js → p-6f09503f.entry.js} +1 -1
  505. package/dist/exploration-project-tailwind/p-721bdbc3.entry.js +1 -0
  506. package/dist/exploration-project-tailwind/p-747b02ea.entry.js +1 -0
  507. package/dist/exploration-project-tailwind/{p-c6fd72e1.entry.js → p-754cb046.entry.js} +1 -1
  508. package/dist/exploration-project-tailwind/{p-ffb1754a.entry.js → p-7ed3bba2.entry.js} +1 -1
  509. package/dist/exploration-project-tailwind/{p-77cc333a.entry.js → p-864cebb7.entry.js} +1 -1
  510. package/dist/exploration-project-tailwind/{p-4d73c143.entry.js → p-96ee3196.entry.js} +1 -1
  511. package/dist/exploration-project-tailwind/{p-c5ddc817.entry.js → p-97086868.entry.js} +1 -1
  512. package/dist/exploration-project-tailwind/{p-287dbf09.entry.js → p-9c5ced88.entry.js} +1 -1
  513. package/dist/exploration-project-tailwind/p-9d3044d4.entry.js +1 -0
  514. package/dist/exploration-project-tailwind/p-9e079be6.entry.js +1 -0
  515. package/dist/exploration-project-tailwind/{p-0b004861.entry.js → p-9e4c45f5.entry.js} +1 -1
  516. package/dist/exploration-project-tailwind/p-9eee7394.entry.js +1 -0
  517. package/dist/exploration-project-tailwind/p-DFBTWhGw.js +1 -0
  518. package/dist/exploration-project-tailwind/p-Dqu2zaH1.js +2 -0
  519. package/dist/exploration-project-tailwind/p-Dyu3Nplq.js +2 -0
  520. package/dist/exploration-project-tailwind/p-a7bdedc2.entry.js +1 -0
  521. package/dist/exploration-project-tailwind/{p-c87aeab6.entry.js → p-a8ec29de.entry.js} +1 -1
  522. package/dist/exploration-project-tailwind/{p-c174a372.entry.js → p-ae617f62.entry.js} +1 -1
  523. package/dist/exploration-project-tailwind/{p-62352ef2.entry.js → p-aef76052.entry.js} +1 -1
  524. package/dist/exploration-project-tailwind/p-b5f043fa.entry.js +1 -0
  525. package/dist/exploration-project-tailwind/p-b637b91b.entry.js +1 -0
  526. package/dist/exploration-project-tailwind/{p-8d951aef.entry.js → p-bc49a088.entry.js} +1 -1
  527. package/dist/exploration-project-tailwind/{p-4de419d5.entry.js → p-bd9a631f.entry.js} +1 -1
  528. package/dist/exploration-project-tailwind/{p-e8ba0c95.entry.js → p-bf4b6767.entry.js} +1 -1
  529. package/dist/exploration-project-tailwind/p-c0fa400e.entry.js +1 -0
  530. package/dist/exploration-project-tailwind/{p-5e3e80ae.entry.js → p-c4f3d990.entry.js} +1 -1
  531. package/dist/exploration-project-tailwind/p-c68ddb2f.entry.js +1 -0
  532. package/dist/exploration-project-tailwind/p-c79574c4.entry.js +1 -0
  533. package/dist/exploration-project-tailwind/p-c840098d.entry.js +1 -0
  534. package/dist/exploration-project-tailwind/{p-a1ad32a2.entry.js → p-c8663cbe.entry.js} +1 -1
  535. package/dist/exploration-project-tailwind/{p-7f91d949.entry.js → p-cb6e38a6.entry.js} +1 -1
  536. package/dist/exploration-project-tailwind/p-cb9f2df1.entry.js +1 -0
  537. package/dist/exploration-project-tailwind/p-cfe8b696.entry.js +1 -0
  538. package/dist/exploration-project-tailwind/p-d00e13ae.entry.js +1 -0
  539. package/dist/exploration-project-tailwind/{p-c4ba7e52.entry.js → p-d01ed934.entry.js} +1 -1
  540. package/dist/exploration-project-tailwind/{p-aa85ff78.entry.js → p-d4e57d94.entry.js} +1 -1
  541. package/dist/exploration-project-tailwind/{p-ccb5c737.entry.js → p-d5bd3a3f.entry.js} +1 -1
  542. package/dist/exploration-project-tailwind/{p-45482d86.entry.js → p-d987cebe.entry.js} +1 -1
  543. package/dist/exploration-project-tailwind/p-d9ae77c0.entry.js +1 -0
  544. package/dist/exploration-project-tailwind/p-e9bae5c7.entry.js +1 -0
  545. package/dist/exploration-project-tailwind/p-f516fabc.entry.js +1 -0
  546. package/dist/exploration-project-tailwind/p-f68e2794.entry.js +1 -0
  547. package/dist/exploration-project-tailwind/{p-d30e24bd.entry.js → p-fa034f69.entry.js} +1 -1
  548. package/dist/types/components/accordion/accordion.d.ts +10 -2
  549. package/dist/types/components/aside-panel/aside-panel.d.ts +0 -3
  550. package/dist/types/components/avatar/avatar.d.ts +3 -0
  551. package/dist/types/components/avatar/types.d.ts +2 -0
  552. package/dist/types/components/badge/badge.d.ts +1 -0
  553. package/dist/types/components/button/button.d.ts +9 -0
  554. package/dist/types/components/card/card.d.ts +4 -0
  555. package/dist/types/components/color-picker/color-picker.d.ts +35 -2
  556. package/dist/types/components/dialog-box/dialog-box.d.ts +10 -0
  557. package/dist/types/components/dropdown/dropdown.d.ts +5 -0
  558. package/dist/types/components/file-upload/file-upload.d.ts +23 -6
  559. package/dist/types/components/label/label.d.ts +290 -0
  560. package/dist/types/components/label/types.d.ts +39 -0
  561. package/dist/types/components/list/list.d.ts +2 -1
  562. package/dist/types/components/list-group/list-group.d.ts +1 -0
  563. package/dist/types/components/list-item/list-item.d.ts +46 -17
  564. package/dist/types/components/loader/loader.d.ts +145 -0
  565. package/dist/types/components/pattern-input/pattern-input.d.ts +6 -0
  566. package/dist/types/components/popover/popover.d.ts +3 -0
  567. package/dist/types/components/progress/progress.d.ts +41 -2
  568. package/dist/types/components/range-slider/range-slider.d.ts +2 -2
  569. package/dist/types/components/rating/rating.d.ts +1 -0
  570. package/dist/types/components/skeleton/skeleton-loader.d.ts +1 -1
  571. package/dist/types/components/speedometer/speedometer.d.ts +1 -0
  572. package/dist/types/components/tag/tag.d.ts +4 -0
  573. package/dist/types/components/tree/tree.d.ts +1 -0
  574. package/dist/types/components/ui-navigation-bar/navigation-bar/navigation-bar.d.ts +1 -1
  575. package/dist/types/components.d.ts +1214 -1381
  576. package/dist/types/types/common.d.ts +2 -2
  577. package/dist/types/types/common.type.d.ts +3 -1
  578. package/dist/types/utils/dom.d.ts +4 -4
  579. package/package.json +4 -4
  580. package/dist/cjs/dom-oP1E4Rd3.js +0 -267
  581. package/dist/cjs/ui-avatar-group_3.cjs.entry.js +0 -634
  582. package/dist/cjs/ui-checkbox-group.cjs.entry.js +0 -330
  583. package/dist/cjs/ui-color-controller.cjs.entry.js +0 -150
  584. package/dist/cjs/ui-image-button.cjs.entry.js +0 -67
  585. package/dist/cjs/ui-input-pair.cjs.entry.js +0 -44
  586. package/dist/cjs/ui-popover.cjs.entry.js +0 -517
  587. package/dist/cjs/ui-radio-group.cjs.entry.js +0 -205
  588. package/dist/cjs/ui-radio.cjs.entry.js +0 -206
  589. package/dist/cjs/ui-smart-location-dropdown.cjs.entry.js +0 -565
  590. package/dist/collection/components/checkbox-group/checkbox-group.css +0 -223
  591. package/dist/collection/components/checkbox-group/checkbox-group.js +0 -1001
  592. package/dist/collection/components/color-controller/color-controller.css +0 -108
  593. package/dist/collection/components/color-controller/color-controller.js +0 -224
  594. package/dist/collection/components/image-button/image-button.css +0 -154
  595. package/dist/collection/components/image-button/image-button.js +0 -310
  596. package/dist/collection/components/image-button/types.js +0 -1
  597. package/dist/collection/components/input-pair/input-pair.css +0 -72
  598. package/dist/collection/components/input-pair/input-pair.js +0 -309
  599. package/dist/collection/components/radio-group/radio-group.css +0 -202
  600. package/dist/collection/components/radio-group/radio-group.js +0 -903
  601. package/dist/collection/components/radio-group/types.js +0 -1
  602. package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.css +0 -357
  603. package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.js +0 -1190
  604. package/dist/collection/components/smart-location-dropdown/types.js +0 -1
  605. package/dist/components/ui-checkbox-group.d.ts +0 -11
  606. package/dist/components/ui-checkbox-group.js +0 -1
  607. package/dist/components/ui-color-controller.d.ts +0 -11
  608. package/dist/components/ui-color-controller.js +0 -1
  609. package/dist/components/ui-image-button.d.ts +0 -11
  610. package/dist/components/ui-image-button.js +0 -1
  611. package/dist/components/ui-input-pair.js +0 -1
  612. package/dist/components/ui-radio-group.js +0 -1
  613. package/dist/components/ui-smart-location-dropdown.d.ts +0 -11
  614. package/dist/components/ui-smart-location-dropdown.js +0 -1
  615. package/dist/esm/dom-BMFah5q3.js +0 -262
  616. package/dist/esm/ui-avatar-group_3.entry.js +0 -630
  617. package/dist/esm/ui-checkbox-group.entry.js +0 -328
  618. package/dist/esm/ui-color-controller.entry.js +0 -148
  619. package/dist/esm/ui-image-button.entry.js +0 -65
  620. package/dist/esm/ui-input-pair.entry.js +0 -42
  621. package/dist/esm/ui-popover.entry.js +0 -515
  622. package/dist/esm/ui-radio-group.entry.js +0 -203
  623. package/dist/esm/ui-radio.entry.js +0 -204
  624. package/dist/esm/ui-smart-location-dropdown.entry.js +0 -563
  625. package/dist/exploration-project-tailwind/p-01c7db7a.entry.js +0 -1
  626. package/dist/exploration-project-tailwind/p-049744f9.entry.js +0 -1
  627. package/dist/exploration-project-tailwind/p-06f0c679.entry.js +0 -1
  628. package/dist/exploration-project-tailwind/p-0d31c9e9.entry.js +0 -1
  629. package/dist/exploration-project-tailwind/p-148e81df.entry.js +0 -1
  630. package/dist/exploration-project-tailwind/p-2f1aebb3.entry.js +0 -1
  631. package/dist/exploration-project-tailwind/p-46596a28.entry.js +0 -1
  632. package/dist/exploration-project-tailwind/p-46efdea3.entry.js +0 -1
  633. package/dist/exploration-project-tailwind/p-47e2a7ee.entry.js +0 -1
  634. package/dist/exploration-project-tailwind/p-5508874f.entry.js +0 -1
  635. package/dist/exploration-project-tailwind/p-5ce0dbd8.entry.js +0 -1
  636. package/dist/exploration-project-tailwind/p-61717490.entry.js +0 -1
  637. package/dist/exploration-project-tailwind/p-64e3a484.entry.js +0 -1
  638. package/dist/exploration-project-tailwind/p-6ab80ead.entry.js +0 -1
  639. package/dist/exploration-project-tailwind/p-6e9694f2.entry.js +0 -1
  640. package/dist/exploration-project-tailwind/p-6fa9dc15.entry.js +0 -1
  641. package/dist/exploration-project-tailwind/p-70d82d79.entry.js +0 -1
  642. package/dist/exploration-project-tailwind/p-717dad1f.entry.js +0 -1
  643. package/dist/exploration-project-tailwind/p-7376ac95.entry.js +0 -1
  644. package/dist/exploration-project-tailwind/p-77a21491.entry.js +0 -1
  645. package/dist/exploration-project-tailwind/p-807c6555.entry.js +0 -1
  646. package/dist/exploration-project-tailwind/p-875be805.entry.js +0 -1
  647. package/dist/exploration-project-tailwind/p-9fa70359.entry.js +0 -1
  648. package/dist/exploration-project-tailwind/p-9fc06ff0.entry.js +0 -1
  649. package/dist/exploration-project-tailwind/p-BMFah5q3.js +0 -1
  650. package/dist/exploration-project-tailwind/p-D2WzX6vR.js +0 -2
  651. package/dist/exploration-project-tailwind/p-DUsoYu9r.js +0 -2
  652. package/dist/exploration-project-tailwind/p-a4f52a76.entry.js +0 -1
  653. package/dist/exploration-project-tailwind/p-ab752761.entry.js +0 -1
  654. package/dist/exploration-project-tailwind/p-ba21fed3.entry.js +0 -1
  655. package/dist/exploration-project-tailwind/p-c2ca71ac.entry.js +0 -1
  656. package/dist/exploration-project-tailwind/p-c69dd43e.entry.js +0 -1
  657. package/dist/exploration-project-tailwind/p-ce1222a1.entry.js +0 -1
  658. package/dist/exploration-project-tailwind/p-d16c9635.entry.js +0 -1
  659. package/dist/exploration-project-tailwind/p-d2308a00.entry.js +0 -1
  660. package/dist/exploration-project-tailwind/p-debede45.entry.js +0 -1
  661. package/dist/exploration-project-tailwind/p-e90d5307.entry.js +0 -1
  662. package/dist/exploration-project-tailwind/p-ea51c5d8.entry.js +0 -1
  663. package/dist/exploration-project-tailwind/p-ecda1cc3.entry.js +0 -1
  664. package/dist/exploration-project-tailwind/p-f11e5cae.entry.js +0 -1
  665. package/dist/types/components/checkbox-group/checkbox-group.d.ts +0 -87
  666. package/dist/types/components/checkbox-group/types.d.ts +0 -8
  667. package/dist/types/components/color-controller/color-controller.d.ts +0 -24
  668. package/dist/types/components/image-button/image-button.d.ts +0 -31
  669. package/dist/types/components/image-button/types.d.ts +0 -1
  670. package/dist/types/components/input-pair/input-pair.d.ts +0 -28
  671. package/dist/types/components/radio-group/radio-group.d.ts +0 -74
  672. package/dist/types/components/radio-group/types.d.ts +0 -2
  673. package/dist/types/components/smart-location-dropdown/smart-location-dropdown.d.ts +0 -119
  674. package/dist/types/components/smart-location-dropdown/types.d.ts +0 -37
  675. /package/dist/collection/components/{checkbox-group → label}/types.js +0 -0
@@ -0,0 +1,592 @@
1
+ // Masonry Layout Demo — Premium Edition with Rich Photo Gallery
2
+ export function initMasonryDemo() {
3
+ const section = document.getElementById('masonry');
4
+ if (!section) return;
5
+
6
+ section.innerHTML = `
7
+ <p style="margin-top:0;color:var(--text-secondary);margin-bottom:20px;">
8
+ A premium masonry photo gallery with filtering, search, lightbox, and batch selection.
9
+ </p>
10
+
11
+ <div class="demo-controls" style="margin: 20px 0; display: flex; gap: 10px; flex-wrap: wrap;">
12
+ <ui-button id="btnMasonryPlayground" variant="outline" selected="true">🎮 Interactive Playground</ui-button>
13
+ <ui-button id="btnMasonryBasic" variant="outline">🖼️ Gallery</ui-button>
14
+ <ui-button id="btnMasonryFiltered" variant="outline">🔍 Filtered</ui-button>
15
+ <ui-button id="btnMasonrySelectable" variant="outline">✅ Selection</ui-button>
16
+ <ui-button id="btnMasonrySkeleton" variant="outline">💀 Skeleton</ui-button>
17
+ <ui-button id="btnMasonryProductGrid" variant="outline">📦 Product Grid</ui-button>
18
+ <ui-button id="btnMasonryNewsFeed" variant="outline">📰 News Feed</ui-button>
19
+ </div>
20
+
21
+ <div id="masonryDemoContainer" style="margin-top: 20px;"></div>
22
+ `;
23
+
24
+ // Rich photo data using high-quality Unsplash images
25
+ const PHOTOS = [
26
+ { id: 1, title: 'Alpine Sunrise', category: 'nature', tags: ['mountains','dawn'], likes: 2847, views: '14.2k', image: 'https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=600&q=80', aspectRatio: '4/3' },
27
+ { id: 2, title: 'Neon Cityscape', category: 'urban', tags: ['night','city'], likes: 1923, views: '9.8k', image: 'https://images.unsplash.com/photo-1477959858617-67f85cf4f1df?w=600&q=80', aspectRatio: '3/4' },
28
+ { id: 3, title: 'Red Fox at Dusk', category: 'animals', tags: ['wildlife','fox'], likes: 3512, views: '22.1k', image: 'https://images.unsplash.com/photo-1474511320723-9a56873867b5?w=600&q=80', aspectRatio: '4/3' },
29
+ { id: 4, title: 'Ocean Cliff Walk', category: 'travel', tags: ['coast','cliffs'], likes: 4201, views: '31.0k', image: 'https://images.unsplash.com/photo-1505118380757-91f5f5632de0?w=600&q=80', aspectRatio: '3/4' },
30
+ { id: 5, title: 'Cherry Blossoms', category: 'nature', tags: ['flowers','spring'], likes: 5674, views: '41.5k', image: 'https://images.unsplash.com/photo-1522383225653-d6cfde98c56d?w=600&q=80', aspectRatio: '4/3' },
31
+ { id: 6, title: 'Tokyo Alley', category: 'urban', tags: ['japan','street'], likes: 2103, views: '17.4k', image: 'https://images.unsplash.com/photo-1540959733332-eab4deabeeaf?w=600&q=80', aspectRatio: '3/4' },
32
+ { id: 7, title: 'Eagle in Flight', category: 'animals', tags: ['bird','sky'], likes: 1876, views: '12.9k', image: 'https://images.unsplash.com/photo-1611689102192-1f6e0e52df0a?w=600&q=80', aspectRatio: '4/3' },
33
+ { id: 8, title: 'Santorini Sunset', category: 'travel', tags: ['greece','sunset'], likes: 6102, views: '48.3k', image: 'https://images.unsplash.com/photo-1533105079780-92b9be482077?w=600&q=80', aspectRatio: '4/3' },
34
+ { id: 9, title: 'Ancient Redwoods', category: 'nature', tags: ['forest','trees'], likes: 3890, views: '28.7k', image: 'https://images.unsplash.com/photo-1448375240586-882707db888b?w=600&q=80', aspectRatio: '3/4' },
35
+ { id: 10, title: 'Brooklyn Bridge', category: 'urban', tags: ['nyc','bridge'], likes: 4478, views: '35.2k', image: 'https://images.unsplash.com/photo-1548438294-1ad5d5f4f063?w=600&q=80', aspectRatio: '4/3' },
36
+ { id: 11, title: 'Polar Bear Swim', category: 'animals', tags: ['arctic','polar'], likes: 2654, views: '19.1k', image: 'https://images.unsplash.com/photo-1589656966895-2f33e7653819?w=600&q=80', aspectRatio: '3/4' },
37
+ { id: 12, title: 'Amalfi Coast Drive', category: 'travel', tags: ['italy','coast'], likes: 5233, views: '40.8k', image: 'https://images.unsplash.com/photo-1612698093158-e07ac200d44e?w=600&q=80', aspectRatio: '4/3' },
38
+ ];
39
+
40
+ const FILTER_OPTIONS = [
41
+ { key: 'all', label: '🌟 All', color: '#6366f1' },
42
+ { key: 'nature', label: '🌲 Nature', color: '#10b981' },
43
+ { key: 'urban', label: '🏙️ Urban', color: '#3b82f6' },
44
+ { key: 'animals', label: '🦊 Animals', color: '#f59e0b' },
45
+ { key: 'travel', label: '✈️ Travel', color: '#ec4899' },
46
+ ];
47
+
48
+ const CATEGORY_COLORS = {
49
+ nature: { bg: '#d1fae5', text: '#065f46' },
50
+ urban: { bg: '#dbeafe', text: '#1e40af' },
51
+ animals: { bg: '#fef3c7', text: '#92400e' },
52
+ travel: { bg: '#fce7f3', text: '#9d174d' },
53
+ };
54
+
55
+ // Store on window so inline onclick can access
56
+ window._masonryPhotos = PHOTOS;
57
+ window._masonryCatColors = CATEGORY_COLORS;
58
+
59
+ function updateActiveBtn(id) {
60
+ ['btnMasonryPlayground','btnMasonryBasic','btnMasonryFiltered','btnMasonrySelectable','btnMasonrySkeleton','btnMasonryProductGrid','btnMasonryNewsFeed'].forEach(b => {
61
+ const el = document.getElementById(b);
62
+ if (el) el.selected = b === id;
63
+ });
64
+ }
65
+
66
+ // ── Render a masonry card (pure HTML, no Stencil masonry component) ──────────
67
+ function renderCard(photo, opts = {}) {
68
+ const { selectable = false, checked = false, idx = 0, showLightbox = true } = opts;
69
+ const cat = CATEGORY_COLORS[photo.category] || { bg: '#f3f4f6', text: '#374151' };
70
+ const checkHtml = selectable ? `
71
+ <div class="ms-checkbox" onclick="event.stopPropagation(); window._masonryToggle(${idx})"
72
+ style="position:absolute;top:10px;left:10px;z-index:3;
73
+ width:24px;height:24px;border-radius:6px;
74
+ background:${checked ? '#6366f1' : 'rgba(255,255,255,0.9)'};
75
+ border:2px solid ${checked ? '#6366f1' : 'rgba(255,255,255,0.7)'};
76
+ display:flex;align-items:center;justify-content:center;
77
+ cursor:pointer;transition:all 0.2s;box-shadow:0 2px 8px rgba(0,0,0,0.2);">
78
+ ${checked ? '<svg width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M2 6l3 3 5-5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>' : ''}
79
+ </div>` : '';
80
+
81
+ const lbBtn = showLightbox ? `
82
+ <button onclick="event.stopPropagation(); window._masonryLightbox(${photo.id})"
83
+ style="width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,0.15);
84
+ border:1px solid rgba(255,255,255,0.3);color:white;cursor:pointer;backdrop-filter:blur(4px);
85
+ display:flex;align-items:center;justify-content:center;transition:all 0.2s;"
86
+ onmouseover="this.style.background='rgba(255,255,255,0.25)'"
87
+ onmouseout="this.style.background='rgba(255,255,255,0.15)'">
88
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"/></svg>
89
+ </button>` : '';
90
+
91
+ return `
92
+ <div class="ms-card" data-id="${photo.id}" data-idx="${idx}"
93
+ style="border-radius:12px;overflow:hidden;background:var(--bg-primary,#fff);
94
+ box-shadow:0 2px 12px rgba(0,0,0,0.08);break-inside:avoid;
95
+ margin-bottom:16px;cursor:pointer;transition:transform 0.25s,box-shadow 0.25s;position:relative;
96
+ ${checked ? 'outline:3px solid #6366f1;' : ''}"
97
+ onmouseover="this.style.transform='translateY(-4px)';this.style.boxShadow='0 12px 32px rgba(0,0,0,0.18)'"
98
+ onmouseout="this.style.transform='';this.style.boxShadow='0 2px 12px rgba(0,0,0,0.08)'">
99
+
100
+ ${checkHtml}
101
+
102
+ <div class="ms-img-wrap" style="position:relative;overflow:hidden;">
103
+ <img src="${photo.image}" alt="${photo.title}" loading="lazy"
104
+ style="width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:${photo.aspectRatio};
105
+ transition:transform 0.4s;"
106
+ onmouseover="this.style.transform='scale(1.04)'"
107
+ onmouseout="this.style.transform=''"
108
+ onerror="this.style.display='none';this.nextElementSibling.style.display='flex'"/>
109
+ <div style="display:none;width:100%;aspect-ratio:${photo.aspectRatio};
110
+ background:linear-gradient(135deg,var(--bg-secondary,#f1f5f9),var(--bg-tertiary,#e2e8f0));
111
+ align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--text-muted,#94a3b8);">
112
+ <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="8.5" cy="8.5" r="1.5"/><path d="m21 15-5-5L5 21"/></svg>
113
+ <span style="font-size:12px;">Image unavailable</span>
114
+ </div>
115
+
116
+ <!-- Hover overlay -->
117
+ <div class="ms-overlay" style="position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.6) 0%,transparent 50%);
118
+ opacity:0;transition:opacity 0.3s;display:flex;align-items:flex-end;padding:12px;gap:8px;"
119
+ onmouseover="this.style.opacity='1'" onmouseout="this.style.opacity='0'">
120
+ ${lbBtn}
121
+ <button onclick="event.stopPropagation()"
122
+ style="width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,0.15);
123
+ border:1px solid rgba(255,255,255,0.3);color:white;cursor:pointer;backdrop-filter:blur(4px);
124
+ display:flex;align-items:center;justify-content:center;transition:all 0.2s;"
125
+ onmouseover="this.style.background='rgba(239,68,68,0.4)'"
126
+ onmouseout="this.style.background='rgba(255,255,255,0.15)'">
127
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>
128
+ </button>
129
+ </div>
130
+ </div>
131
+
132
+ <div style="padding:12px 14px 14px;">
133
+ <div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;">
134
+ <h4 style="margin:0;font-size:13px;font-weight:700;color:var(--text-primary,#111827);line-height:1.3;">${photo.title}</h4>
135
+ <span style="padding:2px 8px;border-radius:20px;font-size:10px;font-weight:700;
136
+ background:${cat.bg};color:${cat.text};text-transform:uppercase;letter-spacing:0.04em;flex-shrink:0;margin-left:6px;">
137
+ ${photo.category}
138
+ </span>
139
+ </div>
140
+ <div style="display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;">
141
+ ${photo.tags.map(t => `<span style="padding:2px 6px;border-radius:4px;background:var(--bg-secondary,#f3f4f6);color:var(--text-muted,#6b7280);font-size:10px;">#${t}</span>`).join('')}
142
+ </div>
143
+ <div style="display:flex;gap:12px;align-items:center;color:var(--text-muted,#9ca3af);font-size:11px;">
144
+ <span style="display:flex;align-items:center;gap:4px;">
145
+ <svg width="11" height="11" viewBox="0 0 24 24" fill="currentColor"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>
146
+ ${photo.likes.toLocaleString()}
147
+ </span>
148
+ <span style="display:flex;align-items:center;gap:4px;">
149
+ <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>
150
+ ${photo.views}
151
+ </span>
152
+ </div>
153
+ </div>
154
+ </div>`;
155
+ }
156
+
157
+ // ── Render a masonry grid of cards ──────────────────────────────────────────
158
+ function renderMasonryGrid(photos, cols, opts = {}) {
159
+ if (!photos.length) return `<div style="text-align:center;padding:60px;color:var(--text-muted,#9ca3af);">No photos found</div>`;
160
+ const columns = Array.from({ length: cols }, () => []);
161
+ photos.forEach((p, i) => columns[i % cols].push({ photo: p, idx: i }));
162
+ return `<div style="display:flex;gap:16px;align-items:flex-start;">
163
+ ${columns.map(col => `
164
+ <div style="flex:1;min-width:0;">
165
+ ${col.map(({ photo, idx }) => renderCard(photo, { ...opts, idx })).join('')}
166
+ </div>`).join('')}
167
+ </div>`;
168
+ }
169
+
170
+ // ── Lightbox ─────────────────────────────────────────────────────────────────
171
+ window._masonryLightbox = function(id) {
172
+ const photos = window._masonryPhotos;
173
+ let current = photos.findIndex(p => p.id === id);
174
+ if (current < 0) return;
175
+
176
+ function show(idx) {
177
+ const p = photos[idx];
178
+ const overlay = document.getElementById('ms-lightbox');
179
+ if (!overlay) return;
180
+ overlay.querySelector('.ms-lb-img').src = p.image.replace('w=600', 'w=1200');
181
+ overlay.querySelector('.ms-lb-title').textContent = p.title;
182
+ overlay.querySelector('.ms-lb-cat').textContent = p.category;
183
+ overlay.querySelector('.ms-lb-counter').textContent = `${idx + 1} / ${photos.length}`;
184
+ current = idx;
185
+ }
186
+
187
+ // Inject lightbox if not present
188
+ if (!document.getElementById('ms-lightbox')) {
189
+ const lb = document.createElement('div');
190
+ lb.id = 'ms-lightbox';
191
+ lb.style.cssText = 'position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:99999;display:flex;align-items:center;justify-content:center;animation:fadeIn 0.2s ease;';
192
+ lb.innerHTML = `
193
+ <button onclick="document.getElementById('ms-lightbox').remove()" style="position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.12);border:none;color:white;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;">✕</button>
194
+ <button onclick="window._masonryLbNav(-1)" style="position:absolute;left:20px;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,0.12);border:none;color:white;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;">‹</button>
195
+ <div style="max-width:80vw;max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:16px;">
196
+ <img class="ms-lb-img" src="" alt="" style="max-width:100%;max-height:75vh;border-radius:12px;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,0.5);">
197
+ <div style="text-align:center;color:white;">
198
+ <div class="ms-lb-title" style="font-size:18px;font-weight:700;margin-bottom:4px;"></div>
199
+ <div class="ms-lb-cat" style="font-size:12px;opacity:0.6;text-transform:uppercase;letter-spacing:0.1em;"></div>
200
+ </div>
201
+ </div>
202
+ <button onclick="window._masonryLbNav(1)" style="position:absolute;right:20px;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,0.12);border:none;color:white;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;">›</button>
203
+ <div class="ms-lb-counter" style="position:absolute;bottom:20px;color:rgba(255,255,255,0.5);font-size:13px;"></div>`;
204
+ document.body.appendChild(lb);
205
+ }
206
+ window._masonryLbNav = (dir) => {
207
+ const p = window._masonryPhotos;
208
+ show((current + dir + p.length) % p.length);
209
+ };
210
+ show(current);
211
+ };
212
+
213
+ // ── PLAYGROUND ────────────────────────────────────────────────────────────────
214
+ function showPlayground() {
215
+ updateActiveBtn('btnMasonryPlayground');
216
+ const c = document.getElementById('masonryDemoContainer');
217
+ if (!c) return;
218
+ c.innerHTML = `
219
+ <div class="demo-block" style="background:var(--bg-primary);border-radius:16px;padding:28px;border:1px solid var(--border-default);">
220
+ <h3 style="margin-top:0;display:flex;align-items:center;gap:10px;">
221
+ <span style="font-size:22px;">🎮</span> Interactive Masonry Playground
222
+ </h3>
223
+ <p style="color:var(--text-secondary);margin-bottom:24px;">Adjust columns, gap and category filter to preview the masonry layout live.</p>
224
+
225
+ <div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;padding:20px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-default);margin-bottom:24px;">
226
+ <ui-dropdown id="pgCols" label="Columns" value="3" options='[{"label":"1","value":"1"},{"label":"2","value":"2"},{"label":"3","value":"3"},{"label":"4","value":"4"}]'></ui-dropdown>
227
+ <ui-dropdown id="pgCat" label="Category" value="all" options='[{"label":"All","value":"all"},{"label":"Nature","value":"nature"},{"label":"Urban","value":"urban"},{"label":"Animals","value":"animals"},{"label":"Travel","value":"travel"}]'></ui-dropdown>
228
+ <ui-dropdown id="pgSort" label="Sort By" value="none" options='[{"label":"Default","value":"none"},{"label":"Most Liked","value":"likes"},{"label":"Most Viewed","value":"views"},{"label":"A–Z","value":"alpha"}]'></ui-dropdown>
229
+ </div>
230
+
231
+ <div id="pgGrid"></div>
232
+ </div>`;
233
+
234
+ function refresh() {
235
+ const cols = parseInt(document.getElementById('pgCols')?.value || '3');
236
+ const cat = document.getElementById('pgCat')?.value || 'all';
237
+ const sort = document.getElementById('pgSort')?.value || 'none';
238
+ let photos = [...PHOTOS];
239
+ if (cat !== 'all') photos = photos.filter(p => p.category === cat);
240
+ if (sort === 'likes') photos.sort((a, b) => b.likes - a.likes);
241
+ if (sort === 'views') photos.sort((a, b) => parseFloat(b.views) - parseFloat(a.views));
242
+ if (sort === 'alpha') photos.sort((a, b) => a.title.localeCompare(b.title));
243
+ const grid = document.getElementById('pgGrid');
244
+ if (grid) grid.innerHTML = renderMasonryGrid(photos, cols, { showLightbox: true });
245
+ }
246
+
247
+ setTimeout(() => {
248
+ ['pgCols','pgCat','pgSort'].forEach(id => {
249
+ document.getElementById(id)?.addEventListener('dropdownChange', refresh);
250
+ });
251
+ refresh();
252
+ }, 150);
253
+ }
254
+
255
+ // ── BASIC GALLERY ──────────────────────────────────────────────────────────
256
+ function showBasic() {
257
+ updateActiveBtn('btnMasonryBasic');
258
+ const c = document.getElementById('masonryDemoContainer');
259
+ if (!c) return;
260
+ c.innerHTML = `
261
+ <div class="demo-block" style="background:var(--bg-primary);border-radius:16px;padding:28px;border:1px solid var(--border-default);">
262
+ <h3 style="margin-top:0;display:flex;align-items:center;gap:10px;"><span style="font-size:22px;">🖼️</span> Fluid Masonry Gallery</h3>
263
+ <p style="color:var(--text-secondary);margin-bottom:24px;">Natural waterfall layout with hover overlays and one-click lightbox.</p>
264
+ ${renderMasonryGrid(PHOTOS, 3, { showLightbox: true })}
265
+ </div>`;
266
+ }
267
+
268
+ // ── FILTERED ───────────────────────────────────────────────────────────────
269
+ function showFiltered() {
270
+ updateActiveBtn('btnMasonryFiltered');
271
+ const c = document.getElementById('masonryDemoContainer');
272
+ if (!c) return;
273
+
274
+ let activeFilter = 'all';
275
+ let searchText = '';
276
+
277
+ c.innerHTML = `
278
+ <div class="demo-block" style="background:var(--bg-primary);border-radius:16px;padding:28px;border:1px solid var(--border-default);">
279
+ <h3 style="margin-top:0;display:flex;align-items:center;gap:10px;"><span style="font-size:22px;">🔍</span> Categorized & Searchable</h3>
280
+ <p style="color:var(--text-secondary);margin-bottom:20px;">Filter by category or search across photo titles and tags.</p>
281
+
282
+ <div style="display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px;">
283
+ <div style="display:flex;gap:8px;flex-wrap:wrap;" id="filterBtns">
284
+ ${FILTER_OPTIONS.map(f => `
285
+ <button id="fb_${f.key}" onclick="window._masonryFilter('${f.key}')"
286
+ style="padding:6px 16px;border-radius:20px;border:2px solid ${f.color};cursor:pointer;font-size:13px;font-weight:600;
287
+ background:${f.key === 'all' ? f.color : 'transparent'};color:${f.key === 'all' ? 'white' : f.color};
288
+ transition:all 0.2s;">
289
+ ${f.label}
290
+ </button>`).join('')}
291
+ </div>
292
+ <div style="flex:1;min-width:200px;max-width:280px;">
293
+ <input id="masonrySearch" type="text" placeholder="🔍 Search photos…"
294
+ oninput="window._masonrySearch(this.value)"
295
+ style="width:100%;padding:8px 14px;border:1.5px solid var(--border-default,#e5e7eb);border-radius:20px;font-size:13px;
296
+ background:var(--bg-secondary);color:var(--text-primary);outline:none;box-sizing:border-box;
297
+ transition:border-color 0.2s;"
298
+ onfocus="this.style.borderColor='#6366f1'" onblur="this.style.borderColor='var(--border-default,#e5e7eb)'">
299
+ </div>
300
+ </div>
301
+
302
+ <div id="filteredCount" style="font-size:12px;color:var(--text-muted);margin-bottom:16px;">${PHOTOS.length} photos</div>
303
+ <div id="filteredGrid">${renderMasonryGrid(PHOTOS, 3, { showLightbox: true })}</div>
304
+ </div>`;
305
+
306
+ function applyFilter() {
307
+ let photos = [...PHOTOS];
308
+ if (activeFilter !== 'all') photos = photos.filter(p => p.category === activeFilter);
309
+ if (searchText) {
310
+ const q = searchText.toLowerCase();
311
+ photos = photos.filter(p => p.title.toLowerCase().includes(q) || p.tags.some(t => t.includes(q)) || p.category.includes(q));
312
+ }
313
+ const grid = document.getElementById('filteredGrid');
314
+ const count = document.getElementById('filteredCount');
315
+ if (grid) grid.innerHTML = renderMasonryGrid(photos, 3, { showLightbox: true });
316
+ if (count) count.textContent = `${photos.length} photo${photos.length !== 1 ? 's' : ''}`;
317
+ }
318
+
319
+ window._masonryFilter = function(key) {
320
+ activeFilter = key;
321
+ FILTER_OPTIONS.forEach(f => {
322
+ const btn = document.getElementById('fb_' + f.key);
323
+ if (!btn) return;
324
+ btn.style.background = key === f.key ? f.color : 'transparent';
325
+ btn.style.color = key === f.key ? 'white' : f.color;
326
+ });
327
+ applyFilter();
328
+ };
329
+ window._masonrySearch = function(val) {
330
+ searchText = val;
331
+ applyFilter();
332
+ };
333
+ }
334
+
335
+ // ── SELECTABLE ─────────────────────────────────────────────────────────────
336
+ function showSelectable() {
337
+ updateActiveBtn('btnMasonrySelectable');
338
+ const c = document.getElementById('masonryDemoContainer');
339
+ if (!c) return;
340
+
341
+ window._masonrySelected = new Set();
342
+
343
+ function renderAll() {
344
+ const grid = document.getElementById('selectableGrid');
345
+ const badge = document.getElementById('selBadge');
346
+ if (!grid) return;
347
+ grid.innerHTML = renderMasonryGrid(PHOTOS, 3, { selectable: true, showLightbox: false });
348
+ // Re-apply checked state
349
+ window._masonrySelected.forEach(idx => {
350
+ const card = grid.querySelector(`[data-idx="${idx}"]`);
351
+ if (card) {
352
+ card.style.outline = '3px solid #6366f1';
353
+ const cb = card.querySelector('.ms-checkbox');
354
+ if (cb) {
355
+ cb.style.background = '#6366f1';
356
+ cb.style.borderColor = '#6366f1';
357
+ cb.innerHTML = '<svg width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M2 6l3 3 5-5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>';
358
+ }
359
+ }
360
+ });
361
+ if (badge) {
362
+ const n = window._masonrySelected.size;
363
+ badge.textContent = `${n} photo${n !== 1 ? 's' : ''} selected`;
364
+ badge.style.background = n > 0 ? '#6366f1' : 'var(--bg-secondary)';
365
+ badge.style.color = n > 0 ? 'white' : 'var(--text-muted)';
366
+ }
367
+ const batchBar = document.getElementById('batchBar');
368
+ if (batchBar) batchBar.style.display = window._masonrySelected.size > 0 ? 'flex' : 'none';
369
+ }
370
+
371
+ window._masonryToggle = function(idx) {
372
+ if (window._masonrySelected.has(idx)) {
373
+ window._masonrySelected.delete(idx);
374
+ } else {
375
+ window._masonrySelected.add(idx);
376
+ }
377
+ renderAll();
378
+ };
379
+
380
+ c.innerHTML = `
381
+ <div class="demo-block" style="background:var(--bg-primary);border-radius:16px;padding:28px;border:1px solid var(--border-default);">
382
+ <div style="display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:12px;">
383
+ <div>
384
+ <h3 style="margin:0 0 6px;display:flex;align-items:center;gap:10px;"><span style="font-size:22px;">✅</span> Selection & Batch Actions</h3>
385
+ <p style="color:var(--text-secondary);margin:0;">Click the checkbox on hover to select photos. Use Ctrl+A to select all.</p>
386
+ </div>
387
+ <div id="selBadge" style="padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;
388
+ background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border-default);
389
+ white-space:nowrap;transition:all 0.3s;">0 photos selected</div>
390
+ </div>
391
+
392
+ <div id="batchBar" style="display:none;gap:10px;align-items:center;padding:12px 16px;
393
+ background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:10px;margin-bottom:20px;">
394
+ <span style="color:white;font-size:13px;font-weight:600;flex:1;" id="batchLabel"></span>
395
+ <button onclick="window._masonrySelected=new Set();window._masonryRenderAll()" style="padding:6px 14px;border-radius:6px;background:rgba(255,255,255,0.2);border:none;color:white;cursor:pointer;font-size:12px;font-weight:600;">Deselect All</button>
396
+ <button onclick="var n=window._masonrySelected.size;window._masonrySelected=new Set(Array.from({length:window._masonryPhotos.length},(_,i)=>i));window._masonryRenderAll()" style="padding:6px 14px;border-radius:6px;background:rgba(255,255,255,0.2);border:none;color:white;cursor:pointer;font-size:12px;font-weight:600;">Select All</button>
397
+ <button onclick="alert('Downloading '+window._masonrySelected.size+' photos!')" style="padding:6px 14px;border-radius:6px;background:white;border:none;color:#6366f1;cursor:pointer;font-size:12px;font-weight:700;">⬇ Download</button>
398
+ <button onclick="if(confirm('Delete '+window._masonrySelected.size+' photos?')){window._masonrySelected=new Set();window._masonryRenderAll()}" style="padding:6px 14px;border-radius:6px;background:rgba(239,68,68,0.85);border:none;color:white;cursor:pointer;font-size:12px;font-weight:700;">🗑 Delete</button>
399
+ </div>
400
+
401
+ <div id="selectableGrid"></div>
402
+ </div>`;
403
+
404
+ window._masonryRenderAll = renderAll;
405
+ renderAll();
406
+ }
407
+
408
+ // ── SKELETON LOADING ───────────────────────────────────────────────────────
409
+ function showSkeleton() {
410
+ updateActiveBtn('btnMasonrySkeleton');
411
+ const c = document.getElementById('masonryDemoContainer');
412
+ if (!c) return;
413
+
414
+ const skeletonItems = Array.from({ length: 9 }, (_, i) => ({
415
+ id: i + 1,
416
+ title: `Item ${i + 1}`,
417
+ description: 'Loading...',
418
+ image: `https://picsum.photos/400/${[220,300,260,350,200,280,320,240,290][i % 9]}?random=${i}`,
419
+ category: ['nature','architecture','food','technology'][i % 4],
420
+ }));
421
+
422
+ c.innerHTML = `
423
+ <div class="demo-block" style="background:var(--bg-primary);border-radius:16px;padding:28px;border:1px solid var(--border-default);">
424
+ <div style="display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:12px;">
425
+ <div>
426
+ <h3 style="margin:0 0 6px;display:flex;align-items:center;gap:10px;"><span style="font-size:22px;">💀</span> Skeleton Loading State</h3>
427
+ <p style="color:var(--text-secondary);margin:0;">Realistic animated placeholder tiles shown while content is being fetched. Toggle between loading and loaded states.</p>
428
+ </div>
429
+ <ui-button id="btnToggleSkeleton" variant="outline" color="warning">Toggle Loading</ui-button>
430
+ </div>
431
+
432
+ <div style="display:grid;grid-template-columns:1fr 1fr;gap:32px;">
433
+ <div>
434
+ <p style="font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-secondary,#64748b);margin:0 0 12px;">Loading State (<code>loading-state="true"</code>)</p>
435
+ <ui-masonry id="masonrySkeletonOn" layout-type="masonry" columns="2" gap="14" loading-state="true"></ui-masonry>
436
+ </div>
437
+ <div>
438
+ <p style="font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-secondary,#64748b);margin:0 0 12px;">Loaded State (normal)</p>
439
+ <ui-masonry id="masonrySkeletonOff" layout-type="masonry" columns="2" gap="14"></ui-masonry>
440
+ </div>
441
+ </div>
442
+
443
+ <div style="margin-top:32px;">
444
+ <p style="font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-secondary,#64748b);margin:0 0 12px;">Full-width togglable (<code>loading-state</code> controlled via JS)</p>
445
+ <ui-masonry id="masonrySkeletonLive" layout-type="masonry" columns="3" gap="16" loading-state="true"></ui-masonry>
446
+ </div>
447
+ </div>`;
448
+
449
+ setTimeout(() => {
450
+ const off = document.getElementById('masonrySkeletonOff');
451
+ const live = document.getElementById('masonrySkeletonLive');
452
+ if (off) off.items = skeletonItems;
453
+ if (live) live.items = skeletonItems;
454
+
455
+ document.getElementById('btnToggleSkeleton')?.addEventListener('click', () => {
456
+ const el = document.getElementById('masonrySkeletonLive');
457
+ if (el) {
458
+ el.loadingState = !el.loadingState;
459
+ document.getElementById('btnToggleSkeleton').label = el.loadingState ? 'Show Loaded' : 'Show Loading';
460
+ }
461
+ });
462
+ }, 150);
463
+ }
464
+
465
+ // ── PRODUCT GRID ───────────────────────────────────────────────────────────
466
+ function showProductGrid() {
467
+ updateActiveBtn('btnMasonryProductGrid');
468
+ const c = document.getElementById('masonryDemoContainer');
469
+ if (!c) return;
470
+
471
+ const categories = ['electronics','fashion','home','sports'];
472
+ const productNames = [
473
+ 'Wireless Headphones','Leather Jacket','Smart Lamp','Running Shoes',
474
+ 'Mechanical Keyboard','Silk Blouse','Yoga Mat','Trail Sneakers',
475
+ 'Gaming Mouse','Puffer Vest','Desk Organiser','Cycling Gloves',
476
+ 'USB-C Hub','Denim Jeans','Throw Pillow','Water Bottle',
477
+ 'Webcam HD','Trench Coat','Candle Set','Gym Shorts',
478
+ ];
479
+ const prices = [49.99,129.00,39.99,89.00,79.99,59.00,34.99,109.00,44.99,99.00,
480
+ 24.99,29.00,54.99,69.99,19.99,22.00,89.99,149.00,18.00,39.00];
481
+ const productItems = productNames.map((name, i) => ({
482
+ id: i + 1,
483
+ title: name,
484
+ description: `$${prices[i].toFixed(2)} · ★ ${(3.8 + (i % 5) * 0.1).toFixed(1)} (${80 + i * 7} reviews)`,
485
+ image: `https://picsum.photos/400/300?random=${i + 100}`,
486
+ category: categories[i % 4],
487
+ height: 300,
488
+ }));
489
+
490
+ const filterOpts = categories.map(k => ({ key: k, label: k.charAt(0).toUpperCase() + k.slice(1) }));
491
+
492
+ c.innerHTML = `
493
+ <div class="demo-block" style="background:var(--bg-primary);border-radius:16px;padding:28px;border:1px solid var(--border-default);">
494
+ <h3 style="margin-top:0;display:flex;align-items:center;gap:10px;"><span style="font-size:22px;">📦</span> Product Grid (<code>layout-type="grid"</code>)</h3>
495
+ <p style="color:var(--text-secondary);margin-bottom:20px;">Equal-height grid layout ideal for product listings. Category filter and multi-select batch actions included.</p>
496
+ <ui-masonry id="masonryProductGrid"
497
+ layout-type="grid"
498
+ columns="4"
499
+ gap="20"
500
+ show-filters="true"
501
+ selectable="true"
502
+ multi-select="true"
503
+ show-batch-actions="true"
504
+ lightbox="true">
505
+ </ui-masonry>
506
+ </div>`;
507
+
508
+ setTimeout(() => {
509
+ const el = document.getElementById('masonryProductGrid');
510
+ if (!el) return;
511
+ el.filterOptions = filterOpts;
512
+ el.items = productItems;
513
+ }, 150);
514
+ }
515
+
516
+ // ── NEWS FEED ──────────────────────────────────────────────────────────────
517
+ function showNewsFeed() {
518
+ updateActiveBtn('btnMasonryNewsFeed');
519
+ const c = document.getElementById('masonryDemoContainer');
520
+ if (!c) return;
521
+
522
+ const topics = ['technology','design','business','science'];
523
+ const headlines = [
524
+ 'The Future of AI in Everyday Products',
525
+ 'How Brutalist Design Is Making a Comeback',
526
+ 'Remote Work Trends Reshaping Office Real Estate',
527
+ 'New Study Links Sleep Quality to Cognitive Performance',
528
+ 'Open-Source Models Challenge Proprietary AI Giants',
529
+ 'Typography Trends to Watch This Year',
530
+ 'Startup Valuations Stabilise After Two Turbulent Years',
531
+ 'Quantum Computing Moves Closer to Commercial Viability',
532
+ 'CSS Grid vs Flexbox: The 2026 Perspective',
533
+ 'Building Design Systems That Scale Across Teams',
534
+ 'Venture Capital Pivots Toward Climate-Tech',
535
+ 'Researchers Discover Novel Protein-Folding Pathway',
536
+ 'Edge Computing and the Death of the Monolithic Cloud',
537
+ 'The Return of Skeuomorphism in Mobile UI',
538
+ 'ESG Reporting Becomes Mandatory for Mid-Cap Firms',
539
+ 'CRISPR Applications Expand Beyond Genetic Disease',
540
+ 'Web Assembly Reaches Performance Parity With Native Code',
541
+ 'Spatial Design Principles for XR Interfaces',
542
+ ];
543
+ const authors = ['Alex Morgan','Sam Chen','Jordan Lee','Taylor Kim','Riley Park','Casey Wu'];
544
+ const dates = ['May 28','May 27','May 26','May 25','May 24','May 23'];
545
+
546
+ const newsItems = headlines.map((h, i) => ({
547
+ id: i + 1,
548
+ title: h,
549
+ description: `By ${authors[i % 6]} · ${dates[i % 6]} — ${[
550
+ 'An in-depth look at emerging patterns that are transforming how we interact with technology.',
551
+ 'Industry experts weigh in on the forces shaping the next decade of innovation.',
552
+ 'A comprehensive analysis of recent developments and what they mean for practitioners.',
553
+ ][i % 3]}`,
554
+ image: `https://picsum.photos/600/${[200,260,220,300,240,280][i % 6]}?random=${i + 200}`,
555
+ category: topics[i % 4],
556
+ }));
557
+
558
+ const filterOpts = topics.map(k => ({ key: k, label: k.charAt(0).toUpperCase() + k.slice(1) }));
559
+
560
+ c.innerHTML = `
561
+ <div class="demo-block" style="background:var(--bg-primary);border-radius:16px;padding:28px;border:1px solid var(--border-default);">
562
+ <h3 style="margin-top:0;display:flex;align-items:center;gap:10px;"><span style="font-size:22px;">📰</span> News Feed (<code>layout-type="columns"</code>)</h3>
563
+ <p style="color:var(--text-secondary);margin-bottom:20px;">Column-based layout for articles and blog posts. Items fill columns top-to-bottom for a natural reading flow.</p>
564
+ <ui-masonry id="masonryNewsFeed"
565
+ layout-type="columns"
566
+ columns="3"
567
+ gap="24"
568
+ show-filters="true"
569
+ lazy-load="true">
570
+ </ui-masonry>
571
+ </div>`;
572
+
573
+ setTimeout(() => {
574
+ const el = document.getElementById('masonryNewsFeed');
575
+ if (!el) return;
576
+ el.filterOptions = filterOpts;
577
+ el.items = newsItems;
578
+ }, 150);
579
+ }
580
+
581
+ // Wire up nav buttons
582
+ setTimeout(() => {
583
+ document.getElementById('btnMasonryPlayground')?.addEventListener('click', showPlayground);
584
+ document.getElementById('btnMasonryBasic')?.addEventListener('click', showBasic);
585
+ document.getElementById('btnMasonryFiltered')?.addEventListener('click', showFiltered);
586
+ document.getElementById('btnMasonrySelectable')?.addEventListener('click', showSelectable);
587
+ document.getElementById('btnMasonrySkeleton')?.addEventListener('click', showSkeleton);
588
+ document.getElementById('btnMasonryProductGrid')?.addEventListener('click', showProductGrid);
589
+ document.getElementById('btnMasonryNewsFeed')?.addEventListener('click', showNewsFeed);
590
+ showPlayground();
591
+ }, 100);
592
+ }