@mhmo91/schmancy 0.9.21 → 0.9.22

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 (331) hide show
  1. package/dist/agent/schmancy.agent.js +1 -1
  2. package/dist/agent/schmancy.agent.js.map +1 -1
  3. package/dist/{area-DBjAhgjP.cjs → area-CFLFXu0Z.cjs} +1 -1
  4. package/dist/{area-DBjAhgjP.cjs.map → area-CFLFXu0Z.cjs.map} +1 -1
  5. package/dist/{area-Dr4I9R2p.js → area-CfozaCAZ.js} +1 -1
  6. package/dist/{area-Dr4I9R2p.js.map → area-CfozaCAZ.js.map} +1 -1
  7. package/dist/area.cjs +1 -1
  8. package/dist/area.js +1 -1
  9. package/dist/{autocomplete-CgWUCUU-.js → autocomplete-BNjcQ743.js} +2 -2
  10. package/dist/{autocomplete-CgWUCUU-.js.map → autocomplete-BNjcQ743.js.map} +1 -1
  11. package/dist/{autocomplete-EM0jE7X2.cjs → autocomplete-NDvRW_Xs.cjs} +1 -1
  12. package/dist/{autocomplete-EM0jE7X2.cjs.map → autocomplete-NDvRW_Xs.cjs.map} +1 -1
  13. package/dist/autocomplete.cjs +1 -1
  14. package/dist/autocomplete.js +1 -1
  15. package/dist/badge.cjs +1 -1
  16. package/dist/badge.js +1 -1
  17. package/dist/{boat-Dw8TmOzN.js → boat-DxplbTDW.js} +1 -1
  18. package/dist/{boat-Dw8TmOzN.js.map → boat-DxplbTDW.js.map} +1 -1
  19. package/dist/{boat-BjYJI1HS.cjs → boat-ZA47HbKj.cjs} +1 -1
  20. package/dist/{boat-BjYJI1HS.cjs.map → boat-ZA47HbKj.cjs.map} +1 -1
  21. package/dist/boat.cjs +1 -1
  22. package/dist/boat.js +1 -1
  23. package/dist/breadcrumb.cjs +1 -1
  24. package/dist/breadcrumb.js +1 -1
  25. package/dist/{busy-BmiumJpB.cjs → busy-BuHEz1uo.cjs} +1 -1
  26. package/dist/{busy-BmiumJpB.cjs.map → busy-BuHEz1uo.cjs.map} +1 -1
  27. package/dist/{busy-D2hP3fOy.js → busy-QZxs4u8B.js} +1 -1
  28. package/dist/{busy-D2hP3fOy.js.map → busy-QZxs4u8B.js.map} +1 -1
  29. package/dist/busy.cjs +1 -1
  30. package/dist/busy.js +1 -1
  31. package/dist/button.cjs +1 -1
  32. package/dist/button.js +3 -3
  33. package/dist/{card-CEdgK9nb.js → card-CTUaARLm.js} +1 -1
  34. package/dist/{card-CEdgK9nb.js.map → card-CTUaARLm.js.map} +1 -1
  35. package/dist/{card-BslSqOsf.cjs → card-DtN6p1Jq.cjs} +1 -1
  36. package/dist/{card-BslSqOsf.cjs.map → card-DtN6p1Jq.cjs.map} +1 -1
  37. package/dist/card.cjs +1 -1
  38. package/dist/card.js +1 -1
  39. package/dist/charts.cjs +1 -1
  40. package/dist/charts.js +1 -1
  41. package/dist/{checkbox-Br84TiCs.js → checkbox-D4cUb1T3.js} +1 -1
  42. package/dist/{checkbox-Br84TiCs.js.map → checkbox-D4cUb1T3.js.map} +1 -1
  43. package/dist/{checkbox-DtcFMgZL.cjs → checkbox-DEKQLJYR.cjs} +1 -1
  44. package/dist/{checkbox-DtcFMgZL.cjs.map → checkbox-DEKQLJYR.cjs.map} +1 -1
  45. package/dist/checkbox.cjs +1 -1
  46. package/dist/checkbox.js +1 -1
  47. package/dist/{chips-DoCu5YQb.cjs → chips-B-27tj7O.cjs} +1 -1
  48. package/dist/{chips-DoCu5YQb.cjs.map → chips-B-27tj7O.cjs.map} +1 -1
  49. package/dist/{chips-BNYOweGm.js → chips-DhAWrSgi.js} +3 -3
  50. package/dist/{chips-BNYOweGm.js.map → chips-DhAWrSgi.js.map} +1 -1
  51. package/dist/chips.cjs +1 -1
  52. package/dist/chips.js +2 -2
  53. package/dist/{code-highlight-CI_gqXYX.js → code-highlight-DgZKqo4P.js} +1 -1
  54. package/dist/{code-highlight-CI_gqXYX.js.map → code-highlight-DgZKqo4P.js.map} +1 -1
  55. package/dist/{code-highlight-B_l8vDzn.cjs → code-highlight-_ZK6FEjF.cjs} +1 -1
  56. package/dist/{code-highlight-B_l8vDzn.cjs.map → code-highlight-_ZK6FEjF.cjs.map} +1 -1
  57. package/dist/code-highlight.cjs +1 -1
  58. package/dist/code-highlight.js +1 -1
  59. package/dist/{components-TJT8-tva.cjs → components-DUiF-_Ul.cjs} +1 -1
  60. package/dist/{components-TJT8-tva.cjs.map → components-DUiF-_Ul.cjs.map} +1 -1
  61. package/dist/{components-DjKNS9R_.js → components-JHIoVqFd.js} +1 -1
  62. package/dist/{components-DjKNS9R_.js.map → components-JHIoVqFd.js.map} +1 -1
  63. package/dist/components.cjs +1 -1
  64. package/dist/components.js +1 -1
  65. package/dist/connectivity.cjs +1 -1
  66. package/dist/connectivity.js +1 -1
  67. package/dist/content-drawer.cjs +1 -1
  68. package/dist/content-drawer.js +1 -1
  69. package/dist/context-6t-yayy3.cjs +1 -0
  70. package/dist/{context-CAYQh-mx.cjs.map → context-6t-yayy3.cjs.map} +1 -1
  71. package/dist/context-BCFNNkes.js +3 -0
  72. package/dist/{context-D8Q66KPe.js.map → context-BCFNNkes.js.map} +1 -1
  73. package/dist/{date-range-sGkC0KF3.js → date-range-B1FDRGRB.js} +2 -2
  74. package/dist/{date-range-sGkC0KF3.js.map → date-range-B1FDRGRB.js.map} +1 -1
  75. package/dist/{date-range-CIWYm3eS.cjs → date-range-CrAIk8dg.cjs} +1 -1
  76. package/dist/{date-range-CIWYm3eS.cjs.map → date-range-CrAIk8dg.cjs.map} +1 -1
  77. package/dist/date-range.cjs +1 -1
  78. package/dist/date-range.js +1 -1
  79. package/dist/{delay-DwX65fSc.js → delay-Cs0i_CpQ.js} +3 -3
  80. package/dist/{delay-DwX65fSc.js.map → delay-Cs0i_CpQ.js.map} +1 -1
  81. package/dist/{delay-Bu4WMQlV.cjs → delay-DCp_QEct.cjs} +1 -1
  82. package/dist/{delay-Bu4WMQlV.cjs.map → delay-DCp_QEct.cjs.map} +1 -1
  83. package/dist/delay.cjs +1 -1
  84. package/dist/delay.js +1 -1
  85. package/dist/{details-B8p62xmR.cjs → details-BJTR16AV.cjs} +1 -1
  86. package/dist/{details-B8p62xmR.cjs.map → details-BJTR16AV.cjs.map} +1 -1
  87. package/dist/{details-CCW52lzz.js → details-CBoXUDlQ.js} +1 -1
  88. package/dist/{details-CCW52lzz.js.map → details-CBoXUDlQ.js.map} +1 -1
  89. package/dist/details.cjs +1 -1
  90. package/dist/details.js +1 -1
  91. package/dist/dialog.cjs +1 -1
  92. package/dist/dialog.js +1 -1
  93. package/dist/{divider-JyyFw_3J.cjs → divider-D6MRonTS.cjs} +1 -1
  94. package/dist/{divider-JyyFw_3J.cjs.map → divider-D6MRonTS.cjs.map} +1 -1
  95. package/dist/{divider-CbEWg3G_.js → divider-DivkYKa_.js} +1 -1
  96. package/dist/{divider-CbEWg3G_.js.map → divider-DivkYKa_.js.map} +1 -1
  97. package/dist/divider.cjs +1 -1
  98. package/dist/divider.js +1 -1
  99. package/dist/dropdown.cjs +1 -1
  100. package/dist/dropdown.js +2 -2
  101. package/dist/{expand-bFa_qVDT.js → expand-BvAVo29n.js} +2 -2
  102. package/dist/{expand-bFa_qVDT.js.map → expand-BvAVo29n.js.map} +1 -1
  103. package/dist/{expand-BmwIPNjq.cjs → expand-Dd0H6y8Z.cjs} +1 -1
  104. package/dist/{expand-BmwIPNjq.cjs.map → expand-Dd0H6y8Z.cjs.map} +1 -1
  105. package/dist/expand.cjs +1 -1
  106. package/dist/expand.js +1 -1
  107. package/dist/{extra-HwbaUnCD.js → extra-0MZSXbOH.js} +1 -1
  108. package/dist/{extra-HwbaUnCD.js.map → extra-0MZSXbOH.js.map} +1 -1
  109. package/dist/{extra-BUgyMgjl.cjs → extra-CdOUiB0K.cjs} +1 -1
  110. package/dist/{extra-BUgyMgjl.cjs.map → extra-CdOUiB0K.cjs.map} +1 -1
  111. package/dist/extra.cjs +1 -1
  112. package/dist/extra.js +1 -1
  113. package/dist/{float-BQwhfibw.cjs → float-ByW-Gth3.cjs} +1 -1
  114. package/dist/{float-BQwhfibw.cjs.map → float-ByW-Gth3.cjs.map} +1 -1
  115. package/dist/{float-D5ezUurt.js → float-D_u8mDNa.js} +1 -1
  116. package/dist/{float-D5ezUurt.js.map → float-D_u8mDNa.js.map} +1 -1
  117. package/dist/float.cjs +1 -1
  118. package/dist/float.js +1 -1
  119. package/dist/handover/agent-runtime-followups.md +1 -1
  120. package/dist/handover/agent-runtime-v1.md +3 -3
  121. package/dist/handover/agent-runtime-v2-loopback.md +71 -0
  122. package/dist/handover/claude-design-brief.md +131 -0
  123. package/dist/handover/claude-design-v2-paste.md +42 -0
  124. package/dist/{icons-C5-DIjet.js → icons-24zlLf1q.js} +2 -2
  125. package/dist/{icons-C5-DIjet.js.map → icons-24zlLf1q.js.map} +1 -1
  126. package/dist/{icons-B6V3nZ4-.cjs → icons-BpHN4Z8q.cjs} +1 -1
  127. package/dist/{icons-B6V3nZ4-.cjs.map → icons-BpHN4Z8q.cjs.map} +1 -1
  128. package/dist/icons.cjs +1 -1
  129. package/dist/icons.js +1 -1
  130. package/dist/{iframe-C7sHg7RC.cjs → iframe-BXzYZu9_.cjs} +1 -1
  131. package/dist/{iframe-C7sHg7RC.cjs.map → iframe-BXzYZu9_.cjs.map} +1 -1
  132. package/dist/{iframe-BXBsuLwt.js → iframe-B_QrvTmj.js} +1 -1
  133. package/dist/{iframe-BXBsuLwt.js.map → iframe-B_QrvTmj.js.map} +1 -1
  134. package/dist/iframe.cjs +1 -1
  135. package/dist/iframe.js +1 -1
  136. package/dist/index.cjs +1 -1
  137. package/dist/index.js +30 -30
  138. package/dist/{input-chip-CiG61y-N.js → input-chip-C09B0L1y.js} +1 -1
  139. package/dist/{input-chip-CiG61y-N.js.map → input-chip-C09B0L1y.js.map} +1 -1
  140. package/dist/{input-chip-p24lkYtY.cjs → input-chip-FZEpuSaX.cjs} +1 -1
  141. package/dist/{input-chip-p24lkYtY.cjs.map → input-chip-FZEpuSaX.cjs.map} +1 -1
  142. package/dist/json.cjs +1 -1
  143. package/dist/json.js +2 -2
  144. package/dist/kbd.cjs +1 -1
  145. package/dist/kbd.js +1 -1
  146. package/dist/{layout-B0_IXfov.cjs → layout-Bst19YG8.cjs} +1 -1
  147. package/dist/{layout-B0_IXfov.cjs.map → layout-Bst19YG8.cjs.map} +1 -1
  148. package/dist/{layout-Cqghi_rx.js → layout-aTtUdGAi.js} +2 -2
  149. package/dist/{layout-Cqghi_rx.js.map → layout-aTtUdGAi.js.map} +1 -1
  150. package/dist/layout.cjs +1 -1
  151. package/dist/layout.js +2 -2
  152. package/dist/{lightbox-CnCTvqSu.js → lightbox-Cb5-XPWV.js} +2 -2
  153. package/dist/{lightbox-CnCTvqSu.js.map → lightbox-Cb5-XPWV.js.map} +1 -1
  154. package/dist/{lightbox-BWKTzA03.cjs → lightbox-Dk2ICCBB.cjs} +1 -1
  155. package/dist/{lightbox-BWKTzA03.cjs.map → lightbox-Dk2ICCBB.cjs.map} +1 -1
  156. package/dist/lightbox.cjs +1 -1
  157. package/dist/lightbox.js +1 -1
  158. package/dist/{list-CMWHu6cV.cjs → list-DBiecR1i.cjs} +1 -1
  159. package/dist/{list-CMWHu6cV.cjs.map → list-DBiecR1i.cjs.map} +1 -1
  160. package/dist/{list-BpjKUOzM.js → list-DZWoCb3V.js} +2 -2
  161. package/dist/{list-BpjKUOzM.js.map → list-DZWoCb3V.js.map} +1 -1
  162. package/dist/list.cjs +1 -1
  163. package/dist/list.js +1 -1
  164. package/dist/{litElement.mixin-BnNYZ24e.js → litElement.mixin-BuZ28ZzP.js} +1 -1
  165. package/dist/{litElement.mixin-BnNYZ24e.js.map → litElement.mixin-BuZ28ZzP.js.map} +1 -1
  166. package/dist/{litElement.mixin-CtQOmwq6.cjs → litElement.mixin-lYlKxxjR.cjs} +1 -1
  167. package/dist/{litElement.mixin-CtQOmwq6.cjs.map → litElement.mixin-lYlKxxjR.cjs.map} +1 -1
  168. package/dist/{mailbox-Tg1CROVz.cjs → mailbox-BYNmcNIM.cjs} +1 -1
  169. package/dist/{mailbox-Tg1CROVz.cjs.map → mailbox-BYNmcNIM.cjs.map} +1 -1
  170. package/dist/{mailbox-CHIpxS3W.js → mailbox-laG7nvXl.js} +4 -4
  171. package/dist/{mailbox-CHIpxS3W.js.map → mailbox-laG7nvXl.js.map} +1 -1
  172. package/dist/mailbox.cjs +1 -1
  173. package/dist/mailbox.js +1 -1
  174. package/dist/{map-Z_dsu-dv.cjs → map-7_cexh1e.cjs} +1 -1
  175. package/dist/{map-Z_dsu-dv.cjs.map → map-7_cexh1e.cjs.map} +1 -1
  176. package/dist/{map-YY1Q4FWO.js → map-YSAPFrH9.js} +1 -1
  177. package/dist/{map-YY1Q4FWO.js.map → map-YSAPFrH9.js.map} +1 -1
  178. package/dist/map.cjs +1 -1
  179. package/dist/map.js +1 -1
  180. package/dist/{menu-BIBUgS1T.js → menu-DeNdlsSV.js} +1 -1
  181. package/dist/{menu-BIBUgS1T.js.map → menu-DeNdlsSV.js.map} +1 -1
  182. package/dist/{menu-DS8Iz4fJ.cjs → menu-RaeiF4Ja.cjs} +1 -1
  183. package/dist/{menu-DS8Iz4fJ.cjs.map → menu-RaeiF4Ja.cjs.map} +1 -1
  184. package/dist/menu.cjs +1 -1
  185. package/dist/menu.js +1 -1
  186. package/dist/mixins.cjs +1 -1
  187. package/dist/mixins.js +2 -2
  188. package/dist/nav-drawer.cjs +1 -1
  189. package/dist/nav-drawer.js +1 -1
  190. package/dist/navigation-bar.cjs +1 -1
  191. package/dist/navigation-bar.js +1 -1
  192. package/dist/navigation-rail.cjs +1 -1
  193. package/dist/navigation-rail.js +1 -1
  194. package/dist/{notification-ChAvNXf3.js → notification-DRPjMDli.js} +2 -2
  195. package/dist/{notification-ChAvNXf3.js.map → notification-DRPjMDli.js.map} +1 -1
  196. package/dist/{notification-DPUkuifB.cjs → notification-DqWW2oh9.cjs} +1 -1
  197. package/dist/{notification-DPUkuifB.cjs.map → notification-DqWW2oh9.cjs.map} +1 -1
  198. package/dist/notification.cjs +1 -1
  199. package/dist/notification.js +1 -1
  200. package/dist/{option-OIp0joyN.cjs → option-1lYctKVI.cjs} +1 -1
  201. package/dist/{option-OIp0joyN.cjs.map → option-1lYctKVI.cjs.map} +1 -1
  202. package/dist/{option-Ci7C8xxh.js → option-N3wlHTc9.js} +1 -1
  203. package/dist/{option-Ci7C8xxh.js.map → option-N3wlHTc9.js.map} +1 -1
  204. package/dist/option.cjs +1 -1
  205. package/dist/option.js +1 -1
  206. package/dist/overlay.cjs +1 -1
  207. package/dist/overlay.js +1 -1
  208. package/dist/page.cjs +1 -1
  209. package/dist/page.js +2 -2
  210. package/dist/{progress-DGkwPgDX.js → progress-DhcXo8r-.js} +1 -1
  211. package/dist/{progress-DGkwPgDX.js.map → progress-DhcXo8r-.js.map} +1 -1
  212. package/dist/{progress-32Cad1NX.cjs → progress-YOuASkdz.cjs} +1 -1
  213. package/dist/{progress-32Cad1NX.cjs.map → progress-YOuASkdz.cjs.map} +1 -1
  214. package/dist/progress.cjs +1 -1
  215. package/dist/progress.js +1 -1
  216. package/dist/{provide-MvHcXKzT.cjs → provide-B7b5TOCD.cjs} +1 -1
  217. package/dist/{provide-MvHcXKzT.cjs.map → provide-B7b5TOCD.cjs.map} +1 -1
  218. package/dist/{provide-BuzyBLGj.js → provide-uCFRzgWs.js} +1 -1
  219. package/dist/{provide-BuzyBLGj.js.map → provide-uCFRzgWs.js.map} +1 -1
  220. package/dist/qr-scanner.cjs +1 -1
  221. package/dist/qr-scanner.js +1 -1
  222. package/dist/{radio-group-B7DuNxUq.cjs → radio-group-DYvIgv3P.cjs} +1 -1
  223. package/dist/{radio-group-B7DuNxUq.cjs.map → radio-group-DYvIgv3P.cjs.map} +1 -1
  224. package/dist/{radio-group-B72sYGnS.js → radio-group-DchZApJl.js} +1 -1
  225. package/dist/{radio-group-B72sYGnS.js.map → radio-group-DchZApJl.js.map} +1 -1
  226. package/dist/radio-group.cjs +1 -1
  227. package/dist/radio-group.js +1 -1
  228. package/dist/range.cjs +1 -1
  229. package/dist/range.js +1 -1
  230. package/dist/{scroll-V1rAZ9fK.cjs → scroll-BKn4essm.cjs} +1 -1
  231. package/dist/{scroll-V1rAZ9fK.cjs.map → scroll-BKn4essm.cjs.map} +1 -1
  232. package/dist/{scroll-CdmXRXh2.js → scroll-G2YnteF9.js} +1 -1
  233. package/dist/{scroll-CdmXRXh2.js.map → scroll-G2YnteF9.js.map} +1 -1
  234. package/dist/{select-wFDKDLQI.js → select-Bydjuia9.js} +1 -1
  235. package/dist/{select-wFDKDLQI.js.map → select-Bydjuia9.js.map} +1 -1
  236. package/dist/{select-DFxoBgEf.cjs → select-CQGKkEZc.cjs} +1 -1
  237. package/dist/{select-DFxoBgEf.cjs.map → select-CQGKkEZc.cjs.map} +1 -1
  238. package/dist/select.cjs +1 -1
  239. package/dist/select.js +1 -1
  240. package/dist/{sheet-DdlZhnDG.cjs → sheet-BCxpHT62.cjs} +1 -1
  241. package/dist/{sheet-DdlZhnDG.cjs.map → sheet-BCxpHT62.cjs.map} +1 -1
  242. package/dist/{sheet-LFVo5iN4.js → sheet-DGfh9VSs.js} +3 -3
  243. package/dist/{sheet-LFVo5iN4.js.map → sheet-DGfh9VSs.js.map} +1 -1
  244. package/dist/sheet.cjs +1 -1
  245. package/dist/sheet.js +2 -2
  246. package/dist/{sheet.service-BfNDB0K0.cjs → sheet.service-B-RxqhpO.cjs} +1 -1
  247. package/dist/{sheet.service-BfNDB0K0.cjs.map → sheet.service-B-RxqhpO.cjs.map} +1 -1
  248. package/dist/{sheet.service-DQE7-_wq.js → sheet.service-Dy_fwQqQ.js} +1 -1
  249. package/dist/{sheet.service-DQE7-_wq.js.map → sheet.service-Dy_fwQqQ.js.map} +1 -1
  250. package/dist/skeleton.cjs +1 -1
  251. package/dist/skeleton.js +1 -1
  252. package/dist/skills/SKILL.md +1 -1
  253. package/dist/skills/schmancy/SKILL.md +1 -1
  254. package/dist/slider.cjs +1 -1
  255. package/dist/slider.js +1 -1
  256. package/dist/{splash-screen-DteUfSV3.cjs → splash-screen-C2xsOEdx.cjs} +1 -1
  257. package/dist/{splash-screen-DteUfSV3.cjs.map → splash-screen-C2xsOEdx.cjs.map} +1 -1
  258. package/dist/{splash-screen-BHgb3c3Q.js → splash-screen-Clv-5vsb.js} +1 -1
  259. package/dist/{splash-screen-BHgb3c3Q.js.map → splash-screen-Clv-5vsb.js.map} +1 -1
  260. package/dist/splash-screen.cjs +1 -1
  261. package/dist/splash-screen.js +1 -1
  262. package/dist/{src-Dw-PjtMH.js → src-B0jLOpqn.js} +39 -39
  263. package/dist/{src-Dw-PjtMH.js.map → src-B0jLOpqn.js.map} +1 -1
  264. package/dist/{src-sG7Ihf0e.cjs → src-C9DpHCWF.cjs} +1 -1
  265. package/dist/{src-sG7Ihf0e.cjs.map → src-C9DpHCWF.cjs.map} +1 -1
  266. package/dist/steps.cjs +1 -1
  267. package/dist/steps.js +3 -3
  268. package/dist/{surface-0XM4DBaT.js → surface-BWcq30OL.js} +2 -2
  269. package/dist/{surface-0XM4DBaT.js.map → surface-BWcq30OL.js.map} +1 -1
  270. package/dist/{surface-B6DA01kL.cjs → surface-fEmoN08Y.cjs} +1 -1
  271. package/dist/{surface-B6DA01kL.cjs.map → surface-fEmoN08Y.cjs.map} +1 -1
  272. package/dist/surface.cjs +1 -1
  273. package/dist/surface.js +1 -1
  274. package/dist/switch.cjs +1 -1
  275. package/dist/switch.js +1 -1
  276. package/dist/{table-Dwt66SR6.js → table-B8H-zioX.js} +1 -1
  277. package/dist/{table-Dwt66SR6.js.map → table-B8H-zioX.js.map} +1 -1
  278. package/dist/{table-DFlJhG5E.cjs → table-ChHS4xby.cjs} +1 -1
  279. package/dist/{table-DFlJhG5E.cjs.map → table-ChHS4xby.cjs.map} +1 -1
  280. package/dist/table.cjs +1 -1
  281. package/dist/table.js +1 -1
  282. package/dist/{tabs-C7r4TqcX.js → tabs-DB5kSuGL.js} +2 -2
  283. package/dist/{tabs-C7r4TqcX.js.map → tabs-DB5kSuGL.js.map} +1 -1
  284. package/dist/{tabs-DZaLZUBy.cjs → tabs-DGmbqqBD.cjs} +1 -1
  285. package/dist/{tabs-DZaLZUBy.cjs.map → tabs-DGmbqqBD.cjs.map} +1 -1
  286. package/dist/tabs.cjs +1 -1
  287. package/dist/tabs.js +1 -1
  288. package/dist/tailwind.mixin-BHX99hgX.cjs +2 -0
  289. package/dist/{tailwind.mixin-Bh58QnlW.cjs.map → tailwind.mixin-BHX99hgX.cjs.map} +1 -1
  290. package/dist/tailwind.mixin-DIEGVcl3.js +219 -0
  291. package/dist/{tailwind.mixin-H5Pn7vSJ.js.map → tailwind.mixin-DIEGVcl3.js.map} +1 -1
  292. package/dist/teleport.cjs +1 -1
  293. package/dist/teleport.js +1 -1
  294. package/dist/{textarea-B2544vx9.cjs → textarea-CfQnghhD.cjs} +1 -1
  295. package/dist/{textarea-B2544vx9.cjs.map → textarea-CfQnghhD.cjs.map} +1 -1
  296. package/dist/{textarea-CS-KdSLz.js → textarea-O9A58OZA.js} +1 -1
  297. package/dist/{textarea-CS-KdSLz.js.map → textarea-O9A58OZA.js.map} +1 -1
  298. package/dist/textarea.cjs +1 -1
  299. package/dist/textarea.js +1 -1
  300. package/dist/{theme-DU5yXaV-.cjs → theme-BjnQjhR0.cjs} +1 -1
  301. package/dist/{theme-DU5yXaV-.cjs.map → theme-BjnQjhR0.cjs.map} +1 -1
  302. package/dist/{theme-Cq_c9IO3.js → theme-DvCKLRkt.js} +3 -3
  303. package/dist/{theme-Cq_c9IO3.js.map → theme-DvCKLRkt.js.map} +1 -1
  304. package/dist/{theme-button-OJl2ma0u.js → theme-button-ByImreDw.js} +1 -1
  305. package/dist/{theme-button-OJl2ma0u.js.map → theme-button-ByImreDw.js.map} +1 -1
  306. package/dist/{theme-button-CPujUbgV.cjs → theme-button-CaxDEneM.cjs} +1 -1
  307. package/dist/{theme-button-CPujUbgV.cjs.map → theme-button-CaxDEneM.cjs.map} +1 -1
  308. package/dist/theme-button.cjs +1 -1
  309. package/dist/theme-button.js +1 -1
  310. package/dist/theme.cjs +1 -1
  311. package/dist/theme.js +2 -2
  312. package/dist/tree.cjs +1 -1
  313. package/dist/tree.js +1 -1
  314. package/dist/typewriter.cjs +1 -1
  315. package/dist/typewriter.js +3 -3
  316. package/dist/typography.cjs +1 -1
  317. package/dist/typography.js +1 -1
  318. package/dist/visually-hidden.cjs +1 -1
  319. package/dist/visually-hidden.js +1 -1
  320. package/dist/{window-Cjv2GqSN.cjs → window-BhrSdbk2.cjs} +1 -1
  321. package/dist/{window-Cjv2GqSN.cjs.map → window-BhrSdbk2.cjs.map} +1 -1
  322. package/dist/{window-BWecg8Ih.js → window-C8kImMiI.js} +1 -1
  323. package/dist/{window-BWecg8Ih.js.map → window-C8kImMiI.js.map} +1 -1
  324. package/dist/window.cjs +1 -1
  325. package/dist/window.js +1 -1
  326. package/package.json +1 -1
  327. package/skills/schmancy/SKILL.md +1 -1
  328. package/dist/context-CAYQh-mx.cjs +0 -1
  329. package/dist/context-D8Q66KPe.js +0 -3
  330. package/dist/tailwind.mixin-Bh58QnlW.cjs +0 -2
  331. package/dist/tailwind.mixin-H5Pn7vSJ.js +0 -219
@@ -1 +1 @@
1
- {"version":3,"file":"card-BslSqOsf.cjs","names":[],"sources":["../src/card/actions.ts","../src/card/card.ts","../src/card/content.ts","../src/card/media.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * Action row of a schmancy-card — holds the card's buttons / links (typically aligned bottom-right).\n *\n * @element schmancy-card-action\n * @summary Always nested inside schmancy-card. Holds the primary + secondary CTAs for the card.\n * @example\n * <schmancy-card-action>\n * <schmancy-button variant=\"text\">Cancel</schmancy-button>\n * <schmancy-button variant=\"filled\">Save</schmancy-button>\n * </schmancy-card-action>\n * @platform div - Styled flex container. Degrades to a plain div if the tag never registers.\n * @slot - The content of the action\n */\n@customElement('schmancy-card-action')\nexport default class SchmancyCardAction extends TailwindElement(css`\n\t:host {\n\t\tdisplay: flex;\n\t\tgap: 0.5rem;\n\t\tpadding: 0.5rem 1rem;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-action': SchmancyCardAction\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { cursorGlow } from '../directives/cursor-glow'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\n/**\n * Material Design card — a surface-level container for grouping related content with media / content / actions slots.\n *\n * @element schmancy-card\n * @summary Use for discrete pieces of content that appear in a list (a product, a note, a message). Combine with schmancy-card-media / schmancy-card-content / schmancy-card-action children.\n * @example\n * <schmancy-card type=\"elevated\" href=\"/items/42\">\n * <schmancy-card-media src=\"/thumb.jpg\" alt=\"Thumbnail\"></schmancy-card-media>\n * <schmancy-card-content>\n * <h3>Title</h3>\n * <p>One-line description of the card's content.</p>\n * </schmancy-card-content>\n * <schmancy-card-action>\n * <schmancy-button variant=\"text\">Open</schmancy-button>\n * </schmancy-card-action>\n * </schmancy-card>\n * @platform div - Styled `<div>`; becomes an `<a>` when `href` is set so the whole card is a single interactive surface. Degrades to a plain div/a if the tag never registers.\n */\n@customElement('schmancy-card')\nexport default class SchmancyCard extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tborder-radius: var(--schmancy-sys-shape-corner-medium);\n\t\ttransition:\n\t\t\tbox-shadow var(--schmancy-sys-motion-duration-short4) var(--schmancy-sys-motion-easing-standard),\n\t\t\ttransform 300ms cubic-bezier(0.34, 1.56, 0.64, 1);\n\t\toutline: none;\n\t}\n\n\t/* Type variants */\n\t:host([type='elevated']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-low);\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\n\t}\n\t:host([type='filled']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-highest);\n\t\tbox-shadow: var(--schmancy-sys-elevation-0);\n\t}\n\t:host([type='outlined']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-default);\n\t\tborder: 1px solid var(--schmancy-sys-color-outlineVariant);\n\t\tbox-shadow: var(--schmancy-sys-elevation-0);\n\t}\n\n\t/* Interactive states */\n\t:host([interactive]) {\n\t\tcursor: pointer;\n\t\t-webkit-tap-highlight-color: transparent;\n\t}\n\t:host([interactive]:focus-visible:not([disabled])) {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary-default);\n\t\toutline-offset: 2px;\n\t}\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t\topacity: var(--schmancy-sys-state-disabled-opacity);\n\t}\n\n\t/* Hover elevations — luminous glow + lift */\n\t:host([type='elevated'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow:\n\t\t\tvar(--schmancy-sys-elevation-2),\n\t\t\t0 4px 24px -6px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 12%, transparent);\n\t\ttransform: translateY(-2px);\n\t}\n\t:host([type='filled'][interactive]:hover:not([disabled])),\n\t:host([type='outlined'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow:\n\t\t\tvar(--schmancy-sys-elevation-1),\n\t\t\t0 4px 20px -6px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 10%, transparent);\n\t\ttransform: translateY(-1px);\n\t}\n\n\t/* Active state — kinetic compress */\n\t:host([interactive]:active:not([disabled])) {\n\t\ttransform: scale(0.98);\n\t\ttransition-duration: 100ms;\n\t}\n\n\t/* Dragged state */\n\t:host([dragged]) {\n\t\tbox-shadow:\n\t\t\tvar(--schmancy-sys-elevation-3),\n\t\t\t0 8px 32px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent);\n\t\ttransform: translateY(-4px);\n\t}\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\t:host([interactive]:hover:not([disabled])),\n\t\t:host([interactive]:active:not([disabled])),\n\t\t:host([dragged]) {\n\t\t\ttransform: none;\n\t\t}\n\t}\n\n\t@keyframes ripple {\n\t\tto {\n\t\t\ttransform: scale(4);\n\t\t\topacity: 0;\n\t\t}\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t/**\n\t * The visual style of the card.\n\t * @default 'elevated'\n\t */\n\t@property({ reflect: true })\n\ttype: 'elevated' | 'filled' | 'outlined' = 'elevated'\n\n\t/**\n\t * Makes the card interactive (clickable).\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tinteractive = false\n\n\t/**\n\t * Disables the card.\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tdisabled = false\n\n\t/**\n\t * Indicates the card is being dragged.\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tdragged = false\n\n\t/**\n\t * URL to navigate to when card is clicked (makes it act like a link).\n\t */\n\t@property()\n\thref?: string\n\n\t/**\n\t * Target for the link navigation.\n\t */\n\t@property()\n\ttarget?: string\n\n\t/**\n\t * ARIA role for accessibility.\n\t */\n\t@property({ attribute: 'role' })\n\toverride role = 'article'\n\n\t/**\n\t * ARIA label for accessibility.\n\t */\n\t@property({ attribute: 'aria-label' })\n\toverride ariaLabel: string = ''\n\n\t// Internal state for interaction feedback\n\t@state() pressed = false\n\t@state() private ripples: Array<{ x: number; y: number; id: number }> = []\n\n\tprivate nextRippleId = 0\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis._updateAriaAttributes()\n\t}\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\t\tif (changedProperties.has('interactive') || changedProperties.has('disabled')) {\n\t\t\tthis._updateAriaAttributes()\n\t\t}\n\t}\n\n\t// Consolidate ARIA attribute updates\n\tprivate _updateAriaAttributes() {\n\t\tconst isInteractive = this.interactive && !this.disabled\n\n\t\tif (isInteractive) {\n\t\t\tthis.setAttribute('tabindex', '0')\n\t\t\tif (!this.role || this.role === 'article') {\n\t\t\t\tthis.role = this.href ? 'link' : 'button'\n\t\t\t}\n\t\t} else {\n\t\t\tthis.removeAttribute('tabindex')\n\t\t\tif (this.role === 'button' || this.role === 'link') {\n\t\t\t\tthis.role = 'article'\n\t\t\t}\n\t\t}\n\t}\n\n\t// Shared ripple creation logic\n\tprivate _addRipple(x: number, y: number) {\n\t\tconst id = this.nextRippleId++\n\t\tthis.ripples = [...this.ripples, { x, y, id }]\n\n\t\t// Remove ripple after animation completes\n\t\tsetTimeout(() => {\n\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\n\t\t}, 600) // M3 medium duration\n\t}\n\n\t// Shared navigation logic\n\tprivate _navigate() {\n\t\tif (!this.href) return\n\n\t\tif (this.target === '_blank') {\n\t\t\twindow.open(this.href, '_blank')\n\t\t} else {\n\t\t\twindow.location.href = this.href\n\t\t}\n\t}\n\n\t// Combined action trigger (ripple + navigate + event)\n\tprivate _triggerAction(x: number, y: number) {\n\t\tthis._addRipple(x, y)\n\t\tthis._navigate()\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('schmancy-click', {\n\t\t\t\tdetail: { value: this.type },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate handleClick = (e: MouseEvent) => {\n\t\tif (this.disabled || !this.interactive) return\n\n\t\tconst rect = this.getBoundingClientRect()\n\t\tthis._triggerAction(e.clientX - rect.left, e.clientY - rect.top)\n\t}\n\n\tprivate handleKeyDown = (e: KeyboardEvent) => {\n\t\tif (this.disabled || !this.interactive) return\n\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\te.preventDefault()\n\t\t\tthis._setPressed(true)\n\n\t\t\t// Simulate click at center\n\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\tthis._triggerAction(rect.width / 2, rect.height / 2)\n\t\t}\n\t}\n\n\tprivate handleKeyUp = (e: KeyboardEvent) => {\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\tthis._setPressed(false)\n\t\t}\n\t}\n\n\t// Consolidate pressed state management\n\tprivate _setPressed(pressed: boolean) {\n\t\tthis.pressed = pressed\n\t\tif (pressed) {\n\t\t\tthis.setAttribute('pressed', '')\n\t\t} else {\n\t\t\tthis.removeAttribute('pressed')\n\t\t}\n\t}\n\n\tprivate handleMouseDown = () => {\n\t\tif (this.disabled || !this.interactive) return\n\t\tthis._setPressed(true)\n\t}\n\n\tprivate handleMouseUp = () => this._setPressed(false)\n\tprivate handleMouseLeave = () => this._setPressed(false)\n\n\tprotected render() {\n\t\tconst isInteractive = this.interactive && !this.disabled\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\t${isInteractive ? cursorGlow({ radius: 200, intensity: 0.1 }) : ''}\n\t\t\t\tclass=\"relative w-full h-full rounded-xl ${isInteractive ? 'cursor-pointer' : ''}\"\n\t\t\t\t@click=${this.handleClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t@keyup=${this.handleKeyUp}\n\t\t\t\t@mousedown=${this.handleMouseDown}\n\t\t\t\t@mouseup=${this.handleMouseUp}\n\t\t\t\t@mouseleave=${this.handleMouseLeave}\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\taria-disabled=${this.disabled ? 'true' : 'false'}\n\t\t\t>\n\t\t\t\t<!-- State layer -->\n\t\t\t\t<div\n\t\t\t\t\tclass=\"absolute inset-0 rounded-xl pointer-events-none transition-opacity duration-200 bg-surface-on ${!isInteractive\n\t\t\t\t\t\t? 'opacity-0'\n\t\t\t\t\t\t: this.pressed\n\t\t\t\t\t\t\t? 'opacity-[var(--schmancy-sys-state-pressed-opacity)]'\n\t\t\t\t\t\t\t: 'opacity-0 hover:opacity-[var(--schmancy-sys-state-hover-opacity)] focus-visible:opacity-[var(--schmancy-sys-state-focus-opacity)]'}\"\n\t\t\t\t></div>\n\n\t\t\t\t<!-- Ripples -->\n\t\t\t\t${this.interactive && this.ripples.length\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<div class=\"absolute inset-0 rounded-xl overflow-hidden pointer-events-none\">\n\t\t\t\t\t\t\t\t${this.ripples.map(\n\t\t\t\t\t\t\t\t\tr => html`\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclass=\"absolute rounded-full scale-0 animate-[ripple_600ms_linear] bg-surface-on opacity-[0.12] w-5 h-5 -ml-2.5 -mt-2.5\"\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"left: ${r.x}px; top: ${r.y}px\"\n\t\t\t\t\t\t\t\t\t\t></span>\n\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`\n\t\t\t\t\t: ''}\n\n\t\t\t\t<!-- Content -->\n\t\t\t\t<div class=\"relative h-full w-full rounded-xl\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card': SchmancyCard\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * Content region of a schmancy-card — holds the card's headline, supporting text, and inline controls.\n *\n * @element schmancy-card-content\n * @summary Always nested inside schmancy-card. The padded content block between the media and action rows.\n * @example\n * <schmancy-card-content>\n * <h3>Card title</h3>\n * <p>Supporting text that describes the card's subject.</p>\n * </schmancy-card-content>\n * @platform div - Styled `<div>` with padding. Degrades to a plain div if the tag never registers.\n */\n@customElement('schmancy-card-content')\nexport default class SchmancyCardContent extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tpadding: 1rem;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-content': SchmancyCardContent\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * Media region of a schmancy-card — the image / thumbnail at the top of the card.\n *\n * @element schmancy-card-media\n * @summary Always nested inside schmancy-card. Pass `src` + `alt` props or slot an `<img>` / `<video>` for custom media.\n * @example\n * <schmancy-card-media src=\"/thumb.jpg\" alt=\"Product photo\"></schmancy-card-media>\n * @platform img - Renders an `<img>` (or wraps a slotted media element). Degrades to a styled `<img>` if the tag never registers.\n */\n@customElement('schmancy-card-media')\nexport default class SchmancyCardMedia extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\theight: 200px;\n\t\toverflow: hidden;\n\t}\n\t\n\t/* Allow height to be overridden when used in flex/grid layouts */\n\t:host-context(.h-full) {\n\t\theight: 100%;\n\t}\n\t\n\t::slotted(img),\n\timg {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tobject-position: center;\n\t}\n\t\n\t/* Object fit styles based on fit attribute */\n\t:host([fit=\"contain\"]) img,\n\t:host([fit=\"contain\"]) ::slotted(img) {\n\t\tobject-fit: contain;\n\t}\n\t\n\t:host([fit=\"cover\"]) img,\n\t:host([fit=\"cover\"]) ::slotted(img) {\n\t\tobject-fit: cover;\n\t}\n\t\n\t:host([fit=\"fill\"]) img,\n\t:host([fit=\"fill\"]) ::slotted(img) {\n\t\tobject-fit: fill;\n\t}\n\t\n\t:host([fit=\"none\"]) img,\n\t:host([fit=\"none\"]) ::slotted(img) {\n\t\tobject-fit: none;\n\t}\n\t\n\t:host([fit=\"scale-down\"]) img,\n\t:host([fit=\"scale-down\"]) ::slotted(img) {\n\t\tobject-fit: scale-down;\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tsrc: string = ''\n\n\t@property({ type: String, reflect: true })\n\tfit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down' = 'contain'\n\t\n\t@property({ type: String })\n\talt: string = ''\n\n\tprotected render(): unknown {\n\t\t// If src is provided, render an img element\n\t\t// Otherwise, allow users to slot their own content\n\t\treturn this.src \n\t\t\t? html`<img src=\"${this.src}\" alt=\"${this.alt}\" />` \n\t\t\t: html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-media': SchmancyCardMedia\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"card-DtN6p1Jq.cjs","names":[],"sources":["../src/card/actions.ts","../src/card/card.ts","../src/card/content.ts","../src/card/media.ts"],"sourcesContent":["import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * Action row of a schmancy-card — holds the card's buttons / links (typically aligned bottom-right).\n *\n * @element schmancy-card-action\n * @summary Always nested inside schmancy-card. Holds the primary + secondary CTAs for the card.\n * @example\n * <schmancy-card-action>\n * <schmancy-button variant=\"text\">Cancel</schmancy-button>\n * <schmancy-button variant=\"filled\">Save</schmancy-button>\n * </schmancy-card-action>\n * @platform div - Styled flex container. Degrades to a plain div if the tag never registers.\n * @slot - The content of the action\n */\n@customElement('schmancy-card-action')\nexport default class SchmancyCardAction extends TailwindElement(css`\n\t:host {\n\t\tdisplay: flex;\n\t\tgap: 0.5rem;\n\t\tpadding: 0.5rem 1rem;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-action': SchmancyCardAction\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { cursorGlow } from '../directives/cursor-glow'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\n/**\n * Material Design card — a surface-level container for grouping related content with media / content / actions slots.\n *\n * @element schmancy-card\n * @summary Use for discrete pieces of content that appear in a list (a product, a note, a message). Combine with schmancy-card-media / schmancy-card-content / schmancy-card-action children.\n * @example\n * <schmancy-card type=\"elevated\" href=\"/items/42\">\n * <schmancy-card-media src=\"/thumb.jpg\" alt=\"Thumbnail\"></schmancy-card-media>\n * <schmancy-card-content>\n * <h3>Title</h3>\n * <p>One-line description of the card's content.</p>\n * </schmancy-card-content>\n * <schmancy-card-action>\n * <schmancy-button variant=\"text\">Open</schmancy-button>\n * </schmancy-card-action>\n * </schmancy-card>\n * @platform div - Styled `<div>`; becomes an `<a>` when `href` is set so the whole card is a single interactive surface. Degrades to a plain div/a if the tag never registers.\n */\n@customElement('schmancy-card')\nexport default class SchmancyCard extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tborder-radius: var(--schmancy-sys-shape-corner-medium);\n\t\ttransition:\n\t\t\tbox-shadow var(--schmancy-sys-motion-duration-short4) var(--schmancy-sys-motion-easing-standard),\n\t\t\ttransform 300ms cubic-bezier(0.34, 1.56, 0.64, 1);\n\t\toutline: none;\n\t}\n\n\t/* Type variants */\n\t:host([type='elevated']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-low);\n\t\tbox-shadow: var(--schmancy-sys-elevation-1);\n\t}\n\t:host([type='filled']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-highest);\n\t\tbox-shadow: var(--schmancy-sys-elevation-0);\n\t}\n\t:host([type='outlined']) {\n\t\tbackground-color: var(--schmancy-sys-color-surface-default);\n\t\tborder: 1px solid var(--schmancy-sys-color-outlineVariant);\n\t\tbox-shadow: var(--schmancy-sys-elevation-0);\n\t}\n\n\t/* Interactive states */\n\t:host([interactive]) {\n\t\tcursor: pointer;\n\t\t-webkit-tap-highlight-color: transparent;\n\t}\n\t:host([interactive]:focus-visible:not([disabled])) {\n\t\toutline: 2px solid var(--schmancy-sys-color-primary-default);\n\t\toutline-offset: 2px;\n\t}\n\t:host([disabled]) {\n\t\tpointer-events: none;\n\t\topacity: var(--schmancy-sys-state-disabled-opacity);\n\t}\n\n\t/* Hover elevations — luminous glow + lift */\n\t:host([type='elevated'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow:\n\t\t\tvar(--schmancy-sys-elevation-2),\n\t\t\t0 4px 24px -6px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 12%, transparent);\n\t\ttransform: translateY(-2px);\n\t}\n\t:host([type='filled'][interactive]:hover:not([disabled])),\n\t:host([type='outlined'][interactive]:hover:not([disabled])) {\n\t\tbox-shadow:\n\t\t\tvar(--schmancy-sys-elevation-1),\n\t\t\t0 4px 20px -6px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 10%, transparent);\n\t\ttransform: translateY(-1px);\n\t}\n\n\t/* Active state — kinetic compress */\n\t:host([interactive]:active:not([disabled])) {\n\t\ttransform: scale(0.98);\n\t\ttransition-duration: 100ms;\n\t}\n\n\t/* Dragged state */\n\t:host([dragged]) {\n\t\tbox-shadow:\n\t\t\tvar(--schmancy-sys-elevation-3),\n\t\t\t0 8px 32px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent);\n\t\ttransform: translateY(-4px);\n\t}\n\n\t@media (prefers-reduced-motion: reduce) {\n\t\t:host([interactive]:hover:not([disabled])),\n\t\t:host([interactive]:active:not([disabled])),\n\t\t:host([dragged]) {\n\t\t\ttransform: none;\n\t\t}\n\t}\n\n\t@keyframes ripple {\n\t\tto {\n\t\t\ttransform: scale(4);\n\t\t\topacity: 0;\n\t\t}\n\t}\n`) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open',\n\t\tdelegatesFocus: true,\n\t}\n\n\t/**\n\t * The visual style of the card.\n\t * @default 'elevated'\n\t */\n\t@property({ reflect: true })\n\ttype: 'elevated' | 'filled' | 'outlined' = 'elevated'\n\n\t/**\n\t * Makes the card interactive (clickable).\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tinteractive = false\n\n\t/**\n\t * Disables the card.\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tdisabled = false\n\n\t/**\n\t * Indicates the card is being dragged.\n\t * @default false\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tdragged = false\n\n\t/**\n\t * URL to navigate to when card is clicked (makes it act like a link).\n\t */\n\t@property()\n\thref?: string\n\n\t/**\n\t * Target for the link navigation.\n\t */\n\t@property()\n\ttarget?: string\n\n\t/**\n\t * ARIA role for accessibility.\n\t */\n\t@property({ attribute: 'role' })\n\toverride role = 'article'\n\n\t/**\n\t * ARIA label for accessibility.\n\t */\n\t@property({ attribute: 'aria-label' })\n\toverride ariaLabel: string = ''\n\n\t// Internal state for interaction feedback\n\t@state() pressed = false\n\t@state() private ripples: Array<{ x: number; y: number; id: number }> = []\n\n\tprivate nextRippleId = 0\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\t\tthis._updateAriaAttributes()\n\t}\n\n\tupdated(changedProperties: Map<string, any>) {\n\t\tsuper.updated(changedProperties)\n\t\tif (changedProperties.has('interactive') || changedProperties.has('disabled')) {\n\t\t\tthis._updateAriaAttributes()\n\t\t}\n\t}\n\n\t// Consolidate ARIA attribute updates\n\tprivate _updateAriaAttributes() {\n\t\tconst isInteractive = this.interactive && !this.disabled\n\n\t\tif (isInteractive) {\n\t\t\tthis.setAttribute('tabindex', '0')\n\t\t\tif (!this.role || this.role === 'article') {\n\t\t\t\tthis.role = this.href ? 'link' : 'button'\n\t\t\t}\n\t\t} else {\n\t\t\tthis.removeAttribute('tabindex')\n\t\t\tif (this.role === 'button' || this.role === 'link') {\n\t\t\t\tthis.role = 'article'\n\t\t\t}\n\t\t}\n\t}\n\n\t// Shared ripple creation logic\n\tprivate _addRipple(x: number, y: number) {\n\t\tconst id = this.nextRippleId++\n\t\tthis.ripples = [...this.ripples, { x, y, id }]\n\n\t\t// Remove ripple after animation completes\n\t\tsetTimeout(() => {\n\t\t\tthis.ripples = this.ripples.filter(r => r.id !== id)\n\t\t}, 600) // M3 medium duration\n\t}\n\n\t// Shared navigation logic\n\tprivate _navigate() {\n\t\tif (!this.href) return\n\n\t\tif (this.target === '_blank') {\n\t\t\twindow.open(this.href, '_blank')\n\t\t} else {\n\t\t\twindow.location.href = this.href\n\t\t}\n\t}\n\n\t// Combined action trigger (ripple + navigate + event)\n\tprivate _triggerAction(x: number, y: number) {\n\t\tthis._addRipple(x, y)\n\t\tthis._navigate()\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent('schmancy-click', {\n\t\t\t\tdetail: { value: this.type },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate handleClick = (e: MouseEvent) => {\n\t\tif (this.disabled || !this.interactive) return\n\n\t\tconst rect = this.getBoundingClientRect()\n\t\tthis._triggerAction(e.clientX - rect.left, e.clientY - rect.top)\n\t}\n\n\tprivate handleKeyDown = (e: KeyboardEvent) => {\n\t\tif (this.disabled || !this.interactive) return\n\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\te.preventDefault()\n\t\t\tthis._setPressed(true)\n\n\t\t\t// Simulate click at center\n\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\tthis._triggerAction(rect.width / 2, rect.height / 2)\n\t\t}\n\t}\n\n\tprivate handleKeyUp = (e: KeyboardEvent) => {\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\tthis._setPressed(false)\n\t\t}\n\t}\n\n\t// Consolidate pressed state management\n\tprivate _setPressed(pressed: boolean) {\n\t\tthis.pressed = pressed\n\t\tif (pressed) {\n\t\t\tthis.setAttribute('pressed', '')\n\t\t} else {\n\t\t\tthis.removeAttribute('pressed')\n\t\t}\n\t}\n\n\tprivate handleMouseDown = () => {\n\t\tif (this.disabled || !this.interactive) return\n\t\tthis._setPressed(true)\n\t}\n\n\tprivate handleMouseUp = () => this._setPressed(false)\n\tprivate handleMouseLeave = () => this._setPressed(false)\n\n\tprotected render() {\n\t\tconst isInteractive = this.interactive && !this.disabled\n\n\t\treturn html`\n\t\t\t<div\n\t\t\t\t${isInteractive ? cursorGlow({ radius: 200, intensity: 0.1 }) : ''}\n\t\t\t\tclass=\"relative w-full h-full rounded-xl ${isInteractive ? 'cursor-pointer' : ''}\"\n\t\t\t\t@click=${this.handleClick}\n\t\t\t\t@keydown=${this.handleKeyDown}\n\t\t\t\t@keyup=${this.handleKeyUp}\n\t\t\t\t@mousedown=${this.handleMouseDown}\n\t\t\t\t@mouseup=${this.handleMouseUp}\n\t\t\t\t@mouseleave=${this.handleMouseLeave}\n\t\t\t\taria-label=${ifDefined(this.ariaLabel)}\n\t\t\t\taria-disabled=${this.disabled ? 'true' : 'false'}\n\t\t\t>\n\t\t\t\t<!-- State layer -->\n\t\t\t\t<div\n\t\t\t\t\tclass=\"absolute inset-0 rounded-xl pointer-events-none transition-opacity duration-200 bg-surface-on ${!isInteractive\n\t\t\t\t\t\t? 'opacity-0'\n\t\t\t\t\t\t: this.pressed\n\t\t\t\t\t\t\t? 'opacity-[var(--schmancy-sys-state-pressed-opacity)]'\n\t\t\t\t\t\t\t: 'opacity-0 hover:opacity-[var(--schmancy-sys-state-hover-opacity)] focus-visible:opacity-[var(--schmancy-sys-state-focus-opacity)]'}\"\n\t\t\t\t></div>\n\n\t\t\t\t<!-- Ripples -->\n\t\t\t\t${this.interactive && this.ripples.length\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<div class=\"absolute inset-0 rounded-xl overflow-hidden pointer-events-none\">\n\t\t\t\t\t\t\t\t${this.ripples.map(\n\t\t\t\t\t\t\t\t\tr => html`\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclass=\"absolute rounded-full scale-0 animate-[ripple_600ms_linear] bg-surface-on opacity-[0.12] w-5 h-5 -ml-2.5 -mt-2.5\"\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"left: ${r.x}px; top: ${r.y}px\"\n\t\t\t\t\t\t\t\t\t\t></span>\n\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`\n\t\t\t\t\t: ''}\n\n\t\t\t\t<!-- Content -->\n\t\t\t\t<div class=\"relative h-full w-full rounded-xl\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card': SchmancyCard\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\n/**\n * Content region of a schmancy-card — holds the card's headline, supporting text, and inline controls.\n *\n * @element schmancy-card-content\n * @summary Always nested inside schmancy-card. The padded content block between the media and action rows.\n * @example\n * <schmancy-card-content>\n * <h3>Card title</h3>\n * <p>Supporting text that describes the card's subject.</p>\n * </schmancy-card-content>\n * @platform div - Styled `<div>` with padding. Degrades to a plain div if the tag never registers.\n */\n@customElement('schmancy-card-content')\nexport default class SchmancyCardContent extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tpadding: 1rem;\n\t}\n`) {\n\tprotected render(): unknown {\n\t\treturn html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-content': SchmancyCardContent\n\t}\n}\n","import { TailwindElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n/**\n * Media region of a schmancy-card — the image / thumbnail at the top of the card.\n *\n * @element schmancy-card-media\n * @summary Always nested inside schmancy-card. Pass `src` + `alt` props or slot an `<img>` / `<video>` for custom media.\n * @example\n * <schmancy-card-media src=\"/thumb.jpg\" alt=\"Product photo\"></schmancy-card-media>\n * @platform img - Renders an `<img>` (or wraps a slotted media element). Degrades to a styled `<img>` if the tag never registers.\n */\n@customElement('schmancy-card-media')\nexport default class SchmancyCardMedia extends TailwindElement(css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\theight: 200px;\n\t\toverflow: hidden;\n\t}\n\t\n\t/* Allow height to be overridden when used in flex/grid layouts */\n\t:host-context(.h-full) {\n\t\theight: 100%;\n\t}\n\t\n\t::slotted(img),\n\timg {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tobject-position: center;\n\t}\n\t\n\t/* Object fit styles based on fit attribute */\n\t:host([fit=\"contain\"]) img,\n\t:host([fit=\"contain\"]) ::slotted(img) {\n\t\tobject-fit: contain;\n\t}\n\t\n\t:host([fit=\"cover\"]) img,\n\t:host([fit=\"cover\"]) ::slotted(img) {\n\t\tobject-fit: cover;\n\t}\n\t\n\t:host([fit=\"fill\"]) img,\n\t:host([fit=\"fill\"]) ::slotted(img) {\n\t\tobject-fit: fill;\n\t}\n\t\n\t:host([fit=\"none\"]) img,\n\t:host([fit=\"none\"]) ::slotted(img) {\n\t\tobject-fit: none;\n\t}\n\t\n\t:host([fit=\"scale-down\"]) img,\n\t:host([fit=\"scale-down\"]) ::slotted(img) {\n\t\tobject-fit: scale-down;\n\t}\n`) {\n\t@property({ type: String, reflect: true })\n\tsrc: string = ''\n\n\t@property({ type: String, reflect: true })\n\tfit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down' = 'contain'\n\t\n\t@property({ type: String })\n\talt: string = ''\n\n\tprotected render(): unknown {\n\t\t// If src is provided, render an img element\n\t\t// Otherwise, allow users to slot their own content\n\t\treturn this.src \n\t\t\t? html`<img src=\"${this.src}\" alt=\"${this.alt}\" />` \n\t\t\t: html`<slot></slot>`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-card-media': SchmancyCardMedia\n\t}\n}\n"],"mappings":"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"}
package/dist/card.cjs CHANGED
@@ -1 +1 @@
1
- require(`./card-BslSqOsf.cjs`);
1
+ require(`./card-DtN6p1Jq.cjs`);
package/dist/card.js CHANGED
@@ -1 +1 @@
1
- import "./card-CEdgK9nb.js";
1
+ import "./card-CTUaARLm.js";
package/dist/charts.cjs CHANGED
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-CncqDLb2.cjs`);const e=require(`./decorate-F9CuyeHg.cjs`),t=require(`./litElement.mixin-CtQOmwq6.cjs`);require(`./mixins.cjs`);let n=require(`lit/decorators.js`),r=require(`lit`),i=require(`lit/directives/ref.js`),a=require(`lit/directives/repeat.js`);function o(e,t,n,r,i){let a=i*i,o=a*i;return{x:.5*(2*t.x+(-e.x+n.x)*i+(2*e.x-5*t.x+4*n.x-r.x)*a+(-e.x+3*t.x-3*n.x+r.x)*o),y:.5*(2*t.y+(-e.y+n.y)*i+(2*e.y-5*t.y+4*n.y-r.y)*a+(-e.y+3*t.y-3*n.y+r.y)*o)}}function s(e,t){if(e.startsWith(`rgb`)){let n=e.match(/[\d.]+/g);if(n&&n.length>=3)return`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${t})`}let n=e.replace(`#`,``);return n.length===3&&(n=n.split(``).map(e=>e+e).join(``)),`rgba(${parseInt(n.substring(0,2),16)}, ${parseInt(n.substring(2,4),16)}, ${parseInt(n.substring(4,6),16)}, ${t})`}function c(e){return 1-(1-e)**3}var l=class extends t.t(r.css`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-CncqDLb2.cjs`);const e=require(`./decorate-F9CuyeHg.cjs`),t=require(`./litElement.mixin-lYlKxxjR.cjs`);require(`./mixins.cjs`);let n=require(`lit/decorators.js`),r=require(`lit`),i=require(`lit/directives/ref.js`),a=require(`lit/directives/repeat.js`);function o(e,t,n,r,i){let a=i*i,o=a*i;return{x:.5*(2*t.x+(-e.x+n.x)*i+(2*e.x-5*t.x+4*n.x-r.x)*a+(-e.x+3*t.x-3*n.x+r.x)*o),y:.5*(2*t.y+(-e.y+n.y)*i+(2*e.y-5*t.y+4*n.y-r.y)*a+(-e.y+3*t.y-3*n.y+r.y)*o)}}function s(e,t){if(e.startsWith(`rgb`)){let n=e.match(/[\d.]+/g);if(n&&n.length>=3)return`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${t})`}let n=e.replace(`#`,``);return n.length===3&&(n=n.split(``).map(e=>e+e).join(``)),`rgba(${parseInt(n.substring(0,2),16)}, ${parseInt(n.substring(2,4),16)}, ${parseInt(n.substring(4,6),16)}, ${t})`}function c(e){return 1-(1-e)**3}var l=class extends t.t(r.css`
2
2
  :host {
3
3
  display: block;
4
4
  }
package/dist/charts.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./decorate-D_utPUsC.js";
2
- import { t } from "./litElement.mixin-BnNYZ24e.js";
2
+ import { t } from "./litElement.mixin-BuZ28ZzP.js";
3
3
  import "./mixins.js";
4
4
  import { customElement as n, property as r, state as i } from "lit/decorators.js";
5
5
  import { css as a, html as o } from "lit";
@@ -1,4 +1,4 @@
1
- import { t as e } from "./tailwind.mixin-H5Pn7vSJ.js";
1
+ import { t as e } from "./tailwind.mixin-DIEGVcl3.js";
2
2
  import { t } from "./decorate-D_utPUsC.js";
3
3
  import "./mixins.js";
4
4
  import { t as n } from "./tslib.es6-DMzzJKHV.js";