@mhmo91/schmancy 0.10.41 → 0.10.42

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 (354) hide show
  1. package/custom-elements.json +27 -100
  2. package/dist/SchmancyElement-OG71FtNv.js +286 -0
  3. package/dist/{SchmancyElement-OWgz9ePG.js.map → SchmancyElement-OG71FtNv.js.map} +1 -1
  4. package/dist/SchmancyElement-PS1u0j1B.cjs +2 -0
  5. package/dist/{SchmancyElement-D9WA9FP9.cjs.map → SchmancyElement-PS1u0j1B.cjs.map} +1 -1
  6. package/dist/agent/schmancy.agent.js +48 -213
  7. package/dist/agent/schmancy.agent.js.map +1 -1
  8. package/dist/agent/schmancy.manifest.json +10 -36
  9. package/dist/{area-C7XjCoet.cjs → area-CaEI33G0.cjs} +1 -1
  10. package/dist/{area-C7XjCoet.cjs.map → area-CaEI33G0.cjs.map} +1 -1
  11. package/dist/{area-BiM7V2ns.js → area-DtCNCb8w.js} +2 -2
  12. package/dist/{area-BiM7V2ns.js.map → area-DtCNCb8w.js.map} +1 -1
  13. package/dist/area.cjs +1 -1
  14. package/dist/area.js +1 -1
  15. package/dist/{audio-xXFfMPCS.cjs → audio-B924fI5N.cjs} +1 -1
  16. package/dist/{audio-xXFfMPCS.cjs.map → audio-B924fI5N.cjs.map} +1 -1
  17. package/dist/{audio-CxO_j__6.js → audio-DdN76ikW.js} +1 -1
  18. package/dist/{audio-CxO_j__6.js.map → audio-DdN76ikW.js.map} +1 -1
  19. package/dist/audio.cjs +1 -1
  20. package/dist/audio.js +2 -2
  21. package/dist/{autocomplete-DD7Hd59N.cjs → autocomplete-Dq3BkitV.cjs} +1 -1
  22. package/dist/{autocomplete-DD7Hd59N.cjs.map → autocomplete-Dq3BkitV.cjs.map} +1 -1
  23. package/dist/{autocomplete-DUBY9RtH.js → autocomplete-UNOknYUz.js} +3 -3
  24. package/dist/{autocomplete-DUBY9RtH.js.map → autocomplete-UNOknYUz.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-ScvAima3.js → boat-BZah1Sf9.js} +5 -7
  32. package/dist/{boat-ScvAima3.js.map → boat-BZah1Sf9.js.map} +1 -1
  33. package/dist/{boat-BIYaPAHp.cjs → boat-D3bEjxf8.cjs} +2 -4
  34. package/dist/{boat-BIYaPAHp.cjs.map → boat-D3bEjxf8.cjs.map} +1 -1
  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-UbCGkTAi.cjs → busy--WqiXKnl.cjs} +1 -1
  40. package/dist/{busy-UbCGkTAi.cjs.map → busy--WqiXKnl.cjs.map} +1 -1
  41. package/dist/{busy-BjsO3y2A.js → busy-DzXyO0z6.js} +2 -2
  42. package/dist/{busy-BjsO3y2A.js.map → busy-DzXyO0z6.js.map} +1 -1
  43. package/dist/busy.cjs +1 -1
  44. package/dist/busy.js +1 -1
  45. package/dist/{button-BTpxQ1Kd.cjs → button-CTvS5YX4.cjs} +1 -1
  46. package/dist/{button-BTpxQ1Kd.cjs.map → button-CTvS5YX4.cjs.map} +1 -1
  47. package/dist/{button-D7QHfYf4.js → button-DgoDfcJx.js} +2 -2
  48. package/dist/{button-D7QHfYf4.js.map → button-DgoDfcJx.js.map} +1 -1
  49. package/dist/button.cjs +1 -1
  50. package/dist/button.js +3 -3
  51. package/dist/{card-DCdtJ5Dy.js → card-C6ijJZpF.js} +2 -2
  52. package/dist/{card-DCdtJ5Dy.js.map → card-C6ijJZpF.js.map} +1 -1
  53. package/dist/{card-rprhCYIC.cjs → card-Ci3_9Dd4.cjs} +1 -1
  54. package/dist/{card-rprhCYIC.cjs.map → card-Ci3_9Dd4.cjs.map} +1 -1
  55. package/dist/card.cjs +1 -1
  56. package/dist/card.js +1 -1
  57. package/dist/{checkbox-DVtyPk7l.js → checkbox-7vEPZuGC.js} +2 -2
  58. package/dist/{checkbox-DVtyPk7l.js.map → checkbox-7vEPZuGC.js.map} +1 -1
  59. package/dist/{checkbox-CYGOVPP-.cjs → checkbox-DXKdxkXE.cjs} +1 -1
  60. package/dist/{checkbox-CYGOVPP-.cjs.map → checkbox-DXKdxkXE.cjs.map} +1 -1
  61. package/dist/checkbox.cjs +1 -1
  62. package/dist/checkbox.js +1 -1
  63. package/dist/{chips-DVes-BSz.cjs → chips-9eG-96_D.cjs} +1 -1
  64. package/dist/{chips-DVes-BSz.cjs.map → chips-9eG-96_D.cjs.map} +1 -1
  65. package/dist/{chips-C5bpgWyf.js → chips-DF7akwz7.js} +4 -4
  66. package/dist/{chips-C5bpgWyf.js.map → chips-DF7akwz7.js.map} +1 -1
  67. package/dist/chips.cjs +1 -1
  68. package/dist/chips.js +2 -2
  69. package/dist/connectivity.cjs +2 -4
  70. package/dist/connectivity.cjs.map +1 -1
  71. package/dist/connectivity.js +4 -6
  72. package/dist/connectivity.js.map +1 -1
  73. package/dist/content-drawer.cjs +1 -1
  74. package/dist/content-drawer.js +1 -1
  75. package/dist/{date-range-IPlbrhwW.js → date-range-C13_R3OA.js} +3 -3
  76. package/dist/{date-range-IPlbrhwW.js.map → date-range-C13_R3OA.js.map} +1 -1
  77. package/dist/{date-range-DDUuBlJ6.cjs → date-range-Q2xj5Syc.cjs} +1 -1
  78. package/dist/{date-range-DDUuBlJ6.cjs.map → date-range-Q2xj5Syc.cjs.map} +1 -1
  79. package/dist/{date-range-inline-DPqY9YYf.js → date-range-inline-BnOD-ddB.js} +2 -2
  80. package/dist/{date-range-inline-DPqY9YYf.js.map → date-range-inline-BnOD-ddB.js.map} +1 -1
  81. package/dist/{date-range-inline-Dx4Reboo.cjs → date-range-inline-DV2c_gWM.cjs} +1 -1
  82. package/dist/{date-range-inline-Dx4Reboo.cjs.map → date-range-inline-DV2c_gWM.cjs.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-Bx2jSJxG.cjs → details-B2-jECBh.cjs} +3 -2
  90. package/dist/details-B2-jECBh.cjs.map +1 -0
  91. package/dist/{details-BnleHmYe.js → details-ByF66CyY.js} +4 -3
  92. package/dist/details-ByF66CyY.js.map +1 -0
  93. package/dist/details.cjs +1 -1
  94. package/dist/details.js +1 -1
  95. package/dist/{directives-d1rEbW1A.js → directives-BL7mzVsA.js} +3 -3
  96. package/dist/{directives-d1rEbW1A.js.map → directives-BL7mzVsA.js.map} +1 -1
  97. package/dist/{directives-CYf2fAdA.cjs → directives-DCb_LA9R.cjs} +1 -1
  98. package/dist/{directives-CYf2fAdA.cjs.map → directives-DCb_LA9R.cjs.map} +1 -1
  99. package/dist/directives.cjs +1 -1
  100. package/dist/directives.js +2 -2
  101. package/dist/{divider-CimQJVr3.cjs → divider-Bv2QiOZL.cjs} +1 -1
  102. package/dist/{divider-CimQJVr3.cjs.map → divider-Bv2QiOZL.cjs.map} +1 -1
  103. package/dist/{divider-Cr-rx3vA.js → divider-gYuz0zDU.js} +2 -2
  104. package/dist/{divider-Cr-rx3vA.js.map → divider-gYuz0zDU.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-_cp8oBjp.cjs → expand-B9IUGVtc.cjs} +1 -1
  110. package/dist/{expand-_cp8oBjp.cjs.map → expand-B9IUGVtc.cjs.map} +1 -1
  111. package/dist/{expand-DNrWuG_-.js → expand-cZ8rfCWP.js} +3 -3
  112. package/dist/{expand-DNrWuG_-.js.map → expand-cZ8rfCWP.js.map} +1 -1
  113. package/dist/expand.cjs +1 -1
  114. package/dist/expand.js +1 -1
  115. package/dist/fab.cjs +1 -1
  116. package/dist/fab.js +2 -2
  117. package/dist/{float-V7VQKTb8.cjs → float-DkGyWSWy.cjs} +1 -1
  118. package/dist/{float-V7VQKTb8.cjs.map → float-DkGyWSWy.cjs.map} +1 -1
  119. package/dist/{float-C_CMle0q.js → float-zn3DgXBT.js} +2 -2
  120. package/dist/{float-C_CMle0q.js.map → float-zn3DgXBT.js.map} +1 -1
  121. package/dist/float.cjs +1 -1
  122. package/dist/float.js +1 -1
  123. package/dist/{form-DaaAQd2A.cjs → form-DowzVsgI.cjs} +1 -1
  124. package/dist/{form-DaaAQd2A.cjs.map → form-DowzVsgI.cjs.map} +1 -1
  125. package/dist/{form-CMgYSZ3y.js → form-tG7LwDm4.js} +3 -3
  126. package/dist/{form-CMgYSZ3y.js.map → form-tG7LwDm4.js.map} +1 -1
  127. package/dist/form.cjs +1 -1
  128. package/dist/form.js +12 -12
  129. package/dist/handover/agent-runtime-followups.md +1 -1
  130. package/dist/handover/agent-runtime-v1.md +3 -3
  131. package/dist/{icons-C2RkSXjP.cjs → icons-BZeCloP9.cjs} +1 -1
  132. package/dist/{icons-C2RkSXjP.cjs.map → icons-BZeCloP9.cjs.map} +1 -1
  133. package/dist/{icons-mbpHO_73.js → icons-Dup5skuk.js} +2 -2
  134. package/dist/{icons-mbpHO_73.js.map → icons-Dup5skuk.js.map} +1 -1
  135. package/dist/icons.cjs +1 -1
  136. package/dist/icons.js +1 -1
  137. package/dist/{iframe-88SN5JPu.cjs → iframe-CDJjnNmo.cjs} +1 -1
  138. package/dist/{iframe-88SN5JPu.cjs.map → iframe-CDJjnNmo.cjs.map} +1 -1
  139. package/dist/{iframe-U3P1DnQv.js → iframe-Xc3EPMZT.js} +2 -2
  140. package/dist/{iframe-U3P1DnQv.js.map → iframe-Xc3EPMZT.js.map} +1 -1
  141. package/dist/iframe.cjs +1 -1
  142. package/dist/iframe.js +1 -1
  143. package/dist/index.cjs +1 -1
  144. package/dist/index.js +34 -34
  145. package/dist/{input-BY4Korc5.cjs → input-DnmC6J1T.cjs} +1 -1
  146. package/dist/{input-BY4Korc5.cjs.map → input-DnmC6J1T.cjs.map} +1 -1
  147. package/dist/{input-CPWvGjE4.js → input-cTyDxW9L.js} +2 -2
  148. package/dist/{input-CPWvGjE4.js.map → input-cTyDxW9L.js.map} +1 -1
  149. package/dist/{input-chip-kytMdbaM.cjs → input-chip-CV91URyU.cjs} +1 -1
  150. package/dist/{input-chip-kytMdbaM.cjs.map → input-chip-CV91URyU.cjs.map} +1 -1
  151. package/dist/{input-chip-CCZ3i3Sf.js → input-chip-CYI17YOq.js} +2 -2
  152. package/dist/{input-chip-CCZ3i3Sf.js.map → input-chip-CYI17YOq.js.map} +1 -1
  153. package/dist/input.cjs +1 -1
  154. package/dist/input.js +1 -1
  155. package/dist/json.cjs +1 -1
  156. package/dist/json.js +3 -3
  157. package/dist/kbd.cjs +1 -1
  158. package/dist/kbd.js +2 -2
  159. package/dist/{layout-BhfC26Ks.cjs → layout-CNlZSJFU.cjs} +1 -1
  160. package/dist/{layout-BhfC26Ks.cjs.map → layout-CNlZSJFU.cjs.map} +1 -1
  161. package/dist/{layout-DC0Npqu7.js → layout-DDxw0EwL.js} +1 -1
  162. package/dist/{layout-DC0Npqu7.js.map → layout-DDxw0EwL.js.map} +1 -1
  163. package/dist/layout.cjs +1 -1
  164. package/dist/layout.js +2 -2
  165. package/dist/{lightbox-BSwWvDQc.js → lightbox-CH-y3rYB.js} +2 -2
  166. package/dist/{lightbox-BSwWvDQc.js.map → lightbox-CH-y3rYB.js.map} +1 -1
  167. package/dist/{lightbox-KrZQH9w9.cjs → lightbox-CvtqoInF.cjs} +1 -1
  168. package/dist/{lightbox-KrZQH9w9.cjs.map → lightbox-CvtqoInF.cjs.map} +1 -1
  169. package/dist/lightbox.cjs +1 -1
  170. package/dist/lightbox.js +1 -1
  171. package/dist/{list-DIs02A3d.cjs → list-Dl8KfxrF.cjs} +2 -2
  172. package/dist/{list-DIs02A3d.cjs.map → list-Dl8KfxrF.cjs.map} +1 -1
  173. package/dist/{list-BwGtAAfi.js → list-DrsawQ5R.js} +10 -3
  174. package/dist/{list-BwGtAAfi.js.map → list-DrsawQ5R.js.map} +1 -1
  175. package/dist/list.cjs +1 -1
  176. package/dist/list.js +1 -1
  177. package/dist/{menu-jT_yAk5V.cjs → menu-BFRcTe3o.cjs} +1 -1
  178. package/dist/{menu-jT_yAk5V.cjs.map → menu-BFRcTe3o.cjs.map} +1 -1
  179. package/dist/{menu-DX8d96x-.js → menu-CsY5lMqY.js} +3 -3
  180. package/dist/{menu-DX8d96x-.js.map → menu-CsY5lMqY.js.map} +1 -1
  181. package/dist/menu.cjs +1 -1
  182. package/dist/menu.js +1 -1
  183. package/dist/{mixins-XGVIOvKt.cjs → mixins-BoMURWag.cjs} +2 -72
  184. package/dist/{mixins-XGVIOvKt.cjs.map → mixins-BoMURWag.cjs.map} +1 -1
  185. package/dist/{mixins-COeG4DiX.js → mixins-bCEXbwJV.js} +3 -79
  186. package/dist/{mixins-COeG4DiX.js.map → mixins-bCEXbwJV.js.map} +1 -1
  187. package/dist/mixins.cjs +1 -1
  188. package/dist/mixins.js +2 -2
  189. package/dist/nav-drawer.cjs +1 -1
  190. package/dist/nav-drawer.js +1 -1
  191. package/dist/navigation-bar.cjs +1 -1
  192. package/dist/navigation-bar.js +1 -1
  193. package/dist/navigation-rail.cjs +1 -1
  194. package/dist/navigation-rail.js +2 -2
  195. package/dist/{notification-CAJVpLne.js → notification-DFKRMmSq.js} +4 -4
  196. package/dist/{notification-CAJVpLne.js.map → notification-DFKRMmSq.js.map} +1 -1
  197. package/dist/{notification-DO3VXceY.cjs → notification-FBf3Mb2e.cjs} +1 -1
  198. package/dist/{notification-DO3VXceY.cjs.map → notification-FBf3Mb2e.cjs.map} +1 -1
  199. package/dist/notification.cjs +1 -1
  200. package/dist/notification.js +1 -1
  201. package/dist/{option-JISY0wZJ.js → option-Ct0lGdH3.js} +2 -2
  202. package/dist/{option-JISY0wZJ.js.map → option-Ct0lGdH3.js.map} +1 -1
  203. package/dist/{option-BNo1Zs-l.cjs → option-Il1KpU8M.cjs} +1 -1
  204. package/dist/{option-BNo1Zs-l.cjs.map → option-Il1KpU8M.cjs.map} +1 -1
  205. package/dist/option.cjs +1 -1
  206. package/dist/option.js +1 -1
  207. package/dist/{overlay-CT-tMHDX.js → overlay-Bh8Q_R01.js} +5 -5
  208. package/dist/{overlay-CT-tMHDX.js.map → overlay-Bh8Q_R01.js.map} +1 -1
  209. package/dist/{overlay-B1jVf-ge.cjs → overlay-sRXiMkjn.cjs} +1 -1
  210. package/dist/{overlay-B1jVf-ge.cjs.map → overlay-sRXiMkjn.cjs.map} +1 -1
  211. package/dist/overlay.cjs +1 -1
  212. package/dist/{overlay.confirm-body-Dn-Zgogx.js → overlay.confirm-body-CQihsR20.js} +6 -6
  213. package/dist/{overlay.confirm-body-Dn-Zgogx.js.map → overlay.confirm-body-CQihsR20.js.map} +1 -1
  214. package/dist/{overlay.confirm-body-mYDYoJL8.cjs → overlay.confirm-body-Jc1EuMGs.cjs} +1 -1
  215. package/dist/{overlay.confirm-body-mYDYoJL8.cjs.map → overlay.confirm-body-Jc1EuMGs.cjs.map} +1 -1
  216. package/dist/overlay.js +3 -3
  217. package/dist/{overlay.service-BQmva9GY.cjs → overlay.service-9Dp3g7ot.cjs} +1 -1
  218. package/dist/{overlay.service-BQmva9GY.cjs.map → overlay.service-9Dp3g7ot.cjs.map} +1 -1
  219. package/dist/{overlay.service-yqTOyLlr.js → overlay.service-BXPgS7ay.js} +2 -2
  220. package/dist/{overlay.service-yqTOyLlr.js.map → overlay.service-BXPgS7ay.js.map} +1 -1
  221. package/dist/{progress-DOVJhsR0.cjs → progress-CWC5XYZ_.cjs} +1 -1
  222. package/dist/{progress-DOVJhsR0.cjs.map → progress-CWC5XYZ_.cjs.map} +1 -1
  223. package/dist/{progress-CGWozq_n.js → progress-CYLshdo2.js} +2 -2
  224. package/dist/{progress-CGWozq_n.js.map → progress-CYLshdo2.js.map} +1 -1
  225. package/dist/progress.cjs +1 -1
  226. package/dist/progress.js +1 -1
  227. package/dist/{radio-group-DoSX5D2V.cjs → radio-group-6kCgOgBL.cjs} +1 -1
  228. package/dist/{radio-group-DoSX5D2V.cjs.map → radio-group-6kCgOgBL.cjs.map} +1 -1
  229. package/dist/{radio-group-CXkq6qAF.js → radio-group-bZtZHOj_.js} +2 -2
  230. package/dist/{radio-group-CXkq6qAF.js.map → radio-group-bZtZHOj_.js.map} +1 -1
  231. package/dist/radio-group.cjs +1 -1
  232. package/dist/radio-group.js +1 -1
  233. package/dist/range.cjs +1 -1
  234. package/dist/range.js +2 -2
  235. package/dist/{select-CU90i50_.js → select-CU3X-PIa.js} +3 -3
  236. package/dist/{select-CU90i50_.js.map → select-CU3X-PIa.js.map} +1 -1
  237. package/dist/{select-CObZenqg.cjs → select-MXsF8KsU.cjs} +1 -1
  238. package/dist/{select-CObZenqg.cjs.map → select-MXsF8KsU.cjs.map} +1 -1
  239. package/dist/select.cjs +1 -1
  240. package/dist/select.js +1 -1
  241. package/dist/skeleton.cjs +1 -1
  242. package/dist/skeleton.js +2 -2
  243. package/dist/skills/schmancy/surface.md +51 -27
  244. package/dist/skills/surface.md +51 -27
  245. package/dist/slider.cjs +1 -1
  246. package/dist/slider.js +2 -2
  247. package/dist/{sound.service-m8WjOhjn.js → sound.service-B4ZmXpH9.js} +1 -1
  248. package/dist/{sound.service-m8WjOhjn.js.map → sound.service-B4ZmXpH9.js.map} +1 -1
  249. package/dist/{sound.service-Qhr8nCeG.cjs → sound.service-DjlMvicQ.cjs} +1 -1
  250. package/dist/{sound.service-Qhr8nCeG.cjs.map → sound.service-DjlMvicQ.cjs.map} +1 -1
  251. package/dist/{splash-screen-Ca6Ew8p6.cjs → splash-screen-CN9dZcqC.cjs} +1 -1
  252. package/dist/{splash-screen-Ca6Ew8p6.cjs.map → splash-screen-CN9dZcqC.cjs.map} +1 -1
  253. package/dist/{splash-screen-Cs3dbPN3.js → splash-screen-emCLYoVl.js} +2 -2
  254. package/dist/{splash-screen-Cs3dbPN3.js.map → splash-screen-emCLYoVl.js.map} +1 -1
  255. package/dist/splash-screen.cjs +1 -1
  256. package/dist/splash-screen.js +1 -1
  257. package/dist/{src-CCVbLLgC.js → src-DGDTkOvC.js} +160 -252
  258. package/dist/src-DGDTkOvC.js.map +1 -0
  259. package/dist/{src-CpftzdZV.cjs → src-DK3111z_.cjs} +7 -31
  260. package/dist/src-DK3111z_.cjs.map +1 -0
  261. package/dist/{state--x58-AuK.cjs → state-CumAEPQH.cjs} +1 -1
  262. package/dist/{state--x58-AuK.cjs.map → state-CumAEPQH.cjs.map} +1 -1
  263. package/dist/{state-QSwQ61sA.js → state-DMd_FUeA.js} +1 -1
  264. package/dist/{state-QSwQ61sA.js.map → state-DMd_FUeA.js.map} +1 -1
  265. package/dist/state.cjs +1 -1
  266. package/dist/state.js +2 -2
  267. package/dist/steps.cjs +1 -1
  268. package/dist/steps.js +2 -2
  269. package/dist/{surface-bTjOiq8n.cjs → surface-DGI-FBoi.cjs} +1 -1
  270. package/dist/surface-DGI-FBoi.cjs.map +1 -0
  271. package/dist/{surface-cqMsHJHM.js → surface-DNiYigsX.js} +2 -2
  272. package/dist/surface-DNiYigsX.js.map +1 -0
  273. package/dist/surface.cjs +1 -1
  274. package/dist/surface.js +1 -1
  275. package/dist/switch.cjs +1 -1
  276. package/dist/switch.js +2 -2
  277. package/dist/table.cjs +2 -2
  278. package/dist/table.cjs.map +1 -1
  279. package/dist/table.js +3 -3
  280. package/dist/table.js.map +1 -1
  281. package/dist/{tabs-Ib0Mh__1.js → tabs-4T_4kCf-.js} +2 -2
  282. package/dist/{tabs-Ib0Mh__1.js.map → tabs-4T_4kCf-.js.map} +1 -1
  283. package/dist/{tabs-Dk9UDWpq.cjs → tabs-Byxxt-AH.cjs} +1 -1
  284. package/dist/{tabs-Dk9UDWpq.cjs.map → tabs-Byxxt-AH.cjs.map} +1 -1
  285. package/dist/tabs.cjs +1 -1
  286. package/dist/tabs.js +1 -1
  287. package/dist/teleport.cjs +1 -1
  288. package/dist/teleport.js +1 -1
  289. package/dist/{textarea-Cntd9tfV.cjs → textarea-BwYwH9fu.cjs} +1 -1
  290. package/dist/{textarea-Cntd9tfV.cjs.map → textarea-BwYwH9fu.cjs.map} +1 -1
  291. package/dist/{textarea-CcRsw08B.js → textarea-kkYNk1ET.js} +2 -2
  292. package/dist/{textarea-CcRsw08B.js.map → textarea-kkYNk1ET.js.map} +1 -1
  293. package/dist/textarea.cjs +1 -1
  294. package/dist/textarea.js +1 -1
  295. package/dist/{theme-wwFbvp5e.cjs → theme-BG0EnzYP.cjs} +2 -2
  296. package/dist/{theme-wwFbvp5e.cjs.map → theme-BG0EnzYP.cjs.map} +1 -1
  297. package/dist/{theme-CKYXG0le.js → theme-DwQBl6sr.js} +6 -6
  298. package/dist/{theme-CKYXG0le.js.map → theme-DwQBl6sr.js.map} +1 -1
  299. package/dist/{theme-button-iLqT56KA.js → theme-button-BD8anzsZ.js} +2 -2
  300. package/dist/{theme-button-iLqT56KA.js.map → theme-button-BD8anzsZ.js.map} +1 -1
  301. package/dist/{theme-button-DE9Lrl7m.cjs → theme-button-DlrNoCMA.cjs} +1 -1
  302. package/dist/{theme-button-DE9Lrl7m.cjs.map → theme-button-DlrNoCMA.cjs.map} +1 -1
  303. package/dist/theme-button.cjs +1 -1
  304. package/dist/theme-button.js +1 -1
  305. package/dist/theme.cjs +1 -1
  306. package/dist/theme.js +3 -3
  307. package/dist/{theme.service-5RjyR7Sy.js → theme.service-Dv_55nfE.js} +1 -1
  308. package/dist/{theme.service-5RjyR7Sy.js.map → theme.service-Dv_55nfE.js.map} +1 -1
  309. package/dist/{theme.service-DA6KY52G.cjs → theme.service-pjkTM209.cjs} +1 -1
  310. package/dist/{theme.service-DA6KY52G.cjs.map → theme.service-pjkTM209.cjs.map} +1 -1
  311. package/dist/tree.cjs +1 -1
  312. package/dist/tree.js +2 -2
  313. package/dist/{typography-DeEYdMhW.js → typography-BVkU11_q.js} +2 -2
  314. package/dist/{typography-DeEYdMhW.js.map → typography-BVkU11_q.js.map} +1 -1
  315. package/dist/{typography-Tm7wSaB2.cjs → typography-aaQaIcNc.cjs} +1 -1
  316. package/dist/{typography-Tm7wSaB2.cjs.map → typography-aaQaIcNc.cjs.map} +1 -1
  317. package/dist/typography.cjs +1 -1
  318. package/dist/typography.js +1 -1
  319. package/dist/visually-hidden.cjs +1 -1
  320. package/dist/visually-hidden.js +2 -2
  321. package/dist/{window-Db5ZYY6t.js → window-C76zstbV.js} +7 -8
  322. package/dist/window-C76zstbV.js.map +1 -0
  323. package/dist/window-CmB9XZzT.cjs +58 -0
  324. package/dist/window-CmB9XZzT.cjs.map +1 -0
  325. package/dist/window.cjs +1 -1
  326. package/dist/window.js +1 -1
  327. package/package.json +1 -1
  328. package/skills/schmancy/surface.md +51 -27
  329. package/src/badge/badge.ts +48 -200
  330. package/src/boat/boat.ts +1 -3
  331. package/src/connectivity/connectivity-status.ts +1 -3
  332. package/src/details/details.ts +1 -1
  333. package/src/list/list.ts +1 -1
  334. package/src/surface/surface.styles.ts +2 -87
  335. package/src/surface/surface.ts +8 -8
  336. package/src/table/table.ts +1 -1
  337. package/src/theme/theme-audio-player.ts +1 -1
  338. package/src/window/window.ts +3 -6
  339. package/types/mixins/surface.mixin.d.ts +8 -14
  340. package/types/src/badge/badge.d.ts +15 -48
  341. package/types/src/surface/surface.d.ts +9 -7
  342. package/types/src/surface/surface.styles.d.ts +2 -14
  343. package/types/src/window/window.d.ts +0 -1
  344. package/dist/SchmancyElement-D9WA9FP9.cjs +0 -2
  345. package/dist/SchmancyElement-OWgz9ePG.js +0 -286
  346. package/dist/details-BnleHmYe.js.map +0 -1
  347. package/dist/details-Bx2jSJxG.cjs.map +0 -1
  348. package/dist/src-CCVbLLgC.js.map +0 -1
  349. package/dist/src-CpftzdZV.cjs.map +0 -1
  350. package/dist/surface-bTjOiq8n.cjs.map +0 -1
  351. package/dist/surface-cqMsHJHM.js.map +0 -1
  352. package/dist/window-Db5ZYY6t.js.map +0 -1
  353. package/dist/window-oQqx5xqQ.cjs +0 -59
  354. package/dist/window-oQqx5xqQ.cjs.map +0 -1
@@ -5,30 +5,31 @@ import { customElement, property } from 'lit/decorators.js'
5
5
  import { SchmancyTheme } from '..'
6
6
 
7
7
  /**
8
- * Badge color types for predefined styles
8
+ * Semantic color of the badge. Each name maps to one theme color role —
9
+ * filled badges use that role's container / onContainer, outlined badges
10
+ * use its strong tone for text and border.
9
11
  */
10
12
  export type BadgeColor = 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'error' | 'neutral' | 'surface'
11
13
 
12
14
  /**
13
- * Badge size variants
15
+ * Badge size. Sizes differ only in type scale and padding density.
14
16
  */
15
- export type BadgeSize = 'xs' | 'sm' | 'md' | 'lg'
17
+ export type BadgeSize = 'xs' | 'sm' | 'md'
16
18
 
17
19
  /**
18
- * Badge shape variants
20
+ * Badge corner shape.
19
21
  */
20
- export type BadgeShape = 'rounded' | 'pill' | 'square'
22
+ export type BadgeShape = 'pill' | 'rounded'
21
23
 
22
24
  /**
23
- * @element sch-badge
24
- * A versatile badge component for status indicators, labels, and counts
25
+ * @element schmancy-badge
26
+ * A status, label, or count pill. It annotates content; it does not
27
+ * compete with it — no shadow, no hover affordance, no motion.
25
28
  *
26
- * @slot - The content of the badge (text or HTML)
27
- * @slot icon - Optional icon to display before the content
29
+ * @slot - The content of the badge (text or short HTML)
28
30
  *
29
31
  * @csspart badge - The badge element container
30
32
  * @csspart content - The content container
31
- * @csspart icon - The icon container
32
33
  */
33
34
  @customElement('schmancy-badge')
34
35
  export class SchmancyBadgeV2 extends SchmancyElement {
@@ -38,232 +39,79 @@ export class SchmancyBadgeV2 extends SchmancyElement {
38
39
  flex-shrink: 0;
39
40
  width: fit-content;
40
41
  }
41
-
42
- /* Enhanced pulse animation for better attention-getting */
43
- @keyframes elegant-pulse {
44
- 0%, 100% {
45
- opacity: 1;
46
- }
47
- 50% {
48
- opacity: 0.85;
49
- }
50
- }
51
-
52
- .animate-pulse {
53
- animation: elegant-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
54
- }
55
42
  `];
56
43
  /**
57
- * The color variant of the badge
44
+ * The semantic color of the badge.
58
45
  * @attr
59
46
  */
60
47
  @property({ type: String, reflect: true })
61
48
  color: BadgeColor = 'primary'
62
49
 
63
50
  /**
64
- * The size of the badge
51
+ * The size of the badge.
65
52
  * @attr
66
53
  */
67
54
  @property({ type: String, reflect: true })
68
55
  size: BadgeSize = 'md'
69
56
 
70
57
  /**
71
- * The shape of the badge
58
+ * The corner shape of the badge.
72
59
  * @attr
73
60
  */
74
61
  @property({ type: String, reflect: true })
75
62
  shape: BadgeShape = 'pill'
76
63
 
77
64
  /**
78
- * Whether the badge has an outlined style
65
+ * Outlined style: transparent fill, the color's strong tone for text and border.
79
66
  * @attr
80
67
  */
81
68
  @property({ type: Boolean, reflect: true })
82
69
  outlined = false
83
70
 
84
- /**
85
- * Custom icon name to display (if no icon slot is provided)
86
- * @attr
87
- */
88
- @property({ type: String })
89
- icon = ''
90
-
91
- /**
92
- * Whether to make the badge pulse to draw attention
93
- * @attr
94
- */
95
- @property({ type: Boolean, reflect: true })
96
- pulse = false
97
-
98
- /**
99
- * Convert the size to appropriate Tailwind classes for the badge container
100
- * Using harmonious padding ratios based on golden ratio principles
101
- * Refined for more elegant proportions
102
- */
103
- private getSizeClasses(): string {
104
- switch (this.size) {
105
- case 'xs':
106
- return 'text-xs py-0.75 px-1.5 gap-0.5 leading-none'
107
- case 'sm':
108
- return 'text-xs py-1.5 px-2.5 gap-0.5 tracking-wide leading-none'
109
- case 'lg':
110
- return 'text-base py-2 px-4 gap-1 tracking-wide'
111
- case 'md':
112
- default:
113
- return 'text-sm py-1.5 px-3 gap-0.5'
114
- }
115
- }
116
-
117
- /**
118
- * Get shape classes based on selected shape
119
- */
120
- private getShapeClasses(): string {
121
- switch (this.shape) {
122
- case 'square':
123
- return 'rounded'
124
- case 'rounded':
125
- return 'rounded-md'
126
- case 'pill':
127
- default:
128
- return 'rounded-full'
129
- }
130
- }
131
-
132
- /**
133
- * Get icon size based on badge size with harmonious proportions
134
- * Using golden ratio-inspired proportions relative to text size
135
- */
136
- private getIconSizeClass(): string {
137
- switch (this.size) {
138
- case 'xs': return 'text-xs'
139
- case 'sm': return 'text-sm'
140
- case 'lg': return 'text-lg'
141
- case 'md':
142
- default: return 'text-sm'
143
- }
144
- }
145
-
146
- /**
147
- * Get additional styling for specific sizes
148
- */
149
- private getExoticStyles(): Record<string, string> {
150
- const styles: Record<string, string> = {}
151
-
152
- if (this.size === 'lg') {
153
- styles.letterSpacing = '0.03em'
154
- styles.fontWeight = '500'
155
- }
156
-
157
- if (this.size === 'sm') {
158
- styles.letterSpacing = '0.02em'
159
- }
160
-
161
- return styles
162
- }
163
-
164
- /**
165
- * Get background and text colors based on selected color variant
166
- * Enhanced for more elegant color combinations with refined contrasts
167
- */
168
- private getColorStyles() {
169
- const colors: Record<BadgeColor, { bg: string; text: string; border?: string }> = {
170
- primary: {
171
- bg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.primary.container} 92%, ${SchmancyTheme.sys.color.primary.default} 8%)`,
172
- text: this.outlined ? SchmancyTheme.sys.color.primary.default : SchmancyTheme.sys.color.primary.onContainer,
173
- border: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.primary.default} 90%, ${SchmancyTheme.sys.color.surface.highest} 10%)` : undefined,
174
- },
175
- secondary: {
176
- bg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.secondary.container} 95%, ${SchmancyTheme.sys.color.secondary.default} 5%)`,
177
- text: this.outlined ? SchmancyTheme.sys.color.secondary.default : SchmancyTheme.sys.color.secondary.onContainer,
178
- border: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.secondary.default} 85%, ${SchmancyTheme.sys.color.surface.highest} 15%)` : undefined,
179
- },
180
- tertiary: {
181
- bg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.container} 94%, ${SchmancyTheme.sys.color.tertiary.default} 6%)`,
182
- text: this.outlined ? SchmancyTheme.sys.color.tertiary.default : SchmancyTheme.sys.color.tertiary.onContainer,
183
- border: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.default} 88%, ${SchmancyTheme.sys.color.surface.highest} 12%)` : undefined,
184
- },
185
- success: {
186
- bg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.success.container} 90%, ${SchmancyTheme.sys.color.success.default} 10%)`,
187
- text: this.outlined ? SchmancyTheme.sys.color.success.default : SchmancyTheme.sys.color.success.onContainer,
188
- border: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.success.default} 85%, ${SchmancyTheme.sys.color.surface.bright} 15%)` : undefined,
189
- },
190
- warning: {
191
- bg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.container} 85%, ${SchmancyTheme.sys.color.tertiary.default} 15%)`,
192
- text: this.outlined ? SchmancyTheme.sys.color.tertiary.default : SchmancyTheme.sys.color.tertiary.onContainer,
193
- border: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.tertiary.default} 90%, ${SchmancyTheme.sys.color.surface.highest} 10%)` : undefined,
194
- },
195
- error: {
196
- bg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.error.container} 92%, ${SchmancyTheme.sys.color.error.default} 8%)`,
197
- text: this.outlined ? SchmancyTheme.sys.color.error.default : SchmancyTheme.sys.color.error.onContainer,
198
- border: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.error.default} 88%, ${SchmancyTheme.sys.color.surface.bright} 12%)` : undefined,
199
- },
71
+ render() {
72
+ const sizeClasses =
73
+ this.size === 'xs' ? 'text-xs px-1.5 py-0.5'
74
+ : this.size === 'sm' ? 'text-xs px-2 py-0.5'
75
+ : 'text-sm px-2.5 py-0.5'
76
+
77
+ const shapeClass = this.shape === 'rounded' ? 'rounded-md' : 'rounded-full'
78
+
79
+ const role = {
80
+ primary: SchmancyTheme.sys.color.primary,
81
+ secondary: SchmancyTheme.sys.color.secondary,
82
+ tertiary: SchmancyTheme.sys.color.tertiary,
83
+ success: SchmancyTheme.sys.color.success,
84
+ warning: SchmancyTheme.sys.color.warning,
85
+ error: SchmancyTheme.sys.color.error,
200
86
  neutral: {
201
- bg: this.outlined ? 'transparent' : `color-mix(in srgb, ${SchmancyTheme.sys.color.surface.high} 95%, ${SchmancyTheme.sys.color.outline} 5%)`,
202
- text: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.surface.on} 95%, ${SchmancyTheme.sys.color.surface.default} 5%)` : SchmancyTheme.sys.color.surface.on,
203
- border: this.outlined ? `color-mix(in srgb, ${SchmancyTheme.sys.color.outline} 85%, ${SchmancyTheme.sys.color.surface.highest} 15%)` : undefined,
87
+ container: SchmancyTheme.sys.color.surface.high,
88
+ onContainer: SchmancyTheme.sys.color.surface.on,
89
+ default: SchmancyTheme.sys.color.surface.on,
204
90
  },
205
91
  surface: {
206
- bg: this.outlined ? 'transparent' : SchmancyTheme.sys.color.surface.high,
207
- text: SchmancyTheme.sys.color.surface.on,
208
- border: this.outlined ? SchmancyTheme.sys.color.outline : undefined,
92
+ container: SchmancyTheme.sys.color.surface.container,
93
+ onContainer: SchmancyTheme.sys.color.surface.on,
94
+ default: SchmancyTheme.sys.color.surface.on,
209
95
  },
210
- }
211
-
212
- return colors[this.color]
213
- }
214
-
215
- render() {
216
- const sizeClasses = this.getSizeClasses()
217
- const shapeClasses = this.getShapeClasses()
218
- const colorStyles = this.getColorStyles()
219
- const iconSizeClass = this.getIconSizeClass()
220
- const exoticStyles = this.getExoticStyles()
221
-
222
- const badgeClasses = {
223
- 'inline-flex items-center justify-center font-medium': true,
224
- 'transition-all duration-200 ease-in-out': true,
225
- [sizeClasses]: true,
226
- [shapeClasses]: true,
227
- 'animate-pulse': this.pulse,
228
- 'border border-solid': this.outlined,
229
- 'shadow-sm': !this.outlined && this.size === 'sm',
230
- 'shadow': !this.outlined && this.size === 'md',
231
- 'shadow-md': !this.outlined && this.size === 'lg',
232
- 'hover:brightness-95 hover:-translate-y-px': this.outlined,
233
- 'hover:brightness-[0.98]': !this.outlined,
234
- }
235
-
236
- // Refined styles for a more elegant look (only CSS that can't be done with Tailwind)
237
- const styles = {
238
- borderColor: colorStyles.border,
239
- backdropFilter: this.outlined ? 'blur(4px)' : undefined,
240
- boxShadow: this.size === 'lg' && !this.outlined ? '0 1px 2px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.1)' : undefined,
241
- ...exoticStyles,
242
- }
96
+ }[this.color]
243
97
 
244
98
  return html`
245
99
  <div
246
100
  part="badge"
247
- class="${this.classMap(badgeClasses)}"
248
- style="${this.styleMap(styles)}"
101
+ class="${this.classMap({
102
+ 'inline-flex items-center justify-center font-medium leading-none': true,
103
+ 'transition-colors duration-150': true,
104
+ 'border border-solid': this.outlined,
105
+ [sizeClasses]: true,
106
+ [shapeClass]: true,
107
+ })}"
108
+ style="${this.styleMap({ borderColor: this.outlined ? role.default : undefined })}"
249
109
  ${color({
250
- bgColor: colorStyles.bg,
251
- color: colorStyles.text,
110
+ bgColor: this.outlined ? 'transparent' : role.container,
111
+ color: this.outlined ? role.default : role.onContainer,
252
112
  })}
253
113
  >
254
- <!-- Icon slot or named icon -->
255
- <slot name="icon">
256
- ${this.icon
257
- ? html`
258
- <div part="icon" class="shrink-0 flex items-center justify-center leading-none">
259
- <schmancy-icon class="${iconSizeClass} flex items-center justify-center">${this.icon}</schmancy-icon>
260
- </div>
261
- `
262
- : ''}
263
- </slot>
264
-
265
- <!-- Content with proper spacing from icon -->
266
- <div part="content" class="flex items-center leading-none tracking-[0.01em] ${this.icon ? 'ml-[0.38em]' : ''}">
114
+ <div part="content" class="flex items-center leading-none tracking-[0.01em]">
267
115
  <slot></slot>
268
116
  </div>
269
117
  </div>
package/src/boat/boat.ts CHANGED
@@ -400,9 +400,7 @@ export default class SchmancyBoat extends SchmancyElement {
400
400
  <schmancy-surface
401
401
  ${ref(this.containerRef)}
402
402
  type="glass"
403
- rounded="all"
404
- .elevation=${3}
405
- class="${containerClasses} overflow-hidden rounded-2xl"
403
+ class="${containerClasses} overflow-hidden rounded-2xl shadow-md"
406
404
  style=${containerStyles}
407
405
  aria-expanded=${this.open}
408
406
  >
@@ -131,9 +131,7 @@ export class SchmancyConnectivityStatus extends SchmancyElement {
131
131
  <schmancy-surface
132
132
  ${ref(this.surfaceRef)}
133
133
  type="error"
134
- rounded="all"
135
- elevation="3"
136
- class="mx-auto max-w-sm shadow-lg pointer-events-auto"
134
+ class="mx-auto max-w-sm rounded-2xl shadow-lg pointer-events-auto"
137
135
  >
138
136
  <div class="flex items-center gap-3 px-4 py-3">
139
137
  <span ${ref(this.iconRef)} class="text-2xl">🙀</span>
@@ -14,6 +14,7 @@ export default class SchmancyDetails extends SurfaceMixin(SchmancyElement) {
14
14
  static styles = [css`
15
15
  :host {
16
16
  display: block;
17
+ border-radius: 1rem;
17
18
  }
18
19
 
19
20
  :host([overlay]) {
@@ -185,7 +186,6 @@ export default class SchmancyDetails extends SurfaceMixin(SchmancyElement) {
185
186
  constructor() {
186
187
  super()
187
188
  this.type = 'solid'
188
- this.rounded = 'all'
189
189
  }
190
190
 
191
191
  connectedCallback() {
package/src/list/list.ts CHANGED
@@ -61,7 +61,7 @@ export class List extends SchmancyElement {
61
61
  */
62
62
  render() {
63
63
  return html`
64
- <schmancy-surface .elevation=${this.elevation} type=${this.surface}>
64
+ <schmancy-surface class=${(['', 'shadow-sm', 'shadow', 'shadow-md', 'shadow-lg', 'shadow-2xl'] as const)[this.elevation]} type=${this.surface}>
65
65
  <ul>
66
66
  <slot></slot>
67
67
  </ul>
@@ -184,94 +184,9 @@ export const surfaceTypeStyles = css`
184
184
  `
185
185
 
186
186
  /**
187
- * Surface rounded corner styles
188
- */
189
- export const surfaceRoundedStyles = css`
190
- :host([rounded='none']) {
191
- border-radius: 0;
192
- }
193
- :host([rounded='top']) {
194
- border-radius: var(--schmancy-sys-shape-corner-large) var(--schmancy-sys-shape-corner-large) 0 0;
195
- }
196
- :host([rounded='left']) {
197
- border-radius: var(--schmancy-sys-shape-corner-large) 0 0 var(--schmancy-sys-shape-corner-large);
198
- }
199
- :host([rounded='right']) {
200
- border-radius: 0 var(--schmancy-sys-shape-corner-large) var(--schmancy-sys-shape-corner-large) 0;
201
- }
202
- :host([rounded='bottom']) {
203
- border-radius: 0 0 var(--schmancy-sys-shape-corner-large) var(--schmancy-sys-shape-corner-large);
204
- }
205
- :host([rounded='all']) {
206
- border-radius: var(--schmancy-sys-shape-corner-large);
207
- }
208
- `
209
-
210
- /**
211
- * Luminous glow elevation — replaces M3 dark drop shadows with primary-colored glow.
212
- * No ::after tint overlay — depth comes from glow intensity, not surface tint.
213
- */
214
- export const surfaceElevationStyles = css`
215
- :host([elevation='1']) {
216
- box-shadow: 0 2px 12px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent);
217
- position: relative;
218
- }
219
- :host([elevation='2']) {
220
- box-shadow: 0 4px 20px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 22%, transparent);
221
- position: relative;
222
- }
223
- :host([elevation='3']) {
224
- box-shadow: 0 8px 32px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 28%, transparent);
225
- position: relative;
226
- }
227
- :host([elevation='4']) {
228
- box-shadow: 0 12px 44px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 35%, transparent);
229
- position: relative;
230
- }
231
- :host([elevation='5']) {
232
- box-shadow: 0 20px 60px -4px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 42%, transparent);
233
- position: relative;
234
- }
235
- `
236
-
237
- /**
238
- * Surface clickable styles - luminous hover, spring active
239
- */
240
- export const surfaceClickableStyles = css`
241
- :host([clickable]) {
242
- cursor: pointer;
243
- user-select: none;
244
- -webkit-tap-highlight-color: transparent;
245
- transition:
246
- filter 200ms ease,
247
- transform 300ms cubic-bezier(0.34, 1.56, 0.64, 1),
248
- box-shadow 400ms ease;
249
- }
250
- :host([clickable]:hover) {
251
- filter: brightness(1.03);
252
- }
253
- :host([clickable]:active) {
254
- filter: brightness(0.96);
255
- transform: scale(0.98);
256
- transition-duration: 100ms;
257
- }
258
- :host([clickable]:focus-visible) {
259
- outline: 2px solid var(--schmancy-sys-color-primary-default);
260
- outline-offset: 2px;
261
- }
262
- @media (prefers-reduced-motion: reduce) {
263
- :host([clickable]) { transition: filter 150ms ease; }
264
- :host([clickable]:hover) { transform: none; box-shadow: none; }
265
- :host([clickable]:active) { transform: none; }
266
- }
267
- `
268
-
269
- /**
270
- * Combined surface styles - includes all surface styling capabilities
187
+ * Combined surface styles — type variants only.
188
+ * Corner radius, shadow, and cursor are stock Tailwind classes applied by the consumer.
271
189
  */
272
190
  export const surfaceStyles = css`
273
191
  ${surfaceTypeStyles}
274
- ${surfaceRoundedStyles}
275
- ${surfaceElevationStyles}
276
- ${surfaceClickableStyles}
277
192
  `
@@ -7,23 +7,23 @@ import { customElement, property } from 'lit/decorators.js'
7
7
 
8
8
  export const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')
9
9
 
10
- export type { SchmancySurfaceRounded, SchmancySurfaceElevation } from '@mixins/surface.mixin'
11
-
12
10
  /**
13
11
  * `<schmancy-surface>` component
14
12
  *
15
- * Styled container that supports rounding, elevation, and background/text color variants.
16
- * Sizing is the consumer's responsibility use Tailwind utilities (`class="w-full h-full"`)
17
- * on the element directly.
13
+ * Color-variant container that paints a background and establishes the inherited
14
+ * text color for descendants. Corner radius, shadow depth, and cursor behavior
15
+ * are the consumer's responsibility — apply stock Tailwind classes directly on
16
+ * the element.
18
17
  *
19
- * SurfaceMixin automatically provides surfaceStyles CSS.
18
+ * Sizing is the consumer's responsibility — use Tailwind utilities
19
+ * (`class="w-full h-full"`) on the element directly.
20
20
  *
21
21
  * @element schmancy-surface
22
22
  * @slot - Default slot for projecting child content.
23
23
  *
24
24
  * @example
25
- * <schmancy-surface class="w-full h-full" rounded="all" elevation="3" type="surfaceBright" scroller>
26
- * <p>Your scrollable content here</p>
25
+ * <schmancy-surface type="surfaceBright" class="rounded-2xl shadow-lg w-full">
26
+ * <p>Content here</p>
27
27
  * </schmancy-surface>
28
28
  */
29
29
  @customElement('schmancy-surface')
@@ -200,7 +200,7 @@ export class SchmancyDataTable<T extends Record<string, any> = any> extends Schm
200
200
  class="grid h-full w-full"
201
201
  style="grid-template-columns: 1fr; grid-template-rows: auto 1fr;"
202
202
  >
203
- <schmancy-surface rounded="top" elevation="1" type="glass" class="sticky top-0 z-10">
203
+ <schmancy-surface type="glass" class="rounded-t-2xl shadow-sm sticky top-0 z-10">
204
204
  <div
205
205
  class="grid items-center gap-4 px-4 py-3"
206
206
  style=${this.styleMap({
@@ -411,7 +411,7 @@ export class SchmancyThemeAudioPlayer extends SchmancyElement {
411
411
  ${when(
412
412
  this.audioSequence,
413
413
  () => html`
414
- <schmancy-surface type="subtle" rounded="all" class="p-4 space-y-3">
414
+ <schmancy-surface type="subtle" class="rounded-2xl p-4 space-y-3">
415
415
  <div class="flex items-center justify-between">
416
416
  <div>
417
417
  <schmancy-typography type="label" token="lg"> ${this.detectedMood} </schmancy-typography>
@@ -112,11 +112,6 @@ export default class SchmancyWindow extends SchmancyElement {
112
112
  return 'inset(0px 0px 0px 0px round 12px)'
113
113
  }
114
114
 
115
- private get elevation(): 0 | 1 | 2 | 3 | 4 | 5 {
116
- if (this.open) return 4
117
- return this.lowered ? 1 : 3
118
- }
119
-
120
115
  // ============================================
121
116
  // POSITION MANAGEMENT
122
117
  // ============================================
@@ -632,6 +627,9 @@ export default class SchmancyWindow extends SchmancyElement {
632
627
  'rounded-2xl': this.open,
633
628
  'rounded-[22px]': !this.open,
634
629
  'overflow-hidden': true,
630
+ 'shadow-sm': !this.open && this.lowered,
631
+ 'shadow-md': !this.open && !this.lowered,
632
+ 'shadow-lg': this.open,
635
633
  })
636
634
 
637
635
  const containerStyles = styleMap({
@@ -658,7 +656,6 @@ export default class SchmancyWindow extends SchmancyElement {
658
656
  <schmancy-surface
659
657
  ${ref(this.containerRef)}
660
658
  type="glass"
661
- .elevation=${this.elevation}
662
659
  class=${containerClasses}
663
660
  style=${containerStyles}
664
661
  aria-expanded=${this.open}
@@ -1,24 +1,19 @@
1
1
  import type { Constructor } from './constructor';
2
2
  import { LitElement } from 'lit';
3
3
  import type { TSurfaceColor } from '../src/types/surface';
4
- export type SchmancySurfaceRounded = 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all';
5
- export type SchmancySurfaceElevation = 0 | 1 | 2 | 3 | 4 | 5;
6
4
  export declare class ISurfaceMixin {
7
- rounded: SchmancySurfaceRounded;
8
- elevation: SchmancySurfaceElevation;
9
5
  type: TSurfaceColor;
10
- clickable: boolean;
11
6
  }
12
7
  /**
13
- * SurfaceMixin - Adds surface styling properties AND styles to any LitElement
8
+ * SurfaceMixin injects surface color-variant styles into any LitElement.
14
9
  *
15
- * Uses Lit's finalizeStyles hook to inject surfaceStyles CSS for all surface type selectors.
16
- * This is the recommended pattern for mixins that need to add styles.
10
+ * Uses Lit's `finalizeStyles` hook to inject `surfaceTypeStyles` CSS for all
11
+ * color-variant selectors. Corner radius, shadow depth, and cursor behavior are
12
+ * the consumer's responsibility — apply stock Tailwind classes directly on the
13
+ * element (`rounded-2xl`, `shadow-lg`, `cursor-pointer`).
17
14
  *
18
- * Provides these reflected properties:
19
- * - `rounded`: 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all' - Corner rounding
20
- * - `elevation`: 0-5 - Shadow depth level
21
- * - `type`: TSurfaceColor - Surface color variant (26+ options)
15
+ * Provides one reflected property:
16
+ * - `type`: TSurfaceColor the color variant (26+ options)
22
17
  *
23
18
  * Usage:
24
19
  * ```typescript
@@ -28,8 +23,7 @@ export declare class ISurfaceMixin {
28
23
  * class MyComponent extends SurfaceMixin(TailwindElement(css`
29
24
  * :host { display: block; }
30
25
  * `)) {
31
- * // Component now has type, fill, rounded, elevation properties
32
- * // AND surfaceStyles are automatically included
26
+ * // Component now has the type property and surfaceTypeStyles
33
27
  * }
34
28
  * ```
35
29
  */