atomicuilibrary 0.0.1 → 0.1.0

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 (395) hide show
  1. package/dist/cjs/category-section.cjs.entry.js +1 -1
  2. package/dist/cjs/exploration-project-tailwind.cjs.js +1 -1
  3. package/dist/cjs/layout-manager.cjs.entry.js +1 -1
  4. package/dist/cjs/library-card.cjs.entry.js +1 -1
  5. package/dist/cjs/lm-container_2.cjs.entry.js +1 -1
  6. package/dist/cjs/lm-panel_3.cjs.entry.js +4 -4
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/my-step.cjs.entry.js +1 -1
  9. package/dist/cjs/nav-bar.cjs.entry.js +2 -2
  10. package/dist/cjs/{security-E1JcwxGc.js → security-CNaNip8F.js} +88 -154
  11. package/dist/cjs/smart-step.cjs.entry.js +2 -2
  12. package/dist/cjs/timeline-item.cjs.entry.js +1 -1
  13. package/dist/cjs/{ui-accordion_10.cjs.entry.js → ui-accordion_11.cjs.entry.js} +613 -26
  14. package/dist/cjs/ui-advanced-data-table.cjs.entry.js +1 -1
  15. package/dist/cjs/ui-anchor.cjs.entry.js +1 -1
  16. package/dist/cjs/ui-aside-panel.cjs.entry.js +5 -5
  17. package/dist/cjs/ui-avatar-group_3.cjs.entry.js +5 -5
  18. package/dist/cjs/ui-callout-banner.cjs.entry.js +1 -1
  19. package/dist/cjs/ui-card.cjs.entry.js +26 -4
  20. package/dist/cjs/ui-checkbox.cjs.entry.js +2 -2
  21. package/dist/cjs/ui-code-editor.cjs.entry.js +2 -2
  22. package/dist/cjs/ui-code-preview.cjs.entry.js +1 -1
  23. package/dist/cjs/ui-color-controller.cjs.entry.js +1 -1
  24. package/dist/cjs/ui-dialog-box.cjs.entry.js +1 -1
  25. package/dist/cjs/ui-dock-host.cjs.entry.js +3 -3
  26. package/dist/cjs/ui-drag-drop.cjs.entry.js +1 -1
  27. package/dist/cjs/ui-empty-state.cjs.entry.js +1 -1
  28. package/dist/cjs/ui-fab-item.cjs.entry.js +1 -1
  29. package/dist/cjs/ui-fab.cjs.entry.js +2 -2
  30. package/dist/cjs/ui-library.cjs.entry.js +1 -1
  31. package/dist/cjs/ui-list-group_2.cjs.entry.js +9 -5
  32. package/dist/cjs/ui-list.cjs.entry.js +4 -4
  33. package/dist/cjs/ui-navigation-item.cjs.entry.js +3 -3
  34. package/dist/cjs/ui-otp-input.cjs.entry.js +2 -2
  35. package/dist/cjs/{ui-pagination_3.cjs.entry.js → ui-pagination_4.cjs.entry.js} +202 -0
  36. package/dist/cjs/ui-pattern-input.cjs.entry.js +5 -5
  37. package/dist/cjs/ui-popover.cjs.entry.js +1 -1
  38. package/dist/cjs/ui-progress.cjs.entry.js +101 -17
  39. package/dist/cjs/ui-resizable-panel.cjs.entry.js +1 -1
  40. package/dist/cjs/ui-smart-location-dropdown.cjs.entry.js +2 -2
  41. package/dist/cjs/ui-smart-stepper.cjs.entry.js +1 -1
  42. package/dist/cjs/ui-snackbar.cjs.entry.js +1 -1
  43. package/dist/cjs/ui-step.cjs.entry.js +1 -1
  44. package/dist/cjs/ui-stepper.cjs.entry.js +1 -1
  45. package/dist/cjs/ui-switch.cjs.entry.js +9 -9
  46. package/dist/cjs/ui-tabs.cjs.entry.js +1 -1
  47. package/dist/cjs/ui-timeline.cjs.entry.js +1 -1
  48. package/dist/cjs/ui-toolbar.cjs.entry.js +1 -1
  49. package/dist/cjs/ui-tooltip.cjs.entry.js +4 -4
  50. package/dist/cjs/ui-transfer-list.cjs.entry.js +1 -1
  51. package/dist/cjs/ui-workspace-manager.cjs.entry.js +1 -1
  52. package/dist/collection/assets/js/demo-loader.js +0 -1
  53. package/dist/collection/assets/js/demos/accordion-demo.js +189 -0
  54. package/dist/collection/assets/js/demos/advanced-data-table-demo.js +213 -214
  55. package/dist/collection/assets/js/demos/aside-panel-demo.js +6 -6
  56. package/dist/collection/assets/js/demos/button-demo.js +60 -1
  57. package/dist/collection/assets/js/demos/callout-banner-demo.js +324 -34
  58. package/dist/collection/assets/js/demos/card-demo.js +108 -61
  59. package/dist/collection/assets/js/demos/context-menu-demo.js +433 -12
  60. package/dist/collection/assets/js/demos/dock-demo.js +80 -60
  61. package/dist/collection/assets/js/demos/documentation-demo.js +227 -22
  62. package/dist/collection/assets/js/demos/empty-state-demo.js +10 -10
  63. package/dist/collection/assets/js/demos/list-demo.js +41 -18
  64. package/dist/collection/assets/js/demos/masonry-demo.js +164 -0
  65. package/dist/collection/assets/js/demos/progress-demo.js +701 -8
  66. package/dist/collection/assets/js/demos/radio-demo.js +1 -1
  67. package/dist/collection/assets/js/demos/splitter-demo.js +137 -0
  68. package/dist/collection/assets/js/demos/tag-demo.js +48 -18
  69. package/dist/collection/assets/js/demos/timeline-demo.js +20 -7
  70. package/dist/collection/assets/js/demos/tooltip-demo.js +26 -26
  71. package/dist/collection/assets/js/demos/tree-demo.js +28 -10
  72. package/dist/collection/collection-manifest.json +1 -4
  73. package/dist/collection/components/accordion/accordion.css +301 -0
  74. package/dist/collection/components/accordion/accordion.js +40 -8
  75. package/dist/collection/components/advanced-data-table/advanced-data-table.css +19 -5
  76. package/dist/collection/components/anchor/anchor.css +0 -2
  77. package/dist/collection/components/aside-panel/aside-panel.css +1 -3
  78. package/dist/collection/components/aside-panel/aside-panel.js +5 -5
  79. package/dist/collection/components/avatar/avatar.js +1 -1
  80. package/dist/collection/components/badge/badge.css +1 -0
  81. package/dist/collection/components/badge/badge.js +1 -1
  82. package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
  83. package/dist/collection/components/button/button.css +131 -0
  84. package/dist/collection/components/button/button.js +128 -9
  85. package/dist/collection/components/card/card.css +83 -31
  86. package/dist/collection/components/card/card.js +46 -3
  87. package/dist/collection/components/checkbox/checkbox.css +8 -10
  88. package/dist/collection/components/checkbox/checkbox.js +2 -2
  89. package/dist/collection/components/code-editor/code-editor.js +1 -1
  90. package/dist/collection/components/code-preview/ui-code-preview.js +1 -1
  91. package/dist/collection/components/color-controller/color-controller.js +1 -1
  92. package/dist/collection/components/context-menu/context-menu.css +3 -3
  93. package/dist/collection/components/dialog-box/dialog-box.js +1 -1
  94. package/dist/collection/components/dialog-header/dialog-header.js +1 -1
  95. package/dist/collection/components/dock-host/ui-dock-host.js +3 -3
  96. package/dist/collection/components/drag-drop/drag-drop.js +1 -1
  97. package/dist/collection/components/empty-state/empty-state.js +1 -1
  98. package/dist/collection/components/fab/fab.js +2 -2
  99. package/dist/collection/components/fab-item/fab-item.js +1 -1
  100. package/dist/collection/components/horizontal-nav/horizontal-nav.js +2 -2
  101. package/dist/collection/components/icon/icon.js +1 -1
  102. package/dist/collection/components/input/input.js +4 -4
  103. package/dist/collection/components/layout-manager/layout-manager.js +1 -1
  104. package/dist/collection/components/layout-manager/lm-floating-window/lm-floating-window.js +1 -1
  105. package/dist/collection/components/layout-manager/lm-panel/lm-panel.js +1 -1
  106. package/dist/collection/components/layout-manager/lm-splitter/lm-splitter.js +1 -1
  107. package/dist/collection/components/layout-manager/lm-tabs/lm-tabs.js +1 -1
  108. package/dist/collection/components/library/category-section.js +1 -1
  109. package/dist/collection/components/library/library-card.js +1 -1
  110. package/dist/collection/components/library/library.js +1 -1
  111. package/dist/collection/components/list/list.js +4 -4
  112. package/dist/collection/components/list-item/list-item.css +24 -0
  113. package/dist/collection/components/list-item/list-item.js +35 -4
  114. package/dist/collection/components/loader/loader.css +1635 -0
  115. package/dist/collection/components/loader/loader.js +1120 -0
  116. package/dist/collection/components/my-step/my-step.js +1 -1
  117. package/dist/collection/components/nav-bar/nav-bar.js +6 -6
  118. package/dist/collection/components/otp-input/otp-input.js +2 -2
  119. package/dist/collection/components/pattern-input/pattern-input.js +5 -5
  120. package/dist/collection/components/progress/progress.css +150 -15
  121. package/dist/collection/components/progress/progress.js +180 -18
  122. package/dist/collection/components/radio/radio.css +3 -3
  123. package/dist/collection/components/radio/radio.js +1 -1
  124. package/dist/collection/components/resizable-panel/resizable-panel.js +1 -1
  125. package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.js +2 -2
  126. package/dist/collection/components/smart-stepper/smart-step.js +2 -2
  127. package/dist/collection/components/smart-stepper/smart-stepper.js +1 -1
  128. package/dist/collection/components/snackbar/snackbar.js +1 -1
  129. package/dist/collection/components/speed-dial/speed-dial.js +1 -1
  130. package/dist/collection/components/stack/stack.js +2 -2
  131. package/dist/collection/components/step/step.js +1 -1
  132. package/dist/collection/components/switch/switch.js +10 -10
  133. package/dist/collection/components/tag-group/tag-group.js +2 -2
  134. package/dist/collection/components/timeline-item/timeline-item.js +1 -1
  135. package/dist/collection/components/toolbar/toolbar.js +1 -1
  136. package/dist/collection/components/tooltip/tooltip.js +3 -3
  137. package/dist/collection/components/top-bar/top-bar.js +2 -2
  138. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.css +19 -4
  139. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.js +6 -6
  140. package/dist/collection/components/ui-navigation-bar/navigation-item.js +3 -3
  141. package/dist/collection/components.js +1 -0
  142. package/dist/components/avatar-group.js +1 -1
  143. package/dist/components/avatar.js +1 -1
  144. package/dist/components/badge.js +1 -1
  145. package/dist/components/button-toggle.js +1 -1
  146. package/dist/components/category-section2.js +1 -1
  147. package/dist/components/checkbox.js +1 -1
  148. package/dist/components/context-menu.js +1 -1
  149. package/dist/components/dialog-header.js +1 -1
  150. package/dist/components/dropdown.js +1 -1
  151. package/dist/components/icon.js +2 -2
  152. package/dist/components/input.js +1 -1
  153. package/dist/components/layout-manager.js +1 -1
  154. package/dist/components/library-card2.js +1 -1
  155. package/dist/components/list-group.js +1 -1
  156. package/dist/components/list-item.js +1 -1
  157. package/dist/components/lm-container2.js +1 -1
  158. package/dist/components/lm-floating-window2.js +1 -1
  159. package/dist/components/lm-panel2.js +1 -1
  160. package/dist/components/lm-splitter2.js +1 -1
  161. package/dist/components/lm-tabs2.js +1 -1
  162. package/dist/components/loader.js +1 -0
  163. package/dist/components/my-step.js +1 -1
  164. package/dist/components/nav-bar.js +1 -1
  165. package/dist/components/pagination.js +1 -1
  166. package/dist/components/radio.js +1 -1
  167. package/dist/components/range-slider.js +1 -1
  168. package/dist/components/rating.js +1 -1
  169. package/dist/components/resizable-panel.js +1 -1
  170. package/dist/components/skeleton-loader.js +1 -1
  171. package/dist/components/smart-step.js +1 -1
  172. package/dist/components/stack.js +1 -1
  173. package/dist/components/switch.js +1 -1
  174. package/dist/components/tag-group.js +1 -1
  175. package/dist/components/tag.js +1 -1
  176. package/dist/components/timeline-item.js +1 -1
  177. package/dist/components/toggle-group.js +1 -1
  178. package/dist/components/tooltip.js +1 -1
  179. package/dist/components/ui-accordion.js +1 -1
  180. package/dist/components/ui-advanced-data-table.js +1 -1
  181. package/dist/components/ui-anchor.js +1 -1
  182. package/dist/components/ui-aside-panel.js +1 -1
  183. package/dist/components/ui-breadcrumb-item.js +1 -1
  184. package/dist/components/ui-breadcrumb.js +1 -1
  185. package/dist/components/ui-button-toggle-group.js +1 -1
  186. package/dist/components/ui-callout-banner.js +1 -1
  187. package/dist/components/ui-card.js +1 -1
  188. package/dist/components/ui-carousel.js +1 -1
  189. package/dist/components/ui-code-editor.js +1 -1
  190. package/dist/components/ui-code-preview.js +1 -1
  191. package/dist/components/ui-color-controller.js +1 -1
  192. package/dist/components/ui-color-picker.js +1 -1
  193. package/dist/components/ui-command-palette.js +1 -1
  194. package/dist/components/ui-dialog-box.js +1 -1
  195. package/dist/components/ui-divider.js +1 -1
  196. package/dist/components/ui-dock-host.js +1 -1
  197. package/dist/components/ui-dock.js +1 -1
  198. package/dist/components/ui-drag-drop.js +1 -1
  199. package/dist/components/ui-empty-state.js +1 -1
  200. package/dist/components/ui-fab-item.js +1 -1
  201. package/dist/components/ui-fab.js +1 -1
  202. package/dist/components/ui-file-upload.js +1 -1
  203. package/dist/components/ui-horizontal-nav.js +1 -1
  204. package/dist/components/ui-knob.js +1 -1
  205. package/dist/components/ui-library.js +1 -1
  206. package/dist/components/ui-list.js +1 -1
  207. package/dist/components/{ui-input-pair.d.ts → ui-loader.d.ts} +4 -4
  208. package/dist/components/ui-loader.js +1 -0
  209. package/dist/components/ui-masonry.js +1 -1
  210. package/dist/components/ui-meter-group.js +1 -1
  211. package/dist/components/ui-navigation-bar.js +1 -1
  212. package/dist/components/ui-navigation-item.js +1 -1
  213. package/dist/components/ui-number-input.js +1 -1
  214. package/dist/components/ui-otp-input.js +1 -1
  215. package/dist/components/ui-panel.js +1 -1
  216. package/dist/components/ui-pattern-input.js +1 -1
  217. package/dist/components/ui-popover.js +1 -1
  218. package/dist/components/ui-progress.js +1 -1
  219. package/dist/components/ui-scroll-top.js +1 -1
  220. package/dist/components/ui-smart-context-menu.js +1 -1
  221. package/dist/components/ui-smart-location-dropdown.js +1 -1
  222. package/dist/components/ui-smart-stepper.js +1 -1
  223. package/dist/components/ui-snackbar.js +1 -1
  224. package/dist/components/ui-speed-dial.js +1 -1
  225. package/dist/components/ui-splitter.js +1 -1
  226. package/dist/components/ui-step.js +1 -1
  227. package/dist/components/ui-stepper.js +1 -1
  228. package/dist/components/ui-tabs.js +1 -1
  229. package/dist/components/ui-timeline.js +1 -1
  230. package/dist/components/ui-timer.js +1 -1
  231. package/dist/components/ui-toolbar.js +1 -1
  232. package/dist/components/ui-top-bar.js +1 -1
  233. package/dist/components/ui-transfer-list.js +1 -1
  234. package/dist/components/ui-tree.js +1 -1
  235. package/dist/components/ui-workspace-manager.js +1 -1
  236. package/dist/esm/category-section.entry.js +1 -1
  237. package/dist/esm/exploration-project-tailwind.js +1 -1
  238. package/dist/esm/layout-manager.entry.js +1 -1
  239. package/dist/esm/library-card.entry.js +1 -1
  240. package/dist/esm/lm-container_2.entry.js +1 -1
  241. package/dist/esm/lm-panel_3.entry.js +4 -4
  242. package/dist/esm/loader.js +1 -1
  243. package/dist/esm/my-step.entry.js +1 -1
  244. package/dist/esm/nav-bar.entry.js +2 -2
  245. package/dist/esm/{security-D2WzX6vR.js → security-Dyu3Nplq.js} +88 -154
  246. package/dist/esm/smart-step.entry.js +2 -2
  247. package/dist/esm/timeline-item.entry.js +1 -1
  248. package/dist/esm/{ui-accordion_10.entry.js → ui-accordion_11.entry.js} +613 -27
  249. package/dist/esm/ui-advanced-data-table.entry.js +1 -1
  250. package/dist/esm/ui-anchor.entry.js +1 -1
  251. package/dist/esm/ui-aside-panel.entry.js +5 -5
  252. package/dist/esm/ui-avatar-group_3.entry.js +5 -5
  253. package/dist/esm/ui-callout-banner.entry.js +1 -1
  254. package/dist/esm/ui-card.entry.js +26 -4
  255. package/dist/esm/ui-checkbox.entry.js +2 -2
  256. package/dist/esm/ui-code-editor.entry.js +2 -2
  257. package/dist/esm/ui-code-preview.entry.js +1 -1
  258. package/dist/esm/ui-color-controller.entry.js +1 -1
  259. package/dist/esm/ui-dialog-box.entry.js +1 -1
  260. package/dist/esm/ui-dock-host.entry.js +3 -3
  261. package/dist/esm/ui-drag-drop.entry.js +1 -1
  262. package/dist/esm/ui-empty-state.entry.js +1 -1
  263. package/dist/esm/ui-fab-item.entry.js +1 -1
  264. package/dist/esm/ui-fab.entry.js +2 -2
  265. package/dist/esm/ui-library.entry.js +1 -1
  266. package/dist/esm/ui-list-group_2.entry.js +9 -5
  267. package/dist/esm/ui-list.entry.js +4 -4
  268. package/dist/esm/ui-navigation-item.entry.js +3 -3
  269. package/dist/esm/ui-otp-input.entry.js +2 -2
  270. package/dist/esm/{ui-pagination_3.entry.js → ui-pagination_4.entry.js} +202 -1
  271. package/dist/esm/ui-pattern-input.entry.js +5 -5
  272. package/dist/esm/ui-popover.entry.js +1 -1
  273. package/dist/esm/ui-progress.entry.js +101 -17
  274. package/dist/esm/ui-resizable-panel.entry.js +1 -1
  275. package/dist/esm/ui-smart-location-dropdown.entry.js +2 -2
  276. package/dist/esm/ui-smart-stepper.entry.js +1 -1
  277. package/dist/esm/ui-snackbar.entry.js +1 -1
  278. package/dist/esm/ui-step.entry.js +1 -1
  279. package/dist/esm/ui-stepper.entry.js +1 -1
  280. package/dist/esm/ui-switch.entry.js +9 -9
  281. package/dist/esm/ui-tabs.entry.js +1 -1
  282. package/dist/esm/ui-timeline.entry.js +1 -1
  283. package/dist/esm/ui-toolbar.entry.js +1 -1
  284. package/dist/esm/ui-tooltip.entry.js +4 -4
  285. package/dist/esm/ui-transfer-list.entry.js +1 -1
  286. package/dist/esm/ui-workspace-manager.entry.js +1 -1
  287. package/dist/exploration-project-tailwind/exploration-project-tailwind.esm.js +1 -1
  288. package/dist/exploration-project-tailwind/{p-c7e87fbb.entry.js → p-036d2a44.entry.js} +1 -1
  289. package/dist/exploration-project-tailwind/{p-62352ef2.entry.js → p-05a436d3.entry.js} +1 -1
  290. package/dist/exploration-project-tailwind/{p-a4f52a76.entry.js → p-16bdd162.entry.js} +1 -1
  291. package/dist/exploration-project-tailwind/{p-85bf89fd.entry.js → p-20ecc116.entry.js} +1 -1
  292. package/dist/exploration-project-tailwind/p-2347d21b.entry.js +1 -0
  293. package/dist/exploration-project-tailwind/p-3d381f75.entry.js +1 -0
  294. package/dist/exploration-project-tailwind/{p-e5322e59.entry.js → p-4288c158.entry.js} +1 -1
  295. package/dist/exploration-project-tailwind/{p-2f1aebb3.entry.js → p-4417a9d8.entry.js} +1 -1
  296. package/dist/exploration-project-tailwind/{p-049744f9.entry.js → p-44742ddd.entry.js} +1 -1
  297. package/dist/exploration-project-tailwind/{p-73d29a4a.entry.js → p-4aaa8e40.entry.js} +1 -1
  298. package/dist/exploration-project-tailwind/{p-6fa9dc15.entry.js → p-4bef8bed.entry.js} +1 -1
  299. package/dist/exploration-project-tailwind/{p-64e3a484.entry.js → p-4efd63ce.entry.js} +1 -1
  300. package/dist/exploration-project-tailwind/{p-c5ddc817.entry.js → p-54965530.entry.js} +1 -1
  301. package/dist/exploration-project-tailwind/p-5c835d90.entry.js +1 -0
  302. package/dist/exploration-project-tailwind/{p-4de419d5.entry.js → p-6b838549.entry.js} +1 -1
  303. package/dist/exploration-project-tailwind/{p-c174a372.entry.js → p-6ddbee42.entry.js} +1 -1
  304. package/dist/exploration-project-tailwind/{p-7515b1e3.entry.js → p-70bacda8.entry.js} +1 -1
  305. package/dist/exploration-project-tailwind/{p-9fa70359.entry.js → p-71d95bb1.entry.js} +1 -1
  306. package/dist/exploration-project-tailwind/{p-2d273118.entry.js → p-7889bfc4.entry.js} +1 -1
  307. package/dist/exploration-project-tailwind/{p-0b004861.entry.js → p-790556f0.entry.js} +1 -1
  308. package/dist/exploration-project-tailwind/{p-f5719913.entry.js → p-7ba2258a.entry.js} +1 -1
  309. package/dist/exploration-project-tailwind/{p-81961fb1.entry.js → p-81ebba11.entry.js} +1 -1
  310. package/dist/exploration-project-tailwind/{p-5e3e80ae.entry.js → p-8578b616.entry.js} +1 -1
  311. package/dist/exploration-project-tailwind/{p-3d3d48fd.entry.js → p-8b57fe4e.entry.js} +1 -1
  312. package/dist/exploration-project-tailwind/{p-ffb1754a.entry.js → p-97af03cc.entry.js} +1 -1
  313. package/dist/exploration-project-tailwind/{p-f0830120.entry.js → p-98e91da5.entry.js} +1 -1
  314. package/dist/exploration-project-tailwind/{p-d2308a00.entry.js → p-9bd14f69.entry.js} +1 -1
  315. package/dist/exploration-project-tailwind/p-Dyu3Nplq.js +2 -0
  316. package/dist/exploration-project-tailwind/{p-ba21fed3.entry.js → p-a27f59d2.entry.js} +1 -1
  317. package/dist/exploration-project-tailwind/{p-70d82d79.entry.js → p-a7b07cf4.entry.js} +1 -1
  318. package/dist/exploration-project-tailwind/{p-5508874f.entry.js → p-bd89d060.entry.js} +1 -1
  319. package/dist/exploration-project-tailwind/{p-9d0c8760.entry.js → p-c02284ea.entry.js} +1 -1
  320. package/dist/exploration-project-tailwind/{p-d419eaf0.entry.js → p-c1c8ac28.entry.js} +1 -1
  321. package/dist/exploration-project-tailwind/p-c63c522e.entry.js +1 -0
  322. package/dist/exploration-project-tailwind/{p-c90722ec.entry.js → p-cbee2607.entry.js} +1 -1
  323. package/dist/exploration-project-tailwind/{p-287dbf09.entry.js → p-d114a347.entry.js} +1 -1
  324. package/dist/exploration-project-tailwind/{p-8d951aef.entry.js → p-d2e45c5e.entry.js} +1 -1
  325. package/dist/exploration-project-tailwind/{p-77cc333a.entry.js → p-d59da767.entry.js} +1 -1
  326. package/dist/exploration-project-tailwind/{p-46596a28.entry.js → p-d6ce9721.entry.js} +1 -1
  327. package/dist/exploration-project-tailwind/{p-875be805.entry.js → p-dc92a343.entry.js} +1 -1
  328. package/dist/exploration-project-tailwind/{p-4f6bba75.entry.js → p-e22317c1.entry.js} +1 -1
  329. package/dist/exploration-project-tailwind/{p-d16c9635.entry.js → p-e76318c7.entry.js} +1 -1
  330. package/dist/exploration-project-tailwind/p-e8c6d395.entry.js +1 -0
  331. package/dist/exploration-project-tailwind/{p-c2ca71ac.entry.js → p-eab5ad36.entry.js} +1 -1
  332. package/dist/exploration-project-tailwind/p-f0bc5d7e.entry.js +1 -0
  333. package/dist/exploration-project-tailwind/p-f1beee72.entry.js +1 -0
  334. package/dist/exploration-project-tailwind/p-f543392f.entry.js +1 -0
  335. package/dist/exploration-project-tailwind/{p-46efdea3.entry.js → p-f61cfb7c.entry.js} +1 -1
  336. package/dist/exploration-project-tailwind/{p-77124686.entry.js → p-fb4aca69.entry.js} +1 -1
  337. package/dist/types/components/accordion/accordion.d.ts +10 -2
  338. package/dist/types/components/button/button.d.ts +9 -0
  339. package/dist/types/components/card/card.d.ts +4 -0
  340. package/dist/types/components/list-item/list-item.d.ts +1 -0
  341. package/dist/types/components/loader/loader.d.ts +145 -0
  342. package/dist/types/components/progress/progress.d.ts +34 -2
  343. package/dist/types/components.d.ts +509 -993
  344. package/dist/types/types/common.d.ts +1 -1
  345. package/dist/types/types/common.type.d.ts +1 -1
  346. package/package.json +8 -7
  347. package/dist/cjs/ui-checkbox-group.cjs.entry.js +0 -330
  348. package/dist/cjs/ui-image-button.cjs.entry.js +0 -67
  349. package/dist/cjs/ui-input-pair.cjs.entry.js +0 -44
  350. package/dist/cjs/ui-radio-group.cjs.entry.js +0 -205
  351. package/dist/cjs/ui-radio.cjs.entry.js +0 -206
  352. package/dist/collection/components/checkbox-group/checkbox-group.css +0 -223
  353. package/dist/collection/components/checkbox-group/checkbox-group.js +0 -1001
  354. package/dist/collection/components/checkbox-group/types.js +0 -1
  355. package/dist/collection/components/image-button/image-button.css +0 -154
  356. package/dist/collection/components/image-button/image-button.js +0 -310
  357. package/dist/collection/components/image-button/types.js +0 -1
  358. package/dist/collection/components/input-pair/input-pair.css +0 -72
  359. package/dist/collection/components/input-pair/input-pair.js +0 -309
  360. package/dist/collection/components/radio-group/radio-group.css +0 -202
  361. package/dist/collection/components/radio-group/radio-group.js +0 -903
  362. package/dist/collection/components/radio-group/types.js +0 -1
  363. package/dist/components/ui-checkbox-group.d.ts +0 -11
  364. package/dist/components/ui-checkbox-group.js +0 -1
  365. package/dist/components/ui-image-button.d.ts +0 -11
  366. package/dist/components/ui-image-button.js +0 -1
  367. package/dist/components/ui-input-pair.js +0 -1
  368. package/dist/components/ui-radio-group.d.ts +0 -11
  369. package/dist/components/ui-radio-group.js +0 -1
  370. package/dist/esm/ui-checkbox-group.entry.js +0 -328
  371. package/dist/esm/ui-image-button.entry.js +0 -65
  372. package/dist/esm/ui-input-pair.entry.js +0 -42
  373. package/dist/esm/ui-radio-group.entry.js +0 -203
  374. package/dist/esm/ui-radio.entry.js +0 -204
  375. package/dist/exploration-project-tailwind/p-01c7db7a.entry.js +0 -1
  376. package/dist/exploration-project-tailwind/p-5ce0dbd8.entry.js +0 -1
  377. package/dist/exploration-project-tailwind/p-6ab80ead.entry.js +0 -1
  378. package/dist/exploration-project-tailwind/p-6e9694f2.entry.js +0 -1
  379. package/dist/exploration-project-tailwind/p-7376ac95.entry.js +0 -1
  380. package/dist/exploration-project-tailwind/p-77a21491.entry.js +0 -1
  381. package/dist/exploration-project-tailwind/p-7f91d949.entry.js +0 -1
  382. package/dist/exploration-project-tailwind/p-807c6555.entry.js +0 -1
  383. package/dist/exploration-project-tailwind/p-D2WzX6vR.js +0 -2
  384. package/dist/exploration-project-tailwind/p-ab752761.entry.js +0 -1
  385. package/dist/exploration-project-tailwind/p-ce1222a1.entry.js +0 -1
  386. package/dist/exploration-project-tailwind/p-e90d5307.entry.js +0 -1
  387. package/dist/exploration-project-tailwind/p-ecda1cc3.entry.js +0 -1
  388. package/dist/exploration-project-tailwind/p-f11e5cae.entry.js +0 -1
  389. package/dist/types/components/checkbox-group/checkbox-group.d.ts +0 -87
  390. package/dist/types/components/checkbox-group/types.d.ts +0 -8
  391. package/dist/types/components/image-button/image-button.d.ts +0 -31
  392. package/dist/types/components/image-button/types.d.ts +0 -1
  393. package/dist/types/components/input-pair/input-pair.d.ts +0 -28
  394. package/dist/types/components/radio-group/radio-group.d.ts +0 -74
  395. package/dist/types/components/radio-group/types.d.ts +0 -2
@@ -1 +0,0 @@
1
- export {};
@@ -1,11 +0,0 @@
1
- import type { Components, JSX } from "../types/components";
2
-
3
- interface UiCheckboxGroup extends Components.UiCheckboxGroup, HTMLElement {}
4
- export const UiCheckboxGroup: {
5
- prototype: UiCheckboxGroup;
6
- new (): UiCheckboxGroup;
7
- };
8
- /**
9
- * Used to define this component and all nested components recursively.
10
- */
11
- export const defineCustomElement: () => void;
@@ -1 +0,0 @@
1
- import{proxyCustomElement as e,HTMLElement as t,createEvent as i,h as r,transformTag as s}from"@stencil/core/internal/client";import{d as o,a}from"./badge.js";import{d as l}from"./checkbox.js";import{d as c}from"./icon.js";const h=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.groupChange=i(this,"groupChange",7),this.groupValidation=i(this,"groupValidation",7)}normalizeValue(e){return Array.isArray(e)?e:"string"==typeof e&&e?e.split(","):[]}get el(){return this}internals;value=[];name="";label="";helperText="";errorMessage="";required=!1;disabled=!1;readonly=!1;invalid=!1;orientation="vertical";gap="12px";showSelectAll=!1;selectAllLabel="Select All";buttonGroup=!1;min=0;max=1/0;validateOnChange=!0;size="md";color="primary";showSelectionCount=!1;reveal="none";revealDelay=0;revealStagger=60;victoryGlow=!1;rtl=!1;selectAllState="none";isVictory=!1;groupChange;groupValidation;componentWillLoad(){this.internals=this.el.attachInternals(),this.updateFormValue(),this.discoverCheckboxes(),this.updateCheckboxStates(),this.updateSelectAllState()}formResetCallback(){this.value=[],this.updateCheckboxStates(),this.updateSelectAllState(),this.updateFormValue()}handleValueChange(){this.updateCheckboxStates(),this.updateSelectAllState(),this.validateOnChange&&this.validate()}handleCheckboxChange(e){const{checked:t,value:i}=e.detail;if(this.disabled||this.readonly)return;let r=this.normalizeValue(this.value);t?r.includes(i)||(this.max===1/0||r.length<this.max)&&(r=[...r,i]):r=r.filter((e=>e!==i)),this.value=r,this.groupChange.emit({value:this.value}),this.updateSelectAllState(),this.validateOnChange&&this.validate(),this.updateFormValue()}updateFormValue(){if(this.name){const e=new FormData;this.value.forEach((t=>e.append(this.name,t))),this.internals.setFormValue(e)}else this.internals.setFormValue(this.value.join(","))}discoverCheckboxes(){}updateCheckboxStates(){const e=this.getAllCheckboxes(),t=this.normalizeValue(this.value),i=this.max!==1/0&&t.length>=this.max;e.forEach(((e,r)=>{e.checked=t.includes(e.value),e.disabled=this.disabled||i&&!e.checked||e.disabled,e.readonly=this.readonly,e.size=this.size,e.color=this.color,e.reveal=this.reveal,e.revealDelay=this.revealDelay+r*this.revealStagger,e.rtl=this.rtl,e.isButton=this.buttonGroup,this.name&&(e.name=this.name)}))}getAllCheckboxes(){return[...Array.from(this.el.querySelectorAll("ui-checkbox")),...Array.from(this.el.shadowRoot.querySelectorAll("ui-checkbox"))]}updateSelectAllState(){const e=this.getAllCheckboxes(),t=this.normalizeValue(this.value),i=e.filter((e=>!e.disabled));if(0===i.length)return;const r=i.filter((e=>t.includes(e.value))).length;0===r?(this.selectAllState="none",this.isVictory=!1):r===i.length?(this.selectAllState="all",this.victoryGlow&&(this.isVictory=!0)):(this.selectAllState="some",this.isVictory=!1)}handleSelectAllChange=e=>{if(this.disabled||this.readonly)return;const t=e.target,i=this.getAllCheckboxes().filter((e=>!e.disabled));if(t.checked){const e=i.map((e=>e.value)),t=Array.from(new Set([...this.value,...e]));this.value=this.max!==1/0?t.slice(0,this.max):t}else{const e=i.map((e=>e.value));this.value=this.value.filter((t=>!e.includes(t)))}this.groupChange.emit({value:this.value}),this.updateSelectAllState(),this.validateOnChange&&this.validate()};validate(){const e=[];this.required&&0===this.value.length&&e.push("At least one option must be selected"),this.min>0&&this.value.length<this.min&&e.push(`At least ${this.min} option${this.min>1?"s":""} must be selected`),this.max!==1/0&&this.value.length>this.max&&e.push(`No more than ${this.max} option${this.max>1?"s":""} can be selected`);const t=0===e.length;return this.groupValidation.emit({valid:t,errors:e}),t}selectAll(){const e=this.getAllCheckboxes().filter((e=>!e.disabled)).map((e=>e.value));this.value=this.max!==1/0?e.slice(0,this.max):e,this.groupChange.emit({value:this.value})}deselectAll(){this.value=[],this.groupChange.emit({value:this.value})}toggleAll(){"all"===this.selectAllState?this.deselectAll():this.selectAll()}renderSelectAll(){return this.showSelectAll?r("div",{class:"select-all-container"},r("ui-checkbox",{checked:"all"===this.selectAllState,indeterminate:"some"===this.selectAllState,label:this.selectAllLabel,disabled:this.disabled,readonly:this.readonly,size:this.size,color:this.color,rtl:this.rtl,onCheckboxChange:this.handleSelectAllChange})):null}renderLabel(){return this.label?r("div",{class:"group-label"},r("span",{class:"label-text"},this.label,this.required&&r("span",{class:"required-indicator"},"*")),this.showSelectionCount&&r("span",{class:"selection-count"},"(",this.value.length,this.max!==1/0?" / "+this.max:""," selected)")):null}renderHelperText(){if(this.invalid&&this.errorMessage)return r("div",{class:"helper-text error"},r("ui-icon",{name:"fa-exclamation-circle"}),this.errorMessage);if(this.helperText)return r("div",{class:"helper-text"},this.helperText);if(this.min>0||this.max!==1/0){const e=this.value.length;let t="";return this.min>0&&this.max!==1/0?t=`Select ${this.min}-${this.max} options (${e} selected)`:this.min>0?t=`Select at least ${this.min} option${this.min>1?"s":""} (${e} selected)`:this.max!==1/0&&(t=`Select up to ${this.max} option${this.max>1?"s":""} (${e} selected)`),r("div",{class:"helper-text"},t)}return null}options=[];searchable=!1;searchPlaceholder="Search options...";layout="list";columns=2;searchQuery="";handleSearch=e=>{this.searchQuery=e.target.value.toLowerCase()};getFilteredOptions(){if(!this.options||0===this.options.length)return[];const e=this.options.map((e=>"string"==typeof e?{label:e,value:e,disabled:!1}:e));return this.searchQuery?e.filter((e=>e.label.toLowerCase().includes(this.searchQuery))):e}renderSearch(){return this.searchable?r("div",{class:{"checkbox-search":!0,"search-active":this.searchQuery.length>0}},r("div",{class:"search-input-wrapper"},r("ui-icon",{name:"search",library:"lucide",class:"search-icon"}),r("input",{type:"text",placeholder:this.searchPlaceholder,onInput:this.handleSearch,value:this.searchQuery,class:"search-input"}),this.searchQuery.length>0&&r("ui-button",{variant:"ghost",class:"clear-search",onClick:()=>{this.searchQuery=""},icon:"x",iconLibrary:"lucide",iconOnly:!0,size:"sm"}))):null}renderDataOptions(){const e=this.getFilteredOptions();if(0===e.length&&this.searchQuery)return r("div",{class:"no-results"},"No options found");const t=this.normalizeValue(this.value);return e.map(((e,i)=>r("ui-checkbox",{value:e.value,label:e.label,disabled:this.disabled||e.disabled,readonly:this.readonly,size:this.size,color:this.color,variant:e.variant||"default",name:this.name,checked:t.includes(e.value),reveal:this.reveal,revealDelay:this.revealDelay+i*this.revealStagger,rtl:this.rtl,isButton:this.buttonGroup,onCheckboxChange:this.handleCheckboxChange})))}render(){const e=this.options&&this.options.length>0;return r("div",{key:"05a2da58c9dd7f3438076d3beb725f3596545cb6",class:{"checkbox-group":!0,["checkbox-group-"+this.orientation]:"list"===this.layout,"checkbox-group-grid":"grid"===this.layout,["checkbox-group-cols-"+this.columns]:"grid"===this.layout,["checkbox-group-"+this.size]:!0,"checkbox-group-disabled":this.disabled,"checkbox-group-readonly":this.readonly,"checkbox-group-invalid":this.invalid,"checkbox-group-button":this.buttonGroup,"is-victory":this.isVictory},dir:this.rtl?"rtl":"ltr"},this.renderLabel(),this.renderSearch(),this.renderSelectAll(),r("div",{key:"0a64f5ff1b6474c771059e6d856b42a48641d5a1",class:"checkbox-group-items",style:"grid"===this.layout?{display:"grid",gridTemplateColumns:`repeat(${this.columns}, 1fr)`,gap:this.gap}:{gap:this.gap},role:"group","aria-labelledby":this.label?"group-label":void 0,"aria-required":this.required?"true":"false","aria-invalid":this.invalid?"true":"false"},e?this.renderDataOptions():r("slot",null)),this.renderHelperText())}static get formAssociated(){return!0}static get watchers(){return{value:[{handleValueChange:0}]}}static get style(){return".sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block}.checkbox-group{display:flex;flex-direction:column;gap:12px}.checkbox-group.is-victory .group-label .selection-count{animation:victory-pulse 2s infinite ease-in-out;background:var(--primary-color);color:var(--text-standard, #ffffff);box-shadow:0 0 15px var(--primary-color)}.group-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;color:var(--label-color, var(--text-primary, #333));margin-bottom:8px;text-transform:uppercase;letter-spacing:0.08em;opacity:0.65;cursor:default}.group-label .selection-count{font-size:10px;font-weight:600;text-transform:none;letter-spacing:normal;opacity:1;color:var(--label-subtitle-color, var(--text-secondary, #666));background:var(--bg-secondary, #f3f4f6);padding:2px 8px;border-radius:10px}.required-indicator{color:var(--danger-color, #f44336);margin-inline-start:4px}.select-all-container{padding-bottom:8px;border-bottom:1px solid var(--border-color, #e0e0e0)}.checkbox-group-items{display:flex}.checkbox-group-vertical .checkbox-group-items{flex-direction:column}.checkbox-group-horizontal .checkbox-group-items{flex-direction:row;flex-wrap:wrap}.checkbox-group-disabled{opacity:0.6;pointer-events:none}.checkbox-group-readonly{pointer-events:none}.checkbox-group-invalid .group-label{color:var(--danger-color, #f44336)}.helper-text{font-size:12px;color:var(--label-subtitle-color, var(--text-secondary, #666));display:flex;align-items:center;gap:6px}.helper-text.error{color:var(--danger-color, #f44336)}.helper-text i{font-size:14px}.checkbox-group-sm .group-label{font-size:12px}.checkbox-group-sm .helper-text{font-size:11px}.checkbox-group-lg .group-label{font-size:16px}.checkbox-group-lg .helper-text{font-size:13px}.checkbox-search{position:relative;margin-bottom:4px;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.checkbox-search .search-input-wrapper{position:relative;display:flex;align-items:center;background:rgba(var(--primary-rgb, 139, 92, 246), 0.03);border:1px solid rgba(0, 0, 0, 0.05);border-radius:12px;padding:2px 4px;transition:all 0.3s}.checkbox-search .search-input-wrapper:focus-within{background:var(--bg-primary, #ffffff);border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-rgb), 0.15);transform:translateY(-1px)}.checkbox-search .search-icon{margin-left:12px;opacity:0.4;font-size:16px;color:var(--primary-color)}.checkbox-search input.search-input{flex:1;border:none;background:transparent;padding:10px 12px;font-size:13px;font-weight:500;color:var(--text-primary);outline:none}.checkbox-search input.search-input::placeholder{opacity:1}.checkbox-search .clear-search{background:rgba(0, 0, 0, 0.05);border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:6px;color:var(--text-secondary);transition:all 0.2s}.checkbox-search .clear-search:hover{background:rgba(0, 0, 0, 0.1);color:var(--text-primary);transform:scale(1.1)}.checkbox-search .clear-search ui-icon{font-size:14px}@keyframes victory-pulse{0%{transform:scale(1);box-shadow:0 0 0px var(--primary-color)}50%{transform:scale(1.05);box-shadow:0 0 15px var(--primary-color)}100%{transform:scale(1);box-shadow:0 0 0px var(--primary-color)}}.no-results{font-size:14px;color:var(--text-secondary, #999);padding:8px 0;font-style:italic}.checkbox-group-grid .checkbox-group-items{display:grid}"}},[833,"ui-checkbox-group",{value:[1040],name:[1],label:[1],helperText:[1,"helper-text"],errorMessage:[1,"error-message"],required:[4],disabled:[4],readonly:[4],invalid:[4],orientation:[1],gap:[1],showSelectAll:[4,"show-select-all"],selectAllLabel:[1,"select-all-label"],buttonGroup:[4,"button-group"],min:[2],max:[2],validateOnChange:[4,"validate-on-change"],size:[1],color:[1],showSelectionCount:[4,"show-selection-count"],reveal:[1],revealDelay:[2,"reveal-delay"],revealStagger:[2,"reveal-stagger"],victoryGlow:[4,"victory-glow"],rtl:[4],options:[16],searchable:[4],searchPlaceholder:[1,"search-placeholder"],layout:[1],columns:[2],selectAllState:[32],isVictory:[32],searchQuery:[32]},[[0,"checkboxChange","handleCheckboxChange"]],{value:[{handleValueChange:0}]}]),n=h,p=function(){"undefined"!=typeof customElements&&["ui-checkbox-group","ui-badge","ui-button","ui-checkbox","ui-icon"].forEach((e=>{switch(e){case"ui-checkbox-group":customElements.get(s(e))||customElements.define(s(e),h);break;case"ui-badge":customElements.get(s(e))||a();break;case"ui-button":customElements.get(s(e))||o();break;case"ui-checkbox":customElements.get(s(e))||l();break;case"ui-icon":customElements.get(s(e))||c()}}))};export{n as UiCheckboxGroup,p as defineCustomElement}
@@ -1,11 +0,0 @@
1
- import type { Components, JSX } from "../types/components";
2
-
3
- interface UiImageButton extends Components.UiImageButton, HTMLElement {}
4
- export const UiImageButton: {
5
- prototype: UiImageButton;
6
- new (): UiImageButton;
7
- };
8
- /**
9
- * Used to define this component and all nested components recursively.
10
- */
11
- export const defineCustomElement: () => void;
@@ -1 +0,0 @@
1
- import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as a,Host as o,transformTag as n}from"@stencil/core/internal/client";import{d as s}from"./icon.js";const r=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.uiClick=i(this,"uiClick",7)}src;alt="";label;description;effect="zoom";ratio="square";labelMode="hover";size="md";disabled=!1;loading=!1;a11yLabel;isFocused=!1;uiClick;handleClick=t=>{if(this.disabled||this.loading)return t.preventDefault(),void t.stopPropagation();this.uiClick.emit()};handleKeyDown=t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this.handleClick(t))};render(){return a(o,{key:"9f62fc59b4656078cbddd73750e41d03a0f3d2ca"},a("div",{key:"d6f464e2f65dd0eb5dd40892179432473b3836fe",class:{"image-button":!0,["image-button-"+this.size]:!0,["image-button-ratio-"+this.ratio]:!0,["image-button-effect-"+this.effect]:!0,["label-mode-"+this.labelMode]:!0,"is-disabled":this.disabled,"is-loading":this.loading,"is-focused":this.isFocused},role:"button",tabindex:this.disabled||this.loading?-1:0,"aria-label":this.a11yLabel||this.label||this.alt||"Image Button","aria-disabled":this.disabled?"true":"false","aria-busy":this.loading?"true":"false",onClick:this.handleClick,onKeyDown:this.handleKeyDown,onFocus:()=>this.isFocused=!0,onBlur:()=>this.isFocused=!1},this.src?a("img",{class:"button-image",src:this.src,alt:this.alt,loading:"lazy"}):a("div",{class:"image-placeholder"},a("ui-icon",{name:"image",library:"fontawesome",size:"24px"})),(this.label||this.description)&&a("div",{key:"4f8ce2e322361f645f29bf9c4f48f4c9b151f075",class:"button-overlay"},a("div",{key:"f3e15b029509d4ed27bef5c03d75d3bd934f190b",class:"overlay-content"},this.label&&a("div",{key:"aac7cac7d8e07014a927acd9f572f7dac2688e3d",class:"button-label"},this.label),this.description&&a("div",{key:"1607a06a9fcde90277be03130548d974bf7c6b5c",class:"button-desc"},this.description))),this.loading&&a("div",{key:"9c9f38dbeb6b77fb2d8eed4ab641498aa5030bf7",class:"loading-overlay"},a("ui-icon",{key:"2bc1e06c7a61a4e7752686d489ea2c092550d2b4",name:"spinner",library:"fontawesome",spin:!0,size:"24px"}))))}static get style(){return".sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:inline-block;vertical-align:middle;transition:transform 0.2s ease}.image-button{position:relative;overflow:hidden;border-radius:12px;cursor:pointer;background:#f3f4f6;width:100%;height:100%;display:flex;align-items:center;justify-content:center;outline:none}.image-button,.image-button *{transition:all 0.4s cubic-bezier(0.4, 0, 0.2, 1)}.image-button-sm{width:120px}.image-button-md{width:240px}.image-button-lg{width:360px}.image-button-xl{width:480px}.image-button-ratio-square{aspect-ratio:1/1}.image-button-ratio-video{aspect-ratio:16/9}.image-button-ratio-portrait{aspect-ratio:3/4}.image-button-ratio-auto{height:auto}.image-button .button-image{width:100%;height:100%;object-fit:cover;display:block}.image-button .image-placeholder{color:#9ca3af}.image-button .button-overlay{position:absolute;inset:0;background:linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 60%);display:flex;align-items:flex-end;padding:1.25rem;color:white}.image-button .overlay-content{display:flex;flex-direction:column;gap:4px}.image-button .button-label{font-weight:700;font-size:1.1rem;line-height:1.2;letter-spacing:-0.01em}.image-button .button-desc{font-size:0.85rem;opacity:0.8}.image-button-effect-zoom:hover .button-image{transform:scale(1.1)}.image-button-effect-lift:hover,.image-button-effect-lift.is-focused{transform:translateY(-8px);box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)}.image-button-effect-brighten:hover .button-image{filter:brightness(1.2)}.image-button.label-mode-hover .button-overlay{opacity:0;transform:translateY(10px)}.image-button.label-mode-hover:hover .button-overlay{opacity:1;transform:translateY(0)}.image-button.is-disabled{cursor:not-allowed;opacity:0.6;filter:grayscale(1)}.image-button.is-disabled:hover{transform:none;box-shadow:none}.image-button.is-loading{cursor:wait}.image-button.is-loading .loading-overlay{position:absolute;inset:0;background:rgba(255, 255, 255, 0.7);display:flex;align-items:center;justify-content:center;color:#10b981;z-index:10}.image-button.is-focused{box-shadow:0 0 0 2px var(--bg-primary, #ffffff), 0 0 0 5px var(--color-primary, #10b981);z-index:10}@media (max-width: 640px){.image-button{width:100% !important}}"}},[513,"ui-image-button",{src:[1],alt:[1],label:[1],description:[1],effect:[1],ratio:[1],labelMode:[1,"label-mode"],size:[1],disabled:[4],loading:[4],a11yLabel:[1,"a-1-1y-label"],isFocused:[32]}]),l=r,d=function(){"undefined"!=typeof customElements&&["ui-image-button","ui-icon"].forEach((t=>{switch(t){case"ui-image-button":customElements.get(n(t))||customElements.define(n(t),r);break;case"ui-icon":customElements.get(n(t))||s()}}))};export{l as UiImageButton,d as defineCustomElement}
@@ -1 +0,0 @@
1
- import{proxyCustomElement as t,HTMLElement as i,h as e,Host as a,transformTag as r}from"@stencil/core/internal/client";import{d as n,a as o}from"./badge.js";import{d as l}from"./icon.js";import{d as p}from"./input.js";const s=t(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow()}labelLeft="";labelRight="";label;valueLeft="";valueRight="";placeholderLeft="";placeholderRight="";type="text";variant="outlined";size="md";gap="0";fullWidth=!1;render(){return e(a,{key:"fdf7f4502e0ae69ee732870df215948f6dd343d4",class:{"full-width":this.fullWidth}},this.label&&e("div",{key:"fab76ee80e86ffb845930a8b2ce26d210da9e72c",class:"pair-main-label"},this.label),e("div",{key:"cb95a4fda33d88723248c58d57e526f9ab7fc1c6",class:{"pair-container":!0,"is-connected":"0"===this.gap},style:{gap:"0"!==this.gap?this.gap:void 0}},e("div",{key:"562af03d33b4c7ec4f55ffa805dbbda5fa0e2c95",class:"input-item left"},e("ui-input",{key:"c75ac1faec6b8b0903d578064ba60529a923d4eb",label:this.labelLeft,placeholder:this.placeholderLeft,value:this.valueLeft,type:this.type,variant:this.variant,size:this.size,"full-width":!0})),e("div",{key:"2740efa73d5758bf88c58f2853cba1da3f43a420",class:"input-item right"},e("ui-input",{key:"4e110393af0e26ace0de9a68f12a9cb54b90d935",label:this.labelRight,placeholder:this.placeholderRight,value:this.valueRight,type:this.type,variant:this.variant,size:this.size,"full-width":!0}))))}static get style(){return".sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block;width:auto;min-width:0;--pair-radius:10px}:host.full-width{width:100%}.pair-main-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;opacity:0.65;color:var(--label-color, var(--text-secondary, #64748b));margin-bottom:8px}.pair-container{display:flex;align-items:flex-end;width:100%}.pair-container .input-item{flex:1;min-width:0}.pair-container{}.pair-container .input-item.left ui-input::part(container),.pair-container .input-item.right ui-input::part(container){border-radius:var(--pair-radius);border-width:1.5px}.pair-container.is-connected .input-item.left ui-input::part(container){border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0.75px}.pair-container.is-connected .input-item.right ui-input::part(container){border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0.75px}"}},[513,"ui-input-pair",{labelLeft:[1,"label-left"],labelRight:[1,"label-right"],label:[1],valueLeft:[1,"value-left"],valueRight:[1,"value-right"],placeholderLeft:[1,"placeholder-left"],placeholderRight:[1,"placeholder-right"],type:[1],variant:[1],size:[1],gap:[1],fullWidth:[4,"full-width"]}]),d=s,c=function(){"undefined"!=typeof customElements&&["ui-input-pair","ui-badge","ui-button","ui-icon","ui-input"].forEach((t=>{switch(t){case"ui-input-pair":customElements.get(r(t))||customElements.define(r(t),s);break;case"ui-badge":customElements.get(r(t))||o();break;case"ui-button":customElements.get(r(t))||n();break;case"ui-icon":customElements.get(r(t))||l();break;case"ui-input":customElements.get(r(t))||p()}}))};export{d as UiInputPair,c as defineCustomElement}
@@ -1,11 +0,0 @@
1
- import type { Components, JSX } from "../types/components";
2
-
3
- interface UiRadioGroup extends Components.UiRadioGroup, HTMLElement {}
4
- export const UiRadioGroup: {
5
- prototype: UiRadioGroup;
6
- new (): UiRadioGroup;
7
- };
8
- /**
9
- * Used to define this component and all nested components recursively.
10
- */
11
- export const defineCustomElement: () => void;
@@ -1 +0,0 @@
1
- import{proxyCustomElement as i,HTMLElement as r,createEvent as t,h as e,transformTag as a}from"@stencil/core/internal/client";import{d as o,a as s}from"./badge.js";import{d as l}from"./icon.js";import{d as n}from"./input.js";import{d}from"./radio.js";const p=i(class extends r{internals;get el(){return this}value="";name="";disabled=!1;readonly=!1;required=!1;invalid=!1;label="";helperText="";errorMessage="";layout="vertical";columns=2;gap="16px";size="md";color="primary";options=[];labelPosition="right";enableAnimation=!0;rippleEffect=!0;buttonGroup=!1;variant="default";skeleton=!1;allowEmpty=!1;showDot=!0;reveal="none";revealDelay=0;revealStagger=60;searchable=!1;searchPlaceholder="Search items...";rtl=!1;radios=[];searchQuery="";radioGroupChange;constructor(i){super(),!1!==i&&this.__registerHost(),this.__attachShadow(),this.radioGroupChange=t(this,"radioGroupChange",7),this.internals=this.el.attachInternals()}componentWillLoad(){this.updateOptions(),this.internals.setFormValue(this.value)}componentDidLoad(){this.syncRadios()}componentDidUpdate(){this.syncRadios()}watchValue(){this.syncRadios()}updateOptions(){let i=[];if("string"==typeof this.options)try{i=JSON.parse(this.options)}catch{console.error("Invalid options JSON"),i=[]}else Array.isArray(this.options)&&(i=[...this.options]);JSON.stringify(this.radios)!==JSON.stringify(i)&&(this.radios=i)}handleRadioClick(i){if(!this.allowEmpty)return;const r=i.target.closest("ui-radio")||i.composedPath&&i.composedPath().find((i=>"UI-RADIO"===i.tagName));!r||r.disabled||this.disabled||r.value===this.value&&(i.preventDefault(),i.stopPropagation(),this.value="",this.radioGroupChange.emit({value:""}))}handleRadioChange(i){const{checked:r,value:t}=i.detail;r&&(this.value=t,this.internals.setFormValue(t),this.updateValidity(),this.radioGroupChange.emit({value:t}))}updateValidity(){this.required&&!this.value?this.internals.setValidity({valueMissing:!0},"Please select an option.",this.el):this.internals.setValidity({})}async checkValidity(){return this.internals.checkValidity()}async reportValidity(){return this.internals.reportValidity()}getRadios(){return[...Array.from(this.el.shadowRoot.querySelectorAll("ui-radio")),...Array.from(this.el.querySelectorAll("ui-radio"))]}syncRadios(){this.getRadios().forEach(((i,r)=>{i.checked=i.value===this.value,i.isButton=this.buttonGroup,i.variant=this.variant,i.skeleton=this.skeleton,i.name=this.name,i.reveal=this.reveal,i.revealDelay=this.revealDelay+r*this.revealStagger,i.rtl=this.rtl}))}renderLabel(){return this.label?e("div",{class:"radio-group-label"},this.label,this.required&&e("span",{class:"required-indicator"},"*")):null}renderSearch(){return this.searchable?e("div",{class:{"radio-search":!0,"search-active":this.searchQuery.length>0}},e("div",{class:"search-input-wrapper"},e("ui-icon",{name:"search",library:"lucide",class:"search-icon"}),e("ui-input",{type:"text",placeholder:this.searchPlaceholder,onInputChange:i=>{this.searchQuery=i.detail.toLowerCase()},value:this.searchQuery,size:"sm",fullWidth:!0}),this.searchQuery.length>0&&e("ui-button",{variant:"ghost",class:"clear-search",onClick:()=>{this.searchQuery=""},ariaLabel:"Clear search",icon:"x",iconLibrary:"lucide",iconOnly:!0,size:"sm"}))):null}render(){const i=Array.isArray(this.radios)?this.radios.filter((i=>!this.searchQuery||i.label.toLowerCase().includes(this.searchQuery))):[],r={"radio-group":!0,["radio-group-"+this.layout]:!0,"radio-group-disabled":this.disabled,"radio-group-invalid":this.invalid,"radio-group-button":this.buttonGroup,["radio-group-variant-"+this.variant]:!0,"radio-group-skeleton":this.skeleton},t={"radio-list":!0,["radio-list-"+this.layout]:!0},a={..."grid"===this.layout?{"grid-template-columns":`repeat(${this.columns}, 1fr)`}:{},gap:this.gap};return e("div",{key:"8f4bf0db359a75ef98dfb5719adbd6b70fea3c38",class:r,role:"radiogroup","aria-label":this.label,dir:this.rtl?"rtl":"ltr"},this.renderLabel(),this.renderSearch(),e("div",{key:"6eb5c03abf60138dd6b20b7830fdc80310729bf8",class:t,style:a},e("slot",{key:"bdc217a91c554f749634d0b9ba2965b1f626ee27"}),0===i.length&&this.searchQuery&&e("div",{key:"f7dd1dc1cda443e0877a64c5e04cba402f905c6f",class:"no-results"},"No matches found"),i.map(((i,r)=>e("ui-radio",{value:i.value,label:i.label,description:i.description,badge:i.badge,tooltip:i.tooltip,"tooltip-position":i.tooltipPosition,name:this.name,checked:this.value===i.value,disabled:this.disabled||i.disabled,readonly:this.readonly,invalid:this.invalid,size:this.size,color:this.color,"label-position":this.labelPosition,"show-dot":this.showDot,"enable-animation":this.enableAnimation,"ripple-effect":this.rippleEffect,"is-button":this.buttonGroup,variant:this.variant,skeleton:this.skeleton,reveal:this.reveal,"reveal-delay":this.revealDelay+r*this.revealStagger,rtl:this.rtl})))),this.renderHelperText())}renderHelperText(){return this.invalid&&this.errorMessage?e("div",{class:"helper-text error"},e("ui-icon",{library:"lucide",name:"alert-circle",size:"14px"}),this.errorMessage):this.helperText?e("div",{class:"helper-text"},this.helperText):null}static get formAssociated(){return!0}static get watchers(){return{value:[{watchValue:0}],options:[{updateOptions:0}]}}static get style(){return'.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.radio-group{display:flex;flex-direction:column;gap:12px;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}.radio-group-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;opacity:0.65;color:var(--label-color, var(--text-primary));margin-bottom:8px}.radio-search{position:relative;margin-bottom:8px;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.radio-search .search-input-wrapper{position:relative;display:flex;align-items:center;background:rgba(var(--primary-rgb, 139, 92, 246), 0.03);border:1px solid rgba(0, 0, 0, 0.05);border-radius:12px;padding:2px 4px;transition:all 0.3s}.radio-search .search-input-wrapper:focus-within{background:var(--bg-primary, #ffffff);border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-rgb), 0.15);transform:translateY(-1px)}.radio-search .search-icon{margin-inline-start:12px;opacity:0.4;font-size:16px;color:var(--primary-color)}.radio-search input.search-input{flex:1;border:none;background:transparent;padding:10px 12px;font-size:13px;font-weight:500;color:var(--text-primary);outline:none}.radio-search input.search-input::placeholder{opacity:0.5}.radio-search .clear-search{background:rgba(0, 0, 0, 0.05);border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-inline-end:6px;color:var(--text-secondary);transition:all 0.2s}.radio-search .clear-search:hover{background:rgba(0, 0, 0, 0.1);color:var(--text-primary);transform:scale(1.1)}.radio-search .clear-search ui-icon{font-size:14px}.no-results{font-size:13px;color:var(--text-secondary);padding:12px 0;font-style:italic;opacity:0.7}.required-indicator{color:var(--color-danger-hover, #dc2626);margin-inline-start:4px}.radio-list{display:flex}.radio-list-vertical{flex-direction:column}.radio-list-horizontal{flex-direction:row;flex-wrap:wrap}.radio-list-grid{display:grid}.radio-group-button .radio-list{gap:0;border-radius:10px;overflow:hidden;border:1px solid var(--border-subtle, #e2e8f0);width:fit-content}.radio-group-button ui-radio:not(:first-child){margin-inline-start:-1px}.radio-group-button ui-radio{display:flex;flex:1}.radio-group-button .radio-list-vertical{flex-direction:column;width:100%}.radio-group-button .radio-list-vertical ui-radio:not(:first-child){margin-inline-start:0;margin-top:-1px}.radio-group-button .radio-list-vertical ui-radio:first-child{border-top-left-radius:10px;border-top-right-radius:10px}.radio-group-button .radio-list-vertical ui-radio:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.radio-group-button .radio-list-horizontal ui-radio:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}.radio-group-button .radio-list-horizontal ui-radio:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}.radio-group-skeleton .radio-group-label{background:var(--bg-primary, #e5e7eb);color:transparent;border-radius:4px;width:150px}.helper-text{font-size:0.875rem;color:var(--label-subtitle-color, var(--text-muted, #6b7280));display:flex;align-items:center;gap:4px;margin-top:4px}.helper-text.error{color:var(--color-danger-hover, #dc2626)}.radio-group-disabled{opacity:0.6;pointer-events:none}.radio-group-invalid .radio-group-label{color:var(--color-danger-hover, #dc2626)}'}},[833,"ui-radio-group",{value:[1025],name:[1],disabled:[4],readonly:[4],required:[4],invalid:[4],label:[1],helperText:[1,"helper-text"],errorMessage:[1,"error-message"],layout:[1],columns:[2],gap:[1],size:[1],color:[1],options:[1],labelPosition:[1,"label-position"],enableAnimation:[4,"enable-animation"],rippleEffect:[4,"ripple-effect"],buttonGroup:[4,"button-group"],variant:[1],skeleton:[4],allowEmpty:[4,"allow-empty"],showDot:[4,"show-dot"],reveal:[1],revealDelay:[2,"reveal-delay"],revealStagger:[2,"reveal-stagger"],searchable:[4],searchPlaceholder:[1,"search-placeholder"],rtl:[4],radios:[32],searchQuery:[32],checkValidity:[64],reportValidity:[64]},[[2,"click","handleRadioClick"],[0,"radioChange","handleRadioChange"]],{value:[{watchValue:0}],options:[{updateOptions:0}]}]),c=p,h=function(){"undefined"!=typeof customElements&&["ui-radio-group","ui-badge","ui-button","ui-icon","ui-input","ui-radio"].forEach((i=>{switch(i){case"ui-radio-group":customElements.get(a(i))||customElements.define(a(i),p);break;case"ui-badge":customElements.get(a(i))||s();break;case"ui-button":customElements.get(a(i))||o();break;case"ui-icon":customElements.get(a(i))||l();break;case"ui-input":customElements.get(a(i))||n();break;case"ui-radio":customElements.get(a(i))||d()}}))};export{c as UiRadioGroup,h as defineCustomElement}
@@ -1,328 +0,0 @@
1
- import { r as registerInstance, c as createEvent, a as getElement, h } from './index-DUsoYu9r.js';
2
-
3
- const checkboxGroupCss = () => `.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block}.checkbox-group{display:flex;flex-direction:column;gap:12px}.checkbox-group.is-victory .group-label .selection-count{animation:victory-pulse 2s infinite ease-in-out;background:var(--primary-color);color:var(--text-standard, #ffffff);box-shadow:0 0 15px var(--primary-color)}.group-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;color:var(--label-color, var(--text-primary, #333));margin-bottom:8px;text-transform:uppercase;letter-spacing:0.08em;opacity:0.65;cursor:default}.group-label .selection-count{font-size:10px;font-weight:600;text-transform:none;letter-spacing:normal;opacity:1;color:var(--label-subtitle-color, var(--text-secondary, #666));background:var(--bg-secondary, #f3f4f6);padding:2px 8px;border-radius:10px}.required-indicator{color:var(--danger-color, #f44336);margin-inline-start:4px}.select-all-container{padding-bottom:8px;border-bottom:1px solid var(--border-color, #e0e0e0)}.checkbox-group-items{display:flex}.checkbox-group-vertical .checkbox-group-items{flex-direction:column}.checkbox-group-horizontal .checkbox-group-items{flex-direction:row;flex-wrap:wrap}.checkbox-group-disabled{opacity:0.6;pointer-events:none}.checkbox-group-readonly{pointer-events:none}.checkbox-group-invalid .group-label{color:var(--danger-color, #f44336)}.helper-text{font-size:12px;color:var(--label-subtitle-color, var(--text-secondary, #666));display:flex;align-items:center;gap:6px}.helper-text.error{color:var(--danger-color, #f44336)}.helper-text i{font-size:14px}.checkbox-group-sm .group-label{font-size:12px}.checkbox-group-sm .helper-text{font-size:11px}.checkbox-group-lg .group-label{font-size:16px}.checkbox-group-lg .helper-text{font-size:13px}.checkbox-search{position:relative;margin-bottom:4px;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}.checkbox-search .search-input-wrapper{position:relative;display:flex;align-items:center;background:rgba(var(--primary-rgb, 139, 92, 246), 0.03);border:1px solid rgba(0, 0, 0, 0.05);border-radius:12px;padding:2px 4px;transition:all 0.3s}.checkbox-search .search-input-wrapper:focus-within{background:var(--bg-primary, #ffffff);border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-rgb), 0.15);transform:translateY(-1px)}.checkbox-search .search-icon{margin-left:12px;opacity:0.4;font-size:16px;color:var(--primary-color)}.checkbox-search input.search-input{flex:1;border:none;background:transparent;padding:10px 12px;font-size:13px;font-weight:500;color:var(--text-primary);outline:none}.checkbox-search input.search-input::placeholder{opacity:1}.checkbox-search .clear-search{background:rgba(0, 0, 0, 0.05);border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:6px;color:var(--text-secondary);transition:all 0.2s}.checkbox-search .clear-search:hover{background:rgba(0, 0, 0, 0.1);color:var(--text-primary);transform:scale(1.1)}.checkbox-search .clear-search ui-icon{font-size:14px}@keyframes victory-pulse{0%{transform:scale(1);box-shadow:0 0 0px var(--primary-color)}50%{transform:scale(1.05);box-shadow:0 0 15px var(--primary-color)}100%{transform:scale(1);box-shadow:0 0 0px var(--primary-color)}}.no-results{font-size:14px;color:var(--text-secondary, #999);padding:8px 0;font-style:italic}.checkbox-group-grid .checkbox-group-items{display:grid}`;
4
-
5
- const CheckboxGroup = class {
6
- constructor(hostRef) {
7
- registerInstance(this, hostRef);
8
- this.groupChange = createEvent(this, "groupChange");
9
- this.groupValidation = createEvent(this, "groupValidation");
10
- }
11
- /**
12
- * Ensures value is always a string array
13
- */
14
- normalizeValue(val) {
15
- if (Array.isArray(val))
16
- return val;
17
- if (typeof val === 'string')
18
- return val ? val.split(',') : [];
19
- return [];
20
- }
21
- get el() { return getElement(this); }
22
- internals;
23
- value = [];
24
- name = '';
25
- label = '';
26
- helperText = '';
27
- errorMessage = '';
28
- required = false;
29
- disabled = false;
30
- readonly = false;
31
- invalid = false;
32
- orientation = 'vertical';
33
- gap = '12px';
34
- showSelectAll = false;
35
- selectAllLabel = 'Select All';
36
- buttonGroup = false;
37
- min = 0;
38
- max = Infinity;
39
- validateOnChange = true;
40
- size = 'md';
41
- color = 'primary';
42
- showSelectionCount = false;
43
- /** Entrance animation */
44
- reveal = 'none';
45
- /** Delay for entry animation (ms) */
46
- revealDelay = 0;
47
- /** Stagger delay between items */
48
- revealStagger = 60;
49
- /** High-Fidelity: Victory glow pulse when all selected */
50
- victoryGlow = false;
51
- /** High-Fidelity: RTL support */
52
- rtl = false;
53
- selectAllState = 'none';
54
- isVictory = false;
55
- groupChange;
56
- groupValidation;
57
- componentWillLoad() {
58
- this.internals = this.el.attachInternals();
59
- this.updateFormValue();
60
- this.discoverCheckboxes();
61
- this.updateCheckboxStates();
62
- this.updateSelectAllState();
63
- }
64
- /**
65
- * Stencil form-association callback
66
- */
67
- formResetCallback() {
68
- this.value = [];
69
- this.updateCheckboxStates();
70
- this.updateSelectAllState();
71
- this.updateFormValue();
72
- }
73
- handleValueChange() {
74
- this.updateCheckboxStates();
75
- this.updateSelectAllState();
76
- if (this.validateOnChange) {
77
- this.validate();
78
- }
79
- }
80
- handleCheckboxChange(event) {
81
- const { checked, value: checkboxValue } = event.detail;
82
- if (this.disabled || this.readonly)
83
- return;
84
- let valueArr = this.normalizeValue(this.value);
85
- if (checked) {
86
- if (!valueArr.includes(checkboxValue)) {
87
- if (this.max === Infinity || valueArr.length < this.max) {
88
- valueArr = [...valueArr, checkboxValue];
89
- }
90
- }
91
- }
92
- else {
93
- valueArr = valueArr.filter(v => v !== checkboxValue);
94
- }
95
- this.value = valueArr;
96
- this.groupChange.emit({ value: this.value });
97
- this.updateSelectAllState();
98
- if (this.validateOnChange) {
99
- this.validate();
100
- }
101
- this.updateFormValue();
102
- }
103
- updateFormValue() {
104
- if (this.name) {
105
- const data = new FormData();
106
- this.value.forEach(val => data.append(this.name, val));
107
- this.internals.setFormValue(data);
108
- }
109
- else {
110
- this.internals.setFormValue(this.value.join(','));
111
- }
112
- }
113
- discoverCheckboxes() {
114
- // This is no longer needed as we use getAllCheckboxes in real-time
115
- }
116
- updateCheckboxStates() {
117
- const allCbs = this.getAllCheckboxes();
118
- const valueArr = this.normalizeValue(this.value);
119
- const isMaxReached = this.max !== Infinity && valueArr.length >= this.max;
120
- allCbs.forEach((checkbox, index) => {
121
- checkbox.checked = valueArr.includes(checkbox.value);
122
- checkbox.disabled = this.disabled || (isMaxReached && !checkbox.checked) || checkbox.disabled;
123
- checkbox.readonly = this.readonly;
124
- checkbox.size = this.size;
125
- checkbox.color = this.color;
126
- checkbox.reveal = this.reveal;
127
- checkbox.revealDelay = this.revealDelay + (index * this.revealStagger);
128
- checkbox.rtl = this.rtl;
129
- checkbox.isButton = this.buttonGroup;
130
- if (this.name) {
131
- checkbox.name = this.name;
132
- }
133
- });
134
- }
135
- getAllCheckboxes() {
136
- const slotted = Array.from(this.el.querySelectorAll('ui-checkbox'));
137
- // If we have options prop, we need to consider them too, but they are rendered as components
138
- // Stencil's shadow DOM might make this tricky if they are inside.
139
- // Actually, we can just get them from the shadow root if they are rendered in renderDataOptions
140
- const shadowCbs = Array.from(this.el.shadowRoot.querySelectorAll('ui-checkbox'));
141
- return [...slotted, ...shadowCbs];
142
- }
143
- updateSelectAllState() {
144
- const allCbs = this.getAllCheckboxes();
145
- const valueArr = this.normalizeValue(this.value);
146
- const enabledCheckboxes = allCbs.filter((cb) => !cb.disabled);
147
- if (enabledCheckboxes.length === 0)
148
- return;
149
- const checkedCount = enabledCheckboxes.filter((cb) => valueArr.includes(cb.value)).length;
150
- if (checkedCount === 0) {
151
- this.selectAllState = 'none';
152
- this.isVictory = false;
153
- }
154
- else if (checkedCount === enabledCheckboxes.length) {
155
- this.selectAllState = 'all';
156
- if (this.victoryGlow)
157
- this.isVictory = true;
158
- }
159
- else {
160
- this.selectAllState = 'some';
161
- this.isVictory = false;
162
- }
163
- }
164
- handleSelectAllChange = (event) => {
165
- if (this.disabled || this.readonly)
166
- return;
167
- const target = event.target;
168
- const allCbs = this.getAllCheckboxes();
169
- const enabledCheckboxes = allCbs.filter((cb) => !cb.disabled);
170
- if (target.checked) {
171
- // Select all enabled checkboxes
172
- const allValues = enabledCheckboxes.map((cb) => cb.value);
173
- const uniqueValues = Array.from(new Set([...this.value, ...allValues]));
174
- // Respect max limit
175
- if (this.max !== Infinity) {
176
- this.value = uniqueValues.slice(0, this.max);
177
- }
178
- else {
179
- this.value = uniqueValues;
180
- }
181
- }
182
- else {
183
- // Deselect all
184
- const enabledValues = enabledCheckboxes.map((cb) => cb.value);
185
- this.value = this.value.filter(v => !enabledValues.includes(v));
186
- }
187
- this.groupChange.emit({ value: this.value });
188
- this.updateSelectAllState();
189
- if (this.validateOnChange) {
190
- this.validate();
191
- }
192
- };
193
- validate() {
194
- const errors = [];
195
- if (this.required && this.value.length === 0) {
196
- errors.push('At least one option must be selected');
197
- }
198
- if (this.min > 0 && this.value.length < this.min) {
199
- errors.push(`At least ${this.min} option${this.min > 1 ? 's' : ''} must be selected`);
200
- }
201
- if (this.max !== Infinity && this.value.length > this.max) {
202
- errors.push(`No more than ${this.max} option${this.max > 1 ? 's' : ''} can be selected`);
203
- }
204
- const valid = errors.length === 0;
205
- this.groupValidation.emit({ valid, errors });
206
- return valid;
207
- }
208
- selectAll() {
209
- const allCbs = this.getAllCheckboxes();
210
- const enabledCheckboxes = allCbs.filter((cb) => !cb.disabled);
211
- const allValues = enabledCheckboxes.map((cb) => cb.value);
212
- if (this.max !== Infinity) {
213
- this.value = allValues.slice(0, this.max);
214
- }
215
- else {
216
- this.value = allValues;
217
- }
218
- this.groupChange.emit({ value: this.value });
219
- }
220
- deselectAll() {
221
- this.value = [];
222
- this.groupChange.emit({ value: this.value });
223
- }
224
- toggleAll() {
225
- if (this.selectAllState === 'all') {
226
- this.deselectAll();
227
- }
228
- else {
229
- this.selectAll();
230
- }
231
- }
232
- renderSelectAll() {
233
- if (!this.showSelectAll)
234
- return null;
235
- return (h("div", { class: "select-all-container" }, h("ui-checkbox", { checked: this.selectAllState === 'all', indeterminate: this.selectAllState === 'some', label: this.selectAllLabel, disabled: this.disabled, readonly: this.readonly, size: this.size, color: this.color, rtl: this.rtl, onCheckboxChange: this.handleSelectAllChange })));
236
- }
237
- renderLabel() {
238
- if (!this.label)
239
- return null;
240
- return (h("div", { class: "group-label" }, h("span", { class: "label-text" }, this.label, this.required && h("span", { class: "required-indicator" }, "*")), this.showSelectionCount && (h("span", { class: "selection-count" }, "(", this.value.length, this.max !== Infinity ? ` / ${this.max}` : '', " selected)"))));
241
- }
242
- renderHelperText() {
243
- if (this.invalid && this.errorMessage) {
244
- return (h("div", { class: "helper-text error" }, h("ui-icon", { name: "fa-exclamation-circle" }), this.errorMessage));
245
- }
246
- if (this.helperText) {
247
- return h("div", { class: "helper-text" }, this.helperText);
248
- }
249
- if (this.min > 0 || this.max !== Infinity) {
250
- const count = this.value.length;
251
- let text = '';
252
- if (this.min > 0 && this.max !== Infinity) {
253
- text = `Select ${this.min}-${this.max} options (${count} selected)`;
254
- }
255
- else if (this.min > 0) {
256
- text = `Select at least ${this.min} option${this.min > 1 ? 's' : ''} (${count} selected)`;
257
- }
258
- else if (this.max !== Infinity) {
259
- text = `Select up to ${this.max} option${this.max > 1 ? 's' : ''} (${count} selected)`;
260
- }
261
- return h("div", { class: "helper-text" }, text);
262
- }
263
- return null;
264
- }
265
- options = [];
266
- searchable = false;
267
- searchPlaceholder = 'Search options...';
268
- layout = 'list';
269
- columns = 2; // For grid layout
270
- searchQuery = '';
271
- handleSearch = (e) => {
272
- this.searchQuery = e.target.value.toLowerCase();
273
- };
274
- getFilteredOptions() {
275
- if (!this.options || this.options.length === 0)
276
- return [];
277
- // Normalize options
278
- const normalizedOptions = this.options.map(opt => typeof opt === 'string' ? { label: opt, value: opt, disabled: false } : opt);
279
- if (!this.searchQuery)
280
- return normalizedOptions;
281
- return normalizedOptions.filter(opt => opt.label.toLowerCase().includes(this.searchQuery));
282
- }
283
- renderSearch() {
284
- if (!this.searchable)
285
- return null;
286
- return (h("div", { class: {
287
- 'checkbox-search': true,
288
- 'search-active': this.searchQuery.length > 0
289
- } }, h("div", { class: "search-input-wrapper" }, h("ui-icon", { name: "search", library: "lucide", class: "search-icon" }), h("input", { type: "text", placeholder: this.searchPlaceholder, onInput: this.handleSearch, value: this.searchQuery, class: "search-input" }), this.searchQuery.length > 0 && (h("ui-button", { variant: "ghost", class: "clear-search", onClick: () => { this.searchQuery = ''; }, icon: "x", iconLibrary: "lucide", iconOnly: true, size: "sm" })))));
290
- }
291
- renderDataOptions() {
292
- const visibleOptions = this.getFilteredOptions();
293
- if (visibleOptions.length === 0 && this.searchQuery) {
294
- return h("div", { class: "no-results" }, "No options found");
295
- }
296
- const valueArr = this.normalizeValue(this.value);
297
- return visibleOptions.map((opt, index) => (h("ui-checkbox", { value: opt.value, label: opt.label, disabled: this.disabled || opt.disabled, readonly: this.readonly, size: this.size, color: this.color, variant: opt.variant || 'default', name: this.name, checked: valueArr.includes(opt.value), reveal: this.reveal, revealDelay: this.revealDelay + (index * this.revealStagger), rtl: this.rtl, isButton: this.buttonGroup, onCheckboxChange: this.handleCheckboxChange })));
298
- }
299
- render() {
300
- const containerClasses = {
301
- 'checkbox-group': true,
302
- [`checkbox-group-${this.orientation}`]: this.layout === 'list',
303
- [`checkbox-group-grid`]: this.layout === 'grid',
304
- [`checkbox-group-cols-${this.columns}`]: this.layout === 'grid',
305
- [`checkbox-group-${this.size}`]: true,
306
- 'checkbox-group-disabled': this.disabled,
307
- 'checkbox-group-readonly': this.readonly,
308
- 'checkbox-group-invalid': this.invalid,
309
- 'checkbox-group-button': this.buttonGroup,
310
- 'is-victory': this.isVictory
311
- };
312
- const hasDataOptions = this.options && this.options.length > 0;
313
- return (h("div", { key: '05a2da58c9dd7f3438076d3beb725f3596545cb6', class: containerClasses, dir: this.rtl ? 'rtl' : 'ltr' }, this.renderLabel(), this.renderSearch(), this.renderSelectAll(), h("div", { key: '0a64f5ff1b6474c771059e6d856b42a48641d5a1', class: "checkbox-group-items", style: this.layout === 'grid' ? {
314
- display: 'grid',
315
- gridTemplateColumns: `repeat(${this.columns}, 1fr)`,
316
- gap: this.gap
317
- } : { gap: this.gap }, role: "group", "aria-labelledby": this.label ? 'group-label' : undefined, "aria-required": this.required ? 'true' : 'false', "aria-invalid": this.invalid ? 'true' : 'false' }, hasDataOptions ? this.renderDataOptions() : h("slot", null)), this.renderHelperText()));
318
- }
319
- static get formAssociated() { return true; }
320
- static get watchers() { return {
321
- "value": [{
322
- "handleValueChange": 0
323
- }]
324
- }; }
325
- };
326
- CheckboxGroup.style = checkboxGroupCss();
327
-
328
- export { CheckboxGroup as ui_checkbox_group };
@@ -1,65 +0,0 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-DUsoYu9r.js';
2
-
3
- const imageButtonCss = () => `.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:inline-block;vertical-align:middle;transition:transform 0.2s ease}.image-button{position:relative;overflow:hidden;border-radius:12px;cursor:pointer;background:#f3f4f6;width:100%;height:100%;display:flex;align-items:center;justify-content:center;outline:none}.image-button,.image-button *{transition:all 0.4s cubic-bezier(0.4, 0, 0.2, 1)}.image-button-sm{width:120px}.image-button-md{width:240px}.image-button-lg{width:360px}.image-button-xl{width:480px}.image-button-ratio-square{aspect-ratio:1/1}.image-button-ratio-video{aspect-ratio:16/9}.image-button-ratio-portrait{aspect-ratio:3/4}.image-button-ratio-auto{height:auto}.image-button .button-image{width:100%;height:100%;object-fit:cover;display:block}.image-button .image-placeholder{color:#9ca3af}.image-button .button-overlay{position:absolute;inset:0;background:linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 60%);display:flex;align-items:flex-end;padding:1.25rem;color:white}.image-button .overlay-content{display:flex;flex-direction:column;gap:4px}.image-button .button-label{font-weight:700;font-size:1.1rem;line-height:1.2;letter-spacing:-0.01em}.image-button .button-desc{font-size:0.85rem;opacity:0.8}.image-button-effect-zoom:hover .button-image{transform:scale(1.1)}.image-button-effect-lift:hover,.image-button-effect-lift.is-focused{transform:translateY(-8px);box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)}.image-button-effect-brighten:hover .button-image{filter:brightness(1.2)}.image-button.label-mode-hover .button-overlay{opacity:0;transform:translateY(10px)}.image-button.label-mode-hover:hover .button-overlay{opacity:1;transform:translateY(0)}.image-button.is-disabled{cursor:not-allowed;opacity:0.6;filter:grayscale(1)}.image-button.is-disabled:hover{transform:none;box-shadow:none}.image-button.is-loading{cursor:wait}.image-button.is-loading .loading-overlay{position:absolute;inset:0;background:rgba(255, 255, 255, 0.7);display:flex;align-items:center;justify-content:center;color:#10b981;z-index:10}.image-button.is-focused{box-shadow:0 0 0 2px var(--bg-primary, #ffffff), 0 0 0 5px var(--color-primary, #10b981);z-index:10}@media (max-width: 640px){.image-button{width:100% !important}}`;
4
-
5
- const ImageButton = class {
6
- constructor(hostRef) {
7
- registerInstance(this, hostRef);
8
- this.uiClick = createEvent(this, "uiClick");
9
- }
10
- /** Image source URL */
11
- src;
12
- /** Image alt text */
13
- alt = '';
14
- /** Button label (overlay) */
15
- label;
16
- /** Subtitle or secondary text */
17
- description;
18
- /** Hover effect: 'zoom' | 'lift' | 'brighten' | 'none' */
19
- effect = 'zoom';
20
- /** Aspect ratio: 'square' | 'video' | 'portrait' | 'auto' */
21
- ratio = 'square';
22
- /** Whether the label is always visible or only on hover */
23
- labelMode = 'hover';
24
- /** Size variant */
25
- size = 'md';
26
- /** Disabled state */
27
- disabled = false;
28
- /** Loading state */
29
- loading = false;
30
- /** Accessibility label */
31
- a11yLabel;
32
- /** Focus state for keyboard accessibility */
33
- isFocused = false;
34
- uiClick;
35
- handleClick = (e) => {
36
- if (this.disabled || this.loading) {
37
- e.preventDefault();
38
- e.stopPropagation();
39
- return;
40
- }
41
- this.uiClick.emit();
42
- };
43
- handleKeyDown = (e) => {
44
- if (e.key === 'Enter' || e.key === ' ') {
45
- e.preventDefault();
46
- this.handleClick(e);
47
- }
48
- };
49
- render() {
50
- const classes = {
51
- 'image-button': true,
52
- [`image-button-${this.size}`]: true,
53
- [`image-button-ratio-${this.ratio}`]: true,
54
- [`image-button-effect-${this.effect}`]: true,
55
- [`label-mode-${this.labelMode}`]: true,
56
- 'is-disabled': this.disabled,
57
- 'is-loading': this.loading,
58
- 'is-focused': this.isFocused,
59
- };
60
- return (h(Host, { key: '9f62fc59b4656078cbddd73750e41d03a0f3d2ca' }, h("div", { key: 'd6f464e2f65dd0eb5dd40892179432473b3836fe', class: classes, role: "button", tabindex: this.disabled || this.loading ? -1 : 0, "aria-label": this.a11yLabel || this.label || this.alt || 'Image Button', "aria-disabled": this.disabled ? 'true' : 'false', "aria-busy": this.loading ? 'true' : 'false', onClick: this.handleClick, onKeyDown: this.handleKeyDown, onFocus: () => this.isFocused = true, onBlur: () => this.isFocused = false }, this.src ? (h("img", { class: "button-image", src: this.src, alt: this.alt, loading: "lazy" })) : (h("div", { class: "image-placeholder" }, h("ui-icon", { name: "image", library: "fontawesome", size: "24px" }))), (this.label || this.description) && (h("div", { key: '4f8ce2e322361f645f29bf9c4f48f4c9b151f075', class: "button-overlay" }, h("div", { key: 'f3e15b029509d4ed27bef5c03d75d3bd934f190b', class: "overlay-content" }, this.label && h("div", { key: 'aac7cac7d8e07014a927acd9f572f7dac2688e3d', class: "button-label" }, this.label), this.description && h("div", { key: '1607a06a9fcde90277be03130548d974bf7c6b5c', class: "button-desc" }, this.description)))), this.loading && (h("div", { key: '9c9f38dbeb6b77fb2d8eed4ab641498aa5030bf7', class: "loading-overlay" }, h("ui-icon", { key: '2bc1e06c7a61a4e7752686d489ea2c092550d2b4', name: "spinner", library: "fontawesome", spin: true, size: "24px" }))))));
61
- }
62
- };
63
- ImageButton.style = imageButtonCss();
64
-
65
- export { ImageButton as ui_image_button };
@@ -1,42 +0,0 @@
1
- import { r as registerInstance, h, H as Host } from './index-DUsoYu9r.js';
2
-
3
- const inputPairCss = () => `.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}.a11y-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}:host{display:block;width:auto;min-width:0;--pair-radius:10px}:host.full-width{width:100%}.pair-main-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;opacity:0.65;color:var(--label-color, var(--text-secondary, #64748b));margin-bottom:8px}.pair-container{display:flex;align-items:flex-end;width:100%}.pair-container .input-item{flex:1;min-width:0}.pair-container{}.pair-container .input-item.left ui-input::part(container),.pair-container .input-item.right ui-input::part(container){border-radius:var(--pair-radius);border-width:1.5px}.pair-container.is-connected .input-item.left ui-input::part(container){border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0.75px}.pair-container.is-connected .input-item.right ui-input::part(container){border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0.75px}`;
4
-
5
- const InputPair = class {
6
- constructor(hostRef) {
7
- registerInstance(this, hostRef);
8
- }
9
- /** Left input label */
10
- labelLeft = '';
11
- /** Right input label */
12
- labelRight = '';
13
- /** Shared main label (optional) */
14
- label;
15
- /** Left input value */
16
- valueLeft = '';
17
- /** Right input value */
18
- valueRight = '';
19
- /** Left input placeholder */
20
- placeholderLeft = '';
21
- /** Right input placeholder */
22
- placeholderRight = '';
23
- /** Shared type for both inputs */
24
- type = 'text';
25
- /** Shared variant */
26
- variant = 'outlined';
27
- /** Shared size */
28
- size = 'md';
29
- /** Gap between inputs (set to 0 for connected) */
30
- gap = '0';
31
- /** Full width behavior */
32
- fullWidth = false;
33
- render() {
34
- return (h(Host, { key: 'fdf7f4502e0ae69ee732870df215948f6dd343d4', class: { 'full-width': this.fullWidth } }, this.label && h("div", { key: 'fab76ee80e86ffb845930a8b2ce26d210da9e72c', class: "pair-main-label" }, this.label), h("div", { key: 'cb95a4fda33d88723248c58d57e526f9ab7fc1c6', class: {
35
- 'pair-container': true,
36
- 'is-connected': this.gap === '0'
37
- }, style: { gap: this.gap !== '0' ? this.gap : undefined } }, h("div", { key: '562af03d33b4c7ec4f55ffa805dbbda5fa0e2c95', class: "input-item left" }, h("ui-input", { key: 'c75ac1faec6b8b0903d578064ba60529a923d4eb', label: this.labelLeft, placeholder: this.placeholderLeft, value: this.valueLeft, type: this.type, variant: this.variant, size: this.size, "full-width": true })), h("div", { key: '2740efa73d5758bf88c58f2853cba1da3f43a420', class: "input-item right" }, h("ui-input", { key: '4e110393af0e26ace0de9a68f12a9cb54b90d935', label: this.labelRight, placeholder: this.placeholderRight, value: this.valueRight, type: this.type, variant: this.variant, size: this.size, "full-width": true })))));
38
- }
39
- };
40
- InputPair.style = inputPairCss();
41
-
42
- export { InputPair as ui_input_pair };