@mhmo91/schmancy 0.10.26 → 0.10.28

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 (394) hide show
  1. package/custom-elements.json +14 -18
  2. package/dist/agent/overlay.confirm-body-BZoUgkdK.js +4574 -0
  3. package/dist/agent/overlay.confirm-body-BZoUgkdK.js.map +1 -0
  4. package/dist/agent/schmancy.agent.js +3121 -4893
  5. package/dist/agent/schmancy.agent.js.map +1 -1
  6. package/dist/agent/schmancy.manifest.json +68 -24
  7. package/dist/{area-DkvO_oiO.cjs → area-BSVOYQDA.cjs} +1 -1
  8. package/dist/{area-DkvO_oiO.cjs.map → area-BSVOYQDA.cjs.map} +1 -1
  9. package/dist/{area-fC1_kvAW.js → area-C_Yvjmad.js} +1 -1
  10. package/dist/{area-fC1_kvAW.js.map → area-C_Yvjmad.js.map} +1 -1
  11. package/dist/area.cjs +1 -1
  12. package/dist/area.js +1 -1
  13. package/dist/{autocomplete-Aa2IstyX.cjs → autocomplete-B50VXUzw.cjs} +1 -1
  14. package/dist/{autocomplete-Aa2IstyX.cjs.map → autocomplete-B50VXUzw.cjs.map} +1 -1
  15. package/dist/{autocomplete-Hb-C11a3.js → autocomplete-C6I1mfOT.js} +2 -2
  16. package/dist/{autocomplete-Hb-C11a3.js.map → autocomplete-C6I1mfOT.js.map} +1 -1
  17. package/dist/autocomplete.cjs +1 -1
  18. package/dist/autocomplete.js +1 -1
  19. package/dist/avatar.cjs +2 -2
  20. package/dist/avatar.js +3 -3
  21. package/dist/badge.cjs +1 -1
  22. package/dist/badge.js +1 -1
  23. package/dist/{boat-BW6aRcdY.js → boat-C94QZ4Zt.js} +1 -1
  24. package/dist/{boat-BW6aRcdY.js.map → boat-C94QZ4Zt.js.map} +1 -1
  25. package/dist/{boat-BEq-AHmL.cjs → boat-DVQBNkk5.cjs} +1 -1
  26. package/dist/{boat-BEq-AHmL.cjs.map → boat-DVQBNkk5.cjs.map} +1 -1
  27. package/dist/boat.cjs +1 -1
  28. package/dist/boat.js +1 -1
  29. package/dist/breadcrumb.cjs +1 -1
  30. package/dist/breadcrumb.js +1 -1
  31. package/dist/{busy-D-ucQFSB.js → busy--bNb42rM.js} +1 -1
  32. package/dist/{busy-D-ucQFSB.js.map → busy--bNb42rM.js.map} +1 -1
  33. package/dist/{busy-CKpIblIO.cjs → busy-DuxFvEkY.cjs} +1 -1
  34. package/dist/{busy-CKpIblIO.cjs.map → busy-DuxFvEkY.cjs.map} +1 -1
  35. package/dist/busy.cjs +1 -1
  36. package/dist/busy.js +1 -1
  37. package/dist/{button-BU-X0a0S.js → button-B7b9L_h5.js} +26 -187
  38. package/dist/button-B7b9L_h5.js.map +1 -0
  39. package/dist/{button-HzLpB3NP.cjs → button-DAFZ5A4O.cjs} +2 -60
  40. package/dist/button-DAFZ5A4O.cjs.map +1 -0
  41. package/dist/button.cjs +59 -1
  42. package/dist/button.cjs.map +1 -0
  43. package/dist/button.js +170 -2
  44. package/dist/button.js.map +1 -0
  45. package/dist/{card-CcrUlgd3.cjs → card-DZPd24Sn.cjs} +1 -1
  46. package/dist/{card-CcrUlgd3.cjs.map → card-DZPd24Sn.cjs.map} +1 -1
  47. package/dist/{card-ueXBeJ6q.js → card-ixzxOW-Q.js} +1 -1
  48. package/dist/{card-ueXBeJ6q.js.map → card-ixzxOW-Q.js.map} +1 -1
  49. package/dist/card.cjs +1 -1
  50. package/dist/card.js +1 -1
  51. package/dist/{checkbox-qsp-I5C6.cjs → checkbox-Bi_Fm2mf.cjs} +1 -1
  52. package/dist/{checkbox-qsp-I5C6.cjs.map → checkbox-Bi_Fm2mf.cjs.map} +1 -1
  53. package/dist/{checkbox-CW1kk4Tu.js → checkbox-DdGpepTh.js} +1 -1
  54. package/dist/{checkbox-CW1kk4Tu.js.map → checkbox-DdGpepTh.js.map} +1 -1
  55. package/dist/checkbox.cjs +1 -1
  56. package/dist/checkbox.js +1 -1
  57. package/dist/{chips-C_F6-gfe.js → chips-DLTynyVB.js} +3 -3
  58. package/dist/{chips-C_F6-gfe.js.map → chips-DLTynyVB.js.map} +1 -1
  59. package/dist/{chips-Dluk6RV4.cjs → chips-DWQMZErr.cjs} +1 -1
  60. package/dist/{chips-Dluk6RV4.cjs.map → chips-DWQMZErr.cjs.map} +1 -1
  61. package/dist/chips.cjs +1 -1
  62. package/dist/chips.js +2 -2
  63. package/dist/connectivity.cjs +1 -1
  64. package/dist/connectivity.js +1 -1
  65. package/dist/content-drawer.cjs +1 -1
  66. package/dist/content-drawer.js +1 -1
  67. package/dist/{date-range-ASZ8h_Il.js → date-range-CJ6MiTpF.js} +90 -82
  68. package/dist/date-range-CJ6MiTpF.js.map +1 -0
  69. package/dist/{date-range-BFOqXAI2.cjs → date-range-DQpmMJH-.cjs} +6 -1
  70. package/dist/date-range-DQpmMJH-.cjs.map +1 -0
  71. package/dist/{date-range-inline-DHrgolLn.js → date-range-inline-Ho3CENTh.js} +1 -1
  72. package/dist/{date-range-inline-DHrgolLn.js.map → date-range-inline-Ho3CENTh.js.map} +1 -1
  73. package/dist/{date-range-inline-BNmNOpL0.cjs → date-range-inline-nPWIs-3C.cjs} +1 -1
  74. package/dist/{date-range-inline-BNmNOpL0.cjs.map → date-range-inline-nPWIs-3C.cjs.map} +1 -1
  75. package/dist/date-range-inline.cjs +1 -1
  76. package/dist/date-range-inline.js +1 -1
  77. package/dist/date-range.cjs +1 -1
  78. package/dist/date-range.js +1 -1
  79. package/dist/delay.cjs +1 -1
  80. package/dist/delay.js +2 -2
  81. package/dist/{details-Bx9c4XQR.cjs → details-BnRWMZdt.cjs} +1 -1
  82. package/dist/{details-Bx9c4XQR.cjs.map → details-BnRWMZdt.cjs.map} +1 -1
  83. package/dist/{details-B9RgRw6c.js → details-CcMTvYo7.js} +2 -2
  84. package/dist/{details-B9RgRw6c.js.map → details-CcMTvYo7.js.map} +1 -1
  85. package/dist/details.cjs +1 -1
  86. package/dist/details.js +1 -1
  87. package/dist/{directives-Dq0zi2KR.cjs → directives-BkSqmLBV.cjs} +11 -11
  88. package/dist/directives-BkSqmLBV.cjs.map +1 -0
  89. package/dist/{directives-sWKTEJDb.js → directives-DgPbz0lQ.js} +116 -153
  90. package/dist/directives-DgPbz0lQ.js.map +1 -0
  91. package/dist/directives.cjs +1 -1
  92. package/dist/directives.js +7 -6
  93. package/dist/discovery.cjs +1 -1
  94. package/dist/discovery.js +1 -1
  95. package/dist/{discovery.service-CVDXO9rH.cjs.map → discovery.service-CIa3Eeuk.cjs.map} +1 -1
  96. package/dist/{discovery.service-COmbHaoI.js.map → discovery.service-DZFxtRwW.js.map} +1 -1
  97. package/dist/{divider-DH0BvTOv.cjs → divider-C6yJSL1c.cjs} +1 -1
  98. package/dist/{divider-DH0BvTOv.cjs.map → divider-C6yJSL1c.cjs.map} +1 -1
  99. package/dist/{divider-C7BtzDcK.js → divider-CZCj0ioH.js} +1 -1
  100. package/dist/{divider-C7BtzDcK.js.map → divider-CZCj0ioH.js.map} +1 -1
  101. package/dist/divider.cjs +1 -1
  102. package/dist/divider.js +1 -1
  103. package/dist/dropdown.cjs +1 -1
  104. package/dist/dropdown.js +1 -1
  105. package/dist/{expand-DcMx9dHY.js → expand-Cc6ogXsR.js} +2 -2
  106. package/dist/{expand-DcMx9dHY.js.map → expand-Cc6ogXsR.js.map} +1 -1
  107. package/dist/{expand-CPMF44eL.cjs → expand-D4EhwOYh.cjs} +1 -1
  108. package/dist/{expand-CPMF44eL.cjs.map → expand-D4EhwOYh.cjs.map} +1 -1
  109. package/dist/expand.cjs +1 -1
  110. package/dist/expand.js +1 -1
  111. package/dist/{float-CgBN4H3g.cjs → float-B8EPc_OG.cjs} +1 -1
  112. package/dist/{float-CgBN4H3g.cjs.map → float-B8EPc_OG.cjs.map} +1 -1
  113. package/dist/{float-DkUw5TN4.js → float-BvI3HTtB.js} +1 -1
  114. package/dist/{float-DkUw5TN4.js.map → float-BvI3HTtB.js.map} +1 -1
  115. package/dist/float.cjs +1 -1
  116. package/dist/float.js +1 -1
  117. package/dist/{form-kSgJf_h4.js → form-FtYtZScl.js} +8 -8
  118. package/dist/{form-kSgJf_h4.js.map → form-FtYtZScl.js.map} +1 -1
  119. package/dist/form-SHg5FLsd.cjs +42 -0
  120. package/dist/{form-DxApnyVx.cjs.map → form-SHg5FLsd.cjs.map} +1 -1
  121. package/dist/form.cjs +1 -1
  122. package/dist/form.js +6 -6
  123. package/dist/gravity-6pL6CfIr.cjs +1 -0
  124. package/dist/gravity-6pL6CfIr.cjs.map +1 -0
  125. package/dist/gravity-sVK3zGBF.js +46 -0
  126. package/dist/gravity-sVK3zGBF.js.map +1 -0
  127. package/dist/handover/agent-runtime-followups.md +1 -1
  128. package/dist/handover/agent-runtime-v1.md +3 -3
  129. package/dist/{hashContent-Dgmzc32o.js.map → hashContent-BqU6v1Xr.js.map} +1 -1
  130. package/dist/{hashContent-Dh1VzIAb.cjs.map → hashContent-iRZJJWtE.cjs.map} +1 -1
  131. package/dist/{icons-DsfpmrVO.js → icon-B1eZr2ZL.js} +1 -1
  132. package/dist/icon-B1eZr2ZL.js.map +1 -0
  133. package/dist/{icons-3F1nQAn_.cjs → icon-CgIXAvKI.cjs} +1 -1
  134. package/dist/{icons-DsfpmrVO.js.map → icon-CgIXAvKI.cjs.map} +1 -1
  135. package/dist/icons.cjs +1 -1
  136. package/dist/icons.js +1 -1
  137. package/dist/{iframe-sTXBw6zB.cjs → iframe-BO3BpRLH.cjs} +1 -1
  138. package/dist/{iframe-sTXBw6zB.cjs.map → iframe-BO3BpRLH.cjs.map} +1 -1
  139. package/dist/{iframe-KrV4Cak-.js → iframe-CmpAZc61.js} +1 -1
  140. package/dist/{iframe-KrV4Cak-.js.map → iframe-CmpAZc61.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 +49 -47
  145. package/dist/{input-DMoggdSN.cjs → input-5YL2oUBr.cjs} +1 -1
  146. package/dist/{input-DMoggdSN.cjs.map → input-5YL2oUBr.cjs.map} +1 -1
  147. package/dist/{input-zj3eaZM_.js → input-_Hft9vov.js} +1 -1
  148. package/dist/{input-zj3eaZM_.js.map → input-_Hft9vov.js.map} +1 -1
  149. package/dist/{input-chip-DHbfUatc.js → input-chip-BNTojQT6.js} +1 -1
  150. package/dist/{input-chip-DHbfUatc.js.map → input-chip-BNTojQT6.js.map} +1 -1
  151. package/dist/{input-chip-B1iNQW2m.cjs → input-chip-DKMNpcED.cjs} +1 -1
  152. package/dist/{input-chip-B1iNQW2m.cjs.map → input-chip-DKMNpcED.cjs.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 +2 -2
  157. package/dist/kbd.cjs +1 -1
  158. package/dist/kbd.js +1 -1
  159. package/dist/layout.cjs +1 -1
  160. package/dist/layout.js +1 -1
  161. package/dist/{lightbox-CAcXlJlv.js → lightbox-CKlYcnHV.js} +1 -1
  162. package/dist/{lightbox-CAcXlJlv.js.map → lightbox-CKlYcnHV.js.map} +1 -1
  163. package/dist/{lightbox-86F2RgXy.cjs → lightbox-t4dvb8_A.cjs} +1 -1
  164. package/dist/{lightbox-86F2RgXy.cjs.map → lightbox-t4dvb8_A.cjs.map} +1 -1
  165. package/dist/lightbox.cjs +1 -1
  166. package/dist/lightbox.js +1 -1
  167. package/dist/{list-CUbI0RM6.cjs → list-21mWtDKg.cjs} +4 -4
  168. package/dist/list-21mWtDKg.cjs.map +1 -0
  169. package/dist/{list-BIjJ6T1c.js → list-B6QhxgRJ.js} +4 -7
  170. package/dist/list-B6QhxgRJ.js.map +1 -0
  171. package/dist/list.cjs +1 -1
  172. package/dist/list.js +1 -1
  173. package/dist/{magnetic-mHXl54Z8.js.map → magnetic-B2VKNfDu.js.map} +1 -1
  174. package/dist/{magnetic-D-ph029G.cjs.map → magnetic-MQ3HMHJi.cjs.map} +1 -1
  175. package/dist/{menu-CtFcvxgU.js → menu-C5qcgMnw.js} +3 -3
  176. package/dist/{menu-CtFcvxgU.js.map → menu-C5qcgMnw.js.map} +1 -1
  177. package/dist/{menu-DGMrjR_a.cjs → menu-Cuxt5K4Y.cjs} +2 -2
  178. package/dist/{menu-DGMrjR_a.cjs.map → menu-Cuxt5K4Y.cjs.map} +1 -1
  179. package/dist/menu.cjs +1 -1
  180. package/dist/menu.js +1 -1
  181. package/dist/mixins-8dT5j6CS.js +627 -0
  182. package/dist/mixins-8dT5j6CS.js.map +1 -0
  183. package/dist/mixins-BF3Vj8_c.cjs +242 -0
  184. package/dist/mixins-BF3Vj8_c.cjs.map +1 -0
  185. package/dist/mixins.cjs +1 -1
  186. package/dist/mixins.js +1 -1
  187. package/dist/nav-drawer.cjs +1 -1
  188. package/dist/nav-drawer.js +1 -1
  189. package/dist/navigation-bar.cjs +1 -1
  190. package/dist/navigation-bar.js +1 -1
  191. package/dist/navigation-rail.cjs +7 -5
  192. package/dist/navigation-rail.cjs.map +1 -1
  193. package/dist/navigation-rail.js +52 -38
  194. package/dist/navigation-rail.js.map +1 -1
  195. package/dist/notification-CDKBKh63.js +243 -0
  196. package/dist/notification-CDKBKh63.js.map +1 -0
  197. package/dist/notification-CcNoBFEJ.cjs +24 -0
  198. package/dist/notification-CcNoBFEJ.cjs.map +1 -0
  199. package/dist/notification.cjs +1 -1
  200. package/dist/notification.js +1 -1
  201. package/dist/{option-C3UyYQi_.js → option-BWfmDJvm.js} +1 -1
  202. package/dist/{option-C3UyYQi_.js.map → option-BWfmDJvm.js.map} +1 -1
  203. package/dist/{option-DJ3R-2Wn.cjs → option-DejeqOad.cjs} +1 -1
  204. package/dist/{option-DJ3R-2Wn.cjs.map → option-DejeqOad.cjs.map} +1 -1
  205. package/dist/option.cjs +1 -1
  206. package/dist/option.js +1 -1
  207. package/dist/{overlay-D1hFkcFA.js → overlay-D3c_NY18.js} +214 -265
  208. package/dist/overlay-D3c_NY18.js.map +1 -0
  209. package/dist/overlay-Dv2utO4C.cjs +43 -0
  210. package/dist/overlay-Dv2utO4C.cjs.map +1 -0
  211. package/dist/overlay.cjs +1 -1
  212. package/dist/overlay.confirm-body-B2ntyquG.cjs +79 -0
  213. package/dist/overlay.confirm-body-B2ntyquG.cjs.map +1 -0
  214. package/dist/overlay.confirm-body-B_v0ivkn.js +159 -0
  215. package/dist/overlay.confirm-body-B_v0ivkn.js.map +1 -0
  216. package/dist/overlay.js +3 -3
  217. package/dist/overlay.service-B3FjXCqc.js +143 -0
  218. package/dist/overlay.service-B3FjXCqc.js.map +1 -0
  219. package/dist/overlay.service-BkSeqXIv.cjs +1 -0
  220. package/dist/overlay.service-BkSeqXIv.cjs.map +1 -0
  221. package/dist/{progress-CY-UbvOB.cjs → progress-6_rb3Ah9.cjs} +1 -1
  222. package/dist/{progress-CY-UbvOB.cjs.map → progress-6_rb3Ah9.cjs.map} +1 -1
  223. package/dist/{progress-YjdEWDI5.js → progress-CFcmO0wv.js} +1 -1
  224. package/dist/{progress-YjdEWDI5.js.map → progress-CFcmO0wv.js.map} +1 -1
  225. package/dist/progress.cjs +1 -1
  226. package/dist/progress.js +1 -1
  227. package/dist/{radio-group-aKXKHqUp.js → radio-group-Bd8y9QpX.js} +1 -1
  228. package/dist/{radio-group-aKXKHqUp.js.map → radio-group-Bd8y9QpX.js.map} +1 -1
  229. package/dist/{radio-group--UamzqAm.cjs → radio-group-_WZg8EKM.cjs} +1 -1
  230. package/dist/{radio-group--UamzqAm.cjs.map → radio-group-_WZg8EKM.cjs.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 +1 -1
  235. package/dist/{rxjs-utils-CaC-tdot.cjs.map → rxjs-utils-Csnks202.cjs.map} +1 -1
  236. package/dist/{rxjs-utils-BXpvHN4-.js.map → rxjs-utils-d-ivVN84.js.map} +1 -1
  237. package/dist/rxjs-utils.cjs +1 -1
  238. package/dist/rxjs-utils.js +1 -1
  239. package/dist/{select-CIquL8LY.cjs → select-BaioT3yY.cjs} +2 -2
  240. package/dist/{select-CIquL8LY.cjs.map → select-BaioT3yY.cjs.map} +1 -1
  241. package/dist/{select-B0Qk4PfT.js → select-Czpl1ztD.js} +3 -3
  242. package/dist/{select-B0Qk4PfT.js.map → select-Czpl1ztD.js.map} +1 -1
  243. package/dist/select.cjs +1 -1
  244. package/dist/select.js +1 -1
  245. package/dist/skeleton.cjs +1 -1
  246. package/dist/skeleton.js +1 -1
  247. package/dist/skills/SKILL.md +1 -1
  248. package/dist/skills/list.md +0 -1
  249. package/dist/skills/schmancy/SKILL.md +1 -1
  250. package/dist/skills/schmancy/list.md +0 -1
  251. package/dist/slider.cjs +1 -1
  252. package/dist/slider.js +1 -1
  253. package/dist/{splash-screen-rg56AXCf.cjs → splash-screen-3FtgdVy3.cjs} +1 -1
  254. package/dist/{splash-screen-rg56AXCf.cjs.map → splash-screen-3FtgdVy3.cjs.map} +1 -1
  255. package/dist/{splash-screen-CP_Idse2.js → splash-screen-YtTVkJg8.js} +1 -1
  256. package/dist/{splash-screen-CP_Idse2.js.map → splash-screen-YtTVkJg8.js.map} +1 -1
  257. package/dist/splash-screen.cjs +1 -1
  258. package/dist/splash-screen.js +1 -1
  259. package/dist/{src-BAaNnqwc.cjs → src-AYRNg63f.cjs} +8 -8
  260. package/dist/{src-BAaNnqwc.cjs.map → src-AYRNg63f.cjs.map} +1 -1
  261. package/dist/{src-Do0IGupa.js → src-DKMEgT2z.js} +37 -37
  262. package/dist/{src-Do0IGupa.js.map → src-DKMEgT2z.js.map} +1 -1
  263. package/dist/steps.cjs +1 -1
  264. package/dist/steps.js +1 -1
  265. package/dist/{surface-B7a2O5-9.cjs → surface-BNvxLEDN.cjs} +1 -1
  266. package/dist/surface-BNvxLEDN.cjs.map +1 -0
  267. package/dist/{surface-DGewe6IV.js → surface-CVxyQPln.js} +1 -1
  268. package/dist/surface-CVxyQPln.js.map +1 -0
  269. package/dist/surface.cjs +1 -1
  270. package/dist/surface.js +1 -1
  271. package/dist/switch.cjs +1 -1
  272. package/dist/switch.js +1 -1
  273. package/dist/table.cjs +1 -1
  274. package/dist/table.js +1 -1
  275. package/dist/{tabs-g2aM43TH.js → tabs-CnPXvZuZ.js} +1 -1
  276. package/dist/{tabs-g2aM43TH.js.map → tabs-CnPXvZuZ.js.map} +1 -1
  277. package/dist/{tabs-n4dO5fo1.cjs → tabs-DTU7748z.cjs} +1 -1
  278. package/dist/{tabs-n4dO5fo1.cjs.map → tabs-DTU7748z.cjs.map} +1 -1
  279. package/dist/tabs.cjs +1 -1
  280. package/dist/tabs.js +1 -1
  281. package/dist/teleport.cjs +1 -1
  282. package/dist/teleport.js +1 -1
  283. package/dist/{textarea-DDx_7AfQ.cjs → textarea-Bqth6Q8P.cjs} +1 -1
  284. package/dist/{textarea-DDx_7AfQ.cjs.map → textarea-Bqth6Q8P.cjs.map} +1 -1
  285. package/dist/{textarea-D5hw4jsP.js → textarea-mQPsppmd.js} +1 -1
  286. package/dist/{textarea-D5hw4jsP.js.map → textarea-mQPsppmd.js.map} +1 -1
  287. package/dist/textarea.cjs +1 -1
  288. package/dist/textarea.js +1 -1
  289. package/dist/{theme-BMYkheaA.js → theme-BJqpv4cG.js} +2 -2
  290. package/dist/{theme-BMYkheaA.js.map → theme-BJqpv4cG.js.map} +1 -1
  291. package/dist/{theme-BdZAj0CO.cjs → theme-D4HGKt7N.cjs} +1 -1
  292. package/dist/{theme-BdZAj0CO.cjs.map → theme-D4HGKt7N.cjs.map} +1 -1
  293. package/dist/{theme-button-DdI6kxY3.js → theme-button-Jap7G_IH.js} +1 -1
  294. package/dist/{theme-button-DdI6kxY3.js.map → theme-button-Jap7G_IH.js.map} +1 -1
  295. package/dist/{theme-button-R2f_kLEl.cjs → theme-button-LP-Dgr17.cjs} +1 -1
  296. package/dist/{theme-button-R2f_kLEl.cjs.map → theme-button-LP-Dgr17.cjs.map} +1 -1
  297. package/dist/theme-button.cjs +1 -1
  298. package/dist/theme-button.js +1 -1
  299. package/dist/theme.cjs +1 -1
  300. package/dist/{theme.interface-B5xjEk74.cjs.map → theme.interface-CSt7JUBD.cjs.map} +1 -1
  301. package/dist/{theme.interface-DVEw3s8m.js.map → theme.interface-odQEpZZH.js.map} +1 -1
  302. package/dist/theme.js +3 -3
  303. package/dist/tree.cjs +1 -1
  304. package/dist/tree.js +1 -1
  305. package/dist/typography-BJMm6b0b.js +358 -0
  306. package/dist/typography-BJMm6b0b.js.map +1 -0
  307. package/dist/typography-Bc4MmSal.cjs +282 -0
  308. package/dist/typography-Bc4MmSal.cjs.map +1 -0
  309. package/dist/typography.cjs +1 -282
  310. package/dist/typography.js +2 -358
  311. package/dist/{utils-CVWUrECT.cjs.map → utils-DTa3QHxk.cjs.map} +1 -1
  312. package/dist/{utils-578eFTx4.js.map → utils-H8wNknWC.js.map} +1 -1
  313. package/dist/utils.cjs +1 -1
  314. package/dist/utils.js +1 -1
  315. package/dist/visually-hidden.cjs +1 -1
  316. package/dist/visually-hidden.js +1 -1
  317. package/dist/{window-LOGPpN8K.cjs → window-CNu_WnsY.cjs} +1 -1
  318. package/dist/{window-LOGPpN8K.cjs.map → window-CNu_WnsY.cjs.map} +1 -1
  319. package/dist/{window-MQxhTodp.js → window-DZTjkE24.js} +1 -1
  320. package/dist/{window-MQxhTodp.js.map → window-DZTjkE24.js.map} +1 -1
  321. package/dist/window.cjs +1 -1
  322. package/dist/window.js +1 -1
  323. package/package.json +1 -1
  324. package/skills/schmancy/SKILL.md +1 -1
  325. package/skills/schmancy/list.md +0 -1
  326. package/src/form/fields/date-range/date-range-dialog.ts +8 -1
  327. package/src/list/list.ts +1 -12
  328. package/src/menu/menu.ts +4 -1
  329. package/src/navigation-rail/navigation-rail.ts +558 -490
  330. package/src/notification/notification-service.ts +81 -263
  331. package/src/notification/notification.scss +93 -50
  332. package/src/notification/notification.ts +32 -69
  333. package/src/overlay/overlay.component.ts +99 -158
  334. package/src/overlay/overlay.confirm-body.ts +106 -61
  335. package/src/overlay/overlay.service.ts +81 -108
  336. package/src/surface/surface.styles.ts +0 -17
  337. package/src/surface/surface.ts +5 -7
  338. package/types/mixins/surface.mixin.d.ts +0 -3
  339. package/types/src/form/fields/date-range/date-range-dialog.d.ts +1 -0
  340. package/types/src/list/list.d.ts +0 -9
  341. package/types/src/navigation-rail/navigation-rail.d.ts +21 -1
  342. package/types/src/notification/notification-service.d.ts +3 -86
  343. package/types/src/notification/notification.d.ts +1 -1
  344. package/types/src/overlay/overlay.component.d.ts +1 -2
  345. package/types/src/overlay/overlay.confirm-body.d.ts +8 -4
  346. package/types/src/surface/surface.d.ts +5 -6
  347. package/types/src/surface/surface.styles.d.ts +0 -4
  348. package/dist/agent/overlay.confirm-body-DJrL6tio.js +0 -2859
  349. package/dist/agent/overlay.confirm-body-DJrL6tio.js.map +0 -1
  350. package/dist/button-BU-X0a0S.js.map +0 -1
  351. package/dist/button-HzLpB3NP.cjs.map +0 -1
  352. package/dist/date-range-ASZ8h_Il.js.map +0 -1
  353. package/dist/date-range-BFOqXAI2.cjs.map +0 -1
  354. package/dist/directives-Dq0zi2KR.cjs.map +0 -1
  355. package/dist/directives-sWKTEJDb.js.map +0 -1
  356. package/dist/form-DxApnyVx.cjs +0 -42
  357. package/dist/icons-3F1nQAn_.cjs.map +0 -1
  358. package/dist/list-BIjJ6T1c.js.map +0 -1
  359. package/dist/list-CUbI0RM6.cjs.map +0 -1
  360. package/dist/mixins-CKbQ6BJo.js +0 -642
  361. package/dist/mixins-CKbQ6BJo.js.map +0 -1
  362. package/dist/mixins-DSy-enUd.cjs +0 -254
  363. package/dist/mixins-DSy-enUd.cjs.map +0 -1
  364. package/dist/notification-BqyMYtP7.js +0 -306
  365. package/dist/notification-BqyMYtP7.js.map +0 -1
  366. package/dist/notification-D5eOdsMT.cjs +0 -23
  367. package/dist/notification-D5eOdsMT.cjs.map +0 -1
  368. package/dist/overlay-D1hFkcFA.js.map +0 -1
  369. package/dist/overlay-D7nQaT5U.cjs +0 -81
  370. package/dist/overlay-D7nQaT5U.cjs.map +0 -1
  371. package/dist/overlay.confirm-body-B4eCDLmU.js +0 -100
  372. package/dist/overlay.confirm-body-B4eCDLmU.js.map +0 -1
  373. package/dist/overlay.confirm-body-P18SmJL2.cjs +0 -45
  374. package/dist/overlay.confirm-body-P18SmJL2.cjs.map +0 -1
  375. package/dist/overlay.service-02ZLZ8Ib.js +0 -146
  376. package/dist/overlay.service-02ZLZ8Ib.js.map +0 -1
  377. package/dist/overlay.service-m-8omCA-.cjs +0 -1
  378. package/dist/overlay.service-m-8omCA-.cjs.map +0 -1
  379. package/dist/surface-B7a2O5-9.cjs.map +0 -1
  380. package/dist/surface-DGewe6IV.js.map +0 -1
  381. package/dist/typography.cjs.map +0 -1
  382. package/dist/typography.js.map +0 -1
  383. /package/dist/{discovery.service-CVDXO9rH.cjs → discovery.service-CIa3Eeuk.cjs} +0 -0
  384. /package/dist/{discovery.service-COmbHaoI.js → discovery.service-DZFxtRwW.js} +0 -0
  385. /package/dist/{hashContent-Dgmzc32o.js → hashContent-BqU6v1Xr.js} +0 -0
  386. /package/dist/{hashContent-Dh1VzIAb.cjs → hashContent-iRZJJWtE.cjs} +0 -0
  387. /package/dist/{magnetic-mHXl54Z8.js → magnetic-B2VKNfDu.js} +0 -0
  388. /package/dist/{magnetic-D-ph029G.cjs → magnetic-MQ3HMHJi.cjs} +0 -0
  389. /package/dist/{rxjs-utils-CaC-tdot.cjs → rxjs-utils-Csnks202.cjs} +0 -0
  390. /package/dist/{rxjs-utils-BXpvHN4-.js → rxjs-utils-d-ivVN84.js} +0 -0
  391. /package/dist/{theme.interface-B5xjEk74.cjs → theme.interface-CSt7JUBD.cjs} +0 -0
  392. /package/dist/{theme.interface-DVEw3s8m.js → theme.interface-odQEpZZH.js} +0 -0
  393. /package/dist/{utils-CVWUrECT.cjs → utils-DTa3QHxk.cjs} +0 -0
  394. /package/dist/{utils-578eFTx4.js → utils-H8wNknWC.js} +0 -0
@@ -4,13 +4,20 @@ import { customElement, property, query } from 'lit/decorators.js'
4
4
  import { when } from 'lit/directives/when.js'
5
5
  import { choose } from 'lit/directives/choose.js'
6
6
  import { ifDefined } from 'lit/directives/if-defined.js'
7
+ import { gravity } from '../directives/gravity'
8
+ import type SchmancyInput from '../form/fields/input/input'
9
+
10
+ import '../icons/icon'
11
+ import '../form/fields/input/input'
12
+ import '../typography/typography'
13
+ import '../button/button'
7
14
 
8
15
  /**
9
16
  * Internal body component used by the `confirm()` / `prompt()` sugar.
10
17
  *
11
- * Minimal, dependency-free plain HTML buttons / input so this file
12
- * doesn't need to import schmancy-form / schmancy-button (avoids the
13
- * risk of circular module graphs during early imports of $overlay).
18
+ * `overlay.service.ts` lazy-imports this body via `await import('./overlay.confirm-body')`
19
+ * so by mount time `schmancy-button`, `schmancy-input`, `schmancy-typography`,
20
+ * and `schmancy-icon` are all registered.
14
21
  *
15
22
  * Emits a `close` CustomEvent with the typed result; the overlay picks
16
23
  * that up as the primary return channel. For custom-styled confirms,
@@ -19,17 +26,13 @@ import { ifDefined } from 'lit/directives/if-defined.js'
19
26
  @customElement('schmancy-overlay-prompt-body')
20
27
  export class SchmancyOverlayPromptBody extends SchmancyElement {
21
28
  static styles = [css`
22
- :host {
23
- display: block;
24
- min-width: 280px;
25
- max-width: 480px;
26
- color: var(--schmancy-sys-color-on-surface, #1a1a1a);
27
- }
28
- :host([variant='danger']) .cta-confirm {
29
- background: var(--schmancy-sys-color-error, #b3261e);
30
- color: var(--schmancy-sys-color-on-error, #ffffff);
31
- }
32
- `]
29
+ :host {
30
+ display: block;
31
+ min-width: 280px;
32
+ max-width: 480px;
33
+ padding: 1.5rem;
34
+ }
35
+ `]
33
36
 
34
37
  @property({ type: String }) heading?: string
35
38
  @property({ type: String }) subtitle?: string
@@ -58,12 +61,11 @@ export class SchmancyOverlayPromptBody extends SchmancyElement {
58
61
  @property({ type: String }) pattern?: string
59
62
  @property({ type: Boolean }) required = false
60
63
 
61
- @query('input') private _input?: HTMLInputElement
64
+ @query('schmancy-input') private _schmancyInput?: SchmancyInput
62
65
 
63
66
  override firstUpdated(): void {
64
- // Focus the confirm button in confirm mode; focus the input in prompt mode.
65
67
  if (this.mode === 'prompt') {
66
- queueMicrotask(() => this._input?.focus())
68
+ this._schmancyInput?.focus()
67
69
  }
68
70
  }
69
71
 
@@ -83,9 +85,8 @@ export class SchmancyOverlayPromptBody extends SchmancyElement {
83
85
 
84
86
  private handleConfirm = (): void => {
85
87
  if (this.mode === 'prompt') {
86
- const input = this._input
87
- if (input && !input.reportValidity()) return
88
- this.dismiss(input?.value ?? '')
88
+ if (this._schmancyInput && !this._schmancyInput.reportValidity()) return
89
+ this.dismiss(this._schmancyInput?.value ?? '')
89
90
  } else {
90
91
  this.dismiss(true)
91
92
  }
@@ -99,53 +100,97 @@ export class SchmancyOverlayPromptBody extends SchmancyElement {
99
100
  protected render(): TemplateResult {
100
101
  return html`
101
102
  <form @submit=${this.handleSubmit}>
102
- ${when(
103
- this.heading,
104
- () => html`<h2 class="text-lg font-semibold mb-1">${this.heading}</h2>`,
105
- )}
106
- ${when(
107
- this.subtitle,
108
- () => html`<p class="text-sm opacity-70 mb-2">${this.subtitle}</p>`,
109
- )}
110
- ${choose(
111
- this.mode,
112
- [
103
+ <div class="flex flex-col gap-3">
104
+ ${when(
105
+ this.variant === 'danger',
106
+ () => html`
107
+ <schmancy-icon
108
+ ${gravity({ delay: 0, mass: 0.7 })}
109
+ class="text-error-default"
110
+ style="font-size:32px"
111
+ >error_outline</schmancy-icon>
112
+ `,
113
+ )}
114
+
115
+ ${when(
116
+ this.heading,
117
+ () => html`
118
+ <schmancy-typography
119
+ ${gravity({ delay: 0, mass: 0.8 })}
120
+ type="headline"
121
+ token="sm"
122
+ >${this.heading}</schmancy-typography>
123
+ `,
124
+ )}
125
+
126
+ ${when(
127
+ this.subtitle,
128
+ () => html`
129
+ <schmancy-typography
130
+ ${gravity({ delay: 60, mass: 0.9 })}
131
+ type="body"
132
+ token="md"
133
+ class="opacity-70"
134
+ >${this.subtitle}</schmancy-typography>
135
+ `,
136
+ )}
137
+
138
+ ${choose(
139
+ this.mode,
113
140
  [
114
- 'prompt',
115
- () => html`
116
- ${when(this.label, () => html`<label class="block text-sm mb-1">${this.label}</label>`)}
117
- <input
118
- type=${this.inputType}
119
- .value=${this.defaultValue}
120
- placeholder=${ifDefined(this.placeholder)}
121
- pattern=${ifDefined(this.pattern)}
122
- ?required=${this.required}
123
- class="w-full px-3 py-2 rounded-md border border-outline-variant text-base mb-2"
124
- />
125
- ${when(
126
- this.message,
127
- () => html`<p class="text-sm mb-3">${this.message}</p>`,
128
- )}
129
- `,
141
+ [
142
+ 'prompt',
143
+ () => html`
144
+ <schmancy-input
145
+ ${gravity({ delay: 120, mass: 1.0 })}
146
+ .label=${this.label ?? ''}
147
+ .value=${this.defaultValue}
148
+ .type=${this.inputType}
149
+ placeholder=${ifDefined(this.placeholder)}
150
+ pattern=${ifDefined(this.pattern)}
151
+ .required=${this.required}
152
+ ></schmancy-input>
153
+ ${when(
154
+ this.message,
155
+ () => html`
156
+ <schmancy-typography
157
+ ${gravity({ delay: 180, mass: 1.0 })}
158
+ type="body"
159
+ token="sm"
160
+ class="opacity-70"
161
+ >${this.message}</schmancy-typography>
162
+ `,
163
+ )}
164
+ `,
165
+ ],
130
166
  ],
131
- ],
132
- () => html`${when(this.message, () => html`<p class="text-sm mb-4">${this.message}</p>`)}`,
133
- )}
167
+ () => html`
168
+ ${when(
169
+ this.message,
170
+ () => html`
171
+ <schmancy-typography
172
+ ${gravity({ delay: 60, mass: 0.9 })}
173
+ type="body"
174
+ token="md"
175
+ class="opacity-70"
176
+ >${this.message}</schmancy-typography>
177
+ `,
178
+ )}
179
+ `,
180
+ )}
181
+ </div>
134
182
 
135
- <div class="flex justify-end gap-2 mt-4">
136
- <button
183
+ <div ${gravity({ delay: 180, mass: 1.0 })} class="flex justify-end gap-2 mt-6">
184
+ <schmancy-button
137
185
  type="button"
186
+ variant="text"
138
187
  @click=${this.handleCancel}
139
- class="px-4 py-2 rounded-md bg-transparent cursor-pointer hover:bg-surface-on/5"
140
- >
141
- ${this.cancelText}
142
- </button>
143
- <button
188
+ >${this.cancelText}</schmancy-button>
189
+ <schmancy-button
144
190
  type="submit"
145
- class="cta-confirm px-4 py-2 rounded-md border-0 bg-primary text-on-primary cursor-pointer font-medium"
146
- >
147
- ${this.confirmText}
148
- </button>
191
+ variant="filled"
192
+ color=${this.variant === 'danger' ? 'error' : 'primary'}
193
+ >${this.confirmText}</schmancy-button>
149
194
  </div>
150
195
  </form>
151
196
  `
@@ -5,17 +5,20 @@ import {
5
5
  distinctUntilChanged,
6
6
  EMPTY,
7
7
  filter,
8
+ finalize,
8
9
  firstValueFrom,
10
+ from,
9
11
  fromEvent,
12
+ ignoreElements,
10
13
  map,
11
14
  merge,
12
15
  Observable,
13
- Subject,
14
16
  switchMap,
15
17
  take,
16
- takeUntil,
18
+ tap,
17
19
  } from 'rxjs'
18
20
  import type { THistoryStrategy } from '../area/router.types'
21
+ import { discoverComponent } from '../discovery/discovery.service'
19
22
  import { SchmancyOverlay } from './overlay.component'
20
23
  import {
21
24
  clearStack,
@@ -140,116 +143,86 @@ export function show<T = void>(
140
143
  options: ShowOptions = {},
141
144
  ): Observable<T | undefined> {
142
145
  return defer(() => {
143
- // Resolve anchor at subscribe time: caller's explicit anchor wins,
144
- // otherwise the ambient gesture captured by ambientAnchor$ fills in.
146
+ // Resolve anchor + theme container at subscribe time. Anchor: caller's
147
+ // explicit value wins, otherwise the ambient gesture fills in. Theme:
148
+ // dispatch `schmancy-theme-where-are-you` via the discovery service so
149
+ // the overlay mounts inside the nearest <schmancy-theme> and inherits
150
+ // its --schmancy-* tokens (same mechanism the old $dialog used). Falls
151
+ // back to body when no theme responds.
145
152
  const resolvedOptions: ShowOptions = {
146
153
  ...options,
147
154
  anchor: options.anchor ?? ambientAnchor(),
148
155
  }
149
-
150
- return new Observable<T | undefined>((subscriber) => {
151
- let el: SchmancyOverlay | null = null
152
- let entry: OverlayEntry | null = null
153
- let historyPushed = false
154
- let settled = false
155
-
156
- const teardown$ = new Subject<void>()
157
-
158
- const mount = async () => {
159
- try {
160
- // Create and append the overlay element.
161
- el = document.createElement('schmancy-overlay') as SchmancyOverlay
162
- ;(document.body ?? document.documentElement).appendChild(el)
163
- await el.updateComplete
164
-
165
- // Open it — mount content, resolve layout, animate in.
166
- await el.open(content, resolvedOptions)
167
-
168
- // Register with the stack (post-open so layout, modal, tier are all
169
- // resolved by the element).
170
- const id = generateId()
171
- entry = {
172
- id,
173
- element: el,
174
- layout: el.layout,
175
- modal: el.modal,
176
- tier: el.tier,
177
- }
178
- pushEntry(entry)
179
-
180
- // Register modality for the stack-aware inert manager when modal.
181
- if (el.modal && el.parentElement) {
182
- markModal(id, el)
183
- }
184
-
185
- // History integration — push a sentinel unless silent.
186
- const strategy: THistoryStrategy = resolvedOptions.historyStrategy ?? 'push'
187
- if (strategy === 'push') {
188
- history.pushState({ __schmancyOverlayId: id }, '', location.href)
189
- historyPushed = true
190
- } else if (strategy === 'replace') {
191
- history.replaceState({ __schmancyOverlayId: id }, '', location.href)
192
- }
193
-
194
- // popstate — close this overlay when the user hits back past us.
195
- // If another overlay's popstate fires first, that's fine; each overlay
196
- // handles its own via this listener.
197
- if (historyPushed) {
198
- fromEvent<PopStateEvent>(window, 'popstate')
199
- .pipe(take(1), takeUntil(teardown$))
200
- .subscribe(() => {
201
- // Avoid double-pop on teardown — set settled so the
202
- // teardown fn doesn't call history.back() again.
203
- settled = true
204
- void el?.close('popstate')
205
- })
206
- }
207
-
208
- // Subscribe to the element's internal close$ — the single source of
209
- // truth for lifecycle completion. Emits reason + optional result.
210
- el.closed$.pipe(take(1), takeUntil(teardown$)).subscribe(({ result }) => {
211
- settled = true
212
- subscriber.next(result as T | undefined)
213
- subscriber.complete()
214
- })
215
- } catch (err) {
216
- subscriber.error(err)
217
- }
218
- }
219
-
220
- void mount()
221
-
222
- return () => {
223
- teardown$.next()
224
- teardown$.complete()
225
-
226
- // Unsubscribe path — caller cancelled. Tear down the overlay.
227
- if (el && !settled) {
228
- void el.close('programmatic')
229
- }
230
-
231
- // Clean up registry entries.
232
- if (entry) {
233
- unmarkModal(entry.id)
234
- removeEntry(entry.id)
235
- }
236
-
237
- // Pop history if we pushed one and it's still current.
238
- if (historyPushed && !settled) {
239
- // Check before calling — if the user already popped, this is a noop.
240
- if (history.state?.__schmancyOverlayId === entry?.id) {
241
- history.back()
242
- }
243
- historyPushed = false
244
- }
245
-
246
- // Remove element after exit animation has had a chance to play.
247
- queueMicrotask(() => {
248
- el?.remove()
249
- el = null
250
- })
251
- }
252
- })
156
+ const id = generateId()
157
+ const state = { settled: false, historyPushed: false }
158
+
159
+ return discoverComponent<HTMLElement>('schmancy-theme').pipe(
160
+ switchMap((theme) => {
161
+ const el = document.createElement('schmancy-overlay') as SchmancyOverlay
162
+ ;(theme ?? document.body ?? document.documentElement).appendChild(el)
163
+
164
+ const opened$ = from(
165
+ el.updateComplete.then(() => el.open(content, resolvedOptions)),
166
+ ).pipe(
167
+ tap(() => {
168
+ pushEntry({
169
+ id,
170
+ element: el,
171
+ layout: el.layout,
172
+ modal: el.modal,
173
+ tier: el.tier,
174
+ })
175
+ if (el.modal && el.parentElement) markModal(id, el)
176
+
177
+ const strategy: THistoryStrategy = resolvedOptions.historyStrategy ?? 'push'
178
+ if (strategy === 'push') {
179
+ history.pushState({ __schmancyOverlayId: id }, '', location.href)
180
+ state.historyPushed = true
181
+ } else if (strategy === 'replace') {
182
+ history.replaceState({ __schmancyOverlayId: id }, '', location.href)
183
+ }
184
+ }),
185
+ )
186
+
187
+ // popstate side-channel listened only after history.pushState
188
+ // completed inside opened$'s tap. ignoreElements keeps the merge
189
+ // emitting only the eventual close result.
190
+ const popstateClose$ = fromEvent<PopStateEvent>(window, 'popstate').pipe(
191
+ take(1),
192
+ filter(() => state.historyPushed),
193
+ tap(() => {
194
+ state.settled = true
195
+ void el.close('popstate')
196
+ }),
197
+ ignoreElements(),
198
+ )
199
+
200
+ const closed$ = el.closed$.pipe(
201
+ take(1),
202
+ tap(() => {
203
+ state.settled = true
204
+ }),
205
+ map(({ result }) => result as T | undefined),
206
+ )
207
+
208
+ return opened$.pipe(
209
+ switchMap(() => merge(closed$, popstateClose$).pipe(take(1))),
210
+ finalize(() => {
211
+ if (!state.settled) void el.close('programmatic')
212
+ unmarkModal(id)
213
+ removeEntry(id)
214
+ if (
215
+ state.historyPushed &&
216
+ !state.settled &&
217
+ history.state?.__schmancyOverlayId === id
218
+ ) {
219
+ history.back()
220
+ }
221
+ queueMicrotask(() => el.remove())
222
+ }),
223
+ )
224
+ }),
225
+ )
253
226
  })
254
227
  }
255
228
 
@@ -179,22 +179,6 @@ export const surfaceTypeStyles = css`
179
179
  ================================================================ */
180
180
  `
181
181
 
182
- /**
183
- * Surface fill styles - dimension control
184
- */
185
- export const surfaceFillStyles = css`
186
- :host([fill='all']) {
187
- height: 100%;
188
- width: 100%;
189
- }
190
- :host([fill='width']) {
191
- width: 100%;
192
- }
193
- :host([fill='height']) {
194
- height: 100%;
195
- }
196
- `
197
-
198
182
  /**
199
183
  * Surface rounded corner styles
200
184
  */
@@ -283,7 +267,6 @@ export const surfaceClickableStyles = css`
283
267
  */
284
268
  export const surfaceStyles = css`
285
269
  ${surfaceTypeStyles}
286
- ${surfaceFillStyles}
287
270
  ${surfaceRoundedStyles}
288
271
  ${surfaceElevationStyles}
289
272
  ${surfaceClickableStyles}
@@ -7,16 +7,14 @@ import { customElement, property } from 'lit/decorators.js'
7
7
 
8
8
  export const SchmancySurfaceTypeContext = createContext<TSurfaceColor>('surface')
9
9
 
10
- // Re-export types for backwards compatibility
11
- export type { SchmancySurfaceFill, SchmancySurfaceRounded, SchmancySurfaceElevation } from '@mixins/surface.mixin'
10
+ export type { SchmancySurfaceRounded, SchmancySurfaceElevation } from '@mixins/surface.mixin'
12
11
 
13
12
  /**
14
13
  * `<schmancy-surface>` component
15
14
  *
16
- * This component renders a styled container that adapts its dimensions based on the `fill` property.
17
- * It supports various rounding options, elevation levels, and applies background and text color classes
18
- * based on the specified surface variant. Additionally, when the `scroller` property is true, the component
19
- * enables internal scrolling by applying overflow and scroll-behavior styles.
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.
20
18
  *
21
19
  * SurfaceMixin automatically provides surfaceStyles CSS.
22
20
  *
@@ -24,7 +22,7 @@ export type { SchmancySurfaceFill, SchmancySurfaceRounded, SchmancySurfaceElevat
24
22
  * @slot - Default slot for projecting child content.
25
23
  *
26
24
  * @example
27
- * <schmancy-surface fill="all" rounded="all" elevation="3" type="surfaceBright" scroller>
25
+ * <schmancy-surface class="w-full h-full" rounded="all" elevation="3" type="surfaceBright" scroller>
28
26
  * <p>Your scrollable content here</p>
29
27
  * </schmancy-surface>
30
28
  */
@@ -1,11 +1,9 @@
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 SchmancySurfaceFill = 'all' | 'width' | 'height' | 'auto';
5
4
  export type SchmancySurfaceRounded = 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all';
6
5
  export type SchmancySurfaceElevation = 0 | 1 | 2 | 3 | 4 | 5;
7
6
  export declare class ISurfaceMixin {
8
- fill: SchmancySurfaceFill;
9
7
  rounded: SchmancySurfaceRounded;
10
8
  elevation: SchmancySurfaceElevation;
11
9
  type: TSurfaceColor;
@@ -18,7 +16,6 @@ export declare class ISurfaceMixin {
18
16
  * This is the recommended pattern for mixins that need to add styles.
19
17
  *
20
18
  * Provides these reflected properties:
21
- * - `fill`: 'all' | 'width' | 'height' | 'auto' - Controls element dimensions
22
19
  * - `rounded`: 'none' | 'top' | 'left' | 'right' | 'bottom' | 'all' - Corner rounding
23
20
  * - `elevation`: 0-5 - Shadow depth level
24
21
  * - `type`: TSurfaceColor - Surface color variant (26+ options)
@@ -13,6 +13,7 @@ import { PresetCategory } from './date-range-presets';
13
13
  * @element schmancy-date-range-dialog
14
14
  */
15
15
  export declare class SchmancyDateRangeDialog extends SchmancyElement {
16
+ static styles: import("lit").CSSResult[];
16
17
  type: 'date' | 'datetime-local';
17
18
  dateFrom: {
18
19
  label: string;
@@ -1,5 +1,4 @@
1
1
  import { SchmancyElement } from '@mixins/index';
2
- import { SchmancySurfaceFill } from '@schmancy/surface';
3
2
  import { TSurfaceColor } from '@schmancy/types/surface';
4
3
  /**
5
4
  * `<schmancy-list>` component.
@@ -27,14 +26,6 @@ export declare class List extends SchmancyElement {
27
26
  * @default 'surface'
28
27
  */
29
28
  surface: TSurfaceColor;
30
- /**
31
- * Determines the fill style of the underlying surface.
32
- *
33
- * @attr fill
34
- * @type {SchmancySurfaceFill}
35
- * @default 'auto'
36
- */
37
- fill: SchmancySurfaceFill;
38
29
  /**
39
30
  * Defines the elevation level of the surface.
40
31
  *
@@ -14,6 +14,19 @@ export type LabelVisibility = 'all' | 'selected' | 'none';
14
14
  * Navigation rails provide access to between 3-7 primary destinations with a compact footprint.
15
15
  * Automatically hides in fullscreen mode when triggered via schmancyTheme.next({ fullscreen: true }).
16
16
  *
17
+ * ## Layout composition
18
+ * Place layout utilities directly on the host element. They are forwarded to the
19
+ * items container `<div part="items">` (the direct flat-tree parent of slotted items,
20
+ * placed inside `<schmancy-scroll>`). When no layout utilities are present on the host,
21
+ * the items container defaults to `flex flex-col gap-3` plus the `justify-*` class
22
+ * driven by the `alignment` property.
23
+ *
24
+ * <schmancy-navigation-rail class="grid gap-2">…</schmancy-navigation-rail>
25
+ * → items container <div>: `grid gap-2`
26
+ *
27
+ * <schmancy-navigation-rail>…</schmancy-navigation-rail>
28
+ * → items container <div>: `flex flex-col gap-3 justify-start`
29
+ *
17
30
  * @element schmancy-navigation-rail
18
31
  * @slot fab - Slot for a floating action button at the top
19
32
  * @slot menu - Slot for a menu icon or button below the FAB
@@ -27,7 +40,8 @@ export type LabelVisibility = 'all' | 'selected' | 'none';
27
40
  *
28
41
  * @csspart rail - The main rail container
29
42
  * @csspart header - The header section
30
- * @csspart nav - The navigation items container
43
+ * @csspart nav - The navigation scroll region (contains items)
44
+ * @csspart items - The direct layout container for slotted items (inside schmancy-scroll)
31
45
  * @csspart footer - The footer section
32
46
  *
33
47
  * @example
@@ -89,6 +103,12 @@ export declare class SchmancyNavigationRail extends SchmancyElement {
89
103
  private focusedIndex;
90
104
  private hasHeaderContent;
91
105
  private isFullscreen;
106
+ /**
107
+ * Layout-related classes extracted from the host's `class` attribute.
108
+ * Forwarded verbatim to the inner `<nav>` element.
109
+ * When empty, the nav falls back to the M3 default: `flex flex-col gap-3`.
110
+ */
111
+ private _hostLayoutClasses;
92
112
  private allElements;
93
113
  private get navigationItems();
94
114
  connectedCallback(): void;