@mhmo91/schmancy 0.4.8 → 0.4.10

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 (306) hide show
  1. package/ai/button.md +6 -3
  2. package/ai/code-highlight.md +239 -0
  3. package/ai/countries.md +270 -0
  4. package/ai/dialog.md +22 -3
  5. package/ai/directives.md +237 -0
  6. package/ai/input.md +99 -55
  7. package/ai/payment-card-form.md +241 -0
  8. package/ai/surface.md +1 -1
  9. package/ai/timezone.md +275 -0
  10. package/ai/typography.md +78 -43
  11. package/dist/ai/button.md +6 -3
  12. package/dist/ai/code-highlight.md +239 -0
  13. package/dist/ai/countries.md +270 -0
  14. package/dist/ai/dialog.md +22 -3
  15. package/dist/ai/directives.md +237 -0
  16. package/dist/ai/input.md +99 -55
  17. package/dist/ai/payment-card-form.md +241 -0
  18. package/dist/ai/surface.md +1 -1
  19. package/dist/ai/timezone.md +275 -0
  20. package/dist/ai/typography.md +78 -43
  21. package/dist/{animated-text-BqZjMyzb.js → animated-text-Be02uXuq.js} +3 -3
  22. package/dist/{animated-text-BqZjMyzb.js.map → animated-text-Be02uXuq.js.map} +1 -1
  23. package/dist/{animated-text-CgY-L1nI.cjs → animated-text-Dh_Ony1b.cjs} +2 -2
  24. package/dist/{animated-text-CgY-L1nI.cjs.map → animated-text-Dh_Ony1b.cjs.map} +1 -1
  25. package/dist/animated-text.cjs +1 -1
  26. package/dist/animated-text.js +1 -1
  27. package/dist/area.cjs +1 -1
  28. package/dist/{area.component-B7U96CpD.js → area.component-CVYJtXrI.js} +3 -3
  29. package/dist/{area.component-B7U96CpD.js.map → area.component-CVYJtXrI.js.map} +1 -1
  30. package/dist/{area.component-Zbs-bAJV.cjs → area.component-DTc1TOLd.cjs} +2 -2
  31. package/dist/{area.component-Zbs-bAJV.cjs.map → area.component-DTc1TOLd.cjs.map} +1 -1
  32. package/dist/area.js +1 -1
  33. package/dist/{autocomplete-qK00SJRP.cjs → autocomplete-CzTNaIqf.cjs} +2 -2
  34. package/dist/{autocomplete-qK00SJRP.cjs.map → autocomplete-CzTNaIqf.cjs.map} +1 -1
  35. package/dist/{autocomplete-DIUsdT73.js → autocomplete-D1bwPNoy.js} +3 -3
  36. package/dist/{autocomplete-DIUsdT73.js.map → autocomplete-D1bwPNoy.js.map} +1 -1
  37. package/dist/autocomplete.cjs +1 -1
  38. package/dist/autocomplete.js +1 -1
  39. package/dist/{avatar-BMzBsIWs.cjs → avatar-CFu-31B1.cjs} +2 -2
  40. package/dist/{avatar-BMzBsIWs.cjs.map → avatar-CFu-31B1.cjs.map} +1 -1
  41. package/dist/{avatar-DUPqOrZp.js → avatar-D35JpOv5.js} +45 -45
  42. package/dist/{avatar-DUPqOrZp.js.map → avatar-D35JpOv5.js.map} +1 -1
  43. package/dist/badge.cjs +1 -1
  44. package/dist/badge.js +1 -1
  45. package/dist/{boat-By-PBLw8.js → boat-6nw0fphH.js} +2 -2
  46. package/dist/{boat-By-PBLw8.js.map → boat-6nw0fphH.js.map} +1 -1
  47. package/dist/{boat-DUU675NX.cjs → boat-De0k6DJ6.cjs} +2 -2
  48. package/dist/{boat-DUU675NX.cjs.map → boat-De0k6DJ6.cjs.map} +1 -1
  49. package/dist/boat.cjs +1 -1
  50. package/dist/boat.js +1 -1
  51. package/dist/busy.cjs +1 -1
  52. package/dist/busy.js +1 -1
  53. package/dist/button.cjs +1 -1
  54. package/dist/button.js +1 -1
  55. package/dist/card.cjs +1 -1
  56. package/dist/card.js +1 -1
  57. package/dist/{checkbox-f7BewP4u.cjs → checkbox-Xr-OTKiq.cjs} +2 -2
  58. package/dist/{checkbox-f7BewP4u.cjs.map → checkbox-Xr-OTKiq.cjs.map} +1 -1
  59. package/dist/{checkbox-_WevqQDR.js → checkbox-ZW_jmRBP.js} +2 -2
  60. package/dist/{checkbox-_WevqQDR.js.map → checkbox-ZW_jmRBP.js.map} +1 -1
  61. package/dist/checkbox.cjs +1 -1
  62. package/dist/checkbox.js +1 -1
  63. package/dist/{chips-DiDm29N_.js → chips-DFam160B.js} +3 -3
  64. package/dist/{chips-DiDm29N_.js.map → chips-DFam160B.js.map} +1 -1
  65. package/dist/{chips-D1QElds4.cjs → chips-DwvB_B3m.cjs} +2 -2
  66. package/dist/{chips-D1QElds4.cjs.map → chips-DwvB_B3m.cjs.map} +1 -1
  67. package/dist/chips.cjs +1 -1
  68. package/dist/chips.js +1 -1
  69. package/dist/{circular-progress-BAlic8HY.js → circular-progress-BARPJm-e.js} +3 -3
  70. package/dist/{circular-progress-BAlic8HY.js.map → circular-progress-BARPJm-e.js.map} +1 -1
  71. package/dist/{circular-progress-CfPyDLX6.cjs → circular-progress-BDZFB3WR.cjs} +2 -2
  72. package/dist/{circular-progress-CfPyDLX6.cjs.map → circular-progress-BDZFB3WR.cjs.map} +1 -1
  73. package/dist/circular-progress.cjs +1 -1
  74. package/dist/circular-progress.js +1 -1
  75. package/dist/code-highlight.cjs +1 -1
  76. package/dist/code-highlight.js +1 -1
  77. package/dist/{code-preview-BiVj9uxF.js → code-preview-BxswKcO8.js} +2 -2
  78. package/dist/{code-preview-BiVj9uxF.js.map → code-preview-BxswKcO8.js.map} +1 -1
  79. package/dist/{code-preview-DtvCblTa.cjs → code-preview-CFnSKSqn.cjs} +2 -2
  80. package/dist/{code-preview-DtvCblTa.cjs.map → code-preview-CFnSKSqn.cjs.map} +1 -1
  81. package/dist/components.cjs +1 -1
  82. package/dist/components.js +1 -1
  83. package/dist/content-drawer.cjs +1 -1
  84. package/dist/content-drawer.js +1 -1
  85. package/dist/date-range-Cq8Wdd8b.cjs +131 -0
  86. package/dist/date-range-Cq8Wdd8b.cjs.map +1 -0
  87. package/dist/date-range-Fij9AQth.js +638 -0
  88. package/dist/date-range-Fij9AQth.js.map +1 -0
  89. package/dist/date-range.cjs +1 -1
  90. package/dist/date-range.js +1 -1
  91. package/dist/{delay-KEyQxDNp.cjs → delay-YfksbdSk.cjs} +2 -2
  92. package/dist/{delay-KEyQxDNp.cjs.map → delay-YfksbdSk.cjs.map} +1 -1
  93. package/dist/{delay-BdXEKapp.js → delay-aA1TyZTr.js} +2 -2
  94. package/dist/{delay-BdXEKapp.js.map → delay-aA1TyZTr.js.map} +1 -1
  95. package/dist/delay.cjs +1 -1
  96. package/dist/delay.js +1 -1
  97. package/dist/{dialog-content-D3sFNuVs.js → dialog-content-DpotaqHz.js} +3 -3
  98. package/dist/{dialog-content-D3sFNuVs.js.map → dialog-content-DpotaqHz.js.map} +1 -1
  99. package/dist/{dialog-content-D5YTttrK.cjs → dialog-content-NyJfG7nL.cjs} +2 -2
  100. package/dist/{dialog-content-D5YTttrK.cjs.map → dialog-content-NyJfG7nL.cjs.map} +1 -1
  101. package/dist/{dialog-service-BgqAlT7T.cjs → dialog-service-BZZK8N6A.cjs} +2 -2
  102. package/dist/dialog-service-BZZK8N6A.cjs.map +1 -0
  103. package/dist/dialog-service-DFMlRcXf.js +128 -0
  104. package/dist/dialog-service-DFMlRcXf.js.map +1 -0
  105. package/dist/dialog.cjs +1 -1
  106. package/dist/dialog.js +2 -2
  107. package/dist/{divider-CNXiMvWd.js → divider-CEMmRD_e.js} +3 -3
  108. package/dist/{divider-CNXiMvWd.js.map → divider-CEMmRD_e.js.map} +1 -1
  109. package/dist/{divider-CDz3pUAy.cjs → divider-CMM91UNF.cjs} +2 -2
  110. package/dist/{divider-CDz3pUAy.cjs.map → divider-CMM91UNF.cjs.map} +1 -1
  111. package/dist/divider.cjs +1 -1
  112. package/dist/divider.js +1 -1
  113. package/dist/{dropdown-content-jlq_cqLS.cjs → dropdown-content-CUn_E7cR.cjs} +2 -2
  114. package/dist/{dropdown-content-jlq_cqLS.cjs.map → dropdown-content-CUn_E7cR.cjs.map} +1 -1
  115. package/dist/{dropdown-content-CVz6zPSO.js → dropdown-content-Cw5wN3oE.js} +3 -3
  116. package/dist/{dropdown-content-CVz6zPSO.js.map → dropdown-content-Cw5wN3oE.js.map} +1 -1
  117. package/dist/dropdown.cjs +1 -1
  118. package/dist/dropdown.js +1 -1
  119. package/dist/extra.cjs +1 -1
  120. package/dist/extra.js +1 -1
  121. package/dist/{flex-DFatBgot.cjs → flex-B9AdlerG.cjs} +2 -2
  122. package/dist/{flex-DFatBgot.cjs.map → flex-B9AdlerG.cjs.map} +1 -1
  123. package/dist/{flex-TjhbDSMX.js → flex-ChnKQLCI.js} +2 -2
  124. package/dist/{flex-TjhbDSMX.js.map → flex-ChnKQLCI.js.map} +1 -1
  125. package/dist/{form-ClDdYqke.cjs → form-BdGYvvVv.cjs} +2 -2
  126. package/dist/{form-ClDdYqke.cjs.map → form-BdGYvvVv.cjs.map} +1 -1
  127. package/dist/{form-D-auKn-K.js → form-DNXmZlmc.js} +2 -2
  128. package/dist/{form-D-auKn-K.js.map → form-DNXmZlmc.js.map} +1 -1
  129. package/dist/form.cjs +1 -1
  130. package/dist/form.js +1 -1
  131. package/dist/{icon-BfY2ZJUE.js → icon-BzxYzucF.js} +2 -2
  132. package/dist/{icon-BfY2ZJUE.js.map → icon-BzxYzucF.js.map} +1 -1
  133. package/dist/{icon-D2xGQiZb.cjs → icon-CiYXCpzk.cjs} +2 -2
  134. package/dist/{icon-D2xGQiZb.cjs.map → icon-CiYXCpzk.cjs.map} +1 -1
  135. package/dist/{icon-button-BUkdhu_-.cjs → icon-button-CVF8ZGrd.cjs} +2 -2
  136. package/dist/{icon-button-BUkdhu_-.cjs.map → icon-button-CVF8ZGrd.cjs.map} +1 -1
  137. package/dist/{icon-button-yKwaljg0.js → icon-button-VqejfzxG.js} +3 -3
  138. package/dist/{icon-button-yKwaljg0.js.map → icon-button-VqejfzxG.js.map} +1 -1
  139. package/dist/icons.cjs +1 -1
  140. package/dist/icons.js +1 -1
  141. package/dist/index.cjs +1 -1
  142. package/dist/index.js +43 -43
  143. package/dist/input-DfBGrUet.cjs +122 -0
  144. package/dist/input-DfBGrUet.cjs.map +1 -0
  145. package/dist/input-d4jaMv22.js +487 -0
  146. package/dist/input-d4jaMv22.js.map +1 -0
  147. package/dist/input.cjs +1 -1
  148. package/dist/input.js +1 -1
  149. package/dist/layout.cjs +1 -1
  150. package/dist/layout.js +1 -1
  151. package/dist/{list-BO9C13wk.cjs → list-DN2eHabm.cjs} +2 -2
  152. package/dist/{list-BO9C13wk.cjs.map → list-DN2eHabm.cjs.map} +1 -1
  153. package/dist/{list-CHZKII-L.js → list-L1m51qC0.js} +2 -2
  154. package/dist/{list-CHZKII-L.js.map → list-L1m51qC0.js.map} +1 -1
  155. package/dist/list.cjs +1 -1
  156. package/dist/list.js +1 -1
  157. package/dist/{litElement.mixin-CUibxXWX.cjs → litElement.mixin-CejONOpd.cjs} +2 -2
  158. package/dist/{litElement.mixin-CUibxXWX.cjs.map → litElement.mixin-CejONOpd.cjs.map} +1 -1
  159. package/dist/{litElement.mixin-5RC72TVS.js → litElement.mixin-D-SDs-Ez.js} +2 -2
  160. package/dist/{litElement.mixin-5RC72TVS.js.map → litElement.mixin-D-SDs-Ez.js.map} +1 -1
  161. package/dist/{media-4arP4Xi0.js → media-C0AR69S2.js} +2 -2
  162. package/dist/{media-4arP4Xi0.js.map → media-C0AR69S2.js.map} +1 -1
  163. package/dist/{media-v2LZA3zQ.cjs → media-yXym3iTa.cjs} +2 -2
  164. package/dist/{media-v2LZA3zQ.cjs.map → media-yXym3iTa.cjs.map} +1 -1
  165. package/dist/{menu-DvcxRQrY.js → menu-Bhh6qxR6.js} +3 -3
  166. package/dist/{menu-DvcxRQrY.js.map → menu-Bhh6qxR6.js.map} +1 -1
  167. package/dist/{menu-C-ZpBMON.cjs → menu-CKDW29ZR.cjs} +2 -2
  168. package/dist/{menu-C-ZpBMON.cjs.map → menu-CKDW29ZR.cjs.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/{notification-service-CcapAF2G.js → notification-service-CG4XTrXU.js} +3 -3
  174. package/dist/{notification-service-CcapAF2G.js.map → notification-service-CG4XTrXU.js.map} +1 -1
  175. package/dist/{notification-service-BXTqvkWg.cjs → notification-service-CRbqdLm_.cjs} +2 -2
  176. package/dist/{notification-service-BXTqvkWg.cjs.map → notification-service-CRbqdLm_.cjs.map} +1 -1
  177. package/dist/notification.cjs +1 -1
  178. package/dist/notification.js +1 -1
  179. package/dist/{option-xSW3D1j5.js → option-Cj25fsD1.js} +2 -2
  180. package/dist/{option-xSW3D1j5.js.map → option-Cj25fsD1.js.map} +1 -1
  181. package/dist/{option-Cj3xNzQG.cjs → option-DFNHF3bL.cjs} +2 -2
  182. package/dist/{option-Cj3xNzQG.cjs.map → option-DFNHF3bL.cjs.map} +1 -1
  183. package/dist/option.cjs +1 -1
  184. package/dist/option.js +1 -1
  185. package/dist/{payment-card-form-CdNQkQa5.cjs → payment-card-form-CEANJmNw.cjs} +2 -2
  186. package/dist/{payment-card-form-CdNQkQa5.cjs.map → payment-card-form-CEANJmNw.cjs.map} +1 -1
  187. package/dist/{payment-card-form-B-W0YXS5.js → payment-card-form-YzyxteTK.js} +3 -3
  188. package/dist/{payment-card-form-B-W0YXS5.js.map → payment-card-form-YzyxteTK.js.map} +1 -1
  189. package/dist/{radio-button-WeQklCIj.cjs → radio-button-BVeem3E9.cjs} +2 -2
  190. package/dist/{radio-button-WeQklCIj.cjs.map → radio-button-BVeem3E9.cjs.map} +1 -1
  191. package/dist/{radio-button-CNrcOMLm.js → radio-button-CBcYZCqv.js} +2 -2
  192. package/dist/{radio-button-CNrcOMLm.js.map → radio-button-CBcYZCqv.js.map} +1 -1
  193. package/dist/radio-group.cjs +1 -1
  194. package/dist/radio-group.js +1 -1
  195. package/dist/{schmancy-steps-container-kh5hz8Q8.cjs → schmancy-steps-container-B-Bvr-wZ.cjs} +2 -2
  196. package/dist/{schmancy-steps-container-kh5hz8Q8.cjs.map → schmancy-steps-container-B-Bvr-wZ.cjs.map} +1 -1
  197. package/dist/{schmancy-steps-container-DTR_ppqJ.js → schmancy-steps-container-BACX3hp6.js} +2 -2
  198. package/dist/{schmancy-steps-container-DTR_ppqJ.js.map → schmancy-steps-container-BACX3hp6.js.map} +1 -1
  199. package/dist/{select-D6OdooZd.cjs → select-Cr15D48_.cjs} +2 -2
  200. package/dist/{select-D6OdooZd.cjs.map → select-Cr15D48_.cjs.map} +1 -1
  201. package/dist/{select-BeStY5QU.js → select-IgXxVwZQ.js} +3 -3
  202. package/dist/{select-BeStY5QU.js.map → select-IgXxVwZQ.js.map} +1 -1
  203. package/dist/select.cjs +1 -1
  204. package/dist/select.js +1 -1
  205. package/dist/{sheet-DurXVAka.js → sheet-9m-LkKNU.js} +4 -4
  206. package/dist/{sheet-DurXVAka.js.map → sheet-9m-LkKNU.js.map} +1 -1
  207. package/dist/{sheet-BHdCyBYA.cjs → sheet-u1RXiD4G.cjs} +2 -2
  208. package/dist/{sheet-BHdCyBYA.cjs.map → sheet-u1RXiD4G.cjs.map} +1 -1
  209. package/dist/sheet.cjs +1 -1
  210. package/dist/sheet.js +2 -2
  211. package/dist/{slider-eKHfEAqk.cjs → slider-BFJ0OVq5.cjs} +2 -2
  212. package/dist/{slider-eKHfEAqk.cjs.map → slider-BFJ0OVq5.cjs.map} +1 -1
  213. package/dist/{slider-CcOPTwfV.js → slider-BvOKAD4l.js} +3 -3
  214. package/dist/{slider-CcOPTwfV.js.map → slider-BvOKAD4l.js.map} +1 -1
  215. package/dist/slider.cjs +1 -1
  216. package/dist/slider.js +1 -1
  217. package/dist/{spinner-0BTyqnFH.cjs → spinner-CRWcQJjQ.cjs} +2 -2
  218. package/dist/{spinner-0BTyqnFH.cjs.map → spinner-CRWcQJjQ.cjs.map} +1 -1
  219. package/dist/{spinner-BcaOyZIW.js → spinner-jaFB6wer.js} +3 -3
  220. package/dist/{spinner-BcaOyZIW.js.map → spinner-jaFB6wer.js.map} +1 -1
  221. package/dist/steps.cjs +1 -1
  222. package/dist/steps.js +1 -1
  223. package/dist/{surface-DhTA5nKg.cjs → surface-CTlwMC6K.cjs} +2 -2
  224. package/dist/{surface-DhTA5nKg.cjs.map → surface-CTlwMC6K.cjs.map} +1 -1
  225. package/dist/{surface-XqJoAcEI.js → surface-D7X23FXb.js} +2 -2
  226. package/dist/{surface-XqJoAcEI.js.map → surface-D7X23FXb.js.map} +1 -1
  227. package/dist/surface.cjs +1 -1
  228. package/dist/surface.js +1 -1
  229. package/dist/{table-DPfOXBUJ.cjs → table-0HYVgRpO.cjs} +2 -2
  230. package/dist/{table-DPfOXBUJ.cjs.map → table-0HYVgRpO.cjs.map} +1 -1
  231. package/dist/{table-Dy5Fqu4G.js → table-Dwrox4AT.js} +2 -2
  232. package/dist/{table-Dy5Fqu4G.js.map → table-Dwrox4AT.js.map} +1 -1
  233. package/dist/table.cjs +1 -1
  234. package/dist/table.js +1 -1
  235. package/dist/{tabs-compatibility-BqSkFV08.js → tabs-compatibility-CHTrE420.js} +2 -2
  236. package/dist/{tabs-compatibility-BqSkFV08.js.map → tabs-compatibility-CHTrE420.js.map} +1 -1
  237. package/dist/{tabs-compatibility-TPaYG7ev.cjs → tabs-compatibility-DFaq5_66.cjs} +2 -2
  238. package/dist/{tabs-compatibility-TPaYG7ev.cjs.map → tabs-compatibility-DFaq5_66.cjs.map} +1 -1
  239. package/dist/tabs.cjs +1 -1
  240. package/dist/tabs.js +1 -1
  241. package/dist/tailwind.mixin-Dx35wOig.js +43 -0
  242. package/dist/{tailwind.mixin-DpiTmETl.js.map → tailwind.mixin-Dx35wOig.js.map} +1 -1
  243. package/dist/tailwind.mixin-xwSbeHSt.cjs +2 -0
  244. package/dist/{tailwind.mixin-C6mrbvH3.cjs.map → tailwind.mixin-xwSbeHSt.cjs.map} +1 -1
  245. package/dist/teleport.cjs +1 -1
  246. package/dist/teleport.js +1 -1
  247. package/dist/{textarea-Dy7B8B0d.cjs → textarea-D7NLGUQL.cjs} +2 -2
  248. package/dist/{textarea-Dy7B8B0d.cjs.map → textarea-D7NLGUQL.cjs.map} +1 -1
  249. package/dist/{textarea-Ba8gRDPS.js → textarea-Dx-DzkDe.js} +2 -2
  250. package/dist/{textarea-Ba8gRDPS.js.map → textarea-Dx-DzkDe.js.map} +1 -1
  251. package/dist/textarea.cjs +1 -1
  252. package/dist/textarea.js +1 -1
  253. package/dist/{theme-button-Bnm7IL1u.cjs → theme-button-25FKBtFN.cjs} +2 -2
  254. package/dist/{theme-button-Bnm7IL1u.cjs.map → theme-button-25FKBtFN.cjs.map} +1 -1
  255. package/dist/{theme-button-COwSZ83Y.js → theme-button-C97XGkCl.js} +2 -2
  256. package/dist/{theme-button-COwSZ83Y.js.map → theme-button-C97XGkCl.js.map} +1 -1
  257. package/dist/theme-button.cjs +1 -1
  258. package/dist/theme-button.js +1 -1
  259. package/dist/theme.cjs +1 -1
  260. package/dist/{theme.component-BV_e_mXY.js → theme.component-BAA4DyC6.js} +2 -2
  261. package/dist/{theme.component-BV_e_mXY.js.map → theme.component-BAA4DyC6.js.map} +1 -1
  262. package/dist/{theme.component-UBy29B7c.cjs → theme.component-DIXxdhcR.cjs} +2 -2
  263. package/dist/{theme.component-UBy29B7c.cjs.map → theme.component-DIXxdhcR.cjs.map} +1 -1
  264. package/dist/theme.js +1 -1
  265. package/dist/{timezone-DBxPtZan.cjs → timezone-BWn9DNZY.cjs} +2 -2
  266. package/dist/{timezone-DBxPtZan.cjs.map → timezone-BWn9DNZY.cjs.map} +1 -1
  267. package/dist/{timezone-DEhkif2j.js → timezone-BurrHk00.js} +3 -3
  268. package/dist/{timezone-DEhkif2j.js.map → timezone-BurrHk00.js.map} +1 -1
  269. package/dist/{tooltip-D0coQKih.js → tooltip-Dy5bvLg8.js} +2 -2
  270. package/dist/{tooltip-D0coQKih.js.map → tooltip-Dy5bvLg8.js.map} +1 -1
  271. package/dist/{tooltip-CTBMN8M6.cjs → tooltip-dz3rb8at.cjs} +2 -2
  272. package/dist/{tooltip-CTBMN8M6.cjs.map → tooltip-dz3rb8at.cjs.map} +1 -1
  273. package/dist/tooltip.cjs +1 -1
  274. package/dist/tooltip.js +1 -1
  275. package/dist/{tree-Zy0XMFKh.js → tree-DzHOYcn8.js} +2 -2
  276. package/dist/{tree-Zy0XMFKh.js.map → tree-DzHOYcn8.js.map} +1 -1
  277. package/dist/{tree-Co4Ithrh.cjs → tree-z1EoelBs.cjs} +2 -2
  278. package/dist/{tree-Co4Ithrh.cjs.map → tree-z1EoelBs.cjs.map} +1 -1
  279. package/dist/tree.cjs +1 -1
  280. package/dist/tree.js +1 -1
  281. package/dist/{typewriter-C0InniFB.js → typewriter-BiBJSC2J.js} +4 -4
  282. package/dist/{typewriter-C0InniFB.js.map → typewriter-BiBJSC2J.js.map} +1 -1
  283. package/dist/{typewriter-soteXIt4.cjs → typewriter-D_bqiukY.cjs} +2 -2
  284. package/dist/{typewriter-soteXIt4.cjs.map → typewriter-D_bqiukY.cjs.map} +1 -1
  285. package/dist/typewriter.cjs +1 -1
  286. package/dist/typewriter.js +1 -1
  287. package/dist/{typography-Bw9baiV3.cjs → typography-BLenYAmX.cjs} +2 -2
  288. package/dist/{typography-Bw9baiV3.cjs.map → typography-BLenYAmX.cjs.map} +1 -1
  289. package/dist/{typography-CeTZ2VqE.js → typography-DtpDTIi7.js} +2 -2
  290. package/dist/{typography-CeTZ2VqE.js.map → typography-DtpDTIi7.js.map} +1 -1
  291. package/dist/typography.cjs +1 -1
  292. package/dist/typography.js +1 -1
  293. package/package.json +1 -1
  294. package/dist/date-range-BPVaXilO.cjs +0 -117
  295. package/dist/date-range-BPVaXilO.cjs.map +0 -1
  296. package/dist/date-range-DN0v_ykN.js +0 -609
  297. package/dist/date-range-DN0v_ykN.js.map +0 -1
  298. package/dist/dialog-service-BgqAlT7T.cjs.map +0 -1
  299. package/dist/dialog-service-CnjZCTMj.js +0 -127
  300. package/dist/dialog-service-CnjZCTMj.js.map +0 -1
  301. package/dist/input-B3GMd-FZ.js +0 -363
  302. package/dist/input-B3GMd-FZ.js.map +0 -1
  303. package/dist/input-By2O_8YL.cjs +0 -111
  304. package/dist/input-By2O_8YL.cjs.map +0 -1
  305. package/dist/tailwind.mixin-C6mrbvH3.cjs +0 -2
  306. package/dist/tailwind.mixin-DpiTmETl.js +0 -43
@@ -0,0 +1,275 @@
1
+ # Schmancy Timezone Select - AI Reference
2
+
3
+ ## Quick Start
4
+
5
+ ```typescript
6
+ import '@mhmo91/schmancy/extra/timezone'
7
+ ```
8
+
9
+ ## Component Overview
10
+
11
+ A timezone selection component with autocomplete functionality, providing a comprehensive list of global timezones with UTC offsets and region information.
12
+
13
+ ## API
14
+
15
+ ```typescript
16
+ // Timezone Select Component
17
+ <schmancy-select-timezones
18
+ value?="string" // Selected timezone ID
19
+ label?="string" // Label text (default: "Timezone")
20
+ hint?="string" // Helper text (default: "Please select a timezone")
21
+ placeholder?="string" // Placeholder (default: "Select a timezone")
22
+ name?="string" // Form field name
23
+ required?="boolean" // Required field
24
+ @change=${handleChange}> // Selection change event
25
+ </schmancy-select-timezones>
26
+
27
+ // Component Properties
28
+ value: string // Timezone identifier (e.g., "America/New_York")
29
+ label: string // Field label
30
+ hint: string // Helper text below field
31
+ placeholder: string // Placeholder text
32
+ name: string // Form field name
33
+ required: boolean // Required validation
34
+
35
+ // Events
36
+ @change // Fires when timezone selection changes
37
+
38
+ // Methods
39
+ checkValidity() -> boolean // Validate selection
40
+ reportValidity() -> boolean // Report validation state
41
+ setCustomValidity(message) -> void // Set custom error
42
+ ```
43
+
44
+ ## Examples
45
+
46
+ ### Basic Usage
47
+
48
+ ```typescript
49
+ // Simple timezone selector
50
+ <schmancy-select-timezones
51
+ @change=${(e) => console.log('Selected:', e.detail.value)}>
52
+ </schmancy-select-timezones>
53
+
54
+ // With initial value
55
+ <schmancy-select-timezones
56
+ value="America/New_York"
57
+ @change=${handleTimezoneChange}>
58
+ </schmancy-select-timezones>
59
+
60
+ // Required field
61
+ <schmancy-select-timezones
62
+ required
63
+ name="timezone"
64
+ label="Your Timezone"
65
+ hint="Used for scheduling">
66
+ </schmancy-select-timezones>
67
+ ```
68
+
69
+ ### Form Integration
70
+
71
+ ```typescript
72
+ // User preferences form
73
+ <schmancy-form @submit=${handleSavePreferences}>
74
+ <schmancy-select-timezones
75
+ name="timezone"
76
+ value=${this.userTimezone}
77
+ required>
78
+ </schmancy-select-timezones>
79
+
80
+ <schmancy-select-countries
81
+ name="country"
82
+ value=${this.userCountry}>
83
+ </schmancy-select-countries>
84
+
85
+ <schmancy-button type="submit" variant="filled">
86
+ Save Preferences
87
+ </schmancy-button>
88
+ </schmancy-form>
89
+ ```
90
+
91
+ ### Real-World Examples
92
+
93
+ ```typescript
94
+ // Meeting scheduler with timezone
95
+ class MeetingScheduler extends LitElement {
96
+ @state() selectedTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
97
+ @state() meetingTime = '';
98
+
99
+ render() {
100
+ return html`
101
+ <schmancy-surface class="p-6">
102
+ <schmancy-typography type="headline" token="sm" class="mb-4 block">
103
+ Schedule Meeting
104
+ </schmancy-typography>
105
+
106
+ <schmancy-form @submit=${this.scheduleMeeting}>
107
+ <div class="space-y-4">
108
+ <schmancy-input
109
+ type="datetime-local"
110
+ label="Meeting Time"
111
+ name="time"
112
+ required
113
+ @change=${(e) => this.meetingTime = e.detail.value}>
114
+ </schmancy-input>
115
+
116
+ <schmancy-select-timezones
117
+ name="timezone"
118
+ value=${this.selectedTimezone}
119
+ @change=${this.handleTimezoneChange}>
120
+ </schmancy-select-timezones>
121
+
122
+ <div class="bg-surface-container p-3 rounded">
123
+ <schmancy-typography type="body" token="sm">
124
+ ${this.getLocalTimeDisplay()}
125
+ </schmancy-typography>
126
+ </div>
127
+ </div>
128
+
129
+ <schmancy-button type="submit" variant="filled" class="mt-4">
130
+ Schedule
131
+ </schmancy-button>
132
+ </schmancy-form>
133
+ </schmancy-surface>
134
+ `
135
+ }
136
+
137
+ getLocalTimeDisplay() {
138
+ if (!this.meetingTime || !this.selectedTimezone) return '';
139
+ // Convert to different timezones for display
140
+ const date = new Date(this.meetingTime);
141
+ return `Local time: ${date.toLocaleString('en-US', {
142
+ timeZone: this.selectedTimezone
143
+ })}`;
144
+ }
145
+ }
146
+
147
+ // User profile with auto-detection
148
+ class UserProfile extends LitElement {
149
+ @state() detectedTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
150
+
151
+ connectedCallback() {
152
+ super.connectedCallback();
153
+ // Auto-detect user's timezone
154
+ this.requestUpdate();
155
+ }
156
+
157
+ render() {
158
+ return html`
159
+ <div class="space-y-4">
160
+ <schmancy-typography type="body" token="sm" class="text-surface-onVariant">
161
+ Detected timezone: ${this.detectedTimezone}
162
+ </schmancy-typography>
163
+
164
+ <schmancy-select-timezones
165
+ value=${this.detectedTimezone}
166
+ label="Confirm your timezone"
167
+ hint="We'll use this for notifications and scheduling"
168
+ @change=${this.updateTimezone}>
169
+ </schmancy-select-timezones>
170
+
171
+ <schmancy-button
172
+ variant="filled"
173
+ @click=${this.saveProfile}>
174
+ Save Profile
175
+ </schmancy-button>
176
+ </div>
177
+ `
178
+ }
179
+ }
180
+ ```
181
+
182
+ ## Timezone Data Structure
183
+
184
+ Each timezone in the dataset includes:
185
+
186
+ ```typescript
187
+ interface Timezone {
188
+ text: string; // Display text with offset (e.g., "(UTC-05:00) Eastern Time")
189
+ value: string; // Timezone ID (e.g., "America/New_York")
190
+ offset: string; // UTC offset (e.g., "-05:00")
191
+ abbr: string; // Abbreviation (e.g., "EST")
192
+ }
193
+
194
+ // Example:
195
+ {
196
+ text: "(UTC-05:00) Eastern Time (US & Canada)",
197
+ value: "America/New_York",
198
+ offset: "-05:00",
199
+ abbr: "EST"
200
+ }
201
+ ```
202
+
203
+ ## Features
204
+
205
+ - **Comprehensive List**: All global timezones with regions
206
+ - **UTC Offsets**: Visual offset display for easy identification
207
+ - **Search**: Filter by timezone name, city, or offset
208
+ - **Auto-detection**: Can detect user's current timezone
209
+ - **Daylight Saving**: Handles DST automatically
210
+ - **Form Integration**: Works with native forms
211
+ - **Grouped Display**: Timezones grouped by offset
212
+
213
+ ## Common Use Cases
214
+
215
+ 1. **User Preferences**: Setting user's default timezone
216
+ 2. **Event Scheduling**: Selecting timezone for meetings/events
217
+ 3. **Notifications**: Configuring notification delivery times
218
+ 4. **Reports**: Setting timezone for data analysis
219
+ 5. **International Apps**: Multi-timezone support
220
+
221
+ ## Accessibility
222
+
223
+ - Proper ARIA labels and roles
224
+ - Keyboard navigation support
225
+ - Screen reader friendly
226
+ - High contrast mode support
227
+ - Clear visual indicators
228
+
229
+ ## Best Practices
230
+
231
+ 1. **Auto-Detection**: Pre-select user's detected timezone
232
+ 2. **Display Format**: Show both offset and name
233
+ 3. **Validation**: Use required for mandatory fields
234
+ 4. **Updates**: Handle timezone database updates
235
+ 5. **DST Handling**: Account for daylight saving changes
236
+
237
+ ## Common Pitfalls
238
+
239
+ - **ID vs Display**: Value is timezone ID, not display text
240
+ - **DST Changes**: Offsets may vary with daylight saving
241
+ - **Browser Support**: Intl API availability varies
242
+ - **Historical Data**: Past dates may have different offsets
243
+
244
+ ## Related Components
245
+
246
+ - **[Autocomplete](./autocomplete.md)**: Base component
247
+ - **[Countries](./countries.md)**: Often used together
248
+ - **[Form](./form.md)**: Form integration
249
+ - **[Date Range](./date-range.md)**: Date/time selection
250
+
251
+ ## TypeScript Interface
252
+
253
+ ```typescript
254
+ interface SchmancySelectTimezonesElement extends HTMLElement {
255
+ value: string;
256
+ label: string;
257
+ hint: string;
258
+ placeholder: string;
259
+ name: string;
260
+ required: boolean;
261
+ checkValidity(): boolean;
262
+ reportValidity(): boolean;
263
+ setCustomValidity(message: string): void;
264
+ }
265
+
266
+ // Change event
267
+ interface TimezoneChangeEvent extends CustomEvent {
268
+ detail: {
269
+ value: string; // Timezone ID
270
+ };
271
+ }
272
+
273
+ // Utility functions
274
+ const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
275
+ ```
@@ -3,23 +3,27 @@
3
3
  ```js
4
4
  // Component Tag
5
5
  <schmancy-typography
6
- type="display|headline|title|label|body" // Typography scale type
7
- token="lg|md|sm" // Size token within type
8
- class?="additional-tailwind-classes" // Additional styling
9
- tag?="h1|h2|h3|h4|h5|h6|p|span|div" // HTML element (auto-determined by type/token)
10
- @click=${handler}> // Click handler
6
+ type="display|headline|title|subtitle|label|body" // Typography scale type
7
+ token="xl|lg|md|sm|xs" // Size token within type
8
+ align?="left|center|justify|right" // Text alignment
9
+ weight?="normal|medium|bold" // Font weight override
10
+ transform?="uppercase|lowercase|capitalize|normal" // Text transformation
11
+ maxLines?="1|2|3|4|5|6" // Truncate with ellipsis
12
+ class?="additional-tailwind-classes" // Additional styling
13
+ @click=${handler}> // Click handler
11
14
  <!-- Text content or HTML -->
12
15
  </schmancy-typography>
13
16
 
14
17
  // Import
15
18
  import '@mhmo91/schmancy/typography'
16
19
 
17
- // Typography Scale Reference
18
- // Display: lg (57/64), md (45/52), sm (36/44)
19
- // Headline: lg (32/40), md (28/36), sm (24/32)
20
- // Title: lg (22/28), md (16/24), sm (14/20)
21
- // Label: lg (14/20), md (12/16), sm (11/16)
22
- // Body: lg (16/24), md (14/20), sm (12/16)
20
+ // Typography Scale Reference (size/line-height)
21
+ // Display: xl (72/80), lg (57/64), md (45/52), sm (36/44), xs (28/36)
22
+ // Headline: xl (36/44), lg (32/40), md (28/36), sm (24/32), xs (20/28)
23
+ // Title: xl (28/36), lg (22/28), md (16/24), sm (14/20), xs (12/16)
24
+ // Subtitle: xl (20/28), lg (18/24), md (16/20), sm (14/18), xs (12/16)
25
+ // Label: xl (16/24), lg (14/20), md (12/16), sm (11/16), xs (10/14)
26
+ // Body: xl (18/28), lg (16/24), md (14/20), sm (12/16), xs (10/14)
23
27
 
24
28
  // Examples
25
29
  // 1. Page heading (Display)
@@ -52,9 +56,9 @@ import '@mhmo91/schmancy/typography'
52
56
  Highlighted Section
53
57
  </schmancy-typography>
54
58
 
55
- // 7. Custom tag usage
56
- <schmancy-typography type="display" token="md" tag="h1">
57
- Main Page Title
59
+ // 7. Centered uppercase title
60
+ <schmancy-typography type="title" token="lg" align="center" transform="uppercase">
61
+ Section Header
58
62
  </schmancy-typography>
59
63
 
60
64
  // 8. Clickable text
@@ -62,9 +66,9 @@ import '@mhmo91/schmancy/typography'
62
66
  Click me for more information
63
67
  </schmancy-typography>
64
68
 
65
- // 9. Mixed content with HTML
66
- <schmancy-typography type="body" token="lg">
67
- This text contains <strong>bold</strong> and <em>italic</em> elements.
69
+ // 9. Truncated text with ellipsis
70
+ <schmancy-typography type="body" token="md" maxLines="2">
71
+ This is a long description that will be truncated after two lines with an ellipsis if it exceeds the available space...
68
72
  </schmancy-typography>
69
73
 
70
74
  // 10. Multiple typography in a card
@@ -91,40 +95,73 @@ import '@mhmo91/schmancy/typography'
91
95
  ## Technical Details
92
96
 
93
97
  ### Typography Scale System
94
- Material Design 3 typography scale with 5 scales, each with 3 sizes:
98
+ Material Design 3 typography scale with 6 types, each with 5 sizes:
95
99
 
96
- **Display** - Largest text for big statements
100
+ **Display** - Largest text for big statements (weight: 400)
101
+ - `xl`: 72px/80px line-height
97
102
  - `lg`: 57px/64px line-height
98
103
  - `md`: 45px/52px line-height
99
104
  - `sm`: 36px/44px line-height
105
+ - `xs`: 28px/36px line-height
100
106
 
101
- **Headline** - Section headers and important titles
107
+ **Headline** - Section headers and important titles (weight: 400)
108
+ - `xl`: 36px/44px line-height
102
109
  - `lg`: 32px/40px line-height
103
110
  - `md`: 28px/36px line-height
104
111
  - `sm`: 24px/32px line-height
105
-
106
- **Title** - Smaller titles and subtitles
107
- - `lg`: 22px/28px line-height
108
- - `md`: 16px/24px line-height
109
- - `sm`: 14px/20px line-height
110
-
111
- **Label** - UI labels and buttons
112
+ - `xs`: 20px/28px line-height
113
+
114
+ **Title** - Smaller titles and subtitles (weight: 400-500)
115
+ - `xl`: 28px/36px line-height (weight: 500)
116
+ - `lg`: 22px/28px line-height (weight: 400)
117
+ - `md`: 16px/24px line-height (weight: 500)
118
+ - `sm`: 14px/20px line-height (weight: 500)
119
+ - `xs`: 12px/16px line-height (weight: 500)
120
+
121
+ **Subtitle** - Secondary headings (weight: 400)
122
+ - `xl`: 20px/28px line-height
123
+ - `lg`: 18px/24px line-height
124
+ - `md`: 16px/20px line-height
125
+ - `sm`: 14px/18px line-height
126
+ - `xs`: 12px/16px line-height
127
+
128
+ **Label** - UI labels and buttons (weight: 500)
129
+ - `xl`: 16px/24px line-height
112
130
  - `lg`: 14px/20px line-height
113
131
  - `md`: 12px/16px line-height
114
132
  - `sm`: 11px/16px line-height
133
+ - `xs`: 10px/14px line-height
115
134
 
116
- **Body** - Main content text
135
+ **Body** - Main content text (weight: 400)
136
+ - `xl`: 18px/28px line-height
117
137
  - `lg`: 16px/24px line-height
118
138
  - `md`: 14px/20px line-height
119
139
  - `sm`: 12px/16px line-height
140
+ - `xs`: 10px/14px line-height
141
+
142
+ ### Additional Properties
143
+
144
+ **Text Alignment** (`align`)
145
+ - `left`: Align text to the left
146
+ - `center`: Center the text
147
+ - `justify`: Justify text
148
+ - `right`: Align text to the right
120
149
 
121
- ### Automatic Tag Selection
122
- The component automatically selects appropriate HTML tags:
123
- - Display: `h1`, `h2`, `h3`
124
- - Headline: `h3`, `h4`, `h5`
125
- - Title: `h5`, `h6`, `p`
126
- - Label: `span`
127
- - Body: `p`
150
+ **Font Weight** (`weight`)
151
+ - `normal`: 400 weight
152
+ - `medium`: 500 weight
153
+ - `bold`: 700 weight
154
+
155
+ **Text Transform** (`transform`)
156
+ - `uppercase`: Convert to uppercase
157
+ - `lowercase`: Convert to lowercase
158
+ - `capitalize`: Capitalize first letter of each word
159
+ - `normal`: No transformation
160
+
161
+ **Line Clamping** (`maxLines`)
162
+ - Truncates text after specified number of lines
163
+ - Adds ellipsis (...) at the end
164
+ - Values: 1-6 lines
128
165
 
129
166
  ### Theme Integration
130
167
  Typography automatically inherits colors from the theme:
@@ -132,14 +169,12 @@ Typography automatically inherits colors from the theme:
132
169
  - Respects surface container colors
133
170
  - Can be overridden with Tailwind classes
134
171
 
135
- ### CSS Custom Properties
136
- The component uses Material Design 3 type scale tokens:
137
- ```css
138
- --schmancy-sys-typescale-[type]-[token]-size
139
- --schmancy-sys-typescale-[type]-[token]-line-height
140
- --schmancy-sys-typescale-[type]-[token]-weight
141
- --schmancy-sys-typescale-[type]-[token]-letter-spacing
142
- ```
172
+ ### Implementation Details
173
+ - Uses Shadow DOM with encapsulated styles
174
+ - All typography values are hardcoded in the component
175
+ - Renders as a `<span>` element with `display: inherit`
176
+ - Font family: system-ui, -apple-system, sans-serif
177
+ - Letter spacing is set to 0 for all variants
143
178
 
144
179
  ## Common Use Cases
145
180
 
@@ -1,8 +1,8 @@
1
1
  import { concat as u, interval as g, startWith as y, filter as h, take as d, fromEvent as f, throttleTime as w, map as b, distinctUntilChanged as $, tap as c } from "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
- import { $ as x } from "./litElement.mixin-5RC72TVS.js";
5
- import "./tailwind.mixin-DpiTmETl.js";
4
+ import { $ as x } from "./litElement.mixin-D-SDs-Ez.js";
5
+ import "./tailwind.mixin-Dx35wOig.js";
6
6
  import { css as S, html as Z } from "lit";
7
7
  import { property as a, queryAssignedNodes as v, query as m, customElement as A } from "lit/decorators.js";
8
8
  var E = Object.defineProperty, O = Object.getOwnPropertyDescriptor, e = (r, s, n, i) => {
@@ -72,4 +72,4 @@ let t = class extends x(S`
72
72
  }
73
73
  };
74
74
  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([v()], t.prototype, "defaultSlot", 2), e([m(".letters")], t.prototype, "letters", 2), e([m(".ml7")], t.prototype, "ml7", 2), t = e([A("schmancy-animated-text")], t);
75
- //# sourceMappingURL=animated-text-BqZjMyzb.js.map
75
+ //# sourceMappingURL=animated-text-Be02uXuq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"animated-text-BqZjMyzb.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","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","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"animated-text-Be02uXuq.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","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","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("lit/directives/class-map.js"),require("lit/directives/style-map.js");const h=require("./litElement.mixin-CUibxXWX.cjs");require("./tailwind.mixin-C6mrbvH3.cjs");const c=require("lit"),r=require("lit/decorators.js");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("lit/directives/class-map.js"),require("lit/directives/style-map.js");const h=require("./litElement.mixin-CejONOpd.cjs");require("./tailwind.mixin-xwSbeHSt.cjs");const c=require("lit"),r=require("lit/decorators.js");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-CgY-L1nI.cjs.map
37
+ //# sourceMappingURL=animated-text-Dh_Ony1b.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"animated-text-CgY-L1nI.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","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","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"animated-text-Dh_Ony1b.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","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","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-CgY-L1nI.cjs");
1
+ "use strict";require("./animated-text-Dh_Ony1b.cjs");
2
2
  //# sourceMappingURL=animated-text.cjs.map
@@ -1,2 +1,2 @@
1
- import "./animated-text-BqZjMyzb.js";
1
+ import "./animated-text-Be02uXuq.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-Zbs-bAJV.cjs"),e=require("./utils-BqFGvnN9.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}),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.decodeRouteState=e.decodeRouteState,exports.deepMerge=e.deepMerge,exports.encodeRouteState=e.encodeRouteState,exports.extractQueryParams=e.extractQueryParams,exports.getTagName=e.getTagName,exports.isObject=e.isObject,exports.normalizeTagName=e.normalizeTagName,exports.sanitizeRouteState=e.sanitizeRouteState;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./area.component-DTc1TOLd.cjs"),e=require("./utils-BqFGvnN9.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}),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.decodeRouteState=e.decodeRouteState,exports.deepMerge=e.deepMerge,exports.encodeRouteState=e.encodeRouteState,exports.extractQueryParams=e.extractQueryParams,exports.getTagName=e.getTagName,exports.isObject=e.isObject,exports.normalizeTagName=e.normalizeTagName,exports.sanitizeRouteState=e.sanitizeRouteState;
2
2
  //# sourceMappingURL=area.cjs.map
@@ -1,8 +1,8 @@
1
1
  import { Subject as J, ReplaySubject as A, distinctUntilChanged as y, shareReplay as C, skip as P, map as i, filter as h, catchError as c, EMPTY as m, zip as U, fromEvent as $, of as u, bufferTime as L, tap as S, timeout as M, merge as q, switchMap as b, take as k, takeUntil as R, from as F } from "rxjs";
2
2
  import "lit/directives/class-map.js";
3
3
  import "lit/directives/style-map.js";
4
- import { $ as H } from "./litElement.mixin-5RC72TVS.js";
5
- import "./tailwind.mixin-DpiTmETl.js";
4
+ import { $ as H } from "./litElement.mixin-D-SDs-Ez.js";
5
+ import "./tailwind.mixin-Dx35wOig.js";
6
6
  import { css as x, html as I } from "lit";
7
7
  import { property as v, customElement as B } from "lit/decorators.js";
8
8
  import { l as T } from "./index-CuY8m6ta.js";
@@ -280,4 +280,4 @@ export {
280
280
  d as b,
281
281
  N as r
282
282
  };
283
- //# sourceMappingURL=area.component-B7U96CpD.js.map
283
+ //# sourceMappingURL=area.component-CVYJtXrI.js.map