@mhmo91/schmancy 0.10.4 → 0.10.5

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 (446) hide show
  1. package/custom-elements.json +17 -220
  2. package/dist/agent/schmancy.agent.js +3770 -4600
  3. package/dist/agent/schmancy.agent.js.map +1 -1
  4. package/dist/agent/schmancy.manifest.json +6 -211
  5. package/dist/{area-ZupIezvU.cjs → area-CSQdhCBF.cjs} +1 -1
  6. package/dist/{area-ZupIezvU.cjs.map → area-CSQdhCBF.cjs.map} +1 -1
  7. package/dist/{area-DHVANBbr.js → area-D5haQE-J.js} +1 -1
  8. package/dist/{area-DHVANBbr.js.map → area-D5haQE-J.js.map} +1 -1
  9. package/dist/area.cjs +1 -1
  10. package/dist/area.js +1 -1
  11. package/dist/{autocomplete-Bn525CTp.cjs → autocomplete-B_bJXUjm.cjs} +1 -1
  12. package/dist/{autocomplete-Bn525CTp.cjs.map → autocomplete-B_bJXUjm.cjs.map} +1 -1
  13. package/dist/{autocomplete-pHvsyfbH.js → autocomplete-DtyjZJ1E.js} +2 -2
  14. package/dist/{autocomplete-pHvsyfbH.js.map → autocomplete-DtyjZJ1E.js.map} +1 -1
  15. package/dist/autocomplete.cjs +1 -1
  16. package/dist/autocomplete.js +1 -1
  17. package/dist/avatar.cjs +1 -1
  18. package/dist/avatar.js +2 -2
  19. package/dist/badge.cjs +1 -1
  20. package/dist/badge.js +1 -1
  21. package/dist/{boat-IyEtsNI4.cjs → boat-BJLCp-Hv.cjs} +1 -1
  22. package/dist/{boat-IyEtsNI4.cjs.map → boat-BJLCp-Hv.cjs.map} +1 -1
  23. package/dist/{boat-_Yv3M6YM.js → boat-MT8bRT8u.js} +2 -2
  24. package/dist/{boat-_Yv3M6YM.js.map → boat-MT8bRT8u.js.map} +1 -1
  25. package/dist/boat.cjs +1 -1
  26. package/dist/boat.js +1 -1
  27. package/dist/breadcrumb.cjs +1 -1
  28. package/dist/breadcrumb.js +1 -1
  29. package/dist/{busy-Ck2IXJ4r.js → busy-6BqWGryX.js} +1 -1
  30. package/dist/{busy-Ck2IXJ4r.js.map → busy-6BqWGryX.js.map} +1 -1
  31. package/dist/{busy-CjM39APN.cjs → busy-DSF2E-zy.cjs} +1 -1
  32. package/dist/{busy-CjM39APN.cjs.map → busy-DSF2E-zy.cjs.map} +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 +3 -3
  37. package/dist/{card-DUWZmMHc.js → card-CvuVha-W.js} +1 -1
  38. package/dist/{card-DUWZmMHc.js.map → card-CvuVha-W.js.map} +1 -1
  39. package/dist/{card-DIxDuuth.cjs → card-DnKnaHzf.cjs} +1 -1
  40. package/dist/{card-DIxDuuth.cjs.map → card-DnKnaHzf.cjs.map} +1 -1
  41. package/dist/card.cjs +1 -1
  42. package/dist/card.js +1 -1
  43. package/dist/charts.cjs +1 -1
  44. package/dist/charts.js +1 -1
  45. package/dist/{checkbox-CGdFXuWQ.cjs → checkbox-D3u8Wm9r.cjs} +1 -1
  46. package/dist/{checkbox-CGdFXuWQ.cjs.map → checkbox-D3u8Wm9r.cjs.map} +1 -1
  47. package/dist/{checkbox-DPS1mWG-.js → checkbox-QDRsE8cp.js} +1 -1
  48. package/dist/{checkbox-DPS1mWG-.js.map → checkbox-QDRsE8cp.js.map} +1 -1
  49. package/dist/checkbox.cjs +1 -1
  50. package/dist/checkbox.js +1 -1
  51. package/dist/{chips-UoFbwmlG.cjs → chips-CMoQzop1.cjs} +1 -1
  52. package/dist/{chips-UoFbwmlG.cjs.map → chips-CMoQzop1.cjs.map} +1 -1
  53. package/dist/{chips-BnnXQSA-.js → chips-Dy9vx8JS.js} +4 -4
  54. package/dist/{chips-BnnXQSA-.js.map → chips-Dy9vx8JS.js.map} +1 -1
  55. package/dist/chips.cjs +1 -1
  56. package/dist/chips.js +2 -2
  57. package/dist/{code-highlight-CMilN0B8.cjs → code-highlight-Ddp0oZnm.cjs} +1 -1
  58. package/dist/{code-highlight-CMilN0B8.cjs.map → code-highlight-Ddp0oZnm.cjs.map} +1 -1
  59. package/dist/{code-highlight-kFUJ1Eet.js → code-highlight-DtE2-ObF.js} +1 -1
  60. package/dist/{code-highlight-kFUJ1Eet.js.map → code-highlight-DtE2-ObF.js.map} +1 -1
  61. package/dist/code-highlight.cjs +1 -1
  62. package/dist/code-highlight.js +1 -1
  63. package/dist/connectivity.cjs +1 -1
  64. package/dist/connectivity.js +1 -1
  65. package/dist/content-drawer.cjs +1 -1
  66. package/dist/content-drawer.js +1 -1
  67. package/dist/{context-daN5G6HS.cjs.map → context-BpCETidA.cjs.map} +1 -1
  68. package/dist/{context-Bdu1xt0W.js.map → context-DJTJnSK4.js.map} +1 -1
  69. package/dist/date-range-B2NuihKA.cjs +131 -0
  70. package/dist/date-range-B2NuihKA.cjs.map +1 -0
  71. package/dist/{date-range-DOstCIg8.js → date-range-Boesjlic.js} +99 -113
  72. package/dist/date-range-Boesjlic.js.map +1 -0
  73. package/dist/{date-range-inline-4P7zqeVe.cjs → date-range-inline-BI6_4Ahl.cjs} +1 -1
  74. package/dist/{date-range-inline-4P7zqeVe.cjs.map → date-range-inline-BI6_4Ahl.cjs.map} +1 -1
  75. package/dist/{date-range-inline-BVycTWLb.js → date-range-inline-DBuND2pc.js} +1 -1
  76. package/dist/{date-range-inline-BVycTWLb.js.map → date-range-inline-DBuND2pc.js.map} +1 -1
  77. package/dist/date-range-inline.cjs +1 -1
  78. package/dist/date-range-inline.js +1 -1
  79. package/dist/date-range.cjs +1 -1
  80. package/dist/date-range.js +1 -1
  81. package/dist/delay.cjs +1 -1
  82. package/dist/delay.js +2 -2
  83. package/dist/{details-BJBbZOO6.cjs → details-BRs_z5-k.cjs} +1 -1
  84. package/dist/{details-BJBbZOO6.cjs.map → details-BRs_z5-k.cjs.map} +1 -1
  85. package/dist/{details-DPc5GxPa.js → details-BrGrUTGC.js} +2 -2
  86. package/dist/{details-DPc5GxPa.js.map → details-BrGrUTGC.js.map} +1 -1
  87. package/dist/details.cjs +1 -1
  88. package/dist/details.js +1 -1
  89. package/dist/directives.cjs +1 -1
  90. package/dist/directives.js +2 -2
  91. package/dist/{divider-DPT3XnG5.cjs → divider-BOxQ2T9h.cjs} +1 -1
  92. package/dist/{divider-DPT3XnG5.cjs.map → divider-BOxQ2T9h.cjs.map} +1 -1
  93. package/dist/{divider-BvJsmSPH.js → divider-W3TiDasp.js} +1 -1
  94. package/dist/{divider-BvJsmSPH.js.map → divider-W3TiDasp.js.map} +1 -1
  95. package/dist/divider.cjs +1 -1
  96. package/dist/divider.js +1 -1
  97. package/dist/dropdown.cjs +1 -1
  98. package/dist/dropdown.js +1 -1
  99. package/dist/{expand-CTqBWVXo.cjs → expand-CnccBF91.cjs} +1 -1
  100. package/dist/{expand-CTqBWVXo.cjs.map → expand-CnccBF91.cjs.map} +1 -1
  101. package/dist/{expand-BMzocdtj.js → expand-Pu8fZ0jZ.js} +2 -2
  102. package/dist/{expand-BMzocdtj.js.map → expand-Pu8fZ0jZ.js.map} +1 -1
  103. package/dist/expand.cjs +1 -1
  104. package/dist/expand.js +1 -1
  105. package/dist/{extra-h_cuxRII.cjs → extra-B8IPs6gG.cjs} +1 -1
  106. package/dist/{extra-h_cuxRII.cjs.map → extra-B8IPs6gG.cjs.map} +1 -1
  107. package/dist/{extra-BeHlUhzv.js → extra-DxEWs41z.js} +1 -1
  108. package/dist/{extra-BeHlUhzv.js.map → extra-DxEWs41z.js.map} +1 -1
  109. package/dist/extra.cjs +1 -1
  110. package/dist/extra.js +1 -1
  111. package/dist/{float-CwVBs11k.cjs → float-BRKa-P6Z.cjs} +1 -1
  112. package/dist/{float-CwVBs11k.cjs.map → float-BRKa-P6Z.cjs.map} +1 -1
  113. package/dist/{float-CTc1xxqH.js → float-WCVdp3um.js} +1 -1
  114. package/dist/{float-CTc1xxqH.js.map → float-WCVdp3um.js.map} +1 -1
  115. package/dist/float.cjs +1 -1
  116. package/dist/float.js +1 -1
  117. package/dist/{form-CSJp687X.cjs.map → form-B2qudx_q.cjs.map} +1 -1
  118. package/dist/{form-BtwOBMZ9.js.map → form-CI59gad4.js.map} +1 -1
  119. package/dist/form.cjs +1 -1
  120. package/dist/form.js +1 -1
  121. package/dist/handover/agent-runtime-followups.md +1 -1
  122. package/dist/handover/agent-runtime-v1.md +3 -3
  123. package/dist/{hashContent-1ARKIsx9.js.map → hashContent-a8uVr3xs.js.map} +1 -1
  124. package/dist/{hashContent-Bp5S6T4U.cjs.map → hashContent-ejkBgDnN.cjs.map} +1 -1
  125. package/dist/{icons-BbCVrcas.js → icons-C0ufCcdp.js} +2 -2
  126. package/dist/{icons-BbCVrcas.js.map → icons-C0ufCcdp.js.map} +1 -1
  127. package/dist/{icons-qEQW4pjM.cjs → icons-DXEbmg-O.cjs} +1 -1
  128. package/dist/{icons-qEQW4pjM.cjs.map → icons-DXEbmg-O.cjs.map} +1 -1
  129. package/dist/icons.cjs +1 -1
  130. package/dist/icons.js +1 -1
  131. package/dist/{iframe-D6HTruav.cjs → iframe-C6RVODkW.cjs} +1 -1
  132. package/dist/{iframe-D6HTruav.cjs.map → iframe-C6RVODkW.cjs.map} +1 -1
  133. package/dist/{iframe-BJfDIEJf.js → iframe-c9lGxw7x.js} +1 -1
  134. package/dist/{iframe-BJfDIEJf.js.map → iframe-c9lGxw7x.js.map} +1 -1
  135. package/dist/iframe.cjs +1 -1
  136. package/dist/iframe.js +1 -1
  137. package/dist/index.cjs +1 -1
  138. package/dist/index.js +72 -76
  139. package/dist/{input-U26axtcs.cjs → input-B4HM-9-H.cjs} +1 -1
  140. package/dist/{input-U26axtcs.cjs.map → input-B4HM-9-H.cjs.map} +1 -1
  141. package/dist/{input-LTK3cctF.js → input-Pmj_bH37.js} +1 -1
  142. package/dist/{input-LTK3cctF.js.map → input-Pmj_bH37.js.map} +1 -1
  143. package/dist/{input-chip-Ch-aCs3c.js → input-chip-BIGgd_7w.js} +1 -1
  144. package/dist/{input-chip-Ch-aCs3c.js.map → input-chip-BIGgd_7w.js.map} +1 -1
  145. package/dist/{input-chip-CADXt0X5.cjs → input-chip-BoDisY6c.cjs} +1 -1
  146. package/dist/{input-chip-CADXt0X5.cjs.map → input-chip-BoDisY6c.cjs.map} +1 -1
  147. package/dist/input.cjs +1 -1
  148. package/dist/input.js +1 -1
  149. package/dist/json.cjs +1 -1
  150. package/dist/json.js +2 -2
  151. package/dist/kbd.cjs +1 -1
  152. package/dist/kbd.js +1 -1
  153. package/dist/{layout-C4xmnU4n.js → layout-CXPNsUIo.js} +1 -1
  154. package/dist/{layout-C4xmnU4n.js.map → layout-CXPNsUIo.js.map} +1 -1
  155. package/dist/{layout-Dmh6fxh0.cjs → layout-Zhe7wSZ_.cjs} +1 -1
  156. package/dist/{layout-Dmh6fxh0.cjs.map → layout-Zhe7wSZ_.cjs.map} +1 -1
  157. package/dist/layout.cjs +1 -1
  158. package/dist/layout.js +1 -1
  159. package/dist/{lightbox-DbYUSfVl.cjs → lightbox-DK1vDKm3.cjs} +1 -1
  160. package/dist/{lightbox-DbYUSfVl.cjs.map → lightbox-DK1vDKm3.cjs.map} +1 -1
  161. package/dist/{lightbox-DqG2z3Cn.js → lightbox-K1eJTYXP.js} +2 -2
  162. package/dist/{lightbox-DqG2z3Cn.js.map → lightbox-K1eJTYXP.js.map} +1 -1
  163. package/dist/lightbox.cjs +1 -1
  164. package/dist/lightbox.js +1 -1
  165. package/dist/{list-CLX4sSAw.cjs → list-CEuVqAxN.cjs} +1 -1
  166. package/dist/{list-CLX4sSAw.cjs.map → list-CEuVqAxN.cjs.map} +1 -1
  167. package/dist/{list-D6-_E5ZD.js → list-Ds0Nv1y5.js} +1 -1
  168. package/dist/{list-D6-_E5ZD.js.map → list-Ds0Nv1y5.js.map} +1 -1
  169. package/dist/list.cjs +1 -1
  170. package/dist/list.js +1 -1
  171. package/dist/{magnetic-BH0TsofV.cjs.map → magnetic-BJgB1dVi.cjs.map} +1 -1
  172. package/dist/{magnetic-BZGFxAWG.js.map → magnetic-YwCNvtbB.js.map} +1 -1
  173. package/dist/{mailbox-Ct6iYe-4.cjs → mailbox-CDWqbVvZ.cjs} +58 -58
  174. package/dist/mailbox-CDWqbVvZ.cjs.map +1 -0
  175. package/dist/{mailbox-DsPII8HR.js → mailbox-DD2How0H.js} +112 -101
  176. package/dist/mailbox-DD2How0H.js.map +1 -0
  177. package/dist/mailbox.cjs +1 -1
  178. package/dist/mailbox.js +1 -1
  179. package/dist/{map-Dhy3ta9v.js → map-1uwxxvBa.js} +1 -1
  180. package/dist/{map-Dhy3ta9v.js.map → map-1uwxxvBa.js.map} +1 -1
  181. package/dist/{map-WXeVkx2K.cjs → map-BrBSrIqg.cjs} +1 -1
  182. package/dist/{map-WXeVkx2K.cjs.map → map-BrBSrIqg.cjs.map} +1 -1
  183. package/dist/map.cjs +1 -1
  184. package/dist/map.js +1 -1
  185. package/dist/menu-Bly30Nje.cjs +23 -0
  186. package/dist/menu-Bly30Nje.cjs.map +1 -0
  187. package/dist/menu-L8MK1ma5.js +62 -0
  188. package/dist/menu-L8MK1ma5.js.map +1 -0
  189. package/dist/menu.cjs +1 -1
  190. package/dist/menu.js +1 -1
  191. package/dist/mixins-B34UxxCe.js +627 -0
  192. package/dist/{mixins-CcIWET41.js.map → mixins-B34UxxCe.js.map} +1 -1
  193. package/dist/mixins-CAb0b03r.cjs +298 -0
  194. package/dist/{mixins-De3xfjrm.cjs.map → mixins-CAb0b03r.cjs.map} +1 -1
  195. package/dist/mixins.cjs +1 -1
  196. package/dist/mixins.js +1 -1
  197. package/dist/nav-drawer.cjs +1 -1
  198. package/dist/nav-drawer.js +1 -1
  199. package/dist/navigation-bar.cjs +1 -1
  200. package/dist/navigation-bar.js +1 -1
  201. package/dist/navigation-rail.cjs +1 -1
  202. package/dist/navigation-rail.js +1 -1
  203. package/dist/{notification-D_PQjBSf.cjs → notification-7fSbk8hm.cjs} +1 -1
  204. package/dist/{notification-D_PQjBSf.cjs.map → notification-7fSbk8hm.cjs.map} +1 -1
  205. package/dist/{notification-CVLqQ8c_.js → notification-DB25M-qo.js} +2 -2
  206. package/dist/{notification-CVLqQ8c_.js.map → notification-DB25M-qo.js.map} +1 -1
  207. package/dist/notification.cjs +1 -1
  208. package/dist/notification.js +1 -1
  209. package/dist/{option-rm4HebVs.js → option-DDHa25k5.js} +1 -1
  210. package/dist/{option-rm4HebVs.js.map → option-DDHa25k5.js.map} +1 -1
  211. package/dist/{option-DDU_goh1.cjs → option-HF9Xqbuq.cjs} +1 -1
  212. package/dist/{option-DDU_goh1.cjs.map → option-HF9Xqbuq.cjs.map} +1 -1
  213. package/dist/option.cjs +1 -1
  214. package/dist/option.js +1 -1
  215. package/dist/{overlay-stack-CAQno0CK.js.map → overlay-stack-CCiTaf_C.js.map} +1 -1
  216. package/dist/{overlay-stack-BprhAE9a.cjs.map → overlay-stack-CFGiYf34.cjs.map} +1 -1
  217. package/dist/overlay.cjs +5 -53
  218. package/dist/overlay.cjs.map +1 -1
  219. package/dist/overlay.confirm-body-BDG94R0x.js +104 -0
  220. package/dist/overlay.confirm-body-BDG94R0x.js.map +1 -0
  221. package/dist/overlay.confirm-body-b4Nx_OVf.cjs +49 -0
  222. package/dist/overlay.confirm-body-b4Nx_OVf.cjs.map +1 -0
  223. package/dist/overlay.js +120 -360
  224. package/dist/overlay.js.map +1 -1
  225. package/dist/overlay.service-BUCuZa6V.js +146 -0
  226. package/dist/overlay.service-BUCuZa6V.js.map +1 -0
  227. package/dist/overlay.service-CRHZZY9F.cjs +1 -0
  228. package/dist/overlay.service-CRHZZY9F.cjs.map +1 -0
  229. package/dist/page.cjs +1 -1
  230. package/dist/page.js +4 -4
  231. package/dist/{payment-card-form-C0dHYZIv.js → payment-card-form-C4jb-OdM.js} +1 -1
  232. package/dist/{payment-card-form-C0dHYZIv.js.map → payment-card-form-C4jb-OdM.js.map} +1 -1
  233. package/dist/{payment-card-form-DNvmZxs4.cjs → payment-card-form-WEx4CscR.cjs} +1 -1
  234. package/dist/{payment-card-form-DNvmZxs4.cjs.map → payment-card-form-WEx4CscR.cjs.map} +1 -1
  235. package/dist/payment-card-form.cjs +1 -1
  236. package/dist/payment-card-form.js +1 -1
  237. package/dist/{progress-U3LQkpM2.cjs → progress-54R4QRgW.cjs} +1 -1
  238. package/dist/{progress-U3LQkpM2.cjs.map → progress-54R4QRgW.cjs.map} +1 -1
  239. package/dist/{progress-BRerM5Bn.js → progress-CqOyMM4i.js} +1 -1
  240. package/dist/{progress-BRerM5Bn.js.map → progress-CqOyMM4i.js.map} +1 -1
  241. package/dist/progress.cjs +1 -1
  242. package/dist/progress.js +1 -1
  243. package/dist/qr-scanner.cjs +1 -1
  244. package/dist/qr-scanner.js +1 -1
  245. package/dist/{radio-group-BZ2WoOXJ.js → radio-group-B4zbBIZF.js} +1 -1
  246. package/dist/{radio-group-BZ2WoOXJ.js.map → radio-group-B4zbBIZF.js.map} +1 -1
  247. package/dist/{radio-group-D7mm-yvJ.cjs → radio-group-BJqZpYVy.cjs} +1 -1
  248. package/dist/{radio-group-D7mm-yvJ.cjs.map → radio-group-BJqZpYVy.cjs.map} +1 -1
  249. package/dist/radio-group.cjs +1 -1
  250. package/dist/radio-group.js +1 -1
  251. package/dist/range.cjs +1 -1
  252. package/dist/range.js +1 -1
  253. package/dist/{rxjs-utils-d-ivVN84.js.map → rxjs-utils-BXpvHN4-.js.map} +1 -1
  254. package/dist/{rxjs-utils-Csnks202.cjs.map → rxjs-utils-CaC-tdot.cjs.map} +1 -1
  255. package/dist/rxjs-utils.cjs +1 -1
  256. package/dist/rxjs-utils.js +1 -1
  257. package/dist/{scroll-qL-HkMdP.js → scroll-CYm6Krus.js} +1 -1
  258. package/dist/{scroll-qL-HkMdP.js.map → scroll-CYm6Krus.js.map} +1 -1
  259. package/dist/{scroll-DJTjNIT_.cjs → scroll-iSRovYYt.cjs} +1 -1
  260. package/dist/{scroll-DJTjNIT_.cjs.map → scroll-iSRovYYt.cjs.map} +1 -1
  261. package/dist/{select-CnPXUeSf.js → select-1WHseXP6.js} +2 -2
  262. package/dist/{select-CnPXUeSf.js.map → select-1WHseXP6.js.map} +1 -1
  263. package/dist/{select-BvA7v-gL.cjs → select-DiQHtQJN.cjs} +1 -1
  264. package/dist/{select-BvA7v-gL.cjs.map → select-DiQHtQJN.cjs.map} +1 -1
  265. package/dist/select.cjs +1 -1
  266. package/dist/select.js +1 -1
  267. package/dist/skeleton.cjs +1 -1
  268. package/dist/skeleton.js +1 -1
  269. package/dist/skills/INDEX.md +2 -2
  270. package/dist/skills/SKILL.md +13 -9
  271. package/dist/skills/schmancy/INDEX.md +2 -2
  272. package/dist/skills/schmancy/SKILL.md +13 -9
  273. package/dist/slider.cjs +1 -1
  274. package/dist/slider.js +1 -1
  275. package/dist/{splash-screen-C8JCqX5L.js → splash-screen-BwvtKMdN.js} +1 -1
  276. package/dist/{splash-screen-C8JCqX5L.js.map → splash-screen-BwvtKMdN.js.map} +1 -1
  277. package/dist/{splash-screen-BDt4PInk.cjs → splash-screen-CJL8DGDe.cjs} +1 -1
  278. package/dist/{splash-screen-BDt4PInk.cjs.map → splash-screen-CJL8DGDe.cjs.map} +1 -1
  279. package/dist/splash-screen.cjs +1 -1
  280. package/dist/splash-screen.js +1 -1
  281. package/dist/{src-CpRNClhg.cjs → src-Bwr2NR0A.cjs} +13 -13
  282. package/dist/src-Bwr2NR0A.cjs.map +1 -0
  283. package/dist/{src-CqdnWGgr.js → src-UaZeROcW.js} +164 -162
  284. package/dist/src-UaZeROcW.js.map +1 -0
  285. package/dist/steps.cjs +1 -1
  286. package/dist/steps.js +1 -1
  287. package/dist/{surface-Du2Y4vXd.cjs → surface-DE5iuI8e.cjs} +1 -1
  288. package/dist/{surface-Du2Y4vXd.cjs.map → surface-DE5iuI8e.cjs.map} +1 -1
  289. package/dist/{surface-C8jQy8Ym.js → surface-DPUkQ3OL.js} +1 -1
  290. package/dist/{surface-C8jQy8Ym.js.map → surface-DPUkQ3OL.js.map} +1 -1
  291. package/dist/surface.cjs +1 -1
  292. package/dist/surface.js +1 -1
  293. package/dist/switch.cjs +1 -1
  294. package/dist/switch.js +1 -1
  295. package/dist/table.cjs +1 -1
  296. package/dist/table.js +1 -1
  297. package/dist/{tabs-Cyahh9Q6.js → tabs-B2XEQPQl.js} +1 -1
  298. package/dist/{tabs-Cyahh9Q6.js.map → tabs-B2XEQPQl.js.map} +1 -1
  299. package/dist/{tabs-0RfeCa00.cjs → tabs-CsDQ72Qk.cjs} +1 -1
  300. package/dist/{tabs-0RfeCa00.cjs.map → tabs-CsDQ72Qk.cjs.map} +1 -1
  301. package/dist/tabs.cjs +1 -1
  302. package/dist/tabs.js +1 -1
  303. package/dist/teleport.cjs +1 -1
  304. package/dist/teleport.js +1 -1
  305. package/dist/{textarea-CXCcTVnf.js → textarea-C_ps0lL-.js} +1 -1
  306. package/dist/{textarea-CXCcTVnf.js.map → textarea-C_ps0lL-.js.map} +1 -1
  307. package/dist/{textarea-jqRrLxmo.cjs → textarea-aeAP9cDG.cjs} +1 -1
  308. package/dist/{textarea-jqRrLxmo.cjs.map → textarea-aeAP9cDG.cjs.map} +1 -1
  309. package/dist/textarea.cjs +1 -1
  310. package/dist/textarea.js +1 -1
  311. package/dist/theme-DAYTVw13.cjs +181 -0
  312. package/dist/{theme-Hjz9sCN-.cjs.map → theme-DAYTVw13.cjs.map} +1 -1
  313. package/dist/{theme-2KZW2Rfs.js → theme-DAx1iRNr.js} +3 -4
  314. package/dist/{theme-2KZW2Rfs.js.map → theme-DAx1iRNr.js.map} +1 -1
  315. package/dist/{theme-button-9uF1eoHz.js → theme-button-BrHkzCtj.js} +1 -1
  316. package/dist/{theme-button-9uF1eoHz.js.map → theme-button-BrHkzCtj.js.map} +1 -1
  317. package/dist/{theme-button-C7QIbke1.cjs → theme-button-LsMKY_N_.cjs} +1 -1
  318. package/dist/{theme-button-C7QIbke1.cjs.map → theme-button-LsMKY_N_.cjs.map} +1 -1
  319. package/dist/theme-button.cjs +1 -1
  320. package/dist/theme-button.js +1 -1
  321. package/dist/theme.cjs +1 -1
  322. package/dist/{theme.interface-DnVNre4O.js.map → theme.interface-C_034TxG.js.map} +1 -1
  323. package/dist/{theme.interface-D9l33b-M.cjs.map → theme.interface-DESopuZS.cjs.map} +1 -1
  324. package/dist/theme.js +5 -6
  325. package/dist/theme.service-Cfk88qHK.cjs +1 -0
  326. package/dist/theme.service-Cfk88qHK.cjs.map +1 -0
  327. package/dist/{theme.service-CmbOGMA8.js → theme.service-DIUo1mBP.js} +13 -14
  328. package/dist/theme.service-DIUo1mBP.js.map +1 -0
  329. package/dist/timeline.cjs +1 -1
  330. package/dist/timeline.js +1 -1
  331. package/dist/tree.cjs +1 -1
  332. package/dist/tree.js +1 -1
  333. package/dist/typography.cjs +1 -1
  334. package/dist/typography.js +1 -1
  335. package/dist/{utils-hp-DnFf5.js → utils-BzFQfaIr.js} +1 -1
  336. package/dist/{utils-hp-DnFf5.js.map → utils-BzFQfaIr.js.map} +1 -1
  337. package/dist/{utils-Cr-YO4Np.cjs → utils-oLBkMvor.cjs} +1 -1
  338. package/dist/{utils-Cr-YO4Np.cjs.map → utils-oLBkMvor.cjs.map} +1 -1
  339. package/dist/utils.cjs +1 -1
  340. package/dist/utils.js +2 -2
  341. package/dist/visually-hidden.cjs +1 -1
  342. package/dist/visually-hidden.js +1 -1
  343. package/dist/{window-DtUOWiAj.cjs → window-BJrKS6Zr.cjs} +1 -1
  344. package/dist/{window-DtUOWiAj.cjs.map → window-BJrKS6Zr.cjs.map} +1 -1
  345. package/dist/{window-C7yY9yp5.js → window-CyDuTN80.js} +3 -3
  346. package/dist/{window-C7yY9yp5.js.map → window-CyDuTN80.js.map} +1 -1
  347. package/dist/window.cjs +1 -1
  348. package/dist/window.js +1 -1
  349. package/package.json +1 -1
  350. package/skills/schmancy/INDEX.md +2 -2
  351. package/skills/schmancy/SKILL.md +13 -9
  352. package/src/content-drawer/drawer.ts +24 -7
  353. package/src/content-drawer/events.ts +6 -0
  354. package/src/content-drawer/sheet.ts +13 -12
  355. package/src/date-range/date-range-dialog.ts +4 -4
  356. package/src/date-range/date-range.ts +35 -53
  357. package/src/index.ts +0 -2
  358. package/src/mailbox/email-editor.ts +17 -18
  359. package/src/mailbox/email-template-picker.ts +19 -13
  360. package/src/menu/menu-item.ts +7 -2
  361. package/src/menu/menu.ts +24 -20
  362. package/types/src/content-drawer/drawer.d.ts +2 -0
  363. package/types/src/content-drawer/events.d.ts +6 -0
  364. package/types/src/content-drawer/sheet.d.ts +6 -5
  365. package/types/src/date-range/date-range.d.ts +1 -5
  366. package/types/src/index.d.ts +0 -2
  367. package/types/src/mailbox/email-template-picker.d.ts +7 -7
  368. package/types/src/menu/menu-item.d.ts +1 -0
  369. package/types/src/menu/menu.d.ts +9 -7
  370. package/dist/date-range-BIyrzTRZ.cjs +0 -131
  371. package/dist/date-range-BIyrzTRZ.cjs.map +0 -1
  372. package/dist/date-range-DOstCIg8.js.map +0 -1
  373. package/dist/dialog-service-DI9PPy4H.js +0 -193
  374. package/dist/dialog-service-DI9PPy4H.js.map +0 -1
  375. package/dist/dialog-service-DJd5L0f5.cjs +0 -1
  376. package/dist/dialog-service-DJd5L0f5.cjs.map +0 -1
  377. package/dist/dialog.cjs +0 -89
  378. package/dist/dialog.cjs.map +0 -1
  379. package/dist/dialog.js +0 -419
  380. package/dist/dialog.js.map +0 -1
  381. package/dist/mailbox-Ct6iYe-4.cjs.map +0 -1
  382. package/dist/mailbox-DsPII8HR.js.map +0 -1
  383. package/dist/menu-Bhd3EapX.js +0 -56
  384. package/dist/menu-Bhd3EapX.js.map +0 -1
  385. package/dist/menu-Cg2aaDjs.cjs +0 -23
  386. package/dist/menu-Cg2aaDjs.cjs.map +0 -1
  387. package/dist/mixins-CcIWET41.js +0 -627
  388. package/dist/mixins-De3xfjrm.cjs +0 -298
  389. package/dist/sheet-BRL07BB4.js +0 -170
  390. package/dist/sheet-BRL07BB4.js.map +0 -1
  391. package/dist/sheet-BYQJAHQn.cjs +0 -35
  392. package/dist/sheet-BYQJAHQn.cjs.map +0 -1
  393. package/dist/sheet.cjs +0 -1
  394. package/dist/sheet.js +0 -3
  395. package/dist/sheet.service-B25bsrYG.cjs +0 -1
  396. package/dist/sheet.service-B25bsrYG.cjs.map +0 -1
  397. package/dist/sheet.service-SPQ8oLCi.js +0 -86
  398. package/dist/sheet.service-SPQ8oLCi.js.map +0 -1
  399. package/dist/skills/dialog.md +0 -69
  400. package/dist/skills/schmancy/dialog.md +0 -69
  401. package/dist/skills/schmancy/sheet.md +0 -76
  402. package/dist/skills/sheet.md +0 -76
  403. package/dist/src-CpRNClhg.cjs.map +0 -1
  404. package/dist/src-CqdnWGgr.js.map +0 -1
  405. package/dist/theme-Hjz9sCN-.cjs +0 -181
  406. package/dist/theme.events-Cv7N4Toe.js +0 -2
  407. package/dist/theme.events-Cv7N4Toe.js.map +0 -1
  408. package/dist/theme.events-DM4H5F2d.cjs +0 -1
  409. package/dist/theme.events-DM4H5F2d.cjs.map +0 -1
  410. package/dist/theme.service-BrUbGoeQ.cjs +0 -1
  411. package/dist/theme.service-BrUbGoeQ.cjs.map +0 -1
  412. package/dist/theme.service-CmbOGMA8.js.map +0 -1
  413. package/skills/schmancy/dialog.md +0 -69
  414. package/skills/schmancy/sheet.md +0 -76
  415. package/src/dialog/dialog-base.mixin.ts +0 -576
  416. package/src/dialog/dialog-events.ts +0 -17
  417. package/src/dialog/dialog-service.ts +0 -494
  418. package/src/dialog/dialog.component.ts +0 -414
  419. package/src/dialog/index.ts +0 -3
  420. package/src/sheet/hook.ts +0 -40
  421. package/src/sheet/index.ts +0 -2
  422. package/src/sheet/sheet.service.ts +0 -245
  423. package/src/sheet/sheet.ts +0 -238
  424. package/types/src/dialog/dialog-base.mixin.d.ts +0 -30
  425. package/types/src/dialog/dialog-events.d.ts +0 -13
  426. package/types/src/dialog/dialog-service.d.ts +0 -91
  427. package/types/src/dialog/dialog.component.d.ts +0 -150
  428. package/types/src/dialog/index.d.ts +0 -3
  429. package/types/src/sheet/hook.d.ts +0 -5
  430. package/types/src/sheet/index.d.ts +0 -2
  431. package/types/src/sheet/sheet.d.ts +0 -29
  432. package/types/src/sheet/sheet.service.d.ts +0 -65
  433. /package/dist/{context-daN5G6HS.cjs → context-BpCETidA.cjs} +0 -0
  434. /package/dist/{context-Bdu1xt0W.js → context-DJTJnSK4.js} +0 -0
  435. /package/dist/{form-CSJp687X.cjs → form-B2qudx_q.cjs} +0 -0
  436. /package/dist/{form-BtwOBMZ9.js → form-CI59gad4.js} +0 -0
  437. /package/dist/{hashContent-1ARKIsx9.js → hashContent-a8uVr3xs.js} +0 -0
  438. /package/dist/{hashContent-Bp5S6T4U.cjs → hashContent-ejkBgDnN.cjs} +0 -0
  439. /package/dist/{magnetic-BH0TsofV.cjs → magnetic-BJgB1dVi.cjs} +0 -0
  440. /package/dist/{magnetic-BZGFxAWG.js → magnetic-YwCNvtbB.js} +0 -0
  441. /package/dist/{overlay-stack-CAQno0CK.js → overlay-stack-CCiTaf_C.js} +0 -0
  442. /package/dist/{overlay-stack-BprhAE9a.cjs → overlay-stack-CFGiYf34.cjs} +0 -0
  443. /package/dist/{rxjs-utils-d-ivVN84.js → rxjs-utils-BXpvHN4-.js} +0 -0
  444. /package/dist/{rxjs-utils-Csnks202.cjs → rxjs-utils-CaC-tdot.cjs} +0 -0
  445. /package/dist/{theme.interface-DnVNre4O.js → theme.interface-C_034TxG.js} +0 -0
  446. /package/dist/{theme.interface-D9l33b-M.cjs → theme.interface-DESopuZS.cjs} +0 -0
@@ -1,9 +1,9 @@
1
- require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=require(`./decorate-DpFmy0nm.cjs`),n=require(`./dialog-service-DJd5L0f5.cjs`),r=require(`./sheet.service-B25bsrYG.cjs`);require(`./dialog.cjs`);const i=require(`./notification-D_PQjBSf.cjs`);let a=require(`rxjs`),o=require(`lit/decorators.js`),s=require(`lit`),c=require(`lit/directives/ref.js`),l=require(`lit/directives/repeat.js`),u=require(`lit/directives/when.js`);var d=class extends e.s{constructor(...e){super(...e),this.config={},this.templates=[],this.importSources=[],this.disabled=!1,this.recipientsTitle=`Recipients`,this.recipientsEmptyTitle=`No recipients yet`,this.recipientsEmptyMessage=`Import from sources or upload a CSV`,this.enableCsvImport=!0,this.enableDragDrop=!0,this.recipients=[],this.selectedRecipients=[],this.subject=``,this.body=``,this.templateId=null,this.attachments=[],this.isSending=!1,this.handleEmailsImported=e=>{let{emails:t}=e.detail,n=[...new Set([...this.recipients,...t])],r=t.filter(e=>!this.recipients.includes(e));this.recipients=n,this.selectedRecipients=[...new Set([...this.selectedRecipients,...r])],this.dispatchEvent(new CustomEvent(`emails-imported`,{detail:{emails:r,source:e.detail.source},bubbles:!0,composed:!0}))},this.handleRecipientRemoved=e=>{let{email:t}=e.detail;this.recipients=this.recipients.filter(e=>e!==t),this.selectedRecipients=this.selectedRecipients.filter(e=>e!==t),this.dispatchEvent(new CustomEvent(`recipient-removed`,{detail:{email:t},bubbles:!0,composed:!0}))},this.handleRecipientsCleared=()=>{this.recipients=[],this.selectedRecipients=[],this.dispatchEvent(new CustomEvent(`recipients-cleared`,{bubbles:!0,composed:!0}))},this.handleSelectionChanged=e=>{let{selectedEmails:t}=e.detail;this.selectedRecipients=t,this.dispatchEvent(new CustomEvent(`selection-changed`,{detail:{selectedEmails:t},bubbles:!0,composed:!0}))},this.handleEditorChange=e=>{let{subject:t,body:n,templateId:r,attachments:i}=e.detail;this.subject=t,this.body=n,this.templateId=r,this.attachments=i,this.dispatchEvent(new CustomEvent(`compose-changed`,{detail:{subject:t,body:n,templateId:r,attachments:i},bubbles:!0,composed:!0}))},this.handleSend=async()=>{if(this.selectedRecipients.length!==0)if(this.subject.trim())if(this.body.trim()){this.isSending=!0;try{let e={recipients:this.selectedRecipients,subject:this.subject,body:this.body,attachments:this.attachments,templateId:this.templateId};this.dispatchEvent(new CustomEvent(`send-email`,{detail:{request:e},bubbles:!0,composed:!0}))}catch(e){this.dispatchEvent(new CustomEvent(`send-error`,{detail:{error:e instanceof Error?e.message:`Failed to send email`},bubbles:!0,composed:!0}))}finally{this.isSending=!1}}else this.dispatchEvent(new CustomEvent(`send-error`,{detail:{error:`Please enter a message body`},bubbles:!0,composed:!0}));else this.dispatchEvent(new CustomEvent(`send-error`,{detail:{error:`Please enter a subject`},bubbles:!0,composed:!0}));else this.dispatchEvent(new CustomEvent(`send-error`,{detail:{error:`Please select at least one recipient`},bubbles:!0,composed:!0}))}}static{this.styles=[s.css`
1
+ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-CAb0b03r.cjs`),t=require(`./decorate-DpFmy0nm.cjs`),n=require(`./overlay.service-CRHZZY9F.cjs`),r=require(`./notification-7fSbk8hm.cjs`);let i=require(`rxjs`),a=require(`lit/decorators.js`),o=require(`lit`),s=require(`lit/directives/ref.js`),c=require(`lit/directives/repeat.js`),l=require(`lit/directives/when.js`);var u=class extends e.s{constructor(...e){super(...e),this.config={},this.templates=[],this.importSources=[],this.disabled=!1,this.recipientsTitle=`Recipients`,this.recipientsEmptyTitle=`No recipients yet`,this.recipientsEmptyMessage=`Import from sources or upload a CSV`,this.enableCsvImport=!0,this.enableDragDrop=!0,this.recipients=[],this.selectedRecipients=[],this.subject=``,this.body=``,this.templateId=null,this.attachments=[],this.isSending=!1,this.handleEmailsImported=e=>{let{emails:t}=e.detail,n=[...new Set([...this.recipients,...t])],r=t.filter(e=>!this.recipients.includes(e));this.recipients=n,this.selectedRecipients=[...new Set([...this.selectedRecipients,...r])],this.dispatchEvent(new CustomEvent(`emails-imported`,{detail:{emails:r,source:e.detail.source},bubbles:!0,composed:!0}))},this.handleRecipientRemoved=e=>{let{email:t}=e.detail;this.recipients=this.recipients.filter(e=>e!==t),this.selectedRecipients=this.selectedRecipients.filter(e=>e!==t),this.dispatchEvent(new CustomEvent(`recipient-removed`,{detail:{email:t},bubbles:!0,composed:!0}))},this.handleRecipientsCleared=()=>{this.recipients=[],this.selectedRecipients=[],this.dispatchEvent(new CustomEvent(`recipients-cleared`,{bubbles:!0,composed:!0}))},this.handleSelectionChanged=e=>{let{selectedEmails:t}=e.detail;this.selectedRecipients=t,this.dispatchEvent(new CustomEvent(`selection-changed`,{detail:{selectedEmails:t},bubbles:!0,composed:!0}))},this.handleEditorChange=e=>{let{subject:t,body:n,templateId:r,attachments:i}=e.detail;this.subject=t,this.body=n,this.templateId=r,this.attachments=i,this.dispatchEvent(new CustomEvent(`compose-changed`,{detail:{subject:t,body:n,templateId:r,attachments:i},bubbles:!0,composed:!0}))},this.handleSend=async()=>{if(this.selectedRecipients.length!==0)if(this.subject.trim())if(this.body.trim()){this.isSending=!0;try{let e={recipients:this.selectedRecipients,subject:this.subject,body:this.body,attachments:this.attachments,templateId:this.templateId};this.dispatchEvent(new CustomEvent(`send-email`,{detail:{request:e},bubbles:!0,composed:!0}))}catch(e){this.dispatchEvent(new CustomEvent(`send-error`,{detail:{error:e instanceof Error?e.message:`Failed to send email`},bubbles:!0,composed:!0}))}finally{this.isSending=!1}}else this.dispatchEvent(new CustomEvent(`send-error`,{detail:{error:`Please enter a message body`},bubbles:!0,composed:!0}));else this.dispatchEvent(new CustomEvent(`send-error`,{detail:{error:`Please enter a subject`},bubbles:!0,composed:!0}));else this.dispatchEvent(new CustomEvent(`send-error`,{detail:{error:`Please select at least one recipient`},bubbles:!0,composed:!0}))}}static{this.styles=[o.css`
2
2
  :host {
3
3
  display: block;
4
4
  height: 100%;
5
5
  }
6
- `]}connectedCallback(){super.connectedCallback(),this.setSending(this.disabled)}updated(e){super.updated(e),e.has(`disabled`)&&this.setSending(this.disabled)}addRecipients(e){let t=[...new Set([...this.recipients,...e])],n=e.filter(e=>!this.recipients.includes(e));this.recipients=t,this.selectedRecipients=[...new Set([...this.selectedRecipients,...n])]}setSubject(e){this.subject=e}setBody(e){this.body=e}setTemplate(e){this.templateId=e}clearCompose(){this.recipients=[],this.selectedRecipients=[],this.subject=``,this.body=``,this.templateId=null,this.attachments=[]}setSending(e){this.isSending=e}render(){let e=this.selectedRecipients.length>0&&this.subject.trim()&&this.body.trim()&&!this.isSending&&!this.disabled;return s.html`
6
+ `]}connectedCallback(){super.connectedCallback(),this.setSending(this.disabled)}updated(e){super.updated(e),e.has(`disabled`)&&this.setSending(this.disabled)}addRecipients(e){let t=[...new Set([...this.recipients,...e])],n=e.filter(e=>!this.recipients.includes(e));this.recipients=t,this.selectedRecipients=[...new Set([...this.selectedRecipients,...n])]}setSubject(e){this.subject=e}setBody(e){this.body=e}setTemplate(e){this.templateId=e}clearCompose(){this.recipients=[],this.selectedRecipients=[],this.subject=``,this.body=``,this.templateId=null,this.attachments=[]}setSending(e){this.isSending=e}render(){let e=this.selectedRecipients.length>0&&this.subject.trim()&&this.body.trim()&&!this.isSending&&!this.disabled;return o.html`
7
7
  <!-- Main Layout Container -->
8
8
  <div class="flex flex-col h-full gap-6 p-6">
9
9
 
@@ -50,7 +50,7 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
50
50
  <schmancy-typography type="body" token="sm" class="font-medium">
51
51
  ${this.selectedRecipients.length} recipient${this.selectedRecipients.length===1?``:`s`} selected
52
52
  </schmancy-typography>
53
- ${(0,u.when)(this.attachments.length>0,()=>s.html`
53
+ ${(0,l.when)(this.attachments.length>0,()=>o.html`
54
54
  <schmancy-typography type="body" token="xs">
55
55
  ${this.attachments.length} attachment${this.attachments.length===1?``:`s`}
56
56
  </schmancy-typography>
@@ -89,9 +89,9 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
89
89
  @recipients-cleared=${this.handleRecipientsCleared}
90
90
  @selection-changed=${this.handleSelectionChanged}
91
91
  ></schmancy-email-recipients>
92
- `}};t.t([(0,o.property)({type:Object})],d.prototype,`config`,void 0),t.t([(0,o.property)({type:Array})],d.prototype,`templates`,void 0),t.t([(0,o.property)({type:Array})],d.prototype,`importSources`,void 0),t.t([(0,o.property)({type:Boolean})],d.prototype,`disabled`,void 0),t.t([(0,o.property)({type:String})],d.prototype,`recipientsTitle`,void 0),t.t([(0,o.property)({type:String})],d.prototype,`recipientsEmptyTitle`,void 0),t.t([(0,o.property)({type:String})],d.prototype,`recipientsEmptyMessage`,void 0),t.t([(0,o.property)({type:Boolean})],d.prototype,`enableCsvImport`,void 0),t.t([(0,o.property)({type:Boolean})],d.prototype,`enableDragDrop`,void 0),t.t([(0,o.state)()],d.prototype,`recipients`,void 0),t.t([(0,o.state)()],d.prototype,`selectedRecipients`,void 0),t.t([(0,o.state)()],d.prototype,`subject`,void 0),t.t([(0,o.state)()],d.prototype,`body`,void 0),t.t([(0,o.state)()],d.prototype,`templateId`,void 0),t.t([(0,o.state)()],d.prototype,`attachments`,void 0),t.t([(0,o.state)()],d.prototype,`isSending`,void 0),d=t.t([(0,o.customElement)(`schmancy-mailbox`)],d);var f=class extends e.s{constructor(...e){super(...e),this.layouts=[{id:`columns-2`,icon:`view_week`,label:`2 Col`},{id:`columns-3`,icon:`view_column`,label:`3 Col`},{id:`sidebar-left`,icon:`view_sidebar`,label:`Left`},{id:`sidebar-right`,icon:`view_sidebar`,label:`Right`,flipped:!0},{id:`image-row`,icon:`collections`,label:`Images`}]}selectLayout(e){this.dispatchEvent(new CustomEvent(`layout-select`,{detail:{layout:e},bubbles:!0,composed:!0}))}render(){return s.html`
92
+ `}};t.t([(0,a.property)({type:Object})],u.prototype,`config`,void 0),t.t([(0,a.property)({type:Array})],u.prototype,`templates`,void 0),t.t([(0,a.property)({type:Array})],u.prototype,`importSources`,void 0),t.t([(0,a.property)({type:Boolean})],u.prototype,`disabled`,void 0),t.t([(0,a.property)({type:String})],u.prototype,`recipientsTitle`,void 0),t.t([(0,a.property)({type:String})],u.prototype,`recipientsEmptyTitle`,void 0),t.t([(0,a.property)({type:String})],u.prototype,`recipientsEmptyMessage`,void 0),t.t([(0,a.property)({type:Boolean})],u.prototype,`enableCsvImport`,void 0),t.t([(0,a.property)({type:Boolean})],u.prototype,`enableDragDrop`,void 0),t.t([(0,a.state)()],u.prototype,`recipients`,void 0),t.t([(0,a.state)()],u.prototype,`selectedRecipients`,void 0),t.t([(0,a.state)()],u.prototype,`subject`,void 0),t.t([(0,a.state)()],u.prototype,`body`,void 0),t.t([(0,a.state)()],u.prototype,`templateId`,void 0),t.t([(0,a.state)()],u.prototype,`attachments`,void 0),t.t([(0,a.state)()],u.prototype,`isSending`,void 0),u=t.t([(0,a.customElement)(`schmancy-mailbox`)],u);var d=class extends e.s{constructor(...e){super(...e),this.layouts=[{id:`columns-2`,icon:`view_week`,label:`2 Col`},{id:`columns-3`,icon:`view_column`,label:`3 Col`},{id:`sidebar-left`,icon:`view_sidebar`,label:`Left`},{id:`sidebar-right`,icon:`view_sidebar`,label:`Right`,flipped:!0},{id:`image-row`,icon:`collections`,label:`Images`}]}selectLayout(e){this.dispatchEvent(new CustomEvent(`layout-select`,{detail:{layout:e},bubbles:!0,composed:!0}))}render(){return o.html`
93
93
  <div class="grid p-3 gap-2">
94
- ${this.layouts.map(e=>s.html`
94
+ ${this.layouts.map(e=>o.html`
95
95
  <schmancy-button
96
96
  variant="outlined"
97
97
  @click=${()=>this.selectLayout(e.id)}
@@ -107,11 +107,11 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
107
107
  </schmancy-button>
108
108
  `)}
109
109
  </div>
110
- `}};f=t.t([(0,o.customElement)(`schmancy-email-layout-selector`)],f);var p=class extends e.s{constructor(...e){super(...e),this.templates=[],this.searchQuery=``,this.filteredTemplates=[],this.selectedCategory=`all`,this.handleSearch=e=>{let t=e.target;this.searchQuery=t.value},this.handleCategorySelect=e=>{this.selectedCategory=e,this.updateFilteredTemplates()},this.selectTemplate=e=>{this.dispatchEvent(new CustomEvent(`template-selected`,{detail:e,bubbles:!0,composed:!0})),r.n.dismiss()},this.close=()=>{r.n.dismiss()}}static{this.styles=[s.css`
110
+ `}};d=t.t([(0,a.customElement)(`schmancy-email-layout-selector`)],d);var f=class extends e.s{constructor(...e){super(...e),this.templates=[],this.searchQuery=``,this.filteredTemplates=[],this.selectedCategory=`all`,this.handleSearch=e=>{let t=e.target;this.searchQuery=t.value},this.handleCategorySelect=e=>{this.selectedCategory=e,this.updateFilteredTemplates()},this.selectTemplate=e=>{this.dispatchEvent(new CustomEvent(`template-selected`,{detail:e,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`close`,{detail:e,bubbles:!0,composed:!0}))},this.close=()=>{this.dispatchEvent(new CustomEvent(`close`,{bubbles:!0,composed:!0}))}}static{this.styles=[o.css`
111
111
  :host {
112
112
  display: block;
113
113
  }
114
- `]}connectedCallback(){super.connectedCallback(),this.updateFilteredTemplates()}updated(e){(e.has(`templates`)||e.has(`searchQuery`)||e.has(`selectedCategory`))&&this.updateFilteredTemplates()}get categories(){let e=new Set;return this.templates.forEach(t=>{t.category&&e.add(t.category)}),[`all`,...Array.from(e)]}updateFilteredTemplates(){let e=[...this.templates];if(this.selectedCategory!==`all`&&(e=e.filter(e=>e.category===this.selectedCategory)),this.searchQuery.trim()){let t=this.searchQuery.toLowerCase();e=e.filter(e=>e.name.toLowerCase().includes(t)||e.category?.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t))}this.filteredTemplates=e}render(){return s.html`
114
+ `]}connectedCallback(){super.connectedCallback(),this.updateFilteredTemplates()}updated(e){(e.has(`templates`)||e.has(`searchQuery`)||e.has(`selectedCategory`))&&this.updateFilteredTemplates()}get categories(){let e=new Set;return this.templates.forEach(t=>{t.category&&e.add(t.category)}),[`all`,...Array.from(e)]}updateFilteredTemplates(){let e=[...this.templates];if(this.selectedCategory!==`all`&&(e=e.filter(e=>e.category===this.selectedCategory)),this.searchQuery.trim()){let t=this.searchQuery.toLowerCase();e=e.filter(e=>e.name.toLowerCase().includes(t)||e.category?.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t))}this.filteredTemplates=e}render(){return o.html`
115
115
  <div class="flex flex-col h-full overflow-hidden">
116
116
  <!-- Header -->
117
117
  <div class="flex items-center justify-between px-6 py-4 border-b border-outline-variant">
@@ -135,7 +135,7 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
135
135
  ${this.renderTemplateList()}
136
136
  </div>
137
137
  </div>
138
- `}renderTemplateList(){return s.html`
138
+ `}renderTemplateList(){return o.html`
139
139
  <!-- Search and Filter Bar -->
140
140
  <div class="px-6 py-4 border-b border-outline-variant bg-surface-containerLow">
141
141
  <div class="flex flex-col gap-4">
@@ -148,7 +148,7 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
148
148
  class="w-full"
149
149
  >
150
150
  <schmancy-icon slot="prefix" size="20px" class="text-surface-onVariant">search</schmancy-icon>
151
- ${(0,u.when)(this.searchQuery,()=>s.html`
151
+ ${(0,l.when)(this.searchQuery,()=>o.html`
152
152
  <schmancy-button
153
153
  slot="suffix"
154
154
  variant="text"
@@ -161,9 +161,9 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
161
161
  </schmancy-input>
162
162
 
163
163
  <!-- Category Filter -->
164
- ${(0,u.when)(this.categories.length>1,()=>s.html`
164
+ ${(0,l.when)(this.categories.length>1,()=>o.html`
165
165
  <div class="flex gap-2 flex-wrap">
166
- ${(0,l.repeat)(this.categories,e=>e,e=>s.html`
166
+ ${(0,c.repeat)(this.categories,e=>e,e=>o.html`
167
167
  <schmancy-chip
168
168
  class="cursor-pointer transition-all hover:shadow-sm ${this.selectedCategory===e?`bg-primary text-primary-on`:`border border-outline`}"
169
169
  @click=${()=>this.handleCategorySelect(e)}
@@ -178,9 +178,9 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
178
178
 
179
179
  <!-- Template List with Previews -->
180
180
  <div class="flex-1 overflow-y-auto px-6 py-6">
181
- ${(0,u.when)(this.filteredTemplates.length>0,()=>s.html`
181
+ ${(0,l.when)(this.filteredTemplates.length>0,()=>o.html`
182
182
  <div class="space-y-6">
183
- ${(0,l.repeat)(this.filteredTemplates,e=>e.id,e=>s.html`
183
+ ${(0,c.repeat)(this.filteredTemplates,e=>e.id,e=>o.html`
184
184
  <schmancy-surface
185
185
  type="subtle"
186
186
  elevation="1"
@@ -195,7 +195,7 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
195
195
  <schmancy-typography type="title" token="md" class="font-semibold leading-tight mb-1">
196
196
  ${e.name}
197
197
  </schmancy-typography>
198
- ${(0,u.when)(e.category,()=>s.html`
198
+ ${(0,l.when)(e.category,()=>o.html`
199
199
  <schmancy-chip class="text-xs border border-outline">
200
200
  ${e.category}
201
201
  </schmancy-chip>
@@ -222,7 +222,7 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
222
222
  </schmancy-surface>
223
223
  `)}
224
224
  </div>
225
- `,()=>s.html`
225
+ `,()=>o.html`
226
226
  <div class="flex flex-col items-center justify-center h-96 text-center">
227
227
  <div class="mb-6">
228
228
  <schmancy-icon size="64px" class="text-surface-onVariant opacity-20">mail_outline</schmancy-icon>
@@ -233,9 +233,9 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
233
233
  <schmancy-typography type="body" token="md" class="text-surface-onVariant mb-6 max-w-md">
234
234
  ${this.searchQuery?`No templates match your search for "${this.searchQuery}"`:this.selectedCategory===`all`?`Start by creating your first email template`:`No templates found in the "${this.selectedCategory}" category`}
235
235
  </schmancy-typography>
236
- ${(0,u.when)(this.searchQuery||this.selectedCategory!==`all`,()=>s.html`
236
+ ${(0,l.when)(this.searchQuery||this.selectedCategory!==`all`,()=>o.html`
237
237
  <div class="flex gap-3">
238
- ${(0,u.when)(this.searchQuery,()=>s.html`
238
+ ${(0,l.when)(this.searchQuery,()=>o.html`
239
239
  <schmancy-button
240
240
  variant="outlined"
241
241
  @click=${()=>{this.searchQuery=``}}
@@ -244,7 +244,7 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
244
244
  Clear Search
245
245
  </schmancy-button>
246
246
  `)}
247
- ${(0,u.when)(this.selectedCategory!==`all`,()=>s.html`
247
+ ${(0,l.when)(this.selectedCategory!==`all`,()=>o.html`
248
248
  <schmancy-button
249
249
  variant="filled"
250
250
  @click=${()=>this.handleCategorySelect(`all`)}
@@ -258,11 +258,11 @@ require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-De3xfjrm.cjs`),t=requi
258
258
  </div>
259
259
  `)}
260
260
  </div>
261
- `}};t.t([(0,o.property)({type:Array})],p.prototype,`templates`,void 0),t.t([(0,o.state)()],p.prototype,`searchQuery`,void 0),t.t([(0,o.state)()],p.prototype,`filteredTemplates`,void 0),t.t([(0,o.state)()],p.prototype,`selectedCategory`,void 0),p=t.t([(0,o.customElement)(`schmancy-email-template-picker`)],p);var m=class extends e.s{constructor(...e){super(...e),this.subject=``,this.body=``,this.disabled=!1,this.attachments=[],this.config={},this.templates=this.getDefaultTemplates(),this.dragOver=!1,this.isUploading=!1,this.subjectInputRef=(0,c.createRef)(),this.bodyTextAreaRef=(0,c.createRef)(),this.fileInputRef=(0,c.createRef)(),this.imageInputRef=(0,c.createRef)(),this.handleKeyDown=e=>{if(this.disabled)return;let t=this.bodyTextAreaRef.value?.shadowRoot?.querySelector(`textarea`);e.key===`Tab`&&e.target===t&&(e.preventDefault(),this.insertAtCursor(` `))},this.handlePaste=e=>{let t=this.bodyTextAreaRef.value?.shadowRoot?.querySelector(`textarea`);if(this.disabled||document.activeElement!==t)return;let n=e.clipboardData?.items;if(n)for(let t=0;t<n.length;t++){let r=n[t];if(r.type.indexOf(`image`)!==-1){e.preventDefault();let t=r.getAsFile();t&&this.uploadImage(t);break}}},this.handleSubjectChange=e=>{let t=e.target;this.subject=t.value,this.dispatchChange()},this.handleBodyChange=e=>{this.body=e.detail.value,this.dispatchChange()},this.dispatchChange=()=>{this.dispatchEvent(new CustomEvent(`editor-change`,{detail:{subject:this.subject,body:this.body,attachments:this.attachments},bubbles:!0,composed:!0}))},this.openLayoutDialog=()=>{n.t.component(s.html`
261
+ `}};t.t([(0,a.property)({type:Array})],f.prototype,`templates`,void 0),t.t([(0,a.state)()],f.prototype,`searchQuery`,void 0),t.t([(0,a.state)()],f.prototype,`filteredTemplates`,void 0),t.t([(0,a.state)()],f.prototype,`selectedCategory`,void 0),f=t.t([(0,a.customElement)(`schmancy-email-template-picker`)],f);var p=class extends e.s{constructor(...e){super(...e),this.subject=``,this.body=``,this.disabled=!1,this.attachments=[],this.config={},this.templates=this.getDefaultTemplates(),this.dragOver=!1,this.isUploading=!1,this.subjectInputRef=(0,s.createRef)(),this.bodyTextAreaRef=(0,s.createRef)(),this.fileInputRef=(0,s.createRef)(),this.imageInputRef=(0,s.createRef)(),this.handleKeyDown=e=>{if(this.disabled)return;let t=this.bodyTextAreaRef.value?.shadowRoot?.querySelector(`textarea`);e.key===`Tab`&&e.target===t&&(e.preventDefault(),this.insertAtCursor(` `))},this.handlePaste=e=>{let t=this.bodyTextAreaRef.value?.shadowRoot?.querySelector(`textarea`);if(this.disabled||document.activeElement!==t)return;let n=e.clipboardData?.items;if(n)for(let t=0;t<n.length;t++){let r=n[t];if(r.type.indexOf(`image`)!==-1){e.preventDefault();let t=r.getAsFile();t&&this.uploadImage(t);break}}},this.handleSubjectChange=e=>{let t=e.target;this.subject=t.value,this.dispatchChange()},this.handleBodyChange=e=>{this.body=e.detail.value,this.dispatchChange()},this.dispatchChange=()=>{this.dispatchEvent(new CustomEvent(`editor-change`,{detail:{subject:this.subject,body:this.body,attachments:this.attachments},bubbles:!0,composed:!0}))},this.openLayoutDialog=()=>{n.o(o.html`
262
262
  <schmancy-email-layout-selector
263
- @layout-select=${e=>{this.applyLayout(e.detail.layout),n.t.close()}}
263
+ @layout-select=${e=>{e.currentTarget?.dispatchEvent(new CustomEvent(`close`,{detail:e.detail.layout,bubbles:!0,composed:!0}))}}
264
264
  ></schmancy-email-layout-selector>
265
- `)},this.openTemplatePicker=()=>{let e=new p;e.templates=this.templates,(0,a.fromEvent)(e,`template-selected`).pipe((0,a.takeUntil)(this.disconnecting)).subscribe(this.handleTemplateSelected),r.n.open({component:e})},this.handleTemplateSelected=e=>{let t=e.detail;this.subject=t.subject,this.body=t.body,this.dispatchChange(),i.r.success(`Template "${t.name}" applied successfully`)},this.applyLayout=e=>{let t={"columns-2":`
265
+ `).pipe((0,i.takeUntil)(this.disconnecting)).subscribe(e=>{e&&this.applyLayout(e)})},this.openTemplatePicker=()=>{n.o(f,{props:{templates:this.templates}}).pipe((0,i.takeUntil)(this.disconnecting)).subscribe(e=>{e&&this.handleTemplateSelected(e)})},this.handleTemplateSelected=e=>{this.subject=e.subject,this.body=e.body,this.dispatchChange(),r.r.success(`Template "${e.name}" applied successfully`)},this.applyLayout=e=>{let t={"columns-2":`
266
266
  :::layout columns-2
267
267
  <div class="column">
268
268
  ![Left Photo](https://via.placeholder.com/400x300?text=Replace+with+your+photo){height=300px}
@@ -352,7 +352,7 @@ Your primary content goes here. This area takes up most of the width while the s
352
352
  ![Gallery Image 3](https://via.placeholder.com/400x250?text=Gallery+Image+3){height=250px}
353
353
  </div>
354
354
  :::
355
- `}[e];t&&this.insertAtCursor(t)},this.uploadImage=async e=>{if(e.type.startsWith(`image/`))if(e.size>10485760)i.r.error(`Image "${e.name}" is too large. Maximum size is 10MB.`);else{this.isUploading=!0;try{let t;this.config.imageUploadHandler?t=await this.config.imageUploadHandler(e):this.config.uploadHandler?t=await this.config.uploadHandler(e):(t=await this.createDataUrl(e),i.r.warning(`No upload handler configured. Using local preview.`));let n=await this.getImageDimensions(e);this.insertImageMarkdown(t,e.name,n.width,n.height),i.r.success(`Image uploaded successfully`)}catch{i.r.error(`Failed to upload image`)}finally{this.isUploading=!1}}else i.r.error(`File "${e.name}" is not an image`)},this.createDataUrl=e=>new Promise((t,n)=>{let r=new FileReader;r.addEventListener(`load`,()=>t(r.result),{once:!0}),r.addEventListener(`error`,()=>n(r.error),{once:!0}),r.readAsDataURL(e)}),this.getImageDimensions=e=>new Promise(t=>{let n=new Image;n.addEventListener(`load`,()=>{t({width:n.width,height:n.height}),URL.revokeObjectURL(n.src)},{once:!0}),n.addEventListener(`error`,()=>{t({width:400,height:300}),URL.revokeObjectURL(n.src)},{once:!0}),n.src=URL.createObjectURL(e)}),this.insertImageMarkdown=(e,t,n,r)=>{let i=this.bodyTextAreaRef.value?.shadowRoot?.querySelector(`textarea`);if(!i)return;let a=`![${t}](${e}){width=${Math.min(n,600)}px height=auto}`,o=i.selectionStart,s=i.selectionEnd,c=this.body.substring(0,o)+a+this.body.substring(s);this.body=c,this.dispatchChange(),this.updateComplete.then(()=>{let e=this.bodyTextAreaRef.value?.shadowRoot?.querySelector(`textarea`);if(e){let t=o+a.length;e.setSelectionRange(t,t),e.focus()}})},this.handleFileChange=e=>{let t=e.target,n=t.files;if(n)for(let e=0;e<n.length;e++){let t=n[e];t.type.startsWith(`image/`)?this.uploadImage(t):this.addFile(t)}t.value=``},this.handleImageSelect=e=>{let t=e.target,n=t.files?.[0];n&&n.type.startsWith(`image/`)&&this.uploadImage(n),t.value=``},this.handleDrop=e=>{e.preventDefault(),this.dragOver=!1;let t=e.dataTransfer?.files;if(t)for(let e=0;e<t.length;e++){let n=t[e];n.type.startsWith(`image/`)?this.uploadImage(n):this.addFile(n)}},this.handleDragEnter=e=>{e.preventDefault(),this.dragOver=!0},this.handleDocumentDragLeave=e=>{e.preventDefault(),this.dragOver=!1},this.handleDocumentDrop=e=>{e.preventDefault(),this.dragOver=!1},this.handleDragOver=e=>{e.preventDefault()},this.handleDragLeave=e=>{e.preventDefault()},this.addFile=e=>{if(e.size>10485760)return void i.r.error(`File "${e.name}" is too large. Maximum size is 10MB.`);if(this.attachments.some(t=>t.name===e.name&&t.size===e.size))return void i.r.warning(`File "${e.name}" is already attached.`);let t={id:crypto.randomUUID(),file:e,name:e.name,size:e.size,type:e.type||`application/octet-stream`};this.attachments=[...this.attachments,t],this.dispatchChange()},this.removeAttachment=e=>{this.attachments=this.attachments.filter(t=>t.id!==e),this.dispatchChange()}}static{this.styles=[s.css`
355
+ `}[e];t&&this.insertAtCursor(t)},this.uploadImage=async e=>{if(e.type.startsWith(`image/`))if(e.size>10485760)r.r.error(`Image "${e.name}" is too large. Maximum size is 10MB.`);else{this.isUploading=!0;try{let t;this.config.imageUploadHandler?t=await this.config.imageUploadHandler(e):this.config.uploadHandler?t=await this.config.uploadHandler(e):(t=await this.createDataUrl(e),r.r.warning(`No upload handler configured. Using local preview.`));let n=await this.getImageDimensions(e);this.insertImageMarkdown(t,e.name,n.width,n.height),r.r.success(`Image uploaded successfully`)}catch{r.r.error(`Failed to upload image`)}finally{this.isUploading=!1}}else r.r.error(`File "${e.name}" is not an image`)},this.createDataUrl=e=>new Promise((t,n)=>{let r=new FileReader;r.addEventListener(`load`,()=>t(r.result),{once:!0}),r.addEventListener(`error`,()=>n(r.error),{once:!0}),r.readAsDataURL(e)}),this.getImageDimensions=e=>new Promise(t=>{let n=new Image;n.addEventListener(`load`,()=>{t({width:n.width,height:n.height}),URL.revokeObjectURL(n.src)},{once:!0}),n.addEventListener(`error`,()=>{t({width:400,height:300}),URL.revokeObjectURL(n.src)},{once:!0}),n.src=URL.createObjectURL(e)}),this.insertImageMarkdown=(e,t,n,r)=>{let i=this.bodyTextAreaRef.value?.shadowRoot?.querySelector(`textarea`);if(!i)return;let a=`![${t}](${e}){width=${Math.min(n,600)}px height=auto}`,o=i.selectionStart,s=i.selectionEnd,c=this.body.substring(0,o)+a+this.body.substring(s);this.body=c,this.dispatchChange(),this.updateComplete.then(()=>{let e=this.bodyTextAreaRef.value?.shadowRoot?.querySelector(`textarea`);if(e){let t=o+a.length;e.setSelectionRange(t,t),e.focus()}})},this.handleFileChange=e=>{let t=e.target,n=t.files;if(n)for(let e=0;e<n.length;e++){let t=n[e];t.type.startsWith(`image/`)?this.uploadImage(t):this.addFile(t)}t.value=``},this.handleImageSelect=e=>{let t=e.target,n=t.files?.[0];n&&n.type.startsWith(`image/`)&&this.uploadImage(n),t.value=``},this.handleDrop=e=>{e.preventDefault(),this.dragOver=!1;let t=e.dataTransfer?.files;if(t)for(let e=0;e<t.length;e++){let n=t[e];n.type.startsWith(`image/`)?this.uploadImage(n):this.addFile(n)}},this.handleDragEnter=e=>{e.preventDefault(),this.dragOver=!0},this.handleDocumentDragLeave=e=>{e.preventDefault(),this.dragOver=!1},this.handleDocumentDrop=e=>{e.preventDefault(),this.dragOver=!1},this.handleDragOver=e=>{e.preventDefault()},this.handleDragLeave=e=>{e.preventDefault()},this.addFile=e=>{if(e.size>10485760)return void r.r.error(`File "${e.name}" is too large. Maximum size is 10MB.`);if(this.attachments.some(t=>t.name===e.name&&t.size===e.size))return void r.r.warning(`File "${e.name}" is already attached.`);let t={id:crypto.randomUUID(),file:e,name:e.name,size:e.size,type:e.type||`application/octet-stream`};this.attachments=[...this.attachments,t],this.dispatchChange()},this.removeAttachment=e=>{this.attachments=this.attachments.filter(t=>t.id!==e),this.dispatchChange()}}static{this.styles=[o.css`
356
356
  :host {
357
357
  display: block;
358
358
  height: 100%;
@@ -546,7 +546,7 @@ You'll receive a tracking number via email once your order ships (usually within
546
546
  *Questions about your order? Reply to this email or contact our support team.*
547
547
 
548
548
  Thank you for your business,
549
- The Fulfillment Team`}]}addEventListeners(){(0,a.fromEvent)(this,`keydown`).pipe((0,a.takeUntil)(this.disconnecting)).subscribe(this.handleKeyDown),(0,a.fromEvent)(document,`paste`).pipe((0,a.takeUntil)(this.disconnecting)).subscribe(this.handlePaste),(0,a.fromEvent)(document,`dragenter`).pipe((0,a.takeUntil)(this.disconnecting)).subscribe(this.handleDragEnter),(0,a.fromEvent)(document,`dragleave`).pipe((0,a.takeUntil)(this.disconnecting)).subscribe(this.handleDocumentDragLeave),(0,a.fromEvent)(document,`drop`).pipe((0,a.takeUntil)(this.disconnecting)).subscribe(this.handleDocumentDrop)}insertAtCursor(e,t){if(!this.bodyTextAreaRef.value)return;let n=this.bodyTextAreaRef.value.shadowRoot?.querySelector(`textarea`);if(!n)return;let r=n.selectionStart,i=n.selectionEnd,a=n.value.substring(0,r)+e+n.value.substring(i);this.body=a,this.dispatchChange(),this.updateComplete.then(()=>{let n=this.bodyTextAreaRef.value?.shadowRoot?.querySelector(`textarea`);if(n)if(n.focus(),t){let i=r+e.indexOf(t),a=i+t.length;n.setSelectionRange(i,a)}else n.setSelectionRange(r+e.length,r+e.length)})}wrapSelection(e,t,n){if(!this.bodyTextAreaRef.value)return;let r=this.bodyTextAreaRef.value.shadowRoot?.querySelector(`textarea`);if(!r)return;let i=r.selectionStart,a=r.selectionEnd,o=r.value.substring(i,a),s=e+(o||n)+t,c=r.value.substring(0,i)+s+r.value.substring(a);this.body=c,this.dispatchChange(),this.updateComplete.then(()=>{let t=this.bodyTextAreaRef.value?.shadowRoot?.querySelector(`textarea`);t&&(t.focus(),o?t.setSelectionRange(i+s.length,i+s.length):t.setSelectionRange(i+e.length,i+e.length+n.length))})}render(){return s.html`
549
+ The Fulfillment Team`}]}addEventListeners(){(0,i.fromEvent)(this,`keydown`).pipe((0,i.takeUntil)(this.disconnecting)).subscribe(this.handleKeyDown),(0,i.fromEvent)(document,`paste`).pipe((0,i.takeUntil)(this.disconnecting)).subscribe(this.handlePaste),(0,i.fromEvent)(document,`dragenter`).pipe((0,i.takeUntil)(this.disconnecting)).subscribe(this.handleDragEnter),(0,i.fromEvent)(document,`dragleave`).pipe((0,i.takeUntil)(this.disconnecting)).subscribe(this.handleDocumentDragLeave),(0,i.fromEvent)(document,`drop`).pipe((0,i.takeUntil)(this.disconnecting)).subscribe(this.handleDocumentDrop)}insertAtCursor(e,t){if(!this.bodyTextAreaRef.value)return;let n=this.bodyTextAreaRef.value.shadowRoot?.querySelector(`textarea`);if(!n)return;let r=n.selectionStart,i=n.selectionEnd,a=n.value.substring(0,r)+e+n.value.substring(i);this.body=a,this.dispatchChange(),this.updateComplete.then(()=>{let n=this.bodyTextAreaRef.value?.shadowRoot?.querySelector(`textarea`);if(n)if(n.focus(),t){let i=r+e.indexOf(t),a=i+t.length;n.setSelectionRange(i,a)}else n.setSelectionRange(r+e.length,r+e.length)})}wrapSelection(e,t,n){if(!this.bodyTextAreaRef.value)return;let r=this.bodyTextAreaRef.value.shadowRoot?.querySelector(`textarea`);if(!r)return;let i=r.selectionStart,a=r.selectionEnd,o=r.value.substring(i,a),s=e+(o||n)+t,c=r.value.substring(0,i)+s+r.value.substring(a);this.body=c,this.dispatchChange(),this.updateComplete.then(()=>{let t=this.bodyTextAreaRef.value?.shadowRoot?.querySelector(`textarea`);t&&(t.focus(),o?t.setSelectionRange(i+s.length,i+s.length):t.setSelectionRange(i+e.length,i+e.length+n.length))})}render(){return o.html`
550
550
  <schmancy-surface
551
551
  type="solid"
552
552
  rounded="all"
@@ -565,7 +565,7 @@ The Fulfillment Team`}]}addEventListeners(){(0,a.fromEvent)(this,`keydown`).pipe
565
565
  Subject *
566
566
  </schmancy-typography>
567
567
  <schmancy-input
568
- ${(0,c.ref)(this.subjectInputRef)}
568
+ ${(0,s.ref)(this.subjectInputRef)}
569
569
  .value=${this.subject}
570
570
  @input=${this.handleSubjectChange}
571
571
  placeholder="Enter email subject..."
@@ -651,7 +651,7 @@ The Fulfillment Team`}]}addEventListeners(){(0,a.fromEvent)(this,`keydown`).pipe
651
651
  ?disabled=${this.disabled||this.isUploading}
652
652
  @click=${()=>this.imageInputRef.value?.click()}
653
653
  >
654
- ${(0,u.when)(this.isUploading,()=>s.html`<schmancy-progress size="sm" class="w-4 h-4"></schmancy-progress>`,()=>s.html`<schmancy-icon>image</schmancy-icon>`)}
654
+ ${(0,l.when)(this.isUploading,()=>o.html`<schmancy-progress size="sm" class="w-4 h-4"></schmancy-progress>`,()=>o.html`<schmancy-icon>image</schmancy-icon>`)}
655
655
  </schmancy-icon-button>
656
656
  <schmancy-icon-button
657
657
  size="sm"
@@ -679,7 +679,7 @@ The Fulfillment Team`}]}addEventListeners(){(0,a.fromEvent)(this,`keydown`).pipe
679
679
  <!-- Textarea Container - Takes remaining space -->
680
680
  <div class="flex-1 px-4 relative min-h-0">
681
681
  <schmancy-textarea
682
- ${(0,c.ref)(this.bodyTextAreaRef)}
682
+ ${(0,s.ref)(this.bodyTextAreaRef)}
683
683
  .value=${this.body}
684
684
  @change=${this.handleBodyChange}
685
685
  placeholder="Enter your email message here...
@@ -696,7 +696,7 @@ Tab key inserts 2 spaces for better formatting."
696
696
  ></schmancy-textarea>
697
697
 
698
698
  <!-- Upload Progress Overlay -->
699
- ${(0,u.when)(this.isUploading,()=>s.html`
699
+ ${(0,l.when)(this.isUploading,()=>o.html`
700
700
  <div class="absolute top-3 right-3 z-10">
701
701
  <schmancy-surface type="subtle" rounded="all" class="p-2">
702
702
  <div class="flex items-center gap-2">
@@ -718,14 +718,14 @@ Tab key inserts 2 spaces for better formatting."
718
718
  </div>
719
719
 
720
720
  <!-- Attachments Display (if any) -->
721
- ${(0,u.when)(this.attachments.length>0,()=>s.html`
721
+ ${(0,l.when)(this.attachments.length>0,()=>o.html`
722
722
  <div class="space-y-2">
723
723
  <schmancy-typography type="label" token="sm" class="flex items-center gap-2">
724
724
  <schmancy-icon size="16px">attach_file</schmancy-icon>
725
725
  Attachments (${this.attachments.length})
726
726
  </schmancy-typography>
727
727
  <div class="flex flex-wrap gap-2">
728
- ${(0,l.repeat)(this.attachments,e=>e.id,e=>s.html`
728
+ ${(0,c.repeat)(this.attachments,e=>e.id,e=>o.html`
729
729
  <schmancy-chip class="text-xs">
730
730
  <span class="truncate max-w-32">${e.name}</span>
731
731
  <button
@@ -745,13 +745,13 @@ Tab key inserts 2 spaces for better formatting."
745
745
  <!-- Hidden File Inputs -->
746
746
  <div class="hidden">
747
747
  <input
748
- ${(0,c.ref)(this.fileInputRef)}
748
+ ${(0,s.ref)(this.fileInputRef)}
749
749
  type="file"
750
750
  multiple
751
751
  @change=${this.handleFileChange}
752
752
  >
753
753
  <input
754
- ${(0,c.ref)(this.imageInputRef)}
754
+ ${(0,s.ref)(this.imageInputRef)}
755
755
  type="file"
756
756
  accept="image/*"
757
757
  @change=${this.handleImageSelect}
@@ -761,7 +761,7 @@ Tab key inserts 2 spaces for better formatting."
761
761
  </div>
762
762
  </schmancy-surface>
763
763
 
764
- `}};t.t([(0,o.property)({type:String})],m.prototype,`subject`,void 0),t.t([(0,o.property)({type:String})],m.prototype,`body`,void 0),t.t([(0,o.property)({type:Boolean})],m.prototype,`disabled`,void 0),t.t([(0,o.property)({type:Array})],m.prototype,`attachments`,void 0),t.t([(0,o.property)({type:Object})],m.prototype,`config`,void 0),t.t([(0,o.property)({type:Array})],m.prototype,`templates`,void 0),t.t([(0,o.state)()],m.prototype,`dragOver`,void 0),t.t([(0,o.state)()],m.prototype,`isUploading`,void 0),m=t.t([(0,o.customElement)(`schmancy-email-editor`)],m);var h=class extends e.s{constructor(...e){super(...e),this.subject=``,this.body=``,this.attachments=[],this.recipients=[],this.fromAddress=`sender@example.com`,this.toAddress=`recipient@example.com`,this.viewMode=`html`}static{this.styles=[s.css`
764
+ `}};t.t([(0,a.property)({type:String})],p.prototype,`subject`,void 0),t.t([(0,a.property)({type:String})],p.prototype,`body`,void 0),t.t([(0,a.property)({type:Boolean})],p.prototype,`disabled`,void 0),t.t([(0,a.property)({type:Array})],p.prototype,`attachments`,void 0),t.t([(0,a.property)({type:Object})],p.prototype,`config`,void 0),t.t([(0,a.property)({type:Array})],p.prototype,`templates`,void 0),t.t([(0,a.state)()],p.prototype,`dragOver`,void 0),t.t([(0,a.state)()],p.prototype,`isUploading`,void 0),p=t.t([(0,a.customElement)(`schmancy-email-editor`)],p);var m=class extends e.s{constructor(...e){super(...e),this.subject=``,this.body=``,this.attachments=[],this.recipients=[],this.fromAddress=`sender@example.com`,this.toAddress=`recipient@example.com`,this.viewMode=`html`}static{this.styles=[o.css`
765
765
  :host {
766
766
  display: block;
767
767
  }
@@ -771,7 +771,7 @@ Tab key inserts 2 spaces for better formatting."
771
771
 
772
772
  `).trim()).replace(/:::images\s+(row|grid(?:=\d+)?)\n((?:!\[.*?\]\(.*?\)(?:\{.*?\})?\s*\n?)*?):::/g,`[Images]`).replace(/!\[([^\]]*)\]\(([^)]+)\)(?:\{([^}]+)\})?/g,`[Image: $1]`).replace(/\*\*(.*?)\*\*/g,`$1`).replace(/\*(.*?)\*/g,`$1`).replace(/__(.*?)__/g,`$1`).replace(/~~(.*?)~~/g,`$1`).replace(/`(.*?)`/g,`$1`).replace(/^#{1,3} (.*$)/gim,`$1`).replace(/^> (.*$)/gim,`$1`).replace(/^\* (.*$)/gim,`• $1`).replace(/^\d+\. (.*$)/gim,`$1`).replace(/\[([^\]]+)\]\(([^)]+)\)/g,`$1 ($2)`).replace(/^---$/gim,`---`).replace(/\n\n+/g,`
773
773
 
774
- `)}formatFileSize(e){if(e===0)return`0 Bytes`;let t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/1024**t).toFixed(2))+` `+[`Bytes`,`KB`,`MB`,`GB`][t]}render(){let e=this.parseExtendedMarkdown(this.body),t=this.convertToPlainText(this.body),n=this.recipients[0]||this.toAddress;return s.html`
774
+ `)}formatFileSize(e){if(e===0)return`0 Bytes`;let t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/1024**t).toFixed(2))+` `+[`Bytes`,`KB`,`MB`,`GB`][t]}render(){let e=this.parseExtendedMarkdown(this.body),t=this.convertToPlainText(this.body),n=this.recipients[0]||this.toAddress;return o.html`
775
775
  <schmancy-surface type="solid" rounded="all" class="h-full flex flex-col">
776
776
 
777
777
  <!-- Header Section -->
@@ -854,7 +854,7 @@ Tab key inserts 2 spaces for better formatting."
854
854
  </schmancy-typography>
855
855
  </div>
856
856
  <schmancy-typography type="body" token="sm" class="font-medium flex-1">
857
- ${this.subject||s.html`<span class="italic text-surface-onVariant">(No subject)</span>`}
857
+ ${this.subject||o.html`<span class="italic text-surface-onVariant">(No subject)</span>`}
858
858
  </schmancy-typography>
859
859
  </div>
860
860
  </div>
@@ -862,17 +862,17 @@ Tab key inserts 2 spaces for better formatting."
862
862
 
863
863
  <!-- Email Body Content -->
864
864
  <div class="flex-1 overflow-y-auto min-h-0">
865
- ${(0,u.when)(this.body,()=>s.html`
866
- ${(0,u.when)(this.viewMode===`html`,()=>s.html`
865
+ ${(0,l.when)(this.body,()=>o.html`
866
+ ${(0,l.when)(this.viewMode===`html`,()=>o.html`
867
867
  <div class="p-6 bg-white" style="color: #333; line-height: 1.6; font-family: system-ui, -apple-system, sans-serif; font-size: 14px;">
868
868
  <div .innerHTML=${e}></div>
869
869
  </div>
870
- `,()=>s.html`
870
+ `,()=>o.html`
871
871
  <div class="p-6 bg-white" style="color: #333; line-height: 1.6; font-family: 'Courier New', monospace; font-size: 13px; white-space: pre-wrap;">
872
872
  ${t}
873
873
  </div>
874
874
  `)}
875
- `,()=>s.html`
875
+ `,()=>o.html`
876
876
  <!-- Empty State -->
877
877
  <div class="flex-1 flex items-center justify-center p-8">
878
878
  <div class="text-center space-y-3">
@@ -889,7 +889,7 @@ Tab key inserts 2 spaces for better formatting."
889
889
  </div>
890
890
 
891
891
  <!-- Attachments Section -->
892
- ${(0,u.when)(this.attachments.length>0,()=>s.html`
892
+ ${(0,l.when)(this.attachments.length>0,()=>o.html`
893
893
  <div class="shrink-0 p-4 border-t border-outline-variant bg-surface-containerLowest">
894
894
  <div class="space-y-3">
895
895
  <!-- Attachments Header -->
@@ -902,7 +902,7 @@ Tab key inserts 2 spaces for better formatting."
902
902
 
903
903
  <!-- Attachments List -->
904
904
  <div class="grid gap-2 sm:grid-cols-2 lg:grid-cols-1 xl:grid-cols-2">
905
- ${(0,l.repeat)(this.attachments,e=>e.id,e=>s.html`
905
+ ${(0,c.repeat)(this.attachments,e=>e.id,e=>o.html`
906
906
  <schmancy-surface type="subtle" rounded="all" class="p-3">
907
907
  <div class="flex items-center gap-3">
908
908
  <!-- File Icon -->
@@ -930,7 +930,7 @@ Tab key inserts 2 spaces for better formatting."
930
930
  </div>
931
931
 
932
932
  <!-- Preview Stats -->
933
- ${(0,u.when)(this.body,()=>s.html`
933
+ ${(0,l.when)(this.body,()=>o.html`
934
934
  <div class="shrink-0">
935
935
  <schmancy-surface type="subtle" rounded="all" class="p-3">
936
936
  <div class="flex items-center justify-center gap-6 text-center">
@@ -951,7 +951,7 @@ Tab key inserts 2 spaces for better formatting."
951
951
  ${this.body.trim()?this.body.trim().split(/\s+/).length:0}
952
952
  </schmancy-typography>
953
953
  </div>
954
- ${(0,u.when)(this.attachments.length>0,()=>s.html`
954
+ ${(0,l.when)(this.attachments.length>0,()=>o.html`
955
955
  <div class="w-px h-8 bg-outline-variant"></div>
956
956
  <div>
957
957
  <schmancy-typography type="body" token="xs" class="text-surface-onVariant">
@@ -969,19 +969,19 @@ Tab key inserts 2 spaces for better formatting."
969
969
 
970
970
  </div>
971
971
  </schmancy-surface>
972
- `}};t.t([(0,o.property)({type:String})],h.prototype,`subject`,void 0),t.t([(0,o.property)({type:String})],h.prototype,`body`,void 0),t.t([(0,o.property)({type:Array})],h.prototype,`attachments`,void 0),t.t([(0,o.property)({type:Array})],h.prototype,`recipients`,void 0),t.t([(0,o.property)({type:String})],h.prototype,`fromAddress`,void 0),t.t([(0,o.property)({type:String})],h.prototype,`toAddress`,void 0),t.t([(0,o.state)()],h.prototype,`viewMode`,void 0),h=t.t([(0,o.customElement)(`schmancy-email-viewer`)],h);var g=class extends e.s{constructor(...e){super(...e),this.disabled=!1,this.recipients=[],this.importSources=[],this.selectedRecipients=[],this.enableCsvImport=!0,this.enableDragDrop=!0,this.title=`Recipients`,this.emptyStateTitle=`No recipients yet`,this.emptyStateMessage=`Import from sources or upload a CSV`,this.dragOver=!1,this.localSelectedRecipients=new Set,this.searchQuery=``,this.filteredRecipients=[],this.boatState=`collapsed`,this.fileInputRef=(0,c.createRef)(),this.handleEmailsImported=()=>{this.updateFilteredRecipients(),this.requestUpdate()},this.handleImportFromCSV=()=>{this.enableCsvImport&&this.fileInputRef.value?.click()},this.handleFileSelect=e=>{let t=e.target.files?.[0];t&&this.processCSVFile(t)},this.handleDrop=e=>{if(!this.enableDragDrop)return;e.preventDefault(),this.dragOver=!1;let t=e.dataTransfer?.files[0];t&&this.processCSVFile(t)},this.processCSVFile=e=>{if(!e.name.endsWith(`.csv`))return void i.r.error(`Please select a CSV file`);let t=new FileReader;t.addEventListener(`load`,e=>{let t=e.target?.result;try{let e=this.parseCSV(t);if(e.length===0)return void i.r.error(`No valid email addresses found in CSV`);this.dispatchEvent(new CustomEvent(`emails-imported`,{detail:{emails:e,source:`csv`},bubbles:!0,composed:!0})),i.r.success(`Imported ${e.length} emails from CSV file`)}catch{i.r.error(`Failed to parse CSV file`)}},{once:!0}),t.readAsText(e)},this.toggleRecipientSelection=e=>{this.localSelectedRecipients.has(e)?this.localSelectedRecipients.delete(e):this.localSelectedRecipients.add(e),this.localSelectedRecipients=new Set(this.localSelectedRecipients),this.dispatchSelectionChange()},this.selectAll=()=>{this.localSelectedRecipients=new Set(this.filteredRecipients),this.dispatchSelectionChange()},this.selectNone=()=>{this.localSelectedRecipients.clear(),this.localSelectedRecipients=new Set,this.dispatchSelectionChange()},this.removeRecipient=e=>{this.dispatchEvent(new CustomEvent(`recipient-removed`,{detail:{email:e},bubbles:!0,composed:!0}))},this.clearAll=()=>{this.dispatchEvent(new CustomEvent(`recipients-cleared`,{bubbles:!0,composed:!0}))},this.updateFilteredRecipients=()=>{let e=Array.isArray(this.recipients)?this.recipients:[];if(this.searchQuery.trim()){let t=this.searchQuery.toLowerCase();this.filteredRecipients=e.filter(e=>e.toLowerCase().includes(t))}else this.filteredRecipients=[...e]},this.handleSearchInput=e=>{let t=e.target;this.searchQuery=t.value},this.clearSearch=()=>{this.searchQuery=``},this.dispatchSelectionChange=()=>{this.dispatchEvent(new CustomEvent(`selection-changed`,{detail:{selectedEmails:Array.from(this.localSelectedRecipients)},bubbles:!0,composed:!0}))},this.handleBoatStateChange=e=>{this.boatState=e.detail}}static{this.styles=[s.css`
972
+ `}};t.t([(0,a.property)({type:String})],m.prototype,`subject`,void 0),t.t([(0,a.property)({type:String})],m.prototype,`body`,void 0),t.t([(0,a.property)({type:Array})],m.prototype,`attachments`,void 0),t.t([(0,a.property)({type:Array})],m.prototype,`recipients`,void 0),t.t([(0,a.property)({type:String})],m.prototype,`fromAddress`,void 0),t.t([(0,a.property)({type:String})],m.prototype,`toAddress`,void 0),t.t([(0,a.state)()],m.prototype,`viewMode`,void 0),m=t.t([(0,a.customElement)(`schmancy-email-viewer`)],m);var h=class extends e.s{constructor(...e){super(...e),this.disabled=!1,this.recipients=[],this.importSources=[],this.selectedRecipients=[],this.enableCsvImport=!0,this.enableDragDrop=!0,this.title=`Recipients`,this.emptyStateTitle=`No recipients yet`,this.emptyStateMessage=`Import from sources or upload a CSV`,this.dragOver=!1,this.localSelectedRecipients=new Set,this.searchQuery=``,this.filteredRecipients=[],this.boatState=`collapsed`,this.fileInputRef=(0,s.createRef)(),this.handleEmailsImported=()=>{this.updateFilteredRecipients(),this.requestUpdate()},this.handleImportFromCSV=()=>{this.enableCsvImport&&this.fileInputRef.value?.click()},this.handleFileSelect=e=>{let t=e.target.files?.[0];t&&this.processCSVFile(t)},this.handleDrop=e=>{if(!this.enableDragDrop)return;e.preventDefault(),this.dragOver=!1;let t=e.dataTransfer?.files[0];t&&this.processCSVFile(t)},this.processCSVFile=e=>{if(!e.name.endsWith(`.csv`))return void r.r.error(`Please select a CSV file`);let t=new FileReader;t.addEventListener(`load`,e=>{let t=e.target?.result;try{let e=this.parseCSV(t);if(e.length===0)return void r.r.error(`No valid email addresses found in CSV`);this.dispatchEvent(new CustomEvent(`emails-imported`,{detail:{emails:e,source:`csv`},bubbles:!0,composed:!0})),r.r.success(`Imported ${e.length} emails from CSV file`)}catch{r.r.error(`Failed to parse CSV file`)}},{once:!0}),t.readAsText(e)},this.toggleRecipientSelection=e=>{this.localSelectedRecipients.has(e)?this.localSelectedRecipients.delete(e):this.localSelectedRecipients.add(e),this.localSelectedRecipients=new Set(this.localSelectedRecipients),this.dispatchSelectionChange()},this.selectAll=()=>{this.localSelectedRecipients=new Set(this.filteredRecipients),this.dispatchSelectionChange()},this.selectNone=()=>{this.localSelectedRecipients.clear(),this.localSelectedRecipients=new Set,this.dispatchSelectionChange()},this.removeRecipient=e=>{this.dispatchEvent(new CustomEvent(`recipient-removed`,{detail:{email:e},bubbles:!0,composed:!0}))},this.clearAll=()=>{this.dispatchEvent(new CustomEvent(`recipients-cleared`,{bubbles:!0,composed:!0}))},this.updateFilteredRecipients=()=>{let e=Array.isArray(this.recipients)?this.recipients:[];if(this.searchQuery.trim()){let t=this.searchQuery.toLowerCase();this.filteredRecipients=e.filter(e=>e.toLowerCase().includes(t))}else this.filteredRecipients=[...e]},this.handleSearchInput=e=>{let t=e.target;this.searchQuery=t.value},this.clearSearch=()=>{this.searchQuery=``},this.dispatchSelectionChange=()=>{this.dispatchEvent(new CustomEvent(`selection-changed`,{detail:{selectedEmails:Array.from(this.localSelectedRecipients)},bubbles:!0,composed:!0}))},this.handleBoatStateChange=e=>{this.boatState=e.detail}}static{this.styles=[o.css`
973
973
  :host {
974
974
  display: block;
975
975
  height: 100%;
976
976
  }
977
- `]}connectedCallback(){super.connectedCallback(),this.localSelectedRecipients=new Set(this.selectedRecipients),this.updateFilteredRecipients(),(0,a.fromEvent)(this,`emails-imported`).pipe((0,a.takeUntil)(this.disconnecting)).subscribe(this.handleEmailsImported)}updated(e){super.updated(e),e.has(`selectedRecipients`)&&(this.localSelectedRecipients=new Set(this.selectedRecipients)),(e.has(`recipients`)||e.has(`searchQuery`))&&this.updateFilteredRecipients(),e.has(`recipients`)&&this.requestUpdate()}parseCSV(e){let t=[],n;n=this.csvParser?this.csvParser.parse(e,{header:!0,skipEmptyLines:!0,dynamicTyping:!0,delimiter:``,transformHeader:e=>e.trim()}):this.simpleCSVParse(e);let r=n.data,i=n.meta.fields||[],a=i.find(e=>e.toLowerCase().includes(`email`));if(!a)for(let e of i){let t=r[0]?.[e]?.toString();if(t&&this.isValidEmail(t)){a=e;break}}if(!a)throw Error(`No email column found in CSV`);let o=new Set;for(let e of r){let n=e[a]?.toString();if(!n)continue;let r=n.toLowerCase().trim();this.isValidEmail(r)&&!o.has(r)&&(o.add(r),t.push(r))}return t}simpleCSVParse(e){let t=e.split(`
978
- `).filter(e=>e.trim());if(t.length===0)return{data:[],meta:{}};let n=t[0].split(`,`).map(e=>e.trim().replace(/"/g,``)),r=[];for(let e=1;e<t.length;e++){let i=t[e].split(`,`).map(e=>e.trim().replace(/"/g,``)),a={};n.forEach((e,t)=>{a[e]=i[t]||``}),r.push(a)}return{data:r,meta:{fields:n}}}isValidEmail(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.trim())}addRecipients(e){if(!e.length)return;let t=[...new Set([...this.recipients,...e])],n=e.filter(e=>!this.recipients.includes(e));this.recipients=t,this.selectedRecipients=[...new Set([...this.selectedRecipients,...n])],this.localSelectedRecipients=new Set(this.selectedRecipients),this.updateFilteredRecipients(),this.requestUpdate()}showBoat(){this.boatState=`collapsed`}hideBoat(){this.boatState=`collapsed`}expandBoat(){this.boatState=`expanded`}toggleBoat(){this.boatState=this.boatState===`collapsed`?`expanded`:`collapsed`}render(){return this.renderBoatLayout()}renderBoatLayout(){return s.html`
977
+ `]}connectedCallback(){super.connectedCallback(),this.localSelectedRecipients=new Set(this.selectedRecipients),this.updateFilteredRecipients(),(0,i.fromEvent)(this,`emails-imported`).pipe((0,i.takeUntil)(this.disconnecting)).subscribe(this.handleEmailsImported)}updated(e){super.updated(e),e.has(`selectedRecipients`)&&(this.localSelectedRecipients=new Set(this.selectedRecipients)),(e.has(`recipients`)||e.has(`searchQuery`))&&this.updateFilteredRecipients(),e.has(`recipients`)&&this.requestUpdate()}parseCSV(e){let t=[],n;n=this.csvParser?this.csvParser.parse(e,{header:!0,skipEmptyLines:!0,dynamicTyping:!0,delimiter:``,transformHeader:e=>e.trim()}):this.simpleCSVParse(e);let r=n.data,i=n.meta.fields||[],a=i.find(e=>e.toLowerCase().includes(`email`));if(!a)for(let e of i){let t=r[0]?.[e]?.toString();if(t&&this.isValidEmail(t)){a=e;break}}if(!a)throw Error(`No email column found in CSV`);let o=new Set;for(let e of r){let n=e[a]?.toString();if(!n)continue;let r=n.toLowerCase().trim();this.isValidEmail(r)&&!o.has(r)&&(o.add(r),t.push(r))}return t}simpleCSVParse(e){let t=e.split(`
978
+ `).filter(e=>e.trim());if(t.length===0)return{data:[],meta:{}};let n=t[0].split(`,`).map(e=>e.trim().replace(/"/g,``)),r=[];for(let e=1;e<t.length;e++){let i=t[e].split(`,`).map(e=>e.trim().replace(/"/g,``)),a={};n.forEach((e,t)=>{a[e]=i[t]||``}),r.push(a)}return{data:r,meta:{fields:n}}}isValidEmail(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.trim())}addRecipients(e){if(!e.length)return;let t=[...new Set([...this.recipients,...e])],n=e.filter(e=>!this.recipients.includes(e));this.recipients=t,this.selectedRecipients=[...new Set([...this.selectedRecipients,...n])],this.localSelectedRecipients=new Set(this.selectedRecipients),this.updateFilteredRecipients(),this.requestUpdate()}showBoat(){this.boatState=`collapsed`}hideBoat(){this.boatState=`collapsed`}expandBoat(){this.boatState=`expanded`}toggleBoat(){this.boatState=this.boatState===`collapsed`?`expanded`:`collapsed`}render(){return this.renderBoatLayout()}renderBoatLayout(){return o.html`
979
979
  <!-- Hidden file input for CSV import -->
980
- ${(0,u.when)(this.enableCsvImport,()=>s.html`
980
+ ${(0,l.when)(this.enableCsvImport,()=>o.html`
981
981
  <input
982
982
  type="file"
983
983
  accept=".csv"
984
- ${(0,c.ref)(this.fileInputRef)}
984
+ ${(0,s.ref)(this.fileInputRef)}
985
985
  @change=${this.handleFileSelect}
986
986
  class="hidden"
987
987
  />
@@ -998,7 +998,7 @@ Tab key inserts 2 spaces for better formatting."
998
998
  <schmancy-typography type="title" token="md" class="font-semibold">
999
999
  ${this.title}
1000
1000
  </schmancy-typography>
1001
- ${(0,u.when)(this.recipients.length>0,()=>s.html`
1001
+ ${(0,l.when)(this.recipients.length>0,()=>o.html`
1002
1002
  <schmancy-badge>
1003
1003
  ${this.localSelectedRecipients.size}/${this.recipients.length}
1004
1004
  </schmancy-badge>
@@ -1011,7 +1011,7 @@ Tab key inserts 2 spaces for better formatting."
1011
1011
  ${this.renderBoatContent()}
1012
1012
  </div>
1013
1013
  </schmancy-boat>
1014
- `}renderBoatContent(){return s.html`
1014
+ `}renderBoatContent(){return o.html`
1015
1015
  <!-- Search Bar and CSV Import on one line -->
1016
1016
  <div class="p-4 flex gap-3">
1017
1017
  <schmancy-input
@@ -1021,7 +1021,7 @@ Tab key inserts 2 spaces for better formatting."
1021
1021
  @input=${this.handleSearchInput}
1022
1022
  class="flex-1"
1023
1023
  >
1024
- ${(0,u.when)(this.searchQuery,()=>s.html`
1024
+ ${(0,l.when)(this.searchQuery,()=>o.html`
1025
1025
  <schmancy-button
1026
1026
  slot="suffix"
1027
1027
  variant="text"
@@ -1032,7 +1032,7 @@ Tab key inserts 2 spaces for better formatting."
1032
1032
  `)}
1033
1033
  </schmancy-input>
1034
1034
 
1035
- ${(0,u.when)(this.enableCsvImport,()=>s.html`
1035
+ ${(0,l.when)(this.enableCsvImport,()=>o.html`
1036
1036
  <schmancy-button
1037
1037
  variant="outlined"
1038
1038
  @click=${this.handleImportFromCSV}
@@ -1044,7 +1044,7 @@ Tab key inserts 2 spaces for better formatting."
1044
1044
  `)}
1045
1045
  </div>
1046
1046
 
1047
- ${(0,u.when)(this.recipients.length>0,()=>s.html`
1047
+ ${(0,l.when)(this.recipients.length>0,()=>o.html`
1048
1048
  <!-- Bulk Actions -->
1049
1049
  <div class="px-4 pb-4">
1050
1050
  <div class="flex items-center gap-3">
@@ -1077,9 +1077,9 @@ Tab key inserts 2 spaces for better formatting."
1077
1077
 
1078
1078
  <!-- Recipients List -->
1079
1079
  <div class="flex-1 overflow-y-auto px-4 pb-4">
1080
- ${(0,u.when)(this.filteredRecipients.length>0,()=>s.html`
1080
+ ${(0,l.when)(this.filteredRecipients.length>0,()=>o.html`
1081
1081
  <div class="flex flex-wrap gap-3">
1082
- ${(0,l.repeat)(this.filteredRecipients,e=>e,e=>s.html`
1082
+ ${(0,c.repeat)(this.filteredRecipients,e=>e,e=>o.html`
1083
1083
  <schmancy-button
1084
1084
  variant=${this.localSelectedRecipients.has(e)?`filled`:`outlined`}
1085
1085
  @click=${t=>{t.stopPropagation(),t.preventDefault(),this.toggleRecipientSelection(e)}}
@@ -1094,7 +1094,7 @@ Tab key inserts 2 spaces for better formatting."
1094
1094
  </schmancy-button>
1095
1095
  `)}
1096
1096
  </div>
1097
- `,()=>s.html`
1097
+ `,()=>o.html`
1098
1098
  <div class="text-center py-8">
1099
1099
  <schmancy-icon size="32px" class="opacity-50 mb-2">search_off</schmancy-icon>
1100
1100
  <schmancy-typography type="body" token="sm" class="mb-2">
@@ -1106,7 +1106,7 @@ Tab key inserts 2 spaces for better formatting."
1106
1106
  </div>
1107
1107
  `)}
1108
1108
  </div>
1109
- `,()=>s.html`
1109
+ `,()=>o.html`
1110
1110
  <!-- Empty State -->
1111
1111
  <div class="flex-1 flex items-center justify-center p-8">
1112
1112
  <div class="text-center space-y-4">
@@ -1122,7 +1122,7 @@ Tab key inserts 2 spaces for better formatting."
1122
1122
  `)}
1123
1123
 
1124
1124
  <!-- Drag Overlay -->
1125
- ${(0,u.when)(this.dragOver&&this.enableDragDrop,()=>s.html`
1125
+ ${(0,l.when)(this.dragOver&&this.enableDragDrop,()=>o.html`
1126
1126
  <div
1127
1127
  class="absolute inset-4 flex items-center justify-center border-2 border-dashed border-primary rounded-lg z-10"
1128
1128
  @dragover=${e=>{e.preventDefault(),this.dragOver=!0}}
@@ -1137,4 +1137,4 @@ Tab key inserts 2 spaces for better formatting."
1137
1137
  </schmancy-surface>
1138
1138
  </div>
1139
1139
  `)}
1140
- `}};t.t([(0,o.property)({type:Boolean})],g.prototype,`disabled`,void 0),t.t([(0,o.property)({type:Array})],g.prototype,`recipients`,void 0),t.t([(0,o.property)({type:Array})],g.prototype,`importSources`,void 0),t.t([(0,o.property)({type:Array})],g.prototype,`selectedRecipients`,void 0),t.t([(0,o.property)({type:Boolean})],g.prototype,`enableCsvImport`,void 0),t.t([(0,o.property)({type:Boolean})],g.prototype,`enableDragDrop`,void 0),t.t([(0,o.property)({type:String})],g.prototype,`title`,void 0),t.t([(0,o.property)({type:String})],g.prototype,`emptyStateTitle`,void 0),t.t([(0,o.property)({type:String})],g.prototype,`emptyStateMessage`,void 0),t.t([(0,o.property)({type:Object})],g.prototype,`csvParser`,void 0),t.t([(0,o.state)()],g.prototype,`dragOver`,void 0),t.t([(0,o.state)()],g.prototype,`localSelectedRecipients`,void 0),t.t([(0,o.state)()],g.prototype,`searchQuery`,void 0),t.t([(0,o.state)()],g.prototype,`filteredRecipients`,void 0),t.t([(0,o.state)()],g.prototype,`boatState`,void 0),g=t.t([(0,o.customElement)(`schmancy-email-recipients`)],g),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return g}});
1140
+ `}};t.t([(0,a.property)({type:Boolean})],h.prototype,`disabled`,void 0),t.t([(0,a.property)({type:Array})],h.prototype,`recipients`,void 0),t.t([(0,a.property)({type:Array})],h.prototype,`importSources`,void 0),t.t([(0,a.property)({type:Array})],h.prototype,`selectedRecipients`,void 0),t.t([(0,a.property)({type:Boolean})],h.prototype,`enableCsvImport`,void 0),t.t([(0,a.property)({type:Boolean})],h.prototype,`enableDragDrop`,void 0),t.t([(0,a.property)({type:String})],h.prototype,`title`,void 0),t.t([(0,a.property)({type:String})],h.prototype,`emptyStateTitle`,void 0),t.t([(0,a.property)({type:String})],h.prototype,`emptyStateMessage`,void 0),t.t([(0,a.property)({type:Object})],h.prototype,`csvParser`,void 0),t.t([(0,a.state)()],h.prototype,`dragOver`,void 0),t.t([(0,a.state)()],h.prototype,`localSelectedRecipients`,void 0),t.t([(0,a.state)()],h.prototype,`searchQuery`,void 0),t.t([(0,a.state)()],h.prototype,`filteredRecipients`,void 0),t.t([(0,a.state)()],h.prototype,`boatState`,void 0),h=t.t([(0,a.customElement)(`schmancy-email-recipients`)],h),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return h}});