@mhmo91/schmancy 0.10.5 → 0.10.6

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 (383) hide show
  1. package/custom-elements.json +4 -707
  2. package/dist/agent/{flow-CaPi2G8y.js.map → flow-3RrZM-e7.js.map} +1 -1
  3. package/dist/agent/schmancy.agent.js +2807 -4687
  4. package/dist/agent/schmancy.agent.js.map +1 -1
  5. package/dist/agent/schmancy.manifest.json +6 -471
  6. package/dist/agent/{vendor-jsqr-r7GNh4P3.js.map → vendor-jsqr-BUVwyoGC.js.map} +1 -1
  7. package/dist/agent/{vendor-material-color-Be96dpGE.js.map → vendor-material-color-33Mj762T.js.map} +1 -1
  8. package/dist/{area-D5haQE-J.js → area-CIZZ5tbB.js} +1 -1
  9. package/dist/{area-D5haQE-J.js.map → area-CIZZ5tbB.js.map} +1 -1
  10. package/dist/{area-CSQdhCBF.cjs → area-oZjYJlUy.cjs} +1 -1
  11. package/dist/{area-CSQdhCBF.cjs.map → area-oZjYJlUy.cjs.map} +1 -1
  12. package/dist/area.cjs +1 -1
  13. package/dist/area.js +1 -1
  14. package/dist/{autocomplete-DtyjZJ1E.js → autocomplete-C1oDLuol.js} +2 -2
  15. package/dist/{autocomplete-DtyjZJ1E.js.map → autocomplete-C1oDLuol.js.map} +1 -1
  16. package/dist/{autocomplete-B_bJXUjm.cjs → autocomplete-X20i6D62.cjs} +1 -1
  17. package/dist/{autocomplete-B_bJXUjm.cjs.map → autocomplete-X20i6D62.cjs.map} +1 -1
  18. package/dist/autocomplete.cjs +1 -1
  19. package/dist/autocomplete.js +1 -1
  20. package/dist/avatar.cjs +1 -1
  21. package/dist/avatar.js +2 -2
  22. package/dist/badge.cjs +1 -1
  23. package/dist/badge.js +1 -1
  24. package/dist/{boat-BJLCp-Hv.cjs → boat-CUx58Gwe.cjs} +1 -1
  25. package/dist/{boat-BJLCp-Hv.cjs.map → boat-CUx58Gwe.cjs.map} +1 -1
  26. package/dist/{boat-MT8bRT8u.js → boat-CpE0yAlK.js} +1 -1
  27. package/dist/{boat-MT8bRT8u.js.map → boat-CpE0yAlK.js.map} +1 -1
  28. package/dist/boat.cjs +1 -1
  29. package/dist/boat.js +1 -1
  30. package/dist/breadcrumb.cjs +1 -1
  31. package/dist/breadcrumb.js +1 -1
  32. package/dist/{busy-6BqWGryX.js → busy-C9n-DUY4.js} +1 -1
  33. package/dist/{busy-6BqWGryX.js.map → busy-C9n-DUY4.js.map} +1 -1
  34. package/dist/{busy-DSF2E-zy.cjs → busy-D1DKZhgV.cjs} +1 -1
  35. package/dist/{busy-DSF2E-zy.cjs.map → busy-D1DKZhgV.cjs.map} +1 -1
  36. package/dist/busy.cjs +1 -1
  37. package/dist/busy.js +1 -1
  38. package/dist/button.cjs +1 -1
  39. package/dist/button.js +1 -1
  40. package/dist/{card-CvuVha-W.js → card-B3hN-qzk.js} +1 -1
  41. package/dist/{card-CvuVha-W.js.map → card-B3hN-qzk.js.map} +1 -1
  42. package/dist/{card-DnKnaHzf.cjs → card-DZJ7qjf2.cjs} +1 -1
  43. package/dist/{card-DnKnaHzf.cjs.map → card-DZJ7qjf2.cjs.map} +1 -1
  44. package/dist/card.cjs +1 -1
  45. package/dist/card.js +1 -1
  46. package/dist/charts.cjs +1 -1
  47. package/dist/charts.js +1 -1
  48. package/dist/{checkbox-QDRsE8cp.js → checkbox-CvmB1ev9.js} +1 -1
  49. package/dist/{checkbox-QDRsE8cp.js.map → checkbox-CvmB1ev9.js.map} +1 -1
  50. package/dist/{checkbox-D3u8Wm9r.cjs → checkbox-DapdzDow.cjs} +1 -1
  51. package/dist/{checkbox-D3u8Wm9r.cjs.map → checkbox-DapdzDow.cjs.map} +1 -1
  52. package/dist/checkbox.cjs +1 -1
  53. package/dist/checkbox.js +1 -1
  54. package/dist/{chips-CMoQzop1.cjs → chips-7g6mWRuh.cjs} +1 -1
  55. package/dist/{chips-CMoQzop1.cjs.map → chips-7g6mWRuh.cjs.map} +1 -1
  56. package/dist/{chips-Dy9vx8JS.js → chips-C8Y3_3ke.js} +2 -2
  57. package/dist/{chips-Dy9vx8JS.js.map → chips-C8Y3_3ke.js.map} +1 -1
  58. package/dist/chips.cjs +1 -1
  59. package/dist/chips.js +2 -2
  60. package/dist/connectivity.cjs +1 -1
  61. package/dist/connectivity.js +1 -1
  62. package/dist/content-drawer.cjs +1 -1
  63. package/dist/content-drawer.js +1 -1
  64. package/dist/{date-range-Boesjlic.js → date-range-DdcaPX7C.js} +2 -2
  65. package/dist/{date-range-Boesjlic.js.map → date-range-DdcaPX7C.js.map} +1 -1
  66. package/dist/{date-range-B2NuihKA.cjs → date-range-ZfUl4duV.cjs} +1 -1
  67. package/dist/{date-range-B2NuihKA.cjs.map → date-range-ZfUl4duV.cjs.map} +1 -1
  68. package/dist/{date-range-inline-BI6_4Ahl.cjs → date-range-inline-D-d7N6bh.cjs} +1 -1
  69. package/dist/{date-range-inline-BI6_4Ahl.cjs.map → date-range-inline-D-d7N6bh.cjs.map} +1 -1
  70. package/dist/{date-range-inline-DBuND2pc.js → date-range-inline-QQmIWhZ4.js} +1 -1
  71. package/dist/{date-range-inline-DBuND2pc.js.map → date-range-inline-QQmIWhZ4.js.map} +1 -1
  72. package/dist/date-range-inline.cjs +1 -1
  73. package/dist/date-range-inline.js +1 -1
  74. package/dist/date-range.cjs +1 -1
  75. package/dist/date-range.js +1 -1
  76. package/dist/delay.cjs +1 -1
  77. package/dist/delay.js +2 -2
  78. package/dist/{details-BRs_z5-k.cjs → details-3rL6UQU8.cjs} +1 -1
  79. package/dist/{details-BRs_z5-k.cjs.map → details-3rL6UQU8.cjs.map} +1 -1
  80. package/dist/{details-BrGrUTGC.js → details-Dpjh-XnJ.js} +1 -1
  81. package/dist/{details-BrGrUTGC.js.map → details-Dpjh-XnJ.js.map} +1 -1
  82. package/dist/details.cjs +1 -1
  83. package/dist/details.js +1 -1
  84. package/dist/{divider-W3TiDasp.js → divider-BdfEKQsH.js} +1 -1
  85. package/dist/{divider-W3TiDasp.js.map → divider-BdfEKQsH.js.map} +1 -1
  86. package/dist/{divider-BOxQ2T9h.cjs → divider-CutXDz3F.cjs} +1 -1
  87. package/dist/{divider-BOxQ2T9h.cjs.map → divider-CutXDz3F.cjs.map} +1 -1
  88. package/dist/divider.cjs +1 -1
  89. package/dist/divider.js +1 -1
  90. package/dist/dropdown.cjs +1 -1
  91. package/dist/dropdown.js +1 -1
  92. package/dist/{expand-CnccBF91.cjs → expand-DM6zfZf7.cjs} +1 -1
  93. package/dist/{expand-CnccBF91.cjs.map → expand-DM6zfZf7.cjs.map} +1 -1
  94. package/dist/{expand-Pu8fZ0jZ.js → expand-DrgMPJbu.js} +2 -2
  95. package/dist/{expand-Pu8fZ0jZ.js.map → expand-DrgMPJbu.js.map} +1 -1
  96. package/dist/expand.cjs +1 -1
  97. package/dist/expand.js +1 -1
  98. package/dist/{extra-DxEWs41z.js → extra-B6gFu4_1.js} +1 -1
  99. package/dist/{extra-DxEWs41z.js.map → extra-B6gFu4_1.js.map} +1 -1
  100. package/dist/{extra-B8IPs6gG.cjs → extra-DJRYaOXe.cjs} +1 -1
  101. package/dist/{extra-B8IPs6gG.cjs.map → extra-DJRYaOXe.cjs.map} +1 -1
  102. package/dist/extra.cjs +1 -1
  103. package/dist/extra.js +1 -1
  104. package/dist/{float-WCVdp3um.js → float-1iihPek5.js} +1 -1
  105. package/dist/{float-WCVdp3um.js.map → float-1iihPek5.js.map} +1 -1
  106. package/dist/{float-BRKa-P6Z.cjs → float-Ckyk85XG.cjs} +1 -1
  107. package/dist/{float-BRKa-P6Z.cjs.map → float-Ckyk85XG.cjs.map} +1 -1
  108. package/dist/float.cjs +1 -1
  109. package/dist/float.js +1 -1
  110. package/dist/{form-CI59gad4.js.map → form-BF1c3Dk1.js.map} +1 -1
  111. package/dist/{form-B2qudx_q.cjs.map → form-DeO5XX3b.cjs.map} +1 -1
  112. package/dist/form.cjs +1 -1
  113. package/dist/form.js +1 -1
  114. package/dist/handover/agent-runtime-followups.md +1 -1
  115. package/dist/handover/agent-runtime-v1.md +3 -3
  116. package/dist/{hashContent-a8uVr3xs.js.map → hashContent-BU6jl5ih.js.map} +1 -1
  117. package/dist/{hashContent-ejkBgDnN.cjs.map → hashContent-Bobsobip.cjs.map} +1 -1
  118. package/dist/{icons-DXEbmg-O.cjs → icons-CV-fiGcW.cjs} +1 -1
  119. package/dist/{icons-DXEbmg-O.cjs.map → icons-CV-fiGcW.cjs.map} +1 -1
  120. package/dist/{icons-C0ufCcdp.js → icons-DUkcTZAY.js} +1 -1
  121. package/dist/{icons-C0ufCcdp.js.map → icons-DUkcTZAY.js.map} +1 -1
  122. package/dist/icons.cjs +1 -1
  123. package/dist/icons.js +1 -1
  124. package/dist/{iframe-c9lGxw7x.js → iframe-C9tj7F6Y.js} +1 -1
  125. package/dist/{iframe-c9lGxw7x.js.map → iframe-C9tj7F6Y.js.map} +1 -1
  126. package/dist/{iframe-C6RVODkW.cjs → iframe-DF97oGtZ.cjs} +1 -1
  127. package/dist/{iframe-C6RVODkW.cjs.map → iframe-DF97oGtZ.cjs.map} +1 -1
  128. package/dist/iframe.cjs +1 -1
  129. package/dist/iframe.js +1 -1
  130. package/dist/index.cjs +1 -1
  131. package/dist/index.js +70 -72
  132. package/dist/{input-Pmj_bH37.js → input-DE7x223Y.js} +1 -1
  133. package/dist/{input-Pmj_bH37.js.map → input-DE7x223Y.js.map} +1 -1
  134. package/dist/{input-B4HM-9-H.cjs → input-TW9G3n7X.cjs} +1 -1
  135. package/dist/{input-B4HM-9-H.cjs.map → input-TW9G3n7X.cjs.map} +1 -1
  136. package/dist/{input-chip-BIGgd_7w.js → input-chip-BdoaVw_D.js} +1 -1
  137. package/dist/{input-chip-BIGgd_7w.js.map → input-chip-BdoaVw_D.js.map} +1 -1
  138. package/dist/{input-chip-BoDisY6c.cjs → input-chip-Do48eI5r.cjs} +1 -1
  139. package/dist/{input-chip-BoDisY6c.cjs.map → input-chip-Do48eI5r.cjs.map} +1 -1
  140. package/dist/input.cjs +1 -1
  141. package/dist/input.js +1 -1
  142. package/dist/json.cjs +1 -1
  143. package/dist/json.js +2 -2
  144. package/dist/kbd.cjs +1 -1
  145. package/dist/kbd.js +1 -1
  146. package/dist/layout.cjs +1 -1
  147. package/dist/layout.js +1 -1
  148. package/dist/{lightbox-K1eJTYXP.js → lightbox-DcutIyjx.js} +2 -2
  149. package/dist/{lightbox-K1eJTYXP.js.map → lightbox-DcutIyjx.js.map} +1 -1
  150. package/dist/{lightbox-DK1vDKm3.cjs → lightbox-sPfnYzjJ.cjs} +1 -1
  151. package/dist/{lightbox-DK1vDKm3.cjs.map → lightbox-sPfnYzjJ.cjs.map} +1 -1
  152. package/dist/lightbox.cjs +1 -1
  153. package/dist/lightbox.js +1 -1
  154. package/dist/{list-Ds0Nv1y5.js → list-BWrtrdgs.js} +1 -1
  155. package/dist/{list-Ds0Nv1y5.js.map → list-BWrtrdgs.js.map} +1 -1
  156. package/dist/{list-CEuVqAxN.cjs → list-C4vasUly.cjs} +1 -1
  157. package/dist/{list-CEuVqAxN.cjs.map → list-C4vasUly.cjs.map} +1 -1
  158. package/dist/list.cjs +1 -1
  159. package/dist/list.js +1 -1
  160. package/dist/{map-BrBSrIqg.cjs → map-BAQ9FEB6.cjs} +1 -1
  161. package/dist/{map-BrBSrIqg.cjs.map → map-BAQ9FEB6.cjs.map} +1 -1
  162. package/dist/{map-1uwxxvBa.js → map-CEreveeI.js} +1 -1
  163. package/dist/{map-1uwxxvBa.js.map → map-CEreveeI.js.map} +1 -1
  164. package/dist/map.cjs +1 -1
  165. package/dist/map.js +1 -1
  166. package/dist/{menu-Bly30Nje.cjs → menu-3yXDZusj.cjs} +1 -1
  167. package/dist/{menu-Bly30Nje.cjs.map → menu-3yXDZusj.cjs.map} +1 -1
  168. package/dist/{menu-L8MK1ma5.js → menu-CxChOxWT.js} +2 -2
  169. package/dist/{menu-L8MK1ma5.js.map → menu-CxChOxWT.js.map} +1 -1
  170. package/dist/menu.cjs +1 -1
  171. package/dist/menu.js +1 -1
  172. package/dist/mixins-Db7gjDah.cjs +298 -0
  173. package/dist/{mixins-CAb0b03r.cjs.map → mixins-Db7gjDah.cjs.map} +1 -1
  174. package/dist/mixins-Dw6hVfy-.js +627 -0
  175. package/dist/{mixins-B34UxxCe.js.map → mixins-Dw6hVfy-.js.map} +1 -1
  176. package/dist/mixins.cjs +1 -1
  177. package/dist/mixins.js +1 -1
  178. package/dist/nav-drawer.cjs +1 -1
  179. package/dist/nav-drawer.js +1 -1
  180. package/dist/navigation-bar.cjs +1 -1
  181. package/dist/navigation-bar.js +1 -1
  182. package/dist/navigation-rail.cjs +1 -1
  183. package/dist/navigation-rail.js +1 -1
  184. package/dist/{notification-7fSbk8hm.cjs → notification-DKYy9qVe.cjs} +1 -1
  185. package/dist/{notification-7fSbk8hm.cjs.map → notification-DKYy9qVe.cjs.map} +1 -1
  186. package/dist/{notification-DB25M-qo.js → notification-ycbUBbOu.js} +2 -2
  187. package/dist/{notification-DB25M-qo.js.map → notification-ycbUBbOu.js.map} +1 -1
  188. package/dist/notification.cjs +1 -1
  189. package/dist/notification.js +1 -1
  190. package/dist/{option-DDHa25k5.js → option-DtOhMd3k.js} +1 -1
  191. package/dist/{option-DDHa25k5.js.map → option-DtOhMd3k.js.map} +1 -1
  192. package/dist/{option-HF9Xqbuq.cjs → option-zgVge3BH.cjs} +1 -1
  193. package/dist/{option-HF9Xqbuq.cjs.map → option-zgVge3BH.cjs.map} +1 -1
  194. package/dist/option.cjs +1 -1
  195. package/dist/option.js +1 -1
  196. package/dist/{overlay-stack-CCiTaf_C.js.map → overlay-stack-DCDS17uj.js.map} +1 -1
  197. package/dist/{overlay-stack-CFGiYf34.cjs.map → overlay-stack-DPIe_aYv.cjs.map} +1 -1
  198. package/dist/overlay.cjs +1 -1
  199. package/dist/{overlay.confirm-body-BDG94R0x.js → overlay.confirm-body-AFqYBqrI.js} +1 -1
  200. package/dist/{overlay.confirm-body-BDG94R0x.js.map → overlay.confirm-body-AFqYBqrI.js.map} +1 -1
  201. package/dist/{overlay.confirm-body-b4Nx_OVf.cjs → overlay.confirm-body-DctQLDao.cjs} +1 -1
  202. package/dist/{overlay.confirm-body-b4Nx_OVf.cjs.map → overlay.confirm-body-DctQLDao.cjs.map} +1 -1
  203. package/dist/overlay.js +3 -3
  204. package/dist/{overlay.service-BUCuZa6V.js → overlay.service-B9On2-Aa.js} +2 -2
  205. package/dist/{overlay.service-BUCuZa6V.js.map → overlay.service-B9On2-Aa.js.map} +1 -1
  206. package/dist/{overlay.service-CRHZZY9F.cjs → overlay.service-k2nCE4pi.cjs} +1 -1
  207. package/dist/{overlay.service-CRHZZY9F.cjs.map → overlay.service-k2nCE4pi.cjs.map} +1 -1
  208. package/dist/page.cjs +1 -1
  209. package/dist/page.js +2 -2
  210. package/dist/{payment-card-form-C4jb-OdM.js → payment-card-form-Be1-OVlL.js} +1 -1
  211. package/dist/{payment-card-form-C4jb-OdM.js.map → payment-card-form-Be1-OVlL.js.map} +1 -1
  212. package/dist/{payment-card-form-WEx4CscR.cjs → payment-card-form-CNnGePG4.cjs} +1 -1
  213. package/dist/{payment-card-form-WEx4CscR.cjs.map → payment-card-form-CNnGePG4.cjs.map} +1 -1
  214. package/dist/payment-card-form.cjs +1 -1
  215. package/dist/payment-card-form.js +1 -1
  216. package/dist/{progress-CqOyMM4i.js → progress-BFWzmTlz.js} +1 -1
  217. package/dist/{progress-CqOyMM4i.js.map → progress-BFWzmTlz.js.map} +1 -1
  218. package/dist/{progress-54R4QRgW.cjs → progress-C4TGG2eN.cjs} +1 -1
  219. package/dist/{progress-54R4QRgW.cjs.map → progress-C4TGG2eN.cjs.map} +1 -1
  220. package/dist/progress.cjs +1 -1
  221. package/dist/progress.js +1 -1
  222. package/dist/qr-scanner.cjs +1 -1
  223. package/dist/qr-scanner.js +1 -1
  224. package/dist/{radio-group-B4zbBIZF.js → radio-group-DTNAW5dd.js} +1 -1
  225. package/dist/{radio-group-B4zbBIZF.js.map → radio-group-DTNAW5dd.js.map} +1 -1
  226. package/dist/{radio-group-BJqZpYVy.cjs → radio-group-xLRp1g57.cjs} +1 -1
  227. package/dist/{radio-group-BJqZpYVy.cjs.map → radio-group-xLRp1g57.cjs.map} +1 -1
  228. package/dist/radio-group.cjs +1 -1
  229. package/dist/radio-group.js +1 -1
  230. package/dist/range.cjs +1 -1
  231. package/dist/range.js +1 -1
  232. package/dist/{rxjs-utils-BXpvHN4-.js.map → rxjs-utils-BK8VMe3K.js.map} +1 -1
  233. package/dist/{rxjs-utils-CaC-tdot.cjs.map → rxjs-utils-DhOKenkS.cjs.map} +1 -1
  234. package/dist/rxjs-utils.cjs +1 -1
  235. package/dist/rxjs-utils.js +1 -1
  236. package/dist/{scroll-CYm6Krus.js → scroll-BCmdqSQU.js} +1 -1
  237. package/dist/{scroll-CYm6Krus.js.map → scroll-BCmdqSQU.js.map} +1 -1
  238. package/dist/{scroll-iSRovYYt.cjs → scroll-Bdgb-vRy.cjs} +1 -1
  239. package/dist/{scroll-iSRovYYt.cjs.map → scroll-Bdgb-vRy.cjs.map} +1 -1
  240. package/dist/{select-1WHseXP6.js → select-COGARE0b.js} +2 -2
  241. package/dist/{select-1WHseXP6.js.map → select-COGARE0b.js.map} +1 -1
  242. package/dist/{select-DiQHtQJN.cjs → select-Cv5t_PT3.cjs} +1 -1
  243. package/dist/{select-DiQHtQJN.cjs.map → select-Cv5t_PT3.cjs.map} +1 -1
  244. package/dist/select.cjs +1 -1
  245. package/dist/select.js +1 -1
  246. package/dist/skeleton.cjs +1 -1
  247. package/dist/skeleton.js +1 -1
  248. package/dist/skills/INDEX.md +1 -4
  249. package/dist/skills/schmancy/INDEX.md +1 -4
  250. package/dist/slider.cjs +1 -1
  251. package/dist/slider.js +1 -1
  252. package/dist/{splash-screen-CJL8DGDe.cjs → splash-screen-B8rFbjqT.cjs} +1 -1
  253. package/dist/{splash-screen-CJL8DGDe.cjs.map → splash-screen-B8rFbjqT.cjs.map} +1 -1
  254. package/dist/{splash-screen-BwvtKMdN.js → splash-screen-DbGbGttg.js} +1 -1
  255. package/dist/{splash-screen-BwvtKMdN.js.map → splash-screen-DbGbGttg.js.map} +1 -1
  256. package/dist/splash-screen.cjs +1 -1
  257. package/dist/splash-screen.js +1 -1
  258. package/dist/{src-UaZeROcW.js → src-YRir9pOP.js} +37 -39
  259. package/dist/{src-UaZeROcW.js.map → src-YRir9pOP.js.map} +1 -1
  260. package/dist/{src-Bwr2NR0A.cjs → src-b8D-Ec-Q.cjs} +1 -1
  261. package/dist/{src-Bwr2NR0A.cjs.map → src-b8D-Ec-Q.cjs.map} +1 -1
  262. package/dist/steps.cjs +1 -1
  263. package/dist/steps.js +1 -1
  264. package/dist/{surface-DPUkQ3OL.js → surface-BE7sGTBt.js} +1 -1
  265. package/dist/{surface-DPUkQ3OL.js.map → surface-BE7sGTBt.js.map} +1 -1
  266. package/dist/{surface-DE5iuI8e.cjs → surface-BvudRtf5.cjs} +1 -1
  267. package/dist/{surface-DE5iuI8e.cjs.map → surface-BvudRtf5.cjs.map} +1 -1
  268. package/dist/surface.cjs +1 -1
  269. package/dist/surface.js +1 -1
  270. package/dist/switch.cjs +1 -1
  271. package/dist/switch.js +1 -1
  272. package/dist/table.cjs +1 -1
  273. package/dist/table.js +1 -1
  274. package/dist/{tabs-CsDQ72Qk.cjs → tabs-C0XKld1Z.cjs} +1 -1
  275. package/dist/{tabs-CsDQ72Qk.cjs.map → tabs-C0XKld1Z.cjs.map} +1 -1
  276. package/dist/{tabs-B2XEQPQl.js → tabs-DIzCRsA3.js} +1 -1
  277. package/dist/{tabs-B2XEQPQl.js.map → tabs-DIzCRsA3.js.map} +1 -1
  278. package/dist/tabs.cjs +1 -1
  279. package/dist/tabs.js +1 -1
  280. package/dist/teleport.cjs +1 -1
  281. package/dist/teleport.js +1 -1
  282. package/dist/{textarea-aeAP9cDG.cjs → textarea-BCDCGCJd.cjs} +1 -1
  283. package/dist/{textarea-aeAP9cDG.cjs.map → textarea-BCDCGCJd.cjs.map} +1 -1
  284. package/dist/{textarea-C_ps0lL-.js → textarea-UbZzBwqm.js} +1 -1
  285. package/dist/{textarea-C_ps0lL-.js.map → textarea-UbZzBwqm.js.map} +1 -1
  286. package/dist/textarea.cjs +1 -1
  287. package/dist/textarea.js +1 -1
  288. package/dist/{theme-DAYTVw13.cjs → theme-CIsI-sFj.cjs} +1 -1
  289. package/dist/{theme-DAYTVw13.cjs.map → theme-CIsI-sFj.cjs.map} +1 -1
  290. package/dist/{theme-DAx1iRNr.js → theme-Qh-yPEPL.js} +2 -2
  291. package/dist/{theme-DAx1iRNr.js.map → theme-Qh-yPEPL.js.map} +1 -1
  292. package/dist/{theme-button-BrHkzCtj.js → theme-button-CjTnfs9x.js} +1 -1
  293. package/dist/{theme-button-BrHkzCtj.js.map → theme-button-CjTnfs9x.js.map} +1 -1
  294. package/dist/{theme-button-LsMKY_N_.cjs → theme-button-Dv1D_Vil.cjs} +1 -1
  295. package/dist/{theme-button-LsMKY_N_.cjs.map → theme-button-Dv1D_Vil.cjs.map} +1 -1
  296. package/dist/theme-button.cjs +1 -1
  297. package/dist/theme-button.js +1 -1
  298. package/dist/theme.cjs +1 -1
  299. package/dist/{theme.interface-DESopuZS.cjs.map → theme.interface-BeW-sz_g.cjs.map} +1 -1
  300. package/dist/{theme.interface-C_034TxG.js.map → theme.interface-v7SkAnDH.js.map} +1 -1
  301. package/dist/theme.js +3 -3
  302. package/dist/timeline.cjs +1 -1
  303. package/dist/timeline.js +1 -1
  304. package/dist/tree.cjs +1 -1
  305. package/dist/tree.js +1 -1
  306. package/dist/typography.cjs +1 -1
  307. package/dist/typography.js +1 -1
  308. package/dist/{utils-BzFQfaIr.js → utils-BfOze6Tk.js} +1 -1
  309. package/dist/{utils-BzFQfaIr.js.map → utils-BfOze6Tk.js.map} +1 -1
  310. package/dist/{utils-oLBkMvor.cjs → utils-CJ9y2Jz9.cjs} +1 -1
  311. package/dist/{utils-oLBkMvor.cjs.map → utils-CJ9y2Jz9.cjs.map} +1 -1
  312. package/dist/utils.cjs +1 -1
  313. package/dist/utils.js +2 -2
  314. package/dist/visually-hidden.cjs +1 -1
  315. package/dist/visually-hidden.js +1 -1
  316. package/dist/{window-BJrKS6Zr.cjs → window-9HOUXrTU.cjs} +1 -1
  317. package/dist/{window-BJrKS6Zr.cjs.map → window-9HOUXrTU.cjs.map} +1 -1
  318. package/dist/{window-CyDuTN80.js → window-B_55dzk0.js} +2 -2
  319. package/dist/{window-CyDuTN80.js.map → window-B_55dzk0.js.map} +1 -1
  320. package/dist/window.cjs +1 -1
  321. package/dist/window.js +1 -1
  322. package/package.json +1 -2
  323. package/skills/schmancy/INDEX.md +1 -4
  324. package/src/index.ts +0 -2
  325. package/types/src/index.d.ts +0 -2
  326. package/dist/agent/vendor-highlight-CHJZQQB7.js +0 -2178
  327. package/dist/agent/vendor-highlight-CHJZQQB7.js.map +0 -1
  328. package/dist/code-highlight-Ddp0oZnm.cjs +0 -190
  329. package/dist/code-highlight-Ddp0oZnm.cjs.map +0 -1
  330. package/dist/code-highlight-DtE2-ObF.js +0 -296
  331. package/dist/code-highlight-DtE2-ObF.js.map +0 -1
  332. package/dist/code-highlight.cjs +0 -1
  333. package/dist/code-highlight.js +0 -2
  334. package/dist/mailbox-CDWqbVvZ.cjs +0 -1140
  335. package/dist/mailbox-CDWqbVvZ.cjs.map +0 -1
  336. package/dist/mailbox-DD2How0H.js +0 -1607
  337. package/dist/mailbox-DD2How0H.js.map +0 -1
  338. package/dist/mailbox.cjs +0 -1
  339. package/dist/mailbox.js +0 -2
  340. package/dist/mixins-B34UxxCe.js +0 -627
  341. package/dist/mixins-CAb0b03r.cjs +0 -298
  342. package/dist/skills/code-highlight.md +0 -47
  343. package/dist/skills/mailbox.md +0 -102
  344. package/dist/skills/schmancy/code-highlight.md +0 -47
  345. package/dist/skills/schmancy/mailbox.md +0 -102
  346. package/skills/schmancy/code-highlight.md +0 -47
  347. package/skills/schmancy/mailbox.md +0 -102
  348. package/src/code-highlight/code-highlight.ts +0 -345
  349. package/src/code-highlight/code-preview.ts +0 -125
  350. package/src/code-highlight/index.ts +0 -3
  351. package/src/mailbox/README.md +0 -128
  352. package/src/mailbox/email-editor.ts +0 -1076
  353. package/src/mailbox/email-layout-selector.ts +0 -58
  354. package/src/mailbox/email-recipients.ts +0 -599
  355. package/src/mailbox/email-template-picker.ts +0 -303
  356. package/src/mailbox/email-viewer.ts +0 -717
  357. package/src/mailbox/index.ts +0 -31
  358. package/src/mailbox/mailbox.ts +0 -364
  359. package/src/mailbox/types.ts +0 -180
  360. package/types/src/code-highlight/code-highlight.d.ts +0 -49
  361. package/types/src/code-highlight/code-preview.d.ts +0 -30
  362. package/types/src/code-highlight/index.d.ts +0 -3
  363. package/types/src/mailbox/email-editor.d.ts +0 -101
  364. package/types/src/mailbox/email-layout-selector.d.ts +0 -18
  365. package/types/src/mailbox/email-recipients.d.ts +0 -122
  366. package/types/src/mailbox/email-template-picker.d.ts +0 -54
  367. package/types/src/mailbox/email-viewer.d.ts +0 -86
  368. package/types/src/mailbox/index.d.ts +0 -12
  369. package/types/src/mailbox/mailbox.d.ts +0 -82
  370. package/types/src/mailbox/types.d.ts +0 -176
  371. /package/dist/agent/{flow-CaPi2G8y.js → flow-3RrZM-e7.js} +0 -0
  372. /package/dist/agent/{vendor-jsqr-r7GNh4P3.js → vendor-jsqr-BUVwyoGC.js} +0 -0
  373. /package/dist/agent/{vendor-material-color-Be96dpGE.js → vendor-material-color-33Mj762T.js} +0 -0
  374. /package/dist/{form-CI59gad4.js → form-BF1c3Dk1.js} +0 -0
  375. /package/dist/{form-B2qudx_q.cjs → form-DeO5XX3b.cjs} +0 -0
  376. /package/dist/{hashContent-a8uVr3xs.js → hashContent-BU6jl5ih.js} +0 -0
  377. /package/dist/{hashContent-ejkBgDnN.cjs → hashContent-Bobsobip.cjs} +0 -0
  378. /package/dist/{overlay-stack-CCiTaf_C.js → overlay-stack-DCDS17uj.js} +0 -0
  379. /package/dist/{overlay-stack-CFGiYf34.cjs → overlay-stack-DPIe_aYv.cjs} +0 -0
  380. /package/dist/{rxjs-utils-BXpvHN4-.js → rxjs-utils-BK8VMe3K.js} +0 -0
  381. /package/dist/{rxjs-utils-CaC-tdot.cjs → rxjs-utils-DhOKenkS.cjs} +0 -0
  382. /package/dist/{theme.interface-DESopuZS.cjs → theme.interface-BeW-sz_g.cjs} +0 -0
  383. /package/dist/{theme.interface-C_034TxG.js → theme.interface-v7SkAnDH.js} +0 -0
@@ -1,101 +0,0 @@
1
- import { SchmancyElement } from '@mixins/index';
2
- import './email-layout-selector';
3
- import type { EmailAttachment, EmailComposeConfig, EmailTemplate } from './types';
4
- /**
5
- * Email editor component with rich text formatting and file attachments
6
- *
7
- * Features:
8
- * - Markdown formatting toolbar
9
- * - Image upload and insertion
10
- * - File attachments with drag & drop
11
- * - Layout templates (columns, sidebars, image rows)
12
- * - Real-time character/word count
13
- *
14
- * @example
15
- * ```html
16
- * <schmancy-email-editor
17
- * .subject="Welcome to our service"
18
- * .body="Email content..."
19
- * @editor-change=${handleChange}
20
- * ></schmancy-email-editor>
21
- * ```
22
- */
23
- export declare class SchmancyEmailEditor extends SchmancyElement {
24
- static styles: import("lit").CSSResult[];
25
- /** Email subject */
26
- subject: string;
27
- /** Email body content (markdown) */
28
- body: string;
29
- /** Disable all interactions */
30
- disabled: boolean;
31
- /** Email attachments */
32
- attachments: EmailAttachment[];
33
- /** Configuration for upload handlers */
34
- config: EmailComposeConfig;
35
- /** Available email templates */
36
- templates: EmailTemplate[];
37
- /** Internal state */
38
- private dragOver;
39
- private isUploading;
40
- /** Element references */
41
- private subjectInputRef;
42
- private bodyTextAreaRef;
43
- private fileInputRef;
44
- private imageInputRef;
45
- connectedCallback(): void;
46
- disconnectedCallback(): void;
47
- /** Get default email templates */
48
- private getDefaultTemplates;
49
- private addEventListeners;
50
- /** Handle keyboard shortcuts and tab indentation */
51
- private handleKeyDown;
52
- /** Handle paste events for image pasting */
53
- private handlePaste;
54
- /** Handle subject input changes */
55
- private handleSubjectChange;
56
- /** Handle body textarea changes */
57
- private handleBodyChange;
58
- /** Dispatch composer change event */
59
- private dispatchChange;
60
- /** Insert text at cursor position */
61
- private insertAtCursor;
62
- /** Wrap selected text with formatting */
63
- private wrapSelection;
64
- /** Open layout selection dialog */
65
- private openLayoutDialog;
66
- /** Open template picker */
67
- private openTemplatePicker;
68
- /** Handle template selection */
69
- private handleTemplateSelected;
70
- /** Apply layout template to content */
71
- private applyLayout;
72
- /** Upload image with configurable handler */
73
- private uploadImage;
74
- /** Create data URL for local preview */
75
- private createDataUrl;
76
- /** Get image dimensions */
77
- private getImageDimensions;
78
- /** Insert image markdown at cursor */
79
- private insertImageMarkdown;
80
- /** Handle file input changes */
81
- private handleFileChange;
82
- /** Handle image selection */
83
- private handleImageSelect;
84
- /** Drag and drop handlers */
85
- private handleDrop;
86
- private handleDragEnter;
87
- private handleDocumentDragLeave;
88
- private handleDocumentDrop;
89
- private handleDragOver;
90
- private handleDragLeave;
91
- /** Add file as attachment */
92
- private addFile;
93
- /** Remove attachment */
94
- private removeAttachment;
95
- render(): import("lit-html").TemplateResult<1>;
96
- }
97
- declare global {
98
- interface HTMLElementTagNameMap {
99
- 'schmancy-email-editor': SchmancyEmailEditor;
100
- }
101
- }
@@ -1,18 +0,0 @@
1
- import { SchmancyElement } from '@mixins/index';
2
- /**
3
- * Email layout selector component for choosing email templates
4
- *
5
- * Simple horizontal row of 5 layout options using Schmancy components only.
6
- *
7
- * @fires layout-select - When a layout is selected with {detail: {layout: string}}
8
- */
9
- export declare class SchmancyEmailLayoutSelector extends SchmancyElement {
10
- private layouts;
11
- private selectLayout;
12
- render(): import("lit-html").TemplateResult<1>;
13
- }
14
- declare global {
15
- interface HTMLElementTagNameMap {
16
- 'schmancy-email-layout-selector': SchmancyEmailLayoutSelector;
17
- }
18
- }
@@ -1,122 +0,0 @@
1
- import { SchmancyElement } from '@mixins/index';
2
- import type { ImportSource } from './types';
3
- /**
4
- * CSV parser interface (optional dependency)
5
- * Can be provided via global window object or imported
6
- */
7
- interface CSVParser {
8
- parse(csvContent: string, config: any): {
9
- data: any[];
10
- meta: {
11
- fields?: string[];
12
- };
13
- };
14
- }
15
- /**
16
- * Email recipients management component with floating boat interface
17
- *
18
- * Features:
19
- * - Floating boat UI that can be minimized/expanded
20
- * - CSV import with drag & drop
21
- * - Multiple import sources (configurable)
22
- * - Bulk selection and management
23
- * - Search and filtering
24
- * - Email validation
25
- *
26
- * @example
27
- * ```html
28
- * <schmancy-email-recipients
29
- * .recipients=${['user1@example.com', 'user2@example.com']}
30
- * @emails-imported=${handleEmailsImported}
31
- * ></schmancy-email-recipients>
32
- * ```
33
- */
34
- export declare class SchmancyEmailRecipients extends SchmancyElement {
35
- static styles: import("lit").CSSResult[];
36
- /** Disable all interactions */
37
- disabled: boolean;
38
- /** All available recipients */
39
- recipients: string[];
40
- /** Sources users can import recipients from (forwarded from parent) */
41
- importSources: ImportSource[];
42
- /** Currently selected recipients */
43
- selectedRecipients: string[];
44
- /** Enable CSV import functionality */
45
- enableCsvImport: boolean;
46
- /** Enable drag and drop for files */
47
- enableDragDrop: boolean;
48
- /** Panel title */
49
- title: string;
50
- /** Empty state title */
51
- emptyStateTitle: string;
52
- /** Empty state message */
53
- emptyStateMessage: string;
54
- /** CSV parser function (optional) */
55
- csvParser?: CSVParser;
56
- /** Internal state */
57
- private dragOver;
58
- private localSelectedRecipients;
59
- private searchQuery;
60
- private filteredRecipients;
61
- private boatState;
62
- /** File input reference */
63
- private fileInputRef;
64
- connectedCallback(): void;
65
- private handleEmailsImported;
66
- updated(changedProperties: Map<string, unknown>): void;
67
- /** Handle CSV import trigger */
68
- private handleImportFromCSV;
69
- /** Handle file selection */
70
- private handleFileSelect;
71
- /** Handle drag and drop */
72
- private handleDrop;
73
- /** Process CSV file */
74
- private processCSVFile;
75
- /** Parse CSV content */
76
- private parseCSV;
77
- /** Simple CSV parsing fallback */
78
- private simpleCSVParse;
79
- /** Validate email format */
80
- private isValidEmail;
81
- /** Toggle recipient selection */
82
- private toggleRecipientSelection;
83
- /** Select all filtered recipients */
84
- private selectAll;
85
- /** Clear all selections */
86
- private selectNone;
87
- /** Remove individual recipient */
88
- private removeRecipient;
89
- /** Clear all recipients */
90
- private clearAll;
91
- /** Update filtered recipients based on search */
92
- private updateFilteredRecipients;
93
- /** Handle search input */
94
- private handleSearchInput;
95
- /** Clear search query */
96
- private clearSearch;
97
- /** Dispatch selection change event */
98
- private dispatchSelectionChange;
99
- /** Handle boat state changes */
100
- private handleBoatStateChange;
101
- /** Add recipients programmatically */
102
- addRecipients(emails: string[]): void;
103
- /** Show boat (collapsed) */
104
- showBoat(): void;
105
- /** Hide boat (collapse) */
106
- hideBoat(): void;
107
- /** Expand boat */
108
- expandBoat(): void;
109
- /** Toggle boat state */
110
- toggleBoat(): void;
111
- render(): import("lit-html").TemplateResult<1>;
112
- /** Render floating boat layout */
113
- private renderBoatLayout;
114
- /** Render boat content */
115
- private renderBoatContent;
116
- }
117
- declare global {
118
- interface HTMLElementTagNameMap {
119
- 'schmancy-email-recipients': SchmancyEmailRecipients;
120
- }
121
- }
122
- export {};
@@ -1,54 +0,0 @@
1
- import { SchmancyElement } from '@mixins/index';
2
- import type { EmailTemplate } from './types';
3
- /**
4
- * Email template picker content component (designed to be opened via `show()`).
5
- *
6
- * Features:
7
- * - Grid layout for template preview
8
- * - Search/filter templates
9
- * - Category filtering
10
- * - Inline preview with direct selection
11
- * - Single-click template selection
12
- *
13
- * @example
14
- * ```typescript
15
- * import { show } from '@mhmo91/schmancy/overlay'
16
- *
17
- * show<EmailTemplate>(SchmancyEmailTemplatePicker, { props: { templates } })
18
- * .pipe(takeUntil(this.disconnecting))
19
- * .subscribe(template => { if (template) this.applyTemplate(template) })
20
- * ```
21
- */
22
- export declare class SchmancyEmailTemplatePicker extends SchmancyElement {
23
- static styles: import("lit").CSSResult[];
24
- /** Available templates */
25
- templates: EmailTemplate[];
26
- /** Search query */
27
- private searchQuery;
28
- /** Filtered templates based on search */
29
- private filteredTemplates;
30
- /** Selected category filter */
31
- private selectedCategory;
32
- connectedCallback(): void;
33
- updated(changed: Map<string, unknown>): void;
34
- /** Get unique categories from templates */
35
- get categories(): string[];
36
- /** Update filtered templates */
37
- private updateFilteredTemplates;
38
- /** Handle search input */
39
- private handleSearch;
40
- /** Handle category selection */
41
- private handleCategorySelect;
42
- /** Select template directly */
43
- private selectTemplate;
44
- /** Close the picker without a selection */
45
- private close;
46
- render(): import("lit-html").TemplateResult<1>;
47
- /** Render template list with inline previews */
48
- private renderTemplateList;
49
- }
50
- declare global {
51
- interface HTMLElementTagNameMap {
52
- 'schmancy-email-template-picker': SchmancyEmailTemplatePicker;
53
- }
54
- }
@@ -1,86 +0,0 @@
1
- import { SchmancyElement } from '@mixins/index';
2
- import type { EmailAttachment } from './types';
3
- /**
4
- * Email viewer component showing formatted HTML and plain text versions
5
- *
6
- * Features:
7
- * - HTML and plain text preview modes
8
- * - Email client-compatible styling
9
- * - Layout parsing (columns, sidebars, image rows)
10
- * - Markdown to HTML conversion
11
- * - Attachment display
12
- * - Email header simulation
13
- * - Character/word statistics
14
- *
15
- * @example
16
- * ```html
17
- * <schmancy-email-viewer
18
- * subject="Welcome!"
19
- * body="**Hello** world"
20
- * .attachments=${attachments}
21
- * .recipients=${['user@example.com']}
22
- * ></schmancy-email-viewer>
23
- * ```
24
- */
25
- export declare class SchmancyEmailViewer extends SchmancyElement {
26
- static styles: import("lit").CSSResult[];
27
- /** Email subject */
28
- subject: string;
29
- /** Email body content (markdown) */
30
- body: string;
31
- /** Email attachments */
32
- attachments: EmailAttachment[];
33
- /** Selected recipients for preview */
34
- recipients: string[];
35
- /** From address for preview */
36
- fromAddress: string;
37
- /** To address for preview (uses first recipient if not provided) */
38
- toAddress: string;
39
- /** Current view mode */
40
- private viewMode;
41
- /**
42
- * Parse layout blocks (:::layout type) and convert to email-safe table layouts
43
- */
44
- private parseLayoutBlocks;
45
- /**
46
- * Parse columns layout (2 or 3 columns)
47
- */
48
- private parseColumnsLayout;
49
- /**
50
- * Parse sidebar layout (left or right sidebar)
51
- */
52
- private parseSidebarLayout;
53
- /**
54
- * Parse image row layout
55
- */
56
- private parseImageRowLayout;
57
- /**
58
- * Parse image attributes from markdown syntax
59
- */
60
- private parseImageAttributes;
61
- /**
62
- * Generate email-safe image styles based on attributes
63
- */
64
- private generateImageStyles;
65
- /**
66
- * Parse basic markdown within layout content (simplified version)
67
- */
68
- private parseBasicMarkdown;
69
- /**
70
- * Email-compliant HTML generator for email clients (Gmail, Outlook, Apple Mail)
71
- * Uses table-based layouts with inline styles only - no CSS classes or modern features
72
- */
73
- private parseExtendedMarkdown;
74
- /**
75
- * Convert markdown to plain text for plain text preview
76
- */
77
- private convertToPlainText;
78
- /** Format file size for display */
79
- private formatFileSize;
80
- render(): import("lit-html").TemplateResult<1>;
81
- }
82
- declare global {
83
- interface HTMLElementTagNameMap {
84
- 'schmancy-email-viewer': SchmancyEmailViewer;
85
- }
86
- }
@@ -1,12 +0,0 @@
1
- /**
2
- * Schmancy Mailbox Components
3
- *
4
- * Comprehensive email composition and management system
5
- */
6
- export * from './types';
7
- export { SchmancyMailbox } from './mailbox';
8
- export { SchmancyEmailEditor } from './email-editor';
9
- export { SchmancyEmailViewer } from './email-viewer';
10
- export { SchmancyEmailRecipients } from './email-recipients';
11
- export { SchmancyEmailLayoutSelector } from './email-layout-selector';
12
- export type { EmailTemplate, EmailAttachment, EmailComposeConfig, SendEmailRequest, SendEmailResponse, ImportSource, EmailCampaign, EmailRecipient, MailboxState, CurrentComposeState, BoatState, EmailPreviewMode } from './types';
@@ -1,82 +0,0 @@
1
- import { SchmancyElement } from '@mixins/index';
2
- import type { EmailTemplate, EmailComposeConfig, ImportSource } from './types';
3
- /**
4
- * Main mailbox component that orchestrates the entire email composition flow
5
- *
6
- * Features:
7
- * - Responsive layout with composer and preview panels
8
- * - Recipients management with floating boat interface
9
- * - Template selection and content editing
10
- * - Attachment handling
11
- * - Email validation and sending
12
- *
13
- * @example
14
- * ```html
15
- * <schmancy-mailbox
16
- * .config=${{ sendEndpoint: '/api/send-email' }}
17
- * .templates=${emailTemplates}
18
- * .importSources=${recipientSources}
19
- * ></schmancy-mailbox>
20
- * ```
21
- */
22
- export declare class SchmancyMailbox extends SchmancyElement {
23
- static styles: import("lit").CSSResult[];
24
- /** Configuration for endpoints and handlers */
25
- config: EmailComposeConfig;
26
- /** Available email templates */
27
- templates: EmailTemplate[];
28
- /** Import sources for recipients panel */
29
- importSources: ImportSource[];
30
- /** Disable all interactions */
31
- disabled: boolean;
32
- /** Recipients panel title */
33
- recipientsTitle: string;
34
- /** Empty state title for recipients */
35
- recipientsEmptyTitle: string;
36
- /** Empty state message for recipients */
37
- recipientsEmptyMessage: string;
38
- /** Enable CSV import functionality */
39
- enableCsvImport: boolean;
40
- /** Enable drag and drop for files */
41
- enableDragDrop: boolean;
42
- /** Email composition state */
43
- private recipients;
44
- private selectedRecipients;
45
- private subject;
46
- private body;
47
- private templateId;
48
- private attachments;
49
- private isSending;
50
- connectedCallback(): void;
51
- updated(changedProperties: Map<string, unknown>): void;
52
- /** Handle emails imported from various sources */
53
- private handleEmailsImported;
54
- /** Handle individual recipient removal */
55
- private handleRecipientRemoved;
56
- /** Handle clearing all recipients */
57
- private handleRecipientsCleared;
58
- /** Handle recipient selection changes */
59
- private handleSelectionChanged;
60
- /** Handle composer content changes */
61
- private handleEditorChange;
62
- /** Handle email sending */
63
- private handleSend;
64
- /** Add recipients programmatically */
65
- addRecipients(emails: string[]): void;
66
- /** Set email subject */
67
- setSubject(subject: string): void;
68
- /** Set email body */
69
- setBody(body: string): void;
70
- /** Set selected template */
71
- setTemplate(templateId: string | null): void;
72
- /** Clear all compose data */
73
- clearCompose(): void;
74
- /** Set sending state */
75
- setSending(sending: boolean): void;
76
- render(): import("lit-html").TemplateResult<1>;
77
- }
78
- declare global {
79
- interface HTMLElementTagNameMap {
80
- 'schmancy-mailbox': SchmancyMailbox;
81
- }
82
- }
@@ -1,176 +0,0 @@
1
- /**
2
- * Mailbox component types and interfaces
3
- */
4
- /**
5
- * Email template definition
6
- */
7
- export interface EmailTemplate {
8
- id: string;
9
- name: string;
10
- subject: string;
11
- body: string;
12
- isDefault?: boolean;
13
- createdAt?: Date | string;
14
- category?: string;
15
- description?: string;
16
- thumbnail?: string;
17
- }
18
- /**
19
- * Email attachment definition
20
- */
21
- export interface EmailAttachment {
22
- id: string;
23
- file: File;
24
- name: string;
25
- size: number;
26
- type: string;
27
- url?: string;
28
- }
29
- /**
30
- * Configuration for email composer component
31
- */
32
- export interface EmailComposeConfig {
33
- /** Endpoint for sending emails */
34
- sendEndpoint?: string;
35
- /** Endpoint for fetching templates */
36
- templatesEndpoint?: string;
37
- /** Endpoint for uploading files */
38
- uploadEndpoint?: string;
39
- /** Function to authenticate requests */
40
- authenticateRequest?: (request: RequestInit) => RequestInit;
41
- /** Custom upload handler for attachments */
42
- uploadHandler?: (file: File) => Promise<string>;
43
- /** Custom image upload handler */
44
- imageUploadHandler?: (file: File) => Promise<string>;
45
- }
46
- /**
47
- * Email send request structure
48
- */
49
- export interface SendEmailRequest {
50
- recipients: string[];
51
- subject: string;
52
- body: string;
53
- attachments: EmailAttachment[];
54
- templateId?: string | null;
55
- }
56
- /**
57
- * Email send response structure
58
- */
59
- export interface SendEmailResponse {
60
- success: boolean;
61
- message: string;
62
- campaignId?: string;
63
- }
64
- /**
65
- * Import source definition for recipients panel
66
- */
67
- export interface ImportSource {
68
- id: string;
69
- label: string;
70
- icon: string;
71
- handler: () => void;
72
- }
73
- /**
74
- * CSV parsing result
75
- */
76
- export interface CsvParseResult {
77
- validEmails: string[];
78
- invalidEmails: string[];
79
- totalRows: number;
80
- duplicates: string[];
81
- }
82
- /**
83
- * Email recipient status
84
- */
85
- export type EmailRecipientStatus = 'pending' | 'sent' | 'failed';
86
- /**
87
- * Email recipient definition
88
- */
89
- export interface EmailRecipient {
90
- email: string;
91
- name?: string;
92
- status: EmailRecipientStatus;
93
- error?: string;
94
- sentAt?: Date | string;
95
- }
96
- /**
97
- * Email campaign definition
98
- */
99
- export interface EmailCampaign {
100
- id?: string;
101
- subject: string;
102
- body: string;
103
- plainText?: string;
104
- recipients: EmailRecipient[];
105
- status: 'draft' | 'sent' | 'failed' | 'sending';
106
- createdAt?: Date | string;
107
- sentAt?: Date | string;
108
- createdBy?: string;
109
- templateId?: string;
110
- attachments?: EmailAttachment[];
111
- stats?: {
112
- totalRecipients: number;
113
- sent: number;
114
- failed: number;
115
- batches?: number;
116
- retries?: number;
117
- opened?: number;
118
- clicked?: number;
119
- };
120
- }
121
- /**
122
- * Mailbox state for context management
123
- */
124
- export interface MailboxState {
125
- campaigns: EmailCampaign[];
126
- templates: EmailTemplate[];
127
- loading: boolean;
128
- error: string | null;
129
- currentCampaign: Partial<EmailCampaign> | null;
130
- }
131
- /**
132
- * Current compose state for context management
133
- */
134
- export interface CurrentComposeState {
135
- selectedEmails: string[];
136
- subject: string;
137
- body: string;
138
- templateId: string | null;
139
- attachments: EmailAttachment[];
140
- }
141
- /**
142
- * Email compose events
143
- */
144
- export type EmailComposeEvents = {
145
- 'emails-imported': CustomEvent<{
146
- emails: string[];
147
- source: string;
148
- }>;
149
- 'recipient-removed': CustomEvent<{
150
- email: string;
151
- }>;
152
- 'recipients-cleared': CustomEvent<{}>;
153
- 'selection-changed': CustomEvent<{
154
- selectedEmails: string[];
155
- }>;
156
- 'compose-changed': CustomEvent<{
157
- subject: string;
158
- body: string;
159
- templateId: string | null;
160
- attachments: EmailAttachment[];
161
- }>;
162
- 'send-email': CustomEvent<{
163
- request: SendEmailRequest;
164
- }>;
165
- 'send-error': CustomEvent<{
166
- error: string;
167
- }>;
168
- };
169
- /**
170
- * Boat state options for recipients panel
171
- */
172
- export type BoatState = 'collapsed' | 'expanded';
173
- /**
174
- * Email preview view modes
175
- */
176
- export type EmailPreviewMode = 'html' | 'plaintext';
File without changes
File without changes