@mhmo91/schmancy 0.8.4 → 0.9.2

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 (1396) hide show
  1. package/README.md +110 -1
  2. package/ai/animation.md +64 -0
  3. package/ai/area.md +35 -256
  4. package/ai/autocomplete.md +44 -162
  5. package/ai/avatar.md +47 -178
  6. package/ai/badge.md +41 -108
  7. package/ai/busy.md +25 -184
  8. package/ai/button.md +52 -150
  9. package/ai/card.md +42 -215
  10. package/ai/checkbox.md +32 -135
  11. package/ai/chips.md +73 -383
  12. package/ai/code-highlight.md +33 -226
  13. package/ai/content-drawer.md +65 -232
  14. package/ai/date-range.md +43 -198
  15. package/ai/details.md +48 -453
  16. package/ai/dialog.md +55 -164
  17. package/ai/directives.md +258 -405
  18. package/ai/divider.md +15 -137
  19. package/ai/dropdown.md +44 -235
  20. package/ai/form.md +41 -137
  21. package/ai/icons.md +31 -235
  22. package/ai/input.md +50 -210
  23. package/ai/lightbox.md +25 -370
  24. package/ai/list.md +51 -130
  25. package/ai/menu.md +25 -134
  26. package/ai/mixins.md +70 -0
  27. package/ai/nav-drawer.md +30 -184
  28. package/ai/navigation-bar.md +27 -184
  29. package/ai/navigation-rail.md +62 -630
  30. package/ai/notification.md +49 -183
  31. package/ai/progress.md +26 -65
  32. package/ai/radio-group.md +45 -189
  33. package/ai/select.md +49 -209
  34. package/ai/sheet.md +74 -506
  35. package/ai/steps.md +30 -392
  36. package/ai/store.md +60 -247
  37. package/ai/surface.md +58 -245
  38. package/ai/table.md +56 -330
  39. package/ai/tabs.md +31 -176
  40. package/ai/textarea.md +48 -232
  41. package/ai/theme.md +40 -1089
  42. package/ai/tooltip.md +35 -146
  43. package/ai/tree.md +45 -271
  44. package/ai/typography.md +43 -296
  45. package/custom-elements.json +10955 -0
  46. package/dist/ai/animation.md +64 -0
  47. package/dist/ai/area.md +35 -256
  48. package/dist/ai/autocomplete.md +44 -162
  49. package/dist/ai/avatar.md +47 -178
  50. package/dist/ai/badge.md +41 -108
  51. package/dist/ai/busy.md +25 -184
  52. package/dist/ai/button.md +52 -150
  53. package/dist/ai/card.md +42 -215
  54. package/dist/ai/checkbox.md +32 -135
  55. package/dist/ai/chips.md +73 -383
  56. package/dist/ai/code-highlight.md +33 -226
  57. package/dist/ai/content-drawer.md +65 -232
  58. package/dist/ai/date-range.md +43 -198
  59. package/dist/ai/details.md +48 -453
  60. package/dist/ai/dialog.md +55 -164
  61. package/dist/ai/directives.md +258 -405
  62. package/dist/ai/divider.md +15 -137
  63. package/dist/ai/dropdown.md +44 -235
  64. package/dist/ai/form.md +41 -137
  65. package/dist/ai/icons.md +31 -235
  66. package/dist/ai/input.md +50 -210
  67. package/dist/ai/lightbox.md +25 -370
  68. package/dist/ai/list.md +51 -130
  69. package/dist/ai/menu.md +25 -134
  70. package/dist/ai/mixins.md +70 -0
  71. package/dist/ai/nav-drawer.md +30 -184
  72. package/dist/ai/navigation-bar.md +27 -184
  73. package/dist/ai/navigation-rail.md +62 -630
  74. package/dist/ai/notification.md +49 -183
  75. package/dist/ai/progress.md +26 -65
  76. package/dist/ai/radio-group.md +45 -189
  77. package/dist/ai/select.md +49 -209
  78. package/dist/ai/sheet.md +74 -506
  79. package/dist/ai/steps.md +30 -392
  80. package/dist/ai/store.md +60 -247
  81. package/dist/ai/surface.md +58 -245
  82. package/dist/ai/table.md +56 -330
  83. package/dist/ai/tabs.md +31 -176
  84. package/dist/ai/textarea.md +48 -232
  85. package/dist/ai/theme.md +40 -1089
  86. package/dist/ai/tooltip.md +35 -146
  87. package/dist/ai/tree.md +45 -271
  88. package/dist/ai/typography.md +43 -296
  89. package/dist/animation-BK-8BwY8.js +173 -0
  90. package/dist/animation-BK-8BwY8.js.map +1 -0
  91. package/dist/animation-CO_Csq84.cjs +16 -0
  92. package/dist/animation-CO_Csq84.cjs.map +1 -0
  93. package/dist/area-1h9xEpTc.cjs +12 -0
  94. package/dist/area-1h9xEpTc.cjs.map +1 -0
  95. package/dist/area-DbBcfm5p.js +590 -0
  96. package/dist/area-DbBcfm5p.js.map +1 -0
  97. package/dist/area.cjs +1 -2
  98. package/dist/area.js +2 -29
  99. package/dist/audio-DtYYgzYD.cjs +1 -0
  100. package/dist/audio-DtYYgzYD.cjs.map +1 -0
  101. package/dist/audio-kz8UgPTO.js +335 -0
  102. package/dist/audio-kz8UgPTO.js.map +1 -0
  103. package/dist/audio.cjs +1 -2
  104. package/dist/audio.js +3 -9
  105. package/dist/autocomplete-DDVsegep.js +378 -0
  106. package/dist/autocomplete-DDVsegep.js.map +1 -0
  107. package/dist/autocomplete-OE70CcYP.cjs +111 -0
  108. package/dist/autocomplete-OE70CcYP.cjs.map +1 -0
  109. package/dist/autocomplete.cjs +1 -2
  110. package/dist/autocomplete.js +1 -2
  111. package/dist/badge.cjs +1 -2
  112. package/dist/badge.js +2 -6
  113. package/dist/boat-Cf1oJ0ka.cjs +80 -0
  114. package/dist/boat-Cf1oJ0ka.cjs.map +1 -0
  115. package/dist/boat-T8Ov4-yA.js +347 -0
  116. package/dist/boat-T8Ov4-yA.js.map +1 -0
  117. package/dist/boat.cjs +1 -2
  118. package/dist/boat.js +2 -5
  119. package/dist/busy-BD6D5P-l.js +167 -0
  120. package/dist/busy-BD6D5P-l.js.map +1 -0
  121. package/dist/busy-DF9wztWL.cjs +134 -0
  122. package/dist/busy-DF9wztWL.cjs.map +1 -0
  123. package/dist/busy.cjs +1 -2
  124. package/dist/busy.js +1 -2
  125. package/dist/button.cjs +113 -2
  126. package/dist/button.cjs.map +1 -1
  127. package/dist/button.js +398 -5
  128. package/dist/button.js.map +1 -1
  129. package/dist/card-Csvu8UJ9.cjs +177 -0
  130. package/dist/card-Csvu8UJ9.cjs.map +1 -0
  131. package/dist/card-DM_miKMd.js +284 -0
  132. package/dist/card-DM_miKMd.js.map +1 -0
  133. package/dist/card.cjs +1 -2
  134. package/dist/card.js +1 -2
  135. package/dist/charts.cjs +112 -2
  136. package/dist/charts.cjs.map +1 -1
  137. package/dist/charts.js +368 -8
  138. package/dist/charts.js.map +1 -1
  139. package/dist/checkbox-BgGtMaMR.js +610 -0
  140. package/dist/checkbox-BgGtMaMR.js.map +1 -0
  141. package/dist/checkbox-sJujc_ga.cjs +39 -0
  142. package/dist/checkbox-sJujc_ga.cjs.map +1 -0
  143. package/dist/checkbox.cjs +1 -2
  144. package/dist/checkbox.js +2 -5
  145. package/dist/chips-BZaH4wez.js +645 -0
  146. package/dist/chips-BZaH4wez.js.map +1 -0
  147. package/dist/chips-D_e6wijp.cjs +253 -0
  148. package/dist/chips-D_e6wijp.cjs.map +1 -0
  149. package/dist/chips.cjs +1 -2
  150. package/dist/chips.js +3 -10
  151. package/dist/chunk-BCfY8kxB.cjs +1 -0
  152. package/dist/chunk-C_1VqBVD.js +11 -0
  153. package/dist/code-highlight-DlhERv_O.cjs +190 -0
  154. package/dist/code-highlight-DlhERv_O.cjs.map +1 -0
  155. package/dist/code-highlight-Q3cc6ukq.js +290 -0
  156. package/dist/code-highlight-Q3cc6ukq.js.map +1 -0
  157. package/dist/code-highlight.cjs +1 -2
  158. package/dist/code-highlight.js +2 -7
  159. package/dist/components-CRhkB3V2.js +730 -0
  160. package/dist/components-CRhkB3V2.js.map +1 -0
  161. package/dist/components-DnlEYYDs.cjs +73 -0
  162. package/dist/components-DnlEYYDs.cjs.map +1 -0
  163. package/dist/components.cjs +1 -2
  164. package/dist/components.js +2 -5
  165. package/dist/connectivity.cjs +59 -0
  166. package/dist/connectivity.cjs.map +1 -0
  167. package/dist/connectivity.js +86 -0
  168. package/dist/connectivity.js.map +1 -0
  169. package/dist/content-drawer.cjs +1 -2
  170. package/dist/content-drawer.js +2 -13
  171. package/dist/cursor-glow-Ah7VXSj7.js +46 -0
  172. package/dist/cursor-glow-Ah7VXSj7.js.map +1 -0
  173. package/dist/cursor-glow-DtSy_PJd.cjs +1 -0
  174. package/dist/cursor-glow-DtSy_PJd.cjs.map +1 -0
  175. package/dist/date-range-C0IYnvHF.js +946 -0
  176. package/dist/date-range-C0IYnvHF.js.map +1 -0
  177. package/dist/date-range-cymbTDnl.cjs +131 -0
  178. package/dist/date-range-cymbTDnl.cjs.map +1 -0
  179. package/dist/date-range-inline-0ENN4Plz.js +267 -0
  180. package/dist/date-range-inline-0ENN4Plz.js.map +1 -0
  181. package/dist/date-range-inline-Cfwt-ReH.cjs +43 -0
  182. package/dist/date-range-inline-Cfwt-ReH.cjs.map +1 -0
  183. package/dist/date-range-inline.cjs +1 -2
  184. package/dist/date-range-inline.js +2 -5
  185. package/dist/date-range.cjs +1 -2
  186. package/dist/date-range.js +2 -6
  187. package/dist/delay-D1dVP93u.js +346 -0
  188. package/dist/delay-D1dVP93u.js.map +1 -0
  189. package/dist/delay-D6mQLUp-.cjs +9 -0
  190. package/dist/delay-D6mQLUp-.cjs.map +1 -0
  191. package/dist/delay.cjs +1 -2
  192. package/dist/delay.js +2 -6
  193. package/dist/details-CPT_Mi4e.cjs +168 -0
  194. package/dist/details-CPT_Mi4e.cjs.map +1 -0
  195. package/dist/details-Cv4OOrVW.js +293 -0
  196. package/dist/details-Cv4OOrVW.js.map +1 -0
  197. package/dist/details.cjs +1 -2
  198. package/dist/details.js +2 -5
  199. package/dist/dialog-service-NZEvyEK-.js +193 -0
  200. package/dist/dialog-service-NZEvyEK-.js.map +1 -0
  201. package/dist/dialog-service-VnW4gkmE.cjs +1 -0
  202. package/dist/dialog-service-VnW4gkmE.cjs.map +1 -0
  203. package/dist/dialog.cjs +82 -2
  204. package/dist/dialog.cjs.map +1 -1
  205. package/dist/dialog.js +396 -9
  206. package/dist/dialog.js.map +1 -1
  207. package/dist/directives.cjs +108 -2
  208. package/dist/directives.cjs.map +1 -1
  209. package/dist/directives.js +1362 -14
  210. package/dist/directives.js.map +1 -1
  211. package/dist/discovery.cjs +1 -2
  212. package/dist/discovery.cjs.map +1 -1
  213. package/dist/discovery.js +61 -6
  214. package/dist/discovery.js.map +1 -1
  215. package/dist/divider-DDC-kND3.js +87 -0
  216. package/dist/divider-DDC-kND3.js.map +1 -0
  217. package/dist/divider-nZ_2to2N.cjs +57 -0
  218. package/dist/divider-nZ_2to2N.cjs.map +1 -0
  219. package/dist/divider.cjs +1 -2
  220. package/dist/divider.js +1 -2
  221. package/dist/dropdown.cjs +57 -2
  222. package/dist/dropdown.cjs.map +1 -1
  223. package/dist/dropdown.js +160 -5
  224. package/dist/dropdown.js.map +1 -1
  225. package/dist/expand-Bp3N8CcL.js +336 -0
  226. package/dist/expand-Bp3N8CcL.js.map +1 -0
  227. package/dist/expand-Crdts9q_.cjs +141 -0
  228. package/dist/expand-Crdts9q_.cjs.map +1 -0
  229. package/dist/expand.cjs +1 -0
  230. package/dist/expand.js +2 -0
  231. package/dist/extra-B0IZCg0t.cjs +31 -0
  232. package/dist/extra-B0IZCg0t.cjs.map +1 -0
  233. package/dist/extra-DupwhQhC.js +3435 -0
  234. package/dist/extra-DupwhQhC.js.map +1 -0
  235. package/dist/extra.cjs +1 -2
  236. package/dist/extra.js +2 -6
  237. package/dist/float-CQoJ_oSB.cjs +1 -0
  238. package/dist/float-CQoJ_oSB.cjs.map +1 -0
  239. package/dist/float-Dqdc1_S5.js +5 -0
  240. package/dist/float-Dqdc1_S5.js.map +1 -0
  241. package/dist/float.cjs +1 -0
  242. package/dist/float.js +2 -0
  243. package/dist/flow-Bbwn6dRN.cjs +1 -0
  244. package/dist/flow-Bbwn6dRN.cjs.map +1 -0
  245. package/dist/flow-CUj0fDT_.js +386 -0
  246. package/dist/flow-CUj0fDT_.js.map +1 -0
  247. package/dist/form-CW5XNuTg.js +270 -0
  248. package/dist/form-CW5XNuTg.js.map +1 -0
  249. package/dist/form-CvoLqMY7.cjs +1 -0
  250. package/dist/form-CvoLqMY7.cjs.map +1 -0
  251. package/dist/form.cjs +1 -2
  252. package/dist/form.js +1 -2
  253. package/dist/hashContent-DYM21p6t.js +6 -0
  254. package/dist/hashContent-DYM21p6t.js.map +1 -0
  255. package/dist/hashContent-DaeGmY-p.cjs +1 -0
  256. package/dist/hashContent-DaeGmY-p.cjs.map +1 -0
  257. package/dist/icons-BLQHEbIk.cjs +52 -0
  258. package/dist/icons-BLQHEbIk.cjs.map +1 -0
  259. package/dist/icons-Cpfdb7sA.js +161 -0
  260. package/dist/icons-Cpfdb7sA.js.map +1 -0
  261. package/dist/icons.cjs +1 -2
  262. package/dist/icons.js +1 -2
  263. package/dist/iframe-DG6HVYdy.js +44 -0
  264. package/dist/iframe-DG6HVYdy.js.map +1 -0
  265. package/dist/iframe-sJGXBbxT.cjs +24 -0
  266. package/dist/iframe-sJGXBbxT.cjs.map +1 -0
  267. package/dist/iframe.cjs +1 -0
  268. package/dist/iframe.js +2 -0
  269. package/dist/index.cjs +1 -2
  270. package/dist/index.js +69 -285
  271. package/dist/input-BevxycIt.js +364 -0
  272. package/dist/input-BevxycIt.js.map +1 -0
  273. package/dist/input-DGTdmp1Q.cjs +51 -0
  274. package/dist/input-DGTdmp1Q.cjs.map +1 -0
  275. package/dist/input-chip-BWS-SFU4.js +301 -0
  276. package/dist/input-chip-BWS-SFU4.js.map +1 -0
  277. package/dist/input-chip-CKVtjInb.cjs +146 -0
  278. package/dist/input-chip-CKVtjInb.cjs.map +1 -0
  279. package/dist/input.cjs +1 -2
  280. package/dist/input.js +2 -6
  281. package/dist/intersection-BPLpqYEd.js +12 -0
  282. package/dist/intersection-BPLpqYEd.js.map +1 -0
  283. package/dist/intersection-CZpaIHeT.cjs +1 -0
  284. package/dist/intersection-CZpaIHeT.cjs.map +1 -0
  285. package/dist/json.cjs +11 -2
  286. package/dist/json.cjs.map +1 -1
  287. package/dist/json.js +40 -4
  288. package/dist/json.js.map +1 -1
  289. package/dist/layout-4C-6_cre.cjs +1 -0
  290. package/dist/layout-4C-6_cre.cjs.map +1 -0
  291. package/dist/layout-CQdd8UCr.cjs +17 -0
  292. package/dist/layout-CQdd8UCr.cjs.map +1 -0
  293. package/dist/layout-DxLjlDfr.js +267 -0
  294. package/dist/layout-DxLjlDfr.js.map +1 -0
  295. package/dist/layout-yxSlLybo.js +94 -0
  296. package/dist/layout-yxSlLybo.js.map +1 -0
  297. package/dist/layout.cjs +1 -2
  298. package/dist/layout.js +3 -9
  299. package/dist/lightbox-Bjc55lHH.js +678 -0
  300. package/dist/lightbox-Bjc55lHH.js.map +1 -0
  301. package/dist/lightbox-C_863_XU.cjs +202 -0
  302. package/dist/lightbox-C_863_XU.cjs.map +1 -0
  303. package/dist/lightbox.cjs +1 -2
  304. package/dist/lightbox.js +2 -8
  305. package/dist/list-BAqhlzZd.js +105 -0
  306. package/dist/list-BAqhlzZd.js.map +1 -0
  307. package/dist/list-CaXzdN9_.cjs +40 -0
  308. package/dist/list-CaXzdN9_.cjs.map +1 -0
  309. package/dist/list.cjs +1 -2
  310. package/dist/list.js +2 -7
  311. package/dist/litElement.mixin-DN6X9_wD.cjs +1 -0
  312. package/dist/litElement.mixin-DN6X9_wD.cjs.map +1 -0
  313. package/dist/litElement.mixin-Dktub0ri.js +12 -0
  314. package/dist/litElement.mixin-Dktub0ri.js.map +1 -0
  315. package/dist/magnetic-BZGFxAWG.js +47 -0
  316. package/dist/magnetic-BZGFxAWG.js.map +1 -0
  317. package/dist/magnetic-Dux4QwO4.cjs +1 -0
  318. package/dist/magnetic-Dux4QwO4.cjs.map +1 -0
  319. package/dist/mailbox-BvsLXpvy.cjs +1142 -0
  320. package/dist/mailbox-BvsLXpvy.cjs.map +1 -0
  321. package/dist/mailbox-DuMUH4f3.js +1584 -0
  322. package/dist/mailbox-DuMUH4f3.js.map +1 -0
  323. package/dist/mailbox.cjs +1 -2
  324. package/dist/mailbox.js +2 -9
  325. package/dist/map-C2Msv9TQ.cjs +80 -0
  326. package/dist/map-C2Msv9TQ.cjs.map +1 -0
  327. package/dist/map-DkIy1ph7.js +205 -0
  328. package/dist/map-DkIy1ph7.js.map +1 -0
  329. package/dist/map.cjs +1 -2
  330. package/dist/map.js +2 -5
  331. package/dist/menu-DEeDKW5U.js +51 -0
  332. package/dist/menu-DEeDKW5U.js.map +1 -0
  333. package/dist/menu-Mm71lv9k.cjs +23 -0
  334. package/dist/menu-Mm71lv9k.cjs.map +1 -0
  335. package/dist/menu.cjs +1 -2
  336. package/dist/menu.js +1 -2
  337. package/dist/mixins.cjs +1 -2
  338. package/dist/mixins.cjs.map +1 -1
  339. package/dist/mixins.js +59 -12
  340. package/dist/mixins.js.map +1 -1
  341. package/dist/nav-drawer.cjs +1 -2
  342. package/dist/nav-drawer.js +2 -12
  343. package/dist/navigation-bar.cjs +1 -2
  344. package/dist/navigation-bar.js +2 -6
  345. package/dist/navigation-rail.cjs +71 -2
  346. package/dist/navigation-rail.cjs.map +1 -1
  347. package/dist/navigation-rail.js +363 -5
  348. package/dist/navigation-rail.js.map +1 -1
  349. package/dist/notification-K-ug8cKk.js +304 -0
  350. package/dist/notification-K-ug8cKk.js.map +1 -0
  351. package/dist/notification-cTgXEDZ0.cjs +23 -0
  352. package/dist/notification-cTgXEDZ0.cjs.map +1 -0
  353. package/dist/notification.cjs +1 -2
  354. package/dist/notification.js +2 -9
  355. package/dist/option-5rEOmtAm.cjs +43 -0
  356. package/dist/option-5rEOmtAm.cjs.map +1 -0
  357. package/dist/option-TFSKvSjT.js +97 -0
  358. package/dist/option-TFSKvSjT.js.map +1 -0
  359. package/dist/option.cjs +1 -2
  360. package/dist/option.js +1 -2
  361. package/dist/overlay-stack-DQey9Qph.cjs +1 -0
  362. package/dist/overlay-stack-DQey9Qph.cjs.map +1 -0
  363. package/dist/overlay-stack-DT1SdaGW.js +39 -0
  364. package/dist/overlay-stack-DT1SdaGW.js.map +1 -0
  365. package/dist/page.cjs +20 -2
  366. package/dist/page.cjs.map +1 -1
  367. package/dist/page.js +71 -4
  368. package/dist/page.js.map +1 -1
  369. package/dist/progress-Cta3nM-f.js +128 -0
  370. package/dist/progress-Cta3nM-f.js.map +1 -0
  371. package/dist/progress-iu0AMbSg.cjs +51 -0
  372. package/dist/progress-iu0AMbSg.cjs.map +1 -0
  373. package/dist/progress.cjs +1 -2
  374. package/dist/progress.js +1 -2
  375. package/dist/provide-BEyyKlDM.cjs +1 -0
  376. package/dist/provide-BEyyKlDM.cjs.map +1 -0
  377. package/dist/provide-D69zybs5.js +107 -0
  378. package/dist/provide-D69zybs5.js.map +1 -0
  379. package/dist/qr-scanner.cjs +35 -2
  380. package/dist/qr-scanner.cjs.map +1 -1
  381. package/dist/qr-scanner.js +119 -4
  382. package/dist/qr-scanner.js.map +1 -1
  383. package/dist/radio-group-BjSWmYJC.js +105 -0
  384. package/dist/radio-group-BjSWmYJC.js.map +1 -0
  385. package/dist/radio-group-DKPN0T50.cjs +40 -0
  386. package/dist/radio-group-DKPN0T50.cjs.map +1 -0
  387. package/dist/radio-group.cjs +1 -2
  388. package/dist/radio-group.js +2 -6
  389. package/dist/range.cjs +62 -0
  390. package/dist/range.cjs.map +1 -0
  391. package/dist/range.js +85 -0
  392. package/dist/range.js.map +1 -0
  393. package/dist/reduced-motion-D-L12p7G.js +7 -0
  394. package/dist/reduced-motion-D-L12p7G.js.map +1 -0
  395. package/dist/reduced-motion-Ds05GPyz.cjs +1 -0
  396. package/dist/reduced-motion-Ds05GPyz.cjs.map +1 -0
  397. package/dist/rxjs-utils-BSjmI9-Q.js +32 -0
  398. package/dist/rxjs-utils-BSjmI9-Q.js.map +1 -0
  399. package/dist/rxjs-utils-DCsfzeap.cjs +1 -0
  400. package/dist/rxjs-utils-DCsfzeap.cjs.map +1 -0
  401. package/dist/rxjs-utils.cjs +1 -2
  402. package/dist/rxjs-utils.js +2 -14
  403. package/dist/scroll-mayaGGpE.cjs +26 -0
  404. package/dist/scroll-mayaGGpE.cjs.map +1 -0
  405. package/dist/scroll-tG1vaRFO.js +112 -0
  406. package/dist/scroll-tG1vaRFO.js.map +1 -0
  407. package/dist/search-C4dFHYbX.js +91 -0
  408. package/dist/search-C4dFHYbX.js.map +1 -0
  409. package/dist/search-Ds8tt7Et.cjs +1 -0
  410. package/dist/search-Ds8tt7Et.cjs.map +1 -0
  411. package/dist/select-C4YK5Arj.cjs +56 -0
  412. package/dist/select-C4YK5Arj.cjs.map +1 -0
  413. package/dist/select-CepryGGP.js +305 -0
  414. package/dist/select-CepryGGP.js.map +1 -0
  415. package/dist/select.cjs +1 -2
  416. package/dist/select.js +2 -5
  417. package/dist/sheet-Cy4C2-kG.cjs +35 -0
  418. package/dist/sheet-Cy4C2-kG.cjs.map +1 -0
  419. package/dist/sheet-D2uT95S1.js +168 -0
  420. package/dist/sheet-D2uT95S1.js.map +1 -0
  421. package/dist/sheet.cjs +1 -2
  422. package/dist/sheet.js +3 -7
  423. package/dist/sheet.service-Dv5Hwj3k.cjs +1 -0
  424. package/dist/sheet.service-Dv5Hwj3k.cjs.map +1 -0
  425. package/dist/sheet.service-Os8KJGSE.js +86 -0
  426. package/dist/sheet.service-Os8KJGSE.js.map +1 -0
  427. package/dist/slider.cjs +82 -2
  428. package/dist/slider.cjs.map +1 -1
  429. package/dist/slider.js +143 -5
  430. package/dist/slider.js.map +1 -1
  431. package/dist/sound.service-Bu3EQLv2.cjs +1 -0
  432. package/dist/sound.service-Bu3EQLv2.cjs.map +1 -0
  433. package/dist/sound.service-m3BrSfuH.js +2353 -0
  434. package/dist/sound.service-m3BrSfuH.js.map +1 -0
  435. package/dist/src-BLcmKlCH.js +1244 -0
  436. package/dist/src-BLcmKlCH.js.map +1 -0
  437. package/dist/src-tfU0akqI.cjs +269 -0
  438. package/dist/src-tfU0akqI.cjs.map +1 -0
  439. package/dist/steps.cjs +70 -2
  440. package/dist/steps.cjs.map +1 -1
  441. package/dist/steps.js +178 -7
  442. package/dist/steps.js.map +1 -1
  443. package/dist/store-CorvD3bT.cjs +1 -0
  444. package/dist/store-CorvD3bT.cjs.map +1 -0
  445. package/dist/store-DYqDLAvT.js +1654 -0
  446. package/dist/store-DYqDLAvT.js.map +1 -0
  447. package/dist/store.cjs +1 -2
  448. package/dist/store.js +2 -47
  449. package/dist/surface-CiiIYeJN.cjs +7 -0
  450. package/dist/surface-CiiIYeJN.cjs.map +1 -0
  451. package/dist/surface-fXvRpS6s.js +21 -0
  452. package/dist/surface-fXvRpS6s.js.map +1 -0
  453. package/dist/surface.cjs +1 -2
  454. package/dist/surface.js +2 -6
  455. package/dist/surface.mixin-C4hbgyaP.cjs +297 -0
  456. package/dist/surface.mixin-C4hbgyaP.cjs.map +1 -0
  457. package/dist/surface.mixin-DBuxL5aL.js +320 -0
  458. package/dist/surface.mixin-DBuxL5aL.js.map +1 -0
  459. package/dist/table-BRVKlNjl.cjs +63 -0
  460. package/dist/table-BRVKlNjl.cjs.map +1 -0
  461. package/dist/table-BeXnwSsq.js +631 -0
  462. package/dist/table-BeXnwSsq.js.map +1 -0
  463. package/dist/table.cjs +1 -2
  464. package/dist/table.js +2 -6
  465. package/dist/tabs-CBU9Ctqm.cjs +31 -0
  466. package/dist/tabs-CBU9Ctqm.cjs.map +1 -0
  467. package/dist/tabs-y708NWQ2.js +125 -0
  468. package/dist/tabs-y708NWQ2.js.map +1 -0
  469. package/dist/tabs.cjs +1 -2
  470. package/dist/tabs.js +1 -2
  471. package/dist/tailwind.mixin-C4cx3IOr.js +225 -0
  472. package/dist/tailwind.mixin-C4cx3IOr.js.map +1 -0
  473. package/dist/tailwind.mixin-DGiyLbEi.cjs +2 -0
  474. package/dist/tailwind.mixin-DGiyLbEi.cjs.map +1 -0
  475. package/dist/teleport.cjs +1 -2
  476. package/dist/teleport.js +2 -8
  477. package/dist/textarea-BhAoJg8c.cjs +35 -0
  478. package/dist/textarea-BhAoJg8c.cjs.map +1 -0
  479. package/dist/textarea-Bl8-gQEJ.js +195 -0
  480. package/dist/textarea-Bl8-gQEJ.js.map +1 -0
  481. package/dist/textarea.cjs +1 -2
  482. package/dist/textarea.js +1 -2
  483. package/dist/theme-C-vdR-Ic.cjs +181 -0
  484. package/dist/theme-C-vdR-Ic.cjs.map +1 -0
  485. package/dist/theme-DZUpYJn-.js +4121 -0
  486. package/dist/theme-DZUpYJn-.js.map +1 -0
  487. package/dist/theme-button-CwrvpOMK.js +19 -0
  488. package/dist/theme-button-CwrvpOMK.js.map +1 -0
  489. package/dist/theme-button-Cx1iKh7G.cjs +8 -0
  490. package/dist/theme-button-Cx1iKh7G.cjs.map +1 -0
  491. package/dist/theme-button.cjs +1 -2
  492. package/dist/theme-button.js +1 -2
  493. package/dist/theme.cjs +1 -2
  494. package/dist/theme.events-Cv7N4Toe.js +2 -0
  495. package/dist/theme.events-Cv7N4Toe.js.map +1 -0
  496. package/dist/theme.events-DM4H5F2d.cjs +1 -0
  497. package/dist/theme.events-DM4H5F2d.cjs.map +1 -0
  498. package/dist/theme.interface-CXloMUCw.js +276 -0
  499. package/dist/theme.interface-CXloMUCw.js.map +1 -0
  500. package/dist/theme.interface-Da23QAYb.cjs +1 -0
  501. package/dist/theme.interface-Da23QAYb.cjs.map +1 -0
  502. package/dist/theme.js +6 -21
  503. package/dist/theme.service-C_tjlqgy.cjs +1 -0
  504. package/dist/theme.service-C_tjlqgy.cjs.map +1 -0
  505. package/dist/theme.service-D9lEas89.js +108 -0
  506. package/dist/theme.service-D9lEas89.js.map +1 -0
  507. package/dist/tooltip.cjs +6 -2
  508. package/dist/tooltip.cjs.map +1 -1
  509. package/dist/tooltip.js +200 -5
  510. package/dist/tooltip.js.map +1 -1
  511. package/dist/tree.cjs +26 -2
  512. package/dist/tree.cjs.map +1 -1
  513. package/dist/tree.js +64 -4
  514. package/dist/tree.js.map +1 -1
  515. package/dist/tslib.es6-D7BIeDVB.cjs +1 -0
  516. package/dist/tslib.es6-D7BIeDVB.cjs.map +1 -0
  517. package/dist/tslib.es6-ErZEp3OO.js +7 -0
  518. package/dist/tslib.es6-ErZEp3OO.js.map +1 -0
  519. package/dist/types.cjs +1 -2
  520. package/dist/types.cjs.map +1 -1
  521. package/dist/types.js +4 -5
  522. package/dist/types.js.map +1 -1
  523. package/dist/typewriter-CXQIzqPV.cjs +123 -0
  524. package/dist/typewriter-CXQIzqPV.cjs.map +1 -0
  525. package/dist/typewriter-mxVw5dFn.js +700 -0
  526. package/dist/typewriter-mxVw5dFn.js.map +1 -0
  527. package/dist/typewriter.cjs +1 -2
  528. package/dist/typewriter.js +2 -5
  529. package/dist/typography.cjs +282 -2
  530. package/dist/typography.cjs.map +1 -1
  531. package/dist/typography.js +353 -4
  532. package/dist/typography.js.map +1 -1
  533. package/dist/utils-BcaKtQuA.cjs +1 -0
  534. package/dist/utils-BcaKtQuA.cjs.map +1 -0
  535. package/dist/utils-CoU7M2YS.js +259 -0
  536. package/dist/utils-CoU7M2YS.js.map +1 -0
  537. package/dist/utils.cjs +1 -2
  538. package/dist/utils.js +6 -9
  539. package/dist/window-DFMlB1Tq.cjs +59 -0
  540. package/dist/window-DFMlB1Tq.cjs.map +1 -0
  541. package/dist/window-EWYJJC_H.js +548 -0
  542. package/dist/window-EWYJJC_H.js.map +1 -0
  543. package/dist/window.cjs +1 -0
  544. package/dist/window.js +2 -0
  545. package/mixins/baseElement.ts +118 -1
  546. package/mixins/discovery.service.ts +162 -1
  547. package/mixins/formField.mixin.ts +13 -8
  548. package/mixins/index.ts +2 -0
  549. package/mixins/surface.mixin.ts +93 -0
  550. package/mixins/tailwind.css +331 -14
  551. package/package.json +32 -28
  552. package/src/CLAUDE.md +428 -0
  553. package/src/area/.excalidraw +357 -0
  554. package/src/area/area.component.ts +449 -0
  555. package/src/area/area.service.test.ts +1007 -0
  556. package/src/area/area.service.ts +748 -0
  557. package/src/area/ecrypt.ts +7 -0
  558. package/src/area/index.ts +7 -0
  559. package/src/area/lazy.ts +83 -0
  560. package/src/area/readme.md +338 -0
  561. package/src/area/route.component.ts +79 -0
  562. package/src/area/router-guide.md +360 -0
  563. package/src/area/router.types.ts +101 -0
  564. package/src/area/utils.ts +354 -0
  565. package/src/audio/emotional-sounds.ts +940 -0
  566. package/src/audio/index.ts +53 -0
  567. package/src/audio/sound.service.ts +1079 -0
  568. package/src/autocomplete/README.md +485 -0
  569. package/src/autocomplete/autocomplete.scss +24 -0
  570. package/src/autocomplete/autocomplete.ts +733 -0
  571. package/src/autocomplete/index.ts +1 -0
  572. package/src/avatar.ts +164 -0
  573. package/src/badge/badge.ts +286 -0
  574. package/src/badge/index.ts +1 -0
  575. package/src/boat/boat.ts +664 -0
  576. package/src/boat/index.ts +1 -0
  577. package/src/busy/busy.ts +39 -0
  578. package/src/busy/index.ts +2 -0
  579. package/src/busy/spinner.ts +165 -0
  580. package/src/button/button.ts +382 -0
  581. package/src/button/icon-button.ts +287 -0
  582. package/src/button/index.ts +2 -0
  583. package/src/card/actions.ts +28 -0
  584. package/src/card/card.ts +319 -0
  585. package/src/card/content.ts +24 -0
  586. package/src/card/index.ts +4 -0
  587. package/src/card/media.ts +77 -0
  588. package/src/charts/area-chart.ts +495 -0
  589. package/src/charts/index.ts +4 -0
  590. package/src/charts/pills.ts +350 -0
  591. package/src/charts/types.ts +66 -0
  592. package/src/charts/utils.ts +65 -0
  593. package/src/checkbox/checkbox.ts +122 -0
  594. package/src/checkbox/index.ts +1 -0
  595. package/src/chips/assist-chip.ts +261 -0
  596. package/src/chips/chips.ts +259 -0
  597. package/src/chips/filter-chip.ts +255 -0
  598. package/src/chips/index.ts +5 -0
  599. package/src/chips/input-chip.ts +408 -0
  600. package/src/chips/suggestion-chip.ts +266 -0
  601. package/src/code-highlight/code-highlight.ts +344 -0
  602. package/src/code-highlight/code-preview.ts +123 -0
  603. package/src/code-highlight/index.ts +3 -0
  604. package/src/components/form-elements/index.ts +1 -0
  605. package/src/components/form-elements/payment-card-form.ts +331 -0
  606. package/src/components/index.ts +1 -0
  607. package/src/connectivity/connectivity-status.ts +153 -0
  608. package/src/connectivity/index.ts +1 -0
  609. package/src/content-drawer/context.ts +13 -0
  610. package/src/content-drawer/drawer.service.ts +148 -0
  611. package/src/content-drawer/drawer.ts +183 -0
  612. package/src/content-drawer/index.ts +5 -0
  613. package/src/content-drawer/main.ts +83 -0
  614. package/src/content-drawer/readme.md +709 -0
  615. package/src/content-drawer/sheet.ts +180 -0
  616. package/src/date-range/date-range-dialog.ts +230 -0
  617. package/src/date-range/date-range-helpers.ts +135 -0
  618. package/src/date-range/date-range-presets.ts +220 -0
  619. package/src/date-range/date-range.ts +530 -0
  620. package/src/date-range/date-utils.ts +58 -0
  621. package/src/date-range/index.ts +2 -0
  622. package/src/date-range-inline/date-range-inline.ts +522 -0
  623. package/src/date-range-inline/index.ts +2 -0
  624. package/src/delay/delay.ts +136 -0
  625. package/src/delay/index.ts +1 -0
  626. package/src/details/details.ts +429 -0
  627. package/src/details/index.ts +1 -0
  628. package/src/dialog/dialog-base.mixin.ts +565 -0
  629. package/src/dialog/dialog-events.ts +17 -0
  630. package/src/dialog/dialog-service.ts +482 -0
  631. package/src/dialog/dialog.component.ts +394 -0
  632. package/src/dialog/index.ts +3 -0
  633. package/src/directives/animate-text.ts +551 -0
  634. package/src/directives/color.ts +41 -0
  635. package/src/directives/confirm-click.ts +350 -0
  636. package/src/directives/cursor-glow.ts +142 -0
  637. package/src/directives/cycle-text.ts +496 -0
  638. package/src/directives/depth-of-field.ts +83 -0
  639. package/src/directives/drag.ts +370 -0
  640. package/src/directives/gravity.ts +117 -0
  641. package/src/directives/index.ts +19 -0
  642. package/src/directives/intersect.ts +204 -0
  643. package/src/directives/layout.ts +261 -0
  644. package/src/directives/liquid.ts +150 -0
  645. package/src/directives/living-border.ts +166 -0
  646. package/src/directives/long-press.ts +150 -0
  647. package/src/directives/magnetic.ts +133 -0
  648. package/src/directives/nebula.ts +773 -0
  649. package/src/directives/reduced-motion.ts +30 -0
  650. package/src/directives/reveal.ts +158 -0
  651. package/src/directives/ripple.ts +102 -0
  652. package/src/directives/typewriter.ts +349 -0
  653. package/src/discovery/discovery.service.ts +210 -0
  654. package/src/discovery/index.ts +1 -0
  655. package/src/divider/divider.ts +100 -0
  656. package/src/divider/index.ts +1 -0
  657. package/src/dropdown/dropdown-component.ts +264 -0
  658. package/src/dropdown/dropdown-content.ts +108 -0
  659. package/src/dropdown/index.ts +2 -0
  660. package/src/expand/expand-root.component.ts +278 -0
  661. package/src/expand/expand.component.ts +287 -0
  662. package/src/expand/index.ts +2 -0
  663. package/src/extra/countries/countries.data.ts +196 -0
  664. package/src/extra/countries/countries.ts +107 -0
  665. package/src/extra/countries/index.ts +2 -0
  666. package/src/extra/index.ts +2 -0
  667. package/src/extra/timezone/index.ts +2 -0
  668. package/src/extra/timezone/timezone.ts +116 -0
  669. package/src/extra/timezone/timezones.data.ts +2546 -0
  670. package/src/float/float.ts +18 -0
  671. package/src/float/index.ts +1 -0
  672. package/src/form/form-v2.ts +268 -0
  673. package/src/form/form.ts +194 -0
  674. package/src/form/index.ts +2 -0
  675. package/src/icons/icon.ts +293 -0
  676. package/src/icons/index.ts +1 -0
  677. package/src/icons/readme.md +37 -0
  678. package/src/iframe/iframe.ts +98 -0
  679. package/src/iframe/index.ts +1 -0
  680. package/src/index.ts +69 -0
  681. package/src/input/index.ts +8 -0
  682. package/src/input/input.scss +211 -0
  683. package/src/input/input.ts +951 -0
  684. package/src/json/index.ts +1 -0
  685. package/src/json/json.ts +55 -0
  686. package/src/layout/flex/flex.scss +4 -0
  687. package/src/layout/flex/flex.ts +74 -0
  688. package/src/layout/flex/index.ts +1 -0
  689. package/src/layout/grid/.readme +79 -0
  690. package/src/layout/grid/grid.scss +5 -0
  691. package/src/layout/grid/grid.ts +121 -0
  692. package/src/layout/grid/index.ts +1 -0
  693. package/src/layout/index.ts +5 -0
  694. package/src/layout/layout.ts +122 -0
  695. package/src/layout/scroll/index.ts +1 -0
  696. package/src/layout/scroll/scroll.ts +351 -0
  697. package/src/layout/v2/flex.ts +243 -0
  698. package/src/layout/v2/grid.ts +93 -0
  699. package/src/layout/v2/index.ts +1 -0
  700. package/src/lightbox/flip-directive.ts +270 -0
  701. package/src/lightbox/index.ts +4 -0
  702. package/src/lightbox/lightbox-service.ts +378 -0
  703. package/src/lightbox/lightbox.directive.ts +256 -0
  704. package/src/lightbox/lightbox.ts +417 -0
  705. package/src/list/context.ts +3 -0
  706. package/src/list/index.ts +3 -0
  707. package/src/list/list-item.ts +94 -0
  708. package/src/list/list.ts +87 -0
  709. package/src/list/readme.md +62 -0
  710. package/src/mailbox/README.md +131 -0
  711. package/src/mailbox/email-editor.ts +1071 -0
  712. package/src/mailbox/email-layout-selector.ts +58 -0
  713. package/src/mailbox/email-recipients.ts +594 -0
  714. package/src/mailbox/email-template-picker.ts +296 -0
  715. package/src/mailbox/email-viewer.ts +715 -0
  716. package/src/mailbox/index.ts +31 -0
  717. package/src/mailbox/mailbox.ts +363 -0
  718. package/src/mailbox/types.ts +181 -0
  719. package/src/map/index.ts +1 -0
  720. package/src/map/map.ts +483 -0
  721. package/src/menu/index.ts +2 -0
  722. package/src/menu/menu-item.ts +26 -0
  723. package/src/menu/menu.ts +83 -0
  724. package/src/nav-drawer/$navbar.ts +51 -0
  725. package/src/nav-drawer/appbar.ts +26 -0
  726. package/src/nav-drawer/content.ts +32 -0
  727. package/src/nav-drawer/context.ts +6 -0
  728. package/src/nav-drawer/drawer.ts +128 -0
  729. package/src/nav-drawer/index.ts +6 -0
  730. package/src/nav-drawer/navbar.ts +191 -0
  731. package/src/navigation-bar/index.ts +2 -0
  732. package/src/navigation-bar/navigation-bar-item.ts +417 -0
  733. package/src/navigation-bar/navigation-bar.ts +482 -0
  734. package/src/navigation-rail/index.ts +2 -0
  735. package/src/navigation-rail/navigation-rail-item.ts +443 -0
  736. package/src/navigation-rail/navigation-rail.ts +492 -0
  737. package/src/notification/index.ts +6 -0
  738. package/src/notification/notification-service.ts +324 -0
  739. package/src/notification/notification.scss +117 -0
  740. package/src/notification/notification.ts +263 -0
  741. package/src/notification/notify.ts +207 -0
  742. package/src/notification/outlet.ts +16 -0
  743. package/src/option/index.ts +1 -0
  744. package/src/option/option.ts +180 -0
  745. package/src/page/index.ts +1 -0
  746. package/src/page/page.ts +135 -0
  747. package/src/progress/index.ts +1 -0
  748. package/src/progress/progress.ts +143 -0
  749. package/src/qr-scanner/index.ts +1 -0
  750. package/src/qr-scanner/qr-scanner.ts +240 -0
  751. package/src/radio-group/index.ts +2 -0
  752. package/src/radio-group/radio-button.ts +81 -0
  753. package/src/radio-group/radio-group.scss +4 -0
  754. package/src/radio-group/radio-group.ts +110 -0
  755. package/src/radio-group/readme.md +315 -0
  756. package/src/range/index.ts +1 -0
  757. package/src/range/range.ts +102 -0
  758. package/src/rxjs-utils/index.ts +6 -0
  759. package/src/rxjs-utils/mutation-observer.ts +22 -0
  760. package/src/rxjs-utils/waitForElement.ts +33 -0
  761. package/src/rxjs-utils/waitForElementAll.ts +34 -0
  762. package/src/rxjs-utils/waitForElements.ts +40 -0
  763. package/src/rxjs-utils/waitForElementsAll.ts +42 -0
  764. package/src/rxjs-utils/waitUntil.ts +16 -0
  765. package/src/select/README.md +405 -0
  766. package/src/select/index.ts +2 -0
  767. package/src/select/select.ts +766 -0
  768. package/src/sheet/hook.ts +40 -0
  769. package/src/sheet/index.ts +2 -0
  770. package/src/sheet/sheet.service.ts +235 -0
  771. package/src/sheet/sheet.ts +236 -0
  772. package/src/slider/index.ts +2 -0
  773. package/src/slider/slide.ts +107 -0
  774. package/src/slider/slider.ts +164 -0
  775. package/src/steps/index.ts +3 -0
  776. package/src/steps/schmancy-step.ts +213 -0
  777. package/src/steps/schmancy-steps-container.ts +109 -0
  778. package/src/steps/steps.context.ts +23 -0
  779. package/src/store/context-array.ts +358 -0
  780. package/src/store/context-collection.ts +218 -0
  781. package/src/store/context-create.ts +284 -0
  782. package/src/store/context-object.ts +298 -0
  783. package/src/store/filter-directive.ts +614 -0
  784. package/src/store/immer-integration.ts +99 -0
  785. package/src/store/index.ts +10 -0
  786. package/src/store/selector-hook.ts +259 -0
  787. package/src/store/selectors.ts +289 -0
  788. package/src/store/storage-manager.ts +269 -0
  789. package/src/store/store.class.ts +239 -0
  790. package/src/store/types.ts +327 -0
  791. package/src/surface/context.ts +3 -0
  792. package/src/surface/index.ts +1 -0
  793. package/src/surface/surface.styles.ts +334 -0
  794. package/src/surface/surface.ts +59 -0
  795. package/src/table/index.ts +2 -0
  796. package/src/table/row.ts +60 -0
  797. package/src/table/table.ts +266 -0
  798. package/src/tabs/Readme.md +397 -0
  799. package/src/tabs/context.ts +5 -0
  800. package/src/tabs/index.ts +4 -0
  801. package/src/tabs/tab.ts +39 -0
  802. package/src/tabs/tabs-compatibility.ts +20 -0
  803. package/src/tabs/tabs-group.ts +184 -0
  804. package/src/teleport/.excalidraw +2511 -0
  805. package/src/teleport/index.ts +2 -0
  806. package/src/teleport/readme.md +91 -0
  807. package/src/teleport/teleport.component.ts +132 -0
  808. package/src/teleport/teleport.service.ts +139 -0
  809. package/src/teleport/watcher.ts +20 -0
  810. package/src/textarea/index.ts +1 -0
  811. package/src/textarea/textarea.scss +54 -0
  812. package/src/textarea/textarea.ts +432 -0
  813. package/src/theme/context.ts +28 -0
  814. package/src/theme/index.ts +17 -0
  815. package/src/theme/theme-audio-player.ts +470 -0
  816. package/src/theme/theme-controller-boat.ts +49 -0
  817. package/src/theme/theme-controller-example.md +152 -0
  818. package/src/theme/theme-controller.ts +205 -0
  819. package/src/theme/theme.component.ts +305 -0
  820. package/src/theme/theme.events.ts +59 -0
  821. package/src/theme/theme.format.ts +417 -0
  822. package/src/theme/theme.interface.ts +399 -0
  823. package/src/theme/theme.service.ts +520 -0
  824. package/src/theme/theme.style.css +619 -0
  825. package/src/theme-button/index.ts +1 -0
  826. package/src/theme-button/theme-button.ts +35 -0
  827. package/src/tooltip/index.ts +2 -0
  828. package/src/tooltip/tooltip.directive.ts +277 -0
  829. package/src/tooltip/tooltip.ts +216 -0
  830. package/src/tree/README.md +59 -0
  831. package/src/tree/index.ts +1 -0
  832. package/src/tree/tree.ts +132 -0
  833. package/src/types/events.ts +5 -0
  834. package/src/types/index.ts +3 -0
  835. package/src/types/mood-audio.types.ts +220 -0
  836. package/src/types/surface.ts +52 -0
  837. package/src/typewriter/IMPROVEMENTS.md +174 -0
  838. package/src/typewriter/QUICK_REFERENCE.md +166 -0
  839. package/src/typewriter/index.ts +1 -0
  840. package/src/typewriter/test-typewriter.html +97 -0
  841. package/src/typewriter/typewriter.ts +376 -0
  842. package/src/typography/index.ts +1 -0
  843. package/src/typography/typography.ts +448 -0
  844. package/src/utils/animation.ts +418 -0
  845. package/src/utils/hashContent.ts +12 -0
  846. package/src/utils/index.ts +6 -0
  847. package/src/utils/intersection.ts +22 -0
  848. package/src/utils/number.ts +529 -0
  849. package/src/utils/overlay-stack.ts +101 -0
  850. package/src/utils/search.ts +322 -0
  851. package/src/vite-env.d.ts +2 -0
  852. package/src/window/index.ts +10 -0
  853. package/src/window/window-manager.ts +204 -0
  854. package/src/window/window-position.ts +136 -0
  855. package/src/window/window-registry.ts +34 -0
  856. package/src/window/window.ts +724 -0
  857. package/types/mixins/baseElement.d.ts +12 -0
  858. package/types/mixins/discovery.service.d.ts +72 -0
  859. package/types/mixins/index.d.ts +2 -0
  860. package/types/mixins/surface.mixin.d.ts +39 -0
  861. package/types/src/area/area.service.d.ts +2 -0
  862. package/types/src/badge/badge.d.ts +1 -1
  863. package/types/src/boat/boat.d.ts +40 -33
  864. package/types/src/button/icon-button.d.ts +10 -0
  865. package/types/src/chips/filter-chip.d.ts +0 -12
  866. package/types/src/connectivity/connectivity-status.d.ts +25 -0
  867. package/types/src/connectivity/index.d.ts +1 -0
  868. package/types/src/content-drawer/drawer.service.d.ts +3 -0
  869. package/types/src/date-range/date-range.d.ts +2 -0
  870. package/types/src/details/details.d.ts +26 -2
  871. package/types/src/dialog/dialog-base.mixin.d.ts +7 -3
  872. package/types/src/dialog/dialog-service.d.ts +27 -1
  873. package/types/src/dialog/dialog.component.d.ts +35 -1
  874. package/types/src/directives/animate-text.d.ts +67 -0
  875. package/types/src/directives/color.d.ts +2 -3
  876. package/types/src/directives/confirm-click.d.ts +38 -0
  877. package/types/src/directives/cursor-glow.d.ts +38 -0
  878. package/types/src/directives/cycle-text.d.ts +44 -0
  879. package/types/src/directives/depth-of-field.d.ts +38 -0
  880. package/types/src/directives/drag.d.ts +8 -8
  881. package/types/src/directives/gravity.d.ts +40 -0
  882. package/types/src/directives/index.d.ts +16 -2
  883. package/types/src/directives/intersect.d.ts +60 -0
  884. package/types/src/directives/layout.d.ts +62 -0
  885. package/types/src/directives/liquid.d.ts +38 -0
  886. package/types/src/directives/living-border.d.ts +39 -0
  887. package/types/src/directives/long-press.d.ts +38 -0
  888. package/types/src/directives/magnetic.d.ts +35 -0
  889. package/types/src/directives/nebula.d.ts +80 -0
  890. package/types/src/directives/reduced-motion.d.ts +2 -0
  891. package/types/src/directives/reveal.d.ts +54 -0
  892. package/types/src/directives/ripple.d.ts +15 -5
  893. package/types/src/directives/typewriter.d.ts +50 -0
  894. package/types/src/discovery/discovery.service.d.ts +72 -0
  895. package/types/src/expand/expand-root.component.d.ts +30 -0
  896. package/types/src/expand/expand.component.d.ts +38 -0
  897. package/types/src/expand/index.d.ts +2 -0
  898. package/types/src/float/float.d.ts +14 -0
  899. package/types/src/float/index.d.ts +1 -0
  900. package/types/src/icons/icon.d.ts +14 -0
  901. package/types/src/iframe/iframe.d.ts +37 -0
  902. package/types/src/iframe/index.d.ts +1 -0
  903. package/types/src/index.d.ts +6 -1
  904. package/types/src/input/index.d.ts +1 -1
  905. package/types/src/layout/scroll/scroll.d.ts +11 -0
  906. package/types/src/lightbox/lightbox.d.ts +1 -0
  907. package/types/src/mailbox/email-recipients.d.ts +2 -2
  908. package/types/src/mailbox/types.d.ts +1 -1
  909. package/types/src/navigation-bar/navigation-bar.d.ts +17 -0
  910. package/types/src/notification/notification.d.ts +1 -0
  911. package/types/src/page/page.d.ts +6 -0
  912. package/types/src/range/index.d.ts +1 -0
  913. package/types/src/range/range.d.ts +25 -0
  914. package/types/src/sheet/sheet.d.ts +0 -1
  915. package/types/src/steps/schmancy-steps-container.d.ts +8 -6
  916. package/types/src/surface/surface.d.ts +4 -27
  917. package/types/src/surface/surface.styles.d.ts +31 -0
  918. package/types/src/tabs/tab.d.ts +1 -0
  919. package/types/src/textarea/textarea.d.ts +3 -2
  920. package/types/src/theme/context.d.ts +2 -282
  921. package/types/src/theme/theme.component.d.ts +9 -1
  922. package/types/src/theme/theme.format.d.ts +1 -1
  923. package/types/src/theme/theme.interface.d.ts +8 -1
  924. package/types/src/theme/theme.service.d.ts +20 -282
  925. package/types/src/types/surface.d.ts +27 -1
  926. package/types/src/typography/typography.d.ts +17 -3
  927. package/types/src/utils/animation.d.ts +254 -0
  928. package/types/src/utils/index.d.ts +2 -0
  929. package/types/src/utils/number.d.ts +18 -2
  930. package/types/src/utils/overlay-stack.d.ts +54 -0
  931. package/types/src/window/index.d.ts +3 -0
  932. package/types/src/window/window-manager.d.ts +49 -0
  933. package/types/src/window/window-position.d.ts +64 -0
  934. package/types/src/window/window-registry.d.ts +28 -0
  935. package/types/src/window/window.d.ts +67 -0
  936. package/ai/animated-text.md +0 -116
  937. package/ai/audio.md +0 -241
  938. package/ai/boat.md +0 -53
  939. package/ai/component-relationships.md +0 -93
  940. package/ai/context.md +0 -572
  941. package/ai/countries.md +0 -271
  942. package/ai/date-range-inline.md +0 -262
  943. package/ai/delay.md +0 -158
  944. package/ai/index.md +0 -112
  945. package/ai/layout.md +0 -187
  946. package/ai/mailbox.md +0 -530
  947. package/ai/map.md +0 -234
  948. package/ai/navigation-bar-item.md +0 -259
  949. package/ai/option.md +0 -173
  950. package/ai/payment-card-form.md +0 -242
  951. package/ai/slider.md +0 -227
  952. package/ai/spinner.md +0 -165
  953. package/ai/teleport.md +0 -197
  954. package/ai/template.md +0 -144
  955. package/ai/theme-button.md +0 -173
  956. package/ai/timezone.md +0 -276
  957. package/ai/typewriter.md +0 -335
  958. package/dist/_commonjsHelpers-Dw9sPFZy.js +0 -7
  959. package/dist/_commonjsHelpers-Dw9sPFZy.js.map +0 -1
  960. package/dist/_commonjsHelpers-k2hpEU-q.cjs +0 -2
  961. package/dist/_commonjsHelpers-k2hpEU-q.cjs.map +0 -1
  962. package/dist/ai/animated-text.md +0 -116
  963. package/dist/ai/audio.md +0 -241
  964. package/dist/ai/boat.md +0 -53
  965. package/dist/ai/component-relationships.md +0 -93
  966. package/dist/ai/context.md +0 -572
  967. package/dist/ai/countries.md +0 -271
  968. package/dist/ai/date-range-inline.md +0 -262
  969. package/dist/ai/delay.md +0 -158
  970. package/dist/ai/index.md +0 -112
  971. package/dist/ai/layout.md +0 -187
  972. package/dist/ai/mailbox.md +0 -530
  973. package/dist/ai/map.md +0 -234
  974. package/dist/ai/navigation-bar-item.md +0 -259
  975. package/dist/ai/option.md +0 -173
  976. package/dist/ai/payment-card-form.md +0 -242
  977. package/dist/ai/slider.md +0 -227
  978. package/dist/ai/spinner.md +0 -165
  979. package/dist/ai/teleport.md +0 -197
  980. package/dist/ai/template.md +0 -144
  981. package/dist/ai/theme-button.md +0 -173
  982. package/dist/ai/timezone.md +0 -276
  983. package/dist/ai/typewriter.md +0 -335
  984. package/dist/animated-text-B3DQRJBy.cjs +0 -37
  985. package/dist/animated-text-B3DQRJBy.cjs.map +0 -1
  986. package/dist/animated-text-BAj4-6hE.js +0 -76
  987. package/dist/animated-text-BAj4-6hE.js.map +0 -1
  988. package/dist/animated-text.cjs +0 -2
  989. package/dist/animated-text.cjs.map +0 -1
  990. package/dist/animated-text.js +0 -2
  991. package/dist/animated-text.js.map +0 -1
  992. package/dist/area.cjs.map +0 -1
  993. package/dist/area.component-CP4DZ0d8.js +0 -330
  994. package/dist/area.component-CP4DZ0d8.js.map +0 -1
  995. package/dist/area.component-ChxSLt16.cjs +0 -12
  996. package/dist/area.component-ChxSLt16.cjs.map +0 -1
  997. package/dist/area.js.map +0 -1
  998. package/dist/audio.cjs.map +0 -1
  999. package/dist/audio.js.map +0 -1
  1000. package/dist/autocomplete-CAaVSg4g.cjs +0 -112
  1001. package/dist/autocomplete-CAaVSg4g.cjs.map +0 -1
  1002. package/dist/autocomplete-CGbACUYd.js +0 -333
  1003. package/dist/autocomplete-CGbACUYd.js.map +0 -1
  1004. package/dist/autocomplete.cjs.map +0 -1
  1005. package/dist/autocomplete.js.map +0 -1
  1006. package/dist/avatar-nWOZXEsW.cjs +0 -273
  1007. package/dist/avatar-nWOZXEsW.cjs.map +0 -1
  1008. package/dist/avatar-rLCF6MSI.js +0 -895
  1009. package/dist/avatar-rLCF6MSI.js.map +0 -1
  1010. package/dist/badge.cjs.map +0 -1
  1011. package/dist/badge.js.map +0 -1
  1012. package/dist/boat-Ckt9v__d.js +0 -301
  1013. package/dist/boat-Ckt9v__d.js.map +0 -1
  1014. package/dist/boat-yNAZ2LLB.cjs +0 -97
  1015. package/dist/boat-yNAZ2LLB.cjs.map +0 -1
  1016. package/dist/boat.cjs.map +0 -1
  1017. package/dist/boat.js.map +0 -1
  1018. package/dist/busy.cjs.map +0 -1
  1019. package/dist/busy.js.map +0 -1
  1020. package/dist/card.cjs.map +0 -1
  1021. package/dist/card.js.map +0 -1
  1022. package/dist/checkbox-BnAlpsJN.cjs +0 -40
  1023. package/dist/checkbox-BnAlpsJN.cjs.map +0 -1
  1024. package/dist/checkbox-D22yfGe3.js +0 -526
  1025. package/dist/checkbox-D22yfGe3.js.map +0 -1
  1026. package/dist/checkbox.cjs.map +0 -1
  1027. package/dist/checkbox.js.map +0 -1
  1028. package/dist/chips.cjs.map +0 -1
  1029. package/dist/chips.js.map +0 -1
  1030. package/dist/code-highlight.cjs.map +0 -1
  1031. package/dist/code-highlight.js.map +0 -1
  1032. package/dist/code-preview-DPlQayFd.js +0 -967
  1033. package/dist/code-preview-DPlQayFd.js.map +0 -1
  1034. package/dist/code-preview-jPnX60FF.cjs +0 -193
  1035. package/dist/code-preview-jPnX60FF.cjs.map +0 -1
  1036. package/dist/components.cjs.map +0 -1
  1037. package/dist/components.js.map +0 -1
  1038. package/dist/consume-5D1qfVWM.js +0 -38
  1039. package/dist/consume-5D1qfVWM.js.map +0 -1
  1040. package/dist/consume-edta5ng5.cjs +0 -2
  1041. package/dist/consume-edta5ng5.cjs.map +0 -1
  1042. package/dist/content-drawer.cjs.map +0 -1
  1043. package/dist/content-drawer.js.map +0 -1
  1044. package/dist/context-create-B_S-sD5B.js +0 -1107
  1045. package/dist/context-create-B_S-sD5B.js.map +0 -1
  1046. package/dist/context-create-DTybDbZp.cjs +0 -2
  1047. package/dist/context-create-DTybDbZp.cjs.map +0 -1
  1048. package/dist/date-range-GFm5NG33.js +0 -639
  1049. package/dist/date-range-GFm5NG33.js.map +0 -1
  1050. package/dist/date-range-inline-CgX2o0FP.cjs +0 -44
  1051. package/dist/date-range-inline-CgX2o0FP.cjs.map +0 -1
  1052. package/dist/date-range-inline-DTQLESAZ.js +0 -197
  1053. package/dist/date-range-inline-DTQLESAZ.js.map +0 -1
  1054. package/dist/date-range-inline.cjs.map +0 -1
  1055. package/dist/date-range-inline.js.map +0 -1
  1056. package/dist/date-range-ug3B9CFT.cjs +0 -119
  1057. package/dist/date-range-ug3B9CFT.cjs.map +0 -1
  1058. package/dist/date-range.cjs.map +0 -1
  1059. package/dist/date-range.js.map +0 -1
  1060. package/dist/delay-CWtBL0VD.cjs +0 -10
  1061. package/dist/delay-CWtBL0VD.cjs.map +0 -1
  1062. package/dist/delay-DEe1CmHc.js +0 -288
  1063. package/dist/delay-DEe1CmHc.js.map +0 -1
  1064. package/dist/delay.cjs.map +0 -1
  1065. package/dist/delay.js.map +0 -1
  1066. package/dist/details-D-LXW23W.js +0 -100
  1067. package/dist/details-D-LXW23W.js.map +0 -1
  1068. package/dist/details-DVke77dU.cjs +0 -55
  1069. package/dist/details-DVke77dU.cjs.map +0 -1
  1070. package/dist/details.cjs.map +0 -1
  1071. package/dist/details.js.map +0 -1
  1072. package/dist/dialog-service-C86xTS8q.cjs +0 -2
  1073. package/dist/dialog-service-C86xTS8q.cjs.map +0 -1
  1074. package/dist/dialog-service-D9E3jLAR.js +0 -118
  1075. package/dist/dialog-service-D9E3jLAR.js.map +0 -1
  1076. package/dist/dialog.component-BM0D-hK9.cjs +0 -48
  1077. package/dist/dialog.component-BM0D-hK9.cjs.map +0 -1
  1078. package/dist/dialog.component-a7FlKhGD.js +0 -145
  1079. package/dist/dialog.component-a7FlKhGD.js.map +0 -1
  1080. package/dist/discovery.service-BbYjU5x8.js +0 -21
  1081. package/dist/discovery.service-BbYjU5x8.js.map +0 -1
  1082. package/dist/discovery.service-BpGCuXPd.cjs +0 -2
  1083. package/dist/discovery.service-BpGCuXPd.cjs.map +0 -1
  1084. package/dist/divider-CzTpxOqt.js +0 -84
  1085. package/dist/divider-CzTpxOqt.js.map +0 -1
  1086. package/dist/divider-D8KStUhN.cjs +0 -58
  1087. package/dist/divider-D8KStUhN.cjs.map +0 -1
  1088. package/dist/divider.cjs.map +0 -1
  1089. package/dist/divider.js.map +0 -1
  1090. package/dist/dropdown-content-CngZN3vv.cjs +0 -58
  1091. package/dist/dropdown-content-CngZN3vv.cjs.map +0 -1
  1092. package/dist/dropdown-content-DCn-g0-f.js +0 -147
  1093. package/dist/dropdown-content-DCn-g0-f.js.map +0 -1
  1094. package/dist/email-recipients-BhntMZMf.cjs +0 -1173
  1095. package/dist/email-recipients-BhntMZMf.cjs.map +0 -1
  1096. package/dist/email-recipients-BzjAKNJ0.js +0 -1733
  1097. package/dist/email-recipients-BzjAKNJ0.js.map +0 -1
  1098. package/dist/emotional-sounds-BRnFhww6.js +0 -234
  1099. package/dist/emotional-sounds-BRnFhww6.js.map +0 -1
  1100. package/dist/emotional-sounds-DVGhmoZf.cjs +0 -2
  1101. package/dist/emotional-sounds-DVGhmoZf.cjs.map +0 -1
  1102. package/dist/extra.cjs.map +0 -1
  1103. package/dist/extra.js.map +0 -1
  1104. package/dist/flex-5dR48zie.js +0 -183
  1105. package/dist/flex-5dR48zie.js.map +0 -1
  1106. package/dist/flex-oHl2EfYB.cjs +0 -18
  1107. package/dist/flex-oHl2EfYB.cjs.map +0 -1
  1108. package/dist/flow-D0e7hGXO.cjs +0 -2
  1109. package/dist/flow-D0e7hGXO.cjs.map +0 -1
  1110. package/dist/flow-DXYqC9OA.js +0 -340
  1111. package/dist/flow-DXYqC9OA.js.map +0 -1
  1112. package/dist/form-BlPiAPt7.cjs +0 -2
  1113. package/dist/form-BlPiAPt7.cjs.map +0 -1
  1114. package/dist/form-BxVM6JTn.js +0 -141
  1115. package/dist/form-BxVM6JTn.js.map +0 -1
  1116. package/dist/form.cjs.map +0 -1
  1117. package/dist/form.js.map +0 -1
  1118. package/dist/formField.mixin-BCGA7Ea3.js +0 -48
  1119. package/dist/formField.mixin-BCGA7Ea3.js.map +0 -1
  1120. package/dist/formField.mixin-BfJMifU9.cjs +0 -2
  1121. package/dist/formField.mixin-BfJMifU9.cjs.map +0 -1
  1122. package/dist/height-CfECBO2j.js +0 -44
  1123. package/dist/height-CfECBO2j.js.map +0 -1
  1124. package/dist/height-Z70qJYJK.cjs +0 -2
  1125. package/dist/height-Z70qJYJK.cjs.map +0 -1
  1126. package/dist/icon-DHEXr3c-.cjs +0 -49
  1127. package/dist/icon-DHEXr3c-.cjs.map +0 -1
  1128. package/dist/icon-DYpLoegR.js +0 -84
  1129. package/dist/icon-DYpLoegR.js.map +0 -1
  1130. package/dist/icon-button-CmZBLHWC.js +0 -164
  1131. package/dist/icon-button-CmZBLHWC.js.map +0 -1
  1132. package/dist/icon-button-IbSX8C98.cjs +0 -70
  1133. package/dist/icon-button-IbSX8C98.cjs.map +0 -1
  1134. package/dist/icons.cjs.map +0 -1
  1135. package/dist/icons.js.map +0 -1
  1136. package/dist/index-CCi1otmh.cjs +0 -2
  1137. package/dist/index-CCi1otmh.cjs.map +0 -1
  1138. package/dist/index-CW6PhEkx.js +0 -17
  1139. package/dist/index-CW6PhEkx.js.map +0 -1
  1140. package/dist/index.cjs.map +0 -1
  1141. package/dist/index.js.map +0 -1
  1142. package/dist/input-BByjYlgl.cjs +0 -51
  1143. package/dist/input-BByjYlgl.cjs.map +0 -1
  1144. package/dist/input-D0cQ9DOY.js +0 -237
  1145. package/dist/input-D0cQ9DOY.js.map +0 -1
  1146. package/dist/input-chip-B5ErXgCB.js +0 -206
  1147. package/dist/input-chip-B5ErXgCB.js.map +0 -1
  1148. package/dist/input-chip-DkWaTciP.cjs +0 -147
  1149. package/dist/input-chip-DkWaTciP.cjs.map +0 -1
  1150. package/dist/input.cjs.map +0 -1
  1151. package/dist/input.js.map +0 -1
  1152. package/dist/intersection-CJxzz8c-.js +0 -15
  1153. package/dist/intersection-CJxzz8c-.js.map +0 -1
  1154. package/dist/intersection-CVvaDv96.cjs +0 -2
  1155. package/dist/intersection-CVvaDv96.cjs.map +0 -1
  1156. package/dist/json-BZVe74np.cjs +0 -12
  1157. package/dist/json-BZVe74np.cjs.map +0 -1
  1158. package/dist/json-PKewOWuJ.js +0 -51
  1159. package/dist/json-PKewOWuJ.js.map +0 -1
  1160. package/dist/layout.cjs.map +0 -1
  1161. package/dist/layout.js.map +0 -1
  1162. package/dist/lightbox-service-D-0JtxB1.cjs +0 -202
  1163. package/dist/lightbox-service-D-0JtxB1.cjs.map +0 -1
  1164. package/dist/lightbox-service-DZMnb1eU.js +0 -458
  1165. package/dist/lightbox-service-DZMnb1eU.js.map +0 -1
  1166. package/dist/lightbox.cjs.map +0 -1
  1167. package/dist/lightbox.js.map +0 -1
  1168. package/dist/list-B_2m7l3g.cjs +0 -17
  1169. package/dist/list-B_2m7l3g.cjs.map +0 -1
  1170. package/dist/list-CW56LV-v.js +0 -69
  1171. package/dist/list-CW56LV-v.js.map +0 -1
  1172. package/dist/list.cjs.map +0 -1
  1173. package/dist/list.js.map +0 -1
  1174. package/dist/litElement.mixin-CrpeGpZ7.cjs +0 -2
  1175. package/dist/litElement.mixin-CrpeGpZ7.cjs.map +0 -1
  1176. package/dist/litElement.mixin-DHZXtvYq.js +0 -15
  1177. package/dist/litElement.mixin-DHZXtvYq.js.map +0 -1
  1178. package/dist/mailbox.cjs.map +0 -1
  1179. package/dist/mailbox.js.map +0 -1
  1180. package/dist/map-2Hl60a0A.js +0 -175
  1181. package/dist/map-2Hl60a0A.js.map +0 -1
  1182. package/dist/map-DyPS9G7M.cjs +0 -81
  1183. package/dist/map-DyPS9G7M.cjs.map +0 -1
  1184. package/dist/map.cjs.map +0 -1
  1185. package/dist/map.js.map +0 -1
  1186. package/dist/media-CS8HpKnK.cjs +0 -152
  1187. package/dist/media-CS8HpKnK.cjs.map +0 -1
  1188. package/dist/media-DtWbcRxL.js +0 -244
  1189. package/dist/media-DtWbcRxL.js.map +0 -1
  1190. package/dist/menu-Caju5-zd.js +0 -60
  1191. package/dist/menu-Caju5-zd.js.map +0 -1
  1192. package/dist/menu-rX5RPAI2.cjs +0 -24
  1193. package/dist/menu-rX5RPAI2.cjs.map +0 -1
  1194. package/dist/menu.cjs.map +0 -1
  1195. package/dist/menu.js.map +0 -1
  1196. package/dist/nav-drawer.cjs.map +0 -1
  1197. package/dist/nav-drawer.js.map +0 -1
  1198. package/dist/navigation-bar.cjs.map +0 -1
  1199. package/dist/navigation-bar.js.map +0 -1
  1200. package/dist/navigation-rail-Ctketq5a.js +0 -256
  1201. package/dist/navigation-rail-Ctketq5a.js.map +0 -1
  1202. package/dist/navigation-rail-DC9_oSIM.cjs +0 -79
  1203. package/dist/navigation-rail-DC9_oSIM.cjs.map +0 -1
  1204. package/dist/notification-service-CUlfXqmj.js +0 -155
  1205. package/dist/notification-service-CUlfXqmj.js.map +0 -1
  1206. package/dist/notification-service-DknbpqTt.cjs +0 -19
  1207. package/dist/notification-service-DknbpqTt.cjs.map +0 -1
  1208. package/dist/notification.cjs.map +0 -1
  1209. package/dist/notification.js.map +0 -1
  1210. package/dist/notify-DJSOWTxv.js +0 -35
  1211. package/dist/notify-DJSOWTxv.js.map +0 -1
  1212. package/dist/notify-DickIEHW.cjs +0 -2
  1213. package/dist/notify-DickIEHW.cjs.map +0 -1
  1214. package/dist/number-B7aCRYnH.cjs +0 -2
  1215. package/dist/number-B7aCRYnH.cjs.map +0 -1
  1216. package/dist/number-BhTiptLA.js +0 -99
  1217. package/dist/number-BhTiptLA.js.map +0 -1
  1218. package/dist/option-Bng41-rY.js +0 -77
  1219. package/dist/option-Bng41-rY.js.map +0 -1
  1220. package/dist/option-DYT5Rkgy.cjs +0 -44
  1221. package/dist/option-DYT5Rkgy.cjs.map +0 -1
  1222. package/dist/option.cjs.map +0 -1
  1223. package/dist/option.js.map +0 -1
  1224. package/dist/page-BLn9gtSd.cjs +0 -20
  1225. package/dist/page-BLn9gtSd.cjs.map +0 -1
  1226. package/dist/page-D-ROcQDd.js +0 -48
  1227. package/dist/page-D-ROcQDd.js.map +0 -1
  1228. package/dist/payment-card-form-5UtfWzoW.cjs +0 -74
  1229. package/dist/payment-card-form-5UtfWzoW.cjs.map +0 -1
  1230. package/dist/payment-card-form-BJa4RgF2.js +0 -515
  1231. package/dist/payment-card-form-BJa4RgF2.js.map +0 -1
  1232. package/dist/pills-BS5rZ6C3.js +0 -346
  1233. package/dist/pills-BS5rZ6C3.js.map +0 -1
  1234. package/dist/pills-Blf7IAeq.cjs +0 -113
  1235. package/dist/pills-Blf7IAeq.cjs.map +0 -1
  1236. package/dist/progress-DlhYniW_.cjs +0 -35
  1237. package/dist/progress-DlhYniW_.cjs.map +0 -1
  1238. package/dist/progress-yTIX6EqC.js +0 -56
  1239. package/dist/progress-yTIX6EqC.js.map +0 -1
  1240. package/dist/progress.cjs.map +0 -1
  1241. package/dist/progress.js.map +0 -1
  1242. package/dist/provide-BxZ2kn_p.cjs +0 -2
  1243. package/dist/provide-BxZ2kn_p.cjs.map +0 -1
  1244. package/dist/provide-tcktw8xB.js +0 -100
  1245. package/dist/provide-tcktw8xB.js.map +0 -1
  1246. package/dist/qr-scanner-DOs7uNS_.cjs +0 -29
  1247. package/dist/qr-scanner-DOs7uNS_.cjs.map +0 -1
  1248. package/dist/qr-scanner-DjZ8mgHV.js +0 -743
  1249. package/dist/qr-scanner-DjZ8mgHV.js.map +0 -1
  1250. package/dist/radio-button-N_PrrxKB.cjs +0 -41
  1251. package/dist/radio-button-N_PrrxKB.cjs.map +0 -1
  1252. package/dist/radio-button-me3SRHGu.js +0 -115
  1253. package/dist/radio-button-me3SRHGu.js.map +0 -1
  1254. package/dist/radio-group.cjs.map +0 -1
  1255. package/dist/radio-group.js.map +0 -1
  1256. package/dist/ripple-BgJXbNSP.js +0 -124
  1257. package/dist/ripple-BgJXbNSP.js.map +0 -1
  1258. package/dist/ripple-x6sTX02K.cjs +0 -16
  1259. package/dist/ripple-x6sTX02K.cjs.map +0 -1
  1260. package/dist/rxjs-utils.cjs.map +0 -1
  1261. package/dist/rxjs-utils.js.map +0 -1
  1262. package/dist/schmancy-steps-container-J6P-NNNj.js +0 -156
  1263. package/dist/schmancy-steps-container-J6P-NNNj.js.map +0 -1
  1264. package/dist/schmancy-steps-container-T57BKMzi.cjs +0 -70
  1265. package/dist/schmancy-steps-container-T57BKMzi.cjs.map +0 -1
  1266. package/dist/scroll-C_gfUgjn.js +0 -87
  1267. package/dist/scroll-C_gfUgjn.js.map +0 -1
  1268. package/dist/scroll-CecsowP7.cjs +0 -27
  1269. package/dist/scroll-CecsowP7.cjs.map +0 -1
  1270. package/dist/search-B1s7thB0.cjs +0 -2
  1271. package/dist/search-B1s7thB0.cjs.map +0 -1
  1272. package/dist/search-DxxnLa5u.js +0 -95
  1273. package/dist/search-DxxnLa5u.js.map +0 -1
  1274. package/dist/select-BBA0gBHf.js +0 -280
  1275. package/dist/select-BBA0gBHf.js.map +0 -1
  1276. package/dist/select-D9oCjv7N.cjs +0 -57
  1277. package/dist/select-D9oCjv7N.cjs.map +0 -1
  1278. package/dist/select.cjs.map +0 -1
  1279. package/dist/select.js.map +0 -1
  1280. package/dist/selector-hook-9w2auh2O.cjs +0 -2
  1281. package/dist/selector-hook-9w2auh2O.cjs.map +0 -1
  1282. package/dist/selector-hook-CHV4kDMd.js +0 -319
  1283. package/dist/selector-hook-CHV4kDMd.js.map +0 -1
  1284. package/dist/sheet-0oUfBmXX.cjs +0 -15
  1285. package/dist/sheet-0oUfBmXX.cjs.map +0 -1
  1286. package/dist/sheet-CNcDT3VP.js +0 -97
  1287. package/dist/sheet-CNcDT3VP.js.map +0 -1
  1288. package/dist/sheet.cjs.map +0 -1
  1289. package/dist/sheet.js.map +0 -1
  1290. package/dist/sheet.service-2MobB-9z.js +0 -68
  1291. package/dist/sheet.service-2MobB-9z.js.map +0 -1
  1292. package/dist/sheet.service-su_7yDQ-.cjs +0 -2
  1293. package/dist/sheet.service-su_7yDQ-.cjs.map +0 -1
  1294. package/dist/slider-CV-Ehp_5.cjs +0 -83
  1295. package/dist/slider-CV-Ehp_5.cjs.map +0 -1
  1296. package/dist/slider-CkE-iFUy.js +0 -161
  1297. package/dist/slider-CkE-iFUy.js.map +0 -1
  1298. package/dist/sound.service-Nza4c6wv.js +0 -102
  1299. package/dist/sound.service-Nza4c6wv.js.map +0 -1
  1300. package/dist/sound.service-eRirZw59.cjs +0 -2
  1301. package/dist/sound.service-eRirZw59.cjs.map +0 -1
  1302. package/dist/spinner-Bfn8KC-9.cjs +0 -135
  1303. package/dist/spinner-Bfn8KC-9.cjs.map +0 -1
  1304. package/dist/spinner-DiMbWXp9.js +0 -168
  1305. package/dist/spinner-DiMbWXp9.js.map +0 -1
  1306. package/dist/store.cjs.map +0 -1
  1307. package/dist/store.js.map +0 -1
  1308. package/dist/suggestion-chip-CEDqUNoS.js +0 -481
  1309. package/dist/suggestion-chip-CEDqUNoS.js.map +0 -1
  1310. package/dist/suggestion-chip-HhsLtZXR.cjs +0 -271
  1311. package/dist/suggestion-chip-HhsLtZXR.cjs.map +0 -1
  1312. package/dist/surface-CW3H23Va.cjs +0 -199
  1313. package/dist/surface-CW3H23Va.cjs.map +0 -1
  1314. package/dist/surface-eBfnSwQS.js +0 -220
  1315. package/dist/surface-eBfnSwQS.js.map +0 -1
  1316. package/dist/surface.cjs.map +0 -1
  1317. package/dist/surface.js.map +0 -1
  1318. package/dist/table-D0tiSL_u.cjs +0 -64
  1319. package/dist/table-D0tiSL_u.cjs.map +0 -1
  1320. package/dist/table-Dmo4TvTx.js +0 -561
  1321. package/dist/table-Dmo4TvTx.js.map +0 -1
  1322. package/dist/table.cjs.map +0 -1
  1323. package/dist/table.js.map +0 -1
  1324. package/dist/tabs-compatibility-Bit6y6en.js +0 -104
  1325. package/dist/tabs-compatibility-Bit6y6en.js.map +0 -1
  1326. package/dist/tabs-compatibility-Vq_2-ekz.cjs +0 -35
  1327. package/dist/tabs-compatibility-Vq_2-ekz.cjs.map +0 -1
  1328. package/dist/tabs.cjs.map +0 -1
  1329. package/dist/tabs.js.map +0 -1
  1330. package/dist/tailwind.mixin-Bp_PR6yc.js +0 -67
  1331. package/dist/tailwind.mixin-Bp_PR6yc.js.map +0 -1
  1332. package/dist/tailwind.mixin-Cp4PyXok.cjs +0 -2
  1333. package/dist/tailwind.mixin-Cp4PyXok.cjs.map +0 -1
  1334. package/dist/teleport.cjs.map +0 -1
  1335. package/dist/teleport.js.map +0 -1
  1336. package/dist/textarea-B1d1QCqT.js +0 -134
  1337. package/dist/textarea-B1d1QCqT.js.map +0 -1
  1338. package/dist/textarea-DG8CHhZA.cjs +0 -44
  1339. package/dist/textarea-DG8CHhZA.cjs.map +0 -1
  1340. package/dist/textarea.cjs.map +0 -1
  1341. package/dist/textarea.js.map +0 -1
  1342. package/dist/theme-button-CPL6Eaqd.cjs +0 -9
  1343. package/dist/theme-button-CPL6Eaqd.cjs.map +0 -1
  1344. package/dist/theme-button-CrLuMQNe.js +0 -27
  1345. package/dist/theme-button-CrLuMQNe.js.map +0 -1
  1346. package/dist/theme-button.cjs.map +0 -1
  1347. package/dist/theme-button.js.map +0 -1
  1348. package/dist/theme-controller-boat-CXbNJSI3.cjs +0 -178
  1349. package/dist/theme-controller-boat-CXbNJSI3.cjs.map +0 -1
  1350. package/dist/theme-controller-boat-CzSmjyKq.js +0 -1159
  1351. package/dist/theme-controller-boat-CzSmjyKq.js.map +0 -1
  1352. package/dist/theme.cjs.map +0 -1
  1353. package/dist/theme.events-CPSLaOlR.js +0 -6
  1354. package/dist/theme.events-CPSLaOlR.js.map +0 -1
  1355. package/dist/theme.events-Car6U_SQ.cjs +0 -2
  1356. package/dist/theme.events-Car6U_SQ.cjs.map +0 -1
  1357. package/dist/theme.interface-BLfE5J_1.js +0 -5
  1358. package/dist/theme.interface-BLfE5J_1.js.map +0 -1
  1359. package/dist/theme.interface-BMeNadVb.cjs +0 -2
  1360. package/dist/theme.interface-BMeNadVb.cjs.map +0 -1
  1361. package/dist/theme.js.map +0 -1
  1362. package/dist/timezone-4vwX0BgA.js +0 -112
  1363. package/dist/timezone-4vwX0BgA.js.map +0 -1
  1364. package/dist/timezone-BxvQcqe1.cjs +0 -32
  1365. package/dist/timezone-BxvQcqe1.cjs.map +0 -1
  1366. package/dist/tooltip-CjdvBf4X.js +0 -119
  1367. package/dist/tooltip-CjdvBf4X.js.map +0 -1
  1368. package/dist/tooltip-ZtnGjoJd.cjs +0 -7
  1369. package/dist/tooltip-ZtnGjoJd.cjs.map +0 -1
  1370. package/dist/tree-CBEjV7jP.js +0 -65
  1371. package/dist/tree-CBEjV7jP.js.map +0 -1
  1372. package/dist/tree-DP5U00NA.cjs +0 -27
  1373. package/dist/tree-DP5U00NA.cjs.map +0 -1
  1374. package/dist/tslib.es6-DgOcxv4s.cjs +0 -2
  1375. package/dist/tslib.es6-DgOcxv4s.cjs.map +0 -1
  1376. package/dist/tslib.es6-ujVQHAQ4.js +0 -10
  1377. package/dist/tslib.es6-ujVQHAQ4.js.map +0 -1
  1378. package/dist/typewriter-C6kFjLcX.cjs +0 -124
  1379. package/dist/typewriter-C6kFjLcX.cjs.map +0 -1
  1380. package/dist/typewriter-Eo5qXoGC.js +0 -555
  1381. package/dist/typewriter-Eo5qXoGC.js.map +0 -1
  1382. package/dist/typewriter.cjs.map +0 -1
  1383. package/dist/typewriter.js.map +0 -1
  1384. package/dist/typography-C_1gdM2I.js +0 -264
  1385. package/dist/typography-C_1gdM2I.js.map +0 -1
  1386. package/dist/typography-DGyjlLCE.cjs +0 -243
  1387. package/dist/typography-DGyjlLCE.cjs.map +0 -1
  1388. package/dist/utils-C38P63L6.cjs +0 -2
  1389. package/dist/utils-C38P63L6.cjs.map +0 -1
  1390. package/dist/utils-CYOVFxSx.js +0 -150
  1391. package/dist/utils-CYOVFxSx.js.map +0 -1
  1392. package/dist/utils.cjs.map +0 -1
  1393. package/dist/utils.js.map +0 -1
  1394. package/types/src/animated-text/animated-text.d.ts +0 -30
  1395. package/types/src/animated-text/index.d.ts +0 -1
  1396. package/types/src/directives/height.d.ts +0 -20
@@ -1,51 +0,0 @@
1
- "use strict";const l=require("lit"),n=require("lit/decorators.js"),o=require("lit/directives/if-defined.js"),c=require("lit/directives/ref.js"),h=require("lit/directives/when.js"),i=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const m=require("./formField.mixin-BfJMifU9.cjs");require("./tailwind.mixin-Cp4PyXok.cjs");var y=Object.defineProperty,f=Object.getOwnPropertyDescriptor,a=(t,e,s,r)=>{for(var u,p=r>1?void 0:r?f(e,s):e,d=t.length-1;d>=0;d--)(u=t[d])&&(p=(r?u(e,s,p):u(p))||p);return r&&p&&y(e,s,p),p};exports.SchmancyInput=class extends m.SchmancyFormField(":host{width:100%;min-width:calc(var(--spacing,.25rem)*0);box-sizing:border-box;max-width:100%;display:block}.date-input-container{width:100%;min-width:0;width:100%!important;max-width:100%!important}input{appearance:none;border-radius:8px;width:-webkit-fill-available;font-size:16px}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:calc(var(--spacing,.25rem)*0)}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:calc(var(--spacing,.25rem)*0)}input[type=number]{appearance:textfield}input:-webkit-autofill{animation-name:onAutoFillStart;-webkit-box-shadow:0 0 0 30px var(--schmancy-sys-color-surface-highest)inset!important;-webkit-text-fill-color:var(--schmancy-sys-color-surface-on)!important}input:autofill{background-color:var(--schmancy-sys-color-surface-highest)!important;color:var(--schmancy-sys-color-surface-on)!important}input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week]{appearance:none;width:100%;line-height:inherit;border-radius:8px;min-width:100%;max-width:100%;margin:0;display:block;overflow:hidden;border-radius:8px!important;width:100%!important}input::-webkit-datetime-edit{align-items:center;width:100%;height:100%;margin:0;padding:0;display:flex}input::-webkit-datetime-edit-fields-wrapper{align-items:center;width:100%;height:100%;margin:0;padding:0;display:flex}input::-webkit-datetime-edit{flex:1;width:100%}input::-webkit-datetime-edit-fields-wrapper{flex:1;justify-content:space-between;width:100%}input::-webkit-datetime-edit-text{align-items:center;display:flex}input::-webkit-datetime-edit-day-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-month-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-year-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-hour-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-minute-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-second-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-millisecond-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-meridiem-field{flex-shrink:0;padding:0 2px}input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}input[type=time]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}input[type=month]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}input[type=week]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}@-moz-document url-prefix(){input[type=date],input[type=datetime-local],input[type=time]{min-height:inherit}}@supports (-webkit-touch-callout:none){input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week]{appearance:none;border-radius:0;width:-webkit-fill-available!important;width:fill-available!important;padding-left:12px!important;padding-right:12px!important}input::-webkit-datetime-edit{width:100%!important;padding-left:0!important;padding-right:0!important}input::-webkit-datetime-edit-fields-wrapper{width:100%!important;margin:0!important;padding:0!important}}"){constructor(){super(...arguments),this.value="",this.type="text",this.placeholder="",this.clickable=!1,this.spellcheck=!1,this.align="left",this.step="any",this.autofocus=!1,this.autocomplete="on",this.tabIndex=0,this.size="md",this.validateOn="touched",this.inputRef=c.createRef(),this.isAutofilled=!1,this.touched=!1,this.dirty=!1,this.submitted=!1,this.defaultValue=""}willUpdate(t){this.id||(this.id="sch-input-"+exports.SchmancyInput._idCounter++),super.willUpdate(t)}updated(t){super.updated(t),t.has("value")&&(this.value!==this.defaultValue&&(this.dirty=!0),this.validateInput()),!this.hasUpdated&&t.has("value")&&(this.defaultValue=this.value)}connectedCallback(){super.connectedCallback(),this.defaultValue=this.value,this.setupFormIntegration(),this.setupExternalLabelAssociation()}setupFormIntegration(){this.form&&(this.formResetObserver=new MutationObserver(t=>{for(const e of t)e.type==="attributes"&&e.attributeName==="reset"&&this.resetToDefault()}),this.formResetObserver.observe(this.form,{attributes:!0,childList:!1,subtree:!1}),i.fromEvent(this.form,"reset").pipe(i.takeUntil(this.disconnecting)).subscribe(()=>{this.resetToDefault()}),i.fromEvent(this.form,"submit").pipe(i.takeUntil(this.disconnecting)).subscribe(()=>{this.submitted=!0,this.validateInput(!0)}))}setupExternalLabelAssociation(){if(this.id){const t=()=>{document.querySelectorAll(`label[for="${this.id}"]`).forEach(e=>{i.fromEvent(e,"click").pipe(i.takeUntil(this.disconnecting)).subscribe(()=>{this.focus()})})};document.readyState==="complete"?t():i.fromEvent(document,"DOMContentLoaded").pipe(i.takeUntil(this.disconnecting)).subscribe(t)}}disconnectedCallback(){super.disconnectedCallback(),this.formResetObserver&&this.formResetObserver.disconnect()}resetToDefault(){this.value=this.defaultValue,this.touched=!1,this.dirty=!1,this.submitted=!1,this.error=!1,this.validationMessage="",this.dispatchEvent(new CustomEvent("reset",{bubbles:!0}))}shouldShowValidation(t=!1){if(t)return!0;switch(this.validateOn){case"always":return!0;case"touched":default:return this.touched;case"dirty":return this.dirty;case"submitted":return this.submitted}}validateInput(t=!1){if(this.disabled)return;const e=this.shouldShowValidation(t),s=this.inputElement?.validity??{customError:!1,valid:!0},r=!s.valid&&!s.customError;e&&r?(this.error=!0,this.validationMessage=this.inputElement?.validationMessage||""):s.valid?(this.error=!1,s.customError||(this.validationMessage="")):e||(this.error=!1)}checkValidity(){const t=this.inputRef.value?.checkValidity()??!0,e=super.checkValidity();return t&&e}reportValidity(){this.touched=!0,this.submitted=!0;const t=this.inputRef.value?.reportValidity()??!0;this.validateInput(!0);const e=super.reportValidity();return t&&e}setCustomValidity(t){this.inputRef.value&&this.inputRef.value.setCustomValidity(t),super.setCustomValidity(t),this.error=t!==""&&this.shouldShowValidation()}firstUpdated(){this.autofocus&&setTimeout(()=>{this.focus()},0),this.setupInputEvents(),this.setupFocusBlurEvents(),this.setupAutofillDetection(),this.setupEnterKeyEvents()}setupInputEvents(){i.fromEvent(this.inputElement,"input").pipe(i.map(t=>{const e=t;return{value:t.target.value,inputType:e.inputType,data:e.data,isComposing:e.isComposing,originalEvent:t}}),i.takeUntil(this.disconnecting)).subscribe(t=>{this.value=t.value,this.dirty=this.value!==this.defaultValue;const e=new CustomEvent("input",{detail:{value:t.value},bubbles:!0,composed:!0});Object.defineProperties(e,{inputType:{value:t.inputType},data:{value:t.data},isComposing:{value:t.isComposing}}),this.dispatchEvent(e),this.validateInput()}),i.fromEvent(this.inputElement,"change").pipe(i.map(t=>t.target.value),i.distinctUntilChanged(),i.takeUntil(this.disconnecting)).subscribe(t=>{this.value=t,this.dirty=this.value!==this.defaultValue,this.emitChange({value:t}),this.validateInput()})}setupFocusBlurEvents(){i.fromEvent(this.inputElement,"focus").pipe(i.takeUntil(this.disconnecting)).subscribe(t=>{const e=new CustomEvent("focus",{bubbles:t.bubbles,cancelable:t.cancelable,composed:t.composed});Object.defineProperties(e,{relatedTarget:{value:t.relatedTarget}}),this.dispatchEvent(e)}),i.fromEvent(this.inputElement,"blur").pipe(i.takeUntil(this.disconnecting)).subscribe(t=>{this.touched=!0,this.disabled||this.validateInput();const e=new CustomEvent("blur",{bubbles:t.bubbles,cancelable:t.cancelable,composed:t.composed});Object.defineProperties(e,{relatedTarget:{value:t.relatedTarget}}),this.dispatchEvent(e)})}setupAutofillDetection(){i.fromEvent(this.inputElement,"animationstart").pipe(i.filter(t=>t.animationName==="onAutoFillStart"),i.takeUntil(this.disconnecting)).subscribe(t=>{const{value:e}=t.target;this.value=e,this.isAutofilled=!0,this.dirty=this.value!==this.defaultValue,this.dispatchEvent(new CustomEvent("autofill",{detail:{value:e},bubbles:!0,composed:!0})),this.emitChange({value:e})}),i.fromEvent(this.inputElement,"animationstart").pipe(i.filter(t=>t.animationName==="onAutoFillCancel"),i.takeUntil(this.disconnecting)).subscribe(()=>{this.isAutofilled=!1})}setupEnterKeyEvents(){i.fromEvent(this.inputElement,"keydown").pipe(i.filter(t=>t.key==="Enter"),i.takeUntil(this.disconnecting)).subscribe(t=>{const{value:e}=t.target;this.value!==e&&(this.value=e,this.dirty=this.value!==this.defaultValue),this.inputElement.blur();const s=new CustomEvent("enter",{detail:{value:this.value},bubbles:!0,composed:!0});Object.defineProperties(s,{key:{value:"Enter"},code:{value:"Enter"},keyCode:{value:13},which:{value:13}}),this.dispatchEvent(s)})}select(){return this.inputRef.value?.select()}getValidity(){return this.inputRef.value?.validity}setSelectionRange(t,e,s){this.inputRef.value?.setSelectionRange(t,e,s)}get selectionStart(){return this.inputRef.value?.selectionStart??null}get selectionEnd(){return this.inputRef.value?.selectionEnd??null}get selectionDirection(){return this.inputRef.value?.selectionDirection??null}setRangeText(t,e,s,r){e!==void 0&&s!==void 0?this.inputRef.value?.setRangeText(t,e,s,r):this.inputRef.value?.setRangeText(t)}focus(t){this.inputRef.value?.focus(t),this.dispatchEvent(new Event("focus"))}click(){this.inputRef.value?.click(),this.dispatchEvent(new Event("click"))}blur(){this.inputRef.value?.blur(),this.dispatchEvent(new Event("blur"))}render(){const{height:t,padding:e,fontSize:s}=(()=>{switch(this.size){case"xxs":return{height:"24px",padding:"0 8px",fontSize:"0.625rem"};case"xs":return{height:"32px",padding:"0 12px",fontSize:"0.75rem"};case"sm":return{height:"40px",padding:"0 16px",fontSize:"0.875rem"};case"lg":return{height:"56px",padding:"0 20px",fontSize:"1rem"};default:return{height:"48px",padding:"0 16px",fontSize:"0.875rem"}}})(),r=["date","datetime-local","time","month","week"].includes(this.type),u={"block w-full min-w-0 rounded-[8px] border-0 bg-surface-highest text-surface-on":!0,"outline-secondary-default focus:outline-1":!0,"disabled:opacity-40 disabled:cursor-not-allowed":!0,"placeholder:text-muted":!0,"ring-0 ring-inset focus:ring-1 focus:ring-inset":!0,"ring-secondary-default ring-outline focus:ring-secondary-default":!this.error,"ring-error-default focus:ring-error-default":this.error,"caret-transparent focus:outline-hidden cursor-pointer select-none":this.readonly,"cursor-pointer":this.clickable,"text-left":this.align==="left"||r,"text-center":this.align==="center"&&!r,"text-right":this.align==="right"&&!r,autofilled:this.isAutofilled},p={"block mb-1 font-medium":!0,"opacity-40":this.disabled,"text-[10px]":this.size==="xxs","text-xs":this.size==="xs","text-sm":this.size==="sm","text-base":this.size==="md","text-lg":this.size==="lg","text-primary-default":!this.error,"text-error-default":this.error},d={height:t,padding:e,fontSize:s,lineHeight:t};return l.html`
2
- <div class="w-full min-w-0 ${r?"date-input-container":""}">
3
- ${h.when(this.label,()=>l.html`
4
- <label
5
- for=${this.id}
6
- class=${this.classMap(p)}
7
- >
8
- ${this.label}
9
- </label>
10
- `)}
11
-
12
- <input
13
- ${c.ref(this.inputRef)}
14
- id=${this.id}
15
- name=${this.name}
16
- class=${this.classMap(u)}
17
- style=${this.styleMap(d)}
18
- .value=${this.value}
19
- .type=${this.type}
20
- .autocomplete=${this.autocomplete}
21
- .spellcheck=${this.spellcheck}
22
- placeholder=${this.placeholder}
23
- inputmode=${o.ifDefined(this.inputmode)}
24
- pattern=${o.ifDefined(this.pattern)}
25
- .step=${this.step??""}
26
- minlength=${o.ifDefined(this.minlength)}
27
- maxlength=${o.ifDefined(this.maxlength)}
28
- min=${o.ifDefined(this.min)}
29
- max=${o.ifDefined(this.max)}
30
- list=${o.ifDefined(this.list)}
31
- ?required=${this.required}
32
- ?disabled=${this.disabled}
33
- ?readonly=${this.readonly}
34
- aria-invalid=${this.error?"true":"false"}
35
- aria-required=${this.required?"true":"false"}
36
- aria-labelledby=${this.label?`label-${this.id}`:l.nothing}
37
- aria-describedby=${this.hint||this.validationMessage?`hint-${this.id}`:l.nothing}
38
- aria-label=${o.ifDefined(this.label?void 0:this.placeholder||"Input")}
39
- />
40
-
41
- ${h.when(this.hint||this.error&&this.validationMessage,()=>l.html`
42
- <div
43
- id="hint-${this.id}"
44
- class="mt-1 text-sm ${this.error?"text-error-default":"text-surface-onVariant"}"
45
- >
46
- ${this.error&&this.validationMessage?this.validationMessage:this.hint}
47
- </div>
48
- `)}
49
- </div>
50
- `}},exports.SchmancyInput._idCounter=0,exports.SchmancyInput.shadowRootOptions={...l.LitElement.shadowRootOptions,delegatesFocus:!0},a([n.property({type:String,reflect:!0})],exports.SchmancyInput.prototype,"value",2),a([n.property({reflect:!0})],exports.SchmancyInput.prototype,"type",2),a([n.property()],exports.SchmancyInput.prototype,"placeholder",2),a([n.property({type:String,reflect:!0})],exports.SchmancyInput.prototype,"pattern",2),a([n.property({type:Boolean,reflect:!0})],exports.SchmancyInput.prototype,"clickable",2),a([n.property({type:Boolean,reflect:!0})],exports.SchmancyInput.prototype,"spellcheck",2),a([n.property({type:String,reflect:!0})],exports.SchmancyInput.prototype,"align",2),a([n.property()],exports.SchmancyInput.prototype,"inputmode",2),a([n.property({type:Number,reflect:!0})],exports.SchmancyInput.prototype,"minlength",2),a([n.property({type:Number})],exports.SchmancyInput.prototype,"maxlength",2),a([n.property()],exports.SchmancyInput.prototype,"min",2),a([n.property()],exports.SchmancyInput.prototype,"max",2),a([n.property({reflect:!0})],exports.SchmancyInput.prototype,"step",2),a([n.property({type:Boolean})],exports.SchmancyInput.prototype,"autofocus",2),a([n.property({type:String,reflect:!0})],exports.SchmancyInput.prototype,"autocomplete",2),a([n.property({type:Number,reflect:!0})],exports.SchmancyInput.prototype,"tabIndex",2),a([n.property({type:String,reflect:!0})],exports.SchmancyInput.prototype,"size",2),a([n.property({type:String})],exports.SchmancyInput.prototype,"validateOn",2),a([n.property({type:String})],exports.SchmancyInput.prototype,"list",2),a([n.query("input")],exports.SchmancyInput.prototype,"inputElement",2),a([n.state()],exports.SchmancyInput.prototype,"isAutofilled",2),a([n.state()],exports.SchmancyInput.prototype,"touched",2),a([n.state()],exports.SchmancyInput.prototype,"dirty",2),a([n.state()],exports.SchmancyInput.prototype,"submitted",2),a([n.state()],exports.SchmancyInput.prototype,"defaultValue",2),exports.SchmancyInput=a([n.customElement("schmancy-input")],exports.SchmancyInput),exports.SchmancyInputCompat=class extends exports.SchmancyInput{},exports.SchmancyInputCompat=a([n.customElement("sch-input")],exports.SchmancyInputCompat);
51
- //# sourceMappingURL=input-BByjYlgl.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-BByjYlgl.cjs","sources":["../src/input/input.ts"],"sourcesContent":["import { html, LitElement, nothing, PropertyValueMap } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { when } from 'lit/directives/when.js'\nimport { distinctUntilChanged, filter, fromEvent, map, takeUntil } from 'rxjs'\n\nimport { SchmancyFormField } from '@mixins/index'\n\n// Import styles\nimport style from './input.scss?inline'\n\n// If you want to be form-associated, define the type on `ElementInternals`.\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-input': SchmancyInput\n\t\t'sch-input': SchmancyInput\n\t}\n}\n\ntype EventDetails = {\n\tvalue: string\n}\n\n/**\n * Custom events the component may emit:\n * - 'input': on every keystroke\n * - 'change': on native blur/change\n * - 'enter': specifically when user presses Enter\n */\nexport type SchmancyInputInputEvent = CustomEvent<EventDetails>\nexport type SchmancyInputChangeEvent = CustomEvent<EventDetails>\nexport type SchmancyInputEnterEvent = CustomEvent<EventDetails>\n\n/**\n * Size variants for the input - M3 spec aligned.\n * - xxs: Ultra-compact (24dp) - for menu cards, compact UIs\n * - xs: Dense/compact (32dp) - M3 density -3\n * - sm: Default (40dp) - M3 density 0\n * - md: Standard (48dp) - M3 large\n * - lg: Extra large (56dp) - M3 extra large\n */\nexport type InputSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg'\n\n/**\n * Enhanced version of the SchmancyInput component with improved form integration\n * and compatibility with legacy API.\n *\n * This component uses the native form association API and maintains parity with\n * native input behaviors while providing a stylish, accessible interface.\n *\n * @prop {string} name - Name attribute for form submission (inherited from FormFieldMixin)\n * @prop {string} label - Label text for the form field (inherited from FormFieldMixin)\n * @prop {boolean} required - Whether the field is required (inherited from FormFieldMixin)\n * @prop {boolean} disabled - Whether the field is disabled (inherited from FormFieldMixin)\n * @prop {boolean} readonly - Whether the field is read-only (inherited from FormFieldMixin)\n * @prop {boolean} error - Whether the field is in an error state (inherited from FormFieldMixin)\n * @prop {string} validationMessage - The validation message to display (inherited from FormFieldMixin)\n * @prop {string} hint - Optional hint text to display below the field (inherited from FormFieldMixin)\n */\n@customElement('schmancy-input')\nexport default class SchmancyInput extends SchmancyFormField(style) {\n\t// ----------------------------\n\t// A) Public properties\n\t// ----------------------------\n\n\t/** Auto-incrementing counter for generating unique IDs */\n\tstatic _idCounter = 0\n\n\t/** Override value to be string only for input element */\n\t@property({ type: String, reflect: true })\n\tpublic override value = ''\n\n\n\t/**\n\t * The type of input. (e.g. 'text', 'password', 'email', etc.)\n\t */\n\t@property({ reflect: true })\n\tpublic type: HTMLInputElement['type'] = 'text'\n\n\n\t@property()\n\tpublic placeholder = ''\n\n\n\t/** Pattern validation attribute. */\n\t@property({ type: String, reflect: true })\n\tpublic pattern?: string\n\n\n\t/** If true, we visually show a pointer cursor even if readOnly. */\n\t@property({ type: Boolean, reflect: true }) public clickable = false\n\n\t/** Whether browser spellcheck is enabled. */\n\t@property({ type: Boolean, reflect: true })\n\tpublic spellcheck = false\n\n\t/**\n\t * Text alignment within the input.\n\t * - 'left' | 'center' | 'right'\n\t */\n\t@property({ type: String, reflect: true })\n\tpublic align: 'left' | 'center' | 'right' = 'left'\n\n\t/** inputmode attribute (affects on-screen keyboards in mobile). */\n\t@property()\n\tpublic inputmode?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'\n\n\t@property({ type: Number, reflect: true })\n\tpublic minlength?: number\n\n\t@property({ type: Number })\n\tpublic maxlength?: number\n\n\t@property()\n\tpublic min?: string\n\n\t@property()\n\tpublic max?: string\n\n\t@property({ reflect: true })\n\tpublic step?: string = 'any'\n\n\t/** If true, auto-focus this input on first render. */\n\t@property({ type: Boolean })\n\tpublic autofocus = false\n\n\t/** Autocomplete/autofill hints. */\n\t@property({ type: String, reflect: true })\n\tpublic autocomplete: AutoFill = 'on'\n\n\t/**\n\t * tabIndex for focusing by tab key. Typically 0 or -1.\n\t */\n\t@property({ type: Number, reflect: true })\n\tpublic override tabIndex = 0\n\n\n\t/**\n\t * The size of the input.\n\t * - 'xxs': Ultra-compact size (24px) - for menu cards\n\t * - 'xs': Extra small, very compact size (32px)\n\t * - 'sm': Small, compact size (40px)\n\t * - 'md': Medium size (default) (48px)\n\t * - 'lg': Large size (56px)\n\t */\n\t@property({ type: String, reflect: true })\n\tpublic size: InputSize = 'md'\n\n\t/**\n\t * Controls when validation should show.\n\t * - 'always' - Always show validation\n\t * - 'touched' - Only show after field has been focused and then blurred\n\t * - 'dirty' - Only show after value has changed\n\t * - 'submitted' - Only show after form submission\n\t */\n\t@property({ type: String })\n\tpublic validateOn: 'always' | 'touched' | 'dirty' | 'submitted' = 'touched'\n\n\t/**\n\t * For datalist support\n\t */\n\t@property({ type: String })\n\tpublic list?: string\n\n\n\t// ----------------------------\n\t// B) Queries & Refs\n\t// ----------------------------\n\t@query('input') private inputElement!: HTMLInputElement\n\tprivate inputRef = createRef<HTMLInputElement>()\n\n\t// ----------------------------\n\t// C) Internal States\n\t// ----------------------------\n\n\t/**\n\t * For integration with browser's autofill support\n\t */\n\t@state()\n\tprivate isAutofilled = false\n\n\t/**\n\t * Track user interaction state for validation\n\t */\n\t@state()\n\tprivate touched = false\n\n\t@state()\n\tprivate dirty = false\n\n\t@state()\n\tprivate submitted = false\n\n\t/**\n\t * Store the default value for reset behavior\n\t */\n\t@state()\n\tprivate defaultValue = ''\n\n\t// ----------------------------\n\t// D) Form-associated logic\n\t// ----------------------------\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true, // so focus() goes to <input>\n\t}\n\n\tprivate formResetObserver?: MutationObserver\n\n\t/**\n\t * If user did not provide an ID, auto-generate one so <label for=\"...\">\n\t * and various aria-* attributes can reference it.\n\t */\n\tprotected override willUpdate(changedProps: PropertyValueMap<any> | Map<PropertyKey, unknown>) {\n\t\tif (!this.id) {\n\t\t\tthis.id = `sch-input-${SchmancyInput._idCounter++}`\n\t\t}\n\t\tsuper.willUpdate(changedProps)\n\t}\n\n\n\tprotected override updated(changedProps: Map<string, unknown>) {\n\t\tsuper.updated(changedProps)\n\n\t\t// Handle value changes\n\t\tif (changedProps.has('value')) {\n\t\t\t// If value changes from original default, mark as dirty\n\t\t\tif (this.value !== this.defaultValue) {\n\t\t\t\tthis.dirty = true\n\t\t\t}\n\n\t\t\t// Update validation state when value changes\n\t\t\tthis.validateInput()\n\t\t}\n\n\t\t// Store default value if this is the first update\n\t\tif (!this.hasUpdated && changedProps.has('value')) {\n\t\t\tthis.defaultValue = this.value\n\t\t}\n\t}\n\n\t/**\n\t * Connect to the closest form element and set up form integration\n\t */\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Store initial default value for form reset\n\t\tthis.defaultValue = this.value\n\n\t\t// Set up form integration\n\t\tthis.setupFormIntegration()\n\n\t\t// Setup for external label association\n\t\tthis.setupExternalLabelAssociation()\n\t}\n\n\t/**\n\t * Set up form integration with ElementInternals\n\t */\n\tprivate setupFormIntegration() {\n\t\tif (this.form) {\n\t\t\t// Listen for form reset events\n\t\t\tthis.formResetObserver = new MutationObserver(mutations => {\n\t\t\t\tfor (const mutation of mutations) {\n\t\t\t\t\tif (mutation.type === 'attributes' && mutation.attributeName === 'reset') {\n\t\t\t\t\t\tthis.resetToDefault()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// Observe the form for reset events\n\t\t\tthis.formResetObserver.observe(this.form, {\n\t\t\t\tattributes: true,\n\t\t\t\tchildList: false,\n\t\t\t\tsubtree: false,\n\t\t\t})\n\n\t\t\t// Use RxJS for form reset events\n\t\t\tfromEvent(this.form, 'reset')\n\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tthis.resetToDefault()\n\t\t\t\t})\n\n\t\t\t// Use RxJS for form submit events to mark field as submitted\n\t\t\tfromEvent(this.form, 'submit')\n\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tthis.submitted = true\n\t\t\t\t\t// Validate on form submission\n\t\t\t\t\tthis.validateInput(true)\n\t\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Set up external label association for native HTML label support\n\t */\n\tprivate setupExternalLabelAssociation() {\n\t\tif (this.id) {\n\t\t\tconst setupLabelClickListener = () => {\n\t\t\t\tconst labels = document.querySelectorAll(`label[for=\"${this.id}\"]`)\n\t\t\t\tlabels.forEach(label => {\n\t\t\t\t\t// Use RxJS for label click events\n\t\t\t\t\tfromEvent(label, 'click')\n\t\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t\t.subscribe(() => {\n\t\t\t\t\t\t\tthis.focus()\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// Initialize after DOM is ready\n\t\t\tif (document.readyState === 'complete') {\n\t\t\t\tsetupLabelClickListener()\n\t\t\t} else {\n\t\t\t\t// Use RxJS for DOMContentLoaded event\n\t\t\t\tfromEvent(document, 'DOMContentLoaded')\n\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t.subscribe(setupLabelClickListener)\n\t\t\t}\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\n\t\t// Clean up the form observer\n\t\tif (this.formResetObserver) {\n\t\t\tthis.formResetObserver.disconnect()\n\t\t}\n\n\t\t// Note: RxJS subscriptions are automatically cleaned up via takeUntil(this.disconnecting)\n\t\t// No manual removeEventListener calls needed for RxJS-managed events\n\t}\n\n\t/**\n\t * Reset the input to its default state\n\t */\n\tprivate resetToDefault() {\n\t\tthis.value = this.defaultValue\n\t\tthis.touched = false\n\t\tthis.dirty = false\n\t\tthis.submitted = false\n\t\tthis.error = false\n\t\tthis.validationMessage = ''\n\t\tthis.dispatchEvent(new CustomEvent('reset', { bubbles: true }))\n\t}\n\n\t/**\n\t * Determines if validation errors should be shown based on current state\n\t * and validation strategy\n\t */\n\tprivate shouldShowValidation(forceValidation = false): boolean {\n\t\tif (forceValidation) return true\n\n\t\tswitch (this.validateOn) {\n\t\t\tcase 'always':\n\t\t\t\treturn true\n\t\t\tcase 'touched':\n\t\t\t\treturn this.touched\n\t\t\tcase 'dirty':\n\t\t\t\treturn this.dirty\n\t\t\tcase 'submitted':\n\t\t\t\treturn this.submitted\n\t\t\tdefault:\n\t\t\t\treturn this.touched\n\t\t}\n\t}\n\n\n\t/**\n\t * Validate input based on required, pattern, etc.\n\t * This mimics native validation behavior\n\t */\n\tprivate validateInput(forceValidation = false) {\n\t\t// Skip validation for disabled inputs\n\t\tif (this.disabled) return\n\n\t\t// Only show validation errors if we should based on the validation strategy\n\t\tconst shouldValidate = this.shouldShowValidation(forceValidation)\n\n\t\t// Get validity state from internal input if available\n\t\tconst validity: ValidityState = this.inputElement?.validity ?? {\n\t\t\tbadInput: false,\n\t\t\tcustomError: false,\n\t\t\tpatternMismatch: false,\n\t\t\trangeOverflow: false,\n\t\t\trangeUnderflow: false,\n\t\t\tstepMismatch: false,\n\t\t\ttooLong: false,\n\t\t\ttooShort: false,\n\t\t\ttypeMismatch: false,\n\t\t\tvalid: true,\n\t\t\tvalueMissing: false,\n\t\t}\n\n\t\t// Check if the input has an actual validation error (not a custom error)\n\t\tconst hasError = !validity.valid && !validity.customError\n\n\t\tif (shouldValidate && hasError) {\n\t\t\t// There's an error and we should show it\n\t\t\tthis.error = true\n\t\t\tthis.validationMessage = this.inputElement?.validationMessage || ''\n\t\t} else if (validity.valid) {\n\t\t\t// Input is valid, so clear the error state\n\t\t\tthis.error = false\n\n\t\t\t// Only clear validation message if there's no custom error\n\t\t\tif (!validity.customError) {\n\t\t\t\tthis.validationMessage = ''\n\t\t\t}\n\t\t} else if (!shouldValidate) {\n\t\t\t// We shouldn't show validation yet, so clear visual error state\n\t\t\tthis.error = false\n\t\t}\n\n\t\t// The mixin will handle updating internals based on error state\n\t}\n\n\t/**\n\t * Check validity without showing validation UI\n\t */\n\tpublic override checkValidity() {\n\t\t// Check internal input first\n\t\tconst inputValid = this.inputRef.value?.checkValidity() ?? true\n\n\t\t// Call parent implementation for basic validation\n\t\tconst parentValid = super.checkValidity()\n\n\t\treturn inputValid && parentValid\n\t}\n\n\t/**\n\t * Show validation UI and check validity\n\t */\n\tpublic override reportValidity() {\n\t\t// Mark as touched and submitted to show validation\n\t\tthis.touched = true\n\t\tthis.submitted = true\n\n\t\t// First check using native input\n\t\tconst inputValid = this.inputRef.value?.reportValidity() ?? true\n\n\t\t// Update our component's validation state with force=true\n\t\tthis.validateInput(true)\n\n\t\t// Call parent implementation\n\t\tconst parentValid = super.reportValidity()\n\n\t\treturn inputValid && parentValid\n\t}\n\n\t/**\n\t * Set a custom validation error message\n\t */\n\tpublic override setCustomValidity(message: string) {\n\t\t// Set on the native input\n\t\tif (this.inputRef.value) {\n\t\t\tthis.inputRef.value.setCustomValidity(message)\n\t\t}\n\n\t\t// Call parent implementation\n\t\tsuper.setCustomValidity(message)\n\t\t\n\t\t// Update error state based on validation strategy\n\t\tthis.error = message !== '' && this.shouldShowValidation()\n\t}\n\n\t// ----------------------------\n\t// E) Lifecycle Hooks & Event Handlers\n\t// ----------------------------\n\tfirstUpdated() {\n\t\t// Autofocus if desired\n\t\tif (this.autofocus) {\n\t\t\t// Use setTimeout to match browser behavior - autofocus happens after initial rendering\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.focus()\n\t\t\t}, 0)\n\t\t}\n\n\t\t// Subscribe to input events\n\t\tthis.setupInputEvents()\n\t\tthis.setupFocusBlurEvents()\n\t\tthis.setupAutofillDetection()\n\t\tthis.setupEnterKeyEvents()\n\t}\n\n\t/**\n\t * Set up input event handling for value changes\n\t */\n\tprivate setupInputEvents() {\n\t\tfromEvent<InputEvent>(this.inputElement, 'input')\n\t\t\t.pipe(\n\t\t\t\tmap(ev => {\n\t\t\t\t\t// Capture all input event properties for complete event forwarding\n\t\t\t\t\tconst inputEvent = ev as InputEvent\n\t\t\t\t\tconst target = ev.target as HTMLInputElement\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvalue: target.value,\n\t\t\t\t\t\tinputType: inputEvent.inputType,\n\t\t\t\t\t\tdata: inputEvent.data,\n\t\t\t\t\t\tisComposing: inputEvent.isComposing,\n\t\t\t\t\t\toriginalEvent: ev,\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(eventData => {\n\t\t\t\t// Update component value\n\t\t\t\tthis.value = eventData.value\n\n\t\t\t\t// Mark as dirty when user types\n\t\t\t\tthis.dirty = this.value !== this.defaultValue\n\n\t\t\t\t// Fire custom 'input' event with extended details\n\t\t\t\tconst customEvent = new CustomEvent<EventDetails>('input', {\n\t\t\t\t\tdetail: { value: eventData.value },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t})\n\n\t\t\t\t// Add additional properties to match native events more closely\n\t\t\t\tObject.defineProperties(customEvent, {\n\t\t\t\t\tinputType: { value: eventData.inputType },\n\t\t\t\t\tdata: { value: eventData.data },\n\t\t\t\t\tisComposing: { value: eventData.isComposing },\n\t\t\t\t})\n\n\t\t\t\tthis.dispatchEvent(customEvent)\n\n\t\t\t\t// REMOVED: Duplicate change event dispatch that was here\n\t\t\t\t// Run validation like native inputs do on input, but respect the validation strategy\n\t\t\t\tthis.validateInput()\n\t\t\t})\n\n\t\t// Subscribe to native change events (usually on blur)\n\t\tfromEvent<Event>(this.inputElement, 'change')\n\t\t\t.pipe(\n\t\t\t\tmap(ev => (ev.target as HTMLInputElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dirty = this.value !== this.defaultValue\n\n\t\t\t\t// Fire regular change event using mixin helper\n\t\t\t\tthis.emitChange({ value })\n\n\t\t\t\t// Run validation on change like native inputs\n\t\t\t\tthis.validateInput()\n\t\t\t})\n\t}\n\n\t/**\n\t * Set up focus/blur event handling\n\t */\n\tprivate setupFocusBlurEvents() {\n\t\tfromEvent<FocusEvent>(this.inputElement, 'focus')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(ev => {\n\t\t\t\t// Create a custom focus event that includes standard props\n\t\t\t\tconst focusEvent = new CustomEvent('focus', {\n\t\t\t\t\tbubbles: ev.bubbles,\n\t\t\t\t\tcancelable: ev.cancelable,\n\t\t\t\t\tcomposed: ev.composed,\n\t\t\t\t})\n\n\t\t\t\t// Add focus-specific properties\n\t\t\t\tObject.defineProperties(focusEvent, {\n\t\t\t\t\trelatedTarget: { value: ev.relatedTarget },\n\t\t\t\t})\n\n\t\t\t\tthis.dispatchEvent(focusEvent)\n\t\t\t})\n\n\t\tfromEvent<FocusEvent>(this.inputElement, 'blur')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(ev => {\n\t\t\t\t// Mark as touched when field loses focus\n\t\t\t\tthis.touched = true\n\n\t\t\t\t// Run validation on blur like native inputs, respecting validation strategy\n\t\t\t\tif (!this.disabled) {\n\t\t\t\t\tthis.validateInput()\n\t\t\t\t}\n\n\t\t\t\t// Create a custom blur event that includes standard props\n\t\t\t\tconst blurEvent = new CustomEvent('blur', {\n\t\t\t\t\tbubbles: ev.bubbles,\n\t\t\t\t\tcancelable: ev.cancelable,\n\t\t\t\t\tcomposed: ev.composed,\n\t\t\t\t})\n\n\t\t\t\t// Add blur-specific properties\n\t\t\t\tObject.defineProperties(blurEvent, {\n\t\t\t\t\trelatedTarget: { value: ev.relatedTarget },\n\t\t\t\t})\n\n\t\t\t\tthis.dispatchEvent(blurEvent)\n\t\t\t})\n\t}\n\n\t/**\n\t * Set up autofill detection\n\t */\n\tprivate setupAutofillDetection() {\n\t\t// Detect autofill animation (Chrome, etc.)\n\t\tfromEvent<AnimationEvent>(this.inputElement, 'animationstart')\n\t\t\t.pipe(\n\t\t\t\tfilter(ev => ev.animationName === 'onAutoFillStart'),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(ev => {\n\t\t\t\tconst { value } = ev.target as HTMLInputElement\n\t\t\t\tthis.value = value\n\t\t\t\tthis.isAutofilled = true\n\t\t\t\tthis.dirty = this.value !== this.defaultValue\n\n\t\t\t\t// Dispatch autofill event for integration with autofill systems\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('autofill', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\n\t\t\t\t// Also propagate as a change event like browsers do\n\t\t\t\tthis.emitChange({ value })\n\t\t\t})\n\n\t\t// Detect end of autofill (Chrome)\n\t\tfromEvent<AnimationEvent>(this.inputElement, 'animationstart')\n\t\t\t.pipe(\n\t\t\t\tfilter(ev => ev.animationName === 'onAutoFillCancel'),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.isAutofilled = false\n\t\t\t})\n\t}\n\n\t/**\n\t * Set up enter key event handling\n\t */\n\tprivate setupEnterKeyEvents() {\n\t\t// Listen for Enter on keydown\n\t\tfromEvent<KeyboardEvent>(this.inputElement, 'keydown')\n\t\t\t.pipe(\n\t\t\t\tfilter(ev => ev.key === 'Enter'),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(ev => {\n\t\t\t\tconst { value } = ev.target as HTMLInputElement\n\t\t\t\t\n\t\t\t\t// Update value if changed\n\t\t\t\tif (this.value !== value) {\n\t\t\t\t\tthis.value = value\n\t\t\t\t\tthis.dirty = this.value !== this.defaultValue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// Blur the input to trigger change event naturally\n\t\t\t\t// This mimics what happens when you tab out of the field\n\t\t\t\tthis.inputElement.blur()\n\n\t\t\t\t// Dispatch enhanced enter event\n\t\t\t\tconst enterEvent = new CustomEvent<EventDetails>('enter', {\n\t\t\t\t\tdetail: { value: this.value },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t})\n\n\t\t\t\t// Add extra keyboard event props\n\t\t\t\tObject.defineProperties(enterEvent, {\n\t\t\t\t\tkey: { value: 'Enter' },\n\t\t\t\t\tcode: { value: 'Enter' },\n\t\t\t\t\tkeyCode: { value: 13 },\n\t\t\t\t\twhich: { value: 13 },\n\t\t\t\t})\n\n\t\t\t\tthis.dispatchEvent(enterEvent)\n\t\t\t})\n\t}\n\n\t// ----------------------------\n\t// F) Utility Methods\n\t// ----------------------------\n\t/** Selects all text within the input. */\n\tpublic select() {\n\t\treturn this.inputRef.value?.select()\n\t}\n\n\t/** Returns the native validity state of the inner <input>. */\n\tpublic getValidity(): ValidityState | undefined {\n\t\treturn this.inputRef.value?.validity\n\t}\n\n\t/**\n\t * Sets the selection range. Mirrors native input.setSelectionRange\n\t */\n\tpublic setSelectionRange(start: number, end: number, direction?: 'forward' | 'backward' | 'none') {\n\t\tthis.inputRef.value?.setSelectionRange(start, end, direction)\n\t}\n\n\t/**\n\t * Returns the selected text within the input (start position)\n\t */\n\tpublic get selectionStart(): number | null {\n\t\treturn this.inputRef.value?.selectionStart ?? null\n\t}\n\n\t/**\n\t * Returns the selected text within the input (end position)\n\t */\n\tpublic get selectionEnd(): number | null {\n\t\treturn this.inputRef.value?.selectionEnd ?? null\n\t}\n\n\t/**\n\t * Returns the direction of selection\n\t */\n\tpublic get selectionDirection(): 'forward' | 'backward' | 'none' | null {\n\t\treturn this.inputRef.value?.selectionDirection ?? null\n\t}\n\n\t/**\n\t * Sets the range of text to be selected.\n\t */\n\tpublic setRangeText(\n\t\treplacement: string,\n\t\tstart?: number,\n\t\tend?: number,\n\t\tselectMode?: 'select' | 'start' | 'end' | 'preserve',\n\t) {\n\t\tif (start !== undefined && end !== undefined) {\n\t\t\tthis.inputRef.value?.setRangeText(replacement, start, end, selectMode)\n\t\t} else {\n\t\t\tthis.inputRef.value?.setRangeText(replacement)\n\t\t}\n\t}\n\n\t/**\n\t * Override to forward focus to the internal <input>.\n\t * Also dispatch a 'focus' event for external listeners.\n\t */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.inputRef.value?.focus(options)\n\t\tthis.dispatchEvent(new Event('focus'))\n\t}\n\n\t/**\n\t * Override to forward clicks to the internal <input>.\n\t * Also dispatch a 'click' event for external listeners.\n\t */\n\tpublic override click() {\n\t\tthis.inputRef.value?.click()\n\t\tthis.dispatchEvent(new Event('click'))\n\t}\n\n\t/** Forward blur to the internal <input>. */\n\tpublic override blur() {\n\t\tthis.inputRef.value?.blur()\n\t\tthis.dispatchEvent(new Event('blur'))\n\t}\n\n\t// ----------------------------\n\t// G) Rendering\n\t// ----------------------------\n\tprotected override render() {\n\t\t// Determine height and padding based on size - M3 spec aligned\n\t\tconst getHeightAndPadding = () => {\n\t\t\tswitch (this.size) {\n\t\t\t\tcase 'xxs':\n\t\t\t\t\t// Ultra-compact: 24dp height\n\t\t\t\t\treturn {\n\t\t\t\t\t\theight: '24px',\n\t\t\t\t\t\tpadding: '0 8px',\n\t\t\t\t\t\tfontSize: '0.625rem', // 10px\n\t\t\t\t\t}\n\t\t\t\tcase 'xs':\n\t\t\t\t\t// M3 dense: 32dp height\n\t\t\t\t\treturn {\n\t\t\t\t\t\theight: '32px',\n\t\t\t\t\t\tpadding: '0 12px',\n\t\t\t\t\t\tfontSize: '0.75rem', // 12px\n\t\t\t\t\t}\n\t\t\t\tcase 'sm':\n\t\t\t\t\t// M3 default: 40dp height\n\t\t\t\t\treturn {\n\t\t\t\t\t\theight: '40px',\n\t\t\t\t\t\tpadding: '0 16px',\n\t\t\t\t\t\tfontSize: '0.875rem', // 14px - M3 body-large\n\t\t\t\t\t}\n\t\t\t\tcase 'lg':\n\t\t\t\t\t// M3 extra large: 56dp height\n\t\t\t\t\treturn {\n\t\t\t\t\t\theight: '56px',\n\t\t\t\t\t\tpadding: '0 20px',\n\t\t\t\t\t\tfontSize: '1rem', // 16px\n\t\t\t\t\t}\n\t\t\t\tcase 'md':\n\t\t\t\tdefault:\n\t\t\t\t\t// M3 standard: 48dp height\n\t\t\t\t\treturn {\n\t\t\t\t\t\theight: '48px',\n\t\t\t\t\t\tpadding: '0 16px',\n\t\t\t\t\t\tfontSize: '0.875rem', // 14px - M3 body-large\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst { height, padding, fontSize } = getHeightAndPadding()\n\n\t\t// Check if it's a date-type input\n\t\tconst isDateType = ['date', 'datetime-local', 'time', 'month', 'week'].includes(this.type)\n\n\t\tconst inputClasses = {\n\t\t\t// Base styles\n\t\t\t'block w-full min-w-0 rounded-[8px] border-0 bg-surface-highest text-surface-on': true,\n\t\t\t// Focus styles\n\t\t\t'outline-secondary-default focus:outline-1': true,\n\t\t\t// Disabled styles\n\t\t\t'disabled:opacity-40 disabled:cursor-not-allowed': true,\n\t\t\t// Placeholder\n\t\t\t'placeholder:text-muted': true,\n\t\t\t// Ring styles\n\t\t\t'ring-0 ring-inset focus:ring-1 focus:ring-inset': true,\n\t\t\t// Ring colors based on error state\n\t\t\t'ring-secondary-default ring-outline focus:ring-secondary-default': !this.error,\n\t\t\t'ring-error-default focus:ring-error-default': this.error,\n\t\t\t// Readonly styles\n\t\t\t'caret-transparent focus:outline-hidden cursor-pointer select-none': this.readonly,\n\t\t\t'cursor-pointer': this.clickable,\n\t\t\t// Text alignment (date inputs always left-aligned)\n\t\t\t'text-left': this.align === 'left' || isDateType,\n\t\t\t'text-center': this.align === 'center' && !isDateType,\n\t\t\t'text-right': this.align === 'right' && !isDateType,\n\t\t\t// Autofill\n\t\t\tautofilled: this.isAutofilled,\n\t\t}\n\n\t\tconst labelClasses = {\n\t\t\t'block mb-1 font-medium': true,\n\t\t\t'opacity-40': this.disabled,\n\t\t\t'text-[10px]': this.size === 'xxs',\n\t\t\t'text-xs': this.size === 'xs',\n\t\t\t'text-sm': this.size === 'sm',\n\t\t\t'text-base': this.size === 'md',\n\t\t\t'text-lg': this.size === 'lg',\n\t\t\t'text-primary-default': !this.error,\n\t\t\t'text-error-default': this.error,\n\t\t}\n\n\t\tconst styles = {\n\t\t\theight,\n\t\t\tpadding,\n\t\t\tfontSize,\n\t\t\t// Ensure vertical centering for all input types\n\t\t\tlineHeight: height,\n\t\t}\n\n\t\t/**\n\t\t * - If `this.label` is present, we render a proper `<label for=\"${this.id}\">`.\n\t\t * - If not, we add an aria-label to the <input> for better accessibility.\n\t\t * - If there's a `hint`, we reference it via aria-describedby.\n\t\t * - If there's an error, we set aria-invalid and could set aria-errormessage.\n\t\t */\n\t\treturn html`\n\t\t\t<div class=\"w-full min-w-0 ${isDateType ? 'date-input-container' : ''}\">\n\t\t\t\t${when(\n\t\t\t\t\tthis.label,\n\t\t\t\t\t() => html`\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\tfor=${this.id}\n\t\t\t\t\t\t\tclass=${this.classMap(labelClasses)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t${this.label}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\n\t\t\t\t<input\n\t\t\t\t\t${ref(this.inputRef)}\n\t\t\t\t\tid=${this.id}\n\t\t\t\t\tname=${this.name}\n\t\t\t\t\tclass=${this.classMap(inputClasses)}\n\t\t\t\t\tstyle=${this.styleMap(styles)}\n\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t.type=${this.type}\n\t\t\t\t\t.autocomplete=${this.autocomplete}\n\t\t\t\t\t.spellcheck=${this.spellcheck}\n\t\t\t\t\tplaceholder=${this.placeholder}\n\t\t\t\t\tinputmode=${ifDefined(this.inputmode)}\n\t\t\t\t\tpattern=${ifDefined(this.pattern)}\n\t\t\t\t\t.step=${this.step ?? ''}\n\t\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\t\tmin=${ifDefined(this.min)}\n\t\t\t\t\tmax=${ifDefined(this.max)}\n\t\t\t\t\tlist=${ifDefined(this.list)}\n\t\t\t\t\t?required=${this.required}\n\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t\t?readonly=${this.readonly}\n\t\t\t\t\taria-invalid=${this.error ? 'true' : 'false'}\n\t\t\t\t\taria-required=${this.required ? 'true' : 'false'}\n\t\t\t\t\taria-labelledby=${this.label ? `label-${this.id}` : nothing}\n\t\t\t\t\taria-describedby=${this.hint || this.validationMessage ? `hint-${this.id}` : nothing}\n\t\t\t\t\taria-label=${ifDefined(!this.label ? this.placeholder || 'Input' : undefined)}\n\t\t\t\t/>\n\n\t\t\t\t${when(\n\t\t\t\t\tthis.hint || (this.error && this.validationMessage),\n\t\t\t\t\t() => html`\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tid=\"hint-${this.id}\"\n\t\t\t\t\t\t\tclass=\"mt-1 text-sm ${this.error ? 'text-error-default' : 'text-surface-onVariant'}\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t${this.error && this.validationMessage ? this.validationMessage : this.hint}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\t\t\t</div>\n\t\t`\n\t}\n}\n\n/**\n * Register the component with the legacy tag name for backward compatibility\n * @prop {string} label - Label text for the form field (inherited from FormFieldMixin)\n * @prop {boolean} required - Whether the field is required (inherited from FormFieldMixin)\n * @prop {boolean} disabled - Whether the field is disabled (inherited from FormFieldMixin)\n * @prop {boolean} readonly - Whether the field is read-only (inherited from FormFieldMixin)\n * @prop {boolean} error - Whether the field is in an error state (inherited from FormFieldMixin)\n * @prop {string} validationMessage - The validation message to display (inherited from FormFieldMixin)\n * @prop {string} hint - Optional hint text to display below the field (inherited from FormFieldMixin)\n */\n@customElement('sch-input')\nexport class SchmancyInputCompat extends SchmancyInput {}\n"],"names":["SchmancyInput","SchmancyFormField","constructor","super","arguments","this","value","type","placeholder","clickable","spellcheck","align","step","autofocus","autocomplete","tabIndex","size","validateOn","inputRef","createRef","isAutofilled","touched","dirty","submitted","defaultValue","changedProps","id","_idCounter","willUpdate","updated","has","validateInput","hasUpdated","connectedCallback","setupFormIntegration","setupExternalLabelAssociation","form","formResetObserver","MutationObserver","mutations","mutation","attributeName","resetToDefault","observe","attributes","childList","subtree","fromEvent","pipe","takeUntil","disconnecting","subscribe","setupLabelClickListener","document","querySelectorAll","forEach","label","focus","readyState","disconnectedCallback","disconnect","error","validationMessage","dispatchEvent","CustomEvent","bubbles","forceValidation","disabled","shouldValidate","shouldShowValidation","validity","inputElement","customError","valid","hasError","checkValidity","inputValid","parentValid","reportValidity","message","setCustomValidity","firstUpdated","setTimeout","setupInputEvents","setupFocusBlurEvents","setupAutofillDetection","setupEnterKeyEvents","map","ev","inputEvent","target","inputType","data","isComposing","originalEvent","eventData","customEvent","detail","composed","Object","defineProperties","distinctUntilChanged","emitChange","focusEvent","cancelable","relatedTarget","blurEvent","filter","animationName","key","blur","enterEvent","code","keyCode","which","select","start","end","direction","setSelectionRange","selectionStart","selectionEnd","selectionDirection","replacement","selectMode","setRangeText","options","Event","click","render","height","padding","fontSize","getHeightAndPadding","isDateType","includes","inputClasses","readonly","autofilled","labelClasses","styles","lineHeight","html","when","classMap","ref","name","styleMap","ifDefined","inputmode","pattern","minlength","maxlength","min","max","list","required","nothing","hint","shadowRootOptions","LitElement","delegatesFocus","__decorateClass","property","String","reflect","prototype","Boolean","Number","query","state","customElement","SchmancyInputCompat"],"mappings":"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"}
@@ -1,237 +0,0 @@
1
- import { nothing as b, html as m, LitElement as w } from "lit";
2
- import { property as a, query as k, state as c, customElement as x } from "lit/decorators.js";
3
- import { ifDefined as u } from "lit/directives/if-defined.js";
4
- import { createRef as E, ref as $ } from "lit/directives/ref.js";
5
- import { when as y } from "lit/directives/when.js";
6
- import { fromEvent as o, takeUntil as l, map as g, distinctUntilChanged as R, filter as f } from "rxjs";
7
- import "rxjs/operators";
8
- import "lit/directives/class-map.js";
9
- import "lit/directives/style-map.js";
10
- import { S } from "./formField.mixin-BCGA7Ea3.js";
11
- import "./tailwind.mixin-Bp_PR6yc.js";
12
- var C = Object.defineProperty, V = Object.getOwnPropertyDescriptor, s = (t, e, n, r) => {
13
- for (var d, p = r > 1 ? void 0 : r ? V(e, n) : e, h = t.length - 1; h >= 0; h--) (d = t[h]) && (p = (r ? d(e, n, p) : d(p)) || p);
14
- return r && p && C(e, n, p), p;
15
- };
16
- let i = class extends S(":host{width:100%;min-width:calc(var(--spacing,.25rem)*0);box-sizing:border-box;max-width:100%;display:block}.date-input-container{width:100%;min-width:0;width:100%!important;max-width:100%!important}input{appearance:none;border-radius:8px;width:-webkit-fill-available;font-size:16px}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:calc(var(--spacing,.25rem)*0)}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:calc(var(--spacing,.25rem)*0)}input[type=number]{appearance:textfield}input:-webkit-autofill{animation-name:onAutoFillStart;-webkit-box-shadow:0 0 0 30px var(--schmancy-sys-color-surface-highest)inset!important;-webkit-text-fill-color:var(--schmancy-sys-color-surface-on)!important}input:autofill{background-color:var(--schmancy-sys-color-surface-highest)!important;color:var(--schmancy-sys-color-surface-on)!important}input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week]{appearance:none;width:100%;line-height:inherit;border-radius:8px;min-width:100%;max-width:100%;margin:0;display:block;overflow:hidden;border-radius:8px!important;width:100%!important}input::-webkit-datetime-edit{align-items:center;width:100%;height:100%;margin:0;padding:0;display:flex}input::-webkit-datetime-edit-fields-wrapper{align-items:center;width:100%;height:100%;margin:0;padding:0;display:flex}input::-webkit-datetime-edit{flex:1;width:100%}input::-webkit-datetime-edit-fields-wrapper{flex:1;justify-content:space-between;width:100%}input::-webkit-datetime-edit-text{align-items:center;display:flex}input::-webkit-datetime-edit-day-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-month-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-year-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-hour-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-minute-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-second-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-millisecond-field{flex-shrink:0;padding:0 2px}input::-webkit-datetime-edit-meridiem-field{flex-shrink:0;padding:0 2px}input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}input[type=time]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}input[type=month]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}input[type=week]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}@-moz-document url-prefix(){input[type=date],input[type=datetime-local],input[type=time]{min-height:inherit}}@supports (-webkit-touch-callout:none){input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week]{appearance:none;border-radius:0;width:-webkit-fill-available!important;width:fill-available!important;padding-left:12px!important;padding-right:12px!important}input::-webkit-datetime-edit{width:100%!important;padding-left:0!important;padding-right:0!important}input::-webkit-datetime-edit-fields-wrapper{width:100%!important;margin:0!important;padding:0!important}}") {
17
- constructor() {
18
- super(...arguments), this.value = "", this.type = "text", this.placeholder = "", this.clickable = !1, this.spellcheck = !1, this.align = "left", this.step = "any", this.autofocus = !1, this.autocomplete = "on", this.tabIndex = 0, this.size = "md", this.validateOn = "touched", this.inputRef = E(), this.isAutofilled = !1, this.touched = !1, this.dirty = !1, this.submitted = !1, this.defaultValue = "";
19
- }
20
- willUpdate(t) {
21
- this.id || (this.id = "sch-input-" + i._idCounter++), super.willUpdate(t);
22
- }
23
- updated(t) {
24
- super.updated(t), t.has("value") && (this.value !== this.defaultValue && (this.dirty = !0), this.validateInput()), !this.hasUpdated && t.has("value") && (this.defaultValue = this.value);
25
- }
26
- connectedCallback() {
27
- super.connectedCallback(), this.defaultValue = this.value, this.setupFormIntegration(), this.setupExternalLabelAssociation();
28
- }
29
- setupFormIntegration() {
30
- this.form && (this.formResetObserver = new MutationObserver((t) => {
31
- for (const e of t) e.type === "attributes" && e.attributeName === "reset" && this.resetToDefault();
32
- }), this.formResetObserver.observe(this.form, { attributes: !0, childList: !1, subtree: !1 }), o(this.form, "reset").pipe(l(this.disconnecting)).subscribe(() => {
33
- this.resetToDefault();
34
- }), o(this.form, "submit").pipe(l(this.disconnecting)).subscribe(() => {
35
- this.submitted = !0, this.validateInput(!0);
36
- }));
37
- }
38
- setupExternalLabelAssociation() {
39
- if (this.id) {
40
- const t = () => {
41
- document.querySelectorAll(`label[for="${this.id}"]`).forEach((e) => {
42
- o(e, "click").pipe(l(this.disconnecting)).subscribe(() => {
43
- this.focus();
44
- });
45
- });
46
- };
47
- document.readyState === "complete" ? t() : o(document, "DOMContentLoaded").pipe(l(this.disconnecting)).subscribe(t);
48
- }
49
- }
50
- disconnectedCallback() {
51
- super.disconnectedCallback(), this.formResetObserver && this.formResetObserver.disconnect();
52
- }
53
- resetToDefault() {
54
- this.value = this.defaultValue, this.touched = !1, this.dirty = !1, this.submitted = !1, this.error = !1, this.validationMessage = "", this.dispatchEvent(new CustomEvent("reset", { bubbles: !0 }));
55
- }
56
- shouldShowValidation(t = !1) {
57
- if (t) return !0;
58
- switch (this.validateOn) {
59
- case "always":
60
- return !0;
61
- case "touched":
62
- default:
63
- return this.touched;
64
- case "dirty":
65
- return this.dirty;
66
- case "submitted":
67
- return this.submitted;
68
- }
69
- }
70
- validateInput(t = !1) {
71
- if (this.disabled) return;
72
- const e = this.shouldShowValidation(t), n = this.inputElement?.validity ?? { customError: !1, valid: !0 }, r = !n.valid && !n.customError;
73
- e && r ? (this.error = !0, this.validationMessage = this.inputElement?.validationMessage || "") : n.valid ? (this.error = !1, n.customError || (this.validationMessage = "")) : e || (this.error = !1);
74
- }
75
- checkValidity() {
76
- const t = this.inputRef.value?.checkValidity() ?? !0, e = super.checkValidity();
77
- return t && e;
78
- }
79
- reportValidity() {
80
- this.touched = !0, this.submitted = !0;
81
- const t = this.inputRef.value?.reportValidity() ?? !0;
82
- this.validateInput(!0);
83
- const e = super.reportValidity();
84
- return t && e;
85
- }
86
- setCustomValidity(t) {
87
- this.inputRef.value && this.inputRef.value.setCustomValidity(t), super.setCustomValidity(t), this.error = t !== "" && this.shouldShowValidation();
88
- }
89
- firstUpdated() {
90
- this.autofocus && setTimeout(() => {
91
- this.focus();
92
- }, 0), this.setupInputEvents(), this.setupFocusBlurEvents(), this.setupAutofillDetection(), this.setupEnterKeyEvents();
93
- }
94
- setupInputEvents() {
95
- o(this.inputElement, "input").pipe(g((t) => {
96
- const e = t;
97
- return { value: t.target.value, inputType: e.inputType, data: e.data, isComposing: e.isComposing, originalEvent: t };
98
- }), l(this.disconnecting)).subscribe((t) => {
99
- this.value = t.value, this.dirty = this.value !== this.defaultValue;
100
- const e = new CustomEvent("input", { detail: { value: t.value }, bubbles: !0, composed: !0 });
101
- Object.defineProperties(e, { inputType: { value: t.inputType }, data: { value: t.data }, isComposing: { value: t.isComposing } }), this.dispatchEvent(e), this.validateInput();
102
- }), o(this.inputElement, "change").pipe(g((t) => t.target.value), R(), l(this.disconnecting)).subscribe((t) => {
103
- this.value = t, this.dirty = this.value !== this.defaultValue, this.emitChange({ value: t }), this.validateInput();
104
- });
105
- }
106
- setupFocusBlurEvents() {
107
- o(this.inputElement, "focus").pipe(l(this.disconnecting)).subscribe((t) => {
108
- const e = new CustomEvent("focus", { bubbles: t.bubbles, cancelable: t.cancelable, composed: t.composed });
109
- Object.defineProperties(e, { relatedTarget: { value: t.relatedTarget } }), this.dispatchEvent(e);
110
- }), o(this.inputElement, "blur").pipe(l(this.disconnecting)).subscribe((t) => {
111
- this.touched = !0, this.disabled || this.validateInput();
112
- const e = new CustomEvent("blur", { bubbles: t.bubbles, cancelable: t.cancelable, composed: t.composed });
113
- Object.defineProperties(e, { relatedTarget: { value: t.relatedTarget } }), this.dispatchEvent(e);
114
- });
115
- }
116
- setupAutofillDetection() {
117
- o(this.inputElement, "animationstart").pipe(f((t) => t.animationName === "onAutoFillStart"), l(this.disconnecting)).subscribe((t) => {
118
- const { value: e } = t.target;
119
- this.value = e, this.isAutofilled = !0, this.dirty = this.value !== this.defaultValue, this.dispatchEvent(new CustomEvent("autofill", { detail: { value: e }, bubbles: !0, composed: !0 })), this.emitChange({ value: e });
120
- }), o(this.inputElement, "animationstart").pipe(f((t) => t.animationName === "onAutoFillCancel"), l(this.disconnecting)).subscribe(() => {
121
- this.isAutofilled = !1;
122
- });
123
- }
124
- setupEnterKeyEvents() {
125
- o(this.inputElement, "keydown").pipe(f((t) => t.key === "Enter"), l(this.disconnecting)).subscribe((t) => {
126
- const { value: e } = t.target;
127
- this.value !== e && (this.value = e, this.dirty = this.value !== this.defaultValue), this.inputElement.blur();
128
- const n = new CustomEvent("enter", { detail: { value: this.value }, bubbles: !0, composed: !0 });
129
- Object.defineProperties(n, { key: { value: "Enter" }, code: { value: "Enter" }, keyCode: { value: 13 }, which: { value: 13 } }), this.dispatchEvent(n);
130
- });
131
- }
132
- select() {
133
- return this.inputRef.value?.select();
134
- }
135
- getValidity() {
136
- return this.inputRef.value?.validity;
137
- }
138
- setSelectionRange(t, e, n) {
139
- this.inputRef.value?.setSelectionRange(t, e, n);
140
- }
141
- get selectionStart() {
142
- return this.inputRef.value?.selectionStart ?? null;
143
- }
144
- get selectionEnd() {
145
- return this.inputRef.value?.selectionEnd ?? null;
146
- }
147
- get selectionDirection() {
148
- return this.inputRef.value?.selectionDirection ?? null;
149
- }
150
- setRangeText(t, e, n, r) {
151
- e !== void 0 && n !== void 0 ? this.inputRef.value?.setRangeText(t, e, n, r) : this.inputRef.value?.setRangeText(t);
152
- }
153
- focus(t) {
154
- this.inputRef.value?.focus(t), this.dispatchEvent(new Event("focus"));
155
- }
156
- click() {
157
- this.inputRef.value?.click(), this.dispatchEvent(new Event("click"));
158
- }
159
- blur() {
160
- this.inputRef.value?.blur(), this.dispatchEvent(new Event("blur"));
161
- }
162
- render() {
163
- const { height: t, padding: e, fontSize: n } = (() => {
164
- switch (this.size) {
165
- case "xxs":
166
- return { height: "24px", padding: "0 8px", fontSize: "0.625rem" };
167
- case "xs":
168
- return { height: "32px", padding: "0 12px", fontSize: "0.75rem" };
169
- case "sm":
170
- return { height: "40px", padding: "0 16px", fontSize: "0.875rem" };
171
- case "lg":
172
- return { height: "56px", padding: "0 20px", fontSize: "1rem" };
173
- default:
174
- return { height: "48px", padding: "0 16px", fontSize: "0.875rem" };
175
- }
176
- })(), r = ["date", "datetime-local", "time", "month", "week"].includes(this.type), d = { "block w-full min-w-0 rounded-[8px] border-0 bg-surface-highest text-surface-on": !0, "outline-secondary-default focus:outline-1": !0, "disabled:opacity-40 disabled:cursor-not-allowed": !0, "placeholder:text-muted": !0, "ring-0 ring-inset focus:ring-1 focus:ring-inset": !0, "ring-secondary-default ring-outline focus:ring-secondary-default": !this.error, "ring-error-default focus:ring-error-default": this.error, "caret-transparent focus:outline-hidden cursor-pointer select-none": this.readonly, "cursor-pointer": this.clickable, "text-left": this.align === "left" || r, "text-center": this.align === "center" && !r, "text-right": this.align === "right" && !r, autofilled: this.isAutofilled }, p = { "block mb-1 font-medium": !0, "opacity-40": this.disabled, "text-[10px]": this.size === "xxs", "text-xs": this.size === "xs", "text-sm": this.size === "sm", "text-base": this.size === "md", "text-lg": this.size === "lg", "text-primary-default": !this.error, "text-error-default": this.error }, h = { height: t, padding: e, fontSize: n, lineHeight: t };
177
- return m`
178
- <div class="w-full min-w-0 ${r ? "date-input-container" : ""}">
179
- ${y(this.label, () => m`
180
- <label
181
- for=${this.id}
182
- class=${this.classMap(p)}
183
- >
184
- ${this.label}
185
- </label>
186
- `)}
187
-
188
- <input
189
- ${$(this.inputRef)}
190
- id=${this.id}
191
- name=${this.name}
192
- class=${this.classMap(d)}
193
- style=${this.styleMap(h)}
194
- .value=${this.value}
195
- .type=${this.type}
196
- .autocomplete=${this.autocomplete}
197
- .spellcheck=${this.spellcheck}
198
- placeholder=${this.placeholder}
199
- inputmode=${u(this.inputmode)}
200
- pattern=${u(this.pattern)}
201
- .step=${this.step ?? ""}
202
- minlength=${u(this.minlength)}
203
- maxlength=${u(this.maxlength)}
204
- min=${u(this.min)}
205
- max=${u(this.max)}
206
- list=${u(this.list)}
207
- ?required=${this.required}
208
- ?disabled=${this.disabled}
209
- ?readonly=${this.readonly}
210
- aria-invalid=${this.error ? "true" : "false"}
211
- aria-required=${this.required ? "true" : "false"}
212
- aria-labelledby=${this.label ? `label-${this.id}` : b}
213
- aria-describedby=${this.hint || this.validationMessage ? `hint-${this.id}` : b}
214
- aria-label=${u(this.label ? void 0 : this.placeholder || "Input")}
215
- />
216
-
217
- ${y(this.hint || this.error && this.validationMessage, () => m`
218
- <div
219
- id="hint-${this.id}"
220
- class="mt-1 text-sm ${this.error ? "text-error-default" : "text-surface-onVariant"}"
221
- >
222
- ${this.error && this.validationMessage ? this.validationMessage : this.hint}
223
- </div>
224
- `)}
225
- </div>
226
- `;
227
- }
228
- };
229
- i._idCounter = 0, i.shadowRootOptions = { ...w.shadowRootOptions, delegatesFocus: !0 }, s([a({ type: String, reflect: !0 })], i.prototype, "value", 2), s([a({ reflect: !0 })], i.prototype, "type", 2), s([a()], i.prototype, "placeholder", 2), s([a({ type: String, reflect: !0 })], i.prototype, "pattern", 2), s([a({ type: Boolean, reflect: !0 })], i.prototype, "clickable", 2), s([a({ type: Boolean, reflect: !0 })], i.prototype, "spellcheck", 2), s([a({ type: String, reflect: !0 })], i.prototype, "align", 2), s([a()], i.prototype, "inputmode", 2), s([a({ type: Number, reflect: !0 })], i.prototype, "minlength", 2), s([a({ type: Number })], i.prototype, "maxlength", 2), s([a()], i.prototype, "min", 2), s([a()], i.prototype, "max", 2), s([a({ reflect: !0 })], i.prototype, "step", 2), s([a({ type: Boolean })], i.prototype, "autofocus", 2), s([a({ type: String, reflect: !0 })], i.prototype, "autocomplete", 2), s([a({ type: Number, reflect: !0 })], i.prototype, "tabIndex", 2), s([a({ type: String, reflect: !0 })], i.prototype, "size", 2), s([a({ type: String })], i.prototype, "validateOn", 2), s([a({ type: String })], i.prototype, "list", 2), s([k("input")], i.prototype, "inputElement", 2), s([c()], i.prototype, "isAutofilled", 2), s([c()], i.prototype, "touched", 2), s([c()], i.prototype, "dirty", 2), s([c()], i.prototype, "submitted", 2), s([c()], i.prototype, "defaultValue", 2), i = s([x("schmancy-input")], i);
230
- let v = class extends i {
231
- };
232
- v = s([x("sch-input")], v);
233
- export {
234
- i as S,
235
- v as a
236
- };
237
- //# sourceMappingURL=input-D0cQ9DOY.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-D0cQ9DOY.js","sources":["../src/input/input.ts"],"sourcesContent":["import { html, LitElement, nothing, PropertyValueMap } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { when } from 'lit/directives/when.js'\nimport { distinctUntilChanged, filter, fromEvent, map, takeUntil } from 'rxjs'\n\nimport { SchmancyFormField } from '@mixins/index'\n\n// Import styles\nimport style from './input.scss?inline'\n\n// If you want to be form-associated, define the type on `ElementInternals`.\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-input': SchmancyInput\n\t\t'sch-input': SchmancyInput\n\t}\n}\n\ntype EventDetails = {\n\tvalue: string\n}\n\n/**\n * Custom events the component may emit:\n * - 'input': on every keystroke\n * - 'change': on native blur/change\n * - 'enter': specifically when user presses Enter\n */\nexport type SchmancyInputInputEvent = CustomEvent<EventDetails>\nexport type SchmancyInputChangeEvent = CustomEvent<EventDetails>\nexport type SchmancyInputEnterEvent = CustomEvent<EventDetails>\n\n/**\n * Size variants for the input - M3 spec aligned.\n * - xxs: Ultra-compact (24dp) - for menu cards, compact UIs\n * - xs: Dense/compact (32dp) - M3 density -3\n * - sm: Default (40dp) - M3 density 0\n * - md: Standard (48dp) - M3 large\n * - lg: Extra large (56dp) - M3 extra large\n */\nexport type InputSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg'\n\n/**\n * Enhanced version of the SchmancyInput component with improved form integration\n * and compatibility with legacy API.\n *\n * This component uses the native form association API and maintains parity with\n * native input behaviors while providing a stylish, accessible interface.\n *\n * @prop {string} name - Name attribute for form submission (inherited from FormFieldMixin)\n * @prop {string} label - Label text for the form field (inherited from FormFieldMixin)\n * @prop {boolean} required - Whether the field is required (inherited from FormFieldMixin)\n * @prop {boolean} disabled - Whether the field is disabled (inherited from FormFieldMixin)\n * @prop {boolean} readonly - Whether the field is read-only (inherited from FormFieldMixin)\n * @prop {boolean} error - Whether the field is in an error state (inherited from FormFieldMixin)\n * @prop {string} validationMessage - The validation message to display (inherited from FormFieldMixin)\n * @prop {string} hint - Optional hint text to display below the field (inherited from FormFieldMixin)\n */\n@customElement('schmancy-input')\nexport default class SchmancyInput extends SchmancyFormField(style) {\n\t// ----------------------------\n\t// A) Public properties\n\t// ----------------------------\n\n\t/** Auto-incrementing counter for generating unique IDs */\n\tstatic _idCounter = 0\n\n\t/** Override value to be string only for input element */\n\t@property({ type: String, reflect: true })\n\tpublic override value = ''\n\n\n\t/**\n\t * The type of input. (e.g. 'text', 'password', 'email', etc.)\n\t */\n\t@property({ reflect: true })\n\tpublic type: HTMLInputElement['type'] = 'text'\n\n\n\t@property()\n\tpublic placeholder = ''\n\n\n\t/** Pattern validation attribute. */\n\t@property({ type: String, reflect: true })\n\tpublic pattern?: string\n\n\n\t/** If true, we visually show a pointer cursor even if readOnly. */\n\t@property({ type: Boolean, reflect: true }) public clickable = false\n\n\t/** Whether browser spellcheck is enabled. */\n\t@property({ type: Boolean, reflect: true })\n\tpublic spellcheck = false\n\n\t/**\n\t * Text alignment within the input.\n\t * - 'left' | 'center' | 'right'\n\t */\n\t@property({ type: String, reflect: true })\n\tpublic align: 'left' | 'center' | 'right' = 'left'\n\n\t/** inputmode attribute (affects on-screen keyboards in mobile). */\n\t@property()\n\tpublic inputmode?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'\n\n\t@property({ type: Number, reflect: true })\n\tpublic minlength?: number\n\n\t@property({ type: Number })\n\tpublic maxlength?: number\n\n\t@property()\n\tpublic min?: string\n\n\t@property()\n\tpublic max?: string\n\n\t@property({ reflect: true })\n\tpublic step?: string = 'any'\n\n\t/** If true, auto-focus this input on first render. */\n\t@property({ type: Boolean })\n\tpublic autofocus = false\n\n\t/** Autocomplete/autofill hints. */\n\t@property({ type: String, reflect: true })\n\tpublic autocomplete: AutoFill = 'on'\n\n\t/**\n\t * tabIndex for focusing by tab key. Typically 0 or -1.\n\t */\n\t@property({ type: Number, reflect: true })\n\tpublic override tabIndex = 0\n\n\n\t/**\n\t * The size of the input.\n\t * - 'xxs': Ultra-compact size (24px) - for menu cards\n\t * - 'xs': Extra small, very compact size (32px)\n\t * - 'sm': Small, compact size (40px)\n\t * - 'md': Medium size (default) (48px)\n\t * - 'lg': Large size (56px)\n\t */\n\t@property({ type: String, reflect: true })\n\tpublic size: InputSize = 'md'\n\n\t/**\n\t * Controls when validation should show.\n\t * - 'always' - Always show validation\n\t * - 'touched' - Only show after field has been focused and then blurred\n\t * - 'dirty' - Only show after value has changed\n\t * - 'submitted' - Only show after form submission\n\t */\n\t@property({ type: String })\n\tpublic validateOn: 'always' | 'touched' | 'dirty' | 'submitted' = 'touched'\n\n\t/**\n\t * For datalist support\n\t */\n\t@property({ type: String })\n\tpublic list?: string\n\n\n\t// ----------------------------\n\t// B) Queries & Refs\n\t// ----------------------------\n\t@query('input') private inputElement!: HTMLInputElement\n\tprivate inputRef = createRef<HTMLInputElement>()\n\n\t// ----------------------------\n\t// C) Internal States\n\t// ----------------------------\n\n\t/**\n\t * For integration with browser's autofill support\n\t */\n\t@state()\n\tprivate isAutofilled = false\n\n\t/**\n\t * Track user interaction state for validation\n\t */\n\t@state()\n\tprivate touched = false\n\n\t@state()\n\tprivate dirty = false\n\n\t@state()\n\tprivate submitted = false\n\n\t/**\n\t * Store the default value for reset behavior\n\t */\n\t@state()\n\tprivate defaultValue = ''\n\n\t// ----------------------------\n\t// D) Form-associated logic\n\t// ----------------------------\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true, // so focus() goes to <input>\n\t}\n\n\tprivate formResetObserver?: MutationObserver\n\n\t/**\n\t * If user did not provide an ID, auto-generate one so <label for=\"...\">\n\t * and various aria-* attributes can reference it.\n\t */\n\tprotected override willUpdate(changedProps: PropertyValueMap<any> | Map<PropertyKey, unknown>) {\n\t\tif (!this.id) {\n\t\t\tthis.id = `sch-input-${SchmancyInput._idCounter++}`\n\t\t}\n\t\tsuper.willUpdate(changedProps)\n\t}\n\n\n\tprotected override updated(changedProps: Map<string, unknown>) {\n\t\tsuper.updated(changedProps)\n\n\t\t// Handle value changes\n\t\tif (changedProps.has('value')) {\n\t\t\t// If value changes from original default, mark as dirty\n\t\t\tif (this.value !== this.defaultValue) {\n\t\t\t\tthis.dirty = true\n\t\t\t}\n\n\t\t\t// Update validation state when value changes\n\t\t\tthis.validateInput()\n\t\t}\n\n\t\t// Store default value if this is the first update\n\t\tif (!this.hasUpdated && changedProps.has('value')) {\n\t\t\tthis.defaultValue = this.value\n\t\t}\n\t}\n\n\t/**\n\t * Connect to the closest form element and set up form integration\n\t */\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\t// Store initial default value for form reset\n\t\tthis.defaultValue = this.value\n\n\t\t// Set up form integration\n\t\tthis.setupFormIntegration()\n\n\t\t// Setup for external label association\n\t\tthis.setupExternalLabelAssociation()\n\t}\n\n\t/**\n\t * Set up form integration with ElementInternals\n\t */\n\tprivate setupFormIntegration() {\n\t\tif (this.form) {\n\t\t\t// Listen for form reset events\n\t\t\tthis.formResetObserver = new MutationObserver(mutations => {\n\t\t\t\tfor (const mutation of mutations) {\n\t\t\t\t\tif (mutation.type === 'attributes' && mutation.attributeName === 'reset') {\n\t\t\t\t\t\tthis.resetToDefault()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// Observe the form for reset events\n\t\t\tthis.formResetObserver.observe(this.form, {\n\t\t\t\tattributes: true,\n\t\t\t\tchildList: false,\n\t\t\t\tsubtree: false,\n\t\t\t})\n\n\t\t\t// Use RxJS for form reset events\n\t\t\tfromEvent(this.form, 'reset')\n\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tthis.resetToDefault()\n\t\t\t\t})\n\n\t\t\t// Use RxJS for form submit events to mark field as submitted\n\t\t\tfromEvent(this.form, 'submit')\n\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tthis.submitted = true\n\t\t\t\t\t// Validate on form submission\n\t\t\t\t\tthis.validateInput(true)\n\t\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Set up external label association for native HTML label support\n\t */\n\tprivate setupExternalLabelAssociation() {\n\t\tif (this.id) {\n\t\t\tconst setupLabelClickListener = () => {\n\t\t\t\tconst labels = document.querySelectorAll(`label[for=\"${this.id}\"]`)\n\t\t\t\tlabels.forEach(label => {\n\t\t\t\t\t// Use RxJS for label click events\n\t\t\t\t\tfromEvent(label, 'click')\n\t\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t\t.subscribe(() => {\n\t\t\t\t\t\t\tthis.focus()\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// Initialize after DOM is ready\n\t\t\tif (document.readyState === 'complete') {\n\t\t\t\tsetupLabelClickListener()\n\t\t\t} else {\n\t\t\t\t// Use RxJS for DOMContentLoaded event\n\t\t\t\tfromEvent(document, 'DOMContentLoaded')\n\t\t\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t\t\t.subscribe(setupLabelClickListener)\n\t\t\t}\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\n\t\t// Clean up the form observer\n\t\tif (this.formResetObserver) {\n\t\t\tthis.formResetObserver.disconnect()\n\t\t}\n\n\t\t// Note: RxJS subscriptions are automatically cleaned up via takeUntil(this.disconnecting)\n\t\t// No manual removeEventListener calls needed for RxJS-managed events\n\t}\n\n\t/**\n\t * Reset the input to its default state\n\t */\n\tprivate resetToDefault() {\n\t\tthis.value = this.defaultValue\n\t\tthis.touched = false\n\t\tthis.dirty = false\n\t\tthis.submitted = false\n\t\tthis.error = false\n\t\tthis.validationMessage = ''\n\t\tthis.dispatchEvent(new CustomEvent('reset', { bubbles: true }))\n\t}\n\n\t/**\n\t * Determines if validation errors should be shown based on current state\n\t * and validation strategy\n\t */\n\tprivate shouldShowValidation(forceValidation = false): boolean {\n\t\tif (forceValidation) return true\n\n\t\tswitch (this.validateOn) {\n\t\t\tcase 'always':\n\t\t\t\treturn true\n\t\t\tcase 'touched':\n\t\t\t\treturn this.touched\n\t\t\tcase 'dirty':\n\t\t\t\treturn this.dirty\n\t\t\tcase 'submitted':\n\t\t\t\treturn this.submitted\n\t\t\tdefault:\n\t\t\t\treturn this.touched\n\t\t}\n\t}\n\n\n\t/**\n\t * Validate input based on required, pattern, etc.\n\t * This mimics native validation behavior\n\t */\n\tprivate validateInput(forceValidation = false) {\n\t\t// Skip validation for disabled inputs\n\t\tif (this.disabled) return\n\n\t\t// Only show validation errors if we should based on the validation strategy\n\t\tconst shouldValidate = this.shouldShowValidation(forceValidation)\n\n\t\t// Get validity state from internal input if available\n\t\tconst validity: ValidityState = this.inputElement?.validity ?? {\n\t\t\tbadInput: false,\n\t\t\tcustomError: false,\n\t\t\tpatternMismatch: false,\n\t\t\trangeOverflow: false,\n\t\t\trangeUnderflow: false,\n\t\t\tstepMismatch: false,\n\t\t\ttooLong: false,\n\t\t\ttooShort: false,\n\t\t\ttypeMismatch: false,\n\t\t\tvalid: true,\n\t\t\tvalueMissing: false,\n\t\t}\n\n\t\t// Check if the input has an actual validation error (not a custom error)\n\t\tconst hasError = !validity.valid && !validity.customError\n\n\t\tif (shouldValidate && hasError) {\n\t\t\t// There's an error and we should show it\n\t\t\tthis.error = true\n\t\t\tthis.validationMessage = this.inputElement?.validationMessage || ''\n\t\t} else if (validity.valid) {\n\t\t\t// Input is valid, so clear the error state\n\t\t\tthis.error = false\n\n\t\t\t// Only clear validation message if there's no custom error\n\t\t\tif (!validity.customError) {\n\t\t\t\tthis.validationMessage = ''\n\t\t\t}\n\t\t} else if (!shouldValidate) {\n\t\t\t// We shouldn't show validation yet, so clear visual error state\n\t\t\tthis.error = false\n\t\t}\n\n\t\t// The mixin will handle updating internals based on error state\n\t}\n\n\t/**\n\t * Check validity without showing validation UI\n\t */\n\tpublic override checkValidity() {\n\t\t// Check internal input first\n\t\tconst inputValid = this.inputRef.value?.checkValidity() ?? true\n\n\t\t// Call parent implementation for basic validation\n\t\tconst parentValid = super.checkValidity()\n\n\t\treturn inputValid && parentValid\n\t}\n\n\t/**\n\t * Show validation UI and check validity\n\t */\n\tpublic override reportValidity() {\n\t\t// Mark as touched and submitted to show validation\n\t\tthis.touched = true\n\t\tthis.submitted = true\n\n\t\t// First check using native input\n\t\tconst inputValid = this.inputRef.value?.reportValidity() ?? true\n\n\t\t// Update our component's validation state with force=true\n\t\tthis.validateInput(true)\n\n\t\t// Call parent implementation\n\t\tconst parentValid = super.reportValidity()\n\n\t\treturn inputValid && parentValid\n\t}\n\n\t/**\n\t * Set a custom validation error message\n\t */\n\tpublic override setCustomValidity(message: string) {\n\t\t// Set on the native input\n\t\tif (this.inputRef.value) {\n\t\t\tthis.inputRef.value.setCustomValidity(message)\n\t\t}\n\n\t\t// Call parent implementation\n\t\tsuper.setCustomValidity(message)\n\t\t\n\t\t// Update error state based on validation strategy\n\t\tthis.error = message !== '' && this.shouldShowValidation()\n\t}\n\n\t// ----------------------------\n\t// E) Lifecycle Hooks & Event Handlers\n\t// ----------------------------\n\tfirstUpdated() {\n\t\t// Autofocus if desired\n\t\tif (this.autofocus) {\n\t\t\t// Use setTimeout to match browser behavior - autofocus happens after initial rendering\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.focus()\n\t\t\t}, 0)\n\t\t}\n\n\t\t// Subscribe to input events\n\t\tthis.setupInputEvents()\n\t\tthis.setupFocusBlurEvents()\n\t\tthis.setupAutofillDetection()\n\t\tthis.setupEnterKeyEvents()\n\t}\n\n\t/**\n\t * Set up input event handling for value changes\n\t */\n\tprivate setupInputEvents() {\n\t\tfromEvent<InputEvent>(this.inputElement, 'input')\n\t\t\t.pipe(\n\t\t\t\tmap(ev => {\n\t\t\t\t\t// Capture all input event properties for complete event forwarding\n\t\t\t\t\tconst inputEvent = ev as InputEvent\n\t\t\t\t\tconst target = ev.target as HTMLInputElement\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvalue: target.value,\n\t\t\t\t\t\tinputType: inputEvent.inputType,\n\t\t\t\t\t\tdata: inputEvent.data,\n\t\t\t\t\t\tisComposing: inputEvent.isComposing,\n\t\t\t\t\t\toriginalEvent: ev,\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(eventData => {\n\t\t\t\t// Update component value\n\t\t\t\tthis.value = eventData.value\n\n\t\t\t\t// Mark as dirty when user types\n\t\t\t\tthis.dirty = this.value !== this.defaultValue\n\n\t\t\t\t// Fire custom 'input' event with extended details\n\t\t\t\tconst customEvent = new CustomEvent<EventDetails>('input', {\n\t\t\t\t\tdetail: { value: eventData.value },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t})\n\n\t\t\t\t// Add additional properties to match native events more closely\n\t\t\t\tObject.defineProperties(customEvent, {\n\t\t\t\t\tinputType: { value: eventData.inputType },\n\t\t\t\t\tdata: { value: eventData.data },\n\t\t\t\t\tisComposing: { value: eventData.isComposing },\n\t\t\t\t})\n\n\t\t\t\tthis.dispatchEvent(customEvent)\n\n\t\t\t\t// REMOVED: Duplicate change event dispatch that was here\n\t\t\t\t// Run validation like native inputs do on input, but respect the validation strategy\n\t\t\t\tthis.validateInput()\n\t\t\t})\n\n\t\t// Subscribe to native change events (usually on blur)\n\t\tfromEvent<Event>(this.inputElement, 'change')\n\t\t\t.pipe(\n\t\t\t\tmap(ev => (ev.target as HTMLInputElement).value),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(value => {\n\t\t\t\tthis.value = value\n\t\t\t\tthis.dirty = this.value !== this.defaultValue\n\n\t\t\t\t// Fire regular change event using mixin helper\n\t\t\t\tthis.emitChange({ value })\n\n\t\t\t\t// Run validation on change like native inputs\n\t\t\t\tthis.validateInput()\n\t\t\t})\n\t}\n\n\t/**\n\t * Set up focus/blur event handling\n\t */\n\tprivate setupFocusBlurEvents() {\n\t\tfromEvent<FocusEvent>(this.inputElement, 'focus')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(ev => {\n\t\t\t\t// Create a custom focus event that includes standard props\n\t\t\t\tconst focusEvent = new CustomEvent('focus', {\n\t\t\t\t\tbubbles: ev.bubbles,\n\t\t\t\t\tcancelable: ev.cancelable,\n\t\t\t\t\tcomposed: ev.composed,\n\t\t\t\t})\n\n\t\t\t\t// Add focus-specific properties\n\t\t\t\tObject.defineProperties(focusEvent, {\n\t\t\t\t\trelatedTarget: { value: ev.relatedTarget },\n\t\t\t\t})\n\n\t\t\t\tthis.dispatchEvent(focusEvent)\n\t\t\t})\n\n\t\tfromEvent<FocusEvent>(this.inputElement, 'blur')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(ev => {\n\t\t\t\t// Mark as touched when field loses focus\n\t\t\t\tthis.touched = true\n\n\t\t\t\t// Run validation on blur like native inputs, respecting validation strategy\n\t\t\t\tif (!this.disabled) {\n\t\t\t\t\tthis.validateInput()\n\t\t\t\t}\n\n\t\t\t\t// Create a custom blur event that includes standard props\n\t\t\t\tconst blurEvent = new CustomEvent('blur', {\n\t\t\t\t\tbubbles: ev.bubbles,\n\t\t\t\t\tcancelable: ev.cancelable,\n\t\t\t\t\tcomposed: ev.composed,\n\t\t\t\t})\n\n\t\t\t\t// Add blur-specific properties\n\t\t\t\tObject.defineProperties(blurEvent, {\n\t\t\t\t\trelatedTarget: { value: ev.relatedTarget },\n\t\t\t\t})\n\n\t\t\t\tthis.dispatchEvent(blurEvent)\n\t\t\t})\n\t}\n\n\t/**\n\t * Set up autofill detection\n\t */\n\tprivate setupAutofillDetection() {\n\t\t// Detect autofill animation (Chrome, etc.)\n\t\tfromEvent<AnimationEvent>(this.inputElement, 'animationstart')\n\t\t\t.pipe(\n\t\t\t\tfilter(ev => ev.animationName === 'onAutoFillStart'),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(ev => {\n\t\t\t\tconst { value } = ev.target as HTMLInputElement\n\t\t\t\tthis.value = value\n\t\t\t\tthis.isAutofilled = true\n\t\t\t\tthis.dirty = this.value !== this.defaultValue\n\n\t\t\t\t// Dispatch autofill event for integration with autofill systems\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent('autofill', {\n\t\t\t\t\t\tdetail: { value },\n\t\t\t\t\t\tbubbles: true,\n\t\t\t\t\t\tcomposed: true,\n\t\t\t\t\t}),\n\t\t\t\t)\n\n\t\t\t\t// Also propagate as a change event like browsers do\n\t\t\t\tthis.emitChange({ value })\n\t\t\t})\n\n\t\t// Detect end of autofill (Chrome)\n\t\tfromEvent<AnimationEvent>(this.inputElement, 'animationstart')\n\t\t\t.pipe(\n\t\t\t\tfilter(ev => ev.animationName === 'onAutoFillCancel'),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.isAutofilled = false\n\t\t\t})\n\t}\n\n\t/**\n\t * Set up enter key event handling\n\t */\n\tprivate setupEnterKeyEvents() {\n\t\t// Listen for Enter on keydown\n\t\tfromEvent<KeyboardEvent>(this.inputElement, 'keydown')\n\t\t\t.pipe(\n\t\t\t\tfilter(ev => ev.key === 'Enter'),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(ev => {\n\t\t\t\tconst { value } = ev.target as HTMLInputElement\n\t\t\t\t\n\t\t\t\t// Update value if changed\n\t\t\t\tif (this.value !== value) {\n\t\t\t\t\tthis.value = value\n\t\t\t\t\tthis.dirty = this.value !== this.defaultValue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// Blur the input to trigger change event naturally\n\t\t\t\t// This mimics what happens when you tab out of the field\n\t\t\t\tthis.inputElement.blur()\n\n\t\t\t\t// Dispatch enhanced enter event\n\t\t\t\tconst enterEvent = new CustomEvent<EventDetails>('enter', {\n\t\t\t\t\tdetail: { value: this.value },\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t})\n\n\t\t\t\t// Add extra keyboard event props\n\t\t\t\tObject.defineProperties(enterEvent, {\n\t\t\t\t\tkey: { value: 'Enter' },\n\t\t\t\t\tcode: { value: 'Enter' },\n\t\t\t\t\tkeyCode: { value: 13 },\n\t\t\t\t\twhich: { value: 13 },\n\t\t\t\t})\n\n\t\t\t\tthis.dispatchEvent(enterEvent)\n\t\t\t})\n\t}\n\n\t// ----------------------------\n\t// F) Utility Methods\n\t// ----------------------------\n\t/** Selects all text within the input. */\n\tpublic select() {\n\t\treturn this.inputRef.value?.select()\n\t}\n\n\t/** Returns the native validity state of the inner <input>. */\n\tpublic getValidity(): ValidityState | undefined {\n\t\treturn this.inputRef.value?.validity\n\t}\n\n\t/**\n\t * Sets the selection range. Mirrors native input.setSelectionRange\n\t */\n\tpublic setSelectionRange(start: number, end: number, direction?: 'forward' | 'backward' | 'none') {\n\t\tthis.inputRef.value?.setSelectionRange(start, end, direction)\n\t}\n\n\t/**\n\t * Returns the selected text within the input (start position)\n\t */\n\tpublic get selectionStart(): number | null {\n\t\treturn this.inputRef.value?.selectionStart ?? null\n\t}\n\n\t/**\n\t * Returns the selected text within the input (end position)\n\t */\n\tpublic get selectionEnd(): number | null {\n\t\treturn this.inputRef.value?.selectionEnd ?? null\n\t}\n\n\t/**\n\t * Returns the direction of selection\n\t */\n\tpublic get selectionDirection(): 'forward' | 'backward' | 'none' | null {\n\t\treturn this.inputRef.value?.selectionDirection ?? null\n\t}\n\n\t/**\n\t * Sets the range of text to be selected.\n\t */\n\tpublic setRangeText(\n\t\treplacement: string,\n\t\tstart?: number,\n\t\tend?: number,\n\t\tselectMode?: 'select' | 'start' | 'end' | 'preserve',\n\t) {\n\t\tif (start !== undefined && end !== undefined) {\n\t\t\tthis.inputRef.value?.setRangeText(replacement, start, end, selectMode)\n\t\t} else {\n\t\t\tthis.inputRef.value?.setRangeText(replacement)\n\t\t}\n\t}\n\n\t/**\n\t * Override to forward focus to the internal <input>.\n\t * Also dispatch a 'focus' event for external listeners.\n\t */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.inputRef.value?.focus(options)\n\t\tthis.dispatchEvent(new Event('focus'))\n\t}\n\n\t/**\n\t * Override to forward clicks to the internal <input>.\n\t * Also dispatch a 'click' event for external listeners.\n\t */\n\tpublic override click() {\n\t\tthis.inputRef.value?.click()\n\t\tthis.dispatchEvent(new Event('click'))\n\t}\n\n\t/** Forward blur to the internal <input>. */\n\tpublic override blur() {\n\t\tthis.inputRef.value?.blur()\n\t\tthis.dispatchEvent(new Event('blur'))\n\t}\n\n\t// ----------------------------\n\t// G) Rendering\n\t// ----------------------------\n\tprotected override render() {\n\t\t// Determine height and padding based on size - M3 spec aligned\n\t\tconst getHeightAndPadding = () => {\n\t\t\tswitch (this.size) {\n\t\t\t\tcase 'xxs':\n\t\t\t\t\t// Ultra-compact: 24dp height\n\t\t\t\t\treturn {\n\t\t\t\t\t\theight: '24px',\n\t\t\t\t\t\tpadding: '0 8px',\n\t\t\t\t\t\tfontSize: '0.625rem', // 10px\n\t\t\t\t\t}\n\t\t\t\tcase 'xs':\n\t\t\t\t\t// M3 dense: 32dp height\n\t\t\t\t\treturn {\n\t\t\t\t\t\theight: '32px',\n\t\t\t\t\t\tpadding: '0 12px',\n\t\t\t\t\t\tfontSize: '0.75rem', // 12px\n\t\t\t\t\t}\n\t\t\t\tcase 'sm':\n\t\t\t\t\t// M3 default: 40dp height\n\t\t\t\t\treturn {\n\t\t\t\t\t\theight: '40px',\n\t\t\t\t\t\tpadding: '0 16px',\n\t\t\t\t\t\tfontSize: '0.875rem', // 14px - M3 body-large\n\t\t\t\t\t}\n\t\t\t\tcase 'lg':\n\t\t\t\t\t// M3 extra large: 56dp height\n\t\t\t\t\treturn {\n\t\t\t\t\t\theight: '56px',\n\t\t\t\t\t\tpadding: '0 20px',\n\t\t\t\t\t\tfontSize: '1rem', // 16px\n\t\t\t\t\t}\n\t\t\t\tcase 'md':\n\t\t\t\tdefault:\n\t\t\t\t\t// M3 standard: 48dp height\n\t\t\t\t\treturn {\n\t\t\t\t\t\theight: '48px',\n\t\t\t\t\t\tpadding: '0 16px',\n\t\t\t\t\t\tfontSize: '0.875rem', // 14px - M3 body-large\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst { height, padding, fontSize } = getHeightAndPadding()\n\n\t\t// Check if it's a date-type input\n\t\tconst isDateType = ['date', 'datetime-local', 'time', 'month', 'week'].includes(this.type)\n\n\t\tconst inputClasses = {\n\t\t\t// Base styles\n\t\t\t'block w-full min-w-0 rounded-[8px] border-0 bg-surface-highest text-surface-on': true,\n\t\t\t// Focus styles\n\t\t\t'outline-secondary-default focus:outline-1': true,\n\t\t\t// Disabled styles\n\t\t\t'disabled:opacity-40 disabled:cursor-not-allowed': true,\n\t\t\t// Placeholder\n\t\t\t'placeholder:text-muted': true,\n\t\t\t// Ring styles\n\t\t\t'ring-0 ring-inset focus:ring-1 focus:ring-inset': true,\n\t\t\t// Ring colors based on error state\n\t\t\t'ring-secondary-default ring-outline focus:ring-secondary-default': !this.error,\n\t\t\t'ring-error-default focus:ring-error-default': this.error,\n\t\t\t// Readonly styles\n\t\t\t'caret-transparent focus:outline-hidden cursor-pointer select-none': this.readonly,\n\t\t\t'cursor-pointer': this.clickable,\n\t\t\t// Text alignment (date inputs always left-aligned)\n\t\t\t'text-left': this.align === 'left' || isDateType,\n\t\t\t'text-center': this.align === 'center' && !isDateType,\n\t\t\t'text-right': this.align === 'right' && !isDateType,\n\t\t\t// Autofill\n\t\t\tautofilled: this.isAutofilled,\n\t\t}\n\n\t\tconst labelClasses = {\n\t\t\t'block mb-1 font-medium': true,\n\t\t\t'opacity-40': this.disabled,\n\t\t\t'text-[10px]': this.size === 'xxs',\n\t\t\t'text-xs': this.size === 'xs',\n\t\t\t'text-sm': this.size === 'sm',\n\t\t\t'text-base': this.size === 'md',\n\t\t\t'text-lg': this.size === 'lg',\n\t\t\t'text-primary-default': !this.error,\n\t\t\t'text-error-default': this.error,\n\t\t}\n\n\t\tconst styles = {\n\t\t\theight,\n\t\t\tpadding,\n\t\t\tfontSize,\n\t\t\t// Ensure vertical centering for all input types\n\t\t\tlineHeight: height,\n\t\t}\n\n\t\t/**\n\t\t * - If `this.label` is present, we render a proper `<label for=\"${this.id}\">`.\n\t\t * - If not, we add an aria-label to the <input> for better accessibility.\n\t\t * - If there's a `hint`, we reference it via aria-describedby.\n\t\t * - If there's an error, we set aria-invalid and could set aria-errormessage.\n\t\t */\n\t\treturn html`\n\t\t\t<div class=\"w-full min-w-0 ${isDateType ? 'date-input-container' : ''}\">\n\t\t\t\t${when(\n\t\t\t\t\tthis.label,\n\t\t\t\t\t() => html`\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\tfor=${this.id}\n\t\t\t\t\t\t\tclass=${this.classMap(labelClasses)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t${this.label}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\n\t\t\t\t<input\n\t\t\t\t\t${ref(this.inputRef)}\n\t\t\t\t\tid=${this.id}\n\t\t\t\t\tname=${this.name}\n\t\t\t\t\tclass=${this.classMap(inputClasses)}\n\t\t\t\t\tstyle=${this.styleMap(styles)}\n\t\t\t\t\t.value=${this.value}\n\t\t\t\t\t.type=${this.type}\n\t\t\t\t\t.autocomplete=${this.autocomplete}\n\t\t\t\t\t.spellcheck=${this.spellcheck}\n\t\t\t\t\tplaceholder=${this.placeholder}\n\t\t\t\t\tinputmode=${ifDefined(this.inputmode)}\n\t\t\t\t\tpattern=${ifDefined(this.pattern)}\n\t\t\t\t\t.step=${this.step ?? ''}\n\t\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\t\tmin=${ifDefined(this.min)}\n\t\t\t\t\tmax=${ifDefined(this.max)}\n\t\t\t\t\tlist=${ifDefined(this.list)}\n\t\t\t\t\t?required=${this.required}\n\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t\t?readonly=${this.readonly}\n\t\t\t\t\taria-invalid=${this.error ? 'true' : 'false'}\n\t\t\t\t\taria-required=${this.required ? 'true' : 'false'}\n\t\t\t\t\taria-labelledby=${this.label ? `label-${this.id}` : nothing}\n\t\t\t\t\taria-describedby=${this.hint || this.validationMessage ? `hint-${this.id}` : nothing}\n\t\t\t\t\taria-label=${ifDefined(!this.label ? this.placeholder || 'Input' : undefined)}\n\t\t\t\t/>\n\n\t\t\t\t${when(\n\t\t\t\t\tthis.hint || (this.error && this.validationMessage),\n\t\t\t\t\t() => html`\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tid=\"hint-${this.id}\"\n\t\t\t\t\t\t\tclass=\"mt-1 text-sm ${this.error ? 'text-error-default' : 'text-surface-onVariant'}\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t${this.error && this.validationMessage ? this.validationMessage : this.hint}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`,\n\t\t\t\t)}\n\t\t\t</div>\n\t\t`\n\t}\n}\n\n/**\n * Register the component with the legacy tag name for backward compatibility\n * @prop {string} label - Label text for the form field (inherited from FormFieldMixin)\n * @prop {boolean} required - Whether the field is required (inherited from FormFieldMixin)\n * @prop {boolean} disabled - Whether the field is disabled (inherited from FormFieldMixin)\n * @prop {boolean} readonly - Whether the field is read-only (inherited from FormFieldMixin)\n * @prop {boolean} error - Whether the field is in an error state (inherited from FormFieldMixin)\n * @prop {string} validationMessage - The validation message to display (inherited from FormFieldMixin)\n * @prop {string} hint - Optional hint text to display below the field (inherited from FormFieldMixin)\n */\n@customElement('sch-input')\nexport class SchmancyInputCompat extends SchmancyInput {}\n"],"names":["SchmancyInput","SchmancyFormField","constructor","super","arguments","this","value","type","placeholder","clickable","spellcheck","align","step","autofocus","autocomplete","tabIndex","size","validateOn","inputRef","createRef","isAutofilled","touched","dirty","submitted","defaultValue","changedProps","id","_idCounter","willUpdate","updated","has","validateInput","hasUpdated","connectedCallback","setupFormIntegration","setupExternalLabelAssociation","form","formResetObserver","MutationObserver","mutations","mutation","attributeName","resetToDefault","observe","attributes","childList","subtree","fromEvent","pipe","takeUntil","disconnecting","subscribe","setupLabelClickListener","document","querySelectorAll","forEach","label","focus","readyState","disconnectedCallback","disconnect","error","validationMessage","dispatchEvent","CustomEvent","bubbles","forceValidation","disabled","shouldValidate","shouldShowValidation","validity","inputElement","customError","valid","hasError","checkValidity","inputValid","parentValid","reportValidity","message","setCustomValidity","firstUpdated","setTimeout","setupInputEvents","setupFocusBlurEvents","setupAutofillDetection","setupEnterKeyEvents","map","ev","inputEvent","target","inputType","data","isComposing","originalEvent","eventData","customEvent","detail","composed","Object","defineProperties","distinctUntilChanged","emitChange","focusEvent","cancelable","relatedTarget","blurEvent","filter","animationName","key","blur","enterEvent","code","keyCode","which","select","getValidity","start","end","direction","setSelectionRange","selectionStart","selectionEnd","selectionDirection","replacement","selectMode","setRangeText","options","Event","click","render","height","padding","fontSize","getHeightAndPadding","isDateType","includes","inputClasses","readonly","autofilled","labelClasses","styles","lineHeight","html","when","classMap","ref","name","styleMap","ifDefined","inputmode","pattern","minlength","maxlength","min","max","list","required","nothing","hint","shadowRootOptions","LitElement","delegatesFocus","__decorateClass","property","String","reflect","prototype","Boolean","Number","query","state","customElement","SchmancyInputCompat"],"mappings":"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"}