@mhmo91/schmancy 0.10.15 → 0.10.17

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 (572) hide show
  1. package/custom-elements.json +2554 -3086
  2. package/dist/active-host-BP0zy_Y9.js +63 -0
  3. package/dist/{active-host-CvNYoprt.js.map → active-host-BP0zy_Y9.js.map} +1 -1
  4. package/dist/active-host-jH3iloCR.cjs +1 -0
  5. package/dist/{active-host-CcIa2tmW.cjs.map → active-host-jH3iloCR.cjs.map} +1 -1
  6. package/dist/agent/flow-CvG1fLW5.js.map +1 -1
  7. package/dist/agent/schmancy.agent.js +5694 -5500
  8. package/dist/agent/schmancy.agent.js.map +1 -1
  9. package/dist/agent/schmancy.manifest.json +971 -1189
  10. package/dist/agent/vendor-material-color-DcL7ZPxx.js.map +1 -1
  11. package/dist/{animation-CO_Csq84.cjs.map → animation-CCOIW4wJ.cjs.map} +1 -1
  12. package/dist/{animation-BK-8BwY8.js.map → animation-DCznELuT.js.map} +1 -1
  13. package/dist/{area-C_kgZZhN.js → area-ChxsDTu_.js} +2 -2
  14. package/dist/{area-C_kgZZhN.js.map → area-ChxsDTu_.js.map} +1 -1
  15. package/dist/{area-DFPtKzWy.cjs → area-Qt6yUnuA.cjs} +3 -3
  16. package/dist/{area-DFPtKzWy.cjs.map → area-Qt6yUnuA.cjs.map} +1 -1
  17. package/dist/area.cjs +1 -1
  18. package/dist/area.js +2 -2
  19. package/dist/{audio-CluX8Qpq.cjs → audio-D-TZzpXF.cjs} +1 -1
  20. package/dist/{audio-CluX8Qpq.cjs.map → audio-D-TZzpXF.cjs.map} +1 -1
  21. package/dist/{audio-DcXphulJ.js → audio-DS43uoRA.js} +1 -1
  22. package/dist/{audio-DcXphulJ.js.map → audio-DS43uoRA.js.map} +1 -1
  23. package/dist/audio.cjs +1 -1
  24. package/dist/audio.js +2 -2
  25. package/dist/{autocomplete-DWSuwSRS.js → autocomplete-CXvUjMD-.js} +46 -71
  26. package/dist/autocomplete-CXvUjMD-.js.map +1 -0
  27. package/dist/autocomplete-Ck2zbdF9.cjs +115 -0
  28. package/dist/autocomplete-Ck2zbdF9.cjs.map +1 -0
  29. package/dist/autocomplete.cjs +1 -1
  30. package/dist/autocomplete.js +1 -1
  31. package/dist/avatar.cjs +2 -2
  32. package/dist/avatar.cjs.map +1 -1
  33. package/dist/avatar.js +3 -3
  34. package/dist/avatar.js.map +1 -1
  35. package/dist/badge.cjs +1 -1
  36. package/dist/badge.js +1 -1
  37. package/dist/{boat-CZma2ojF.js → boat-Bj0wVcZi.js} +5 -5
  38. package/dist/{boat-CZma2ojF.js.map → boat-Bj0wVcZi.js.map} +1 -1
  39. package/dist/{boat-Dy6cc3hB.cjs → boat-DpFkILFF.cjs} +2 -2
  40. package/dist/{boat-Dy6cc3hB.cjs.map → boat-DpFkILFF.cjs.map} +1 -1
  41. package/dist/boat.cjs +1 -1
  42. package/dist/boat.js +1 -1
  43. package/dist/breadcrumb.cjs +3 -3
  44. package/dist/breadcrumb.cjs.map +1 -1
  45. package/dist/breadcrumb.js +2 -2
  46. package/dist/breadcrumb.js.map +1 -1
  47. package/dist/{busy-DCsqryvq.cjs → busy-CtcnclA3.cjs} +3 -3
  48. package/dist/{busy-DCsqryvq.cjs.map → busy-CtcnclA3.cjs.map} +1 -1
  49. package/dist/{busy-DeV2ByMw.js → busy-CyZSBnZP.js} +2 -2
  50. package/dist/{busy-DeV2ByMw.js.map → busy-CyZSBnZP.js.map} +1 -1
  51. package/dist/busy.cjs +1 -1
  52. package/dist/busy.js +1 -1
  53. package/dist/button.cjs +4 -4
  54. package/dist/button.cjs.map +1 -1
  55. package/dist/button.js +19 -4
  56. package/dist/button.js.map +1 -1
  57. package/dist/{card--GgSX4X5.cjs → card-Cl6jp1yX.cjs} +5 -5
  58. package/dist/{card--GgSX4X5.cjs.map → card-Cl6jp1yX.cjs.map} +1 -1
  59. package/dist/{card-BTTsHzJJ.js → card-nYZCKmOO.js} +3 -3
  60. package/dist/{card-BTTsHzJJ.js.map → card-nYZCKmOO.js.map} +1 -1
  61. package/dist/card.cjs +1 -1
  62. package/dist/card.js +1 -1
  63. package/dist/{checkbox-NNReP9s_.cjs → checkbox-BeNo0ZGt.cjs} +4 -4
  64. package/dist/{checkbox-Cj5j-ppk.js.map → checkbox-BeNo0ZGt.cjs.map} +1 -1
  65. package/dist/{checkbox-Cj5j-ppk.js → checkbox-DiUrZiyc.js} +17 -30
  66. package/dist/checkbox-DiUrZiyc.js.map +1 -0
  67. package/dist/checkbox.cjs +1 -1
  68. package/dist/checkbox.js +1 -1
  69. package/dist/{chips-CP-CbfoZ.js → chips-CfPFXv7Z.js} +5 -5
  70. package/dist/{chips-CP-CbfoZ.js.map → chips-CfPFXv7Z.js.map} +1 -1
  71. package/dist/{chips-iporOXxK.cjs → chips-DK6m-VCM.cjs} +5 -5
  72. package/dist/{chips-iporOXxK.cjs.map → chips-DK6m-VCM.cjs.map} +1 -1
  73. package/dist/chips.cjs +1 -1
  74. package/dist/chips.js +2 -2
  75. package/dist/connectivity.cjs +2 -2
  76. package/dist/connectivity.cjs.map +1 -1
  77. package/dist/connectivity.js +3 -3
  78. package/dist/connectivity.js.map +1 -1
  79. package/dist/content-drawer.cjs +1 -1
  80. package/dist/content-drawer.js +1 -1
  81. package/dist/{context-DJTJnSK4.js.map → context-6oXCZmZN.js.map} +1 -1
  82. package/dist/{context-BpCETidA.cjs.map → context-CRZeiCqq.cjs.map} +1 -1
  83. package/dist/{cursor-glow-Bulq-38P.cjs → cursor-glow-C8LgCxpI.cjs} +1 -1
  84. package/dist/{cursor-glow-Bulq-38P.cjs.map → cursor-glow-C8LgCxpI.cjs.map} +1 -1
  85. package/dist/{cursor-glow-Ah7VXSj7.js → cursor-glow-Cs2XLDB9.js} +1 -1
  86. package/dist/{cursor-glow-Ah7VXSj7.js.map → cursor-glow-Cs2XLDB9.js.map} +1 -1
  87. package/dist/date-range-DA6anfcF.cjs +131 -0
  88. package/dist/date-range-DA6anfcF.cjs.map +1 -0
  89. package/dist/{date-range-CgNujP8r.js → date-range-DjlF2u7o.js} +124 -89
  90. package/dist/date-range-DjlF2u7o.js.map +1 -0
  91. package/dist/date-range-inline-BfYK795W.cjs +43 -0
  92. package/dist/{date-range-inline-D4IjOOO0.cjs.map → date-range-inline-BfYK795W.cjs.map} +1 -1
  93. package/dist/{date-range-inline-C2PXX_GY.js → date-range-inline-n7y_H6PJ.js} +2 -2
  94. package/dist/{date-range-inline-C2PXX_GY.js.map → date-range-inline-n7y_H6PJ.js.map} +1 -1
  95. package/dist/date-range-inline.cjs +1 -1
  96. package/dist/date-range-inline.js +1 -1
  97. package/dist/date-range.cjs +1 -1
  98. package/dist/date-range.js +1 -1
  99. package/dist/delay.cjs +2 -2
  100. package/dist/delay.cjs.map +1 -1
  101. package/dist/delay.js +3 -3
  102. package/dist/delay.js.map +1 -1
  103. package/dist/{details-DT2b3xOn.cjs → details-BdAVsLl-.cjs} +2 -2
  104. package/dist/{details-DT2b3xOn.cjs.map → details-BdAVsLl-.cjs.map} +1 -1
  105. package/dist/{details-VjaNwtfd.js → details-CS_ToAOj.js} +6 -6
  106. package/dist/{details-VjaNwtfd.js.map → details-CS_ToAOj.js.map} +1 -1
  107. package/dist/details.cjs +1 -1
  108. package/dist/details.js +1 -1
  109. package/dist/directives.cjs +1 -1
  110. package/dist/directives.cjs.map +1 -1
  111. package/dist/directives.js +5 -5
  112. package/dist/directives.js.map +1 -1
  113. package/dist/discovery.js.map +1 -1
  114. package/dist/{divider-BMO8pzEO.js → divider-COLK0RbT.js} +2 -2
  115. package/dist/{divider-BMO8pzEO.js.map → divider-COLK0RbT.js.map} +1 -1
  116. package/dist/{divider-BW33TZ-X.cjs → divider-CvWAnvdO.cjs} +2 -2
  117. package/dist/{divider-BW33TZ-X.cjs.map → divider-CvWAnvdO.cjs.map} +1 -1
  118. package/dist/divider.cjs +1 -1
  119. package/dist/divider.js +1 -1
  120. package/dist/dropdown.cjs +3 -3
  121. package/dist/dropdown.cjs.map +1 -1
  122. package/dist/dropdown.js +2 -2
  123. package/dist/dropdown.js.map +1 -1
  124. package/dist/{expand-DbELKKOt.js → expand-D9LzmpoV.js} +5 -5
  125. package/dist/{expand-DbELKKOt.js.map → expand-D9LzmpoV.js.map} +1 -1
  126. package/dist/{expand-_f5EUKWB.cjs → expand-r2sATPUJ.cjs} +3 -3
  127. package/dist/{expand-_f5EUKWB.cjs.map → expand-r2sATPUJ.cjs.map} +1 -1
  128. package/dist/expand.cjs +1 -1
  129. package/dist/expand.js +1 -1
  130. package/dist/float-2nHYuBx-.cjs +1 -0
  131. package/dist/{float-CKmd-0-t.cjs.map → float-2nHYuBx-.cjs.map} +1 -1
  132. package/dist/{float-B6RBb2dN.js → float-BWy39CXr.js} +2 -2
  133. package/dist/{float-B6RBb2dN.js.map → float-BWy39CXr.js.map} +1 -1
  134. package/dist/float.cjs +1 -1
  135. package/dist/float.js +1 -1
  136. package/dist/form-D1iJOLVb.js +267 -0
  137. package/dist/form-D1iJOLVb.js.map +1 -0
  138. package/dist/form-D9K1GhlP.cjs +42 -0
  139. package/dist/form-D9K1GhlP.cjs.map +1 -0
  140. package/dist/form.cjs +1 -1
  141. package/dist/form.js +9 -2
  142. package/dist/handover/agent-runtime-followups.md +1 -1
  143. package/dist/handover/agent-runtime-v1.md +3 -3
  144. package/dist/{hashContent-Bobsobip.cjs.map → hashContent-Ck6laKlk.cjs.map} +1 -1
  145. package/dist/{hashContent-BU6jl5ih.js.map → hashContent-dJrI-9sc.js.map} +1 -1
  146. package/dist/{icons-r-S17M8U.cjs → icons-BXp4vbnW.cjs} +2 -2
  147. package/dist/{icons-r-S17M8U.cjs.map → icons-BXp4vbnW.cjs.map} +1 -1
  148. package/dist/{icons-CoDo95Cu.js → icons-COrlmBPB.js} +3 -3
  149. package/dist/{icons-CoDo95Cu.js.map → icons-COrlmBPB.js.map} +1 -1
  150. package/dist/icons.cjs +1 -1
  151. package/dist/icons.js +1 -1
  152. package/dist/{iframe-P9c_qg1-.cjs → iframe-BwXj6mLp.cjs} +2 -2
  153. package/dist/{iframe-P9c_qg1-.cjs.map → iframe-BwXj6mLp.cjs.map} +1 -1
  154. package/dist/{iframe-k4oI-TIj.js → iframe-CPNsIy7k.js} +2 -2
  155. package/dist/{iframe-k4oI-TIj.js.map → iframe-CPNsIy7k.js.map} +1 -1
  156. package/dist/iframe.cjs +1 -1
  157. package/dist/iframe.js +1 -1
  158. package/dist/index.cjs +1 -1
  159. package/dist/index.js +60 -60
  160. package/dist/input-BGrF2qVq.cjs +52 -0
  161. package/dist/input-BGrF2qVq.cjs.map +1 -0
  162. package/dist/{input-D95GjINh.js → input-C1SnMNuQ.js} +103 -104
  163. package/dist/input-C1SnMNuQ.js.map +1 -0
  164. package/dist/{input-chip-DpC_XEKN.js → input-chip-CtQ0pH5b.js} +2 -2
  165. package/dist/{input-chip-DpC_XEKN.js.map → input-chip-CtQ0pH5b.js.map} +1 -1
  166. package/dist/{input-chip-D0ZXqTt5.cjs → input-chip-DZktYohr.cjs} +2 -2
  167. package/dist/{input-chip-D0ZXqTt5.cjs.map → input-chip-DZktYohr.cjs.map} +1 -1
  168. package/dist/input.cjs +1 -1
  169. package/dist/input.js +1 -1
  170. package/dist/json.cjs +2 -2
  171. package/dist/json.cjs.map +1 -1
  172. package/dist/json.js +3 -3
  173. package/dist/json.js.map +1 -1
  174. package/dist/kbd.cjs +2 -2
  175. package/dist/kbd.cjs.map +1 -1
  176. package/dist/kbd.js +2 -2
  177. package/dist/kbd.js.map +1 -1
  178. package/dist/{layout-CXPNsUIo.js → layout-BH28sKGc.js} +1 -1
  179. package/dist/{layout-CXPNsUIo.js.map → layout-BH28sKGc.js.map} +1 -1
  180. package/dist/{layout-Zhe7wSZ_.cjs → layout-Delq-QvR.cjs} +1 -1
  181. package/dist/{layout-Zhe7wSZ_.cjs.map → layout-Delq-QvR.cjs.map} +1 -1
  182. package/dist/layout.cjs +1 -1
  183. package/dist/layout.js +1 -1
  184. package/dist/{lazy-Dq9mRRjT.cjs.map → lazy-CayEFyC3.cjs.map} +1 -1
  185. package/dist/{lazy-B0ia54tT.js.map → lazy-D-bO2r4m.js.map} +1 -1
  186. package/dist/{lightbox-CovQtmyn.js → lightbox-CLwpaiai.js} +9 -9
  187. package/dist/{lightbox-CovQtmyn.js.map → lightbox-CLwpaiai.js.map} +1 -1
  188. package/dist/{lightbox-C-yHeoK0.cjs → lightbox-Ck6BpN5u.cjs} +3 -3
  189. package/dist/{lightbox-C-yHeoK0.cjs.map → lightbox-Ck6BpN5u.cjs.map} +1 -1
  190. package/dist/lightbox.cjs +1 -1
  191. package/dist/lightbox.js +1 -1
  192. package/dist/{list-C1pR9vhu.js → list-Bmce1Rb8.js} +2 -2
  193. package/dist/{list-C1pR9vhu.js.map → list-Bmce1Rb8.js.map} +1 -1
  194. package/dist/{list-CAijuky4.cjs → list-EmRwSpTU.cjs} +3 -3
  195. package/dist/{list-CAijuky4.cjs.map → list-EmRwSpTU.cjs.map} +1 -1
  196. package/dist/list.cjs +1 -1
  197. package/dist/list.js +1 -1
  198. package/dist/{magnetic-BJgB1dVi.cjs → magnetic-Bgh7aHHI.cjs} +1 -1
  199. package/dist/{magnetic-BJgB1dVi.cjs.map → magnetic-Bgh7aHHI.cjs.map} +1 -1
  200. package/dist/{magnetic-YwCNvtbB.js → magnetic-DxvoEz8_.js} +2 -2
  201. package/dist/{magnetic-YwCNvtbB.js.map → magnetic-DxvoEz8_.js.map} +1 -1
  202. package/dist/{menu-B59vZv9n.js → menu-BA_B7QOG.js} +3 -3
  203. package/dist/{menu-B59vZv9n.js.map → menu-BA_B7QOG.js.map} +1 -1
  204. package/dist/{menu-BaHO3Cip.cjs → menu-BTU3wGP6.cjs} +3 -3
  205. package/dist/{menu-BaHO3Cip.cjs.map → menu-BTU3wGP6.cjs.map} +1 -1
  206. package/dist/menu.cjs +1 -1
  207. package/dist/menu.js +1 -1
  208. package/dist/mixins-BOOu6q2n.cjs +298 -0
  209. package/dist/mixins-BOOu6q2n.cjs.map +1 -0
  210. package/dist/mixins-BWb9_e1s.js +680 -0
  211. package/dist/mixins-BWb9_e1s.js.map +1 -0
  212. package/dist/mixins.cjs +1 -1
  213. package/dist/mixins.js +2 -2
  214. package/dist/nav-drawer.cjs +1 -1
  215. package/dist/nav-drawer.js +1 -1
  216. package/dist/navigation-bar.cjs +1 -1
  217. package/dist/navigation-bar.js +1 -1
  218. package/dist/navigation-rail.cjs +3 -3
  219. package/dist/navigation-rail.cjs.map +1 -1
  220. package/dist/navigation-rail.js +2 -2
  221. package/dist/navigation-rail.js.map +1 -1
  222. package/dist/notification-CliGbcfU.cjs +23 -0
  223. package/dist/{notification-BC9nG8Sr.cjs.map → notification-CliGbcfU.cjs.map} +1 -1
  224. package/dist/{notification-BeLoVa47.js → notification-R2_Mf1HR.js} +4 -4
  225. package/dist/{notification-BeLoVa47.js.map → notification-R2_Mf1HR.js.map} +1 -1
  226. package/dist/notification.cjs +1 -1
  227. package/dist/notification.js +1 -1
  228. package/dist/{option-UvlSAcC4.js → option-DU1X4SDu.js} +2 -2
  229. package/dist/{option-UvlSAcC4.js.map → option-DU1X4SDu.js.map} +1 -1
  230. package/dist/{option-BWF4GBp-.cjs → option-Db98Ndzv.cjs} +2 -2
  231. package/dist/{option-BWF4GBp-.cjs.map → option-Db98Ndzv.cjs.map} +1 -1
  232. package/dist/option.cjs +1 -1
  233. package/dist/option.js +1 -1
  234. package/dist/{overlay-stack-DCDS17uj.js.map → overlay-stack-BR4iYivO.js.map} +1 -1
  235. package/dist/{overlay-stack-DPIe_aYv.cjs.map → overlay-stack-Dk0xETTy.cjs.map} +1 -1
  236. package/dist/overlay.cjs +2 -2
  237. package/dist/overlay.cjs.map +1 -1
  238. package/dist/{overlay.confirm-body-URtE1gI3.cjs → overlay.confirm-body-BkhNvr0c.cjs} +2 -2
  239. package/dist/{overlay.confirm-body-URtE1gI3.cjs.map → overlay.confirm-body-BkhNvr0c.cjs.map} +1 -1
  240. package/dist/{overlay.confirm-body-9W0B5QGv.js → overlay.confirm-body-uFp-0Zfh.js} +2 -2
  241. package/dist/{overlay.confirm-body-9W0B5QGv.js.map → overlay.confirm-body-uFp-0Zfh.js.map} +1 -1
  242. package/dist/overlay.js +8 -8
  243. package/dist/overlay.js.map +1 -1
  244. package/dist/{overlay.service-DnZTcKyJ.cjs → overlay.service-1YWfUD2S.cjs} +1 -1
  245. package/dist/{overlay.service-DnZTcKyJ.cjs.map → overlay.service-1YWfUD2S.cjs.map} +1 -1
  246. package/dist/{overlay.service-CVqs2Gu1.js → overlay.service-BcF12kGb.js} +2 -2
  247. package/dist/{overlay.service-CVqs2Gu1.js.map → overlay.service-BcF12kGb.js.map} +1 -1
  248. package/dist/page.cjs +2 -2
  249. package/dist/page.cjs.map +1 -1
  250. package/dist/page.js +5 -5
  251. package/dist/page.js.map +1 -1
  252. package/dist/{progress-C29Uw-WJ.js → progress-C9Y2D5cm.js} +2 -2
  253. package/dist/{progress-C29Uw-WJ.js.map → progress-C9Y2D5cm.js.map} +1 -1
  254. package/dist/{progress-CwzwY8Oe.cjs → progress-DiVTGAXa.cjs} +2 -2
  255. package/dist/{progress-CwzwY8Oe.cjs.map → progress-DiVTGAXa.cjs.map} +1 -1
  256. package/dist/progress.cjs +1 -1
  257. package/dist/progress.js +1 -1
  258. package/dist/{radio-group-CW8airhZ.js → radio-group-CAzjBI2n.js} +4 -4
  259. package/dist/radio-group-CAzjBI2n.js.map +1 -0
  260. package/dist/radio-group-DIRJyYv6.cjs +40 -0
  261. package/dist/radio-group-DIRJyYv6.cjs.map +1 -0
  262. package/dist/radio-group.cjs +1 -1
  263. package/dist/radio-group.js +1 -1
  264. package/dist/range.cjs +6 -4
  265. package/dist/range.cjs.map +1 -1
  266. package/dist/range.js +19 -15
  267. package/dist/range.js.map +1 -1
  268. package/dist/{reduced-motion-D-L12p7G.js.map → reduced-motion-D7LqTUMn.js.map} +1 -1
  269. package/dist/{reduced-motion-Ds-HjMzn.cjs.map → reduced-motion-Dzfp_w5x.cjs.map} +1 -1
  270. package/dist/{rxjs-utils-DCUHg_Ml.cjs.map → rxjs-utils-BKB2UM_j.cjs.map} +1 -1
  271. package/dist/{rxjs-utils-CVeJQ9KG.js.map → rxjs-utils-Dv9T9IpA.js.map} +1 -1
  272. package/dist/rxjs-utils.cjs +1 -1
  273. package/dist/rxjs-utils.js +1 -1
  274. package/dist/{scroll-BotoGcMU.js → scroll-BFHUtZOa.js} +2 -2
  275. package/dist/{scroll-BotoGcMU.js.map → scroll-BFHUtZOa.js.map} +1 -1
  276. package/dist/{scroll-CmhmUebp.cjs → scroll-nIZyoEMt.cjs} +2 -2
  277. package/dist/{scroll-CmhmUebp.cjs.map → scroll-nIZyoEMt.cjs.map} +1 -1
  278. package/dist/{search-BLCRsxIC.cjs.map → search-DPKoC-dT.cjs.map} +1 -1
  279. package/dist/{search-BTz7-Rev.js.map → search-MvIBA93K.js.map} +1 -1
  280. package/dist/{select-Dbn-CImU.js → select-7WqaUWBU.js} +52 -73
  281. package/dist/select-7WqaUWBU.js.map +1 -0
  282. package/dist/select-DTuf6p6T.cjs +56 -0
  283. package/dist/select-DTuf6p6T.cjs.map +1 -0
  284. package/dist/select.cjs +1 -1
  285. package/dist/select.js +1 -1
  286. package/dist/skeleton.cjs +2 -2
  287. package/dist/skeleton.cjs.map +1 -1
  288. package/dist/skeleton.js +2 -2
  289. package/dist/skeleton.js.map +1 -1
  290. package/dist/skills/SKILL.md +3 -0
  291. package/dist/skills/autocomplete.md +16 -3
  292. package/dist/skills/button.md +19 -0
  293. package/dist/skills/checkbox.md +19 -0
  294. package/dist/skills/date-range.md +19 -0
  295. package/dist/skills/form-ux-rules.md +55 -0
  296. package/dist/skills/form.md +121 -25
  297. package/dist/skills/input.md +19 -4
  298. package/dist/skills/range.md +15 -1
  299. package/dist/skills/schmancy/SKILL.md +3 -0
  300. package/dist/skills/schmancy/autocomplete.md +16 -3
  301. package/dist/skills/schmancy/button.md +19 -0
  302. package/dist/skills/schmancy/checkbox.md +19 -0
  303. package/dist/skills/schmancy/date-range.md +19 -0
  304. package/dist/skills/schmancy/form-ux-rules.md +55 -0
  305. package/dist/skills/schmancy/form.md +121 -25
  306. package/dist/skills/schmancy/input.md +19 -4
  307. package/dist/skills/schmancy/range.md +15 -1
  308. package/dist/skills/schmancy/select.md +13 -1
  309. package/dist/skills/schmancy/switch.md +21 -2
  310. package/dist/skills/schmancy/textarea.md +13 -0
  311. package/dist/skills/select.md +13 -1
  312. package/dist/skills/switch.md +21 -2
  313. package/dist/skills/textarea.md +13 -0
  314. package/dist/slider.cjs +3 -3
  315. package/dist/slider.cjs.map +1 -1
  316. package/dist/slider.js +2 -2
  317. package/dist/slider.js.map +1 -1
  318. package/dist/{sound.service-kKfsN0m-.js → sound.service-BIN2W7Rv.js} +1 -1
  319. package/dist/{sound.service-kKfsN0m-.js.map → sound.service-BIN2W7Rv.js.map} +1 -1
  320. package/dist/{sound.service-BGs6m0Cm.cjs → sound.service-DyY78ukR.cjs} +1 -1
  321. package/dist/{sound.service-BGs6m0Cm.cjs.map → sound.service-DyY78ukR.cjs.map} +1 -1
  322. package/dist/{splash-screen-DtkjCJYo.js → splash-screen-BcjjJSlK.js} +2 -2
  323. package/dist/{splash-screen-DtkjCJYo.js.map → splash-screen-BcjjJSlK.js.map} +1 -1
  324. package/dist/{splash-screen-DlQUv-kV.cjs → splash-screen-Kr1sPtME.cjs} +2 -2
  325. package/dist/{splash-screen-DlQUv-kV.cjs.map → splash-screen-Kr1sPtME.cjs.map} +1 -1
  326. package/dist/splash-screen.cjs +1 -1
  327. package/dist/splash-screen.js +1 -1
  328. package/dist/{src-DEUjlTsX.cjs → src-BbMJeLk9.cjs} +11 -11
  329. package/dist/{src-DEUjlTsX.cjs.map → src-BbMJeLk9.cjs.map} +1 -1
  330. package/dist/{src-D6e0adHi.js → src-DCu_mEk4.js} +40 -40
  331. package/dist/{src-D6e0adHi.js.map → src-DCu_mEk4.js.map} +1 -1
  332. package/dist/state-avic94Ft.cjs +1 -0
  333. package/dist/{state-DNdCPITt.cjs.map → state-avic94Ft.cjs.map} +1 -1
  334. package/dist/{state-BusMG6sM.js → state-nm8yzMPp.js} +1 -2
  335. package/dist/{state-BusMG6sM.js.map → state-nm8yzMPp.js.map} +1 -1
  336. package/dist/state.cjs +1 -1
  337. package/dist/state.js +2 -2
  338. package/dist/steps.cjs +3 -3
  339. package/dist/steps.cjs.map +1 -1
  340. package/dist/steps.js +2 -2
  341. package/dist/steps.js.map +1 -1
  342. package/dist/{surface-A82O1kgu.js → surface-BtMMHKol.js} +2 -2
  343. package/dist/{surface-A82O1kgu.js.map → surface-BtMMHKol.js.map} +1 -1
  344. package/dist/surface-CgXeKdGL.cjs +7 -0
  345. package/dist/{surface-BpppoNXN.cjs.map → surface-CgXeKdGL.cjs.map} +1 -1
  346. package/dist/surface.cjs +1 -1
  347. package/dist/surface.js +1 -1
  348. package/dist/switch.cjs +3 -3
  349. package/dist/switch.cjs.map +1 -1
  350. package/dist/switch.js +27 -43
  351. package/dist/switch.js.map +1 -1
  352. package/dist/table.cjs +3 -3
  353. package/dist/table.cjs.map +1 -1
  354. package/dist/table.js +2 -2
  355. package/dist/table.js.map +1 -1
  356. package/dist/{tabs-cVHHd1dY.js → tabs-81ADWQqa.js} +2 -2
  357. package/dist/{tabs-cVHHd1dY.js.map → tabs-81ADWQqa.js.map} +1 -1
  358. package/dist/{tabs-TO3UiBsm.cjs → tabs-DnG3K0bu.cjs} +2 -2
  359. package/dist/{tabs-TO3UiBsm.cjs.map → tabs-DnG3K0bu.cjs.map} +1 -1
  360. package/dist/tabs.cjs +1 -1
  361. package/dist/tabs.js +1 -1
  362. package/dist/teleport.cjs +1 -1
  363. package/dist/teleport.js +1 -1
  364. package/dist/textarea-3mWewuAf.js +186 -0
  365. package/dist/textarea-3mWewuAf.js.map +1 -0
  366. package/dist/textarea-BenjiTXB.cjs +43 -0
  367. package/dist/textarea-BenjiTXB.cjs.map +1 -0
  368. package/dist/textarea.cjs +1 -1
  369. package/dist/textarea.js +1 -1
  370. package/dist/{theme-CT408FqH.js → theme-CFPJW933.js} +9 -9
  371. package/dist/{theme-CT408FqH.js.map → theme-CFPJW933.js.map} +1 -1
  372. package/dist/theme-DNymrucy.cjs +181 -0
  373. package/dist/{theme-CpuF3D3q.cjs.map → theme-DNymrucy.cjs.map} +1 -1
  374. package/dist/{theme-button-pTb5-Wxx.js → theme-button-DC_shZ_7.js} +2 -2
  375. package/dist/{theme-button-pTb5-Wxx.js.map → theme-button-DC_shZ_7.js.map} +1 -1
  376. package/dist/theme-button-ENKa3TPT.cjs +8 -0
  377. package/dist/{theme-button-B6Xf-EiH.cjs.map → theme-button-ENKa3TPT.cjs.map} +1 -1
  378. package/dist/theme-button.cjs +1 -1
  379. package/dist/theme-button.js +1 -1
  380. package/dist/theme.cjs +1 -1
  381. package/dist/{theme.interface-B9TjbSBF.js.map → theme.interface-C2XNgsLB.js.map} +1 -1
  382. package/dist/{theme.interface-BujperTo.cjs.map → theme.interface-D4NeufQA.cjs.map} +1 -1
  383. package/dist/theme.js +4 -4
  384. package/dist/{theme.service-DIUo1mBP.js → theme.service-BOWIT_5k.js} +1 -1
  385. package/dist/{theme.service-DIUo1mBP.js.map → theme.service-BOWIT_5k.js.map} +1 -1
  386. package/dist/{theme.service-Cfk88qHK.cjs → theme.service-DkdH1t60.cjs} +1 -1
  387. package/dist/{theme.service-Cfk88qHK.cjs.map → theme.service-DkdH1t60.cjs.map} +1 -1
  388. package/dist/tooltip.js.map +1 -1
  389. package/dist/tree.cjs +2 -2
  390. package/dist/tree.cjs.map +1 -1
  391. package/dist/tree.js +2 -2
  392. package/dist/tree.js.map +1 -1
  393. package/dist/types.js.map +1 -1
  394. package/dist/typewriter.cjs.map +1 -1
  395. package/dist/typewriter.js.map +1 -1
  396. package/dist/typography.cjs +2 -2
  397. package/dist/typography.cjs.map +1 -1
  398. package/dist/typography.js +2 -2
  399. package/dist/typography.js.map +1 -1
  400. package/dist/{utils-kND2Z9Xg.js → utils-Cj_nRRyx.js} +2 -2
  401. package/dist/{utils-kND2Z9Xg.js.map → utils-Cj_nRRyx.js.map} +1 -1
  402. package/dist/{utils-Dt5PpmaQ.cjs → utils-D2QUu4-g.cjs} +1 -1
  403. package/dist/{utils-Dt5PpmaQ.cjs.map → utils-D2QUu4-g.cjs.map} +1 -1
  404. package/dist/utils.cjs +1 -1
  405. package/dist/utils.js +4 -4
  406. package/dist/visually-hidden.cjs +2 -2
  407. package/dist/visually-hidden.cjs.map +1 -1
  408. package/dist/visually-hidden.js +2 -2
  409. package/dist/visually-hidden.js.map +1 -1
  410. package/dist/{window-CuBcOxbc.js → window-BTecgE_U.js} +7 -7
  411. package/dist/{window-CuBcOxbc.js.map → window-BTecgE_U.js.map} +1 -1
  412. package/dist/{window-CSKvv4Ts.cjs → window-DGydMS0g.cjs} +2 -2
  413. package/dist/{window-CSKvv4Ts.cjs.map → window-DGydMS0g.cjs.map} +1 -1
  414. package/dist/window.cjs +1 -1
  415. package/dist/window.js +1 -1
  416. package/package.json +1 -1
  417. package/skills/schmancy/SKILL.md +3 -0
  418. package/skills/schmancy/autocomplete.md +16 -3
  419. package/skills/schmancy/button.md +19 -0
  420. package/skills/schmancy/checkbox.md +19 -0
  421. package/skills/schmancy/date-range.md +19 -0
  422. package/skills/schmancy/form-ux-rules.md +55 -0
  423. package/skills/schmancy/form.md +121 -25
  424. package/skills/schmancy/input.md +19 -4
  425. package/skills/schmancy/range.md +15 -1
  426. package/skills/schmancy/select.md +13 -1
  427. package/skills/schmancy/switch.md +21 -2
  428. package/skills/schmancy/textarea.md +13 -0
  429. package/src/button/button.test.ts +122 -0
  430. package/src/button/button.ts +36 -0
  431. package/src/{autocomplete → form/fields/autocomplete}/autocomplete.ts +48 -75
  432. package/src/{checkbox → form/fields/checkbox}/checkbox.test.ts +1 -1
  433. package/src/form/fields/checkbox/checkbox.ts +126 -0
  434. package/src/form/fields/date-range/date-range.test.ts +102 -0
  435. package/src/{date-range → form/fields/date-range}/date-range.ts +90 -7
  436. package/src/form/fields/index.ts +9 -0
  437. package/src/form/fields/input/input.test.ts +201 -0
  438. package/src/{input → form/fields/input}/input.ts +153 -238
  439. package/src/{radio-group → form/fields/radio-group}/radio-button.ts +1 -1
  440. package/src/{radio-group → form/fields/radio-group}/radio-group.ts +1 -1
  441. package/src/form/fields/range/range.test.ts +90 -0
  442. package/src/{range → form/fields/range}/range.ts +34 -13
  443. package/src/{select → form/fields/select}/select.ts +77 -108
  444. package/src/{switch → form/fields/switch}/switch.test.ts +1 -1
  445. package/src/{switch → form/fields/switch}/switch.ts +71 -51
  446. package/src/form/fields/textarea/textarea.test.ts +54 -0
  447. package/src/{textarea → form/fields/textarea}/textarea.ts +33 -72
  448. package/src/form/form-state.ts +31 -0
  449. package/src/form/form-summary.test.ts +105 -0
  450. package/src/form/form-summary.ts +171 -0
  451. package/src/form/form.test.ts +218 -35
  452. package/src/form/form.ts +330 -99
  453. package/src/form/index.ts +3 -0
  454. package/src/index.ts +9 -9
  455. package/types/mixins/formField.mixin.d.ts +90 -0
  456. package/types/src/button/button.d.ts +9 -0
  457. package/types/src/button/button.test.d.ts +3 -0
  458. package/types/src/{autocomplete → form/fields/autocomplete}/autocomplete.d.ts +6 -15
  459. package/types/src/form/fields/checkbox/checkbox.d.ts +47 -0
  460. package/types/src/{date-range → form/fields/date-range}/date-range.d.ts +22 -4
  461. package/types/src/form/fields/date-range/date-range.test.d.ts +1 -0
  462. package/types/src/form/fields/index.d.ts +9 -0
  463. package/types/src/{input → form/fields/input}/input.d.ts +20 -45
  464. package/types/src/form/fields/input/input.test.d.ts +1 -0
  465. package/types/src/{radio-group → form/fields/radio-group}/radio-button.d.ts +1 -1
  466. package/types/src/{radio-group → form/fields/radio-group}/radio-group.d.ts +1 -1
  467. package/types/src/form/fields/range/range.d.ts +28 -0
  468. package/types/src/form/fields/range/range.test.d.ts +1 -0
  469. package/types/src/{select → form/fields/select}/select.d.ts +23 -24
  470. package/types/src/form/fields/switch/switch.d.ts +57 -0
  471. package/types/src/{textarea → form/fields/textarea}/textarea.d.ts +6 -39
  472. package/types/src/form/fields/textarea/textarea.test.d.ts +1 -0
  473. package/types/src/form/form-state.d.ts +22 -0
  474. package/types/src/form/form-summary.d.ts +42 -0
  475. package/types/src/form/form-summary.test.d.ts +4 -0
  476. package/types/src/form/form.d.ts +79 -34
  477. package/types/src/form/form.test.d.ts +2 -2
  478. package/types/src/form/index.d.ts +3 -0
  479. package/types/src/index.d.ts +9 -9
  480. package/dist/active-host-CcIa2tmW.cjs +0 -1
  481. package/dist/active-host-CvNYoprt.js +0 -57
  482. package/dist/autocomplete-DWSuwSRS.js.map +0 -1
  483. package/dist/autocomplete-iCJOia-q.cjs +0 -115
  484. package/dist/autocomplete-iCJOia-q.cjs.map +0 -1
  485. package/dist/checkbox-NNReP9s_.cjs.map +0 -1
  486. package/dist/date-range-CaOxwZDq.cjs +0 -131
  487. package/dist/date-range-CaOxwZDq.cjs.map +0 -1
  488. package/dist/date-range-CgNujP8r.js.map +0 -1
  489. package/dist/date-range-inline-D4IjOOO0.cjs +0 -43
  490. package/dist/decorate-23nYs4Le.js +0 -7
  491. package/dist/decorate-DpFmy0nm.cjs +0 -1
  492. package/dist/float-CKmd-0-t.cjs +0 -1
  493. package/dist/form-CFvwnfuJ.js +0 -68
  494. package/dist/form-CFvwnfuJ.js.map +0 -1
  495. package/dist/form-Ceijw1aA.cjs +0 -1
  496. package/dist/form-Ceijw1aA.cjs.map +0 -1
  497. package/dist/input-D95GjINh.js.map +0 -1
  498. package/dist/input-D9s4jDAb.cjs +0 -51
  499. package/dist/input-D9s4jDAb.cjs.map +0 -1
  500. package/dist/mixins-BV0w2yIE.js +0 -627
  501. package/dist/mixins-BV0w2yIE.js.map +0 -1
  502. package/dist/mixins-DvAYa-F7.cjs +0 -298
  503. package/dist/mixins-DvAYa-F7.cjs.map +0 -1
  504. package/dist/notification-BC9nG8Sr.cjs +0 -23
  505. package/dist/radio-group-ByMD6Lsj.cjs +0 -40
  506. package/dist/radio-group-ByMD6Lsj.cjs.map +0 -1
  507. package/dist/radio-group-CW8airhZ.js.map +0 -1
  508. package/dist/select-BdBThja4.cjs +0 -56
  509. package/dist/select-BdBThja4.cjs.map +0 -1
  510. package/dist/select-Dbn-CImU.js.map +0 -1
  511. package/dist/state-DNdCPITt.cjs +0 -1
  512. package/dist/surface-BpppoNXN.cjs +0 -7
  513. package/dist/textarea-B9dy-yec.js +0 -211
  514. package/dist/textarea-B9dy-yec.js.map +0 -1
  515. package/dist/textarea-DFY0Flgv.cjs +0 -39
  516. package/dist/textarea-DFY0Flgv.cjs.map +0 -1
  517. package/dist/theme-CpuF3D3q.cjs +0 -181
  518. package/dist/theme-button-B6Xf-EiH.cjs +0 -8
  519. package/src/checkbox/checkbox.ts +0 -162
  520. package/types/src/checkbox/checkbox.d.ts +0 -71
  521. package/types/src/range/range.d.ts +0 -25
  522. package/types/src/switch/switch.d.ts +0 -53
  523. /package/dist/{animation-CO_Csq84.cjs → animation-CCOIW4wJ.cjs} +0 -0
  524. /package/dist/{animation-BK-8BwY8.js → animation-DCznELuT.js} +0 -0
  525. /package/dist/{context-DJTJnSK4.js → context-6oXCZmZN.js} +0 -0
  526. /package/dist/{context-BpCETidA.cjs → context-CRZeiCqq.cjs} +0 -0
  527. /package/dist/{hashContent-Bobsobip.cjs → hashContent-Ck6laKlk.cjs} +0 -0
  528. /package/dist/{hashContent-BU6jl5ih.js → hashContent-dJrI-9sc.js} +0 -0
  529. /package/dist/{lazy-Dq9mRRjT.cjs → lazy-CayEFyC3.cjs} +0 -0
  530. /package/dist/{lazy-B0ia54tT.js → lazy-D-bO2r4m.js} +0 -0
  531. /package/dist/{overlay-stack-DCDS17uj.js → overlay-stack-BR4iYivO.js} +0 -0
  532. /package/dist/{overlay-stack-DPIe_aYv.cjs → overlay-stack-Dk0xETTy.cjs} +0 -0
  533. /package/dist/{reduced-motion-D-L12p7G.js → reduced-motion-D7LqTUMn.js} +0 -0
  534. /package/dist/{reduced-motion-Ds-HjMzn.cjs → reduced-motion-Dzfp_w5x.cjs} +0 -0
  535. /package/dist/{rxjs-utils-DCUHg_Ml.cjs → rxjs-utils-BKB2UM_j.cjs} +0 -0
  536. /package/dist/{rxjs-utils-CVeJQ9KG.js → rxjs-utils-Dv9T9IpA.js} +0 -0
  537. /package/dist/{search-BLCRsxIC.cjs → search-DPKoC-dT.cjs} +0 -0
  538. /package/dist/{search-BTz7-Rev.js → search-MvIBA93K.js} +0 -0
  539. /package/dist/{theme.interface-B9TjbSBF.js → theme.interface-C2XNgsLB.js} +0 -0
  540. /package/dist/{theme.interface-BujperTo.cjs → theme.interface-D4NeufQA.cjs} +0 -0
  541. /package/src/{autocomplete → form/fields/autocomplete}/autocomplete.scss +0 -0
  542. /package/src/{autocomplete → form/fields/autocomplete}/index.ts +0 -0
  543. /package/src/{checkbox → form/fields/checkbox}/index.ts +0 -0
  544. /package/src/{date-range → form/fields/date-range}/date-range-dialog.ts +0 -0
  545. /package/src/{date-range → form/fields/date-range}/date-range-helpers.ts +0 -0
  546. /package/src/{date-range → form/fields/date-range}/date-range-presets.ts +0 -0
  547. /package/src/{date-range → form/fields/date-range}/date-utils.ts +0 -0
  548. /package/src/{date-range → form/fields/date-range}/index.ts +0 -0
  549. /package/src/{input → form/fields/input}/index.ts +0 -0
  550. /package/src/{input → form/fields/input}/input.scss +0 -0
  551. /package/src/{radio-group → form/fields/radio-group}/index.ts +0 -0
  552. /package/src/{radio-group → form/fields/radio-group}/radio-group.scss +0 -0
  553. /package/src/{range → form/fields/range}/index.ts +0 -0
  554. /package/src/{select → form/fields/select}/index.ts +0 -0
  555. /package/src/{switch → form/fields/switch}/index.ts +0 -0
  556. /package/src/{textarea → form/fields/textarea}/index.ts +0 -0
  557. /package/src/{textarea → form/fields/textarea}/textarea.scss +0 -0
  558. /package/types/src/{autocomplete → form/fields/autocomplete}/index.d.ts +0 -0
  559. /package/types/src/{checkbox → form/fields/checkbox}/checkbox.test.d.ts +0 -0
  560. /package/types/src/{checkbox → form/fields/checkbox}/index.d.ts +0 -0
  561. /package/types/src/{date-range → form/fields/date-range}/date-range-dialog.d.ts +0 -0
  562. /package/types/src/{date-range → form/fields/date-range}/date-range-helpers.d.ts +0 -0
  563. /package/types/src/{date-range → form/fields/date-range}/date-range-presets.d.ts +0 -0
  564. /package/types/src/{date-range → form/fields/date-range}/date-utils.d.ts +0 -0
  565. /package/types/src/{date-range → form/fields/date-range}/index.d.ts +0 -0
  566. /package/types/src/{input → form/fields/input}/index.d.ts +0 -0
  567. /package/types/src/{radio-group → form/fields/radio-group}/index.d.ts +0 -0
  568. /package/types/src/{range → form/fields/range}/index.d.ts +0 -0
  569. /package/types/src/{select → form/fields/select}/index.d.ts +0 -0
  570. /package/types/src/{switch → form/fields/switch}/index.d.ts +0 -0
  571. /package/types/src/{switch → form/fields/switch}/switch.test.d.ts +0 -0
  572. /package/types/src/{textarea → form/fields/textarea}/index.d.ts +0 -0
@@ -106,118 +106,6 @@
106
106
  }
107
107
  ]
108
108
  },
109
- {
110
- "kind": "javascript-module",
111
- "path": "autocomplete/autocomplete.ts",
112
- "declarations": [
113
- {
114
- "kind": "class",
115
- "name": "SchmancyAutocomplete",
116
- "tagName": "schmancy-autocomplete",
117
- "description": "Autocomplete input component with filtering and multi-select support.",
118
- "attributes": [
119
- {
120
- "name": "required",
121
- "type": {
122
- "text": "boolean"
123
- },
124
- "default": "false"
125
- },
126
- {
127
- "name": "placeholder",
128
- "type": {
129
- "text": "string"
130
- },
131
- "default": "''"
132
- },
133
- {
134
- "name": "label",
135
- "type": {
136
- "text": "string"
137
- },
138
- "default": "''"
139
- },
140
- {
141
- "name": "name",
142
- "type": {
143
- "text": "string"
144
- },
145
- "default": "''"
146
- },
147
- {
148
- "name": "maxHeight",
149
- "type": {
150
- "text": "string"
151
- },
152
- "default": "'300px'"
153
- },
154
- {
155
- "name": "multi",
156
- "type": {
157
- "text": "boolean"
158
- },
159
- "default": "false"
160
- },
161
- {
162
- "name": "description",
163
- "type": {
164
- "text": "string"
165
- },
166
- "default": "''"
167
- },
168
- {
169
- "name": "size",
170
- "type": {
171
- "text": "InputSize"
172
- },
173
- "values": [
174
- "xxs",
175
- "xs",
176
- "sm",
177
- "md",
178
- "lg"
179
- ],
180
- "default": "'md'"
181
- },
182
- {
183
- "name": "autocomplete",
184
- "type": {
185
- "text": "string"
186
- },
187
- "default": "'off'"
188
- },
189
- {
190
- "name": "debounceMs",
191
- "type": {
192
- "text": "number"
193
- },
194
- "default": "200"
195
- },
196
- {
197
- "name": "similarityThreshold",
198
- "type": {
199
- "text": "number"
200
- },
201
- "default": "0.3"
202
- },
203
- {
204
- "name": "error",
205
- "type": {
206
- "text": "boolean"
207
- },
208
- "default": "false"
209
- },
210
- {
211
- "name": "validationMessage",
212
- "type": {
213
- "text": "string"
214
- },
215
- "default": "''"
216
- }
217
- ]
218
- }
219
- ]
220
- },
221
109
  {
222
110
  "kind": "javascript-module",
223
111
  "path": "avatar/avatar.ts",
@@ -1009,86 +897,6 @@
1009
897
  }
1010
898
  ]
1011
899
  },
1012
- {
1013
- "kind": "javascript-module",
1014
- "path": "checkbox/checkbox.ts",
1015
- "declarations": [
1016
- {
1017
- "kind": "class",
1018
- "name": "SchmancyCheckboxElement",
1019
- "tagName": "schmancy-checkbox",
1020
- "attributes": [
1021
- {
1022
- "name": "value",
1023
- "type": {
1024
- "text": "boolean"
1025
- },
1026
- "default": "false"
1027
- },
1028
- {
1029
- "name": "disabled",
1030
- "type": {
1031
- "text": "boolean"
1032
- },
1033
- "default": "false"
1034
- },
1035
- {
1036
- "name": "required",
1037
- "type": {
1038
- "text": "boolean"
1039
- },
1040
- "default": "false"
1041
- },
1042
- {
1043
- "name": "name",
1044
- "type": {
1045
- "text": "string"
1046
- },
1047
- "default": "'checkbox-' + Math.random().toString(36)"
1048
- },
1049
- {
1050
- "name": "id",
1051
- "type": {
1052
- "text": "string"
1053
- },
1054
- "default": "'checkbox-' + Math.random().toString(36)"
1055
- },
1056
- {
1057
- "name": "label",
1058
- "type": {
1059
- "text": "string"
1060
- }
1061
- },
1062
- {
1063
- "name": "size",
1064
- "type": {
1065
- "text": "\"xxs\" | \"xs\" | \"sm\" | \"md\" | \"lg\""
1066
- },
1067
- "values": [
1068
- "xxs",
1069
- "xs",
1070
- "sm",
1071
- "md",
1072
- "lg"
1073
- ],
1074
- "default": "'md'"
1075
- }
1076
- ],
1077
- "events": [
1078
- {
1079
- "name": "valueChange",
1080
- "description": "Event fired when the checkbox value changes."
1081
- }
1082
- ],
1083
- "slots": [
1084
- {
1085
- "name": "",
1086
- "description": "The label for the checkbox."
1087
- }
1088
- ]
1089
- }
1090
- ]
1091
- },
1092
900
  {
1093
901
  "kind": "javascript-module",
1094
902
  "path": "chips/assist-chip.ts",
@@ -1496,13 +1304,13 @@
1496
1304
  },
1497
1305
  {
1498
1306
  "kind": "javascript-module",
1499
- "path": "date-range/date-range-dialog.ts",
1307
+ "path": "date-range-inline/date-range-inline.ts",
1500
1308
  "declarations": [
1501
1309
  {
1502
1310
  "kind": "class",
1503
- "name": "SchmancyDateRangeDialog",
1504
- "tagName": "schmancy-date-range-dialog",
1505
- "description": "Dialog content component for date range selection Redesigned with chip-based horizontal flow layout: - Quick Select: Today, Yesterday, This Week, This Month - Days: Last 7/14/30/60/90 Days - Periods: Last Week, Last Month, Last Quarter, Last Year - Year to Date: This Week, This Month, This Quarter, This Year, YTD - Custom Range: Manual date inputs at the bottom",
1311
+ "name": "SchmancyDateRangeInline",
1312
+ "tagName": "schmancy-date-range-inline",
1313
+ "description": "Smart inline date range picker that handles all the heavy lifting.\r Auto-corrects invalid ranges, provides smart defaults, and validates dates.",
1506
1314
  "attributes": [
1507
1315
  {
1508
1316
  "name": "type",
@@ -1513,249 +1321,72 @@
1513
1321
  "date",
1514
1322
  "datetime-local"
1515
1323
  ],
1516
- "default": "'date'"
1324
+ "default": "'date'",
1325
+ "description": "Input type - 'date' or 'datetime-local'"
1517
1326
  },
1518
1327
  {
1519
1328
  "name": "dateFrom",
1520
1329
  "type": {
1521
1330
  "text": "{ label: string; value: string; }"
1522
1331
  },
1523
- "default": "{ label: 'From', value: '' }"
1332
+ "default": "{ label: 'From', value: '' }",
1333
+ "description": "From date configuration"
1524
1334
  },
1525
1335
  {
1526
1336
  "name": "dateTo",
1527
1337
  "type": {
1528
1338
  "text": "{ label: string; value: string; }"
1529
1339
  },
1530
- "default": "{ label: 'To', value: '' }"
1340
+ "default": "{ label: 'To', value: '' }",
1341
+ "description": "To date configuration"
1531
1342
  },
1532
1343
  {
1533
1344
  "name": "minDate",
1534
1345
  "type": {
1535
1346
  "text": "string"
1536
- }
1347
+ },
1348
+ "description": "Minimum allowed date"
1537
1349
  },
1538
1350
  {
1539
1351
  "name": "maxDate",
1540
1352
  "type": {
1541
1353
  "text": "string"
1542
- }
1354
+ },
1355
+ "description": "Maximum allowed date"
1543
1356
  },
1544
1357
  {
1545
- "name": "activePreset",
1358
+ "name": "compact",
1546
1359
  "type": {
1547
- "text": "string"
1360
+ "text": "boolean"
1548
1361
  },
1549
- "default": "null"
1362
+ "default": "false",
1363
+ "description": "Compact mode for smaller UI"
1550
1364
  },
1551
1365
  {
1552
- "name": "presetCategories",
1366
+ "name": "autoCorrect",
1553
1367
  "type": {
1554
- "text": "PresetCategory[]"
1368
+ "text": "boolean"
1555
1369
  },
1556
- "default": "[]"
1557
- }
1558
- ]
1559
- }
1560
- ]
1561
- },
1562
- {
1563
- "kind": "javascript-module",
1564
- "path": "date-range/date-range.ts",
1565
- "declarations": [
1566
- {
1567
- "kind": "class",
1568
- "name": "SchmancyDateRange",
1569
- "tagName": "schmancy-date-range",
1570
- "description": "A date range selector that supports presets and manual date input.",
1571
- "attributes": [
1370
+ "default": "true",
1371
+ "description": "Auto-correct invalid date ranges"
1372
+ },
1572
1373
  {
1573
- "name": "type",
1374
+ "name": "minGap",
1574
1375
  "type": {
1575
- "text": "\"date\" | \"datetime-local\""
1376
+ "text": "number"
1576
1377
  },
1577
- "values": [
1578
- "date",
1579
- "datetime-local"
1580
- ],
1581
- "default": "'date'"
1378
+ "default": "0",
1379
+ "description": "Minimum gap between dates (in days)"
1582
1380
  },
1583
1381
  {
1584
- "name": "dateFrom",
1382
+ "name": "maxGap",
1585
1383
  "type": {
1586
- "text": "{ label: string; value: string; }"
1384
+ "text": "number"
1587
1385
  },
1588
- "default": "{ label: 'From', value: '' }"
1386
+ "description": "Maximum gap between dates (in days)"
1589
1387
  },
1590
1388
  {
1591
- "name": "dateTo",
1592
- "type": {
1593
- "text": "{ label: string; value: string; }"
1594
- },
1595
- "default": "{ label: 'To', value: '' }"
1596
- },
1597
- {
1598
- "name": "minDate",
1599
- "type": {
1600
- "text": "string"
1601
- }
1602
- },
1603
- {
1604
- "name": "maxDate",
1605
- "type": {
1606
- "text": "string"
1607
- }
1608
- },
1609
- {
1610
- "name": "customPresets",
1611
- "type": {
1612
- "text": "{ label: string; dateFrom: string; dateTo: string; }[]"
1613
- },
1614
- "default": "[]"
1615
- },
1616
- {
1617
- "name": "format",
1618
- "type": {
1619
- "text": "string"
1620
- }
1621
- },
1622
- {
1623
- "name": "disabled",
1624
- "type": {
1625
- "text": "boolean"
1626
- },
1627
- "default": "false"
1628
- },
1629
- {
1630
- "name": "required",
1631
- "type": {
1632
- "text": "boolean"
1633
- },
1634
- "default": "false"
1635
- },
1636
- {
1637
- "name": "placeholder",
1638
- "type": {
1639
- "text": "string"
1640
- },
1641
- "default": "'Select date range'"
1642
- },
1643
- {
1644
- "name": "clearable",
1645
- "type": {
1646
- "text": "boolean"
1647
- },
1648
- "default": "true"
1649
- },
1650
- {
1651
- "name": "step",
1652
- "type": {
1653
- "text": "number | \"day\" | \"week\" | \"month\" | \"year\""
1654
- }
1655
- },
1656
- {
1657
- "name": "collapse",
1658
- "type": {
1659
- "text": "boolean"
1660
- },
1661
- "default": "false",
1662
- "description": "When true, collapses to just an icon button on mobile screens"
1663
- }
1664
- ],
1665
- "events": [
1666
- {
1667
- "name": "change",
1668
- "description": "Fired when the date range changes with dateFrom and dateTo values"
1669
- }
1670
- ]
1671
- }
1672
- ]
1673
- },
1674
- {
1675
- "kind": "javascript-module",
1676
- "path": "date-range-inline/date-range-inline.ts",
1677
- "declarations": [
1678
- {
1679
- "kind": "class",
1680
- "name": "SchmancyDateRangeInline",
1681
- "tagName": "schmancy-date-range-inline",
1682
- "description": "Smart inline date range picker that handles all the heavy lifting.\r Auto-corrects invalid ranges, provides smart defaults, and validates dates.",
1683
- "attributes": [
1684
- {
1685
- "name": "type",
1686
- "type": {
1687
- "text": "\"date\" | \"datetime-local\""
1688
- },
1689
- "values": [
1690
- "date",
1691
- "datetime-local"
1692
- ],
1693
- "default": "'date'",
1694
- "description": "Input type - 'date' or 'datetime-local'"
1695
- },
1696
- {
1697
- "name": "dateFrom",
1698
- "type": {
1699
- "text": "{ label: string; value: string; }"
1700
- },
1701
- "default": "{ label: 'From', value: '' }",
1702
- "description": "From date configuration"
1703
- },
1704
- {
1705
- "name": "dateTo",
1706
- "type": {
1707
- "text": "{ label: string; value: string; }"
1708
- },
1709
- "default": "{ label: 'To', value: '' }",
1710
- "description": "To date configuration"
1711
- },
1712
- {
1713
- "name": "minDate",
1714
- "type": {
1715
- "text": "string"
1716
- },
1717
- "description": "Minimum allowed date"
1718
- },
1719
- {
1720
- "name": "maxDate",
1721
- "type": {
1722
- "text": "string"
1723
- },
1724
- "description": "Maximum allowed date"
1725
- },
1726
- {
1727
- "name": "compact",
1728
- "type": {
1729
- "text": "boolean"
1730
- },
1731
- "default": "false",
1732
- "description": "Compact mode for smaller UI"
1733
- },
1734
- {
1735
- "name": "autoCorrect",
1736
- "type": {
1737
- "text": "boolean"
1738
- },
1739
- "default": "true",
1740
- "description": "Auto-correct invalid date ranges"
1741
- },
1742
- {
1743
- "name": "minGap",
1744
- "type": {
1745
- "text": "number"
1746
- },
1747
- "default": "0",
1748
- "description": "Minimum gap between dates (in days)"
1749
- },
1750
- {
1751
- "name": "maxGap",
1752
- "type": {
1753
- "text": "number"
1754
- },
1755
- "description": "Maximum gap between dates (in days)"
1756
- },
1757
- {
1758
- "name": "defaultGap",
1389
+ "name": "defaultGap",
1759
1390
  "type": {
1760
1391
  "text": "number"
1761
1392
  },
@@ -2185,6 +1816,26 @@
2185
1816
  }
2186
1817
  ]
2187
1818
  },
1819
+ {
1820
+ "kind": "javascript-module",
1821
+ "path": "form/form-summary.ts",
1822
+ "declarations": [
1823
+ {
1824
+ "kind": "class",
1825
+ "name": "SchmancyFormSummary",
1826
+ "tagName": "schmancy-form-summary",
1827
+ "attributes": [
1828
+ {
1829
+ "name": "heading",
1830
+ "type": {
1831
+ "text": "string"
1832
+ },
1833
+ "description": "Optional heading text. Defaults to a count-based summary (\"1 problem with this form\" / \"3 problems with this form\")."
1834
+ }
1835
+ ]
1836
+ }
1837
+ ]
1838
+ },
2188
1839
  {
2189
1840
  "kind": "javascript-module",
2190
1841
  "path": "form/form.ts",
@@ -2193,15 +1844,14 @@
2193
1844
  "kind": "class",
2194
1845
  "name": "SchmancyForm",
2195
1846
  "tagName": "schmancy-form",
2196
- "description": "A thin ergonomic wrapper around a native `<form>` element. Its children are reparented into a `<form>` element in light DOM on connection, so: - Form-associated custom elements (FACE) resolve their `internals.form` correctly via native DOM ancestry. - `new FormData(form)` collects values from every FACE + native control without any manual walking. - `form.reset()` triggers `formResetCallback()` on every FACE. - `form.reportValidity()` runs native validation UI. - `<button type=\"submit\">` and `<schmancy-button type=\"submit\">` both submit the form via the native submitter pipeline. This component exists only to translate the native `submit` / `reset` events into the Schmancy event shape (`detail: FormData`). All heavy lifting is the platform's.",
2197
- "events": [
2198
- {
2199
- "name": "submit",
2200
- "description": "`CustomEvent<FormData>` emitted when the form is submitted."
2201
- },
1847
+ "attributes": [
2202
1848
  {
2203
- "name": "reset",
2204
- "description": "Emitted after the underlying form resets."
1849
+ "name": "novalidate",
1850
+ "type": {
1851
+ "text": "boolean"
1852
+ },
1853
+ "default": "true",
1854
+ "description": "Skip built-in browser constraint validation. Mirrors `<form novalidate>`."
2205
1855
  }
2206
1856
  ]
2207
1857
  }
@@ -2377,239 +2027,52 @@
2377
2027
  },
2378
2028
  {
2379
2029
  "kind": "javascript-module",
2380
- "path": "input/input.ts",
2030
+ "path": "json/json.ts",
2381
2031
  "declarations": [
2382
2032
  {
2383
2033
  "kind": "class",
2384
- "name": "SchmancyInput",
2385
- "tagName": "schmancy-input",
2386
- "description": "Enhanced version of the SchmancyInput component with improved form integration and compatibility with legacy API. This component uses the native form association API and maintains parity with native input behaviors while providing a stylish, accessible interface.",
2034
+ "name": "SchmancyJson",
2035
+ "tagName": "schmancy-json",
2387
2036
  "attributes": [
2388
2037
  {
2389
- "name": "value",
2390
- "type": {
2391
- "text": "string"
2392
- },
2393
- "default": "''",
2394
- "description": "Override value to be string only for input element"
2395
- },
2396
- {
2397
- "name": "type",
2398
- "type": {
2399
- "text": "string"
2400
- },
2401
- "default": "'text'",
2402
- "description": "The type of input. (e.g. 'text', 'password', 'email', etc.)"
2403
- },
2404
- {
2405
- "name": "placeholder",
2038
+ "name": "data",
2406
2039
  "type": {
2407
- "text": "string"
2040
+ "text": "Record<string, any>"
2408
2041
  },
2409
- "default": "''"
2042
+ "default": "{}"
2410
2043
  },
2411
2044
  {
2412
- "name": "pattern",
2045
+ "name": "highlightKeys",
2413
2046
  "type": {
2414
- "text": "string"
2047
+ "text": "string[]"
2415
2048
  },
2416
- "description": "Pattern validation attribute."
2049
+ "default": "[]"
2417
2050
  },
2418
2051
  {
2419
- "name": "clickable",
2052
+ "name": "compact",
2420
2053
  "type": {
2421
2054
  "text": "boolean"
2422
2055
  },
2423
- "default": "false",
2424
- "description": "If true, we visually show a pointer cursor even if readOnly."
2425
- },
2056
+ "default": "false"
2057
+ }
2058
+ ]
2059
+ }
2060
+ ]
2061
+ },
2062
+ {
2063
+ "kind": "javascript-module",
2064
+ "path": "kbd/kbd.ts",
2065
+ "declarations": [
2066
+ {
2067
+ "kind": "class",
2068
+ "name": "SchmancyKbd",
2069
+ "tagName": "schmancy-kbd",
2070
+ "description": "Renders a keyboard shortcut hint (e.g. `⌘ K`, `Ctrl+C`). Semantically a `<kbd>` element for screen readers; visually styled as a pressed key. Compose multiple instances for combinations: ```html <schmancy-kbd>⌘</schmancy-kbd> + <schmancy-kbd>K</schmancy-kbd> ```",
2071
+ "attributes": [
2426
2072
  {
2427
- "name": "spellcheck",
2073
+ "name": "size",
2428
2074
  "type": {
2429
- "text": "boolean"
2430
- },
2431
- "default": "false",
2432
- "description": "Whether browser spellcheck is enabled."
2433
- },
2434
- {
2435
- "name": "align",
2436
- "type": {
2437
- "text": "\"center\" | \"right\" | \"left\""
2438
- },
2439
- "values": [
2440
- "center",
2441
- "right",
2442
- "left"
2443
- ],
2444
- "default": "'left'",
2445
- "description": "Text alignment within the input. - 'left' | 'center' | 'right'"
2446
- },
2447
- {
2448
- "name": "inputmode",
2449
- "type": {
2450
- "text": "\"none\" | \"text\" | \"decimal\" | \"numeric\" | \"tel\" | \"search\" | \"email\" | \"url\""
2451
- },
2452
- "values": [
2453
- "none",
2454
- "text",
2455
- "decimal",
2456
- "numeric",
2457
- "tel",
2458
- "search",
2459
- "email",
2460
- "url"
2461
- ],
2462
- "description": "inputmode attribute (affects on-screen keyboards in mobile)."
2463
- },
2464
- {
2465
- "name": "minlength",
2466
- "type": {
2467
- "text": "number"
2468
- }
2469
- },
2470
- {
2471
- "name": "maxlength",
2472
- "type": {
2473
- "text": "number"
2474
- }
2475
- },
2476
- {
2477
- "name": "min",
2478
- "type": {
2479
- "text": "string"
2480
- }
2481
- },
2482
- {
2483
- "name": "max",
2484
- "type": {
2485
- "text": "string"
2486
- }
2487
- },
2488
- {
2489
- "name": "step",
2490
- "type": {
2491
- "text": "string"
2492
- },
2493
- "default": "'any'"
2494
- },
2495
- {
2496
- "name": "autofocus",
2497
- "type": {
2498
- "text": "boolean"
2499
- },
2500
- "default": "false",
2501
- "description": "If true, auto-focus this input on first render."
2502
- },
2503
- {
2504
- "name": "autocomplete",
2505
- "type": {
2506
- "text": "AutoFill"
2507
- },
2508
- "default": "'on'",
2509
- "description": "Autocomplete/autofill hints."
2510
- },
2511
- {
2512
- "name": "tabIndex",
2513
- "type": {
2514
- "text": "number"
2515
- },
2516
- "default": "0",
2517
- "description": "tabIndex for focusing by tab key. Typically 0 or -1."
2518
- },
2519
- {
2520
- "name": "size",
2521
- "type": {
2522
- "text": "InputSize"
2523
- },
2524
- "values": [
2525
- "xxs",
2526
- "xs",
2527
- "sm",
2528
- "md",
2529
- "lg"
2530
- ],
2531
- "default": "'md'",
2532
- "description": "The size of the input. - 'xxs': Ultra-compact size (24px) - for menu cards - 'xs': Extra small, very compact size (32px) - 'sm': Small, compact size (40px) - 'md': Medium size (default) (48px) - 'lg': Large size (56px)"
2533
- },
2534
- {
2535
- "name": "validateOn",
2536
- "type": {
2537
- "text": "\"always\" | \"touched\" | \"dirty\" | \"submitted\""
2538
- },
2539
- "values": [
2540
- "always",
2541
- "touched",
2542
- "dirty",
2543
- "submitted"
2544
- ],
2545
- "default": "'touched'",
2546
- "description": "Controls when validation should show. - 'always' - Always show validation - 'touched' - Only show after field has been focused and then blurred - 'dirty' - Only show after value has changed - 'submitted' - Only show after form submission"
2547
- },
2548
- {
2549
- "name": "list",
2550
- "type": {
2551
- "text": "string"
2552
- },
2553
- "description": "For datalist support"
2554
- }
2555
- ]
2556
- },
2557
- {
2558
- "kind": "class",
2559
- "name": "SchmancyInputCompat",
2560
- "tagName": "sch-input",
2561
- "description": "Register the component with the legacy tag name for backward compatibility"
2562
- }
2563
- ]
2564
- },
2565
- {
2566
- "kind": "javascript-module",
2567
- "path": "json/json.ts",
2568
- "declarations": [
2569
- {
2570
- "kind": "class",
2571
- "name": "SchmancyJson",
2572
- "tagName": "schmancy-json",
2573
- "attributes": [
2574
- {
2575
- "name": "data",
2576
- "type": {
2577
- "text": "Record<string, any>"
2578
- },
2579
- "default": "{}"
2580
- },
2581
- {
2582
- "name": "highlightKeys",
2583
- "type": {
2584
- "text": "string[]"
2585
- },
2586
- "default": "[]"
2587
- },
2588
- {
2589
- "name": "compact",
2590
- "type": {
2591
- "text": "boolean"
2592
- },
2593
- "default": "false"
2594
- }
2595
- ]
2596
- }
2597
- ]
2598
- },
2599
- {
2600
- "kind": "javascript-module",
2601
- "path": "kbd/kbd.ts",
2602
- "declarations": [
2603
- {
2604
- "kind": "class",
2605
- "name": "SchmancyKbd",
2606
- "tagName": "schmancy-kbd",
2607
- "description": "Renders a keyboard shortcut hint (e.g. `⌘ K`, `Ctrl+C`). Semantically a `<kbd>` element for screen readers; visually styled as a pressed key. Compose multiple instances for combinations: ```html <schmancy-kbd>⌘</schmancy-kbd> + <schmancy-kbd>K</schmancy-kbd> ```",
2608
- "attributes": [
2609
- {
2610
- "name": "size",
2611
- "type": {
2612
- "text": "\"sm\" | \"md\""
2075
+ "text": "\"sm\" | \"md\""
2613
2076
  },
2614
2077
  "values": [
2615
2078
  "sm",
@@ -3669,18 +3132,18 @@
3669
3132
  {
3670
3133
  "name": "input-type",
3671
3134
  "type": {
3672
- "text": "\"number\" | \"text\" | \"date\" | \"datetime-local\" | \"tel\" | \"search\" | \"email\" | \"url\" | \"password\" | \"time\""
3135
+ "text": "\"number\" | \"text\" | \"date\" | \"datetime-local\" | \"email\" | \"password\" | \"tel\" | \"url\" | \"search\" | \"time\""
3673
3136
  },
3674
3137
  "values": [
3675
3138
  "number",
3676
3139
  "text",
3677
3140
  "date",
3678
3141
  "datetime-local",
3679
- "tel",
3680
- "search",
3681
3142
  "email",
3682
- "url",
3683
3143
  "password",
3144
+ "tel",
3145
+ "url",
3146
+ "search",
3684
3147
  "time"
3685
3148
  ],
3686
3149
  "default": "'text'"
@@ -3811,351 +3274,105 @@
3811
3274
  },
3812
3275
  {
3813
3276
  "kind": "javascript-module",
3814
- "path": "radio-group/radio-button.ts",
3277
+ "path": "skeleton/skeleton.ts",
3815
3278
  "declarations": [
3816
3279
  {
3817
3280
  "kind": "class",
3818
- "name": "RadioButton",
3819
- "tagName": "schmancy-radio-button",
3820
- "description": "Radio button component for use within radio groups.",
3281
+ "name": "SchmancySkeleton",
3282
+ "tagName": "schmancy-skeleton",
3283
+ "description": "Placeholder shimmer surface shown while content loads. Renders a shape-configurable rectangle with a reduced-motion-aware shimmer.",
3821
3284
  "attributes": [
3822
3285
  {
3823
- "name": "value",
3286
+ "name": "shape",
3824
3287
  "type": {
3825
- "text": "string"
3288
+ "text": "\"circle\" | \"text\" | \"rect\""
3826
3289
  },
3827
- "default": "''"
3290
+ "values": [
3291
+ "circle",
3292
+ "text",
3293
+ "rect"
3294
+ ],
3295
+ "default": "'rect'"
3828
3296
  },
3829
3297
  {
3830
- "name": "checked",
3298
+ "name": "width",
3831
3299
  "type": {
3832
- "text": "boolean"
3300
+ "text": "string"
3833
3301
  },
3834
- "default": "false"
3302
+ "default": "''"
3835
3303
  },
3836
3304
  {
3837
- "name": "disabled",
3305
+ "name": "height",
3838
3306
  "type": {
3839
- "text": "boolean"
3307
+ "text": "string"
3840
3308
  },
3841
- "default": "false"
3309
+ "default": "''"
3842
3310
  },
3843
3311
  {
3844
- "name": "name",
3312
+ "name": "radius",
3845
3313
  "type": {
3846
3314
  "text": "string"
3847
3315
  },
3848
3316
  "default": "''"
3849
3317
  }
3318
+ ],
3319
+ "cssParts": [
3320
+ {
3321
+ "name": "surface",
3322
+ "description": "The shimmering surface element."
3323
+ }
3850
3324
  ]
3851
3325
  }
3852
3326
  ]
3853
3327
  },
3854
3328
  {
3855
3329
  "kind": "javascript-module",
3856
- "path": "radio-group/radio-group.ts",
3330
+ "path": "slider/slide.ts",
3857
3331
  "declarations": [
3858
3332
  {
3859
3333
  "kind": "class",
3860
- "name": "RadioGroup",
3861
- "tagName": "schmancy-radio-group",
3334
+ "name": "SchmancySlide",
3335
+ "tagName": "schmancy-slide",
3862
3336
  "attributes": [
3863
3337
  {
3864
- "name": "label",
3338
+ "name": "type",
3865
3339
  "type": {
3866
- "text": "string"
3340
+ "text": "SlideType"
3867
3341
  },
3868
- "default": "''"
3342
+ "values": [
3343
+ "image",
3344
+ "video",
3345
+ "content"
3346
+ ],
3347
+ "default": "'content'",
3348
+ "description": "Determines how this slide should be rendered. Defaults to 'content' if not provided."
3869
3349
  },
3870
3350
  {
3871
- "name": "name",
3351
+ "name": "src",
3872
3352
  "type": {
3873
3353
  "text": "string"
3874
3354
  },
3875
- "default": "''"
3355
+ "default": "''",
3356
+ "description": "Source for images or videos (if `type` is 'image' or 'video')."
3876
3357
  },
3877
3358
  {
3878
- "name": "value",
3359
+ "name": "alt",
3879
3360
  "type": {
3880
3361
  "text": "string"
3881
3362
  },
3882
- "default": "''"
3363
+ "default": "''",
3364
+ "description": "Alternate text for images."
3883
3365
  },
3884
3366
  {
3885
- "name": "options",
3367
+ "name": "controls",
3886
3368
  "type": {
3887
- "text": "SchmancyRadioGroupOption[]"
3369
+ "text": "boolean"
3888
3370
  },
3889
- "default": "[]"
3371
+ "default": "true",
3372
+ "description": "Whether to show default video controls (if `type` is 'video')."
3890
3373
  },
3891
3374
  {
3892
- "name": "required",
3893
- "type": {
3894
- "text": "boolean"
3895
- },
3896
- "default": "false"
3897
- }
3898
- ]
3899
- }
3900
- ]
3901
- },
3902
- {
3903
- "kind": "javascript-module",
3904
- "path": "range/range.ts",
3905
- "declarations": [
3906
- {
3907
- "kind": "class",
3908
- "name": "SchmancyRange",
3909
- "tagName": "schmancy-range",
3910
- "attributes": [
3911
- {
3912
- "name": "min",
3913
- "type": {
3914
- "text": "number"
3915
- },
3916
- "default": "0"
3917
- },
3918
- {
3919
- "name": "max",
3920
- "type": {
3921
- "text": "number"
3922
- },
3923
- "default": "1"
3924
- },
3925
- {
3926
- "name": "step",
3927
- "type": {
3928
- "text": "number"
3929
- },
3930
- "default": "0.01"
3931
- },
3932
- {
3933
- "name": "value",
3934
- "type": {
3935
- "text": "number"
3936
- },
3937
- "default": "0"
3938
- },
3939
- {
3940
- "name": "label",
3941
- "type": {
3942
- "text": "string"
3943
- }
3944
- },
3945
- {
3946
- "name": "disabled",
3947
- "type": {
3948
- "text": "boolean"
3949
- },
3950
- "default": "false"
3951
- }
3952
- ],
3953
- "events": [
3954
- {
3955
- "name": "change",
3956
- "description": "Fires on value change with { value: number }"
3957
- }
3958
- ]
3959
- }
3960
- ]
3961
- },
3962
- {
3963
- "kind": "javascript-module",
3964
- "path": "select/select.ts",
3965
- "declarations": [
3966
- {
3967
- "kind": "class",
3968
- "name": "SchmancySelect",
3969
- "tagName": "schmancy-select",
3970
- "description": "Select dropdown component with single and multi-select support.",
3971
- "attributes": [
3972
- {
3973
- "name": "name",
3974
- "type": {
3975
- "text": "string"
3976
- }
3977
- },
3978
- {
3979
- "name": "required",
3980
- "type": {
3981
- "text": "boolean"
3982
- },
3983
- "default": "false"
3984
- },
3985
- {
3986
- "name": "disabled",
3987
- "type": {
3988
- "text": "boolean"
3989
- },
3990
- "default": "false"
3991
- },
3992
- {
3993
- "name": "placeholder",
3994
- "type": {
3995
- "text": "string"
3996
- },
3997
- "default": "''"
3998
- },
3999
- {
4000
- "name": "multi",
4001
- "type": {
4002
- "text": "boolean"
4003
- },
4004
- "default": "false"
4005
- },
4006
- {
4007
- "name": "label",
4008
- "type": {
4009
- "text": "string"
4010
- },
4011
- "default": "''"
4012
- },
4013
- {
4014
- "name": "hint",
4015
- "type": {
4016
- "text": "string"
4017
- },
4018
- "default": "''"
4019
- },
4020
- {
4021
- "name": "validateOn",
4022
- "type": {
4023
- "text": "\"always\" | \"touched\" | \"dirty\" | \"submitted\""
4024
- },
4025
- "values": [
4026
- "always",
4027
- "touched",
4028
- "dirty",
4029
- "submitted"
4030
- ],
4031
- "default": "'touched'"
4032
- },
4033
- {
4034
- "name": "size",
4035
- "type": {
4036
- "text": "\"xxs\" | \"xs\" | \"sm\" | \"md\" | \"lg\""
4037
- },
4038
- "values": [
4039
- "xxs",
4040
- "xs",
4041
- "sm",
4042
- "md",
4043
- "lg"
4044
- ],
4045
- "default": "'md'"
4046
- },
4047
- {
4048
- "name": "validationMessage",
4049
- "type": {
4050
- "text": "string"
4051
- },
4052
- "default": "''"
4053
- }
4054
- ]
4055
- }
4056
- ]
4057
- },
4058
- {
4059
- "kind": "javascript-module",
4060
- "path": "skeleton/skeleton.ts",
4061
- "declarations": [
4062
- {
4063
- "kind": "class",
4064
- "name": "SchmancySkeleton",
4065
- "tagName": "schmancy-skeleton",
4066
- "description": "Placeholder shimmer surface shown while content loads. Renders a shape-configurable rectangle with a reduced-motion-aware shimmer.",
4067
- "attributes": [
4068
- {
4069
- "name": "shape",
4070
- "type": {
4071
- "text": "\"circle\" | \"text\" | \"rect\""
4072
- },
4073
- "values": [
4074
- "circle",
4075
- "text",
4076
- "rect"
4077
- ],
4078
- "default": "'rect'"
4079
- },
4080
- {
4081
- "name": "width",
4082
- "type": {
4083
- "text": "string"
4084
- },
4085
- "default": "''"
4086
- },
4087
- {
4088
- "name": "height",
4089
- "type": {
4090
- "text": "string"
4091
- },
4092
- "default": "''"
4093
- },
4094
- {
4095
- "name": "radius",
4096
- "type": {
4097
- "text": "string"
4098
- },
4099
- "default": "''"
4100
- }
4101
- ],
4102
- "cssParts": [
4103
- {
4104
- "name": "surface",
4105
- "description": "The shimmering surface element."
4106
- }
4107
- ]
4108
- }
4109
- ]
4110
- },
4111
- {
4112
- "kind": "javascript-module",
4113
- "path": "slider/slide.ts",
4114
- "declarations": [
4115
- {
4116
- "kind": "class",
4117
- "name": "SchmancySlide",
4118
- "tagName": "schmancy-slide",
4119
- "attributes": [
4120
- {
4121
- "name": "type",
4122
- "type": {
4123
- "text": "SlideType"
4124
- },
4125
- "values": [
4126
- "image",
4127
- "video",
4128
- "content"
4129
- ],
4130
- "default": "'content'",
4131
- "description": "Determines how this slide should be rendered. Defaults to 'content' if not provided."
4132
- },
4133
- {
4134
- "name": "src",
4135
- "type": {
4136
- "text": "string"
4137
- },
4138
- "default": "''",
4139
- "description": "Source for images or videos (if `type` is 'image' or 'video')."
4140
- },
4141
- {
4142
- "name": "alt",
4143
- "type": {
4144
- "text": "string"
4145
- },
4146
- "default": "''",
4147
- "description": "Alternate text for images."
4148
- },
4149
- {
4150
- "name": "controls",
4151
- "type": {
4152
- "text": "boolean"
4153
- },
4154
- "default": "true",
4155
- "description": "Whether to show default video controls (if `type` is 'video')."
4156
- },
4157
- {
4158
- "name": "autoplay",
3375
+ "name": "autoplay",
4159
3376
  "type": {
4160
3377
  "text": "boolean"
4161
3378
  },
@@ -4421,89 +3638,17 @@
4421
3638
  },
4422
3639
  {
4423
3640
  "kind": "javascript-module",
4424
- "path": "switch/switch.ts",
3641
+ "path": "table/row.ts",
4425
3642
  "declarations": [
4426
3643
  {
4427
3644
  "kind": "class",
4428
- "name": "SchmancySwitch",
4429
- "tagName": "schmancy-switch",
4430
- "description": "Binary on/off control. Form-associated, keyboard-accessible, semantically a switch (ARIA role=\"switch\"). Distinct from `schmancy-checkbox`: a switch represents an immediate state change, a checkbox represents a selection in a form to be submitted.",
3645
+ "name": "SchmancyTableRow",
3646
+ "tagName": "schmancy-table-row",
4431
3647
  "attributes": [
4432
3648
  {
4433
- "name": "checked",
3649
+ "name": "cols",
4434
3650
  "type": {
4435
- "text": "boolean"
4436
- },
4437
- "default": "false"
4438
- },
4439
- {
4440
- "name": "disabled",
4441
- "type": {
4442
- "text": "boolean"
4443
- },
4444
- "default": "false"
4445
- },
4446
- {
4447
- "name": "required",
4448
- "type": {
4449
- "text": "boolean"
4450
- },
4451
- "default": "false"
4452
- },
4453
- {
4454
- "name": "name",
4455
- "type": {
4456
- "text": "string"
4457
- },
4458
- "default": "''"
4459
- },
4460
- {
4461
- "name": "value",
4462
- "type": {
4463
- "text": "string"
4464
- },
4465
- "default": "'on'"
4466
- },
4467
- {
4468
- "name": "label",
4469
- "type": {
4470
- "text": "string"
4471
- },
4472
- "default": "''"
4473
- }
4474
- ],
4475
- "events": [
4476
- {
4477
- "name": "change",
4478
- "description": "`CustomEvent<{ value: boolean }>` when the state changes."
4479
- }
4480
- ],
4481
- "cssParts": [
4482
- {
4483
- "name": "track",
4484
- "description": "The background track."
4485
- },
4486
- {
4487
- "name": "thumb",
4488
- "description": "The moving thumb."
4489
- }
4490
- ]
4491
- }
4492
- ]
4493
- },
4494
- {
4495
- "kind": "javascript-module",
4496
- "path": "table/row.ts",
4497
- "declarations": [
4498
- {
4499
- "kind": "class",
4500
- "name": "SchmancyTableRow",
4501
- "tagName": "schmancy-table-row",
4502
- "attributes": [
4503
- {
4504
- "name": "cols",
4505
- "type": {
4506
- "text": "string"
3651
+ "text": "string"
4507
3652
  },
4508
3653
  "default": "this.columns.map(() => '1fr').join(' ')"
4509
3654
  }
@@ -4671,197 +3816,6 @@
4671
3816
  }
4672
3817
  ]
4673
3818
  },
4674
- {
4675
- "kind": "javascript-module",
4676
- "path": "textarea/textarea.ts",
4677
- "declarations": [
4678
- {
4679
- "kind": "class",
4680
- "name": "SchmancyTextarea",
4681
- "tagName": "schmancy-textarea",
4682
- "description": "Textarea component with auto-resize and form integration.",
4683
- "attributes": [
4684
- {
4685
- "name": "label",
4686
- "type": {
4687
- "text": "string"
4688
- },
4689
- "default": "''",
4690
- "description": "The label of the control."
4691
- },
4692
- {
4693
- "name": "name",
4694
- "type": {
4695
- "text": "string"
4696
- },
4697
- "default": "'name_' + Date.now()",
4698
- "description": "The name of the control."
4699
- },
4700
- {
4701
- "name": "placeholder",
4702
- "type": {
4703
- "text": "string"
4704
- },
4705
- "default": "''",
4706
- "description": "The placeholder of the control."
4707
- },
4708
- {
4709
- "name": "value",
4710
- "type": {
4711
- "text": "string"
4712
- },
4713
- "default": "''",
4714
- "description": "The value of the control."
4715
- },
4716
- {
4717
- "name": "minlength",
4718
- "type": {
4719
- "text": "number"
4720
- },
4721
- "description": "The minlength attribute of the control."
4722
- },
4723
- {
4724
- "name": "maxlength",
4725
- "type": {
4726
- "text": "number"
4727
- },
4728
- "description": "The maxlength attribute of the control."
4729
- },
4730
- {
4731
- "name": "cols",
4732
- "type": {
4733
- "text": "number"
4734
- },
4735
- "default": "20",
4736
- "description": "The number of columns (width) of the control."
4737
- },
4738
- {
4739
- "name": "rows",
4740
- "type": {
4741
- "text": "number"
4742
- },
4743
- "description": "The number of rows (height) of the control. When not set, the textarea auto-sizes to fit its content via field-sizing: content."
4744
- },
4745
- {
4746
- "name": "fillHeight",
4747
- "type": {
4748
- "text": "boolean"
4749
- },
4750
- "default": "false",
4751
- "description": "Makes the textarea fill the height of its container."
4752
- },
4753
- {
4754
- "name": "autoHeight",
4755
- "type": {
4756
- "text": "boolean"
4757
- },
4758
- "default": "true",
4759
- "description": "Automatically adjusts height based on content."
4760
- },
4761
- {
4762
- "name": "resize",
4763
- "type": {
4764
- "text": "\"none\" | \"both\" | \"vertical\" | \"horizontal\""
4765
- },
4766
- "values": [
4767
- "none",
4768
- "both",
4769
- "vertical",
4770
- "horizontal"
4771
- ],
4772
- "default": "'vertical'",
4773
- "description": "Controls whether the textarea can be resized by the user."
4774
- },
4775
- {
4776
- "name": "wrap",
4777
- "type": {
4778
- "text": "\"hard\" | \"soft\""
4779
- },
4780
- "values": [
4781
- "hard",
4782
- "soft"
4783
- ],
4784
- "default": "'soft'",
4785
- "description": "Specifies how the text in a text area is to be wrapped when submitted in a form."
4786
- },
4787
- {
4788
- "name": "dirname",
4789
- "type": {
4790
- "text": "string"
4791
- },
4792
- "description": "The dirname attribute of the control."
4793
- },
4794
- {
4795
- "name": "required",
4796
- "type": {
4797
- "text": "boolean"
4798
- },
4799
- "default": "false"
4800
- },
4801
- {
4802
- "name": "disabled",
4803
- "type": {
4804
- "text": "boolean"
4805
- },
4806
- "default": "false"
4807
- },
4808
- {
4809
- "name": "readonly",
4810
- "type": {
4811
- "text": "boolean"
4812
- },
4813
- "default": "false"
4814
- },
4815
- {
4816
- "name": "spellcheck",
4817
- "type": {
4818
- "text": "boolean"
4819
- },
4820
- "default": "false"
4821
- },
4822
- {
4823
- "name": "align",
4824
- "type": {
4825
- "text": "\"center\" | \"right\" | \"left\""
4826
- },
4827
- "values": [
4828
- "center",
4829
- "right",
4830
- "left"
4831
- ],
4832
- "default": "'left'"
4833
- },
4834
- {
4835
- "name": "autofocus",
4836
- "type": {
4837
- "text": "boolean"
4838
- },
4839
- "description": "The autofocus attribute of the control."
4840
- },
4841
- {
4842
- "name": "tabIndex",
4843
- "type": {
4844
- "text": "number"
4845
- },
4846
- "default": "0"
4847
- },
4848
- {
4849
- "name": "hint",
4850
- "type": {
4851
- "text": "string"
4852
- }
4853
- },
4854
- {
4855
- "name": "error",
4856
- "type": {
4857
- "text": "boolean"
4858
- },
4859
- "default": "false"
4860
- }
4861
- ]
4862
- }
4863
- ]
4864
- },
4865
3819
  {
4866
3820
  "kind": "javascript-module",
4867
3821
  "path": "theme/theme-audio-player.ts",
@@ -5370,6 +4324,834 @@
5370
4324
  ]
5371
4325
  }
5372
4326
  ]
4327
+ },
4328
+ {
4329
+ "kind": "javascript-module",
4330
+ "path": "form/fields/autocomplete/autocomplete.ts",
4331
+ "declarations": [
4332
+ {
4333
+ "kind": "class",
4334
+ "name": "SchmancyAutocomplete",
4335
+ "tagName": "schmancy-autocomplete",
4336
+ "description": "Autocomplete input component with filtering and multi-select support.",
4337
+ "attributes": [
4338
+ {
4339
+ "name": "placeholder",
4340
+ "type": {
4341
+ "text": "string"
4342
+ },
4343
+ "default": "''"
4344
+ },
4345
+ {
4346
+ "name": "maxHeight",
4347
+ "type": {
4348
+ "text": "string"
4349
+ },
4350
+ "default": "'300px'"
4351
+ },
4352
+ {
4353
+ "name": "multi",
4354
+ "type": {
4355
+ "text": "boolean"
4356
+ },
4357
+ "default": "false"
4358
+ },
4359
+ {
4360
+ "name": "description",
4361
+ "type": {
4362
+ "text": "string"
4363
+ },
4364
+ "default": "''"
4365
+ },
4366
+ {
4367
+ "name": "size",
4368
+ "type": {
4369
+ "text": "InputSize"
4370
+ },
4371
+ "values": [
4372
+ "xxs",
4373
+ "xs",
4374
+ "sm",
4375
+ "md",
4376
+ "lg"
4377
+ ],
4378
+ "default": "'md'"
4379
+ },
4380
+ {
4381
+ "name": "autocomplete",
4382
+ "type": {
4383
+ "text": "string"
4384
+ },
4385
+ "default": "'off'"
4386
+ },
4387
+ {
4388
+ "name": "debounceMs",
4389
+ "type": {
4390
+ "text": "number"
4391
+ },
4392
+ "default": "200"
4393
+ },
4394
+ {
4395
+ "name": "similarityThreshold",
4396
+ "type": {
4397
+ "text": "number"
4398
+ },
4399
+ "default": "0.3"
4400
+ }
4401
+ ]
4402
+ }
4403
+ ]
4404
+ },
4405
+ {
4406
+ "kind": "javascript-module",
4407
+ "path": "form/fields/checkbox/checkbox.ts",
4408
+ "declarations": [
4409
+ {
4410
+ "kind": "class",
4411
+ "name": "SchmancyCheckboxElement",
4412
+ "tagName": "schmancy-checkbox",
4413
+ "attributes": [
4414
+ {
4415
+ "name": "value",
4416
+ "type": {
4417
+ "text": "boolean"
4418
+ },
4419
+ "default": "false",
4420
+ "description": "Boolean checked state. Test contract: `cb.value = true` flips the state. The FormData *string* is read from `true-value` attribute (or `'on'` default) — kept separate from `value` to keep the boolean-state ergonomic."
4421
+ },
4422
+ {
4423
+ "name": "size",
4424
+ "type": {
4425
+ "text": "\"xxs\" | \"xs\" | \"sm\" | \"md\" | \"lg\""
4426
+ },
4427
+ "values": [
4428
+ "xxs",
4429
+ "xs",
4430
+ "sm",
4431
+ "md",
4432
+ "lg"
4433
+ ],
4434
+ "default": "'md'",
4435
+ "description": "M3-aligned sizes: 24dp (xxs) → 32dp (xs) → 40dp (sm) → 48dp (md) → 56dp (lg)."
4436
+ }
4437
+ ],
4438
+ "events": [
4439
+ {
4440
+ "name": "change",
4441
+ "description": "Event fired when the checkbox value changes."
4442
+ }
4443
+ ],
4444
+ "slots": [
4445
+ {
4446
+ "name": "",
4447
+ "description": "The label for the checkbox."
4448
+ }
4449
+ ]
4450
+ }
4451
+ ]
4452
+ },
4453
+ {
4454
+ "kind": "javascript-module",
4455
+ "path": "form/fields/date-range/date-range-dialog.ts",
4456
+ "declarations": [
4457
+ {
4458
+ "kind": "class",
4459
+ "name": "SchmancyDateRangeDialog",
4460
+ "tagName": "schmancy-date-range-dialog",
4461
+ "description": "Dialog content component for date range selection Redesigned with chip-based horizontal flow layout: - Quick Select: Today, Yesterday, This Week, This Month - Days: Last 7/14/30/60/90 Days - Periods: Last Week, Last Month, Last Quarter, Last Year - Year to Date: This Week, This Month, This Quarter, This Year, YTD - Custom Range: Manual date inputs at the bottom",
4462
+ "attributes": [
4463
+ {
4464
+ "name": "type",
4465
+ "type": {
4466
+ "text": "\"date\" | \"datetime-local\""
4467
+ },
4468
+ "values": [
4469
+ "date",
4470
+ "datetime-local"
4471
+ ],
4472
+ "default": "'date'"
4473
+ },
4474
+ {
4475
+ "name": "dateFrom",
4476
+ "type": {
4477
+ "text": "{ label: string; value: string; }"
4478
+ },
4479
+ "default": "{ label: 'From', value: '' }"
4480
+ },
4481
+ {
4482
+ "name": "dateTo",
4483
+ "type": {
4484
+ "text": "{ label: string; value: string; }"
4485
+ },
4486
+ "default": "{ label: 'To', value: '' }"
4487
+ },
4488
+ {
4489
+ "name": "minDate",
4490
+ "type": {
4491
+ "text": "string"
4492
+ }
4493
+ },
4494
+ {
4495
+ "name": "maxDate",
4496
+ "type": {
4497
+ "text": "string"
4498
+ }
4499
+ },
4500
+ {
4501
+ "name": "activePreset",
4502
+ "type": {
4503
+ "text": "string"
4504
+ },
4505
+ "default": "null"
4506
+ },
4507
+ {
4508
+ "name": "presetCategories",
4509
+ "type": {
4510
+ "text": "PresetCategory[]"
4511
+ },
4512
+ "default": "[]"
4513
+ }
4514
+ ]
4515
+ }
4516
+ ]
4517
+ },
4518
+ {
4519
+ "kind": "javascript-module",
4520
+ "path": "form/fields/date-range/date-range.ts",
4521
+ "declarations": [
4522
+ {
4523
+ "kind": "class",
4524
+ "name": "SchmancyDateRange",
4525
+ "tagName": "schmancy-date-range",
4526
+ "description": "A date range selector that supports presets and manual date input.",
4527
+ "attributes": [
4528
+ {
4529
+ "name": "type",
4530
+ "type": {
4531
+ "text": "\"date\" | \"datetime-local\""
4532
+ },
4533
+ "values": [
4534
+ "date",
4535
+ "datetime-local"
4536
+ ],
4537
+ "default": "'date'"
4538
+ },
4539
+ {
4540
+ "name": "dateFrom",
4541
+ "type": {
4542
+ "text": "{ label: string; value: string; }"
4543
+ },
4544
+ "default": "{ label: 'From', value: '' }"
4545
+ },
4546
+ {
4547
+ "name": "dateTo",
4548
+ "type": {
4549
+ "text": "{ label: string; value: string; }"
4550
+ },
4551
+ "default": "{ label: 'To', value: '' }"
4552
+ },
4553
+ {
4554
+ "name": "minDate",
4555
+ "type": {
4556
+ "text": "string"
4557
+ }
4558
+ },
4559
+ {
4560
+ "name": "maxDate",
4561
+ "type": {
4562
+ "text": "string"
4563
+ }
4564
+ },
4565
+ {
4566
+ "name": "customPresets",
4567
+ "type": {
4568
+ "text": "{ label: string; dateFrom: string; dateTo: string; }[]"
4569
+ },
4570
+ "default": "[]"
4571
+ },
4572
+ {
4573
+ "name": "format",
4574
+ "type": {
4575
+ "text": "string"
4576
+ }
4577
+ },
4578
+ {
4579
+ "name": "placeholder",
4580
+ "type": {
4581
+ "text": "string"
4582
+ },
4583
+ "default": "'Select date range'"
4584
+ },
4585
+ {
4586
+ "name": "clearable",
4587
+ "type": {
4588
+ "text": "boolean"
4589
+ },
4590
+ "default": "true"
4591
+ },
4592
+ {
4593
+ "name": "step",
4594
+ "type": {
4595
+ "text": "number | \"day\" | \"week\" | \"month\" | \"year\""
4596
+ }
4597
+ },
4598
+ {
4599
+ "name": "collapse",
4600
+ "type": {
4601
+ "text": "boolean"
4602
+ },
4603
+ "default": "false",
4604
+ "description": "When true, collapses to just an icon button on mobile screens"
4605
+ }
4606
+ ],
4607
+ "events": [
4608
+ {
4609
+ "name": "change",
4610
+ "description": "Fired when the date range changes with dateFrom and dateTo values"
4611
+ }
4612
+ ]
4613
+ }
4614
+ ]
4615
+ },
4616
+ {
4617
+ "kind": "javascript-module",
4618
+ "path": "form/fields/input/input.ts",
4619
+ "declarations": [
4620
+ {
4621
+ "kind": "class",
4622
+ "name": "SchmancyInput",
4623
+ "tagName": "schmancy-input",
4624
+ "description": "Enhanced version of the SchmancyInput component with improved form integration and compatibility with legacy API. This component uses the native form association API and maintains parity with native input behaviors while providing a stylish, accessible interface.",
4625
+ "attributes": [
4626
+ {
4627
+ "name": "value",
4628
+ "type": {
4629
+ "text": "string"
4630
+ },
4631
+ "default": "''",
4632
+ "description": "Override value to be string only for input element"
4633
+ },
4634
+ {
4635
+ "name": "type",
4636
+ "type": {
4637
+ "text": "string"
4638
+ },
4639
+ "default": "'text'",
4640
+ "description": "The type of input. (e.g. 'text', 'password', 'email', etc.)"
4641
+ },
4642
+ {
4643
+ "name": "placeholder",
4644
+ "type": {
4645
+ "text": "string"
4646
+ },
4647
+ "default": "''"
4648
+ },
4649
+ {
4650
+ "name": "pattern",
4651
+ "type": {
4652
+ "text": "string"
4653
+ },
4654
+ "description": "Pattern validation attribute."
4655
+ },
4656
+ {
4657
+ "name": "clickable",
4658
+ "type": {
4659
+ "text": "boolean"
4660
+ },
4661
+ "default": "false",
4662
+ "description": "If true, we visually show a pointer cursor even if readOnly."
4663
+ },
4664
+ {
4665
+ "name": "spellcheck",
4666
+ "type": {
4667
+ "text": "boolean"
4668
+ },
4669
+ "default": "false",
4670
+ "description": "Whether browser spellcheck is enabled."
4671
+ },
4672
+ {
4673
+ "name": "align",
4674
+ "type": {
4675
+ "text": "\"center\" | \"right\" | \"left\""
4676
+ },
4677
+ "values": [
4678
+ "center",
4679
+ "right",
4680
+ "left"
4681
+ ],
4682
+ "default": "'left'",
4683
+ "description": "Text alignment within the input. - 'left' | 'center' | 'right'"
4684
+ },
4685
+ {
4686
+ "name": "inputmode",
4687
+ "type": {
4688
+ "text": "\"none\" | \"text\" | \"email\" | \"tel\" | \"url\" | \"search\" | \"decimal\" | \"numeric\""
4689
+ },
4690
+ "values": [
4691
+ "none",
4692
+ "text",
4693
+ "email",
4694
+ "tel",
4695
+ "url",
4696
+ "search",
4697
+ "decimal",
4698
+ "numeric"
4699
+ ],
4700
+ "description": "inputmode attribute (affects on-screen keyboards in mobile)."
4701
+ },
4702
+ {
4703
+ "name": "minlength",
4704
+ "type": {
4705
+ "text": "number"
4706
+ }
4707
+ },
4708
+ {
4709
+ "name": "maxlength",
4710
+ "type": {
4711
+ "text": "number"
4712
+ }
4713
+ },
4714
+ {
4715
+ "name": "min",
4716
+ "type": {
4717
+ "text": "string"
4718
+ }
4719
+ },
4720
+ {
4721
+ "name": "max",
4722
+ "type": {
4723
+ "text": "string"
4724
+ }
4725
+ },
4726
+ {
4727
+ "name": "step",
4728
+ "type": {
4729
+ "text": "string"
4730
+ },
4731
+ "default": "'any'"
4732
+ },
4733
+ {
4734
+ "name": "autofocus",
4735
+ "type": {
4736
+ "text": "boolean"
4737
+ },
4738
+ "default": "false",
4739
+ "description": "If true, auto-focus this input on first render."
4740
+ },
4741
+ {
4742
+ "name": "autocomplete",
4743
+ "type": {
4744
+ "text": "AutoFill"
4745
+ },
4746
+ "default": "'on'",
4747
+ "description": "Autocomplete/autofill hints."
4748
+ },
4749
+ {
4750
+ "name": "tabIndex",
4751
+ "type": {
4752
+ "text": "number"
4753
+ },
4754
+ "default": "0",
4755
+ "description": "tabIndex for focusing by tab key. Typically 0 or -1."
4756
+ },
4757
+ {
4758
+ "name": "size",
4759
+ "type": {
4760
+ "text": "InputSize"
4761
+ },
4762
+ "values": [
4763
+ "xxs",
4764
+ "xs",
4765
+ "sm",
4766
+ "md",
4767
+ "lg"
4768
+ ],
4769
+ "default": "'md'",
4770
+ "description": "The size of the input. - 'xxs': Ultra-compact size (24px) - for menu cards - 'xs': Extra small, very compact size (32px) - 'sm': Small, compact size (40px) - 'md': Medium size (default) (48px) - 'lg': Large size (56px)"
4771
+ },
4772
+ {
4773
+ "name": "list",
4774
+ "type": {
4775
+ "text": "string"
4776
+ },
4777
+ "description": "For datalist support"
4778
+ }
4779
+ ]
4780
+ },
4781
+ {
4782
+ "kind": "class",
4783
+ "name": "SchmancyInputCompat",
4784
+ "tagName": "sch-input",
4785
+ "description": "Register the component with the legacy tag name for backward compatibility"
4786
+ }
4787
+ ]
4788
+ },
4789
+ {
4790
+ "kind": "javascript-module",
4791
+ "path": "form/fields/radio-group/radio-button.ts",
4792
+ "declarations": [
4793
+ {
4794
+ "kind": "class",
4795
+ "name": "RadioButton",
4796
+ "tagName": "schmancy-radio-button",
4797
+ "description": "Radio button component for use within radio groups.",
4798
+ "attributes": [
4799
+ {
4800
+ "name": "value",
4801
+ "type": {
4802
+ "text": "string"
4803
+ },
4804
+ "default": "''"
4805
+ },
4806
+ {
4807
+ "name": "checked",
4808
+ "type": {
4809
+ "text": "boolean"
4810
+ },
4811
+ "default": "false"
4812
+ },
4813
+ {
4814
+ "name": "disabled",
4815
+ "type": {
4816
+ "text": "boolean"
4817
+ },
4818
+ "default": "false"
4819
+ },
4820
+ {
4821
+ "name": "name",
4822
+ "type": {
4823
+ "text": "string"
4824
+ },
4825
+ "default": "''"
4826
+ }
4827
+ ]
4828
+ }
4829
+ ]
4830
+ },
4831
+ {
4832
+ "kind": "javascript-module",
4833
+ "path": "form/fields/radio-group/radio-group.ts",
4834
+ "declarations": [
4835
+ {
4836
+ "kind": "class",
4837
+ "name": "RadioGroup",
4838
+ "tagName": "schmancy-radio-group",
4839
+ "attributes": [
4840
+ {
4841
+ "name": "label",
4842
+ "type": {
4843
+ "text": "string"
4844
+ },
4845
+ "default": "''"
4846
+ },
4847
+ {
4848
+ "name": "name",
4849
+ "type": {
4850
+ "text": "string"
4851
+ },
4852
+ "default": "''"
4853
+ },
4854
+ {
4855
+ "name": "value",
4856
+ "type": {
4857
+ "text": "string"
4858
+ },
4859
+ "default": "''"
4860
+ },
4861
+ {
4862
+ "name": "options",
4863
+ "type": {
4864
+ "text": "SchmancyRadioGroupOption[]"
4865
+ },
4866
+ "default": "[]"
4867
+ },
4868
+ {
4869
+ "name": "required",
4870
+ "type": {
4871
+ "text": "boolean"
4872
+ },
4873
+ "default": "false"
4874
+ }
4875
+ ]
4876
+ }
4877
+ ]
4878
+ },
4879
+ {
4880
+ "kind": "javascript-module",
4881
+ "path": "form/fields/range/range.ts",
4882
+ "declarations": [
4883
+ {
4884
+ "kind": "class",
4885
+ "name": "SchmancyRange",
4886
+ "tagName": "schmancy-range",
4887
+ "attributes": [
4888
+ {
4889
+ "name": "min",
4890
+ "type": {
4891
+ "text": "number"
4892
+ },
4893
+ "default": "0"
4894
+ },
4895
+ {
4896
+ "name": "max",
4897
+ "type": {
4898
+ "text": "number"
4899
+ },
4900
+ "default": "1"
4901
+ },
4902
+ {
4903
+ "name": "step",
4904
+ "type": {
4905
+ "text": "number"
4906
+ },
4907
+ "default": "0.01"
4908
+ },
4909
+ {
4910
+ "name": "value",
4911
+ "type": {
4912
+ "text": "number"
4913
+ },
4914
+ "default": "0",
4915
+ "description": "Numeric value — narrowed override of the mixin's wide value union."
4916
+ }
4917
+ ],
4918
+ "events": [
4919
+ {
4920
+ "name": "change",
4921
+ "description": "Fires on value change with `{ value: number }`."
4922
+ }
4923
+ ]
4924
+ }
4925
+ ]
4926
+ },
4927
+ {
4928
+ "kind": "javascript-module",
4929
+ "path": "form/fields/select/select.ts",
4930
+ "declarations": [
4931
+ {
4932
+ "kind": "class",
4933
+ "name": "SchmancySelect",
4934
+ "tagName": "schmancy-select",
4935
+ "description": "Select dropdown component with single and multi-select support.",
4936
+ "attributes": [
4937
+ {
4938
+ "name": "placeholder",
4939
+ "type": {
4940
+ "text": "string"
4941
+ },
4942
+ "default": "''"
4943
+ },
4944
+ {
4945
+ "name": "multi",
4946
+ "type": {
4947
+ "text": "boolean"
4948
+ },
4949
+ "default": "false"
4950
+ },
4951
+ {
4952
+ "name": "size",
4953
+ "type": {
4954
+ "text": "\"xxs\" | \"xs\" | \"sm\" | \"md\" | \"lg\""
4955
+ },
4956
+ "values": [
4957
+ "xxs",
4958
+ "xs",
4959
+ "sm",
4960
+ "md",
4961
+ "lg"
4962
+ ],
4963
+ "default": "'md'"
4964
+ }
4965
+ ]
4966
+ }
4967
+ ]
4968
+ },
4969
+ {
4970
+ "kind": "javascript-module",
4971
+ "path": "form/fields/switch/switch.ts",
4972
+ "declarations": [
4973
+ {
4974
+ "kind": "class",
4975
+ "name": "SchmancySwitch",
4976
+ "tagName": "schmancy-switch",
4977
+ "description": "Binary on/off control. Form-associated, keyboard-accessible, semantically a switch (ARIA role=\"switch\"). Distinct from `schmancy-checkbox`: a switch represents an immediate state change, a checkbox represents a selection in a form to be submitted.",
4978
+ "attributes": [
4979
+ {
4980
+ "name": "value",
4981
+ "type": {
4982
+ "text": "string"
4983
+ },
4984
+ "default": "'on'",
4985
+ "description": "The string written to FormData when the switch is on. Native `<input type=checkbox value=\"...\">` semantics. Defaults to `'on'` to match HTML checkbox conventions."
4986
+ },
4987
+ {
4988
+ "name": "checked",
4989
+ "type": {
4990
+ "text": "boolean"
4991
+ },
4992
+ "default": "false",
4993
+ "description": "Boolean on/off state. Native `<input type=checkbox>.checked` semantics."
4994
+ }
4995
+ ],
4996
+ "events": [
4997
+ {
4998
+ "name": "change",
4999
+ "description": "`CustomEvent<{ value: boolean }>` when the state changes."
5000
+ }
5001
+ ],
5002
+ "cssParts": [
5003
+ {
5004
+ "name": "track",
5005
+ "description": "The background track."
5006
+ },
5007
+ {
5008
+ "name": "thumb",
5009
+ "description": "The moving thumb."
5010
+ }
5011
+ ]
5012
+ }
5013
+ ]
5014
+ },
5015
+ {
5016
+ "kind": "javascript-module",
5017
+ "path": "form/fields/textarea/textarea.ts",
5018
+ "declarations": [
5019
+ {
5020
+ "kind": "class",
5021
+ "name": "SchmancyTextarea",
5022
+ "tagName": "schmancy-textarea",
5023
+ "description": "Textarea component with auto-resize and form integration.",
5024
+ "attributes": [
5025
+ {
5026
+ "name": "placeholder",
5027
+ "type": {
5028
+ "text": "string"
5029
+ },
5030
+ "default": "''",
5031
+ "description": "The placeholder of the control."
5032
+ },
5033
+ {
5034
+ "name": "value",
5035
+ "type": {
5036
+ "text": "string"
5037
+ },
5038
+ "default": "''",
5039
+ "description": "The value of the control. Narrowed from the mixin's wide union to the textarea-specific `string` type."
5040
+ },
5041
+ {
5042
+ "name": "minlength",
5043
+ "type": {
5044
+ "text": "number"
5045
+ },
5046
+ "description": "The minlength attribute of the control."
5047
+ },
5048
+ {
5049
+ "name": "maxlength",
5050
+ "type": {
5051
+ "text": "number"
5052
+ },
5053
+ "description": "The maxlength attribute of the control."
5054
+ },
5055
+ {
5056
+ "name": "cols",
5057
+ "type": {
5058
+ "text": "number"
5059
+ },
5060
+ "default": "20",
5061
+ "description": "The number of columns (width) of the control."
5062
+ },
5063
+ {
5064
+ "name": "rows",
5065
+ "type": {
5066
+ "text": "number"
5067
+ },
5068
+ "description": "The number of rows (height) of the control. When not set, the textarea auto-sizes to fit its content via field-sizing: content."
5069
+ },
5070
+ {
5071
+ "name": "fillHeight",
5072
+ "type": {
5073
+ "text": "boolean"
5074
+ },
5075
+ "default": "false",
5076
+ "description": "Makes the textarea fill the height of its container."
5077
+ },
5078
+ {
5079
+ "name": "autoHeight",
5080
+ "type": {
5081
+ "text": "boolean"
5082
+ },
5083
+ "default": "true",
5084
+ "description": "Automatically adjusts height based on content."
5085
+ },
5086
+ {
5087
+ "name": "resize",
5088
+ "type": {
5089
+ "text": "\"none\" | \"both\" | \"vertical\" | \"horizontal\""
5090
+ },
5091
+ "values": [
5092
+ "none",
5093
+ "both",
5094
+ "vertical",
5095
+ "horizontal"
5096
+ ],
5097
+ "default": "'vertical'",
5098
+ "description": "Controls whether the textarea can be resized by the user."
5099
+ },
5100
+ {
5101
+ "name": "wrap",
5102
+ "type": {
5103
+ "text": "\"hard\" | \"soft\""
5104
+ },
5105
+ "values": [
5106
+ "hard",
5107
+ "soft"
5108
+ ],
5109
+ "default": "'soft'",
5110
+ "description": "Specifies how the text in a text area is to be wrapped when submitted in a form."
5111
+ },
5112
+ {
5113
+ "name": "dirname",
5114
+ "type": {
5115
+ "text": "string"
5116
+ },
5117
+ "description": "The dirname attribute of the control."
5118
+ },
5119
+ {
5120
+ "name": "spellcheck",
5121
+ "type": {
5122
+ "text": "boolean"
5123
+ },
5124
+ "default": "false"
5125
+ },
5126
+ {
5127
+ "name": "align",
5128
+ "type": {
5129
+ "text": "\"center\" | \"right\" | \"left\""
5130
+ },
5131
+ "values": [
5132
+ "center",
5133
+ "right",
5134
+ "left"
5135
+ ],
5136
+ "default": "'left'"
5137
+ },
5138
+ {
5139
+ "name": "autofocus",
5140
+ "type": {
5141
+ "text": "boolean"
5142
+ },
5143
+ "description": "The autofocus attribute of the control."
5144
+ },
5145
+ {
5146
+ "name": "tabIndex",
5147
+ "type": {
5148
+ "text": "number"
5149
+ },
5150
+ "default": "0"
5151
+ }
5152
+ ]
5153
+ }
5154
+ ]
5373
5155
  }
5374
5156
  ],
5375
5157
  "tokens": [