@mhmo91/schmancy 0.2.118 → 0.2.121

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 (325) hide show
  1. package/dist/{animated-text-C2EvhDmf.cjs → animated-text-BH6DM-pF.cjs} +2 -2
  2. package/dist/{animated-text-C2EvhDmf.cjs.map → animated-text-BH6DM-pF.cjs.map} +1 -1
  3. package/dist/{animated-text-6DhYKKzt.js → animated-text-C92_eFNP.js} +3 -3
  4. package/dist/{animated-text-6DhYKKzt.js.map → animated-text-C92_eFNP.js.map} +1 -1
  5. package/dist/animated-text.cjs +1 -1
  6. package/dist/animated-text.js +1 -1
  7. package/dist/area.cjs +1 -1
  8. package/dist/{area.component-X-1ZwgJL.cjs → area.component-BDkmpYX3.cjs} +2 -2
  9. package/dist/{area.component-X-1ZwgJL.cjs.map → area.component-BDkmpYX3.cjs.map} +1 -1
  10. package/dist/{area.component-DAry93pl.js → area.component-Bh_XioGp.js} +10 -10
  11. package/dist/{area.component-DAry93pl.js.map → area.component-Bh_XioGp.js.map} +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/autocomplete-DMSMomJC.cjs +57 -0
  14. package/dist/{autocomplete-BIJ9G0y1.cjs.map → autocomplete-DMSMomJC.cjs.map} +1 -1
  15. package/dist/{autocomplete-C_QyhPJw.js → autocomplete-IOFBU8oc.js} +4 -5
  16. package/dist/{autocomplete-C_QyhPJw.js.map → autocomplete-IOFBU8oc.js.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/busy.cjs +1 -1
  20. package/dist/busy.js +1 -1
  21. package/dist/button.cjs +1 -1
  22. package/dist/button.js +1 -1
  23. package/dist/card.cjs +1 -1
  24. package/dist/card.js +1 -1
  25. package/dist/{checkbox-CTRhgYJB.js → checkbox-4y1DGu22.js} +8 -7
  26. package/dist/{checkbox-CTRhgYJB.js.map → checkbox-4y1DGu22.js.map} +1 -1
  27. package/dist/{checkbox-BkGLOzBe.cjs → checkbox-BfFsbs3h.cjs} +6 -6
  28. package/dist/{checkbox-BkGLOzBe.cjs.map → checkbox-BfFsbs3h.cjs.map} +1 -1
  29. package/dist/checkbox.cjs +1 -1
  30. package/dist/checkbox.js +1 -1
  31. package/dist/{chips-B4X5PxUQ.cjs → chips-C6a7NyzB.cjs} +16 -16
  32. package/dist/{chips-B4X5PxUQ.cjs.map → chips-C6a7NyzB.cjs.map} +1 -1
  33. package/dist/{chips-DjX_Zznh.js → chips-DqXt-vj6.js} +16 -15
  34. package/dist/{chips-DjX_Zznh.js.map → chips-DqXt-vj6.js.map} +1 -1
  35. package/dist/chips.cjs +1 -1
  36. package/dist/chips.js +1 -1
  37. package/dist/components.cjs +1 -1
  38. package/dist/components.js +1 -1
  39. package/dist/content-drawer.cjs +1 -1
  40. package/dist/content-drawer.js +1 -1
  41. package/dist/context-object-CVqtbNDv.js +303 -0
  42. package/dist/context-object-CVqtbNDv.js.map +1 -0
  43. package/dist/context-object-CgZ6F8E9.cjs +2 -0
  44. package/dist/context-object-CgZ6F8E9.cjs.map +1 -0
  45. package/dist/{date-range-CRJ7wYwK.js → date-range-BBY-tMEk.js} +3 -3
  46. package/dist/{date-range-CRJ7wYwK.js.map → date-range-BBY-tMEk.js.map} +1 -1
  47. package/dist/{date-range-CCsKoZUV.cjs → date-range-DC3sAepm.cjs} +2 -2
  48. package/dist/{date-range-CCsKoZUV.cjs.map → date-range-DC3sAepm.cjs.map} +1 -1
  49. package/dist/date-range.cjs +1 -1
  50. package/dist/date-range.js +1 -1
  51. package/dist/{delay-BkSIN-In.js → delay-DcwT5pHi.js} +2 -2
  52. package/dist/{delay-BkSIN-In.js.map → delay-DcwT5pHi.js.map} +1 -1
  53. package/dist/{delay-ttYmIqo7.cjs → delay-UhlOkp1Q.cjs} +2 -2
  54. package/dist/{delay-ttYmIqo7.cjs.map → delay-UhlOkp1Q.cjs.map} +1 -1
  55. package/dist/delay.cjs +1 -1
  56. package/dist/delay.js +1 -1
  57. package/dist/directives.cjs +1 -1
  58. package/dist/directives.js +4 -5
  59. package/dist/directives.js.map +1 -1
  60. package/dist/{divider-C3zQQjqq.js → divider-B-bxtxQ9.js} +3 -3
  61. package/dist/{divider-C3zQQjqq.js.map → divider-B-bxtxQ9.js.map} +1 -1
  62. package/dist/{divider-2AVp1yWB.cjs → divider-yLBrmrYU.cjs} +2 -2
  63. package/dist/{divider-2AVp1yWB.cjs.map → divider-yLBrmrYU.cjs.map} +1 -1
  64. package/dist/divider.cjs +1 -1
  65. package/dist/divider.js +1 -1
  66. package/dist/extra.cjs +1 -1
  67. package/dist/extra.js +1 -1
  68. package/dist/{flex-CfGGWirm.cjs → flex-CG8OOL02.cjs} +2 -2
  69. package/dist/{flex-CfGGWirm.cjs.map → flex-CG8OOL02.cjs.map} +1 -1
  70. package/dist/{flex-CfRUWQWK.js → flex-CofCUs7b.js} +4 -4
  71. package/dist/{flex-CfRUWQWK.js.map → flex-CofCUs7b.js.map} +1 -1
  72. package/dist/flow-B1wMqea2.js +342 -0
  73. package/dist/flow-B1wMqea2.js.map +1 -0
  74. package/dist/flow-CnJl1T1A.cjs +2 -0
  75. package/dist/flow-CnJl1T1A.cjs.map +1 -0
  76. package/dist/form-BqHD2BmW.cjs +14 -0
  77. package/dist/form-BqHD2BmW.cjs.map +1 -0
  78. package/dist/form-CbH5yVTc.js +161 -0
  79. package/dist/form-CbH5yVTc.js.map +1 -0
  80. package/dist/form.cjs +1 -1
  81. package/dist/form.js +1 -1
  82. package/dist/{icon-BLvikygg.js → icon-2u-dF77v.js} +3 -3
  83. package/dist/{icon-BLvikygg.js.map → icon-2u-dF77v.js.map} +1 -1
  84. package/dist/{icon-BfUZ5ZBV.cjs → icon-CqImPgUG.cjs} +2 -2
  85. package/dist/{icon-BfUZ5ZBV.cjs.map → icon-CqImPgUG.cjs.map} +1 -1
  86. package/dist/{icon-button-BefimCfp.cjs → icon-button-CZjaNotL.cjs} +2 -2
  87. package/dist/{icon-button-BefimCfp.cjs.map → icon-button-CZjaNotL.cjs.map} +1 -1
  88. package/dist/{icon-button-OidywZ1U.js → icon-button-xKDMAiJd.js} +3 -3
  89. package/dist/{icon-button-OidywZ1U.js.map → icon-button-xKDMAiJd.js.map} +1 -1
  90. package/dist/icons.cjs +1 -1
  91. package/dist/icons.js +1 -1
  92. package/dist/index.cjs +1 -1
  93. package/dist/index.js +128 -105
  94. package/dist/index.js.map +1 -1
  95. package/dist/input-BDXWcxNw.cjs +111 -0
  96. package/dist/input-BDXWcxNw.cjs.map +1 -0
  97. package/dist/input-fP8EqcLF.js +390 -0
  98. package/dist/input-fP8EqcLF.js.map +1 -0
  99. package/dist/input.cjs +1 -1
  100. package/dist/input.js +1 -1
  101. package/dist/layout.cjs +1 -1
  102. package/dist/layout.js +1 -1
  103. package/dist/{list-C78nnFIZ.cjs → list-C8pDC7As.cjs} +2 -2
  104. package/dist/{list-C78nnFIZ.cjs.map → list-C8pDC7As.cjs.map} +1 -1
  105. package/dist/{list-CQV0ecrY.js → list-O7kfL-NW.js} +2 -2
  106. package/dist/{list-CQV0ecrY.js.map → list-O7kfL-NW.js.map} +1 -1
  107. package/dist/list.cjs +1 -1
  108. package/dist/list.js +1 -1
  109. package/dist/{litElement.mixin-DGx3SrGX.cjs → litElement.mixin-Ct-snNwC.cjs} +2 -2
  110. package/dist/{litElement.mixin-DGx3SrGX.cjs.map → litElement.mixin-Ct-snNwC.cjs.map} +1 -1
  111. package/dist/{litElement.mixin-B1ZP2iG4.js → litElement.mixin-CtugwVVz.js} +2 -2
  112. package/dist/{litElement.mixin-B1ZP2iG4.js.map → litElement.mixin-CtugwVVz.js.map} +1 -1
  113. package/dist/{menu-15yMmtd2.js → menu-DoVBeCHb.js} +3 -3
  114. package/dist/{menu-15yMmtd2.js.map → menu-DoVBeCHb.js.map} +1 -1
  115. package/dist/{menu-DqLKbEXx.cjs → menu-bkGcaSru.cjs} +2 -2
  116. package/dist/{menu-DqLKbEXx.cjs.map → menu-bkGcaSru.cjs.map} +1 -1
  117. package/dist/menu.cjs +1 -1
  118. package/dist/menu.js +1 -1
  119. package/dist/nav-drawer.cjs +1 -1
  120. package/dist/nav-drawer.js +1 -1
  121. package/dist/notification.cjs +1 -1
  122. package/dist/notification.js +1 -1
  123. package/dist/{option-DleJMgj-.js → option-D_RxI1cV.js} +2 -2
  124. package/dist/{option-DleJMgj-.js.map → option-D_RxI1cV.js.map} +1 -1
  125. package/dist/{option-BaOmCXP8.cjs → option-DrizkeI1.cjs} +2 -2
  126. package/dist/{option-BaOmCXP8.cjs.map → option-DrizkeI1.cjs.map} +1 -1
  127. package/dist/option.cjs +1 -1
  128. package/dist/option.js +1 -1
  129. package/dist/{outlet-mNvq9oaA.cjs → outlet-BIwnmuNu.cjs} +2 -2
  130. package/dist/{outlet-mNvq9oaA.cjs.map → outlet-BIwnmuNu.cjs.map} +1 -1
  131. package/dist/{outlet-I1IE2wTK.js → outlet-U_CoKIxQ.js} +2 -2
  132. package/dist/{outlet-I1IE2wTK.js.map → outlet-U_CoKIxQ.js.map} +1 -1
  133. package/dist/{payment-card-form-Cm_-ul4G.cjs → payment-card-form-BPtQt3Xd.cjs} +2 -2
  134. package/dist/{payment-card-form-Cm_-ul4G.cjs.map → payment-card-form-BPtQt3Xd.cjs.map} +1 -1
  135. package/dist/{payment-card-form-DHmtfa_H.js → payment-card-form-CSboFL3Z.js} +3 -3
  136. package/dist/{payment-card-form-DHmtfa_H.js.map → payment-card-form-CSboFL3Z.js.map} +1 -1
  137. package/dist/{radio-group-CSKgiPxL.js → radio-group-BNyzzO-F.js} +2 -2
  138. package/dist/{radio-group-CSKgiPxL.js.map → radio-group-BNyzzO-F.js.map} +1 -1
  139. package/dist/{radio-group-RChAvIUM.cjs → radio-group-DiRAAiCy.cjs} +2 -2
  140. package/dist/{radio-group-RChAvIUM.cjs.map → radio-group-DiRAAiCy.cjs.map} +1 -1
  141. package/dist/radio-group.cjs +1 -1
  142. package/dist/radio-group.js +1 -1
  143. package/dist/{redispatch-event-vOGO-T8W.js → redispatch-event-CF5ekzwZ.js} +33 -39
  144. package/dist/redispatch-event-CF5ekzwZ.js.map +1 -0
  145. package/dist/redispatch-event-roczetCU.cjs +4 -0
  146. package/dist/redispatch-event-roczetCU.cjs.map +1 -0
  147. package/dist/ripple-BumgqsDT.js +78 -0
  148. package/dist/ripple-BumgqsDT.js.map +1 -0
  149. package/dist/ripple-C2BHbhcS.cjs +16 -0
  150. package/dist/ripple-C2BHbhcS.cjs.map +1 -0
  151. package/dist/rxjs-utils.js +4 -4
  152. package/dist/schmancy-steps-container-3Odvvi2u.cjs +64 -0
  153. package/dist/schmancy-steps-container-3Odvvi2u.cjs.map +1 -0
  154. package/dist/schmancy-steps-container-Ke5dskhS.js +147 -0
  155. package/dist/schmancy-steps-container-Ke5dskhS.js.map +1 -0
  156. package/dist/select-BYI_HL-h.js +234 -0
  157. package/dist/select-BYI_HL-h.js.map +1 -0
  158. package/dist/select-DiFknGpF.cjs +57 -0
  159. package/dist/select-DiFknGpF.cjs.map +1 -0
  160. package/dist/select.cjs +1 -1
  161. package/dist/select.js +1 -1
  162. package/dist/selector-hook-B5oIBdcJ.cjs +2 -0
  163. package/dist/selector-hook-B5oIBdcJ.cjs.map +1 -0
  164. package/dist/selector-hook-BdsJkaE2.js +185 -0
  165. package/dist/selector-hook-BdsJkaE2.js.map +1 -0
  166. package/dist/{sheet-DcDDkPRG.js → sheet-9d1u9s1_.js} +12 -12
  167. package/dist/{sheet-DcDDkPRG.js.map → sheet-9d1u9s1_.js.map} +1 -1
  168. package/dist/{sheet-OQg2AgBP.cjs → sheet-BKvr585i.cjs} +2 -2
  169. package/dist/{sheet-OQg2AgBP.cjs.map → sheet-BKvr585i.cjs.map} +1 -1
  170. package/dist/sheet.cjs +1 -1
  171. package/dist/sheet.js +1 -1
  172. package/dist/{slider-njrfDqrk.js → slider-DAawYwTF.js} +3 -3
  173. package/dist/{slider-njrfDqrk.js.map → slider-DAawYwTF.js.map} +1 -1
  174. package/dist/{slider-rumGp8Bz.cjs → slider-bPjwDSDc.cjs} +2 -2
  175. package/dist/{slider-rumGp8Bz.cjs.map → slider-bPjwDSDc.cjs.map} +1 -1
  176. package/dist/slider.cjs +1 -1
  177. package/dist/slider.js +1 -1
  178. package/dist/{spinner-DVEN9TFJ.cjs → spinner-BgkHeWML.cjs} +4 -4
  179. package/dist/{spinner-DVEN9TFJ.cjs.map → spinner-BgkHeWML.cjs.map} +1 -1
  180. package/dist/{spinner-C3JUT7Lx.js → spinner-CTrfi93b.js} +11 -12
  181. package/dist/{spinner-C3JUT7Lx.js.map → spinner-CTrfi93b.js.map} +1 -1
  182. package/dist/steps.cjs +2 -0
  183. package/dist/steps.cjs.map +1 -0
  184. package/dist/steps.js +8 -0
  185. package/dist/steps.js.map +1 -0
  186. package/dist/store.cjs +2 -0
  187. package/dist/store.cjs.map +1 -0
  188. package/dist/store.js +22 -0
  189. package/dist/store.js.map +1 -0
  190. package/dist/{surface-BpQasVOW.js → surface-CjUAkHMv.js} +2 -2
  191. package/dist/{surface-BpQasVOW.js.map → surface-CjUAkHMv.js.map} +1 -1
  192. package/dist/{surface-CZayNjQ8.cjs → surface-QtNAwY0v.cjs} +2 -2
  193. package/dist/{surface-CZayNjQ8.cjs.map → surface-QtNAwY0v.cjs.map} +1 -1
  194. package/dist/surface.cjs +1 -1
  195. package/dist/surface.js +1 -1
  196. package/dist/table-C8Lqlb9G.js +556 -0
  197. package/dist/table-C8Lqlb9G.js.map +1 -0
  198. package/dist/table-lUgP7-kl.cjs +80 -0
  199. package/dist/table-lUgP7-kl.cjs.map +1 -0
  200. package/dist/table.cjs +1 -1
  201. package/dist/table.js +5 -1
  202. package/dist/{tabs-group-BWmuXV1M.cjs → tabs-group-B4ZCjn7j.cjs} +2 -2
  203. package/dist/{tabs-group-BWmuXV1M.cjs.map → tabs-group-B4ZCjn7j.cjs.map} +1 -1
  204. package/dist/{tabs-group-Dsupy-TK.js → tabs-group-BhHCB2nJ.js} +2 -2
  205. package/dist/{tabs-group-Dsupy-TK.js.map → tabs-group-BhHCB2nJ.js.map} +1 -1
  206. package/dist/tabs.cjs +1 -1
  207. package/dist/tabs.js +1 -1
  208. package/dist/tailwind.mixin-Bn3Brhz1.js +43 -0
  209. package/dist/{tailwind.mixin-C2MUeArS.js.map → tailwind.mixin-Bn3Brhz1.js.map} +1 -1
  210. package/dist/tailwind.mixin-DqqGTjD_.cjs +2 -0
  211. package/dist/{tailwind.mixin-UzdLTEsN.cjs.map → tailwind.mixin-DqqGTjD_.cjs.map} +1 -1
  212. package/dist/teleport.cjs +1 -1
  213. package/dist/{teleport.component-Cf9BZUyf.js → teleport.component-BhLw5gCA.js} +52 -52
  214. package/dist/{teleport.component-Cf9BZUyf.js.map → teleport.component-BhLw5gCA.js.map} +1 -1
  215. package/dist/{teleport.component-DElxiimP.cjs → teleport.component-qYuoWGaE.cjs} +19 -19
  216. package/dist/{teleport.component-DElxiimP.cjs.map → teleport.component-qYuoWGaE.cjs.map} +1 -1
  217. package/dist/teleport.js +1 -1
  218. package/dist/textarea-8T5kXo2A.cjs +42 -0
  219. package/dist/{textarea-DtP4CN8S.cjs.map → textarea-8T5kXo2A.cjs.map} +1 -1
  220. package/dist/{textarea-DZhAzd2-.js → textarea-CqkmSvJg.js} +8 -9
  221. package/dist/{textarea-DZhAzd2-.js.map → textarea-CqkmSvJg.js.map} +1 -1
  222. package/dist/textarea.cjs +1 -1
  223. package/dist/textarea.js +1 -1
  224. package/dist/{theme-button-XUBpRyVd.cjs → theme-button-CZFLICY-.cjs} +2 -2
  225. package/dist/{theme-button-XUBpRyVd.cjs.map → theme-button-CZFLICY-.cjs.map} +1 -1
  226. package/dist/{theme-button-B7v53G35.js → theme-button-CyebufWg.js} +2 -2
  227. package/dist/{theme-button-B7v53G35.js.map → theme-button-CyebufWg.js.map} +1 -1
  228. package/dist/theme-button.cjs +1 -1
  229. package/dist/theme-button.js +1 -1
  230. package/dist/theme.cjs +1 -1
  231. package/dist/{theme.component-Df85q2pE.cjs → theme.component-DTaJ-jCs.cjs} +2 -2
  232. package/dist/{theme.component-Df85q2pE.cjs.map → theme.component-DTaJ-jCs.cjs.map} +1 -1
  233. package/dist/{theme.component-4tKB3U5D.js → theme.component-HyW-lfw_.js} +2 -2
  234. package/dist/{theme.component-4tKB3U5D.js.map → theme.component-HyW-lfw_.js.map} +1 -1
  235. package/dist/theme.js +1 -1
  236. package/dist/{timezone-FYjFkh4S.cjs → timezone-CgtDcgym.cjs} +2 -2
  237. package/dist/{timezone-FYjFkh4S.cjs.map → timezone-CgtDcgym.cjs.map} +1 -1
  238. package/dist/{timezone-C9zQrHBV.js → timezone-Cn0_OvVY.js} +3 -3
  239. package/dist/{timezone-C9zQrHBV.js.map → timezone-Cn0_OvVY.js.map} +1 -1
  240. package/dist/{tree-BEsQyzsP.js → tree-B0bZOfLC.js} +2 -2
  241. package/dist/{tree-BEsQyzsP.js.map → tree-B0bZOfLC.js.map} +1 -1
  242. package/dist/{tree-k_BipeY0.cjs → tree-Bg8L88Pd.cjs} +2 -2
  243. package/dist/{tree-k_BipeY0.cjs.map → tree-Bg8L88Pd.cjs.map} +1 -1
  244. package/dist/tree.cjs +1 -1
  245. package/dist/tree.js +1 -1
  246. package/dist/tslib.es6-DgOcxv4s.cjs +2 -0
  247. package/dist/tslib.es6-DgOcxv4s.cjs.map +1 -0
  248. package/dist/tslib.es6-ujVQHAQ4.js +10 -0
  249. package/dist/tslib.es6-ujVQHAQ4.js.map +1 -0
  250. package/dist/{typewriter-B3B8JBRl.cjs → typewriter-C-U4rB_m.cjs} +2 -2
  251. package/dist/{typewriter-B3B8JBRl.cjs.map → typewriter-C-U4rB_m.cjs.map} +1 -1
  252. package/dist/{typewriter-CjgsbmTc.js → typewriter-FTQ_LV70.js} +4 -4
  253. package/dist/{typewriter-CjgsbmTc.js.map → typewriter-FTQ_LV70.js.map} +1 -1
  254. package/dist/typewriter.cjs +1 -1
  255. package/dist/typewriter.js +1 -1
  256. package/dist/{typography-BzTRpIGt.js → typography-CdFf2sTC.js} +2 -2
  257. package/dist/{typography-BzTRpIGt.js.map → typography-CdFf2sTC.js.map} +1 -1
  258. package/dist/{typography-Cs7PQACq.cjs → typography-DvI9Wos_.cjs} +2 -2
  259. package/dist/{typography-Cs7PQACq.cjs.map → typography-DvI9Wos_.cjs.map} +1 -1
  260. package/dist/typography.cjs +1 -1
  261. package/dist/typography.js +1 -1
  262. package/package.json +1 -1
  263. package/types/src/form/form-v2.d.ts +72 -0
  264. package/types/src/form/index.d.ts +1 -0
  265. package/types/src/index.d.ts +2 -1
  266. package/types/src/input/index.d.ts +1 -0
  267. package/types/src/input/input-v2.d.ts +250 -0
  268. package/types/src/select/select.d.ts +10 -1
  269. package/types/src/steps/index.d.ts +3 -0
  270. package/types/src/steps/schmancy-step.d.ts +52 -0
  271. package/types/src/steps/schmancy-steps-container.d.ts +17 -0
  272. package/types/src/steps/steps.context.d.ts +12 -0
  273. package/types/src/store/action-creator.d.ts +8 -0
  274. package/types/src/store/clear.d.ts +1 -0
  275. package/types/src/store/context-collection.d.ts +74 -0
  276. package/types/src/store/context-create.d.ts +8 -0
  277. package/types/src/store/context-object.d.ts +69 -0
  278. package/types/src/store/filter-directive.d.ts +32 -0
  279. package/types/src/store/index.d.ts +8 -0
  280. package/types/src/store/selector-hook.d.ts +15 -0
  281. package/types/src/store/selectors.d.ts +50 -0
  282. package/types/src/store/storage-manager.d.ts +56 -0
  283. package/types/src/store/types.d.ts +84 -0
  284. package/types/src/table/index.d.ts +1 -0
  285. package/types/src/table/row.d.ts +19 -0
  286. package/types/src/table/table.d.ts +27 -4
  287. package/dist/autocomplete-BIJ9G0y1.cjs +0 -57
  288. package/dist/color-D8r6dpWm.cjs +0 -2
  289. package/dist/color-D8r6dpWm.cjs.map +0 -1
  290. package/dist/color-DrgmL7QT.js +0 -19
  291. package/dist/color-DrgmL7QT.js.map +0 -1
  292. package/dist/form-BTg8x5QO.js +0 -73
  293. package/dist/form-BTg8x5QO.js.map +0 -1
  294. package/dist/form-DPRTjp4Q.cjs +0 -8
  295. package/dist/form-DPRTjp4Q.cjs.map +0 -1
  296. package/dist/input-BNIa-xYu.js +0 -136
  297. package/dist/input-BNIa-xYu.js.map +0 -1
  298. package/dist/input-CqYkuOF4.cjs +0 -51
  299. package/dist/input-CqYkuOF4.cjs.map +0 -1
  300. package/dist/input-Dq3dT_7p.cjs +0 -98
  301. package/dist/input-Dq3dT_7p.cjs.map +0 -1
  302. package/dist/input-igN7Vis2.js +0 -205
  303. package/dist/input-igN7Vis2.js.map +0 -1
  304. package/dist/redispatch-event-vOGO-T8W.js.map +0 -1
  305. package/dist/redispatch-event-yBlefmeU.cjs +0 -4
  306. package/dist/redispatch-event-yBlefmeU.cjs.map +0 -1
  307. package/dist/ripple-3indJ14o.js +0 -64
  308. package/dist/ripple-3indJ14o.js.map +0 -1
  309. package/dist/ripple-B_wT0zgD.cjs +0 -16
  310. package/dist/ripple-B_wT0zgD.cjs.map +0 -1
  311. package/dist/select-CHXdCR-t.js +0 -206
  312. package/dist/select-CHXdCR-t.js.map +0 -1
  313. package/dist/select-Gbo-xjwq.cjs +0 -56
  314. package/dist/select-Gbo-xjwq.cjs.map +0 -1
  315. package/dist/table-BzJFv5qf.cjs +0 -6
  316. package/dist/table-BzJFv5qf.cjs.map +0 -1
  317. package/dist/table-CWRqwAtQ.js +0 -21
  318. package/dist/table-CWRqwAtQ.js.map +0 -1
  319. package/dist/tailwind.mixin-C2MUeArS.js +0 -43
  320. package/dist/tailwind.mixin-UzdLTEsN.cjs +0 -2
  321. package/dist/textarea-DtP4CN8S.cjs +0 -42
  322. package/dist/v2.cjs +0 -2
  323. package/dist/v2.cjs.map +0 -1
  324. package/dist/v2.js +0 -5
  325. package/dist/v2.js.map +0 -1
@@ -0,0 +1,56 @@
1
+ import { StorageType } from './types';
2
+ /**
3
+ * Storage manager interface with generic typing
4
+ */
5
+ export interface StorageManager<T> {
6
+ load(): Promise<T | null>;
7
+ save(state: T): Promise<void>;
8
+ clear(): Promise<void>;
9
+ }
10
+ /**
11
+ * Memory storage manager implementation
12
+ */
13
+ export declare class MemoryStorageManager<T> implements StorageManager<T> {
14
+ private data;
15
+ load(): Promise<T | null>;
16
+ save(state: T): Promise<void>;
17
+ clear(): Promise<void>;
18
+ }
19
+ /**
20
+ * Local storage manager implementation
21
+ */
22
+ export declare class LocalStorageManager<T> implements StorageManager<T> {
23
+ private key;
24
+ constructor(key: string);
25
+ load(): Promise<T | null>;
26
+ save(state: T): Promise<void>;
27
+ clear(): Promise<void>;
28
+ }
29
+ /**
30
+ * Session storage manager implementation
31
+ */
32
+ export declare class SessionStorageManager<T> implements StorageManager<T> {
33
+ private key;
34
+ constructor(key: string);
35
+ load(): Promise<T | null>;
36
+ save(state: T): Promise<void>;
37
+ clear(): Promise<void>;
38
+ }
39
+ /**
40
+ * IndexedDB storage manager implementation with better error typing
41
+ */
42
+ export declare class IndexedDBStorageManager<T> implements StorageManager<T> {
43
+ private key;
44
+ private static DB_NAME;
45
+ private static STORE_NAME;
46
+ private static DB_VERSION;
47
+ constructor(key: string);
48
+ private openDB;
49
+ load(): Promise<T | null>;
50
+ save(state: T): Promise<void>;
51
+ clear(): Promise<void>;
52
+ }
53
+ /**
54
+ * Factory function to create the appropriate storage manager
55
+ */
56
+ export declare function createStorageManager<T>(type: StorageType, key: string): StorageManager<T>;
@@ -0,0 +1,84 @@
1
+ import { BehaviorSubject, Observable } from 'rxjs';
2
+ /**
3
+ * Storage types supported by the store
4
+ */
5
+ export type StorageType = 'memory' | 'local' | 'session' | 'indexeddb';
6
+ /**
7
+ * Base store options
8
+ */
9
+ export interface StoreOptions<T> {
10
+ /** Key used for persistent storage */
11
+ key: string;
12
+ /** Storage type */
13
+ storage: StorageType;
14
+ /** Initial state */
15
+ initialState: T;
16
+ /** Enable dev tools */
17
+ devTools?: boolean;
18
+ }
19
+ /**
20
+ * Action interface for all store actions
21
+ */
22
+ export interface Action<T = any> {
23
+ type: string;
24
+ payload?: T;
25
+ }
26
+ /**
27
+ * Type-safe action creator
28
+ */
29
+ export type ActionCreator<P = void, R = void> = P extends void ? () => R : (payload: P) => R;
30
+ /**
31
+ * Map of action creators with preserved function signatures
32
+ */
33
+ export type ActionCreatorMap<T> = {
34
+ [K in keyof T]: T[K] extends (...args: infer A) => infer R ? (...args: A) => R : never;
35
+ };
36
+ /**
37
+ * Reducer function type
38
+ */
39
+ export type Reducer<T> = (state: T, action: Action) => T;
40
+ /**
41
+ * Middleware function type
42
+ */
43
+ export type Middleware<T> = (prevState: T, nextState: T, context: {
44
+ type: string;
45
+ payload?: any;
46
+ }) => void;
47
+ /**
48
+ * Selector function type
49
+ */
50
+ export type Selector<S, R> = (state: S) => R;
51
+ /**
52
+ * Enhanced store error with type information
53
+ */
54
+ export declare class StoreError<T = unknown> extends Error {
55
+ readonly cause?: T;
56
+ readonly context?: Record<string, unknown>;
57
+ constructor(message: string, cause?: T, context?: Record<string, unknown>);
58
+ }
59
+ /**
60
+ * Core store interface
61
+ */
62
+ export interface IStore<T> {
63
+ value: T;
64
+ $: BehaviorSubject<T>;
65
+ set(value: Partial<T>, merge?: boolean): void;
66
+ clear(): void;
67
+ replace(newValue: T): void;
68
+ ready: boolean;
69
+ error$: Observable<StoreError | null>;
70
+ }
71
+ /**
72
+ * Interface for collection stores
73
+ * No longer extends IStore to avoid method signature conflicts
74
+ */
75
+ export interface ICollectionStore<T> {
76
+ value: Map<string, T>;
77
+ $: BehaviorSubject<Map<string, T>>;
78
+ set<V = T>(key: string, value: V): void;
79
+ delete(key: string): void;
80
+ clear(): void;
81
+ replace(newValue: Map<string, T>): void;
82
+ ready: boolean;
83
+ error$: Observable<StoreError | null>;
84
+ }
@@ -1 +1,2 @@
1
+ export * from './row';
1
2
  export * from './table';
@@ -0,0 +1,19 @@
1
+ import { TemplateResult } from 'lit';
2
+ import { TableColumn } from './table';
3
+ declare const SchmancyTableRow_base: CustomElementConstructor & import("../../mixins").Constructor<import("lit").LitElement> & import("../../mixins").Constructor<import("../../mixins").IBaseMixin>;
4
+ export declare class SchmancyTableRow extends SchmancyTableRow_base {
5
+ columns: TableColumn[];
6
+ item: any;
7
+ cols: string;
8
+ actions: Array<{
9
+ name: string;
10
+ action: (item: any) => void;
11
+ }> | undefined;
12
+ render(): TemplateResult;
13
+ }
14
+ declare global {
15
+ interface HTMLElementTagNameMap {
16
+ 'schmancy-table-row': SchmancyTableRow;
17
+ }
18
+ }
19
+ export {};
@@ -1,10 +1,33 @@
1
- declare const SchmancyTable_base: import("@mixins/index").Constructor<CustomElementConstructor> & import("@mixins/index").Constructor<import("@mixins/index").ITailwindElementMixin> & import("@mixins/index").Constructor<import("lit").LitElement> & import("@mixins/index").Constructor<import("@mixins/index").IBaseMixin>;
2
- export default class SchmancyTable extends SchmancyTable_base {
3
- protected render(): unknown;
1
+ import '@lit-labs/virtualizer';
2
+ import { TemplateResult } from 'lit';
3
+ import './row';
4
+ export interface TableColumn<T extends Record<string, any> = any> {
5
+ name: string;
6
+ key?: keyof T;
7
+ align?: 'left' | 'right' | 'center';
8
+ weight?: 'normal' | 'bold';
9
+ render?: (item: T) => TemplateResult | string | number;
10
+ }
11
+ export interface RowEventDetail<T> {
12
+ item: T;
13
+ index: number;
14
+ }
15
+ declare const SchmancyDataTable_base: CustomElementConstructor & import("../../mixins").Constructor<import("lit").LitElement> & import("../../mixins").Constructor<import("../../mixins").IBaseMixin>;
16
+ export declare class SchmancyDataTable<T extends Record<string, any> = any> extends SchmancyDataTable_base {
17
+ columns: TableColumn<T>[];
18
+ data: T[];
19
+ keyField: keyof T;
20
+ cols: string;
21
+ actions: Array<{
22
+ name: string;
23
+ action: (item: T) => void;
24
+ }>;
25
+ private handleRowEvent;
26
+ render(): TemplateResult;
4
27
  }
5
28
  declare global {
6
29
  interface HTMLElementTagNameMap {
7
- 'schmancy-table': SchmancyTable;
30
+ 'schmancy-table-v2': SchmancyDataTable;
8
31
  }
9
32
  }
10
33
  export {};
@@ -1,57 +0,0 @@
1
- "use strict";const C=require("@floating-ui/dom"),O=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const A=require("./litElement.mixin-DGx3SrGX.cjs");require("./tailwind.mixin-UzdLTEsN.cjs");const E=require("./color-D8r6dpWm.cjs");require("./ripple-B_wT0zgD.cjs");const D=require("./theme.interface-Xg5Zi46a.cjs"),x=require("lit"),u=require("lit/decorators.js"),$=require("lit/directives/ref.js"),b=require("rxjs/operators");function I(t,e){if(!t||!e)return 0;if(t===e)return 1;const i=t.toLowerCase().trim(),s=e.toLowerCase().trim();if(i===s)return 1;const r=s.includes(i)?1:0,o=function(h,c){let l=0,n=0;for(;l<h.length&&n<c.length;)h[l]===c[n]&&l++,n++;return l===h.length}(i,s)?.8:0,a=function(h,c){const l=y=>y.split("").reduce((v,g)=>(v[g]=(v[g]||0)+1,v),{}),n=l(h),m=l(c);return Object.keys(n).every(y=>(m[y]||0)>=n[y])}(i,s)?.7:0,w=function(h,c){if(h.length<2||c.length<2)return 0;const l=k(h),n=k(c);let m=0;const y=new Array(n.length).fill(!1);for(const v of l)for(let g=0;g<n.length;g++)if(!y[g]&&n[g]===v){m++,y[g]=!0;break}return 2*m/(l.length+n.length)}(i,s),f=Math.max(i.length,s.length),q=function(h,c){if(h.length===0)return c.length;if(c.length===0)return h.length;const l=[];for(let n=0;n<=c.length;n++)l[n]=[n];for(let n=0;n<=h.length;n++)l[0][n]=n;for(let n=1;n<=c.length;n++)for(let m=1;m<=h.length;m++){const y=h[m-1]===c[n-1]?0:1;l[n][m]=Math.min(l[n-1][m]+1,l[n][m-1]+1,l[n-1][m-1]+y)}return l[c.length][h.length]}(i,s),S=f?1-q/f:0;return Math.max(r,o,a,w,S)}function k(t){const e=[];for(let i=0;i<t.length-1;i++)e.push(t.substring(i,i+2));return e}var V=Object.defineProperty,M=Object.getOwnPropertyDescriptor,d=(t,e,i,s)=>{for(var r,o=s>1?void 0:s?M(e,i):e,a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s?r(e,i,o):r(o))||o);return s&&o&&V(e,i,o),o};let p=class extends A.$LitElement(":host{display:block;border:unset!important;line-height:unset!important;background:unset!important;padding:unset!important;font-size:unset!important;box-shadow:unset!important}:host:focus{box-shadow:unset!important}"){constructor(){super(...arguments),this.required=!1,this.placeholder="",this.value="",this.label="",this.maxHeight="25vh",this.multi=!1,this.description="",this.inputRef=$.createRef(),this.searchTerm$=new O.Subject,this.isOpen=!1,this.startY=0,this.statusMessage="",this.handleKeyDown=t=>{const e=this.options.filter(s=>!s.hidden);if(!this.isOpen)return void(["Enter","ArrowDown"].includes(t.key)&&(t.preventDefault(),this.showOptions().then(()=>{e.length>0&&this.focusOption(e,0)})));let i=e.findIndex(s=>s.matches(":focus"));switch(i===-1&&(i=0),t.key){case"Escape":t.preventDefault(),this.hideOptions(),this.input.focus();break;case"ArrowDown":t.preventDefault(),this.focusOption(e,Math.min(i+1,e.length-1));break;case"ArrowUp":t.preventDefault(),this.focusOption(e,Math.max(i-1,0));break;case"Home":t.preventDefault(),this.focusOption(e,0);break;case"End":t.preventDefault(),this.focusOption(e,e.length-1);break;case"Enter":if(t.preventDefault(),e[i]){const s=e[i].getAttribute("data-value")||e[i].getAttribute("value");s&&this.handleOptionClick(s)}break;case"Tab":this.hideOptions();break;default:if(t.key.length===1&&/[a-zA-Z0-9]/.test(t.key)){const s=t.key.toLowerCase(),r=e.findIndex(o=>(o.label||o.textContent||"").toLowerCase().startsWith(s));r!==-1&&(t.preventDefault(),this.focusOption(e,r))}}}}connectedCallback(){super.connectedCallback(),this.id||(this.id=`schmancy-autocomplete-${Math.random().toString(36).substr(2,9)}`),O.fromEvent(this,"keydown").pipe(b.takeUntil(this.disconnecting)).subscribe({next:t=>{this.handleKeyDown(t)}}),this.searchTerm$.pipe(b.distinctUntilChanged(),b.tap(t=>{var r;const e=t.trim().toLowerCase(),i=this.options.map(o=>{const a=(o.label||o.textContent||"").toLowerCase();return{option:o,score:I(e,a)}}).filter(({score:o})=>o>.8).sort((o,a)=>o.score-a.score);this.options.forEach(o=>o.hidden=!0);for(const{option:o}of i)o.hidden=!1;this.empty.hidden=i.length>0,this.statusMessage=i.length>0?`${i.length} option${i.length===1?"":"s"} available.`:"No results found.";const s=(r=this.shadowRoot)==null?void 0:r.querySelector("#live-status");s&&(s.textContent=this.statusMessage),this.setupOptionsAccessibility(),this.requestUpdate()}),b.takeUntil(this.disconnecting)).subscribe(()=>{this.showOptions()}),O.fromEvent(this,"focusout").pipe(b.takeUntil(this.disconnecting),b.filter(t=>{const e=t.relatedTarget;return!this.contains(e)&&(e==null?void 0:e.tagName)!=="SCHMANCY-OPTION"}),b.switchMap(()=>{this.options.forEach(e=>e.hidden=!1);const t=this.optionsContainer.animate([{opacity:1},{opacity:0}],{duration:150,easing:"cubic-bezier(0.5, 0.01, 0.25, 1)"});return O.from(new Promise(e=>{t.onfinish=()=>{this.optionsContainer.style.display="none",this.optionsContainer.style.opacity="1",this.isOpen=!1,e()}}))})).subscribe({next:()=>{var t;if(this.multi){const e=this.options.filter(i=>i.selected).map(i=>i.label);this.input.value=e.join(", ")}else this.input.value=((t=this.options.find(e=>e.value===this.value))==null?void 0:t.label)??""}})}firstUpdated(){this.updateInputValue()}updated(t){super.updated(t),t.has("value")&&(this.syncSelectionFromValue(),this.updateInputValue())}handleSlotChange(){this.empty.hidden=this.options.some(t=>!t.hidden),this.syncSelectionFromValue(),this.updateInputValue(),this.setupOptionsAccessibility()}setupOptionsAccessibility(){this.options.forEach((t,e)=>{t.setAttribute("role","option"),t.id||(t.id=`${this.id}-option-${e}`),t.tabIndex=-1,t.setAttribute("aria-selected",String(this.multi?t.selected:t.value===this.value))})}syncSelectionFromValue(){if(this.multi){const t=this.value.split(",").map(e=>e.trim()).filter(Boolean);this.options.forEach(e=>{e.selected=t.includes(e.value)})}else this.options.forEach(t=>{t.selected=t.value===this.value})}updateInputValue(){requestAnimationFrame(()=>{var t;if(this.multi){const e=this.options.filter(i=>i.selected).map(i=>i.label);this.input.value=e.join(", ")}else{const e=(t=this.options.find(i=>i.value===this.value))==null?void 0:t.label;this.input.value=e??""}})}async showOptions(){if(!this.optionsContainer)return;this.optionsContainer.removeAttribute("hidden"),this.optionsContainer.style.display="block",this.isOpen=!0;const{x:t,y:e}=await C.computePosition(this.input,this.optionsContainer,{placement:"bottom-start",middleware:[C.offset(5),C.shift({padding:5}),C.size({apply({availableWidth:i,availableHeight:s,elements:r,rects:o}){const a=o.reference.width;r.floating.style.minWidth=`${a}px`,r.floating.style.maxWidth=`${i}px`,r.floating.style.maxHeight=`${s}px`}})]});Object.assign(this.optionsContainer.style,{left:`${t}px`,top:`${e}px`,position:"absolute",zIndex:"9999",overflowY:"auto"})}hideOptions(){var e,i;(e=this.optionsContainer)==null||e.setAttribute("hidden","true"),this.optionsContainer&&(this.optionsContainer.style.display="none"),this.isOpen=!1;const t=(i=this.shadowRoot)==null?void 0:i.querySelector("#live-status");t&&(t.textContent="Dropdown closed.")}handleInputChange(t){t.preventDefault(),t.stopPropagation();const e=t.detail.value;this.searchTerm$.next(e)}handleOptionClick(t){var e,i;if(this.multi){const s=this.options.find(f=>f.value===t);s&&(s.selected=!s.selected);const r=this.options.filter(f=>f.selected).map(f=>f.value);this.value=r.join(","),this.updateInputValue();const o=this.options.filter(f=>f.selected).map(f=>f.label),a=o.length>0?`Selected: ${o.join(", ")}`:"No options selected",w=(e=this.shadowRoot)==null?void 0:e.querySelector("#live-status");w&&(w.textContent=a),this.dispatchEvent(new CustomEvent("change",{detail:{value:r},bubbles:!0,composed:!0}))}else{const s=this.options.find(a=>a.value===t),r=(s==null?void 0:s.label)||"";this.hideOptions(),this.value=t,this.updateInputValue();const o=(i=this.shadowRoot)==null?void 0:i.querySelector("#live-status");o&&(o.textContent=`Selected: ${r}`),this.dispatchEvent(new CustomEvent("change",{detail:{value:t},bubbles:!0,composed:!0}))}}checkValidity(){return this.multi?this.options.some(t=>t.selected):!!this.value}reportValidity(){var t;return(t=this.inputRef.value)==null?void 0:t.reportValidity()}handleTouchStart(t){var e,i;this.startY=((i=(e=t.touches)==null?void 0:e[0])==null?void 0:i.clientY)??0}preventScroll(t){var o,a;const e=t.target;if(!this.optionsContainer.contains(e))return;const i=this.optionsContainer.scrollTop,s=this.optionsContainer.scrollHeight-this.optionsContainer.offsetHeight,r=((a=(o=t.touches)==null?void 0:o[0])==null?void 0:a.clientY)??0;(i<=0&&r>this.startY||i>=s&&r<this.startY)&&t.preventDefault()}focusOption(t,e){if(!t.length)return;const i=t[e];i&&(i.focus(),this.input.setAttribute("aria-activedescendant",i.id),i.scrollIntoView&&i.scrollIntoView({block:"nearest"}))}render(){const t=`${this.id}-desc`;return x.html`
2
- <div class="relative">
3
- <!-- Live region for screen reader announcements -->
4
- <div id="live-status" role="status" aria-live="polite" class="sr-only"></div>
5
-
6
- <!-- Optional description for the autocomplete -->
7
- ${this.description?x.html`<div id="${t}" class="sr-only">${this.description}</div>`:""}
8
-
9
- <!-- The trigger slot (if any) overrides the default SchmancyInput -->
10
- <slot name="trigger">
11
- <schmancy-input
12
- ${$.ref(this.inputRef)}
13
- id="input"
14
- class="w-full"
15
- .label=${this.label}
16
- .placeholder=${this.placeholder}
17
- .required=${this.required}
18
- type="search"
19
- inputmode="text"
20
- autocomplete="off"
21
- clickable
22
- role="combobox"
23
- aria-autocomplete="list"
24
- aria-haspopup="listbox"
25
- aria-controls="options"
26
- aria-expanded=${this.isOpen}
27
- aria-describedby=${this.description?t:void 0}
28
- @focus=${()=>this.showOptions()}
29
- @change=${this.handleInputChange}
30
- >
31
- </schmancy-input>
32
- </slot>
33
-
34
- <ul
35
- id="options"
36
- tabindex="-1"
37
- class="absolute z-30 mt-1 w-full overflow-auto rounded-md shadow-sm"
38
- role="listbox"
39
- aria-multiselectable=${this.multi?"true":"false"}
40
- aria-label=${`${this.label||"Options"} dropdown`}
41
- hidden
42
- @click=${e=>{var s;const i=(s=e.detail)==null?void 0:s.value;i&&this.handleOptionClick(i)}}
43
- @touchstart=${this.handleTouchStart}
44
- @touchmove=${this.preventScroll}
45
- ${E.color({bgColor:D.SchmancyTheme.sys.color.surface.container})}
46
- @slotchange=${this.handleSlotChange}
47
- >
48
- <!-- "No results" option -->
49
- <li id="empty" tabindex="-1" role="option" aria-disabled="true" class="p-2 text-center">
50
- <schmancy-typography type="label">No results found</schmancy-typography>
51
- </li>
52
- <!-- Slot for the <schmancy-option> elements -->
53
- <slot></slot>
54
- </ul>
55
- </div>
56
- `}};d([u.property({type:Boolean})],p.prototype,"required",2),d([u.property({type:String})],p.prototype,"placeholder",2),d([u.property({type:String,reflect:!0})],p.prototype,"value",2),d([u.property({type:String,reflect:!0})],p.prototype,"label",2),d([u.property({type:String})],p.prototype,"maxHeight",2),d([u.property({type:Boolean})],p.prototype,"multi",2),d([u.property({type:String})],p.prototype,"description",2),d([u.query("#options")],p.prototype,"optionsContainer",2),d([u.query("#empty")],p.prototype,"empty",2),d([u.query("schmancy-input")],p.prototype,"input",2),d([u.queryAssignedElements({flatten:!0})],p.prototype,"options",2),d([u.property({type:Boolean,reflect:!0})],p.prototype,"isOpen",2),d([u.eventOptions({passive:!0})],p.prototype,"handleOptionClick",1),p=d([u.customElement("schmancy-autocomplete")],p);
57
- //# sourceMappingURL=autocomplete-BIJ9G0y1.cjs.map
@@ -1,2 +0,0 @@
1
- "use strict";const i=require("lit"),t=require("lit/directive.js");class s extends t.Directive{constructor(e){super(e),this.config={}}update(e,[o]){if(e.type!==t.PartType.ELEMENT)throw new Error("The `classMap` directive must be used in the `class` attribute");const r=e.element;this.config=o,this.config.bgColor&&(r.style.backgroundColor=this.config.bgColor),this.config.color&&(r.style.color=this.config.color)}render(e){return this.config=e,i.nothing}}const c=t.directive(s);exports.color=c;
2
- //# sourceMappingURL=color-D8r6dpWm.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"color-D8r6dpWm.cjs","sources":["../src/directives/color.ts"],"sourcesContent":["// color.ts\nimport { Part, nothing } from 'lit'\nimport { Directive, PartInfo, PartType, directive } from 'lit/directive.js'\n\nexport type ColorConfig = {\n\tbgColor?: string\n\tcolor?: string\n}\n\nclass ColorDirective extends Directive {\n\tprivate config: ColorConfig\n\n\tconstructor(partInfo: PartInfo) {\n\t\tsuper(partInfo)\n\t\tthis.config = {}\n\t}\n\n\tupdate(part: Part, [config]: [ColorConfig]) {\n\t\tif (part.type !== PartType.ELEMENT) {\n\t\t\tthrow new Error('The `classMap` directive must be used in the `class` attribute')\n\t\t}\n\t\tconst element = part.element as HTMLElement\n\t\tthis.config = config\n\t\tif (this.config.bgColor) {\n\t\t\telement.style.backgroundColor = this.config.bgColor\n\t\t}\n\n\t\tif (this.config.color) {\n\t\t\telement.style.color = this.config.color\n\t\t}\n\t}\n\n\trender(config: ColorConfig): unknown {\n\t\tthis.config = config\n\t\treturn nothing\n\t}\n}\n\nconst color = directive(ColorDirective)\n\nexport { color }\n"],"names":["ColorDirective","Directive","partInfo","super","this","config","part","type","PartType","ELEMENT","Error","element","bgColor","style","backgroundColor","color","nothing","directive"],"mappings":"gEASA,EAAA,MAAMA,UAAuBC,EAAAA,UAG5B,YAAYC,EACXC,CAAAA,MAAMD,GACNE,KAAKC,OAAS,CAAC,CAAA,CAGhB,OAAOC,EAAaD,CAAAA,CAAAA,EAAAA,CACf,GAAAC,EAAKC,OAASC,EAAAA,SAASC,QACpB,MAAA,IAAIC,MAAM,gEAAA,EAEjB,MAAMC,EAAUL,EAAKK,QACrBP,KAAKC,OAASA,EACVD,KAAKC,OAAOO,UACPD,EAAAE,MAAMC,gBAAkBV,KAAKC,OAAOO,SAGzCR,KAAKC,OAAOU,QACPJ,EAAAE,MAAME,MAAQX,KAAKC,OAAOU,MACnC,CAGD,OAAOV,EAEC,CAAA,OADPD,KAAKC,OAASA,EACPW,EAAAA,OAAA,EAIH,MAAAD,EAAQE,YAAUjB,CAAAA"}
@@ -1,19 +0,0 @@
1
- import { nothing as e } from "lit";
2
- import { directive as s, Directive as i, PartType as c } from "lit/directive.js";
3
- const l = s(class extends i {
4
- constructor(o) {
5
- super(o), this.config = {};
6
- }
7
- update(o, [r]) {
8
- if (o.type !== c.ELEMENT) throw new Error("The `classMap` directive must be used in the `class` attribute");
9
- const t = o.element;
10
- this.config = r, this.config.bgColor && (t.style.backgroundColor = this.config.bgColor), this.config.color && (t.style.color = this.config.color);
11
- }
12
- render(o) {
13
- return this.config = o, e;
14
- }
15
- });
16
- export {
17
- l as c
18
- };
19
- //# sourceMappingURL=color-DrgmL7QT.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"color-DrgmL7QT.js","sources":["../src/directives/color.ts"],"sourcesContent":["// color.ts\nimport { Part, nothing } from 'lit'\nimport { Directive, PartInfo, PartType, directive } from 'lit/directive.js'\n\nexport type ColorConfig = {\n\tbgColor?: string\n\tcolor?: string\n}\n\nclass ColorDirective extends Directive {\n\tprivate config: ColorConfig\n\n\tconstructor(partInfo: PartInfo) {\n\t\tsuper(partInfo)\n\t\tthis.config = {}\n\t}\n\n\tupdate(part: Part, [config]: [ColorConfig]) {\n\t\tif (part.type !== PartType.ELEMENT) {\n\t\t\tthrow new Error('The `classMap` directive must be used in the `class` attribute')\n\t\t}\n\t\tconst element = part.element as HTMLElement\n\t\tthis.config = config\n\t\tif (this.config.bgColor) {\n\t\t\telement.style.backgroundColor = this.config.bgColor\n\t\t}\n\n\t\tif (this.config.color) {\n\t\t\telement.style.color = this.config.color\n\t\t}\n\t}\n\n\trender(config: ColorConfig): unknown {\n\t\tthis.config = config\n\t\treturn nothing\n\t}\n}\n\nconst color = directive(ColorDirective)\n\nexport { color }\n"],"names":["color","directive","Directive","partInfo","super","this","config","part","type","PartType","ELEMENT","Error","element","bgColor","style","backgroundColor","nothing"],"mappings":";;AAsCM,MAAAA,IAAQC,EA7Bd,cAA6BC,EAAAA;AAAAA,EAG5B,YAAYC;AACXC,UAAMD,CAAAA,GACNE,KAAKC,SAAS,CAAC;AAAA,EAAA;AAAA,EAGhB,OAAOC,GAAaD,CAAAA,CAAAA,GAAAA;AACf,QAAAC,EAAKC,SAASC,EAASC,QACpB,OAAA,IAAIC,MAAM,gEAAA;AAEjB,UAAMC,IAAUL,EAAKK;AACrBP,SAAKC,SAASA,GACVD,KAAKC,OAAOO,YACPD,EAAAE,MAAMC,kBAAkBV,KAAKC,OAAOO,UAGzCR,KAAKC,OAAON,UACPY,EAAAE,MAAMd,QAAQK,KAAKC,OAAON;AAAAA,EACnC;AAAA,EAGD,OAAOM,GAAAA;AAEC,WADPD,KAAKC,SAASA,GACPU;AAAAA,EAAA;;"}
@@ -1,73 +0,0 @@
1
- import { Subject as l, merge as u, fromEvent as r, tap as h, takeUntil as p } from "rxjs";
2
- import "lit/directives/class-map.js";
3
- import "lit/directives/style-map.js";
4
- import { T as d } from "./tailwind.mixin-C2MUeArS.js";
5
- import { html as y, LitElement as b, css as g } from "lit";
6
- import { property as f, customElement as E } from "lit/decorators.js";
7
- var k = Object.defineProperty, v = Object.getOwnPropertyDescriptor, m = (t, e, s, o) => {
8
- for (var a, c = o > 1 ? void 0 : o ? v(e, s) : e, i = t.length - 1; i >= 0; i--) (a = t[i]) && (c = (o ? a(e, s, c) : a(c)) || c);
9
- return o && c && k(e, s, c), c;
10
- };
11
- let n = class extends d() {
12
- constructor() {
13
- super(), this.$disconnecting = new l(), this._controlsWithChecked = ["input", "radio", "schmancy-radio", "schmancy-switch", "schmancy-checkbox", "schmancy-radio-group", "schmancy-autocomplete", "schmancy-select"], this._controlsWithValue = ["input", "schmancy-input", "schmancy-mask-input", "textarea", "schmancy-rating", "schmancy-select", "schmancy-combo", "schmancy-date-time-input", "schmancy-autocomplete", "schmancy-checkbox", "schmancy-select"], this._controlsThatSubmit = ["button", "schmancy-input", "schmancy-button", "schmancy-icon-button"], this.novalidate = !1, u(r(this, "click").pipe(h((t) => {
14
- var e;
15
- ((e = t.target.type) == null ? void 0 : e.toLowerCase()) === "submit" && this.handleSubmitRequest(t);
16
- })), r(this, "keydown").pipe(h((t) => {
17
- t.code !== "Enter" && t.key !== "Enter" || this.handleSubmitRequest(t);
18
- }))).pipe(p(this.$disconnecting)).subscribe();
19
- }
20
- submit() {
21
- const t = this.getFormData();
22
- return !(!this.novalidate && !this.reportValidity()) && (this.dispatchEvent(new CustomEvent("submit", { detail: t })), !0);
23
- }
24
- reset() {
25
- this.getFormElements().forEach((t) => {
26
- const e = t.tagName.toLowerCase();
27
- if (e === "select") for (let s = 0; s < t.options.length; s++) {
28
- const o = t.options[s];
29
- o.selected = o.defaultSelected;
30
- }
31
- else e === "input" && (t.type === "checkbox" || t.type == "radio") || e !== "input" && this._controlsWithChecked.includes(e) ? t.checked = t.hasAttribute("checked") : e === "schmancy-input" || e === "schmancy-rating" || e === "schmancy-mask-input" || e === "schmancy-date-time-input" ? t.value = t.getAttribute("value") : this._controlsWithValue.includes(e) && (t.value = t.defaultValue);
32
- }), this.dispatchEvent(new CustomEvent("reset"));
33
- }
34
- getFormElements() {
35
- var o;
36
- const t = (o = this.shadowRoot) == null ? void 0 : o.querySelector("slot"), e = t == null ? void 0 : t.assignedElements({ flatten: !0 }), s = [];
37
- return e == null || e.forEach((a) => {
38
- a.disabled || s.push(a);
39
- const c = Array.from(a.getElementsByTagName("*")).filter((i) => !i.disabled);
40
- s.push(...c);
41
- }), s;
42
- }
43
- getFormData() {
44
- const t = new FormData();
45
- return this.getFormElements().forEach((e) => {
46
- const s = e.tagName.toLowerCase();
47
- if (s === "select") for (let o = 0; o < e.options.length; o++) {
48
- const a = e.options[o];
49
- a.selected && t.append(e.name, a.value);
50
- }
51
- else this._controlsWithChecked.includes(s) && e.checked ? t.append(e.name, e.value || "on") : this._controlsWithValue.includes(s) && e.type !== "checkbox" && e.type !== "radio" && e.type !== "submit" && t.append(e.name, e.value);
52
- }), t;
53
- }
54
- reportValidity() {
55
- return !this.getFormElements().some((t) => typeof t.reportValidity == "function" && t.reportValidity() === !1);
56
- }
57
- handleSubmitRequest(t) {
58
- var s;
59
- const e = t.target;
60
- return this._controlsThatSubmit.includes(e.tagName.toLowerCase()) ? this.submit() : ((s = e.type) == null ? void 0 : s.toLowerCase()) === "reset" && this.reset(), !0;
61
- }
62
- render() {
63
- return y`<slot></slot>`;
64
- }
65
- };
66
- n.tagName = "schmancy-form", n.shadowRootOptions = { ...b.shadowRootOptions, mode: "open", delegatesFocus: !1 }, n.styles = g`
67
- :host {
68
- height: 100%;
69
- width: 100%;
70
- display: block;
71
- }
72
- `, m([f({ type: Boolean, reflect: !0 })], n.prototype, "novalidate", 2), n = m([E("schmancy-form")], n);
73
- //# sourceMappingURL=form-BTg8x5QO.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-BTg8x5QO.js","sources":["../src/form/form.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { fromEvent, merge, Subject, takeUntil, tap } from 'rxjs'\n\nexport interface FormEventMap {\n\tsubmit: CustomEvent<FormData>\n\treset: CustomEvent\n}\n\n/**\n * The form is a component used to collect user input from\n * interactive controls.\n *\n * @element schmancy-form\n *\n * @slot - Default slot for the form.\n *\n * @fires submit - Emitted when the form is submitted.\n * @fires reset - Emitted when the form is reset.\n */\n@customElement('schmancy-form')\nexport default class SchmancyForm extends TailwindElement() {\n\tprivate $disconnecting = new Subject()\n\tpublic static readonly tagName = 'schmancy-form'\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: false,\n\t}\n\tpublic static styles = css`\n\t\t:host {\n\t\t\theight: 100%;\n\t\t\twidth: 100%;\n\t\t\tdisplay: block;\n\t\t}\n\t`\n\n\tprivate _controlsWithChecked = [\n\t\t'input',\n\t\t'radio',\n\t\t'schmancy-radio',\n\t\t'schmancy-switch',\n\t\t'schmancy-checkbox',\n\t\t'schmancy-radio-group',\n\t\t'schmancy-autocomplete',\n\t\t'schmancy-select',\n\t]\n\tprivate _controlsWithValue = [\n\t\t'input',\n\t\t'schmancy-input',\n\t\t'schmancy-mask-input',\n\t\t'textarea',\n\t\t'schmancy-rating',\n\t\t'schmancy-select',\n\t\t'schmancy-combo',\n\t\t'schmancy-date-time-input',\n\t\t'schmancy-autocomplete',\n\t\t'schmancy-checkbox',\n\t\t'schmancy-select',\n\t]\n\tprivate _controlsThatSubmit = ['button', 'schmancy-input', 'schmancy-button', 'schmancy-icon-button']\n\n\t/** Specifies if form data validation should be skipped on submit.\n\t * @attr novalidate\n\t * @type {boolean}\n\t * @public\n\t */\n\t@property({ type: Boolean, reflect: true }) public novalidate = false\n\n\tconstructor() {\n\t\tsuper()\n\t\tmerge(\n\t\t\tfromEvent<MouseEvent>(this, 'click').pipe(\n\t\t\t\ttap(e => {\n\t\t\t\t\tif ((e.target as HTMLButtonElement).type?.toLowerCase() === 'submit') this.handleSubmitRequest(e)\n\t\t\t\t}),\n\t\t\t),\n\t\t\tfromEvent<KeyboardEvent>(this, 'keydown').pipe(\n\t\t\t\ttap(e => {\n\t\t\t\t\tif (e.code === 'Enter' || e.key === 'Enter') {\n\t\t\t\t\t\tthis.handleSubmitRequest(e)\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t\t\t.pipe(takeUntil(this.$disconnecting))\n\t\t\t.subscribe()\n\t}\n\n\t/** Submits the form. */\n\tpublic submit(): boolean {\n\t\tconst formData = this.getFormData()\n\t\tif (!this.novalidate && !this.reportValidity()) {\n\t\t\treturn false\n\t\t}\n\t\tthis.dispatchEvent(new CustomEvent('submit', { detail: formData }))\n\t\treturn true\n\t}\n\n\t/** Resets the form. */\n\tpublic reset() {\n\t\tconst formElements = this.getFormElements()\n\t\tformElements.forEach(element => {\n\t\t\tconst tagName = element.tagName.toLowerCase()\n\t\t\tif (tagName === 'select') {\n\t\t\t\tfor (let i = 0; i < element.options.length; i++) {\n\t\t\t\t\tconst option = element.options[i]\n\t\t\t\t\toption.selected = option.defaultSelected\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\t(tagName === 'input' && (element.type === 'checkbox' || element.type == 'radio')) ||\n\t\t\t\t(tagName !== 'input' && this._controlsWithChecked.includes(tagName))\n\t\t\t) {\n\t\t\t\telement.checked = element.hasAttribute('checked')\n\t\t\t} else if (\n\t\t\t\ttagName === 'schmancy-input' ||\n\t\t\t\ttagName === 'schmancy-rating' ||\n\t\t\t\ttagName === 'schmancy-mask-input' ||\n\t\t\t\ttagName === 'schmancy-date-time-input'\n\t\t\t) {\n\t\t\t\telement.value = element.getAttribute('value')\n\t\t\t} else if (this._controlsWithValue.includes(tagName)) {\n\t\t\t\telement.value = element.defaultValue\n\t\t\t}\n\t\t})\n\t\tthis.dispatchEvent(new CustomEvent('reset'))\n\t}\n\n\tprivate getFormElements(): any[] {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tconst assignedElements = slot?.assignedElements({ flatten: true })\n\t\tconst formElements: any[] = []\n\t\tassignedElements?.forEach((element: any) => {\n\t\t\tif (!element.disabled) {\n\t\t\t\tformElements.push(element)\n\t\t\t}\n\t\t\tconst children = Array.from(element.getElementsByTagName('*')).filter((element: any) => !element.disabled)\n\t\t\tformElements.push(...children)\n\t\t})\n\n\t\treturn formElements\n\t}\n\n\tpublic getFormData() {\n\t\tconst formData = new FormData()\n\n\t\tconst formElements = this.getFormElements()\n\t\tformElements.forEach(element => {\n\t\t\tconst tagName = element.tagName.toLowerCase()\n\t\t\tif (tagName === 'select') {\n\t\t\t\tfor (let i = 0; i < element.options.length; i++) {\n\t\t\t\t\tconst option = element.options[i]\n\t\t\t\t\tif (option.selected) {\n\t\t\t\t\t\tformData.append(element.name, option.value)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (this._controlsWithChecked.includes(tagName) && element.checked) {\n\t\t\t\tformData.append(element.name, element.value || 'on')\n\t\t\t} else if (\n\t\t\t\tthis._controlsWithValue.includes(tagName) &&\n\t\t\t\telement.type !== 'checkbox' &&\n\t\t\t\telement.type !== 'radio' &&\n\t\t\t\telement.type !== 'submit'\n\t\t\t) {\n\t\t\t\tformData.append(element.name, element.value)\n\t\t\t}\n\t\t})\n\n\t\treturn formData\n\t}\n\n\t/** Checks for validity of the form. */\n\tpublic reportValidity(): boolean {\n\t\tconst formElements = this.getFormElements()\n\t\treturn !formElements.some(\n\t\t\telement => typeof element.reportValidity === 'function' && element.reportValidity() === false,\n\t\t)\n\t}\n\n\tprivate handleSubmitRequest(event: MouseEvent | KeyboardEvent) {\n\t\tconst targetElement: any = event.target as HTMLElement\n\t\tif (this._controlsThatSubmit.includes(targetElement.tagName.toLowerCase())) {\n\t\t\tthis.submit()\n\t\t} else if (targetElement.type?.toLowerCase() === 'reset') {\n\t\t\tthis.reset()\n\t\t}\n\n\t\treturn true\n\t}\n\n\tprotected override render() {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-form': SchmancyForm\n\t}\n}\n"],"names":["SchmancyForm","TailwindElement","constructor","super","this","$disconnecting","Subject","_controlsWithChecked","_controlsWithValue","_controlsThatSubmit","novalidate","merge","fromEvent","pipe","tap","e","target","type","toLowerCase","handleSubmitRequest","code","key","takeUntil","subscribe","formData","getFormData","reportValidity","dispatchEvent","CustomEvent","detail","getFormElements","forEach","element","tagName","i","options","length","option","selected","defaultSelected","includes","checked","hasAttribute","value","getAttribute","defaultValue","slot","shadowRoot","querySelector","assignedElements","flatten","formElements","disabled","push","children","Array","from","getElementsByTagName","filter","FormData","append","name","some","event","targetElement","submit","reset","html","shadowRootOptions","LitElement","mode","delegatesFocus","styles","css","__decorateClass","property","Boolean","reflect","prototype","customElement"],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- "use strict";const i=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const u=require("./tailwind.mixin-UzdLTEsN.cjs"),h=require("lit"),l=require("lit/decorators.js");var p=Object.defineProperty,d=Object.getOwnPropertyDescriptor,m=(e,t,s,n)=>{for(var o,c=n>1?void 0:n?d(t,s):t,r=e.length-1;r>=0;r--)(o=e[r])&&(c=(n?o(t,s,c):o(c))||c);return n&&c&&p(t,s,c),c};let a=class extends u.TailwindElement(){constructor(){super(),this.$disconnecting=new i.Subject,this._controlsWithChecked=["input","radio","schmancy-radio","schmancy-switch","schmancy-checkbox","schmancy-radio-group","schmancy-autocomplete","schmancy-select"],this._controlsWithValue=["input","schmancy-input","schmancy-mask-input","textarea","schmancy-rating","schmancy-select","schmancy-combo","schmancy-date-time-input","schmancy-autocomplete","schmancy-checkbox","schmancy-select"],this._controlsThatSubmit=["button","schmancy-input","schmancy-button","schmancy-icon-button"],this.novalidate=!1,i.merge(i.fromEvent(this,"click").pipe(i.tap(e=>{var t;((t=e.target.type)==null?void 0:t.toLowerCase())==="submit"&&this.handleSubmitRequest(e)})),i.fromEvent(this,"keydown").pipe(i.tap(e=>{e.code!=="Enter"&&e.key!=="Enter"||this.handleSubmitRequest(e)}))).pipe(i.takeUntil(this.$disconnecting)).subscribe()}submit(){const e=this.getFormData();return!(!this.novalidate&&!this.reportValidity())&&(this.dispatchEvent(new CustomEvent("submit",{detail:e})),!0)}reset(){this.getFormElements().forEach(e=>{const t=e.tagName.toLowerCase();if(t==="select")for(let s=0;s<e.options.length;s++){const n=e.options[s];n.selected=n.defaultSelected}else t==="input"&&(e.type==="checkbox"||e.type=="radio")||t!=="input"&&this._controlsWithChecked.includes(t)?e.checked=e.hasAttribute("checked"):t==="schmancy-input"||t==="schmancy-rating"||t==="schmancy-mask-input"||t==="schmancy-date-time-input"?e.value=e.getAttribute("value"):this._controlsWithValue.includes(t)&&(e.value=e.defaultValue)}),this.dispatchEvent(new CustomEvent("reset"))}getFormElements(){var n;const e=(n=this.shadowRoot)==null?void 0:n.querySelector("slot"),t=e==null?void 0:e.assignedElements({flatten:!0}),s=[];return t==null||t.forEach(o=>{o.disabled||s.push(o);const c=Array.from(o.getElementsByTagName("*")).filter(r=>!r.disabled);s.push(...c)}),s}getFormData(){const e=new FormData;return this.getFormElements().forEach(t=>{const s=t.tagName.toLowerCase();if(s==="select")for(let n=0;n<t.options.length;n++){const o=t.options[n];o.selected&&e.append(t.name,o.value)}else this._controlsWithChecked.includes(s)&&t.checked?e.append(t.name,t.value||"on"):this._controlsWithValue.includes(s)&&t.type!=="checkbox"&&t.type!=="radio"&&t.type!=="submit"&&e.append(t.name,t.value)}),e}reportValidity(){return!this.getFormElements().some(e=>typeof e.reportValidity=="function"&&e.reportValidity()===!1)}handleSubmitRequest(e){var s;const t=e.target;return this._controlsThatSubmit.includes(t.tagName.toLowerCase())?this.submit():((s=t.type)==null?void 0:s.toLowerCase())==="reset"&&this.reset(),!0}render(){return h.html`<slot></slot>`}};a.tagName="schmancy-form",a.shadowRootOptions={...h.LitElement.shadowRootOptions,mode:"open",delegatesFocus:!1},a.styles=h.css`
2
- :host {
3
- height: 100%;
4
- width: 100%;
5
- display: block;
6
- }
7
- `,m([l.property({type:Boolean,reflect:!0})],a.prototype,"novalidate",2),a=m([l.customElement("schmancy-form")],a);
8
- //# sourceMappingURL=form-DPRTjp4Q.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-DPRTjp4Q.cjs","sources":["../src/form/form.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { fromEvent, merge, Subject, takeUntil, tap } from 'rxjs'\n\nexport interface FormEventMap {\n\tsubmit: CustomEvent<FormData>\n\treset: CustomEvent\n}\n\n/**\n * The form is a component used to collect user input from\n * interactive controls.\n *\n * @element schmancy-form\n *\n * @slot - Default slot for the form.\n *\n * @fires submit - Emitted when the form is submitted.\n * @fires reset - Emitted when the form is reset.\n */\n@customElement('schmancy-form')\nexport default class SchmancyForm extends TailwindElement() {\n\tprivate $disconnecting = new Subject()\n\tpublic static readonly tagName = 'schmancy-form'\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: false,\n\t}\n\tpublic static styles = css`\n\t\t:host {\n\t\t\theight: 100%;\n\t\t\twidth: 100%;\n\t\t\tdisplay: block;\n\t\t}\n\t`\n\n\tprivate _controlsWithChecked = [\n\t\t'input',\n\t\t'radio',\n\t\t'schmancy-radio',\n\t\t'schmancy-switch',\n\t\t'schmancy-checkbox',\n\t\t'schmancy-radio-group',\n\t\t'schmancy-autocomplete',\n\t\t'schmancy-select',\n\t]\n\tprivate _controlsWithValue = [\n\t\t'input',\n\t\t'schmancy-input',\n\t\t'schmancy-mask-input',\n\t\t'textarea',\n\t\t'schmancy-rating',\n\t\t'schmancy-select',\n\t\t'schmancy-combo',\n\t\t'schmancy-date-time-input',\n\t\t'schmancy-autocomplete',\n\t\t'schmancy-checkbox',\n\t\t'schmancy-select',\n\t]\n\tprivate _controlsThatSubmit = ['button', 'schmancy-input', 'schmancy-button', 'schmancy-icon-button']\n\n\t/** Specifies if form data validation should be skipped on submit.\n\t * @attr novalidate\n\t * @type {boolean}\n\t * @public\n\t */\n\t@property({ type: Boolean, reflect: true }) public novalidate = false\n\n\tconstructor() {\n\t\tsuper()\n\t\tmerge(\n\t\t\tfromEvent<MouseEvent>(this, 'click').pipe(\n\t\t\t\ttap(e => {\n\t\t\t\t\tif ((e.target as HTMLButtonElement).type?.toLowerCase() === 'submit') this.handleSubmitRequest(e)\n\t\t\t\t}),\n\t\t\t),\n\t\t\tfromEvent<KeyboardEvent>(this, 'keydown').pipe(\n\t\t\t\ttap(e => {\n\t\t\t\t\tif (e.code === 'Enter' || e.key === 'Enter') {\n\t\t\t\t\t\tthis.handleSubmitRequest(e)\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t\t\t.pipe(takeUntil(this.$disconnecting))\n\t\t\t.subscribe()\n\t}\n\n\t/** Submits the form. */\n\tpublic submit(): boolean {\n\t\tconst formData = this.getFormData()\n\t\tif (!this.novalidate && !this.reportValidity()) {\n\t\t\treturn false\n\t\t}\n\t\tthis.dispatchEvent(new CustomEvent('submit', { detail: formData }))\n\t\treturn true\n\t}\n\n\t/** Resets the form. */\n\tpublic reset() {\n\t\tconst formElements = this.getFormElements()\n\t\tformElements.forEach(element => {\n\t\t\tconst tagName = element.tagName.toLowerCase()\n\t\t\tif (tagName === 'select') {\n\t\t\t\tfor (let i = 0; i < element.options.length; i++) {\n\t\t\t\t\tconst option = element.options[i]\n\t\t\t\t\toption.selected = option.defaultSelected\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\t(tagName === 'input' && (element.type === 'checkbox' || element.type == 'radio')) ||\n\t\t\t\t(tagName !== 'input' && this._controlsWithChecked.includes(tagName))\n\t\t\t) {\n\t\t\t\telement.checked = element.hasAttribute('checked')\n\t\t\t} else if (\n\t\t\t\ttagName === 'schmancy-input' ||\n\t\t\t\ttagName === 'schmancy-rating' ||\n\t\t\t\ttagName === 'schmancy-mask-input' ||\n\t\t\t\ttagName === 'schmancy-date-time-input'\n\t\t\t) {\n\t\t\t\telement.value = element.getAttribute('value')\n\t\t\t} else if (this._controlsWithValue.includes(tagName)) {\n\t\t\t\telement.value = element.defaultValue\n\t\t\t}\n\t\t})\n\t\tthis.dispatchEvent(new CustomEvent('reset'))\n\t}\n\n\tprivate getFormElements(): any[] {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tconst assignedElements = slot?.assignedElements({ flatten: true })\n\t\tconst formElements: any[] = []\n\t\tassignedElements?.forEach((element: any) => {\n\t\t\tif (!element.disabled) {\n\t\t\t\tformElements.push(element)\n\t\t\t}\n\t\t\tconst children = Array.from(element.getElementsByTagName('*')).filter((element: any) => !element.disabled)\n\t\t\tformElements.push(...children)\n\t\t})\n\n\t\treturn formElements\n\t}\n\n\tpublic getFormData() {\n\t\tconst formData = new FormData()\n\n\t\tconst formElements = this.getFormElements()\n\t\tformElements.forEach(element => {\n\t\t\tconst tagName = element.tagName.toLowerCase()\n\t\t\tif (tagName === 'select') {\n\t\t\t\tfor (let i = 0; i < element.options.length; i++) {\n\t\t\t\t\tconst option = element.options[i]\n\t\t\t\t\tif (option.selected) {\n\t\t\t\t\t\tformData.append(element.name, option.value)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (this._controlsWithChecked.includes(tagName) && element.checked) {\n\t\t\t\tformData.append(element.name, element.value || 'on')\n\t\t\t} else if (\n\t\t\t\tthis._controlsWithValue.includes(tagName) &&\n\t\t\t\telement.type !== 'checkbox' &&\n\t\t\t\telement.type !== 'radio' &&\n\t\t\t\telement.type !== 'submit'\n\t\t\t) {\n\t\t\t\tformData.append(element.name, element.value)\n\t\t\t}\n\t\t})\n\n\t\treturn formData\n\t}\n\n\t/** Checks for validity of the form. */\n\tpublic reportValidity(): boolean {\n\t\tconst formElements = this.getFormElements()\n\t\treturn !formElements.some(\n\t\t\telement => typeof element.reportValidity === 'function' && element.reportValidity() === false,\n\t\t)\n\t}\n\n\tprivate handleSubmitRequest(event: MouseEvent | KeyboardEvent) {\n\t\tconst targetElement: any = event.target as HTMLElement\n\t\tif (this._controlsThatSubmit.includes(targetElement.tagName.toLowerCase())) {\n\t\t\tthis.submit()\n\t\t} else if (targetElement.type?.toLowerCase() === 'reset') {\n\t\t\tthis.reset()\n\t\t}\n\n\t\treturn true\n\t}\n\n\tprotected override render() {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-form': SchmancyForm\n\t}\n}\n"],"names":["SchmancyForm","TailwindElement","constructor","super","this","$disconnecting","Subject","_controlsWithChecked","_controlsWithValue","_controlsThatSubmit","novalidate","merge","fromEvent","pipe","tap","e","target","type","toLowerCase","handleSubmitRequest","code","key","takeUntil","subscribe","formData","getFormData","reportValidity","dispatchEvent","CustomEvent","detail","getFormElements","forEach","element","tagName","i","options","length","option","selected","defaultSelected","includes","checked","hasAttribute","value","getAttribute","defaultValue","slot","shadowRoot","querySelector","assignedElements","flatten","formElements","disabled","push","children","Array","from","getElementsByTagName","filter","FormData","append","name","some","event","targetElement","submit","reset","html","shadowRootOptions","LitElement","mode","delegatesFocus","styles","css","__decorateClass","property","Boolean","reflect","prototype","customElement"],"mappings":"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"}
@@ -1,136 +0,0 @@
1
- import { nothing as f, html as m, LitElement as x } from "lit";
2
- import { property as r, query as w, customElement as E } from "lit/decorators.js";
3
- import { ifDefined as n } from "lit/directives/if-defined.js";
4
- import { createRef as k, ref as R } from "lit/directives/ref.js";
5
- import { when as b } from "lit/directives/when.js";
6
- import { fromEvent as h, map as g, distinctUntilChanged as v, takeUntil as u, filter as $ } from "rxjs";
7
- import "lit/directives/class-map.js";
8
- import "lit/directives/style-map.js";
9
- import { T as C } from "./tailwind.mixin-C2MUeArS.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 V = Object.defineProperty, S = Object.getOwnPropertyDescriptor, i = (t, s, l, o) => {
14
- for (var c, a = o > 1 ? void 0 : o ? S(s, l) : s, d = t.length - 1; d >= 0; d--) (c = t[d]) && (a = (o ? c(s, l, a) : c(a)) || a);
15
- return o && a && V(s, l, a), a;
16
- };
17
- let e = class extends C(":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 = k(), "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, o;
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) : (o = this.internals) == null || o.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(g((t) => t.target.value), v(), 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(g((t) => t.target.value), v(), 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($((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($((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
- ${b(this.label, () => m`
85
- <label
86
- for=${this.id}
87
- id="label-${this.id}"
88
- class=${this.classMap(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
- ${R(this.inputRef)}
98
- id=${this.id}
99
- name=${this.name}
100
- class=${this.classMap(t)}
101
- .value=${this.value}
102
- .type=${this.type}
103
- .autocomplete=${this.autocomplete}
104
- .spellcheck=${this.spellcheck}
105
- placeholder=${this.placeholder}
106
- inputmode=${n(this.inputmode)}
107
- pattern=${n(this.pattern)}
108
- step=${n(this.step)}
109
- minlength=${n(this.minlength)}
110
- maxlength=${n(this.maxlength)}
111
- min=${n(this.min)}
112
- max=${n(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=${n(this.label ? void 0 : this.placeholder || "Input")}
121
- />
122
-
123
- ${b(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 = { ...x.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([w("input")], e.prototype, "inputElement", 2), e = i([E("schmancy-input")], e);
136
- //# sourceMappingURL=input-BNIa-xYu.js.map