@mhmo91/schmancy 0.5.44 → 0.5.46

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 (329) hide show
  1. package/ai/content-drawer.md +90 -160
  2. package/dist/ai/content-drawer.md +90 -160
  3. package/dist/{animated-text-Dr32Ckh7.cjs → animated-text-2eNprXDV.cjs} +2 -2
  4. package/dist/{animated-text-Dr32Ckh7.cjs.map → animated-text-2eNprXDV.cjs.map} +1 -1
  5. package/dist/{animated-text-CPA937x-.js → animated-text-CCfSintu.js} +3 -3
  6. package/dist/{animated-text-CPA937x-.js.map → animated-text-CCfSintu.js.map} +1 -1
  7. package/dist/animated-text.cjs +1 -1
  8. package/dist/animated-text.js +1 -1
  9. package/dist/area.cjs +1 -1
  10. package/dist/area.component-DAPQYHtN.cjs +12 -0
  11. package/dist/area.component-DAPQYHtN.cjs.map +1 -0
  12. package/dist/{area.component-CgAISzZ3.js → area.component-DUGxsL2-.js} +38 -38
  13. package/dist/area.component-DUGxsL2-.js.map +1 -0
  14. package/dist/area.js +1 -1
  15. package/dist/autocomplete-CbsmZ0p6.cjs +112 -0
  16. package/dist/autocomplete-CbsmZ0p6.cjs.map +1 -0
  17. package/dist/{autocomplete--0ZoSIp0.js → autocomplete-Dcw5go_X.js} +47 -46
  18. package/dist/autocomplete-Dcw5go_X.js.map +1 -0
  19. package/dist/autocomplete.cjs +1 -1
  20. package/dist/autocomplete.js +1 -1
  21. package/dist/{avatar-BixWcgH7.js → avatar-CcHlQTbR.js} +207 -191
  22. package/dist/avatar-CcHlQTbR.js.map +1 -0
  23. package/dist/{avatar-5cjrkZS5.cjs → avatar-D93Sjal-.cjs} +39 -52
  24. package/dist/avatar-D93Sjal-.cjs.map +1 -0
  25. package/dist/badge.cjs +1 -1
  26. package/dist/badge.js +1 -1
  27. package/dist/{boat-Bou0hRnM.js → boat-Ct95p20s.js} +3 -3
  28. package/dist/{boat-Bou0hRnM.js.map → boat-Ct95p20s.js.map} +1 -1
  29. package/dist/{boat-CkkEmZcE.cjs → boat-pwsR3UrD.cjs} +2 -2
  30. package/dist/{boat-CkkEmZcE.cjs.map → boat-pwsR3UrD.cjs.map} +1 -1
  31. package/dist/boat.cjs +1 -1
  32. package/dist/boat.js +1 -1
  33. package/dist/busy.cjs +1 -1
  34. package/dist/busy.js +1 -1
  35. package/dist/button.cjs +1 -1
  36. package/dist/button.js +1 -1
  37. package/dist/card.cjs +1 -1
  38. package/dist/card.js +1 -1
  39. package/dist/{checkbox-DODyS0zq.cjs → checkbox-BXpnd4MJ.cjs} +2 -2
  40. package/dist/{checkbox-DODyS0zq.cjs.map → checkbox-BXpnd4MJ.cjs.map} +1 -1
  41. package/dist/{checkbox-D8ZJSnVa.js → checkbox-DedHgVWe.js} +2 -2
  42. package/dist/{checkbox-D8ZJSnVa.js.map → checkbox-DedHgVWe.js.map} +1 -1
  43. package/dist/checkbox.cjs +1 -1
  44. package/dist/checkbox.js +1 -1
  45. package/dist/chips.cjs +1 -1
  46. package/dist/chips.js +2 -2
  47. package/dist/code-highlight.cjs +1 -1
  48. package/dist/code-highlight.js +1 -1
  49. package/dist/{code-preview-BZmBRwu-.cjs → code-preview-DC1nnjD6.cjs} +2 -2
  50. package/dist/{code-preview-BZmBRwu-.cjs.map → code-preview-DC1nnjD6.cjs.map} +1 -1
  51. package/dist/{code-preview-CTnFGeWr.js → code-preview-DmYqwM0J.js} +2 -2
  52. package/dist/{code-preview-CTnFGeWr.js.map → code-preview-DmYqwM0J.js.map} +1 -1
  53. package/dist/components.cjs +1 -1
  54. package/dist/components.js +1 -1
  55. package/dist/content-drawer.cjs +1 -1
  56. package/dist/content-drawer.js +1 -1
  57. package/dist/{date-range-CoETNfZb.cjs → date-range-B1l0Wnyd.cjs} +2 -2
  58. package/dist/{date-range-CoETNfZb.cjs.map → date-range-B1l0Wnyd.cjs.map} +1 -1
  59. package/dist/{date-range-ClsaySUj.js → date-range-D5kBOyG0.js} +3 -3
  60. package/dist/{date-range-ClsaySUj.js.map → date-range-D5kBOyG0.js.map} +1 -1
  61. package/dist/{date-range-inline-DANhDNYe.cjs → date-range-inline-BbTCdiL0.cjs} +2 -2
  62. package/dist/{date-range-inline-DANhDNYe.cjs.map → date-range-inline-BbTCdiL0.cjs.map} +1 -1
  63. package/dist/{date-range-inline-DGlKBtNK.js → date-range-inline-Curj100b.js} +3 -3
  64. package/dist/{date-range-inline-DGlKBtNK.js.map → date-range-inline-Curj100b.js.map} +1 -1
  65. package/dist/date-range-inline.cjs +1 -1
  66. package/dist/date-range-inline.js +1 -1
  67. package/dist/date-range.cjs +1 -1
  68. package/dist/date-range.js +1 -1
  69. package/dist/{delay-BYgsZZlo.js → delay-B8D9ePlX.js} +2 -2
  70. package/dist/{delay-BYgsZZlo.js.map → delay-B8D9ePlX.js.map} +1 -1
  71. package/dist/{delay-C_eK0GWj.cjs → delay-BR6cMb_F.cjs} +2 -2
  72. package/dist/{delay-C_eK0GWj.cjs.map → delay-BR6cMb_F.cjs.map} +1 -1
  73. package/dist/delay.cjs +1 -1
  74. package/dist/delay.js +1 -1
  75. package/dist/{details-YOyqdGM4.js → details-CpuplvIM.js} +2 -2
  76. package/dist/{details-YOyqdGM4.js.map → details-CpuplvIM.js.map} +1 -1
  77. package/dist/{details-CRLG7_Rx.cjs → details-DCzexjYw.cjs} +2 -2
  78. package/dist/{details-CRLG7_Rx.cjs.map → details-DCzexjYw.cjs.map} +1 -1
  79. package/dist/details.cjs +1 -1
  80. package/dist/details.js +1 -1
  81. package/dist/{dialog-content-Bm8humI-.cjs → dialog-content-DUnSEoaA.cjs} +2 -2
  82. package/dist/{dialog-content-Bm8humI-.cjs.map → dialog-content-DUnSEoaA.cjs.map} +1 -1
  83. package/dist/{dialog-content-CXshnL4t.js → dialog-content-wcZn95Gx.js} +3 -3
  84. package/dist/{dialog-content-CXshnL4t.js.map → dialog-content-wcZn95Gx.js.map} +1 -1
  85. package/dist/dialog.cjs +1 -1
  86. package/dist/dialog.js +1 -1
  87. package/dist/{divider-BD7cCM-N.js → divider-C4d0QNQU.js} +3 -3
  88. package/dist/{divider-BD7cCM-N.js.map → divider-C4d0QNQU.js.map} +1 -1
  89. package/dist/{divider-W9uJ8C3q.cjs → divider-nVB0kEMZ.cjs} +2 -2
  90. package/dist/{divider-W9uJ8C3q.cjs.map → divider-nVB0kEMZ.cjs.map} +1 -1
  91. package/dist/divider.cjs +1 -1
  92. package/dist/divider.js +1 -1
  93. package/dist/{dropdown-content-DnWgB8CR.cjs → dropdown-content-CNc79RjI.cjs} +2 -2
  94. package/dist/{dropdown-content-DnWgB8CR.cjs.map → dropdown-content-CNc79RjI.cjs.map} +1 -1
  95. package/dist/{dropdown-content-C7b_9CMw.js → dropdown-content-D2GCSD5Z.js} +3 -3
  96. package/dist/{dropdown-content-C7b_9CMw.js.map → dropdown-content-D2GCSD5Z.js.map} +1 -1
  97. package/dist/dropdown.cjs +1 -1
  98. package/dist/dropdown.js +1 -1
  99. package/dist/{email-recipients-CyIXLoSh.js → email-recipients-C-5ER5TU.js} +5 -5
  100. package/dist/{email-recipients-CyIXLoSh.js.map → email-recipients-C-5ER5TU.js.map} +1 -1
  101. package/dist/{email-recipients-whsZqIpA.cjs → email-recipients-DRxGI7gT.cjs} +2 -2
  102. package/dist/{email-recipients-whsZqIpA.cjs.map → email-recipients-DRxGI7gT.cjs.map} +1 -1
  103. package/dist/extra.cjs +1 -1
  104. package/dist/extra.js +1 -1
  105. package/dist/{flex-DvZKaAtN.js → flex-BeghKdy8.js} +2 -2
  106. package/dist/{flex-DvZKaAtN.js.map → flex-BeghKdy8.js.map} +1 -1
  107. package/dist/{flex-C0O9O1yV.cjs → flex-C66W_bVN.cjs} +2 -2
  108. package/dist/{flex-C0O9O1yV.cjs.map → flex-C66W_bVN.cjs.map} +1 -1
  109. package/dist/{form-D4AZek8y.cjs → form-BLnfpLCB.cjs} +2 -2
  110. package/dist/{form-D4AZek8y.cjs.map → form-BLnfpLCB.cjs.map} +1 -1
  111. package/dist/{form-BsI5Sk-R.js → form-CzSXaOL2.js} +2 -2
  112. package/dist/{form-BsI5Sk-R.js.map → form-CzSXaOL2.js.map} +1 -1
  113. package/dist/form.cjs +1 -1
  114. package/dist/form.js +1 -1
  115. package/dist/{formField.mixin-DfxR1FzZ.cjs → formField.mixin-DdQvbwbp.cjs} +2 -2
  116. package/dist/{formField.mixin-DfxR1FzZ.cjs.map → formField.mixin-DdQvbwbp.cjs.map} +1 -1
  117. package/dist/{formField.mixin-C_a5Hccx.js → formField.mixin-SU-0UQ6O.js} +2 -2
  118. package/dist/{formField.mixin-C_a5Hccx.js.map → formField.mixin-SU-0UQ6O.js.map} +1 -1
  119. package/dist/{icon-J11blFZq.cjs → icon-B38Atn5F.cjs} +2 -2
  120. package/dist/{icon-J11blFZq.cjs.map → icon-B38Atn5F.cjs.map} +1 -1
  121. package/dist/{icon-5LbOG-V0.js → icon-BAE9GvxI.js} +2 -2
  122. package/dist/{icon-5LbOG-V0.js.map → icon-BAE9GvxI.js.map} +1 -1
  123. package/dist/{icon-button-DjfEYUdj.cjs → icon-button-D24NUFs7.cjs} +2 -2
  124. package/dist/{icon-button-DjfEYUdj.cjs.map → icon-button-D24NUFs7.cjs.map} +1 -1
  125. package/dist/{icon-button-Cwm3vcDO.js → icon-button-gNZEaDU2.js} +3 -3
  126. package/dist/{icon-button-Cwm3vcDO.js.map → icon-button-gNZEaDU2.js.map} +1 -1
  127. package/dist/icons.cjs +1 -1
  128. package/dist/icons.js +1 -1
  129. package/dist/index.cjs +1 -1
  130. package/dist/index.js +49 -49
  131. package/dist/{input-DbzpwrUh.cjs → input-B-87Y5m2.cjs} +2 -2
  132. package/dist/{input-DbzpwrUh.cjs.map → input-B-87Y5m2.cjs.map} +1 -1
  133. package/dist/{input-DO5pS6fE.js → input-Db0akZJI.js} +3 -3
  134. package/dist/{input-DO5pS6fE.js.map → input-Db0akZJI.js.map} +1 -1
  135. package/dist/{input-chip-CXZTmfwT.js → input-chip-DT7Zln32.js} +2 -2
  136. package/dist/{input-chip-CXZTmfwT.js.map → input-chip-DT7Zln32.js.map} +1 -1
  137. package/dist/{input-chip-CBJxQ2MI.cjs → input-chip-Y6Umqn68.cjs} +2 -2
  138. package/dist/{input-chip-CBJxQ2MI.cjs.map → input-chip-Y6Umqn68.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-C7wTsdkZ.cjs → list-Bx4nE-9X.cjs} +2 -2
  144. package/dist/{list-C7wTsdkZ.cjs.map → list-Bx4nE-9X.cjs.map} +1 -1
  145. package/dist/{list-Cbrv1Y7B.js → list-D5CL0Hmr.js} +2 -2
  146. package/dist/{list-Cbrv1Y7B.js.map → list-D5CL0Hmr.js.map} +1 -1
  147. package/dist/list.cjs +1 -1
  148. package/dist/list.js +1 -1
  149. package/dist/{litElement.mixin-DwXXrxwO.js → litElement.mixin-DLWHaMp5.js} +2 -2
  150. package/dist/{litElement.mixin-DwXXrxwO.js.map → litElement.mixin-DLWHaMp5.js.map} +1 -1
  151. package/dist/{litElement.mixin-Dlq4PNEh.cjs → litElement.mixin-vtpQghkf.cjs} +2 -2
  152. package/dist/{litElement.mixin-Dlq4PNEh.cjs.map → litElement.mixin-vtpQghkf.cjs.map} +1 -1
  153. package/dist/mailbox.cjs +1 -1
  154. package/dist/mailbox.js +1 -1
  155. package/dist/{map-6p1rwGq_.js → map-BgWSgSOf.js} +2 -2
  156. package/dist/{map-6p1rwGq_.js.map → map-BgWSgSOf.js.map} +1 -1
  157. package/dist/{map-B3Ond3EJ.cjs → map-ChhBWqG-.cjs} +2 -2
  158. package/dist/{map-B3Ond3EJ.cjs.map → map-ChhBWqG-.cjs.map} +1 -1
  159. package/dist/map.cjs +1 -1
  160. package/dist/map.js +1 -1
  161. package/dist/{media-8qL5J_9U.js → media-DnpRpbFQ.js} +2 -2
  162. package/dist/{media-8qL5J_9U.js.map → media-DnpRpbFQ.js.map} +1 -1
  163. package/dist/{media-urvTQuhG.cjs → media-hFrznC-7.cjs} +2 -2
  164. package/dist/{media-urvTQuhG.cjs.map → media-hFrznC-7.cjs.map} +1 -1
  165. package/dist/{menu-CAqcdA-t.cjs → menu-DkRVRYp4.cjs} +2 -2
  166. package/dist/{menu-CAqcdA-t.cjs.map → menu-DkRVRYp4.cjs.map} +1 -1
  167. package/dist/{menu-DqPjhh0F.js → menu-DqRauRjT.js} +3 -3
  168. package/dist/{menu-DqPjhh0F.js.map → menu-DqRauRjT.js.map} +1 -1
  169. package/dist/menu.cjs +1 -1
  170. package/dist/menu.js +1 -1
  171. package/dist/nav-drawer.cjs +1 -1
  172. package/dist/nav-drawer.js +1 -1
  173. package/dist/navigation-bar.cjs +1 -1
  174. package/dist/navigation-bar.js +1 -1
  175. package/dist/{navigation-rail-G9DFyu8b.cjs → navigation-rail-CBhirMNF.cjs} +3 -3
  176. package/dist/{navigation-rail-G9DFyu8b.cjs.map → navigation-rail-CBhirMNF.cjs.map} +1 -1
  177. package/dist/{navigation-rail-B1JZU-E_.js → navigation-rail-Ncy6rBEj.js} +4 -4
  178. package/dist/{navigation-rail-B1JZU-E_.js.map → navigation-rail-Ncy6rBEj.js.map} +1 -1
  179. package/dist/navigation-rail.cjs +1 -1
  180. package/dist/navigation-rail.js +1 -1
  181. package/dist/{notification-service-D2iAqL5y.cjs → notification-service-BcrHAzSN.cjs} +2 -2
  182. package/dist/{notification-service-D2iAqL5y.cjs.map → notification-service-BcrHAzSN.cjs.map} +1 -1
  183. package/dist/{notification-service-C2FCNL6K.js → notification-service-CRAcOFSD.js} +4 -4
  184. package/dist/{notification-service-C2FCNL6K.js.map → notification-service-CRAcOFSD.js.map} +1 -1
  185. package/dist/notification.cjs +1 -1
  186. package/dist/notification.js +2 -2
  187. package/dist/{notify-CGUpuJK_.cjs → notify-BZLGxTpL.cjs} +2 -2
  188. package/dist/{notify-CGUpuJK_.cjs.map → notify-BZLGxTpL.cjs.map} +1 -1
  189. package/dist/{notify-CXgvep0J.js → notify-zBmyDMjt.js} +2 -2
  190. package/dist/{notify-CXgvep0J.js.map → notify-zBmyDMjt.js.map} +1 -1
  191. package/dist/{option-CWqav-ae.js → option-BOs02M9F.js} +2 -2
  192. package/dist/{option-CWqav-ae.js.map → option-BOs02M9F.js.map} +1 -1
  193. package/dist/{option-D8qnpwBr.cjs → option-CJZFrYDI.cjs} +2 -2
  194. package/dist/{option-D8qnpwBr.cjs.map → option-CJZFrYDI.cjs.map} +1 -1
  195. package/dist/option.cjs +1 -1
  196. package/dist/option.js +1 -1
  197. package/dist/{payment-card-form-pQBAeXvc.cjs → payment-card-form-C3RKAyE-.cjs} +2 -2
  198. package/dist/{payment-card-form-pQBAeXvc.cjs.map → payment-card-form-C3RKAyE-.cjs.map} +1 -1
  199. package/dist/{payment-card-form-09YuBc3U.js → payment-card-form-S9DUk7kb.js} +3 -3
  200. package/dist/{payment-card-form-09YuBc3U.js.map → payment-card-form-S9DUk7kb.js.map} +1 -1
  201. package/dist/{progress-nWFc1Ixd.cjs → progress-C36hgIf5.cjs} +2 -2
  202. package/dist/{progress-nWFc1Ixd.cjs.map → progress-C36hgIf5.cjs.map} +1 -1
  203. package/dist/{progress-BLRwJ_un.js → progress-DtJc6jWJ.js} +2 -2
  204. package/dist/{progress-BLRwJ_un.js.map → progress-DtJc6jWJ.js.map} +1 -1
  205. package/dist/progress.cjs +1 -1
  206. package/dist/progress.js +1 -1
  207. package/dist/{radio-button-DIjkirPr.cjs → radio-button-BEoY5yRc.cjs} +2 -2
  208. package/dist/{radio-button-DIjkirPr.cjs.map → radio-button-BEoY5yRc.cjs.map} +1 -1
  209. package/dist/{radio-button-BC0Of2-G.js → radio-button-aKwgu1bt.js} +3 -3
  210. package/dist/{radio-button-BC0Of2-G.js.map → radio-button-aKwgu1bt.js.map} +1 -1
  211. package/dist/radio-group.cjs +1 -1
  212. package/dist/radio-group.js +1 -1
  213. package/dist/{schmancy-steps-container-Sf8RjF0N.js → schmancy-steps-container-D5sbskLl.js} +2 -2
  214. package/dist/{schmancy-steps-container-Sf8RjF0N.js.map → schmancy-steps-container-D5sbskLl.js.map} +1 -1
  215. package/dist/{schmancy-steps-container-B8B2ZnTB.cjs → schmancy-steps-container-DINAsJgP.cjs} +2 -2
  216. package/dist/{schmancy-steps-container-B8B2ZnTB.cjs.map → schmancy-steps-container-DINAsJgP.cjs.map} +1 -1
  217. package/dist/{select-C6QlML9m.js → select-Bq_CyEe1.js} +3 -3
  218. package/dist/{select-C6QlML9m.js.map → select-Bq_CyEe1.js.map} +1 -1
  219. package/dist/{select-CqlN3vWr.cjs → select-C0gf-GTX.cjs} +2 -2
  220. package/dist/{select-CqlN3vWr.cjs.map → select-C0gf-GTX.cjs.map} +1 -1
  221. package/dist/select.cjs +1 -1
  222. package/dist/select.js +1 -1
  223. package/dist/{sheet-Dxx7iH9V.js → sheet-PXddkPIR.js} +3 -3
  224. package/dist/{sheet-Dxx7iH9V.js.map → sheet-PXddkPIR.js.map} +1 -1
  225. package/dist/{sheet-D6yxukD7.cjs → sheet-vJ5lJw8A.cjs} +2 -2
  226. package/dist/{sheet-D6yxukD7.cjs.map → sheet-vJ5lJw8A.cjs.map} +1 -1
  227. package/dist/sheet.cjs +1 -1
  228. package/dist/sheet.js +1 -1
  229. package/dist/{slider-BIjiRBMB.js → slider-CSC7AOPU.js} +3 -3
  230. package/dist/{slider-BIjiRBMB.js.map → slider-CSC7AOPU.js.map} +1 -1
  231. package/dist/{slider-BGgXG44k.cjs → slider-In_OE4B9.cjs} +2 -2
  232. package/dist/{slider-BGgXG44k.cjs.map → slider-In_OE4B9.cjs.map} +1 -1
  233. package/dist/slider.cjs +1 -1
  234. package/dist/slider.js +1 -1
  235. package/dist/{spinner-D8IKqMrW.js → spinner-Db7i3EZh.js} +2 -2
  236. package/dist/{spinner-D8IKqMrW.js.map → spinner-Db7i3EZh.js.map} +1 -1
  237. package/dist/{spinner-CFx3p13n.cjs → spinner-DpIB845r.cjs} +2 -2
  238. package/dist/{spinner-CFx3p13n.cjs.map → spinner-DpIB845r.cjs.map} +1 -1
  239. package/dist/steps.cjs +1 -1
  240. package/dist/steps.js +1 -1
  241. package/dist/{suggestion-chip-DHpWcimf.js → suggestion-chip-CJygiEf_.js} +3 -3
  242. package/dist/{suggestion-chip-DHpWcimf.js.map → suggestion-chip-CJygiEf_.js.map} +1 -1
  243. package/dist/{suggestion-chip-KkPIwkYP.cjs → suggestion-chip-DgwbXrI1.cjs} +2 -2
  244. package/dist/{suggestion-chip-KkPIwkYP.cjs.map → suggestion-chip-DgwbXrI1.cjs.map} +1 -1
  245. package/dist/{surface-pMQpuZWM.cjs → surface-Do6Jvjgs.cjs} +2 -2
  246. package/dist/{surface-pMQpuZWM.cjs.map → surface-Do6Jvjgs.cjs.map} +1 -1
  247. package/dist/{surface-CkSAxbh2.js → surface-OK-98YMi.js} +2 -2
  248. package/dist/{surface-CkSAxbh2.js.map → surface-OK-98YMi.js.map} +1 -1
  249. package/dist/surface.cjs +1 -1
  250. package/dist/surface.js +1 -1
  251. package/dist/{table-CVHtS_w_.cjs → table-CJAjGdP2.cjs} +2 -2
  252. package/dist/{table-CVHtS_w_.cjs.map → table-CJAjGdP2.cjs.map} +1 -1
  253. package/dist/{table-BgQCOk5g.js → table-IX2oy6pR.js} +2 -2
  254. package/dist/{table-BgQCOk5g.js.map → table-IX2oy6pR.js.map} +1 -1
  255. package/dist/table.cjs +1 -1
  256. package/dist/table.js +1 -1
  257. package/dist/{tabs-compatibility-BCtEpyN5.js → tabs-compatibility-BcjBZAcx.js} +2 -2
  258. package/dist/{tabs-compatibility-BCtEpyN5.js.map → tabs-compatibility-BcjBZAcx.js.map} +1 -1
  259. package/dist/{tabs-compatibility-w2lmMs2h.cjs → tabs-compatibility-DRL9DJHu.cjs} +2 -2
  260. package/dist/{tabs-compatibility-w2lmMs2h.cjs.map → tabs-compatibility-DRL9DJHu.cjs.map} +1 -1
  261. package/dist/tabs.cjs +1 -1
  262. package/dist/tabs.js +1 -1
  263. package/dist/tailwind.mixin-CfBr6oca.cjs +2 -0
  264. package/dist/{tailwind.mixin-Bz_Bv8SX.cjs.map → tailwind.mixin-CfBr6oca.cjs.map} +1 -1
  265. package/dist/tailwind.mixin-Cx1vOdFr.js +64 -0
  266. package/dist/{tailwind.mixin-Be9DoonS.js.map → tailwind.mixin-Cx1vOdFr.js.map} +1 -1
  267. package/dist/teleport.cjs +1 -1
  268. package/dist/teleport.js +1 -1
  269. package/dist/{textarea-BRI0tufi.cjs → textarea-D6tLCvgH.cjs} +2 -2
  270. package/dist/{textarea-BRI0tufi.cjs.map → textarea-D6tLCvgH.cjs.map} +1 -1
  271. package/dist/{textarea-DBc8Uh7D.js → textarea-DOdMuK9D.js} +2 -2
  272. package/dist/{textarea-DBc8Uh7D.js.map → textarea-DOdMuK9D.js.map} +1 -1
  273. package/dist/textarea.cjs +1 -1
  274. package/dist/textarea.js +1 -1
  275. package/dist/{theme-button-DXCpzc5c.cjs → theme-button-BygpnNZP.cjs} +2 -2
  276. package/dist/{theme-button-DXCpzc5c.cjs.map → theme-button-BygpnNZP.cjs.map} +1 -1
  277. package/dist/{theme-button-DCYQYmF-.js → theme-button-Mtmrrq0s.js} +2 -2
  278. package/dist/{theme-button-DCYQYmF-.js.map → theme-button-Mtmrrq0s.js.map} +1 -1
  279. package/dist/theme-button.cjs +1 -1
  280. package/dist/theme-button.js +1 -1
  281. package/dist/{theme-controller-boat-HDnVrCW1.cjs → theme-controller-boat-6PcxsUUQ.cjs} +2 -2
  282. package/dist/{theme-controller-boat-HDnVrCW1.cjs.map → theme-controller-boat-6PcxsUUQ.cjs.map} +1 -1
  283. package/dist/{theme-controller-boat-C_6tVWSS.js → theme-controller-boat-CFWhF7oJ.js} +3 -3
  284. package/dist/{theme-controller-boat-C_6tVWSS.js.map → theme-controller-boat-CFWhF7oJ.js.map} +1 -1
  285. package/dist/theme.cjs +1 -1
  286. package/dist/theme.js +1 -1
  287. package/dist/{timezone-Atm5Dy-B.js → timezone-CZ3y_y_n.js} +3 -3
  288. package/dist/{timezone-Atm5Dy-B.js.map → timezone-CZ3y_y_n.js.map} +1 -1
  289. package/dist/{timezone-BQaIFLiV.cjs → timezone-GffBsJxM.cjs} +2 -2
  290. package/dist/{timezone-BQaIFLiV.cjs.map → timezone-GffBsJxM.cjs.map} +1 -1
  291. package/dist/{tooltip-C-PhMMvT.js → tooltip-BlwQ_fIF.js} +2 -2
  292. package/dist/{tooltip-C-PhMMvT.js.map → tooltip-BlwQ_fIF.js.map} +1 -1
  293. package/dist/{tooltip-SBsMu8ZQ.cjs → tooltip-PI0IE4wA.cjs} +2 -2
  294. package/dist/{tooltip-SBsMu8ZQ.cjs.map → tooltip-PI0IE4wA.cjs.map} +1 -1
  295. package/dist/tooltip.cjs +1 -1
  296. package/dist/tooltip.js +1 -1
  297. package/dist/{tree-BagJ6dD2.js → tree-Cum3Na-a.js} +2 -2
  298. package/dist/{tree-BagJ6dD2.js.map → tree-Cum3Na-a.js.map} +1 -1
  299. package/dist/{tree-j0lH3CZh.cjs → tree-Cxfl4yJv.cjs} +2 -2
  300. package/dist/{tree-j0lH3CZh.cjs.map → tree-Cxfl4yJv.cjs.map} +1 -1
  301. package/dist/tree.cjs +1 -1
  302. package/dist/tree.js +1 -1
  303. package/dist/{typewriter-BawsYtHa.cjs → typewriter-BaiAOEvZ.cjs} +2 -2
  304. package/dist/{typewriter-BawsYtHa.cjs.map → typewriter-BaiAOEvZ.cjs.map} +1 -1
  305. package/dist/{typewriter-BjiolWBJ.js → typewriter-DTcmDBnt.js} +4 -4
  306. package/dist/{typewriter-BjiolWBJ.js.map → typewriter-DTcmDBnt.js.map} +1 -1
  307. package/dist/typewriter.cjs +1 -1
  308. package/dist/typewriter.js +1 -1
  309. package/dist/{typography-CyDDUJ9J.js → typography-BLHV8e7O.js} +2 -2
  310. package/dist/{typography-CyDDUJ9J.js.map → typography-BLHV8e7O.js.map} +1 -1
  311. package/dist/{typography-Bk9jOEtx.cjs → typography-CtesPGRT.cjs} +2 -2
  312. package/dist/{typography-Bk9jOEtx.cjs.map → typography-CtesPGRT.cjs.map} +1 -1
  313. package/dist/typography.cjs +1 -1
  314. package/dist/typography.js +1 -1
  315. package/package.json +1 -1
  316. package/types/src/autocomplete/autocomplete.d.ts +1 -1
  317. package/types/src/content-drawer/drawer.d.ts +6 -0
  318. package/types/src/content-drawer/drawer.service.d.ts +28 -1
  319. package/types/src/content-drawer/main.d.ts +2 -2
  320. package/dist/area.component-C3uCk-c1.cjs +0 -12
  321. package/dist/area.component-C3uCk-c1.cjs.map +0 -1
  322. package/dist/area.component-CgAISzZ3.js.map +0 -1
  323. package/dist/autocomplete--0ZoSIp0.js.map +0 -1
  324. package/dist/autocomplete-CpCXamUl.cjs +0 -112
  325. package/dist/autocomplete-CpCXamUl.cjs.map +0 -1
  326. package/dist/avatar-5cjrkZS5.cjs.map +0 -1
  327. package/dist/avatar-BixWcgH7.js.map +0 -1
  328. package/dist/tailwind.mixin-Be9DoonS.js +0 -64
  329. package/dist/tailwind.mixin-Bz_Bv8SX.cjs +0 -2
@@ -1,198 +1,128 @@
1
1
  # Content Drawer
2
2
 
3
- Responsive sliding panel that automatically switches between push and overlay modes based on screen size.
4
-
5
- ## Overview
6
-
7
- The content drawer provides a responsive panel system that adapts to different screen sizes:
8
- - **Large screens**: Panel pushes content aside (push mode)
9
- - **Small screens**: Panel overlays content (overlay mode)
10
- - **Automatic switching**: Responds to screen width changes
11
-
12
- ## Components
13
-
14
- ```js
15
- // Main container that manages responsive behavior
16
- <schmancy-content-drawer
17
- ?open="${boolean}" // Controls drawer visibility (auto-managed)
18
- .minWidth="${{main: 360, sheet: 576}}" // Min widths for main and sheet
19
- >
20
- <schmancy-content-drawer-main
21
- minWidth="${number}" // Minimum width for main content (default: 360px)
22
- >
23
- // Main content area
24
- </schmancy-content-drawer-main>
3
+ Responsive sliding panel that switches between push mode (desktop) and overlay mode (mobile).
25
4
 
26
- <schmancy-content-drawer-sheet
27
- minWidth="${number}" // Minimum width for sheet (default: 576px)
28
- >
29
- <section slot="placeholder">
30
- // Optional placeholder content when sheet is empty
31
- </section>
32
- </schmancy-content-drawer-sheet>
33
- </schmancy-content-drawer>
5
+ ## Service API
6
+
7
+ ```typescript
8
+ import { schmancyContentDrawer } from '@schmancy/content-drawer'
34
9
  ```
35
10
 
36
- ## Responsive Behavior
11
+ ### `push(options)`
37
12
 
38
- The drawer automatically switches between modes based on viewport width:
39
- - **Push mode**: When `viewport >= main.minWidth + sheet.minWidth`
40
- - Sheet panel appears inline beside main content
41
- - Content is pushed to make room for the sheet
42
- - Sheet remains visible
43
- - **Overlay mode**: When `viewport < main.minWidth + sheet.minWidth`
44
- - Sheet overlays on top of main content
45
- - Opens/closes via the service API
46
- - Shows as a modal sheet
13
+ Push a component to the drawer. Automatically resolves different component types.
47
14
 
48
- ## Service API
15
+ **Parameters:**
49
16
 
50
- ```js
51
- import { schmancyContentDrawer } from '@schmancy/content-drawer'
17
+ - `options: ComponentType | DrawerPushOptions`
18
+
19
+ **ComponentType formats:**
52
20
 
53
- // Push API - Recommended for dynamic content rendering
54
- schmancyContentDrawer.push(component)
55
- // component can be:
56
- // - string: 'demo-button' (HTML tag name)
57
- // - HTMLElement: new DemoButton() (component instance)
58
- // - Factory: () => new DemoButton() (factory function)
59
- // - Async: async () => import('./button').then(m => new m.default())
21
+ - `string` - HTML tag name (e.g., `'demo-button'`)
22
+ - `HTMLElement` - Component instance (e.g., `new MyComponent()`)
23
+ - `() => HTMLElement` - Factory function
24
+ - `() => Promise<{default: any}>` - Async import
60
25
 
61
- // Legacy render API (for backward compatibility)
62
- schmancyContentDrawer.render(ref, component, title?)
26
+ **DrawerPushOptions object:**
63
27
 
64
- // Dismiss drawer (note: method has typo in implementation)
65
- schmancyContentDrawer.dimiss(ref)
28
+ ```typescript
29
+ {
30
+ component: ComponentType
31
+ props?: Record<string, unknown> // Properties to set on component
32
+ state?: Record<string, unknown> // Router state (push mode only)
33
+ params?: Record<string, unknown> // Router params (push mode only)
34
+ }
66
35
  ```
67
36
 
68
- ### Push API Features
37
+ **Usage:**
69
38
 
70
- The `push` API automatically handles re-rendering when the same component instance is pushed with updated properties:
39
+ ```typescript
40
+ // String tag
41
+ schmancyContentDrawer.push('demo-button')
71
42
 
72
- ```js
73
- // Create a component instance
74
- const myComponent = new MyComponent()
75
- myComponent.variant = 'filled'
43
+ // HTMLElement instance
44
+ schmancyContentDrawer.push(new UserDetail())
76
45
 
77
- // Push it to drawer
78
- schmancyContentDrawer.push(myComponent)
46
+ // With options object (recommended)
47
+ schmancyContentDrawer.push({
48
+ component: new UserDetail(),
49
+ props: { userId: '123' }
50
+ })
79
51
 
80
- // Later, update properties and push again
81
- myComponent.variant = 'outlined'
82
- schmancyContentDrawer.push(myComponent) // Automatically re-renders with new properties
83
- ```
52
+ // Factory function
53
+ schmancyContentDrawer.push(() => new MyComponent())
84
54
 
85
- ## Examples
55
+ // Async import
56
+ schmancyContentDrawer.push(() => import('./my-component'))
57
+ ```
86
58
 
87
- ### 1. Basic Responsive Drawer
59
+ ### `render(ref, component, title?)`
88
60
 
89
- ```html
90
- <schmancy-content-drawer>
91
- <schmancy-content-drawer-main>
92
- <schmancy-list class="p-0">
93
- <schmancy-list-item @click=${() => {
94
- schmancyContentDrawer.push('demo-button')
95
- }}>
96
- Show Button Demo
97
- </schmancy-list-item>
98
- <schmancy-list-item @click=${() => {
99
- schmancyContentDrawer.push(new TypographyDemo())
100
- }}>
101
- Show Typography Demo
102
- </schmancy-list-item>
103
- </schmancy-list>
104
- </schmancy-content-drawer-main>
61
+ Lower-level API for rendering. Use `push()` instead for most cases.
105
62
 
106
- <schmancy-content-drawer-sheet class="px-4">
107
- <section slot="placeholder">
108
- <schmancy-typography>Select an item to view</schmancy-typography>
109
- </section>
110
- </schmancy-content-drawer-sheet>
111
- </schmancy-content-drawer>
112
- ```
63
+ **Parameters:**
113
64
 
114
- ### 2. Using Different Push API Patterns
65
+ - `ref: Element | Window` - Element to dispatch events from
66
+ - `component: HTMLElement` - Component instance
67
+ - `title?: string` - Optional title
115
68
 
116
- ```js
117
- // String tag name
118
- schmancyContentDrawer.push('demo-button')
69
+ ```typescript
70
+ schmancyContentDrawer.render(window, new UserDetail(), 'User Details')
71
+ ```
119
72
 
120
- // Component instance
121
- const button = new DemoButton()
122
- button.variant = 'filled'
123
- schmancyContentDrawer.push(button)
73
+ ### `dimiss(ref)`
124
74
 
125
- // Factory function with custom setup
126
- schmancyContentDrawer.push(() => {
127
- const comp = new MyComponent()
128
- comp.setAttribute('theme', 'dark')
129
- return comp
130
- })
75
+ Closes the drawer. *Note: typo in actual API*
131
76
 
132
- // Async module loading
133
- schmancyContentDrawer.push(async () => {
134
- const module = await import('./lazy-component')
135
- return new module.default()
136
- })
77
+ ```typescript
78
+ schmancyContentDrawer.dimiss(window)
137
79
  ```
138
80
 
139
- ### 3. Configuring Minimum Widths
81
+ ## Component Structure
140
82
 
141
83
  ```html
142
84
  <schmancy-content-drawer>
143
- <!-- Main content requires at least 400px -->
144
- <schmancy-content-drawer-main minWidth="400">
145
- <div>Main application content</div>
85
+ <schmancy-content-drawer-main>
86
+ <!-- Main content area -->
146
87
  </schmancy-content-drawer-main>
147
88
 
148
- <!-- Sheet requires at least 600px -->
149
- <schmancy-content-drawer-sheet minWidth="600">
150
- <div>Detail panel content</div>
89
+ <schmancy-content-drawer-sheet>
90
+ <section slot="placeholder">
91
+ <!-- Empty state content -->
92
+ </section>
151
93
  </schmancy-content-drawer-sheet>
152
94
  </schmancy-content-drawer>
153
95
  ```
154
96
 
155
- ## Integration with Schmancy Systems
156
-
157
- The content drawer integrates with:
158
- - **Area router**: In push mode, uses `schmancy-area` for content routing
159
- - **Sheet system**: In overlay mode, uses the schmancy sheet for modal presentation
160
- - **Grid system**: Uses `schmancy-grid` for responsive layout
161
-
162
- ## CSS Styling
163
-
164
- The component uses standard Tailwind classes for styling:
165
- - Main container uses `overflow-scroll` for scrollable content
166
- - Sheet positioning handled automatically based on mode
167
- - Animations use Web Animations API (500ms duration)
168
-
169
- ## Common Patterns
170
-
171
- **Master-Detail View**: List of items in main, details in sheet
172
- ```js
173
- // In main area - list of items
174
- <schmancy-list-item @click=${() => {
175
- schmancyContentDrawer.push(new ItemDetail(item))
176
- }}>
177
- ${item.name}
178
- </schmancy-list-item>
179
- ```
180
-
181
- **Settings Panel**: Configuration options in the sheet
182
- ```js
183
- // Push settings component
184
- schmancyContentDrawer.push(new SettingsPanel())
185
- ```
186
-
187
- **Navigation Drawer**: Navigation links in main, content in sheet
188
- ```js
189
- // Navigation item clicks update sheet content
190
- schmancyContentDrawer.push(() => import(`./pages/${page}`))
97
+ ## Properties
98
+
99
+ - `minWidth: {main: number, sheet: number}` - Minimum widths (default: `{main: 360, sheet: 576}`)
100
+ - `open: 'open' | 'close'` - Auto-managed based on mode
101
+ - `mode: 'push' | 'overlay'` - Auto-switches at 936px breakpoint
102
+
103
+ ## Example
104
+
105
+ ```typescript
106
+ html`
107
+ <schmancy-content-drawer>
108
+ <schmancy-content-drawer-main>
109
+ <schmancy-list>
110
+ ${items.map(item => html`
111
+ <schmancy-list-item @click=${() => {
112
+ schmancyContentDrawer.push({
113
+ component: new ItemDetail(),
114
+ props: { item }
115
+ })
116
+ }}>
117
+ ${item.name}
118
+ </schmancy-list-item>
119
+ `)}
120
+ </schmancy-list>
121
+ </schmancy-content-drawer-main>
122
+
123
+ <schmancy-content-drawer-sheet>
124
+ <section slot="placeholder">Select an item</section>
125
+ </schmancy-content-drawer-sheet>
126
+ </schmancy-content-drawer>
127
+ `
191
128
  ```
192
-
193
- ## Related Components
194
-
195
- - [Sheet](./sheet.md) - Modal sheet component used in overlay mode
196
- - [Area](./area.md) - Routing system used in push mode
197
- - [Grid](./grid.md) - Layout system for responsive design
198
- - [List](./list.md) - List component for navigation items
@@ -1,198 +1,128 @@
1
1
  # Content Drawer
2
2
 
3
- Responsive sliding panel that automatically switches between push and overlay modes based on screen size.
4
-
5
- ## Overview
6
-
7
- The content drawer provides a responsive panel system that adapts to different screen sizes:
8
- - **Large screens**: Panel pushes content aside (push mode)
9
- - **Small screens**: Panel overlays content (overlay mode)
10
- - **Automatic switching**: Responds to screen width changes
11
-
12
- ## Components
13
-
14
- ```js
15
- // Main container that manages responsive behavior
16
- <schmancy-content-drawer
17
- ?open="${boolean}" // Controls drawer visibility (auto-managed)
18
- .minWidth="${{main: 360, sheet: 576}}" // Min widths for main and sheet
19
- >
20
- <schmancy-content-drawer-main
21
- minWidth="${number}" // Minimum width for main content (default: 360px)
22
- >
23
- // Main content area
24
- </schmancy-content-drawer-main>
3
+ Responsive sliding panel that switches between push mode (desktop) and overlay mode (mobile).
25
4
 
26
- <schmancy-content-drawer-sheet
27
- minWidth="${number}" // Minimum width for sheet (default: 576px)
28
- >
29
- <section slot="placeholder">
30
- // Optional placeholder content when sheet is empty
31
- </section>
32
- </schmancy-content-drawer-sheet>
33
- </schmancy-content-drawer>
5
+ ## Service API
6
+
7
+ ```typescript
8
+ import { schmancyContentDrawer } from '@schmancy/content-drawer'
34
9
  ```
35
10
 
36
- ## Responsive Behavior
11
+ ### `push(options)`
37
12
 
38
- The drawer automatically switches between modes based on viewport width:
39
- - **Push mode**: When `viewport >= main.minWidth + sheet.minWidth`
40
- - Sheet panel appears inline beside main content
41
- - Content is pushed to make room for the sheet
42
- - Sheet remains visible
43
- - **Overlay mode**: When `viewport < main.minWidth + sheet.minWidth`
44
- - Sheet overlays on top of main content
45
- - Opens/closes via the service API
46
- - Shows as a modal sheet
13
+ Push a component to the drawer. Automatically resolves different component types.
47
14
 
48
- ## Service API
15
+ **Parameters:**
49
16
 
50
- ```js
51
- import { schmancyContentDrawer } from '@schmancy/content-drawer'
17
+ - `options: ComponentType | DrawerPushOptions`
18
+
19
+ **ComponentType formats:**
52
20
 
53
- // Push API - Recommended for dynamic content rendering
54
- schmancyContentDrawer.push(component)
55
- // component can be:
56
- // - string: 'demo-button' (HTML tag name)
57
- // - HTMLElement: new DemoButton() (component instance)
58
- // - Factory: () => new DemoButton() (factory function)
59
- // - Async: async () => import('./button').then(m => new m.default())
21
+ - `string` - HTML tag name (e.g., `'demo-button'`)
22
+ - `HTMLElement` - Component instance (e.g., `new MyComponent()`)
23
+ - `() => HTMLElement` - Factory function
24
+ - `() => Promise<{default: any}>` - Async import
60
25
 
61
- // Legacy render API (for backward compatibility)
62
- schmancyContentDrawer.render(ref, component, title?)
26
+ **DrawerPushOptions object:**
63
27
 
64
- // Dismiss drawer (note: method has typo in implementation)
65
- schmancyContentDrawer.dimiss(ref)
28
+ ```typescript
29
+ {
30
+ component: ComponentType
31
+ props?: Record<string, unknown> // Properties to set on component
32
+ state?: Record<string, unknown> // Router state (push mode only)
33
+ params?: Record<string, unknown> // Router params (push mode only)
34
+ }
66
35
  ```
67
36
 
68
- ### Push API Features
37
+ **Usage:**
69
38
 
70
- The `push` API automatically handles re-rendering when the same component instance is pushed with updated properties:
39
+ ```typescript
40
+ // String tag
41
+ schmancyContentDrawer.push('demo-button')
71
42
 
72
- ```js
73
- // Create a component instance
74
- const myComponent = new MyComponent()
75
- myComponent.variant = 'filled'
43
+ // HTMLElement instance
44
+ schmancyContentDrawer.push(new UserDetail())
76
45
 
77
- // Push it to drawer
78
- schmancyContentDrawer.push(myComponent)
46
+ // With options object (recommended)
47
+ schmancyContentDrawer.push({
48
+ component: new UserDetail(),
49
+ props: { userId: '123' }
50
+ })
79
51
 
80
- // Later, update properties and push again
81
- myComponent.variant = 'outlined'
82
- schmancyContentDrawer.push(myComponent) // Automatically re-renders with new properties
83
- ```
52
+ // Factory function
53
+ schmancyContentDrawer.push(() => new MyComponent())
84
54
 
85
- ## Examples
55
+ // Async import
56
+ schmancyContentDrawer.push(() => import('./my-component'))
57
+ ```
86
58
 
87
- ### 1. Basic Responsive Drawer
59
+ ### `render(ref, component, title?)`
88
60
 
89
- ```html
90
- <schmancy-content-drawer>
91
- <schmancy-content-drawer-main>
92
- <schmancy-list class="p-0">
93
- <schmancy-list-item @click=${() => {
94
- schmancyContentDrawer.push('demo-button')
95
- }}>
96
- Show Button Demo
97
- </schmancy-list-item>
98
- <schmancy-list-item @click=${() => {
99
- schmancyContentDrawer.push(new TypographyDemo())
100
- }}>
101
- Show Typography Demo
102
- </schmancy-list-item>
103
- </schmancy-list>
104
- </schmancy-content-drawer-main>
61
+ Lower-level API for rendering. Use `push()` instead for most cases.
105
62
 
106
- <schmancy-content-drawer-sheet class="px-4">
107
- <section slot="placeholder">
108
- <schmancy-typography>Select an item to view</schmancy-typography>
109
- </section>
110
- </schmancy-content-drawer-sheet>
111
- </schmancy-content-drawer>
112
- ```
63
+ **Parameters:**
113
64
 
114
- ### 2. Using Different Push API Patterns
65
+ - `ref: Element | Window` - Element to dispatch events from
66
+ - `component: HTMLElement` - Component instance
67
+ - `title?: string` - Optional title
115
68
 
116
- ```js
117
- // String tag name
118
- schmancyContentDrawer.push('demo-button')
69
+ ```typescript
70
+ schmancyContentDrawer.render(window, new UserDetail(), 'User Details')
71
+ ```
119
72
 
120
- // Component instance
121
- const button = new DemoButton()
122
- button.variant = 'filled'
123
- schmancyContentDrawer.push(button)
73
+ ### `dimiss(ref)`
124
74
 
125
- // Factory function with custom setup
126
- schmancyContentDrawer.push(() => {
127
- const comp = new MyComponent()
128
- comp.setAttribute('theme', 'dark')
129
- return comp
130
- })
75
+ Closes the drawer. *Note: typo in actual API*
131
76
 
132
- // Async module loading
133
- schmancyContentDrawer.push(async () => {
134
- const module = await import('./lazy-component')
135
- return new module.default()
136
- })
77
+ ```typescript
78
+ schmancyContentDrawer.dimiss(window)
137
79
  ```
138
80
 
139
- ### 3. Configuring Minimum Widths
81
+ ## Component Structure
140
82
 
141
83
  ```html
142
84
  <schmancy-content-drawer>
143
- <!-- Main content requires at least 400px -->
144
- <schmancy-content-drawer-main minWidth="400">
145
- <div>Main application content</div>
85
+ <schmancy-content-drawer-main>
86
+ <!-- Main content area -->
146
87
  </schmancy-content-drawer-main>
147
88
 
148
- <!-- Sheet requires at least 600px -->
149
- <schmancy-content-drawer-sheet minWidth="600">
150
- <div>Detail panel content</div>
89
+ <schmancy-content-drawer-sheet>
90
+ <section slot="placeholder">
91
+ <!-- Empty state content -->
92
+ </section>
151
93
  </schmancy-content-drawer-sheet>
152
94
  </schmancy-content-drawer>
153
95
  ```
154
96
 
155
- ## Integration with Schmancy Systems
156
-
157
- The content drawer integrates with:
158
- - **Area router**: In push mode, uses `schmancy-area` for content routing
159
- - **Sheet system**: In overlay mode, uses the schmancy sheet for modal presentation
160
- - **Grid system**: Uses `schmancy-grid` for responsive layout
161
-
162
- ## CSS Styling
163
-
164
- The component uses standard Tailwind classes for styling:
165
- - Main container uses `overflow-scroll` for scrollable content
166
- - Sheet positioning handled automatically based on mode
167
- - Animations use Web Animations API (500ms duration)
168
-
169
- ## Common Patterns
170
-
171
- **Master-Detail View**: List of items in main, details in sheet
172
- ```js
173
- // In main area - list of items
174
- <schmancy-list-item @click=${() => {
175
- schmancyContentDrawer.push(new ItemDetail(item))
176
- }}>
177
- ${item.name}
178
- </schmancy-list-item>
179
- ```
180
-
181
- **Settings Panel**: Configuration options in the sheet
182
- ```js
183
- // Push settings component
184
- schmancyContentDrawer.push(new SettingsPanel())
185
- ```
186
-
187
- **Navigation Drawer**: Navigation links in main, content in sheet
188
- ```js
189
- // Navigation item clicks update sheet content
190
- schmancyContentDrawer.push(() => import(`./pages/${page}`))
97
+ ## Properties
98
+
99
+ - `minWidth: {main: number, sheet: number}` - Minimum widths (default: `{main: 360, sheet: 576}`)
100
+ - `open: 'open' | 'close'` - Auto-managed based on mode
101
+ - `mode: 'push' | 'overlay'` - Auto-switches at 936px breakpoint
102
+
103
+ ## Example
104
+
105
+ ```typescript
106
+ html`
107
+ <schmancy-content-drawer>
108
+ <schmancy-content-drawer-main>
109
+ <schmancy-list>
110
+ ${items.map(item => html`
111
+ <schmancy-list-item @click=${() => {
112
+ schmancyContentDrawer.push({
113
+ component: new ItemDetail(),
114
+ props: { item }
115
+ })
116
+ }}>
117
+ ${item.name}
118
+ </schmancy-list-item>
119
+ `)}
120
+ </schmancy-list>
121
+ </schmancy-content-drawer-main>
122
+
123
+ <schmancy-content-drawer-sheet>
124
+ <section slot="placeholder">Select an item</section>
125
+ </schmancy-content-drawer-sheet>
126
+ </schmancy-content-drawer>
127
+ `
191
128
  ```
192
-
193
- ## Related Components
194
-
195
- - [Sheet](./sheet.md) - Modal sheet component used in overlay mode
196
- - [Area](./area.md) - Routing system used in push mode
197
- - [Grid](./grid.md) - Layout system for responsive design
198
- - [List](./list.md) - List component for navigation items
@@ -1,4 +1,4 @@
1
- "use strict";const e=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const r=require("lit/decorators.js");require("./tailwind.mixin-Bz_Bv8SX.cjs");const h=require("./litElement.mixin-Dlq4PNEh.cjs"),c=require("lit");var d=Object.defineProperty,u=Object.getOwnPropertyDescriptor,s=(i,a,p,n)=>{for(var l,o=n>1?void 0:n?u(a,p):a,y=i.length-1;y>=0;y--)(l=i[y])&&(o=(n?l(a,p,o):l(o))||o);return n&&o&&d(a,p,o),o};let t=class extends h.$LitElement(c.css`
1
+ "use strict";const e=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const r=require("lit/decorators.js");require("./tailwind.mixin-CfBr6oca.cjs");const h=require("./litElement.mixin-vtpQghkf.cjs"),c=require("lit");var d=Object.defineProperty,u=Object.getOwnPropertyDescriptor,s=(i,a,p,n)=>{for(var l,o=n>1?void 0:n?u(a,p):a,y=i.length-1;y>=0;y--)(l=i[y])&&(o=(n?l(a,p,o):l(o))||o);return n&&o&&d(a,p,o),o};let t=class extends h.$LitElement(c.css`
2
2
  :host {
3
3
  font-family: inherit;
4
4
  display: block;
@@ -34,4 +34,4 @@
34
34
  </span>
35
35
  </span>
36
36
  `}};s([r.property({type:String})],t.prototype,"ease",2),s([r.property({type:Number})],t.prototype,"delay",2),s([r.property({type:Number})],t.prototype,"stagger",2),s([r.property({type:Number})],t.prototype,"duration",2),s([r.property({type:Array})],t.prototype,"scale",2),s([r.property({type:Array})],t.prototype,"opacity",2),s([r.property({type:Array})],t.prototype,"translateX",2),s([r.property({type:Array})],t.prototype,"translateY",2),s([r.property({type:Array})],t.prototype,"translateZ",2),s([r.property({type:Array})],t.prototype,"rotateZ",2),s([r.property({type:Boolean})],t.prototype,"resetOnScroll",2),s([r.queryAssignedNodes()],t.prototype,"defaultSlot",2),s([r.query(".letters")],t.prototype,"letters",2),s([r.query(".ml7")],t.prototype,"ml7",2),t=s([r.customElement("schmancy-animated-text")],t);
37
- //# sourceMappingURL=animated-text-Dr32Ckh7.cjs.map
37
+ //# sourceMappingURL=animated-text-2eNprXDV.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"animated-text-Dr32Ckh7.cjs","sources":["../src/animated-text/animated-text.ts"],"sourcesContent":["// Removed: import { createTimeline, stagger } from '@packages/anime-beta-master'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport {\n\tconcat,\n\tdistinctUntilChanged,\n\tfilter,\n\tfromEvent,\n\tinterval,\n\tmap,\n\tstartWith,\n\ttake,\n\ttap,\n\tthrottleTime,\n} from 'rxjs'\n\n/**\n * @element schmancy-animated-text\n * Inspired by https://tobiasahlin.com/moving-letters/#1\n */\n@customElement('schmancy-animated-text')\nexport default class SchmancyAnimatedText extends $LitElement(css`\n\t:host {\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t}\n\t.ml7 {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t}\n\t.ml7 .text-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\toverflow: hidden;\n\t}\n\t.ml7 .letter {\n\t\ttransform-origin: 0 100%;\n\t\tdisplay: inline-block;\n\t\topacity: 0;\n\t}\n`) {\n\t@property({ type: String }) ease = 'outExpo' // not a built-in string for Web Animations\n\t@property({ type: Number }) delay = 0\n\t@property({ type: Number }) stagger = 50\n\t@property({ type: Number }) duration = 750\n\t@property({ type: Array }) scale = [0, 1]\n\t@property({ type: Array }) opacity = [0, 1]\n\t@property({ type: Array }) translateX = ['0.55em', '0em']\n\t@property({ type: Array }) translateY = ['1.1em', '0em']\n\t@property({ type: Array }) translateZ = [0, 0]\n\t@property({ type: Array }) rotateZ = [180, 0]\n\t@property({ type: Boolean }) resetOnScroll = true\n\n\t@queryAssignedNodes() defaultSlot!: HTMLElement[]\n\t@query('.letters') letters!: HTMLElement\n\t@query('.ml7') ml7!: HTMLElement\n\n\t// Function to check if an element is in the viewport\n\tisInViewport(element: HTMLElement) {\n\t\tconst rect = element.getBoundingClientRect()\n\t\treturn (\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t)\n\t}\n\n\tasync firstUpdated() {\n\t\t// Split the text into <span class=\"letter\"> ... </span> elements\n\t\tthis.letters.innerHTML = this.defaultSlot[0].textContent!.replace(/\\S/g, `<span class=\"letter\">$&</span>`)\n\n\t\t// Observe viewport + initial readiness\n\t\tconcat(\n\t\t\t// 1) Wait until the element is rendered (width/height > 0)\n\t\t\tinterval(10).pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tfilter(() => {\n\t\t\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\t\t\treturn rect.width > 0 && rect.height > 0\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Then handle scroll events, throttled\n\t\t\tfromEvent(window, 'scroll').pipe(\n\t\t\t\tthrottleTime(0, undefined, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => this.isInViewport(this)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(inViewport => {\n\t\t\t\t\t// If leaving viewport and `resetOnScroll` is true, reset letters to opacity 0\n\t\t\t\t\tif (!inViewport && this.resetOnScroll) {\n\t\t\t\t\t\tArray.from(this.letters.children).forEach((letter: HTMLElement) => {\n\t\t\t\t\t\t\tletter.style.opacity = '0'\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tfilter(isInViewport => isInViewport),\n\t\t\t\t// If resetOnScroll = false, animate only the first time inView. If true, repeat.\n\t\t\t\tthis.resetOnScroll ? tap() : take(1),\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\t// Animate letters with the native Web Animations API\n\t\t\t\t\t\tconst letters = this.shadowRoot!.querySelectorAll<HTMLElement>('.ml7 .letter')\n\n\t\t\t\t\t\tletters.forEach((letter, i) => {\n\t\t\t\t\t\t\t// Combine all transforms into one CSS transform string\n\t\t\t\t\t\t\t// From\n\t\t\t\t\t\t\tconst fromTransform = `\n translate3d(${this.translateX[0]}, ${this.translateY[0]}, ${this.translateZ[0]}px)\n rotateZ(${this.rotateZ[0]}deg)\n scale(${this.scale[0]})\n `\n\t\t\t\t\t\t\t// To\n\t\t\t\t\t\t\tconst toTransform = `\n translate3d(${this.translateX[1]}, ${this.translateY[1]}, ${this.translateZ[1]}px)\n rotateZ(${this.rotateZ[1]}deg)\n scale(${this.scale[1]})\n `\n\t\t\t\t\t\t\t// Approximate `outExpo` or pick a standard easing (like 'ease-out'):\n\t\t\t\t\t\t\t// outExpo often approximated by cubic-bezier(0.19, 1, 0.22, 1)\n\t\t\t\t\t\t\tconst easingMap: Record<string, string> = {\n\t\t\t\t\t\t\t\toutExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n\t\t\t\t\t\t\t\t// add more if you want\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst keyframes: Keyframe[] = [\n\t\t\t\t\t\t\t\t{ transform: fromTransform, opacity: String(this.opacity[0]) },\n\t\t\t\t\t\t\t\t{ transform: toTransform, opacity: String(this.opacity[1]) },\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\tletter.animate(keyframes, {\n\t\t\t\t\t\t\t\tduration: this.duration,\n\t\t\t\t\t\t\t\teasing: easingMap[this.ease] || 'ease-out',\n\t\t\t\t\t\t\t\tdelay: this.delay + i * this.stagger, // staggered start\n\t\t\t\t\t\t\t\tfill: 'forwards', // so the letters remain visible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<span class=\"ml7\">\n\t\t\t\t<span class=\"text-wrapper\">\n\t\t\t\t\t<span class=\"letters\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-animated-text': SchmancyAnimatedText\n\t}\n}\n"],"names":["SchmancyAnimatedText","$LitElement","css","constructor","super","arguments","this","ease","delay","stagger","duration","scale","opacity","translateX","translateY","translateZ","rotateZ","resetOnScroll","element","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","firstUpdated","letters","innerHTML","defaultSlot","textContent","replace","concat","interval","pipe","startWith","filter","width","height","take","fromEvent","throttleTime","leading","trailing","map","isInViewport","distinctUntilChanged","tap","inViewport","Array","from","children","forEach","letter","style","next","shadowRoot","querySelectorAll","i","fromTransform","toTransform","keyframes","transform","String","animate","easing","outExpo","fill","subscribe","render","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"animated-text-2eNprXDV.cjs","sources":["../src/animated-text/animated-text.ts"],"sourcesContent":["// Removed: import { createTimeline, stagger } from '@packages/anime-beta-master'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport {\n\tconcat,\n\tdistinctUntilChanged,\n\tfilter,\n\tfromEvent,\n\tinterval,\n\tmap,\n\tstartWith,\n\ttake,\n\ttap,\n\tthrottleTime,\n} from 'rxjs'\n\n/**\n * @element schmancy-animated-text\n * Inspired by https://tobiasahlin.com/moving-letters/#1\n */\n@customElement('schmancy-animated-text')\nexport default class SchmancyAnimatedText extends $LitElement(css`\n\t:host {\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t}\n\t.ml7 {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t}\n\t.ml7 .text-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\toverflow: hidden;\n\t}\n\t.ml7 .letter {\n\t\ttransform-origin: 0 100%;\n\t\tdisplay: inline-block;\n\t\topacity: 0;\n\t}\n`) {\n\t@property({ type: String }) ease = 'outExpo' // not a built-in string for Web Animations\n\t@property({ type: Number }) delay = 0\n\t@property({ type: Number }) stagger = 50\n\t@property({ type: Number }) duration = 750\n\t@property({ type: Array }) scale = [0, 1]\n\t@property({ type: Array }) opacity = [0, 1]\n\t@property({ type: Array }) translateX = ['0.55em', '0em']\n\t@property({ type: Array }) translateY = ['1.1em', '0em']\n\t@property({ type: Array }) translateZ = [0, 0]\n\t@property({ type: Array }) rotateZ = [180, 0]\n\t@property({ type: Boolean }) resetOnScroll = true\n\n\t@queryAssignedNodes() defaultSlot!: HTMLElement[]\n\t@query('.letters') letters!: HTMLElement\n\t@query('.ml7') ml7!: HTMLElement\n\n\t// Function to check if an element is in the viewport\n\tisInViewport(element: HTMLElement) {\n\t\tconst rect = element.getBoundingClientRect()\n\t\treturn (\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t)\n\t}\n\n\tasync firstUpdated() {\n\t\t// Split the text into <span class=\"letter\"> ... </span> elements\n\t\tthis.letters.innerHTML = this.defaultSlot[0].textContent!.replace(/\\S/g, `<span class=\"letter\">$&</span>`)\n\n\t\t// Observe viewport + initial readiness\n\t\tconcat(\n\t\t\t// 1) Wait until the element is rendered (width/height > 0)\n\t\t\tinterval(10).pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tfilter(() => {\n\t\t\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\t\t\treturn rect.width > 0 && rect.height > 0\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Then handle scroll events, throttled\n\t\t\tfromEvent(window, 'scroll').pipe(\n\t\t\t\tthrottleTime(0, undefined, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => this.isInViewport(this)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(inViewport => {\n\t\t\t\t\t// If leaving viewport and `resetOnScroll` is true, reset letters to opacity 0\n\t\t\t\t\tif (!inViewport && this.resetOnScroll) {\n\t\t\t\t\t\tArray.from(this.letters.children).forEach((letter: HTMLElement) => {\n\t\t\t\t\t\t\tletter.style.opacity = '0'\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tfilter(isInViewport => isInViewport),\n\t\t\t\t// If resetOnScroll = false, animate only the first time inView. If true, repeat.\n\t\t\t\tthis.resetOnScroll ? tap() : take(1),\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\t// Animate letters with the native Web Animations API\n\t\t\t\t\t\tconst letters = this.shadowRoot!.querySelectorAll<HTMLElement>('.ml7 .letter')\n\n\t\t\t\t\t\tletters.forEach((letter, i) => {\n\t\t\t\t\t\t\t// Combine all transforms into one CSS transform string\n\t\t\t\t\t\t\t// From\n\t\t\t\t\t\t\tconst fromTransform = `\n translate3d(${this.translateX[0]}, ${this.translateY[0]}, ${this.translateZ[0]}px)\n rotateZ(${this.rotateZ[0]}deg)\n scale(${this.scale[0]})\n `\n\t\t\t\t\t\t\t// To\n\t\t\t\t\t\t\tconst toTransform = `\n translate3d(${this.translateX[1]}, ${this.translateY[1]}, ${this.translateZ[1]}px)\n rotateZ(${this.rotateZ[1]}deg)\n scale(${this.scale[1]})\n `\n\t\t\t\t\t\t\t// Approximate `outExpo` or pick a standard easing (like 'ease-out'):\n\t\t\t\t\t\t\t// outExpo often approximated by cubic-bezier(0.19, 1, 0.22, 1)\n\t\t\t\t\t\t\tconst easingMap: Record<string, string> = {\n\t\t\t\t\t\t\t\toutExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n\t\t\t\t\t\t\t\t// add more if you want\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst keyframes: Keyframe[] = [\n\t\t\t\t\t\t\t\t{ transform: fromTransform, opacity: String(this.opacity[0]) },\n\t\t\t\t\t\t\t\t{ transform: toTransform, opacity: String(this.opacity[1]) },\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\tletter.animate(keyframes, {\n\t\t\t\t\t\t\t\tduration: this.duration,\n\t\t\t\t\t\t\t\teasing: easingMap[this.ease] || 'ease-out',\n\t\t\t\t\t\t\t\tdelay: this.delay + i * this.stagger, // staggered start\n\t\t\t\t\t\t\t\tfill: 'forwards', // so the letters remain visible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<span class=\"ml7\">\n\t\t\t\t<span class=\"text-wrapper\">\n\t\t\t\t\t<span class=\"letters\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-animated-text': SchmancyAnimatedText\n\t}\n}\n"],"names":["SchmancyAnimatedText","$LitElement","css","constructor","super","arguments","this","ease","delay","stagger","duration","scale","opacity","translateX","translateY","translateZ","rotateZ","resetOnScroll","element","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","firstUpdated","letters","innerHTML","defaultSlot","textContent","replace","concat","interval","pipe","startWith","filter","width","height","take","fromEvent","throttleTime","leading","trailing","map","isInViewport","distinctUntilChanged","tap","inViewport","Array","from","children","forEach","letter","style","next","shadowRoot","querySelectorAll","i","fromTransform","toTransform","keyframes","transform","String","animate","easing","outExpo","fill","subscribe","render","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}