@mhmo91/schmancy 0.6.15 → 0.6.16

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 (321) hide show
  1. package/ai/theme.md +119 -18
  2. package/dist/ai/theme.md +119 -18
  3. package/dist/{animated-text-CXkLixsn.js → animated-text-B8iGYrYI.js} +3 -3
  4. package/dist/{animated-text-CXkLixsn.js.map → animated-text-B8iGYrYI.js.map} +1 -1
  5. package/dist/{animated-text-DwlmOCAu.cjs → animated-text-Cp_4seiu.cjs} +2 -2
  6. package/dist/{animated-text-DwlmOCAu.cjs.map → animated-text-Cp_4seiu.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-DLKsm0cJ.cjs → area.component-CCwwAl-Y.cjs} +2 -2
  11. package/dist/{area.component-DLKsm0cJ.cjs.map → area.component-CCwwAl-Y.cjs.map} +1 -1
  12. package/dist/{area.component-DbyIwSen.js → area.component-DHYxBzb7.js} +3 -3
  13. package/dist/{area.component-DbyIwSen.js.map → area.component-DHYxBzb7.js.map} +1 -1
  14. package/dist/area.js +1 -1
  15. package/dist/{autocomplete-BtJueYNt.cjs → autocomplete-pmX57mE7.cjs} +2 -2
  16. package/dist/{autocomplete-BtJueYNt.cjs.map → autocomplete-pmX57mE7.cjs.map} +1 -1
  17. package/dist/{autocomplete-X2TcRii_.js → autocomplete-yPq8zNOI.js} +4 -4
  18. package/dist/{autocomplete-X2TcRii_.js.map → autocomplete-yPq8zNOI.js.map} +1 -1
  19. package/dist/autocomplete.cjs +1 -1
  20. package/dist/autocomplete.js +1 -1
  21. package/dist/{avatar-DSn-UaAo.cjs → avatar-kPQ81LWq.cjs} +2 -2
  22. package/dist/{avatar-DSn-UaAo.cjs.map → avatar-kPQ81LWq.cjs.map} +1 -1
  23. package/dist/{avatar-BU4ao8YL.js → avatar-kwfIZbBF.js} +51 -51
  24. package/dist/{avatar-BU4ao8YL.js.map → avatar-kwfIZbBF.js.map} +1 -1
  25. package/dist/badge.cjs +1 -1
  26. package/dist/badge.js +1 -1
  27. package/dist/{boat-DLniPpKM.cjs → boat-D-tWc7q3.cjs} +2 -2
  28. package/dist/{boat-DLniPpKM.cjs.map → boat-D-tWc7q3.cjs.map} +1 -1
  29. package/dist/{boat-DsG5xqRQ.js → boat-DdWgKGDm.js} +3 -3
  30. package/dist/{boat-DsG5xqRQ.js.map → boat-DdWgKGDm.js.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-DJfcWdHu.js → checkbox-C-EFwpvs.js} +2 -2
  40. package/dist/{checkbox-DJfcWdHu.js.map → checkbox-C-EFwpvs.js.map} +1 -1
  41. package/dist/{checkbox-D4k9hOGr.cjs → checkbox-sd72C6z5.cjs} +2 -2
  42. package/dist/{checkbox-D4k9hOGr.cjs.map → checkbox-sd72C6z5.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-2QujfDM-.js → code-preview-DU8t16Io.js} +2 -2
  50. package/dist/{code-preview-2QujfDM-.js.map → code-preview-DU8t16Io.js.map} +1 -1
  51. package/dist/{code-preview-BCExTzlk.cjs → code-preview-DWvUMJXJ.cjs} +2 -2
  52. package/dist/{code-preview-BCExTzlk.cjs.map → code-preview-DWvUMJXJ.cjs.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-1jcMQxpT.js → date-range-C6plrAKq.js} +3 -3
  58. package/dist/{date-range-1jcMQxpT.js.map → date-range-C6plrAKq.js.map} +1 -1
  59. package/dist/{date-range-CUOzti4w.cjs → date-range-GOzI_28R.cjs} +2 -2
  60. package/dist/{date-range-CUOzti4w.cjs.map → date-range-GOzI_28R.cjs.map} +1 -1
  61. package/dist/{date-range-inline-TNQO_qOG.js → date-range-inline-BzdUNxOn.js} +3 -3
  62. package/dist/{date-range-inline-TNQO_qOG.js.map → date-range-inline-BzdUNxOn.js.map} +1 -1
  63. package/dist/{date-range-inline-CtP8EErp.cjs → date-range-inline-CIq1qoPA.cjs} +2 -2
  64. package/dist/{date-range-inline-CtP8EErp.cjs.map → date-range-inline-CIq1qoPA.cjs.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-SQQC8r0A.cjs → delay-DoqqTMT9.cjs} +2 -2
  70. package/dist/{delay-SQQC8r0A.cjs.map → delay-DoqqTMT9.cjs.map} +1 -1
  71. package/dist/{delay-BS6JZiTl.js → delay-NrcUS15l.js} +2 -2
  72. package/dist/{delay-BS6JZiTl.js.map → delay-NrcUS15l.js.map} +1 -1
  73. package/dist/delay.cjs +1 -1
  74. package/dist/delay.js +1 -1
  75. package/dist/{details-8r7gRioQ.js → details-BSkVxC5z.js} +2 -2
  76. package/dist/{details-8r7gRioQ.js.map → details-BSkVxC5z.js.map} +1 -1
  77. package/dist/{details-DEvfK6Y_.cjs → details-CE2aawZr.cjs} +2 -2
  78. package/dist/{details-DEvfK6Y_.cjs.map → details-CE2aawZr.cjs.map} +1 -1
  79. package/dist/details.cjs +1 -1
  80. package/dist/details.js +1 -1
  81. package/dist/{dialog-content-BLXnQPe_.js → dialog-content-B6coEskF.js} +3 -3
  82. package/dist/{dialog-content-BLXnQPe_.js.map → dialog-content-B6coEskF.js.map} +1 -1
  83. package/dist/{dialog-content-eMPblRN-.cjs → dialog-content-CZANVFV4.cjs} +2 -2
  84. package/dist/{dialog-content-eMPblRN-.cjs.map → dialog-content-CZANVFV4.cjs.map} +1 -1
  85. package/dist/dialog.cjs +1 -1
  86. package/dist/dialog.js +1 -1
  87. package/dist/{divider-B5Lscbmv.cjs → divider-BLRJorDu.cjs} +2 -2
  88. package/dist/{divider-B5Lscbmv.cjs.map → divider-BLRJorDu.cjs.map} +1 -1
  89. package/dist/{divider-DVOP9fKz.js → divider-DJZwg-YL.js} +3 -3
  90. package/dist/{divider-DVOP9fKz.js.map → divider-DJZwg-YL.js.map} +1 -1
  91. package/dist/divider.cjs +1 -1
  92. package/dist/divider.js +1 -1
  93. package/dist/{dropdown-content-BYicwGyz.js → dropdown-content-BsnFk-nJ.js} +3 -3
  94. package/dist/{dropdown-content-BYicwGyz.js.map → dropdown-content-BsnFk-nJ.js.map} +1 -1
  95. package/dist/{dropdown-content-Bw7XWcwi.cjs → dropdown-content-BxPsdPhI.cjs} +2 -2
  96. package/dist/{dropdown-content-Bw7XWcwi.cjs.map → dropdown-content-BxPsdPhI.cjs.map} +1 -1
  97. package/dist/dropdown.cjs +1 -1
  98. package/dist/dropdown.js +1 -1
  99. package/dist/{email-recipients-gR5xX1BV.cjs → email-recipients-2cYEfkH9.cjs} +2 -2
  100. package/dist/{email-recipients-gR5xX1BV.cjs.map → email-recipients-2cYEfkH9.cjs.map} +1 -1
  101. package/dist/{email-recipients-B1BIM0D8.js → email-recipients-BpeZJENf.js} +6 -6
  102. package/dist/{email-recipients-B1BIM0D8.js.map → email-recipients-BpeZJENf.js.map} +1 -1
  103. package/dist/extra.cjs +1 -1
  104. package/dist/extra.js +1 -1
  105. package/dist/{flex-DmDh3Xck.js → flex-BbFqMmJg.js} +2 -2
  106. package/dist/{flex-DmDh3Xck.js.map → flex-BbFqMmJg.js.map} +1 -1
  107. package/dist/{flex-swmc0cUu.cjs → flex-Dq9FKhvn.cjs} +2 -2
  108. package/dist/{flex-swmc0cUu.cjs.map → flex-Dq9FKhvn.cjs.map} +1 -1
  109. package/dist/{form-j2b0DSLw.cjs → form-9Eka_fiN.cjs} +2 -2
  110. package/dist/{form-j2b0DSLw.cjs.map → form-9Eka_fiN.cjs.map} +1 -1
  111. package/dist/{form-AnAbcU3R.js → form-QA4ruG62.js} +2 -2
  112. package/dist/{form-AnAbcU3R.js.map → form-QA4ruG62.js.map} +1 -1
  113. package/dist/form.cjs +1 -1
  114. package/dist/form.js +1 -1
  115. package/dist/{formField.mixin-SDERSPsB.cjs → formField.mixin-CYJF9Y62.cjs} +2 -2
  116. package/dist/{formField.mixin-SDERSPsB.cjs.map → formField.mixin-CYJF9Y62.cjs.map} +1 -1
  117. package/dist/{formField.mixin-ClH5rpgp.js → formField.mixin-CgiAzRuy.js} +2 -2
  118. package/dist/{formField.mixin-ClH5rpgp.js.map → formField.mixin-CgiAzRuy.js.map} +1 -1
  119. package/dist/{icon-XSmJ_oNG.cjs → icon-CfC-30so.cjs} +2 -2
  120. package/dist/{icon-XSmJ_oNG.cjs.map → icon-CfC-30so.cjs.map} +1 -1
  121. package/dist/{icon-BC3uU_kR.js → icon-DUB5k2gF.js} +2 -2
  122. package/dist/{icon-BC3uU_kR.js.map → icon-DUB5k2gF.js.map} +1 -1
  123. package/dist/{icon-button-CMa6DB99.cjs → icon-button-CD3zR7_w.cjs} +2 -2
  124. package/dist/{icon-button-CMa6DB99.cjs.map → icon-button-CD3zR7_w.cjs.map} +1 -1
  125. package/dist/{icon-button-3uyKYV7-.js → icon-button-CM5LpeUv.js} +3 -3
  126. package/dist/{icon-button-3uyKYV7-.js.map → icon-button-CM5LpeUv.js.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 +50 -50
  131. package/dist/{input-B2YwvRXR.cjs → input-D1IQ2HAv.cjs} +2 -2
  132. package/dist/{input-B2YwvRXR.cjs.map → input-D1IQ2HAv.cjs.map} +1 -1
  133. package/dist/{input-Dexl-lrG.js → input-ZPc0PgSj.js} +3 -3
  134. package/dist/{input-Dexl-lrG.js.map → input-ZPc0PgSj.js.map} +1 -1
  135. package/dist/{input-chip-DB3ZBcZn.cjs → input-chip-Bt-qOSEB.cjs} +2 -2
  136. package/dist/{input-chip-DB3ZBcZn.cjs.map → input-chip-Bt-qOSEB.cjs.map} +1 -1
  137. package/dist/{input-chip-_YszUd8z.js → input-chip-DPmwgnLg.js} +2 -2
  138. package/dist/{input-chip-_YszUd8z.js.map → input-chip-DPmwgnLg.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-BR-JEmOj.cjs → list-BSbuXagR.cjs} +2 -2
  144. package/dist/{list-BR-JEmOj.cjs.map → list-BSbuXagR.cjs.map} +1 -1
  145. package/dist/{list-CquiBoXQ.js → list-CyeSi6on.js} +2 -2
  146. package/dist/{list-CquiBoXQ.js.map → list-CyeSi6on.js.map} +1 -1
  147. package/dist/list.cjs +1 -1
  148. package/dist/list.js +1 -1
  149. package/dist/{litElement.mixin-ByATw3mZ.cjs → litElement.mixin-BfKE8dJc.cjs} +2 -2
  150. package/dist/{litElement.mixin-ByATw3mZ.cjs.map → litElement.mixin-BfKE8dJc.cjs.map} +1 -1
  151. package/dist/{litElement.mixin-BkJ5xSe0.js → litElement.mixin-DYomCqIu.js} +2 -2
  152. package/dist/{litElement.mixin-BkJ5xSe0.js.map → litElement.mixin-DYomCqIu.js.map} +1 -1
  153. package/dist/mailbox.cjs +1 -1
  154. package/dist/mailbox.js +1 -1
  155. package/dist/{map-nq-UJIG1.js → map-B0RIANKu.js} +2 -2
  156. package/dist/{map-nq-UJIG1.js.map → map-B0RIANKu.js.map} +1 -1
  157. package/dist/{map-BvR3poWa.cjs → map-dviafjXB.cjs} +2 -2
  158. package/dist/{map-BvR3poWa.cjs.map → map-dviafjXB.cjs.map} +1 -1
  159. package/dist/map.cjs +1 -1
  160. package/dist/map.js +1 -1
  161. package/dist/{media-LEiWsBFD.cjs → media-C7X1ikuw.cjs} +2 -2
  162. package/dist/{media-LEiWsBFD.cjs.map → media-C7X1ikuw.cjs.map} +1 -1
  163. package/dist/{media-B0G4a4dk.js → media-CWsGoRyl.js} +2 -2
  164. package/dist/{media-B0G4a4dk.js.map → media-CWsGoRyl.js.map} +1 -1
  165. package/dist/{menu-BKq36UN8.cjs → menu-BLqx4UO2.cjs} +2 -2
  166. package/dist/{menu-BKq36UN8.cjs.map → menu-BLqx4UO2.cjs.map} +1 -1
  167. package/dist/{menu-7cP5tC2B.js → menu-xrrIvGSW.js} +3 -3
  168. package/dist/{menu-7cP5tC2B.js.map → menu-xrrIvGSW.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-D5987GsB.js → navigation-rail-BG2bMjOl.js} +3 -3
  176. package/dist/{navigation-rail-D5987GsB.js.map → navigation-rail-BG2bMjOl.js.map} +1 -1
  177. package/dist/{navigation-rail-BKxtEDx8.cjs → navigation-rail-D_IprLlU.cjs} +2 -2
  178. package/dist/{navigation-rail-BKxtEDx8.cjs.map → navigation-rail-D_IprLlU.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-BEUd4eSl.cjs → notification-service-CgloltK7.cjs} +2 -2
  182. package/dist/{notification-service-BEUd4eSl.cjs.map → notification-service-CgloltK7.cjs.map} +1 -1
  183. package/dist/{notification-service-ChB6yIdF.js → notification-service-DFQoqjNa.js} +4 -4
  184. package/dist/{notification-service-ChB6yIdF.js.map → notification-service-DFQoqjNa.js.map} +1 -1
  185. package/dist/notification.cjs +1 -1
  186. package/dist/notification.js +2 -2
  187. package/dist/{notify-DtV3hOAh.js → notify-ByAaGcdh.js} +2 -2
  188. package/dist/{notify-DtV3hOAh.js.map → notify-ByAaGcdh.js.map} +1 -1
  189. package/dist/{notify-DVeG-xkY.cjs → notify-CKK9jYPV.cjs} +2 -2
  190. package/dist/{notify-DVeG-xkY.cjs.map → notify-CKK9jYPV.cjs.map} +1 -1
  191. package/dist/{option-B3ZuuS7d.js → option-BdAu99R9.js} +2 -2
  192. package/dist/{option-B3ZuuS7d.js.map → option-BdAu99R9.js.map} +1 -1
  193. package/dist/{option-BnCqyZ1G.cjs → option-D39HiGpX.cjs} +2 -2
  194. package/dist/{option-BnCqyZ1G.cjs.map → option-D39HiGpX.cjs.map} +1 -1
  195. package/dist/option.cjs +1 -1
  196. package/dist/option.js +1 -1
  197. package/dist/{payment-card-form-BbIb4L73.cjs → payment-card-form-Bwlayv0c.cjs} +2 -2
  198. package/dist/{payment-card-form-BbIb4L73.cjs.map → payment-card-form-Bwlayv0c.cjs.map} +1 -1
  199. package/dist/{payment-card-form-DVdvTj4q.js → payment-card-form-Dzkw0Zxb.js} +3 -3
  200. package/dist/{payment-card-form-DVdvTj4q.js.map → payment-card-form-Dzkw0Zxb.js.map} +1 -1
  201. package/dist/{progress-DJaKqm9N.js → progress-B2OiyRFr.js} +2 -2
  202. package/dist/{progress-DJaKqm9N.js.map → progress-B2OiyRFr.js.map} +1 -1
  203. package/dist/{progress-UpWHuWNo.cjs → progress-xtDRWuk5.cjs} +2 -2
  204. package/dist/{progress-UpWHuWNo.cjs.map → progress-xtDRWuk5.cjs.map} +1 -1
  205. package/dist/progress.cjs +1 -1
  206. package/dist/progress.js +1 -1
  207. package/dist/{radio-button-BCFhfUmi.cjs → radio-button-CvbFaOTU.cjs} +2 -2
  208. package/dist/{radio-button-BCFhfUmi.cjs.map → radio-button-CvbFaOTU.cjs.map} +1 -1
  209. package/dist/{radio-button-De_M5gs5.js → radio-button-q537q2UW.js} +3 -3
  210. package/dist/{radio-button-De_M5gs5.js.map → radio-button-q537q2UW.js.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-B78yjMzg.js → schmancy-steps-container-BXtHI-tR.js} +2 -2
  214. package/dist/{schmancy-steps-container-B78yjMzg.js.map → schmancy-steps-container-BXtHI-tR.js.map} +1 -1
  215. package/dist/{schmancy-steps-container-C3bMTFEN.cjs → schmancy-steps-container-Bhl3Bn6r.cjs} +2 -2
  216. package/dist/{schmancy-steps-container-C3bMTFEN.cjs.map → schmancy-steps-container-Bhl3Bn6r.cjs.map} +1 -1
  217. package/dist/{select-BniRmX8N.js → select-CCKHSCwG.js} +3 -3
  218. package/dist/{select-BniRmX8N.js.map → select-CCKHSCwG.js.map} +1 -1
  219. package/dist/{select-Dyi3H5Gi.cjs → select-CVIMXcxl.cjs} +2 -2
  220. package/dist/{select-Dyi3H5Gi.cjs.map → select-CVIMXcxl.cjs.map} +1 -1
  221. package/dist/select.cjs +1 -1
  222. package/dist/select.js +1 -1
  223. package/dist/{sheet-Boqpk0ZI.cjs → sheet-B0UL6iVh.cjs} +2 -2
  224. package/dist/{sheet-Boqpk0ZI.cjs.map → sheet-B0UL6iVh.cjs.map} +1 -1
  225. package/dist/{sheet-Bjt_7O9d.js → sheet-BqvL8L7x.js} +5 -5
  226. package/dist/{sheet-Bjt_7O9d.js.map → sheet-BqvL8L7x.js.map} +1 -1
  227. package/dist/sheet.cjs +1 -1
  228. package/dist/sheet.js +2 -2
  229. package/dist/{sheet.service-DerP3lOT.cjs → sheet.service-ADoGq10G.cjs} +2 -2
  230. package/dist/{sheet.service-DerP3lOT.cjs.map → sheet.service-ADoGq10G.cjs.map} +1 -1
  231. package/dist/{sheet.service-v6ZcXxgt.js → sheet.service-C6493Pke.js} +2 -2
  232. package/dist/{sheet.service-v6ZcXxgt.js.map → sheet.service-C6493Pke.js.map} +1 -1
  233. package/dist/{slider-BRoxL04w.js → slider-Bc_6eyrO.js} +3 -3
  234. package/dist/{slider-BRoxL04w.js.map → slider-Bc_6eyrO.js.map} +1 -1
  235. package/dist/{slider-DFqI8sV_.cjs → slider-Cl84WZAd.cjs} +2 -2
  236. package/dist/{slider-DFqI8sV_.cjs.map → slider-Cl84WZAd.cjs.map} +1 -1
  237. package/dist/slider.cjs +1 -1
  238. package/dist/slider.js +1 -1
  239. package/dist/{spinner-DcSXDzOD.cjs → spinner-CQQSTCev.cjs} +2 -2
  240. package/dist/{spinner-DcSXDzOD.cjs.map → spinner-CQQSTCev.cjs.map} +1 -1
  241. package/dist/{spinner-CTld58nR.js → spinner-DZIA0ztk.js} +2 -2
  242. package/dist/{spinner-CTld58nR.js.map → spinner-DZIA0ztk.js.map} +1 -1
  243. package/dist/steps.cjs +1 -1
  244. package/dist/steps.js +1 -1
  245. package/dist/{suggestion-chip-Lby1Ejkz.cjs → suggestion-chip-BzRaUcJI.cjs} +2 -2
  246. package/dist/{suggestion-chip-Lby1Ejkz.cjs.map → suggestion-chip-BzRaUcJI.cjs.map} +1 -1
  247. package/dist/{suggestion-chip-CLJFJgkY.js → suggestion-chip-C7umNn8S.js} +3 -3
  248. package/dist/{suggestion-chip-CLJFJgkY.js.map → suggestion-chip-C7umNn8S.js.map} +1 -1
  249. package/dist/{surface-C6OOSJCL.js → surface-CAHL8-r2.js} +2 -2
  250. package/dist/{surface-C6OOSJCL.js.map → surface-CAHL8-r2.js.map} +1 -1
  251. package/dist/{surface-DDLedRWY.cjs → surface-CE6siCtd.cjs} +2 -2
  252. package/dist/{surface-DDLedRWY.cjs.map → surface-CE6siCtd.cjs.map} +1 -1
  253. package/dist/surface.cjs +1 -1
  254. package/dist/surface.js +1 -1
  255. package/dist/{table-BUff-4Nd.cjs → table-CE5zNYKo.cjs} +2 -2
  256. package/dist/{table-BUff-4Nd.cjs.map → table-CE5zNYKo.cjs.map} +1 -1
  257. package/dist/{table-BWroz_LA.js → table-CF6jit0u.js} +2 -2
  258. package/dist/{table-BWroz_LA.js.map → table-CF6jit0u.js.map} +1 -1
  259. package/dist/table.cjs +1 -1
  260. package/dist/table.js +1 -1
  261. package/dist/{tabs-compatibility-BnutHPg5.cjs → tabs-compatibility-C2rKG59P.cjs} +2 -2
  262. package/dist/{tabs-compatibility-BnutHPg5.cjs.map → tabs-compatibility-C2rKG59P.cjs.map} +1 -1
  263. package/dist/{tabs-compatibility-B2pilxIp.js → tabs-compatibility-CEZTTGar.js} +2 -2
  264. package/dist/{tabs-compatibility-B2pilxIp.js.map → tabs-compatibility-CEZTTGar.js.map} +1 -1
  265. package/dist/tabs.cjs +1 -1
  266. package/dist/tabs.js +1 -1
  267. package/dist/tailwind.mixin-I9Q1jeEr.cjs +2 -0
  268. package/dist/{tailwind.mixin-Dn3V28jr.cjs.map → tailwind.mixin-I9Q1jeEr.cjs.map} +1 -1
  269. package/dist/tailwind.mixin-N1MaFaUo.js +66 -0
  270. package/dist/{tailwind.mixin-D9gOO2Zy.js.map → tailwind.mixin-N1MaFaUo.js.map} +1 -1
  271. package/dist/teleport.cjs +1 -1
  272. package/dist/teleport.js +1 -1
  273. package/dist/{textarea-HnoNbteD.js → textarea-BDivoZfH.js} +2 -2
  274. package/dist/{textarea-HnoNbteD.js.map → textarea-BDivoZfH.js.map} +1 -1
  275. package/dist/{textarea-BIWsJYHo.cjs → textarea-DsqzyNLB.cjs} +2 -2
  276. package/dist/{textarea-BIWsJYHo.cjs.map → textarea-DsqzyNLB.cjs.map} +1 -1
  277. package/dist/textarea.cjs +1 -1
  278. package/dist/textarea.js +1 -1
  279. package/dist/{theme-button-CQtvf5rQ.js → theme-button-Dd344f5C.js} +2 -2
  280. package/dist/{theme-button-CQtvf5rQ.js.map → theme-button-Dd344f5C.js.map} +1 -1
  281. package/dist/{theme-button-B47eE2NA.cjs → theme-button-i1gafNgr.cjs} +2 -2
  282. package/dist/{theme-button-B47eE2NA.cjs.map → theme-button-i1gafNgr.cjs.map} +1 -1
  283. package/dist/theme-button.cjs +1 -1
  284. package/dist/theme-button.js +1 -1
  285. package/dist/{theme-controller-boat-BTwkKrkd.cjs → theme-controller-boat-CpyUG712.cjs} +2 -2
  286. package/dist/{theme-controller-boat-BTwkKrkd.cjs.map → theme-controller-boat-CpyUG712.cjs.map} +1 -1
  287. package/dist/{theme-controller-boat-BF-9PmFY.js → theme-controller-boat-aZ_v5n-0.js} +3 -3
  288. package/dist/{theme-controller-boat-BF-9PmFY.js.map → theme-controller-boat-aZ_v5n-0.js.map} +1 -1
  289. package/dist/theme.cjs +1 -1
  290. package/dist/theme.js +1 -1
  291. package/dist/{timezone-4RUcnYyR.cjs → timezone-T8C73VAV.cjs} +2 -2
  292. package/dist/{timezone-4RUcnYyR.cjs.map → timezone-T8C73VAV.cjs.map} +1 -1
  293. package/dist/{timezone-W0NClemY.js → timezone-aOO7z9Qo.js} +3 -3
  294. package/dist/{timezone-W0NClemY.js.map → timezone-aOO7z9Qo.js.map} +1 -1
  295. package/dist/{tooltip-CUJ21qgG.cjs → tooltip-CdhFhx_T.cjs} +2 -2
  296. package/dist/{tooltip-CUJ21qgG.cjs.map → tooltip-CdhFhx_T.cjs.map} +1 -1
  297. package/dist/{tooltip-BNaxRCyZ.js → tooltip-Dn_MGXjw.js} +2 -2
  298. package/dist/{tooltip-BNaxRCyZ.js.map → tooltip-Dn_MGXjw.js.map} +1 -1
  299. package/dist/tooltip.cjs +1 -1
  300. package/dist/tooltip.js +1 -1
  301. package/dist/{tree-Bt5grLhM.cjs → tree-BCKEHEwK.cjs} +2 -2
  302. package/dist/{tree-Bt5grLhM.cjs.map → tree-BCKEHEwK.cjs.map} +1 -1
  303. package/dist/{tree-YcyL10ct.js → tree-Dcob4BMm.js} +2 -2
  304. package/dist/{tree-YcyL10ct.js.map → tree-Dcob4BMm.js.map} +1 -1
  305. package/dist/tree.cjs +1 -1
  306. package/dist/tree.js +1 -1
  307. package/dist/{typewriter-CePISW4C.cjs → typewriter-BQuKztry.cjs} +2 -2
  308. package/dist/{typewriter-CePISW4C.cjs.map → typewriter-BQuKztry.cjs.map} +1 -1
  309. package/dist/{typewriter-ZlQ0l08y.js → typewriter-Cd-6RBof.js} +4 -4
  310. package/dist/{typewriter-ZlQ0l08y.js.map → typewriter-Cd-6RBof.js.map} +1 -1
  311. package/dist/typewriter.cjs +1 -1
  312. package/dist/typewriter.js +1 -1
  313. package/dist/{typography-CMrtj1dN.js → typography-B8r6CRfv.js} +2 -2
  314. package/dist/{typography-CMrtj1dN.js.map → typography-B8r6CRfv.js.map} +1 -1
  315. package/dist/{typography-ooHH_FZc.cjs → typography-BYjA_BbW.cjs} +2 -2
  316. package/dist/{typography-ooHH_FZc.cjs.map → typography-BYjA_BbW.cjs.map} +1 -1
  317. package/dist/typography.cjs +1 -1
  318. package/dist/typography.js +1 -1
  319. package/package.json +1 -1
  320. package/dist/tailwind.mixin-D9gOO2Zy.js +0 -66
  321. package/dist/tailwind.mixin-Dn3V28jr.cjs +0 -2
package/ai/theme.md CHANGED
@@ -197,26 +197,30 @@ The theme service generates a COMPLETE M3 design system with hundreds of tokens:
197
197
 
198
198
  ### Extended Color System
199
199
 
200
- Beyond primary/secondary/tertiary/error, the theme includes:
200
+ Beyond primary/secondary/tertiary/error, the theme includes complete semantic color palettes:
201
201
 
202
202
  ```typescript
203
- // Additional semantic colors
204
- theme.theme.success // Success states (#006E1C base)
205
- theme.theme.onSuccess // Text on success backgrounds
206
- theme.theme.successContainer
207
- theme.theme.onSuccessContainer
208
-
209
- theme.theme.warning // Warning states (#FFB800 base)
210
- theme.theme.onWarning
211
- theme.theme.warningContainer
212
- theme.theme.onWarningContainer
213
-
214
- theme.theme.info // Info states (#0061A4 base)
215
- theme.theme.onInfo
216
- theme.theme.infoContainer
217
- theme.theme.onInfoContainer
203
+ // Success - Green palette for success states
204
+ theme.theme.sys.color.success.default // Success default (#006E1C base)
205
+ theme.theme.sys.color.success.on // Text on success backgrounds
206
+ theme.theme.sys.color.success.container // Success container backgrounds
207
+ theme.theme.sys.color.success.onContainer // Text on success containers
208
+
209
+ // Warning - Amber/Yellow palette for warning states
210
+ theme.theme.sys.color.warning.default // Warning default (#FFD600 base)
211
+ theme.theme.sys.color.warning.on // Text on warning backgrounds
212
+ theme.theme.sys.color.warning.container // Warning container backgrounds
213
+ theme.theme.sys.color.warning.onContainer // Text on warning containers
214
+
215
+ // Info - Blue palette for informational states
216
+ theme.theme.sys.color.info.default // Info default (#2979FF base)
217
+ theme.theme.sys.color.info.on // Text on info backgrounds
218
+ theme.theme.sys.color.info.container // Info container backgrounds
219
+ theme.theme.sys.color.info.onContainer // Text on info containers
218
220
  ```
219
221
 
222
+ **Note**: All color roles follow the same pattern: `default`, `on`, `container`, `onContainer`
223
+
220
224
  ### Surface System
221
225
 
222
226
  Complete surface hierarchy with proper elevation:
@@ -576,6 +580,95 @@ export class ThemeChart extends $LitElement() {
576
580
  }
577
581
  ```
578
582
 
583
+ ## Tailwind Utility Classes
584
+
585
+ All theme colors are available as Tailwind utility classes with convenient aliases:
586
+
587
+ ### Color Utility Aliases
588
+
589
+ Base color names (e.g., `bg-primary`, `text-error`) are **aliases** to their `-default` variants:
590
+
591
+ ```html
592
+ <!-- These are IDENTICAL -->
593
+ <div class="bg-primary">Primary</div>
594
+ <div class="bg-primary-default">Primary</div>
595
+
596
+ <div class="text-error">Error</div>
597
+ <div class="text-error-default">Error</div>
598
+
599
+ <div class="bg-warning">Warning</div>
600
+ <div class="bg-warning-default">Warning</div>
601
+
602
+ <div class="border-success">Success</div>
603
+ <div class="border-success-default">Success</div>
604
+ ```
605
+
606
+ ### All Available Color Utilities
607
+
608
+ **Core Colors** (primary, secondary, tertiary):
609
+ ```html
610
+ <!-- Background utilities -->
611
+ <div class="bg-primary">Primary</div>
612
+ <div class="bg-primary-default">Primary default (same as above)</div>
613
+ <div class="bg-primary-container">Primary container</div>
614
+ <div class="bg-on-primary">On primary</div>
615
+ <div class="bg-on-primary-container">On primary container</div>
616
+
617
+ <!-- Text utilities (same pattern) -->
618
+ <div class="text-secondary">Secondary text</div>
619
+ <div class="text-secondary-container">Secondary container text</div>
620
+
621
+ <!-- Border utilities (same pattern) -->
622
+ <div class="border-tertiary">Tertiary border</div>
623
+ ```
624
+
625
+ **Semantic Colors** (error, warning, success, info):
626
+ ```html
627
+ <!-- Error -->
628
+ <div class="bg-error">Error</div>
629
+ <div class="bg-error-container">Error container</div>
630
+ <div class="text-error">Error text</div>
631
+ <div class="text-on-error">On error text</div>
632
+
633
+ <!-- Warning -->
634
+ <div class="bg-warning">Warning</div>
635
+ <div class="bg-warning-container">Warning container</div>
636
+ <div class="text-warning">Warning text</div>
637
+ <div class="border-warning">Warning border</div>
638
+
639
+ <!-- Success -->
640
+ <div class="bg-success">Success</div>
641
+ <div class="bg-success-container">Success container</div>
642
+
643
+ <!-- Info -->
644
+ <div class="bg-info">Info</div>
645
+ <div class="bg-info-container">Info container</div>
646
+ ```
647
+
648
+ **All utilities support standard Tailwind prefixes**:
649
+ - `bg-*` - Background colors
650
+ - `text-*` - Text colors
651
+ - `border-*` - Border colors
652
+ - `ring-*` - Ring colors
653
+ - `decoration-*` - Text decoration colors
654
+ - `divide-*` - Divider colors
655
+ - `outline-*` - Outline colors
656
+ - `fill-*` - SVG fill colors
657
+ - `stroke-*` - SVG stroke colors
658
+
659
+ ### Pattern Summary
660
+
661
+ Every color role has **four variants**:
662
+ 1. `{color}` or `{color}-default` - Main color (aliases)
663
+ 2. `on-{color}` - Text/content on the color
664
+ 3. `{color}-container` - Container/background variant
665
+ 4. `on-{color}-container` - Text/content on container
666
+
667
+ Applied to all colors:
668
+ - **Core**: `primary`, `secondary`, `tertiary`
669
+ - **Semantic**: `error`, `warning`, `success`, `info`
670
+ - **Surfaces**: `surface`, `surface-dim`, `surface-bright`, `surface-container-*`
671
+
579
672
  ## Complete CSS Variable Reference
580
673
 
581
674
  All tokens are available as CSS variables with `--schmancy-` prefix:
@@ -992,7 +1085,8 @@ theme.setColor('#6750A4') // Generates 100+ tokens
992
1085
  ## Summary
993
1086
 
994
1087
  The theme service provides a complete Material Design 3 implementation with:
995
- - 🎨 **Extended color system** with semantic colors
1088
+ - 🎨 **Extended color system** with semantic colors (error, warning, success, info)
1089
+ - 🎨 **Tailwind utilities** with convenient aliases (`bg-primary` = `bg-primary-default`)
996
1090
  - 📐 **Complete surface hierarchy** for proper elevation
997
1091
  - 🔤 **Full typography scale** across 5 categories
998
1092
  - 🎬 **Sophisticated motion system** with easing and duration
@@ -1003,4 +1097,11 @@ The theme service provides a complete Material Design 3 implementation with:
1003
1097
  - 🎯 **Ready-to-use controls** component
1004
1098
  - ⚡ **Reactive observables** for all properties
1005
1099
 
1006
- Use the theme service as your single source of truth for all design tokens and theming needs.
1100
+ Use the theme service as your single source of truth for all design tokens and theming needs.
1101
+
1102
+ ### Quick Reference
1103
+
1104
+ **Colors**: primary, secondary, tertiary, error, warning, success, info
1105
+ **Each color has**: default, on, container, onContainer variants
1106
+ **Tailwind**: All colors work with bg-*, text-*, border-*, ring-* prefixes
1107
+ **Aliases**: Base names (e.g., `bg-error`) automatically resolve to `-default` variants
package/dist/ai/theme.md CHANGED
@@ -197,26 +197,30 @@ The theme service generates a COMPLETE M3 design system with hundreds of tokens:
197
197
 
198
198
  ### Extended Color System
199
199
 
200
- Beyond primary/secondary/tertiary/error, the theme includes:
200
+ Beyond primary/secondary/tertiary/error, the theme includes complete semantic color palettes:
201
201
 
202
202
  ```typescript
203
- // Additional semantic colors
204
- theme.theme.success // Success states (#006E1C base)
205
- theme.theme.onSuccess // Text on success backgrounds
206
- theme.theme.successContainer
207
- theme.theme.onSuccessContainer
208
-
209
- theme.theme.warning // Warning states (#FFB800 base)
210
- theme.theme.onWarning
211
- theme.theme.warningContainer
212
- theme.theme.onWarningContainer
213
-
214
- theme.theme.info // Info states (#0061A4 base)
215
- theme.theme.onInfo
216
- theme.theme.infoContainer
217
- theme.theme.onInfoContainer
203
+ // Success - Green palette for success states
204
+ theme.theme.sys.color.success.default // Success default (#006E1C base)
205
+ theme.theme.sys.color.success.on // Text on success backgrounds
206
+ theme.theme.sys.color.success.container // Success container backgrounds
207
+ theme.theme.sys.color.success.onContainer // Text on success containers
208
+
209
+ // Warning - Amber/Yellow palette for warning states
210
+ theme.theme.sys.color.warning.default // Warning default (#FFD600 base)
211
+ theme.theme.sys.color.warning.on // Text on warning backgrounds
212
+ theme.theme.sys.color.warning.container // Warning container backgrounds
213
+ theme.theme.sys.color.warning.onContainer // Text on warning containers
214
+
215
+ // Info - Blue palette for informational states
216
+ theme.theme.sys.color.info.default // Info default (#2979FF base)
217
+ theme.theme.sys.color.info.on // Text on info backgrounds
218
+ theme.theme.sys.color.info.container // Info container backgrounds
219
+ theme.theme.sys.color.info.onContainer // Text on info containers
218
220
  ```
219
221
 
222
+ **Note**: All color roles follow the same pattern: `default`, `on`, `container`, `onContainer`
223
+
220
224
  ### Surface System
221
225
 
222
226
  Complete surface hierarchy with proper elevation:
@@ -576,6 +580,95 @@ export class ThemeChart extends $LitElement() {
576
580
  }
577
581
  ```
578
582
 
583
+ ## Tailwind Utility Classes
584
+
585
+ All theme colors are available as Tailwind utility classes with convenient aliases:
586
+
587
+ ### Color Utility Aliases
588
+
589
+ Base color names (e.g., `bg-primary`, `text-error`) are **aliases** to their `-default` variants:
590
+
591
+ ```html
592
+ <!-- These are IDENTICAL -->
593
+ <div class="bg-primary">Primary</div>
594
+ <div class="bg-primary-default">Primary</div>
595
+
596
+ <div class="text-error">Error</div>
597
+ <div class="text-error-default">Error</div>
598
+
599
+ <div class="bg-warning">Warning</div>
600
+ <div class="bg-warning-default">Warning</div>
601
+
602
+ <div class="border-success">Success</div>
603
+ <div class="border-success-default">Success</div>
604
+ ```
605
+
606
+ ### All Available Color Utilities
607
+
608
+ **Core Colors** (primary, secondary, tertiary):
609
+ ```html
610
+ <!-- Background utilities -->
611
+ <div class="bg-primary">Primary</div>
612
+ <div class="bg-primary-default">Primary default (same as above)</div>
613
+ <div class="bg-primary-container">Primary container</div>
614
+ <div class="bg-on-primary">On primary</div>
615
+ <div class="bg-on-primary-container">On primary container</div>
616
+
617
+ <!-- Text utilities (same pattern) -->
618
+ <div class="text-secondary">Secondary text</div>
619
+ <div class="text-secondary-container">Secondary container text</div>
620
+
621
+ <!-- Border utilities (same pattern) -->
622
+ <div class="border-tertiary">Tertiary border</div>
623
+ ```
624
+
625
+ **Semantic Colors** (error, warning, success, info):
626
+ ```html
627
+ <!-- Error -->
628
+ <div class="bg-error">Error</div>
629
+ <div class="bg-error-container">Error container</div>
630
+ <div class="text-error">Error text</div>
631
+ <div class="text-on-error">On error text</div>
632
+
633
+ <!-- Warning -->
634
+ <div class="bg-warning">Warning</div>
635
+ <div class="bg-warning-container">Warning container</div>
636
+ <div class="text-warning">Warning text</div>
637
+ <div class="border-warning">Warning border</div>
638
+
639
+ <!-- Success -->
640
+ <div class="bg-success">Success</div>
641
+ <div class="bg-success-container">Success container</div>
642
+
643
+ <!-- Info -->
644
+ <div class="bg-info">Info</div>
645
+ <div class="bg-info-container">Info container</div>
646
+ ```
647
+
648
+ **All utilities support standard Tailwind prefixes**:
649
+ - `bg-*` - Background colors
650
+ - `text-*` - Text colors
651
+ - `border-*` - Border colors
652
+ - `ring-*` - Ring colors
653
+ - `decoration-*` - Text decoration colors
654
+ - `divide-*` - Divider colors
655
+ - `outline-*` - Outline colors
656
+ - `fill-*` - SVG fill colors
657
+ - `stroke-*` - SVG stroke colors
658
+
659
+ ### Pattern Summary
660
+
661
+ Every color role has **four variants**:
662
+ 1. `{color}` or `{color}-default` - Main color (aliases)
663
+ 2. `on-{color}` - Text/content on the color
664
+ 3. `{color}-container` - Container/background variant
665
+ 4. `on-{color}-container` - Text/content on container
666
+
667
+ Applied to all colors:
668
+ - **Core**: `primary`, `secondary`, `tertiary`
669
+ - **Semantic**: `error`, `warning`, `success`, `info`
670
+ - **Surfaces**: `surface`, `surface-dim`, `surface-bright`, `surface-container-*`
671
+
579
672
  ## Complete CSS Variable Reference
580
673
 
581
674
  All tokens are available as CSS variables with `--schmancy-` prefix:
@@ -992,7 +1085,8 @@ theme.setColor('#6750A4') // Generates 100+ tokens
992
1085
  ## Summary
993
1086
 
994
1087
  The theme service provides a complete Material Design 3 implementation with:
995
- - 🎨 **Extended color system** with semantic colors
1088
+ - 🎨 **Extended color system** with semantic colors (error, warning, success, info)
1089
+ - 🎨 **Tailwind utilities** with convenient aliases (`bg-primary` = `bg-primary-default`)
996
1090
  - 📐 **Complete surface hierarchy** for proper elevation
997
1091
  - 🔤 **Full typography scale** across 5 categories
998
1092
  - 🎬 **Sophisticated motion system** with easing and duration
@@ -1003,4 +1097,11 @@ The theme service provides a complete Material Design 3 implementation with:
1003
1097
  - 🎯 **Ready-to-use controls** component
1004
1098
  - ⚡ **Reactive observables** for all properties
1005
1099
 
1006
- Use the theme service as your single source of truth for all design tokens and theming needs.
1100
+ Use the theme service as your single source of truth for all design tokens and theming needs.
1101
+
1102
+ ### Quick Reference
1103
+
1104
+ **Colors**: primary, secondary, tertiary, error, warning, success, info
1105
+ **Each color has**: default, on, container, onContainer variants
1106
+ **Tailwind**: All colors work with bg-*, text-*, border-*, ring-* prefixes
1107
+ **Aliases**: Base names (e.g., `bg-error`) automatically resolve to `-default` variants
@@ -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-D9gOO2Zy.js";
7
- import { $ as Z } from "./litElement.mixin-BkJ5xSe0.js";
6
+ import "./tailwind.mixin-N1MaFaUo.js";
7
+ import { $ as Z } from "./litElement.mixin-DYomCqIu.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-CXkLixsn.js.map
76
+ //# sourceMappingURL=animated-text-B8iGYrYI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"animated-text-CXkLixsn.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-B8iGYrYI.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-Dn3V28jr.cjs");const h=require("./litElement.mixin-ByATw3mZ.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-I9Q1jeEr.cjs");const h=require("./litElement.mixin-BfKE8dJc.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-DwlmOCAu.cjs.map
37
+ //# sourceMappingURL=animated-text-Cp_4seiu.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"animated-text-DwlmOCAu.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-Cp_4seiu.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-DwlmOCAu.cjs");
1
+ "use strict";require("./animated-text-Cp_4seiu.cjs");
2
2
  //# sourceMappingURL=animated-text.cjs.map
@@ -1,2 +1,2 @@
1
- import "./animated-text-CXkLixsn.js";
1
+ import "./animated-text-B8iGYrYI.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-DLKsm0cJ.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-CCwwAl-Y.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-Dn3V28jr.cjs");const A=require("./litElement.mixin-ByATw3mZ.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(t=>{this.disposed||t.forEach((e,r)=>{this.getOrCreateAreaSubject(r).next(e)})}),this.initializeFromBrowserState(),typeof window<"u"&&(this.unloadSubscription=s.fromEvent(window,"unload").subscribe(()=>{this.dispose()}))}get areaSubjects(){let t=O.get(this);return t||(t=new Map,O.set(this,t)),t}initializeFromBrowserState(){try{const t=history.state;t&&t.schmancyAreas&&(Object.entries(t.schmancyAreas).forEach(([e,r])=>{this.current.set(e,r)}),this.$current.next(this.current))}catch{}}getOrCreateAreaSubject(t){let e=this.areaSubjects.get(t);if(!e||e.closed){e=new s.ReplaySubject(1),this.areaSubjects.set(t,e);const r=this.current.get(t);r&&e.next({...r,state:r.state||{},params:r.params||{},props:r.props||{}})}return e}on(t,e=!1){if(!t)throw new Error("Area name is required");const r=this.getOrCreateAreaSubject(t).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)&&JSON.stringify(i.props)===JSON.stringify(n.props)),s.shareReplay(1));return e?r.pipe(s.skip(1)):r}all(t=!1){const e=this.$current.asObservable().pipe(s.shareReplay(1));return t?e.pipe(s.skip(1)):e}getState(t){if(!t)throw new Error("Area name is required");return this.on(t).pipe(s.map(e=>e.state),s.filter(e=>e!=null),s.distinctUntilChanged((e,r)=>JSON.stringify(e)===JSON.stringify(r)),s.map(e=>e),s.catchError(e=>s.EMPTY))}params(t){if(!t)throw new Error("Area name is required");return this.on(t).pipe(s.map(e=>e.params),s.filter(e=>e!=null),s.distinctUntilChanged((e,r)=>JSON.stringify(e)===JSON.stringify(r)),s.map(e=>e),s.catchError(e=>s.EMPTY))}param(t,e){if(!t||!e)throw new Error("Area name and key are required");return this.params(t).pipe(s.map(r=>r[e]),s.filter(r=>r!==void 0),s.distinctUntilChanged(),s.map(r=>r),s.catchError(r=>s.EMPTY))}props(t){if(!t)throw new Error("Area name is required");return this.on(t).pipe(s.map(e=>e.props),s.filter(e=>e!=null),s.distinctUntilChanged((e,r)=>JSON.stringify(e)===JSON.stringify(r)),s.map(e=>e),s.catchError(e=>s.EMPTY))}prop(t,e){if(!t||!e)throw new Error("Area name and key are required");return this.props(t).pipe(s.map(r=>r[e]),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(t=>t.detail),s.bufferTime(0)),s.of(1).pipe(s.tap(()=>window.dispatchEvent(this.findingMortiesEvent)))]).pipe(s.map(([t])=>t),s.timeout(1),s.catchError(()=>s.EMPTY))}push(t){if(!t.area)throw new Error("Area is required for route action");if(this.isProcessingPopstate)return;const e={...t,state:t.state||{},params:t.params||{},props:t.props||{},_source:"programmatic"};this.enableHistoryMode&&R.next(e),this.request.next(e),this.dispatchAreaEvent(e.area,e)}_updateFromBrowser(t){const e={...t,state:t.state||{},params:t.params||{},props:t.props||{},_source:"browser"};this.isProcessingPopstate=!0,this.request.next(e),this.isProcessingPopstate=!1}_updateBrowserHistory(t,e,r,i){if(this.enableHistoryMode)try{const n=history.state||{},o=n.schmancyAreas||{},h={component:e.component,area:e.area};e.state&&Object.keys(e.state).length>0&&(h.state=e.state),e.params&&Object.keys(e.params).length>0&&(h.params=e.params),e.props&&Object.keys(e.props).length>0&&(h.props=e.props),o[t]=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(t,e){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(e!==!0){const c=new URLSearchParams(location.search);Array.isArray(e)&&e.forEach(l=>c.delete(l)),h=c.toString(),h=h?`?${h}`:""}if(this.prettyURL){const c=t.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(t).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(t){try{if(t&&t.schmancyAreas)return t.schmancyAreas}catch{}return this.parseStateFromURL()}parseStateFromURL(){const t=location.pathname.split("/").pop();if(!t)return{};try{const e=decodeURIComponent(t),r=JSON.parse(e);if(typeof r=="object"&&r!==null)return r}catch{}return{}}dispatchAreaEvent(t,e){const r=new CustomEvent(`schmancy-area-${t}-changed`,{detail:{area:t,component:e.component,state:e.state,params:e.params,props:e.props,historyStrategy:e.historyStrategy},bubbles:!0,composed:!0});window.dispatchEvent(r)}pop(t){if(!t)throw new Error("Area name is required");const e=this.areaSubjects.get(t);if(e&&!e.closed&&e.next({component:null,state:{},area:t,params:{},props:{}}),this.request.next({area:t,component:null,state:{},params:{},props:{},historyStrategy:"silent",_source:"programmatic"}),this.current.delete(t),this.$current.next(this.current),this.enableHistoryMode)try{const r=history.state||{},i={...r.schmancyAreas||{}};delete i[t];const n={...r,schmancyAreas:i},o=this.createCleanURL(i);history.replaceState(n,"",o)}catch{}}clear(){if(this.areaSubjects.forEach(t=>t.complete()),this.areaSubjects.clear(),this.current.clear(),this.$current.next(this.current),this.enableHistoryMode){const t=this.createCleanURL({});history.replaceState({schmancyAreas:{}},"",t)}}dispose(){this.disposed||(this.disposed=!0,this.unloadSubscription&&(this.unloadSubscription.unsubscribe(),this.unloadSubscription=void 0),this.areaSubjects.forEach(t=>t.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 t=history.state;if(t&&t.schmancyAreas)return t.schmancyAreas}catch{}return this.parseStateFromURL()}hasArea(t){return this.current.has(t)}getActiveAreas(){return Array.from(this.current.keys())}getRoute(t){return this.current.get(t)}}const y=f.getInstance();var v=Object.defineProperty,$=Object.getOwnPropertyDescriptor,g=(a,t,e,r)=>{for(var i,n=r>1?void 0:r?$(t,e):t,o=a.length-1;o>=0;o--)(i=a[o])&&(n=(r?i(t,e,n):i(n))||n);return r&&n&&v(t,e,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-I9Q1jeEr.cjs");const A=require("./litElement.mixin-BfKE8dJc.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(t=>{this.disposed||t.forEach((e,r)=>{this.getOrCreateAreaSubject(r).next(e)})}),this.initializeFromBrowserState(),typeof window<"u"&&(this.unloadSubscription=s.fromEvent(window,"unload").subscribe(()=>{this.dispose()}))}get areaSubjects(){let t=O.get(this);return t||(t=new Map,O.set(this,t)),t}initializeFromBrowserState(){try{const t=history.state;t&&t.schmancyAreas&&(Object.entries(t.schmancyAreas).forEach(([e,r])=>{this.current.set(e,r)}),this.$current.next(this.current))}catch{}}getOrCreateAreaSubject(t){let e=this.areaSubjects.get(t);if(!e||e.closed){e=new s.ReplaySubject(1),this.areaSubjects.set(t,e);const r=this.current.get(t);r&&e.next({...r,state:r.state||{},params:r.params||{},props:r.props||{}})}return e}on(t,e=!1){if(!t)throw new Error("Area name is required");const r=this.getOrCreateAreaSubject(t).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)&&JSON.stringify(i.props)===JSON.stringify(n.props)),s.shareReplay(1));return e?r.pipe(s.skip(1)):r}all(t=!1){const e=this.$current.asObservable().pipe(s.shareReplay(1));return t?e.pipe(s.skip(1)):e}getState(t){if(!t)throw new Error("Area name is required");return this.on(t).pipe(s.map(e=>e.state),s.filter(e=>e!=null),s.distinctUntilChanged((e,r)=>JSON.stringify(e)===JSON.stringify(r)),s.map(e=>e),s.catchError(e=>s.EMPTY))}params(t){if(!t)throw new Error("Area name is required");return this.on(t).pipe(s.map(e=>e.params),s.filter(e=>e!=null),s.distinctUntilChanged((e,r)=>JSON.stringify(e)===JSON.stringify(r)),s.map(e=>e),s.catchError(e=>s.EMPTY))}param(t,e){if(!t||!e)throw new Error("Area name and key are required");return this.params(t).pipe(s.map(r=>r[e]),s.filter(r=>r!==void 0),s.distinctUntilChanged(),s.map(r=>r),s.catchError(r=>s.EMPTY))}props(t){if(!t)throw new Error("Area name is required");return this.on(t).pipe(s.map(e=>e.props),s.filter(e=>e!=null),s.distinctUntilChanged((e,r)=>JSON.stringify(e)===JSON.stringify(r)),s.map(e=>e),s.catchError(e=>s.EMPTY))}prop(t,e){if(!t||!e)throw new Error("Area name and key are required");return this.props(t).pipe(s.map(r=>r[e]),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(t=>t.detail),s.bufferTime(0)),s.of(1).pipe(s.tap(()=>window.dispatchEvent(this.findingMortiesEvent)))]).pipe(s.map(([t])=>t),s.timeout(1),s.catchError(()=>s.EMPTY))}push(t){if(!t.area)throw new Error("Area is required for route action");if(this.isProcessingPopstate)return;const e={...t,state:t.state||{},params:t.params||{},props:t.props||{},_source:"programmatic"};this.enableHistoryMode&&R.next(e),this.request.next(e),this.dispatchAreaEvent(e.area,e)}_updateFromBrowser(t){const e={...t,state:t.state||{},params:t.params||{},props:t.props||{},_source:"browser"};this.isProcessingPopstate=!0,this.request.next(e),this.isProcessingPopstate=!1}_updateBrowserHistory(t,e,r,i){if(this.enableHistoryMode)try{const n=history.state||{},o=n.schmancyAreas||{},h={component:e.component,area:e.area};e.state&&Object.keys(e.state).length>0&&(h.state=e.state),e.params&&Object.keys(e.params).length>0&&(h.params=e.params),e.props&&Object.keys(e.props).length>0&&(h.props=e.props),o[t]=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(t,e){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(e!==!0){const c=new URLSearchParams(location.search);Array.isArray(e)&&e.forEach(l=>c.delete(l)),h=c.toString(),h=h?`?${h}`:""}if(this.prettyURL){const c=t.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(t).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(t){try{if(t&&t.schmancyAreas)return t.schmancyAreas}catch{}return this.parseStateFromURL()}parseStateFromURL(){const t=location.pathname.split("/").pop();if(!t)return{};try{const e=decodeURIComponent(t),r=JSON.parse(e);if(typeof r=="object"&&r!==null)return r}catch{}return{}}dispatchAreaEvent(t,e){const r=new CustomEvent(`schmancy-area-${t}-changed`,{detail:{area:t,component:e.component,state:e.state,params:e.params,props:e.props,historyStrategy:e.historyStrategy},bubbles:!0,composed:!0});window.dispatchEvent(r)}pop(t){if(!t)throw new Error("Area name is required");const e=this.areaSubjects.get(t);if(e&&!e.closed&&e.next({component:null,state:{},area:t,params:{},props:{}}),this.request.next({area:t,component:null,state:{},params:{},props:{},historyStrategy:"silent",_source:"programmatic"}),this.current.delete(t),this.$current.next(this.current),this.enableHistoryMode)try{const r=history.state||{},i={...r.schmancyAreas||{}};delete i[t];const n={...r,schmancyAreas:i},o=this.createCleanURL(i);history.replaceState(n,"",o)}catch{}}clear(){if(this.areaSubjects.forEach(t=>t.complete()),this.areaSubjects.clear(),this.current.clear(),this.$current.next(this.current),this.enableHistoryMode){const t=this.createCleanURL({});history.replaceState({schmancyAreas:{}},"",t)}}dispose(){this.disposed||(this.disposed=!0,this.unloadSubscription&&(this.unloadSubscription.unsubscribe(),this.unloadSubscription=void 0),this.areaSubjects.forEach(t=>t.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 t=history.state;if(t&&t.schmancyAreas)return t.schmancyAreas}catch{}return this.parseStateFromURL()}hasArea(t){return this.current.has(t)}getActiveAreas(){return Array.from(this.current.keys())}getRoute(t){return this.current.get(t)}}const y=f.getInstance();var v=Object.defineProperty,$=Object.getOwnPropertyDescriptor,g=(a,t,e,r)=>{for(var i,n=r>1?void 0:r?$(t,e):t,o=a.length-1;o>=0;o--)(i=a[o])&&(n=(r?i(t,e,n):i(n))||n);return r&&n&&v(t,e,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,t=a.split("/").pop()||"";if(t&&(t.includes("{")||t.includes("%7B")))try{const r=JSON.parse(decodeURIComponent(t));if(r[this.name])return{area:this.name,component:r[this.name].component,state:r[this.name].state||{},params:r[this.name].params||{},props:r[this.name].props||{},historyStrategy:m.replace}}catch{}const e=a.split("/").filter(Boolean).find(r=>this.routes?.some(i=>i.when===r));return e?{area:this.name,component:e,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||{},props:r.props||{},historyStrategy:m.pop}}const a=location.pathname,t=a.split("/").pop()||"";if(t&&(t.includes("{")||t.includes("%7B")))try{const r=JSON.parse(decodeURIComponent(t));if(r[this.name])return{area:this.name,component:r[this.name].component,state:r[this.name].state||{},params:r[this.name].params||{},props:r[this.name].props||{},historyStrategy:m.replace}}catch{}const e=a.split("/").filter(Boolean).find(r=>this.routes?.some(i=>i.when===r));return e?{area:this.name,component:e,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 t,e=a.component;if(typeof e=="string"&&this.routes)t=this.routes.find(r=>r.when===e),t&&(e=t.component);else if(typeof e=="function"&&this.routes)t=this.routes.find(r=>r.component===e);else if(e instanceof HTMLElement&&this.routes){const r=e.tagName.toLowerCase();t=this.routes.find(i=>i.when===r)}return{...a,component:e,matchedRoute:t}}),s.switchMap(a=>a.matchedRoute?.guard?a.matchedRoute.guard.pipe(s.switchMap(t=>{if(t===!0)return s.of(a);const e=new CustomEvent("redirect",{detail:{blockedRoute:a.matchedRoute?.when||"unknown",area:this.name,params:a.params||{},state:a.state||{},redirectTarget:typeof t=="object"?t:void 0},bubbles:!0,composed:!0});return a.matchedRoute.dispatchEvent(e),s.EMPTY})):s.of(a)),s.switchMap(async a=>{let t=a.component;if(typeof t=="function"&&("preload"in t||"_promise"in t||"_module"in t))try{t=(await t()).default}catch{return{...a,component:null}}return{...a,component:t}}),s.map(a=>{let t="";const e=a.component;e&&e!==""?typeof e=="string"?t=e:e instanceof HTMLElement?t=e.tagName.toLowerCase():typeof e=="function"&&(t=e.name||"CustomElement"):t="null";const r=`${t}${JSON.stringify(a.params)}${JSON.stringify(a.state)}${JSON.stringify(a.props)}`;return{...a,key:r,tagName:t}}),s.distinctUntilChanged((a,t)=>a.key===t.key),s.map(a=>{let t=null;const e=a.component;if(e&&e!==""){if(typeof e=="string")try{t=document.createElement(e)}catch{}else if(e instanceof HTMLElement)t=e;else if(typeof e=="function")try{t=new e}catch{}}else t=null;return t&&(a.params&&Object.assign(t,a.params),a.props&&Object.assign(t,a.props),a.state&&(t.state=a.state)),{element:t,route:a}}),s.shareReplay(1),s.tap(({element:a,route:t})=>this.swapComponents(a,t)),s.catchError(a=>s.EMPTY),s.takeUntil(this.disconnecting)).subscribe()}swapComponents(a,t){const e=Array.from(this.children).find(i=>!(i instanceof exports.SchmancyRoute));if(!a)return void e?.remove();e?e.animate([{opacity:1},{opacity:0}],{duration:150,easing:"ease-out"}).onfinish=()=>{e.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:t.state||{},area:this.name,params:t.params||{},props:t.props||{}};y.current.set(this.name,r),y.$current.next(y.current),y.enableHistoryMode&&y._updateBrowserHistory(this.name,r,t.historyStrategy||m.push,t.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-DLKsm0cJ.cjs.map
12
+ //# sourceMappingURL=area.component-CCwwAl-Y.cjs.map