@mhmo91/schmancy 0.4.23 → 0.4.32

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 (301) hide show
  1. package/ai/select.md +35 -0
  2. package/ai/sheet.md +486 -87
  3. package/ai/tabs.md +186 -63
  4. package/dist/ai/select.md +35 -0
  5. package/dist/ai/sheet.md +486 -87
  6. package/dist/ai/tabs.md +186 -63
  7. package/dist/{animated-text-Be4toKE0.cjs → animated-text-BitOmeE1.cjs} +2 -2
  8. package/dist/{animated-text-Be4toKE0.cjs.map → animated-text-BitOmeE1.cjs.map} +1 -1
  9. package/dist/{animated-text-CNPSIIYg.js → animated-text-DcLpvyCq.js} +3 -3
  10. package/dist/{animated-text-CNPSIIYg.js.map → animated-text-DcLpvyCq.js.map} +1 -1
  11. package/dist/animated-text.cjs +1 -1
  12. package/dist/animated-text.js +1 -1
  13. package/dist/area.cjs +1 -1
  14. package/dist/{area.component-YKEQV9hc.cjs → area.component-BTLn3oIv.cjs} +2 -2
  15. package/dist/{area.component-YKEQV9hc.cjs.map → area.component-BTLn3oIv.cjs.map} +1 -1
  16. package/dist/{area.component-i-mmh5is.js → area.component-xbNRrst9.js} +3 -3
  17. package/dist/{area.component-i-mmh5is.js.map → area.component-xbNRrst9.js.map} +1 -1
  18. package/dist/area.js +1 -1
  19. package/dist/{autocomplete-EapOt3ES.js → autocomplete-BqRrw118.js} +3 -3
  20. package/dist/{autocomplete-EapOt3ES.js.map → autocomplete-BqRrw118.js.map} +1 -1
  21. package/dist/{autocomplete-C0EU8KiN.cjs → autocomplete-Dvc06UNM.cjs} +2 -2
  22. package/dist/{autocomplete-C0EU8KiN.cjs.map → autocomplete-Dvc06UNM.cjs.map} +1 -1
  23. package/dist/autocomplete.cjs +1 -1
  24. package/dist/autocomplete.js +1 -1
  25. package/dist/{avatar-DzJUPJtZ.js → avatar-CVzlATFH.js} +60 -66
  26. package/dist/avatar-CVzlATFH.js.map +1 -0
  27. package/dist/{avatar-D1ojwes6.cjs → avatar-DIALT_3k.cjs} +12 -18
  28. package/dist/avatar-DIALT_3k.cjs.map +1 -0
  29. package/dist/badge.cjs +1 -1
  30. package/dist/badge.js +1 -1
  31. package/dist/{boat-DPTS3Kpw.js → boat-ByFTBKD2.js} +2 -2
  32. package/dist/{boat-DPTS3Kpw.js.map → boat-ByFTBKD2.js.map} +1 -1
  33. package/dist/{boat-C59hzqZ0.cjs → boat-Dtum9CaN.cjs} +2 -2
  34. package/dist/{boat-C59hzqZ0.cjs.map → boat-Dtum9CaN.cjs.map} +1 -1
  35. package/dist/boat.cjs +1 -1
  36. package/dist/boat.js +1 -1
  37. package/dist/busy.cjs +1 -1
  38. package/dist/busy.js +1 -1
  39. package/dist/button.cjs +1 -1
  40. package/dist/button.js +1 -1
  41. package/dist/card.cjs +1 -1
  42. package/dist/card.js +1 -1
  43. package/dist/{checkbox-C-kjO37F.cjs → checkbox-220X9LTx.cjs} +2 -2
  44. package/dist/{checkbox-C-kjO37F.cjs.map → checkbox-220X9LTx.cjs.map} +1 -1
  45. package/dist/{checkbox-B85eeKqn.js → checkbox-Dq0Lm3AM.js} +2 -2
  46. package/dist/{checkbox-B85eeKqn.js.map → checkbox-Dq0Lm3AM.js.map} +1 -1
  47. package/dist/checkbox.cjs +1 -1
  48. package/dist/checkbox.js +1 -1
  49. package/dist/{chips-BNRMzGrx.js → chips-aRU1fwEV.js} +3 -3
  50. package/dist/{chips-BNRMzGrx.js.map → chips-aRU1fwEV.js.map} +1 -1
  51. package/dist/{chips-DW6y4ZMs.cjs → chips-jORxgpG7.cjs} +2 -2
  52. package/dist/{chips-DW6y4ZMs.cjs.map → chips-jORxgpG7.cjs.map} +1 -1
  53. package/dist/chips.cjs +1 -1
  54. package/dist/chips.js +1 -1
  55. package/dist/{circular-progress-BridvYCS.cjs → circular-progress-DMccmWrI.cjs} +2 -2
  56. package/dist/{circular-progress-BridvYCS.cjs.map → circular-progress-DMccmWrI.cjs.map} +1 -1
  57. package/dist/{circular-progress-Cl_dXUPO.js → circular-progress-Dis30LMa.js} +3 -3
  58. package/dist/{circular-progress-Cl_dXUPO.js.map → circular-progress-Dis30LMa.js.map} +1 -1
  59. package/dist/circular-progress.cjs +1 -1
  60. package/dist/circular-progress.js +1 -1
  61. package/dist/code-highlight.cjs +1 -1
  62. package/dist/code-highlight.js +1 -1
  63. package/dist/{code-preview-B8X7JaxA.js → code-preview-BwIb73Yd.js} +2 -2
  64. package/dist/{code-preview-B8X7JaxA.js.map → code-preview-BwIb73Yd.js.map} +1 -1
  65. package/dist/{code-preview-B0oGIV9F.cjs → code-preview-CCHcWZvS.cjs} +2 -2
  66. package/dist/{code-preview-B0oGIV9F.cjs.map → code-preview-CCHcWZvS.cjs.map} +1 -1
  67. package/dist/components.cjs +1 -1
  68. package/dist/components.js +1 -1
  69. package/dist/content-drawer.cjs +1 -1
  70. package/dist/content-drawer.js +1 -1
  71. package/dist/{date-range-9sVFbxK0.js → date-range-CA_4vjWe.js} +3 -3
  72. package/dist/{date-range-9sVFbxK0.js.map → date-range-CA_4vjWe.js.map} +1 -1
  73. package/dist/{date-range-DqaB9kwM.cjs → date-range-DinaPWK0.cjs} +2 -2
  74. package/dist/{date-range-DqaB9kwM.cjs.map → date-range-DinaPWK0.cjs.map} +1 -1
  75. package/dist/{date-range-inline-DGRKHzTX.cjs → date-range-inline-CGMvaSeh.cjs} +2 -2
  76. package/dist/{date-range-inline-DGRKHzTX.cjs.map → date-range-inline-CGMvaSeh.cjs.map} +1 -1
  77. package/dist/{date-range-inline-Bqnc8wBb.js → date-range-inline-DFjyAvPv.js} +3 -3
  78. package/dist/{date-range-inline-Bqnc8wBb.js.map → date-range-inline-DFjyAvPv.js.map} +1 -1
  79. package/dist/date-range-inline.cjs +1 -1
  80. package/dist/date-range-inline.js +1 -1
  81. package/dist/date-range.cjs +1 -1
  82. package/dist/date-range.js +1 -1
  83. package/dist/{delay-u5isp6Vb.js → delay-BJwsHbg3.js} +2 -2
  84. package/dist/{delay-u5isp6Vb.js.map → delay-BJwsHbg3.js.map} +1 -1
  85. package/dist/{delay-ClP0gwsX.cjs → delay-CHAH30wI.cjs} +2 -2
  86. package/dist/{delay-ClP0gwsX.cjs.map → delay-CHAH30wI.cjs.map} +1 -1
  87. package/dist/delay.cjs +1 -1
  88. package/dist/delay.js +1 -1
  89. package/dist/{dialog-content-CGgHTvcB.cjs → dialog-content-Bp2kwzxD.cjs} +2 -2
  90. package/dist/{dialog-content-CGgHTvcB.cjs.map → dialog-content-Bp2kwzxD.cjs.map} +1 -1
  91. package/dist/{dialog-content-ZpgRQC1m.js → dialog-content-CEZqJRzH.js} +3 -3
  92. package/dist/{dialog-content-ZpgRQC1m.js.map → dialog-content-CEZqJRzH.js.map} +1 -1
  93. package/dist/dialog.cjs +1 -1
  94. package/dist/dialog.js +1 -1
  95. package/dist/{divider-CIXGsKd7.cjs → divider-BEVgt1wl.cjs} +2 -2
  96. package/dist/{divider-CIXGsKd7.cjs.map → divider-BEVgt1wl.cjs.map} +1 -1
  97. package/dist/{divider-BK4PNB76.js → divider-DfetUf4S.js} +3 -3
  98. package/dist/{divider-BK4PNB76.js.map → divider-DfetUf4S.js.map} +1 -1
  99. package/dist/divider.cjs +1 -1
  100. package/dist/divider.js +1 -1
  101. package/dist/{dropdown-content-CeYUqD56.cjs → dropdown-content-CERnSXjI.cjs} +2 -2
  102. package/dist/{dropdown-content-CeYUqD56.cjs.map → dropdown-content-CERnSXjI.cjs.map} +1 -1
  103. package/dist/{dropdown-content-DbHKYDCS.js → dropdown-content-TJmZ3rpA.js} +3 -3
  104. package/dist/{dropdown-content-DbHKYDCS.js.map → dropdown-content-TJmZ3rpA.js.map} +1 -1
  105. package/dist/dropdown.cjs +1 -1
  106. package/dist/dropdown.js +1 -1
  107. package/dist/extra.cjs +1 -1
  108. package/dist/extra.js +1 -1
  109. package/dist/{flex-Dub7SPI7.cjs → flex-ByanQCYb.cjs} +2 -2
  110. package/dist/{flex-Dub7SPI7.cjs.map → flex-ByanQCYb.cjs.map} +1 -1
  111. package/dist/{flex-JcwYdb2G.js → flex-CXMNh-nH.js} +2 -2
  112. package/dist/{flex-JcwYdb2G.js.map → flex-CXMNh-nH.js.map} +1 -1
  113. package/dist/{form-CMv0SQko.js → form-Boc5Pqhf.js} +2 -2
  114. package/dist/{form-CMv0SQko.js.map → form-Boc5Pqhf.js.map} +1 -1
  115. package/dist/{form-DKF6UgIS.cjs → form-lhQx_Ry0.cjs} +2 -2
  116. package/dist/{form-DKF6UgIS.cjs.map → form-lhQx_Ry0.cjs.map} +1 -1
  117. package/dist/form.cjs +1 -1
  118. package/dist/form.js +1 -1
  119. package/dist/{formField.mixin-D0GeY28y.js → formField.mixin-CX7_nvVy.js} +2 -2
  120. package/dist/{formField.mixin-D0GeY28y.js.map → formField.mixin-CX7_nvVy.js.map} +1 -1
  121. package/dist/{formField.mixin-BrHllh45.cjs → formField.mixin-DhiLSVHT.cjs} +2 -2
  122. package/dist/{formField.mixin-BrHllh45.cjs.map → formField.mixin-DhiLSVHT.cjs.map} +1 -1
  123. package/dist/{icon--s5dpU1N.js → icon-BZw88sCH.js} +2 -2
  124. package/dist/{icon--s5dpU1N.js.map → icon-BZw88sCH.js.map} +1 -1
  125. package/dist/{icon-CJe2TSk1.cjs → icon-D1qw18N6.cjs} +2 -2
  126. package/dist/{icon-CJe2TSk1.cjs.map → icon-D1qw18N6.cjs.map} +1 -1
  127. package/dist/{icon-button-x5uqpaeg.cjs → icon-button-DBvZApEC.cjs} +2 -2
  128. package/dist/{icon-button-x5uqpaeg.cjs.map → icon-button-DBvZApEC.cjs.map} +1 -1
  129. package/dist/{icon-button-Ckd9jE-a.js → icon-button-TbwQrO1b.js} +3 -3
  130. package/dist/{icon-button-Ckd9jE-a.js.map → icon-button-TbwQrO1b.js.map} +1 -1
  131. package/dist/icons.cjs +1 -1
  132. package/dist/icons.js +1 -1
  133. package/dist/index.cjs +1 -1
  134. package/dist/index.js +112 -112
  135. package/dist/{input-DHNBYBq4.js → input-BUtEXu3y.js} +3 -3
  136. package/dist/{input-DHNBYBq4.js.map → input-BUtEXu3y.js.map} +1 -1
  137. package/dist/{input-BN9xQTH0.cjs → input-C0F9cNoD.cjs} +2 -2
  138. package/dist/{input-BN9xQTH0.cjs.map → input-C0F9cNoD.cjs.map} +1 -1
  139. package/dist/input.cjs +1 -1
  140. package/dist/input.js +1 -1
  141. package/dist/layout.cjs +1 -1
  142. package/dist/layout.js +1 -1
  143. package/dist/{list-rGydduh7.js → list-BCD8h2Do.js} +2 -2
  144. package/dist/{list-rGydduh7.js.map → list-BCD8h2Do.js.map} +1 -1
  145. package/dist/{list-DZAZpM5m.cjs → list-Bz6tq7ZP.cjs} +2 -2
  146. package/dist/{list-DZAZpM5m.cjs.map → list-Bz6tq7ZP.cjs.map} +1 -1
  147. package/dist/list.cjs +1 -1
  148. package/dist/list.js +1 -1
  149. package/dist/{litElement.mixin-B1eYYBf4.cjs → litElement.mixin-CII9bbap.cjs} +2 -2
  150. package/dist/{litElement.mixin-B1eYYBf4.cjs.map → litElement.mixin-CII9bbap.cjs.map} +1 -1
  151. package/dist/{litElement.mixin-Cq-COufw.js → litElement.mixin-DGeprHKB.js} +2 -2
  152. package/dist/{litElement.mixin-Cq-COufw.js.map → litElement.mixin-DGeprHKB.js.map} +1 -1
  153. package/dist/{media-hg61JS4R.cjs → media-CBLuAmNZ.cjs} +2 -2
  154. package/dist/{media-hg61JS4R.cjs.map → media-CBLuAmNZ.cjs.map} +1 -1
  155. package/dist/{media-DHgb7H9L.js → media-D6ba0wB1.js} +2 -2
  156. package/dist/{media-DHgb7H9L.js.map → media-D6ba0wB1.js.map} +1 -1
  157. package/dist/{menu-D5aDG-Rp.cjs → menu-BDQr8EZ1.cjs} +2 -2
  158. package/dist/{menu-D5aDG-Rp.cjs.map → menu-BDQr8EZ1.cjs.map} +1 -1
  159. package/dist/{menu-DvZSvoOx.js → menu-C0SauakY.js} +3 -3
  160. package/dist/{menu-DvZSvoOx.js.map → menu-C0SauakY.js.map} +1 -1
  161. package/dist/menu.cjs +1 -1
  162. package/dist/menu.js +1 -1
  163. package/dist/nav-drawer.cjs +1 -1
  164. package/dist/nav-drawer.js +1 -1
  165. package/dist/{notification-service-BzzXjm4l.cjs → notification-service-B1f848tO.cjs} +2 -2
  166. package/dist/{notification-service-BzzXjm4l.cjs.map → notification-service-B1f848tO.cjs.map} +1 -1
  167. package/dist/{notification-service-DKHubhXv.js → notification-service-X8mRASdk.js} +3 -3
  168. package/dist/{notification-service-DKHubhXv.js.map → notification-service-X8mRASdk.js.map} +1 -1
  169. package/dist/notification.cjs +1 -1
  170. package/dist/notification.js +1 -1
  171. package/dist/{option-T6zGawbH.js → option-DVlCqux7.js} +2 -2
  172. package/dist/{option-T6zGawbH.js.map → option-DVlCqux7.js.map} +1 -1
  173. package/dist/{option-DqN5-RK7.cjs → option-ckV22mLf.cjs} +2 -2
  174. package/dist/{option-DqN5-RK7.cjs.map → option-ckV22mLf.cjs.map} +1 -1
  175. package/dist/option.cjs +1 -1
  176. package/dist/option.js +1 -1
  177. package/dist/{payment-card-form-C42icpX4.cjs → payment-card-form-BUsPCZPp.cjs} +2 -2
  178. package/dist/{payment-card-form-C42icpX4.cjs.map → payment-card-form-BUsPCZPp.cjs.map} +1 -1
  179. package/dist/{payment-card-form-GEOaUypQ.js → payment-card-form-D7PV8spa.js} +3 -3
  180. package/dist/{payment-card-form-GEOaUypQ.js.map → payment-card-form-D7PV8spa.js.map} +1 -1
  181. package/dist/{progress-EL16etnw.js → progress-BZ6AFT0f.js} +2 -2
  182. package/dist/{progress-EL16etnw.js.map → progress-BZ6AFT0f.js.map} +1 -1
  183. package/dist/{progress-CL35MIi9.cjs → progress-CABg45XF.cjs} +2 -2
  184. package/dist/{progress-CL35MIi9.cjs.map → progress-CABg45XF.cjs.map} +1 -1
  185. package/dist/progress.cjs +1 -1
  186. package/dist/progress.js +1 -1
  187. package/dist/{radio-button-BQ7snEVj.js → radio-button-D4Y1bWGN.js} +3 -3
  188. package/dist/{radio-button-BQ7snEVj.js.map → radio-button-D4Y1bWGN.js.map} +1 -1
  189. package/dist/{radio-button-DrSJB4B-.cjs → radio-button-DQ4VclEZ.cjs} +2 -2
  190. package/dist/{radio-button-DrSJB4B-.cjs.map → radio-button-DQ4VclEZ.cjs.map} +1 -1
  191. package/dist/radio-group.cjs +1 -1
  192. package/dist/radio-group.js +1 -1
  193. package/dist/{schmancy-steps-container-2WW-9LYL.js → schmancy-steps-container-BskkdQwD.js} +2 -2
  194. package/dist/{schmancy-steps-container-2WW-9LYL.js.map → schmancy-steps-container-BskkdQwD.js.map} +1 -1
  195. package/dist/{schmancy-steps-container-C_HHZFeb.cjs → schmancy-steps-container-CZ0upElE.cjs} +2 -2
  196. package/dist/{schmancy-steps-container-C_HHZFeb.cjs.map → schmancy-steps-container-CZ0upElE.cjs.map} +1 -1
  197. package/dist/select-DfQogfes.cjs +57 -0
  198. package/dist/{select-Bl8FO2kb.js.map → select-DfQogfes.cjs.map} +1 -1
  199. package/dist/{select-Bl8FO2kb.js → select-wui4bIUE.js} +23 -20
  200. package/dist/select-wui4bIUE.js.map +1 -0
  201. package/dist/select.cjs +1 -1
  202. package/dist/select.js +3 -2
  203. package/dist/{selector-hook-DPe2CGKx.js → selector-hook-DL0SIQiY.js} +16 -16
  204. package/dist/{selector-hook-DPe2CGKx.js.map → selector-hook-DL0SIQiY.js.map} +1 -1
  205. package/dist/{sheet-CdcA_ZIk.js → sheet-BGuqw1NG.js} +4 -4
  206. package/dist/{sheet-CdcA_ZIk.js.map → sheet-BGuqw1NG.js.map} +1 -1
  207. package/dist/{sheet-BVr3bq9r.cjs → sheet-DlLj6OeU.cjs} +2 -2
  208. package/dist/{sheet-BVr3bq9r.cjs.map → sheet-DlLj6OeU.cjs.map} +1 -1
  209. package/dist/sheet.cjs +1 -1
  210. package/dist/sheet.js +2 -2
  211. package/dist/{sheet.service-D_jE8pUg.cjs → sheet.service-DQQ44gXD.cjs} +3 -3
  212. package/dist/{sheet.service-D_jE8pUg.cjs.map → sheet.service-DQQ44gXD.cjs.map} +1 -1
  213. package/dist/{sheet.service-CKznL-dB.js → sheet.service-Dm2r1_ji.js} +102 -109
  214. package/dist/{sheet.service-CKznL-dB.js.map → sheet.service-Dm2r1_ji.js.map} +1 -1
  215. package/dist/{slider-DX-XUnE-.cjs → slider-C2oEvRAS.cjs} +2 -2
  216. package/dist/{slider-DX-XUnE-.cjs.map → slider-C2oEvRAS.cjs.map} +1 -1
  217. package/dist/{slider-4ggti1yr.js → slider-Dwm1KfNL.js} +3 -3
  218. package/dist/{slider-4ggti1yr.js.map → slider-Dwm1KfNL.js.map} +1 -1
  219. package/dist/slider.cjs +1 -1
  220. package/dist/slider.js +1 -1
  221. package/dist/{spinner-BPqLh7JL.js → spinner-Bh6XkC88.js} +2 -2
  222. package/dist/{spinner-BPqLh7JL.js.map → spinner-Bh6XkC88.js.map} +1 -1
  223. package/dist/{spinner-Cq8tY2xk.cjs → spinner-DKgZemVU.cjs} +2 -2
  224. package/dist/{spinner-Cq8tY2xk.cjs.map → spinner-DKgZemVU.cjs.map} +1 -1
  225. package/dist/steps.cjs +1 -1
  226. package/dist/steps.js +1 -1
  227. package/dist/store.js +1 -1
  228. package/dist/{surface-YyZ8eXfj.cjs → surface-DIIUamff.cjs} +2 -2
  229. package/dist/{surface-YyZ8eXfj.cjs.map → surface-DIIUamff.cjs.map} +1 -1
  230. package/dist/{surface-1xboRERM.js → surface-DhiuAGb8.js} +2 -2
  231. package/dist/{surface-1xboRERM.js.map → surface-DhiuAGb8.js.map} +1 -1
  232. package/dist/surface.cjs +1 -1
  233. package/dist/surface.js +1 -1
  234. package/dist/{table-DpXmflf7.cjs → table-BrAoSQhN.cjs} +2 -2
  235. package/dist/{table-DpXmflf7.cjs.map → table-BrAoSQhN.cjs.map} +1 -1
  236. package/dist/{table-C6EWKqDY.js → table-DSZ9kmUG.js} +2 -2
  237. package/dist/{table-C6EWKqDY.js.map → table-DSZ9kmUG.js.map} +1 -1
  238. package/dist/table.cjs +1 -1
  239. package/dist/table.js +1 -1
  240. package/dist/{tabs-compatibility-AFzKAP2D.js → tabs-compatibility-B7aJnQ0X.js} +2 -2
  241. package/dist/{tabs-compatibility-AFzKAP2D.js.map → tabs-compatibility-B7aJnQ0X.js.map} +1 -1
  242. package/dist/{tabs-compatibility-ThgWuSrK.cjs → tabs-compatibility-Ck74XeID.cjs} +2 -2
  243. package/dist/{tabs-compatibility-ThgWuSrK.cjs.map → tabs-compatibility-Ck74XeID.cjs.map} +1 -1
  244. package/dist/tabs.cjs +1 -1
  245. package/dist/tabs.js +1 -1
  246. package/dist/tailwind.mixin-CBu1BEQZ.cjs +2 -0
  247. package/dist/{tailwind.mixin-DNME2oUL.cjs.map → tailwind.mixin-CBu1BEQZ.cjs.map} +1 -1
  248. package/dist/tailwind.mixin-DWhCm94g.js +43 -0
  249. package/dist/{tailwind.mixin-epCxS6FK.js.map → tailwind.mixin-DWhCm94g.js.map} +1 -1
  250. package/dist/teleport.cjs +1 -1
  251. package/dist/teleport.js +1 -1
  252. package/dist/{textarea-JO7OVdfk.js → textarea-Bq0XdGaH.js} +2 -2
  253. package/dist/{textarea-JO7OVdfk.js.map → textarea-Bq0XdGaH.js.map} +1 -1
  254. package/dist/{textarea-B_TlKSop.cjs → textarea-CGTMdhoF.cjs} +2 -2
  255. package/dist/{textarea-B_TlKSop.cjs.map → textarea-CGTMdhoF.cjs.map} +1 -1
  256. package/dist/textarea.cjs +1 -1
  257. package/dist/textarea.js +1 -1
  258. package/dist/{theme-button-DnrKANEK.cjs → theme-button-CznhJ8g_.cjs} +2 -2
  259. package/dist/{theme-button-DnrKANEK.cjs.map → theme-button-CznhJ8g_.cjs.map} +1 -1
  260. package/dist/{theme-button-C8cK7un6.js → theme-button-DYoygmRA.js} +2 -2
  261. package/dist/{theme-button-C8cK7un6.js.map → theme-button-DYoygmRA.js.map} +1 -1
  262. package/dist/theme-button.cjs +1 -1
  263. package/dist/theme-button.js +1 -1
  264. package/dist/theme.cjs +1 -1
  265. package/dist/theme.js +1 -1
  266. package/dist/{timezone-C56jMhLK.cjs → timezone-BCGcdasU.cjs} +2 -2
  267. package/dist/{timezone-C56jMhLK.cjs.map → timezone-BCGcdasU.cjs.map} +1 -1
  268. package/dist/{timezone-CEEEd-9_.js → timezone-Co7gqqQt.js} +3 -3
  269. package/dist/{timezone-CEEEd-9_.js.map → timezone-Co7gqqQt.js.map} +1 -1
  270. package/dist/{tooltip-twQMYpmk.cjs → tooltip-Bqa0D34J.cjs} +2 -2
  271. package/dist/{tooltip-twQMYpmk.cjs.map → tooltip-Bqa0D34J.cjs.map} +1 -1
  272. package/dist/{tooltip-CnuYee5c.js → tooltip-DBuaAFmK.js} +2 -2
  273. package/dist/{tooltip-CnuYee5c.js.map → tooltip-DBuaAFmK.js.map} +1 -1
  274. package/dist/tooltip.cjs +1 -1
  275. package/dist/tooltip.js +1 -1
  276. package/dist/{tree-Dv5R6kdP.cjs → tree-CFeXYaJy.cjs} +2 -2
  277. package/dist/{tree-Dv5R6kdP.cjs.map → tree-CFeXYaJy.cjs.map} +1 -1
  278. package/dist/{tree-CfnCGGn7.js → tree-CfE695gp.js} +2 -2
  279. package/dist/{tree-CfnCGGn7.js.map → tree-CfE695gp.js.map} +1 -1
  280. package/dist/tree.cjs +1 -1
  281. package/dist/tree.js +1 -1
  282. package/dist/{typewriter-egr1HiFJ.cjs → typewriter-B6Jb22Pe.cjs} +2 -2
  283. package/dist/{typewriter-egr1HiFJ.cjs.map → typewriter-B6Jb22Pe.cjs.map} +1 -1
  284. package/dist/{typewriter-DAxRjeRy.js → typewriter-BZ_adVXB.js} +4 -4
  285. package/dist/{typewriter-DAxRjeRy.js.map → typewriter-BZ_adVXB.js.map} +1 -1
  286. package/dist/typewriter.cjs +1 -1
  287. package/dist/typewriter.js +1 -1
  288. package/dist/{typography-De5UXL0j.js → typography-DI5RXpWs.js} +2 -2
  289. package/dist/{typography-De5UXL0j.js.map → typography-DI5RXpWs.js.map} +1 -1
  290. package/dist/{typography-DVZ2ezpU.cjs → typography-DvVeO1a_.cjs} +2 -2
  291. package/dist/{typography-DVZ2ezpU.cjs.map → typography-DvVeO1a_.cjs.map} +1 -1
  292. package/dist/typography.cjs +1 -1
  293. package/dist/typography.js +1 -1
  294. package/package.json +1 -1
  295. package/types/src/sheet/sheet.service.d.ts +3 -1
  296. package/dist/avatar-D1ojwes6.cjs.map +0 -1
  297. package/dist/avatar-DzJUPJtZ.js.map +0 -1
  298. package/dist/select-BHRtVoTo.cjs +0 -56
  299. package/dist/select-BHRtVoTo.cjs.map +0 -1
  300. package/dist/tailwind.mixin-DNME2oUL.cjs +0 -2
  301. package/dist/tailwind.mixin-epCxS6FK.js +0 -43
package/dist/ai/sheet.md CHANGED
@@ -1,122 +1,521 @@
1
1
  # Schmancy Sheet - AI Reference
2
2
 
3
+ The sheet component provides a sliding panel overlay that can be used for forms, details views, or any content that needs to be displayed in a drawer-style interface.
4
+
5
+ **Important Note about Templates**: The sheet service now only accepts HTMLElement components. If you're using Lit's `html` template literals, you need to either:
6
+ 1. Create a wrapper element and use innerHTML (for simple content)
7
+ 2. Create a custom element class (for complex interactions)
8
+ 3. Use the `render` function from Lit to render into a container element
9
+
3
10
  ```js
4
- // Sheet Service API
5
- import { $sheet } from 'schmancy';
11
+ // Import Options
12
+ import { sheet } from '@mhmo91/schmancy'; // Legacy import
13
+ import { $sheet } from '@mhmo91/schmancy'; // New recommended import
6
14
 
7
- // Open a sheet
15
+ // Sheet Service API
8
16
  $sheet.open({
9
- title?: string,
10
- content: TemplateResult|HTMLElement|Function,
11
- width?: string|number, // default "600px"
12
- height?: string|number, // default "auto"
13
- position?: 'right'|'left'|'bottom'|'top', // default "right"
14
- closable?: boolean, // default true
15
- backdrop?: boolean, // default false
16
- onClose?: Function,
17
- hooks?: {
18
- beforeOpen?: Function,
19
- afterOpen?: Function,
20
- beforeClose?: Function,
21
- afterClose?: Function
22
- }
23
- }) -> SheetRef
17
+ component: HTMLElement, // Content to display (must be an HTMLElement)
18
+ uid?: string, // Unique identifier for the sheet
19
+ position?: 'side' | 'bottom', // Position (default: responsive based on screen size)
20
+ persist?: boolean, // Keep sheet in DOM after closing (default: false)
21
+ close?: () => void, // Callback when sheet closes
22
+ lock?: boolean, // Prevent dismissal via ESC/overlay click (default: false)
23
+ handleHistory?: boolean, // Integrate with browser back button (default: true)
24
+ title?: string, // Sheet title
25
+ header?: 'hidden' | 'visible' // Header visibility (default: 'visible')
26
+ }) -> void
24
27
 
25
- // SheetRef object
26
- {
27
- close(): Promise<void>, // Programmatically close the sheet
28
- id: string, // Unique ID of the sheet
29
- element: HTMLElement // The sheet element
30
- }
28
+ // Service Methods
29
+ $sheet.dismiss(uid?: string) // Close specific sheet or most recent if no uid
30
+ $sheet.isOpen(uid: string) // Check if a sheet is open
31
+ $sheet.closeAll() // Close all open sheets
31
32
 
32
- // Sheet Component
33
+ // Position Enum
34
+ SchmancySheetPosition.Side // Side panel (desktop)
35
+ SchmancySheetPosition.Bottom // Bottom sheet (mobile)
36
+
37
+ // Sheet Component (Direct Usage)
33
38
  <schmancy-sheet
39
+ uid="unique-id"
40
+ position="side|bottom"
41
+ open?
42
+ persist?
43
+ lock?
44
+ handleHistory?
34
45
  title="Sheet Title"
35
- position="right|left|bottom|top"
36
- width="600px"
37
- height="auto"
38
- closable?
39
- backdrop?
46
+ header="visible|hidden"
40
47
  @close=${handleClose}>
41
48
 
42
- <div slot="header">
43
- <!-- Custom header content -->
44
- </div>
45
-
46
- <!-- Main content -->
49
+ <!-- Main content goes in default slot -->
47
50
  <div>Sheet content goes here</div>
48
-
49
- <div slot="footer">
50
- <!-- Footer content -->
51
- <schmancy-button @click=${closeSheet}>Close</schmancy-button>
52
- </div>
53
51
  </schmancy-sheet>
54
52
 
55
53
  // Sheet Header Component
56
54
  <schmancy-sheet-header
57
55
  title="Sheet Title"
58
- closable?
59
56
  @close=${handleClose}>
60
- <!-- Optional additional header content -->
57
+ <schmancy-icon-button slot="trailing">more_vert</schmancy-icon-button>
61
58
  </schmancy-sheet-header>
62
59
 
63
- // Sheet Hook (for programmatic usage)
64
- const [openSheet, SheetComponent] = useSheet({
65
- title: "Sheet Title",
66
- content: () => html`<div>Sheet content</div>`,
67
- position: "right"
60
+ // Examples
61
+
62
+ // 1. Basic Sheet with Form - Using a wrapper element for template content
63
+ const formContent = document.createElement('div');
64
+ formContent.className = 'p-6';
65
+ formContent.innerHTML = `
66
+ <schmancy-typography type="headline" token="md" class="mb-4">
67
+ User Details
68
+ </schmancy-typography>
69
+ <schmancy-form>
70
+ <schmancy-input label="Name" value="John Doe"></schmancy-input>
71
+ <schmancy-input label="Email" value="john@example.com"></schmancy-input>
72
+ <schmancy-button type="submit">Save</schmancy-button>
73
+ </schmancy-form>
74
+ `;
75
+
76
+ $sheet.open({
77
+ component: formContent,
78
+ title: "Edit User"
68
79
  });
69
80
 
70
- // Examples
71
- // Basic usage
81
+ // 2. Using HTMLElement Component
82
+ const myComponent = document.createElement('my-custom-element');
83
+ $sheet.open({
84
+ component: myComponent,
85
+ uid: 'my-custom-element', // Will reuse existing sheet if already open
86
+ persist: true, // Keep in DOM after closing
87
+ title: "Custom Component"
88
+ });
89
+
90
+ // 3. Sheet with Lock (using Lit render for interactive content)
91
+ import { render, html } from 'lit';
92
+
93
+ const lockContent = document.createElement('div');
94
+ render(html`
95
+ <div class="p-6">
96
+ <schmancy-typography type="body" token="lg">
97
+ This action requires confirmation. Please complete the form.
98
+ </schmancy-typography>
99
+ <schmancy-button @click=${() => $sheet.dismiss()}>
100
+ Complete Action
101
+ </schmancy-button>
102
+ </div>
103
+ `, lockContent);
104
+
105
+ $sheet.open({
106
+ component: lockContent,
107
+ lock: true,
108
+ title: "Required Action"
109
+ });
110
+
111
+ // 4. Bottom Sheet (Mobile Pattern)
112
+ $sheet.open({
113
+ component: html`
114
+ <schmancy-list>
115
+ <schmancy-list-item @click=${() => handleShare('email')}>
116
+ <schmancy-icon slot="start">email</schmancy-icon>
117
+ Share via Email
118
+ </schmancy-list-item>
119
+ <schmancy-list-item @click=${() => handleShare('link')}>
120
+ <schmancy-icon slot="start">link</schmancy-icon>
121
+ Copy Link
122
+ </schmancy-list-item>
123
+ </schmancy-list>
124
+ `,
125
+ position: 'bottom',
126
+ title: "Share"
127
+ });
128
+
129
+ // 5. Programmatic Control
130
+ // Open a sheet and store reference
131
+ const uid = 'settings-sheet';
132
+ $sheet.open({
133
+ component: html`<settings-panel></settings-panel>`,
134
+ uid: uid,
135
+ title: "Settings"
136
+ });
137
+
138
+ // Check if open
139
+ if ($sheet.isOpen(uid)) {
140
+ console.log('Settings sheet is open');
141
+ }
142
+
143
+ // Close specific sheet
144
+ $sheet.dismiss(uid);
145
+
146
+ // Close all sheets
147
+ $sheet.closeAll();
148
+
149
+ // 6. Sheet with Custom Close Handler
72
150
  $sheet.open({
73
- title: "User Details",
74
- content: html`
75
- <div>
76
- <schmancy-form>
77
- <schmancy-input label="Name" value="John Doe"></schmancy-input>
78
- <schmancy-input label="Email" value="john@example.com"></schmancy-input>
151
+ component: html`
152
+ <div class="p-6">
153
+ <schmancy-form @submit=${async (e) => {
154
+ const values = e.detail.values;
155
+ await saveData(values);
156
+ $sheet.dismiss(); // Close after save
157
+ }}>
158
+ <schmancy-input name="title" label="Title" required></schmancy-input>
159
+ <schmancy-textarea name="description" label="Description"></schmancy-textarea>
160
+ <div class="flex gap-2 mt-4">
161
+ <schmancy-button type="submit">Save</schmancy-button>
162
+ <schmancy-button type="button" variant="text" @click=${() => $sheet.dismiss()}>
163
+ Cancel
164
+ </schmancy-button>
165
+ </div>
79
166
  </schmancy-form>
80
167
  </div>
81
168
  `,
82
- onClose: () => console.log("Sheet closed")
169
+ title: "New Item",
170
+ close: () => {
171
+ // Optional cleanup when sheet closes
172
+ console.log('Sheet closed');
173
+ }
83
174
  });
84
175
 
85
- // Using with form submission
86
- const sheetRef = $sheet.open({
87
- title: "Add User",
88
- content: html`
89
- <schmancy-form @submit=${(e) => {
90
- const values = e.detail.values;
91
- saveUser(values);
92
- sheetRef.close();
93
- }}>
94
- <schmancy-input name="name" label="Name" required></schmancy-input>
95
- <schmancy-input name="email" label="Email" required></schmancy-input>
96
-
97
- <div slot="footer">
98
- <schmancy-button type="submit">Save</schmancy-button>
99
- <schmancy-button kind="secondary" @click=${() => sheetRef.close()}>Cancel</schmancy-button>
176
+ // 7. Responsive Sheet (auto-adjusts position)
177
+ $sheet.open({
178
+ component: html`<product-details .product=${product}></product-details>`,
179
+ // Position will be 'side' on desktop, 'bottom' on mobile
180
+ title: "Product Details"
181
+ });
182
+
183
+ // 8. No Browser History Integration
184
+ $sheet.open({
185
+ component: html`<quick-actions></quick-actions>`,
186
+ handleHistory: false, // Won't add to browser history
187
+ title: "Quick Actions"
188
+ });
189
+
190
+ // 9. Hidden Header
191
+ $sheet.open({
192
+ component: html`
193
+ <div class="p-4">
194
+ <div class="flex justify-between items-center mb-4">
195
+ <schmancy-typography type="headline" token="sm">Custom Header</schmancy-typography>
196
+ <schmancy-icon-button @click=${() => $sheet.dismiss()}>close</schmancy-icon-button>
100
197
  </div>
101
- </schmancy-form>
102
- `
198
+ <div>Content with custom header layout</div>
199
+ </div>
200
+ `,
201
+ header: 'hidden' // Hide default header
103
202
  });
104
203
 
105
- // Using the sheet component directly
106
- <schmancy-sheet
107
- title="Settings"
108
- position="right"
109
- width="400px"
110
- @close=${() => this.sheetOpen = false}>
204
+ // 10. Sheet with Loading State
205
+ class ProductEditor extends LitElement {
206
+ @state() loading = false;
111
207
 
112
- <div>
113
- <h3>Preferences</h3>
114
- <schmancy-checkbox label="Enable notifications"></schmancy-checkbox>
115
- <schmancy-checkbox label="Dark mode"></schmancy-checkbox>
116
- </div>
208
+ async saveProduct(values) {
209
+ this.loading = true;
210
+ try {
211
+ await api.saveProduct(values);
212
+ $sheet.dismiss();
213
+ } finally {
214
+ this.loading = false;
215
+ }
216
+ }
217
+
218
+ render() {
219
+ return html`
220
+ <schmancy-form @submit=${(e) => this.saveProduct(e.detail.values)}>
221
+ <schmancy-input name="name" label="Product Name" required></schmancy-input>
222
+ <schmancy-input name="price" label="Price" type="number" required></schmancy-input>
223
+ <schmancy-button type="submit" .loading=${this.loading}>
224
+ Save Product
225
+ </schmancy-button>
226
+ </schmancy-form>
227
+ `;
228
+ }
229
+ }
230
+
231
+ $sheet.open({
232
+ component: new ProductEditor(),
233
+ uid: 'product-editor',
234
+ title: "Edit Product"
235
+ });
236
+
237
+ // 11. Nested Sheets
238
+ $sheet.open({
239
+ component: html`
240
+ <div class="p-6">
241
+ <schmancy-button @click=${() => {
242
+ // Open another sheet on top
243
+ $sheet.open({
244
+ component: html`<color-picker @select=${(e) => {
245
+ selectedColor = e.detail.color;
246
+ $sheet.dismiss('color-picker');
247
+ }}></color-picker>`,
248
+ uid: 'color-picker',
249
+ title: "Choose Color"
250
+ });
251
+ }}>
252
+ Select Color
253
+ </schmancy-button>
254
+ </div>
255
+ `,
256
+ uid: 'main-settings',
257
+ title: "Settings"
258
+ });
259
+
260
+ // Advanced Patterns
261
+
262
+ // Pattern: Confirmation Sheet
263
+ function confirmAction(message, onConfirm) {
264
+ $sheet.open({
265
+ component: html`
266
+ <div class="p-6">
267
+ <schmancy-typography type="body" token="lg" class="mb-4">
268
+ ${message}
269
+ </schmancy-typography>
270
+ <div class="flex gap-2 justify-end">
271
+ <schmancy-button variant="text" @click=${() => $sheet.dismiss()}>
272
+ Cancel
273
+ </schmancy-button>
274
+ <schmancy-button variant="filled" @click=${() => {
275
+ onConfirm();
276
+ $sheet.dismiss();
277
+ }}>
278
+ Confirm
279
+ </schmancy-button>
280
+ </div>
281
+ </div>
282
+ `,
283
+ lock: true,
284
+ position: 'bottom',
285
+ title: "Confirm Action"
286
+ });
287
+ }
288
+
289
+ // Pattern: Form Sheet with Validation
290
+ class FormSheet extends LitElement {
291
+ @state() errors = {};
292
+
293
+ async handleSubmit(e) {
294
+ const values = e.detail.values;
295
+
296
+ // Validate
297
+ this.errors = this.validate(values);
298
+ if (Object.keys(this.errors).length > 0) {
299
+ e.preventDefault();
300
+ return;
301
+ }
302
+
303
+ // Save and close
304
+ await this.save(values);
305
+ $sheet.dismiss();
306
+ }
307
+
308
+ render() {
309
+ return html`
310
+ <schmancy-form @submit=${this.handleSubmit}>
311
+ <schmancy-input
312
+ name="email"
313
+ label="Email"
314
+ type="email"
315
+ .error=${this.errors.email}
316
+ required>
317
+ </schmancy-input>
318
+ <!-- More fields -->
319
+ </schmancy-form>
320
+ `;
321
+ }
322
+ }
323
+
324
+ // Pattern: Wizard/Multi-step Sheet
325
+ class WizardSheet extends LitElement {
326
+ @state() currentStep = 0;
327
+ steps = ['Basic Info', 'Details', 'Review'];
328
+
329
+ nextStep() {
330
+ if (this.currentStep < this.steps.length - 1) {
331
+ this.currentStep++;
332
+ }
333
+ }
334
+
335
+ prevStep() {
336
+ if (this.currentStep > 0) {
337
+ this.currentStep--;
338
+ }
339
+ }
340
+
341
+ render() {
342
+ return html`
343
+ <div class="p-6">
344
+ <schmancy-steps .items=${this.steps} .current=${this.currentStep}></schmancy-steps>
345
+
346
+ <div class="mt-6">
347
+ ${this.renderStep()}
348
+ </div>
349
+
350
+ <div class="flex justify-between mt-6">
351
+ <schmancy-button
352
+ variant="text"
353
+ @click=${this.prevStep}
354
+ ?disabled=${this.currentStep === 0}>
355
+ Previous
356
+ </schmancy-button>
357
+ <schmancy-button
358
+ @click=${this.currentStep === this.steps.length - 1 ? this.submit : this.nextStep}>
359
+ ${this.currentStep === this.steps.length - 1 ? 'Submit' : 'Next'}
360
+ </schmancy-button>
361
+ </div>
362
+ </div>
363
+ `;
364
+ }
365
+ }
366
+
367
+ // Template Handling Patterns
368
+
369
+ // Pattern 1: Simple content with innerHTML
370
+ function openSimpleSheet(content) {
371
+ const wrapper = document.createElement('div');
372
+ wrapper.innerHTML = content;
373
+ $sheet.open({ component: wrapper, title: "Simple Sheet" });
374
+ }
375
+
376
+ // Pattern 2: Using Lit's render for reactive content
377
+ function openReactiveSheet() {
378
+ const container = document.createElement('div');
379
+ const state = { count: 0 };
380
+
381
+ const updateContent = () => {
382
+ render(html`
383
+ <div class="p-6">
384
+ <p>Count: ${state.count}</p>
385
+ <schmancy-button @click=${() => {
386
+ state.count++;
387
+ updateContent(); // Re-render with new state
388
+ }}>
389
+ Increment
390
+ </schmancy-button>
391
+ </div>
392
+ `, container);
393
+ };
394
+
395
+ updateContent();
396
+ $sheet.open({ component: container, title: "Reactive Sheet" });
397
+ }
398
+
399
+ // Pattern 3: Custom Element (Recommended for complex components)
400
+ @customElement('my-sheet-content')
401
+ class MySheetContent extends LitElement {
402
+ @property() data = {};
117
403
 
118
- <div slot="footer">
119
- <schmancy-button @click=${saveSettings}>Save</schmancy-button>
404
+ render() {
405
+ return html`
406
+ <div class="p-6">
407
+ <!-- Your complex component logic here -->
408
+ </div>
409
+ `;
410
+ }
411
+ }
412
+
413
+ const myContent = document.createElement('my-sheet-content');
414
+ myContent.data = { /* your data */ };
415
+ $sheet.open({ component: myContent, title: "Complex Sheet" });
416
+
417
+ // Best Practices
418
+
419
+ // 1. Always provide a title for accessibility
420
+ $sheet.open({
421
+ component: content,
422
+ title: "Descriptive Title" // Required for screen readers
423
+ });
424
+
425
+ // 2. Use uid for singleton sheets
426
+ // Bad: Opens multiple sheets
427
+ button.addEventListener('click', () => {
428
+ $sheet.open({ component: html`<settings-panel></settings-panel>` });
429
+ });
430
+
431
+ // Good: Reuses existing sheet
432
+ button.addEventListener('click', () => {
433
+ $sheet.open({
434
+ component: html`<settings-panel></settings-panel>`,
435
+ uid: 'settings' // Only one settings sheet will be open
436
+ });
437
+ });
438
+
439
+ // 3. Clean up resources on close
440
+ $sheet.open({
441
+ component: html`<video-player></video-player>`,
442
+ close: () => {
443
+ // Stop video playback, clear timers, etc.
444
+ videoPlayer.cleanup();
445
+ }
446
+ });
447
+
448
+ // 4. Use appropriate positions
449
+ // Desktop: side sheets for forms and details
450
+ // Mobile: bottom sheets for actions and options
451
+ const position = window.innerWidth < 768 ? 'bottom' : 'side';
452
+ $sheet.open({ component, position });
453
+
454
+ // 5. Handle errors gracefully
455
+ try {
456
+ await saveData();
457
+ $sheet.dismiss();
458
+ } catch (error) {
459
+ showNotification({ message: 'Save failed', type: 'error' });
460
+ // Don't close sheet on error
461
+ }
462
+
463
+ // Common Issues & Solutions
464
+
465
+ // Issue: Sheet content is cut off
466
+ // Solution: Ensure content has proper padding and scrolling
467
+ html`
468
+ <div class="p-6 overflow-y-auto max-h-[80vh]">
469
+ <!-- Long content -->
120
470
  </div>
121
- </schmancy-sheet>
471
+ `
472
+
473
+ // Issue: Form submission closes sheet prematurely
474
+ // Solution: Prevent default and handle async
475
+ html`
476
+ <schmancy-form @submit=${async (e) => {
477
+ e.preventDefault(); // Important!
478
+ await handleSubmit(e.detail.values);
479
+ $sheet.dismiss();
480
+ }}>
481
+ `
482
+
483
+ // Issue: Multiple sheets open at once
484
+ // Solution: Use closeAll() before opening new sheet
485
+ $sheet.closeAll();
486
+ $sheet.open({ component: newContent });
487
+
488
+ // Integration with Other Components
489
+
490
+ // With Dialog Service
491
+ import { dialog } from '@mhmo91/schmancy';
492
+
493
+ async function deleteItem(id) {
494
+ const confirmed = await dialog.confirm({
495
+ title: 'Delete Item?',
496
+ message: 'This action cannot be undone.'
497
+ });
498
+
499
+ if (confirmed) {
500
+ await api.delete(id);
501
+ $sheet.dismiss(); // Close the sheet after deletion
502
+ }
503
+ }
504
+
505
+ // With Notification Service
506
+ import { notification } from '@mhmo91/schmancy';
507
+
508
+ $sheet.open({
509
+ component: html`
510
+ <schmancy-form @submit=${async (e) => {
511
+ try {
512
+ await api.save(e.detail.values);
513
+ notification.success('Saved successfully');
514
+ $sheet.dismiss();
515
+ } catch (error) {
516
+ notification.error('Failed to save');
517
+ }
518
+ }}>
519
+ `
520
+ });
122
521
  ```