@mhmo91/schmancy 0.4.73 → 0.4.75

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 (389) hide show
  1. package/ai/area.md +525 -108
  2. package/ai/busy.md +2 -1
  3. package/ai/button.md +4 -0
  4. package/ai/code-highlight.md +2 -1
  5. package/ai/content-drawer.md +2 -1
  6. package/ai/context.md +7 -2
  7. package/ai/countries.md +2 -1
  8. package/ai/date-range-inline.md +262 -0
  9. package/ai/date-range.md +2 -1
  10. package/ai/details.md +194 -0
  11. package/ai/dialog.md +2 -1
  12. package/ai/directives.md +2 -1
  13. package/ai/form.md +10 -10
  14. package/ai/list.md +10 -9
  15. package/ai/mailbox.md +530 -0
  16. package/ai/map.md +2 -1
  17. package/ai/notification.md +14 -12
  18. package/ai/payment-card-form.md +2 -1
  19. package/ai/sheet.md +6 -4
  20. package/ai/steps.md +6 -0
  21. package/ai/store.md +8 -4
  22. package/ai/surface.md +2 -1
  23. package/ai/teleport.md +2 -1
  24. package/ai/theme.md +690 -8
  25. package/ai/timezone.md +2 -1
  26. package/ai/typography.md +2 -1
  27. package/dist/ai/area.md +525 -108
  28. package/dist/ai/busy.md +2 -1
  29. package/dist/ai/button.md +4 -0
  30. package/dist/ai/code-highlight.md +2 -1
  31. package/dist/ai/content-drawer.md +2 -1
  32. package/dist/ai/context.md +7 -2
  33. package/dist/ai/countries.md +2 -1
  34. package/dist/ai/date-range-inline.md +262 -0
  35. package/dist/ai/date-range.md +2 -1
  36. package/dist/ai/details.md +194 -0
  37. package/dist/ai/dialog.md +2 -1
  38. package/dist/ai/directives.md +2 -1
  39. package/dist/ai/form.md +10 -10
  40. package/dist/ai/list.md +10 -9
  41. package/dist/ai/mailbox.md +530 -0
  42. package/dist/ai/map.md +2 -1
  43. package/dist/ai/notification.md +14 -12
  44. package/dist/ai/payment-card-form.md +2 -1
  45. package/dist/ai/sheet.md +6 -4
  46. package/dist/ai/steps.md +6 -0
  47. package/dist/ai/store.md +8 -4
  48. package/dist/ai/surface.md +2 -1
  49. package/dist/ai/teleport.md +2 -1
  50. package/dist/ai/theme.md +690 -8
  51. package/dist/ai/timezone.md +2 -1
  52. package/dist/ai/typography.md +2 -1
  53. package/dist/{animated-text-Dj3HHUD4.js → animated-text-CqpyC7Y0.js} +3 -3
  54. package/dist/{animated-text-Dj3HHUD4.js.map → animated-text-CqpyC7Y0.js.map} +1 -1
  55. package/dist/{animated-text-CPAqO_J3.cjs → animated-text-DlRt6Q09.cjs} +2 -2
  56. package/dist/{animated-text-CPAqO_J3.cjs.map → animated-text-DlRt6Q09.cjs.map} +1 -1
  57. package/dist/animated-text.cjs +1 -1
  58. package/dist/animated-text.js +1 -1
  59. package/dist/area.cjs +1 -1
  60. package/dist/area.js +1 -1
  61. package/dist/{autocomplete-kJ7y028b.js → autocomplete-B-oKMH7m.js} +3 -3
  62. package/dist/{autocomplete-kJ7y028b.js.map → autocomplete-B-oKMH7m.js.map} +1 -1
  63. package/dist/{autocomplete-B3ArCTZl.cjs → autocomplete-BOGG_9iL.cjs} +2 -2
  64. package/dist/{autocomplete-B3ArCTZl.cjs.map → autocomplete-BOGG_9iL.cjs.map} +1 -1
  65. package/dist/autocomplete.cjs +1 -1
  66. package/dist/autocomplete.js +1 -1
  67. package/dist/{avatar-r7OnlyPP.cjs → avatar-C27bnQKE.cjs} +2 -2
  68. package/dist/{avatar-r7OnlyPP.cjs.map → avatar-C27bnQKE.cjs.map} +1 -1
  69. package/dist/{avatar-DI5vtg3k.js → avatar-DKVNl5rX.js} +50 -50
  70. package/dist/{avatar-DI5vtg3k.js.map → avatar-DKVNl5rX.js.map} +1 -1
  71. package/dist/badge.cjs +1 -1
  72. package/dist/badge.js +1 -1
  73. package/dist/{boat-Cp8VgFWP.js → boat-CdR5Pqik.js} +2 -2
  74. package/dist/{boat-Cp8VgFWP.js.map → boat-CdR5Pqik.js.map} +1 -1
  75. package/dist/{boat-COlWXsv8.cjs → boat-DMKcZpZb.cjs} +2 -2
  76. package/dist/{boat-COlWXsv8.cjs.map → boat-DMKcZpZb.cjs.map} +1 -1
  77. package/dist/boat.cjs +1 -1
  78. package/dist/boat.js +1 -1
  79. package/dist/busy.cjs +1 -1
  80. package/dist/busy.js +1 -1
  81. package/dist/button.cjs +1 -1
  82. package/dist/button.js +1 -1
  83. package/dist/card.cjs +1 -1
  84. package/dist/card.js +1 -1
  85. package/dist/{checkbox-Cbkcvj-3.js → checkbox-CVwU3M4h.js} +2 -2
  86. package/dist/{checkbox-Cbkcvj-3.js.map → checkbox-CVwU3M4h.js.map} +1 -1
  87. package/dist/{checkbox-u355dDEB.cjs → checkbox-DP_zX786.cjs} +2 -2
  88. package/dist/{checkbox-u355dDEB.cjs.map → checkbox-DP_zX786.cjs.map} +1 -1
  89. package/dist/checkbox.cjs +1 -1
  90. package/dist/checkbox.js +1 -1
  91. package/dist/{chips-BFn88CJs.cjs → chips-BuMUH3zA.cjs} +2 -2
  92. package/dist/{chips-BFn88CJs.cjs.map → chips-BuMUH3zA.cjs.map} +1 -1
  93. package/dist/{chips-Y5nzkBJw.js → chips-DcCUwYBu.js} +3 -3
  94. package/dist/{chips-Y5nzkBJw.js.map → chips-DcCUwYBu.js.map} +1 -1
  95. package/dist/chips.cjs +1 -1
  96. package/dist/chips.js +1 -1
  97. package/dist/code-highlight.cjs +1 -1
  98. package/dist/code-highlight.js +1 -1
  99. package/dist/{code-preview-D2peRzvQ.js → code-preview-CIXEd04f.js} +3 -3
  100. package/dist/{code-preview-D2peRzvQ.js.map → code-preview-CIXEd04f.js.map} +1 -1
  101. package/dist/{code-preview-CsQWYHL5.cjs → code-preview-CdCzzZTX.cjs} +3 -3
  102. package/dist/{code-preview-CsQWYHL5.cjs.map → code-preview-CdCzzZTX.cjs.map} +1 -1
  103. package/dist/components.cjs +1 -1
  104. package/dist/components.js +1 -1
  105. package/dist/content-drawer.cjs +1 -1
  106. package/dist/content-drawer.js +1 -1
  107. package/dist/{date-range-Ya1J9HQQ.cjs → date-range-CvD9zwK9.cjs} +2 -2
  108. package/dist/{date-range-Ya1J9HQQ.cjs.map → date-range-CvD9zwK9.cjs.map} +1 -1
  109. package/dist/{date-range-inline-Q5qz2lG_.js → date-range-inline-5QP9av94.js} +3 -3
  110. package/dist/{date-range-inline-Q5qz2lG_.js.map → date-range-inline-5QP9av94.js.map} +1 -1
  111. package/dist/{date-range-inline-CXBrxoim.cjs → date-range-inline-CP_a_w01.cjs} +2 -2
  112. package/dist/{date-range-inline-CXBrxoim.cjs.map → date-range-inline-CP_a_w01.cjs.map} +1 -1
  113. package/dist/date-range-inline.cjs +1 -1
  114. package/dist/date-range-inline.js +1 -1
  115. package/dist/{date-range-DnKu_v9b.js → date-range-lJ_fPY4v.js} +4 -4
  116. package/dist/{date-range-DnKu_v9b.js.map → date-range-lJ_fPY4v.js.map} +1 -1
  117. package/dist/date-range.cjs +1 -1
  118. package/dist/date-range.js +1 -1
  119. package/dist/{delay-DVqCtHik.js → delay-BM1jk7XF.js} +2 -2
  120. package/dist/{delay-DVqCtHik.js.map → delay-BM1jk7XF.js.map} +1 -1
  121. package/dist/{delay-Dl6B_yyv.cjs → delay-CB0Wohe7.cjs} +2 -2
  122. package/dist/{delay-Dl6B_yyv.cjs.map → delay-CB0Wohe7.cjs.map} +1 -1
  123. package/dist/delay.cjs +1 -1
  124. package/dist/delay.js +1 -1
  125. package/dist/{details-w1ooWiKA.js → details-B9JrXrCO.js} +2 -2
  126. package/dist/{details-w1ooWiKA.js.map → details-B9JrXrCO.js.map} +1 -1
  127. package/dist/{details-LZ_GGbW-.cjs → details-C22WoRWP.cjs} +2 -2
  128. package/dist/{details-LZ_GGbW-.cjs.map → details-C22WoRWP.cjs.map} +1 -1
  129. package/dist/details.cjs +1 -1
  130. package/dist/details.js +1 -1
  131. package/dist/{dialog-content-B7V_S6GR.js → dialog-content-BHR9cUJ-.js} +4 -4
  132. package/dist/{dialog-content-B7V_S6GR.js.map → dialog-content-BHR9cUJ-.js.map} +1 -1
  133. package/dist/{dialog-content-VroTT22f.cjs → dialog-content-CpxWMPlh.cjs} +2 -2
  134. package/dist/{dialog-content-VroTT22f.cjs.map → dialog-content-CpxWMPlh.cjs.map} +1 -1
  135. package/dist/{dialog-service-Dpz_NIRP.js → dialog-service-DwhuICgc.js} +2 -2
  136. package/dist/dialog-service-DwhuICgc.js.map +1 -0
  137. package/dist/dialog-service-juvsgc5X.cjs +2 -0
  138. package/dist/dialog-service-juvsgc5X.cjs.map +1 -0
  139. package/dist/dialog.cjs +1 -1
  140. package/dist/dialog.js +2 -2
  141. package/dist/{divider-OuCqxcUB.js → divider-Cz4g_Ept.js} +3 -3
  142. package/dist/{divider-OuCqxcUB.js.map → divider-Cz4g_Ept.js.map} +1 -1
  143. package/dist/{divider-CegpMW-2.cjs → divider-DAg0oW4T.cjs} +2 -2
  144. package/dist/{divider-CegpMW-2.cjs.map → divider-DAg0oW4T.cjs.map} +1 -1
  145. package/dist/divider.cjs +1 -1
  146. package/dist/divider.js +1 -1
  147. package/dist/{dropdown-content-BuKCBydD.js → dropdown-content-Bto1swKT.js} +3 -3
  148. package/dist/{dropdown-content-BuKCBydD.js.map → dropdown-content-Bto1swKT.js.map} +1 -1
  149. package/dist/{dropdown-content-f0LuoUKR.cjs → dropdown-content-QvR9QvT0.cjs} +2 -2
  150. package/dist/{dropdown-content-f0LuoUKR.cjs.map → dropdown-content-QvR9QvT0.cjs.map} +1 -1
  151. package/dist/dropdown.cjs +1 -1
  152. package/dist/dropdown.js +1 -1
  153. package/dist/{email-recipients-CvSwxcso.js → email-recipients-C9Yx0eML.js} +7 -7
  154. package/dist/{email-recipients-CvSwxcso.js.map → email-recipients-C9Yx0eML.js.map} +1 -1
  155. package/dist/{email-recipients-BlEtpbdr.cjs → email-recipients-aEI5Hz1y.cjs} +2 -2
  156. package/dist/{email-recipients-BlEtpbdr.cjs.map → email-recipients-aEI5Hz1y.cjs.map} +1 -1
  157. package/dist/extra.cjs +1 -1
  158. package/dist/extra.js +1 -1
  159. package/dist/{flex-HyTTaFX9.js → flex-8Zt64KfZ.js} +2 -2
  160. package/dist/{flex-HyTTaFX9.js.map → flex-8Zt64KfZ.js.map} +1 -1
  161. package/dist/{flex-Cdv04m_E.cjs → flex-BWZv2xik.cjs} +2 -2
  162. package/dist/{flex-Cdv04m_E.cjs.map → flex-BWZv2xik.cjs.map} +1 -1
  163. package/dist/{form-CXRNS-AS.cjs → form-BH43OMu3.cjs} +2 -2
  164. package/dist/{form-CXRNS-AS.cjs.map → form-BH43OMu3.cjs.map} +1 -1
  165. package/dist/{form-BNTXCzQo.js → form-DeoSuBtM.js} +2 -2
  166. package/dist/{form-BNTXCzQo.js.map → form-DeoSuBtM.js.map} +1 -1
  167. package/dist/form.cjs +1 -1
  168. package/dist/form.js +1 -1
  169. package/dist/{formField.mixin-MhetZTeW.js → formField.mixin-BaPL0TYo.js} +2 -2
  170. package/dist/{formField.mixin-MhetZTeW.js.map → formField.mixin-BaPL0TYo.js.map} +1 -1
  171. package/dist/{formField.mixin-zezhhNIA.cjs → formField.mixin-Dta3OeAY.cjs} +2 -2
  172. package/dist/{formField.mixin-zezhhNIA.cjs.map → formField.mixin-Dta3OeAY.cjs.map} +1 -1
  173. package/dist/{icon-C71zn7AW.js → icon-B0JNrBfq.js} +2 -2
  174. package/dist/{icon-C71zn7AW.js.map → icon-B0JNrBfq.js.map} +1 -1
  175. package/dist/{icon-e6XggWlw.cjs → icon-DY2pBLIU.cjs} +2 -2
  176. package/dist/{icon-e6XggWlw.cjs.map → icon-DY2pBLIU.cjs.map} +1 -1
  177. package/dist/{icon-button-CO8rMFUR.cjs → icon-button-D1GjgM8z.cjs} +2 -2
  178. package/dist/{icon-button-CO8rMFUR.cjs.map → icon-button-D1GjgM8z.cjs.map} +1 -1
  179. package/dist/{icon-button-KoYGGW6a.js → icon-button-OZM1xg0D.js} +3 -3
  180. package/dist/{icon-button-KoYGGW6a.js.map → icon-button-OZM1xg0D.js.map} +1 -1
  181. package/dist/icons.cjs +1 -1
  182. package/dist/icons.js +1 -1
  183. package/dist/index.cjs +1 -1
  184. package/dist/index.js +76 -74
  185. package/dist/index.js.map +1 -1
  186. package/dist/{input-LTpT28E4.js → input-CkvjCut5.js} +3 -3
  187. package/dist/{input-LTpT28E4.js.map → input-CkvjCut5.js.map} +1 -1
  188. package/dist/{input-CFvMe_KR.cjs → input-lUWuO40Q.cjs} +2 -2
  189. package/dist/{input-CFvMe_KR.cjs.map → input-lUWuO40Q.cjs.map} +1 -1
  190. package/dist/input.cjs +1 -1
  191. package/dist/input.js +1 -1
  192. package/dist/layout.cjs +1 -1
  193. package/dist/layout.js +1 -1
  194. package/dist/{list-CAJJTrLl.js → list-5rw56k73.js} +2 -2
  195. package/dist/{list-CAJJTrLl.js.map → list-5rw56k73.js.map} +1 -1
  196. package/dist/{list-D2dyHYN9.cjs → list-CIt75CB5.cjs} +2 -2
  197. package/dist/{list-D2dyHYN9.cjs.map → list-CIt75CB5.cjs.map} +1 -1
  198. package/dist/list.cjs +1 -1
  199. package/dist/list.js +1 -1
  200. package/dist/{litElement.mixin-4iclDbF3.cjs → litElement.mixin-BLa7fWsS.cjs} +2 -2
  201. package/dist/{litElement.mixin-4iclDbF3.cjs.map → litElement.mixin-BLa7fWsS.cjs.map} +1 -1
  202. package/dist/{litElement.mixin-SeAIQuRg.js → litElement.mixin-BZErt4H3.js} +2 -2
  203. package/dist/{litElement.mixin-SeAIQuRg.js.map → litElement.mixin-BZErt4H3.js.map} +1 -1
  204. package/dist/mailbox.cjs +1 -1
  205. package/dist/mailbox.js +1 -1
  206. package/dist/{map-CMkosiu4.cjs → map-BY_0W4ER.cjs} +2 -2
  207. package/dist/{map-CMkosiu4.cjs.map → map-BY_0W4ER.cjs.map} +1 -1
  208. package/dist/{map-DwMX_LnY.js → map-BrguuFGa.js} +2 -2
  209. package/dist/{map-DwMX_LnY.js.map → map-BrguuFGa.js.map} +1 -1
  210. package/dist/map.cjs +1 -1
  211. package/dist/map.js +1 -1
  212. package/dist/{media-B98kFRvT.js → media-CLz2t5zS.js} +2 -2
  213. package/dist/{media-B98kFRvT.js.map → media-CLz2t5zS.js.map} +1 -1
  214. package/dist/{media-DxbLFhc5.cjs → media-D6ZtvTjC.cjs} +2 -2
  215. package/dist/{media-DxbLFhc5.cjs.map → media-D6ZtvTjC.cjs.map} +1 -1
  216. package/dist/{menu-ChMwBut9.js → menu-CgDSJpDV.js} +3 -3
  217. package/dist/{menu-ChMwBut9.js.map → menu-CgDSJpDV.js.map} +1 -1
  218. package/dist/{menu-DTRbll_X.cjs → menu-DWD_IywE.cjs} +2 -2
  219. package/dist/{menu-DTRbll_X.cjs.map → menu-DWD_IywE.cjs.map} +1 -1
  220. package/dist/menu.cjs +1 -1
  221. package/dist/menu.js +1 -1
  222. package/dist/nav-drawer.cjs +1 -1
  223. package/dist/nav-drawer.js +1 -1
  224. package/dist/{notification-service-BiEAwrL6.js → notification-service-1HGYK2tM.js} +4 -4
  225. package/dist/{notification-service-BiEAwrL6.js.map → notification-service-1HGYK2tM.js.map} +1 -1
  226. package/dist/{notification-service-h3GuXar7.cjs → notification-service-A3reAJZQ.cjs} +2 -2
  227. package/dist/{notification-service-h3GuXar7.cjs.map → notification-service-A3reAJZQ.cjs.map} +1 -1
  228. package/dist/notification.cjs +1 -1
  229. package/dist/notification.js +2 -2
  230. package/dist/{notify-1NUgv3Qz.js → notify-Bt-KiLeP.js} +2 -2
  231. package/dist/{notify-1NUgv3Qz.js.map → notify-Bt-KiLeP.js.map} +1 -1
  232. package/dist/{notify-CP9929J0.cjs → notify-CVbsMt75.cjs} +2 -2
  233. package/dist/{notify-CP9929J0.cjs.map → notify-CVbsMt75.cjs.map} +1 -1
  234. package/dist/{option-VxlQIYFR.cjs → option-Cd0TxMBE.cjs} +2 -2
  235. package/dist/{option-VxlQIYFR.cjs.map → option-Cd0TxMBE.cjs.map} +1 -1
  236. package/dist/{option-DvEFWkrm.js → option-DvSZ0D0R.js} +2 -2
  237. package/dist/{option-DvEFWkrm.js.map → option-DvSZ0D0R.js.map} +1 -1
  238. package/dist/option.cjs +1 -1
  239. package/dist/option.js +1 -1
  240. package/dist/{payment-card-form-CEd08rns.js → payment-card-form-C6wrIT_X.js} +3 -3
  241. package/dist/{payment-card-form-CEd08rns.js.map → payment-card-form-C6wrIT_X.js.map} +1 -1
  242. package/dist/{payment-card-form-CAPM_YfT.cjs → payment-card-form-CJkWQ3j4.cjs} +2 -2
  243. package/dist/{payment-card-form-CAPM_YfT.cjs.map → payment-card-form-CJkWQ3j4.cjs.map} +1 -1
  244. package/dist/{progress-Bu8wtPRI.cjs → progress-D0iWLtHk.cjs} +2 -2
  245. package/dist/{progress-Bu8wtPRI.cjs.map → progress-D0iWLtHk.cjs.map} +1 -1
  246. package/dist/{progress-CL4SPk5b.js → progress-pOL6OHwT.js} +2 -2
  247. package/dist/{progress-CL4SPk5b.js.map → progress-pOL6OHwT.js.map} +1 -1
  248. package/dist/progress.cjs +1 -1
  249. package/dist/progress.js +1 -1
  250. package/dist/{radio-button-B087BeTl.js → radio-button-C-t6JJsj.js} +3 -3
  251. package/dist/{radio-button-B087BeTl.js.map → radio-button-C-t6JJsj.js.map} +1 -1
  252. package/dist/{radio-button-vz9nLR-m.cjs → radio-button-CSV7-ftB.cjs} +2 -2
  253. package/dist/{radio-button-vz9nLR-m.cjs.map → radio-button-CSV7-ftB.cjs.map} +1 -1
  254. package/dist/radio-group.cjs +1 -1
  255. package/dist/radio-group.js +1 -1
  256. package/dist/route.component-BWVESeW2.cjs +12 -0
  257. package/dist/route.component-BWVESeW2.cjs.map +1 -0
  258. package/dist/route.component-DkPA8FVn.js +348 -0
  259. package/dist/route.component-DkPA8FVn.js.map +1 -0
  260. package/dist/{schmancy-steps-container-CEvpeKIe.js → schmancy-steps-container-AIJ2_ZSN.js} +2 -2
  261. package/dist/{schmancy-steps-container-CEvpeKIe.js.map → schmancy-steps-container-AIJ2_ZSN.js.map} +1 -1
  262. package/dist/{schmancy-steps-container-DvSClSo1.cjs → schmancy-steps-container-CgzGlBCk.cjs} +2 -2
  263. package/dist/{schmancy-steps-container-DvSClSo1.cjs.map → schmancy-steps-container-CgzGlBCk.cjs.map} +1 -1
  264. package/dist/{select-BoUYZPyl.js → select-CwJ4OuVo.js} +3 -3
  265. package/dist/{select-BoUYZPyl.js.map → select-CwJ4OuVo.js.map} +1 -1
  266. package/dist/{select-4VXPMU8r.cjs → select-GBaqnfMC.cjs} +2 -2
  267. package/dist/{select-4VXPMU8r.cjs.map → select-GBaqnfMC.cjs.map} +1 -1
  268. package/dist/select.cjs +1 -1
  269. package/dist/select.js +1 -1
  270. package/dist/{sheet-IfHxyIo_.cjs → sheet-CXd47YKG.cjs} +2 -2
  271. package/dist/{sheet-IfHxyIo_.cjs.map → sheet-CXd47YKG.cjs.map} +1 -1
  272. package/dist/{sheet-C6djCmPV.js → sheet-fT1oxKgG.js} +4 -4
  273. package/dist/{sheet-C6djCmPV.js.map → sheet-fT1oxKgG.js.map} +1 -1
  274. package/dist/sheet.cjs +1 -1
  275. package/dist/sheet.js +2 -2
  276. package/dist/sheet.service-BxvWBGsJ.cjs +2 -0
  277. package/dist/sheet.service-BxvWBGsJ.cjs.map +1 -0
  278. package/dist/{sheet.service-DZGMoIHy.js → sheet.service-lXqUf6n5.js} +2 -2
  279. package/dist/sheet.service-lXqUf6n5.js.map +1 -0
  280. package/dist/{slider-DERHNjqI.js → slider-CYsku-3b.js} +3 -3
  281. package/dist/{slider-DERHNjqI.js.map → slider-CYsku-3b.js.map} +1 -1
  282. package/dist/{slider-BfNNQ6qI.cjs → slider-DxSzFbQe.cjs} +2 -2
  283. package/dist/{slider-BfNNQ6qI.cjs.map → slider-DxSzFbQe.cjs.map} +1 -1
  284. package/dist/slider.cjs +1 -1
  285. package/dist/slider.js +1 -1
  286. package/dist/{spinner-BOdUWwXq.js → spinner-CrK1E8LD.js} +2 -2
  287. package/dist/{spinner-BOdUWwXq.js.map → spinner-CrK1E8LD.js.map} +1 -1
  288. package/dist/{spinner-Bip-lfsc.cjs → spinner-DrG_NQpx.cjs} +2 -2
  289. package/dist/{spinner-Bip-lfsc.cjs.map → spinner-DrG_NQpx.cjs.map} +1 -1
  290. package/dist/steps.cjs +1 -1
  291. package/dist/steps.js +1 -1
  292. package/dist/{surface-CyhVK7JG.js → surface-C64YekDh.js} +2 -2
  293. package/dist/{surface-CyhVK7JG.js.map → surface-C64YekDh.js.map} +1 -1
  294. package/dist/{surface--Nh6Q896.cjs → surface-DVNi8l6T.cjs} +2 -2
  295. package/dist/{surface--Nh6Q896.cjs.map → surface-DVNi8l6T.cjs.map} +1 -1
  296. package/dist/surface.cjs +1 -1
  297. package/dist/surface.js +1 -1
  298. package/dist/{table-x9dbc3AY.cjs → table-B3WKGYlu.cjs} +2 -2
  299. package/dist/{table-x9dbc3AY.cjs.map → table-B3WKGYlu.cjs.map} +1 -1
  300. package/dist/{table-DnPQ0zCd.js → table-DmrYZ1hR.js} +2 -2
  301. package/dist/{table-DnPQ0zCd.js.map → table-DmrYZ1hR.js.map} +1 -1
  302. package/dist/table.cjs +1 -1
  303. package/dist/table.js +1 -1
  304. package/dist/{tabs-compatibility-D3HfZRKv.cjs → tabs-compatibility-Ds7SEeST.cjs} +2 -2
  305. package/dist/{tabs-compatibility-D3HfZRKv.cjs.map → tabs-compatibility-Ds7SEeST.cjs.map} +1 -1
  306. package/dist/{tabs-compatibility-Dazz1g0Q.js → tabs-compatibility-Uetjk25R.js} +2 -2
  307. package/dist/{tabs-compatibility-Dazz1g0Q.js.map → tabs-compatibility-Uetjk25R.js.map} +1 -1
  308. package/dist/tabs.cjs +1 -1
  309. package/dist/tabs.js +1 -1
  310. package/dist/{tailwind.mixin-kvywknTU.js → tailwind.mixin-B6ADeWOc.js} +2 -2
  311. package/dist/{tailwind.mixin-kvywknTU.js.map → tailwind.mixin-B6ADeWOc.js.map} +1 -1
  312. package/dist/{tailwind.mixin-Bwf86oi5.cjs → tailwind.mixin-df9KoZ9x.cjs} +2 -2
  313. package/dist/{tailwind.mixin-Bwf86oi5.cjs.map → tailwind.mixin-df9KoZ9x.cjs.map} +1 -1
  314. package/dist/teleport.cjs +1 -1
  315. package/dist/teleport.js +1 -1
  316. package/dist/{textarea-bHJFDEva.js → textarea-B1Tng7F9.js} +2 -2
  317. package/dist/{textarea-bHJFDEva.js.map → textarea-B1Tng7F9.js.map} +1 -1
  318. package/dist/{textarea-xRo6a5-Y.cjs → textarea-QKNA3oAQ.cjs} +2 -2
  319. package/dist/{textarea-xRo6a5-Y.cjs.map → textarea-QKNA3oAQ.cjs.map} +1 -1
  320. package/dist/textarea.cjs +1 -1
  321. package/dist/textarea.js +1 -1
  322. package/dist/{theme-button-BPFuZSBY.js → theme-button-CYEhS3ub.js} +2 -2
  323. package/dist/{theme-button-BPFuZSBY.js.map → theme-button-CYEhS3ub.js.map} +1 -1
  324. package/dist/{theme-button-lvD9uCTZ.cjs → theme-button-CoCFS3Rx.cjs} +2 -2
  325. package/dist/{theme-button-lvD9uCTZ.cjs.map → theme-button-CoCFS3Rx.cjs.map} +1 -1
  326. package/dist/theme-button.cjs +1 -1
  327. package/dist/theme-button.js +1 -1
  328. package/dist/theme.cjs +1 -1
  329. package/dist/theme.component-C12jLwtB.cjs +3 -0
  330. package/dist/theme.component-C12jLwtB.cjs.map +1 -0
  331. package/dist/{theme.component-C-PfGTcN.js → theme.component-Df731_fn.js} +247 -171
  332. package/dist/theme.component-Df731_fn.js.map +1 -0
  333. package/dist/theme.events-CPSLaOlR.js +6 -0
  334. package/dist/theme.events-CPSLaOlR.js.map +1 -0
  335. package/dist/theme.events-Car6U_SQ.cjs +2 -0
  336. package/dist/theme.events-Car6U_SQ.cjs.map +1 -0
  337. package/dist/theme.interface-C5Kj6WjD.js.map +1 -1
  338. package/dist/theme.interface-Xg5Zi46a.cjs.map +1 -1
  339. package/dist/theme.js +9 -7
  340. package/dist/theme.js.map +1 -1
  341. package/dist/{timezone-OLjylRB7.cjs → timezone-B7bscKFN.cjs} +2 -2
  342. package/dist/{timezone-OLjylRB7.cjs.map → timezone-B7bscKFN.cjs.map} +1 -1
  343. package/dist/{timezone-BDSbTYTk.js → timezone-CdtCVjMF.js} +3 -3
  344. package/dist/{timezone-BDSbTYTk.js.map → timezone-CdtCVjMF.js.map} +1 -1
  345. package/dist/{tooltip-iM0cfzsV.cjs → tooltip-CjoNCIvr.cjs} +2 -2
  346. package/dist/{tooltip-iM0cfzsV.cjs.map → tooltip-CjoNCIvr.cjs.map} +1 -1
  347. package/dist/{tooltip-CWiU3SEA.js → tooltip-JVkexTyf.js} +2 -2
  348. package/dist/{tooltip-CWiU3SEA.js.map → tooltip-JVkexTyf.js.map} +1 -1
  349. package/dist/tooltip.cjs +1 -1
  350. package/dist/tooltip.js +1 -1
  351. package/dist/{tree-CXIrKI2O.cjs → tree-Be48ABq4.cjs} +2 -2
  352. package/dist/{tree-CXIrKI2O.cjs.map → tree-Be48ABq4.cjs.map} +1 -1
  353. package/dist/{tree-JUf2hHiW.js → tree-CaqiNcJJ.js} +2 -2
  354. package/dist/{tree-JUf2hHiW.js.map → tree-CaqiNcJJ.js.map} +1 -1
  355. package/dist/tree.cjs +1 -1
  356. package/dist/tree.js +1 -1
  357. package/dist/{typewriter-DQuULTla.js → typewriter-CoMrmwFJ.js} +8 -8
  358. package/dist/{typewriter-DQuULTla.js.map → typewriter-CoMrmwFJ.js.map} +1 -1
  359. package/dist/{typewriter-YW7NGa6H.cjs → typewriter-DCYDScE9.cjs} +2 -2
  360. package/dist/{typewriter-YW7NGa6H.cjs.map → typewriter-DCYDScE9.cjs.map} +1 -1
  361. package/dist/typewriter.cjs +1 -1
  362. package/dist/typewriter.js +1 -1
  363. package/dist/{typography-CkLztts5.cjs → typography-BQg6J2hD.cjs} +2 -2
  364. package/dist/{typography-CkLztts5.cjs.map → typography-BQg6J2hD.cjs.map} +1 -1
  365. package/dist/{typography-kXb173Io.js → typography-DkJagEoF.js} +2 -2
  366. package/dist/{typography-kXb173Io.js.map → typography-DkJagEoF.js.map} +1 -1
  367. package/dist/typography.cjs +1 -1
  368. package/dist/typography.js +1 -1
  369. package/package.json +1 -1
  370. package/types/src/area/area.component.d.ts +4 -0
  371. package/types/src/theme/context.d.ts +24 -0
  372. package/types/src/theme/index.d.ts +2 -0
  373. package/types/src/theme/theme.component.d.ts +49 -6
  374. package/types/src/theme/theme.events.d.ts +55 -0
  375. package/types/src/theme/theme.interface.d.ts +36 -0
  376. package/types/src/theme/theme.service.d.ts +261 -0
  377. package/dist/dialog-service-Dpz_NIRP.js.map +0 -1
  378. package/dist/dialog-service-Wna1JO09.cjs +0 -2
  379. package/dist/dialog-service-Wna1JO09.cjs.map +0 -1
  380. package/dist/route.component-D1xujH8n.js +0 -343
  381. package/dist/route.component-D1xujH8n.js.map +0 -1
  382. package/dist/route.component-ke_nkgvP.cjs +0 -12
  383. package/dist/route.component-ke_nkgvP.cjs.map +0 -1
  384. package/dist/sheet.service-DR9KJfMa.cjs +0 -2
  385. package/dist/sheet.service-DR9KJfMa.cjs.map +0 -1
  386. package/dist/sheet.service-DZGMoIHy.js.map +0 -1
  387. package/dist/theme.component-C-PfGTcN.js.map +0 -1
  388. package/dist/theme.component-DkcM8QzH.cjs +0 -3
  389. package/dist/theme.component-DkcM8QzH.cjs.map +0 -1
package/dist/ai/list.md CHANGED
@@ -28,7 +28,7 @@
28
28
  @click=${handleClick}>
29
29
 
30
30
  <!-- Content structure -->
31
- <div slot="start">
31
+ <div slot="leading">
32
32
  <schmancy-icon icon="home"></schmancy-icon>
33
33
  </div>
34
34
 
@@ -37,7 +37,7 @@
37
37
  <div>Secondary Text</div>
38
38
  </div>
39
39
 
40
- <div slot="end">
40
+ <div slot="trailing">
41
41
  <schmancy-badge>42</schmancy-badge>
42
42
  </div>
43
43
  </schmancy-list-item>
@@ -48,7 +48,8 @@
48
48
 
49
49
  // List Context
50
50
  // For creating controlled lists and handling selection
51
- import { ListContext } from 'schmancy/list';
51
+ import { ListContext } from '@schmancy/index';
52
+ // Or specific import: import { ListContext } from '@schmancy/list';
52
53
 
53
54
  const listContext = new ListContext({
54
55
  selectable: true, // Enable selection
@@ -61,15 +62,15 @@ const listContext = new ListContext({
61
62
  // Simple navigation list
62
63
  <schmancy-list interactive>
63
64
  <schmancy-list-item>
64
- <schmancy-icon slot="start" icon="home"></schmancy-icon>
65
+ <schmancy-icon slot="leading" icon="home"></schmancy-icon>
65
66
  Dashboard
66
67
  </schmancy-list-item>
67
68
  <schmancy-list-item>
68
- <schmancy-icon slot="start" icon="settings"></schmancy-icon>
69
+ <schmancy-icon slot="leading" icon="settings"></schmancy-icon>
69
70
  Settings
70
71
  </schmancy-list-item>
71
72
  <schmancy-list-item>
72
- <schmancy-icon slot="start" icon="person"></schmancy-icon>
73
+ <schmancy-icon slot="leading" icon="person"></schmancy-icon>
73
74
  Profile
74
75
  </schmancy-list-item>
75
76
  </schmancy-list>
@@ -91,7 +92,7 @@ const listContext = new ListContext({
91
92
  <div>Item Two</div>
92
93
  <div>Description for item two</div>
93
94
  </div>
94
- <div slot="end">
95
+ <div slot="trailing">
95
96
  <schmancy-badge>New</schmancy-badge>
96
97
  </div>
97
98
  </schmancy-list-item>
@@ -109,7 +110,7 @@ const listContext = new ListContext({
109
110
  ${items.map(item => html`
110
111
  <schmancy-list-item value=${item.id}>
111
112
  ${item.icon ? html`
112
- <schmancy-icon slot="start" icon=${item.icon}></schmancy-icon>
113
+ <schmancy-icon slot="leading" icon=${item.icon}></schmancy-icon>
113
114
  ` : ''}
114
115
 
115
116
  <div slot="main">
@@ -118,7 +119,7 @@ const listContext = new ListContext({
118
119
  </div>
119
120
 
120
121
  ${item.badge ? html`
121
- <div slot="end">
122
+ <div slot="trailing">
122
123
  <schmancy-badge>${item.badge}</schmancy-badge>
123
124
  </div>
124
125
  ` : ''}
@@ -0,0 +1,530 @@
1
+ # Schmancy Mailbox - AI Reference
2
+
3
+ ```js
4
+ // Import
5
+ import '@schmancy/index' // For all Schmancy components
6
+ // Or specific import: import '@schmancy/mailbox'
7
+
8
+ // Main Mailbox Component
9
+ <schmancy-mailbox
10
+ .config="${emailConfig}" // Email configuration
11
+ .templates="${emailTemplates}" // Available email templates
12
+ .importSources="${recipientSources}" // Recipient import sources
13
+ disabled? // Disable all interactions
14
+ recipientsTitle="Recipients" // Recipients panel title
15
+ recipientsEmptyTitle="No recipients yet" // Empty state title
16
+ recipientsEmptyMessage="Import or upload CSV" // Empty state message
17
+ enableCsvImport? // Enable CSV import (default: true)
18
+ enableDragDrop? // Enable drag and drop (default: true)
19
+ @email-sent=${handleEmailSent} // Email sent successfully
20
+ @email-error=${handleEmailError}> // Email send error
21
+ </schmancy-mailbox>
22
+
23
+ // Supporting Components
24
+ <schmancy-email-editor // Rich text email editor
25
+ content="${emailBody}"
26
+ @content-change=${handleContentChange}>
27
+ </schmancy-email-editor>
28
+
29
+ <schmancy-email-viewer // Email preview
30
+ .emailData="${emailData}">
31
+ </schmancy-email-viewer>
32
+
33
+ <schmancy-email-recipients // Recipients management
34
+ .recipients="${recipients}"
35
+ .importSources="${sources}"
36
+ @recipients-change=${handleRecipientsChange}>
37
+ </schmancy-email-recipients>
38
+
39
+ <schmancy-email-layout-selector // Template selection
40
+ .templates="${templates}"
41
+ @template-select=${handleTemplateSelect}>
42
+ </schmancy-email-layout-selector>
43
+ ```
44
+
45
+ ## Configuration
46
+
47
+ ### Email Configuration Object
48
+ ```typescript
49
+ const emailConfig: EmailComposeConfig = {
50
+ sendEndpoint: '/api/send-email',
51
+ templatesEndpoint: '/api/templates',
52
+ uploadEndpoint: '/api/upload',
53
+ authenticateRequest: (request) => ({
54
+ ...request,
55
+ headers: {
56
+ ...request.headers,
57
+ 'Authorization': `Bearer ${getAuthToken()}`
58
+ }
59
+ }),
60
+ uploadHandler: async (file) => {
61
+ // Custom file upload logic
62
+ const formData = new FormData()
63
+ formData.append('file', file)
64
+ const response = await fetch('/api/upload', {
65
+ method: 'POST',
66
+ body: formData
67
+ })
68
+ const result = await response.json()
69
+ return result.url
70
+ },
71
+ imageUploadHandler: async (file) => {
72
+ // Custom image upload for email content
73
+ return await uploadToImageService(file)
74
+ }
75
+ }
76
+ ```
77
+
78
+ ## Data Types
79
+
80
+ ### Email Template
81
+ ```typescript
82
+ interface EmailTemplate {
83
+ id: string
84
+ name: string
85
+ subject: string
86
+ body: string
87
+ isDefault?: boolean
88
+ createdAt?: Date | string
89
+ category?: string
90
+ description?: string
91
+ thumbnail?: string
92
+ }
93
+ ```
94
+
95
+ ### Email Attachment
96
+ ```typescript
97
+ interface EmailAttachment {
98
+ id: string
99
+ file: File
100
+ name: string
101
+ size: number
102
+ type: string
103
+ url?: string // For uploaded attachments
104
+ }
105
+ ```
106
+
107
+ ### Import Source
108
+ ```typescript
109
+ interface ImportSource {
110
+ id: string
111
+ label: string
112
+ icon: string
113
+ handler: () => void
114
+ }
115
+ ```
116
+
117
+ ## Usage Examples
118
+
119
+ ### Basic Email Composer
120
+ ```html
121
+ <schmancy-mailbox
122
+ .config="${{
123
+ sendEndpoint: '/api/emails/send'
124
+ }}"
125
+ .templates="${emailTemplates}"
126
+ @email-sent=${this.handleEmailSent}
127
+ @email-error=${this.handleEmailError}>
128
+ </schmancy-mailbox>
129
+
130
+ <script>
131
+ const emailTemplates = [
132
+ {
133
+ id: 'welcome',
134
+ name: 'Welcome Email',
135
+ subject: 'Welcome to Our Platform!',
136
+ body: '<h1>Welcome!</h1><p>Thank you for joining us.</p>',
137
+ isDefault: true
138
+ },
139
+ {
140
+ id: 'newsletter',
141
+ name: 'Newsletter Template',
142
+ subject: 'Monthly Newsletter',
143
+ body: '<h2>This Month\'s Updates</h2><p>Here\'s what\'s new...</p>'
144
+ }
145
+ ]
146
+
147
+ function handleEmailSent(e) {
148
+ const { campaignId, recipients } = e.detail
149
+ console.log(`Email sent to ${recipients.length} recipients`)
150
+ }
151
+
152
+ function handleEmailError(e) {
153
+ const { error, recipients } = e.detail
154
+ console.error('Email send failed:', error)
155
+ }
156
+ </script>
157
+ ```
158
+
159
+ ### Newsletter System
160
+ ```html
161
+ <schmancy-mailbox
162
+ .config="${{
163
+ sendEndpoint: '/api/newsletter/send',
164
+ templatesEndpoint: '/api/newsletter/templates',
165
+ uploadEndpoint: '/api/media/upload'
166
+ }}"
167
+ .templates="${newsletterTemplates}"
168
+ .importSources="${subscriberSources}"
169
+ recipientsTitle="Subscribers"
170
+ recipientsEmptyTitle="No subscribers loaded"
171
+ recipientsEmptyMessage="Import from your subscriber lists">
172
+ </schmancy-mailbox>
173
+
174
+ <script>
175
+ const subscriberSources = [
176
+ {
177
+ id: 'mailchimp',
178
+ label: 'Import from Mailchimp',
179
+ icon: 'mail',
180
+ handler: () => importFromMailchimp()
181
+ },
182
+ {
183
+ id: 'database',
184
+ label: 'Load from Database',
185
+ icon: 'database',
186
+ handler: () => loadSubscribersFromDB()
187
+ }
188
+ ]
189
+
190
+ async function importFromMailchimp() {
191
+ const subscribers = await fetch('/api/mailchimp/subscribers').then(r => r.json())
192
+ // Handle import logic
193
+ }
194
+ </script>
195
+ ```
196
+
197
+ ### Event Announcements
198
+ ```html
199
+ <div class="mailbox-container">
200
+ <h2>Send Event Announcement</h2>
201
+
202
+ <schmancy-mailbox
203
+ .config="${eventEmailConfig}"
204
+ .templates="${eventTemplates}"
205
+ .importSources="${attendeeSources}"
206
+ recipientsTitle="Event Attendees"
207
+ enableCsvImport
208
+ enableDragDrop
209
+ @email-sent=${handleAnnouncementSent}>
210
+ </schmancy-mailbox>
211
+ </div>
212
+
213
+ <script>
214
+ const eventEmailConfig = {
215
+ sendEndpoint: '/api/events/send-announcement',
216
+ uploadHandler: async (file) => {
217
+ // Upload to event media storage
218
+ return await uploadEventMedia(file)
219
+ }
220
+ }
221
+
222
+ const eventTemplates = [
223
+ {
224
+ id: 'reminder',
225
+ name: 'Event Reminder',
226
+ subject: 'Reminder: {{eventName}} is tomorrow!',
227
+ body: eventReminderTemplate
228
+ },
229
+ {
230
+ id: 'update',
231
+ name: 'Event Update',
232
+ subject: 'Important Update: {{eventName}}',
233
+ body: eventUpdateTemplate
234
+ }
235
+ ]
236
+
237
+ const attendeeSources = [
238
+ {
239
+ id: 'registered',
240
+ label: 'All Registered Attendees',
241
+ icon: 'people',
242
+ handler: () => loadRegisteredAttendees()
243
+ },
244
+ {
245
+ id: 'vip',
246
+ label: 'VIP Attendees Only',
247
+ icon: 'star',
248
+ handler: () => loadVipAttendees()
249
+ }
250
+ ]
251
+ </script>
252
+ ```
253
+
254
+ ### Marketing Campaign
255
+ ```html
256
+ <schmancy-card>
257
+ <div slot="header">
258
+ <h3>New Marketing Campaign</h3>
259
+ </div>
260
+
261
+ <div slot="content">
262
+ <schmancy-mailbox
263
+ .config="${marketingConfig}"
264
+ .templates="${campaignTemplates}"
265
+ .importSources="${customerSources}"
266
+ recipientsTitle="Target Customers"
267
+ recipientsEmptyTitle="No customers selected"
268
+ recipientsEmptyMessage="Import customer segments or upload lists"
269
+ @email-sent=${trackCampaignSuccess}
270
+ @email-error=${handleCampaignError}>
271
+ </schmancy-mailbox>
272
+ </div>
273
+ </schmancy-card>
274
+
275
+ <script>
276
+ const marketingConfig = {
277
+ sendEndpoint: '/api/marketing/send-campaign',
278
+ templatesEndpoint: '/api/marketing/templates',
279
+ uploadEndpoint: '/api/marketing/upload',
280
+ authenticateRequest: (request) => ({
281
+ ...request,
282
+ headers: {
283
+ ...request.headers,
284
+ 'Authorization': `Bearer ${getMarketingToken()}`,
285
+ 'X-Campaign-Source': 'web-dashboard'
286
+ }
287
+ })
288
+ }
289
+
290
+ function trackCampaignSuccess(e) {
291
+ const { campaignId, recipients } = e.detail
292
+ analytics.track('Campaign Sent', {
293
+ campaignId,
294
+ recipientCount: recipients.length,
295
+ source: 'mailbox-component'
296
+ })
297
+ }
298
+ </script>
299
+ ```
300
+
301
+ ## Individual Components
302
+
303
+ ### Email Editor
304
+ ```html
305
+ <schmancy-email-editor
306
+ content="${emailContent}"
307
+ placeholder="Write your email content..."
308
+ @content-change=${(e) => this.emailContent = e.detail.content}
309
+ @image-upload=${handleImageUpload}>
310
+ </schmancy-email-editor>
311
+ ```
312
+
313
+ ### Email Viewer (Preview)
314
+ ```html
315
+ <schmancy-email-viewer
316
+ .emailData="${{
317
+ subject: 'Test Email',
318
+ body: '<p>Email content here</p>',
319
+ recipients: ['user@example.com'],
320
+ attachments: []
321
+ }}">
322
+ </schmancy-email-viewer>
323
+ ```
324
+
325
+ ### Recipients Management
326
+ ```html
327
+ <schmancy-email-recipients
328
+ .recipients="${recipientList}"
329
+ .importSources="${importSources}"
330
+ enableCsvImport
331
+ enableDragDrop
332
+ @recipients-change=${handleRecipientsUpdate}
333
+ @csv-import=${handleCsvImport}>
334
+ </schmancy-email-recipients>
335
+ ```
336
+
337
+ ### Template Selector
338
+ ```html
339
+ <schmancy-email-layout-selector
340
+ .templates="${availableTemplates}"
341
+ selectedId="${currentTemplateId}"
342
+ @template-select=${(e) => this.currentTemplateId = e.detail.templateId}>
343
+ </schmancy-email-layout-selector>
344
+ ```
345
+
346
+ ## Events
347
+
348
+ ### Main Mailbox Events
349
+ ```typescript
350
+ // Email sent successfully
351
+ @email-sent: CustomEvent<{
352
+ campaignId: string
353
+ recipients: string[]
354
+ templateId?: string
355
+ }>
356
+
357
+ // Email send error
358
+ @email-error: CustomEvent<{
359
+ error: string
360
+ recipients: string[]
361
+ details?: any
362
+ }>
363
+
364
+ // Template selected
365
+ @template-change: CustomEvent<{
366
+ templateId: string
367
+ template: EmailTemplate
368
+ }>
369
+
370
+ // Recipients updated
371
+ @recipients-change: CustomEvent<{
372
+ recipients: string[]
373
+ added: string[]
374
+ removed: string[]
375
+ }>
376
+ ```
377
+
378
+ ## Advanced Configuration
379
+
380
+ ### Custom Upload Handlers
381
+ ```typescript
382
+ const advancedConfig: EmailComposeConfig = {
383
+ sendEndpoint: '/api/emails/send',
384
+
385
+ // Custom file upload with progress
386
+ uploadHandler: async (file: File) => {
387
+ return new Promise((resolve, reject) => {
388
+ const formData = new FormData()
389
+ formData.append('file', file)
390
+
391
+ const xhr = new XMLHttpRequest()
392
+
393
+ xhr.upload.onprogress = (e) => {
394
+ const progress = (e.loaded / e.total) * 100
395
+ // Update progress indicator
396
+ updateUploadProgress(progress)
397
+ }
398
+
399
+ xhr.onload = () => {
400
+ if (xhr.status === 200) {
401
+ const response = JSON.parse(xhr.responseText)
402
+ resolve(response.url)
403
+ } else {
404
+ reject(new Error('Upload failed'))
405
+ }
406
+ }
407
+
408
+ xhr.open('POST', '/api/upload')
409
+ xhr.send(formData)
410
+ })
411
+ },
412
+
413
+ // Custom image handler for rich text editor
414
+ imageUploadHandler: async (file: File) => {
415
+ const imageUrl = await uploadToImageCDN(file)
416
+ return imageUrl
417
+ },
418
+
419
+ // Add authentication headers
420
+ authenticateRequest: (request: RequestInit) => ({
421
+ ...request,
422
+ headers: {
423
+ ...request.headers,
424
+ 'Authorization': `Bearer ${getAuthToken()}`,
425
+ 'X-API-Key': getApiKey(),
426
+ 'Content-Type': 'application/json'
427
+ }
428
+ })
429
+ }
430
+ ```
431
+
432
+ ### Template Variables
433
+ ```html
434
+ <!-- Templates support variable substitution -->
435
+ <script>
436
+ const templateWithVariables = {
437
+ id: 'personalized',
438
+ name: 'Personalized Email',
439
+ subject: 'Hello {{firstName}}, welcome to {{companyName}}!',
440
+ body: `
441
+ <h1>Welcome {{firstName}}!</h1>
442
+ <p>Thank you for joining {{companyName}}.</p>
443
+ <p>Your account: {{email}}</p>
444
+ <p>Next event: {{nextEventDate}}</p>
445
+ `
446
+ }
447
+
448
+ // Variables are automatically replaced when sending
449
+ const emailData = {
450
+ firstName: 'John',
451
+ companyName: 'Acme Corp',
452
+ email: 'john@example.com',
453
+ nextEventDate: '2024-06-15'
454
+ }
455
+ </script>
456
+ ```
457
+
458
+ ## Integration Examples
459
+
460
+ ### With Form Validation
461
+ ```html
462
+ <schmancy-form @submit=${handleSendEmail}>
463
+ <schmancy-input
464
+ label="Campaign Name"
465
+ name="campaignName"
466
+ required>
467
+ </schmancy-input>
468
+
469
+ <schmancy-mailbox
470
+ .config="${emailConfig}"
471
+ .templates="${templates}"
472
+ @email-sent=${handleSuccess}
473
+ @email-error=${handleError}>
474
+ </schmancy-mailbox>
475
+
476
+ <div slot="actions">
477
+ <schmancy-button type="submit" variant="filled">
478
+ Send Campaign
479
+ </schmancy-button>
480
+ </div>
481
+ </schmancy-form>
482
+ ```
483
+
484
+ ### With Analytics
485
+ ```html
486
+ <schmancy-mailbox
487
+ .config="${emailConfig}"
488
+ @email-sent=${(e) => {
489
+ // Track successful sends
490
+ analytics.track('Email Campaign Sent', {
491
+ recipients: e.detail.recipients.length,
492
+ templateId: e.detail.templateId
493
+ })
494
+ }}
495
+ @template-change=${(e) => {
496
+ // Track template usage
497
+ analytics.track('Email Template Selected', {
498
+ templateId: e.detail.templateId
499
+ })
500
+ }}>
501
+ </schmancy-mailbox>
502
+ ```
503
+
504
+ ## Related Components
505
+
506
+ - **[Button](./button.md)** - Send and action buttons
507
+ - **[Card](./card.md)** - Container for mailbox interface
508
+ - **[Form](./form.md)** - Form integration
509
+ - **[Input](./input.md)** - Subject and recipient inputs
510
+ - **[Dialog](./dialog.md)** - Confirmation dialogs
511
+ - **[Progress](./progress.md)** - Upload and send progress
512
+ - **[Notification](./notification.md)** - Success/error messages
513
+
514
+ ## Use Cases
515
+
516
+ 1. **Newsletter Systems** - Send newsletters to subscribers
517
+ 2. **Event Management** - Send announcements and reminders
518
+ 3. **Marketing Campaigns** - Customer email campaigns
519
+ 4. **Transactional Emails** - Order confirmations, receipts
520
+ 5. **Internal Communications** - Company announcements
521
+ 6. **Customer Support** - Bulk support notifications
522
+ 7. **Educational Platforms** - Course updates and announcements
523
+
524
+ ## Performance Considerations
525
+
526
+ - **Large Recipient Lists**: Component handles large lists with virtual scrolling
527
+ - **File Uploads**: Supports chunked uploads for large attachments
528
+ - **Template Caching**: Templates are cached for better performance
529
+ - **Batch Sending**: Automatically batches large email sends
530
+ - **Progressive Enhancement**: Works without JavaScript for basic functionality
package/dist/ai/map.md CHANGED
@@ -13,7 +13,8 @@ yarn add @mhmo91/schmancy
13
13
  ## Import
14
14
 
15
15
  ```javascript
16
- import '@mhmo91/schmancy/map'
16
+ import '@schmancy/index' // For all Schmancy components
17
+ // Or specific import: import '@schmancy/map'
17
18
  ```
18
19
 
19
20
  ## API Reference
@@ -3,7 +3,8 @@
3
3
  ## Core Notification Service
4
4
 
5
5
  ```js
6
- import { $notify } from '@mhmo91/schmancy'
6
+ import { $notify } from '@schmancy/index'
7
+ // Or specific import: import { $notify } from '@schmancy/notification'
7
8
 
8
9
  // Display notification methods
9
10
  $notify.info(message?, options?) -> string // Returns notification ID
@@ -41,7 +42,8 @@ $notify.customDuration(message, duration, options)
41
42
  The `notify()` operator wraps observables with automatic notification lifecycle management.
42
43
 
43
44
  ```js
44
- import { notify } from '@mhmo91/schmancy'
45
+ import { notify } from '@schmancy/index'
46
+ // Or specific import: import { notify } from '@schmancy/notification'
45
47
 
46
48
  // Basic usage - minimal configuration
47
49
  someApiCall().pipe(
@@ -115,27 +117,27 @@ fileUpload().pipe(
115
117
  ### Notification Container
116
118
 
117
119
  ```html
118
- <sch-notification-container
120
+ <schmancy-notification-container
119
121
  position="top-right|top-left|bottom-right|bottom-left|top-center|bottom-center"
120
- max-visible-notifications="2"
121
- play-sound="true|false"
122
+ max-visible-notifications="2"
123
+ play-sound="true|false"
122
124
  audio-volume="0.1">
123
- </sch-notification-container>
125
+ </schmancy-notification-container>
124
126
  ```
125
127
 
126
128
  ### Individual Notification (used internally)
127
129
 
128
130
  ```html
129
- <sch-notification
131
+ <schmancy-notification
130
132
  title="Title"
131
133
  message="Message text"
132
134
  type="info|success|warning|error"
133
- duration="5000"
135
+ duration="5000"
134
136
  closable="true"
135
137
  play-sound="true"
136
- show-progress="false"
138
+ show-progress="false"
137
139
  @close>
138
- </sch-notification>
140
+ </schmancy-notification>
139
141
  ```
140
142
 
141
143
  ## Examples
@@ -176,11 +178,11 @@ upload(file).pipe(
176
178
  Add the notification container once in your app layout:
177
179
 
178
180
  ```html
179
- <sch-notification-container
181
+ <schmancy-notification-container
180
182
  position="top-right"
181
183
  max-visible-notifications="3"
182
184
  play-sound="true">
183
- </sch-notification-container>
185
+ </schmancy-notification-container>
184
186
  ```
185
187
 
186
188
  ## Progress Indication
@@ -3,7 +3,8 @@
3
3
  ## Quick Start
4
4
 
5
5
  ```typescript
6
- import '@mhmo91/schmancy/components/form-elements'
6
+ import '@schmancy/index' // For all Schmancy components
7
+ // Payment card form is included in the main components
7
8
  ```
8
9
 
9
10
  ## Component Overview