@mhmo91/schmancy 0.5.41 → 0.5.43

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 (324) hide show
  1. package/ai/theme.md +33 -13
  2. package/dist/ai/theme.md +33 -13
  3. package/dist/{animated-text-Csa12CPb.js → animated-text-CPA937x-.js} +3 -3
  4. package/dist/{animated-text-Csa12CPb.js.map → animated-text-CPA937x-.js.map} +1 -1
  5. package/dist/{animated-text-DXIDBlvH.cjs → animated-text-Dr32Ckh7.cjs} +2 -2
  6. package/dist/{animated-text-DXIDBlvH.cjs.map → animated-text-Dr32Ckh7.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.component-CuaH39_t.cjs → area.component-C3uCk-c1.cjs} +2 -2
  11. package/dist/{area.component-CuaH39_t.cjs.map → area.component-C3uCk-c1.cjs.map} +1 -1
  12. package/dist/{area.component-CLVv59z9.js → area.component-CgAISzZ3.js} +3 -3
  13. package/dist/{area.component-CLVv59z9.js.map → area.component-CgAISzZ3.js.map} +1 -1
  14. package/dist/area.js +1 -1
  15. package/dist/{autocomplete-DwXFcjbJ.js → autocomplete--0ZoSIp0.js} +4 -4
  16. package/dist/{autocomplete-DwXFcjbJ.js.map → autocomplete--0ZoSIp0.js.map} +1 -1
  17. package/dist/{autocomplete-bixBLHrn.cjs → autocomplete-CpCXamUl.cjs} +2 -2
  18. package/dist/{autocomplete-bixBLHrn.cjs.map → autocomplete-CpCXamUl.cjs.map} +1 -1
  19. package/dist/autocomplete.cjs +1 -1
  20. package/dist/autocomplete.js +1 -1
  21. package/dist/{avatar-TAxgKH6w.cjs → avatar-BoiitTCk.cjs} +2 -2
  22. package/dist/{avatar-TAxgKH6w.cjs.map → avatar-BoiitTCk.cjs.map} +1 -1
  23. package/dist/{avatar-C70RL5gA.js → avatar-pd1Le_Pp.js} +50 -50
  24. package/dist/{avatar-C70RL5gA.js.map → avatar-pd1Le_Pp.js.map} +1 -1
  25. package/dist/badge.cjs +1 -1
  26. package/dist/badge.js +1 -1
  27. package/dist/{boat-BzsxPidL.js → boat-Bou0hRnM.js} +54 -47
  28. package/dist/{boat-BzsxPidL.js.map → boat-Bou0hRnM.js.map} +1 -1
  29. package/dist/{boat-DpHPXHCG.cjs → boat-CkkEmZcE.cjs} +15 -10
  30. package/dist/{boat-DpHPXHCG.cjs.map → boat-CkkEmZcE.cjs.map} +1 -1
  31. package/dist/boat.cjs +1 -1
  32. package/dist/boat.js +1 -1
  33. package/dist/busy.cjs +1 -1
  34. package/dist/busy.js +1 -1
  35. package/dist/button.cjs +1 -1
  36. package/dist/button.js +1 -1
  37. package/dist/card.cjs +1 -1
  38. package/dist/card.js +1 -1
  39. package/dist/{checkbox-bS6snk-D.js → checkbox-D8ZJSnVa.js} +2 -2
  40. package/dist/{checkbox-bS6snk-D.js.map → checkbox-D8ZJSnVa.js.map} +1 -1
  41. package/dist/{checkbox-i2C0wggY.cjs → checkbox-DODyS0zq.cjs} +2 -2
  42. package/dist/{checkbox-i2C0wggY.cjs.map → checkbox-DODyS0zq.cjs.map} +1 -1
  43. package/dist/checkbox.cjs +1 -1
  44. package/dist/checkbox.js +1 -1
  45. package/dist/chips.cjs +1 -1
  46. package/dist/chips.js +2 -2
  47. package/dist/code-highlight.cjs +1 -1
  48. package/dist/code-highlight.js +1 -1
  49. package/dist/{code-preview-BwGY-eTR.cjs → code-preview-BZmBRwu-.cjs} +2 -2
  50. package/dist/{code-preview-BwGY-eTR.cjs.map → code-preview-BZmBRwu-.cjs.map} +1 -1
  51. package/dist/{code-preview-Ce2yFUqq.js → code-preview-CTnFGeWr.js} +2 -2
  52. package/dist/{code-preview-Ce2yFUqq.js.map → code-preview-CTnFGeWr.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-Cyj_v670.js → date-range-ClsaySUj.js} +3 -3
  58. package/dist/{date-range-Cyj_v670.js.map → date-range-ClsaySUj.js.map} +1 -1
  59. package/dist/{date-range-CafP0b3r.cjs → date-range-CoETNfZb.cjs} +2 -2
  60. package/dist/{date-range-CafP0b3r.cjs.map → date-range-CoETNfZb.cjs.map} +1 -1
  61. package/dist/{date-range-inline-Ckp4BGWf.cjs → date-range-inline-DANhDNYe.cjs} +2 -2
  62. package/dist/{date-range-inline-Ckp4BGWf.cjs.map → date-range-inline-DANhDNYe.cjs.map} +1 -1
  63. package/dist/{date-range-inline-liOecqXM.js → date-range-inline-DGlKBtNK.js} +3 -3
  64. package/dist/{date-range-inline-liOecqXM.js.map → date-range-inline-DGlKBtNK.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-mGXngiWQ.js → delay-BYgsZZlo.js} +2 -2
  70. package/dist/{delay-mGXngiWQ.js.map → delay-BYgsZZlo.js.map} +1 -1
  71. package/dist/{delay-D-0KDfbr.cjs → delay-C_eK0GWj.cjs} +2 -2
  72. package/dist/{delay-D-0KDfbr.cjs.map → delay-C_eK0GWj.cjs.map} +1 -1
  73. package/dist/delay.cjs +1 -1
  74. package/dist/delay.js +1 -1
  75. package/dist/{details-BMxdZzyB.cjs → details-CRLG7_Rx.cjs} +2 -2
  76. package/dist/{details-BMxdZzyB.cjs.map → details-CRLG7_Rx.cjs.map} +1 -1
  77. package/dist/{details-Bs41KV4O.js → details-YOyqdGM4.js} +2 -2
  78. package/dist/{details-Bs41KV4O.js.map → details-YOyqdGM4.js.map} +1 -1
  79. package/dist/details.cjs +1 -1
  80. package/dist/details.js +1 -1
  81. package/dist/{dialog-content-CeCvuhEq.cjs → dialog-content-Bm8humI-.cjs} +2 -2
  82. package/dist/{dialog-content-CeCvuhEq.cjs.map → dialog-content-Bm8humI-.cjs.map} +1 -1
  83. package/dist/{dialog-content-CXkxu3sg.js → dialog-content-CXshnL4t.js} +3 -3
  84. package/dist/{dialog-content-CXkxu3sg.js.map → dialog-content-CXshnL4t.js.map} +1 -1
  85. package/dist/dialog.cjs +1 -1
  86. package/dist/dialog.js +1 -1
  87. package/dist/{divider-9lMuhEF7.js → divider-BD7cCM-N.js} +3 -3
  88. package/dist/{divider-9lMuhEF7.js.map → divider-BD7cCM-N.js.map} +1 -1
  89. package/dist/{divider-PC1JIGto.cjs → divider-W9uJ8C3q.cjs} +2 -2
  90. package/dist/{divider-PC1JIGto.cjs.map → divider-W9uJ8C3q.cjs.map} +1 -1
  91. package/dist/divider.cjs +1 -1
  92. package/dist/divider.js +1 -1
  93. package/dist/{dropdown-content-C6bzUdre.js → dropdown-content-C7b_9CMw.js} +3 -3
  94. package/dist/{dropdown-content-C6bzUdre.js.map → dropdown-content-C7b_9CMw.js.map} +1 -1
  95. package/dist/{dropdown-content-YtQD_Ck-.cjs → dropdown-content-DnWgB8CR.cjs} +2 -2
  96. package/dist/{dropdown-content-YtQD_Ck-.cjs.map → dropdown-content-DnWgB8CR.cjs.map} +1 -1
  97. package/dist/dropdown.cjs +1 -1
  98. package/dist/dropdown.js +1 -1
  99. package/dist/{email-recipients-BdQzItf2.js → email-recipients-CyIXLoSh.js} +5 -5
  100. package/dist/{email-recipients-BdQzItf2.js.map → email-recipients-CyIXLoSh.js.map} +1 -1
  101. package/dist/{email-recipients-DcAklWpr.cjs → email-recipients-whsZqIpA.cjs} +2 -2
  102. package/dist/{email-recipients-DcAklWpr.cjs.map → email-recipients-whsZqIpA.cjs.map} +1 -1
  103. package/dist/extra.cjs +1 -1
  104. package/dist/extra.js +1 -1
  105. package/dist/{flex-CymZJKG2.cjs → flex-C0O9O1yV.cjs} +2 -2
  106. package/dist/{flex-CymZJKG2.cjs.map → flex-C0O9O1yV.cjs.map} +1 -1
  107. package/dist/{flex-Bxl3NsXD.js → flex-DvZKaAtN.js} +2 -2
  108. package/dist/{flex-Bxl3NsXD.js.map → flex-DvZKaAtN.js.map} +1 -1
  109. package/dist/{form-Ce5p9bdj.js → form-BsI5Sk-R.js} +2 -2
  110. package/dist/{form-Ce5p9bdj.js.map → form-BsI5Sk-R.js.map} +1 -1
  111. package/dist/{form-ziHjSN7z.cjs → form-D4AZek8y.cjs} +2 -2
  112. package/dist/{form-ziHjSN7z.cjs.map → form-D4AZek8y.cjs.map} +1 -1
  113. package/dist/form.cjs +1 -1
  114. package/dist/form.js +1 -1
  115. package/dist/{formField.mixin-BJVauln0.js → formField.mixin-C_a5Hccx.js} +2 -2
  116. package/dist/{formField.mixin-BJVauln0.js.map → formField.mixin-C_a5Hccx.js.map} +1 -1
  117. package/dist/{formField.mixin-CIA3kxcC.cjs → formField.mixin-DfxR1FzZ.cjs} +2 -2
  118. package/dist/{formField.mixin-CIA3kxcC.cjs.map → formField.mixin-DfxR1FzZ.cjs.map} +1 -1
  119. package/dist/{icon-DepgqyRD.js → icon-5LbOG-V0.js} +2 -2
  120. package/dist/{icon-DepgqyRD.js.map → icon-5LbOG-V0.js.map} +1 -1
  121. package/dist/{icon-xz9CZ_mu.cjs → icon-J11blFZq.cjs} +2 -2
  122. package/dist/{icon-xz9CZ_mu.cjs.map → icon-J11blFZq.cjs.map} +1 -1
  123. package/dist/{icon-button-JyplFXpv.js → icon-button-Cwm3vcDO.js} +3 -3
  124. package/dist/{icon-button-JyplFXpv.js.map → icon-button-Cwm3vcDO.js.map} +1 -1
  125. package/dist/{icon-button-BcPw-g5w.cjs → icon-button-DjfEYUdj.cjs} +2 -2
  126. package/dist/{icon-button-BcPw-g5w.cjs.map → icon-button-DjfEYUdj.cjs.map} +1 -1
  127. package/dist/icons.cjs +1 -1
  128. package/dist/icons.js +1 -1
  129. package/dist/index.cjs +1 -1
  130. package/dist/index.js +81 -80
  131. package/dist/{input-2zKUZ1FS.js → input-DO5pS6fE.js} +3 -3
  132. package/dist/{input-2zKUZ1FS.js.map → input-DO5pS6fE.js.map} +1 -1
  133. package/dist/{input-BmfUDPMe.cjs → input-DbzpwrUh.cjs} +2 -2
  134. package/dist/{input-BmfUDPMe.cjs.map → input-DbzpwrUh.cjs.map} +1 -1
  135. package/dist/{input-chip-DCFE2das.cjs → input-chip-CBJxQ2MI.cjs} +2 -2
  136. package/dist/{input-chip-DCFE2das.cjs.map → input-chip-CBJxQ2MI.cjs.map} +1 -1
  137. package/dist/{input-chip-B5iaq1Pp.js → input-chip-CXZTmfwT.js} +2 -2
  138. package/dist/{input-chip-B5iaq1Pp.js.map → input-chip-CXZTmfwT.js.map} +1 -1
  139. package/dist/input.cjs +1 -1
  140. package/dist/input.js +1 -1
  141. package/dist/layout.cjs +1 -1
  142. package/dist/layout.js +1 -1
  143. package/dist/{list-DjsP1jdt.cjs → list-C7wTsdkZ.cjs} +2 -2
  144. package/dist/{list-DjsP1jdt.cjs.map → list-C7wTsdkZ.cjs.map} +1 -1
  145. package/dist/{list-Xn46Y9a6.js → list-Cbrv1Y7B.js} +2 -2
  146. package/dist/{list-Xn46Y9a6.js.map → list-Cbrv1Y7B.js.map} +1 -1
  147. package/dist/list.cjs +1 -1
  148. package/dist/list.js +1 -1
  149. package/dist/{litElement.mixin-2hXm33ge.cjs → litElement.mixin-Dlq4PNEh.cjs} +2 -2
  150. package/dist/{litElement.mixin-2hXm33ge.cjs.map → litElement.mixin-Dlq4PNEh.cjs.map} +1 -1
  151. package/dist/{litElement.mixin-CG9mrwt1.js → litElement.mixin-DwXXrxwO.js} +2 -2
  152. package/dist/{litElement.mixin-CG9mrwt1.js.map → litElement.mixin-DwXXrxwO.js.map} +1 -1
  153. package/dist/mailbox.cjs +1 -1
  154. package/dist/mailbox.js +1 -1
  155. package/dist/{map-DNcXVi-U.js → map-6p1rwGq_.js} +2 -2
  156. package/dist/{map-DNcXVi-U.js.map → map-6p1rwGq_.js.map} +1 -1
  157. package/dist/{map-CeF1uvkL.cjs → map-B3Ond3EJ.cjs} +2 -2
  158. package/dist/{map-CeF1uvkL.cjs.map → map-B3Ond3EJ.cjs.map} +1 -1
  159. package/dist/map.cjs +1 -1
  160. package/dist/map.js +1 -1
  161. package/dist/{media-BjeuyEOk.js → media-8qL5J_9U.js} +2 -2
  162. package/dist/{media-BjeuyEOk.js.map → media-8qL5J_9U.js.map} +1 -1
  163. package/dist/{media-CvDQHokK.cjs → media-urvTQuhG.cjs} +2 -2
  164. package/dist/{media-CvDQHokK.cjs.map → media-urvTQuhG.cjs.map} +1 -1
  165. package/dist/{menu-w7kvbTtD.cjs → menu-CAqcdA-t.cjs} +2 -2
  166. package/dist/{menu-w7kvbTtD.cjs.map → menu-CAqcdA-t.cjs.map} +1 -1
  167. package/dist/{menu-KGnj0Kh6.js → menu-DqPjhh0F.js} +3 -3
  168. package/dist/{menu-KGnj0Kh6.js.map → menu-DqPjhh0F.js.map} +1 -1
  169. package/dist/menu.cjs +1 -1
  170. package/dist/menu.js +1 -1
  171. package/dist/nav-drawer.cjs +1 -1
  172. package/dist/nav-drawer.js +1 -1
  173. package/dist/navigation-bar.cjs +1 -1
  174. package/dist/navigation-bar.js +1 -1
  175. package/dist/{navigation-rail-BMDyS7wp.js → navigation-rail-B1JZU-E_.js} +3 -3
  176. package/dist/{navigation-rail-BMDyS7wp.js.map → navigation-rail-B1JZU-E_.js.map} +1 -1
  177. package/dist/{navigation-rail-B9TwnugR.cjs → navigation-rail-G9DFyu8b.cjs} +2 -2
  178. package/dist/{navigation-rail-B9TwnugR.cjs.map → navigation-rail-G9DFyu8b.cjs.map} +1 -1
  179. package/dist/navigation-rail.cjs +1 -1
  180. package/dist/navigation-rail.js +1 -1
  181. package/dist/{notification-service-DqHFQxSc.js → notification-service-C2FCNL6K.js} +4 -4
  182. package/dist/{notification-service-DqHFQxSc.js.map → notification-service-C2FCNL6K.js.map} +1 -1
  183. package/dist/{notification-service-D82nyl-G.cjs → notification-service-D2iAqL5y.cjs} +2 -2
  184. package/dist/{notification-service-D82nyl-G.cjs.map → notification-service-D2iAqL5y.cjs.map} +1 -1
  185. package/dist/notification.cjs +1 -1
  186. package/dist/notification.js +2 -2
  187. package/dist/{notify-Dye22W7R.cjs → notify-CGUpuJK_.cjs} +2 -2
  188. package/dist/{notify-Dye22W7R.cjs.map → notify-CGUpuJK_.cjs.map} +1 -1
  189. package/dist/{notify-DxrhioDZ.js → notify-CXgvep0J.js} +2 -2
  190. package/dist/{notify-DxrhioDZ.js.map → notify-CXgvep0J.js.map} +1 -1
  191. package/dist/{option-DGmRpFZ7.js → option-CWqav-ae.js} +2 -2
  192. package/dist/{option-DGmRpFZ7.js.map → option-CWqav-ae.js.map} +1 -1
  193. package/dist/{option-CxCwCg-Q.cjs → option-D8qnpwBr.cjs} +2 -2
  194. package/dist/{option-CxCwCg-Q.cjs.map → option-D8qnpwBr.cjs.map} +1 -1
  195. package/dist/option.cjs +1 -1
  196. package/dist/option.js +1 -1
  197. package/dist/{payment-card-form-DC6KZQqx.js → payment-card-form-09YuBc3U.js} +3 -3
  198. package/dist/{payment-card-form-DC6KZQqx.js.map → payment-card-form-09YuBc3U.js.map} +1 -1
  199. package/dist/{payment-card-form-EiPNKSMh.cjs → payment-card-form-pQBAeXvc.cjs} +2 -2
  200. package/dist/{payment-card-form-EiPNKSMh.cjs.map → payment-card-form-pQBAeXvc.cjs.map} +1 -1
  201. package/dist/{progress-D-O06EpC.js → progress-BLRwJ_un.js} +2 -2
  202. package/dist/{progress-D-O06EpC.js.map → progress-BLRwJ_un.js.map} +1 -1
  203. package/dist/{progress-B0RlHca-.cjs → progress-nWFc1Ixd.cjs} +2 -2
  204. package/dist/{progress-B0RlHca-.cjs.map → progress-nWFc1Ixd.cjs.map} +1 -1
  205. package/dist/progress.cjs +1 -1
  206. package/dist/progress.js +1 -1
  207. package/dist/{radio-button-BXt83EFW.js → radio-button-BC0Of2-G.js} +3 -3
  208. package/dist/{radio-button-BXt83EFW.js.map → radio-button-BC0Of2-G.js.map} +1 -1
  209. package/dist/{radio-button-Ca8dstJu.cjs → radio-button-DIjkirPr.cjs} +2 -2
  210. package/dist/{radio-button-Ca8dstJu.cjs.map → radio-button-DIjkirPr.cjs.map} +1 -1
  211. package/dist/radio-group.cjs +1 -1
  212. package/dist/radio-group.js +1 -1
  213. package/dist/{schmancy-steps-container-D-FJPDYf.cjs → schmancy-steps-container-B8B2ZnTB.cjs} +2 -2
  214. package/dist/{schmancy-steps-container-D-FJPDYf.cjs.map → schmancy-steps-container-B8B2ZnTB.cjs.map} +1 -1
  215. package/dist/{schmancy-steps-container-CbKdQNpF.js → schmancy-steps-container-Sf8RjF0N.js} +2 -2
  216. package/dist/{schmancy-steps-container-CbKdQNpF.js.map → schmancy-steps-container-Sf8RjF0N.js.map} +1 -1
  217. package/dist/{select-Cxp_CwfI.js → select-C6QlML9m.js} +3 -3
  218. package/dist/{select-Cxp_CwfI.js.map → select-C6QlML9m.js.map} +1 -1
  219. package/dist/{select-HU7uyxZf.cjs → select-CqlN3vWr.cjs} +2 -2
  220. package/dist/{select-HU7uyxZf.cjs.map → select-CqlN3vWr.cjs.map} +1 -1
  221. package/dist/select.cjs +1 -1
  222. package/dist/select.js +1 -1
  223. package/dist/{sheet-Dl9rh6eh.cjs → sheet-D6yxukD7.cjs} +2 -2
  224. package/dist/{sheet-Dl9rh6eh.cjs.map → sheet-D6yxukD7.cjs.map} +1 -1
  225. package/dist/{sheet-CI2M5fbX.js → sheet-Dxx7iH9V.js} +3 -3
  226. package/dist/{sheet-CI2M5fbX.js.map → sheet-Dxx7iH9V.js.map} +1 -1
  227. package/dist/sheet.cjs +1 -1
  228. package/dist/sheet.js +1 -1
  229. package/dist/{slider-DJYIoiKc.cjs → slider-BGgXG44k.cjs} +2 -2
  230. package/dist/{slider-DJYIoiKc.cjs.map → slider-BGgXG44k.cjs.map} +1 -1
  231. package/dist/{slider-CGr2q_2b.js → slider-BIjiRBMB.js} +3 -3
  232. package/dist/{slider-CGr2q_2b.js.map → slider-BIjiRBMB.js.map} +1 -1
  233. package/dist/slider.cjs +1 -1
  234. package/dist/slider.js +1 -1
  235. package/dist/{spinner-CcH_nIFs.cjs → spinner-CFx3p13n.cjs} +2 -2
  236. package/dist/{spinner-CcH_nIFs.cjs.map → spinner-CFx3p13n.cjs.map} +1 -1
  237. package/dist/{spinner-Cz4_OpDu.js → spinner-D8IKqMrW.js} +2 -2
  238. package/dist/{spinner-Cz4_OpDu.js.map → spinner-D8IKqMrW.js.map} +1 -1
  239. package/dist/steps.cjs +1 -1
  240. package/dist/steps.js +1 -1
  241. package/dist/{suggestion-chip-Cyjqp-lh.js → suggestion-chip-DHpWcimf.js} +3 -3
  242. package/dist/{suggestion-chip-Cyjqp-lh.js.map → suggestion-chip-DHpWcimf.js.map} +1 -1
  243. package/dist/{suggestion-chip-HKN89tGp.cjs → suggestion-chip-KkPIwkYP.cjs} +2 -2
  244. package/dist/{suggestion-chip-HKN89tGp.cjs.map → suggestion-chip-KkPIwkYP.cjs.map} +1 -1
  245. package/dist/{surface-DNDo9GvN.js → surface-CkSAxbh2.js} +2 -2
  246. package/dist/{surface-DNDo9GvN.js.map → surface-CkSAxbh2.js.map} +1 -1
  247. package/dist/{surface-bwIB0iXd.cjs → surface-pMQpuZWM.cjs} +2 -2
  248. package/dist/{surface-bwIB0iXd.cjs.map → surface-pMQpuZWM.cjs.map} +1 -1
  249. package/dist/surface.cjs +1 -1
  250. package/dist/surface.js +1 -1
  251. package/dist/{table-9rRK6gzm.js → table-BgQCOk5g.js} +2 -2
  252. package/dist/{table-9rRK6gzm.js.map → table-BgQCOk5g.js.map} +1 -1
  253. package/dist/{table-TN1ejwp9.cjs → table-CVHtS_w_.cjs} +2 -2
  254. package/dist/{table-TN1ejwp9.cjs.map → table-CVHtS_w_.cjs.map} +1 -1
  255. package/dist/table.cjs +1 -1
  256. package/dist/table.js +1 -1
  257. package/dist/{tabs-compatibility-D7gReL6x.js → tabs-compatibility-BCtEpyN5.js} +2 -2
  258. package/dist/{tabs-compatibility-D7gReL6x.js.map → tabs-compatibility-BCtEpyN5.js.map} +1 -1
  259. package/dist/{tabs-compatibility-8J1-XOVC.cjs → tabs-compatibility-w2lmMs2h.cjs} +2 -2
  260. package/dist/{tabs-compatibility-8J1-XOVC.cjs.map → tabs-compatibility-w2lmMs2h.cjs.map} +1 -1
  261. package/dist/tabs.cjs +1 -1
  262. package/dist/tabs.js +1 -1
  263. package/dist/tailwind.mixin-Be9DoonS.js +64 -0
  264. package/dist/{tailwind.mixin-Di9OJku4.js.map → tailwind.mixin-Be9DoonS.js.map} +1 -1
  265. package/dist/tailwind.mixin-Bz_Bv8SX.cjs +2 -0
  266. package/dist/{tailwind.mixin-DLCFOKfg.cjs.map → tailwind.mixin-Bz_Bv8SX.cjs.map} +1 -1
  267. package/dist/teleport.cjs +1 -1
  268. package/dist/teleport.js +1 -1
  269. package/dist/{textarea-C7UG4uqi.cjs → textarea-BRI0tufi.cjs} +2 -2
  270. package/dist/{textarea-C7UG4uqi.cjs.map → textarea-BRI0tufi.cjs.map} +1 -1
  271. package/dist/{textarea-POrLBTqt.js → textarea-DBc8Uh7D.js} +2 -2
  272. package/dist/{textarea-POrLBTqt.js.map → textarea-DBc8Uh7D.js.map} +1 -1
  273. package/dist/textarea.cjs +1 -1
  274. package/dist/textarea.js +1 -1
  275. package/dist/{theme-button-D52HSty3.js → theme-button-DCYQYmF-.js} +2 -2
  276. package/dist/{theme-button-D52HSty3.js.map → theme-button-DCYQYmF-.js.map} +1 -1
  277. package/dist/{theme-button-D2mrc8sK.cjs → theme-button-DXCpzc5c.cjs} +2 -2
  278. package/dist/{theme-button-D2mrc8sK.cjs.map → theme-button-DXCpzc5c.cjs.map} +1 -1
  279. package/dist/theme-button.cjs +1 -1
  280. package/dist/theme-button.js +1 -1
  281. package/dist/theme-controller-boat-DMspZeYf.cjs +64 -0
  282. package/dist/theme-controller-boat-DMspZeYf.cjs.map +1 -0
  283. package/dist/{theme.controls-AhYhEp6P.js → theme-controller-boat-DYGa2z20.js} +224 -222
  284. package/dist/theme-controller-boat-DYGa2z20.js.map +1 -0
  285. package/dist/theme.cjs +1 -1
  286. package/dist/theme.js +12 -11
  287. package/dist/{timezone-CC6AlVL7.js → timezone-Atm5Dy-B.js} +3 -3
  288. package/dist/{timezone-CC6AlVL7.js.map → timezone-Atm5Dy-B.js.map} +1 -1
  289. package/dist/{timezone-DqF1M2SX.cjs → timezone-BQaIFLiV.cjs} +2 -2
  290. package/dist/{timezone-DqF1M2SX.cjs.map → timezone-BQaIFLiV.cjs.map} +1 -1
  291. package/dist/{tooltip-BGPFn2fD.js → tooltip-C-PhMMvT.js} +2 -2
  292. package/dist/{tooltip-BGPFn2fD.js.map → tooltip-C-PhMMvT.js.map} +1 -1
  293. package/dist/{tooltip-CBSejhMv.cjs → tooltip-SBsMu8ZQ.cjs} +2 -2
  294. package/dist/{tooltip-CBSejhMv.cjs.map → tooltip-SBsMu8ZQ.cjs.map} +1 -1
  295. package/dist/tooltip.cjs +1 -1
  296. package/dist/tooltip.js +1 -1
  297. package/dist/{tree-Deu4d4cq.js → tree-BagJ6dD2.js} +2 -2
  298. package/dist/{tree-Deu4d4cq.js.map → tree-BagJ6dD2.js.map} +1 -1
  299. package/dist/{tree-D-qdyKrr.cjs → tree-j0lH3CZh.cjs} +2 -2
  300. package/dist/{tree-D-qdyKrr.cjs.map → tree-j0lH3CZh.cjs.map} +1 -1
  301. package/dist/tree.cjs +1 -1
  302. package/dist/tree.js +1 -1
  303. package/dist/{typewriter-eHMm0feA.cjs → typewriter-BawsYtHa.cjs} +2 -2
  304. package/dist/{typewriter-eHMm0feA.cjs.map → typewriter-BawsYtHa.cjs.map} +1 -1
  305. package/dist/{typewriter-Bs3Z9Zt3.js → typewriter-BjiolWBJ.js} +4 -4
  306. package/dist/{typewriter-Bs3Z9Zt3.js.map → typewriter-BjiolWBJ.js.map} +1 -1
  307. package/dist/typewriter.cjs +1 -1
  308. package/dist/typewriter.js +1 -1
  309. package/dist/{typography-C-BgyYZO.cjs → typography-Bk9jOEtx.cjs} +2 -2
  310. package/dist/{typography-C-BgyYZO.cjs.map → typography-Bk9jOEtx.cjs.map} +1 -1
  311. package/dist/{typography-Dl9Avhco.js → typography-CyDDUJ9J.js} +2 -2
  312. package/dist/{typography-Dl9Avhco.js.map → typography-CyDDUJ9J.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/theme/index.d.ts +2 -1
  317. package/types/src/theme/theme-controller-boat.d.ts +29 -0
  318. package/types/src/theme/theme-controller.d.ts +49 -0
  319. package/dist/tailwind.mixin-DLCFOKfg.cjs +0 -2
  320. package/dist/tailwind.mixin-Di9OJku4.js +0 -64
  321. package/dist/theme.controls-AhYhEp6P.js.map +0 -1
  322. package/dist/theme.controls-g1RRbUfh.cjs +0 -67
  323. package/dist/theme.controls-g1RRbUfh.cjs.map +0 -1
  324. package/types/src/theme/theme.controls.d.ts +0 -27
package/ai/theme.md CHANGED
@@ -126,33 +126,53 @@ theme.watchCSSVariable('color-primary').subscribe(color => {
126
126
  })
127
127
  ```
128
128
 
129
- ## Theme Controls Component
129
+ ## Theme Controller Components
130
130
 
131
- Ready-to-use UI component for complete theme control:
131
+ Two theme controller components are available:
132
+
133
+ ### 1. Standalone Theme Controller
134
+ Embeddable theme controls for integration into settings panels:
135
+
136
+ ```html
137
+ <schmancy-theme-controller
138
+ .customColors=${[
139
+ { name: 'Brand Blue', value: '#1976D2', category: 'primary' },
140
+ { name: 'Brand Red', value: '#D32F2F', category: 'accent' }
141
+ ]}
142
+ ></schmancy-theme-controller>
143
+ ```
144
+
145
+ ### 2. BOAT UX Theme Controller
146
+ Floating, draggable theme control panel:
132
147
 
133
148
  ```html
134
- <schmancy-theme-controls
135
- .customColors=${['#6750A4', '#0061A4', '#006E1C']}
136
- ></schmancy-theme-controls>
149
+ <schmancy-theme-controller-boat
150
+ .customColors=${[
151
+ { name: 'Ocean', value: '#006994', category: 'primary' },
152
+ { name: 'Sunset', value: '#FF6B35', category: 'accent' }
153
+ ]}
154
+ ></schmancy-theme-controller-boat>
137
155
  ```
138
156
 
139
157
  ### Features
140
158
  - **Color Picker**: Visual color selection with debounced input
141
159
  - **Scheme Toggle**: Beautiful icons for light/dark/auto modes
142
160
  - **Random Color**: Generate random theme colors
143
- - **Custom Presets**: Define your own color palette
161
+ - **Custom Presets**: Define your own color palette with categories
144
162
 
145
163
  ### Implementation Example
146
164
  ```typescript
147
- import '@schmancy/theme-controls'
165
+ import '@schmancy/theme-controller'
166
+ // or
167
+ import '@schmancy/theme-controller-boat'
148
168
 
149
169
  @customElement('my-settings')
150
170
  export class MySettings extends $LitElement() {
151
171
  private brandColors = [
152
- '#6750A4', // Brand primary
153
- '#0061A4', // Brand secondary
154
- '#006E1C', // Brand success
155
- '#BA1B1B' // Brand error
172
+ { name: 'Brand Primary', value: '#6750A4', category: 'primary' },
173
+ { name: 'Brand Secondary', value: '#0061A4', category: 'secondary' },
174
+ { name: 'Brand Success', value: '#006E1C', category: 'accent' },
175
+ { name: 'Brand Error', value: '#BA1B1B', category: 'accent' }
156
176
  ]
157
177
 
158
178
  render() {
@@ -162,9 +182,9 @@ export class MySettings extends $LitElement() {
162
182
  Theme Settings
163
183
  </schmancy-typography>
164
184
 
165
- <schmancy-theme-controls
185
+ <schmancy-theme-controller
166
186
  .customColors=${this.brandColors}
167
- ></schmancy-theme-controls>
187
+ ></schmancy-theme-controller>
168
188
  </schmancy-surface>
169
189
  `
170
190
  }
package/dist/ai/theme.md CHANGED
@@ -126,33 +126,53 @@ theme.watchCSSVariable('color-primary').subscribe(color => {
126
126
  })
127
127
  ```
128
128
 
129
- ## Theme Controls Component
129
+ ## Theme Controller Components
130
130
 
131
- Ready-to-use UI component for complete theme control:
131
+ Two theme controller components are available:
132
+
133
+ ### 1. Standalone Theme Controller
134
+ Embeddable theme controls for integration into settings panels:
135
+
136
+ ```html
137
+ <schmancy-theme-controller
138
+ .customColors=${[
139
+ { name: 'Brand Blue', value: '#1976D2', category: 'primary' },
140
+ { name: 'Brand Red', value: '#D32F2F', category: 'accent' }
141
+ ]}
142
+ ></schmancy-theme-controller>
143
+ ```
144
+
145
+ ### 2. BOAT UX Theme Controller
146
+ Floating, draggable theme control panel:
132
147
 
133
148
  ```html
134
- <schmancy-theme-controls
135
- .customColors=${['#6750A4', '#0061A4', '#006E1C']}
136
- ></schmancy-theme-controls>
149
+ <schmancy-theme-controller-boat
150
+ .customColors=${[
151
+ { name: 'Ocean', value: '#006994', category: 'primary' },
152
+ { name: 'Sunset', value: '#FF6B35', category: 'accent' }
153
+ ]}
154
+ ></schmancy-theme-controller-boat>
137
155
  ```
138
156
 
139
157
  ### Features
140
158
  - **Color Picker**: Visual color selection with debounced input
141
159
  - **Scheme Toggle**: Beautiful icons for light/dark/auto modes
142
160
  - **Random Color**: Generate random theme colors
143
- - **Custom Presets**: Define your own color palette
161
+ - **Custom Presets**: Define your own color palette with categories
144
162
 
145
163
  ### Implementation Example
146
164
  ```typescript
147
- import '@schmancy/theme-controls'
165
+ import '@schmancy/theme-controller'
166
+ // or
167
+ import '@schmancy/theme-controller-boat'
148
168
 
149
169
  @customElement('my-settings')
150
170
  export class MySettings extends $LitElement() {
151
171
  private brandColors = [
152
- '#6750A4', // Brand primary
153
- '#0061A4', // Brand secondary
154
- '#006E1C', // Brand success
155
- '#BA1B1B' // Brand error
172
+ { name: 'Brand Primary', value: '#6750A4', category: 'primary' },
173
+ { name: 'Brand Secondary', value: '#0061A4', category: 'secondary' },
174
+ { name: 'Brand Success', value: '#006E1C', category: 'accent' },
175
+ { name: 'Brand Error', value: '#BA1B1B', category: 'accent' }
156
176
  ]
157
177
 
158
178
  render() {
@@ -162,9 +182,9 @@ export class MySettings extends $LitElement() {
162
182
  Theme Settings
163
183
  </schmancy-typography>
164
184
 
165
- <schmancy-theme-controls
185
+ <schmancy-theme-controller
166
186
  .customColors=${this.brandColors}
167
- ></schmancy-theme-controls>
187
+ ></schmancy-theme-controller>
168
188
  </schmancy-surface>
169
189
  `
170
190
  }
@@ -3,8 +3,8 @@ import "rxjs/operators";
3
3
  import "lit/directives/class-map.js";
4
4
  import "lit/directives/style-map.js";
5
5
  import { property as a, queryAssignedNodes as x, query as m, customElement as S } from "lit/decorators.js";
6
- import "./tailwind.mixin-Di9OJku4.js";
7
- import { $ as Z } from "./litElement.mixin-CG9mrwt1.js";
6
+ import "./tailwind.mixin-Be9DoonS.js";
7
+ import { $ as Z } from "./litElement.mixin-DwXXrxwO.js";
8
8
  import { css as v, html as A } from "lit";
9
9
  var E = Object.defineProperty, O = Object.getOwnPropertyDescriptor, e = (r, s, n, i) => {
10
10
  for (var l, o = i > 1 ? void 0 : i ? O(s, n) : s, p = r.length - 1; p >= 0; p--) (l = r[p]) && (o = (i ? l(s, n, o) : l(o)) || o);
@@ -73,4 +73,4 @@ let t = class extends Z(v`
73
73
  }
74
74
  };
75
75
  e([a({ type: String })], t.prototype, "ease", 2), e([a({ type: Number })], t.prototype, "delay", 2), e([a({ type: Number })], t.prototype, "stagger", 2), e([a({ type: Number })], t.prototype, "duration", 2), e([a({ type: Array })], t.prototype, "scale", 2), e([a({ type: Array })], t.prototype, "opacity", 2), e([a({ type: Array })], t.prototype, "translateX", 2), e([a({ type: Array })], t.prototype, "translateY", 2), e([a({ type: Array })], t.prototype, "translateZ", 2), e([a({ type: Array })], t.prototype, "rotateZ", 2), e([a({ type: Boolean })], t.prototype, "resetOnScroll", 2), e([x()], t.prototype, "defaultSlot", 2), e([m(".letters")], t.prototype, "letters", 2), e([m(".ml7")], t.prototype, "ml7", 2), t = e([S("schmancy-animated-text")], t);
76
- //# sourceMappingURL=animated-text-Csa12CPb.js.map
76
+ //# sourceMappingURL=animated-text-CPA937x-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"animated-text-Csa12CPb.js","sources":["../src/animated-text/animated-text.ts"],"sourcesContent":["// Removed: import { createTimeline, stagger } from '@packages/anime-beta-master'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport {\n\tconcat,\n\tdistinctUntilChanged,\n\tfilter,\n\tfromEvent,\n\tinterval,\n\tmap,\n\tstartWith,\n\ttake,\n\ttap,\n\tthrottleTime,\n} from 'rxjs'\n\n/**\n * @element schmancy-animated-text\n * Inspired by https://tobiasahlin.com/moving-letters/#1\n */\n@customElement('schmancy-animated-text')\nexport default class SchmancyAnimatedText extends $LitElement(css`\n\t:host {\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t}\n\t.ml7 {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t}\n\t.ml7 .text-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\toverflow: hidden;\n\t}\n\t.ml7 .letter {\n\t\ttransform-origin: 0 100%;\n\t\tdisplay: inline-block;\n\t\topacity: 0;\n\t}\n`) {\n\t@property({ type: String }) ease = 'outExpo' // not a built-in string for Web Animations\n\t@property({ type: Number }) delay = 0\n\t@property({ type: Number }) stagger = 50\n\t@property({ type: Number }) duration = 750\n\t@property({ type: Array }) scale = [0, 1]\n\t@property({ type: Array }) opacity = [0, 1]\n\t@property({ type: Array }) translateX = ['0.55em', '0em']\n\t@property({ type: Array }) translateY = ['1.1em', '0em']\n\t@property({ type: Array }) translateZ = [0, 0]\n\t@property({ type: Array }) rotateZ = [180, 0]\n\t@property({ type: Boolean }) resetOnScroll = true\n\n\t@queryAssignedNodes() defaultSlot!: HTMLElement[]\n\t@query('.letters') letters!: HTMLElement\n\t@query('.ml7') ml7!: HTMLElement\n\n\t// Function to check if an element is in the viewport\n\tisInViewport(element: HTMLElement) {\n\t\tconst rect = element.getBoundingClientRect()\n\t\treturn (\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t)\n\t}\n\n\tasync firstUpdated() {\n\t\t// Split the text into <span class=\"letter\"> ... </span> elements\n\t\tthis.letters.innerHTML = this.defaultSlot[0].textContent!.replace(/\\S/g, `<span class=\"letter\">$&</span>`)\n\n\t\t// Observe viewport + initial readiness\n\t\tconcat(\n\t\t\t// 1) Wait until the element is rendered (width/height > 0)\n\t\t\tinterval(10).pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tfilter(() => {\n\t\t\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\t\t\treturn rect.width > 0 && rect.height > 0\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Then handle scroll events, throttled\n\t\t\tfromEvent(window, 'scroll').pipe(\n\t\t\t\tthrottleTime(0, undefined, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => this.isInViewport(this)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(inViewport => {\n\t\t\t\t\t// If leaving viewport and `resetOnScroll` is true, reset letters to opacity 0\n\t\t\t\t\tif (!inViewport && this.resetOnScroll) {\n\t\t\t\t\t\tArray.from(this.letters.children).forEach((letter: HTMLElement) => {\n\t\t\t\t\t\t\tletter.style.opacity = '0'\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tfilter(isInViewport => isInViewport),\n\t\t\t\t// If resetOnScroll = false, animate only the first time inView. If true, repeat.\n\t\t\t\tthis.resetOnScroll ? tap() : take(1),\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\t// Animate letters with the native Web Animations API\n\t\t\t\t\t\tconst letters = this.shadowRoot!.querySelectorAll<HTMLElement>('.ml7 .letter')\n\n\t\t\t\t\t\tletters.forEach((letter, i) => {\n\t\t\t\t\t\t\t// Combine all transforms into one CSS transform string\n\t\t\t\t\t\t\t// From\n\t\t\t\t\t\t\tconst fromTransform = `\n translate3d(${this.translateX[0]}, ${this.translateY[0]}, ${this.translateZ[0]}px)\n rotateZ(${this.rotateZ[0]}deg)\n scale(${this.scale[0]})\n `\n\t\t\t\t\t\t\t// To\n\t\t\t\t\t\t\tconst toTransform = `\n translate3d(${this.translateX[1]}, ${this.translateY[1]}, ${this.translateZ[1]}px)\n rotateZ(${this.rotateZ[1]}deg)\n scale(${this.scale[1]})\n `\n\t\t\t\t\t\t\t// Approximate `outExpo` or pick a standard easing (like 'ease-out'):\n\t\t\t\t\t\t\t// outExpo often approximated by cubic-bezier(0.19, 1, 0.22, 1)\n\t\t\t\t\t\t\tconst easingMap: Record<string, string> = {\n\t\t\t\t\t\t\t\toutExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n\t\t\t\t\t\t\t\t// add more if you want\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst keyframes: Keyframe[] = [\n\t\t\t\t\t\t\t\t{ transform: fromTransform, opacity: String(this.opacity[0]) },\n\t\t\t\t\t\t\t\t{ transform: toTransform, opacity: String(this.opacity[1]) },\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\tletter.animate(keyframes, {\n\t\t\t\t\t\t\t\tduration: this.duration,\n\t\t\t\t\t\t\t\teasing: easingMap[this.ease] || 'ease-out',\n\t\t\t\t\t\t\t\tdelay: this.delay + i * this.stagger, // staggered start\n\t\t\t\t\t\t\t\tfill: 'forwards', // so the letters remain visible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<span class=\"ml7\">\n\t\t\t\t<span class=\"text-wrapper\">\n\t\t\t\t\t<span class=\"letters\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-animated-text': SchmancyAnimatedText\n\t}\n}\n"],"names":["SchmancyAnimatedText","$LitElement","css","constructor","super","arguments","this","ease","delay","stagger","duration","scale","opacity","translateX","translateY","translateZ","rotateZ","resetOnScroll","element","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","firstUpdated","letters","innerHTML","defaultSlot","textContent","replace","concat","interval","pipe","startWith","filter","width","height","take","fromEvent","throttleTime","leading","trailing","map","isInViewport","distinctUntilChanged","tap","inViewport","Array","from","children","forEach","letter","style","next","shadowRoot","querySelectorAll","i","fromTransform","toTransform","keyframes","transform","String","animate","easing","outExpo","fill","subscribe","render","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"animated-text-CPA937x-.js","sources":["../src/animated-text/animated-text.ts"],"sourcesContent":["// Removed: import { createTimeline, stagger } from '@packages/anime-beta-master'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport {\n\tconcat,\n\tdistinctUntilChanged,\n\tfilter,\n\tfromEvent,\n\tinterval,\n\tmap,\n\tstartWith,\n\ttake,\n\ttap,\n\tthrottleTime,\n} from 'rxjs'\n\n/**\n * @element schmancy-animated-text\n * Inspired by https://tobiasahlin.com/moving-letters/#1\n */\n@customElement('schmancy-animated-text')\nexport default class SchmancyAnimatedText extends $LitElement(css`\n\t:host {\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t}\n\t.ml7 {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t}\n\t.ml7 .text-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\toverflow: hidden;\n\t}\n\t.ml7 .letter {\n\t\ttransform-origin: 0 100%;\n\t\tdisplay: inline-block;\n\t\topacity: 0;\n\t}\n`) {\n\t@property({ type: String }) ease = 'outExpo' // not a built-in string for Web Animations\n\t@property({ type: Number }) delay = 0\n\t@property({ type: Number }) stagger = 50\n\t@property({ type: Number }) duration = 750\n\t@property({ type: Array }) scale = [0, 1]\n\t@property({ type: Array }) opacity = [0, 1]\n\t@property({ type: Array }) translateX = ['0.55em', '0em']\n\t@property({ type: Array }) translateY = ['1.1em', '0em']\n\t@property({ type: Array }) translateZ = [0, 0]\n\t@property({ type: Array }) rotateZ = [180, 0]\n\t@property({ type: Boolean }) resetOnScroll = true\n\n\t@queryAssignedNodes() defaultSlot!: HTMLElement[]\n\t@query('.letters') letters!: HTMLElement\n\t@query('.ml7') ml7!: HTMLElement\n\n\t// Function to check if an element is in the viewport\n\tisInViewport(element: HTMLElement) {\n\t\tconst rect = element.getBoundingClientRect()\n\t\treturn (\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t)\n\t}\n\n\tasync firstUpdated() {\n\t\t// Split the text into <span class=\"letter\"> ... </span> elements\n\t\tthis.letters.innerHTML = this.defaultSlot[0].textContent!.replace(/\\S/g, `<span class=\"letter\">$&</span>`)\n\n\t\t// Observe viewport + initial readiness\n\t\tconcat(\n\t\t\t// 1) Wait until the element is rendered (width/height > 0)\n\t\t\tinterval(10).pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tfilter(() => {\n\t\t\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\t\t\treturn rect.width > 0 && rect.height > 0\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Then handle scroll events, throttled\n\t\t\tfromEvent(window, 'scroll').pipe(\n\t\t\t\tthrottleTime(0, undefined, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => this.isInViewport(this)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(inViewport => {\n\t\t\t\t\t// If leaving viewport and `resetOnScroll` is true, reset letters to opacity 0\n\t\t\t\t\tif (!inViewport && this.resetOnScroll) {\n\t\t\t\t\t\tArray.from(this.letters.children).forEach((letter: HTMLElement) => {\n\t\t\t\t\t\t\tletter.style.opacity = '0'\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tfilter(isInViewport => isInViewport),\n\t\t\t\t// If resetOnScroll = false, animate only the first time inView. If true, repeat.\n\t\t\t\tthis.resetOnScroll ? tap() : take(1),\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\t// Animate letters with the native Web Animations API\n\t\t\t\t\t\tconst letters = this.shadowRoot!.querySelectorAll<HTMLElement>('.ml7 .letter')\n\n\t\t\t\t\t\tletters.forEach((letter, i) => {\n\t\t\t\t\t\t\t// Combine all transforms into one CSS transform string\n\t\t\t\t\t\t\t// From\n\t\t\t\t\t\t\tconst fromTransform = `\n translate3d(${this.translateX[0]}, ${this.translateY[0]}, ${this.translateZ[0]}px)\n rotateZ(${this.rotateZ[0]}deg)\n scale(${this.scale[0]})\n `\n\t\t\t\t\t\t\t// To\n\t\t\t\t\t\t\tconst toTransform = `\n translate3d(${this.translateX[1]}, ${this.translateY[1]}, ${this.translateZ[1]}px)\n rotateZ(${this.rotateZ[1]}deg)\n scale(${this.scale[1]})\n `\n\t\t\t\t\t\t\t// Approximate `outExpo` or pick a standard easing (like 'ease-out'):\n\t\t\t\t\t\t\t// outExpo often approximated by cubic-bezier(0.19, 1, 0.22, 1)\n\t\t\t\t\t\t\tconst easingMap: Record<string, string> = {\n\t\t\t\t\t\t\t\toutExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n\t\t\t\t\t\t\t\t// add more if you want\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst keyframes: Keyframe[] = [\n\t\t\t\t\t\t\t\t{ transform: fromTransform, opacity: String(this.opacity[0]) },\n\t\t\t\t\t\t\t\t{ transform: toTransform, opacity: String(this.opacity[1]) },\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\tletter.animate(keyframes, {\n\t\t\t\t\t\t\t\tduration: this.duration,\n\t\t\t\t\t\t\t\teasing: easingMap[this.ease] || 'ease-out',\n\t\t\t\t\t\t\t\tdelay: this.delay + i * this.stagger, // staggered start\n\t\t\t\t\t\t\t\tfill: 'forwards', // so the letters remain visible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<span class=\"ml7\">\n\t\t\t\t<span class=\"text-wrapper\">\n\t\t\t\t\t<span class=\"letters\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-animated-text': SchmancyAnimatedText\n\t}\n}\n"],"names":["SchmancyAnimatedText","$LitElement","css","constructor","super","arguments","this","ease","delay","stagger","duration","scale","opacity","translateX","translateY","translateZ","rotateZ","resetOnScroll","element","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","firstUpdated","letters","innerHTML","defaultSlot","textContent","replace","concat","interval","pipe","startWith","filter","width","height","take","fromEvent","throttleTime","leading","trailing","map","isInViewport","distinctUntilChanged","tap","inViewport","Array","from","children","forEach","letter","style","next","shadowRoot","querySelectorAll","i","fromTransform","toTransform","keyframes","transform","String","animate","easing","outExpo","fill","subscribe","render","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";const e=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const r=require("lit/decorators.js");require("./tailwind.mixin-DLCFOKfg.cjs");const h=require("./litElement.mixin-2hXm33ge.cjs"),c=require("lit");var d=Object.defineProperty,u=Object.getOwnPropertyDescriptor,s=(i,a,p,n)=>{for(var l,o=n>1?void 0:n?u(a,p):a,y=i.length-1;y>=0;y--)(l=i[y])&&(o=(n?l(a,p,o):l(o))||o);return n&&o&&d(a,p,o),o};let t=class extends h.$LitElement(c.css`
1
+ "use strict";const e=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const r=require("lit/decorators.js");require("./tailwind.mixin-Bz_Bv8SX.cjs");const h=require("./litElement.mixin-Dlq4PNEh.cjs"),c=require("lit");var d=Object.defineProperty,u=Object.getOwnPropertyDescriptor,s=(i,a,p,n)=>{for(var l,o=n>1?void 0:n?u(a,p):a,y=i.length-1;y>=0;y--)(l=i[y])&&(o=(n?l(a,p,o):l(o))||o);return n&&o&&d(a,p,o),o};let t=class extends h.$LitElement(c.css`
2
2
  :host {
3
3
  font-family: inherit;
4
4
  display: block;
@@ -34,4 +34,4 @@
34
34
  </span>
35
35
  </span>
36
36
  `}};s([r.property({type:String})],t.prototype,"ease",2),s([r.property({type:Number})],t.prototype,"delay",2),s([r.property({type:Number})],t.prototype,"stagger",2),s([r.property({type:Number})],t.prototype,"duration",2),s([r.property({type:Array})],t.prototype,"scale",2),s([r.property({type:Array})],t.prototype,"opacity",2),s([r.property({type:Array})],t.prototype,"translateX",2),s([r.property({type:Array})],t.prototype,"translateY",2),s([r.property({type:Array})],t.prototype,"translateZ",2),s([r.property({type:Array})],t.prototype,"rotateZ",2),s([r.property({type:Boolean})],t.prototype,"resetOnScroll",2),s([r.queryAssignedNodes()],t.prototype,"defaultSlot",2),s([r.query(".letters")],t.prototype,"letters",2),s([r.query(".ml7")],t.prototype,"ml7",2),t=s([r.customElement("schmancy-animated-text")],t);
37
- //# sourceMappingURL=animated-text-DXIDBlvH.cjs.map
37
+ //# sourceMappingURL=animated-text-Dr32Ckh7.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"animated-text-DXIDBlvH.cjs","sources":["../src/animated-text/animated-text.ts"],"sourcesContent":["// Removed: import { createTimeline, stagger } from '@packages/anime-beta-master'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport {\n\tconcat,\n\tdistinctUntilChanged,\n\tfilter,\n\tfromEvent,\n\tinterval,\n\tmap,\n\tstartWith,\n\ttake,\n\ttap,\n\tthrottleTime,\n} from 'rxjs'\n\n/**\n * @element schmancy-animated-text\n * Inspired by https://tobiasahlin.com/moving-letters/#1\n */\n@customElement('schmancy-animated-text')\nexport default class SchmancyAnimatedText extends $LitElement(css`\n\t:host {\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t}\n\t.ml7 {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t}\n\t.ml7 .text-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\toverflow: hidden;\n\t}\n\t.ml7 .letter {\n\t\ttransform-origin: 0 100%;\n\t\tdisplay: inline-block;\n\t\topacity: 0;\n\t}\n`) {\n\t@property({ type: String }) ease = 'outExpo' // not a built-in string for Web Animations\n\t@property({ type: Number }) delay = 0\n\t@property({ type: Number }) stagger = 50\n\t@property({ type: Number }) duration = 750\n\t@property({ type: Array }) scale = [0, 1]\n\t@property({ type: Array }) opacity = [0, 1]\n\t@property({ type: Array }) translateX = ['0.55em', '0em']\n\t@property({ type: Array }) translateY = ['1.1em', '0em']\n\t@property({ type: Array }) translateZ = [0, 0]\n\t@property({ type: Array }) rotateZ = [180, 0]\n\t@property({ type: Boolean }) resetOnScroll = true\n\n\t@queryAssignedNodes() defaultSlot!: HTMLElement[]\n\t@query('.letters') letters!: HTMLElement\n\t@query('.ml7') ml7!: HTMLElement\n\n\t// Function to check if an element is in the viewport\n\tisInViewport(element: HTMLElement) {\n\t\tconst rect = element.getBoundingClientRect()\n\t\treturn (\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t)\n\t}\n\n\tasync firstUpdated() {\n\t\t// Split the text into <span class=\"letter\"> ... </span> elements\n\t\tthis.letters.innerHTML = this.defaultSlot[0].textContent!.replace(/\\S/g, `<span class=\"letter\">$&</span>`)\n\n\t\t// Observe viewport + initial readiness\n\t\tconcat(\n\t\t\t// 1) Wait until the element is rendered (width/height > 0)\n\t\t\tinterval(10).pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tfilter(() => {\n\t\t\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\t\t\treturn rect.width > 0 && rect.height > 0\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Then handle scroll events, throttled\n\t\t\tfromEvent(window, 'scroll').pipe(\n\t\t\t\tthrottleTime(0, undefined, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => this.isInViewport(this)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(inViewport => {\n\t\t\t\t\t// If leaving viewport and `resetOnScroll` is true, reset letters to opacity 0\n\t\t\t\t\tif (!inViewport && this.resetOnScroll) {\n\t\t\t\t\t\tArray.from(this.letters.children).forEach((letter: HTMLElement) => {\n\t\t\t\t\t\t\tletter.style.opacity = '0'\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tfilter(isInViewport => isInViewport),\n\t\t\t\t// If resetOnScroll = false, animate only the first time inView. If true, repeat.\n\t\t\t\tthis.resetOnScroll ? tap() : take(1),\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\t// Animate letters with the native Web Animations API\n\t\t\t\t\t\tconst letters = this.shadowRoot!.querySelectorAll<HTMLElement>('.ml7 .letter')\n\n\t\t\t\t\t\tletters.forEach((letter, i) => {\n\t\t\t\t\t\t\t// Combine all transforms into one CSS transform string\n\t\t\t\t\t\t\t// From\n\t\t\t\t\t\t\tconst fromTransform = `\n translate3d(${this.translateX[0]}, ${this.translateY[0]}, ${this.translateZ[0]}px)\n rotateZ(${this.rotateZ[0]}deg)\n scale(${this.scale[0]})\n `\n\t\t\t\t\t\t\t// To\n\t\t\t\t\t\t\tconst toTransform = `\n translate3d(${this.translateX[1]}, ${this.translateY[1]}, ${this.translateZ[1]}px)\n rotateZ(${this.rotateZ[1]}deg)\n scale(${this.scale[1]})\n `\n\t\t\t\t\t\t\t// Approximate `outExpo` or pick a standard easing (like 'ease-out'):\n\t\t\t\t\t\t\t// outExpo often approximated by cubic-bezier(0.19, 1, 0.22, 1)\n\t\t\t\t\t\t\tconst easingMap: Record<string, string> = {\n\t\t\t\t\t\t\t\toutExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n\t\t\t\t\t\t\t\t// add more if you want\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst keyframes: Keyframe[] = [\n\t\t\t\t\t\t\t\t{ transform: fromTransform, opacity: String(this.opacity[0]) },\n\t\t\t\t\t\t\t\t{ transform: toTransform, opacity: String(this.opacity[1]) },\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\tletter.animate(keyframes, {\n\t\t\t\t\t\t\t\tduration: this.duration,\n\t\t\t\t\t\t\t\teasing: easingMap[this.ease] || 'ease-out',\n\t\t\t\t\t\t\t\tdelay: this.delay + i * this.stagger, // staggered start\n\t\t\t\t\t\t\t\tfill: 'forwards', // so the letters remain visible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<span class=\"ml7\">\n\t\t\t\t<span class=\"text-wrapper\">\n\t\t\t\t\t<span class=\"letters\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-animated-text': SchmancyAnimatedText\n\t}\n}\n"],"names":["SchmancyAnimatedText","$LitElement","css","constructor","super","arguments","this","ease","delay","stagger","duration","scale","opacity","translateX","translateY","translateZ","rotateZ","resetOnScroll","element","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","firstUpdated","letters","innerHTML","defaultSlot","textContent","replace","concat","interval","pipe","startWith","filter","width","height","take","fromEvent","throttleTime","leading","trailing","map","isInViewport","distinctUntilChanged","tap","inViewport","Array","from","children","forEach","letter","style","next","shadowRoot","querySelectorAll","i","fromTransform","toTransform","keyframes","transform","String","animate","easing","outExpo","fill","subscribe","render","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"animated-text-Dr32Ckh7.cjs","sources":["../src/animated-text/animated-text.ts"],"sourcesContent":["// Removed: import { createTimeline, stagger } from '@packages/anime-beta-master'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport {\n\tconcat,\n\tdistinctUntilChanged,\n\tfilter,\n\tfromEvent,\n\tinterval,\n\tmap,\n\tstartWith,\n\ttake,\n\ttap,\n\tthrottleTime,\n} from 'rxjs'\n\n/**\n * @element schmancy-animated-text\n * Inspired by https://tobiasahlin.com/moving-letters/#1\n */\n@customElement('schmancy-animated-text')\nexport default class SchmancyAnimatedText extends $LitElement(css`\n\t:host {\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t}\n\t.ml7 {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t}\n\t.ml7 .text-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\toverflow: hidden;\n\t}\n\t.ml7 .letter {\n\t\ttransform-origin: 0 100%;\n\t\tdisplay: inline-block;\n\t\topacity: 0;\n\t}\n`) {\n\t@property({ type: String }) ease = 'outExpo' // not a built-in string for Web Animations\n\t@property({ type: Number }) delay = 0\n\t@property({ type: Number }) stagger = 50\n\t@property({ type: Number }) duration = 750\n\t@property({ type: Array }) scale = [0, 1]\n\t@property({ type: Array }) opacity = [0, 1]\n\t@property({ type: Array }) translateX = ['0.55em', '0em']\n\t@property({ type: Array }) translateY = ['1.1em', '0em']\n\t@property({ type: Array }) translateZ = [0, 0]\n\t@property({ type: Array }) rotateZ = [180, 0]\n\t@property({ type: Boolean }) resetOnScroll = true\n\n\t@queryAssignedNodes() defaultSlot!: HTMLElement[]\n\t@query('.letters') letters!: HTMLElement\n\t@query('.ml7') ml7!: HTMLElement\n\n\t// Function to check if an element is in the viewport\n\tisInViewport(element: HTMLElement) {\n\t\tconst rect = element.getBoundingClientRect()\n\t\treturn (\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t)\n\t}\n\n\tasync firstUpdated() {\n\t\t// Split the text into <span class=\"letter\"> ... </span> elements\n\t\tthis.letters.innerHTML = this.defaultSlot[0].textContent!.replace(/\\S/g, `<span class=\"letter\">$&</span>`)\n\n\t\t// Observe viewport + initial readiness\n\t\tconcat(\n\t\t\t// 1) Wait until the element is rendered (width/height > 0)\n\t\t\tinterval(10).pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tfilter(() => {\n\t\t\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\t\t\treturn rect.width > 0 && rect.height > 0\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Then handle scroll events, throttled\n\t\t\tfromEvent(window, 'scroll').pipe(\n\t\t\t\tthrottleTime(0, undefined, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => this.isInViewport(this)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(inViewport => {\n\t\t\t\t\t// If leaving viewport and `resetOnScroll` is true, reset letters to opacity 0\n\t\t\t\t\tif (!inViewport && this.resetOnScroll) {\n\t\t\t\t\t\tArray.from(this.letters.children).forEach((letter: HTMLElement) => {\n\t\t\t\t\t\t\tletter.style.opacity = '0'\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tfilter(isInViewport => isInViewport),\n\t\t\t\t// If resetOnScroll = false, animate only the first time inView. If true, repeat.\n\t\t\t\tthis.resetOnScroll ? tap() : take(1),\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\t// Animate letters with the native Web Animations API\n\t\t\t\t\t\tconst letters = this.shadowRoot!.querySelectorAll<HTMLElement>('.ml7 .letter')\n\n\t\t\t\t\t\tletters.forEach((letter, i) => {\n\t\t\t\t\t\t\t// Combine all transforms into one CSS transform string\n\t\t\t\t\t\t\t// From\n\t\t\t\t\t\t\tconst fromTransform = `\n translate3d(${this.translateX[0]}, ${this.translateY[0]}, ${this.translateZ[0]}px)\n rotateZ(${this.rotateZ[0]}deg)\n scale(${this.scale[0]})\n `\n\t\t\t\t\t\t\t// To\n\t\t\t\t\t\t\tconst toTransform = `\n translate3d(${this.translateX[1]}, ${this.translateY[1]}, ${this.translateZ[1]}px)\n rotateZ(${this.rotateZ[1]}deg)\n scale(${this.scale[1]})\n `\n\t\t\t\t\t\t\t// Approximate `outExpo` or pick a standard easing (like 'ease-out'):\n\t\t\t\t\t\t\t// outExpo often approximated by cubic-bezier(0.19, 1, 0.22, 1)\n\t\t\t\t\t\t\tconst easingMap: Record<string, string> = {\n\t\t\t\t\t\t\t\toutExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n\t\t\t\t\t\t\t\t// add more if you want\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst keyframes: Keyframe[] = [\n\t\t\t\t\t\t\t\t{ transform: fromTransform, opacity: String(this.opacity[0]) },\n\t\t\t\t\t\t\t\t{ transform: toTransform, opacity: String(this.opacity[1]) },\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\tletter.animate(keyframes, {\n\t\t\t\t\t\t\t\tduration: this.duration,\n\t\t\t\t\t\t\t\teasing: easingMap[this.ease] || 'ease-out',\n\t\t\t\t\t\t\t\tdelay: this.delay + i * this.stagger, // staggered start\n\t\t\t\t\t\t\t\tfill: 'forwards', // so the letters remain visible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<span class=\"ml7\">\n\t\t\t\t<span class=\"text-wrapper\">\n\t\t\t\t\t<span class=\"letters\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-animated-text': SchmancyAnimatedText\n\t}\n}\n"],"names":["SchmancyAnimatedText","$LitElement","css","constructor","super","arguments","this","ease","delay","stagger","duration","scale","opacity","translateX","translateY","translateZ","rotateZ","resetOnScroll","element","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","firstUpdated","letters","innerHTML","defaultSlot","textContent","replace","concat","interval","pipe","startWith","filter","width","height","take","fromEvent","throttleTime","leading","trailing","map","isInViewport","distinctUntilChanged","tap","inViewport","Array","from","children","forEach","letter","style","next","shadowRoot","querySelectorAll","i","fromTransform","toTransform","keyframes","transform","String","animate","easing","outExpo","fill","subscribe","render","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";require("./animated-text-DXIDBlvH.cjs");
1
+ "use strict";require("./animated-text-Dr32Ckh7.cjs");
2
2
  //# sourceMappingURL=animated-text.cjs.map
@@ -1,2 +1,2 @@
1
- import "./animated-text-Csa12CPb.js";
1
+ import "./animated-text-CPA937x-.js";
2
2
  //# sourceMappingURL=animated-text.js.map
package/dist/area.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./area.component-CuaH39_t.cjs"),e=require("./utils-C38P63L6.cjs");exports.FINDING_MORTIES=t.FINDING_MORTIES,exports.HERE_RICKY=t.HERE_RICKY,exports.HISTORY_STRATEGY=t.HISTORY_STRATEGY,Object.defineProperty(exports,"SchmancyArea",{enumerable:!0,get:()=>t.SchmancyArea}),Object.defineProperty(exports,"SchmancyRoute",{enumerable:!0,get:()=>t.SchmancyRoute}),exports.area=t.area,exports.routerHistory=t.routerHistory,exports.buildQueryString=e.buildQueryString,exports.compareActiveRoutes=e.compareActiveRoutes,exports.compareCustomElementConstructors=e.compareCustomElementConstructors,exports.compareRouteActions=e.compareRouteActions,exports.createRouteCacheKey=e.createRouteCacheKey,exports.debounce=e.debounce,exports.decodeData=e.decodeData,exports.decodeRouteState=e.decodeRouteState,exports.deepMerge=e.deepMerge,exports.encodeData=e.encodeData,exports.encodeRouteState=e.encodeRouteState,exports.extractQueryParams=e.extractQueryParams,exports.getTagName=e.getTagName,exports.isObject=e.isObject,exports.lazy=e.lazy,exports.normalizeTagName=e.normalizeTagName,exports.sanitizeRouteState=e.sanitizeRouteState;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./area.component-C3uCk-c1.cjs"),e=require("./utils-C38P63L6.cjs");exports.FINDING_MORTIES=t.FINDING_MORTIES,exports.HERE_RICKY=t.HERE_RICKY,exports.HISTORY_STRATEGY=t.HISTORY_STRATEGY,Object.defineProperty(exports,"SchmancyArea",{enumerable:!0,get:()=>t.SchmancyArea}),Object.defineProperty(exports,"SchmancyRoute",{enumerable:!0,get:()=>t.SchmancyRoute}),exports.area=t.area,exports.routerHistory=t.routerHistory,exports.buildQueryString=e.buildQueryString,exports.compareActiveRoutes=e.compareActiveRoutes,exports.compareCustomElementConstructors=e.compareCustomElementConstructors,exports.compareRouteActions=e.compareRouteActions,exports.createRouteCacheKey=e.createRouteCacheKey,exports.debounce=e.debounce,exports.decodeData=e.decodeData,exports.decodeRouteState=e.decodeRouteState,exports.deepMerge=e.deepMerge,exports.encodeData=e.encodeData,exports.encodeRouteState=e.encodeRouteState,exports.extractQueryParams=e.extractQueryParams,exports.getTagName=e.getTagName,exports.isObject=e.isObject,exports.lazy=e.lazy,exports.normalizeTagName=e.normalizeTagName,exports.sanitizeRouteState=e.sanitizeRouteState;
2
2
  //# sourceMappingURL=area.cjs.map
@@ -1,4 +1,4 @@
1
- "use strict";const s=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const u=require("lit/decorators.js");require("./tailwind.mixin-DLCFOKfg.cjs");const A=require("./litElement.mixin-2hXm33ge.cjs"),b=require("lit"),R=new s.Subject,j="FINDING_MORTIES",C="HERE_RICKY",O=new WeakMap;class f{constructor(){this.prettyURL=!1,this.mode="HISTORY",this.request=new s.ReplaySubject(1),this.current=new Map,this.$current=new s.ReplaySubject(1),this.enableHistoryMode=!0,this.findingMortiesEvent=new CustomEvent(j),this.disposed=!1,this.isProcessingPopstate=!1,this.$current.next(this.current),this.$current.subscribe(e=>{this.disposed||e.forEach((t,r)=>{this.getOrCreateAreaSubject(r).next(t)})}),this.initializeFromBrowserState(),typeof window<"u"&&(this.unloadSubscription=s.fromEvent(window,"unload").subscribe(()=>{this.dispose()}))}get areaSubjects(){let e=O.get(this);return e||(e=new Map,O.set(this,e)),e}initializeFromBrowserState(){try{const e=history.state;e&&e.schmancyAreas&&(Object.entries(e.schmancyAreas).forEach(([t,r])=>{this.current.set(t,r)}),this.$current.next(this.current))}catch{}}getOrCreateAreaSubject(e){let t=this.areaSubjects.get(e);if(!t||t.closed){t=new s.ReplaySubject(1),this.areaSubjects.set(e,t);const r=this.current.get(e);r&&t.next({...r,state:r.state||{},params:r.params||{},props:r.props||{}})}return t}on(e,t=!1){if(!e)throw new Error("Area name is required");const r=this.getOrCreateAreaSubject(e).asObservable().pipe(s.distinctUntilChanged((i,n)=>i.component===n.component&&JSON.stringify(i.state)===JSON.stringify(n.state)&&JSON.stringify(i.params)===JSON.stringify(n.params)),s.shareReplay(1));return t?r.pipe(s.skip(1)):r}all(e=!1){const t=this.$current.asObservable().pipe(s.shareReplay(1));return e?t.pipe(s.skip(1)):t}getState(e){if(!e)throw new Error("Area name is required");return this.on(e).pipe(s.map(t=>t.state),s.filter(t=>t!=null),s.distinctUntilChanged((t,r)=>JSON.stringify(t)===JSON.stringify(r)),s.map(t=>t),s.catchError(t=>s.EMPTY))}params(e){if(!e)throw new Error("Area name is required");return this.on(e).pipe(s.map(t=>t.params),s.filter(t=>t!=null),s.distinctUntilChanged((t,r)=>JSON.stringify(t)===JSON.stringify(r)),s.map(t=>t),s.catchError(t=>s.EMPTY))}param(e,t){if(!e||!t)throw new Error("Area name and key are required");return this.params(e).pipe(s.map(r=>r[t]),s.filter(r=>r!==void 0),s.distinctUntilChanged(),s.map(r=>r),s.catchError(r=>s.EMPTY))}props(e){if(!e)throw new Error("Area name is required");return this.on(e).pipe(s.map(t=>t.props),s.filter(t=>t!=null),s.distinctUntilChanged((t,r)=>JSON.stringify(t)===JSON.stringify(r)),s.map(t=>t),s.catchError(t=>s.EMPTY))}prop(e,t){if(!e||!t)throw new Error("Area name and key are required");return this.props(e).pipe(s.map(r=>r[t]),s.filter(r=>r!==void 0),s.distinctUntilChanged(),s.map(r=>r),s.catchError(r=>s.EMPTY))}find(){return s.zip([s.fromEvent(window,C).pipe(s.map(e=>e.detail),s.bufferTime(0)),s.of(1).pipe(s.tap(()=>window.dispatchEvent(this.findingMortiesEvent)))]).pipe(s.map(([e])=>e),s.timeout(1),s.catchError(()=>s.EMPTY))}push(e){if(!e.area)throw new Error("Area is required for route action");if(this.isProcessingPopstate)return;const t={...e,state:e.state||{},params:e.params||{},props:e.props||{},_source:"programmatic"};this.enableHistoryMode&&R.next(t),this.request.next(t),this.dispatchAreaEvent(t.area,t)}_updateFromBrowser(e){const t={...e,state:e.state||{},params:e.params||{},props:e.props||{},_source:"browser"};this.isProcessingPopstate=!0,this.request.next(t),this.isProcessingPopstate=!1}_updateBrowserHistory(e,t,r,i){if(this.enableHistoryMode)try{const n=history.state||{},o=n.schmancyAreas||{},h={component:t.component,area:t.area};t.state&&Object.keys(t.state).length>0&&(h.state=t.state),t.params&&Object.keys(t.params).length>0&&(h.params=t.params),t.props&&Object.keys(t.props).length>0&&(h.props=t.props),o[e]=h;const c={...n,schmancyAreas:o},l=this.createCleanURL(o,i);r==="replace"||r==="pop"?history.replaceState(c,"",l):r!=="push"&&r||history.pushState(c,"",l)}catch{}}createCleanURL(e,t){const r=location.pathname,i=r.split("/");let n="/";const o=i[i.length-1];o&&(o.includes("{")||o.includes("%7B"))?(i.pop(),n=i.join("/")||"/"):n=r,n==="/"||n.endsWith("/")||(n+="/");let h="";if(t!==!0){const c=new URLSearchParams(location.search);Array.isArray(t)&&t.forEach(l=>c.delete(l)),h=c.toString(),h=h?`?${h}`:""}if(this.prettyURL){const c=e.main;if(c){let l=n==="/"?`/${c.component}`:`${n}${c.component}`;const S=new URLSearchParams(h);c.params&&Object.entries(c.params).forEach(([d,E])=>{typeof E!="string"&&typeof E!="number"||S.set(d,String(E))});const p=S.toString();return l+(p?`?${p}`:"")}}try{const c={};if(Object.entries(e).forEach(([S,p])=>{const d={component:p.component};p.state&&Object.keys(p.state).length>0&&(d.state=p.state),p.params&&Object.keys(p.params).length>0&&(d.params=p.params),p.props&&Object.keys(p.props).length>0&&(d.props=p.props),c[S]=d}),Object.keys(c).length===0)return`${n==="/"?"":n.replace(/\/$/,"")}${h}`;const l=encodeURIComponent(JSON.stringify(c));return`${n==="/"?"":n.replace(/\/$/,"")}/${l}${h}`}catch{return location.pathname}}restoreFromBrowserState(e){try{if(e&&e.schmancyAreas)return e.schmancyAreas}catch{}return this.parseStateFromURL()}parseStateFromURL(){const e=location.pathname.split("/").pop();if(!e)return{};try{const t=decodeURIComponent(e),r=JSON.parse(t);if(typeof r=="object"&&r!==null)return r}catch{}return{}}dispatchAreaEvent(e,t){const r=new CustomEvent(`schmancy-area-${e}-changed`,{detail:{area:e,component:t.component,state:t.state,params:t.params,props:t.props,historyStrategy:t.historyStrategy},bubbles:!0,composed:!0});window.dispatchEvent(r)}pop(e){if(!e)throw new Error("Area name is required");const t=this.areaSubjects.get(e);if(t&&!t.closed&&t.next({component:null,state:{},area:e,params:{},props:{}}),this.request.next({area:e,component:null,state:{},params:{},props:{},historyStrategy:"silent",_source:"programmatic"}),this.current.delete(e),this.$current.next(this.current),this.enableHistoryMode)try{const r=history.state||{},i={...r.schmancyAreas||{}};delete i[e];const n={...r,schmancyAreas:i},o=this.createCleanURL(i);history.replaceState(n,"",o)}catch{}}clear(){if(this.areaSubjects.forEach(e=>e.complete()),this.areaSubjects.clear(),this.current.clear(),this.$current.next(this.current),this.enableHistoryMode){const e=this.createCleanURL({});history.replaceState({schmancyAreas:{}},"",e)}}dispose(){this.disposed||(this.disposed=!0,this.unloadSubscription&&(this.unloadSubscription.unsubscribe(),this.unloadSubscription=void 0),this.areaSubjects.forEach(e=>e.complete()),this.areaSubjects.clear(),this.request.complete(),this.$current.complete(),R.complete(),this.current.clear(),O.delete(this))}static getInstance(){return f.instance||(f.instance=new f),f.instance}get state(){try{const e=history.state;if(e&&e.schmancyAreas)return e.schmancyAreas}catch{}return this.parseStateFromURL()}hasArea(e){return this.current.has(e)}getActiveAreas(){return Array.from(this.current.keys())}getRoute(e){return this.current.get(e)}}const y=f.getInstance();var v=Object.defineProperty,M=Object.getOwnPropertyDescriptor,g=(a,e,t,r)=>{for(var i,n=r>1?void 0:r?M(e,t):e,o=a.length-1;o>=0;o--)(i=a[o])&&(n=(r?i(e,t,n):i(n))||n);return r&&n&&v(e,t,n),n};exports.SchmancyRoute=class extends A.$LitElement(b.css`
1
+ "use strict";const s=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const u=require("lit/decorators.js");require("./tailwind.mixin-Bz_Bv8SX.cjs");const A=require("./litElement.mixin-Dlq4PNEh.cjs"),b=require("lit"),R=new s.Subject,j="FINDING_MORTIES",C="HERE_RICKY",O=new WeakMap;class f{constructor(){this.prettyURL=!1,this.mode="HISTORY",this.request=new s.ReplaySubject(1),this.current=new Map,this.$current=new s.ReplaySubject(1),this.enableHistoryMode=!0,this.findingMortiesEvent=new CustomEvent(j),this.disposed=!1,this.isProcessingPopstate=!1,this.$current.next(this.current),this.$current.subscribe(e=>{this.disposed||e.forEach((t,r)=>{this.getOrCreateAreaSubject(r).next(t)})}),this.initializeFromBrowserState(),typeof window<"u"&&(this.unloadSubscription=s.fromEvent(window,"unload").subscribe(()=>{this.dispose()}))}get areaSubjects(){let e=O.get(this);return e||(e=new Map,O.set(this,e)),e}initializeFromBrowserState(){try{const e=history.state;e&&e.schmancyAreas&&(Object.entries(e.schmancyAreas).forEach(([t,r])=>{this.current.set(t,r)}),this.$current.next(this.current))}catch{}}getOrCreateAreaSubject(e){let t=this.areaSubjects.get(e);if(!t||t.closed){t=new s.ReplaySubject(1),this.areaSubjects.set(e,t);const r=this.current.get(e);r&&t.next({...r,state:r.state||{},params:r.params||{},props:r.props||{}})}return t}on(e,t=!1){if(!e)throw new Error("Area name is required");const r=this.getOrCreateAreaSubject(e).asObservable().pipe(s.distinctUntilChanged((i,n)=>i.component===n.component&&JSON.stringify(i.state)===JSON.stringify(n.state)&&JSON.stringify(i.params)===JSON.stringify(n.params)),s.shareReplay(1));return t?r.pipe(s.skip(1)):r}all(e=!1){const t=this.$current.asObservable().pipe(s.shareReplay(1));return e?t.pipe(s.skip(1)):t}getState(e){if(!e)throw new Error("Area name is required");return this.on(e).pipe(s.map(t=>t.state),s.filter(t=>t!=null),s.distinctUntilChanged((t,r)=>JSON.stringify(t)===JSON.stringify(r)),s.map(t=>t),s.catchError(t=>s.EMPTY))}params(e){if(!e)throw new Error("Area name is required");return this.on(e).pipe(s.map(t=>t.params),s.filter(t=>t!=null),s.distinctUntilChanged((t,r)=>JSON.stringify(t)===JSON.stringify(r)),s.map(t=>t),s.catchError(t=>s.EMPTY))}param(e,t){if(!e||!t)throw new Error("Area name and key are required");return this.params(e).pipe(s.map(r=>r[t]),s.filter(r=>r!==void 0),s.distinctUntilChanged(),s.map(r=>r),s.catchError(r=>s.EMPTY))}props(e){if(!e)throw new Error("Area name is required");return this.on(e).pipe(s.map(t=>t.props),s.filter(t=>t!=null),s.distinctUntilChanged((t,r)=>JSON.stringify(t)===JSON.stringify(r)),s.map(t=>t),s.catchError(t=>s.EMPTY))}prop(e,t){if(!e||!t)throw new Error("Area name and key are required");return this.props(e).pipe(s.map(r=>r[t]),s.filter(r=>r!==void 0),s.distinctUntilChanged(),s.map(r=>r),s.catchError(r=>s.EMPTY))}find(){return s.zip([s.fromEvent(window,C).pipe(s.map(e=>e.detail),s.bufferTime(0)),s.of(1).pipe(s.tap(()=>window.dispatchEvent(this.findingMortiesEvent)))]).pipe(s.map(([e])=>e),s.timeout(1),s.catchError(()=>s.EMPTY))}push(e){if(!e.area)throw new Error("Area is required for route action");if(this.isProcessingPopstate)return;const t={...e,state:e.state||{},params:e.params||{},props:e.props||{},_source:"programmatic"};this.enableHistoryMode&&R.next(t),this.request.next(t),this.dispatchAreaEvent(t.area,t)}_updateFromBrowser(e){const t={...e,state:e.state||{},params:e.params||{},props:e.props||{},_source:"browser"};this.isProcessingPopstate=!0,this.request.next(t),this.isProcessingPopstate=!1}_updateBrowserHistory(e,t,r,i){if(this.enableHistoryMode)try{const n=history.state||{},o=n.schmancyAreas||{},h={component:t.component,area:t.area};t.state&&Object.keys(t.state).length>0&&(h.state=t.state),t.params&&Object.keys(t.params).length>0&&(h.params=t.params),t.props&&Object.keys(t.props).length>0&&(h.props=t.props),o[e]=h;const c={...n,schmancyAreas:o},l=this.createCleanURL(o,i);r==="replace"||r==="pop"?history.replaceState(c,"",l):r!=="push"&&r||history.pushState(c,"",l)}catch{}}createCleanURL(e,t){const r=location.pathname,i=r.split("/");let n="/";const o=i[i.length-1];o&&(o.includes("{")||o.includes("%7B"))?(i.pop(),n=i.join("/")||"/"):n=r,n==="/"||n.endsWith("/")||(n+="/");let h="";if(t!==!0){const c=new URLSearchParams(location.search);Array.isArray(t)&&t.forEach(l=>c.delete(l)),h=c.toString(),h=h?`?${h}`:""}if(this.prettyURL){const c=e.main;if(c){let l=n==="/"?`/${c.component}`:`${n}${c.component}`;const S=new URLSearchParams(h);c.params&&Object.entries(c.params).forEach(([d,E])=>{typeof E!="string"&&typeof E!="number"||S.set(d,String(E))});const p=S.toString();return l+(p?`?${p}`:"")}}try{const c={};if(Object.entries(e).forEach(([S,p])=>{const d={component:p.component};p.state&&Object.keys(p.state).length>0&&(d.state=p.state),p.params&&Object.keys(p.params).length>0&&(d.params=p.params),p.props&&Object.keys(p.props).length>0&&(d.props=p.props),c[S]=d}),Object.keys(c).length===0)return`${n==="/"?"":n.replace(/\/$/,"")}${h}`;const l=encodeURIComponent(JSON.stringify(c));return`${n==="/"?"":n.replace(/\/$/,"")}/${l}${h}`}catch{return location.pathname}}restoreFromBrowserState(e){try{if(e&&e.schmancyAreas)return e.schmancyAreas}catch{}return this.parseStateFromURL()}parseStateFromURL(){const e=location.pathname.split("/").pop();if(!e)return{};try{const t=decodeURIComponent(e),r=JSON.parse(t);if(typeof r=="object"&&r!==null)return r}catch{}return{}}dispatchAreaEvent(e,t){const r=new CustomEvent(`schmancy-area-${e}-changed`,{detail:{area:e,component:t.component,state:t.state,params:t.params,props:t.props,historyStrategy:t.historyStrategy},bubbles:!0,composed:!0});window.dispatchEvent(r)}pop(e){if(!e)throw new Error("Area name is required");const t=this.areaSubjects.get(e);if(t&&!t.closed&&t.next({component:null,state:{},area:e,params:{},props:{}}),this.request.next({area:e,component:null,state:{},params:{},props:{},historyStrategy:"silent",_source:"programmatic"}),this.current.delete(e),this.$current.next(this.current),this.enableHistoryMode)try{const r=history.state||{},i={...r.schmancyAreas||{}};delete i[e];const n={...r,schmancyAreas:i},o=this.createCleanURL(i);history.replaceState(n,"",o)}catch{}}clear(){if(this.areaSubjects.forEach(e=>e.complete()),this.areaSubjects.clear(),this.current.clear(),this.$current.next(this.current),this.enableHistoryMode){const e=this.createCleanURL({});history.replaceState({schmancyAreas:{}},"",e)}}dispose(){this.disposed||(this.disposed=!0,this.unloadSubscription&&(this.unloadSubscription.unsubscribe(),this.unloadSubscription=void 0),this.areaSubjects.forEach(e=>e.complete()),this.areaSubjects.clear(),this.request.complete(),this.$current.complete(),R.complete(),this.current.clear(),O.delete(this))}static getInstance(){return f.instance||(f.instance=new f),f.instance}get state(){try{const e=history.state;if(e&&e.schmancyAreas)return e.schmancyAreas}catch{}return this.parseStateFromURL()}hasArea(e){return this.current.has(e)}getActiveAreas(){return Array.from(this.current.keys())}getRoute(e){return this.current.get(e)}}const y=f.getInstance();var v=Object.defineProperty,M=Object.getOwnPropertyDescriptor,g=(a,e,t,r)=>{for(var i,n=r>1?void 0:r?M(e,t):e,o=a.length-1;o>=0;o--)(i=a[o])&&(n=(r?i(e,t,n):i(n))||n);return r&&n&&v(e,t,n),n};exports.SchmancyRoute=class extends A.$LitElement(b.css`
2
2
  :host {
3
3
  display: none;
4
4
  }
@@ -9,4 +9,4 @@
9
9
  inset: 0;
10
10
  }
11
11
  `){firstUpdated(){if(!this.name)throw new Error("Area name is required");s.merge(y.request.pipe(s.filter(({area:a})=>a===this.name)),s.of(null).pipe(s.take(1),s.map(()=>{const a=location.pathname,e=a.split("/").pop()||"";if(e&&(e.includes("{")||e.includes("%7B")))try{const r=JSON.parse(decodeURIComponent(e));if(r[this.name])return{area:this.name,component:r[this.name].component,state:r[this.name].state||{},params:r[this.name].params||{},historyStrategy:m.replace}}catch{}const t=a.split("/").filter(Boolean).find(r=>this.routes?.some(i=>i.when===r));return t?{area:this.name,component:t,state:{},params:{},historyStrategy:m.silent}:this.default?{area:this.name,component:this.default,state:{},params:{},historyStrategy:m.silent}:null})),s.fromEvent(window,"popstate").pipe(s.map(()=>{if(history.state?.schmancyAreas?.[this.name]){const r=history.state.schmancyAreas[this.name];return{area:this.name,component:r.component,state:r.state||{},params:r.params||{},historyStrategy:m.pop}}const a=location.pathname,e=a.split("/").pop()||"";if(e&&(e.includes("{")||e.includes("%7B")))try{const r=JSON.parse(decodeURIComponent(e));if(r[this.name])return{area:this.name,component:r[this.name].component,state:r[this.name].state||{},params:r[this.name].params||{},historyStrategy:m.replace}}catch{}const t=a.split("/").filter(Boolean).find(r=>this.routes?.some(i=>i.when===r));return t?{area:this.name,component:t,state:{},params:{},historyStrategy:m.silent}:this.default?{area:this.name,component:this.default,state:{},params:{},historyStrategy:m.silent}:null}))).pipe(s.filter(a=>a!==null),s.map(a=>{let e,t=a.component;if(typeof t=="string"&&this.routes)e=this.routes.find(r=>r.when===t),e&&(t=e.component);else if(typeof t=="function"&&this.routes)e=this.routes.find(r=>r.component===t);else if(t instanceof HTMLElement&&this.routes){const r=t.tagName.toLowerCase();e=this.routes.find(i=>i.when===r)}return{...a,component:t,matchedRoute:e}}),s.switchMap(a=>a.matchedRoute?.guard?a.matchedRoute.guard.pipe(s.switchMap(e=>{if(e===!0)return s.of(a);const t=new CustomEvent("redirect",{detail:{blockedRoute:a.matchedRoute?.when||"unknown",area:this.name,params:a.params||{},state:a.state||{},redirectTarget:typeof e=="object"?e:void 0},bubbles:!0,composed:!0});return a.matchedRoute.dispatchEvent(t),s.EMPTY})):s.of(a)),s.switchMap(async a=>{let e=a.component;if(typeof e=="function"&&("preload"in e||"_promise"in e||"_module"in e))try{e=(await e()).default}catch{return{...a,component:null}}return{...a,component:e}}),s.map(a=>{let e="";const t=a.component;t&&t!==""?typeof t=="string"?e=t:t instanceof HTMLElement?e=t.tagName.toLowerCase():typeof t=="function"&&(e=t.name||"CustomElement"):e="null";const r=`${e}${JSON.stringify(a.params)}${JSON.stringify(a.state)}`;return{...a,key:r,tagName:e}}),s.distinctUntilChanged((a,e)=>a.key===e.key),s.map(a=>{let e=null;const t=a.component;if(t&&t!==""){if(typeof t=="string")try{e=document.createElement(t)}catch{}else if(t instanceof HTMLElement)e=t;else if(typeof t=="function")try{e=new t}catch{}}else e=null;return e&&(a.params&&Object.assign(e,a.params),a.props&&Object.assign(e,a.props),a.state&&(e.state=a.state)),{element:e,route:a}}),s.shareReplay(1),s.tap(({element:a,route:e})=>this.swapComponents(a,e)),s.catchError(a=>s.EMPTY),s.takeUntil(this.disconnecting)).subscribe()}swapComponents(a,e){const t=Array.from(this.children).find(i=>!(i instanceof exports.SchmancyRoute));if(!a)return void t?.remove();t?t.animate([{opacity:1},{opacity:0}],{duration:150,easing:"ease-out"}).onfinish=()=>{t.remove(),this.appendChild(a),a.animate([{opacity:0},{opacity:1}],{duration:150,easing:"ease-in"})}:(this.appendChild(a),a.animate([{opacity:0},{opacity:1}],{duration:100,easing:"ease-in"}));const r={component:a.tagName.toLowerCase(),state:e.state||{},area:this.name,params:e.params||{}};y.current.set(this.name,r),y.$current.next(y.current),y.enableHistoryMode&&y._updateBrowserHistory(this.name,r,e.historyStrategy||m.push,e.clearQueryParams)}disconnectedCallback(){super.disconnectedCallback()}render(){return b.html`<slot></slot>`}},w([u.property()],exports.SchmancyArea.prototype,"name",2),w([u.property()],exports.SchmancyArea.prototype,"default",2),w([u.queryAssignedElements({selector:"schmancy-route",flatten:!0})],exports.SchmancyArea.prototype,"routes",2),exports.SchmancyArea=w([u.customElement("schmancy-area")],exports.SchmancyArea),exports.FINDING_MORTIES=j,exports.HERE_RICKY=C,exports.HISTORY_STRATEGY=m,exports.area=y,exports.routerHistory=R;
12
- //# sourceMappingURL=area.component-CuaH39_t.cjs.map
12
+ //# sourceMappingURL=area.component-C3uCk-c1.cjs.map