@mhmo91/schmancy 0.10.35 → 0.10.37

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 (430) hide show
  1. package/custom-elements.json +1165 -1109
  2. package/dist/SchmancyElement-BHfQg3Tj.cjs +2 -0
  3. package/dist/SchmancyElement-BHfQg3Tj.cjs.map +1 -0
  4. package/dist/SchmancyElement-CDT2q1lA.js +284 -0
  5. package/dist/SchmancyElement-CDT2q1lA.js.map +1 -0
  6. package/dist/agent/schmancy.agent.js +3488 -3290
  7. package/dist/agent/schmancy.agent.js.map +1 -1
  8. package/dist/agent/schmancy.manifest.json +335 -275
  9. package/dist/{area-DviXdbDx.js → area-KtULlxuA.js} +2 -2
  10. package/dist/{area-DviXdbDx.js.map → area-KtULlxuA.js.map} +1 -1
  11. package/dist/{area-CTSTgjlx.cjs → area-fdKhYB6T.cjs} +1 -1
  12. package/dist/{area-CTSTgjlx.cjs.map → area-fdKhYB6T.cjs.map} +1 -1
  13. package/dist/area.cjs +1 -1
  14. package/dist/area.js +1 -1
  15. package/dist/{audio-Q9oB_cQR.cjs → audio-CUMAv9D_.cjs} +1 -1
  16. package/dist/{audio-Q9oB_cQR.cjs.map → audio-CUMAv9D_.cjs.map} +1 -1
  17. package/dist/{audio-DFYoaw0M.js → audio-zIJVTo_V.js} +1 -1
  18. package/dist/{audio-DFYoaw0M.js.map → audio-zIJVTo_V.js.map} +1 -1
  19. package/dist/audio.cjs +1 -1
  20. package/dist/audio.js +2 -2
  21. package/dist/{autocomplete-DmLXJr7C.cjs → autocomplete-DEZk6wBD.cjs} +1 -1
  22. package/dist/{autocomplete-DmLXJr7C.cjs.map → autocomplete-DEZk6wBD.cjs.map} +1 -1
  23. package/dist/{autocomplete-BDvuma6D.js → autocomplete-DIScyo8Q.js} +3 -3
  24. package/dist/{autocomplete-BDvuma6D.js.map → autocomplete-DIScyo8Q.js.map} +1 -1
  25. package/dist/autocomplete.cjs +1 -1
  26. package/dist/autocomplete.js +1 -1
  27. package/dist/avatar.cjs +1 -1
  28. package/dist/avatar.js +3 -3
  29. package/dist/badge.cjs +1 -1
  30. package/dist/badge.js +1 -1
  31. package/dist/{boat-lr7MPZ7H.js → boat-BHPqSqJd.js} +67 -83
  32. package/dist/boat-BHPqSqJd.js.map +1 -0
  33. package/dist/boat-OBZ77exO.cjs +34 -0
  34. package/dist/boat-OBZ77exO.cjs.map +1 -0
  35. package/dist/boat.cjs +1 -1
  36. package/dist/boat.js +1 -1
  37. package/dist/breadcrumb.cjs +1 -1
  38. package/dist/breadcrumb.js +2 -2
  39. package/dist/{busy-CgzZbGfx.cjs → busy-BJNsKSCM.cjs} +1 -1
  40. package/dist/{busy-CgzZbGfx.cjs.map → busy-BJNsKSCM.cjs.map} +1 -1
  41. package/dist/{busy-DgQ4ux5N.js → busy-Dut78y4L.js} +2 -2
  42. package/dist/{busy-DgQ4ux5N.js.map → busy-Dut78y4L.js.map} +1 -1
  43. package/dist/busy.cjs +1 -1
  44. package/dist/busy.js +1 -1
  45. package/dist/{button-DFvR1iXX.cjs → button-DzlHLjWO.cjs} +1 -1
  46. package/dist/{button-DFvR1iXX.cjs.map → button-DzlHLjWO.cjs.map} +1 -1
  47. package/dist/{button-qbN1muQ0.js → button-kcpPQavY.js} +2 -2
  48. package/dist/{button-qbN1muQ0.js.map → button-kcpPQavY.js.map} +1 -1
  49. package/dist/button.cjs +4 -4
  50. package/dist/button.cjs.map +1 -1
  51. package/dist/button.js +16 -22
  52. package/dist/button.js.map +1 -1
  53. package/dist/{card-D_GlwZ5q.cjs → card-BLxPLqdQ.cjs} +1 -1
  54. package/dist/{card-D_GlwZ5q.cjs.map → card-BLxPLqdQ.cjs.map} +1 -1
  55. package/dist/{card-DAbr-7Vy.js → card-DxSKxCid.js} +2 -2
  56. package/dist/{card-DAbr-7Vy.js.map → card-DxSKxCid.js.map} +1 -1
  57. package/dist/card.cjs +1 -1
  58. package/dist/card.js +1 -1
  59. package/dist/{checkbox-BNORaxMF.js → checkbox-B1wiM3Dv.js} +2 -2
  60. package/dist/{checkbox-BNORaxMF.js.map → checkbox-B1wiM3Dv.js.map} +1 -1
  61. package/dist/{checkbox-BUY_uc_r.cjs → checkbox-BCLkhp5G.cjs} +1 -1
  62. package/dist/{checkbox-BUY_uc_r.cjs.map → checkbox-BCLkhp5G.cjs.map} +1 -1
  63. package/dist/checkbox.cjs +1 -1
  64. package/dist/checkbox.js +1 -1
  65. package/dist/{chips-CXZ4dJCK.cjs → chips-C9dS1WKn.cjs} +44 -33
  66. package/dist/chips-C9dS1WKn.cjs.map +1 -0
  67. package/dist/{chips-Dg6Lk6BT.js → chips-vWmwqQed.js} +145 -122
  68. package/dist/chips-vWmwqQed.js.map +1 -0
  69. package/dist/chips.cjs +1 -1
  70. package/dist/chips.js +2 -2
  71. package/dist/connectivity.cjs +1 -1
  72. package/dist/connectivity.js +3 -3
  73. package/dist/content-drawer.cjs +1 -1
  74. package/dist/content-drawer.js +1 -1
  75. package/dist/{date-range-C-_be3_E.cjs → date-range-BV6HuvLw.cjs} +25 -19
  76. package/dist/date-range-BV6HuvLw.cjs.map +1 -0
  77. package/dist/{date-range-BU6WX7d5.js → date-range-D3ge1b4c.js} +129 -137
  78. package/dist/date-range-D3ge1b4c.js.map +1 -0
  79. package/dist/{date-range-inline-DJtUmHKF.cjs → date-range-inline-DpYgdLRv.cjs} +1 -1
  80. package/dist/{date-range-inline-DJtUmHKF.cjs.map → date-range-inline-DpYgdLRv.cjs.map} +1 -1
  81. package/dist/{date-range-inline-7o7xtVIu.js → date-range-inline-DuWQaWps.js} +2 -2
  82. package/dist/{date-range-inline-7o7xtVIu.js.map → date-range-inline-DuWQaWps.js.map} +1 -1
  83. package/dist/date-range-inline.cjs +1 -1
  84. package/dist/date-range-inline.js +1 -1
  85. package/dist/date-range.cjs +1 -1
  86. package/dist/date-range.js +1 -1
  87. package/dist/delay.cjs +1 -1
  88. package/dist/delay.js +2 -2
  89. package/dist/{details-EfbDPVEo.js → details-C-GZaq3j.js} +2 -2
  90. package/dist/{details-EfbDPVEo.js.map → details-C-GZaq3j.js.map} +1 -1
  91. package/dist/{details-Bs0MyyvF.cjs → details-Dp5rLIWk.cjs} +1 -1
  92. package/dist/{details-Bs0MyyvF.cjs.map → details-Dp5rLIWk.cjs.map} +1 -1
  93. package/dist/details.cjs +1 -1
  94. package/dist/details.js +1 -1
  95. package/dist/{directives-fLwDj6b0.cjs → directives-D_l1E5H6.cjs} +3 -3
  96. package/dist/directives-D_l1E5H6.cjs.map +1 -0
  97. package/dist/{directives-zi1Mm2er.js → directives-DyS51FUh.js} +37 -21
  98. package/dist/directives-DyS51FUh.js.map +1 -0
  99. package/dist/directives.cjs +1 -1
  100. package/dist/directives.js +2 -2
  101. package/dist/{divider-CdIsWZrM.cjs → divider-CBnAmHMZ.cjs} +1 -1
  102. package/dist/{divider-CdIsWZrM.cjs.map → divider-CBnAmHMZ.cjs.map} +1 -1
  103. package/dist/{divider-CEPfrIwe.js → divider-nQffE0AD.js} +2 -2
  104. package/dist/{divider-CEPfrIwe.js.map → divider-nQffE0AD.js.map} +1 -1
  105. package/dist/divider.cjs +1 -1
  106. package/dist/divider.js +1 -1
  107. package/dist/dropdown.cjs +1 -1
  108. package/dist/dropdown.js +2 -2
  109. package/dist/{expand-g1vqqUp1.js → expand-DvTb-UPR.js} +3 -3
  110. package/dist/{expand-g1vqqUp1.js.map → expand-DvTb-UPR.js.map} +1 -1
  111. package/dist/{expand--at1k3qo.cjs → expand-mlP_3XWz.cjs} +1 -1
  112. package/dist/{expand--at1k3qo.cjs.map → expand-mlP_3XWz.cjs.map} +1 -1
  113. package/dist/expand.cjs +1 -1
  114. package/dist/expand.js +1 -1
  115. package/dist/fab.cjs +77 -0
  116. package/dist/fab.cjs.map +1 -0
  117. package/dist/fab.js +151 -0
  118. package/dist/fab.js.map +1 -0
  119. package/dist/{float-DxVzgI9o.js → float-C-Ko0Le3.js} +2 -2
  120. package/dist/{float-DxVzgI9o.js.map → float-C-Ko0Le3.js.map} +1 -1
  121. package/dist/{float-P9HukAm-.cjs → float-C17xgMT1.cjs} +1 -1
  122. package/dist/{float-P9HukAm-.cjs.map → float-C17xgMT1.cjs.map} +1 -1
  123. package/dist/float.cjs +1 -1
  124. package/dist/float.js +1 -1
  125. package/dist/{form-ByYhXe1p.cjs → form-CwPHcQYB.cjs} +1 -1
  126. package/dist/{form-ByYhXe1p.cjs.map → form-CwPHcQYB.cjs.map} +1 -1
  127. package/dist/{form-CqLaozHp.js → form-DA0hUu2h.js} +3 -3
  128. package/dist/{form-CqLaozHp.js.map → form-DA0hUu2h.js.map} +1 -1
  129. package/dist/form.cjs +6 -6
  130. package/dist/form.cjs.map +1 -1
  131. package/dist/form.js +25 -23
  132. package/dist/form.js.map +1 -1
  133. package/dist/handover/agent-runtime-followups.md +1 -1
  134. package/dist/handover/agent-runtime-v1.md +3 -3
  135. package/dist/{icons-CkphcMp6.js → icons-C6UfxmHZ.js} +2 -2
  136. package/dist/{icons-CkphcMp6.js.map → icons-C6UfxmHZ.js.map} +1 -1
  137. package/dist/{icons-DYtiRU5V.cjs → icons-CW3-oMSb.cjs} +1 -1
  138. package/dist/{icons-DYtiRU5V.cjs.map → icons-CW3-oMSb.cjs.map} +1 -1
  139. package/dist/icons.cjs +1 -1
  140. package/dist/icons.js +1 -1
  141. package/dist/{iframe-CjqJksl8.js → iframe-BTjZfYyh.js} +2 -2
  142. package/dist/{iframe-CjqJksl8.js.map → iframe-BTjZfYyh.js.map} +1 -1
  143. package/dist/{iframe-C3trkP8q.cjs → iframe-wuYT2xFz.cjs} +1 -1
  144. package/dist/{iframe-C3trkP8q.cjs.map → iframe-wuYT2xFz.cjs.map} +1 -1
  145. package/dist/iframe.cjs +1 -1
  146. package/dist/iframe.js +1 -1
  147. package/dist/index.cjs +1 -1
  148. package/dist/index.js +57 -56
  149. package/dist/{input-CG51zDVh.js → input-B_4g2ulO.js} +2 -2
  150. package/dist/{input-CG51zDVh.js.map → input-B_4g2ulO.js.map} +1 -1
  151. package/dist/{input-DuavpwNL.cjs → input-BrDiIT60.cjs} +1 -1
  152. package/dist/{input-DuavpwNL.cjs.map → input-BrDiIT60.cjs.map} +1 -1
  153. package/dist/{input-chip-57tgNXKT.cjs → input-chip-B-XWh4aE.cjs} +1 -1
  154. package/dist/input-chip-B-XWh4aE.cjs.map +1 -0
  155. package/dist/{input-chip-C6Lq1927.js → input-chip-BlWhOruv.js} +2 -2
  156. package/dist/input-chip-BlWhOruv.js.map +1 -0
  157. package/dist/input.cjs +1 -1
  158. package/dist/input.js +1 -1
  159. package/dist/json.cjs +1 -1
  160. package/dist/json.js +3 -3
  161. package/dist/kbd.cjs +1 -1
  162. package/dist/kbd.js +2 -2
  163. package/dist/{layout-6ipbiWTl.cjs → layout-BhyIcEVu.cjs} +1 -1
  164. package/dist/{layout-6ipbiWTl.cjs.map → layout-BhyIcEVu.cjs.map} +1 -1
  165. package/dist/{layout-D4IOwx7p.js → layout-Dxit9enO.js} +1 -1
  166. package/dist/{layout-D4IOwx7p.js.map → layout-Dxit9enO.js.map} +1 -1
  167. package/dist/layout.cjs +1 -1
  168. package/dist/layout.js +2 -2
  169. package/dist/{lightbox-H8pVWGMX.cjs → lightbox-CVBogswK.cjs} +1 -1
  170. package/dist/{lightbox-H8pVWGMX.cjs.map → lightbox-CVBogswK.cjs.map} +1 -1
  171. package/dist/{lightbox-CsyO2XSr.js → lightbox-D85XAAuC.js} +2 -2
  172. package/dist/{lightbox-CsyO2XSr.js.map → lightbox-D85XAAuC.js.map} +1 -1
  173. package/dist/lightbox.cjs +1 -1
  174. package/dist/lightbox.js +1 -1
  175. package/dist/{list-BAwH0pQW.js → list-DOF_yVn5.js} +2 -2
  176. package/dist/{list-BAwH0pQW.js.map → list-DOF_yVn5.js.map} +1 -1
  177. package/dist/{list-Bs9m8kw7.cjs → list-nVjLskgx.cjs} +1 -1
  178. package/dist/{list-Bs9m8kw7.cjs.map → list-nVjLskgx.cjs.map} +1 -1
  179. package/dist/list.cjs +1 -1
  180. package/dist/list.js +1 -1
  181. package/dist/{menu-BMcGzj1h.cjs → menu-DqmNjLgY.cjs} +1 -1
  182. package/dist/{menu-BMcGzj1h.cjs.map → menu-DqmNjLgY.cjs.map} +1 -1
  183. package/dist/{menu-tQVARVaC.js → menu-QrAK5Uu9.js} +3 -3
  184. package/dist/{menu-tQVARVaC.js.map → menu-QrAK5Uu9.js.map} +1 -1
  185. package/dist/menu.cjs +1 -1
  186. package/dist/menu.js +1 -1
  187. package/dist/{mixins-Bp0wIHg2.js → mixins-De1zjyhy.js} +1 -1
  188. package/dist/{mixins-Bp0wIHg2.js.map → mixins-De1zjyhy.js.map} +1 -1
  189. package/dist/{mixins-CGXSzZc7.cjs → mixins-DxHpyMHA.cjs} +1 -1
  190. package/dist/{mixins-CGXSzZc7.cjs.map → mixins-DxHpyMHA.cjs.map} +1 -1
  191. package/dist/mixins.cjs +1 -1
  192. package/dist/mixins.js +2 -2
  193. package/dist/nav-drawer.cjs +1 -1
  194. package/dist/nav-drawer.js +1 -1
  195. package/dist/navigation-bar.cjs +1 -1
  196. package/dist/navigation-bar.js +1 -1
  197. package/dist/navigation-rail.cjs +1 -1
  198. package/dist/navigation-rail.js +2 -2
  199. package/dist/{notification-D1tX2nx5.js → notification-BtAK7NK8.js} +4 -4
  200. package/dist/{notification-D1tX2nx5.js.map → notification-BtAK7NK8.js.map} +1 -1
  201. package/dist/{notification-Bz00zdpV.cjs → notification-DYzbUb5C.cjs} +1 -1
  202. package/dist/{notification-Bz00zdpV.cjs.map → notification-DYzbUb5C.cjs.map} +1 -1
  203. package/dist/notification.cjs +1 -1
  204. package/dist/notification.js +1 -1
  205. package/dist/{option-BpGV8Apj.js → option-DHwA0miA.js} +2 -2
  206. package/dist/{option-BpGV8Apj.js.map → option-DHwA0miA.js.map} +1 -1
  207. package/dist/{option-BnybLEDO.cjs → option-DnSPa8ro.cjs} +1 -1
  208. package/dist/{option-BnybLEDO.cjs.map → option-DnSPa8ro.cjs.map} +1 -1
  209. package/dist/option.cjs +1 -1
  210. package/dist/option.js +1 -1
  211. package/dist/{overlay-UQR2Dy3u.cjs → overlay-BVkqZmoS.cjs} +5 -5
  212. package/dist/overlay-BVkqZmoS.cjs.map +1 -0
  213. package/dist/{overlay-BpNhd74N.js → overlay-Del1sBEB.js} +108 -108
  214. package/dist/overlay-Del1sBEB.js.map +1 -0
  215. package/dist/overlay.cjs +1 -1
  216. package/dist/{overlay.confirm-body-CVDtVk5X.cjs → overlay.confirm-body-BV9umTAl.cjs} +1 -1
  217. package/dist/{overlay.confirm-body-CVDtVk5X.cjs.map → overlay.confirm-body-BV9umTAl.cjs.map} +1 -1
  218. package/dist/{overlay.confirm-body-BHcXu5Wk.js → overlay.confirm-body-DSONXUzl.js} +6 -6
  219. package/dist/{overlay.confirm-body-BHcXu5Wk.js.map → overlay.confirm-body-DSONXUzl.js.map} +1 -1
  220. package/dist/overlay.js +3 -3
  221. package/dist/{overlay.service-DTE6NwIM.js → overlay.service-BTp5Oq7f.js} +2 -2
  222. package/dist/{overlay.service-DTE6NwIM.js.map → overlay.service-BTp5Oq7f.js.map} +1 -1
  223. package/dist/{overlay.service-C8RsQzgM.cjs → overlay.service-XLlrsSdA.cjs} +1 -1
  224. package/dist/{overlay.service-C8RsQzgM.cjs.map → overlay.service-XLlrsSdA.cjs.map} +1 -1
  225. package/dist/{progress-gbIALDRs.cjs → progress-DUbTL9g9.cjs} +1 -1
  226. package/dist/{progress-gbIALDRs.cjs.map → progress-DUbTL9g9.cjs.map} +1 -1
  227. package/dist/{progress-CAKsxp29.js → progress-DYA83CFU.js} +2 -2
  228. package/dist/{progress-CAKsxp29.js.map → progress-DYA83CFU.js.map} +1 -1
  229. package/dist/progress.cjs +1 -1
  230. package/dist/progress.js +1 -1
  231. package/dist/{radio-group-CfJ5DtI4.cjs → radio-group-B-ORNtvR.cjs} +1 -1
  232. package/dist/{radio-group-CfJ5DtI4.cjs.map → radio-group-B-ORNtvR.cjs.map} +1 -1
  233. package/dist/{radio-group-otyvZvUk.js → radio-group-DxX0iJBo.js} +2 -2
  234. package/dist/{radio-group-otyvZvUk.js.map → radio-group-DxX0iJBo.js.map} +1 -1
  235. package/dist/radio-group.cjs +1 -1
  236. package/dist/radio-group.js +1 -1
  237. package/dist/range.cjs +1 -1
  238. package/dist/range.js +2 -2
  239. package/dist/{select-81jniVTs.cjs → select-B9uj_u-s.cjs} +1 -1
  240. package/dist/{select-81jniVTs.cjs.map → select-B9uj_u-s.cjs.map} +1 -1
  241. package/dist/{select-9vXx1fhr.js → select-C7gkA-ab.js} +3 -3
  242. package/dist/{select-9vXx1fhr.js.map → select-C7gkA-ab.js.map} +1 -1
  243. package/dist/select.cjs +1 -1
  244. package/dist/select.js +1 -1
  245. package/dist/skeleton.cjs +1 -1
  246. package/dist/skeleton.js +2 -2
  247. package/dist/skills/INDEX.md +1 -1
  248. package/dist/skills/SKILL.md +20 -18
  249. package/dist/skills/boat.md +21 -15
  250. package/dist/skills/fab.md +75 -0
  251. package/dist/skills/schmancy/INDEX.md +1 -1
  252. package/dist/skills/schmancy/SKILL.md +20 -18
  253. package/dist/skills/schmancy/boat.md +21 -15
  254. package/dist/skills/schmancy/fab.md +75 -0
  255. package/dist/skills/schmancy/steps.md +68 -34
  256. package/dist/skills/schmancy/theme.md +1 -1
  257. package/dist/skills/steps.md +68 -34
  258. package/dist/skills/theme.md +1 -1
  259. package/dist/slider.cjs +1 -1
  260. package/dist/slider.js +2 -2
  261. package/dist/{sound.service-CmIw63aM.cjs → sound.service-C7FDY_yD.cjs} +1 -1
  262. package/dist/{sound.service-CmIw63aM.cjs.map → sound.service-C7FDY_yD.cjs.map} +1 -1
  263. package/dist/{sound.service-D3ZSq1Kj.js → sound.service-O0232os6.js} +1 -1
  264. package/dist/{sound.service-D3ZSq1Kj.js.map → sound.service-O0232os6.js.map} +1 -1
  265. package/dist/{splash-screen-C5KAWXvA.cjs → splash-screen-DIS4odDr.cjs} +1 -1
  266. package/dist/{splash-screen-C5KAWXvA.cjs.map → splash-screen-DIS4odDr.cjs.map} +1 -1
  267. package/dist/{splash-screen-BOjrmGLk.js → splash-screen-jfE47xl0.js} +2 -2
  268. package/dist/{splash-screen-BOjrmGLk.js.map → splash-screen-jfE47xl0.js.map} +1 -1
  269. package/dist/splash-screen.cjs +1 -1
  270. package/dist/splash-screen.js +1 -1
  271. package/dist/{src-C5g3p1J5.js → src-BP3h-9d9.js} +36 -35
  272. package/dist/{src-C5g3p1J5.js.map → src-BP3h-9d9.js.map} +1 -1
  273. package/dist/{src-qzUpLbje.cjs → src-Um_pzb-U.cjs} +1 -1
  274. package/dist/{src-qzUpLbje.cjs.map → src-Um_pzb-U.cjs.map} +1 -1
  275. package/dist/{state-Cex3rmx2.cjs → state-Bj0M9a6T.cjs} +1 -1
  276. package/dist/{state-Cex3rmx2.cjs.map → state-Bj0M9a6T.cjs.map} +1 -1
  277. package/dist/{state-CWBRTSvE.js → state-DscWQpoM.js} +1 -1
  278. package/dist/{state-CWBRTSvE.js.map → state-DscWQpoM.js.map} +1 -1
  279. package/dist/state.cjs +1 -1
  280. package/dist/state.js +2 -2
  281. package/dist/steps.cjs +35 -19
  282. package/dist/steps.cjs.map +1 -1
  283. package/dist/steps.js +96 -73
  284. package/dist/steps.js.map +1 -1
  285. package/dist/{surface-9S5scTsD.js → surface-B4Wn4SOO.js} +2 -2
  286. package/dist/{surface-9S5scTsD.js.map → surface-B4Wn4SOO.js.map} +1 -1
  287. package/dist/{surface-PfiejLuw.cjs → surface-DRq6cVW6.cjs} +1 -1
  288. package/dist/{surface-PfiejLuw.cjs.map → surface-DRq6cVW6.cjs.map} +1 -1
  289. package/dist/surface.cjs +1 -1
  290. package/dist/surface.js +1 -1
  291. package/dist/switch.cjs +1 -1
  292. package/dist/switch.js +2 -2
  293. package/dist/table.cjs +1 -1
  294. package/dist/table.js +2 -2
  295. package/dist/{tabs-uYvb1P06.cjs → tabs-Ca_fbHPW.cjs} +1 -1
  296. package/dist/{tabs-uYvb1P06.cjs.map → tabs-Ca_fbHPW.cjs.map} +1 -1
  297. package/dist/{tabs-BBOjAmgG.js → tabs-CnQPo-XS.js} +2 -2
  298. package/dist/{tabs-BBOjAmgG.js.map → tabs-CnQPo-XS.js.map} +1 -1
  299. package/dist/tabs.cjs +1 -1
  300. package/dist/tabs.js +1 -1
  301. package/dist/teleport.cjs +1 -1
  302. package/dist/teleport.js +1 -1
  303. package/dist/{textarea-QzSj8Dkl.js → textarea-BvqENhTW.js} +2 -2
  304. package/dist/{textarea-QzSj8Dkl.js.map → textarea-BvqENhTW.js.map} +1 -1
  305. package/dist/{textarea-YPHX4g7Y.cjs → textarea-qr7oL8oU.cjs} +1 -1
  306. package/dist/{textarea-YPHX4g7Y.cjs.map → textarea-qr7oL8oU.cjs.map} +1 -1
  307. package/dist/textarea.cjs +1 -1
  308. package/dist/textarea.js +1 -1
  309. package/dist/theme-BSwJ2YZo.cjs +181 -0
  310. package/dist/{theme-iKUaS9JB.cjs.map → theme-BSwJ2YZo.cjs.map} +1 -1
  311. package/dist/{theme-C2Mp-VGt.js → theme-BV0EzHQ1.js} +6 -5
  312. package/dist/{theme-C2Mp-VGt.js.map → theme-BV0EzHQ1.js.map} +1 -1
  313. package/dist/{theme-button-CJmhxfMe.cjs → theme-button-C6fpUzPM.cjs} +1 -1
  314. package/dist/{theme-button-CJmhxfMe.cjs.map → theme-button-C6fpUzPM.cjs.map} +1 -1
  315. package/dist/{theme-button-DGWAXhzd.js → theme-button-O_xNCgI7.js} +2 -2
  316. package/dist/{theme-button-DGWAXhzd.js.map → theme-button-O_xNCgI7.js.map} +1 -1
  317. package/dist/theme-button.cjs +1 -1
  318. package/dist/theme-button.js +1 -1
  319. package/dist/theme.cjs +1 -1
  320. package/dist/theme.js +3 -3
  321. package/dist/{theme.service-hc4N-1Oz.js → theme.service-DwLhhOmP.js} +1 -1
  322. package/dist/{theme.service-hc4N-1Oz.js.map → theme.service-DwLhhOmP.js.map} +1 -1
  323. package/dist/{theme.service-p61RsJBF.cjs → theme.service-kn9MC025.cjs} +1 -1
  324. package/dist/{theme.service-p61RsJBF.cjs.map → theme.service-kn9MC025.cjs.map} +1 -1
  325. package/dist/tree.cjs +1 -1
  326. package/dist/tree.js +2 -2
  327. package/dist/{typography-DwV0sqht.js → typography-Dtdooaic.js} +2 -2
  328. package/dist/{typography-DwV0sqht.js.map → typography-Dtdooaic.js.map} +1 -1
  329. package/dist/{typography-Bdt8RlX2.cjs → typography-opFYuUYS.cjs} +1 -1
  330. package/dist/{typography-Bdt8RlX2.cjs.map → typography-opFYuUYS.cjs.map} +1 -1
  331. package/dist/typography.cjs +1 -1
  332. package/dist/typography.js +1 -1
  333. package/dist/visually-hidden.cjs +1 -1
  334. package/dist/visually-hidden.js +2 -2
  335. package/dist/{window-D2WfvNng.cjs → window-BSAemI9J.cjs} +1 -1
  336. package/dist/{window-D2WfvNng.cjs.map → window-BSAemI9J.cjs.map} +1 -1
  337. package/dist/{window-n4jN60B_.js → window-ConcHirJ.js} +3 -3
  338. package/dist/{window-n4jN60B_.js.map → window-ConcHirJ.js.map} +1 -1
  339. package/dist/window.cjs +1 -1
  340. package/dist/window.js +1 -1
  341. package/package.json +1 -1
  342. package/skills/schmancy/INDEX.md +1 -1
  343. package/skills/schmancy/SKILL.md +20 -18
  344. package/skills/schmancy/boat.md +21 -15
  345. package/skills/schmancy/fab.md +75 -0
  346. package/skills/schmancy/steps.md +68 -34
  347. package/skills/schmancy/theme.md +1 -1
  348. package/src/CLAUDE.md +22 -16
  349. package/src/boat/boat.test.ts +130 -0
  350. package/src/boat/boat.ts +144 -121
  351. package/src/button/icon-button.ts +18 -30
  352. package/src/chips/assist-chip.ts +2 -263
  353. package/src/chips/chips.ts +2 -259
  354. package/src/chips/filter-chip.ts +2 -255
  355. package/src/chips/index.ts +2 -5
  356. package/src/chips/input-chip.ts +2 -413
  357. package/src/chips/suggestion-chip.ts +2 -266
  358. package/src/directives/fill.ts +28 -5
  359. package/src/directives/reveal.ts +192 -118
  360. package/src/fab/fab.test.ts +101 -0
  361. package/src/fab/fab.ts +226 -0
  362. package/src/fab/index.ts +1 -0
  363. package/src/form/fields/chips/assist-chip.ts +263 -0
  364. package/src/form/fields/chips/chips.ts +234 -0
  365. package/src/form/fields/chips/filter-chip.ts +255 -0
  366. package/src/form/fields/chips/index.ts +5 -0
  367. package/src/form/fields/chips/input-chip.ts +413 -0
  368. package/src/form/fields/chips/suggestion-chip.ts +266 -0
  369. package/src/form/fields/date-range/date-range.test.ts +44 -0
  370. package/src/form/fields/date-range/date-range.ts +103 -97
  371. package/src/form/fields/index.ts +1 -0
  372. package/src/index.ts +2 -1
  373. package/src/overlay/overlay.animations.ts +2 -3
  374. package/src/overlay/overlay.component.ts +8 -4
  375. package/src/overlay/overlay.types.ts +14 -2
  376. package/src/steps/index.ts +1 -1
  377. package/src/steps/schmancy-step.ts +91 -65
  378. package/src/steps/{schmancy-steps-container.ts → schmancy-steps.ts} +18 -38
  379. package/src/steps/steps.context.ts +5 -4
  380. package/src/steps/steps.test.ts +120 -0
  381. package/src/theme/theme.component.ts +1 -0
  382. package/src/theme/theme.style.css +3 -0
  383. package/types/src/boat/boat.d.ts +27 -9
  384. package/types/src/boat/boat.test.d.ts +2 -0
  385. package/types/src/button/icon-button.d.ts +3 -2
  386. package/types/src/chips/assist-chip.d.ts +1 -47
  387. package/types/src/chips/chips.d.ts +1 -43
  388. package/types/src/chips/filter-chip.d.ts +1 -67
  389. package/types/src/chips/index.d.ts +1 -5
  390. package/types/src/chips/input-chip.d.ts +1 -82
  391. package/types/src/chips/suggestion-chip.d.ts +1 -52
  392. package/types/src/directives/reveal.d.ts +15 -5
  393. package/types/src/fab/fab.d.ts +80 -0
  394. package/types/src/fab/fab.test.d.ts +2 -0
  395. package/types/src/fab/index.d.ts +1 -0
  396. package/types/src/form/fields/chips/assist-chip.d.ts +47 -0
  397. package/types/src/form/fields/chips/chips.d.ts +35 -0
  398. package/types/src/form/fields/chips/filter-chip.d.ts +67 -0
  399. package/types/src/form/fields/chips/index.d.ts +5 -0
  400. package/types/src/form/fields/chips/input-chip.d.ts +82 -0
  401. package/types/src/form/fields/chips/suggestion-chip.d.ts +52 -0
  402. package/types/src/form/fields/date-range/date-range.d.ts +5 -10
  403. package/types/src/form/fields/index.d.ts +1 -0
  404. package/types/src/index.d.ts +2 -1
  405. package/types/src/overlay/overlay.component.d.ts +1 -0
  406. package/types/src/overlay/overlay.types.d.ts +12 -2
  407. package/types/src/steps/index.d.ts +1 -1
  408. package/types/src/steps/schmancy-step.d.ts +8 -23
  409. package/types/src/steps/{schmancy-steps-container.d.ts → schmancy-steps.d.ts} +8 -9
  410. package/types/src/steps/steps.context.d.ts +2 -1
  411. package/types/src/steps/steps.test.d.ts +2 -0
  412. package/types/src/theme/theme.component.d.ts +1 -0
  413. package/dist/SchmancyElement-CA0Wqt8m.js +0 -284
  414. package/dist/SchmancyElement-CA0Wqt8m.js.map +0 -1
  415. package/dist/SchmancyElement-CYIif26I.cjs +0 -2
  416. package/dist/SchmancyElement-CYIif26I.cjs.map +0 -1
  417. package/dist/boat-Vqjgo10B.cjs +0 -33
  418. package/dist/boat-Vqjgo10B.cjs.map +0 -1
  419. package/dist/boat-lr7MPZ7H.js.map +0 -1
  420. package/dist/chips-CXZ4dJCK.cjs.map +0 -1
  421. package/dist/chips-Dg6Lk6BT.js.map +0 -1
  422. package/dist/date-range-BU6WX7d5.js.map +0 -1
  423. package/dist/date-range-C-_be3_E.cjs.map +0 -1
  424. package/dist/directives-fLwDj6b0.cjs.map +0 -1
  425. package/dist/directives-zi1Mm2er.js.map +0 -1
  426. package/dist/input-chip-57tgNXKT.cjs.map +0 -1
  427. package/dist/input-chip-C6Lq1927.js.map +0 -1
  428. package/dist/overlay-BpNhd74N.js.map +0 -1
  429. package/dist/overlay-UQR2Dy3u.cjs.map +0 -1
  430. package/dist/theme-iKUaS9JB.cjs +0 -181
@@ -1,43 +1 @@
1
- import { SchmancyElement } from '@mixins/index';
2
- import { PropertyValues } from 'lit';
3
- import type { FilterChipChangeEvent as SchmancyChipChangeEvent } from './filter-chip';
4
- import { SchmancyFilterChip as SchmancyChip } from './filter-chip';
5
- export default class SchmancyChips extends SchmancyElement {
6
- static styles: import("lit").CSSResult[];
7
- private value$;
8
- private values$;
9
- private _value;
10
- private _values;
11
- private _multi;
12
- private _valueSet;
13
- private _valuesSet;
14
- /**
15
- * @deprecated Use .values for multi-selection or .value for single-selection instead.
16
- * The mode is now automatically determined based on which property is used.
17
- */
18
- get multi(): boolean;
19
- set multi(value: boolean);
20
- /**
21
- * Automatically determines the selection mode based on which properties are in use
22
- */
23
- private get mode();
24
- get values(): string[];
25
- set values(value: string[]);
26
- get value(): string;
27
- set value(value: string);
28
- chips: (SchmancyChip | HTMLElement)[];
29
- wrap: boolean;
30
- required: boolean;
31
- justify: 'start' | 'center' | 'end';
32
- connectedCallback(): void;
33
- private updateChipStates;
34
- change(e: CustomEvent<SchmancyChipChangeEvent>): Promise<void>;
35
- protected firstUpdated(_changedProperties: PropertyValues): void;
36
- protected render(): unknown;
37
- }
38
- declare global {
39
- interface HTMLElementTagNameMap {
40
- 'schmancy-chips': SchmancyChips;
41
- }
42
- }
43
- export type SchmancyChipsChangeEvent = string | Array<string>;
1
+ export * from '../form/fields/chips/chips';
@@ -1,67 +1 @@
1
- import { SchmancyElement } from '@mixins/index';
2
- /**
3
- * Filter chip component for content filtering.
4
- *
5
- * Filter chips are the ONLY chip type that maintains persistent selected state.
6
- * They are used for filtering content by toggling on/off different filter criteria.
7
- *
8
- * @fires change - Dispatched when selection state changes with {value, selected}
9
- * @fires remove - Dispatched when remove button is clicked (if removable)
10
- *
11
- * @example
12
- * ```html
13
- * <schmancy-filter-chip value="category-1" selected>
14
- * Category 1
15
- * </schmancy-filter-chip>
16
- * ```
17
- */
18
- export declare class SchmancyFilterChip extends SchmancyElement {
19
- static styles: import("lit").CSSResult[];
20
- /** Unique identifier for this filter chip */
21
- value: string;
22
- /** Whether the filter chip is selected (active filter) */
23
- private _selected;
24
- get selected(): boolean;
25
- set selected(value: boolean);
26
- /** Whether to show a remove button */
27
- removable: boolean;
28
- /** Whether the chip is disabled */
29
- disabled: boolean;
30
- /** Whether to use elevated style with shadow */
31
- elevated: boolean;
32
- constructor();
33
- protected static shadowRootOptions: {
34
- delegatesFocus: boolean;
35
- clonable?: boolean;
36
- customElementRegistry?: CustomElementRegistry;
37
- mode: ShadowRootMode;
38
- serializable?: boolean;
39
- slotAssignment?: SlotAssignmentMode;
40
- };
41
- static formAssociated: boolean;
42
- internals: ElementInternals | undefined;
43
- get form(): HTMLFormElement;
44
- connectedCallback(): void;
45
- protected updated(changed: Map<string, unknown>): void;
46
- formResetCallback(): void;
47
- formDisabledCallback(disabled: boolean): void;
48
- private handleClick;
49
- private handleRemove;
50
- private handleKeyDown;
51
- protected render(): unknown;
52
- }
53
- export { SchmancyFilterChip as SchmancyChip };
54
- declare global {
55
- interface HTMLElementTagNameMap {
56
- 'schmancy-chip': SchmancyFilterChip;
57
- 'schmancy-filter-chip': SchmancyFilterChip;
58
- }
59
- }
60
- export type FilterChipChangeEvent = {
61
- value: string;
62
- selected: boolean;
63
- };
64
- export type FilterChipRemoveEvent = {
65
- value: string;
66
- };
67
- export type SchmancyChipChangeEvent = FilterChipChangeEvent;
1
+ export * from '../form/fields/chips/filter-chip';
@@ -1,5 +1 @@
1
- export * from './assist-chip';
2
- export * from './chips';
3
- export * from './filter-chip';
4
- export * from './input-chip';
5
- export * from './suggestion-chip';
1
+ export * from '../form/fields/chips';
@@ -1,82 +1 @@
1
- import { SchmancyElement } from '@mixins/index';
2
- /**
3
- * Input chip component - represents user-provided information that can be removed.
4
- *
5
- * IMPORTANT: Per Material Design 3 specification, input chips do NOT have selected state.
6
- * They represent discrete pieces of user input (like entered tags, selections from lists, etc.)
7
- * that can only be removed, not toggled on/off.
8
- *
9
- * Use cases:
10
- * - Displaying selected recipients in an email
11
- * - Showing applied filters that can be removed
12
- * - Tags or keywords entered by the user
13
- * - Selected items from a multi-select dropdown
14
- *
15
- * @fires click - Optional click event on chip body (value)
16
- * @fires remove - Dispatched when remove button is clicked (value)
17
- *
18
- * @example
19
- * ```html
20
- * <schmancy-input-chip value="john@example.com" avatar="/avatars/john.jpg">
21
- * John Doe
22
- * </schmancy-input-chip>
23
- * ```
24
- */
25
- export declare class SchmancyInputChip extends SchmancyElement {
26
- static styles: import("lit").CSSResult[];
27
- /** Value identifier for the chip */
28
- value: string;
29
- /** Optional icon name (Material Symbols) */
30
- icon: string;
31
- /** Optional avatar image URL */
32
- avatar: string;
33
- /** Whether to show remove button (default true for input chips) */
34
- removable: boolean;
35
- /** Disable the chip */
36
- disabled: boolean;
37
- /** Elevated style variant */
38
- elevated: boolean;
39
- private chipHover$;
40
- private removeHover$;
41
- private focused$;
42
- private pressed$;
43
- uiState: {
44
- chipHover: boolean;
45
- removeHover: boolean;
46
- focused: boolean;
47
- pressed: boolean;
48
- };
49
- private ripples;
50
- private nextRippleId;
51
- constructor();
52
- protected static shadowRootOptions: {
53
- delegatesFocus: boolean;
54
- clonable?: boolean;
55
- customElementRegistry?: CustomElementRegistry;
56
- mode: ShadowRootMode;
57
- serializable?: boolean;
58
- slotAssignment?: SlotAssignmentMode;
59
- };
60
- static formAssociated: boolean;
61
- internals: ElementInternals | undefined;
62
- get form(): HTMLFormElement;
63
- protected updated(changed: Map<string, unknown>): void;
64
- connectedCallback(): void;
65
- private handleChipClick;
66
- private handleRemove;
67
- private handleKeyDown;
68
- private handleFocus;
69
- private handleBlur;
70
- protected render(): unknown;
71
- }
72
- declare global {
73
- interface HTMLElementTagNameMap {
74
- 'schmancy-input-chip': SchmancyInputChip;
75
- }
76
- }
77
- export type InputChipClickEvent = {
78
- value: string;
79
- };
80
- export type InputChipRemoveEvent = {
81
- value: string;
82
- };
1
+ export * from '../form/fields/chips/input-chip';
@@ -1,52 +1 @@
1
- import { SchmancyElement } from '@mixins/index';
2
- /**
3
- * Suggestion chip component - provides contextual recommendations to users
4
- *
5
- * IMPORTANT: Suggestion chips do NOT have a selected state. They are designed to
6
- * provide suggestions and recommendations that trigger actions when clicked.
7
- * Unlike filter chips, they cannot be toggled on/off.
8
- *
9
- * Pure Schmancy implementation with Tailwind CSS and RxJS state management
10
- */
11
- export declare class SchmancySuggestionChip extends SchmancyElement {
12
- static styles: import("lit").CSSResult[];
13
- /** Value identifier for the chip */
14
- value: string;
15
- /** Optional icon name (Material Symbols) */
16
- icon: string;
17
- /** Optional href for navigation */
18
- href: string;
19
- /** Target for navigation (e.g., '_blank') */
20
- target: string;
21
- /** Disable the chip */
22
- disabled: boolean;
23
- /** Elevated style variant - flat by default per M3 spec */
24
- elevated: boolean;
25
- private hover$;
26
- private pressed$;
27
- private focused$;
28
- private ripples;
29
- protected static shadowRootOptions: {
30
- delegatesFocus: boolean;
31
- clonable?: boolean;
32
- customElementRegistry?: CustomElementRegistry;
33
- mode: ShadowRootMode;
34
- serializable?: boolean;
35
- slotAssignment?: SlotAssignmentMode;
36
- };
37
- private nextRippleId;
38
- connectedCallback(): void;
39
- private handleClick;
40
- private handleKeyDown;
41
- private handleFocus;
42
- private handleBlur;
43
- protected render(): unknown;
44
- }
45
- declare global {
46
- interface HTMLElementTagNameMap {
47
- 'schmancy-suggestion-chip': SchmancySuggestionChip;
48
- }
49
- }
50
- export type SuggestionChipActionEvent = {
51
- value: string;
52
- };
1
+ export * from '../form/fields/chips/suggestion-chip';
@@ -4,6 +4,9 @@
4
4
  * Uses Blackbird spring physics for natural, organic motion.
5
5
  * Element stays in DOM to prevent layout shift.
6
6
  *
7
+ * When fully revealed, no directive-imposed max-height or overflow:hidden
8
+ * is left on the element — it lays out at its natural full height.
9
+ *
7
10
  * Usage:
8
11
  * ```ts
9
12
  * // Basic - uses 'smooth' preset
@@ -12,7 +15,7 @@
12
15
  * // With preset - 'snappy' for quick interactions
13
16
  * html`<div ${reveal(this.isVisible, { preset: 'snappy' })}>Content</div>`
14
17
  *
15
- * // With custom max height
18
+ * // Opt-in scroll cap (explicit maxHeight — keeps overflow:auto, does NOT clip)
16
19
  * html`<div ${reveal(this.items.length > 1, { maxHeight: '200px' })}>Content</div>`
17
20
  *
18
21
  * // Bouncy for playful UI
@@ -28,12 +31,17 @@
28
31
  * @see packages/schmancy/src/utils/animation.ts for Blackbird system
29
32
  */
30
33
  import { AsyncDirective } from 'lit/async-directive.js';
31
- import type { ElementPart, PartInfo } from 'lit/directive.js';
34
+ import { type ElementPart, type PartInfo } from 'lit/directive.js';
32
35
  export type RevealPreset = 'smooth' | 'snappy' | 'bouncy' | 'gentle';
33
36
  export interface RevealOptions {
34
37
  /** Animation preset (default: 'smooth') */
35
38
  preset?: RevealPreset;
36
- /** Max height when revealed (default: '10rem') */
39
+ /**
40
+ * Explicit scroll cap (opt-in). When set the element is constrained to
41
+ * this height with overflow:auto — content scrolls rather than clips.
42
+ * When omitted (the default) the element is fully unconstrained after
43
+ * opening: no max-height, no overflow:hidden left on it.
44
+ */
37
45
  maxHeight?: string;
38
46
  /** Custom duration override in ms (uses preset duration if not specified) */
39
47
  duration?: number;
@@ -42,11 +50,13 @@ export interface RevealOptions {
42
50
  }
43
51
  declare class RevealDirective extends AsyncDirective {
44
52
  private initialized;
45
- private element;
53
+ /** Fires on disconnect to tear down the transitionend subscription. */
54
+ private teardown$;
55
+ /** True if this is the very first update call — used to detect always-true initial mount. */
56
+ private firstUpdate;
46
57
  constructor(partInfo: PartInfo);
47
58
  render(_show?: boolean, _options?: RevealOptions): symbol;
48
59
  update(part: ElementPart, [show, options]: [boolean | undefined, RevealOptions?]): symbol;
49
- private setupElement;
50
60
  disconnected(): void;
51
61
  reconnected(): void;
52
62
  }
@@ -0,0 +1,80 @@
1
+ import { SchmancyElement } from '@mixins/index';
2
+ export type FabVariant = 'surface' | 'primary' | 'secondary' | 'tertiary';
3
+ export type FabSize = 'small' | 'medium' | 'large';
4
+ /**
5
+ * Material 3 Floating Action Button.
6
+ *
7
+ * Mirrors the `md-fab` reference implementation
8
+ * (github.com/material-components/material-web) and the M3 spec
9
+ * (m3.material.io/components/floating-action-button): four colour
10
+ * variants, three container sizes, an extended form (set `label`),
11
+ * and a `lowered` elevation register. Per M3 guidance a FAB is never
12
+ * disabled, so there is no `disabled` property.
13
+ *
14
+ * Sizing, shape, icon size and elevation are M3 design tokens expressed
15
+ * as `:host` rules (the same token-driven model as `md-fab`'s SCSS);
16
+ * colour roles and the state layer are schmancy theme utilities. The
17
+ * host shrink-wraps the inner button and clips its rounded shape.
18
+ *
19
+ * @element schmancy-fab
20
+ * @slot - The icon (typically `<schmancy-icon>`).
21
+ * @csspart base - The underlying native `<button>`.
22
+ */
23
+ export declare class SchmancyFab extends SchmancyElement {
24
+ static styles: import("lit").CSSResult[];
25
+ protected static shadowRootOptions: {
26
+ mode: string;
27
+ delegatesFocus: boolean;
28
+ clonable?: boolean;
29
+ customElementRegistry?: CustomElementRegistry;
30
+ serializable?: boolean;
31
+ slotAssignment?: SlotAssignmentMode;
32
+ };
33
+ private nativeElement;
34
+ private ariaLabelValue;
35
+ /**
36
+ * Colour variant. M3 maps each to a container + on-container role.
37
+ * @attr
38
+ * @default 'surface'
39
+ */
40
+ variant: FabVariant;
41
+ /**
42
+ * Container size. Ignored while extended (extended is always 56dp tall).
43
+ * @attr
44
+ * @default 'medium'
45
+ */
46
+ size: FabSize;
47
+ /**
48
+ * Extended-FAB label. A non-empty value switches the FAB to its
49
+ * extended form (icon + text), exactly as `md-fab` derives extended
50
+ * from a truthy label.
51
+ * @attr
52
+ */
53
+ label: string;
54
+ /**
55
+ * Reflected mirror of "label is non-empty" so `:host([extended])`
56
+ * can drive the extended geometry. Synced from `label`; read it,
57
+ * don't set it.
58
+ * @attr
59
+ */
60
+ extended: boolean;
61
+ /**
62
+ * Lowers the FAB's elevation register (M3 lowered FAB).
63
+ * @attr
64
+ * @default false
65
+ */
66
+ lowered: boolean;
67
+ set ariaLabel(value: string);
68
+ get ariaLabel(): string;
69
+ /** Sets focus on the FAB. */
70
+ focus(options?: FocusOptions): void;
71
+ /** Removes focus from the FAB. */
72
+ blur(): void;
73
+ protected willUpdate(changed: Map<string, unknown>): void;
74
+ render(): import("lit-html").TemplateResult<1>;
75
+ }
76
+ declare global {
77
+ interface HTMLElementTagNameMap {
78
+ 'schmancy-fab': SchmancyFab;
79
+ }
80
+ }
@@ -0,0 +1,2 @@
1
+ import './fab';
2
+ import '../icons/icon';
@@ -0,0 +1 @@
1
+ export * from './fab';
@@ -0,0 +1,47 @@
1
+ import { SchmancyElement } from '@mixins/index';
2
+ /**
3
+ * Assist chip component - prompts user actions like opening calendar events or sharing content
4
+ * Pure Schmancy implementation with Tailwind CSS and RxJS state management
5
+ */
6
+ export declare class SchmancyAssistChip extends SchmancyElement {
7
+ static styles: import("lit").CSSResult[];
8
+ /** Value identifier for the chip */
9
+ value: string;
10
+ /** Optional icon name (Material Symbols) */
11
+ icon: string;
12
+ /** Optional href for navigation */
13
+ href: string;
14
+ /** Target for navigation (e.g., '_blank') */
15
+ target: string;
16
+ /** Disable the chip */
17
+ disabled: boolean;
18
+ /** Elevated style variant - true by default per M3 spec for assist chips */
19
+ elevated: boolean;
20
+ private hover$;
21
+ private pressed$;
22
+ private focused$;
23
+ private ripples;
24
+ protected static shadowRootOptions: {
25
+ delegatesFocus: boolean;
26
+ clonable?: boolean;
27
+ customElementRegistry?: CustomElementRegistry;
28
+ mode: ShadowRootMode;
29
+ serializable?: boolean;
30
+ slotAssignment?: SlotAssignmentMode;
31
+ };
32
+ private nextRippleId;
33
+ connectedCallback(): void;
34
+ private handleClick;
35
+ private handleKeyDown;
36
+ private handleFocus;
37
+ private handleBlur;
38
+ render(): import("lit-html").TemplateResult<1>;
39
+ }
40
+ declare global {
41
+ interface HTMLElementTagNameMap {
42
+ 'schmancy-assist-chip': SchmancyAssistChip;
43
+ }
44
+ }
45
+ export type AssistChipActionEvent = {
46
+ value: string;
47
+ };
@@ -0,0 +1,35 @@
1
+ import { PropertyValues } from 'lit';
2
+ import type { FilterChipChangeEvent as SchmancyChipChangeEvent } from './filter-chip';
3
+ import { SchmancyFilterChip as SchmancyChip } from './filter-chip';
4
+ export type SchmancyChipsChangeEvent = CustomEvent<{
5
+ value: string | string[];
6
+ }>;
7
+ declare const SchmancyChips_base: import("../../../../mixins").Constructor<import("@mixins/formField.mixin").IFormFieldMixin> & import("../../../../mixins").Constructor<import("../../../../mixins").ITailwindElementMixin> & import("../../../../mixins").Constructor<import("lit").LitElement> & import("../../../../mixins").Constructor<import("../../../../mixins").IBaseMixin>;
8
+ export default class SchmancyChips extends SchmancyChips_base {
9
+ /** Whether multiple chips can be selected simultaneously. */
10
+ multi: boolean;
11
+ get value(): string | string[];
12
+ set value(v: string | string[]);
13
+ /** Typed convenience alias for multi-mode consumers. */
14
+ get values(): string[];
15
+ set values(v: string[]);
16
+ wrap: boolean;
17
+ justify: 'start' | 'center' | 'end';
18
+ chips: (SchmancyChip | HTMLElement)[];
19
+ private value$;
20
+ private values$;
21
+ protected willUpdate(changedProps: PropertyValues): void;
22
+ checkValidity(): boolean;
23
+ connectedCallback(): void;
24
+ private updateChipStates;
25
+ change(e: CustomEvent<SchmancyChipChangeEvent>): Promise<void>;
26
+ resetForm(): void;
27
+ protected firstUpdated(_changedProperties: PropertyValues): void;
28
+ protected render(): unknown;
29
+ }
30
+ declare global {
31
+ interface HTMLElementTagNameMap {
32
+ 'schmancy-chips': SchmancyChips;
33
+ }
34
+ }
35
+ export {};
@@ -0,0 +1,67 @@
1
+ import { SchmancyElement } from '@mixins/index';
2
+ /**
3
+ * Filter chip component for content filtering.
4
+ *
5
+ * Filter chips are the ONLY chip type that maintains persistent selected state.
6
+ * They are used for filtering content by toggling on/off different filter criteria.
7
+ *
8
+ * @fires change - Dispatched when selection state changes with {value, selected}
9
+ * @fires remove - Dispatched when remove button is clicked (if removable)
10
+ *
11
+ * @example
12
+ * ```html
13
+ * <schmancy-filter-chip value="category-1" selected>
14
+ * Category 1
15
+ * </schmancy-filter-chip>
16
+ * ```
17
+ */
18
+ export declare class SchmancyFilterChip extends SchmancyElement {
19
+ static styles: import("lit").CSSResult[];
20
+ /** Unique identifier for this filter chip */
21
+ value: string;
22
+ /** Whether the filter chip is selected (active filter) */
23
+ private _selected;
24
+ get selected(): boolean;
25
+ set selected(value: boolean);
26
+ /** Whether to show a remove button */
27
+ removable: boolean;
28
+ /** Whether the chip is disabled */
29
+ disabled: boolean;
30
+ /** Whether to use elevated style with shadow */
31
+ elevated: boolean;
32
+ constructor();
33
+ protected static shadowRootOptions: {
34
+ delegatesFocus: boolean;
35
+ clonable?: boolean;
36
+ customElementRegistry?: CustomElementRegistry;
37
+ mode: ShadowRootMode;
38
+ serializable?: boolean;
39
+ slotAssignment?: SlotAssignmentMode;
40
+ };
41
+ static formAssociated: boolean;
42
+ internals: ElementInternals | undefined;
43
+ get form(): HTMLFormElement;
44
+ connectedCallback(): void;
45
+ protected updated(changed: Map<string, unknown>): void;
46
+ formResetCallback(): void;
47
+ formDisabledCallback(disabled: boolean): void;
48
+ private handleClick;
49
+ private handleRemove;
50
+ private handleKeyDown;
51
+ protected render(): unknown;
52
+ }
53
+ export { SchmancyFilterChip as SchmancyChip };
54
+ declare global {
55
+ interface HTMLElementTagNameMap {
56
+ 'schmancy-chip': SchmancyFilterChip;
57
+ 'schmancy-filter-chip': SchmancyFilterChip;
58
+ }
59
+ }
60
+ export type FilterChipChangeEvent = {
61
+ value: string;
62
+ selected: boolean;
63
+ };
64
+ export type FilterChipRemoveEvent = {
65
+ value: string;
66
+ };
67
+ export type SchmancyChipChangeEvent = FilterChipChangeEvent;
@@ -0,0 +1,5 @@
1
+ export * from './assist-chip';
2
+ export * from './chips';
3
+ export * from './filter-chip';
4
+ export * from './input-chip';
5
+ export * from './suggestion-chip';
@@ -0,0 +1,82 @@
1
+ import { SchmancyElement } from '@mixins/index';
2
+ /**
3
+ * Input chip component - represents user-provided information that can be removed.
4
+ *
5
+ * IMPORTANT: Per Material Design 3 specification, input chips do NOT have selected state.
6
+ * They represent discrete pieces of user input (like entered tags, selections from lists, etc.)
7
+ * that can only be removed, not toggled on/off.
8
+ *
9
+ * Use cases:
10
+ * - Displaying selected recipients in an email
11
+ * - Showing applied filters that can be removed
12
+ * - Tags or keywords entered by the user
13
+ * - Selected items from a multi-select dropdown
14
+ *
15
+ * @fires click - Optional click event on chip body (value)
16
+ * @fires remove - Dispatched when remove button is clicked (value)
17
+ *
18
+ * @example
19
+ * ```html
20
+ * <schmancy-input-chip value="john@example.com" avatar="/avatars/john.jpg">
21
+ * John Doe
22
+ * </schmancy-input-chip>
23
+ * ```
24
+ */
25
+ export declare class SchmancyInputChip extends SchmancyElement {
26
+ static styles: import("lit").CSSResult[];
27
+ /** Value identifier for the chip */
28
+ value: string;
29
+ /** Optional icon name (Material Symbols) */
30
+ icon: string;
31
+ /** Optional avatar image URL */
32
+ avatar: string;
33
+ /** Whether to show remove button (default true for input chips) */
34
+ removable: boolean;
35
+ /** Disable the chip */
36
+ disabled: boolean;
37
+ /** Elevated style variant */
38
+ elevated: boolean;
39
+ private chipHover$;
40
+ private removeHover$;
41
+ private focused$;
42
+ private pressed$;
43
+ uiState: {
44
+ chipHover: boolean;
45
+ removeHover: boolean;
46
+ focused: boolean;
47
+ pressed: boolean;
48
+ };
49
+ private ripples;
50
+ private nextRippleId;
51
+ constructor();
52
+ protected static shadowRootOptions: {
53
+ delegatesFocus: boolean;
54
+ clonable?: boolean;
55
+ customElementRegistry?: CustomElementRegistry;
56
+ mode: ShadowRootMode;
57
+ serializable?: boolean;
58
+ slotAssignment?: SlotAssignmentMode;
59
+ };
60
+ static formAssociated: boolean;
61
+ internals: ElementInternals | undefined;
62
+ get form(): HTMLFormElement;
63
+ protected updated(changed: Map<string, unknown>): void;
64
+ connectedCallback(): void;
65
+ private handleChipClick;
66
+ private handleRemove;
67
+ private handleKeyDown;
68
+ private handleFocus;
69
+ private handleBlur;
70
+ protected render(): unknown;
71
+ }
72
+ declare global {
73
+ interface HTMLElementTagNameMap {
74
+ 'schmancy-input-chip': SchmancyInputChip;
75
+ }
76
+ }
77
+ export type InputChipClickEvent = {
78
+ value: string;
79
+ };
80
+ export type InputChipRemoveEvent = {
81
+ value: string;
82
+ };