atomicuilibrary 0.1.0 → 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 (618) 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 +4 -4
  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/smart-step.cjs.entry.js +3 -3
  14. package/dist/cjs/timeline-item.cjs.entry.js +2 -2
  15. package/dist/cjs/ui-accordion_11.cjs.entry.js +132 -50
  16. package/dist/cjs/ui-advanced-data-table.cjs.entry.js +2 -2
  17. package/dist/cjs/ui-anchor.cjs.entry.js +2 -2
  18. package/dist/cjs/ui-animate-on-scroll.cjs.entry.js +3 -3
  19. package/dist/cjs/ui-aside-panel.cjs.entry.js +10 -11
  20. package/dist/cjs/ui-avatar-group_5.cjs.entry.js +1694 -0
  21. package/dist/cjs/ui-breadcrumb-item.cjs.entry.js +3 -3
  22. package/dist/cjs/ui-breadcrumb.cjs.entry.js +1 -1
  23. package/dist/cjs/ui-callout-banner.cjs.entry.js +2 -2
  24. package/dist/cjs/ui-card.cjs.entry.js +4 -3
  25. package/dist/cjs/ui-carousel.cjs.entry.js +1 -1
  26. package/dist/cjs/ui-checkbox.cjs.entry.js +3 -3
  27. package/dist/cjs/ui-code-editor.cjs.entry.js +2 -2
  28. package/dist/cjs/ui-code-preview.cjs.entry.js +2 -2
  29. package/dist/cjs/ui-color-picker.cjs.entry.js +256 -22
  30. package/dist/cjs/ui-command-palette.cjs.entry.js +1 -1
  31. package/dist/cjs/ui-dialog-box.cjs.entry.js +85 -11
  32. package/dist/cjs/ui-dialog-content.cjs.entry.js +1 -1
  33. package/dist/cjs/ui-dialog-footer_2.cjs.entry.js +1 -1
  34. package/dist/cjs/ui-divider.cjs.entry.js +1 -1
  35. package/dist/cjs/ui-dock-host.cjs.entry.js +4 -4
  36. package/dist/cjs/ui-dock.cjs.entry.js +2 -2
  37. package/dist/cjs/ui-drag-drop.cjs.entry.js +2 -2
  38. package/dist/cjs/ui-dropdown_2.cjs.entry.js +104 -34
  39. package/dist/cjs/ui-empty-state.cjs.entry.js +2 -2
  40. package/dist/cjs/ui-fab-item.cjs.entry.js +2 -2
  41. package/dist/cjs/ui-fab.cjs.entry.js +4 -4
  42. package/dist/cjs/ui-file-upload.cjs.entry.js +143 -44
  43. package/dist/cjs/ui-horizontal-nav.cjs.entry.js +2 -2
  44. package/dist/cjs/ui-knob.cjs.entry.js +1 -1
  45. package/dist/cjs/ui-label.cjs.entry.js +473 -0
  46. package/dist/cjs/ui-library.cjs.entry.js +2 -2
  47. package/dist/cjs/ui-list-group_2.cjs.entry.js +349 -60
  48. package/dist/cjs/ui-list.cjs.entry.js +76 -42
  49. package/dist/cjs/ui-masonry.cjs.entry.js +1 -1
  50. package/dist/cjs/ui-meter-group.cjs.entry.js +5 -4
  51. package/dist/cjs/ui-navigation-item.cjs.entry.js +5 -5
  52. package/dist/cjs/ui-number-input.cjs.entry.js +7 -3
  53. package/dist/cjs/ui-otp-input.cjs.entry.js +5 -5
  54. package/dist/cjs/{ui-pagination_4.cjs.entry.js → ui-pagination_3.cjs.entry.js} +35 -506
  55. package/dist/cjs/ui-panel.cjs.entry.js +1 -1
  56. package/dist/cjs/ui-pattern-input.cjs.entry.js +46 -11
  57. package/dist/cjs/ui-progress.cjs.entry.js +66 -9
  58. package/dist/cjs/ui-range-slider.cjs.entry.js +2 -2
  59. package/dist/cjs/ui-resizable-panel.cjs.entry.js +2 -2
  60. package/dist/cjs/ui-scroll-top.cjs.entry.js +1 -1
  61. package/dist/cjs/ui-smart-context-menu.cjs.entry.js +1 -1
  62. package/dist/cjs/ui-smart-stepper.cjs.entry.js +2 -2
  63. package/dist/cjs/ui-snackbar.cjs.entry.js +1 -1
  64. package/dist/cjs/ui-speed-dial.cjs.entry.js +1 -1
  65. package/dist/cjs/ui-speedometer.cjs.entry.js +28 -17
  66. package/dist/cjs/ui-splitter.cjs.entry.js +1 -1
  67. package/dist/cjs/ui-step.cjs.entry.js +2 -2
  68. package/dist/cjs/ui-stepper.cjs.entry.js +1 -1
  69. package/dist/cjs/ui-switch.cjs.entry.js +14 -13
  70. package/dist/cjs/ui-tabs.cjs.entry.js +2 -2
  71. package/dist/cjs/ui-tag.cjs.entry.js +58 -13
  72. package/dist/cjs/ui-timeline.cjs.entry.js +10 -2
  73. package/dist/cjs/ui-timer.cjs.entry.js +2 -2
  74. package/dist/cjs/ui-toolbar.cjs.entry.js +2 -2
  75. package/dist/cjs/ui-tooltip.cjs.entry.js +4 -4
  76. package/dist/cjs/ui-top-bar.cjs.entry.js +1 -1
  77. package/dist/cjs/ui-transfer-list.cjs.entry.js +6 -6
  78. package/dist/cjs/ui-tree.cjs.entry.js +30 -15
  79. package/dist/cjs/ui-workspace-manager.cjs.entry.js +2 -2
  80. package/dist/collection/assets/js/component-config.js +1 -0
  81. package/dist/collection/assets/js/demo-loader.js +2 -0
  82. package/dist/collection/assets/js/demos/about-demo.js +13 -13
  83. package/dist/collection/assets/js/demos/accordion-demo.js +66 -66
  84. package/dist/collection/assets/js/demos/advanced-data-table-demo.js +102 -102
  85. package/dist/collection/assets/js/demos/anchor-demo.js +27 -28
  86. package/dist/collection/assets/js/demos/animate-on-scroll-demo.js +12 -12
  87. package/dist/collection/assets/js/demos/aside-panel-demo.js +51 -51
  88. package/dist/collection/assets/js/demos/avatar-demo.js +433 -95
  89. package/dist/collection/assets/js/demos/badge-demo.js +51 -52
  90. package/dist/collection/assets/js/demos/breadcrumb-demo.js +7 -7
  91. package/dist/collection/assets/js/demos/button-demo.js +117 -107
  92. package/dist/collection/assets/js/demos/button-toggle-demo.js +199 -96
  93. package/dist/collection/assets/js/demos/callout-banner-demo.js +23 -23
  94. package/dist/collection/assets/js/demos/card-demo.js +23 -22
  95. package/dist/collection/assets/js/demos/carousel-demo.js +632 -360
  96. package/dist/collection/assets/js/demos/checkbox-demo.js +124 -7
  97. package/dist/collection/assets/js/demos/color-picker-demo.js +394 -100
  98. package/dist/collection/assets/js/demos/command-palette-demo.js +182 -65
  99. package/dist/collection/assets/js/demos/complex-form-demo.js +5 -5
  100. package/dist/collection/assets/js/demos/context-menu-demo.js +43 -43
  101. package/dist/collection/assets/js/demos/dialog-demo-temp.js +3 -3
  102. package/dist/collection/assets/js/demos/dialog-demo.js +336 -230
  103. package/dist/collection/assets/js/demos/divider-demo.js +59 -62
  104. package/dist/collection/assets/js/demos/dock-demo.js +12 -12
  105. package/dist/collection/assets/js/demos/dock-host-init.js +31 -31
  106. package/dist/collection/assets/js/demos/documentation-demo.js +34 -34
  107. package/dist/collection/assets/js/demos/drag-drop-demo.js +2 -2
  108. package/dist/collection/assets/js/demos/dropdown-demo.js +140 -136
  109. package/dist/collection/assets/js/demos/dropdown-subtitle-demo.js +2 -2
  110. package/dist/collection/assets/js/demos/empty-state-demo.js +294 -78
  111. package/dist/collection/assets/js/demos/fab-demo.js +95 -11
  112. package/dist/collection/assets/js/demos/file-upload-demo.js +641 -171
  113. package/dist/collection/assets/js/demos/home-components.js +2 -2
  114. package/dist/collection/assets/js/demos/horizontal-nav-demo.js +6 -6
  115. package/dist/collection/assets/js/demos/icon-demo.js +17 -17
  116. package/dist/collection/assets/js/demos/input-demo.js +147 -143
  117. package/dist/collection/assets/js/demos/knob-demo.js +29 -30
  118. package/dist/collection/assets/js/demos/label-demo.js +697 -0
  119. package/dist/collection/assets/js/demos/layout-manager-demo.js +55 -55
  120. package/dist/collection/assets/js/demos/list-demo.js +185 -122
  121. package/dist/collection/assets/js/demos/loader-demo.js +48 -48
  122. package/dist/collection/assets/js/demos/masonry-demo.js +568 -140
  123. package/dist/collection/assets/js/demos/meter-group-demo.js +14 -16
  124. package/dist/collection/assets/js/demos/multi-level-context-menu-demo.js +25 -25
  125. package/dist/collection/assets/js/demos/my-profile-demo.js +27 -27
  126. package/dist/collection/assets/js/demos/nav-bar-demo.js +1 -1
  127. package/dist/collection/assets/js/demos/number-input-demo.js +262 -211
  128. package/dist/collection/assets/js/demos/pagination-demo.js +29 -29
  129. package/dist/collection/assets/js/demos/panel-demo.js +18 -25
  130. package/dist/collection/assets/js/demos/pattern-input-demo.js +278 -40
  131. package/dist/collection/assets/js/demos/popover-demo.js +240 -149
  132. package/dist/collection/assets/js/demos/progress-demo.js +170 -156
  133. package/dist/collection/assets/js/demos/radio-demo.js +73 -12
  134. package/dist/collection/assets/js/demos/range-slider-demo.js +33 -33
  135. package/dist/collection/assets/js/demos/rating-demo.js +19 -19
  136. package/dist/collection/assets/js/demos/scroll-top-demo.js +8 -9
  137. package/dist/collection/assets/js/demos/skeleton-demo.js +110 -52
  138. package/dist/collection/assets/js/demos/skeleton-performance-demo.js +2 -2
  139. package/dist/collection/assets/js/demos/smart-dialog-demo.js +12 -12
  140. package/dist/collection/assets/js/demos/smart-menu-demo.js +17 -17
  141. package/dist/collection/assets/js/demos/snackbar-demo.js +53 -53
  142. package/dist/collection/assets/js/demos/speed-dial-demo.js +14 -14
  143. package/dist/collection/assets/js/demos/speedometer-demo.js +40 -32
  144. package/dist/collection/assets/js/demos/split-button-demo.js +2 -2
  145. package/dist/collection/assets/js/demos/splitter-demo.js +14 -14
  146. package/dist/collection/assets/js/demos/stack-demo.js +27 -27
  147. package/dist/collection/assets/js/demos/stepper-demo.js +49 -49
  148. package/dist/collection/assets/js/demos/switch-demo.js +561 -125
  149. package/dist/collection/assets/js/demos/tabs-demo.js +22 -22
  150. package/dist/collection/assets/js/demos/tag-demo.js +62 -62
  151. package/dist/collection/assets/js/demos/theme-selector-demo.js +27 -27
  152. package/dist/collection/assets/js/demos/timeline-demo.js +10 -10
  153. package/dist/collection/assets/js/demos/timeline-playground.js +2 -2
  154. package/dist/collection/assets/js/demos/timer-demo.js +10 -10
  155. package/dist/collection/assets/js/demos/toolbar-demo.js +17 -17
  156. package/dist/collection/assets/js/demos/tooltip-demo.js +92 -90
  157. package/dist/collection/assets/js/demos/top-bar-demo.js +6 -6
  158. package/dist/collection/assets/js/demos/transfer-list-demo.js +20 -20
  159. package/dist/collection/assets/js/demos/tree-demo.js +50 -66
  160. package/dist/collection/assets/js/demos/workspace-manager-demo.js +20 -20
  161. package/dist/collection/collection-manifest.json +1 -2
  162. package/dist/collection/components/accordion/accordion.css +275 -9
  163. package/dist/collection/components/accordion/accordion.js +7 -6
  164. package/dist/collection/components/advanced-data-table/advanced-data-table.css +5 -5
  165. package/dist/collection/components/advanced-data-table/advanced-data-table.js +2 -2
  166. package/dist/collection/components/anchor/anchor.css +1 -0
  167. package/dist/collection/components/animate-on-scroll/animate-on-scroll.js +2 -2
  168. package/dist/collection/components/aside-panel/aside-panel.css +2 -2
  169. package/dist/collection/components/aside-panel/aside-panel.js +10 -11
  170. package/dist/collection/components/avatar/avatar.css +6 -6
  171. package/dist/collection/components/avatar/avatar.js +63 -11
  172. package/dist/collection/components/badge/badge.css +27 -17
  173. package/dist/collection/components/badge/badge.js +6 -3
  174. package/dist/collection/components/breadcrumb/breadcrumb-item.js +2 -2
  175. package/dist/collection/components/button/button.css +1 -0
  176. package/dist/collection/components/button/button.js +3 -3
  177. package/dist/collection/components/button-toggle/button-toggle.js +2 -2
  178. package/dist/collection/components/button-toggle-group/button-toggle-group.css +161 -14
  179. package/dist/collection/components/button-toggle-group/button-toggle-group.js +2 -2
  180. package/dist/collection/components/callout-banner/callout-banner.css +75 -0
  181. package/dist/collection/components/callout-banner/callout-banner.js +1 -1
  182. package/dist/collection/components/card/card.css +221 -9
  183. package/dist/collection/components/card/card.js +3 -2
  184. package/dist/collection/components/checkbox/checkbox.js +3 -3
  185. package/dist/collection/components/code-editor/code-editor.js +1 -1
  186. package/dist/collection/components/code-preview/ui-code-preview.js +1 -1
  187. package/dist/collection/components/color-picker/color-picker.css +110 -6
  188. package/dist/collection/components/color-picker/color-picker.js +302 -26
  189. package/dist/collection/components/context-menu/context-menu.css +9 -9
  190. package/dist/collection/components/dialog-box/dialog-box.js +116 -14
  191. package/dist/collection/components/dialog-header/dialog-header.js +1 -1
  192. package/dist/collection/components/dock/dock.css +116 -3
  193. package/dist/collection/components/dock-host/ui-dock-host.js +3 -3
  194. package/dist/collection/components/drag-drop/drag-drop.js +1 -1
  195. package/dist/collection/components/dropdown/dropdown.css +101 -8
  196. package/dist/collection/components/dropdown/dropdown.js +94 -28
  197. package/dist/collection/components/empty-state/empty-state.js +1 -1
  198. package/dist/collection/components/fab/fab.css +87 -15
  199. package/dist/collection/components/fab/fab.js +3 -3
  200. package/dist/collection/components/fab-item/fab-item.js +1 -1
  201. package/dist/collection/components/file-upload/file-upload.css +1362 -31
  202. package/dist/collection/components/file-upload/file-upload.js +171 -50
  203. package/dist/collection/components/horizontal-nav/horizontal-nav.css +9 -9
  204. package/dist/collection/components/horizontal-nav/horizontal-nav.js +2 -2
  205. package/dist/collection/components/icon/icon.js +1 -1
  206. package/dist/collection/components/input/input.css +9 -0
  207. package/dist/collection/components/input/input.js +20 -9
  208. package/dist/collection/components/label/label.css +583 -0
  209. package/dist/collection/components/label/label.js +1669 -0
  210. package/dist/collection/components/layout-manager/layout-manager.js +1 -1
  211. package/dist/collection/components/layout-manager/lm-floating-window/lm-floating-window.js +1 -1
  212. package/dist/collection/components/layout-manager/lm-panel/lm-panel.js +1 -1
  213. package/dist/collection/components/layout-manager/lm-splitter/lm-splitter.js +1 -1
  214. package/dist/collection/components/layout-manager/lm-tabs/lm-tabs.js +1 -1
  215. package/dist/collection/components/library/category-section.js +1 -1
  216. package/dist/collection/components/library/library-card.js +1 -1
  217. package/dist/collection/components/library/library.js +1 -1
  218. package/dist/collection/components/list/list.css +46 -5
  219. package/dist/collection/components/list/list.js +76 -42
  220. package/dist/collection/components/list-group/list-group.css +0 -2
  221. package/dist/collection/components/list-group/list-group.js +11 -5
  222. package/dist/collection/components/list-item/list-item.css +403 -131
  223. package/dist/collection/components/list-item/list-item.js +345 -61
  224. package/dist/collection/components/loader/loader.css +1 -1
  225. package/dist/collection/components/loader/loader.js +2 -2
  226. package/dist/collection/components/meter-group/meter-group.css +5 -0
  227. package/dist/collection/components/meter-group/meter-group.js +3 -2
  228. package/dist/collection/components/my-step/my-step.js +1 -1
  229. package/dist/collection/components/nav-bar/nav-bar.css +4 -4
  230. package/dist/collection/components/nav-bar/nav-bar.js +6 -6
  231. package/dist/collection/components/number-input/number-input.js +6 -2
  232. package/dist/collection/components/otp-input/otp-input.css +10 -0
  233. package/dist/collection/components/otp-input/otp-input.js +3 -3
  234. package/dist/collection/components/pagination/pagination.js +1 -1
  235. package/dist/collection/components/pattern-input/pattern-input.css +0 -1
  236. package/dist/collection/components/pattern-input/pattern-input.js +44 -9
  237. package/dist/collection/components/popover/popover.css +35 -7
  238. package/dist/collection/components/popover/popover.js +64 -9
  239. package/dist/collection/components/progress/progress.css +176 -32
  240. package/dist/collection/components/progress/progress.js +66 -8
  241. package/dist/collection/components/radio/radio.css +2 -0
  242. package/dist/collection/components/radio/radio.js +2 -2
  243. package/dist/collection/components/range-slider/range-slider.css +284 -31
  244. package/dist/collection/components/range-slider/range-slider.js +5 -5
  245. package/dist/collection/components/rating/rating.css +151 -65
  246. package/dist/collection/components/rating/rating.js +31 -13
  247. package/dist/collection/components/resizable-panel/resizable-panel.js +1 -1
  248. package/dist/collection/components/skeleton/skeleton-loader.css +144 -44
  249. package/dist/collection/components/skeleton/skeleton-loader.js +11 -7
  250. package/dist/collection/components/smart-stepper/smart-step.js +2 -2
  251. package/dist/collection/components/smart-stepper/smart-stepper.js +1 -1
  252. package/dist/collection/components/speedometer/speedometer.css +26 -6
  253. package/dist/collection/components/speedometer/speedometer.js +26 -15
  254. package/dist/collection/components/stack/stack.js +2 -2
  255. package/dist/collection/components/step/step.js +1 -1
  256. package/dist/collection/components/stepper/stepper.js +1 -1
  257. package/dist/collection/components/switch/switch.css +367 -8
  258. package/dist/collection/components/switch/switch.js +13 -12
  259. package/dist/collection/components/tag/tag.css +38 -12
  260. package/dist/collection/components/tag/tag.js +58 -13
  261. package/dist/collection/components/tag-group/tag-group.css +0 -1
  262. package/dist/collection/components/tag-group/tag-group.js +3 -3
  263. package/dist/collection/components/timeline/timeline.css +380 -317
  264. package/dist/collection/components/timeline/timeline.js +8 -0
  265. package/dist/collection/components/timeline-item/timeline-item.js +1 -1
  266. package/dist/collection/components/timer/timer.js +1 -1
  267. package/dist/collection/components/toggle-group/toggle-group.css +7 -3
  268. package/dist/collection/components/toggle-group/toggle-group.js +7 -3
  269. package/dist/collection/components/toolbar/toolbar.js +1 -1
  270. package/dist/collection/components/tooltip/tooltip.js +4 -4
  271. package/dist/collection/components/top-bar/top-bar.js +2 -2
  272. package/dist/collection/components/transfer-list/transfer-list.css +13 -13
  273. package/dist/collection/components/transfer-list/transfer-list.js +4 -4
  274. package/dist/collection/components/tree/tree.css +35 -21
  275. package/dist/collection/components/tree/tree.js +28 -13
  276. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.css +34 -16
  277. package/dist/collection/components/ui-navigation-bar/navigation-bar/navigation-bar.js +46 -11
  278. package/dist/collection/components/ui-navigation-bar/navigation-item.css +7 -7
  279. package/dist/collection/components/ui-navigation-bar/navigation-item.js +3 -3
  280. package/dist/collection/utils/dom.js +151 -151
  281. package/dist/components/avatar-group.js +1 -1
  282. package/dist/components/avatar.js +1 -1
  283. package/dist/components/badge.js +1 -1
  284. package/dist/components/button-toggle.js +1 -1
  285. package/dist/components/button.js +1 -0
  286. package/dist/components/category-section2.js +1 -1
  287. package/dist/components/checkbox.js +1 -1
  288. package/dist/components/context-menu.js +1 -1
  289. package/dist/components/dialog-header.js +1 -1
  290. package/dist/components/dom.js +1 -1
  291. package/dist/components/dropdown.js +1 -1
  292. package/dist/components/icon.js +2 -2
  293. package/dist/components/input.js +1 -1
  294. package/dist/components/layout-manager.js +1 -1
  295. package/dist/components/library-card2.js +1 -1
  296. package/dist/components/list-group.js +1 -1
  297. package/dist/components/list-item.js +1 -1
  298. package/dist/components/lm-container2.js +1 -1
  299. package/dist/components/lm-floating-window2.js +1 -1
  300. package/dist/components/lm-panel2.js +1 -1
  301. package/dist/components/lm-splitter2.js +1 -1
  302. package/dist/components/lm-tabs2.js +1 -1
  303. package/dist/components/loader.js +1 -1
  304. package/dist/components/my-step.js +1 -1
  305. package/dist/components/nav-bar.js +1 -1
  306. package/dist/components/pagination.js +1 -1
  307. package/dist/components/popover.js +1 -0
  308. package/dist/components/radio.js +1 -1
  309. package/dist/components/range-slider.js +1 -1
  310. package/dist/components/rating.js +1 -1
  311. package/dist/components/resizable-panel.js +1 -1
  312. package/dist/components/skeleton-loader.js +1 -1
  313. package/dist/components/smart-step.js +1 -1
  314. package/dist/components/stack.js +1 -1
  315. package/dist/components/switch.js +1 -1
  316. package/dist/components/tag-group.js +1 -1
  317. package/dist/components/tag.js +1 -1
  318. package/dist/components/timeline-item.js +1 -1
  319. package/dist/components/toggle-group.js +1 -1
  320. package/dist/components/tooltip.js +1 -1
  321. package/dist/components/ui-accordion.js +1 -1
  322. package/dist/components/ui-advanced-data-table.js +1 -1
  323. package/dist/components/ui-anchor.js +1 -1
  324. package/dist/components/ui-animate-on-scroll.js +1 -1
  325. package/dist/components/ui-aside-panel.js +1 -1
  326. package/dist/components/ui-badge.js +1 -1
  327. package/dist/components/ui-breadcrumb-item.js +1 -1
  328. package/dist/components/ui-breadcrumb.js +1 -1
  329. package/dist/components/ui-button-toggle-group.js +1 -1
  330. package/dist/components/ui-button.js +1 -1
  331. package/dist/components/ui-callout-banner.js +1 -1
  332. package/dist/components/ui-card.js +1 -1
  333. package/dist/components/ui-carousel.js +1 -1
  334. package/dist/components/ui-code-editor.js +1 -1
  335. package/dist/components/ui-code-preview.js +1 -1
  336. package/dist/components/ui-color-picker.js +1 -1
  337. package/dist/components/ui-command-palette.js +1 -1
  338. package/dist/components/ui-dialog-box.js +1 -1
  339. package/dist/components/ui-dock-host.js +1 -1
  340. package/dist/components/ui-dock.js +1 -1
  341. package/dist/components/ui-drag-drop.js +1 -1
  342. package/dist/components/ui-empty-state.js +1 -1
  343. package/dist/components/ui-fab-item.js +1 -1
  344. package/dist/components/ui-fab.js +1 -1
  345. package/dist/components/ui-file-upload.js +1 -1
  346. package/dist/components/ui-horizontal-nav.js +1 -1
  347. package/dist/components/ui-knob.js +1 -1
  348. package/dist/components/{ui-color-controller.d.ts → ui-label.d.ts} +4 -4
  349. package/dist/components/ui-label.js +1 -0
  350. package/dist/components/ui-library.js +1 -1
  351. package/dist/components/ui-list.js +1 -1
  352. package/dist/components/ui-masonry.js +1 -1
  353. package/dist/components/ui-meter-group.js +1 -1
  354. package/dist/components/ui-navigation-bar.js +1 -1
  355. package/dist/components/ui-navigation-item.js +1 -1
  356. package/dist/components/ui-number-input.js +1 -1
  357. package/dist/components/ui-otp-input.js +1 -1
  358. package/dist/components/ui-panel.js +1 -1
  359. package/dist/components/ui-pattern-input.js +1 -1
  360. package/dist/components/ui-popover.js +1 -1
  361. package/dist/components/ui-progress.js +1 -1
  362. package/dist/components/ui-scroll-top.js +1 -1
  363. package/dist/components/ui-smart-stepper.js +1 -1
  364. package/dist/components/ui-snackbar.js +1 -1
  365. package/dist/components/ui-speed-dial.js +1 -1
  366. package/dist/components/ui-speedometer.js +1 -1
  367. package/dist/components/ui-splitter.js +1 -1
  368. package/dist/components/ui-step.js +1 -1
  369. package/dist/components/ui-stepper.js +1 -1
  370. package/dist/components/ui-tabs.js +1 -1
  371. package/dist/components/ui-timeline.js +1 -1
  372. package/dist/components/ui-timer.js +1 -1
  373. package/dist/components/ui-toolbar.js +1 -1
  374. package/dist/components/ui-top-bar.js +1 -1
  375. package/dist/components/ui-transfer-list.js +1 -1
  376. package/dist/components/ui-tree.js +1 -1
  377. package/dist/components/ui-workspace-manager.js +1 -1
  378. package/dist/esm/category-section.entry.js +2 -2
  379. package/dist/esm/dom-DFBTWhGw.js +262 -0
  380. package/dist/esm/exploration-project-tailwind.js +3 -3
  381. package/dist/esm/{index-DUsoYu9r.js → index-Dqu2zaH1.js} +1 -1
  382. package/dist/esm/layout-manager.entry.js +3 -3
  383. package/dist/esm/library-card.entry.js +2 -2
  384. package/dist/esm/lm-container_2.entry.js +2 -2
  385. package/dist/esm/lm-panel_3.entry.js +4 -4
  386. package/dist/esm/loader.js +3 -3
  387. package/dist/esm/my-component.entry.js +1 -1
  388. package/dist/esm/my-step.entry.js +2 -2
  389. package/dist/esm/nav-bar.entry.js +4 -4
  390. package/dist/esm/smart-step.entry.js +3 -3
  391. package/dist/esm/timeline-item.entry.js +2 -2
  392. package/dist/esm/ui-accordion_11.entry.js +132 -50
  393. package/dist/esm/ui-advanced-data-table.entry.js +2 -2
  394. package/dist/esm/ui-anchor.entry.js +2 -2
  395. package/dist/esm/ui-animate-on-scroll.entry.js +3 -3
  396. package/dist/esm/ui-aside-panel.entry.js +10 -11
  397. package/dist/esm/ui-avatar-group_5.entry.js +1688 -0
  398. package/dist/esm/ui-breadcrumb-item.entry.js +3 -3
  399. package/dist/esm/ui-breadcrumb.entry.js +1 -1
  400. package/dist/esm/ui-callout-banner.entry.js +2 -2
  401. package/dist/esm/ui-card.entry.js +4 -3
  402. package/dist/esm/ui-carousel.entry.js +1 -1
  403. package/dist/esm/ui-checkbox.entry.js +3 -3
  404. package/dist/esm/ui-code-editor.entry.js +2 -2
  405. package/dist/esm/ui-code-preview.entry.js +2 -2
  406. package/dist/esm/ui-color-picker.entry.js +256 -22
  407. package/dist/esm/ui-command-palette.entry.js +1 -1
  408. package/dist/esm/ui-dialog-box.entry.js +85 -11
  409. package/dist/esm/ui-dialog-content.entry.js +1 -1
  410. package/dist/esm/ui-dialog-footer_2.entry.js +1 -1
  411. package/dist/esm/ui-divider.entry.js +1 -1
  412. package/dist/esm/ui-dock-host.entry.js +4 -4
  413. package/dist/esm/ui-dock.entry.js +2 -2
  414. package/dist/esm/ui-drag-drop.entry.js +2 -2
  415. package/dist/esm/ui-dropdown_2.entry.js +104 -34
  416. package/dist/esm/ui-empty-state.entry.js +2 -2
  417. package/dist/esm/ui-fab-item.entry.js +2 -2
  418. package/dist/esm/ui-fab.entry.js +4 -4
  419. package/dist/esm/ui-file-upload.entry.js +143 -44
  420. package/dist/esm/ui-horizontal-nav.entry.js +2 -2
  421. package/dist/esm/ui-knob.entry.js +1 -1
  422. package/dist/esm/ui-label.entry.js +471 -0
  423. package/dist/esm/ui-library.entry.js +2 -2
  424. package/dist/esm/ui-list-group_2.entry.js +349 -60
  425. package/dist/esm/ui-list.entry.js +76 -42
  426. package/dist/esm/ui-masonry.entry.js +1 -1
  427. package/dist/esm/ui-meter-group.entry.js +5 -4
  428. package/dist/esm/ui-navigation-item.entry.js +5 -5
  429. package/dist/esm/ui-number-input.entry.js +7 -3
  430. package/dist/esm/ui-otp-input.entry.js +5 -5
  431. package/dist/esm/{ui-pagination_4.entry.js → ui-pagination_3.entry.js} +36 -506
  432. package/dist/esm/ui-panel.entry.js +1 -1
  433. package/dist/esm/ui-pattern-input.entry.js +46 -11
  434. package/dist/esm/ui-progress.entry.js +66 -9
  435. package/dist/esm/ui-range-slider.entry.js +2 -2
  436. package/dist/esm/ui-resizable-panel.entry.js +2 -2
  437. package/dist/esm/ui-scroll-top.entry.js +1 -1
  438. package/dist/esm/ui-smart-context-menu.entry.js +1 -1
  439. package/dist/esm/ui-smart-stepper.entry.js +2 -2
  440. package/dist/esm/ui-snackbar.entry.js +1 -1
  441. package/dist/esm/ui-speed-dial.entry.js +1 -1
  442. package/dist/esm/ui-speedometer.entry.js +28 -17
  443. package/dist/esm/ui-splitter.entry.js +1 -1
  444. package/dist/esm/ui-step.entry.js +2 -2
  445. package/dist/esm/ui-stepper.entry.js +1 -1
  446. package/dist/esm/ui-switch.entry.js +14 -13
  447. package/dist/esm/ui-tabs.entry.js +2 -2
  448. package/dist/esm/ui-tag.entry.js +58 -13
  449. package/dist/esm/ui-timeline.entry.js +10 -2
  450. package/dist/esm/ui-timer.entry.js +2 -2
  451. package/dist/esm/ui-toolbar.entry.js +2 -2
  452. package/dist/esm/ui-tooltip.entry.js +4 -4
  453. package/dist/esm/ui-top-bar.entry.js +1 -1
  454. package/dist/esm/ui-transfer-list.entry.js +6 -6
  455. package/dist/esm/ui-tree.entry.js +30 -15
  456. package/dist/esm/ui-workspace-manager.entry.js +2 -2
  457. package/dist/exploration-project-tailwind/exploration-project-tailwind.css +1 -1
  458. package/dist/exploration-project-tailwind/exploration-project-tailwind.esm.js +1 -1
  459. package/dist/exploration-project-tailwind/{p-7ba2258a.entry.js → p-024a299a.entry.js} +1 -1
  460. package/dist/exploration-project-tailwind/p-0a71896a.entry.js +1 -0
  461. package/dist/exploration-project-tailwind/{p-35296877.entry.js → p-0cdeb8d8.entry.js} +1 -1
  462. package/dist/exploration-project-tailwind/{p-a42fdc33.entry.js → p-139cefbc.entry.js} +1 -1
  463. package/dist/exploration-project-tailwind/{p-036d2a44.entry.js → p-198c83e5.entry.js} +1 -1
  464. package/dist/exploration-project-tailwind/p-236f47b1.entry.js +1 -0
  465. package/dist/exploration-project-tailwind/{p-81ebba11.entry.js → p-25530d0d.entry.js} +1 -1
  466. package/dist/exploration-project-tailwind/{p-41cd6bf0.entry.js → p-298f2057.entry.js} +1 -1
  467. package/dist/exploration-project-tailwind/{p-85e36111.entry.js → p-2b5a8e3e.entry.js} +1 -1
  468. package/dist/exploration-project-tailwind/{p-e8c6d395.entry.js → p-2b6aa7bc.entry.js} +1 -1
  469. package/dist/exploration-project-tailwind/{p-70bacda8.entry.js → p-2cfba753.entry.js} +1 -1
  470. package/dist/exploration-project-tailwind/{p-cbee2607.entry.js → p-2fe22958.entry.js} +1 -1
  471. package/dist/exploration-project-tailwind/{p-20ecc116.entry.js → p-3012e780.entry.js} +1 -1
  472. package/dist/exploration-project-tailwind/p-321c3f46.entry.js +1 -0
  473. package/dist/exploration-project-tailwind/{p-8b57fe4e.entry.js → p-3ab43638.entry.js} +1 -1
  474. package/dist/exploration-project-tailwind/p-3ad7e47e.entry.js +1 -0
  475. package/dist/exploration-project-tailwind/p-3b1ca826.entry.js +1 -0
  476. package/dist/exploration-project-tailwind/p-3ee8ddae.entry.js +1 -0
  477. package/dist/exploration-project-tailwind/{p-e22317c1.entry.js → p-3efb44c8.entry.js} +1 -1
  478. package/dist/exploration-project-tailwind/{p-36861546.entry.js → p-42e3bc28.entry.js} +1 -1
  479. package/dist/exploration-project-tailwind/p-4360331a.entry.js +1 -0
  480. package/dist/exploration-project-tailwind/{p-2f961934.entry.js → p-443de32b.entry.js} +1 -1
  481. package/dist/exploration-project-tailwind/{p-898dd0fa.entry.js → p-44d15451.entry.js} +1 -1
  482. package/dist/exploration-project-tailwind/{p-4288c158.entry.js → p-46071679.entry.js} +1 -1
  483. package/dist/exploration-project-tailwind/{p-a3f465d9.entry.js → p-497d6182.entry.js} +1 -1
  484. package/dist/exploration-project-tailwind/p-4ad8c55c.entry.js +1 -0
  485. package/dist/exploration-project-tailwind/{p-4aaa8e40.entry.js → p-4c46ac0b.entry.js} +1 -1
  486. package/dist/exploration-project-tailwind/{p-98e91da5.entry.js → p-5042ddaa.entry.js} +1 -1
  487. package/dist/exploration-project-tailwind/p-60190e0e.entry.js +1 -0
  488. package/dist/exploration-project-tailwind/p-60530874.entry.js +1 -0
  489. package/dist/exploration-project-tailwind/{p-200241f8.entry.js → p-6108565d.entry.js} +1 -1
  490. package/dist/exploration-project-tailwind/{p-fb4aca69.entry.js → p-62889cfe.entry.js} +1 -1
  491. package/dist/exploration-project-tailwind/{p-c02284ea.entry.js → p-66f71613.entry.js} +1 -1
  492. package/dist/exploration-project-tailwind/{p-7889bfc4.entry.js → p-67c440b2.entry.js} +1 -1
  493. package/dist/exploration-project-tailwind/{p-c1c8ac28.entry.js → p-6f09503f.entry.js} +1 -1
  494. package/dist/exploration-project-tailwind/p-721bdbc3.entry.js +1 -0
  495. package/dist/exploration-project-tailwind/p-747b02ea.entry.js +1 -0
  496. package/dist/exploration-project-tailwind/{p-c6fd72e1.entry.js → p-754cb046.entry.js} +1 -1
  497. package/dist/exploration-project-tailwind/{p-97af03cc.entry.js → p-7ed3bba2.entry.js} +1 -1
  498. package/dist/exploration-project-tailwind/{p-d59da767.entry.js → p-864cebb7.entry.js} +1 -1
  499. package/dist/exploration-project-tailwind/{p-4d73c143.entry.js → p-96ee3196.entry.js} +1 -1
  500. package/dist/exploration-project-tailwind/{p-54965530.entry.js → p-97086868.entry.js} +1 -1
  501. package/dist/exploration-project-tailwind/{p-d114a347.entry.js → p-9c5ced88.entry.js} +1 -1
  502. package/dist/exploration-project-tailwind/p-9d3044d4.entry.js +1 -0
  503. package/dist/exploration-project-tailwind/p-9e079be6.entry.js +1 -0
  504. package/dist/exploration-project-tailwind/{p-790556f0.entry.js → p-9e4c45f5.entry.js} +1 -1
  505. package/dist/exploration-project-tailwind/p-9eee7394.entry.js +1 -0
  506. package/dist/exploration-project-tailwind/p-DFBTWhGw.js +1 -0
  507. package/dist/exploration-project-tailwind/p-Dqu2zaH1.js +2 -0
  508. package/dist/exploration-project-tailwind/p-a7bdedc2.entry.js +1 -0
  509. package/dist/exploration-project-tailwind/{p-c87aeab6.entry.js → p-a8ec29de.entry.js} +1 -1
  510. package/dist/exploration-project-tailwind/{p-6ddbee42.entry.js → p-ae617f62.entry.js} +1 -1
  511. package/dist/exploration-project-tailwind/{p-05a436d3.entry.js → p-aef76052.entry.js} +1 -1
  512. package/dist/exploration-project-tailwind/p-b5f043fa.entry.js +1 -0
  513. package/dist/exploration-project-tailwind/p-b637b91b.entry.js +1 -0
  514. package/dist/exploration-project-tailwind/{p-d2e45c5e.entry.js → p-bc49a088.entry.js} +1 -1
  515. package/dist/exploration-project-tailwind/{p-6b838549.entry.js → p-bd9a631f.entry.js} +1 -1
  516. package/dist/exploration-project-tailwind/{p-e8ba0c95.entry.js → p-bf4b6767.entry.js} +1 -1
  517. package/dist/exploration-project-tailwind/p-c0fa400e.entry.js +1 -0
  518. package/dist/exploration-project-tailwind/{p-8578b616.entry.js → p-c4f3d990.entry.js} +1 -1
  519. package/dist/exploration-project-tailwind/p-c68ddb2f.entry.js +1 -0
  520. package/dist/exploration-project-tailwind/p-c79574c4.entry.js +1 -0
  521. package/dist/exploration-project-tailwind/p-c840098d.entry.js +1 -0
  522. package/dist/exploration-project-tailwind/{p-a1ad32a2.entry.js → p-c8663cbe.entry.js} +1 -1
  523. package/dist/exploration-project-tailwind/p-cb6e38a6.entry.js +1 -0
  524. package/dist/exploration-project-tailwind/p-cb9f2df1.entry.js +1 -0
  525. package/dist/exploration-project-tailwind/p-cfe8b696.entry.js +1 -0
  526. package/dist/exploration-project-tailwind/p-d00e13ae.entry.js +1 -0
  527. package/dist/exploration-project-tailwind/{p-c4ba7e52.entry.js → p-d01ed934.entry.js} +1 -1
  528. package/dist/exploration-project-tailwind/{p-aa85ff78.entry.js → p-d4e57d94.entry.js} +1 -1
  529. package/dist/exploration-project-tailwind/{p-ccb5c737.entry.js → p-d5bd3a3f.entry.js} +1 -1
  530. package/dist/exploration-project-tailwind/{p-45482d86.entry.js → p-d987cebe.entry.js} +1 -1
  531. package/dist/exploration-project-tailwind/p-d9ae77c0.entry.js +1 -0
  532. package/dist/exploration-project-tailwind/p-e9bae5c7.entry.js +1 -0
  533. package/dist/exploration-project-tailwind/p-f516fabc.entry.js +1 -0
  534. package/dist/exploration-project-tailwind/p-f68e2794.entry.js +1 -0
  535. package/dist/exploration-project-tailwind/{p-d30e24bd.entry.js → p-fa034f69.entry.js} +1 -1
  536. package/dist/types/components/aside-panel/aside-panel.d.ts +0 -3
  537. package/dist/types/components/avatar/avatar.d.ts +3 -0
  538. package/dist/types/components/avatar/types.d.ts +2 -0
  539. package/dist/types/components/badge/badge.d.ts +1 -0
  540. package/dist/types/components/color-picker/color-picker.d.ts +35 -2
  541. package/dist/types/components/dialog-box/dialog-box.d.ts +10 -0
  542. package/dist/types/components/dropdown/dropdown.d.ts +5 -0
  543. package/dist/types/components/file-upload/file-upload.d.ts +23 -6
  544. package/dist/types/components/label/label.d.ts +290 -0
  545. package/dist/types/components/label/types.d.ts +39 -0
  546. package/dist/types/components/list/list.d.ts +2 -1
  547. package/dist/types/components/list-group/list-group.d.ts +1 -0
  548. package/dist/types/components/list-item/list-item.d.ts +45 -17
  549. package/dist/types/components/pattern-input/pattern-input.d.ts +6 -0
  550. package/dist/types/components/popover/popover.d.ts +3 -0
  551. package/dist/types/components/progress/progress.d.ts +7 -0
  552. package/dist/types/components/range-slider/range-slider.d.ts +2 -2
  553. package/dist/types/components/rating/rating.d.ts +1 -0
  554. package/dist/types/components/skeleton/skeleton-loader.d.ts +1 -1
  555. package/dist/types/components/speedometer/speedometer.d.ts +1 -0
  556. package/dist/types/components/tag/tag.d.ts +4 -0
  557. package/dist/types/components/tree/tree.d.ts +1 -0
  558. package/dist/types/components/ui-navigation-bar/navigation-bar/navigation-bar.d.ts +1 -1
  559. package/dist/types/components.d.ts +742 -425
  560. package/dist/types/types/common.d.ts +2 -2
  561. package/dist/types/types/common.type.d.ts +2 -0
  562. package/dist/types/utils/dom.d.ts +4 -4
  563. package/package.json +4 -5
  564. package/dist/cjs/dom-oP1E4Rd3.js +0 -267
  565. package/dist/cjs/ui-avatar-group_3.cjs.entry.js +0 -634
  566. package/dist/cjs/ui-color-controller.cjs.entry.js +0 -150
  567. package/dist/cjs/ui-popover.cjs.entry.js +0 -517
  568. package/dist/cjs/ui-smart-location-dropdown.cjs.entry.js +0 -565
  569. package/dist/collection/components/color-controller/color-controller.css +0 -108
  570. package/dist/collection/components/color-controller/color-controller.js +0 -224
  571. package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.css +0 -357
  572. package/dist/collection/components/smart-location-dropdown/smart-location-dropdown.js +0 -1190
  573. package/dist/components/ui-color-controller.js +0 -1
  574. package/dist/components/ui-smart-location-dropdown.d.ts +0 -11
  575. package/dist/components/ui-smart-location-dropdown.js +0 -1
  576. package/dist/esm/dom-BMFah5q3.js +0 -262
  577. package/dist/esm/ui-avatar-group_3.entry.js +0 -630
  578. package/dist/esm/ui-color-controller.entry.js +0 -148
  579. package/dist/esm/ui-popover.entry.js +0 -515
  580. package/dist/esm/ui-smart-location-dropdown.entry.js +0 -563
  581. package/dist/exploration-project-tailwind/p-06f0c679.entry.js +0 -1
  582. package/dist/exploration-project-tailwind/p-0d31c9e9.entry.js +0 -1
  583. package/dist/exploration-project-tailwind/p-148e81df.entry.js +0 -1
  584. package/dist/exploration-project-tailwind/p-16bdd162.entry.js +0 -1
  585. package/dist/exploration-project-tailwind/p-2347d21b.entry.js +0 -1
  586. package/dist/exploration-project-tailwind/p-3d381f75.entry.js +0 -1
  587. package/dist/exploration-project-tailwind/p-4417a9d8.entry.js +0 -1
  588. package/dist/exploration-project-tailwind/p-44742ddd.entry.js +0 -1
  589. package/dist/exploration-project-tailwind/p-47e2a7ee.entry.js +0 -1
  590. package/dist/exploration-project-tailwind/p-4bef8bed.entry.js +0 -1
  591. package/dist/exploration-project-tailwind/p-4efd63ce.entry.js +0 -1
  592. package/dist/exploration-project-tailwind/p-5c835d90.entry.js +0 -1
  593. package/dist/exploration-project-tailwind/p-61717490.entry.js +0 -1
  594. package/dist/exploration-project-tailwind/p-717dad1f.entry.js +0 -1
  595. package/dist/exploration-project-tailwind/p-71d95bb1.entry.js +0 -1
  596. package/dist/exploration-project-tailwind/p-9bd14f69.entry.js +0 -1
  597. package/dist/exploration-project-tailwind/p-9fc06ff0.entry.js +0 -1
  598. package/dist/exploration-project-tailwind/p-BMFah5q3.js +0 -1
  599. package/dist/exploration-project-tailwind/p-DUsoYu9r.js +0 -2
  600. package/dist/exploration-project-tailwind/p-a27f59d2.entry.js +0 -1
  601. package/dist/exploration-project-tailwind/p-a7b07cf4.entry.js +0 -1
  602. package/dist/exploration-project-tailwind/p-bd89d060.entry.js +0 -1
  603. package/dist/exploration-project-tailwind/p-c63c522e.entry.js +0 -1
  604. package/dist/exploration-project-tailwind/p-c69dd43e.entry.js +0 -1
  605. package/dist/exploration-project-tailwind/p-d6ce9721.entry.js +0 -1
  606. package/dist/exploration-project-tailwind/p-dc92a343.entry.js +0 -1
  607. package/dist/exploration-project-tailwind/p-debede45.entry.js +0 -1
  608. package/dist/exploration-project-tailwind/p-e76318c7.entry.js +0 -1
  609. package/dist/exploration-project-tailwind/p-ea51c5d8.entry.js +0 -1
  610. package/dist/exploration-project-tailwind/p-eab5ad36.entry.js +0 -1
  611. package/dist/exploration-project-tailwind/p-f0bc5d7e.entry.js +0 -1
  612. package/dist/exploration-project-tailwind/p-f1beee72.entry.js +0 -1
  613. package/dist/exploration-project-tailwind/p-f543392f.entry.js +0 -1
  614. package/dist/exploration-project-tailwind/p-f61cfb7c.entry.js +0 -1
  615. package/dist/types/components/color-controller/color-controller.d.ts +0 -24
  616. package/dist/types/components/smart-location-dropdown/smart-location-dropdown.d.ts +0 -119
  617. package/dist/types/components/smart-location-dropdown/types.d.ts +0 -37
  618. /package/dist/collection/components/{smart-location-dropdown → label}/types.js +0 -0
@@ -1,4 +1,4 @@
1
- // Pattern Input Demo
1
+ // Pattern Input Demo
2
2
  export function initPatternInputDemo() {
3
3
  const section = document.getElementById('pattern-input');
4
4
  if (!section) return;
@@ -14,10 +14,11 @@ export function initPatternInputDemo() {
14
14
  <ui-button onclick="showDatePatterns()" variant="outline">Date & Time</ui-button>
15
15
  <ui-button onclick="showTechPatterns()" variant="outline">Tech & Network</ui-button>
16
16
  <ui-button onclick="showBusinessPatterns()" variant="outline">Finance & SKU</ui-button>
17
+ <ui-button onclick="showValidationErrors()" variant="outline">Validation</ui-button>
17
18
  </div>
18
19
 
19
20
  <div id="patternDemoContainer" style="margin-top: 20px;"></div>
20
- <div id="patternEventLog" style="margin-top: 20px; padding: 12px; background: #f9fafb; border-radius: 6px; font-family: monospace; font-size: 12px; max-height: 150px; overflow-y: auto;"></div>
21
+ <div id="patternEventLog" style="margin-top: 20px; padding: 12px; background:var(--bg-secondary,#f9fafb); border-radius: 6px; font-family: monospace; font-size: 12px; max-height: 150px; overflow-y: auto;"></div>
21
22
  `;
22
23
 
23
24
  const container = document.getElementById('patternDemoContainer');
@@ -32,17 +33,18 @@ export function initPatternInputDemo() {
32
33
 
33
34
  window.showInteractivePattern = function () {
34
35
  container.innerHTML = `
35
- <div style="background-color: white; border-radius: 8px; padding: 20px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);">
36
+ <div style="background-color:var(--bg-primary,white); border-radius: 8px; padding: 20px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);">
36
37
  <h3>🎮 Interactive Playground</h3>
37
38
 
38
39
  <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; margin-bottom: 20px;">
39
40
  <div>
40
41
  <label style="display: block; margin-bottom: 5px; font-weight: 500;">Pattern (# for digits):</label>
41
- <ui-input type="text" id="patString" value="(###) ###-####" onchange="updateInteractivePattern()" style="width: 100%; padding: 8px; border: 1px solid #d1d5db; border-radius: 4px; font-family: monospace;">
42
+ <ui-input type="text" id="patString" value="(###) ###-####" onchange="updateInteractivePattern()"
43
+ >
42
44
  </div>
43
45
  <div>
44
46
  <label style="display: block; margin-bottom: 5px; font-weight: 500;">Input Type:</label>
45
- <ui-dropdown id="patType" onchange="updateInteractivePattern()" style="width: 100%; padding: 8px; border: 1px solid #d1d5db; border-radius: 4px;">
47
+ <ui-dropdown id="patType" onchange="updateInteractivePattern()" >
46
48
  <option value="numeric">Numeric</option>
47
49
  <option value="alpha">Alpha</option>
48
50
  <option value="alphanumeric">Alphanumeric</option>
@@ -55,15 +57,15 @@ export function initPatternInputDemo() {
55
57
  </div>
56
58
  </div>
57
59
 
58
- <div style="padding: 40px; background-color: #f8fafc; border-radius: 8px; border: 1px dashed #cbd5e1; display: flex; flex-direction: column; align-items: center;">
60
+ <div style="padding: 40px; background-color:var(--bg-secondary,#f8fafc); border-radius: 8px; border: 1px dashed #cbd5e1; display: flex; flex-direction: column; align-items: center;">
59
61
  <div style="width: 100%; max-width: 350px;">
60
62
  <ui-pattern-input id="interactivePattern" label="Custom Pattern Input" placeholder="Type here..."></ui-pattern-input>
61
63
  </div>
62
64
  </div>
63
65
 
64
66
  <div style="margin-top: 20px; background: #1e293b; padding: 16px; border-radius: 8px; position: relative;">
65
- <ui-button onclick="copyPatternInputCode()" id="copyPatternInputBtn" style="position: absolute; top: 10px; right: 10px; background: rgba(255,255,255,0.1); color: white; border: none; padding: 4px 10px; border-radius: 4px; font-size: 11px; cursor: pointer; transition: all 0.2s;">Copy</ui-button>
66
- <code id="patternInputCodeBlock" style="color: #e2e8f0; font-family: monospace; font-size: 13px; display: block; overflow-x: auto; padding-right: 50px;">
67
+ <ui-button onclick="copyPatternInputCode()" id="copyPatternInputBtn" >Copy</ui-button>
68
+ <code id="patternInputCodeBlock" >
67
69
  &lt;ui-pattern-input ...&gt;&lt;/ui-pattern-input&gt;
68
70
  </code>
69
71
  </div>
@@ -124,7 +126,7 @@ export function initPatternInputDemo() {
124
126
  container.innerHTML = `
125
127
  <div class="demo-block">
126
128
  <h3>✨ Rich Features & Slots</h3>
127
- <p style="font-size: 13px; color: #64748b; margin-bottom: 20px;">Use slots and clearable props for highly functional inputs.</p>
129
+ <p style="font-size: 13px; color:var(--text-secondary,#64748b); margin-bottom: 20px;">Use slots and clearable props for highly functional inputs.</p>
128
130
  <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px;">
129
131
 
130
132
  <div class="demo-item">
@@ -135,7 +137,7 @@ export function initPatternInputDemo() {
135
137
  placeholder="SKU-1234"
136
138
  clearable="true"
137
139
  >
138
- <ui-icon slot="prefix" name="search" library="lucide" size="14px" style="margin-inline: 8px; color: #94a3b8;"></ui-icon>
140
+ <ui-icon slot="prefix" name="search" library="lucide" size="14px" style="margin-inline: 8px; color:var(--text-secondary,#64748b);"></ui-icon>
139
141
  </ui-pattern-input>
140
142
  </div>
141
143
 
@@ -146,7 +148,7 @@ export function initPatternInputDemo() {
146
148
  pattern="####.##"
147
149
  placeholder="00.00"
148
150
  >
149
- <span slot="suffix" style="padding-inline: 12px; font-weight: 600; font-size: 12px; color: #64748b; background: #f1f5f9; height: 100%; display: flex; align-items: center; border-inline-start: 1px solid #e2e8f0;">USD</span>
151
+ <span slot="suffix" style="padding-inline: 12px; font-weight: 600; font-size: 12px; color:var(--text-secondary,#64748b); background:var(--bg-tertiary,#f1f5f9); height: 100%; display: flex; align-items: center; border-inline-start: 1px solid #e2e8f0;">USD</span>
150
152
  </ui-pattern-input>
151
153
  </div>
152
154
 
@@ -157,7 +159,7 @@ export function initPatternInputDemo() {
157
159
  pattern="AAAAA-####"
158
160
  placeholder="SAVE-2024"
159
161
  >
160
- <ui-button slot="suffix" style="background: #10b981; color: white; border: none; padding: 0 12px; height: 100%; font-size: 11px; font-weight: 600; cursor: pointer; transition: background 0.2s;" onmouseover="this.style.background='#2563eb'" onmouseout="this.style.background='#10b981'">APPLY</ui-button>
162
+ <ui-button slot="suffix" onmouseover="this.style.background='#2563eb'" onmouseout="this.style.background='#10b981'">APPLY</ui-button>
161
163
  </ui-pattern-input>
162
164
  </div>
163
165
 
@@ -166,18 +168,31 @@ export function initPatternInputDemo() {
166
168
  `;
167
169
  };
168
170
 
171
+
169
172
  window.showContactPatterns = function () {
170
173
  container.innerHTML = `
171
174
  <div class="demo-block">
172
175
  <h3>Contact & Identity</h3>
173
- <p style="font-size: 13px; color: #64748b; margin-bottom: 20px;">Patterns for phone numbers and government IDs.</p>
176
+ <p style="font-size: 13px; color:var(--text-secondary,#64748b); margin-bottom: 20px;">Patterns for phone numbers and government IDs.</p>
174
177
  <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px;">
175
- <ui-pattern-input label="US Phone" pattern="(###) ###-####" input-type="numeric" placeholder="(555) 123-4567"></ui-pattern-input>
176
- <ui-pattern-input label="Intl Phone (Format A)" pattern="+## ### ### ####" input-type="numeric" placeholder="+44 123 456 7890"></ui-pattern-input>
177
- <ui-pattern-input label="Social Security (SSN)" pattern="###-##-####" input-type="numeric" placeholder="000-00-0000"></ui-pattern-input>
178
- <ui-pattern-input label="Canadian Postal Code" pattern="A#A #A#" input-type="alphanumeric" placeholder="K1A 0B1"></ui-pattern-input>
179
- <ui-pattern-input label="Driver License (Example)" pattern="A-####-####-##" input-type="alphanumeric" placeholder="X-1234-5678-90"></ui-pattern-input>
180
- <ui-pattern-input label="Passport ID" pattern="AAAAAAAAA" input-type="alphanumeric" placeholder="A12345678"></ui-pattern-input>
178
+ <ui-pattern-input label="US Phone" pattern="(###) ###-####" input-type="numeric" placeholder="(555) 123-4567"
179
+ validation-regex="^\\(\\d{3}\\) \\d{3}-\\d{4}$"
180
+ error-message="Enter a complete 10-digit US phone number"></ui-pattern-input>
181
+ <ui-pattern-input label="Intl Phone (Format A)" pattern="+## ### ### ####" input-type="numeric" placeholder="+44 123 456 7890"
182
+ validation-regex="^\\+\\d{2} \\d{3} \\d{3} \\d{4}$"
183
+ error-message="Enter a valid international phone number"></ui-pattern-input>
184
+ <ui-pattern-input label="Social Security (SSN)" pattern="###-##-####" input-type="numeric" placeholder="000-00-0000"
185
+ validation-regex="^(?!000|666|9\\d{2})\\d{3}-(?!00)\\d{2}-(?!0000)\\d{4}$"
186
+ error-message="Enter a valid SSN (###-##-####)"></ui-pattern-input>
187
+ <ui-pattern-input label="Canadian Postal Code" pattern="A#A #A#" input-type="alphanumeric" placeholder="K1A 0B1"
188
+ validation-regex="^[A-Za-z]\\d[A-Za-z] \\d[A-Za-z]\\d$"
189
+ error-message="Enter a valid postal code (e.g. K1A 0B1)"></ui-pattern-input>
190
+ <ui-pattern-input label="Driver License (Example)" pattern="A-####-####-##" input-type="alphanumeric" placeholder="X-1234-5678-90"
191
+ validation-regex="^[A-Za-z]-\\d{4}-\\d{4}-\\d{2}$"
192
+ error-message="Format must be X-####-####-##"></ui-pattern-input>
193
+ <ui-pattern-input label="Passport ID" pattern="AAAAAAAAA" input-type="alphanumeric" placeholder="A12345678"
194
+ validation-regex="^[A-Za-z][0-9]{8}$"
195
+ error-message="Must be 1 letter followed by 8 digits"></ui-pattern-input>
181
196
  </div>
182
197
  </div>
183
198
  `;
@@ -187,14 +202,26 @@ export function initPatternInputDemo() {
187
202
  container.innerHTML = `
188
203
  <div class="demo-block">
189
204
  <h3>Date & Time Formats</h3>
190
- <p style="font-size: 13px; color: #64748b; margin-bottom: 20px;">Auto-formatting for temporal data input.</p>
205
+ <p style="font-size: 13px; color:var(--text-secondary,#64748b); margin-bottom: 20px;">Auto-formatting for temporal data input.</p>
191
206
  <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px;">
192
- <ui-pattern-input label="Date (MM/DD/YYYY)" pattern="##/##/####" input-type="numeric" placeholder="12/31/2024"></ui-pattern-input>
193
- <ui-pattern-input label="Date (DD-MM-YYYY)" pattern="##-##-####" input-type="numeric" placeholder="31-12-2024"></ui-pattern-input>
194
- <ui-pattern-input label="Date (YYYY/MM/DD)" pattern="####/##/##" input-type="numeric" placeholder="2024/12/31"></ui-pattern-input>
195
- <ui-pattern-input label="Time (12h)" pattern="##:##" input-type="numeric" placeholder="12:30"></ui-pattern-input>
196
- <ui-pattern-input label="Time (24h with seconds)" pattern="##:##:##" input-type="numeric" placeholder="14:30:59"></ui-pattern-input>
197
- <ui-pattern-input label="Month/Year" pattern="##/####" input-type="numeric" placeholder="12/2025"></ui-pattern-input>
207
+ <ui-pattern-input label="Date (MM/DD/YYYY)" pattern="##/##/####" input-type="numeric" placeholder="12/31/2024"
208
+ validation-regex="^(0[1-9]|1[0-2])/(0[1-9]|[12]\\d|3[01])/\\d{4}$"
209
+ error-message="Enter a valid date (MM/DD/YYYY)"></ui-pattern-input>
210
+ <ui-pattern-input label="Date (DD-MM-YYYY)" pattern="##-##-####" input-type="numeric" placeholder="31-12-2024"
211
+ validation-regex="^(0[1-9]|[12]\\d|3[01])-(0[1-9]|1[0-2])-\\d{4}$"
212
+ error-message="Enter a valid date (DD-MM-YYYY)"></ui-pattern-input>
213
+ <ui-pattern-input label="Date (YYYY/MM/DD)" pattern="####/##/##" input-type="numeric" placeholder="2024/12/31"
214
+ validation-regex="^\\d{4}/(0[1-9]|1[0-2])/(0[1-9]|[12]\\d|3[01])$"
215
+ error-message="Enter a valid date (YYYY/MM/DD)"></ui-pattern-input>
216
+ <ui-pattern-input label="Time (12h)" pattern="##:##" input-type="numeric" placeholder="12:30"
217
+ validation-regex="^(0[1-9]|1[0-2]):[0-5]\\d$"
218
+ error-message="Enter a valid 12-hour time (01:00–12:59)"></ui-pattern-input>
219
+ <ui-pattern-input label="Time (24h with seconds)" pattern="##:##:##" input-type="numeric" placeholder="14:30:59"
220
+ validation-regex="^([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$"
221
+ error-message="Enter a valid time (HH:MM:SS, 00:00:00–23:59:59)"></ui-pattern-input>
222
+ <ui-pattern-input label="Month/Year" pattern="##/####" input-type="numeric" placeholder="12/2025"
223
+ validation-regex="^(0[1-9]|1[0-2])/\\d{4}$"
224
+ error-message="Enter a valid month/year (MM/YYYY)"></ui-pattern-input>
198
225
  </div>
199
226
  </div>
200
227
  `;
@@ -204,14 +231,26 @@ export function initPatternInputDemo() {
204
231
  container.innerHTML = `
205
232
  <div class="demo-block">
206
233
  <h3>Technology & Network</h3>
207
- <p style="font-size: 13px; color: #64748b; margin-bottom: 20px;">Patterns for IP addresses, MACs, and color keys.</p>
234
+ <p style="font-size: 13px; color:var(--text-secondary,#64748b); margin-bottom: 20px;">Patterns for IP addresses, MACs, and color keys.</p>
208
235
  <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px;">
209
- <ui-pattern-input label="IPv4 Address" pattern="###.###.###.###" input-type="numeric" placeholder="192.168.001.001"></ui-pattern-input>
210
- <ui-pattern-input label="MAC Address" pattern="AA:AA:AA:AA:AA:AA" input-type="alphanumeric" placeholder="00:1A:2B:3C:4D:5E"></ui-pattern-input>
211
- <ui-pattern-input label="Hex Color" pattern="#AAAAAA" allowed-chars="^[0-9A-Fa-f]*$" input-type="custom" placeholder="#10b981"></ui-pattern-input>
212
- <ui-pattern-input label="UUID / GUID" pattern="AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA" input-type="alphanumeric" placeholder="550e8400-e29b-..."></ui-pattern-input>
213
- <ui-pattern-input label="License Key" pattern="AAAA-AAAA-AAAA-AAAA" input-type="alphanumeric" placeholder="ABCD-EFGH-1234-5678"></ui-pattern-input>
214
- <ui-pattern-input label="Port Number" pattern="#####" input-type="numeric" placeholder="8080"></ui-pattern-input>
236
+ <ui-pattern-input label="IPv4 Address" pattern="###.###.###.###" input-type="numeric" placeholder="192.168.001.001"
237
+ validation-regex="^(25[0-5]|2[0-4]\\d|[01]\\d\\d)\\.(25[0-5]|2[0-4]\\d|[01]\\d\\d)\\.(25[0-5]|2[0-4]\\d|[01]\\d\\d)\\.(25[0-5]|2[0-4]\\d|[01]\\d\\d)$"
238
+ error-message="Each octet must be 000–255" helper-text="e.g. 192.168.001.001"></ui-pattern-input>
239
+ <ui-pattern-input label="MAC Address" pattern="AA:AA:AA:AA:AA:AA" input-type="alphanumeric" placeholder="00:1A:2B:3C:4D:5E"
240
+ validation-regex="^[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}$"
241
+ error-message="Enter a valid MAC address"></ui-pattern-input>
242
+ <ui-pattern-input label="Hex Color" pattern="#AAAAAA" allowed-chars="^[0-9A-Fa-f]*$" input-type="custom" placeholder="#10b981"
243
+ validation-regex="^#[0-9A-Fa-f]{6}$"
244
+ error-message="Enter a valid 6-digit hex color"></ui-pattern-input>
245
+ <ui-pattern-input label="UUID / GUID" pattern="AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA" input-type="alphanumeric" placeholder="550e8400-e29b-41d4-a716-446655440000"
246
+ validation-regex="^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$"
247
+ error-message="Enter a valid UUID"></ui-pattern-input>
248
+ <ui-pattern-input label="License Key" pattern="AAAA-AAAA-AAAA-AAAA" input-type="alphanumeric" placeholder="ABCD-EFGH-1234-5678"
249
+ validation-regex="^[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}$"
250
+ error-message="License key must be XXXX-XXXX-XXXX-XXXX"></ui-pattern-input>
251
+ <ui-pattern-input label="Port Number" pattern="#####" input-type="numeric" placeholder="8080"
252
+ validation-regex="^([0-9]{1,4}|[0-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$"
253
+ error-message="Port must be 0–65535" helper-text="Valid range: 0–65535"></ui-pattern-input>
215
254
  </div>
216
255
  </div>
217
256
  `;
@@ -221,17 +260,216 @@ export function initPatternInputDemo() {
221
260
  container.innerHTML = `
222
261
  <div class="demo-block">
223
262
  <h3>Finance, Business & SKU</h3>
224
- <p style="font-size: 13px; color: #64748b; margin-bottom: 20px;">Standard business formats and product codes.</p>
263
+ <p style="font-size: 13px; color:var(--text-secondary,#64748b); margin-bottom: 20px;">Standard business formats and product codes.</p>
225
264
  <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px;">
226
- <ui-pattern-input label="Credit Card" pattern="#### #### #### ####" input-type="numeric" placeholder="4532 1234 5678 9123"></ui-pattern-input>
227
- <ui-pattern-input label="CVV / CVC" pattern="###" input-type="numeric" placeholder="123"></ui-pattern-input>
228
- <ui-pattern-input label="Bank Routing (US)" pattern="####-####-#" input-type="numeric" placeholder="1234-5678-9"></ui-pattern-input>
229
- <ui-pattern-input label="Short IBAN (Example)" pattern="AA## #### #### #### ####" input-type="alphanumeric" placeholder="DE89 3704 ..."></ui-pattern-input>
230
- <ui-pattern-input label="Product SKU" pattern="AAA-####-AA" input-type="alphanumeric" placeholder="PRD-2024-XL"></ui-pattern-input>
231
- <ui-pattern-input label="Order ID" pattern="#-######-###" input-type="numeric" placeholder="1-453920-888"></ui-pattern-input>
265
+ <ui-pattern-input label="Credit Card" pattern="#### #### #### ####" input-type="numeric" placeholder="4532 1234 5678 9123"
266
+ validation-regex="^\\d{4} \\d{4} \\d{4} \\d{4}$"
267
+ error-message="Enter a complete 16-digit card number"></ui-pattern-input>
268
+ <ui-pattern-input label="CVV / CVC" pattern="###" input-type="numeric" placeholder="123"
269
+ validation-regex="^\\d{3}$"
270
+ error-message="CVV must be exactly 3 digits"></ui-pattern-input>
271
+ <ui-pattern-input label="Bank Routing (US)" pattern="####-####-#" input-type="numeric" placeholder="1234-5678-9"
272
+ validation-regex="^\\d{4}-\\d{4}-\\d$"
273
+ error-message="Enter a valid routing number (####-####-#)"></ui-pattern-input>
274
+ <ui-pattern-input label="Short IBAN (Example)" pattern="AA## #### #### #### ####" input-type="alphanumeric" placeholder="DE89 3704 0044 0532 0130 00"
275
+ validation-regex="^[A-Za-z]{2}\\d{2} \\d{4} \\d{4} \\d{4} \\d{4}$"
276
+ error-message="Format must be CC## #### #### #### ####"></ui-pattern-input>
277
+ <ui-pattern-input label="Product SKU" pattern="AAA-####-AA" input-type="alphanumeric" placeholder="PRD-2024-XL"
278
+ validation-regex="^[A-Za-z]{3}-\\d{4}-[A-Za-z]{2}$"
279
+ error-message="Format must be AAA-####-AA (e.g. PRD-2024-XL)"></ui-pattern-input>
280
+ <ui-pattern-input label="Order ID" pattern="#-######-###" input-type="numeric" placeholder="1-453920-888"
281
+ validation-regex="^\\d-\\d{6}-\\d{3}$"
282
+ error-message="Format must be #-######-###"></ui-pattern-input>
283
+ </div>
284
+ </div>
285
+ `;
286
+ };
287
+
288
+ window.showValidationErrors = function () {
289
+ container.innerHTML = `
290
+ <div class="demo-block">
291
+ <h3>Validation States</h3>
292
+ <p style="font-size:13px;color:var(--text-secondary,#64748b);margin-bottom:24px;">
293
+ Use <code>error-message</code>, <code>success-message</code>, <code>required</code>, and
294
+ <code>validation-regex</code> to drive validation feedback.
295
+ </p>
296
+
297
+ <div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-bottom:32px;">
298
+
299
+ <div>
300
+ <h4 style="margin:0 0 8px;font-size:12px;font-weight:700;color:var(--text-secondary,#64748b);text-transform:uppercase;letter-spacing:.05em;">Static Error</h4>
301
+ <p style="font-size:13px;color:var(--text-secondary,#64748b);margin:0 0 12px;">Set <code>error-message</code> directly to force an error state.</p>
302
+ <ui-pattern-input
303
+ label="Credit Card"
304
+ pattern="#### #### #### ####"
305
+ input-type="numeric"
306
+ error-message="Card number must be 16 digits"
307
+ placeholder="4532 1234 5678 9123"
308
+ ></ui-pattern-input>
309
+ </div>
310
+
311
+ <div>
312
+ <h4 style="margin:0 0 8px;font-size:12px;font-weight:700;color:var(--text-secondary,#64748b);text-transform:uppercase;letter-spacing:.05em;">Static Success</h4>
313
+ <p style="font-size:13px;color:var(--text-secondary,#64748b);margin:0 0 12px;">Set <code>success-message</code> to show a confirmed valid state.</p>
314
+ <ui-pattern-input
315
+ label="Phone Number"
316
+ pattern="(###) ###-####"
317
+ input-type="numeric"
318
+ success-message="Phone number verified"
319
+ placeholder="(555) 123-4567"
320
+ ></ui-pattern-input>
321
+ </div>
322
+
323
+ <div>
324
+ <h4 style="margin:0 0 8px;font-size:12px;font-weight:700;color:var(--text-secondary,#64748b);text-transform:uppercase;letter-spacing:.05em;">Required + Helper Text</h4>
325
+ <p style="font-size:13px;color:var(--text-secondary,#64748b);margin:0 0 12px;">Shows asterisk and helper below the field. Error triggers on blur when empty.</p>
326
+ <ui-pattern-input
327
+ label="SSN"
328
+ pattern="###-##-####"
329
+ input-type="numeric"
330
+ required="true"
331
+ helper-text="Your Social Security Number"
332
+ placeholder="000-00-0000"
333
+ ></ui-pattern-input>
334
+ </div>
335
+
336
+ <div>
337
+ <h4 style="margin:0 0 8px;font-size:12px;font-weight:700;color:var(--text-secondary,#64748b);text-transform:uppercase;letter-spacing:.05em;">Regex Validation — Live</h4>
338
+ <p style="font-size:13px;color:var(--text-secondary,#64748b);margin:0 0 12px;">Validates on blur. Must be exactly 10 digits (complete US phone).</p>
339
+ <ui-pattern-input
340
+ id="pi-regex-phone"
341
+ label="US Phone (must be complete)"
342
+ pattern="(###) ###-####"
343
+ input-type="numeric"
344
+ validation-regex="^\\(\\d{3}\\) \\d{3}-\\d{4}$"
345
+ error-message="Please enter a complete 10-digit phone number"
346
+ success-message="Looks good!"
347
+ placeholder="(555) 123-4567"
348
+ ></ui-pattern-input>
349
+ </div>
350
+
351
+ <div>
352
+ <h4 style="margin:0 0 8px;font-size:12px;font-weight:700;color:var(--text-secondary,#64748b);text-transform:uppercase;letter-spacing:.05em;">Regex Validation — Date</h4>
353
+ <p style="font-size:13px;color:var(--text-secondary,#64748b);margin:0 0 12px;">Must match MM/DD/YYYY with basic month/day range check.</p>
354
+ <ui-pattern-input
355
+ id="pi-regex-date"
356
+ label="Date of Birth"
357
+ pattern="##/##/####"
358
+ input-type="numeric"
359
+ validation-regex="^(0[1-9]|1[0-2])/(0[1-9]|[12]\\d|3[01])/\\d{4}$"
360
+ error-message="Enter a valid date in MM/DD/YYYY format"
361
+ success-message="Valid date"
362
+ placeholder="12/31/1990"
363
+ ></ui-pattern-input>
364
+ </div>
365
+
366
+ <div>
367
+ <h4 style="margin:0 0 8px;font-size:12px;font-weight:700;color:var(--text-secondary,#64748b);text-transform:uppercase;letter-spacing:.05em;">Disabled</h4>
368
+ <p style="font-size:13px;color:var(--text-secondary,#64748b);margin:0 0 12px;">Disabled inputs ignore all interaction and show reduced opacity.</p>
369
+ <ui-pattern-input
370
+ label="Account Number"
371
+ pattern="####-####-####"
372
+ input-type="numeric"
373
+ value="1234-5678-9012"
374
+ disabled="true"
375
+ helper-text="Read-only — set by your account"
376
+ ></ui-pattern-input>
377
+ </div>
378
+
379
+ </div>
380
+
381
+ <!-- Live form validation scenario -->
382
+ <div style="padding:24px;background:var(--bg-secondary,#f8fafc);border-radius:14px;border:1px solid var(--border-default,#e5e7eb);">
383
+ <h4 style="margin:0 0 4px;font-size:14px;font-weight:700;color:var(--text-primary,#111827);">Form Validation Flow</h4>
384
+ <p style="margin:0 0 20px;font-size:13px;color:var(--text-secondary,#64748b);">Click <strong>Submit</strong> to trigger validation on all fields at once. Errors clear as you correct each field.</p>
385
+ <div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;">
386
+ <ui-pattern-input id="pf-phone" label="Phone *" pattern="(###) ###-####" input-type="numeric" required="true" placeholder="(555) 123-4567" validation-regex="^\\(\\d{3}\\) \\d{3}-\\d{4}$" error-message="Complete phone required"></ui-pattern-input>
387
+ <ui-pattern-input id="pf-dob" label="Date of Birth *" pattern="##/##/####" input-type="numeric" required="true" placeholder="MM/DD/YYYY" validation-regex="^(0[1-9]|1[0-2])/(0[1-9]|[12]\\d|3[01])/\\d{4}$" error-message="Enter a valid date"></ui-pattern-input>
388
+ <ui-pattern-input id="pf-card" label="Card Number *" pattern="#### #### #### ####" input-type="numeric" required="true" placeholder="4532 1234 5678 9123" validation-regex="^\\d{4} \\d{4} \\d{4} \\d{4}$" error-message="16-digit card number required"></ui-pattern-input>
389
+ <ui-pattern-input id="pf-zip" label="ZIP Code *" pattern="#####" input-type="numeric" required="true" placeholder="90210" validation-regex="^\\d{5}$" error-message="5-digit ZIP required"></ui-pattern-input>
390
+ </div>
391
+ <div style="display:flex;align-items:center;gap:12px;margin-top:20px;">
392
+ <ui-button id="pi-form-submit" variant="primary" label="Submit"></ui-button>
393
+ <ui-button id="pi-form-reset" variant="ghost" label="Reset"></ui-button>
394
+ <span id="pi-form-status" style="font-size:13px;font-weight:600;"></span>
395
+ </div>
396
+ </div>
397
+
398
+ <!-- Event log -->
399
+ <div style="margin-top:24px;">
400
+ <div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;">
401
+ <h4 style="margin:0;font-size:12px;font-weight:700;color:var(--text-secondary,#64748b);text-transform:uppercase;letter-spacing:.05em;">Validation Events</h4>
402
+ <ui-button id="pi-val-clear-log" size="xs" variant="ghost" label="Clear"></ui-button>
403
+ </div>
404
+ <div id="pi-val-log" style="padding:12px 16px;background:var(--bg-primary,#fff);border-radius:10px;border:1px solid var(--border-default,#e2e8f0);font-family:monospace;font-size:12px;height:140px;overflow-y:auto;">
405
+ <span style="color:var(--text-secondary,#64748b);font-style:italic;">Interact with the fields above to see events...</span>
406
+ </div>
232
407
  </div>
233
408
  </div>
234
409
  `;
410
+
411
+ const valLog = container.querySelector('#pi-val-log');
412
+ const addValLog = (msg, color) => {
413
+ const empty = valLog.querySelector('span[style*="italic"]');
414
+ if (empty) empty.remove();
415
+ const d = document.createElement('div');
416
+ d.style.cssText = 'padding:3px 0;border-bottom:1px solid var(--border-subtle,rgba(0,0,0,0.04));';
417
+ d.innerHTML = `<span style="color:${color};font-weight:700;">[${new Date().toLocaleTimeString()}]</span> ${msg}`;
418
+ valLog.prepend(d);
419
+ };
420
+
421
+ container.querySelector('#pi-val-clear-log')?.addEventListener('click', () => {
422
+ valLog.innerHTML = '<span style="color:var(--text-secondary,#64748b);font-style:italic;">Interact with the fields above to see events...</span>';
423
+ });
424
+
425
+ // Attach validation event listeners to live-regex fields
426
+ ['pi-regex-phone', 'pi-regex-date'].forEach(id => {
427
+ const el = container.querySelector('#' + id);
428
+ if (!el) return;
429
+ el.addEventListener('patternInputValidate', e => {
430
+ const { isValid, value } = e.detail;
431
+ addValLog(`#${id}: isValid=${isValid}, value="${value}"`, isValid ? '#10b981' : '#ef4444');
432
+ });
433
+ });
434
+
435
+ // Form submit / reset
436
+ const formFields = ['pf-phone', 'pf-dob', 'pf-card', 'pf-zip'];
437
+ const statusEl = container.querySelector('#pi-form-status');
438
+
439
+ container.querySelector('#pi-form-submit')?.addEventListener('click', () => {
440
+ let allValid = true;
441
+ formFields.forEach(id => {
442
+ const el = container.querySelector('#' + id);
443
+ if (!el) return;
444
+ const raw = (el.value || '').replace(/\D/g, '');
445
+ const regexAttr = el.getAttribute('validation-regex');
446
+ const formatted = el.value || '';
447
+ const passes = regexAttr ? new RegExp(regexAttr).test(formatted) : raw.length > 0;
448
+ if (!passes) {
449
+ allValid = false;
450
+ // Trigger error by dispatching blur — or set errorMessage directly
451
+ el.errorMessage = el.getAttribute('error-message');
452
+ } else {
453
+ el.errorMessage = '';
454
+ el.successMessage = 'Looks good!';
455
+ }
456
+ });
457
+ statusEl.style.color = allValid ? '#10b981' : '#ef4444';
458
+ statusEl.textContent = allValid ? '\u2713 All fields valid — ready to submit' : 'Please fix the errors above';
459
+ addValLog(`Form submit: ${allValid ? 'VALID' : 'INVALID'}`, allValid ? '#10b981' : '#ef4444');
460
+ });
461
+
462
+ container.querySelector('#pi-form-reset')?.addEventListener('click', () => {
463
+ formFields.forEach(id => {
464
+ const el = container.querySelector('#' + id);
465
+ if (!el) return;
466
+ el.value = '';
467
+ el.errorMessage = '';
468
+ el.successMessage = '';
469
+ });
470
+ statusEl.textContent = '';
471
+ addValLog('Form reset', '#94a3b8');
472
+ });
235
473
  };
236
474
 
237
475
  // Default view