@mhmo91/schmancy 0.4.91 → 0.4.93
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.
- package/ai/area.md +181 -968
- package/dist/ai/area.md +181 -968
- package/dist/{animated-text-xlSXYbRY.cjs → animated-text-Dqrad7cv.cjs} +2 -2
- package/dist/{animated-text-xlSXYbRY.cjs.map → animated-text-Dqrad7cv.cjs.map} +1 -1
- package/dist/{animated-text-CE25uxIq.js → animated-text-mNos9Gw8.js} +3 -3
- package/dist/{animated-text-CE25uxIq.js.map → animated-text-mNos9Gw8.js.map} +1 -1
- package/dist/animated-text.cjs +1 -1
- package/dist/animated-text.js +1 -1
- package/dist/area.cjs +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-BrcVARei.js → autocomplete-CMxXFeC_.js} +35 -35
- package/dist/autocomplete-CMxXFeC_.js.map +1 -0
- package/dist/{autocomplete-BJKuzyUg.cjs → autocomplete-CzYbBt-K.cjs} +6 -6
- package/dist/autocomplete-CzYbBt-K.cjs.map +1 -0
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-CH6xAiaz.cjs → avatar-CGGPvamo.cjs} +21 -69
- package/dist/avatar-CGGPvamo.cjs.map +1 -0
- package/dist/{avatar-2XjX7xHh.js → avatar-CH-EctMv.js} +156 -203
- package/dist/avatar-CH-EctMv.js.map +1 -0
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-pedGlD9G.cjs → boat-feSRWu7P.cjs} +2 -2
- package/dist/{boat-pedGlD9G.cjs.map → boat-feSRWu7P.cjs.map} +1 -1
- package/dist/{boat-DjkboEvz.js → boat-xekVVZab.js} +2 -2
- package/dist/{boat-DjkboEvz.js.map → boat-xekVVZab.js.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-tC2o2KPO.js → checkbox-DTfIF2XH.js} +2 -2
- package/dist/{checkbox-tC2o2KPO.js.map → checkbox-DTfIF2XH.js.map} +1 -1
- package/dist/{checkbox-BFsHGpGO.cjs → checkbox-DwBANLb6.cjs} +2 -2
- package/dist/{checkbox-BFsHGpGO.cjs.map → checkbox-DwBANLb6.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-CaQfMLUC.js → chips-7TbOS1By.js} +56 -67
- package/dist/{chips-CaQfMLUC.js.map → chips-7TbOS1By.js.map} +1 -1
- package/dist/{chips-BUDd-Se_.cjs → chips-DORDPg5b.cjs} +10 -21
- package/dist/{chips-BUDd-Se_.cjs.map → chips-DORDPg5b.cjs.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-dFXCzXKx.js → code-preview-DWDE2pUe.js} +2 -2
- package/dist/{code-preview-dFXCzXKx.js.map → code-preview-DWDE2pUe.js.map} +1 -1
- package/dist/{code-preview-DpoxEUM7.cjs → code-preview-DqFuxCjV.cjs} +2 -2
- package/dist/{code-preview-DpoxEUM7.cjs.map → code-preview-DqFuxCjV.cjs.map} +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-BMlo50YP.cjs → date-range-DwdO0vNv.cjs} +2 -2
- package/dist/{date-range-BMlo50YP.cjs.map → date-range-DwdO0vNv.cjs.map} +1 -1
- package/dist/{date-range-inline-FIDbZiar.cjs → date-range-inline-B1WaAPY6.cjs} +2 -2
- package/dist/{date-range-inline-FIDbZiar.cjs.map → date-range-inline-B1WaAPY6.cjs.map} +1 -1
- package/dist/{date-range-inline-BX0qnRUj.js → date-range-inline-yYh4Uw-k.js} +3 -3
- package/dist/{date-range-inline-BX0qnRUj.js.map → date-range-inline-yYh4Uw-k.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/{date-range-DDr3pL_X.js → date-range-s2EHTGQM.js} +4 -4
- package/dist/{date-range-DDr3pL_X.js.map → date-range-s2EHTGQM.js.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-CGWe8yFV.js → delay-D19Mpit_.js} +2 -2
- package/dist/{delay-CGWe8yFV.js.map → delay-D19Mpit_.js.map} +1 -1
- package/dist/{delay-xtpIck-Z.cjs → delay-l2gPaJoH.cjs} +2 -2
- package/dist/{delay-xtpIck-Z.cjs.map → delay-l2gPaJoH.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-DcxMoj1H.js → details-CEu4oDP7.js} +2 -2
- package/dist/{details-DcxMoj1H.js.map → details-CEu4oDP7.js.map} +1 -1
- package/dist/{details-4QmeW0uP.cjs → details-LNuoItTO.cjs} +2 -2
- package/dist/{details-4QmeW0uP.cjs.map → details-LNuoItTO.cjs.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-CusT_84B.cjs → dialog-content-6wVlm9RL.cjs} +2 -2
- package/dist/{dialog-content-CusT_84B.cjs.map → dialog-content-6wVlm9RL.cjs.map} +1 -1
- package/dist/{dialog-content-BfaVybIp.js → dialog-content-CQ3Xi4_b.js} +4 -4
- package/dist/{dialog-content-BfaVybIp.js.map → dialog-content-CQ3Xi4_b.js.map} +1 -1
- package/dist/dialog-service-CgJH8clD.cjs +2 -0
- package/dist/dialog-service-CgJH8clD.cjs.map +1 -0
- package/dist/{dialog-service-DwhuICgc.js → dialog-service-PQ9ssbsY.js} +53 -47
- package/dist/dialog-service-PQ9ssbsY.js.map +1 -0
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +2 -2
- package/dist/directives.cjs +1 -1
- package/dist/directives.js +6 -4
- package/dist/directives.js.map +1 -1
- package/dist/divider-5OCZNBJ7.js +22 -0
- package/dist/divider-5OCZNBJ7.js.map +1 -0
- package/dist/divider-auzbAyaR.cjs +2 -0
- package/dist/divider-auzbAyaR.cjs.map +1 -0
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-CDAX41cX.cjs → dropdown-content-BI541LSK.cjs} +5 -10
- package/dist/dropdown-content-BI541LSK.cjs.map +1 -0
- package/dist/{dropdown-content-DA6wal4A.js → dropdown-content-BLZviV1z.js} +40 -41
- package/dist/dropdown-content-BLZviV1z.js.map +1 -0
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-OBogh7Uo.cjs → email-recipients-DizBUcJ2.cjs} +24 -24
- package/dist/email-recipients-DizBUcJ2.cjs.map +1 -0
- package/dist/{email-recipients-BFhkzOzI.js → email-recipients-JeGKXcBj.js} +141 -144
- package/dist/email-recipients-JeGKXcBj.js.map +1 -0
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-B7tsIv60.cjs → flex-BN7HdoGW.cjs} +2 -2
- package/dist/{flex-B7tsIv60.cjs.map → flex-BN7HdoGW.cjs.map} +1 -1
- package/dist/{flex-C2ER0I8V.js → flex-ro_7y02P.js} +2 -2
- package/dist/{flex-C2ER0I8V.js.map → flex-ro_7y02P.js.map} +1 -1
- package/dist/{form-Bkg6Q_f5.js → form-BqGTSZpr.js} +11 -23
- package/dist/form-BqGTSZpr.js.map +1 -0
- package/dist/form-DT6f2KNH.cjs +2 -0
- package/dist/form-DT6f2KNH.cjs.map +1 -0
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-Bp77n7z6.cjs → formField.mixin-CSy0dZ7Q.cjs} +2 -2
- package/dist/{formField.mixin-Bp77n7z6.cjs.map → formField.mixin-CSy0dZ7Q.cjs.map} +1 -1
- package/dist/{formField.mixin-as1q6J0T.js → formField.mixin-DtegNyKv.js} +2 -2
- package/dist/{formField.mixin-as1q6J0T.js.map → formField.mixin-DtegNyKv.js.map} +1 -1
- package/dist/{icon-CLzd6U7v.js → icon-CSxxuGxN.js} +2 -2
- package/dist/{icon-CLzd6U7v.js.map → icon-CSxxuGxN.js.map} +1 -1
- package/dist/{icon-BYd5Gta6.cjs → icon-GaL2G_1M.cjs} +2 -2
- package/dist/{icon-BYd5Gta6.cjs.map → icon-GaL2G_1M.cjs.map} +1 -1
- package/dist/{icon-button-U9gN6pT3.js → icon-button-B0jLowAy.js} +5 -5
- package/dist/icon-button-B0jLowAy.js.map +1 -0
- package/dist/{icon-button-DNg0mA1P.cjs → icon-button-DkvwZOHF.cjs} +4 -4
- package/dist/icon-button-DkvwZOHF.cjs.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +162 -160
- package/dist/index.js.map +1 -1
- package/dist/{input-CX1jyK-P.js → input-D0c-WhDi.js} +40 -44
- package/dist/input-D0c-WhDi.js.map +1 -0
- package/dist/input-fPWOjQgP.cjs +51 -0
- package/dist/input-fPWOjQgP.cjs.map +1 -0
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/lazy-DObpkuL6.cjs.map +1 -1
- package/dist/lazy-E2LCDm7n.js.map +1 -1
- package/dist/{list-BMR8QRo0.js → list-3Ity7MFT.js} +2 -2
- package/dist/{list-BMR8QRo0.js.map → list-3Ity7MFT.js.map} +1 -1
- package/dist/{list-DZPMOfrH.cjs → list-CbXXjBUM.cjs} +2 -2
- package/dist/{list-DZPMOfrH.cjs.map → list-CbXXjBUM.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-De6F4bUs.cjs → litElement.mixin-DFG5Ckp7.cjs} +2 -2
- package/dist/{litElement.mixin-De6F4bUs.cjs.map → litElement.mixin-DFG5Ckp7.cjs.map} +1 -1
- package/dist/{litElement.mixin-C9e4ffot.js → litElement.mixin-Efwm8boA.js} +2 -2
- package/dist/{litElement.mixin-C9e4ffot.js.map → litElement.mixin-Efwm8boA.js.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-E2MqAGzQ.js → map-BCQwFMpm.js} +2 -2
- package/dist/{map-E2MqAGzQ.js.map → map-BCQwFMpm.js.map} +1 -1
- package/dist/{map-ORYWFuxx.cjs → map-DeRVVjHa.cjs} +2 -2
- package/dist/{map-ORYWFuxx.cjs.map → map-DeRVVjHa.cjs.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/media-CL9LNHic.cjs +226 -0
- package/dist/media-CL9LNHic.cjs.map +1 -0
- package/dist/media-nVQjNoX7.js +307 -0
- package/dist/media-nVQjNoX7.js.map +1 -0
- package/dist/{menu-Cm1jwIsB.js → menu-CusvB2dY.js} +3 -3
- package/dist/{menu-Cm1jwIsB.js.map → menu-CusvB2dY.js.map} +1 -1
- package/dist/{menu-DJuRr_aL.cjs → menu-Delwe6al.cjs} +2 -2
- package/dist/{menu-DJuRr_aL.cjs.map → menu-Delwe6al.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/{notification-service-CTlTTCbP.cjs → notification-service-BwcUY8O5.cjs} +7 -7
- package/dist/notification-service-BwcUY8O5.cjs.map +1 -0
- package/dist/{notification-service-CiE9ITno.js → notification-service-DiTgelcm.js} +65 -60
- package/dist/notification-service-DiTgelcm.js.map +1 -0
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-Da9oU7Jf.cjs → notify-C81e8flx.cjs} +2 -2
- package/dist/{notify-Da9oU7Jf.cjs.map → notify-C81e8flx.cjs.map} +1 -1
- package/dist/{notify-DA2N7Zvr.js → notify-JNbirYT5.js} +2 -2
- package/dist/{notify-DA2N7Zvr.js.map → notify-JNbirYT5.js.map} +1 -1
- package/dist/{option-D8BWjBZV.cjs → option-D4XcuvRK.cjs} +5 -5
- package/dist/option-D4XcuvRK.cjs.map +1 -0
- package/dist/{option-svgZq3Hw.js → option-dihFw6qv.js} +12 -12
- package/dist/option-dihFw6qv.js.map +1 -0
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-18_ZqMt5.cjs → payment-card-form-CIm57Nfa.cjs} +2 -2
- package/dist/{payment-card-form-18_ZqMt5.cjs.map → payment-card-form-CIm57Nfa.cjs.map} +1 -1
- package/dist/{payment-card-form-BU57CRS3.js → payment-card-form-pDuTrWgZ.js} +3 -3
- package/dist/{payment-card-form-BU57CRS3.js.map → payment-card-form-pDuTrWgZ.js.map} +1 -1
- package/dist/{progress-B3-p0pjn.cjs → progress-BETtTl0y.cjs} +2 -2
- package/dist/{progress-B3-p0pjn.cjs.map → progress-BETtTl0y.cjs.map} +1 -1
- package/dist/{progress-y5p1ltND.js → progress-C4o_zWvg.js} +2 -2
- package/dist/{progress-y5p1ltND.js.map → progress-C4o_zWvg.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-DINgMpZS.js → radio-button-DaSKbB-Z.js} +27 -27
- package/dist/radio-button-DaSKbB-Z.js.map +1 -0
- package/dist/radio-button-h6y0tWJQ.cjs +41 -0
- package/dist/radio-button-h6y0tWJQ.cjs.map +1 -0
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{ripple-BumgqsDT.js → ripple-Cy-nvO8W.js} +24 -22
- package/dist/ripple-Cy-nvO8W.js.map +1 -0
- package/dist/ripple-DqQrvaTe.cjs +16 -0
- package/dist/ripple-DqQrvaTe.cjs.map +1 -0
- package/dist/route.component-BaefEO15.js +320 -0
- package/dist/route.component-BaefEO15.js.map +1 -0
- package/dist/route.component-DzBfI9eE.cjs +12 -0
- package/dist/route.component-DzBfI9eE.cjs.map +1 -0
- package/dist/{schmancy-steps-container-DLHL9mKo.cjs → schmancy-steps-container-DpM5Kvt3.cjs} +2 -2
- package/dist/{schmancy-steps-container-DLHL9mKo.cjs.map → schmancy-steps-container-DpM5Kvt3.cjs.map} +1 -1
- package/dist/{schmancy-steps-container-Dhq8V1Jy.js → schmancy-steps-container-uRaJiCZE.js} +2 -2
- package/dist/{schmancy-steps-container-Dhq8V1Jy.js.map → schmancy-steps-container-uRaJiCZE.js.map} +1 -1
- package/dist/select-ClFVeWZA.cjs +57 -0
- package/dist/select-ClFVeWZA.cjs.map +1 -0
- package/dist/{select-DXcdeHjY.js → select-uQ5xnOKn.js} +17 -16
- package/dist/select-uQ5xnOKn.js.map +1 -0
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-BJ_P15Uh.cjs → sheet-CEcMgg-2.cjs} +2 -2
- package/dist/{sheet-BJ_P15Uh.cjs.map → sheet-CEcMgg-2.cjs.map} +1 -1
- package/dist/{sheet-DFY331sa.js → sheet-CvvdxIUZ.js} +3 -3
- package/dist/{sheet-DFY331sa.js.map → sheet-CvvdxIUZ.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-6VTsJJth.js → slider-DyxIZ-hn.js} +3 -3
- package/dist/{slider-6VTsJJth.js.map → slider-DyxIZ-hn.js.map} +1 -1
- package/dist/{slider-C8YC6MCP.cjs → slider-T8sYw1p-.cjs} +2 -2
- package/dist/{slider-C8YC6MCP.cjs.map → slider-T8sYw1p-.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-B4DEcQwc.js → spinner-D9fC8P3H.js} +2 -2
- package/dist/{spinner-B4DEcQwc.js.map → spinner-D9fC8P3H.js.map} +1 -1
- package/dist/{spinner-BCCCQMeS.cjs → spinner-DJviKuwJ.cjs} +2 -2
- package/dist/{spinner-BCCCQMeS.cjs.map → spinner-DJviKuwJ.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-CrfGHJEt.cjs → surface-B_SGQ1f7.cjs} +2 -2
- package/dist/{surface-CrfGHJEt.cjs.map → surface-B_SGQ1f7.cjs.map} +1 -1
- package/dist/{surface-B9w3VOkr.js → surface-CUyYCpFl.js} +2 -2
- package/dist/{surface-B9w3VOkr.js.map → surface-CUyYCpFl.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-ClOXrs2P.cjs → table-C-sWuoAy.cjs} +2 -2
- package/dist/{table-ClOXrs2P.cjs.map → table-C-sWuoAy.cjs.map} +1 -1
- package/dist/{table-pJ6NI0tm.js → table-D7p7a-Ag.js} +2 -2
- package/dist/{table-pJ6NI0tm.js.map → table-D7p7a-Ag.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-Cv0h7xqj.js → tabs-compatibility-Dn8bSEvA.js} +2 -2
- package/dist/{tabs-compatibility-Cv0h7xqj.js.map → tabs-compatibility-Dn8bSEvA.js.map} +1 -1
- package/dist/{tabs-compatibility-BgtRf8jN.cjs → tabs-compatibility-XoF2vpv5.cjs} +2 -2
- package/dist/{tabs-compatibility-BgtRf8jN.cjs.map → tabs-compatibility-XoF2vpv5.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-C13RR5x6.js +43 -0
- package/dist/{tailwind.mixin-CUBQFucF.js.map → tailwind.mixin-C13RR5x6.js.map} +1 -1
- package/dist/tailwind.mixin-O9jmUJ7m.cjs +2 -0
- package/dist/{tailwind.mixin-tQzjJi1o.cjs.map → tailwind.mixin-O9jmUJ7m.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/textarea-9rSwC34M.cjs +44 -0
- package/dist/{textarea-DsfpxxrR.cjs.map → textarea-9rSwC34M.cjs.map} +1 -1
- package/dist/{textarea-VzUmYJ8k.js → textarea-Dsqg9ted.js} +4 -3
- package/dist/{textarea-VzUmYJ8k.js.map → textarea-Dsqg9ted.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-Cc8uLdST.cjs → theme-button-BTH2A59w.cjs} +2 -2
- package/dist/{theme-button-Cc8uLdST.cjs.map → theme-button-BTH2A59w.cjs.map} +1 -1
- package/dist/{theme-button-Dv0mFIy1.js → theme-button-pfkAwkvY.js} +2 -2
- package/dist/{theme-button-Dv0mFIy1.js.map → theme-button-pfkAwkvY.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{theme.component-CBQMtIWn.cjs → theme.component-BvoZuM2h.cjs} +3 -3
- package/dist/{theme.component-CBQMtIWn.cjs.map → theme.component-BvoZuM2h.cjs.map} +1 -1
- package/dist/{theme.component-BJkqP8OJ.js → theme.component-C3G_OrjE.js} +66 -66
- package/dist/{theme.component-BJkqP8OJ.js.map → theme.component-C3G_OrjE.js.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-Cidrq38O.cjs → timezone-BKBME7Gq.cjs} +2 -2
- package/dist/{timezone-Cidrq38O.cjs.map → timezone-BKBME7Gq.cjs.map} +1 -1
- package/dist/{timezone-s8dLt1Tp.js → timezone-mQeoU0_O.js} +3 -3
- package/dist/{timezone-s8dLt1Tp.js.map → timezone-mQeoU0_O.js.map} +1 -1
- package/dist/tooltip-Bcun7m0S.cjs +7 -0
- package/dist/tooltip-Bcun7m0S.cjs.map +1 -0
- package/dist/{tooltip-CbKaR_7c.js → tooltip-Doh_evJW.js} +55 -55
- package/dist/tooltip-Doh_evJW.js.map +1 -0
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-BncfGRKE.cjs → tree-DpKb9Q-1.cjs} +2 -2
- package/dist/{tree-BncfGRKE.cjs.map → tree-DpKb9Q-1.cjs.map} +1 -1
- package/dist/{tree-BalOrz7r.js → tree-cl3PdPTy.js} +2 -2
- package/dist/{tree-BalOrz7r.js.map → tree-cl3PdPTy.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-C3nBx8M1.cjs → typewriter-QSd_xI9j.cjs} +3 -15
- package/dist/typewriter-QSd_xI9j.cjs.map +1 -0
- package/dist/{typewriter-CdsU7g5m.js → typewriter-peuqmq9f.js} +64 -76
- package/dist/typewriter-peuqmq9f.js.map +1 -0
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-D-unaqtW.js → typography-BkuzOZ0g.js} +2 -2
- package/dist/{typography-D-unaqtW.js.map → typography-BkuzOZ0g.js.map} +1 -1
- package/dist/{typography-C2kzFuZS.cjs → typography-BoI8HgTE.cjs} +2 -2
- package/dist/{typography-C2kzFuZS.cjs.map → typography-BoI8HgTE.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/area/area.component.d.ts +8 -3
- package/types/src/area/area.service.d.ts +1 -0
- package/types/src/area/route.component.d.ts +4 -5
- package/types/src/area/utils.d.ts +2 -1
- package/types/src/card/card.d.ts +55 -3
- package/types/src/directives/guard.d.ts +1 -0
- package/types/src/directives/index.d.ts +1 -0
- package/types/src/directives/ripple.d.ts +2 -1
- package/types/src/dropdown/dropdown-component.d.ts +1 -0
- package/types/src/form/form-v2.d.ts +0 -1
- package/types/src/form/form.d.ts +0 -1
- package/types/src/mailbox/email-editor.d.ts +1 -2
- package/types/src/notification/notification-audio.d.ts +9 -0
- package/types/src/notification/notification-container.d.ts +1 -0
- package/dist/autocomplete-BJKuzyUg.cjs.map +0 -1
- package/dist/autocomplete-BrcVARei.js.map +0 -1
- package/dist/avatar-2XjX7xHh.js.map +0 -1
- package/dist/avatar-CH6xAiaz.cjs.map +0 -1
- package/dist/dialog-service-DwhuICgc.js.map +0 -1
- package/dist/dialog-service-juvsgc5X.cjs +0 -2
- package/dist/dialog-service-juvsgc5X.cjs.map +0 -1
- package/dist/divider-BHA8zjDr.js +0 -103
- package/dist/divider-BHA8zjDr.js.map +0 -1
- package/dist/divider-C-kmaW3d.cjs +0 -83
- package/dist/divider-C-kmaW3d.cjs.map +0 -1
- package/dist/dropdown-content-CDAX41cX.cjs.map +0 -1
- package/dist/dropdown-content-DA6wal4A.js.map +0 -1
- package/dist/email-recipients-BFhkzOzI.js.map +0 -1
- package/dist/email-recipients-OBogh7Uo.cjs.map +0 -1
- package/dist/form-Bkg6Q_f5.js.map +0 -1
- package/dist/form-yJc1T0GI.cjs +0 -14
- package/dist/form-yJc1T0GI.cjs.map +0 -1
- package/dist/icon-button-DNg0mA1P.cjs.map +0 -1
- package/dist/icon-button-U9gN6pT3.js.map +0 -1
- package/dist/input-CX1jyK-P.js.map +0 -1
- package/dist/input-DYp4wudB.cjs +0 -51
- package/dist/input-DYp4wudB.cjs.map +0 -1
- package/dist/media-BmSmYaBR.cjs +0 -100
- package/dist/media-BmSmYaBR.cjs.map +0 -1
- package/dist/media-CRKWL-3S.js +0 -151
- package/dist/media-CRKWL-3S.js.map +0 -1
- package/dist/notification-service-CTlTTCbP.cjs.map +0 -1
- package/dist/notification-service-CiE9ITno.js.map +0 -1
- package/dist/option-D8BWjBZV.cjs.map +0 -1
- package/dist/option-svgZq3Hw.js.map +0 -1
- package/dist/radio-button-DINgMpZS.js.map +0 -1
- package/dist/radio-button-Yzy01Adt.cjs +0 -41
- package/dist/radio-button-Yzy01Adt.cjs.map +0 -1
- package/dist/ripple-BumgqsDT.js.map +0 -1
- package/dist/ripple-C2BHbhcS.cjs +0 -16
- package/dist/ripple-C2BHbhcS.cjs.map +0 -1
- package/dist/route.component-C_OoXIgy.cjs +0 -12
- package/dist/route.component-C_OoXIgy.cjs.map +0 -1
- package/dist/route.component-Cfz1lAvS.js +0 -321
- package/dist/route.component-Cfz1lAvS.js.map +0 -1
- package/dist/select-DXcdeHjY.js.map +0 -1
- package/dist/select-JFsojOGZ.cjs +0 -57
- package/dist/select-JFsojOGZ.cjs.map +0 -1
- package/dist/tailwind.mixin-CUBQFucF.js +0 -43
- package/dist/tailwind.mixin-tQzjJi1o.cjs +0 -2
- package/dist/textarea-DsfpxxrR.cjs +0 -44
- package/dist/tooltip-CKhGU64R.cjs +0 -7
- package/dist/tooltip-CKhGU64R.cjs.map +0 -1
- package/dist/tooltip-CbKaR_7c.js.map +0 -1
- package/dist/typewriter-C3nBx8M1.cjs.map +0 -1
- package/dist/typewriter-CdsU7g5m.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typewriter-QSd_xI9j.cjs","sources":["../node_modules/typeit/dist/index.es.js","../src/typewriter/typewriter.ts"],"sourcesContent":["// TypeIt by Alex MacArthur - https://typeitjs.com\nconst isArray = (thing) => Array.isArray(thing);\n\nconst asArray = (value) => isArray(value) ? value : [value];\n\nlet Queue = function(initialItems) {\n let add = function(steps) {\n asArray(steps).forEach((step) => {\n return _q.set(Symbol(step.char?.innerText), buildQueueItem({ ...step }));\n });\n return this;\n };\n let getTypeable = () => rawValues().filter((value) => value.typeable);\n let set = function(index, item) {\n let keys = [..._q.keys()];\n _q.set(keys[index], buildQueueItem(item));\n };\n let buildQueueItem = (queueItem) => {\n queueItem.shouldPauseCursor = function() {\n return Boolean(this.typeable || this.cursorable || this.deletable);\n };\n return queueItem;\n };\n let reset = function() {\n _q.forEach((item) => delete item.done);\n };\n let wipe = function() {\n _q = /* @__PURE__ */ new Map();\n add(initialItems);\n };\n let getQueue = () => _q;\n let rawValues = () => Array.from(_q.values());\n let destroy = (key) => _q.delete(key);\n let getPendingQueueItems = () => {\n const pending = [];\n for (let [, value] of getQueue()) {\n if (!value.done) {\n pending.push(value);\n }\n }\n return pending;\n };\n let getItems = (all = false) => all ? rawValues() : rawValues().filter((i) => !i.done);\n let done = (key, shouldDestroy = false) => shouldDestroy ? _q.delete(key) : _q.get(key).done = true;\n let _q = /* @__PURE__ */ new Map();\n add(initialItems);\n return {\n add,\n set,\n wipe,\n done,\n reset,\n destroy,\n getItems,\n getQueue,\n getTypeable,\n getPendingQueueItems\n };\n};\n\nconst DATA_ATTRIBUTE = \"data-typeit-id\";\nconst CURSOR_CLASS = \"ti-cursor\";\nconst END = \"END\";\nconst DEFAULT_STATUSES = {\n started: false,\n completed: false,\n frozen: false,\n destroyed: false\n};\nconst DEFAULT_OPTIONS = {\n breakLines: true,\n cursor: {\n autoPause: true,\n autoPauseDelay: 500,\n animation: {\n frames: [0, 0, 1].map((n) => {\n return { opacity: n };\n }),\n options: {\n iterations: Infinity,\n easing: \"steps(2, start)\",\n fill: \"forwards\"\n }\n }\n },\n cursorChar: \"|\",\n cursorSpeed: 1e3,\n deleteSpeed: null,\n html: true,\n lifeLike: true,\n loop: false,\n loopDelay: 750,\n nextStringDelay: 750,\n speed: 100,\n startDelay: 250,\n startDelete: false,\n strings: [],\n waitUntilVisible: false,\n beforeString: () => {\n },\n afterString: () => {\n },\n beforeStep: () => {\n },\n afterStep: () => {\n },\n afterComplete: () => {\n }\n};\nconst PLACEHOLDER_CSS = `[${DATA_ATTRIBUTE}]:before {content: '.'; display: inline-block; width: 0; visibility: hidden;}`;\n\nconst createElement = (el) => document.createElement(el);\n\nconst createTextNode = (content) => document.createTextNode(content);\n\nconst appendStyleBlock = (styles, id = \"\") => {\n let styleBlock = createElement(\"style\");\n styleBlock.id = id;\n styleBlock.appendChild(createTextNode(styles));\n document.head.appendChild(styleBlock);\n};\n\nconst calculateDelay = (delayArg) => {\n if (!isArray(delayArg)) {\n delayArg = [delayArg / 2, delayArg / 2];\n }\n return delayArg;\n};\n\nconst randomInRange = (value, range) => {\n return Math.abs(\n Math.random() * (value + range - (value - range)) + (value - range)\n );\n};\n\nlet range = (val) => val / 2;\nfunction calculatePace(options) {\n let { speed, deleteSpeed, lifeLike } = options;\n deleteSpeed = deleteSpeed !== null ? deleteSpeed : speed / 3;\n return lifeLike ? [\n randomInRange(speed, range(speed)),\n randomInRange(deleteSpeed, range(deleteSpeed))\n ] : [speed, deleteSpeed];\n}\n\nconst toArray = (val) => Array.from(val);\n\nlet expandTextNodes = (element) => {\n [...element.childNodes].forEach((child) => {\n if (child.nodeValue) {\n [...child.nodeValue].forEach((c) => {\n child.parentNode.insertBefore(createTextNode(c), child);\n });\n child.remove();\n return;\n }\n expandTextNodes(child);\n });\n return element;\n};\n\nconst getParsedBody = (content) => {\n let doc = document.implementation.createHTMLDocument();\n doc.body.innerHTML = content;\n return expandTextNodes(doc.body);\n};\n\nfunction walkElementNodes(element, shouldReverse = false, shouldIncludeCursor = false) {\n let cursor = element.querySelector(`.${CURSOR_CLASS}`);\n let walker = document.createTreeWalker(element, NodeFilter.SHOW_ALL, {\n acceptNode: (node) => {\n if (cursor && shouldIncludeCursor) {\n if (node.classList?.contains(CURSOR_CLASS)) {\n return NodeFilter.FILTER_ACCEPT;\n }\n if (cursor.contains(node)) {\n return NodeFilter.FILTER_REJECT;\n }\n }\n return node.classList?.contains(CURSOR_CLASS) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }\n });\n let nextNode;\n let nodes = [];\n while (nextNode = walker.nextNode()) {\n if (!nextNode.originalParent) {\n nextNode.originalParent = nextNode.parentNode;\n }\n nodes.push(nextNode);\n }\n return shouldReverse ? nodes.reverse() : nodes;\n}\nfunction chunkStringAsHtml(string) {\n return walkElementNodes(getParsedBody(string));\n}\nfunction maybeChunkStringAsHtml(str, asHtml = true) {\n return asHtml ? chunkStringAsHtml(str) : toArray(str).map(createTextNode);\n}\n\nconst cleanUpSkipped = ({\n index,\n newIndex,\n queueItems,\n cleanUp\n}) => {\n for (let i = index + 1; i < newIndex + 1; i++) {\n cleanUp(queueItems[i][0]);\n }\n};\n\nconst isNumber = (value) => Number.isInteger(value);\n\nconst countStepsToSelector = ({\n queueItems,\n selector,\n cursorPosition,\n to\n}) => {\n if (isNumber(selector)) {\n return selector * -1;\n }\n let isMovingToEnd = new RegExp(END, \"i\").test(to);\n let selectorIndex = selector ? [...queueItems].reverse().findIndex(({ char }) => {\n let parentElement = char.parentElement;\n let parentMatches = parentElement.matches(selector);\n if (isMovingToEnd && parentMatches) {\n return true;\n }\n return parentMatches && parentElement.firstChild.isSameNode(char);\n }) : -1;\n if (selectorIndex < 0) {\n selectorIndex = isMovingToEnd ? 0 : queueItems.length - 1;\n }\n let offset = isMovingToEnd ? 0 : 1;\n return selectorIndex - cursorPosition + offset;\n};\n\nconst destroyTimeouts = (timeouts) => {\n timeouts.forEach(clearTimeout);\n return [];\n};\n\nconst duplicate = (value, times) => new Array(times).fill(value);\n\nlet beforePaint = (cb) => {\n return new Promise((resolve) => {\n requestAnimationFrame(async () => {\n resolve(await cb());\n });\n });\n};\n\nlet getAnimationFromElement = (element) => {\n return element?.getAnimations().find((animation) => {\n return animation.id === element.dataset.tiAnimationId;\n });\n};\n\nlet setCursorAnimation = ({\n cursor,\n frames,\n options\n}) => {\n let animation = cursor.animate(frames, options);\n animation.pause();\n animation.id = cursor.dataset.tiAnimationId;\n beforePaint(() => {\n beforePaint(() => {\n animation.play();\n });\n });\n return animation;\n};\n\nlet rebuildCursorAnimation = ({\n cursor,\n options,\n cursorOptions\n}) => {\n if (!cursor || !cursorOptions) return;\n let animation = getAnimationFromElement(cursor);\n let oldCurrentTime;\n if (animation) {\n options.delay = animation.effect.getComputedTiming().delay;\n oldCurrentTime = animation.currentTime;\n animation.cancel();\n }\n let newAnimation = setCursorAnimation({\n cursor,\n frames: cursorOptions.animation.frames,\n options\n });\n if (oldCurrentTime) {\n newAnimation.currentTime = oldCurrentTime;\n }\n return newAnimation;\n};\n\nlet execute = (queueItem) => queueItem.func?.call(null);\nlet fireItem = async ({\n index,\n queueItems,\n wait,\n cursor,\n cursorOptions\n}) => {\n let queueItem = queueItems[index][1];\n let instantQueue = [];\n let tempIndex = index;\n let futureItem = queueItem;\n let shouldBeGrouped = () => futureItem && !futureItem.delay;\n let shouldPauseCursor = queueItem.shouldPauseCursor() && cursorOptions.autoPause;\n while (shouldBeGrouped()) {\n instantQueue.push(futureItem);\n shouldBeGrouped() && tempIndex++;\n futureItem = queueItems[tempIndex] ? queueItems[tempIndex][1] : null;\n }\n if (instantQueue.length) {\n await beforePaint(async () => {\n for (let q of instantQueue) {\n await execute(q);\n }\n });\n return tempIndex - 1;\n }\n let animation = getAnimationFromElement(cursor);\n let options;\n if (animation) {\n options = {\n ...animation.effect.getComputedTiming(),\n delay: shouldPauseCursor ? cursorOptions.autoPauseDelay : 0\n };\n }\n await wait(async () => {\n if (animation && shouldPauseCursor) {\n animation.cancel();\n }\n await beforePaint(() => {\n execute(queueItem);\n });\n }, queueItem.delay);\n await rebuildCursorAnimation({\n cursor,\n options,\n cursorOptions\n });\n return index;\n};\n\nconst fireWhenVisible = (element, func) => {\n let observer = new IntersectionObserver(\n (entries, observer2) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n func();\n observer2.unobserve(element);\n }\n });\n },\n { threshold: 1 }\n );\n observer.observe(element);\n};\n\nconst generateHash = () => Math.random().toString().substring(2, 9);\n\nconst isInput = (el) => {\n return \"value\" in el;\n};\n\nlet getAllChars = (element) => {\n if (isInput(element)) {\n return toArray(element.value);\n }\n return walkElementNodes(element, true).filter(\n (c) => !(c.childNodes.length > 0)\n );\n};\n\nlet handleFunctionalArg = (arg) => {\n return typeof arg === \"function\" ? arg() : arg;\n};\n\nlet select = (selector, element = document, all = false) => {\n return element[`querySelector${all ? \"All\" : \"\"}`](selector);\n};\n\nlet isBodyElement = (node) => /body/i.test(node?.tagName);\n\nlet insertIntoElement = (originalTarget, character) => {\n if (isInput(originalTarget)) {\n originalTarget.value = `${originalTarget.value}${character.textContent}`;\n return;\n }\n character.innerHTML = \"\";\n let target = isBodyElement(character.originalParent) ? originalTarget : (\n // If we add one-off fresh elements, there will be no\n // \"originalParent\", so always fall back to the default target.\n character.originalParent || originalTarget\n );\n let cursorNode = select(\".\" + CURSOR_CLASS, target) || null;\n if (cursorNode && cursorNode.parentElement !== target) {\n target = cursorNode.parentElement;\n }\n target.insertBefore(character, cursorNode);\n};\n\nconst isNonVoidElement = (el) => /<(.+)>(.*?)<\\/(.+)>/.test(el.outerHTML);\n\nconst merge = (originalObj, newObj) => Object.assign({}, originalObj, newObj);\n\nlet processCursorOptions = (cursorOptions) => {\n if (typeof cursorOptions === \"object\") {\n let newOptions = {};\n let { frames: defaultFrames, options: defaultOptions } = DEFAULT_OPTIONS.cursor.animation;\n newOptions.animation = cursorOptions.animation || {};\n newOptions.animation.frames = cursorOptions.animation?.frames || defaultFrames;\n newOptions.animation.options = merge(\n defaultOptions,\n cursorOptions.animation?.options || {}\n );\n newOptions.autoPause = cursorOptions.autoPause ?? DEFAULT_OPTIONS.cursor.autoPause;\n newOptions.autoPauseDelay = cursorOptions.autoPauseDelay || DEFAULT_OPTIONS.cursor.autoPauseDelay;\n return newOptions;\n }\n if (cursorOptions === true) {\n return DEFAULT_OPTIONS.cursor;\n }\n return cursorOptions;\n};\n\nconst removeNode = (node, rootElement) => {\n if (!node) return;\n let nodeParent = node.parentNode;\n let nodeToRemove = nodeParent.childNodes.length > 1 || nodeParent.isSameNode(rootElement) ? (\n // This parent still needs to exist.\n node\n ) : (\n // There's nothing else in there, so just delete the entire thing.\n // By doing this, we clean up markup as we go along.\n nodeParent\n );\n nodeToRemove.remove();\n};\n\nconst repositionCursor = (element, allChars, newCursorPosition) => {\n let nodeToInsertBefore = allChars[newCursorPosition - 1];\n let cursor = select(`.${CURSOR_CLASS}`, element);\n element = nodeToInsertBefore?.parentNode || element;\n element.insertBefore(cursor, nodeToInsertBefore || null);\n};\n\nfunction selectorToElement(thing) {\n return typeof thing === \"string\" ? select(thing) : thing;\n}\n\nlet cursorFontStyles = {\n \"font-family\": \"\",\n \"font-weight\": \"\",\n \"font-size\": \"\",\n \"font-style\": \"\",\n \"line-height\": \"\",\n color: \"\",\n transform: \"translateX(-.125em)\"\n};\nlet setCursorStyles = (id, element) => {\n let rootSelector = `[${DATA_ATTRIBUTE}='${id}']`;\n let cursorSelector = `${rootSelector} .${CURSOR_CLASS}`;\n let computedStyles = getComputedStyle(element);\n let customProperties = Object.entries(cursorFontStyles).reduce(\n (accumulator, [item, value]) => {\n return `${accumulator} ${item}: var(--ti-cursor-${item}, ${value || computedStyles[item]});`;\n },\n \"\"\n );\n appendStyleBlock(\n `${cursorSelector} { display: inline-block; width: 0; ${customProperties} }`,\n id\n );\n};\n\nfunction splitOnBreak(str) {\n return str.replace(/<!--(.+?)-->/g, \"\").trim().split(/<br(?:\\s*?)(?:\\/)?>/);\n}\n\nlet updateCursorPosition = (steps, cursorPosition, printedCharacters) => {\n return Math.min(\n Math.max(cursorPosition + steps, 0),\n printedCharacters.length\n );\n};\n\nlet wait = (callback, delay, timeouts) => {\n return new Promise((resolve) => {\n let cb = async () => {\n await callback();\n resolve();\n };\n timeouts.push(setTimeout(cb, delay || 0));\n });\n};\n\nclass TypeIt {\n element;\n timeouts;\n cursorPosition;\n predictedCursorPosition;\n statuses = {\n started: false,\n completed: false,\n frozen: false,\n destroyed: false,\n firing: false\n };\n opts;\n id;\n queue;\n cursor;\n flushCallback = null;\n unfreeze = () => {\n };\n constructor(element, options = {}) {\n this.opts = merge(DEFAULT_OPTIONS, options);\n this.element = selectorToElement(element);\n this.timeouts = [];\n this.cursorPosition = 0;\n this.unfreeze = () => {\n };\n this.predictedCursorPosition = null;\n this.statuses = merge({}, DEFAULT_STATUSES);\n this.id = generateHash();\n this.queue = Queue([{ delay: this.opts.startDelay }]);\n this.#buildOptions(options);\n this.cursor = this.#setUpCursor();\n this.element.dataset.typeitId = this.id;\n appendStyleBlock(PLACEHOLDER_CSS);\n if (this.opts.strings.length) {\n this.#generateQueue();\n }\n }\n /**\n * Can only be called once.\n */\n go() {\n if (this.statuses.started) {\n return this;\n }\n this.#attachCursor();\n if (!this.opts.waitUntilVisible) {\n this.#fire();\n return this;\n }\n fireWhenVisible(this.element, this.#fire.bind(this));\n return this;\n }\n destroy(shouldRemoveCursor = true) {\n this.timeouts = destroyTimeouts(this.timeouts);\n handleFunctionalArg(shouldRemoveCursor) && this.cursor && this.#removeNode(this.cursor);\n this.statuses.destroyed = true;\n }\n reset(rebuild) {\n !this.is(\"destroyed\") && this.destroy();\n if (rebuild) {\n this.queue.wipe();\n rebuild(this);\n } else {\n this.queue.reset();\n }\n this.cursorPosition = 0;\n for (let property in this.statuses) {\n this.statuses[property] = false;\n }\n this.element[this.#elementIsInput() ? \"value\" : \"innerHTML\"] = \"\";\n return this;\n }\n is = function(key) {\n return this.statuses[key];\n };\n type(string, actionOpts = {}) {\n string = handleFunctionalArg(string);\n let { instant } = actionOpts;\n let bookEndQueueItems = this.#generateTemporaryOptionQueueItems(actionOpts);\n let chars = maybeChunkStringAsHtml(string, this.opts.html);\n let charsAsQueueItems = chars.map((char) => {\n return {\n func: () => this.#type(char),\n char,\n delay: instant || isNonVoidElement(char) ? 0 : this.#getPace(),\n typeable: char.nodeType === Node.TEXT_NODE\n };\n });\n let itemsToQueue = [\n bookEndQueueItems[0],\n { func: async () => await this.opts.beforeString(string, this) },\n ...charsAsQueueItems,\n { func: async () => await this.opts.afterString(string, this) },\n bookEndQueueItems[1]\n ];\n return this.#queueAndReturn(itemsToQueue, actionOpts);\n }\n break(actionOpts = {}) {\n return this.#queueAndReturn(\n {\n func: () => this.#type(createElement(\"BR\")),\n typeable: true\n },\n actionOpts\n );\n }\n move(movementArg, actionOpts = {}) {\n movementArg = handleFunctionalArg(movementArg);\n let bookEndQueueItems = this.#generateTemporaryOptionQueueItems(actionOpts);\n let { instant, to } = actionOpts;\n let numberOfSteps = countStepsToSelector({\n queueItems: this.queue.getTypeable(),\n selector: movementArg === null ? \"\" : movementArg,\n to,\n cursorPosition: this.#derivedCursorPosition\n });\n let directionalStep = numberOfSteps < 0 ? -1 : 1;\n this.predictedCursorPosition = this.#derivedCursorPosition + numberOfSteps;\n return this.#queueAndReturn(\n [\n bookEndQueueItems[0],\n ...duplicate(\n {\n func: () => this.#move(directionalStep),\n delay: instant ? 0 : this.#getPace(),\n cursorable: true\n },\n Math.abs(numberOfSteps)\n ),\n bookEndQueueItems[1]\n ],\n actionOpts\n );\n }\n exec(func, actionOpts = {}) {\n let bookEndQueueItems = this.#generateTemporaryOptionQueueItems(actionOpts);\n return this.#queueAndReturn(\n [bookEndQueueItems[0], { func: () => func(this) }, bookEndQueueItems[1]],\n actionOpts\n );\n }\n options(opts, actionOpts = {}) {\n opts = handleFunctionalArg(opts);\n this.#updateOptions(opts);\n return this.#queueAndReturn({}, actionOpts);\n }\n pause(milliseconds, actionOpts = {}) {\n return this.#queueAndReturn(\n { delay: handleFunctionalArg(milliseconds) },\n actionOpts\n );\n }\n delete(numCharacters = null, actionOpts = {}) {\n numCharacters = handleFunctionalArg(numCharacters);\n let bookEndQueueItems = this.#generateTemporaryOptionQueueItems(actionOpts);\n let num = numCharacters;\n let { instant, to } = actionOpts;\n let typeableQueueItems = this.queue.getTypeable();\n let rounds = (() => {\n if (num === null) {\n return typeableQueueItems.length;\n }\n if (isNumber(num)) {\n return num;\n }\n return countStepsToSelector({\n queueItems: typeableQueueItems,\n selector: num,\n cursorPosition: this.#derivedCursorPosition,\n to\n });\n })();\n return this.#queueAndReturn(\n [\n bookEndQueueItems[0],\n ...duplicate(\n {\n func: this.#delete.bind(this),\n delay: instant ? 0 : this.#getPace(1),\n deletable: true\n },\n rounds\n ),\n bookEndQueueItems[1]\n ],\n actionOpts\n );\n }\n freeze() {\n this.statuses.frozen = true;\n }\n /**\n * Like `.go()`, but more... \"off the grid.\"\n *\n * - won't trigger `afterComplete` callback\n * - items won't be replayed after `.reset()`\n *\n * When called, all non-done items will be \"flushed\" --\n * that is, executed, but not remembered.\n */\n flush(cb = null) {\n this.flushCallback = cb || this.flushCallback;\n if (this.statuses.firing) {\n return this;\n }\n this.#attachCursor();\n this.#fire(false).then(() => {\n if (this.queue.getPendingQueueItems().length > 0) {\n return this.flush();\n }\n this.flushCallback();\n this.flushCallback = null;\n });\n return this;\n }\n getQueue() {\n return this.queue;\n }\n getOptions() {\n return this.opts;\n }\n updateOptions(options) {\n return this.#updateOptions(options);\n }\n getElement() {\n return this.element;\n }\n empty(actionOpts = {}) {\n return this.#queueAndReturn({ func: this.#empty.bind(this) }, actionOpts);\n }\n async #empty() {\n if (this.#elementIsInput()) {\n this.element.value = \"\";\n return;\n }\n this.#allChars.forEach(this.#removeNode.bind(this));\n return;\n }\n /**\n * Execute items in the queue.\n *\n * @param remember If false, each queue item will be destroyed once executed.\n * @returns\n */\n async #fire(remember = true) {\n this.statuses.started = true;\n this.statuses.firing = true;\n let cleanUp = (qKey) => {\n this.queue.done(qKey, !remember);\n };\n try {\n let queueItems = [...this.queue.getQueue()];\n for (let index = 0; index < queueItems.length; index++) {\n let [queueKey, queueItem] = queueItems[index];\n if (queueItem.done) continue;\n if (!queueItem.deletable || queueItem.deletable && this.#allChars.length) {\n let newIndex = await this.#fireItemWithContext(index, queueItems);\n cleanUpSkipped({\n index,\n newIndex,\n queueItems,\n cleanUp\n });\n index = newIndex;\n }\n cleanUp(queueKey);\n }\n if (!remember) {\n this.statuses.firing = false;\n return this;\n }\n this.statuses.completed = true;\n this.statuses.firing = false;\n await this.opts.afterComplete(this);\n if (!this.opts.loop) {\n throw \"\";\n }\n let delay = this.opts.loopDelay;\n this.#wait(async () => {\n await this.#prepLoop(delay[0]);\n this.#fire();\n }, delay[1]);\n } catch (e) {\n }\n this.statuses.firing = false;\n return this;\n }\n async #move(step) {\n this.cursorPosition = updateCursorPosition(\n step,\n this.cursorPosition,\n this.#allChars\n );\n repositionCursor(this.element, this.#allChars, this.cursorPosition);\n }\n /**\n * 1. Reset queue.\n * 2. Reset initial pause.\n */\n async #prepLoop(delay) {\n let derivedCursorPosition = this.#derivedCursorPosition;\n derivedCursorPosition && await this.#move({ value: derivedCursorPosition });\n let queueItems = this.#allChars.map((c) => {\n return [\n Symbol(),\n {\n func: this.#delete.bind(this),\n delay: this.#getPace(1),\n deletable: true,\n shouldPauseCursor: () => true\n }\n ];\n });\n for (let index = 0; index < queueItems.length; index++) {\n await this.#fireItemWithContext(index, queueItems);\n }\n this.queue.reset();\n this.queue.set(0, { delay });\n }\n #fireItemWithContext(index, queueItems) {\n return fireItem({\n index,\n queueItems,\n wait: this.#wait.bind(this),\n cursor: this.cursor,\n cursorOptions: this.opts.cursor\n });\n }\n async #wait(callback, delay, silent = false) {\n if (this.statuses.frozen) {\n await new Promise((resolve) => {\n this.unfreeze = () => {\n this.statuses.frozen = false;\n resolve();\n };\n });\n }\n silent || await this.opts.beforeStep(this);\n await wait(callback, delay, this.timeouts);\n silent || await this.opts.afterStep(this);\n }\n /**\n * Attach it to the DOM so, along with the required CSS transition.\n */\n async #attachCursor() {\n !this.#elementIsInput() && this.cursor && this.element.appendChild(this.cursor);\n if (this.#shouldRenderCursor) {\n setCursorStyles(this.id, this.element);\n this.cursor.dataset.tiAnimationId = this.id;\n let { animation } = this.opts.cursor;\n let { frames, options } = animation;\n setCursorAnimation({\n frames,\n cursor: this.cursor,\n options: {\n duration: this.opts.cursorSpeed,\n ...options\n }\n });\n }\n }\n #elementIsInput() {\n return isInput(this.element);\n }\n #queueAndReturn(steps, opts) {\n this.queue.add(steps);\n this.#maybeAppendPause(opts);\n return this;\n }\n #maybeAppendPause(opts = {}) {\n let delay = opts.delay;\n delay && this.queue.add({ delay });\n }\n #generateTemporaryOptionQueueItems(newOptions = {}) {\n return [\n { func: () => this.#updateOptions(newOptions) },\n { func: () => this.#updateOptions(this.opts) }\n ];\n }\n async #updateOptions(opts) {\n this.opts = merge(this.opts, opts);\n }\n /**\n * Based on provided strings, generate a TypeIt queue\n * to be fired for each character in the string.\n */\n #generateQueue() {\n let strings = this.opts.strings.filter((string) => !!string);\n strings.forEach((string, index) => {\n this.type(string);\n if (index + 1 === strings.length) {\n return;\n }\n let splitItems = this.opts.breakLines ? [{ func: () => this.#type(createElement(\"BR\")), typeable: true }] : duplicate(\n {\n func: this.#delete.bind(this),\n delay: this.#getPace(1)\n },\n this.queue.getTypeable().length\n );\n this.#addSplitPause(splitItems);\n });\n }\n #buildOptions = (options) => {\n this.opts.cursor = processCursorOptions(\n options.cursor ?? DEFAULT_OPTIONS.cursor\n );\n this.opts.strings = this.#prependHardcodedStrings(\n asArray(this.opts.strings)\n );\n this.opts = merge(this.opts, {\n html: !this.#isInput && this.opts.html,\n nextStringDelay: calculateDelay(this.opts.nextStringDelay),\n loopDelay: calculateDelay(this.opts.loopDelay)\n });\n };\n #prependHardcodedStrings(strings) {\n let existingMarkup = this.element.innerHTML;\n if (!existingMarkup) {\n return strings;\n }\n this.element.innerHTML = \"\";\n if (this.opts.startDelete) {\n this.element.innerHTML = existingMarkup;\n expandTextNodes(this.element);\n this.#addSplitPause(\n duplicate(\n {\n func: this.#delete.bind(this),\n delay: this.#getPace(1),\n deletable: true\n },\n this.#allChars.length\n )\n );\n return strings;\n }\n return splitOnBreak(existingMarkup).concat(strings);\n }\n /**\n * Provided it's a non-form element and the options is provided,\n * set up the cursor element for the animation.\n */\n #setUpCursor() {\n if (this.#isInput) {\n return null;\n }\n let cursor = createElement(\"span\");\n cursor.className = CURSOR_CLASS;\n if (!this.#shouldRenderCursor) {\n cursor.style.visibility = \"hidden\";\n return cursor;\n }\n cursor.innerHTML = getParsedBody(this.opts.cursorChar).innerHTML;\n return cursor;\n }\n #addSplitPause(items) {\n let delay = this.opts.nextStringDelay;\n this.queue.add([{ delay: delay[0] }, ...items, { delay: delay[1] }]);\n }\n #type(char) {\n insertIntoElement(this.element, char);\n }\n #delete() {\n if (!this.#allChars.length) return;\n if (this.#isInput) {\n this.element.value = this.element.value.slice(0, -1);\n } else {\n this.#removeNode(this.#allChars[this.cursorPosition]);\n }\n }\n #removeNode(node) {\n removeNode(node, this.element);\n }\n #getPace(index = 0) {\n return calculatePace(this.opts)[index];\n }\n get #derivedCursorPosition() {\n return this.predictedCursorPosition ?? this.cursorPosition;\n }\n get #isInput() {\n return isInput(this.element);\n }\n get #shouldRenderCursor() {\n return !!this.opts.cursor && !this.#isInput;\n }\n get #allChars() {\n return getAllChars(this.element);\n }\n}\n\nexport { TypeIt as default };\n","import { consume } from '@lit/context'\nimport { $LitElement } from '@mixins/index'\nimport { delayContext } from '@schmancy/delay'\nimport hashContent from '@schmancy/utils/hashContent'\nimport { intersection$ } from '@schmancy/utils/intersection'\nimport { html, TemplateResult } from 'lit'\nimport { customElement, property, query, queryAssignedElements, queryAssignedNodes } from 'lit/decorators.js'\nimport TypeIt, { Options as TypeItOptions } from 'typeit'\n\n@customElement('schmancy-typewriter')\nexport class TypewriterElement extends $LitElement() {\n\t/**\n\t * Typing speed in milliseconds per character.\n\t */\n\t@property({ type: Number })\n\tspeed: number = 50\n\n\t/**\n\t * Delay before typing starts (ms).\n\t */\n\t@consume({ context: delayContext, subscribe: true })\n\t@property({ type: Number })\n\tdelay: number = 0\n\n\t/**\n\t * Automatically start typing on initialization.\n\t */\n\t@property({ type: Boolean })\n\tautoStart: boolean = true\n\n\t/**\n\t * The cursor character.\n\t */\n\t@property({ type: String })\n\tcursorChar: string = ''\n\n\t/**\n\t * Typing speed for deletions (ms per character).\n\t */\n\t@property({ type: Number })\n\tdeleteSpeed: number = 25\n\n\t@property({ type: Boolean }) once = true\n\t/**\n\t * TypeIt instance.\n\t */\n\tprivate typeItInstance: TypeIt | null = null\n\n\t/**\n\t * Reference to the typewriter container.\n\t */\n\t@query('#typewriter')\n\tprivate typewriterContainer!: HTMLElement\n\n\t@queryAssignedNodes({\n\t\tflatten: true,\n\t})\n\tprivate _getSlottedNodes!: Node[]\n\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tprivate _getSlottedElements!: HTMLElement[]\n\t/**\n\t * Lifecycle method called when the component is disconnected from the DOM.\n\t * Ensures that TypeIt instances are properly cleaned up.\n\t */\n\n\tprivate sessionKey = ''\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis._destroyTypeIt()\n\t}\n\n\t/**\n\t * Initializes the TypeIt instance with the provided slotted content.\n\t */\n\tprivate _startTyping() {\n\t\t// Destroy any existing TypeIt instance\n\t\tthis._destroyTypeIt()\n\n\t\tthis.sessionKey = this.generateSessionKey()\n\n\t\tif (this.once && sessionStorage.getItem(this.sessionKey) === 'true') {\n\t\t\t// Skip delay and render immediately if once is set and already rendered\n\t\t\tthis.shadowRoot?.querySelector('slot')?.removeAttribute('hidden')\n\t\t\treturn\n\t\t}\n\n\t\tif (!this.typewriterContainer) {\n\t\t\tconsole.warn('Typewriter container not found.')\n\t\t\treturn\n\t\t}\n\n\t\t// Configure TypeIt options\n\t\tconst typeItOptions: TypeItOptions = {\n\t\t\tspeed: this.speed,\n\t\t\tstartDelay: this.delay,\n\t\t\tcursor: !!this.cursorChar,\n\t\t\tcursorChar: this.cursorChar,\n\t\t\tdeleteSpeed: this.deleteSpeed,\n\t\t\tafterComplete: () => {\n\t\t\t\tif (this.once) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsessionStorage.setItem(this.sessionKey, 'true')\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error saving to session storage:', error)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Dispatch the custom event\n\t\t\t\tthis.dispatchEvent(new CustomEvent('typeit-complete', { bubbles: true, composed: true }))\n\n\t\t\t\t// Hide the cursor\n\t\t\t\tthis.typewriterContainer.style.setProperty('--ti-cursor-display', 'none')\n\t\t\t},\n\t\t}\n\n\t\t// Initialize TypeIt\n\t\tthis.typeItInstance = new TypeIt(this.typewriterContainer, typeItOptions)\n\n\t\t// Process slotted content as actions\n\t\tconst slottedNodes = this._getSlottedNodes\n\t\tslottedNodes.forEach(node => {\n\t\t\tif (node.nodeType === Node.TEXT_NODE) {\n\t\t\t\t// Handle plain text\n\t\t\t\tthis.typeItInstance?.type(node.textContent || '')\n\t\t\t} else if (node instanceof HTMLElement) {\n\t\t\t\t// Handle custom element\n\t\t\t\tthis._processCustomElement(node)\n\t\t\t}\n\t\t})\n\n\t\t// Start the typing animation if autoStart is enabled\n\t\t// use rxjs to detect once we are in the view port\n\t\tintersection$(this.shadowRoot?.host as Element).subscribe(() => {\n\t\t\t// alert('in view')\n\t\t\tthis.typeItInstance?.go()\n\t\t})\n\t\t// Start the typing animation if autoStart is enabled\n\t}\n\n\tprivate generateSessionKey(): string {\n\t\tconst slotContent = this._getSlottedElements.map(el => el.outerHTML).join('')\n\t\treturn this.once ? hashContent(slotContent) : ''\n\t}\n\t/**\n\t * Destroys the current TypeIt instance if it exists.\n\t */\n\tprivate _destroyTypeIt() {\n\t\tif (this.typeItInstance) {\n\t\t\ttry {\n\t\t\t\tthis.typeItInstance.destroy()\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error destroying TypeIt instance:', error)\n\t\t\t}\n\t\t\tthis.typeItInstance = null\n\t\t}\n\t}\n\n\t/**\n\t * Processes a custom element for its typing behavior.\n\t */\n\tprivate _processCustomElement(element: HTMLElement) {\n\t\tconst action = element.getAttribute('action')\n\t\tconst value = element.getAttribute('value')\n\t\tswitch (action) {\n\t\t\tcase 'pause':\n\t\t\t\tthis.typeItInstance?.pause(parseInt(value || '0', 10))\n\t\t\t\tbreak\n\t\t\tcase 'delete':\n\t\t\t\tthis.typeItInstance?.delete(parseInt(value || '0', 10))\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tif (element.tagName === 'P') {\n\t\t\t\t\tthis.typeItInstance.break()\n\t\t\t\t}\n\t\t\t\t// Treat as text if no action is defined\n\t\t\t\tthis.typeItInstance?.type(element.textContent || '')\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\t/**\n\t * Renders the component's HTML.\n\t */\n\trender(): TemplateResult {\n\t\treturn html`<div id=\"typewriter\" aria-live=\"polite\"></div>\n\n\t\t\t<div class=\"typewriter\">\n\t\t\t\t<slot\n\t\t\t\t\thidden\n\t\t\t\t\t@slotchange=${() => {\n\t\t\t\t\t\tthis._startTyping()\n\t\t\t\t\t}}\n\t\t\t\t></slot>\n\t\t\t</div> `\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-typewriter': TypewriterElement\n\t}\n}\n"],"names":["isArray","thing","Array","asArray","value","DATA_ATTRIBUTE","CURSOR_CLASS","DEFAULT_STATUSES","started","completed","frozen","destroyed","DEFAULT_OPTIONS","breakLines","cursor","autoPause","autoPauseDelay","animation","frames","map","n","opacity","options","iterations","Infinity","easing","fill","cursorChar","cursorSpeed","deleteSpeed","html","lifeLike","loop","loopDelay","nextStringDelay","speed","startDelay","startDelete","strings","waitUntilVisible","beforeString","afterString","beforeStep","afterStep","afterComplete","PLACEHOLDER_CSS","createElement","el","document","createTextNode","content","appendStyleBlock","styles","id","styleBlock","appendChild","head","calculateDelay","delayArg","randomInRange","range","Math","abs","random","val","toArray","from","expandTextNodes","element","childNodes","forEach","child","nodeValue","c","parentNode","insertBefore","remove","getParsedBody","doc","implementation","createHTMLDocument","body","innerHTML","walkElementNodes","shouldReverse","shouldIncludeCursor","nextNode","querySelector","walker","createTreeWalker","NodeFilter","SHOW_ALL","acceptNode","node","classList","contains","FILTER_ACCEPT","FILTER_REJECT","nodes","originalParent","push","reverse","maybeChunkStringAsHtml","str","asHtml","cleanUpSkipped","index","newIndex","queueItems","cleanUp","i","isNumber","Number","isInteger","countStepsToSelector","selector","cursorPosition","to","isMovingToEnd","RegExp","test","selectorIndex","findIndex","char","parentElement","parentMatches","matches","firstChild","isSameNode","length","duplicate","times","beforePaint","cb","Promise","resolve","requestAnimationFrame","async","getAnimationFromElement","getAnimations","find","dataset","tiAnimationId","setCursorAnimation","animate","pause","play","execute","queueItem","func","call","fireItem","wait","cursorOptions","instantQueue","tempIndex","futureItem","shouldBeGrouped","delay","shouldPauseCursor","q","effect","getComputedTiming","cancel","oldCurrentTime","currentTime","newAnimation","isInput","handleFunctionalArg","arg","select","all","merge","originalObj","newObj","Object","assign","cursorFontStyles","color","transform","TypeIt","timeouts","predictedCursorPosition","statuses","firing","opts","queue","flushCallback","unfreeze","this","toString","substring","initialItems","add","steps","step","_q","set","Symbol","innerText","buildQueueItem","Boolean","typeable","cursorable","deletable","getQueue","rawValues","values","Map","item","keys","wipe","done","key","shouldDestroy","delete","get","reset","destroy","getItems","filter","getTypeable","getPendingQueueItems","pending","typeitId","generateQueue","go","bind","IntersectionObserver","entries","observer2","entry","isIntersecting","unobserve","threshold","observe","fire","shouldRemoveCursor","clearTimeout","rebuild","is","property","elementIsInput","string","actionOpts","instant","bookEndQueueItems","charsAsQueueItems","outerHTML","getPace","nodeType","Node","TEXT_NODE","itemsToQueue","movementArg","numberOfSteps","derivedCursorPosition","directionalStep","milliseconds","numCharacters","num","typeableQueueItems","rounds","freeze","attachCursor","then","flush","getOptions","empty","#r","remember","qKey","queueKey","e","printedCharacters","min","max","allChars","newCursorPosition","nodeToInsertBefore","#g","#w","#b","callback","silent","setTimeout","cursorSelector","computedStyles","getComputedStyle","customProperties","reduce","accumulator","duration","#n","#l","#x","#o","newOptions","#p","#s","type","splitItems","buildOptions","defaultFrames","defaultOptions","#q","existingMarkup","replace","trim","split","concat","#e","setUpCursor","className","style","visibility","#S","items","#u","originalTarget","character","textContent","target","tagName","cursorNode","#f","slice","#h","rootElement","nodeParent","s","#a","#c","#I","shouldRenderCursor","#m","TypewriterElement","$LitElement","constructor","super","arguments","autoStart","once","typeItInstance","sessionKey","disconnectedCallback","_destroyTypeIt","_startTyping","generateSessionKey","sessionStorage","getItem","shadowRoot","removeAttribute","typewriterContainer","typeItOptions","setItem","error","dispatchEvent","CustomEvent","bubbles","composed","setProperty","_getSlottedNodes","HTMLElement","_processCustomElement","intersection$","host","subscribe","slotContent","_getSlottedElements","join","hashContent","action","getAttribute","parseInt","break","render","__decorateClass","prototype","consume","context","delayContext","String","query","queryAssignedNodes","flatten","queryAssignedElements","customElement"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { c as
|
|
1
|
+
import { c as X } from "./consume-5D1qfVWM.js";
|
|
2
2
|
import "rxjs";
|
|
3
3
|
import "lit/directives/class-map.js";
|
|
4
4
|
import "lit/directives/style-map.js";
|
|
5
|
-
import { property as f, query as
|
|
6
|
-
import "./tailwind.mixin-
|
|
7
|
-
import { $ as Z } from "./litElement.mixin-
|
|
8
|
-
import { h as tt, d as et } from "./delay-
|
|
5
|
+
import { property as f, query as J, queryAssignedNodes as W, queryAssignedElements as G, customElement as Y } from "lit/decorators.js";
|
|
6
|
+
import "./tailwind.mixin-C13RR5x6.js";
|
|
7
|
+
import { $ as Z } from "./litElement.mixin-Efwm8boA.js";
|
|
8
|
+
import { h as tt, d as et } from "./delay-D19Mpit_.js";
|
|
9
9
|
import { i as st } from "./intersection-CJxzz8c-.js";
|
|
10
|
-
import {
|
|
11
|
-
const F = (s) => Array.isArray(s), k = (s) => F(s) ? s : [s], B = "data-typeit-id", y = "ti-cursor",
|
|
10
|
+
import { html as it } from "lit";
|
|
11
|
+
const F = (s) => Array.isArray(s), k = (s) => F(s) ? s : [s], B = "data-typeit-id", y = "ti-cursor", rt = { started: !1, completed: !1, frozen: !1, destroyed: !1 }, g = { breakLines: !0, cursor: { autoPause: !0, autoPauseDelay: 500, animation: { frames: [0, 0, 1].map((s) => ({ opacity: s })), options: { iterations: 1 / 0, easing: "steps(2, start)", fill: "forwards" } } }, cursorChar: "|", cursorSpeed: 1e3, deleteSpeed: null, html: !0, lifeLike: !0, loop: !1, loopDelay: 750, nextStringDelay: 750, speed: 100, startDelay: 250, startDelete: !1, strings: [], waitUntilVisible: !1, beforeString: () => {
|
|
12
12
|
}, afterString: () => {
|
|
13
13
|
}, beforeStep: () => {
|
|
14
14
|
}, afterStep: () => {
|
|
15
15
|
}, afterComplete: () => {
|
|
16
|
-
} },
|
|
16
|
+
} }, nt = `[${B}]:before {content: '.'; display: inline-block; width: 0; visibility: hidden;}`, P = (s) => document.createElement(s), q = (s) => document.createTextNode(s), A = (s, t = "") => {
|
|
17
17
|
let e = P("style");
|
|
18
18
|
e.id = t, e.appendChild(q(s)), document.head.appendChild(e);
|
|
19
19
|
}, _ = (s) => (F(s) || (s = [s / 2, s / 2]), s), $ = (s, t) => Math.abs(Math.random() * (s + t - (s - t)) + (s - t));
|
|
@@ -40,19 +40,19 @@ function Q(s, t = !1, e = !1) {
|
|
|
40
40
|
for (; i = n.nextNode(); ) i.originalParent || (i.originalParent = i.parentNode), o.push(i);
|
|
41
41
|
return t ? o.reverse() : o;
|
|
42
42
|
}
|
|
43
|
-
function
|
|
43
|
+
function ot(s, t = !0) {
|
|
44
44
|
return t ? Q(K(s)) : j(s).map(q);
|
|
45
45
|
}
|
|
46
|
-
const
|
|
46
|
+
const at = ({ index: s, newIndex: t, queueItems: e, cleanUp: i }) => {
|
|
47
47
|
for (let r = s + 1; r < t + 1; r++) i(e[r][0]);
|
|
48
48
|
}, U = (s) => Number.isInteger(s), H = ({ queueItems: s, selector: t, cursorPosition: e, to: i }) => {
|
|
49
49
|
if (U(t)) return -1 * t;
|
|
50
50
|
let r = new RegExp("END", "i").test(i), n = t ? [...s].reverse().findIndex(({ char: o }) => {
|
|
51
|
-
let a = o.parentElement,
|
|
52
|
-
return !(!r || !
|
|
51
|
+
let a = o.parentElement, u = a.matches(t);
|
|
52
|
+
return !(!r || !u) || u && a.firstChild.isSameNode(o);
|
|
53
53
|
}) : -1;
|
|
54
54
|
return n < 0 && (n = r ? 0 : s.length - 1), n - e + (r ? 0 : 1);
|
|
55
|
-
},
|
|
55
|
+
}, T = (s, t) => new Array(t).fill(s);
|
|
56
56
|
let S = (s) => new Promise((t) => {
|
|
57
57
|
requestAnimationFrame(async () => {
|
|
58
58
|
t(await s());
|
|
@@ -64,9 +64,9 @@ let S = (s) => new Promise((t) => {
|
|
|
64
64
|
i.play();
|
|
65
65
|
});
|
|
66
66
|
}), i;
|
|
67
|
-
}, z = (s) => s.func?.call(null),
|
|
68
|
-
let n = t[s][1], o = [], a = s,
|
|
69
|
-
for (;
|
|
67
|
+
}, z = (s) => s.func?.call(null), ht = async ({ index: s, queueItems: t, wait: e, cursor: i, cursorOptions: r }) => {
|
|
68
|
+
let n = t[s][1], o = [], a = s, u = n, l = () => u && !u.delay, h = n.shouldPauseCursor() && r.autoPause;
|
|
69
|
+
for (; l(); ) o.push(u), l() && a++, u = t[a] ? t[a][1] : null;
|
|
70
70
|
if (o.length) return await S(async () => {
|
|
71
71
|
for (let w of o) await z(w);
|
|
72
72
|
}), a - 1;
|
|
@@ -83,11 +83,11 @@ let S = (s) => new Promise((t) => {
|
|
|
83
83
|
return E && (M.currentTime = E), M;
|
|
84
84
|
})({ cursor: i, options: c, cursorOptions: r }), s;
|
|
85
85
|
};
|
|
86
|
-
const
|
|
86
|
+
const v = (s) => "value" in s;
|
|
87
87
|
let b = (s) => typeof s == "function" ? s() : s, N = (s, t = document, e = !1) => t["querySelector" + (e ? "All" : "")](s);
|
|
88
88
|
const I = (s, t) => Object.assign({}, s, t);
|
|
89
89
|
let ut = { "font-family": "", "font-weight": "", "font-size": "", "font-style": "", "line-height": "", color: "", transform: "translateX(-.125em)" };
|
|
90
|
-
class
|
|
90
|
+
class lt {
|
|
91
91
|
element;
|
|
92
92
|
timeouts;
|
|
93
93
|
cursorPosition;
|
|
@@ -103,25 +103,25 @@ class ct {
|
|
|
103
103
|
constructor(t, e = {}) {
|
|
104
104
|
var i;
|
|
105
105
|
this.opts = I(g, e), this.element = typeof (i = t) == "string" ? N(i) : i, this.timeouts = [], this.cursorPosition = 0, this.unfreeze = () => {
|
|
106
|
-
}, this.predictedCursorPosition = null, this.statuses = I({},
|
|
106
|
+
}, this.predictedCursorPosition = null, this.statuses = I({}, rt), this.id = Math.random().toString().substring(2, 9), this.queue = function(r) {
|
|
107
107
|
let n = function(h) {
|
|
108
|
-
return k(h).forEach((c) =>
|
|
108
|
+
return k(h).forEach((c) => l.set(Symbol(c.char?.innerText), o({ ...c }))), this;
|
|
109
109
|
}, o = (h) => (h.shouldPauseCursor = function() {
|
|
110
110
|
return !!(this.typeable || this.cursorable || this.deletable);
|
|
111
|
-
}, h), a = () =>
|
|
111
|
+
}, h), a = () => l, u = () => Array.from(l.values()), l = /* @__PURE__ */ new Map();
|
|
112
112
|
return n(r), { add: n, set: function(h, c) {
|
|
113
|
-
let m = [...
|
|
114
|
-
|
|
113
|
+
let m = [...l.keys()];
|
|
114
|
+
l.set(m[h], o(c));
|
|
115
115
|
}, wipe: function() {
|
|
116
|
-
|
|
117
|
-
}, done: (h, c = !1) => c ?
|
|
118
|
-
|
|
119
|
-
}, destroy: (h) =>
|
|
116
|
+
l = /* @__PURE__ */ new Map(), n(r);
|
|
117
|
+
}, done: (h, c = !1) => c ? l.delete(h) : l.get(h).done = !0, reset: function() {
|
|
118
|
+
l.forEach((h) => delete h.done);
|
|
119
|
+
}, destroy: (h) => l.delete(h), getItems: (h = !1) => h ? u() : u().filter((c) => !c.done), getQueue: a, getTypeable: () => u().filter((h) => h.typeable), getPendingQueueItems: () => {
|
|
120
120
|
const h = [];
|
|
121
121
|
for (let [, c] of a()) c.done || h.push(c);
|
|
122
122
|
return h;
|
|
123
123
|
} };
|
|
124
|
-
}([{ delay: this.opts.startDelay }]), this.#
|
|
124
|
+
}([{ delay: this.opts.startDelay }]), this.#T(e), this.cursor = this.#P(), this.element.dataset.typeitId = this.id, A(nt), this.opts.strings.length && this.#C();
|
|
125
125
|
}
|
|
126
126
|
go() {
|
|
127
127
|
return this.statuses.started ? this : (this.#m(), this.opts.waitUntilVisible ? (t = this.element, e = this.#i.bind(this), new IntersectionObserver((i, r) => {
|
|
@@ -137,26 +137,26 @@ class ct {
|
|
|
137
137
|
reset(t) {
|
|
138
138
|
!this.is("destroyed") && this.destroy(), t ? (this.queue.wipe(), t(this)) : this.queue.reset(), this.cursorPosition = 0;
|
|
139
139
|
for (let e in this.statuses) this.statuses[e] = !1;
|
|
140
|
-
return this.element[this.#
|
|
140
|
+
return this.element[this.#u() ? "value" : "innerHTML"] = "", this;
|
|
141
141
|
}
|
|
142
142
|
is = function(t) {
|
|
143
143
|
return this.statuses[t];
|
|
144
144
|
};
|
|
145
145
|
type(t, e = {}) {
|
|
146
146
|
t = b(t);
|
|
147
|
-
let { instant: i } = e, r = this.#r(e), n =
|
|
148
|
-
return { func: () => this.#
|
|
149
|
-
var
|
|
147
|
+
let { instant: i } = e, r = this.#r(e), n = ot(t, this.opts.html).map((a) => {
|
|
148
|
+
return { func: () => this.#l(a), char: a, delay: i || (u = a, /<(.+)>(.*?)<\/(.+)>/.test(u.outerHTML)) ? 0 : this.#s(), typeable: a.nodeType === Node.TEXT_NODE };
|
|
149
|
+
var u;
|
|
150
150
|
}), o = [r[0], { func: async () => await this.opts.beforeString(t, this) }, ...n, { func: async () => await this.opts.afterString(t, this) }, r[1]];
|
|
151
151
|
return this.#t(o, e);
|
|
152
152
|
}
|
|
153
153
|
break(t = {}) {
|
|
154
|
-
return this.#t({ func: () => this.#
|
|
154
|
+
return this.#t({ func: () => this.#l(P("BR")), typeable: !0 }, t);
|
|
155
155
|
}
|
|
156
156
|
move(t, e = {}) {
|
|
157
157
|
t = b(t);
|
|
158
158
|
let i = this.#r(e), { instant: r, to: n } = e, o = H({ queueItems: this.queue.getTypeable(), selector: t === null ? "" : t, to: n, cursorPosition: this.#a }), a = o < 0 ? -1 : 1;
|
|
159
|
-
return this.predictedCursorPosition = this.#a + o, this.#t([i[0], ...
|
|
159
|
+
return this.predictedCursorPosition = this.#a + o, this.#t([i[0], ...T({ func: () => this.#d(a), delay: r ? 0 : this.#s(), cursorable: !0 }, Math.abs(o)), i[1]], e);
|
|
160
160
|
}
|
|
161
161
|
exec(t, e = {}) {
|
|
162
162
|
let i = this.#r(e);
|
|
@@ -170,8 +170,8 @@ class ct {
|
|
|
170
170
|
}
|
|
171
171
|
delete(t = null, e = {}) {
|
|
172
172
|
t = b(t);
|
|
173
|
-
let i = this.#r(e), r = t, { instant: n, to: o } = e, a = this.queue.getTypeable(),
|
|
174
|
-
return this.#t([i[0], ...
|
|
173
|
+
let i = this.#r(e), r = t, { instant: n, to: o } = e, a = this.queue.getTypeable(), u = r === null ? a.length : U(r) ? r : H({ queueItems: a, selector: r, cursorPosition: this.#a, to: o });
|
|
174
|
+
return this.#t([i[0], ...T({ func: this.#o.bind(this), delay: n ? 0 : this.#s(1), deletable: !0 }, u), i[1]], e);
|
|
175
175
|
}
|
|
176
176
|
freeze() {
|
|
177
177
|
this.statuses.frozen = !0;
|
|
@@ -198,7 +198,7 @@ class ct {
|
|
|
198
198
|
return this.#t({ func: this.#b.bind(this) }, t);
|
|
199
199
|
}
|
|
200
200
|
async #b() {
|
|
201
|
-
this.#
|
|
201
|
+
this.#u() ? this.element.value = "" : this.#e.forEach(this.#c.bind(this));
|
|
202
202
|
}
|
|
203
203
|
async #i(t = !0) {
|
|
204
204
|
this.statuses.started = !0, this.statuses.firing = !0;
|
|
@@ -211,8 +211,8 @@ class ct {
|
|
|
211
211
|
let [o, a] = i[n];
|
|
212
212
|
if (!a.done) {
|
|
213
213
|
if (!a.deletable || a.deletable && this.#e.length) {
|
|
214
|
-
let
|
|
215
|
-
|
|
214
|
+
let u = await this.#p(n, i);
|
|
215
|
+
at({ index: n, newIndex: u, queueItems: i, cleanUp: e }), n = u;
|
|
216
216
|
}
|
|
217
217
|
e(o);
|
|
218
218
|
}
|
|
@@ -230,8 +230,8 @@ class ct {
|
|
|
230
230
|
async #d(t) {
|
|
231
231
|
var e, i, r;
|
|
232
232
|
this.cursorPosition = (e = t, i = this.cursorPosition, r = this.#e, Math.min(Math.max(i + e, 0), r.length)), ((n, o, a) => {
|
|
233
|
-
let
|
|
234
|
-
(n =
|
|
233
|
+
let u = o[a - 1], l = N(`.${y}`, n);
|
|
234
|
+
(n = u?.parentNode || n).insertBefore(l, u || null);
|
|
235
235
|
})(this.element, this.#e, this.cursorPosition);
|
|
236
236
|
}
|
|
237
237
|
async #w(t) {
|
|
@@ -242,7 +242,7 @@ class ct {
|
|
|
242
242
|
this.queue.reset(), this.queue.set(0, { delay: t });
|
|
243
243
|
}
|
|
244
244
|
#p(t, e) {
|
|
245
|
-
return
|
|
245
|
+
return ht({ index: t, queueItems: e, wait: this.#y.bind(this), cursor: this.cursor, cursorOptions: this.opts.cursor });
|
|
246
246
|
}
|
|
247
247
|
async #y(t, e, i = !1) {
|
|
248
248
|
this.statuses.frozen && await new Promise((r) => {
|
|
@@ -256,17 +256,17 @@ class ct {
|
|
|
256
256
|
}))(t, e, this.timeouts), i || await this.opts.afterStep(this);
|
|
257
257
|
}
|
|
258
258
|
async #m() {
|
|
259
|
-
if (!this.#
|
|
259
|
+
if (!this.#u() && this.cursor && this.element.appendChild(this.cursor), this.#g) {
|
|
260
260
|
((r, n) => {
|
|
261
|
-
let o = `[${B}='${r}'] .${y}`, a = getComputedStyle(n),
|
|
262
|
-
A(`${o} { display: inline-block; width: 0; ${
|
|
261
|
+
let o = `[${B}='${r}'] .${y}`, a = getComputedStyle(n), u = Object.entries(ut).reduce((l, [h, c]) => `${l} ${h}: var(--ti-cursor-${h}, ${c || a[h]});`, "");
|
|
262
|
+
A(`${o} { display: inline-block; width: 0; ${u} }`, r);
|
|
263
263
|
})(this.id, this.element), this.cursor.dataset.tiAnimationId = this.id;
|
|
264
264
|
let { animation: t } = this.opts.cursor, { frames: e, options: i } = t;
|
|
265
265
|
V({ frames: e, cursor: this.cursor, options: { duration: this.opts.cursorSpeed, ...i } });
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
|
-
#
|
|
269
|
-
return
|
|
268
|
+
#u() {
|
|
269
|
+
return v(this.element);
|
|
270
270
|
}
|
|
271
271
|
#t(t, e) {
|
|
272
272
|
return this.queue.add(t), this.#I(e), this;
|
|
@@ -285,22 +285,22 @@ class ct {
|
|
|
285
285
|
let t = this.opts.strings.filter((e) => !!e);
|
|
286
286
|
t.forEach((e, i) => {
|
|
287
287
|
if (this.type(e), i + 1 === t.length) return;
|
|
288
|
-
let r = this.opts.breakLines ? [{ func: () => this.#
|
|
288
|
+
let r = this.opts.breakLines ? [{ func: () => this.#l(P("BR")), typeable: !0 }] : T({ func: this.#o.bind(this), delay: this.#s(1) }, this.queue.getTypeable().length);
|
|
289
289
|
this.#f(r);
|
|
290
290
|
});
|
|
291
291
|
}
|
|
292
|
-
#
|
|
292
|
+
#T = (t) => {
|
|
293
293
|
this.opts.cursor = ((e) => {
|
|
294
294
|
if (typeof e == "object") {
|
|
295
295
|
let i = {}, { frames: r, options: n } = g.cursor.animation;
|
|
296
296
|
return i.animation = e.animation || {}, i.animation.frames = e.animation?.frames || r, i.animation.options = I(n, e.animation?.options || {}), i.autoPause = e.autoPause ?? g.cursor.autoPause, i.autoPauseDelay = e.autoPauseDelay || g.cursor.autoPauseDelay, i;
|
|
297
297
|
}
|
|
298
298
|
return e === !0 ? g.cursor : e;
|
|
299
|
-
})(t.cursor ?? g.cursor), this.opts.strings = this.#
|
|
299
|
+
})(t.cursor ?? g.cursor), this.opts.strings = this.#v(k(this.opts.strings)), this.opts = I(this.opts, { html: !this.#h && this.opts.html, nextStringDelay: _(this.opts.nextStringDelay), loopDelay: _(this.opts.loopDelay) });
|
|
300
300
|
};
|
|
301
|
-
#
|
|
301
|
+
#v(t) {
|
|
302
302
|
let e = this.element.innerHTML;
|
|
303
|
-
return e ? (this.element.innerHTML = "", this.opts.startDelete ? (this.element.innerHTML = e, x(this.element), this.#f(
|
|
303
|
+
return e ? (this.element.innerHTML = "", this.opts.startDelete ? (this.element.innerHTML = e, x(this.element), this.#f(T({ func: this.#o.bind(this), delay: this.#s(1), deletable: !0 }, this.#e.length)), t) : (i = e, i.replace(/<!--(.+?)-->/g, "").trim().split(/<br(?:\s*?)(?:\/)?>/)).concat(t)) : t;
|
|
304
304
|
var i;
|
|
305
305
|
}
|
|
306
306
|
#P() {
|
|
@@ -312,9 +312,9 @@ class ct {
|
|
|
312
312
|
let e = this.opts.nextStringDelay;
|
|
313
313
|
this.queue.add([{ delay: e[0] }, ...t, { delay: e[1] }]);
|
|
314
314
|
}
|
|
315
|
-
#
|
|
315
|
+
#l(t) {
|
|
316
316
|
((e, i) => {
|
|
317
|
-
if (
|
|
317
|
+
if (v(e)) return void (e.value = `${e.value}${i.textContent}`);
|
|
318
318
|
i.innerHTML = "";
|
|
319
319
|
let r = (n = i.originalParent, /body/i.test(n?.tagName) ? e : i.originalParent || e);
|
|
320
320
|
var n;
|
|
@@ -342,33 +342,21 @@ class ct {
|
|
|
342
342
|
return this.predictedCursorPosition ?? this.cursorPosition;
|
|
343
343
|
}
|
|
344
344
|
get #h() {
|
|
345
|
-
return
|
|
345
|
+
return v(this.element);
|
|
346
346
|
}
|
|
347
347
|
get #g() {
|
|
348
348
|
return !!this.opts.cursor && !this.#h;
|
|
349
349
|
}
|
|
350
350
|
get #e() {
|
|
351
|
-
return t = this.element,
|
|
351
|
+
return t = this.element, v(t) ? j(t.value) : Q(t, !0).filter((e) => !(e.childNodes.length > 0));
|
|
352
352
|
var t;
|
|
353
353
|
}
|
|
354
354
|
}
|
|
355
|
-
var
|
|
356
|
-
for (var r, n = i > 1 ? void 0 : i ?
|
|
357
|
-
return i && n &&
|
|
355
|
+
var ct = Object.defineProperty, dt = Object.getOwnPropertyDescriptor, p = (s, t, e, i) => {
|
|
356
|
+
for (var r, n = i > 1 ? void 0 : i ? dt(t, e) : t, o = s.length - 1; o >= 0; o--) (r = s[o]) && (n = (i ? r(t, e, n) : r(n)) || n);
|
|
357
|
+
return i && n && ct(t, e, n), n;
|
|
358
358
|
};
|
|
359
|
-
let d = class extends Z(
|
|
360
|
-
:host {
|
|
361
|
-
display: inherit;
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
#typewriter {
|
|
365
|
-
--ti-cursor-display: initial;
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
#typewriter .ti-cursor {
|
|
369
|
-
display: var(--ti-cursor-display);
|
|
370
|
-
}
|
|
371
|
-
`) {
|
|
359
|
+
let d = class extends Z() {
|
|
372
360
|
constructor() {
|
|
373
361
|
super(...arguments), this.speed = 50, this.delay = 0, this.autoStart = !0, this.cursorChar = "", this.deleteSpeed = 25, this.once = !0, this.typeItInstance = null, this.sessionKey = "";
|
|
374
362
|
}
|
|
@@ -385,7 +373,7 @@ let d = class extends Z(it`
|
|
|
385
373
|
}
|
|
386
374
|
this.dispatchEvent(new CustomEvent("typeit-complete", { bubbles: !0, composed: !0 })), this.typewriterContainer.style.setProperty("--ti-cursor-display", "none");
|
|
387
375
|
} };
|
|
388
|
-
this.typeItInstance = new
|
|
376
|
+
this.typeItInstance = new lt(this.typewriterContainer, s), this._getSlottedNodes.forEach((t) => {
|
|
389
377
|
t.nodeType === Node.TEXT_NODE ? this.typeItInstance?.type(t.textContent || "") : t instanceof HTMLElement && this._processCustomElement(t);
|
|
390
378
|
}), st(this.shadowRoot?.host).subscribe(() => {
|
|
391
379
|
this.typeItInstance?.go();
|
|
@@ -418,7 +406,7 @@ let d = class extends Z(it`
|
|
|
418
406
|
}
|
|
419
407
|
}
|
|
420
408
|
render() {
|
|
421
|
-
return
|
|
409
|
+
return it`<div id="typewriter" aria-live="polite"></div>
|
|
422
410
|
|
|
423
411
|
<div class="typewriter">
|
|
424
412
|
<slot
|
|
@@ -430,8 +418,8 @@ let d = class extends Z(it`
|
|
|
430
418
|
</div> `;
|
|
431
419
|
}
|
|
432
420
|
};
|
|
433
|
-
p([f({ type: Number })], d.prototype, "speed", 2), p([
|
|
421
|
+
p([f({ type: Number })], d.prototype, "speed", 2), p([X({ context: et, subscribe: !0 }), f({ type: Number })], d.prototype, "delay", 2), p([f({ type: Boolean })], d.prototype, "autoStart", 2), p([f({ type: String })], d.prototype, "cursorChar", 2), p([f({ type: Number })], d.prototype, "deleteSpeed", 2), p([f({ type: Boolean })], d.prototype, "once", 2), p([J("#typewriter")], d.prototype, "typewriterContainer", 2), p([W({ flatten: !0 })], d.prototype, "_getSlottedNodes", 2), p([G({ flatten: !0 })], d.prototype, "_getSlottedElements", 2), d = p([Y("schmancy-typewriter")], d);
|
|
434
422
|
export {
|
|
435
423
|
d as T
|
|
436
424
|
};
|
|
437
|
-
//# sourceMappingURL=typewriter-
|
|
425
|
+
//# sourceMappingURL=typewriter-peuqmq9f.js.map
|