@mhmo91/schmancy 0.4.92 → 0.4.94

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 (378) hide show
  1. package/ai/area.md +181 -968
  2. package/dist/ai/area.md +181 -968
  3. package/dist/{animated-text-CUFCt7Zg.js → animated-text-BLDqQ33G.js} +3 -3
  4. package/dist/{animated-text-CUFCt7Zg.js.map → animated-text-BLDqQ33G.js.map} +1 -1
  5. package/dist/{animated-text-CM1zqBki.cjs → animated-text-CIgDmUF0.cjs} +2 -2
  6. package/dist/{animated-text-CM1zqBki.cjs.map → animated-text-CIgDmUF0.cjs.map} +1 -1
  7. package/dist/animated-text.cjs +1 -1
  8. package/dist/animated-text.js +1 -1
  9. package/dist/area.cjs +1 -1
  10. package/dist/area.js +1 -1
  11. package/dist/{autocomplete-CFREt7Vm.cjs → autocomplete-35wx4zfo.cjs} +6 -6
  12. package/dist/autocomplete-35wx4zfo.cjs.map +1 -0
  13. package/dist/{autocomplete-09_SfjsP.js → autocomplete-DMbJLodc.js} +35 -35
  14. package/dist/autocomplete-DMbJLodc.js.map +1 -0
  15. package/dist/autocomplete.cjs +1 -1
  16. package/dist/autocomplete.js +1 -1
  17. package/dist/{avatar-CKp3Ukk4.js → avatar-BqGZ5lKc.js} +152 -200
  18. package/dist/avatar-BqGZ5lKc.js.map +1 -0
  19. package/dist/{avatar-C8PC_n9i.cjs → avatar-UnP-o7T9.cjs} +21 -69
  20. package/dist/avatar-UnP-o7T9.cjs.map +1 -0
  21. package/dist/badge.cjs +1 -1
  22. package/dist/badge.js +1 -1
  23. package/dist/{boat-DDJK4CS4.js → boat-PVy1fXfm.js} +2 -2
  24. package/dist/{boat-DDJK4CS4.js.map → boat-PVy1fXfm.js.map} +1 -1
  25. package/dist/{boat-Ddi4PegB.cjs → boat-zVJF22wK.cjs} +2 -2
  26. package/dist/{boat-Ddi4PegB.cjs.map → boat-zVJF22wK.cjs.map} +1 -1
  27. package/dist/boat.cjs +1 -1
  28. package/dist/boat.js +1 -1
  29. package/dist/busy.cjs +1 -1
  30. package/dist/busy.js +1 -1
  31. package/dist/button.cjs +1 -1
  32. package/dist/button.js +1 -1
  33. package/dist/card.cjs +1 -1
  34. package/dist/card.js +1 -1
  35. package/dist/{checkbox-TclkD2h5.cjs → checkbox-BtZqKgPT.cjs} +2 -2
  36. package/dist/{checkbox-TclkD2h5.cjs.map → checkbox-BtZqKgPT.cjs.map} +1 -1
  37. package/dist/{checkbox-BU1x0W8U.js → checkbox-DAFDBz7J.js} +2 -2
  38. package/dist/{checkbox-BU1x0W8U.js.map → checkbox-DAFDBz7J.js.map} +1 -1
  39. package/dist/checkbox.cjs +1 -1
  40. package/dist/checkbox.js +1 -1
  41. package/dist/{chips-DQBHJNSu.cjs → chips-BRigd0oB.cjs} +10 -21
  42. package/dist/{chips-DQBHJNSu.cjs.map → chips-BRigd0oB.cjs.map} +1 -1
  43. package/dist/{chips-Bxsoq1vm.js → chips-BnA6mVWq.js} +56 -67
  44. package/dist/{chips-Bxsoq1vm.js.map → chips-BnA6mVWq.js.map} +1 -1
  45. package/dist/chips.cjs +1 -1
  46. package/dist/chips.js +1 -1
  47. package/dist/code-highlight.cjs +1 -1
  48. package/dist/code-highlight.js +1 -1
  49. package/dist/{code-preview-C9Imx-RX.cjs → code-preview-BYWzA52m.cjs} +2 -2
  50. package/dist/{code-preview-C9Imx-RX.cjs.map → code-preview-BYWzA52m.cjs.map} +1 -1
  51. package/dist/{code-preview-DnUM87ZB.js → code-preview-CUc2NHQu.js} +2 -2
  52. package/dist/{code-preview-DnUM87ZB.js.map → code-preview-CUc2NHQu.js.map} +1 -1
  53. package/dist/components.cjs +1 -1
  54. package/dist/components.js +1 -1
  55. package/dist/content-drawer.cjs +1 -1
  56. package/dist/content-drawer.js +1 -1
  57. package/dist/{date-range-DF7MnRi3.js → date-range-DFNdMN6p.js} +4 -4
  58. package/dist/{date-range-DF7MnRi3.js.map → date-range-DFNdMN6p.js.map} +1 -1
  59. package/dist/{date-range-D1A1Xrmw.cjs → date-range-DhWbY9Ph.cjs} +2 -2
  60. package/dist/{date-range-D1A1Xrmw.cjs.map → date-range-DhWbY9Ph.cjs.map} +1 -1
  61. package/dist/{date-range-inline-CwLJLOe1.cjs → date-range-inline-FiCLIta4.cjs} +2 -2
  62. package/dist/{date-range-inline-CwLJLOe1.cjs.map → date-range-inline-FiCLIta4.cjs.map} +1 -1
  63. package/dist/{date-range-inline-Ca4DPfeR.js → date-range-inline-xh0mrWH9.js} +3 -3
  64. package/dist/{date-range-inline-Ca4DPfeR.js.map → date-range-inline-xh0mrWH9.js.map} +1 -1
  65. package/dist/date-range-inline.cjs +1 -1
  66. package/dist/date-range-inline.js +1 -1
  67. package/dist/date-range.cjs +1 -1
  68. package/dist/date-range.js +1 -1
  69. package/dist/{delay-hXu_bFxW.js → delay-BTRy2v5H.js} +2 -2
  70. package/dist/{delay-hXu_bFxW.js.map → delay-BTRy2v5H.js.map} +1 -1
  71. package/dist/{delay-DQKt6VVn.cjs → delay-dCLgp1B7.cjs} +2 -2
  72. package/dist/{delay-DQKt6VVn.cjs.map → delay-dCLgp1B7.cjs.map} +1 -1
  73. package/dist/delay.cjs +1 -1
  74. package/dist/delay.js +1 -1
  75. package/dist/{details-Ft0ivj0F.cjs → details-Bf0qMDKW.cjs} +2 -2
  76. package/dist/{details-Ft0ivj0F.cjs.map → details-Bf0qMDKW.cjs.map} +1 -1
  77. package/dist/{details-Ci0XXz0g.js → details-BsmaD0yr.js} +2 -2
  78. package/dist/{details-Ci0XXz0g.js.map → details-BsmaD0yr.js.map} +1 -1
  79. package/dist/details.cjs +1 -1
  80. package/dist/details.js +1 -1
  81. package/dist/{dialog-content-7tFlrTFn.cjs → dialog-content-0w0WQYF3.cjs} +2 -2
  82. package/dist/{dialog-content-7tFlrTFn.cjs.map → dialog-content-0w0WQYF3.cjs.map} +1 -1
  83. package/dist/{dialog-content-DXnLwUtv.js → dialog-content-r1Ai3BZj.js} +4 -4
  84. package/dist/{dialog-content-DXnLwUtv.js.map → dialog-content-r1Ai3BZj.js.map} +1 -1
  85. package/dist/dialog-service-CgJH8clD.cjs +2 -0
  86. package/dist/dialog-service-CgJH8clD.cjs.map +1 -0
  87. package/dist/{dialog-service-DwhuICgc.js → dialog-service-PQ9ssbsY.js} +53 -47
  88. package/dist/dialog-service-PQ9ssbsY.js.map +1 -0
  89. package/dist/dialog.cjs +1 -1
  90. package/dist/dialog.js +2 -2
  91. package/dist/directives.cjs +1 -1
  92. package/dist/directives.js +1 -1
  93. package/dist/divider-BPsLFNzK.js +22 -0
  94. package/dist/divider-BPsLFNzK.js.map +1 -0
  95. package/dist/divider-CYPKRC_-.cjs +2 -0
  96. package/dist/divider-CYPKRC_-.cjs.map +1 -0
  97. package/dist/divider.cjs +1 -1
  98. package/dist/divider.js +1 -1
  99. package/dist/{dropdown-content-BCk2WbXc.js → dropdown-content-B51-eGbI.js} +40 -41
  100. package/dist/dropdown-content-B51-eGbI.js.map +1 -0
  101. package/dist/{dropdown-content-CXxTjA0j.cjs → dropdown-content-DelDUcfW.cjs} +5 -10
  102. package/dist/dropdown-content-DelDUcfW.cjs.map +1 -0
  103. package/dist/dropdown.cjs +1 -1
  104. package/dist/dropdown.js +1 -1
  105. package/dist/{email-recipients-BWIYYwA8.cjs → email-recipients-BlSATi3L.cjs} +24 -24
  106. package/dist/email-recipients-BlSATi3L.cjs.map +1 -0
  107. package/dist/{email-recipients-BT3xPoBN.js → email-recipients-hkvv_vgI.js} +141 -144
  108. package/dist/email-recipients-hkvv_vgI.js.map +1 -0
  109. package/dist/extra.cjs +1 -1
  110. package/dist/extra.js +1 -1
  111. package/dist/{flex-DJEZ1DdQ.js → flex-BDtCUg0s.js} +2 -2
  112. package/dist/{flex-DJEZ1DdQ.js.map → flex-BDtCUg0s.js.map} +1 -1
  113. package/dist/{flex-DflXFgVs.cjs → flex-_K-5RVZM.cjs} +2 -2
  114. package/dist/{flex-DflXFgVs.cjs.map → flex-_K-5RVZM.cjs.map} +1 -1
  115. package/dist/{form-7OiDtJT4.js → form-BTmhZIB8.js} +11 -23
  116. package/dist/form-BTmhZIB8.js.map +1 -0
  117. package/dist/form-jw1NVkyp.cjs +2 -0
  118. package/dist/form-jw1NVkyp.cjs.map +1 -0
  119. package/dist/form.cjs +1 -1
  120. package/dist/form.js +1 -1
  121. package/dist/{formField.mixin-3i7VOHMH.js → formField.mixin-D_1WwNWJ.js} +2 -2
  122. package/dist/{formField.mixin-3i7VOHMH.js.map → formField.mixin-D_1WwNWJ.js.map} +1 -1
  123. package/dist/{formField.mixin-B1vJlhmI.cjs → formField.mixin-HN79lSIE.cjs} +2 -2
  124. package/dist/{formField.mixin-B1vJlhmI.cjs.map → formField.mixin-HN79lSIE.cjs.map} +1 -1
  125. package/dist/{icon-BMhWh8Ib.js → icon-Clqcexag.js} +2 -2
  126. package/dist/{icon-BMhWh8Ib.js.map → icon-Clqcexag.js.map} +1 -1
  127. package/dist/{icon-button-DOZuY9x8.js → icon-button-Bu_eEqfk.js} +5 -5
  128. package/dist/icon-button-Bu_eEqfk.js.map +1 -0
  129. package/dist/{icon-button-CLDy5tUS.cjs → icon-button-M5CqyRR4.cjs} +4 -4
  130. package/dist/icon-button-M5CqyRR4.cjs.map +1 -0
  131. package/dist/{icon-TPLdDnCq.cjs → icon-pFAWVSGq.cjs} +2 -2
  132. package/dist/{icon-TPLdDnCq.cjs.map → icon-pFAWVSGq.cjs.map} +1 -1
  133. package/dist/icons.cjs +1 -1
  134. package/dist/icons.js +1 -1
  135. package/dist/index.cjs +1 -1
  136. package/dist/index.js +49 -49
  137. package/dist/{input-Dre3bMuF.js → input-CFlQ_9Cq.js} +40 -44
  138. package/dist/input-CFlQ_9Cq.js.map +1 -0
  139. package/dist/input-CWOVMdSb.cjs +51 -0
  140. package/dist/input-CWOVMdSb.cjs.map +1 -0
  141. package/dist/input.cjs +1 -1
  142. package/dist/input.js +1 -1
  143. package/dist/layout.cjs +1 -1
  144. package/dist/layout.js +1 -1
  145. package/dist/lazy-DObpkuL6.cjs.map +1 -1
  146. package/dist/lazy-E2LCDm7n.js.map +1 -1
  147. package/dist/{list-DZ43cTnR.cjs → list-CDXL73JQ.cjs} +2 -2
  148. package/dist/{list-DZ43cTnR.cjs.map → list-CDXL73JQ.cjs.map} +1 -1
  149. package/dist/{list-2mBZmMCP.js → list-rmfIuWZK.js} +2 -2
  150. package/dist/{list-2mBZmMCP.js.map → list-rmfIuWZK.js.map} +1 -1
  151. package/dist/list.cjs +1 -1
  152. package/dist/list.js +1 -1
  153. package/dist/{litElement.mixin-Bj0zv3lK.js → litElement.mixin-Dm9SOPDp.js} +2 -2
  154. package/dist/{litElement.mixin-Bj0zv3lK.js.map → litElement.mixin-Dm9SOPDp.js.map} +1 -1
  155. package/dist/{litElement.mixin-CjRG_9tZ.cjs → litElement.mixin-YJ8D9a8Z.cjs} +2 -2
  156. package/dist/{litElement.mixin-CjRG_9tZ.cjs.map → litElement.mixin-YJ8D9a8Z.cjs.map} +1 -1
  157. package/dist/mailbox.cjs +1 -1
  158. package/dist/mailbox.js +1 -1
  159. package/dist/{map-sSS6ACVH.js → map-BfP3ZVm_.js} +2 -2
  160. package/dist/{map-sSS6ACVH.js.map → map-BfP3ZVm_.js.map} +1 -1
  161. package/dist/{map-D69SEPpf.cjs → map-DQwGv46m.cjs} +2 -2
  162. package/dist/{map-D69SEPpf.cjs.map → map-DQwGv46m.cjs.map} +1 -1
  163. package/dist/map.cjs +1 -1
  164. package/dist/map.js +1 -1
  165. package/dist/media-B28J9yez.js +261 -0
  166. package/dist/media-B28J9yez.js.map +1 -0
  167. package/dist/media-DtYChqKs.cjs +177 -0
  168. package/dist/media-DtYChqKs.cjs.map +1 -0
  169. package/dist/{menu-CATzB9tA.js → menu-C0iTDVTM.js} +3 -3
  170. package/dist/{menu-CATzB9tA.js.map → menu-C0iTDVTM.js.map} +1 -1
  171. package/dist/{menu-BOeTdvk_.cjs → menu-jcodrTEA.cjs} +2 -2
  172. package/dist/{menu-BOeTdvk_.cjs.map → menu-jcodrTEA.cjs.map} +1 -1
  173. package/dist/menu.cjs +1 -1
  174. package/dist/menu.js +1 -1
  175. package/dist/nav-drawer.cjs +1 -1
  176. package/dist/nav-drawer.js +1 -1
  177. package/dist/{notification-service-DrwmIgoR.js → notification-service-BIH173dS.js} +62 -58
  178. package/dist/notification-service-BIH173dS.js.map +1 -0
  179. package/dist/{notification-service-LnNx5EDh.cjs → notification-service-CD-XzDeP.cjs} +7 -7
  180. package/dist/notification-service-CD-XzDeP.cjs.map +1 -0
  181. package/dist/notification.cjs +1 -1
  182. package/dist/notification.js +2 -2
  183. package/dist/{notify-C41nYdUf.js → notify-4u_P6A9W.js} +2 -2
  184. package/dist/{notify-C41nYdUf.js.map → notify-4u_P6A9W.js.map} +1 -1
  185. package/dist/{notify-DQMcgjgZ.cjs → notify-C95rxXiW.cjs} +2 -2
  186. package/dist/{notify-DQMcgjgZ.cjs.map → notify-C95rxXiW.cjs.map} +1 -1
  187. package/dist/{option-DbBr0StZ.js → option-CTkTl7Pz.js} +12 -12
  188. package/dist/option-CTkTl7Pz.js.map +1 -0
  189. package/dist/{option-BNKGfKgL.cjs → option-D-Itfwmu.cjs} +5 -5
  190. package/dist/option-D-Itfwmu.cjs.map +1 -0
  191. package/dist/option.cjs +1 -1
  192. package/dist/option.js +1 -1
  193. package/dist/{payment-card-form-_jHodv7G.js → payment-card-form-DcipYS1-.js} +3 -3
  194. package/dist/{payment-card-form-_jHodv7G.js.map → payment-card-form-DcipYS1-.js.map} +1 -1
  195. package/dist/{payment-card-form-ByWbYHhd.cjs → payment-card-form-HQsOp4z5.cjs} +2 -2
  196. package/dist/{payment-card-form-ByWbYHhd.cjs.map → payment-card-form-HQsOp4z5.cjs.map} +1 -1
  197. package/dist/{progress-BY7K7Etz.cjs → progress-B3Q1qs5e.cjs} +2 -2
  198. package/dist/{progress-BY7K7Etz.cjs.map → progress-B3Q1qs5e.cjs.map} +1 -1
  199. package/dist/{progress-Cix7Mu1p.js → progress-zOZKeIA7.js} +2 -2
  200. package/dist/{progress-Cix7Mu1p.js.map → progress-zOZKeIA7.js.map} +1 -1
  201. package/dist/progress.cjs +1 -1
  202. package/dist/progress.js +1 -1
  203. package/dist/{radio-button-BNmjg-i9.js → radio-button-C4TI0v9W.js} +27 -27
  204. package/dist/radio-button-C4TI0v9W.js.map +1 -0
  205. package/dist/radio-button-COzEX5Ar.cjs +41 -0
  206. package/dist/radio-button-COzEX5Ar.cjs.map +1 -0
  207. package/dist/radio-group.cjs +1 -1
  208. package/dist/radio-group.js +1 -1
  209. package/dist/{ripple-BumgqsDT.js → ripple-Cy-nvO8W.js} +24 -22
  210. package/dist/ripple-Cy-nvO8W.js.map +1 -0
  211. package/dist/ripple-DqQrvaTe.cjs +16 -0
  212. package/dist/ripple-DqQrvaTe.cjs.map +1 -0
  213. package/dist/route.component-Cr-M16SZ.cjs +12 -0
  214. package/dist/route.component-Cr-M16SZ.cjs.map +1 -0
  215. package/dist/route.component-Df4CQy4C.js +320 -0
  216. package/dist/route.component-Df4CQy4C.js.map +1 -0
  217. package/dist/{schmancy-steps-container-BUE4fG8_.js → schmancy-steps-container-DC6Ca6-A.js} +2 -2
  218. package/dist/{schmancy-steps-container-BUE4fG8_.js.map → schmancy-steps-container-DC6Ca6-A.js.map} +1 -1
  219. package/dist/{schmancy-steps-container-D69TfC2I.cjs → schmancy-steps-container-DfzodwEn.cjs} +2 -2
  220. package/dist/{schmancy-steps-container-D69TfC2I.cjs.map → schmancy-steps-container-DfzodwEn.cjs.map} +1 -1
  221. package/dist/{select-Bspcrc-h.js → select-Br2sY6MK.js} +16 -16
  222. package/dist/select-Br2sY6MK.js.map +1 -0
  223. package/dist/select-wUk1qE31.cjs +57 -0
  224. package/dist/select-wUk1qE31.cjs.map +1 -0
  225. package/dist/select.cjs +1 -1
  226. package/dist/select.js +1 -1
  227. package/dist/{sheet-BxOGSGJ0.js → sheet-BjJdVvvp.js} +3 -3
  228. package/dist/{sheet-BxOGSGJ0.js.map → sheet-BjJdVvvp.js.map} +1 -1
  229. package/dist/{sheet-CuE9tUeo.cjs → sheet-D3RmdvbL.cjs} +2 -2
  230. package/dist/{sheet-CuE9tUeo.cjs.map → sheet-D3RmdvbL.cjs.map} +1 -1
  231. package/dist/sheet.cjs +1 -1
  232. package/dist/sheet.js +1 -1
  233. package/dist/{slider-ChQVbnYO.js → slider-Dgwlzvr-.js} +3 -3
  234. package/dist/{slider-ChQVbnYO.js.map → slider-Dgwlzvr-.js.map} +1 -1
  235. package/dist/{slider-DeKwZONn.cjs → slider-XoN7Z9iO.cjs} +2 -2
  236. package/dist/{slider-DeKwZONn.cjs.map → slider-XoN7Z9iO.cjs.map} +1 -1
  237. package/dist/slider.cjs +1 -1
  238. package/dist/slider.js +1 -1
  239. package/dist/{spinner-C5tMQys5.cjs → spinner-D9l0j12i.cjs} +2 -2
  240. package/dist/{spinner-C5tMQys5.cjs.map → spinner-D9l0j12i.cjs.map} +1 -1
  241. package/dist/{spinner-y1dPMTQp.js → spinner-e06PNB2u.js} +2 -2
  242. package/dist/{spinner-y1dPMTQp.js.map → spinner-e06PNB2u.js.map} +1 -1
  243. package/dist/steps.cjs +1 -1
  244. package/dist/steps.js +1 -1
  245. package/dist/{surface-4MzhEaru.cjs → surface-BgLZnRcp.cjs} +2 -2
  246. package/dist/{surface-4MzhEaru.cjs.map → surface-BgLZnRcp.cjs.map} +1 -1
  247. package/dist/{surface-BYmdH754.js → surface-trk3Zpii.js} +2 -2
  248. package/dist/{surface-BYmdH754.js.map → surface-trk3Zpii.js.map} +1 -1
  249. package/dist/surface.cjs +1 -1
  250. package/dist/surface.js +1 -1
  251. package/dist/{table-YBHaxQzQ.js → table-BfFAQg7K.js} +2 -2
  252. package/dist/{table-YBHaxQzQ.js.map → table-BfFAQg7K.js.map} +1 -1
  253. package/dist/{table-J5EVvpXy.cjs → table-g0Wsm45r.cjs} +2 -2
  254. package/dist/{table-J5EVvpXy.cjs.map → table-g0Wsm45r.cjs.map} +1 -1
  255. package/dist/table.cjs +1 -1
  256. package/dist/table.js +1 -1
  257. package/dist/{tabs-compatibility-ezB19WI8.js → tabs-compatibility-D1RfuRqZ.js} +2 -2
  258. package/dist/{tabs-compatibility-ezB19WI8.js.map → tabs-compatibility-D1RfuRqZ.js.map} +1 -1
  259. package/dist/{tabs-compatibility-JMTsaND_.cjs → tabs-compatibility-FkpvGEG3.cjs} +2 -2
  260. package/dist/{tabs-compatibility-JMTsaND_.cjs.map → tabs-compatibility-FkpvGEG3.cjs.map} +1 -1
  261. package/dist/tabs.cjs +1 -1
  262. package/dist/tabs.js +1 -1
  263. package/dist/tailwind.mixin-CPuO9c5y.js +43 -0
  264. package/dist/{tailwind.mixin-Cwbr8x57.js.map → tailwind.mixin-CPuO9c5y.js.map} +1 -1
  265. package/dist/tailwind.mixin-Cb-fyJ_y.cjs +2 -0
  266. package/dist/{tailwind.mixin-B-VcpMHn.cjs.map → tailwind.mixin-Cb-fyJ_y.cjs.map} +1 -1
  267. package/dist/teleport.cjs +1 -1
  268. package/dist/teleport.js +1 -1
  269. package/dist/{textarea-B3nWhCra.cjs → textarea-DBKIOjBp.cjs} +2 -2
  270. package/dist/{textarea-B3nWhCra.cjs.map → textarea-DBKIOjBp.cjs.map} +1 -1
  271. package/dist/{textarea-yn7IFbnu.js → textarea-U-fvfv2M.js} +3 -3
  272. package/dist/{textarea-yn7IFbnu.js.map → textarea-U-fvfv2M.js.map} +1 -1
  273. package/dist/textarea.cjs +1 -1
  274. package/dist/textarea.js +1 -1
  275. package/dist/{theme-button-I_c1ZWWV.cjs → theme-button-C-6Y_Mib.cjs} +2 -2
  276. package/dist/{theme-button-I_c1ZWWV.cjs.map → theme-button-C-6Y_Mib.cjs.map} +1 -1
  277. package/dist/{theme-button-CGArg1pu.js → theme-button-CnWM9ZCv.js} +2 -2
  278. package/dist/{theme-button-CGArg1pu.js.map → theme-button-CnWM9ZCv.js.map} +1 -1
  279. package/dist/theme-button.cjs +1 -1
  280. package/dist/theme-button.js +1 -1
  281. package/dist/theme.cjs +1 -1
  282. package/dist/{theme.component-B5zp-4OG.js → theme.component-CfLAvCYi.js} +168 -168
  283. package/dist/{theme.component-B5zp-4OG.js.map → theme.component-CfLAvCYi.js.map} +1 -1
  284. package/dist/{theme.component-CdSDaeU0.cjs → theme.component-Dko2yi2n.cjs} +3 -3
  285. package/dist/{theme.component-CdSDaeU0.cjs.map → theme.component-Dko2yi2n.cjs.map} +1 -1
  286. package/dist/theme.js +1 -1
  287. package/dist/{timezone-CepyC8kw.js → timezone-CXGJk88N.js} +3 -3
  288. package/dist/{timezone-CepyC8kw.js.map → timezone-CXGJk88N.js.map} +1 -1
  289. package/dist/{timezone-DRBf5biI.cjs → timezone-Wy7jf5gf.cjs} +2 -2
  290. package/dist/{timezone-DRBf5biI.cjs.map → timezone-Wy7jf5gf.cjs.map} +1 -1
  291. package/dist/tooltip-BXCWSU_6.cjs +7 -0
  292. package/dist/tooltip-BXCWSU_6.cjs.map +1 -0
  293. package/dist/{tooltip-C6HlAqs2.js → tooltip-CuDCLzkr.js} +55 -55
  294. package/dist/tooltip-CuDCLzkr.js.map +1 -0
  295. package/dist/tooltip.cjs +1 -1
  296. package/dist/tooltip.js +1 -1
  297. package/dist/{tree-CpqWMdfb.cjs → tree-Bux6udiH.cjs} +2 -2
  298. package/dist/{tree-CpqWMdfb.cjs.map → tree-Bux6udiH.cjs.map} +1 -1
  299. package/dist/{tree-CxJAr7G3.js → tree-CfcLl-dV.js} +2 -2
  300. package/dist/{tree-CxJAr7G3.js.map → tree-CfcLl-dV.js.map} +1 -1
  301. package/dist/tree.cjs +1 -1
  302. package/dist/tree.js +1 -1
  303. package/dist/{typewriter-D3QLAVdz.js → typewriter-C63WkKf1.js} +64 -76
  304. package/dist/typewriter-C63WkKf1.js.map +1 -0
  305. package/dist/{typewriter-BWg7Otk8.cjs → typewriter-HZThI3m1.cjs} +3 -15
  306. package/dist/typewriter-HZThI3m1.cjs.map +1 -0
  307. package/dist/typewriter.cjs +1 -1
  308. package/dist/typewriter.js +1 -1
  309. package/dist/{typography-DGOOlbC1.cjs → typography-DNj4eHeR.cjs} +2 -2
  310. package/dist/{typography-DGOOlbC1.cjs.map → typography-DNj4eHeR.cjs.map} +1 -1
  311. package/dist/{typography-C8NCP_rr.js → typography-DRkYb9R0.js} +2 -2
  312. package/dist/{typography-C8NCP_rr.js.map → typography-DRkYb9R0.js.map} +1 -1
  313. package/dist/typography.cjs +1 -1
  314. package/dist/typography.js +1 -1
  315. package/package.json +1 -1
  316. package/types/src/area/area.component.d.ts +8 -3
  317. package/types/src/area/area.service.d.ts +1 -0
  318. package/types/src/area/route.component.d.ts +4 -5
  319. package/types/src/area/utils.d.ts +2 -1
  320. package/types/src/card/card.d.ts +56 -3
  321. package/types/src/directives/ripple.d.ts +2 -1
  322. package/types/src/dropdown/dropdown-component.d.ts +1 -0
  323. package/types/src/form/form-v2.d.ts +0 -1
  324. package/types/src/form/form.d.ts +0 -1
  325. package/types/src/mailbox/email-editor.d.ts +1 -2
  326. package/types/src/notification/notification-audio.d.ts +9 -0
  327. package/types/src/notification/notification-container.d.ts +1 -0
  328. package/dist/autocomplete-09_SfjsP.js.map +0 -1
  329. package/dist/autocomplete-CFREt7Vm.cjs.map +0 -1
  330. package/dist/avatar-C8PC_n9i.cjs.map +0 -1
  331. package/dist/avatar-CKp3Ukk4.js.map +0 -1
  332. package/dist/dialog-service-DwhuICgc.js.map +0 -1
  333. package/dist/dialog-service-juvsgc5X.cjs +0 -2
  334. package/dist/dialog-service-juvsgc5X.cjs.map +0 -1
  335. package/dist/divider-BG9uDpUp.js +0 -103
  336. package/dist/divider-BG9uDpUp.js.map +0 -1
  337. package/dist/divider-CWnAg2p-.cjs +0 -83
  338. package/dist/divider-CWnAg2p-.cjs.map +0 -1
  339. package/dist/dropdown-content-BCk2WbXc.js.map +0 -1
  340. package/dist/dropdown-content-CXxTjA0j.cjs.map +0 -1
  341. package/dist/email-recipients-BT3xPoBN.js.map +0 -1
  342. package/dist/email-recipients-BWIYYwA8.cjs.map +0 -1
  343. package/dist/form-7OiDtJT4.js.map +0 -1
  344. package/dist/form-nHwPpyhJ.cjs +0 -14
  345. package/dist/form-nHwPpyhJ.cjs.map +0 -1
  346. package/dist/icon-button-CLDy5tUS.cjs.map +0 -1
  347. package/dist/icon-button-DOZuY9x8.js.map +0 -1
  348. package/dist/input-CqLneJhz.cjs +0 -51
  349. package/dist/input-CqLneJhz.cjs.map +0 -1
  350. package/dist/input-Dre3bMuF.js.map +0 -1
  351. package/dist/media-B-VIbSH_.js +0 -151
  352. package/dist/media-B-VIbSH_.js.map +0 -1
  353. package/dist/media-Cew1Mxkj.cjs +0 -100
  354. package/dist/media-Cew1Mxkj.cjs.map +0 -1
  355. package/dist/notification-service-DrwmIgoR.js.map +0 -1
  356. package/dist/notification-service-LnNx5EDh.cjs.map +0 -1
  357. package/dist/option-BNKGfKgL.cjs.map +0 -1
  358. package/dist/option-DbBr0StZ.js.map +0 -1
  359. package/dist/radio-button-BNmjg-i9.js.map +0 -1
  360. package/dist/radio-button-CYq6qTSb.cjs +0 -41
  361. package/dist/radio-button-CYq6qTSb.cjs.map +0 -1
  362. package/dist/ripple-BumgqsDT.js.map +0 -1
  363. package/dist/ripple-C2BHbhcS.cjs +0 -16
  364. package/dist/ripple-C2BHbhcS.cjs.map +0 -1
  365. package/dist/route.component-CzCd2fMa.cjs +0 -12
  366. package/dist/route.component-CzCd2fMa.cjs.map +0 -1
  367. package/dist/route.component-Q3rCkryr.js +0 -321
  368. package/dist/route.component-Q3rCkryr.js.map +0 -1
  369. package/dist/select-B-yc3JB7.cjs +0 -57
  370. package/dist/select-B-yc3JB7.cjs.map +0 -1
  371. package/dist/select-Bspcrc-h.js.map +0 -1
  372. package/dist/tailwind.mixin-B-VcpMHn.cjs +0 -2
  373. package/dist/tailwind.mixin-Cwbr8x57.js +0 -43
  374. package/dist/tooltip-C6HlAqs2.js.map +0 -1
  375. package/dist/tooltip-CCX8PidC.cjs +0 -7
  376. package/dist/tooltip-CCX8PidC.cjs.map +0 -1
  377. package/dist/typewriter-BWg7Otk8.cjs.map +0 -1
  378. package/dist/typewriter-D3QLAVdz.js.map +0 -1
@@ -1,4 +1,4 @@
1
- "use strict";require("rxjs"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const c=require("lit/decorators.js"),R=require("./tailwind.mixin-B-VcpMHn.cjs"),$=require("./litElement.mixin-CjRG_9tZ.cjs"),o=require("lit"),d=require("lit/directives/when.js"),g=require("lit/directives/ref.js"),S=require("lit/directives/repeat.js"),u=require("./notification-service-LnNx5EDh.cjs");require("./dialog-content-7tFlrTFn.cjs");const k=require("./dialog-service-juvsgc5X.cjs"),E=require("./sheet.service-BxvWBGsJ.cjs");var C=Object.defineProperty,T=Object.getOwnPropertyDescriptor,m=(e,t,i,s)=>{for(var a,n=s>1?void 0:s?T(t,i):t,r=e.length-1;r>=0;r--)(a=e[r])&&(n=(s?a(t,i,n):a(n))||n);return s&&n&&C(t,i,n),n};exports.SchmancyMailbox=class extends $.$LitElement(o.css`
1
+ "use strict";const u=require("rxjs");require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const c=require("lit/decorators.js"),C=require("./tailwind.mixin-Cb-fyJ_y.cjs"),k=require("./litElement.mixin-YJ8D9a8Z.cjs"),o=require("lit"),d=require("lit/directives/when.js"),f=require("lit/directives/ref.js"),$=require("lit/directives/repeat.js"),g=require("./notification-service-CD-XzDeP.cjs");require("./dialog-content-0w0WQYF3.cjs");const R=require("./dialog-service-CgJH8clD.cjs"),E=require("./sheet.service-BxvWBGsJ.cjs");var T=Object.defineProperty,I=Object.getOwnPropertyDescriptor,m=(e,t,i,s)=>{for(var a,n=s>1?void 0:s?I(t,i):t,r=e.length-1;r>=0;r--)(a=e[r])&&(n=(s?a(t,i,n):a(n))||n);return s&&n&&T(t,i,n),n};exports.SchmancyMailbox=class extends k.$LitElement(o.css`
2
2
  :host {
3
3
  display: block;
4
4
  height: 100%;
@@ -90,7 +90,7 @@
90
90
  @recipients-cleared=${this.handleRecipientsCleared}
91
91
  @selection-changed=${this.handleSelectionChanged}
92
92
  ></schmancy-email-recipients>
93
- `}},m([c.property({type:Object})],exports.SchmancyMailbox.prototype,"config",2),m([c.property({type:Array})],exports.SchmancyMailbox.prototype,"templates",2),m([c.property({type:Array})],exports.SchmancyMailbox.prototype,"importSources",2),m([c.property({type:Boolean})],exports.SchmancyMailbox.prototype,"disabled",2),m([c.property({type:String})],exports.SchmancyMailbox.prototype,"recipientsTitle",2),m([c.property({type:String})],exports.SchmancyMailbox.prototype,"recipientsEmptyTitle",2),m([c.property({type:String})],exports.SchmancyMailbox.prototype,"recipientsEmptyMessage",2),m([c.property({type:Boolean})],exports.SchmancyMailbox.prototype,"enableCsvImport",2),m([c.property({type:Boolean})],exports.SchmancyMailbox.prototype,"enableDragDrop",2),m([c.state()],exports.SchmancyMailbox.prototype,"recipients",2),m([c.state()],exports.SchmancyMailbox.prototype,"selectedRecipients",2),m([c.state()],exports.SchmancyMailbox.prototype,"subject",2),m([c.state()],exports.SchmancyMailbox.prototype,"body",2),m([c.state()],exports.SchmancyMailbox.prototype,"templateId",2),m([c.state()],exports.SchmancyMailbox.prototype,"attachments",2),m([c.state()],exports.SchmancyMailbox.prototype,"isSending",2),exports.SchmancyMailbox=m([c.customElement("schmancy-mailbox")],exports.SchmancyMailbox);var I=Object.getOwnPropertyDescriptor;exports.SchmancyEmailLayoutSelector=class extends R.TailwindElement(){constructor(){super(...arguments),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
+ `}},m([c.property({type:Object})],exports.SchmancyMailbox.prototype,"config",2),m([c.property({type:Array})],exports.SchmancyMailbox.prototype,"templates",2),m([c.property({type:Array})],exports.SchmancyMailbox.prototype,"importSources",2),m([c.property({type:Boolean})],exports.SchmancyMailbox.prototype,"disabled",2),m([c.property({type:String})],exports.SchmancyMailbox.prototype,"recipientsTitle",2),m([c.property({type:String})],exports.SchmancyMailbox.prototype,"recipientsEmptyTitle",2),m([c.property({type:String})],exports.SchmancyMailbox.prototype,"recipientsEmptyMessage",2),m([c.property({type:Boolean})],exports.SchmancyMailbox.prototype,"enableCsvImport",2),m([c.property({type:Boolean})],exports.SchmancyMailbox.prototype,"enableDragDrop",2),m([c.state()],exports.SchmancyMailbox.prototype,"recipients",2),m([c.state()],exports.SchmancyMailbox.prototype,"selectedRecipients",2),m([c.state()],exports.SchmancyMailbox.prototype,"subject",2),m([c.state()],exports.SchmancyMailbox.prototype,"body",2),m([c.state()],exports.SchmancyMailbox.prototype,"templateId",2),m([c.state()],exports.SchmancyMailbox.prototype,"attachments",2),m([c.state()],exports.SchmancyMailbox.prototype,"isSending",2),exports.SchmancyMailbox=m([c.customElement("schmancy-mailbox")],exports.SchmancyMailbox);var A=Object.getOwnPropertyDescriptor;exports.SchmancyEmailLayoutSelector=class extends C.TailwindElement(){constructor(){super(...arguments),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`
94
94
  <div class="grid p-3 gap-2">
95
95
  ${this.layouts.map(e=>o.html`
96
96
  <schmancy-button
@@ -108,7 +108,7 @@
108
108
  </schmancy-button>
109
109
  `)}
110
110
  </div>
111
- `}},exports.SchmancyEmailLayoutSelector=((e,t,i,s)=>{for(var a,n=s>1?void 0:s?I(t,i):t,r=e.length-1;r>=0;r--)(a=e[r])&&(n=a(n)||n);return n})([c.customElement("schmancy-email-layout-selector")],exports.SchmancyEmailLayoutSelector);var A=Object.defineProperty,D=Object.getOwnPropertyDescriptor,w=(e,t,i,s)=>{for(var a,n=s>1?void 0:s?D(t,i):t,r=e.length-1;r>=0;r--)(a=e[r])&&(n=(s?a(t,i,n):a(n))||n);return s&&n&&A(t,i,n),n};let x=class extends $.$LitElement(o.css`
111
+ `}},exports.SchmancyEmailLayoutSelector=((e,t,i,s)=>{for(var a,n=s>1?void 0:s?A(t,i):t,r=e.length-1;r>=0;r--)(a=e[r])&&(n=a(n)||n);return n})([c.customElement("schmancy-email-layout-selector")],exports.SchmancyEmailLayoutSelector);var D=Object.defineProperty,j=Object.getOwnPropertyDescriptor,S=(e,t,i,s)=>{for(var a,n=s>1?void 0:s?j(t,i):t,r=e.length-1;r>=0;r--)(a=e[r])&&(n=(s?a(t,i,n):a(n))||n);return s&&n&&D(t,i,n),n};let w=class extends k.$LitElement(o.css`
112
112
  :host {
113
113
  display: block;
114
114
  }
@@ -164,7 +164,7 @@
164
164
  <!-- Category Filter -->
165
165
  ${d.when(this.categories.length>1,()=>o.html`
166
166
  <div class="flex gap-2 flex-wrap">
167
- ${S.repeat(this.categories,e=>e,e=>o.html`
167
+ ${$.repeat(this.categories,e=>e,e=>o.html`
168
168
  <schmancy-chip
169
169
  class="cursor-pointer transition-all hover:shadow-sm ${this.selectedCategory===e?"bg-primary text-primary-on":"border border-outline"}"
170
170
  @click=${()=>this.handleCategorySelect(e)}
@@ -181,7 +181,7 @@
181
181
  <div class="flex-1 overflow-y-auto px-6 py-6">
182
182
  ${d.when(this.filteredTemplates.length>0,()=>o.html`
183
183
  <div class="space-y-6">
184
- ${S.repeat(this.filteredTemplates,e=>e.id,e=>o.html`
184
+ ${$.repeat(this.filteredTemplates,e=>e.id,e=>o.html`
185
185
  <schmancy-surface
186
186
  type="containerLow"
187
187
  elevation="1"
@@ -260,16 +260,16 @@
260
260
  </div>
261
261
  `)}
262
262
  </div>
263
- `}};w([c.property({type:Array})],x.prototype,"templates",2),w([c.state()],x.prototype,"searchQuery",2),w([c.state()],x.prototype,"filteredTemplates",2),w([c.state()],x.prototype,"selectedCategory",2),x=w([c.customElement("schmancy-email-template-picker")],x);var L=Object.defineProperty,j=Object.getOwnPropertyDescriptor,f=(e,t,i,s)=>{for(var a,n=s>1?void 0:s?j(t,i):t,r=e.length-1;r>=0;r--)(a=e[r])&&(n=(s?a(t,i,n):a(n))||n);return s&&n&&L(t,i,n),n};exports.SchmancyEmailEditor=class extends $.$LitElement(o.css`
263
+ `}};S([c.property({type:Array})],w.prototype,"templates",2),S([c.state()],w.prototype,"searchQuery",2),S([c.state()],w.prototype,"filteredTemplates",2),S([c.state()],w.prototype,"selectedCategory",2),w=S([c.customElement("schmancy-email-template-picker")],w);var z=Object.defineProperty,L=Object.getOwnPropertyDescriptor,b=(e,t,i,s)=>{for(var a,n=s>1?void 0:s?L(t,i):t,r=e.length-1;r>=0;r--)(a=e[r])&&(n=(s?a(t,i,n):a(n))||n);return s&&n&&z(t,i,n),n};exports.SchmancyEmailEditor=class extends k.$LitElement(o.css`
264
264
  :host {
265
265
  display: block;
266
266
  height: 100%;
267
267
  }
268
- `){constructor(){super(...arguments),this.subject="",this.body="",this.disabled=!1,this.attachments=[],this.config={},this.templates=this.getDefaultTemplates(),this.dragOver=!1,this.isUploading=!1,this.subjectInputRef=g.createRef(),this.bodyTextAreaRef=g.createRef(),this.fileInputRef=g.createRef(),this.imageInputRef=g.createRef(),this.handleKeyDown=e=>{if(this.disabled)return;const t=this.bodyTextAreaRef.value?.shadowRoot?.querySelector("textarea");e.key==="Tab"&&e.target===t&&(e.preventDefault(),this.insertAtCursor(" "))},this.handlePaste=e=>{const t=this.bodyTextAreaRef.value?.shadowRoot?.querySelector("textarea");if(this.disabled||document.activeElement!==t)return;const i=e.clipboardData?.items;if(i)for(let s=0;s<i.length;s++){const a=i[s];if(a.type.indexOf("image")!==-1){e.preventDefault();const n=a.getAsFile();n&&this.uploadImage(n);break}}},this.handleSubjectChange=e=>{const 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=()=>{k.$dialog.component(o.html`
268
+ `){constructor(){super(...arguments),this.subject="",this.body="",this.disabled=!1,this.attachments=[],this.config={},this.templates=this.getDefaultTemplates(),this.dragOver=!1,this.isUploading=!1,this.subjectInputRef=f.createRef(),this.bodyTextAreaRef=f.createRef(),this.fileInputRef=f.createRef(),this.imageInputRef=f.createRef(),this.handleKeyDown=e=>{if(this.disabled)return;const t=this.bodyTextAreaRef.value?.shadowRoot?.querySelector("textarea");e.key==="Tab"&&e.target===t&&(e.preventDefault(),this.insertAtCursor(" "))},this.handlePaste=e=>{const t=this.bodyTextAreaRef.value?.shadowRoot?.querySelector("textarea");if(this.disabled||document.activeElement!==t)return;const i=e.clipboardData?.items;if(i)for(let s=0;s<i.length;s++){const a=i[s];if(a.type.indexOf("image")!==-1){e.preventDefault();const n=a.getAsFile();n&&this.uploadImage(n);break}}},this.handleSubjectChange=e=>{const 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=()=>{R.$dialog.component(o.html`
269
269
  <schmancy-email-layout-selector
270
- @layout-select=${e=>{this.applyLayout(e.detail.layout),k.$dialog.close()}}
270
+ @layout-select=${e=>{this.applyLayout(e.detail.layout),R.$dialog.close()}}
271
271
  ></schmancy-email-layout-selector>
272
- `)},this.openTemplatePicker=()=>{const e=new x;e.templates=this.templates,e.addEventListener("template-selected",this.handleTemplateSelected),E.sheet.open({component:e,title:"Choose Email Template"})},this.handleTemplateSelected=e=>{const t=e.detail;this.subject=t.subject,this.body=t.body,this.dispatchChange(),u.$notify.success(`Template "${t.name}" applied successfully`)},this.applyLayout=e=>{const t={"columns-2":`
272
+ `)},this.openTemplatePicker=()=>{const e=new w;e.templates=this.templates,u.fromEvent(e,"template-selected").pipe(u.takeUntil(this.disconnecting)).subscribe(this.handleTemplateSelected),E.sheet.open({component:e,title:"Choose Email Template"})},this.handleTemplateSelected=e=>{const t=e.detail;this.subject=t.subject,this.body=t.body,this.dispatchChange(),g.$notify.success(`Template "${t.name}" applied successfully`)},this.applyLayout=e=>{const t={"columns-2":`
273
273
  :::layout columns-2
274
274
  <div class="column">
275
275
  ![Left Photo](https://via.placeholder.com/400x300?text=Replace+with+your+photo){height=300px}
@@ -359,7 +359,7 @@ Your primary content goes here. This area takes up most of the width while the s
359
359
  ![Gallery Image 3](https://via.placeholder.com/400x250?text=Gallery+Image+3){height=250px}
360
360
  </div>
361
361
  :::
362
- `}[e];t&&this.insertAtCursor(t)},this.uploadImage=async e=>{if(!e.type.startsWith("image/"))return void u.$notify.error(`File "${e.name}" is not an image`);if(e.size>10485760)u.$notify.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),u.$notify.warning("No upload handler configured. Using local preview."));const i=await this.getImageDimensions(e);this.insertImageMarkdown(t,e.name,i.width,i.height),u.$notify.success("Image uploaded successfully")}catch{u.$notify.error("Failed to upload image")}finally{this.isUploading=!1}}},this.createDataUrl=e=>new Promise((t,i)=>{const s=new FileReader;s.onload=()=>t(s.result),s.onerror=i,s.readAsDataURL(e)}),this.getImageDimensions=e=>new Promise(t=>{const i=new Image;i.onload=()=>{t({width:i.width,height:i.height}),URL.revokeObjectURL(i.src)},i.onerror=()=>{t({width:400,height:300}),URL.revokeObjectURL(i.src)},i.src=URL.createObjectURL(e)}),this.insertImageMarkdown=(e,t,i,s)=>{const a=this.bodyTextAreaRef.value?.shadowRoot?.querySelector("textarea");if(!a)return;const n=`![${t}](${e}){width=${Math.min(i,600)}px height=auto}`,r=a.selectionStart,l=a.selectionEnd,h=this.body.substring(0,r)+n+this.body.substring(l);this.body=h,this.dispatchChange(),this.updateComplete.then(()=>{const p=this.bodyTextAreaRef.value?.shadowRoot?.querySelector("textarea");if(p){const v=r+n.length;p.setSelectionRange(v,v),p.focus()}})},this.handleFileChange=e=>{const t=e.target,i=t.files;if(i)for(let s=0;s<i.length;s++){const a=i[s];a.type.startsWith("image/")?this.uploadImage(a):this.addFile(a)}t.value=""},this.handleImageSelect=e=>{const t=e.target,i=t.files?.[0];i&&i.type.startsWith("image/")&&this.uploadImage(i),t.value=""},this.handleDrop=e=>{e.preventDefault(),this.dragOver=!1;const t=e.dataTransfer?.files;if(t)for(let i=0;i<t.length;i++){const s=t[i];s.type.startsWith("image/")?this.uploadImage(s):this.addFile(s)}},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 u.$notify.error(`File "${e.name}" is too large. Maximum size is 10MB.`);if(this.attachments.some(i=>i.name===e.name&&i.size===e.size))return void u.$notify.warning(`File "${e.name}" is already attached.`);const 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()}}connectedCallback(){super.connectedCallback(),this.addKeyboardListeners(),this.addDragListeners()}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("paste",this.handlePaste),document.removeEventListener("dragenter",this.handleDragEnter),document.removeEventListener("dragleave",this.handleDocumentDragLeave),document.removeEventListener("drop",this.handleDocumentDrop)}getDefaultTemplates(){return[{id:"welcome",name:"Welcome Email",subject:"Welcome to Our Community! 🌟",description:"A warm welcome message for new users",category:"onboarding",body:`# Welcome to Our Community!
362
+ `}[e];t&&this.insertAtCursor(t)},this.uploadImage=async e=>{if(!e.type.startsWith("image/"))return void g.$notify.error(`File "${e.name}" is not an image`);if(e.size>10485760)g.$notify.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),g.$notify.warning("No upload handler configured. Using local preview."));const i=await this.getImageDimensions(e);this.insertImageMarkdown(t,e.name,i.width,i.height),g.$notify.success("Image uploaded successfully")}catch{g.$notify.error("Failed to upload image")}finally{this.isUploading=!1}}},this.createDataUrl=e=>new Promise((t,i)=>{const s=new FileReader;s.onload=()=>t(s.result),s.onerror=i,s.readAsDataURL(e)}),this.getImageDimensions=e=>new Promise(t=>{const i=new Image;i.onload=()=>{t({width:i.width,height:i.height}),URL.revokeObjectURL(i.src)},i.onerror=()=>{t({width:400,height:300}),URL.revokeObjectURL(i.src)},i.src=URL.createObjectURL(e)}),this.insertImageMarkdown=(e,t,i,s)=>{const a=this.bodyTextAreaRef.value?.shadowRoot?.querySelector("textarea");if(!a)return;const n=`![${t}](${e}){width=${Math.min(i,600)}px height=auto}`,r=a.selectionStart,l=a.selectionEnd,h=this.body.substring(0,r)+n+this.body.substring(l);this.body=h,this.dispatchChange(),this.updateComplete.then(()=>{const p=this.bodyTextAreaRef.value?.shadowRoot?.querySelector("textarea");if(p){const x=r+n.length;p.setSelectionRange(x,x),p.focus()}})},this.handleFileChange=e=>{const t=e.target,i=t.files;if(i)for(let s=0;s<i.length;s++){const a=i[s];a.type.startsWith("image/")?this.uploadImage(a):this.addFile(a)}t.value=""},this.handleImageSelect=e=>{const t=e.target,i=t.files?.[0];i&&i.type.startsWith("image/")&&this.uploadImage(i),t.value=""},this.handleDrop=e=>{e.preventDefault(),this.dragOver=!1;const t=e.dataTransfer?.files;if(t)for(let i=0;i<t.length;i++){const s=t[i];s.type.startsWith("image/")?this.uploadImage(s):this.addFile(s)}},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 g.$notify.error(`File "${e.name}" is too large. Maximum size is 10MB.`);if(this.attachments.some(i=>i.name===e.name&&i.size===e.size))return void g.$notify.warning(`File "${e.name}" is already attached.`);const 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()}}connectedCallback(){super.connectedCallback(),this.addEventListeners()}disconnectedCallback(){super.disconnectedCallback()}getDefaultTemplates(){return[{id:"welcome",name:"Welcome Email",subject:"Welcome to Our Community! 🌟",description:"A warm welcome message for new users",category:"onboarding",body:`# Welcome to Our Community!
363
363
 
364
364
  We're thrilled to have you on board. Thank you for joining us on this journey.
365
365
 
@@ -548,7 +548,7 @@ You'll receive a tracking number via email once your order ships (usually within
548
548
  *Questions about your order? Reply to this email or contact our support team.*
549
549
 
550
550
  Thank you for your business,
551
- The Fulfillment Team`}]}addKeyboardListeners(){this.addEventListener("keydown",this.handleKeyDown),document.addEventListener("paste",this.handlePaste)}addDragListeners(){document.addEventListener("dragenter",this.handleDragEnter),document.addEventListener("dragleave",this.handleDocumentDragLeave),document.addEventListener("drop",this.handleDocumentDrop)}insertAtCursor(e,t){if(!this.bodyTextAreaRef.value)return;const i=this.bodyTextAreaRef.value.shadowRoot?.querySelector("textarea");if(!i)return;const s=i.selectionStart,a=i.selectionEnd,n=i.value.substring(0,s)+e+i.value.substring(a);this.body=n,this.dispatchChange(),this.updateComplete.then(()=>{const r=this.bodyTextAreaRef.value?.shadowRoot?.querySelector("textarea");if(r)if(r.focus(),t){const l=s+e.indexOf(t),h=l+t.length;r.setSelectionRange(l,h)}else r.setSelectionRange(s+e.length,s+e.length)})}wrapSelection(e,t,i){if(!this.bodyTextAreaRef.value)return;const s=this.bodyTextAreaRef.value.shadowRoot?.querySelector("textarea");if(!s)return;const a=s.selectionStart,n=s.selectionEnd,r=s.value.substring(a,n),l=e+(r||i)+t,h=s.value.substring(0,a)+l+s.value.substring(n);this.body=h,this.dispatchChange(),this.updateComplete.then(()=>{const p=this.bodyTextAreaRef.value?.shadowRoot?.querySelector("textarea");p&&(p.focus(),r?p.setSelectionRange(a+l.length,a+l.length):p.setSelectionRange(a+e.length,a+e.length+i.length))})}render(){return o.html`
551
+ The Fulfillment Team`}]}addEventListeners(){u.fromEvent(this,"keydown").pipe(u.takeUntil(this.disconnecting)).subscribe(this.handleKeyDown),u.fromEvent(document,"paste").pipe(u.takeUntil(this.disconnecting)).subscribe(this.handlePaste),u.fromEvent(document,"dragenter").pipe(u.takeUntil(this.disconnecting)).subscribe(this.handleDragEnter),u.fromEvent(document,"dragleave").pipe(u.takeUntil(this.disconnecting)).subscribe(this.handleDocumentDragLeave),u.fromEvent(document,"drop").pipe(u.takeUntil(this.disconnecting)).subscribe(this.handleDocumentDrop)}insertAtCursor(e,t){if(!this.bodyTextAreaRef.value)return;const i=this.bodyTextAreaRef.value.shadowRoot?.querySelector("textarea");if(!i)return;const s=i.selectionStart,a=i.selectionEnd,n=i.value.substring(0,s)+e+i.value.substring(a);this.body=n,this.dispatchChange(),this.updateComplete.then(()=>{const r=this.bodyTextAreaRef.value?.shadowRoot?.querySelector("textarea");if(r)if(r.focus(),t){const l=s+e.indexOf(t),h=l+t.length;r.setSelectionRange(l,h)}else r.setSelectionRange(s+e.length,s+e.length)})}wrapSelection(e,t,i){if(!this.bodyTextAreaRef.value)return;const s=this.bodyTextAreaRef.value.shadowRoot?.querySelector("textarea");if(!s)return;const a=s.selectionStart,n=s.selectionEnd,r=s.value.substring(a,n),l=e+(r||i)+t,h=s.value.substring(0,a)+l+s.value.substring(n);this.body=h,this.dispatchChange(),this.updateComplete.then(()=>{const p=this.bodyTextAreaRef.value?.shadowRoot?.querySelector("textarea");p&&(p.focus(),r?p.setSelectionRange(a+l.length,a+l.length):p.setSelectionRange(a+e.length,a+e.length+i.length))})}render(){return o.html`
552
552
  <schmancy-surface
553
553
  type="surface"
554
554
  rounded="all"
@@ -567,7 +567,7 @@ The Fulfillment Team`}]}addKeyboardListeners(){this.addEventListener("keydown",t
567
567
  Subject *
568
568
  </schmancy-typography>
569
569
  <schmancy-input
570
- ${g.ref(this.subjectInputRef)}
570
+ ${f.ref(this.subjectInputRef)}
571
571
  .value=${this.subject}
572
572
  @input=${this.handleSubjectChange}
573
573
  placeholder="Enter email subject..."
@@ -681,7 +681,7 @@ The Fulfillment Team`}]}addKeyboardListeners(){this.addEventListener("keydown",t
681
681
  <!-- Textarea Container - Takes remaining space -->
682
682
  <div class="flex-1 px-4 relative min-h-0">
683
683
  <schmancy-textarea
684
- ${g.ref(this.bodyTextAreaRef)}
684
+ ${f.ref(this.bodyTextAreaRef)}
685
685
  .value=${this.body}
686
686
  @change=${this.handleBodyChange}
687
687
  placeholder="Enter your email message here...
@@ -727,7 +727,7 @@ Tab key inserts 2 spaces for better formatting."
727
727
  Attachments (${this.attachments.length})
728
728
  </schmancy-typography>
729
729
  <div class="flex flex-wrap gap-2">
730
- ${S.repeat(this.attachments,e=>e.id,e=>o.html`
730
+ ${$.repeat(this.attachments,e=>e.id,e=>o.html`
731
731
  <schmancy-chip class="text-xs">
732
732
  <span class="truncate max-w-32">${e.name}</span>
733
733
  <button
@@ -747,13 +747,13 @@ Tab key inserts 2 spaces for better formatting."
747
747
  <!-- Hidden File Inputs -->
748
748
  <div class="hidden">
749
749
  <input
750
- ${g.ref(this.fileInputRef)}
750
+ ${f.ref(this.fileInputRef)}
751
751
  type="file"
752
752
  multiple
753
753
  @change=${this.handleFileChange}
754
754
  >
755
755
  <input
756
- ${g.ref(this.imageInputRef)}
756
+ ${f.ref(this.imageInputRef)}
757
757
  type="file"
758
758
  accept="image/*"
759
759
  @change=${this.handleImageSelect}
@@ -763,7 +763,7 @@ Tab key inserts 2 spaces for better formatting."
763
763
  </div>
764
764
  </schmancy-surface>
765
765
 
766
- `}},f([c.property({type:String})],exports.SchmancyEmailEditor.prototype,"subject",2),f([c.property({type:String})],exports.SchmancyEmailEditor.prototype,"body",2),f([c.property({type:Boolean})],exports.SchmancyEmailEditor.prototype,"disabled",2),f([c.property({type:Array})],exports.SchmancyEmailEditor.prototype,"attachments",2),f([c.property({type:Object})],exports.SchmancyEmailEditor.prototype,"config",2),f([c.property({type:Array})],exports.SchmancyEmailEditor.prototype,"templates",2),f([c.state()],exports.SchmancyEmailEditor.prototype,"dragOver",2),f([c.state()],exports.SchmancyEmailEditor.prototype,"isUploading",2),exports.SchmancyEmailEditor=f([c.customElement("schmancy-email-editor")],exports.SchmancyEmailEditor);var z=Object.defineProperty,M=Object.getOwnPropertyDescriptor,b=(e,t,i,s)=>{for(var a,n=s>1?void 0:s?M(t,i):t,r=e.length-1;r>=0;r--)(a=e[r])&&(n=(s?a(t,i,n):a(n))||n);return s&&n&&z(t,i,n),n};exports.SchmancyEmailViewer=class extends $.$LitElement(o.css`
766
+ `}},b([c.property({type:String})],exports.SchmancyEmailEditor.prototype,"subject",2),b([c.property({type:String})],exports.SchmancyEmailEditor.prototype,"body",2),b([c.property({type:Boolean})],exports.SchmancyEmailEditor.prototype,"disabled",2),b([c.property({type:Array})],exports.SchmancyEmailEditor.prototype,"attachments",2),b([c.property({type:Object})],exports.SchmancyEmailEditor.prototype,"config",2),b([c.property({type:Array})],exports.SchmancyEmailEditor.prototype,"templates",2),b([c.state()],exports.SchmancyEmailEditor.prototype,"dragOver",2),b([c.state()],exports.SchmancyEmailEditor.prototype,"isUploading",2),exports.SchmancyEmailEditor=b([c.customElement("schmancy-email-editor")],exports.SchmancyEmailEditor);var M=Object.defineProperty,P=Object.getOwnPropertyDescriptor,v=(e,t,i,s)=>{for(var a,n=s>1?void 0:s?P(t,i):t,r=e.length-1;r>=0;r--)(a=e[r])&&(n=(s?a(t,i,n):a(n))||n);return s&&n&&M(t,i,n),n};exports.SchmancyEmailViewer=class extends k.$LitElement(o.css`
767
767
  :host {
768
768
  display: block;
769
769
  }
@@ -791,7 +791,7 @@ Tab key inserts 2 spaces for better formatting."
791
791
  </td>`}),n+="</tr>",`
792
792
  <table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin: 16px 0;">
793
793
  ${n}
794
- </table>`}parseImageAttributes(e){const t={};if(!e)return t;const i=e.match(/width=([^\s}]+)/);i&&(t.width=i[1]);const s=e.match(/height=([^\s}]+)/);return s&&(t.height=s[1]),e.includes("cover")&&(t.cover=!0),e.includes("contain")&&(t.contain=!0),t}generateImageStyles(e,t=!1){let i,s,a="display: block; margin: 8px 0; border: 0;";return e.width?e.width==="auto"?a+=t?" max-width: 100%; height: auto;":" height: auto;":e.width.endsWith("%")?(a+=` width: ${e.width}; max-width: 100%;`,e.height||(a+=" height: auto;")):e.width.endsWith("px")&&(i=e.width.replace("px",""),a+=" max-width: 100%;",e.height||(a+=" height: auto;")):a+=t?" width: 100%; max-width: 100%; height: auto;":" max-width: 100%; height: auto;",e.height&&(e.height==="auto"?a+=" height: auto;":e.height.endsWith("px")&&(s=e.height.replace("px",""),e.width||(a+=" max-width: 100%;"))),(e.cover||e.contain)&&(e.width||e.height||(a+=" width: 100%;")),{imgStyle:a,imgWidth:i,imgHeight:s}}parseBasicMarkdown(e){return e.replace(/!\[([^\]]*)\]\(([^)]+)\)(?:\{([^}]+)\})?/g,(t,i,s,a)=>{const n=this.parseImageAttributes(a),{imgStyle:r,imgWidth:l,imgHeight:h}=this.generateImageStyles(n,!0);let p=`<img src="${s}" alt="${i||"Image"}" style="${r}" border="0"`;return l&&(p+=` width="${l}"`),h&&(p+=` height="${h}"`),p+=">",p}).replace(/\n\n/g,'</p><p style="margin: 0 0 16px 0; padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.6; color: #333333;">').replace(/\n/g,"<br>").replace(/\*\*(.*?)\*\*/g,'<strong style="font-weight: bold;">$1</strong>').replace(/\*(.*?)\*/g,'<em style="font-style: italic;">$1</em>').replace(/\[([^\]]+)\]\(([^)]+)\)/g,'<a href="$2" style="color: #0066cc; text-decoration: underline;">$1</a>').replace(/^# (.*$)/gim,'<h2 style="margin: 16px 0 8px 0; padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 18px; font-weight: bold; color: #1a1a1a;">$1</h2>').replace(/^\* (.*$)/gim,'<li style="margin: 4px 0; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #333333;">$1</li>').replace(/^\d+\. (.*$)/gim,'<li style="margin: 4px 0; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #333333;">$1</li>').replace(/(<li[^>]*>.*?<\/li>(?:\s*<li[^>]*>.*?<\/li>)*)/gs,t=>{const i=/^\d+\./.test(t.replace(/<[^>]*>/g,""))?"ol":"ul";return`<${i} style="margin: 8px 0; padding: 0 0 0 20px; font-family: Arial, Helvetica, sans-serif;">${t}</${i}>`}).replace(/^(?!<[h\d]|<p|<ul|<ol|<li|<img)(.+)$/gim,'<p style="margin: 0 0 16px 0; padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.6; color: #333333;">$1</p>')}parseExtendedMarkdown(e){let t=e;return t=this.parseLayoutBlocks(t),t=t.replace(/:::images\s+(row|grid(?:=\d+)?)\n((?:!\[.*?\]\(.*?\)(?:\{.*?\})?\s*\n?)*?):::/g,"[Multiple Images - View in web browser]"),t=t.replace(/!\[([^\]]*)\]\(([^)]+)\)(?:\{([^}]+)\})?/g,(i,s,a,n)=>{const r=this.parseImageAttributes(n),{imgStyle:l,imgWidth:h,imgHeight:p}=this.generateImageStyles(r,!1);let v=`<img src="${a}" alt="${s||"Image"}" style="${l}" border="0"`;return h&&(v+=` width="${h}"`),p&&(v+=` height="${p}"`),v+=">",`<table cellpadding="0" cellspacing="0" border="0" style="margin: 16px 0;"><tr><td>${v}</td></tr></table>`}),t=t.replace(/\n\n/g,'</p><p style="margin: 0 0 16px 0; padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.6; color: #333333;">').replace(/\n/g,"<br>").replace(/\*\*(.*?)\*\*/g,'<strong style="font-weight: bold;">$1</strong>').replace(/\*(.*?)\*/g,'<em style="font-style: italic;">$1</em>').replace(/\[([^\]]+)\]\(([^)]+)\)/g,'<a href="$2" style="color: #0066cc; text-decoration: underline;">$1</a>').replace(/^# (.*$)/gim,'<table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin: 24px 0 16px 0;"><tr><td><h1 style="margin: 0; padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 24px; font-weight: bold; color: #1a1a1a;">$1</h1></td></tr></table>').replace(/^\* (.*$)/gim,'<li style="margin: 4px 0; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #333333;">$1</li>').replace(/^\d+\. (.*$)/gim,'<li style="margin: 4px 0; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #333333;">$1</li>').replace(/^---$/gim,'<table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin: 24px 0;"><tr><td style="border-top: 1px solid #e0e0e0; height: 1px; line-height: 1px;">&nbsp;</td></tr></table>'),t=t.replace(/(<li[^>]*>.*?<\/li>(?:\s*<li[^>]*>.*?<\/li>)*)/gs,i=>{const s=/^\d+\./.test(i.replace(/<[^>]*>/g,"")),a=s?"ol":"ul";return`<table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><${a} style="margin: 16px 0; padding: 0 0 0 20px; font-family: Arial, Helvetica, sans-serif;">${i}</${a}></td></tr></table>`}),t.includes("<table>")||t.includes("<h1>")||(t=`<p style="margin: 0 0 16px 0; padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.6; color: #333333;">${t}</p>`),t=`<table cellpadding="0" cellspacing="0" border="0" width="100%" style="max-width: 600px; margin: 0 auto;">
794
+ </table>`}parseImageAttributes(e){const t={};if(!e)return t;const i=e.match(/width=([^\s}]+)/);i&&(t.width=i[1]);const s=e.match(/height=([^\s}]+)/);return s&&(t.height=s[1]),e.includes("cover")&&(t.cover=!0),e.includes("contain")&&(t.contain=!0),t}generateImageStyles(e,t=!1){let i,s,a="display: block; margin: 8px 0; border: 0;";return e.width?e.width==="auto"?a+=t?" max-width: 100%; height: auto;":" height: auto;":e.width.endsWith("%")?(a+=` width: ${e.width}; max-width: 100%;`,e.height||(a+=" height: auto;")):e.width.endsWith("px")&&(i=e.width.replace("px",""),a+=" max-width: 100%;",e.height||(a+=" height: auto;")):a+=t?" width: 100%; max-width: 100%; height: auto;":" max-width: 100%; height: auto;",e.height&&(e.height==="auto"?a+=" height: auto;":e.height.endsWith("px")&&(s=e.height.replace("px",""),e.width||(a+=" max-width: 100%;"))),(e.cover||e.contain)&&(e.width||e.height||(a+=" width: 100%;")),{imgStyle:a,imgWidth:i,imgHeight:s}}parseBasicMarkdown(e){return e.replace(/!\[([^\]]*)\]\(([^)]+)\)(?:\{([^}]+)\})?/g,(t,i,s,a)=>{const n=this.parseImageAttributes(a),{imgStyle:r,imgWidth:l,imgHeight:h}=this.generateImageStyles(n,!0);let p=`<img src="${s}" alt="${i||"Image"}" style="${r}" border="0"`;return l&&(p+=` width="${l}"`),h&&(p+=` height="${h}"`),p+=">",p}).replace(/\n\n/g,'</p><p style="margin: 0 0 16px 0; padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.6; color: #333333;">').replace(/\n/g,"<br>").replace(/\*\*(.*?)\*\*/g,'<strong style="font-weight: bold;">$1</strong>').replace(/\*(.*?)\*/g,'<em style="font-style: italic;">$1</em>').replace(/\[([^\]]+)\]\(([^)]+)\)/g,'<a href="$2" style="color: #0066cc; text-decoration: underline;">$1</a>').replace(/^# (.*$)/gim,'<h2 style="margin: 16px 0 8px 0; padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 18px; font-weight: bold; color: #1a1a1a;">$1</h2>').replace(/^\* (.*$)/gim,'<li style="margin: 4px 0; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #333333;">$1</li>').replace(/^\d+\. (.*$)/gim,'<li style="margin: 4px 0; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #333333;">$1</li>').replace(/(<li[^>]*>.*?<\/li>(?:\s*<li[^>]*>.*?<\/li>)*)/gs,t=>{const i=/^\d+\./.test(t.replace(/<[^>]*>/g,""))?"ol":"ul";return`<${i} style="margin: 8px 0; padding: 0 0 0 20px; font-family: Arial, Helvetica, sans-serif;">${t}</${i}>`}).replace(/^(?!<[h\d]|<p|<ul|<ol|<li|<img)(.+)$/gim,'<p style="margin: 0 0 16px 0; padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.6; color: #333333;">$1</p>')}parseExtendedMarkdown(e){let t=e;return t=this.parseLayoutBlocks(t),t=t.replace(/:::images\s+(row|grid(?:=\d+)?)\n((?:!\[.*?\]\(.*?\)(?:\{.*?\})?\s*\n?)*?):::/g,"[Multiple Images - View in web browser]"),t=t.replace(/!\[([^\]]*)\]\(([^)]+)\)(?:\{([^}]+)\})?/g,(i,s,a,n)=>{const r=this.parseImageAttributes(n),{imgStyle:l,imgWidth:h,imgHeight:p}=this.generateImageStyles(r,!1);let x=`<img src="${a}" alt="${s||"Image"}" style="${l}" border="0"`;return h&&(x+=` width="${h}"`),p&&(x+=` height="${p}"`),x+=">",`<table cellpadding="0" cellspacing="0" border="0" style="margin: 16px 0;"><tr><td>${x}</td></tr></table>`}),t=t.replace(/\n\n/g,'</p><p style="margin: 0 0 16px 0; padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.6; color: #333333;">').replace(/\n/g,"<br>").replace(/\*\*(.*?)\*\*/g,'<strong style="font-weight: bold;">$1</strong>').replace(/\*(.*?)\*/g,'<em style="font-style: italic;">$1</em>').replace(/\[([^\]]+)\]\(([^)]+)\)/g,'<a href="$2" style="color: #0066cc; text-decoration: underline;">$1</a>').replace(/^# (.*$)/gim,'<table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin: 24px 0 16px 0;"><tr><td><h1 style="margin: 0; padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 24px; font-weight: bold; color: #1a1a1a;">$1</h1></td></tr></table>').replace(/^\* (.*$)/gim,'<li style="margin: 4px 0; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #333333;">$1</li>').replace(/^\d+\. (.*$)/gim,'<li style="margin: 4px 0; font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #333333;">$1</li>').replace(/^---$/gim,'<table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin: 24px 0;"><tr><td style="border-top: 1px solid #e0e0e0; height: 1px; line-height: 1px;">&nbsp;</td></tr></table>'),t=t.replace(/(<li[^>]*>.*?<\/li>(?:\s*<li[^>]*>.*?<\/li>)*)/gs,i=>{const s=/^\d+\./.test(i.replace(/<[^>]*>/g,"")),a=s?"ol":"ul";return`<table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td><${a} style="margin: 16px 0; padding: 0 0 0 20px; font-family: Arial, Helvetica, sans-serif;">${i}</${a}></td></tr></table>`}),t.includes("<table>")||t.includes("<h1>")||(t=`<p style="margin: 0 0 16px 0; padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.6; color: #333333;">${t}</p>`),t=`<table cellpadding="0" cellspacing="0" border="0" width="100%" style="max-width: 600px; margin: 0 auto;">
795
795
  <tr>
796
796
  <td style="padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.6; color: #333333;">
797
797
  ${t}
@@ -934,7 +934,7 @@ Tab key inserts 2 spaces for better formatting."
934
934
 
935
935
  <!-- Attachments List -->
936
936
  <div class="grid gap-2 sm:grid-cols-2 lg:grid-cols-1 xl:grid-cols-2">
937
- ${S.repeat(this.attachments,s=>s.id,s=>o.html`
937
+ ${$.repeat(this.attachments,s=>s.id,s=>o.html`
938
938
  <schmancy-surface type="container" rounded="all" class="p-3">
939
939
  <div class="flex items-center gap-3">
940
940
  <!-- File Icon -->
@@ -1001,19 +1001,19 @@ Tab key inserts 2 spaces for better formatting."
1001
1001
 
1002
1002
  </div>
1003
1003
  </schmancy-surface>
1004
- `}},b([c.property({type:String})],exports.SchmancyEmailViewer.prototype,"subject",2),b([c.property({type:String})],exports.SchmancyEmailViewer.prototype,"body",2),b([c.property({type:Array})],exports.SchmancyEmailViewer.prototype,"attachments",2),b([c.property({type:Array})],exports.SchmancyEmailViewer.prototype,"recipients",2),b([c.property({type:String})],exports.SchmancyEmailViewer.prototype,"fromAddress",2),b([c.property({type:String})],exports.SchmancyEmailViewer.prototype,"toAddress",2),b([c.state()],exports.SchmancyEmailViewer.prototype,"viewMode",2),exports.SchmancyEmailViewer=b([c.customElement("schmancy-email-viewer")],exports.SchmancyEmailViewer);var P=Object.defineProperty,F=Object.getOwnPropertyDescriptor,y=(e,t,i,s)=>{for(var a,n=s>1?void 0:s?F(t,i):t,r=e.length-1;r>=0;r--)(a=e[r])&&(n=(s?a(t,i,n):a(n))||n);return s&&n&&P(t,i,n),n};exports.SchmancyEmailRecipients=class extends $.$LitElement(o.css`
1004
+ `}},v([c.property({type:String})],exports.SchmancyEmailViewer.prototype,"subject",2),v([c.property({type:String})],exports.SchmancyEmailViewer.prototype,"body",2),v([c.property({type:Array})],exports.SchmancyEmailViewer.prototype,"attachments",2),v([c.property({type:Array})],exports.SchmancyEmailViewer.prototype,"recipients",2),v([c.property({type:String})],exports.SchmancyEmailViewer.prototype,"fromAddress",2),v([c.property({type:String})],exports.SchmancyEmailViewer.prototype,"toAddress",2),v([c.state()],exports.SchmancyEmailViewer.prototype,"viewMode",2),exports.SchmancyEmailViewer=v([c.customElement("schmancy-email-viewer")],exports.SchmancyEmailViewer);var F=Object.defineProperty,O=Object.getOwnPropertyDescriptor,y=(e,t,i,s)=>{for(var a,n=s>1?void 0:s?O(t,i):t,r=e.length-1;r>=0;r--)(a=e[r])&&(n=(s?a(t,i,n):a(n))||n);return s&&n&&F(t,i,n),n};exports.SchmancyEmailRecipients=class extends k.$LitElement(o.css`
1005
1005
  :host {
1006
1006
  display: block;
1007
1007
  height: 100%;
1008
1008
  }
1009
- `){constructor(){super(...arguments),this.disabled=!1,this.recipients=[],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="minimized",this.fileInputRef=g.createRef(),this.handleEmailsImported=()=>{this.updateFilteredRecipients(),this.requestUpdate()},this.handleImportFromCSV=()=>{this.enableCsvImport&&this.fileInputRef.value?.click()},this.handleFileSelect=e=>{const t=e.target,i=t.files?.[0];i&&this.processCSVFile(i)},this.handleDrop=e=>{if(!this.enableDragDrop)return;e.preventDefault(),this.dragOver=!1;const t=e.dataTransfer?.files[0];t&&this.processCSVFile(t)},this.processCSVFile=e=>{if(!e.name.endsWith(".csv"))return void u.$notify.error("Please select a CSV file");const t=new FileReader;t.onload=i=>{const s=i.target?.result;try{const a=this.parseCSV(s);if(a.length===0)return void u.$notify.error("No valid email addresses found in CSV");this.dispatchEvent(new CustomEvent("emails-imported",{detail:{emails:a,source:"csv"},bubbles:!0,composed:!0})),u.$notify.success(`Imported ${a.length} emails from CSV file`)}catch{u.$notify.error("Failed to parse CSV file")}},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=()=>{const e=Array.isArray(this.recipients)?this.recipients:[];if(this.searchQuery.trim()){const t=this.searchQuery.toLowerCase();this.filteredRecipients=e.filter(i=>i.toLowerCase().includes(t))}else this.filteredRecipients=[...e]},this.handleSearchInput=e=>{const 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}}connectedCallback(){super.connectedCallback(),this.localSelectedRecipients=new Set(this.selectedRecipients),this.updateFilteredRecipients(),this.addEventListener("emails-imported",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){const t=[];let i;i=this.csvParser?this.csvParser.parse(e,{header:!0,skipEmptyLines:!0,dynamicTyping:!0,delimiter:"",transformHeader:l=>l.trim()}):this.simpleCSVParse(e);const s=i.data,a=i.meta.fields||[];let n=a.find(l=>l.toLowerCase().includes("email"));if(!n)for(const l of a){const h=s[0]?.[l]?.toString();if(h&&this.isValidEmail(h)){n=l;break}}if(!n)throw new Error("No email column found in CSV");const r=new Set;for(const l of s){const h=l[n]?.toString();if(!h)continue;const p=h.toLowerCase().trim();this.isValidEmail(p)&&!r.has(p)&&(r.add(p),t.push(p))}return t}simpleCSVParse(e){const t=e.split(`
1009
+ `){constructor(){super(...arguments),this.disabled=!1,this.recipients=[],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="minimized",this.fileInputRef=f.createRef(),this.handleEmailsImported=()=>{this.updateFilteredRecipients(),this.requestUpdate()},this.handleImportFromCSV=()=>{this.enableCsvImport&&this.fileInputRef.value?.click()},this.handleFileSelect=e=>{const t=e.target,i=t.files?.[0];i&&this.processCSVFile(i)},this.handleDrop=e=>{if(!this.enableDragDrop)return;e.preventDefault(),this.dragOver=!1;const t=e.dataTransfer?.files[0];t&&this.processCSVFile(t)},this.processCSVFile=e=>{if(!e.name.endsWith(".csv"))return void g.$notify.error("Please select a CSV file");const t=new FileReader;t.onload=i=>{const s=i.target?.result;try{const a=this.parseCSV(s);if(a.length===0)return void g.$notify.error("No valid email addresses found in CSV");this.dispatchEvent(new CustomEvent("emails-imported",{detail:{emails:a,source:"csv"},bubbles:!0,composed:!0})),g.$notify.success(`Imported ${a.length} emails from CSV file`)}catch{g.$notify.error("Failed to parse CSV file")}},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=()=>{const e=Array.isArray(this.recipients)?this.recipients:[];if(this.searchQuery.trim()){const t=this.searchQuery.toLowerCase();this.filteredRecipients=e.filter(i=>i.toLowerCase().includes(t))}else this.filteredRecipients=[...e]},this.handleSearchInput=e=>{const 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}}connectedCallback(){super.connectedCallback(),this.localSelectedRecipients=new Set(this.selectedRecipients),this.updateFilteredRecipients(),u.fromEvent(this,"emails-imported").pipe(u.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){const t=[];let i;i=this.csvParser?this.csvParser.parse(e,{header:!0,skipEmptyLines:!0,dynamicTyping:!0,delimiter:"",transformHeader:l=>l.trim()}):this.simpleCSVParse(e);const s=i.data,a=i.meta.fields||[];let n=a.find(l=>l.toLowerCase().includes("email"));if(!n)for(const l of a){const h=s[0]?.[l]?.toString();if(h&&this.isValidEmail(h)){n=l;break}}if(!n)throw new Error("No email column found in CSV");const r=new Set;for(const l of s){const h=l[n]?.toString();if(!h)continue;const p=h.toLowerCase().trim();this.isValidEmail(p)&&!r.has(p)&&(r.add(p),t.push(p))}return t}simpleCSVParse(e){const t=e.split(`
1010
1010
  `).filter(a=>a.trim());if(t.length===0)return{data:[],meta:{}};const i=t[0].split(",").map(a=>a.trim().replace(/"/g,"")),s=[];for(let a=1;a<t.length;a++){const n=t[a].split(",").map(l=>l.trim().replace(/"/g,"")),r={};i.forEach((l,h)=>{r[l]=n[h]||""}),s.push(r)}return{data:s,meta:{fields:i}}}isValidEmail(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.trim())}addRecipients(e){if(!e.length)return;const t=[...new Set([...this.recipients,...e])],i=e.filter(s=>!this.recipients.includes(s));this.recipients=t,this.selectedRecipients=[...new Set([...this.selectedRecipients,...i])],this.localSelectedRecipients=new Set(this.selectedRecipients),this.updateFilteredRecipients(),this.requestUpdate()}showBoat(){this.boatState="minimized"}hideBoat(){this.boatState="hidden"}expandBoat(){this.boatState="expanded"}toggleBoat(){this.boatState=this.boatState==="hidden"?"minimized":this.boatState==="minimized"?"expanded":"hidden"}render(){return this.renderBoatLayout()}renderBoatLayout(){return o.html`
1011
1011
  <!-- Hidden file input for CSV import -->
1012
1012
  ${d.when(this.enableCsvImport,()=>o.html`
1013
1013
  <input
1014
1014
  type="file"
1015
1015
  accept=".csv"
1016
- ${g.ref(this.fileInputRef)}
1016
+ ${f.ref(this.fileInputRef)}
1017
1017
  @change=${this.handleFileSelect}
1018
1018
  class="hidden"
1019
1019
  />
@@ -1111,7 +1111,7 @@ Tab key inserts 2 spaces for better formatting."
1111
1111
  <div class="flex-1 overflow-y-auto px-4 pb-4">
1112
1112
  ${d.when(this.filteredRecipients.length>0,()=>o.html`
1113
1113
  <div class="flex flex-wrap gap-3">
1114
- ${S.repeat(this.filteredRecipients,e=>e,e=>o.html`
1114
+ ${$.repeat(this.filteredRecipients,e=>e,e=>o.html`
1115
1115
  <schmancy-button
1116
1116
  variant=${this.localSelectedRecipients.has(e)?"filled":"outlined"}
1117
1117
  @click=${t=>{t.stopPropagation(),t.preventDefault(),this.toggleRecipientSelection(e)}}
@@ -1170,4 +1170,4 @@ Tab key inserts 2 spaces for better formatting."
1170
1170
  </div>
1171
1171
  `)}
1172
1172
  `}},y([c.property({type:Boolean})],exports.SchmancyEmailRecipients.prototype,"disabled",2),y([c.property({type:Array})],exports.SchmancyEmailRecipients.prototype,"recipients",2),y([c.property({type:Array})],exports.SchmancyEmailRecipients.prototype,"selectedRecipients",2),y([c.property({type:Boolean})],exports.SchmancyEmailRecipients.prototype,"enableCsvImport",2),y([c.property({type:Boolean})],exports.SchmancyEmailRecipients.prototype,"enableDragDrop",2),y([c.property({type:String})],exports.SchmancyEmailRecipients.prototype,"title",2),y([c.property({type:String})],exports.SchmancyEmailRecipients.prototype,"emptyStateTitle",2),y([c.property({type:String})],exports.SchmancyEmailRecipients.prototype,"emptyStateMessage",2),y([c.property({type:Object})],exports.SchmancyEmailRecipients.prototype,"csvParser",2),y([c.state()],exports.SchmancyEmailRecipients.prototype,"dragOver",2),y([c.state()],exports.SchmancyEmailRecipients.prototype,"localSelectedRecipients",2),y([c.state()],exports.SchmancyEmailRecipients.prototype,"searchQuery",2),y([c.state()],exports.SchmancyEmailRecipients.prototype,"filteredRecipients",2),y([c.state()],exports.SchmancyEmailRecipients.prototype,"boatState",2),exports.SchmancyEmailRecipients=y([c.customElement("schmancy-email-recipients")],exports.SchmancyEmailRecipients);
1173
- //# sourceMappingURL=email-recipients-BWIYYwA8.cjs.map
1173
+ //# sourceMappingURL=email-recipients-BlSATi3L.cjs.map