@mhmo91/schmancy 0.9.5 → 0.9.7

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 (616) hide show
  1. package/custom-elements.json +493 -718
  2. package/dist/{animation-CO_Csq84.cjs.map → animation-Bcwh107v.cjs.map} +1 -1
  3. package/dist/{animation-BK-8BwY8.js.map → animation-CXKSuUoE.js.map} +1 -1
  4. package/dist/{area-CRoGqD_u.js → area-BARjKpE9.js} +2 -2
  5. package/dist/{area-CRoGqD_u.js.map → area-BARjKpE9.js.map} +1 -1
  6. package/dist/{area-JPykB7A9.cjs → area-D9b9dHQr.cjs} +3 -3
  7. package/dist/{area-JPykB7A9.cjs.map → area-D9b9dHQr.cjs.map} +1 -1
  8. package/dist/area.cjs +1 -1
  9. package/dist/area.js +1 -1
  10. package/dist/{audio-kz8UgPTO.js → audio-C7TzWI8M.js} +1 -1
  11. package/dist/audio-C7TzWI8M.js.map +1 -0
  12. package/dist/{audio-DtYYgzYD.cjs → audio-DUVz7Ars.cjs} +1 -1
  13. package/dist/audio-DUVz7Ars.cjs.map +1 -0
  14. package/dist/audio.cjs +1 -1
  15. package/dist/audio.js +2 -2
  16. package/dist/autocomplete-AI2CCJmK.cjs +115 -0
  17. package/dist/autocomplete-AI2CCJmK.cjs.map +1 -0
  18. package/dist/{autocomplete-BllPQwr8.js → autocomplete-DOimwVMP.js} +48 -22
  19. package/dist/autocomplete-DOimwVMP.js.map +1 -0
  20. package/dist/autocomplete.cjs +1 -1
  21. package/dist/autocomplete.js +1 -1
  22. package/dist/badge.cjs +1 -1
  23. package/dist/badge.js +1 -1
  24. package/dist/{boat-DYEAZ8Qj.cjs → boat-Bk4u-LzT.cjs} +2 -2
  25. package/dist/{boat-DYEAZ8Qj.cjs.map → boat-Bk4u-LzT.cjs.map} +1 -1
  26. package/dist/{boat-BDTQ-du9.js → boat-DrghVeWK.js} +5 -5
  27. package/dist/{boat-BDTQ-du9.js.map → boat-DrghVeWK.js.map} +1 -1
  28. package/dist/boat.cjs +1 -1
  29. package/dist/boat.js +1 -1
  30. package/dist/breadcrumb.cjs +34 -0
  31. package/dist/breadcrumb.cjs.map +1 -0
  32. package/dist/breadcrumb.js +73 -0
  33. package/dist/breadcrumb.js.map +1 -0
  34. package/dist/{busy-ChDAeaKF.js → busy-BmFfwyz_.js} +7 -6
  35. package/dist/{busy-ChDAeaKF.js.map → busy-BmFfwyz_.js.map} +1 -1
  36. package/dist/{busy-Dj7Xn0Z0.cjs → busy-c_q_F8O0.cjs} +8 -8
  37. package/dist/{busy-Dj7Xn0Z0.cjs.map → busy-c_q_F8O0.cjs.map} +1 -1
  38. package/dist/busy.cjs +1 -1
  39. package/dist/busy.js +1 -1
  40. package/dist/button.cjs +4 -4
  41. package/dist/button.cjs.map +1 -1
  42. package/dist/button.js +25 -6
  43. package/dist/button.js.map +1 -1
  44. package/dist/{card-DZFPRPqs.js → card-BADJHUMA.js} +16 -15
  45. package/dist/{card-DZFPRPqs.js.map → card-BADJHUMA.js.map} +1 -1
  46. package/dist/{card-BvPWVEJX.cjs → card-C_E944_Z.cjs} +10 -10
  47. package/dist/{card-BvPWVEJX.cjs.map → card-C_E944_Z.cjs.map} +1 -1
  48. package/dist/card.cjs +1 -1
  49. package/dist/card.js +1 -1
  50. package/dist/charts.cjs +3 -3
  51. package/dist/charts.cjs.map +1 -1
  52. package/dist/charts.js +2 -2
  53. package/dist/{checkbox-GSSjqo6w.js → checkbox-D7rvCrGk.js} +28 -9
  54. package/dist/{checkbox-GSSjqo6w.js.map → checkbox-D7rvCrGk.js.map} +1 -1
  55. package/dist/{checkbox-BC_37rsG.cjs → checkbox-ZqDoCagB.cjs} +10 -10
  56. package/dist/{checkbox-BC_37rsG.cjs.map → checkbox-ZqDoCagB.cjs.map} +1 -1
  57. package/dist/checkbox.cjs +1 -1
  58. package/dist/checkbox.js +1 -1
  59. package/dist/{chips-B19XS8Xc.cjs → chips-Cux635Qs.cjs} +18 -18
  60. package/dist/chips-Cux635Qs.cjs.map +1 -0
  61. package/dist/{chips-B9oAEfE_.js → chips-vdzIsesI.js} +37 -27
  62. package/dist/chips-vdzIsesI.js.map +1 -0
  63. package/dist/chips.cjs +1 -1
  64. package/dist/chips.js +2 -2
  65. package/dist/{code-highlight-fSLrlgOb.cjs → code-highlight-C9lKek2p.cjs} +11 -11
  66. package/dist/{code-highlight-fSLrlgOb.cjs.map → code-highlight-C9lKek2p.cjs.map} +1 -1
  67. package/dist/{code-highlight-DCk5lJY-.js → code-highlight-D6yruol6.js} +6 -5
  68. package/dist/{code-highlight-DCk5lJY-.js.map → code-highlight-D6yruol6.js.map} +1 -1
  69. package/dist/code-highlight.cjs +1 -1
  70. package/dist/code-highlight.js +1 -1
  71. package/dist/components-ByRyEzz5.cjs +73 -0
  72. package/dist/{components-CyD6a7gQ.cjs.map → components-ByRyEzz5.cjs.map} +1 -1
  73. package/dist/{components-COsM6sJZ.js → components-DSvPKR9Q.js} +2 -2
  74. package/dist/{components-COsM6sJZ.js.map → components-DSvPKR9Q.js.map} +1 -1
  75. package/dist/components.cjs +1 -1
  76. package/dist/components.js +1 -1
  77. package/dist/connectivity.cjs +7 -7
  78. package/dist/connectivity.cjs.map +1 -1
  79. package/dist/connectivity.js +5 -4
  80. package/dist/connectivity.js.map +1 -1
  81. package/dist/content-drawer.cjs +1 -1
  82. package/dist/content-drawer.js +1 -1
  83. package/dist/{cursor-glow-DtSy_PJd.cjs → cursor-glow-82y5h3E4.cjs} +1 -1
  84. package/dist/{cursor-glow-DtSy_PJd.cjs.map → cursor-glow-82y5h3E4.cjs.map} +1 -1
  85. package/dist/{cursor-glow-Ah7VXSj7.js → cursor-glow-C2YRrB8Z.js} +1 -1
  86. package/dist/{cursor-glow-Ah7VXSj7.js.map → cursor-glow-C2YRrB8Z.js.map} +1 -1
  87. package/dist/{date-range-ZAaQB22I.cjs → date-range-DJsavigf.cjs} +3 -3
  88. package/dist/date-range-DJsavigf.cjs.map +1 -0
  89. package/dist/{date-range-inline-Bl8qbiQF.js → date-range-inline-B87TDYI6.js} +1 -1
  90. package/dist/{date-range-inline-Bl8qbiQF.js.map → date-range-inline-B87TDYI6.js.map} +1 -1
  91. package/dist/date-range-inline-De-M0VmL.cjs +43 -0
  92. package/dist/{date-range-inline-m7nLjOMI.cjs.map → date-range-inline-De-M0VmL.cjs.map} +1 -1
  93. package/dist/date-range-inline.cjs +1 -1
  94. package/dist/date-range-inline.js +1 -1
  95. package/dist/{date-range-Sfyco9-n.js → date-range-tEX2Jx2j.js} +4 -4
  96. package/dist/date-range-tEX2Jx2j.js.map +1 -0
  97. package/dist/date-range.cjs +1 -1
  98. package/dist/date-range.js +1 -1
  99. package/dist/delay-BvVdfhAR.cjs +9 -0
  100. package/dist/{delay-7boauN6N.cjs.map → delay-BvVdfhAR.cjs.map} +1 -1
  101. package/dist/{delay-CgX6m0HN.js → delay-CZw37zps.js} +9 -8
  102. package/dist/{delay-CgX6m0HN.js.map → delay-CZw37zps.js.map} +1 -1
  103. package/dist/delay.cjs +1 -1
  104. package/dist/delay.js +1 -1
  105. package/dist/{details-BHnk8l4q.cjs → details-Bhz8_whd.cjs} +9 -9
  106. package/dist/{details-BHnk8l4q.cjs.map → details-Bhz8_whd.cjs.map} +1 -1
  107. package/dist/{details-BPkUg8Cq.js → details-D7VTnLOh.js} +16 -15
  108. package/dist/{details-BPkUg8Cq.js.map → details-D7VTnLOh.js.map} +1 -1
  109. package/dist/details.cjs +1 -1
  110. package/dist/details.js +1 -1
  111. package/dist/{dialog-service-NZEvyEK-.js → dialog-service-ClFrOWf4.js} +2 -2
  112. package/dist/{dialog-service-NZEvyEK-.js.map → dialog-service-ClFrOWf4.js.map} +1 -1
  113. package/dist/{dialog-service-VnW4gkmE.cjs → dialog-service-DcuAavp2.cjs} +1 -1
  114. package/dist/{dialog-service-VnW4gkmE.cjs.map → dialog-service-DcuAavp2.cjs.map} +1 -1
  115. package/dist/dialog.cjs +18 -11
  116. package/dist/dialog.cjs.map +1 -1
  117. package/dist/dialog.js +66 -43
  118. package/dist/dialog.js.map +1 -1
  119. package/dist/directives.cjs +1 -1
  120. package/dist/directives.js +5 -5
  121. package/dist/{divider-_khrhrZo.cjs → divider-S0bHwCCS.cjs} +2 -2
  122. package/dist/{divider-_khrhrZo.cjs.map → divider-S0bHwCCS.cjs.map} +1 -1
  123. package/dist/{divider-CW9a7MMj.js → divider-zS232JDr.js} +2 -2
  124. package/dist/{divider-CW9a7MMj.js.map → divider-zS232JDr.js.map} +1 -1
  125. package/dist/divider.cjs +1 -1
  126. package/dist/divider.js +1 -1
  127. package/dist/dropdown.cjs +4 -4
  128. package/dist/dropdown.cjs.map +1 -1
  129. package/dist/dropdown.js +8 -7
  130. package/dist/dropdown.js.map +1 -1
  131. package/dist/{expand-iQ7EOMP7.js → expand-BXt9SqAF.js} +13 -12
  132. package/dist/{expand-iQ7EOMP7.js.map → expand-BXt9SqAF.js.map} +1 -1
  133. package/dist/{expand-Cp7-PH8b.cjs → expand-Dr7TFXpl.cjs} +18 -18
  134. package/dist/{expand-Cp7-PH8b.cjs.map → expand-Dr7TFXpl.cjs.map} +1 -1
  135. package/dist/expand.cjs +1 -1
  136. package/dist/expand.js +1 -1
  137. package/dist/{extra-IKAiJJhv.cjs → extra-BmZTXAp0.cjs} +3 -3
  138. package/dist/{extra-IKAiJJhv.cjs.map → extra-BmZTXAp0.cjs.map} +1 -1
  139. package/dist/{extra-wEpvEFbK.js → extra-COYhsOyZ.js} +2 -2
  140. package/dist/{extra-wEpvEFbK.js.map → extra-COYhsOyZ.js.map} +1 -1
  141. package/dist/extra.cjs +1 -1
  142. package/dist/extra.js +1 -1
  143. package/dist/float-CSRW-Rrd.cjs +1 -0
  144. package/dist/{float-D5rNC82i.cjs.map → float-CSRW-Rrd.cjs.map} +1 -1
  145. package/dist/{float-BQ_urmMs.js → float-DCXafWh6.js} +2 -2
  146. package/dist/{float-BQ_urmMs.js.map → float-DCXafWh6.js.map} +1 -1
  147. package/dist/float.cjs +1 -1
  148. package/dist/float.js +1 -1
  149. package/dist/{flow-CUj0fDT_.js.map → flow-CqgDEIqK.js.map} +1 -1
  150. package/dist/{flow-Bbwn6dRN.cjs.map → flow-DSu4PLt1.cjs.map} +1 -1
  151. package/dist/form-CAY9GSCd.cjs +1 -0
  152. package/dist/form-CAY9GSCd.cjs.map +1 -0
  153. package/dist/form-D2cJ58TB.js +68 -0
  154. package/dist/form-D2cJ58TB.js.map +1 -0
  155. package/dist/form.cjs +1 -1
  156. package/dist/form.js +2 -1
  157. package/dist/{hashContent-DaeGmY-p.cjs.map → hashContent-kKvXKFa9.cjs.map} +1 -1
  158. package/dist/{hashContent-DYM21p6t.js.map → hashContent-nD2uWwi2.js.map} +1 -1
  159. package/dist/{icons-BDqiGXrO.js → icons-BbaI9Zf-.js} +9 -8
  160. package/dist/icons-BbaI9Zf-.js.map +1 -0
  161. package/dist/{icons-B57_93VV.cjs → icons-DPUeLS_Y.cjs} +3 -3
  162. package/dist/icons-DPUeLS_Y.cjs.map +1 -0
  163. package/dist/icons.cjs +1 -1
  164. package/dist/icons.js +1 -1
  165. package/dist/{iframe-WnWPIrBG.js → iframe-CEDOvkql.js} +5 -4
  166. package/dist/{iframe-WnWPIrBG.js.map → iframe-CEDOvkql.js.map} +1 -1
  167. package/dist/{iframe-DNHL3GIk.cjs → iframe-Ct50FYXq.cjs} +3 -3
  168. package/dist/{iframe-DNHL3GIk.cjs.map → iframe-Ct50FYXq.cjs.map} +1 -1
  169. package/dist/iframe.cjs +1 -1
  170. package/dist/iframe.js +1 -1
  171. package/dist/index.cjs +1 -1
  172. package/dist/index.js +65 -59
  173. package/dist/{input-BiSrTcrR.cjs → input-DMjpf6V8.cjs} +2 -2
  174. package/dist/{input-BiSrTcrR.cjs.map → input-DMjpf6V8.cjs.map} +1 -1
  175. package/dist/{input-VaXHFrRn.js → input-Ri72dn5t.js} +1 -1
  176. package/dist/{input-VaXHFrRn.js.map → input-Ri72dn5t.js.map} +1 -1
  177. package/dist/{input-chip-Dy-AiP55.cjs → input-chip-BhjGVpc3.cjs} +9 -9
  178. package/dist/input-chip-BhjGVpc3.cjs.map +1 -0
  179. package/dist/{input-chip-QejNcRnS.js → input-chip-CI4__N8w.js} +13 -9
  180. package/dist/input-chip-CI4__N8w.js.map +1 -0
  181. package/dist/input.cjs +1 -1
  182. package/dist/input.js +1 -1
  183. package/dist/{intersection-CZpaIHeT.cjs.map → intersection-D1v1UCVv.cjs.map} +1 -1
  184. package/dist/{intersection-BPLpqYEd.js.map → intersection-LfEsy29T.js.map} +1 -1
  185. package/dist/json.cjs +3 -3
  186. package/dist/json.cjs.map +1 -1
  187. package/dist/json.js +5 -4
  188. package/dist/json.js.map +1 -1
  189. package/dist/kbd.cjs +28 -0
  190. package/dist/kbd.cjs.map +1 -0
  191. package/dist/kbd.js +45 -0
  192. package/dist/kbd.js.map +1 -0
  193. package/dist/{layout-yxSlLybo.js → layout-BE2ld1IY.js} +1 -1
  194. package/dist/{layout-yxSlLybo.js.map → layout-BE2ld1IY.js.map} +1 -1
  195. package/dist/layout-D7xOqMkJ.cjs +17 -0
  196. package/dist/{layout-DNYG3phx.cjs.map → layout-D7xOqMkJ.cjs.map} +1 -1
  197. package/dist/{layout-4C-6_cre.cjs → layout-PZCF3kwl.cjs} +1 -1
  198. package/dist/{layout-4C-6_cre.cjs.map → layout-PZCF3kwl.cjs.map} +1 -1
  199. package/dist/{layout-CnsXeCAy.js → layout-uAQpJN31.js} +20 -19
  200. package/dist/{layout-CnsXeCAy.js.map → layout-uAQpJN31.js.map} +1 -1
  201. package/dist/layout.cjs +1 -1
  202. package/dist/layout.js +2 -2
  203. package/dist/{lightbox-BrI1Z31s.js → lightbox-C0OEHns9.js} +10 -9
  204. package/dist/{lightbox-BrI1Z31s.js.map → lightbox-C0OEHns9.js.map} +1 -1
  205. package/dist/{lightbox-CmACf0t5.cjs → lightbox-cXRnvHMN.cjs} +20 -20
  206. package/dist/{lightbox-CmACf0t5.cjs.map → lightbox-cXRnvHMN.cjs.map} +1 -1
  207. package/dist/lightbox.cjs +1 -1
  208. package/dist/lightbox.js +1 -1
  209. package/dist/{list-swIL9VDv.cjs → list-CmJ5h35b.cjs} +5 -5
  210. package/dist/{list-swIL9VDv.cjs.map → list-CmJ5h35b.cjs.map} +1 -1
  211. package/dist/{list-Cm-jjXxM.js → list-d1mHar5p.js} +14 -13
  212. package/dist/{list-Cm-jjXxM.js.map → list-d1mHar5p.js.map} +1 -1
  213. package/dist/list.cjs +1 -1
  214. package/dist/list.js +1 -1
  215. package/dist/{litElement.mixin-3llHwB-8.cjs → litElement.mixin-Bj2q1yPw.cjs} +1 -1
  216. package/dist/{litElement.mixin-3llHwB-8.cjs.map → litElement.mixin-Bj2q1yPw.cjs.map} +1 -1
  217. package/dist/{litElement.mixin-6jJYHCrZ.js → litElement.mixin-CncaUoxz.js} +1 -1
  218. package/dist/{litElement.mixin-6jJYHCrZ.js.map → litElement.mixin-CncaUoxz.js.map} +1 -1
  219. package/dist/{magnetic-BZGFxAWG.js → magnetic-Dj52WplI.js} +2 -2
  220. package/dist/{magnetic-BZGFxAWG.js.map → magnetic-Dj52WplI.js.map} +1 -1
  221. package/dist/{magnetic-Dux4QwO4.cjs → magnetic-aBBnj_vk.cjs} +1 -1
  222. package/dist/{magnetic-Dux4QwO4.cjs.map → magnetic-aBBnj_vk.cjs.map} +1 -1
  223. package/dist/{mailbox-D6LkQcN5.cjs → mailbox-BmChskZc.cjs} +59 -59
  224. package/dist/{mailbox-D6LkQcN5.cjs.map → mailbox-BmChskZc.cjs.map} +1 -1
  225. package/dist/{mailbox-BuvsVaAQ.js → mailbox-C4-E93be.js} +13 -12
  226. package/dist/{mailbox-BuvsVaAQ.js.map → mailbox-C4-E93be.js.map} +1 -1
  227. package/dist/mailbox.cjs +1 -1
  228. package/dist/mailbox.js +1 -1
  229. package/dist/{map-CQiKAxC3.js → map-DHyYLhvy.js} +6 -5
  230. package/dist/{map-CQiKAxC3.js.map → map-DHyYLhvy.js.map} +1 -1
  231. package/dist/{map-D5NN4VET.cjs → map-DYEvlNl0.cjs} +7 -7
  232. package/dist/{map-D5NN4VET.cjs.map → map-DYEvlNl0.cjs.map} +1 -1
  233. package/dist/map.cjs +1 -1
  234. package/dist/map.js +1 -1
  235. package/dist/{menu-CkgMO9K5.cjs → menu-BlPTI6H9.cjs} +3 -3
  236. package/dist/{menu-CkgMO9K5.cjs.map → menu-BlPTI6H9.cjs.map} +1 -1
  237. package/dist/{menu-C1x04YZw.js → menu-DFDBADp4.js} +3 -3
  238. package/dist/{menu-C1x04YZw.js.map → menu-DFDBADp4.js.map} +1 -1
  239. package/dist/menu.cjs +1 -1
  240. package/dist/menu.js +1 -1
  241. package/dist/mixins.cjs +1 -1
  242. package/dist/mixins.cjs.map +1 -1
  243. package/dist/mixins.js +43 -15
  244. package/dist/mixins.js.map +1 -1
  245. package/dist/nav-drawer.cjs +1 -1
  246. package/dist/nav-drawer.js +1 -1
  247. package/dist/navigation-bar.cjs +1 -1
  248. package/dist/navigation-bar.js +1 -1
  249. package/dist/navigation-rail.cjs +3 -3
  250. package/dist/navigation-rail.cjs.map +1 -1
  251. package/dist/navigation-rail.js +2 -2
  252. package/dist/{notification-BnBgxjF-.js → notification-DGpv8g2H.js} +4 -4
  253. package/dist/{notification-BnBgxjF-.js.map → notification-DGpv8g2H.js.map} +1 -1
  254. package/dist/notification-DKVWYhqs.cjs +23 -0
  255. package/dist/{notification-CZFEhWxc.cjs.map → notification-DKVWYhqs.cjs.map} +1 -1
  256. package/dist/notification.cjs +1 -1
  257. package/dist/notification.js +1 -1
  258. package/dist/{option-DBO8xZwd.js → option-BD2eh458.js} +6 -5
  259. package/dist/{option-DBO8xZwd.js.map → option-BD2eh458.js.map} +1 -1
  260. package/dist/{option-BrxCVwSx.cjs → option-LtSDy2xf.cjs} +5 -5
  261. package/dist/{option-BrxCVwSx.cjs.map → option-LtSDy2xf.cjs.map} +1 -1
  262. package/dist/option.cjs +1 -1
  263. package/dist/option.js +1 -1
  264. package/dist/{overlay-stack-DQey9Qph.cjs.map → overlay-stack-CEYGD9T1.cjs.map} +1 -1
  265. package/dist/{overlay-stack-DT1SdaGW.js.map → overlay-stack-Ca4EK2Mu.js.map} +1 -1
  266. package/dist/page.cjs +2 -2
  267. package/dist/page.cjs.map +1 -1
  268. package/dist/page.js +5 -5
  269. package/dist/{progress-Db2e4_Zd.cjs → progress-B5ChDPbB.cjs} +2 -2
  270. package/dist/{progress-Db2e4_Zd.cjs.map → progress-B5ChDPbB.cjs.map} +1 -1
  271. package/dist/{progress-DeiHxXo7.js → progress-CE1Pk2hi.js} +2 -2
  272. package/dist/{progress-DeiHxXo7.js.map → progress-CE1Pk2hi.js.map} +1 -1
  273. package/dist/progress.cjs +1 -1
  274. package/dist/progress.js +1 -1
  275. package/dist/{provide-DHnhQtCH.cjs → provide-BZ9lq_Be.cjs} +1 -1
  276. package/dist/{provide-DHnhQtCH.cjs.map → provide-BZ9lq_Be.cjs.map} +1 -1
  277. package/dist/{provide-C1aQhxYo.js → provide-jn1Fj1vv.js} +1 -1
  278. package/dist/{provide-C1aQhxYo.js.map → provide-jn1Fj1vv.js.map} +1 -1
  279. package/dist/qr-scanner.cjs +2 -2
  280. package/dist/qr-scanner.cjs.map +1 -1
  281. package/dist/qr-scanner.js +2 -2
  282. package/dist/radio-group-Cd9pZ2MR.cjs +40 -0
  283. package/dist/{radio-group-Cspwd-Vw.cjs.map → radio-group-Cd9pZ2MR.cjs.map} +1 -1
  284. package/dist/{radio-group-zSO0AkJf.js → radio-group-CyRHgIF3.js} +7 -6
  285. package/dist/{radio-group-zSO0AkJf.js.map → radio-group-CyRHgIF3.js.map} +1 -1
  286. package/dist/radio-group.cjs +1 -1
  287. package/dist/radio-group.js +1 -1
  288. package/dist/range.cjs +4 -4
  289. package/dist/range.cjs.map +1 -1
  290. package/dist/range.js +4 -3
  291. package/dist/range.js.map +1 -1
  292. package/dist/{reduced-motion-D-L12p7G.js.map → reduced-motion-B83yZbcO.js.map} +1 -1
  293. package/dist/{reduced-motion-Ds05GPyz.cjs.map → reduced-motion-DR32yKEO.cjs.map} +1 -1
  294. package/dist/{rxjs-utils-BSjmI9-Q.js.map → rxjs-utils-Bldch1RO.js.map} +1 -1
  295. package/dist/{rxjs-utils-DCsfzeap.cjs.map → rxjs-utils-hAgKC7vk.cjs.map} +1 -1
  296. package/dist/rxjs-utils.cjs +1 -1
  297. package/dist/rxjs-utils.js +1 -1
  298. package/dist/{scroll-QMCmbbDv.cjs → scroll-C_iNOi7E.cjs} +2 -2
  299. package/dist/{scroll-QMCmbbDv.cjs.map → scroll-C_iNOi7E.cjs.map} +1 -1
  300. package/dist/{scroll-cBDzye64.js → scroll-DoliwpRu.js} +7 -6
  301. package/dist/{scroll-cBDzye64.js.map → scroll-DoliwpRu.js.map} +1 -1
  302. package/dist/{search-C4dFHYbX.js.map → search-BlGJ6uJv.js.map} +1 -1
  303. package/dist/{search-Ds8tt7Et.cjs.map → search-C8eAOzBm.cjs.map} +1 -1
  304. package/dist/{select-Ct37l3lg.cjs → select-CWWuZ2iJ.cjs} +2 -2
  305. package/dist/{select-Ct37l3lg.cjs.map → select-CWWuZ2iJ.cjs.map} +1 -1
  306. package/dist/{select-c6HbWvKP.js → select-_vHPXi30.js} +3 -3
  307. package/dist/{select-c6HbWvKP.js.map → select-_vHPXi30.js.map} +1 -1
  308. package/dist/select.cjs +1 -1
  309. package/dist/select.js +1 -1
  310. package/dist/{sheet-BMXcUiIm.js → sheet-i1KtxGIj.js} +5 -5
  311. package/dist/{sheet-BMXcUiIm.js.map → sheet-i1KtxGIj.js.map} +1 -1
  312. package/dist/{sheet-CQec-bCV.cjs → sheet-r0oEYIdi.cjs} +2 -2
  313. package/dist/{sheet-CQec-bCV.cjs.map → sheet-r0oEYIdi.cjs.map} +1 -1
  314. package/dist/sheet.cjs +1 -1
  315. package/dist/sheet.js +2 -2
  316. package/dist/{sheet.service-Dumvr1HT.cjs → sheet.service-Cr13Oo6G.cjs} +1 -1
  317. package/dist/{sheet.service-Dumvr1HT.cjs.map → sheet.service-Cr13Oo6G.cjs.map} +1 -1
  318. package/dist/{sheet.service-BcPV3Du4.js → sheet.service-DUO5_kmI.js} +3 -3
  319. package/dist/{sheet.service-BcPV3Du4.js.map → sheet.service-DUO5_kmI.js.map} +1 -1
  320. package/dist/skeleton.cjs +33 -0
  321. package/dist/skeleton.cjs.map +1 -0
  322. package/dist/skeleton.js +58 -0
  323. package/dist/skeleton.js.map +1 -0
  324. package/dist/skills/INDEX.md +7 -6
  325. package/dist/skills/breadcrumb.md +53 -0
  326. package/dist/skills/kbd.md +40 -0
  327. package/dist/skills/schmancy/INDEX.md +7 -6
  328. package/dist/skills/schmancy/breadcrumb.md +53 -0
  329. package/dist/skills/schmancy/kbd.md +40 -0
  330. package/dist/skills/schmancy/skeleton.md +40 -0
  331. package/dist/skills/schmancy/splash-screen.md +60 -0
  332. package/dist/skills/schmancy/switch.md +58 -0
  333. package/dist/skills/schmancy/tooltip.md +1 -1
  334. package/dist/skills/schmancy/visually-hidden.md +41 -0
  335. package/dist/skills/skeleton.md +40 -0
  336. package/dist/skills/splash-screen.md +60 -0
  337. package/dist/skills/switch.md +58 -0
  338. package/dist/skills/tooltip.md +1 -1
  339. package/dist/skills/visually-hidden.md +41 -0
  340. package/dist/slider.cjs +3 -3
  341. package/dist/slider.cjs.map +1 -1
  342. package/dist/slider.js +2 -2
  343. package/dist/{sound.service-Bu3EQLv2.cjs → sound.service-BjSoGjmT.cjs} +1 -1
  344. package/dist/{sound.service-Bu3EQLv2.cjs.map → sound.service-BjSoGjmT.cjs.map} +1 -1
  345. package/dist/{sound.service-m3BrSfuH.js → sound.service-cdkw3Wkv.js} +1 -1
  346. package/dist/{sound.service-m3BrSfuH.js.map → sound.service-cdkw3Wkv.js.map} +1 -1
  347. package/dist/splash-screen-CquyPP1C.cjs +41 -0
  348. package/dist/splash-screen-CquyPP1C.cjs.map +1 -0
  349. package/dist/splash-screen-CvucPkpD.js +83 -0
  350. package/dist/splash-screen-CvucPkpD.js.map +1 -0
  351. package/dist/splash-screen.cjs +1 -0
  352. package/dist/splash-screen.js +1 -0
  353. package/dist/src-Bemk2C2P.cjs +269 -0
  354. package/dist/{src-BtQVyqMy.cjs.map → src-Bemk2C2P.cjs.map} +1 -1
  355. package/dist/{src-BLngW2bl.js → src-f5a3W9Mj.js} +98 -91
  356. package/dist/{src-BLngW2bl.js.map → src-f5a3W9Mj.js.map} +1 -1
  357. package/dist/steps.cjs +10 -10
  358. package/dist/steps.cjs.map +1 -1
  359. package/dist/steps.js +10 -9
  360. package/dist/steps.js.map +1 -1
  361. package/dist/{store-DYqDLAvT.js.map → store-Bmj6rvZY.js.map} +1 -1
  362. package/dist/{store-CorvD3bT.cjs.map → store-CO4nJyGj.cjs.map} +1 -1
  363. package/dist/store.cjs +1 -1
  364. package/dist/store.js +1 -1
  365. package/dist/surface-CDufon40.cjs +7 -0
  366. package/dist/{surface-BjKZoJxK.cjs.map → surface-CDufon40.cjs.map} +1 -1
  367. package/dist/surface-CkEYJCae.js +22 -0
  368. package/dist/{surface-pK8hME5c.js.map → surface-CkEYJCae.js.map} +1 -1
  369. package/dist/surface.cjs +1 -1
  370. package/dist/surface.js +1 -1
  371. package/dist/{surface.mixin-C5sDI1-_.cjs → surface.mixin-CSKqQH-0.cjs} +2 -2
  372. package/dist/{surface.mixin-C5sDI1-_.cjs.map → surface.mixin-CSKqQH-0.cjs.map} +1 -1
  373. package/dist/{surface.mixin-CBNRpJum.js → surface.mixin-DqMwoddO.js} +1 -1
  374. package/dist/{surface.mixin-CBNRpJum.js.map → surface.mixin-DqMwoddO.js.map} +1 -1
  375. package/dist/switch.cjs +69 -0
  376. package/dist/switch.cjs.map +1 -0
  377. package/dist/switch.js +132 -0
  378. package/dist/switch.js.map +1 -0
  379. package/dist/{table-CiqgZzSd.cjs → table-DWc1mkpj.cjs} +3 -3
  380. package/dist/{table-CiqgZzSd.cjs.map → table-DWc1mkpj.cjs.map} +1 -1
  381. package/dist/{table-BXIHX9h4.js → table-P6VGG7NK.js} +4 -4
  382. package/dist/{table-BXIHX9h4.js.map → table-P6VGG7NK.js.map} +1 -1
  383. package/dist/table.cjs +1 -1
  384. package/dist/table.js +1 -1
  385. package/dist/{tabs-nbV5eblZ.js → tabs-CjGjGrqY.js} +13 -12
  386. package/dist/{tabs-nbV5eblZ.js.map → tabs-CjGjGrqY.js.map} +1 -1
  387. package/dist/{tabs-CKa-W4qA.cjs → tabs-DGJEKuhC.cjs} +4 -4
  388. package/dist/{tabs-CKa-W4qA.cjs.map → tabs-DGJEKuhC.cjs.map} +1 -1
  389. package/dist/tabs.cjs +1 -1
  390. package/dist/tabs.js +1 -1
  391. package/dist/{tailwind.mixin-BF1Huas7.cjs → tailwind.mixin-Cpa-VnnX.cjs} +2 -2
  392. package/dist/tailwind.mixin-Cpa-VnnX.cjs.map +1 -0
  393. package/dist/{tailwind.mixin-BCJOOX1_.js → tailwind.mixin-DufHBjmb.js} +57 -63
  394. package/dist/tailwind.mixin-DufHBjmb.js.map +1 -0
  395. package/dist/teleport.cjs +1 -1
  396. package/dist/teleport.js +1 -1
  397. package/dist/{textarea-D7q8exMg.js → textarea-DZT_Ofp5.js} +42 -28
  398. package/dist/textarea-DZT_Ofp5.js.map +1 -0
  399. package/dist/textarea-jmTOXrzl.cjs +39 -0
  400. package/dist/textarea-jmTOXrzl.cjs.map +1 -0
  401. package/dist/textarea.cjs +1 -1
  402. package/dist/textarea.js +1 -1
  403. package/dist/theme-CCKqaksQ.cjs +181 -0
  404. package/dist/{theme-Da4SPq9X.cjs.map → theme-CCKqaksQ.cjs.map} +1 -1
  405. package/dist/{theme-_VPV6Bxh.js → theme-CEc32pAv.js} +13 -12
  406. package/dist/{theme-_VPV6Bxh.js.map → theme-CEc32pAv.js.map} +1 -1
  407. package/dist/theme-button-BsJcv-Zv.cjs +8 -0
  408. package/dist/{theme-button-Ci8VQ7KW.cjs.map → theme-button-BsJcv-Zv.cjs.map} +1 -1
  409. package/dist/{theme-button--sX8A-m1.js → theme-button-dOiAvdKU.js} +4 -3
  410. package/dist/{theme-button--sX8A-m1.js.map → theme-button-dOiAvdKU.js.map} +1 -1
  411. package/dist/theme-button.cjs +1 -1
  412. package/dist/theme-button.js +1 -1
  413. package/dist/theme.cjs +1 -1
  414. package/dist/{theme.events-Cv7N4Toe.js.map → theme.events-Bw3mYjUA.js.map} +1 -1
  415. package/dist/{theme.events-DM4H5F2d.cjs.map → theme.events-EznKK2Y0.cjs.map} +1 -1
  416. package/dist/{theme.interface-Da23QAYb.cjs.map → theme.interface-CM26m9te.cjs.map} +1 -1
  417. package/dist/{theme.interface-CXloMUCw.js.map → theme.interface-FAUIgbIq.js.map} +1 -1
  418. package/dist/theme.js +5 -5
  419. package/dist/{theme.service-C_tjlqgy.cjs → theme.service-ETiKUwVy.cjs} +1 -1
  420. package/dist/{theme.service-C_tjlqgy.cjs.map → theme.service-ETiKUwVy.cjs.map} +1 -1
  421. package/dist/{theme.service-D9lEas89.js → theme.service-_qP5WvB9.js} +2 -2
  422. package/dist/{theme.service-D9lEas89.js.map → theme.service-_qP5WvB9.js.map} +1 -1
  423. package/dist/tooltip.cjs +1 -6
  424. package/dist/tooltip.cjs.map +1 -1
  425. package/dist/tooltip.js +51 -135
  426. package/dist/tooltip.js.map +1 -1
  427. package/dist/tree.cjs +14 -5
  428. package/dist/tree.cjs.map +1 -1
  429. package/dist/tree.js +28 -6
  430. package/dist/tree.js.map +1 -1
  431. package/dist/tslib.es6-Bd-92OW3.cjs +1 -0
  432. package/dist/{tslib.es6-D7BIeDVB.cjs.map → tslib.es6-Bd-92OW3.cjs.map} +1 -1
  433. package/dist/tslib.es6-CI1onEZb.js +7 -0
  434. package/dist/{tslib.es6-ErZEp3OO.js.map → tslib.es6-CI1onEZb.js.map} +1 -1
  435. package/dist/typewriter-ByIL2Mh-.cjs +123 -0
  436. package/dist/{typewriter-B2TnHPjw.cjs.map → typewriter-ByIL2Mh-.cjs.map} +1 -1
  437. package/dist/{typewriter-BrZNa8T-.js → typewriter-vOQ3bDLb.js} +8 -7
  438. package/dist/{typewriter-BrZNa8T-.js.map → typewriter-vOQ3bDLb.js.map} +1 -1
  439. package/dist/typewriter.cjs +1 -1
  440. package/dist/typewriter.js +1 -1
  441. package/dist/typography.cjs +4 -4
  442. package/dist/typography.cjs.map +1 -1
  443. package/dist/typography.js +10 -9
  444. package/dist/typography.js.map +1 -1
  445. package/dist/{utils-CoU7M2YS.js → utils-Cq0m3LYo.js} +3 -3
  446. package/dist/{utils-CoU7M2YS.js.map → utils-Cq0m3LYo.js.map} +1 -1
  447. package/dist/{utils-BcaKtQuA.cjs → utils-D2kE-6zc.cjs} +1 -1
  448. package/dist/{utils-BcaKtQuA.cjs.map → utils-D2kE-6zc.cjs.map} +1 -1
  449. package/dist/utils.cjs +1 -1
  450. package/dist/utils.js +5 -5
  451. package/dist/visually-hidden.cjs +13 -0
  452. package/dist/visually-hidden.cjs.map +1 -0
  453. package/dist/visually-hidden.js +24 -0
  454. package/dist/visually-hidden.js.map +1 -0
  455. package/dist/{window-Uii13x_r.cjs → window-BS7ZQjgH.cjs} +2 -2
  456. package/dist/window-BS7ZQjgH.cjs.map +1 -0
  457. package/dist/{window-CM1ycigo.js → window-WnAihpsA.js} +7 -7
  458. package/dist/window-WnAihpsA.js.map +1 -0
  459. package/dist/window.cjs +1 -1
  460. package/dist/window.js +1 -1
  461. package/package.json +22 -28
  462. package/skills/schmancy/INDEX.md +7 -6
  463. package/skills/schmancy/breadcrumb.md +53 -0
  464. package/skills/schmancy/kbd.md +40 -0
  465. package/skills/schmancy/skeleton.md +40 -0
  466. package/skills/schmancy/splash-screen.md +60 -0
  467. package/skills/schmancy/switch.md +58 -0
  468. package/skills/schmancy/tooltip.md +1 -1
  469. package/skills/schmancy/visually-hidden.md +41 -0
  470. package/src/audio/emotional-sounds.ts +2 -4
  471. package/src/autocomplete/autocomplete.ts +52 -2
  472. package/src/breadcrumb/breadcrumb.ts +109 -0
  473. package/src/breadcrumb/index.ts +1 -0
  474. package/src/button/button.ts +40 -0
  475. package/src/button/icon-button.ts +2 -1
  476. package/src/checkbox/checkbox.test.ts +113 -0
  477. package/src/checkbox/checkbox.ts +41 -1
  478. package/src/chips/filter-chip.ts +15 -0
  479. package/src/chips/input-chip.ts +7 -0
  480. package/src/date-range/date-range-helpers.ts +0 -71
  481. package/src/dialog/dialog-base.mixin.ts +11 -0
  482. package/src/dialog/dialog.component.ts +28 -8
  483. package/src/dropdown/dropdown-content.ts +3 -1
  484. package/src/form/form.test.ts +137 -0
  485. package/src/form/form.ts +142 -158
  486. package/src/form/index.ts +2 -2
  487. package/src/icons/icon.ts +1 -0
  488. package/src/index.ts +6 -0
  489. package/src/kbd/index.ts +1 -0
  490. package/src/kbd/kbd.ts +59 -0
  491. package/src/skeleton/index.ts +1 -0
  492. package/src/skeleton/skeleton.ts +78 -0
  493. package/src/splash-screen/index.ts +1 -0
  494. package/src/splash-screen/splash-screen.ts +154 -0
  495. package/src/switch/index.ts +1 -0
  496. package/src/switch/switch.test.ts +93 -0
  497. package/src/switch/switch.ts +180 -0
  498. package/src/test-utils/a11y.ts +35 -0
  499. package/src/textarea/textarea.ts +32 -2
  500. package/src/tooltip/index.ts +1 -2
  501. package/src/tree/tree.ts +27 -2
  502. package/src/visually-hidden/index.ts +1 -0
  503. package/src/visually-hidden/visually-hidden.ts +39 -0
  504. package/src/window/window-position.ts +1 -74
  505. package/types/mixins/formField.mixin.d.ts +15 -8
  506. package/types/src/audio/emotional-sounds.d.ts +0 -2
  507. package/types/src/autocomplete/autocomplete.d.ts +7 -0
  508. package/types/src/breadcrumb/breadcrumb.d.ts +38 -0
  509. package/types/src/breadcrumb/index.d.ts +1 -0
  510. package/types/src/button/button.d.ts +7 -0
  511. package/types/src/button/icon-button.d.ts +2 -1
  512. package/types/src/checkbox/checkbox.d.ts +6 -0
  513. package/types/src/checkbox/checkbox.test.d.ts +1 -0
  514. package/types/src/chips/filter-chip.d.ts +3 -0
  515. package/types/src/chips/input-chip.d.ts +1 -0
  516. package/types/src/date-range/date-range-helpers.d.ts +0 -12
  517. package/types/src/dialog/dialog.component.d.ts +6 -0
  518. package/types/src/dropdown/dropdown-content.d.ts +3 -1
  519. package/types/src/form/form-v2.d.ts +12 -63
  520. package/types/src/form/form.d.ts +58 -40
  521. package/types/src/form/form.test.d.ts +4 -0
  522. package/types/src/form/index.d.ts +1 -1
  523. package/types/src/icons/icon.d.ts +1 -0
  524. package/types/src/index.d.ts +6 -0
  525. package/types/src/kbd/index.d.ts +1 -0
  526. package/types/src/kbd/kbd.d.ts +25 -0
  527. package/types/src/skeleton/index.d.ts +1 -0
  528. package/types/src/skeleton/skeleton.d.ts +27 -0
  529. package/types/src/splash-screen/index.d.ts +1 -0
  530. package/types/src/splash-screen/splash-screen.d.ts +60 -0
  531. package/types/src/switch/index.d.ts +1 -0
  532. package/types/src/switch/switch.d.ts +54 -0
  533. package/types/src/switch/switch.test.d.ts +1 -0
  534. package/types/src/test-utils/a11y.d.ts +11 -0
  535. package/types/src/textarea/textarea.d.ts +5 -1
  536. package/types/src/tooltip/index.d.ts +0 -1
  537. package/types/src/tree/tree.d.ts +5 -0
  538. package/types/src/visually-hidden/index.d.ts +1 -0
  539. package/types/src/visually-hidden/visually-hidden.d.ts +21 -0
  540. package/types/src/window/window-position.d.ts +1 -35
  541. package/dist/audio-DtYYgzYD.cjs.map +0 -1
  542. package/dist/audio-kz8UgPTO.js.map +0 -1
  543. package/dist/autocomplete-5rVhbieU.cjs +0 -111
  544. package/dist/autocomplete-5rVhbieU.cjs.map +0 -1
  545. package/dist/autocomplete-BllPQwr8.js.map +0 -1
  546. package/dist/chips-B19XS8Xc.cjs.map +0 -1
  547. package/dist/chips-B9oAEfE_.js.map +0 -1
  548. package/dist/components-CyD6a7gQ.cjs +0 -73
  549. package/dist/date-range-Sfyco9-n.js.map +0 -1
  550. package/dist/date-range-ZAaQB22I.cjs.map +0 -1
  551. package/dist/date-range-inline-m7nLjOMI.cjs +0 -43
  552. package/dist/delay-7boauN6N.cjs +0 -9
  553. package/dist/float-D5rNC82i.cjs +0 -1
  554. package/dist/form-BqN1AGFj.cjs +0 -1
  555. package/dist/form-BqN1AGFj.cjs.map +0 -1
  556. package/dist/form-CajC5HnO.js +0 -270
  557. package/dist/form-CajC5HnO.js.map +0 -1
  558. package/dist/icons-B57_93VV.cjs.map +0 -1
  559. package/dist/icons-BDqiGXrO.js.map +0 -1
  560. package/dist/input-chip-Dy-AiP55.cjs.map +0 -1
  561. package/dist/input-chip-QejNcRnS.js.map +0 -1
  562. package/dist/layout-DNYG3phx.cjs +0 -17
  563. package/dist/notification-CZFEhWxc.cjs +0 -23
  564. package/dist/radio-group-Cspwd-Vw.cjs +0 -40
  565. package/dist/src-BtQVyqMy.cjs +0 -269
  566. package/dist/surface-BjKZoJxK.cjs +0 -7
  567. package/dist/surface-pK8hME5c.js +0 -21
  568. package/dist/tailwind.mixin-BCJOOX1_.js.map +0 -1
  569. package/dist/tailwind.mixin-BF1Huas7.cjs.map +0 -1
  570. package/dist/textarea-Cp1ZE60O.cjs +0 -35
  571. package/dist/textarea-Cp1ZE60O.cjs.map +0 -1
  572. package/dist/textarea-D7q8exMg.js.map +0 -1
  573. package/dist/theme-Da4SPq9X.cjs +0 -181
  574. package/dist/theme-button-Ci8VQ7KW.cjs +0 -8
  575. package/dist/typewriter-B2TnHPjw.cjs +0 -123
  576. package/dist/window-CM1ycigo.js.map +0 -1
  577. package/dist/window-Uii13x_r.cjs.map +0 -1
  578. package/mixins/baseElement.ts +0 -190
  579. package/mixins/constructor.ts +0 -3
  580. package/mixins/discovery.service.ts +0 -221
  581. package/mixins/formField.mixin.ts +0 -228
  582. package/mixins/index.ts +0 -7
  583. package/mixins/litElement.mixin.ts +0 -15
  584. package/mixins/scss.d.ts +0 -21
  585. package/mixins/surface.mixin.ts +0 -93
  586. package/mixins/tailwind.css +0 -549
  587. package/mixins/tailwind.mixin.ts +0 -30
  588. package/src/form/form-v2.ts +0 -268
  589. package/src/layout/v2/grid.ts +0 -93
  590. package/src/notification/outlet.ts +0 -16
  591. package/src/store/immer-integration.ts +0 -99
  592. package/src/tooltip/tooltip.ts +0 -216
  593. /package/dist/{animation-CO_Csq84.cjs → animation-Bcwh107v.cjs} +0 -0
  594. /package/dist/{animation-BK-8BwY8.js → animation-CXKSuUoE.js} +0 -0
  595. /package/dist/{tslib.es6-ErZEp3OO.js → decorate-D_utPUsC.js} +0 -0
  596. /package/dist/{tslib.es6-D7BIeDVB.cjs → decorate-F9CuyeHg.cjs} +0 -0
  597. /package/dist/{flow-CUj0fDT_.js → flow-CqgDEIqK.js} +0 -0
  598. /package/dist/{flow-Bbwn6dRN.cjs → flow-DSu4PLt1.cjs} +0 -0
  599. /package/dist/{hashContent-DaeGmY-p.cjs → hashContent-kKvXKFa9.cjs} +0 -0
  600. /package/dist/{hashContent-DYM21p6t.js → hashContent-nD2uWwi2.js} +0 -0
  601. /package/dist/{intersection-CZpaIHeT.cjs → intersection-D1v1UCVv.cjs} +0 -0
  602. /package/dist/{intersection-BPLpqYEd.js → intersection-LfEsy29T.js} +0 -0
  603. /package/dist/{overlay-stack-DQey9Qph.cjs → overlay-stack-CEYGD9T1.cjs} +0 -0
  604. /package/dist/{overlay-stack-DT1SdaGW.js → overlay-stack-Ca4EK2Mu.js} +0 -0
  605. /package/dist/{reduced-motion-D-L12p7G.js → reduced-motion-B83yZbcO.js} +0 -0
  606. /package/dist/{reduced-motion-Ds05GPyz.cjs → reduced-motion-DR32yKEO.cjs} +0 -0
  607. /package/dist/{rxjs-utils-BSjmI9-Q.js → rxjs-utils-Bldch1RO.js} +0 -0
  608. /package/dist/{rxjs-utils-DCsfzeap.cjs → rxjs-utils-hAgKC7vk.cjs} +0 -0
  609. /package/dist/{search-C4dFHYbX.js → search-BlGJ6uJv.js} +0 -0
  610. /package/dist/{search-Ds8tt7Et.cjs → search-C8eAOzBm.cjs} +0 -0
  611. /package/dist/{store-DYqDLAvT.js → store-Bmj6rvZY.js} +0 -0
  612. /package/dist/{store-CorvD3bT.cjs → store-CO4nJyGj.cjs} +0 -0
  613. /package/dist/{theme.events-Cv7N4Toe.js → theme.events-Bw3mYjUA.js} +0 -0
  614. /package/dist/{theme.events-DM4H5F2d.cjs → theme.events-EznKK2Y0.cjs} +0 -0
  615. /package/dist/{theme.interface-Da23QAYb.cjs → theme.interface-CM26m9te.cjs} +0 -0
  616. /package/dist/{theme.interface-CXloMUCw.js → theme.interface-FAUIgbIq.js} +0 -0
@@ -0,0 +1,60 @@
1
+ # schmancy-splash-screen
2
+
3
+ > Full-viewport splash overlay that fades out once ready; consumer supplies the visuals.
4
+
5
+ ## Usage
6
+ ```html
7
+ <schmancy-splash-screen min-duration="1200">
8
+ <my-logo slot="splash"></my-logo>
9
+ <my-app></my-app>
10
+ </schmancy-splash-screen>
11
+ ```
12
+
13
+ The `splash` slot holds the overlay content (logo, animation, whatever). The default slot is the real app, revealed after the splash dismisses. The overlay is empty by default — no built-in spinner, no hidden dependencies. Bring your own visuals.
14
+
15
+ ## Properties
16
+ | Property | Type | Default | Description |
17
+ |----------|------|---------|-------------|
18
+ | minDuration | number | `1500` | Minimum ms the splash stays visible (prevents flash on fast loads). |
19
+ | auto | boolean | `false` | When true, dismiss on the `minDuration` timer alone. When false, also wait for a `ready` signal. |
20
+ | initiallyHidden | boolean | `false` | When true, the splash starts hidden. Use with `show()` for imperative control (e.g. between route transitions). |
21
+
22
+ ## Methods
23
+ | Method | Description |
24
+ |--------|-------------|
25
+ | `ready()` | Signal that the app is ready — dismisses once `minDuration` has also elapsed. |
26
+ | `show()` | Force the splash back on (e.g. re-show between route transitions). |
27
+
28
+ ## Events
29
+ | Event | Detail | Description |
30
+ |-------|--------|-------------|
31
+ | schmancy-splash-done | `void` | Fires when the splash finishes dismissing. |
32
+
33
+ ## CSS custom properties
34
+ | Property | Default | Description |
35
+ |----------|---------|-------------|
36
+ | `--schmancy-splash-background` | `var(--schmancy-sys-color-surface-containerLowest, #000)` | Splash layer background. |
37
+ | `--schmancy-splash-transition` | `500ms` | Fade duration. |
38
+
39
+ ## Examples
40
+ ```html
41
+ <!-- Wait for explicit ready signal (default) -->
42
+ <schmancy-splash-screen min-duration="800">
43
+ <img slot="splash" src="/logo.svg" />
44
+ <main-app></main-app>
45
+ </schmancy-splash-screen>
46
+ ```
47
+
48
+ ```typescript
49
+ // Imperative: signal ready when data loads
50
+ const splash = document.querySelector('schmancy-splash-screen')!
51
+ dataStore.loaded$.subscribe(() => splash.ready())
52
+ ```
53
+
54
+ ```html
55
+ <!-- Auto mode: dismisses purely on the timer -->
56
+ <schmancy-splash-screen min-duration="1200" auto>
57
+ <schmancy-typography type="display" token="lg" slot="splash">Welcome</schmancy-typography>
58
+ <app-shell></app-shell>
59
+ </schmancy-splash-screen>
60
+ ```
@@ -0,0 +1,58 @@
1
+ # schmancy-switch
2
+
3
+ > Binary on/off control. Form-associated, ARIA `role="switch"`. Use for immediate state changes; use `<schmancy-checkbox>` for form selections.
4
+
5
+ ## Usage
6
+ ```html
7
+ <schmancy-switch name="notifications" label="Email notifications" @change=${(e) => handle(e.detail.value)}>
8
+ </schmancy-switch>
9
+ ```
10
+
11
+ ## Properties
12
+ | Property | Type | Default | Description |
13
+ |----------|------|---------|-------------|
14
+ | checked | boolean | `false` | Current on/off state. Reflected as attribute. |
15
+ | name | string | `''` | Form submission name. |
16
+ | value | string | `'on'` | Value submitted when checked. |
17
+ | label | string | `''` | ARIA label on the inner button; also used by axe. |
18
+ | required | boolean | `false` | Must be on for form validity. |
19
+ | disabled | boolean | `false` | Disables interaction. |
20
+
21
+ ## Events
22
+ | Event | Detail | Description |
23
+ |-------|--------|-------------|
24
+ | change | `{ value: boolean }` | Fires when the state toggles (via click or Enter/Space). |
25
+
26
+ ## Parts
27
+ | Part | Description |
28
+ |------|-------------|
29
+ | track | Background track element. |
30
+ | thumb | Moving thumb element. |
31
+
32
+ ## States
33
+ | State | When |
34
+ |-------|------|
35
+ | `:state(checked)` | While the switch is on. Target via `schmancy-switch:state(checked) { … }`. |
36
+
37
+ ## Form association
38
+ Uses `ElementInternals` — participates in `<form>` submission natively. Contributes `name=value` when checked; omitted when unchecked. `formResetCallback` restores the initial `checked` attribute. `formDisabledCallback` propagates `<fieldset disabled>`.
39
+
40
+ ## Examples
41
+ ```html
42
+ <!-- Inside a form -->
43
+ <schmancy-form>
44
+ <schmancy-switch name="marketing" label="Marketing emails"></schmancy-switch>
45
+ <schmancy-switch name="product" label="Product updates" checked></schmancy-switch>
46
+ <schmancy-button type="submit">Save</schmancy-button>
47
+ </schmancy-form>
48
+ ```
49
+
50
+ ```html
51
+ <!-- Required toggle (must be on to submit) -->
52
+ <schmancy-switch name="agree" label="I agree" required></schmancy-switch>
53
+ ```
54
+
55
+ ```html
56
+ <!-- Custom submitted value -->
57
+ <schmancy-switch name="mode" value="dark" label="Dark mode"></schmancy-switch>
58
+ ```
@@ -1,6 +1,6 @@
1
1
  # tooltip (directive)
2
2
 
3
- > Lit directive that adds a positioned tooltip to any element on hover/focus.
3
+ > Lit directive that adds a positioned tooltip to any element on hover/focus. The `<schmancy-tooltip>` component was removed — use this directive.
4
4
 
5
5
  ## Usage
6
6
  ```typescript
@@ -0,0 +1,41 @@
1
+ # schmancy-visually-hidden
2
+
3
+ > Hide content visually while keeping it in the accessibility tree. For screen-reader-only labels, supplemental descriptions, and live-region text.
4
+
5
+ ## Usage
6
+ ```html
7
+ <button>
8
+ <schmancy-icon>close</schmancy-icon>
9
+ <schmancy-visually-hidden>Close dialog</schmancy-visually-hidden>
10
+ </button>
11
+ ```
12
+
13
+ ## Why not `display: none` / `visibility: hidden` / `aria-hidden`?
14
+ Those remove content from assistive tech too. `<schmancy-visually-hidden>` uses the WCAG-recommended clip pattern, so screen readers still read the content while sighted users don't see it.
15
+
16
+ ## Properties
17
+ None. Pure wrapper.
18
+
19
+ ## Examples
20
+ ```html
21
+ <!-- Icon-only button label -->
22
+ <schmancy-icon-button>
23
+ <schmancy-icon>delete</schmancy-icon>
24
+ <schmancy-visually-hidden>Delete item</schmancy-visually-hidden>
25
+ </schmancy-icon-button>
26
+ ```
27
+
28
+ ```html
29
+ <!-- Additional context for links -->
30
+ <a href="/article/42">
31
+ Read more
32
+ <schmancy-visually-hidden>about quarterly earnings</schmancy-visually-hidden>
33
+ </a>
34
+ ```
35
+
36
+ ```html
37
+ <!-- Live region announcements -->
38
+ <schmancy-visually-hidden role="status" aria-live="polite">
39
+ ${this.status}
40
+ </schmancy-visually-hidden>
41
+ ```
@@ -78,10 +78,8 @@ export type Feeling =
78
78
  | HappyFeeling | SadFeeling | AnxiousFeeling | AngryFeeling
79
79
  | TiredFeeling | CalmFeeling | ConnectedFeeling | MixedFeeling
80
80
 
81
- /** Feeling category */
82
- export type FeelingCategory =
83
- | 'happy' | 'sad' | 'anxious' | 'angry'
84
- | 'tired' | 'calm' | 'connected' | 'mixed'
81
+ // FeelingCategory is defined in ../types/mood-audio.types.ts and re-exported
82
+ // from ./index.ts — the canonical source.
85
83
 
86
84
  // ============================================================================
87
85
  // SOUND GENERATOR
@@ -1,7 +1,7 @@
1
1
  import { $LitElement } from '@mixins/index'
2
2
  import { InputSize, SchmancyInput } from '@schmancy/input'
3
3
  import SchmancyOption from '@schmancy/option/option'
4
- import { html } from 'lit'
4
+ import { html, nothing } from 'lit'
5
5
  import { customElement, property, query, queryAssignedElements, state } from 'lit/decorators.js'
6
6
  import { classMap } from 'lit/directives/class-map.js'
7
7
  import { createRef, ref } from 'lit/directives/ref.js'
@@ -48,6 +48,40 @@ interface FilteredOption {
48
48
  */
49
49
  @customElement('schmancy-autocomplete')
50
50
  export default class SchmancyAutocomplete extends $LitElement(style) {
51
+ static formAssociated = true
52
+ internals: ElementInternals | undefined
53
+
54
+ constructor() {
55
+ super()
56
+ try {
57
+ this.internals = this.attachInternals()
58
+ } catch {
59
+ this.internals = undefined
60
+ }
61
+ }
62
+
63
+ get form(): HTMLFormElement | null {
64
+ return this.internals?.form ?? null
65
+ }
66
+
67
+ formResetCallback(): void {
68
+ if (this.multi) {
69
+ this._selectedValues$.next([])
70
+ } else {
71
+ this._selectedValue$.next('')
72
+ }
73
+ this._inputValue = ''
74
+ this._inputValue$.next('')
75
+ this.error = false
76
+ this.validationMessage = ''
77
+ }
78
+
79
+ formDisabledCallback(disabled: boolean): void {
80
+ // The component does not expose a disabled prop directly; propagate via attribute.
81
+ if (disabled) this.setAttribute('disabled', '')
82
+ else this.removeAttribute('disabled')
83
+ }
84
+
51
85
  // Track whether value/values have been explicitly set
52
86
  _valueSet: boolean = false
53
87
  _valuesSet: boolean = false
@@ -67,6 +101,8 @@ export default class SchmancyAutocomplete extends $LitElement(style) {
67
101
  @property({ type: Boolean }) error = false
68
102
  @property({ type: String }) validationMessage = ''
69
103
 
104
+ private readonly _a11yId = `schmancy-autocomplete-${Math.random().toString(36).slice(2, 10)}`
105
+
70
106
  // Values property for multi-select mode
71
107
  @property({ type: Array })
72
108
  get values() {
@@ -139,6 +175,16 @@ export default class SchmancyAutocomplete extends $LitElement(style) {
139
175
  ]).pipe(
140
176
  tap(([selectedValue, selectedValues]) => {
141
177
  this._updateOptionSelection(selectedValue, selectedValues)
178
+ // Keep ElementInternals form value in sync with selection (single and multi).
179
+ const formValue = this.multi ? selectedValues.join(',') : selectedValue
180
+ this.internals?.setFormValue(formValue || null)
181
+ if (this.required) {
182
+ const missing = this.multi ? selectedValues.length === 0 : !selectedValue
183
+ this.internals?.setValidity(
184
+ missing ? { valueMissing: true } : {},
185
+ missing ? this.validationMessage || 'Please select an option.' : undefined,
186
+ )
187
+ }
142
188
  }),
143
189
  takeUntil(this.disconnecting)
144
190
  ).subscribe()
@@ -494,6 +540,10 @@ export default class SchmancyAutocomplete extends $LitElement(style) {
494
540
  .placeholder=${this._selectedValues$.value.length > 0 ? 'Add more...' : this.placeholder}
495
541
  .value=${this._inputValue}
496
542
  .autocomplete=${this.autocomplete}
543
+ aria-invalid=${this.error ? 'true' : 'false'}
544
+ aria-required=${this.required ? 'true' : 'false'}
545
+ aria-describedby=${this.error && this.validationMessage ? `${this._a11yId}-err` : nothing}
546
+ aria-label=${!this.label && this.placeholder ? this.placeholder : nothing}
497
547
  @input=${(e: Event) => {
498
548
  const value = (e.target as HTMLInputElement).value
499
549
  this._inputValue = value
@@ -517,7 +567,7 @@ export default class SchmancyAutocomplete extends $LitElement(style) {
517
567
 
518
568
  <!-- Validation message -->
519
569
  ${when(this.error && this.validationMessage, () => html`
520
- <div class="mt-1 text-sm text-error-default">
570
+ <div id="${this._a11yId}-err" class="mt-1 text-sm text-error-default" role="alert">
521
571
  ${this.validationMessage}
522
572
  </div>
523
573
  `)}
@@ -0,0 +1,109 @@
1
+ import { TailwindElement } from '@mixins/index'
2
+ import { css, html } from 'lit'
3
+ import { customElement, property } from 'lit/decorators.js'
4
+
5
+ /**
6
+ * Breadcrumb navigation container. Wraps a list of `schmancy-breadcrumb-item`
7
+ * elements with the correct ARIA landmark and semantics.
8
+ *
9
+ * @element schmancy-breadcrumb
10
+ * @slot - Default slot for `<schmancy-breadcrumb-item>` children.
11
+ * @attr separator - Character or string rendered between items. Default `/`.
12
+ * @csspart separator - The separator element.
13
+ */
14
+ @customElement('schmancy-breadcrumb')
15
+ export class SchmancyBreadcrumb extends TailwindElement(css`
16
+ :host {
17
+ display: block;
18
+ }
19
+ nav {
20
+ display: flex;
21
+ flex-wrap: wrap;
22
+ align-items: center;
23
+ gap: 0.25rem;
24
+ }
25
+ .sep {
26
+ color: var(--schmancy-sys-color-surface-onVariant, #79747e);
27
+ user-select: none;
28
+ padding: 0 0.25rem;
29
+ }
30
+ ::slotted(schmancy-breadcrumb-item:last-of-type) {
31
+ font-weight: 500;
32
+ }
33
+ `) {
34
+ @property({ type: String }) separator = '/'
35
+
36
+ connectedCallback(): void {
37
+ super.connectedCallback()
38
+ if (!this.hasAttribute('aria-label')) this.setAttribute('aria-label', 'Breadcrumb')
39
+ }
40
+
41
+ render() {
42
+ // Render separators between slotted items by manipulating after render.
43
+ // The simpler approach uses the CSS adjacent-sibling pattern so the
44
+ // separator is visually present without affecting the accessible name.
45
+ return html`
46
+ <nav role="navigation">
47
+ <slot @slotchange=${() => this._insertSeparators()}></slot>
48
+ </nav>
49
+ `
50
+ }
51
+
52
+ private _insertSeparators() {
53
+ const slot = this.shadowRoot?.querySelector('slot') as HTMLSlotElement | null
54
+ if (!slot) return
55
+ const items = slot.assignedElements({ flatten: true })
56
+ // Remove any previously-inserted separators.
57
+ this.querySelectorAll('[data-schmancy-sep]').forEach(el => el.remove())
58
+ items.forEach((el, idx) => {
59
+ if (idx === items.length - 1) return
60
+ const sep = document.createElement('span')
61
+ sep.setAttribute('data-schmancy-sep', '')
62
+ sep.setAttribute('aria-hidden', 'true')
63
+ sep.setAttribute('part', 'separator')
64
+ sep.className = 'sep'
65
+ sep.textContent = this.separator
66
+ el.insertAdjacentElement('afterend', sep)
67
+ })
68
+ }
69
+ }
70
+
71
+ /**
72
+ * Individual breadcrumb item. Renders as a link when `href` is provided,
73
+ * otherwise as a plain span (represents the current page).
74
+ *
75
+ * @element schmancy-breadcrumb-item
76
+ * @slot - Label content.
77
+ * @attr href - If set, renders as an anchor.
78
+ * @attr current - Marks as `aria-current="page"`.
79
+ */
80
+ @customElement('schmancy-breadcrumb-item')
81
+ export class SchmancyBreadcrumbItem extends TailwindElement(css`
82
+ :host {
83
+ display: inline-block;
84
+ }
85
+ a, span {
86
+ color: inherit;
87
+ text-decoration: none;
88
+ }
89
+ a:hover {
90
+ text-decoration: underline;
91
+ }
92
+ `) {
93
+ @property({ type: String }) href = ''
94
+ @property({ type: Boolean, reflect: true }) current = false
95
+
96
+ render() {
97
+ if (this.href && !this.current) {
98
+ return html`<a href=${this.href}><slot></slot></a>`
99
+ }
100
+ return html`<span aria-current=${this.current ? 'page' : 'false'}><slot></slot></span>`
101
+ }
102
+ }
103
+
104
+ declare global {
105
+ interface HTMLElementTagNameMap {
106
+ 'schmancy-breadcrumb': SchmancyBreadcrumb
107
+ 'schmancy-breadcrumb-item': SchmancyBreadcrumbItem
108
+ }
109
+ }
@@ -0,0 +1 @@
1
+ export * from './breadcrumb'
@@ -19,6 +19,7 @@ export type ButtonColor = 'primary' | 'secondary' | 'success' | 'error' | 'warni
19
19
  * @slot - The default slot.
20
20
  * @slot prefix - The prefix slot.
21
21
  * @slot suffix - The suffix slot.
22
+ * @csspart base - The underlying native `<button>` (or `<a>` when `href` is set).
22
23
  */
23
24
  @customElement('schmancy-button')
24
25
  export class SchmancyButton extends $LitElement(
@@ -57,6 +58,45 @@ export class SchmancyButton extends $LitElement(
57
58
  delegatesFocus: true,
58
59
  }
59
60
 
61
+ static formAssociated = true
62
+ private internals: ElementInternals | undefined
63
+
64
+ constructor() {
65
+ super()
66
+ try {
67
+ this.internals = this.attachInternals()
68
+ } catch {
69
+ this.internals = undefined
70
+ }
71
+ // Translate clicks into native form semantics so the button works
72
+ // inside any <form>, not just inside <schmancy-form>.
73
+ this.addEventListener('click', (e: MouseEvent) => {
74
+ if (this.disabled) {
75
+ e.preventDefault()
76
+ e.stopImmediatePropagation()
77
+ return
78
+ }
79
+ const form = this.internals?.form
80
+ if (!form) return
81
+ if (this.type === 'submit') {
82
+ e.preventDefault()
83
+ form.requestSubmit()
84
+ } else if (this.type === 'reset') {
85
+ e.preventDefault()
86
+ form.reset()
87
+ }
88
+ })
89
+ }
90
+
91
+ /** Associated form, when placed inside a <form>. */
92
+ get form(): HTMLFormElement | null {
93
+ return this.internals?.form ?? null
94
+ }
95
+
96
+ formDisabledCallback(disabled: boolean): void {
97
+ this.disabled = disabled
98
+ }
99
+
60
100
  @query('[part="base"]', true)
61
101
  private nativeElement!: HTMLElement
62
102
 
@@ -9,7 +9,8 @@ import { ButtonVariant } from './button'
9
9
  /**
10
10
  * An icon button component.
11
11
  * @element schmancy-icon-button
12
- * @slot - The default slot.
12
+ * @slot - The default slot (usually an icon or glyph).
13
+ * @csspart base - The underlying native `<button>` (or `<a>` when `href` is set).
13
14
  */
14
15
  @customElement('schmancy-icon-button')
15
16
  export class SchmnacyIconButton extends $LitElement(css`
@@ -0,0 +1,113 @@
1
+ import { afterEach, beforeEach, describe, expect, it } from 'vitest'
2
+ import { expectNoA11yViolations } from '../test-utils/a11y'
3
+ import './checkbox'
4
+
5
+ describe('schmancy-checkbox', () => {
6
+ let host: HTMLDivElement
7
+
8
+ beforeEach(() => {
9
+ host = document.createElement('div')
10
+ document.body.appendChild(host)
11
+ })
12
+
13
+ afterEach(() => {
14
+ host.remove()
15
+ })
16
+
17
+ const nextUpdate = () => new Promise(r => requestAnimationFrame(() => r(null)))
18
+
19
+ it('is defined on the element registry', () => {
20
+ expect(customElements.get('schmancy-checkbox')).toBeDefined()
21
+ })
22
+
23
+ it('has no axe-core a11y violations in default state', async () => {
24
+ host.innerHTML = `<schmancy-checkbox label="Accept terms"></schmancy-checkbox>`
25
+ await nextUpdate()
26
+ await nextUpdate()
27
+ await expectNoA11yViolations(host)
28
+ })
29
+
30
+ it('has no axe-core a11y violations when required + invalid', async () => {
31
+ host.innerHTML = `
32
+ <form>
33
+ <schmancy-checkbox name="agree" label="I agree" required></schmancy-checkbox>
34
+ </form>
35
+ `
36
+ await nextUpdate()
37
+ await nextUpdate()
38
+ await expectNoA11yViolations(host)
39
+ })
40
+
41
+ it('is form-associated and exposes an ElementInternals form', async () => {
42
+ host.innerHTML = `
43
+ <form id="f">
44
+ <schmancy-checkbox name="agree" required></schmancy-checkbox>
45
+ </form>
46
+ `
47
+ const form = host.querySelector('form') as HTMLFormElement
48
+ const cb = host.querySelector('schmancy-checkbox') as HTMLElement & { value: boolean; form: HTMLFormElement | null }
49
+ await nextUpdate()
50
+ expect(cb.form).toBe(form)
51
+ })
52
+
53
+ it('contributes its value to FormData when checked', async () => {
54
+ host.innerHTML = `
55
+ <form id="f">
56
+ <schmancy-checkbox name="agree"></schmancy-checkbox>
57
+ </form>
58
+ `
59
+ const form = host.querySelector('form') as HTMLFormElement
60
+ const cb = host.querySelector('schmancy-checkbox') as HTMLElement & { value: boolean }
61
+ cb.value = true
62
+ await nextUpdate()
63
+ await nextUpdate()
64
+ const fd = new FormData(form)
65
+ expect(fd.get('agree')).toBe('on')
66
+ })
67
+
68
+ it('omits its value when unchecked', async () => {
69
+ host.innerHTML = `
70
+ <form id="f">
71
+ <schmancy-checkbox name="agree"></schmancy-checkbox>
72
+ </form>
73
+ `
74
+ const form = host.querySelector('form') as HTMLFormElement
75
+ await nextUpdate()
76
+ const fd = new FormData(form)
77
+ expect(fd.get('agree')).toBeNull()
78
+ })
79
+
80
+ it('broadcasts :state(checked) when value is true', async () => {
81
+ host.innerHTML = `<schmancy-checkbox></schmancy-checkbox>`
82
+ const cb = host.querySelector('schmancy-checkbox') as HTMLElement & { value: boolean }
83
+ cb.value = true
84
+ await nextUpdate()
85
+ await nextUpdate()
86
+ expect(cb.matches(':state(checked)')).toBe(true)
87
+ cb.value = false
88
+ await nextUpdate()
89
+ await nextUpdate()
90
+ expect(cb.matches(':state(checked)')).toBe(false)
91
+ })
92
+
93
+ it('fails constraint validation when required and unchecked', async () => {
94
+ host.innerHTML = `
95
+ <form id="f">
96
+ <schmancy-checkbox name="agree" required></schmancy-checkbox>
97
+ </form>
98
+ `
99
+ const form = host.querySelector('form') as HTMLFormElement
100
+ const cb = host.querySelector('schmancy-checkbox') as HTMLElement & {
101
+ value: boolean
102
+ checkValidity(): boolean
103
+ }
104
+ await nextUpdate()
105
+ expect(cb.checkValidity()).toBe(false)
106
+ expect(form.checkValidity()).toBe(false)
107
+ cb.value = true
108
+ await nextUpdate()
109
+ await nextUpdate()
110
+ expect(cb.checkValidity()).toBe(true)
111
+ expect(form.checkValidity()).toBe(true)
112
+ })
113
+ })
@@ -21,8 +21,17 @@ class SchmancyCheckboxElement extends TailwindElement() {
21
21
  delegatesFocus: true,
22
22
  }
23
23
  static formAssociated = true
24
- // private internals
25
24
  internals: ElementInternals | undefined
25
+
26
+ constructor() {
27
+ super()
28
+ try {
29
+ this.internals = this.attachInternals()
30
+ } catch {
31
+ // attachInternals can throw if the element does not support form association
32
+ }
33
+ }
34
+
26
35
  get form() {
27
36
  return this.internals?.form
28
37
  }
@@ -76,6 +85,37 @@ class SchmancyCheckboxElement extends TailwindElement() {
76
85
 
77
86
  connectedCallback() {
78
87
  super.connectedCallback()
88
+ this._syncFormValue()
89
+ }
90
+
91
+ updated(changed: Map<string, unknown>) {
92
+ super.updated?.(changed)
93
+ if (changed.has('value') || changed.has('name')) this._syncFormValue()
94
+ if (changed.has('required') || changed.has('value')) this._syncValidity()
95
+ if (changed.has('value')) {
96
+ if (this.value) this.internals?.states.add('checked')
97
+ else this.internals?.states.delete('checked')
98
+ }
99
+ }
100
+
101
+ private _syncFormValue() {
102
+ this.internals?.setFormValue(this.value ? (this.getAttribute('true-value') ?? 'on') : null)
103
+ }
104
+
105
+ private _syncValidity() {
106
+ if (this.required && !this.value) {
107
+ this.internals?.setValidity({ valueMissing: true }, 'Please check this box if you want to proceed.')
108
+ } else {
109
+ this.internals?.setValidity({})
110
+ }
111
+ }
112
+
113
+ public checkValidity(): boolean {
114
+ return this.internals?.checkValidity() ?? true
115
+ }
116
+
117
+ public reportValidity(): boolean {
118
+ return this.internals?.reportValidity() ?? true
79
119
  }
80
120
 
81
121
  /**
@@ -113,6 +113,21 @@ export class SchmancyFilterChip extends TailwindElement(css`
113
113
  super.connectedCallback()
114
114
  }
115
115
 
116
+ protected updated(changed: Map<string, unknown>) {
117
+ super.updated?.(changed)
118
+ if (changed.has('value') || changed.has('selected')) {
119
+ this.internals?.setFormValue(this._selected ? (this.value || 'on') : null)
120
+ }
121
+ }
122
+
123
+ formResetCallback(): void {
124
+ this._selected = this.hasAttribute('selected')
125
+ }
126
+
127
+ formDisabledCallback(disabled: boolean): void {
128
+ this.disabled = disabled
129
+ }
130
+
116
131
  private handleClick = () => {
117
132
  if (this.disabled) return
118
133
 
@@ -172,6 +172,13 @@ export class SchmancyInputChip extends TailwindElement(css`
172
172
  return this.internals?.form
173
173
  }
174
174
 
175
+ protected updated(changed: Map<string, unknown>) {
176
+ super.updated?.(changed)
177
+ if (changed.has('value')) {
178
+ this.internals?.setFormValue(this.value || null)
179
+ }
180
+ }
181
+
175
182
  connectedCallback() {
176
183
  super.connectedCallback()
177
184