@mhmo91/schmancy 0.2.113 → 0.2.115

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 (308) hide show
  1. package/dist/GT-Eesti/GT-Eesti-Pro-Display-Bold.woff +0 -0
  2. package/dist/GT-Eesti/GT-Eesti-Pro-Display-Light.woff +0 -0
  3. package/dist/GT-Eesti/GT-Eesti-Pro-Display-Medium.woff +0 -0
  4. package/dist/GT-Eesti/GT-Eesti-Pro-Display-Regular.woff +0 -0
  5. package/dist/GT-Eesti/GT-Eesti-Pro-Display-Thin.woff +0 -0
  6. package/dist/GT-Eesti/GT-Eesti-Pro-Display-UBold.woff +0 -0
  7. package/dist/GT-Eesti/GT-Eesti-Pro-Display-ULight.woff +0 -0
  8. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Bold-Italic.woff +0 -0
  9. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Bold.woff +0 -0
  10. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Book-Italic.woff +0 -0
  11. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Book.woff +0 -0
  12. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Light.woff +0 -0
  13. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Medium-Italic.woff +0 -0
  14. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Medium.woff +0 -0
  15. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Regular.woff +0 -0
  16. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Thin-Italic.woff +0 -0
  17. package/dist/GT-Eesti/GT-Eesti-Pro-Text-Thin.woff +0 -0
  18. package/dist/GT-Eesti/GT-Eesti-Pro-Text-ULight-Italic.woff +0 -0
  19. package/dist/GT-Eesti/GT-Eesti-Pro-Text-ULight.woff +0 -0
  20. package/dist/GT-Eesti/GT-Eesti-Text-Regular.woff2 +0 -0
  21. package/dist/{animated-text-B576YswO.cjs → animated-text-BJ8e_TdT.cjs} +2 -2
  22. package/dist/{animated-text-B576YswO.cjs.map → animated-text-BJ8e_TdT.cjs.map} +1 -1
  23. package/dist/{animated-text-BuRbVM-X.js → animated-text-C-LJVhLw.js} +3 -3
  24. package/dist/{animated-text-BuRbVM-X.js.map → animated-text-C-LJVhLw.js.map} +1 -1
  25. package/dist/animated-text.cjs +1 -1
  26. package/dist/animated-text.js +1 -1
  27. package/dist/area.cjs +1 -1
  28. package/dist/{area.component-Bo5aB8BH.js → area.component-6ebQ-3Kb.js} +10 -10
  29. package/dist/{area.component-Bo5aB8BH.js.map → area.component-6ebQ-3Kb.js.map} +1 -1
  30. package/dist/{area.component-BFj0Dvfb.cjs → area.component-Bf5USqvC.cjs} +2 -2
  31. package/dist/{area.component-BFj0Dvfb.cjs.map → area.component-Bf5USqvC.cjs.map} +1 -1
  32. package/dist/area.js +1 -1
  33. package/dist/autocomplete-CM_YM2UF.cjs +57 -0
  34. package/dist/autocomplete-CM_YM2UF.cjs.map +1 -0
  35. package/dist/autocomplete-NTEOksdT.js +295 -0
  36. package/dist/autocomplete-NTEOksdT.js.map +1 -0
  37. package/dist/autocomplete.cjs +1 -1
  38. package/dist/autocomplete.js +1 -1
  39. package/dist/busy.cjs +1 -1
  40. package/dist/busy.js +1 -1
  41. package/dist/button.cjs +1 -1
  42. package/dist/button.js +1 -1
  43. package/dist/card.cjs +1 -1
  44. package/dist/card.js +1 -1
  45. package/dist/{checkbox-DQYRlKod.js → checkbox-1tBSHNXu.js} +2 -2
  46. package/dist/{checkbox-DQYRlKod.js.map → checkbox-1tBSHNXu.js.map} +1 -1
  47. package/dist/{checkbox-FM06WS9G.cjs → checkbox-jcFvgv_5.cjs} +2 -2
  48. package/dist/{checkbox-FM06WS9G.cjs.map → checkbox-jcFvgv_5.cjs.map} +1 -1
  49. package/dist/checkbox.cjs +1 -1
  50. package/dist/checkbox.js +1 -1
  51. package/dist/{chips-Ctk7cxHI.js → chips-CdcS0QXD.js} +3 -3
  52. package/dist/{chips-Ctk7cxHI.js.map → chips-CdcS0QXD.js.map} +1 -1
  53. package/dist/{chips-CJZbtp-O.cjs → chips-K7p1j3Uk.cjs} +2 -2
  54. package/dist/{chips-CJZbtp-O.cjs.map → chips-K7p1j3Uk.cjs.map} +1 -1
  55. package/dist/chips.cjs +1 -1
  56. package/dist/chips.js +1 -1
  57. package/dist/color-D8r6dpWm.cjs +2 -0
  58. package/dist/color-D8r6dpWm.cjs.map +1 -0
  59. package/dist/color-DrgmL7QT.js +19 -0
  60. package/dist/color-DrgmL7QT.js.map +1 -0
  61. package/dist/components.cjs +1 -1
  62. package/dist/components.js +1 -1
  63. package/dist/content-drawer.cjs +1 -1
  64. package/dist/content-drawer.js +1 -1
  65. package/dist/{date-range-CZiZR3OZ.js → date-range-BSBJICYH.js} +3 -3
  66. package/dist/{date-range-CZiZR3OZ.js.map → date-range-BSBJICYH.js.map} +1 -1
  67. package/dist/{date-range-FxAO_oqk.cjs → date-range-BmVLxD4w.cjs} +2 -2
  68. package/dist/{date-range-FxAO_oqk.cjs.map → date-range-BmVLxD4w.cjs.map} +1 -1
  69. package/dist/date-range.cjs +1 -1
  70. package/dist/date-range.js +1 -1
  71. package/dist/{delay-NkgyZVcO.cjs → delay-BC-GT6yV.cjs} +2 -2
  72. package/dist/{delay-NkgyZVcO.cjs.map → delay-BC-GT6yV.cjs.map} +1 -1
  73. package/dist/{delay-gZOjfjX_.js → delay-CgOaVklg.js} +2 -2
  74. package/dist/{delay-gZOjfjX_.js.map → delay-CgOaVklg.js.map} +1 -1
  75. package/dist/delay.cjs +1 -1
  76. package/dist/delay.js +1 -1
  77. package/dist/directives.cjs +1 -1
  78. package/dist/directives.js +5 -4
  79. package/dist/directives.js.map +1 -1
  80. package/dist/{divider-nNk0E_jZ.cjs → divider-Dw4upy-U.cjs} +2 -2
  81. package/dist/{divider-nNk0E_jZ.cjs.map → divider-Dw4upy-U.cjs.map} +1 -1
  82. package/dist/{divider-B-JF8gre.js → divider-lRP5ZCxr.js} +3 -3
  83. package/dist/{divider-B-JF8gre.js.map → divider-lRP5ZCxr.js.map} +1 -1
  84. package/dist/divider.cjs +1 -1
  85. package/dist/divider.js +1 -1
  86. package/dist/extra.cjs +2 -0
  87. package/dist/extra.cjs.map +1 -0
  88. package/dist/extra.js +6 -0
  89. package/dist/extra.js.map +1 -0
  90. package/dist/{flex-CieqpOUS.js → flex-BkuM0UK7.js} +2 -2
  91. package/dist/{flex-CieqpOUS.js.map → flex-BkuM0UK7.js.map} +1 -1
  92. package/dist/{flex-INEcbqBe.cjs → flex-X4APHjaR.cjs} +2 -2
  93. package/dist/{flex-INEcbqBe.cjs.map → flex-X4APHjaR.cjs.map} +1 -1
  94. package/dist/{form-lcamXnkd.js → form-Ci8uCvU-.js} +2 -2
  95. package/dist/{form-lcamXnkd.js.map → form-Ci8uCvU-.js.map} +1 -1
  96. package/dist/{form-CKMp4UzU.cjs → form-Ct_Qt0rD.cjs} +2 -2
  97. package/dist/{form-CKMp4UzU.cjs.map → form-Ct_Qt0rD.cjs.map} +1 -1
  98. package/dist/form.cjs +1 -1
  99. package/dist/form.js +1 -1
  100. package/dist/{icon-BZqH7sp7.cjs → icon-BPsYPc8h.cjs} +2 -2
  101. package/dist/{icon-BZqH7sp7.cjs.map → icon-BPsYPc8h.cjs.map} +1 -1
  102. package/dist/{icon-CJrmUGTm.js → icon-DOJOFG3x.js} +3 -3
  103. package/dist/{icon-CJrmUGTm.js.map → icon-DOJOFG3x.js.map} +1 -1
  104. package/dist/{icon-button-BNn0qRfC.js → icon-button-BPa29txC.js} +3 -3
  105. package/dist/{icon-button-BNn0qRfC.js.map → icon-button-BPa29txC.js.map} +1 -1
  106. package/dist/{icon-button-nMHz4MDw.cjs → icon-button-cirbgD54.cjs} +2 -2
  107. package/dist/{icon-button-nMHz4MDw.cjs.map → icon-button-cirbgD54.cjs.map} +1 -1
  108. package/dist/icons.cjs +1 -1
  109. package/dist/icons.js +1 -1
  110. package/dist/index.cjs +1 -1
  111. package/dist/index.js +84 -78
  112. package/dist/index.js.map +1 -1
  113. package/dist/input-B4miYmDK.cjs +98 -0
  114. package/dist/input-B4miYmDK.cjs.map +1 -0
  115. package/dist/input-CuvPPYVq.js +136 -0
  116. package/dist/input-CuvPPYVq.js.map +1 -0
  117. package/dist/input-DTJsOi9t.js +205 -0
  118. package/dist/input-DTJsOi9t.js.map +1 -0
  119. package/dist/input-DibJxeWY.cjs +51 -0
  120. package/dist/input-DibJxeWY.cjs.map +1 -0
  121. package/dist/input.cjs +1 -1
  122. package/dist/input.js +1 -1
  123. package/dist/layout.cjs +1 -1
  124. package/dist/layout.js +1 -1
  125. package/dist/{list-CjrF4M5H.js → list-CWbygRrR.js} +2 -2
  126. package/dist/{list-CjrF4M5H.js.map → list-CWbygRrR.js.map} +1 -1
  127. package/dist/{list-D4y-Mkap.cjs → list-QiglVzPK.cjs} +2 -2
  128. package/dist/{list-D4y-Mkap.cjs.map → list-QiglVzPK.cjs.map} +1 -1
  129. package/dist/list.cjs +1 -1
  130. package/dist/list.js +1 -1
  131. package/dist/{litElement.mixin-djlKJ0lX.cjs → litElement.mixin-D_oDZMIO.cjs} +2 -2
  132. package/dist/{litElement.mixin-djlKJ0lX.cjs.map → litElement.mixin-D_oDZMIO.cjs.map} +1 -1
  133. package/dist/{litElement.mixin-NzkxESus.js → litElement.mixin-MZntPOCu.js} +2 -2
  134. package/dist/{litElement.mixin-NzkxESus.js.map → litElement.mixin-MZntPOCu.js.map} +1 -1
  135. package/dist/{menu-DAtFS31a.cjs → menu-Bn4JuaBS.cjs} +2 -2
  136. package/dist/{menu-DAtFS31a.cjs.map → menu-Bn4JuaBS.cjs.map} +1 -1
  137. package/dist/{menu-Cb5kUAvU.js → menu-iSx7aWwL.js} +3 -3
  138. package/dist/{menu-Cb5kUAvU.js.map → menu-iSx7aWwL.js.map} +1 -1
  139. package/dist/menu.cjs +1 -1
  140. package/dist/menu.js +1 -1
  141. package/dist/mixins/formField.mixin.ts +223 -0
  142. package/dist/nav-drawer.cjs +1 -1
  143. package/dist/nav-drawer.js +1 -1
  144. package/dist/notification.cjs +1 -1
  145. package/dist/notification.js +1 -1
  146. package/dist/option-DBfFfXNm.cjs +18 -0
  147. package/dist/option-DBfFfXNm.cjs.map +1 -0
  148. package/dist/option-DMwxI7ML.js +75 -0
  149. package/dist/option-DMwxI7ML.js.map +1 -0
  150. package/dist/option.cjs +1 -1
  151. package/dist/option.js +1 -1
  152. package/dist/{outlet-DofHDlGH.cjs → outlet-CEaS1zUl.cjs} +2 -2
  153. package/dist/{outlet-DofHDlGH.cjs.map → outlet-CEaS1zUl.cjs.map} +1 -1
  154. package/dist/{outlet-6HZp4fo1.js → outlet-KhTjvKCU.js} +2 -2
  155. package/dist/{outlet-6HZp4fo1.js.map → outlet-KhTjvKCU.js.map} +1 -1
  156. package/dist/payment-card-form-CVZyDkcJ.cjs +74 -0
  157. package/dist/{payment-card-form-Bi3yNg4b.cjs.map → payment-card-form-CVZyDkcJ.cjs.map} +1 -1
  158. package/dist/{payment-card-form-C8FxRlh4.js → payment-card-form-DK86Lcng.js} +183 -134
  159. package/dist/{payment-card-form-C8FxRlh4.js.map → payment-card-form-DK86Lcng.js.map} +1 -1
  160. package/dist/{radio-group-A5QxSGOr.cjs → radio-group-CxJXNx54.cjs} +2 -2
  161. package/dist/{radio-group-A5QxSGOr.cjs.map → radio-group-CxJXNx54.cjs.map} +1 -1
  162. package/dist/{radio-group-BapuNl8y.js → radio-group-DNmZuvSj.js} +2 -2
  163. package/dist/{radio-group-BapuNl8y.js.map → radio-group-DNmZuvSj.js.map} +1 -1
  164. package/dist/radio-group.cjs +1 -1
  165. package/dist/radio-group.js +1 -1
  166. package/dist/ripple-3indJ14o.js +64 -0
  167. package/dist/ripple-3indJ14o.js.map +1 -0
  168. package/dist/ripple-B_wT0zgD.cjs +16 -0
  169. package/dist/ripple-B_wT0zgD.cjs.map +1 -0
  170. package/dist/{select-8AjN6LbM.js → select-DRi9CB_N.js} +64 -39
  171. package/dist/select-DRi9CB_N.js.map +1 -0
  172. package/dist/select-SQOIioEy.cjs +56 -0
  173. package/dist/select-SQOIioEy.cjs.map +1 -0
  174. package/dist/select.cjs +1 -1
  175. package/dist/select.js +1 -1
  176. package/dist/{sheet-xR13xD2A.js → sheet-BJGyAQko.js} +6 -6
  177. package/dist/{sheet-xR13xD2A.js.map → sheet-BJGyAQko.js.map} +1 -1
  178. package/dist/{sheet-CQFdHSwJ.cjs → sheet-QIcFyBDD.cjs} +2 -2
  179. package/dist/{sheet-CQFdHSwJ.cjs.map → sheet-QIcFyBDD.cjs.map} +1 -1
  180. package/dist/sheet.cjs +1 -1
  181. package/dist/sheet.js +1 -1
  182. package/dist/{slider-BakU-Bdw.js → slider-A_LoTZ1P.js} +3 -3
  183. package/dist/{slider-BakU-Bdw.js.map → slider-A_LoTZ1P.js.map} +1 -1
  184. package/dist/{slider-B4OCBlQg.cjs → slider-XRH0sXZN.cjs} +2 -2
  185. package/dist/{slider-B4OCBlQg.cjs.map → slider-XRH0sXZN.cjs.map} +1 -1
  186. package/dist/slider.cjs +1 -1
  187. package/dist/slider.js +1 -1
  188. package/dist/{spinner-C3VJtLgk.cjs → spinner-CSsb6sKK.cjs} +4 -4
  189. package/dist/{spinner-C3VJtLgk.cjs.map → spinner-CSsb6sKK.cjs.map} +1 -1
  190. package/dist/{spinner-BDx3SZsl.js → spinner-D0l2eAK5.js} +12 -11
  191. package/dist/{spinner-BDx3SZsl.js.map → spinner-D0l2eAK5.js.map} +1 -1
  192. package/dist/{surface-YiaJJQ5m.js → surface-D5FgxeIB.js} +2 -2
  193. package/dist/{surface-YiaJJQ5m.js.map → surface-D5FgxeIB.js.map} +1 -1
  194. package/dist/{surface-kjOrb8TO.cjs → surface-DEAdaZUh.cjs} +2 -2
  195. package/dist/{surface-kjOrb8TO.cjs.map → surface-DEAdaZUh.cjs.map} +1 -1
  196. package/dist/surface.cjs +1 -1
  197. package/dist/surface.js +1 -1
  198. package/dist/{table-BZV2dBD5.cjs → table-Cygw_pIl.cjs} +2 -2
  199. package/dist/{table-BZV2dBD5.cjs.map → table-Cygw_pIl.cjs.map} +1 -1
  200. package/dist/{table-BguYeeBH.js → table-DC86Vj6Z.js} +2 -2
  201. package/dist/{table-BguYeeBH.js.map → table-DC86Vj6Z.js.map} +1 -1
  202. package/dist/table.cjs +1 -1
  203. package/dist/table.js +1 -1
  204. package/dist/{tabs-group-H3C6ZnQn.js → tabs-group-7bz0I9uV.js} +2 -2
  205. package/dist/{tabs-group-H3C6ZnQn.js.map → tabs-group-7bz0I9uV.js.map} +1 -1
  206. package/dist/{tabs-group-BZFBZ1_G.cjs → tabs-group-BQomo5q3.cjs} +2 -2
  207. package/dist/{tabs-group-BZFBZ1_G.cjs.map → tabs-group-BQomo5q3.cjs.map} +1 -1
  208. package/dist/tabs.cjs +1 -1
  209. package/dist/tabs.js +1 -1
  210. package/dist/tailwind.mixin-B-T2bBPl.js +43 -0
  211. package/dist/{tailwind.mixin-DklgfhB4.js.map → tailwind.mixin-B-T2bBPl.js.map} +1 -1
  212. package/dist/tailwind.mixin-CduPdozY.cjs +2 -0
  213. package/dist/{tailwind.mixin-CBhPue3q.cjs.map → tailwind.mixin-CduPdozY.cjs.map} +1 -1
  214. package/dist/teleport.cjs +1 -1
  215. package/dist/{teleport.component-CF-USarR.cjs → teleport.component-BMLwCM8y.cjs} +19 -19
  216. package/dist/{teleport.component-CF-USarR.cjs.map → teleport.component-BMLwCM8y.cjs.map} +1 -1
  217. package/dist/{teleport.component-D8DXijGl.js → teleport.component-gFIqLOrA.js} +43 -40
  218. package/dist/{teleport.component-D8DXijGl.js.map → teleport.component-gFIqLOrA.js.map} +1 -1
  219. package/dist/teleport.js +1 -1
  220. package/dist/{textarea-D7bTMerW.js → textarea-1aeql05N.js} +9 -8
  221. package/dist/{textarea-D7bTMerW.js.map → textarea-1aeql05N.js.map} +1 -1
  222. package/dist/textarea-CixoZTFB.cjs +42 -0
  223. package/dist/{textarea-BCWPb0Sn.cjs.map → textarea-CixoZTFB.cjs.map} +1 -1
  224. package/dist/textarea.cjs +1 -1
  225. package/dist/textarea.js +1 -1
  226. package/dist/{theme-button-DHuXg7vh.cjs → theme-button-DocSoRxe.cjs} +2 -2
  227. package/dist/{theme-button-DHuXg7vh.cjs.map → theme-button-DocSoRxe.cjs.map} +1 -1
  228. package/dist/{theme-button-CP2_aq__.js → theme-button-MRgILdtC.js} +2 -2
  229. package/dist/{theme-button-CP2_aq__.js.map → theme-button-MRgILdtC.js.map} +1 -1
  230. package/dist/theme-button.cjs +1 -1
  231. package/dist/theme-button.js +1 -1
  232. package/dist/theme.cjs +1 -1
  233. package/dist/{theme.component-BtBosXb1.js → theme.component-BFkhNT0D.js} +47 -47
  234. package/dist/{theme.component-BtBosXb1.js.map → theme.component-BFkhNT0D.js.map} +1 -1
  235. package/dist/{theme.component-Ly2C_fQ8.cjs → theme.component-BgOdO6iM.cjs} +2 -2
  236. package/dist/{theme.component-Ly2C_fQ8.cjs.map → theme.component-BgOdO6iM.cjs.map} +1 -1
  237. package/dist/theme.js +1 -1
  238. package/dist/timezone-BW6MC511.js +119 -0
  239. package/dist/timezone-BW6MC511.js.map +1 -0
  240. package/dist/timezone-CvOrPfno.cjs +34 -0
  241. package/dist/timezone-CvOrPfno.cjs.map +1 -0
  242. package/dist/{tree-CG9B3uQP.cjs → tree-DysB6Y8C.cjs} +2 -2
  243. package/dist/{tree-CG9B3uQP.cjs.map → tree-DysB6Y8C.cjs.map} +1 -1
  244. package/dist/{tree-Y2B7yK7L.js → tree-PSCsuzDT.js} +2 -2
  245. package/dist/{tree-Y2B7yK7L.js.map → tree-PSCsuzDT.js.map} +1 -1
  246. package/dist/tree.cjs +1 -1
  247. package/dist/tree.js +1 -1
  248. package/dist/{typewriter-CzV1O28F.cjs → typewriter-C8pWgRuU.cjs} +2 -2
  249. package/dist/{typewriter-CzV1O28F.cjs.map → typewriter-C8pWgRuU.cjs.map} +1 -1
  250. package/dist/{typewriter-bnkFoDFz.js → typewriter-DmzUuxvZ.js} +14 -14
  251. package/dist/{typewriter-bnkFoDFz.js.map → typewriter-DmzUuxvZ.js.map} +1 -1
  252. package/dist/typewriter.cjs +1 -1
  253. package/dist/typewriter.js +1 -1
  254. package/dist/{typography-D-a-z23R.cjs → typography-BfjWKELJ.cjs} +2 -2
  255. package/dist/{typography-D-a-z23R.cjs.map → typography-BfjWKELJ.cjs.map} +1 -1
  256. package/dist/{typography-CSQByhJF.js → typography-D486o2A3.js} +2 -2
  257. package/dist/{typography-CSQByhJF.js.map → typography-D486o2A3.js.map} +1 -1
  258. package/dist/typography.cjs +1 -1
  259. package/dist/typography.js +1 -1
  260. package/dist/v2.cjs +2 -0
  261. package/dist/v2.cjs.map +1 -0
  262. package/dist/v2.js +5 -0
  263. package/dist/v2.js.map +1 -0
  264. package/package.json +3 -4
  265. package/types/mixins/formField.mixin.d.ts +48 -0
  266. package/types/src/autocomplete/autocomplete.d.ts +17 -7
  267. package/types/src/components/form-elements/payment-card-form.d.ts +57 -4
  268. package/types/src/extra/countries/countries.d.ts +26 -0
  269. package/types/src/extra/countries/countries.data.d.ts +5 -0
  270. package/types/src/extra/countries/index.d.ts +2 -0
  271. package/types/src/extra/index.d.ts +2 -0
  272. package/types/src/extra/timezone/index.d.ts +2 -0
  273. package/types/src/extra/timezone/timezone.d.ts +26 -0
  274. package/types/src/extra/timezone/timezones.data.d.ts +7 -0
  275. package/types/src/index.d.ts +2 -1
  276. package/types/src/option/option.d.ts +4 -0
  277. package/types/src/select/select.d.ts +8 -1
  278. package/types/src/utils/search.d.ts +10 -0
  279. package/types/src/v2/form.d.ts +51 -0
  280. package/types/src/v2/index.d.ts +2 -0
  281. package/types/src/v2/input.d.ts +71 -0
  282. package/dist/autocomplete-Du2Jw0a2.cjs +0 -49
  283. package/dist/autocomplete-Du2Jw0a2.cjs.map +0 -1
  284. package/dist/autocomplete-NL-c1Qp-.js +0 -264
  285. package/dist/autocomplete-NL-c1Qp-.js.map +0 -1
  286. package/dist/data.cjs +0 -2
  287. package/dist/data.cjs.map +0 -1
  288. package/dist/data.js +0 -2
  289. package/dist/data.js.map +0 -1
  290. package/dist/input-CszLZ81k.cjs +0 -51
  291. package/dist/input-CszLZ81k.cjs.map +0 -1
  292. package/dist/input-CwWLOBMF.js +0 -135
  293. package/dist/input-CwWLOBMF.js.map +0 -1
  294. package/dist/option-0le6-QeS.cjs +0 -18
  295. package/dist/option-0le6-QeS.cjs.map +0 -1
  296. package/dist/option-_1gW48HB.js +0 -49
  297. package/dist/option-_1gW48HB.js.map +0 -1
  298. package/dist/payment-card-form-Bi3yNg4b.cjs +0 -48
  299. package/dist/ripple-BumgqsDT.js +0 -78
  300. package/dist/ripple-BumgqsDT.js.map +0 -1
  301. package/dist/ripple-C2BHbhcS.cjs +0 -16
  302. package/dist/ripple-C2BHbhcS.cjs.map +0 -1
  303. package/dist/select-8AjN6LbM.js.map +0 -1
  304. package/dist/select-BdU6KcPX.cjs +0 -54
  305. package/dist/select-BdU6KcPX.cjs.map +0 -1
  306. package/dist/tailwind.mixin-CBhPue3q.cjs +0 -2
  307. package/dist/tailwind.mixin-DklgfhB4.js +0 -43
  308. package/dist/textarea-BCWPb0Sn.cjs +0 -42
package/dist/index.js CHANGED
@@ -1,109 +1,115 @@
1
- import "./animated-text-BuRbVM-X.js";
2
- import { F as C, H as d, b as T, S as u, a as b, r as N } from "./area.component-Bo5aB8BH.js";
3
- import "./autocomplete-NL-c1Qp-.js";
4
- import "./spinner-BDx3SZsl.js";
5
- import { S as R, a as v } from "./icon-button-BNn0qRfC.js";
6
- import { $ as M, H as g, e as E, b as A, f as F, c as Y, d as $, g as k, S as G, a as L, i as O, k as W, l as _, m as B, j as P, n as j, o as K, W as V, s as q, h as z, t as J } from "./teleport.component-D8DXijGl.js";
7
- import { S as U } from "./checkbox-DQYRlKod.js";
8
- import "./chips-Ctk7cxHI.js";
9
- import { S as Z } from "./payment-card-form-C8FxRlh4.js";
10
- import "./date-range-CZiZR3OZ.js";
11
- import { S as ra, d as ea } from "./delay-gZOjfjX_.js";
12
- import { c as oa, f as ca, r as ma } from "./ripple-BumgqsDT.js";
13
- import "./divider-B-JF8gre.js";
14
- import "./form-lcamXnkd.js";
15
- import "./icon-CJrmUGTm.js";
16
- import "./input-CwWLOBMF.js";
17
- import { S as sa, c as Sa, a as ha, b as ia } from "./flex-CieqpOUS.js";
18
- import { L as pa, a as fa, S as xa } from "./list-CjrF4M5H.js";
19
- import "./menu-Cb5kUAvU.js";
20
- import { $ as wa, S as Da, a as Ca } from "./outlet-6HZp4fo1.js";
21
- import "./option-_1gW48HB.js";
22
- import { R as Ta } from "./radio-group-BapuNl8y.js";
23
- import { mutationObserver as ba } from "./rxjs-utils.js";
1
+ import "./animated-text-C-LJVhLw.js";
2
+ import { F as C, H as T, b as d, S as u, a as b, r as N } from "./area.component-6ebQ-3Kb.js";
3
+ import "./autocomplete-NTEOksdT.js";
4
+ import "./spinner-D0l2eAK5.js";
5
+ import { S as R, a as v } from "./icon-button-BPa29txC.js";
6
+ import { $ as M, H as g, e as E, b as F, f as A, c as Y, d as $, g as k, S as G, a as L, i as O, k as W, l as _, m as B, j as P, n as j, o as z, W as K, s as V, h as q, t as J } from "./teleport.component-gFIqLOrA.js";
7
+ import { S as U } from "./checkbox-1tBSHNXu.js";
8
+ import "./chips-CdcS0QXD.js";
9
+ import { S as Z } from "./payment-card-form-DK86Lcng.js";
10
+ import "./date-range-BSBJICYH.js";
11
+ import { S as ra, d as ea } from "./delay-CgOaVklg.js";
12
+ import { c as oa } from "./color-DrgmL7QT.js";
13
+ import { f as ma, r as na } from "./ripple-3indJ14o.js";
14
+ import "./divider-lRP5ZCxr.js";
15
+ import { S as Sa, a as ha } from "./timezone-BW6MC511.js";
16
+ import "./form-Ci8uCvU-.js";
17
+ import "./icon-DOJOFG3x.js";
18
+ import "./input-CuvPPYVq.js";
19
+ import { S as ya, c as pa, a as fa, b as xa } from "./flex-BkuM0UK7.js";
20
+ import { L as wa, a as Da, S as Ca } from "./list-CWbygRrR.js";
21
+ import "./menu-iSx7aWwL.js";
22
+ import { $ as da, S as ua, a as ba } from "./outlet-KhTjvKCU.js";
23
+ import "./option-DMwxI7ML.js";
24
+ import { R as Ha } from "./radio-group-DNmZuvSj.js";
25
+ import { mutationObserver as va } from "./rxjs-utils.js";
24
26
  import "rxjs";
25
27
  import "./index-CuY8m6ta.js";
26
- import { S as Ha } from "./select-8AjN6LbM.js";
27
- import { S as va, b as Ia, a as Ma, s as ga } from "./sheet-xR13xD2A.js";
28
- import { S as Aa, a as Fa } from "./slider-BakU-Bdw.js";
29
- import { a as $a, S as ka } from "./surface-YiaJJQ5m.js";
30
- import "./table-BguYeeBH.js";
31
- import "./tabs-group-H3C6ZnQn.js";
32
- import "./textarea-D7bTMerW.js";
33
- import { S as La, f as Oa, t as Wa } from "./theme.component-BtBosXb1.js";
34
- import { S as Ba } from "./theme.interface-C5Kj6WjD.js";
35
- import "./theme-button-CP2_aq__.js";
36
- import { S as ja } from "./tree-Y2B7yK7L.js";
37
- import { SchmancyEvents as Va } from "./types.js";
38
- import { T as za } from "./typewriter-bnkFoDFz.js";
39
- import { S as Qa } from "./typography-CSQByhJF.js";
40
- import { i as Xa } from "./intersection-CJxzz8c-.js";
28
+ import { S as Ma } from "./select-DRi9CB_N.js";
29
+ import { S as Ea, b as Fa, a as Aa, s as Ya } from "./sheet-BJGyAQko.js";
30
+ import { S as ka, a as Ga } from "./slider-A_LoTZ1P.js";
31
+ import { a as Oa, S as Wa } from "./surface-D5FgxeIB.js";
32
+ import "./table-DC86Vj6Z.js";
33
+ import "./tabs-group-7bz0I9uV.js";
34
+ import "./textarea-1aeql05N.js";
35
+ import { S as Ba, f as Pa, t as ja } from "./theme.component-BFkhNT0D.js";
36
+ import { S as Ka } from "./theme.interface-C5Kj6WjD.js";
37
+ import "./theme-button-MRgILdtC.js";
38
+ import { S as qa } from "./tree-PSCsuzDT.js";
39
+ import { SchmancyEvents as Qa } from "./types.js";
40
+ import { T as Xa } from "./typewriter-DmzUuxvZ.js";
41
+ import { S as ar } from "./typography-D486o2A3.js";
42
+ import { i as er } from "./intersection-CJxzz8c-.js";
43
+ import { S as or } from "./input-DTJsOi9t.js";
41
44
  export {
42
45
  M as $drawer,
43
- wa as $notify,
46
+ da as $notify,
44
47
  C as FINDING_MORTIES,
45
- d as HERE_RICKY,
46
- T as HISTORY_STRATEGY,
48
+ T as HERE_RICKY,
49
+ d as HISTORY_STRATEGY,
47
50
  g as HereMorty,
48
- pa as List,
49
- Ta as RadioGroup,
51
+ wa as List,
52
+ Ha as RadioGroup,
53
+ or as SchForm,
50
54
  u as SchmancyArea,
51
55
  R as SchmancyButton,
52
56
  U as SchmancyCheckbox,
53
57
  E as SchmancyContentDrawer,
54
- A as SchmancyContentDrawerID,
55
- F as SchmancyContentDrawerMain,
58
+ F as SchmancyContentDrawerID,
59
+ A as SchmancyContentDrawerMain,
56
60
  Y as SchmancyContentDrawerMaxHeight,
57
61
  $ as SchmancyContentDrawerMinWidth,
58
62
  k as SchmancyContentDrawerSheet,
59
63
  G as SchmancyContentDrawerSheetMode,
60
64
  L as SchmancyContentDrawerSheetState,
65
+ Sa as SchmancyCountriesSelect,
61
66
  ra as SchmancyDelay,
62
67
  O as SchmancyDrawerAppbar,
63
68
  W as SchmancyDrawerNavbarMode,
64
69
  _ as SchmancyDrawerNavbarState,
65
- Va as SchmancyEvents,
66
- sa as SchmancyFlex,
67
- Sa as SchmancyFlexV2,
68
- ha as SchmancyGrid,
69
- fa as SchmancyListItem,
70
- xa as SchmancyListTypeContext,
70
+ Qa as SchmancyEvents,
71
+ ya as SchmancyFlex,
72
+ pa as SchmancyFlexV2,
73
+ fa as SchmancyGrid,
74
+ Da as SchmancyListItem,
75
+ Ca as SchmancyListTypeContext,
71
76
  B as SchmancyNavigationDrawer,
72
77
  P as SchmancyNavigationDrawerContent,
73
78
  j as SchmancyNavigationDrawerSidebar,
74
- Da as SchmancyNotification,
75
- Ca as SchmancyNotificationOutlet,
79
+ ua as SchmancyNotification,
80
+ ba as SchmancyNotificationOutlet,
76
81
  Z as SchmancyPaymentCardForm,
77
- ia as SchmancyScroll,
78
- Ha as SchmancySelect,
79
- va as SchmancySheetPosition,
80
- Aa as SchmancySlide,
81
- Fa as SchmancySlider,
82
- $a as SchmancySurface,
83
- ka as SchmancySurfaceTypeContext,
84
- K as SchmancyTeleportation,
85
- Ba as SchmancyTheme,
86
- La as SchmancyThemeComponent,
87
- ja as SchmancyTree,
88
- Qa as SchmancyTypography,
82
+ xa as SchmancyScroll,
83
+ Ma as SchmancySelect,
84
+ Ea as SchmancySheetPosition,
85
+ ka as SchmancySlide,
86
+ Ga as SchmancySlider,
87
+ Oa as SchmancySurface,
88
+ Wa as SchmancySurfaceTypeContext,
89
+ z as SchmancyTeleportation,
90
+ Ka as SchmancyTheme,
91
+ Ba as SchmancyThemeComponent,
92
+ ha as SchmancyTimezonesSelect,
93
+ qa as SchmancyTree,
94
+ ar as SchmancyTypography,
89
95
  v as SchmnacyIconButton,
90
- Ia as SheetHereMorty,
91
- Ma as SheetWhereAreYouRicky,
92
- za as TypewriterElement,
93
- V as WhereAreYouRicky,
96
+ Fa as SheetHereMorty,
97
+ Aa as SheetWhereAreYouRicky,
98
+ Xa as TypewriterElement,
99
+ K as WhereAreYouRicky,
94
100
  b as area,
95
101
  oa as color,
96
102
  ea as delayContext,
97
- Oa as formateTheme,
98
- ca as fullHeight,
99
- Xa as intersection$,
100
- ba as mutationObserver,
101
- ma as ripple,
103
+ Pa as formateTheme,
104
+ ma as fullHeight,
105
+ er as intersection$,
106
+ va as mutationObserver,
107
+ na as ripple,
102
108
  N as routerHistory,
103
- q as schmancyContentDrawer,
104
- z as schmancyNavDrawer,
105
- ga as sheet,
106
- Wa as tailwindStyles,
109
+ V as schmancyContentDrawer,
110
+ q as schmancyNavDrawer,
111
+ Ya as sheet,
112
+ ja as tailwindStyles,
107
113
  J as teleport
108
114
  };
109
115
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,98 @@
1
+ "use strict";const b=require("./tailwind.mixin-CduPdozY.cjs"),d=require("lit"),i=require("lit/decorators.js"),f=require("lit/directives/ref.js"),v=require("lit/directives/when.js"),g=require("./color-D8r6dpWm.cjs"),u=require("./theme.interface-Xg5Zi46a.cjs");var $=Object.defineProperty,w=Object.getOwnPropertyDescriptor,c=(e,s,r,o)=>{for(var n,t=o>1?void 0:o?w(s,r):s,a=e.length-1;a>=0;a--)(n=e[a])&&(t=(o?n(s,r,t):n(t))||t);return o&&t&&$(s,r,t),t};exports.SchForm=class extends b.TailwindElement(d.css`
2
+ :host {
3
+ display: block;
4
+ }
5
+ `){constructor(){super(...arguments),this.novalidate=!1,this.method="post",this.action="",this.enctype="application/x-www-form-urlencoded"}handleSubmit(e){if(e.preventDefault(),!this.novalidate&&!this.formElement.checkValidity())return void this.formElement.reportValidity();const s=new FormData(this.formElement),r=Array.from(s.entries()).reduce((o,[n,t])=>(o[n]!==void 0?(Array.isArray(o[n])||(o[n]=[o[n]]),o[n].push(t)):o[n]=t,o),{});this.dispatchEvent(new CustomEvent("submit",{detail:{formData:s,data:r},bubbles:!0})),this.action&&!this.novalidate&&this.formElement.submit()}reset(){var e;(e=this.formElement)==null||e.reset()}render(){return d.html`
6
+ <form
7
+ method=${this.method}
8
+ action=${this.action}
9
+ enctype=${this.enctype}
10
+ ?novalidate=${this.novalidate}
11
+ @submit=${this.handleSubmit}
12
+ >
13
+ <slot></slot>
14
+ </form>
15
+ `}},c([i.property({type:Boolean})],exports.SchForm.prototype,"novalidate",2),c([i.property({type:String})],exports.SchForm.prototype,"method",2),c([i.property({type:String})],exports.SchForm.prototype,"action",2),c([i.property({type:String})],exports.SchForm.prototype,"enctype",2),c([i.query("form")],exports.SchForm.prototype,"formElement",2),exports.SchForm=c([i.customElement("sch-form")],exports.SchForm);var S=Object.defineProperty,l=(e,s,r,o)=>{for(var n,t=void 0,a=e.length-1;a>=0;a--)(n=e[a])&&(t=n(s,r,t)||t);return t&&S(s,r,t),t};function x(e){return function(s){const o=class o extends s{constructor(...t){super(...t),this.name="",this.value="",this.label="",this.required=!1,this.disabled=!1,this.readonly=!1,this.error=!1,this.validationMessage="",this.id=`schmancy-field-${Date.now()}-${Math.floor(1e3*Math.random())}`;try{this.internals=this.attachInternals()}catch{this.internals=void 0}}get form(){var t;return((t=this.internals)==null?void 0:t.form)??null}willUpdate(t){var a,y,m;super.willUpdate(t),t.has("value")&&((a=this.internals)==null||a.setFormValue(this.value)),(t.has("error")||t.has("validationMessage"))&&(this.error&&this.validationMessage?(y=this.internals)==null||y.setValidity({customError:!0},this.validationMessage):(m=this.internals)==null||m.setValidity({}))}checkValidity(){return!!this.disabled||!this.required||this.value!==""&&this.value!==void 0&&this.value!==null||(this.error=!0,this.validationMessage="This field is required",!1)}reportValidity(){var a;const t=this.checkValidity();return t||((a=this.internals)==null||a.reportValidity()),t}setCustomValidity(t){var a,y;this.validationMessage=t,this.error=t!=="",t?(a=this.internals)==null||a.setValidity({customError:!0},t):(y=this.internals)==null||y.setValidity({})}emitChange(t){this.dispatchEvent(new CustomEvent("change",{detail:t,bubbles:!0,composed:!0}))}};o.formAssociated=!0;let r=o;return l([i.property({type:String})],r.prototype,"name"),l([i.property({reflect:!0})],r.prototype,"value"),l([i.property({type:String})],r.prototype,"label"),l([i.property({type:Boolean,reflect:!0})],r.prototype,"required"),l([i.property({type:Boolean,reflect:!0})],r.prototype,"disabled"),l([i.property({type:Boolean,reflect:!0})],r.prototype,"readonly"),l([i.property({type:Boolean,reflect:!0})],r.prototype,"error"),l([i.property({type:String})],r.prototype,"validationMessage"),l([i.property({type:String})],r.prototype,"hint"),l([i.property({reflect:!0})],r.prototype,"id"),r}(b.TailwindElement(e))}var V=Object.defineProperty,E=Object.getOwnPropertyDescriptor,h=(e,s,r,o)=>{for(var n,t=o>1?void 0:o?E(s,r):s,a=e.length-1;a>=0;a--)(n=e[a])&&(t=(o?n(s,r,t):n(t))||t);return o&&t&&V(s,r,t),t};let p=class extends x(d.css`
16
+ :host {
17
+ display: block;
18
+ width: 100%;
19
+ }
20
+
21
+ input {
22
+ width: 100%;
23
+ height: var(--sch-input-height, 40px);
24
+ padding: var(--sch-input-padding, 0 12px);
25
+ border-radius: var(--sch-input-radius, 4px);
26
+ font-family: inherit;
27
+ font-size: inherit;
28
+ background-color: var(--schmancy-sys-color-surface-highest);
29
+ color: var(--schmancy-sys-color-surface-on);
30
+ border: 1px solid var(--schmancy-sys-color-surface-onVariant);
31
+ }
32
+
33
+ input:focus {
34
+ outline: none;
35
+ border-color: var(--schmancy-sys-color-primary-default);
36
+ box-shadow: 0 0 0 1px var(--schmancy-sys-color-primary-default);
37
+ }
38
+
39
+ /* Only show invalid state after the user has interacted with the field */
40
+ input:not(:placeholder-shown):invalid {
41
+ border-color: var(--schmancy-sys-color-error-default);
42
+ box-shadow: 0 0 0 1px var(--schmancy-sys-color-error-default);
43
+ }
44
+
45
+ .input-wrapper {
46
+ position: relative;
47
+ }
48
+
49
+ label {
50
+ display: block;
51
+ margin-bottom: 4px;
52
+ font-size: 0.875rem;
53
+ }
54
+
55
+ .hint {
56
+ font-size: 0.75rem;
57
+ margin-top: 4px;
58
+ }
59
+ `){constructor(){super(...arguments),this.type="text",this.placeholder="",this.autocomplete="off",this.inputRef=f.createRef()}handleInput(e){this.value=e.target.value,this.emitChange({value:this.value})}focus(e){var s;(s=this.inputRef.value)==null||s.focus(e)}blur(){var e;(e=this.inputRef.value)==null||e.blur()}checkValidity(){var e;return((e=this.inputRef.value)==null?void 0:e.checkValidity())??!0}reportValidity(){var e;return((e=this.inputRef.value)==null?void 0:e.reportValidity())??!0}render(){return d.html`
60
+ ${v.when(this.label,()=>d.html`
61
+ <label
62
+ for=${this.id}
63
+ ${g.color({color:this.error?u.SchmancyTheme.sys.color.error.default:u.SchmancyTheme.sys.color.primary.default})}
64
+ >
65
+ ${this.label}
66
+ </label>
67
+ `)}
68
+
69
+ <div class="input-wrapper">
70
+ <input
71
+ ${f.ref(this.inputRef)}
72
+ id=${this.id}
73
+ .type=${this.type}
74
+ name=${this.name}
75
+ placeholder=${this.placeholder}
76
+ ?required=${this.required}
77
+ ?disabled=${this.disabled}
78
+ ?readonly=${this.readonly}
79
+ minlength=${this.minlength??""}
80
+ maxlength=${this.maxlength??""}
81
+ pattern=${this.pattern??""}
82
+ .autocomplete=${this.autocomplete}
83
+ aria-invalid=${this.error?"true":"false"}
84
+ .value=${this.value}
85
+ @input=${this.handleInput}
86
+ />
87
+ </div>
88
+
89
+ ${v.when(this.hint,()=>d.html`
90
+ <div
91
+ class="hint"
92
+ ${g.color({color:u.SchmancyTheme.sys.color.surface.onVariant})}
93
+ >
94
+ ${this.hint}
95
+ </div>
96
+ `)}
97
+ `}};h([i.property({type:String})],p.prototype,"type",2),h([i.property({type:String})],p.prototype,"placeholder",2),h([i.property({type:Number})],p.prototype,"minlength",2),h([i.property({type:Number})],p.prototype,"maxlength",2),h([i.property({type:String})],p.prototype,"pattern",2),h([i.property({type:String})],p.prototype,"autocomplete",2),p=h([i.customElement("sch-input")],p);
98
+ //# sourceMappingURL=input-B4miYmDK.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-B4miYmDK.cjs","sources":["../src/v2/form.ts","../mixins/formField.mixin.ts","../src/v2/input.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/tailwind.mixin'\nimport { html, css } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\n\n/**\n * A form component that enforces native browser validation\n * for all contained form elements.\n *\n * @example\n * ```html\n * <sch-form @submit=${handleSubmit}>\n * <sch-input label=\"Name\" required></sch-input>\n * <schmancy-button type=\"submit\">Submit</schmancy-button>\n * </sch-form>\n * ```\n */\n@customElement('sch-form')\nexport class SchForm extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t}\n`) {\n\t/**\n\t * If true, form validation will be skipped\n\t */\n\t@property({ type: Boolean })\n\tnovalidate = false\n\n\t/**\n\t * The form's submission method (get or post)\n\t */\n\t@property({ type: String })\n\tmethod: 'get' | 'post' = 'post'\n\n\t/**\n\t * The URL to submit the form to\n\t */\n\t@property({ type: String })\n\taction = ''\n\n\t/**\n\t * The form's encoding type\n\t */\n\t@property({ type: String })\n\tenctype: 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain' =\n\t\t'application/x-www-form-urlencoded'\n\n\t/**\n\t * Reference to the internal form element\n\t */\n\t@query('form')\n\tformElement!: HTMLFormElement\n\n\t/**\n\t * Handle form submission\n\t * This is the key method that ensures browser validation works\n\t */\n\tprivate handleSubmit(e: Event) {\n\t\t// Always prevent the default submission\n\t\te.preventDefault()\n\n\t\t// Use the browser's built-in validation\n\t\tif (!this.novalidate && !this.formElement.checkValidity()) {\n\t\t\t// This will trigger the browser's default validation UI on all fields\n\t\t\tthis.formElement.reportValidity()\n\t\t\treturn\n\t\t}\n\n\t\t// If validation passes or is disabled, collect the form data\n\t\tconst formData = new FormData(this.formElement)\n\n\t\t// Convert FormData to a plain object for easier consumption\n\t\tconst formDataObj = Array.from(formData.entries()).reduce(\n\t\t\t(obj, [key, value]) => {\n\t\t\t\tif (obj[key] !== undefined) {\n\t\t\t\t\tif (!Array.isArray(obj[key])) {\n\t\t\t\t\t\tobj[key] = [obj[key]]\n\t\t\t\t\t}\n\t\t\t\t\tobj[key].push(value)\n\t\t\t\t} else {\n\t\t\t\t\tobj[key] = value\n\t\t\t\t}\n\t\t\t\treturn obj\n\t\t\t},\n\t\t\t{} as Record<string, any>,\n\t\t)\n\n\t\t// Dispatch a submit event with the form data\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('submit', {\n\t\t\t\tdetail: { formData, data: formDataObj },\n\t\t\t\tbubbles: true,\n\t\t\t}),\n\t\t)\n\n\t\t// If there's an action URL, submit the form to it\n\t\tif (this.action && !this.novalidate) {\n\t\t\tthis.formElement.submit()\n\t\t}\n\t}\n\n\t/**\n\t * Reset the form\n\t */\n\tpublic reset() {\n\t\tthis.formElement?.reset()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<form\n\t\t\t\tmethod=${this.method}\n\t\t\t\taction=${this.action}\n\t\t\t\tenctype=${this.enctype}\n\t\t\t\t?novalidate=${this.novalidate}\n\t\t\t\t@submit=${this.handleSubmit}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</form>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'sch-form': SchForm\n\t}\n}\n","import { CSSResult, LitElement, PropertyValueMap } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { IBaseMixin } from '../mixins/baseElement'\nimport { Constructor } from '../mixins/constructor'\nimport { ITailwindElementMixin, TailwindElement } from '../mixins/tailwind.mixin'\n\n/**\n * Interface defining the properties and methods that the FormFieldMixin adds.\n */\nexport interface IFormFieldMixin extends Element {\n\t// Properties\n\tname: string\n\tvalue: string | string[] | boolean | number | undefined\n\tlabel: string\n\trequired: boolean\n\tdisabled: boolean\n\treadonly: boolean\n\terror: boolean\n\tvalidationMessage: string\n\thint?: string\n\tid: string\n\n\t// Form association\n\tform: HTMLFormElement | null\n\n\t// Methods\n\tcheckValidity(): boolean\n\treportValidity(): boolean\n\tsetCustomValidity(message: string): void\n\n\t// Event emitter helper\n\temitChange(detail: any): void\n}\n\n/**\n * A mixin that adds form field capabilities to a LitElement class.\n * This provides common form field properties, validation, and form association.\n *\n * @example\n * ```ts\n * class MyInput extends FormFieldMixin(TailwindElement(css`...`)) {\n * // Your component code here\n * }\n * ```\n */\nexport function FormFieldMixin<T extends Constructor<LitElement>>(superClass: T) {\n\tclass FormFieldMixinClass extends superClass {\n\t\tstatic formAssociated = true\n\n\t\t// Element internals for form association\n\t\tprivate internals: ElementInternals | undefined\n\n\t\t// Properties common to form fields\n\t\t/**\n\t\t * The name of the form field (used for form submission)\n\t\t */\n\t\t@property({ type: String })\n\t\tname: string = ''\n\n\t\t/**\n\t\t * The current value of the form field\n\t\t */\n\t\t@property({ reflect: true })\n\t\tvalue: string | string[] | boolean | number | undefined = ''\n\n\t\t/**\n\t\t * Label text for the form field\n\t\t */\n\t\t@property({ type: String })\n\t\tlabel: string = ''\n\n\t\t/**\n\t\t * Whether the field is required\n\t\t */\n\t\t@property({ type: Boolean, reflect: true })\n\t\trequired: boolean = false\n\n\t\t/**\n\t\t * Whether the field is disabled\n\t\t */\n\t\t@property({ type: Boolean, reflect: true })\n\t\tdisabled: boolean = false\n\n\t\t/**\n\t\t * Whether the field is read-only\n\t\t */\n\t\t@property({ type: Boolean, reflect: true })\n\t\treadonly: boolean = false\n\n\t\t/**\n\t\t * Whether the field is in an error state\n\t\t */\n\t\t@property({ type: Boolean, reflect: true })\n\t\terror: boolean = false\n\n\t\t/**\n\t\t * The validation message to display\n\t\t */\n\t\t@property({ type: String })\n\t\tvalidationMessage: string = ''\n\n\t\t/**\n\t\t * Optional hint text to display below the field\n\t\t */\n\t\t@property({ type: String })\n\t\thint?: string\n\n\t\t/**\n\t\t * Unique identifier for the field\n\t\t */\n\t\t@property({ reflect: true })\n\t\toverride id: string = `schmancy-field-${Date.now()}-${Math.floor(Math.random() * 1000)}`\n\n\t\tconstructor(...args: any[]) {\n\t\t\tsuper(...args)\n\t\t\ttry {\n\t\t\t\tthis.internals = this.attachInternals()\n\t\t\t} catch {\n\t\t\t\tthis.internals = undefined\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Gets the form this element is associated with\n\t\t */\n\t\tget form(): HTMLFormElement | null {\n\t\t\treturn this.internals?.form ?? null\n\t\t}\n\n\t\t/**\n\t\t * Lifecycle method called when properties change\n\t\t */\n\t\tprotected willUpdate(changedProps: PropertyValueMap<any>): void {\n\t\t\tsuper.willUpdate(changedProps)\n\n\t\t\t// Update form value when value changes\n\t\t\tif (changedProps.has('value')) {\n\t\t\t\tthis.internals?.setFormValue(this.value as string | File | FormData | null)\n\t\t\t}\n\n\t\t\t// Update validation state when error or validation message changes\n\t\t\tif (changedProps.has('error') || changedProps.has('validationMessage')) {\n\t\t\t\tif (this.error && this.validationMessage) {\n\t\t\t\t\tthis.internals?.setValidity({ customError: true }, this.validationMessage)\n\t\t\t\t} else {\n\t\t\t\t\tthis.internals?.setValidity({})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Checks if the field is valid without showing validation UI\n\t\t */\n\t\tcheckValidity(): boolean {\n\t\t\tif (this.disabled) return true\n\n\t\t\tif (this.required && (this.value === '' || this.value === undefined || this.value === null)) {\n\t\t\t\tthis.error = true\n\t\t\t\tthis.validationMessage = 'This field is required'\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn true\n\t\t}\n\n\t\t/**\n\t\t * Reports validity and shows validation UI if invalid\n\t\t */\n\t\treportValidity(): boolean {\n\t\t\tconst isValid = this.checkValidity()\n\t\t\tif (!isValid) {\n\t\t\t\tthis.internals?.reportValidity()\n\t\t\t}\n\t\t\treturn isValid\n\t\t}\n\n\t\t/**\n\t\t * Sets a custom validation message\n\t\t */\n\t\tsetCustomValidity(message: string): void {\n\t\t\tthis.validationMessage = message\n\t\t\tthis.error = message !== ''\n\t\t\tif (message) {\n\t\t\t\tthis.internals?.setValidity({ customError: true }, message)\n\t\t\t} else {\n\t\t\t\tthis.internals?.setValidity({})\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Helper method to emit change events\n\t\t */\n\t\temitChange(detail: any): void {\n\t\t\tthis.dispatchEvent(\n\t\t\t\tnew CustomEvent('change', {\n\t\t\t\t\tdetail,\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcomposed: true,\n\t\t\t\t}),\n\t\t\t)\n\t\t}\n\t}\n\n\treturn FormFieldMixinClass as Constructor<IFormFieldMixin> & T\n}\n\n/**\n * A convenience function that composes FormFieldMixin with TailwindElement\n * to create a base class for Schmancy form components.\n *\n * @example\n * ```ts\n * class MyInput extends SchmancyFormField(css`...`) {\n * // Your component code here\n * }\n * ```\n */\nexport function SchmancyFormField<T extends CSSResult>(componentStyle?: T) {\n\treturn FormFieldMixin(TailwindElement(componentStyle)) as Constructor<IFormFieldMixin> &\n\t\tConstructor<ITailwindElementMixin> &\n\t\tConstructor<LitElement> &\n\t\tConstructor<IBaseMixin>\n}\n","import { html, css } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { createRef, ref } from 'lit/directives/ref.js'\nimport { when } from 'lit/directives/when.js'\nimport { color } from '../directives/color'\nimport { SchmancyTheme } from '../theme/theme.interface'\nimport { SchmancyFormField } from '@mixins/formField.mixin'\n\n/**\n * A simplified input component that works with browser validation.\n *\n * @example\n * ```html\n * <sch-input\n * label=\"Email\"\n * name=\"email\"\n * required\n * type=\"email\"\n * ></sch-input>\n * ```\n */\n@customElement('sch-input')\nexport default class SchInput extends SchmancyFormField(css`\n\t:host {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t}\n\n\tinput {\n\t\twidth: 100%;\n\t\theight: var(--sch-input-height, 40px);\n\t\tpadding: var(--sch-input-padding, 0 12px);\n\t\tborder-radius: var(--sch-input-radius, 4px);\n\t\tfont-family: inherit;\n\t\tfont-size: inherit;\n\t\tbackground-color: var(--schmancy-sys-color-surface-highest);\n\t\tcolor: var(--schmancy-sys-color-surface-on);\n\t\tborder: 1px solid var(--schmancy-sys-color-surface-onVariant);\n\t}\n\n\tinput:focus {\n\t\toutline: none;\n\t\tborder-color: var(--schmancy-sys-color-primary-default);\n\t\tbox-shadow: 0 0 0 1px var(--schmancy-sys-color-primary-default);\n\t}\n\n\t/* Only show invalid state after the user has interacted with the field */\n\tinput:not(:placeholder-shown):invalid {\n\t\tborder-color: var(--schmancy-sys-color-error-default);\n\t\tbox-shadow: 0 0 0 1px var(--schmancy-sys-color-error-default);\n\t}\n\n\t.input-wrapper {\n\t\tposition: relative;\n\t}\n\n\tlabel {\n\t\tdisplay: block;\n\t\tmargin-bottom: 4px;\n\t\tfont-size: 0.875rem;\n\t}\n\n\t.hint {\n\t\tfont-size: 0.75rem;\n\t\tmargin-top: 4px;\n\t}\n`) {\n\t/**\n\t * The type of input (text, email, password, etc.)\n\t */\n\t@property({ type: String })\n\ttype: string = 'text'\n\n\t/**\n\t * Placeholder text\n\t */\n\t@property({ type: String })\n\tplaceholder: string = ''\n\n\t/**\n\t * Minimum input length\n\t */\n\t@property({ type: Number })\n\tminlength?: number\n\n\t/**\n\t * Maximum input length\n\t */\n\t@property({ type: Number })\n\tmaxlength?: number\n\n\t/**\n\t * Pattern for validation\n\t */\n\t@property({ type: String })\n\tpattern?: string\n\n\t/**\n\t * Whether to enable autocomplete\n\t */\n\t@property({ type: String })\n\tautocomplete: string = 'off'\n\n\t/**\n\t * Reference to the internal input element\n\t */\n\tprivate inputRef = createRef<HTMLInputElement>()\n\n\t/**\n\t * Handle input change\n\t */\n\tprivate handleInput(e: Event) {\n\t\tthis.value = (e.target as HTMLInputElement).value\n\t\tthis.emitChange({ value: this.value })\n\t}\n\n\t/**\n\t * Focus the input\n\t */\n\tpublic override focus(options?: FocusOptions) {\n\t\tthis.inputRef.value?.focus(options)\n\t}\n\n\t/**\n\t * Blur the input\n\t */\n\tpublic override blur() {\n\t\tthis.inputRef.value?.blur()\n\t}\n\n\t/**\n\t * Let the browser handle validation\n\t */\n\tpublic override checkValidity(): boolean {\n\t\treturn this.inputRef.value?.checkValidity() ?? true\n\t}\n\n\t/**\n\t * Use the browser's built-in validation UI\n\t */\n\tpublic override reportValidity(): boolean {\n\t\treturn this.inputRef.value?.reportValidity() ?? true\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t${when(\n\t\t\t\tthis.label,\n\t\t\t\t() => html`\n\t\t\t\t\t<label\n\t\t\t\t\t\tfor=${this.id}\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.label}\n\t\t\t\t\t</label>\n\t\t\t\t`,\n\t\t\t)}\n\n\t\t\t<div class=\"input-wrapper\">\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\t.type=${this.type}\n\t\t\t\t\tname=${this.name}\n\t\t\t\t\tplaceholder=${this.placeholder}\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\tminlength=${this.minlength ?? ''}\n\t\t\t\t\tmaxlength=${this.maxlength ?? ''}\n\t\t\t\t\tpattern=${this.pattern ?? ''}\n\t\t\t\t\t.autocomplete=${this.autocomplete}\n\t\t\t\t\taria-invalid=${this.error ? 'true' : 'false'}\n\t\t\t\t\t.value=${this.value as string}\n\t\t\t\t\t@input=${this.handleInput}\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t${when(\n\t\t\t\tthis.hint,\n\t\t\t\t() => html`\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"hint\"\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.onVariant,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t${this.hint}\n\t\t\t\t\t</div>\n\t\t\t\t`,\n\t\t\t)}\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'sch-input': SchInput\n\t}\n}\n"],"names":["SchForm","TailwindElement","css","constructor","super","arguments","this","novalidate","method","action","enctype","e","preventDefault","formElement","checkValidity","reportValidity","formData","FormData","formDataObj","Array","from","entries","reduce","obj","key","value","isArray","push","dispatchEvent","CustomEvent","detail","data","bubbles","submit","reset","render","html","handleSubmit","__decorateClass","property","type","Boolean","prototype","String","query","customElement","SchmancyFormField","componentStyle","superClass","FormFieldMixinClass","args","name","label","required","disabled","readonly","error","validationMessage","id","Date","now","Math","floor","random","internals","attachInternals","form","changedProps","willUpdate","has","setFormValue","setValidity","customError","isValid","message","composed","formAssociated","_e","reflect","SchInput","placeholder","autocomplete","inputRef","createRef","target","emitChange","options","focus","blur","when","color","SchmancyTheme","sys","default","primary","ref","minlength","maxlength","pattern","handleInput","hint","surface","onVariant","Number"],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ import { nothing as f, html as m, LitElement as w } from "lit";
2
+ import { property as r, query as E, customElement as k } from "lit/decorators.js";
3
+ import { classMap as b } from "lit/directives/class-map.js";
4
+ import { ifDefined as o } from "lit/directives/if-defined.js";
5
+ import { createRef as R, ref as C } from "lit/directives/ref.js";
6
+ import { when as g } from "lit/directives/when.js";
7
+ import { fromEvent as h, map as v, distinctUntilChanged as $, takeUntil as u, filter as x } from "rxjs";
8
+ import "lit/directives/style-map.js";
9
+ import { T as V } from "./tailwind.mixin-B-T2bBPl.js";
10
+ import { c as y } from "./color-DrgmL7QT.js";
11
+ import "./ripple-3indJ14o.js";
12
+ import { S as p } from "./theme.interface-C5Kj6WjD.js";
13
+ var S = Object.defineProperty, q = Object.getOwnPropertyDescriptor, i = (t, s, l, n) => {
14
+ for (var c, a = n > 1 ? void 0 : n ? q(s, l) : s, d = t.length - 1; d >= 0; d--) (c = t[d]) && (a = (n ? c(s, l, a) : c(a)) || a);
15
+ return n && a && S(s, l, a), a;
16
+ };
17
+ let e = class extends V(":host{border:unset!important;line-height:unset!important;background:unset!important;padding:unset!important;font-size:unset!important;box-shadow:unset!important;width:-webkit-fill-available}:host:focus{box-shadow:unset!important}input:focus-visible{outline:none!important}input{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:inherit;text-indent:inherit;text-shadow:inherit;text-overflow:inherit;text-rendering:inherit;text-size-adjust:inherit;text-align-last:inherit}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}@keyframes onAutoFillStart{}input:-webkit-autofill{animation-name:onAutoFillStart}") {
18
+ constructor() {
19
+ if (super(), this.id = "", this.label = "", this.type = "text", this.name = `name_${Date.now()}`, this.placeholder = "", this.value = "", this.required = !1, this.disabled = !1, this.readonly = !1, this.clickable = !1, this.spellcheck = !1, this.align = "left", this.autofocus = !1, this.autocomplete = "on", this.tabIndex = 0, this.error = !1, this.inputRef = R(), "attachInternals" in this) try {
20
+ this.internals = this.attachInternals();
21
+ } catch {
22
+ this.internals = void 0;
23
+ }
24
+ }
25
+ willUpdate(t) {
26
+ this.id || (this.id = "schmancy-input-" + e._idCounter++), super.willUpdate(t);
27
+ }
28
+ get form() {
29
+ var t;
30
+ return ((t = this.internals) == null ? void 0 : t.form) ?? null;
31
+ }
32
+ updated(t) {
33
+ var s, l, n;
34
+ super.updated(t), t.has("value") && ((s = this.internals) == null || s.setFormValue(this.value)), t.has("error") && (this.error ? (l = this.internals) == null || l.setValidity({ customError: !0 }, "Invalid input", this.inputElement) : (n = this.internals) == null || n.setValidity({}));
35
+ }
36
+ checkValidity() {
37
+ var t;
38
+ return ((t = this.inputRef.value) == null ? void 0 : t.checkValidity()) ?? !0;
39
+ }
40
+ reportValidity() {
41
+ var t;
42
+ return ((t = this.inputRef.value) == null ? void 0 : t.reportValidity()) ?? !0;
43
+ }
44
+ setCustomValidity(t) {
45
+ var s;
46
+ (s = this.inputRef.value) == null || s.setCustomValidity(t);
47
+ }
48
+ firstUpdated() {
49
+ this.autofocus && this.focus(), h(this.inputElement, "input").pipe(v((t) => t.target.value), $(), u(this.disconnecting)).subscribe((t) => {
50
+ this.value = t, this.dispatchEvent(new CustomEvent("input", { detail: { value: t }, bubbles: !0, composed: !0 })), this.dispatchEvent(new CustomEvent("change", { detail: { value: t }, bubbles: !0, composed: !0 }));
51
+ }), h(this.inputElement, "change").pipe(v((t) => t.target.value), $(), u(this.disconnecting)).subscribe((t) => {
52
+ this.value = t, this.dispatchEvent(new CustomEvent("change", { detail: { value: t }, bubbles: !0, composed: !0 }));
53
+ }), h(this.inputElement, "keyup").pipe(x((t) => t.key === "Enter"), u(this.disconnecting)).subscribe((t) => {
54
+ const { value: s } = t.target;
55
+ this.value = s, this.dispatchEvent(new CustomEvent("enter", { detail: { value: s }, bubbles: !0, composed: !0 }));
56
+ }), h(this.inputElement, "animationstart").pipe(x((t) => t.animationName === "onAutoFillStart"), u(this.disconnecting)).subscribe((t) => {
57
+ const { value: s } = t.target;
58
+ this.value = s, this.dispatchEvent(new CustomEvent("change", { detail: { value: s }, bubbles: !0, composed: !0 }));
59
+ });
60
+ }
61
+ select() {
62
+ var t;
63
+ return (t = this.inputRef.value) == null ? void 0 : t.select();
64
+ }
65
+ getValidity() {
66
+ var t;
67
+ return (t = this.inputRef.value) == null ? void 0 : t.validity;
68
+ }
69
+ focus(t) {
70
+ var s;
71
+ (s = this.inputRef.value) == null || s.focus(t), this.dispatchEvent(new Event("focus"));
72
+ }
73
+ click() {
74
+ var t;
75
+ (t = this.inputRef.value) == null || t.click(), this.dispatchEvent(new Event("click"));
76
+ }
77
+ blur() {
78
+ var t;
79
+ (t = this.inputRef.value) == null || t.blur(), this.dispatchEvent(new Event("blur"));
80
+ }
81
+ render() {
82
+ const t = { "w-full flex-1 h-[50px] rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px]": !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 text-select-none": this.readonly, "cursor-pointer": this.clickable, "text-center": this.align === "center", "text-right": this.align === "right" }, s = { "opacity-40": this.disabled, "block mb-[4px]": !0 };
83
+ return m`
84
+ ${g(this.label, () => m`
85
+ <label
86
+ for=${this.id}
87
+ id="label-${this.id}"
88
+ class=${b(s)}
89
+ ${y({ color: this.error ? p.sys.color.error.default : p.sys.color.primary.default })}
90
+ >
91
+ <schmancy-typography type="label" token="lg">${this.label}</schmancy-typography>
92
+ </label>
93
+ `)}
94
+
95
+ <input
96
+ ${y({ bgColor: p.sys.color.surface.highest, color: p.sys.color.surface.on })}
97
+ ${C(this.inputRef)}
98
+ id=${this.id}
99
+ name=${this.name}
100
+ class=${b(t)}
101
+ .value=${this.value}
102
+ .type=${this.type}
103
+ .autocomplete=${this.autocomplete}
104
+ .spellcheck=${this.spellcheck}
105
+ placeholder=${this.placeholder}
106
+ inputmode=${o(this.inputmode)}
107
+ pattern=${o(this.pattern)}
108
+ step=${o(this.step)}
109
+ minlength=${o(this.minlength)}
110
+ maxlength=${o(this.maxlength)}
111
+ min=${o(this.min)}
112
+ max=${o(this.max)}
113
+ ?required=${this.required}
114
+ ?disabled=${this.disabled}
115
+ ?readonly=${this.readonly}
116
+ aria-invalid=${this.error ? "true" : "false"}
117
+ aria-required=${this.required ? "true" : "false"}
118
+ aria-labelledby=${this.label ? `label-${this.id}` : f}
119
+ aria-describedby=${this.hint ? `hint-${this.id}` : f}
120
+ aria-label=${o(this.label ? void 0 : this.placeholder || "Input")}
121
+ />
122
+
123
+ ${g(this.hint, () => m`
124
+ <div
125
+ id="hint-${this.id}"
126
+ class="pt-[2px]"
127
+ ${y({ color: this.error ? p.sys.color.error.default : p.sys.color.primary.default })}
128
+ >
129
+ <schmancy-typography align="left" type="label"> ${this.hint} </schmancy-typography>
130
+ </div>
131
+ `)}
132
+ `;
133
+ }
134
+ };
135
+ e._idCounter = 0, e.formAssociated = !0, e.shadowRootOptions = { ...w.shadowRootOptions, delegatesFocus: !0 }, i([r({ reflect: !0 })], e.prototype, "id", 2), i([r({ type: String })], e.prototype, "label", 2), i([r({ reflect: !0 })], e.prototype, "type", 2), i([r()], e.prototype, "name", 2), i([r()], e.prototype, "placeholder", 2), i([r({ type: String, reflect: !0 })], e.prototype, "value", 2), i([r({ type: String, reflect: !0 })], e.prototype, "pattern", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "required", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "disabled", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "readonly", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "clickable", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "spellcheck", 2), i([r({ type: String, reflect: !0 })], e.prototype, "align", 2), i([r()], e.prototype, "inputmode", 2), i([r({ type: Number })], e.prototype, "minlength", 2), i([r({ type: Number })], e.prototype, "maxlength", 2), i([r()], e.prototype, "min", 2), i([r()], e.prototype, "max", 2), i([r({ type: Number, reflect: !0 })], e.prototype, "step", 2), i([r({ type: Boolean })], e.prototype, "autofocus", 2), i([r({ type: String, reflect: !0 })], e.prototype, "autocomplete", 2), i([r({ type: Number, reflect: !0 })], e.prototype, "tabIndex", 2), i([r()], e.prototype, "hint", 2), i([r({ type: Boolean, reflect: !0 })], e.prototype, "error", 2), i([E("input")], e.prototype, "inputElement", 2), e = i([k("schmancy-input")], e);
136
+ //# sourceMappingURL=input-CuvPPYVq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-CuvPPYVq.js","sources":["../src/input/input.ts"],"sourcesContent":["import { html, LitElement, nothing, PropertyValueMap } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.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 { TailwindElement } from '@mixins/index'\n\n// color directive + theme interface\nimport { color } from '@schmancy/directives'\nimport { SchmancyTheme } from '@schmancy/theme/theme.interface'\nimport style from './input.scss?inline'\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}\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@customElement('schmancy-input')\nexport default class SchmancyInput extends TailwindElement(style) {\n\t// ----------------------------\n\t// A) Public properties\n\t// ----------------------------\n\n\t/** If user does NOT set `id`, we'll autogenerate one. */\n\tstatic _idCounter = 0\n\n\t@property({ reflect: true })\n\tpublic override id = ''\n\n\t/**\n\t * The label for the control. If populated, we render a `<label for=\"...\">`.\n\t * If empty, we add an `aria-label` to the <input> for better screenreader support.\n\t */\n\t@property({ type: String }) label = ''\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\t/**\n\t * Name attribute (for form submissions). By default, a unique fallback.\n\t */\n\t@property()\n\tpublic name = `name_${Date.now()}`\n\n\t@property()\n\tpublic placeholder = ''\n\n\t/** Current value of the input. */\n\t@property({ type: String, reflect: true })\n\tpublic value = ''\n\n\t/** Pattern validation attribute. */\n\t@property({ type: String, reflect: true })\n\tpublic pattern?: string\n\n\t/** Whether the control is required for form validation. */\n\t@property({ type: Boolean, reflect: true })\n\tpublic required = false\n\n\t/** Whether the control is disabled. */\n\t@property({ type: Boolean, reflect: true })\n\tpublic disabled = false\n\n\t/** Whether the input is read-only. */\n\t@property({ type: Boolean, reflect: true })\n\tpublic readonly = false\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 })\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({ type: Number, reflect: true })\n\tpublic step?: number\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 tabIndex = 0\n\n\t/**\n\t * A small hint text or error message to display under the input.\n\t */\n\t@property()\n\tpublic hint?: string\n\n\t/**\n\t * If true, we style the input as an error state, and possibly display\n\t * the hint as an error message.\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tpublic error = false\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) Form-associated logic\n\t// ----------------------------\n\tstatic formAssociated = true\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tdelegatesFocus: true, // so focus() goes to <input>\n\t}\n\n\tprivate internals?: ElementInternals\n\n\tconstructor() {\n\t\tsuper()\n\t\tif ('attachInternals' in this) {\n\t\t\ttry {\n\t\t\t\tthis.internals = this.attachInternals()\n\t\t\t} catch {\n\t\t\t\t// no-op for older browsers / polyfills\n\t\t\t\tthis.internals = undefined\n\t\t\t}\n\t\t}\n\t}\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 = `schmancy-input-${SchmancyInput._idCounter++}`\n\t\t}\n\t\tsuper.willUpdate(changedProps)\n\t}\n\n\t/** The form this element is associated with, if any. */\n\tget form() {\n\t\treturn this.internals?.form ?? null\n\t}\n\n\tprotected override updated(changedProps: Map<string, unknown>) {\n\t\tsuper.updated(changedProps)\n\t\tif (changedProps.has('value')) {\n\t\t\t// Reflect the current value to the form internals, so it’s submitted.\n\t\t\tthis.internals?.setFormValue(this.value)\n\t\t}\n\n\t\tif (changedProps.has('error')) {\n\t\t\t// If we have an error state, we can set custom error validity, or none if resolved.\n\t\t\tif (this.error) {\n\t\t\t\tthis.internals?.setValidity({ customError: true }, 'Invalid input', this.inputElement)\n\t\t\t} else {\n\t\t\t\tthis.internals?.setValidity({})\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Native form methods:\n\t * - checkValidity()\n\t * - reportValidity()\n\t * - setCustomValidity()\n\t */\n\tpublic checkValidity() {\n\t\treturn this.inputRef.value?.checkValidity() ?? true\n\t}\n\tpublic reportValidity() {\n\t\treturn this.inputRef.value?.reportValidity() ?? true\n\t}\n\tpublic setCustomValidity(message: string) {\n\t\tthis.inputRef.value?.setCustomValidity(message)\n\t}\n\n\t// ----------------------------\n\t// D) Lifecycle Hooks\n\t// ----------------------------\n\tfirstUpdated() {\n\t\t// Autofocus if desired\n\t\tif (this.autofocus) {\n\t\t\tthis.focus()\n\t\t}\n\n\t\t// 1) Subscribe to 'input' events (every keystroke)\n\t\tfromEvent<InputEvent>(this.inputElement, 'input')\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\t// Fire custom 'input' event with details\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('input', {\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\t\t\t\t// dispatch change event\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\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\t\t\t})\n\n\t\t// 2) Subscribe to 'change' events (native behavior, 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.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\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\t\t\t})\n\n\t\t// 3) Emit a custom 'enter' event when user presses Enter\n\t\tfromEvent<KeyboardEvent>(this.inputElement, 'keyup')\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\tthis.value = value\n\t\t\t\tthis.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('enter', {\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\t\t\t})\n\n\t\t// 4) 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.dispatchEvent(\n\t\t\t\t\tnew CustomEvent<EventDetails>('change', {\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\t\t\t})\n\t}\n\n\t// ----------------------------\n\t// E) 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 * 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// F) Rendering\n\t// ----------------------------\n\tprotected override render() {\n\t\tconst inputClasses = {\n\t\t\t'w-full flex-1 h-[50px] rounded-[8px] border-0 px-[8px] sm:px-[12px] md:px-[16px]': true,\n\t\t\t'outline-secondary-default focus:outline-1 ': true,\n\t\t\t'disabled:opacity-40 disabled:cursor-not-allowed': true,\n\t\t\t'placeholder:text-muted': true,\n\t\t\t'ring-0 ring-inset focus:ring-1 focus:ring-inset': true,\n\t\t\t// If not in error state, use standard ring color:\n\t\t\t'ring-secondary-default ring-outline focus:ring-secondary-default': !this.error,\n\t\t\t// Error ring override:\n\t\t\t'ring-error-default focus:ring-error-default': this.error,\n\t\t\t// If read-only but \"clickable\" is true, show pointer. Otherwise normal text cursor.\n\t\t\t'caret-transparent focus:outline-hidden cursor-pointer text-select-none': this.readonly,\n\t\t\t'cursor-pointer': this.clickable,\n\t\t\t// Alignment classes:\n\t\t\t'text-center': this.align === 'center',\n\t\t\t'text-right': this.align === 'right',\n\t\t}\n\n\t\tconst labelClasses = {\n\t\t\t'opacity-40': this.disabled,\n\t\t\t'block mb-[4px]': true,\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${when(\n\t\t\t\tthis.label,\n\t\t\t\t() => html`\n\t\t\t\t\t<label\n\t\t\t\t\t\tfor=${this.id}\n\t\t\t\t\t\tid=\"label-${this.id}\"\n\t\t\t\t\t\tclass=${classMap(labelClasses)}\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\">${this.label}</schmancy-typography>\n\t\t\t\t\t</label>\n\t\t\t\t`,\n\t\t\t)}\n\n\t\t\t<input\n\t\t\t\t${color({\n\t\t\t\t\tbgColor: SchmancyTheme.sys.color.surface.highest,\n\t\t\t\t\tcolor: SchmancyTheme.sys.color.surface.on,\n\t\t\t\t})}\n\t\t\t\t${ref(this.inputRef)}\n\t\t\t\tid=${this.id}\n\t\t\t\tname=${this.name}\n\t\t\t\tclass=${classMap(inputClasses)}\n\t\t\t\t.value=${this.value}\n\t\t\t\t.type=${this.type}\n\t\t\t\t.autocomplete=${this.autocomplete}\n\t\t\t\t.spellcheck=${this.spellcheck}\n\t\t\t\tplaceholder=${this.placeholder}\n\t\t\t\tinputmode=${ifDefined(this.inputmode)}\n\t\t\t\tpattern=${ifDefined(this.pattern)}\n\t\t\t\tstep=${ifDefined(this.step)}\n\t\t\t\tminlength=${ifDefined(this.minlength)}\n\t\t\t\tmaxlength=${ifDefined(this.maxlength)}\n\t\t\t\tmin=${ifDefined(this.min)}\n\t\t\t\tmax=${ifDefined(this.max)}\n\t\t\t\t?required=${this.required}\n\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t?readonly=${this.readonly}\n\t\t\t\taria-invalid=${this.error ? 'true' : 'false'}\n\t\t\t\taria-required=${this.required ? 'true' : 'false'}\n\t\t\t\taria-labelledby=${this.label ? `label-${this.id}` : nothing}\n\t\t\t\taria-describedby=${this.hint ? `hint-${this.id}` : nothing}\n\t\t\t\taria-label=${ifDefined(!this.label ? this.placeholder || 'Input' : undefined)}\n\t\t\t/>\n\n\t\t\t${when(\n\t\t\t\tthis.hint,\n\t\t\t\t() => html`\n\t\t\t\t\t<div\n\t\t\t\t\t\tid=\"hint-${this.id}\"\n\t\t\t\t\t\tclass=\"pt-[2px]\"\n\t\t\t\t\t\t${color({\n\t\t\t\t\t\t\tcolor: this.error ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.primary.default,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<schmancy-typography align=\"left\" type=\"label\"> ${this.hint} </schmancy-typography>\n\t\t\t\t\t</div>\n\t\t\t\t`,\n\t\t\t)}\n\t\t`\n\t}\n}\n"],"names":["SchmancyInput","TailwindElement","super","this","id","label","type","name","Date","now","placeholder","value","required","disabled","readonly","clickable","spellcheck","align","autofocus","autocomplete","tabIndex","error","inputRef","createRef","internals","attachInternals","changedProps","_idCounter","willUpdate","form","updated","has","setFormValue","setValidity","customError","inputElement","checkValidity","reportValidity","message","setCustomValidity","focus","fromEvent","pipe","map","ev","target","distinctUntilChanged","takeUntil","disconnecting","subscribe","dispatchEvent","CustomEvent","detail","bubbles","composed","filter","key","animationName","select","getValidity","validity","options","Event","click","blur","inputClasses","labelClasses","html","when","classMap","color","SchmancyTheme","sys","default","primary","bgColor","surface","highest","on","ref","ifDefined","inputmode","pattern","step","minlength","maxlength","min","max","nothing","hint","formAssociated","shadowRootOptions","LitElement","delegatesFocus","__decorateClass","property","reflect","prototype","String","Boolean","Number","query","customElement"],"mappings":"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"}