gemi 0.4.119 → 0.4.121
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/dist/app/index.js +2 -2
- package/dist/app/index.js.map +2 -2
- package/dist/broadcasting/index.js +1 -1
- package/dist/chunk-001ftwam.js +4 -0
- package/dist/chunk-001ftwam.js.map +10 -0
- package/dist/chunk-01td3x3h.js +4 -0
- package/dist/chunk-01td3x3h.js.map +10 -0
- package/dist/chunk-029k2gah.js +4 -0
- package/dist/chunk-029k2gah.js.map +10 -0
- package/dist/chunk-0662pv0m.js +4 -0
- package/dist/{chunk-a67a5vtk.js.map → chunk-0662pv0m.js.map} +2 -2
- package/dist/chunk-0cax9v4f.js +4 -0
- package/dist/chunk-0cax9v4f.js.map +10 -0
- package/dist/chunk-0d9amhty.js +4 -0
- package/dist/chunk-0d9amhty.js.map +10 -0
- package/dist/chunk-0e502hy4.js +4 -0
- package/dist/chunk-0e502hy4.js.map +10 -0
- package/dist/chunk-0gqrxkhr.js +4 -0
- package/dist/chunk-0gqrxkhr.js.map +10 -0
- package/dist/chunk-0kk73bxd.js +4 -0
- package/dist/chunk-0kk73bxd.js.map +10 -0
- package/dist/{chunk-x8wrqc4y.js → chunk-0nvzdwwv.js} +2 -2
- package/dist/{chunk-x8wrqc4y.js.map → chunk-0nvzdwwv.js.map} +1 -1
- package/dist/chunk-0t4b19w0.js +5 -0
- package/dist/chunk-0t4b19w0.js.map +10 -0
- package/dist/chunk-0xq80cr7.js +4 -0
- package/dist/chunk-0xq80cr7.js.map +10 -0
- package/dist/chunk-0zp3sbms.js +4 -0
- package/dist/chunk-0zp3sbms.js.map +10 -0
- package/dist/chunk-10897e1t.js +5 -0
- package/dist/chunk-10897e1t.js.map +10 -0
- package/dist/chunk-147gjb8j.js +4 -0
- package/dist/chunk-147gjb8j.js.map +10 -0
- package/dist/chunk-165evrks.js +4 -0
- package/dist/chunk-165evrks.js.map +10 -0
- package/dist/chunk-16pqbv30.js +4 -0
- package/dist/chunk-16pqbv30.js.map +10 -0
- package/dist/chunk-18akssnh.js +4 -0
- package/dist/chunk-18akssnh.js.map +10 -0
- package/dist/chunk-1d07epxn.js +4 -0
- package/dist/chunk-1d07epxn.js.map +10 -0
- package/dist/chunk-1d3brmyr.js +4 -0
- package/dist/{chunk-ef6dgp5k.js.map → chunk-1d3brmyr.js.map} +6 -6
- package/dist/chunk-1fenkptw.js +4 -0
- package/dist/chunk-1fenkptw.js.map +10 -0
- package/dist/chunk-1fpyfztm.js +4 -0
- package/dist/chunk-1fpyfztm.js.map +10 -0
- package/dist/chunk-1jr2awdv.js +4 -0
- package/dist/chunk-1jr2awdv.js.map +10 -0
- package/dist/chunk-1pjd7z7e.js +5 -0
- package/dist/chunk-1pjd7z7e.js.map +11 -0
- package/dist/chunk-1vxhaep8.js +4 -0
- package/dist/chunk-1vxhaep8.js.map +10 -0
- package/dist/chunk-1zje855e.js +4 -0
- package/dist/chunk-1zje855e.js.map +10 -0
- package/dist/chunk-2a6xtt8w.js +4 -0
- package/dist/chunk-2a6xtt8w.js.map +10 -0
- package/dist/chunk-2nbxbgja.js +4 -0
- package/dist/chunk-2nbxbgja.js.map +10 -0
- package/dist/chunk-2qek6vwk.js +5 -0
- package/dist/chunk-2qek6vwk.js.map +10 -0
- package/dist/chunk-2qs5hcvw.js +4 -0
- package/dist/chunk-2qs5hcvw.js.map +15 -0
- package/dist/chunk-2rpt28ng.js +4 -0
- package/dist/chunk-2rpt28ng.js.map +10 -0
- package/dist/chunk-2zbw9b4r.js +4 -0
- package/dist/chunk-2zbw9b4r.js.map +10 -0
- package/dist/chunk-3evg8b1k.js +4 -0
- package/dist/chunk-3evg8b1k.js.map +10 -0
- package/dist/chunk-3vasf2wf.js +4 -0
- package/dist/chunk-3vasf2wf.js.map +10 -0
- package/dist/chunk-3zmgkx0w.js +4 -0
- package/dist/chunk-3zmgkx0w.js.map +10 -0
- package/dist/chunk-44g267q3.js +77 -0
- package/dist/chunk-44g267q3.js.map +22 -0
- package/dist/chunk-4b5zjps1.js +4 -0
- package/dist/chunk-4b5zjps1.js.map +10 -0
- package/dist/chunk-4f60mvxv.js +4 -0
- package/dist/chunk-4f60mvxv.js.map +10 -0
- package/dist/chunk-4gam76xs.js +4 -0
- package/dist/chunk-4gam76xs.js.map +10 -0
- package/dist/chunk-4jzv24rt.js +4 -0
- package/dist/chunk-4jzv24rt.js.map +10 -0
- package/dist/chunk-4np6kjty.js +4 -0
- package/dist/chunk-4np6kjty.js.map +10 -0
- package/dist/chunk-4psr7qf1.js +4 -0
- package/dist/chunk-4psr7qf1.js.map +10 -0
- package/dist/chunk-4s350vgd.js +4 -0
- package/dist/chunk-4s350vgd.js.map +10 -0
- package/dist/chunk-4txy30je.js +4 -0
- package/dist/chunk-4txy30je.js.map +10 -0
- package/dist/chunk-4zq5qst4.js +4 -0
- package/dist/chunk-4zq5qst4.js.map +10 -0
- package/dist/chunk-54a103ah.js +4 -0
- package/dist/chunk-54a103ah.js.map +10 -0
- package/dist/chunk-58jyqcxt.js +4 -0
- package/dist/chunk-58jyqcxt.js.map +10 -0
- package/dist/chunk-59a4qnm6.js +4 -0
- package/dist/chunk-59a4qnm6.js.map +10 -0
- package/dist/chunk-5crks4mc.js +4 -0
- package/dist/chunk-5crks4mc.js.map +10 -0
- package/dist/chunk-5fs16qc2.js +4 -0
- package/dist/chunk-5fs16qc2.js.map +10 -0
- package/dist/chunk-5nb5v649.js +4 -0
- package/dist/chunk-5nb5v649.js.map +10 -0
- package/dist/chunk-5psj5g03.js +4 -0
- package/dist/chunk-5psj5g03.js.map +10 -0
- package/dist/chunk-5qa0wvgg.js +4 -0
- package/dist/chunk-5qa0wvgg.js.map +10 -0
- package/dist/chunk-5t6fd3qq.js +4 -0
- package/dist/chunk-5t6fd3qq.js.map +12 -0
- package/dist/chunk-5whsf328.js +4 -0
- package/dist/chunk-5whsf328.js.map +10 -0
- package/dist/chunk-612vvdg0.js +5 -0
- package/dist/chunk-612vvdg0.js.map +10 -0
- package/dist/chunk-61fr8e09.js +5 -0
- package/dist/chunk-61fr8e09.js.map +10 -0
- package/dist/chunk-629qemrx.js +4 -0
- package/dist/chunk-629qemrx.js.map +10 -0
- package/dist/chunk-65kp9t0w.js +4 -0
- package/dist/chunk-65kp9t0w.js.map +10 -0
- package/dist/chunk-66f14pqy.js +4 -0
- package/dist/chunk-66f14pqy.js.map +10 -0
- package/dist/chunk-69bs53j4.js +4 -0
- package/dist/chunk-69bs53j4.js.map +10 -0
- package/dist/chunk-6a16vs8y.js +4 -0
- package/dist/chunk-6a16vs8y.js.map +10 -0
- package/dist/chunk-6ant7bcg.js +5 -0
- package/dist/chunk-6ant7bcg.js.map +10 -0
- package/dist/chunk-6fvkzn8b.js +4 -0
- package/dist/chunk-6fvkzn8b.js.map +10 -0
- package/dist/chunk-6fvtad65.js +4 -0
- package/dist/chunk-6fvtad65.js.map +10 -0
- package/dist/chunk-6m11rfdt.js +4 -0
- package/dist/chunk-6m11rfdt.js.map +10 -0
- package/dist/chunk-6p5ty79g.js +4 -0
- package/dist/chunk-6p5ty79g.js.map +10 -0
- package/dist/chunk-6vzzwyt5.js +4 -0
- package/dist/chunk-6vzzwyt5.js.map +10 -0
- package/dist/chunk-6zfyy2sq.js +5 -0
- package/dist/chunk-6zfyy2sq.js.map +10 -0
- package/dist/chunk-73mtep9k.js +5 -0
- package/dist/chunk-73mtep9k.js.map +10 -0
- package/dist/chunk-76cxqdm5.js +4 -0
- package/dist/chunk-76cxqdm5.js.map +10 -0
- package/dist/chunk-76q7gcr7.js +4 -0
- package/dist/chunk-76q7gcr7.js.map +10 -0
- package/dist/chunk-77hx7jrk.js +4 -0
- package/dist/chunk-77hx7jrk.js.map +10 -0
- package/dist/chunk-7e7xv67y.js +4 -0
- package/dist/chunk-7e7xv67y.js.map +10 -0
- package/dist/chunk-7sj61wa1.js +4 -0
- package/dist/chunk-7sj61wa1.js.map +10 -0
- package/dist/chunk-7w7gd3mf.js +4 -0
- package/dist/chunk-7w7gd3mf.js.map +10 -0
- package/dist/chunk-7y71tyb6.js +4 -0
- package/dist/chunk-7y71tyb6.js.map +10 -0
- package/dist/chunk-7yw671gx.js +5 -0
- package/dist/chunk-7yw671gx.js.map +10 -0
- package/dist/chunk-81zgg7ah.js +4 -0
- package/dist/chunk-81zgg7ah.js.map +10 -0
- package/dist/chunk-82sj7aem.js +5 -0
- package/dist/chunk-82sj7aem.js.map +10 -0
- package/dist/chunk-83ngngpn.js +4 -0
- package/dist/chunk-83ngngpn.js.map +10 -0
- package/dist/chunk-88h3dfxg.js +4 -0
- package/dist/chunk-88h3dfxg.js.map +10 -0
- package/dist/chunk-88pbkfa6.js +4 -0
- package/dist/chunk-88pbkfa6.js.map +10 -0
- package/dist/chunk-8dj48k3f.js +4 -0
- package/dist/chunk-8dj48k3f.js.map +10 -0
- package/dist/chunk-8mmnj32j.js +4 -0
- package/dist/chunk-8mmnj32j.js.map +10 -0
- package/dist/chunk-8qf94hzv.js +4 -0
- package/dist/chunk-8qf94hzv.js.map +10 -0
- package/dist/chunk-8w9c6mxe.js +3 -0
- package/dist/chunk-8w9c6mxe.js.map +17 -0
- package/dist/chunk-93mkmwaj.js +4 -0
- package/dist/chunk-93mkmwaj.js.map +10 -0
- package/dist/chunk-96m5669w.js +4 -0
- package/dist/chunk-96m5669w.js.map +10 -0
- package/dist/chunk-9717ybek.js +4 -0
- package/dist/chunk-9717ybek.js.map +10 -0
- package/dist/chunk-997k48kg.js +4 -0
- package/dist/chunk-997k48kg.js.map +10 -0
- package/dist/chunk-9abm0pr9.js +4 -0
- package/dist/chunk-9abm0pr9.js.map +10 -0
- package/dist/chunk-9dz8xyy1.js +3 -0
- package/dist/{chunk-p9gc7ke6.js.map → chunk-9dz8xyy1.js.map} +4 -4
- package/dist/chunk-9f1r7zrg.js +4 -0
- package/dist/chunk-9f1r7zrg.js.map +10 -0
- package/dist/chunk-9fj0c4p1.js +4 -0
- package/dist/chunk-9fj0c4p1.js.map +10 -0
- package/dist/chunk-9mv0k6t0.js +4 -0
- package/dist/chunk-9mv0k6t0.js.map +11 -0
- package/dist/chunk-9q75e96q.js +4 -0
- package/dist/chunk-9q75e96q.js.map +10 -0
- package/dist/chunk-9s0w0gjc.js +4 -0
- package/dist/chunk-9s0w0gjc.js.map +10 -0
- package/dist/chunk-9seafyf3.js +4 -0
- package/dist/chunk-9seafyf3.js.map +10 -0
- package/dist/chunk-9tpfth1g.js +5 -0
- package/dist/chunk-9tpfth1g.js.map +10 -0
- package/dist/chunk-9vm0ck1e.js +4 -0
- package/dist/{chunk-kmfnx43s.js.map → chunk-9vm0ck1e.js.map} +2 -2
- package/dist/chunk-aanamgj7.js +4 -0
- package/dist/chunk-aanamgj7.js.map +10 -0
- package/dist/chunk-acfp8fm2.js +5 -0
- package/dist/chunk-acfp8fm2.js.map +10 -0
- package/dist/chunk-agf0k1k9.js +4 -0
- package/dist/chunk-agf0k1k9.js.map +10 -0
- package/dist/chunk-ajft9tzm.js +5 -0
- package/dist/chunk-ajft9tzm.js.map +10 -0
- package/dist/chunk-apgh9fht.js +4 -0
- package/dist/chunk-apgh9fht.js.map +10 -0
- package/dist/chunk-aq7h2jz2.js +4 -0
- package/dist/chunk-aq7h2jz2.js.map +10 -0
- package/dist/chunk-atx3b9qj.js +4 -0
- package/dist/chunk-atx3b9qj.js.map +10 -0
- package/dist/chunk-axa5gvjg.js +4 -0
- package/dist/chunk-axa5gvjg.js.map +10 -0
- package/dist/chunk-b44x5gst.js +4 -0
- package/dist/chunk-b44x5gst.js.map +10 -0
- package/dist/chunk-b7ap0z6v.js +4 -0
- package/dist/chunk-b7ap0z6v.js.map +10 -0
- package/dist/{chunk-35bsy26w.js → chunk-bajafpzj.js} +2 -2
- package/dist/{chunk-35bsy26w.js.map → chunk-bajafpzj.js.map} +1 -1
- package/dist/chunk-baxfcaes.js +5 -0
- package/dist/chunk-baxfcaes.js.map +10 -0
- package/dist/chunk-bbrwkw5y.js +4 -0
- package/dist/chunk-bbrwkw5y.js.map +13 -0
- package/dist/chunk-befwbt0h.js +5 -0
- package/dist/chunk-befwbt0h.js.map +14 -0
- package/dist/chunk-bej163fy.js +4 -0
- package/dist/chunk-bej163fy.js.map +10 -0
- package/dist/chunk-bfrzstr0.js +4 -0
- package/dist/chunk-bfrzstr0.js.map +10 -0
- package/dist/chunk-bgf2a50m.js +4 -0
- package/dist/chunk-bgf2a50m.js.map +10 -0
- package/dist/chunk-bk649aen.js +4 -0
- package/dist/chunk-bk649aen.js.map +10 -0
- package/dist/chunk-brsavvrn.js +4 -0
- package/dist/chunk-brsavvrn.js.map +10 -0
- package/dist/chunk-bwgwxgw8.js +4 -0
- package/dist/chunk-bwgwxgw8.js.map +10 -0
- package/dist/chunk-c7qx33ys.js +4 -0
- package/dist/chunk-c7qx33ys.js.map +10 -0
- package/dist/chunk-cb616xw5.js +4 -0
- package/dist/{chunk-ktwy9nyn.js.map → chunk-cb616xw5.js.map} +1 -1
- package/dist/chunk-ce7rcdsg.js +4 -0
- package/dist/chunk-ce7rcdsg.js.map +10 -0
- package/dist/chunk-ce89kst6.js +4 -0
- package/dist/chunk-ce89kst6.js.map +10 -0
- package/dist/chunk-cefrz6wd.js +4 -0
- package/dist/chunk-cefrz6wd.js.map +10 -0
- package/dist/chunk-cgfc4w0w.js +4 -0
- package/dist/chunk-cgfc4w0w.js.map +10 -0
- package/dist/chunk-chabgvmr.js +4 -0
- package/dist/chunk-chabgvmr.js.map +10 -0
- package/dist/chunk-cjsmqv12.js +4 -0
- package/dist/chunk-cjsmqv12.js.map +10 -0
- package/dist/chunk-d12swf8t.js +4 -0
- package/dist/chunk-d12swf8t.js.map +10 -0
- package/dist/chunk-d1vf91bx.js +5 -0
- package/dist/chunk-d1vf91bx.js.map +10 -0
- package/dist/chunk-d3vvh6x2.js +4 -0
- package/dist/chunk-d3vvh6x2.js.map +13 -0
- package/dist/chunk-d7zvjgvr.js +4 -0
- package/dist/{chunk-1gjhrqfe.js.map → chunk-d7zvjgvr.js.map} +5 -5
- package/dist/chunk-d87mx4t6.js +4 -0
- package/dist/chunk-d87mx4t6.js.map +13 -0
- package/dist/chunk-d8nm5ddh.js +7 -0
- package/dist/chunk-d8nm5ddh.js.map +65 -0
- package/dist/chunk-dgpcg2dh.js +5 -0
- package/dist/chunk-dgpcg2dh.js.map +10 -0
- package/dist/chunk-dhfkqc5x.js +4 -0
- package/dist/chunk-dhfkqc5x.js.map +10 -0
- package/dist/chunk-e5n4eyrc.js +4 -0
- package/dist/chunk-e5n4eyrc.js.map +10 -0
- package/dist/chunk-ec6tgefk.js +5 -0
- package/dist/chunk-ec6tgefk.js.map +10 -0
- package/dist/chunk-eddsdprs.js +5 -0
- package/dist/chunk-eddsdprs.js.map +10 -0
- package/dist/chunk-efkfryw1.js +4 -0
- package/dist/chunk-efkfryw1.js.map +10 -0
- package/dist/chunk-enbw3h06.js +4 -0
- package/dist/chunk-enbw3h06.js.map +10 -0
- package/dist/chunk-eqne9ppg.js +5 -0
- package/dist/chunk-eqne9ppg.js.map +10 -0
- package/dist/chunk-etcm6fh1.js +4 -0
- package/dist/chunk-etcm6fh1.js.map +10 -0
- package/dist/chunk-evmtw59h.js +4 -0
- package/dist/chunk-evmtw59h.js.map +10 -0
- package/dist/chunk-eytgtgtj.js +4 -0
- package/dist/chunk-eytgtgtj.js.map +10 -0
- package/dist/chunk-eza2c3t1.js +4 -0
- package/dist/chunk-eza2c3t1.js.map +10 -0
- package/dist/chunk-f08ksmq5.js +4 -0
- package/dist/chunk-f08ksmq5.js.map +10 -0
- package/dist/chunk-f48vajs9.js +4 -0
- package/dist/chunk-f48vajs9.js.map +10 -0
- package/dist/chunk-f6ypbp8s.js +4 -0
- package/dist/chunk-f6ypbp8s.js.map +10 -0
- package/dist/chunk-f867b961.js +4 -0
- package/dist/chunk-f867b961.js.map +10 -0
- package/dist/chunk-f9q2xx8j.js +4 -0
- package/dist/chunk-f9q2xx8j.js.map +10 -0
- package/dist/chunk-fb3xpd5h.js +4 -0
- package/dist/chunk-fb3xpd5h.js.map +10 -0
- package/dist/chunk-fc95wase.js +4 -0
- package/dist/chunk-fc95wase.js.map +10 -0
- package/dist/chunk-fqqhza9s.js +4 -0
- package/dist/chunk-fqqhza9s.js.map +10 -0
- package/dist/chunk-g28v2sg8.js +4 -0
- package/dist/chunk-g28v2sg8.js.map +10 -0
- package/dist/chunk-g3nnqcbw.js +5 -0
- package/dist/chunk-g3nnqcbw.js.map +10 -0
- package/dist/chunk-g5b9r81v.js +5 -0
- package/dist/chunk-g5b9r81v.js.map +10 -0
- package/dist/chunk-gj0zbz3g.js +4 -0
- package/dist/chunk-gj0zbz3g.js.map +10 -0
- package/dist/chunk-gn1cd35p.js +4 -0
- package/dist/chunk-gn1cd35p.js.map +10 -0
- package/dist/chunk-gprayftg.js +4 -0
- package/dist/chunk-gprayftg.js.map +10 -0
- package/dist/chunk-gr995e76.js +5 -0
- package/dist/chunk-gr995e76.js.map +10 -0
- package/dist/chunk-grva5cgq.js +4 -0
- package/dist/chunk-grva5cgq.js.map +10 -0
- package/dist/chunk-gtvgm63z.js +4 -0
- package/dist/chunk-gtvgm63z.js.map +10 -0
- package/dist/chunk-gwf5xs7m.js +18 -0
- package/dist/{chunk-qf6zg7nd.js.map → chunk-gwf5xs7m.js.map} +15 -34
- package/dist/chunk-gwnr2ycm.js +5 -0
- package/dist/chunk-gwnr2ycm.js.map +10 -0
- package/dist/chunk-gyxgxwcc.js +4 -0
- package/dist/chunk-gyxgxwcc.js.map +10 -0
- package/dist/chunk-h25tw54p.js +4 -0
- package/dist/chunk-h25tw54p.js.map +10 -0
- package/dist/chunk-h3tskj7j.js +4 -0
- package/dist/chunk-h3tskj7j.js.map +10 -0
- package/dist/chunk-hh62xvjr.js +4 -0
- package/dist/chunk-hh62xvjr.js.map +10 -0
- package/dist/chunk-hk1q1ep4.js +4 -0
- package/dist/chunk-hk1q1ep4.js.map +10 -0
- package/dist/chunk-hqhrt4re.js +5 -0
- package/dist/chunk-hqhrt4re.js.map +10 -0
- package/dist/chunk-hvk0d1ww.js +4 -0
- package/dist/chunk-hvk0d1ww.js.map +10 -0
- package/dist/chunk-j19xcy0f.js +4 -0
- package/dist/chunk-j19xcy0f.js.map +10 -0
- package/dist/chunk-j20akbzn.js +4 -0
- package/dist/chunk-j20akbzn.js.map +10 -0
- package/dist/chunk-j4xa9v2b.js +4 -0
- package/dist/chunk-j4xa9v2b.js.map +10 -0
- package/dist/chunk-jaywwzjq.js +4 -0
- package/dist/chunk-jaywwzjq.js.map +10 -0
- package/dist/chunk-jc7ftaka.js +4 -0
- package/dist/{chunk-ckds5kj4.js.map → chunk-jc7ftaka.js.map} +2 -2
- package/dist/chunk-jcs320db.js +4 -0
- package/dist/chunk-jcs320db.js.map +10 -0
- package/dist/chunk-jd1v2z6g.js +4 -0
- package/dist/chunk-jd1v2z6g.js.map +10 -0
- package/dist/chunk-jfrvg24q.js +4 -0
- package/dist/chunk-jfrvg24q.js.map +10 -0
- package/dist/chunk-jhxnydm7.js +5 -0
- package/dist/chunk-jhxnydm7.js.map +10 -0
- package/dist/chunk-jjt3mqyj.js +4 -0
- package/dist/chunk-jjt3mqyj.js.map +10 -0
- package/dist/chunk-jmv6j1ma.js +4 -0
- package/dist/chunk-jmv6j1ma.js.map +10 -0
- package/dist/chunk-jrg0k6fy.js +4 -0
- package/dist/chunk-jrg0k6fy.js.map +10 -0
- package/dist/chunk-k1gr1y2n.js +4 -0
- package/dist/chunk-k1gr1y2n.js.map +10 -0
- package/dist/chunk-k5903r56.js +4 -0
- package/dist/chunk-k5903r56.js.map +10 -0
- package/dist/chunk-k7er8zn9.js +5 -0
- package/dist/chunk-k7er8zn9.js.map +10 -0
- package/dist/chunk-k7seyqnj.js +5 -0
- package/dist/chunk-k7seyqnj.js.map +10 -0
- package/dist/chunk-keqxzdm8.js +4 -0
- package/dist/chunk-keqxzdm8.js.map +10 -0
- package/dist/chunk-kj73phvd.js +4 -0
- package/dist/chunk-kj73phvd.js.map +10 -0
- package/dist/chunk-kttqecab.js +4 -0
- package/dist/chunk-kttqecab.js.map +20 -0
- package/dist/chunk-kv6jab20.js +4 -0
- package/dist/chunk-kv6jab20.js.map +10 -0
- package/dist/chunk-m10rw8zf.js +4 -0
- package/dist/chunk-m10rw8zf.js.map +10 -0
- package/dist/chunk-m3x7ehjz.js +4 -0
- package/dist/chunk-m3x7ehjz.js.map +10 -0
- package/dist/chunk-m4ywwfhj.js +4 -0
- package/dist/chunk-m4ywwfhj.js.map +10 -0
- package/dist/chunk-m9xdm31a.js +5 -0
- package/dist/chunk-m9xdm31a.js.map +10 -0
- package/dist/chunk-mb5me03r.js +4 -0
- package/dist/chunk-mb5me03r.js.map +10 -0
- package/dist/chunk-mbhvesxn.js +4 -0
- package/dist/chunk-mbhvesxn.js.map +10 -0
- package/dist/chunk-md05dm8y.js +4 -0
- package/dist/{chunk-wfc30gdx.js.map → chunk-md05dm8y.js.map} +2 -2
- package/dist/chunk-mdwc3caf.js +4 -0
- package/dist/{chunk-en5bya0k.js.map → chunk-mdwc3caf.js.map} +2 -2
- package/dist/chunk-mq4xa8g0.js +4 -0
- package/dist/chunk-mq4xa8g0.js.map +10 -0
- package/dist/chunk-msarsnba.js +4 -0
- package/dist/chunk-msarsnba.js.map +10 -0
- package/dist/chunk-mtt5kfk0.js +4 -0
- package/dist/chunk-mtt5kfk0.js.map +10 -0
- package/dist/chunk-mtvvnps3.js +4 -0
- package/dist/chunk-mtvvnps3.js.map +10 -0
- package/dist/chunk-mww3xsh5.js +4 -0
- package/dist/chunk-mww3xsh5.js.map +10 -0
- package/dist/chunk-n0yg50tm.js +4 -0
- package/dist/chunk-n0yg50tm.js.map +10 -0
- package/dist/chunk-n15vbtzw.js +4 -0
- package/dist/chunk-n15vbtzw.js.map +10 -0
- package/dist/chunk-n1x0b75g.js +4 -0
- package/dist/chunk-n1x0b75g.js.map +10 -0
- package/dist/chunk-n6eekz6f.js +4 -0
- package/dist/chunk-n6eekz6f.js.map +10 -0
- package/dist/chunk-ng4pttb5.js +4 -0
- package/dist/chunk-ng4pttb5.js.map +10 -0
- package/dist/chunk-ngpkbmcy.js +4 -0
- package/dist/chunk-ngpkbmcy.js.map +10 -0
- package/dist/chunk-np64fgdg.js +4 -0
- package/dist/chunk-np64fgdg.js.map +10 -0
- package/dist/chunk-nshtq1ys.js +4 -0
- package/dist/chunk-nshtq1ys.js.map +10 -0
- package/dist/chunk-p2a7zrdj.js +4 -0
- package/dist/chunk-p2a7zrdj.js.map +10 -0
- package/dist/chunk-p7r1931r.js +4 -0
- package/dist/{chunk-hjr9ztvj.js.map → chunk-p7r1931r.js.map} +2 -2
- package/dist/chunk-pb70nyeg.js +4 -0
- package/dist/chunk-pb70nyeg.js.map +10 -0
- package/dist/chunk-pbgrf052.js +8 -0
- package/dist/chunk-pbgrf052.js.map +53 -0
- package/dist/chunk-pebk5hpa.js +4 -0
- package/dist/chunk-pebk5hpa.js.map +10 -0
- package/dist/chunk-pmtd0cc3.js +4 -0
- package/dist/chunk-pmtd0cc3.js.map +10 -0
- package/dist/chunk-q0fe3c44.js +4 -0
- package/dist/chunk-q0fe3c44.js.map +10 -0
- package/dist/chunk-q2btpck1.js +4 -0
- package/dist/chunk-q2btpck1.js.map +10 -0
- package/dist/chunk-q656e0z8.js +4 -0
- package/dist/chunk-q656e0z8.js.map +10 -0
- package/dist/chunk-q9q0m0fk.js +4 -0
- package/dist/chunk-q9q0m0fk.js.map +10 -0
- package/dist/chunk-qepjnnqp.js +4 -0
- package/dist/chunk-qepjnnqp.js.map +10 -0
- package/dist/chunk-qhxd2v41.js +4 -0
- package/dist/chunk-qhxd2v41.js.map +10 -0
- package/dist/chunk-qjepp6dz.js +4 -0
- package/dist/chunk-qjepp6dz.js.map +10 -0
- package/dist/chunk-r015e873.js +4 -0
- package/dist/chunk-r015e873.js.map +10 -0
- package/dist/chunk-r2wpm2d7.js +4 -0
- package/dist/chunk-r2wpm2d7.js.map +10 -0
- package/dist/chunk-r70xpzx4.js +4 -0
- package/dist/chunk-r70xpzx4.js.map +10 -0
- package/dist/chunk-r7qn7nya.js +4 -0
- package/dist/chunk-r7qn7nya.js.map +10 -0
- package/dist/chunk-r9fb428b.js +4 -0
- package/dist/chunk-r9fb428b.js.map +10 -0
- package/dist/chunk-raq3khzd.js +4 -0
- package/dist/chunk-raq3khzd.js.map +10 -0
- package/dist/chunk-rf60qjxw.js +5 -0
- package/dist/chunk-rf60qjxw.js.map +14 -0
- package/dist/chunk-rjjjt0eg.js +8 -0
- package/dist/{chunk-h1xm4rnm.js.map → chunk-rjjjt0eg.js.map} +2 -2
- package/dist/chunk-rjzrfj86.js +4 -0
- package/dist/chunk-rjzrfj86.js.map +10 -0
- package/dist/chunk-rm3pct07.js +4 -0
- package/dist/chunk-rm3pct07.js.map +10 -0
- package/dist/chunk-rmhs40sh.js +4 -0
- package/dist/chunk-rmhs40sh.js.map +10 -0
- package/dist/chunk-rqrezesz.js +4 -0
- package/dist/chunk-rqrezesz.js.map +10 -0
- package/dist/chunk-s0b5gyec.js +5 -0
- package/dist/chunk-s0b5gyec.js.map +10 -0
- package/dist/chunk-s0g6kddk.js +4 -0
- package/dist/chunk-s0g6kddk.js.map +10 -0
- package/dist/chunk-s4twrhpt.js +4 -0
- package/dist/chunk-s4twrhpt.js.map +10 -0
- package/dist/chunk-s5q7xgm7.js +4 -0
- package/dist/chunk-s5q7xgm7.js.map +10 -0
- package/dist/chunk-s6337cg6.js +4 -0
- package/dist/chunk-s6337cg6.js.map +10 -0
- package/dist/chunk-sarcnr78.js +5 -0
- package/dist/chunk-sarcnr78.js.map +10 -0
- package/dist/chunk-sgqzh2eh.js +4 -0
- package/dist/chunk-sgqzh2eh.js.map +10 -0
- package/dist/chunk-sh7q9p7c.js +4 -0
- package/dist/chunk-sh7q9p7c.js.map +10 -0
- package/dist/chunk-shvm8xpf.js +4 -0
- package/dist/chunk-shvm8xpf.js.map +10 -0
- package/dist/chunk-sm4gyh1f.js +4 -0
- package/dist/{chunk-dtkvdcf6.js.map → chunk-sm4gyh1f.js.map} +3 -7
- package/dist/chunk-sqdy9tjw.js +4 -0
- package/dist/chunk-sqdy9tjw.js.map +10 -0
- package/dist/chunk-stfzvxzh.js +5 -0
- package/dist/chunk-stfzvxzh.js.map +25 -0
- package/dist/chunk-sxt20n19.js +4 -0
- package/dist/chunk-sxt20n19.js.map +10 -0
- package/dist/chunk-t1mdzmvf.js +4 -0
- package/dist/{chunk-55xdqqbt.js.map → chunk-t1mdzmvf.js.map} +3 -14
- package/dist/chunk-t24w0gem.js +4 -0
- package/dist/chunk-t24w0gem.js.map +10 -0
- package/dist/chunk-t8pfwzwx.js +4 -0
- package/dist/chunk-t8pfwzwx.js.map +10 -0
- package/dist/chunk-t9fpc42w.js +4 -0
- package/dist/chunk-t9fpc42w.js.map +10 -0
- package/dist/chunk-ta1fz9d1.js +5 -0
- package/dist/chunk-ta1fz9d1.js.map +10 -0
- package/dist/chunk-thdwxt6w.js +4 -0
- package/dist/chunk-thdwxt6w.js.map +10 -0
- package/dist/chunk-tkgk80b9.js +4 -0
- package/dist/chunk-tkgk80b9.js.map +10 -0
- package/dist/chunk-twf1wr4h.js +4 -0
- package/dist/chunk-twf1wr4h.js.map +10 -0
- package/dist/chunk-v9kg2vy4.js +4 -0
- package/dist/{chunk-arbx49j6.js.map → chunk-v9kg2vy4.js.map} +5 -5
- package/dist/chunk-veamz5d0.js +4 -0
- package/dist/chunk-veamz5d0.js.map +10 -0
- package/dist/chunk-vf6yxr0r.js +4 -0
- package/dist/chunk-vf6yxr0r.js.map +10 -0
- package/dist/chunk-vh816yqy.js +4 -0
- package/dist/chunk-vh816yqy.js.map +10 -0
- package/dist/chunk-vnxja8xq.js +4 -0
- package/dist/chunk-vnxja8xq.js.map +10 -0
- package/dist/chunk-vpgsy207.js +4 -0
- package/dist/chunk-vpgsy207.js.map +10 -0
- package/dist/chunk-vqnvrsnc.js +4 -0
- package/dist/chunk-vqnvrsnc.js.map +10 -0
- package/dist/chunk-vx2ep3d6.js +5 -0
- package/dist/chunk-vx2ep3d6.js.map +10 -0
- package/dist/chunk-vybrcp16.js +4 -0
- package/dist/chunk-vybrcp16.js.map +10 -0
- package/dist/chunk-w100wbf2.js +11 -0
- package/dist/{chunk-r3qdswng.js.map → chunk-w100wbf2.js.map} +5 -5
- package/dist/chunk-w1d1dmx3.js +4 -0
- package/dist/chunk-w1d1dmx3.js.map +10 -0
- package/dist/chunk-w1nwkvbe.js +4 -0
- package/dist/chunk-w1nwkvbe.js.map +10 -0
- package/dist/chunk-w1zabjwt.js +4 -0
- package/dist/chunk-w1zabjwt.js.map +10 -0
- package/dist/chunk-w4hqdtab.js +4 -0
- package/dist/chunk-w4hqdtab.js.map +10 -0
- package/dist/chunk-w5tgtsfr.js +4 -0
- package/dist/chunk-w5tgtsfr.js.map +10 -0
- package/dist/chunk-w7ezjfcb.js +4 -0
- package/dist/chunk-w7ezjfcb.js.map +10 -0
- package/dist/chunk-w7mjxa9e.js +4 -0
- package/dist/chunk-w7mjxa9e.js.map +10 -0
- package/dist/chunk-w9h179q6.js +5 -0
- package/dist/chunk-w9h179q6.js.map +10 -0
- package/dist/chunk-wb75jnfp.js +4 -0
- package/dist/chunk-wb75jnfp.js.map +10 -0
- package/dist/chunk-wd9hmfa8.js +4 -0
- package/dist/chunk-wd9hmfa8.js.map +10 -0
- package/dist/chunk-wqmd1wv4.js +4 -0
- package/dist/chunk-wqmd1wv4.js.map +10 -0
- package/dist/chunk-wrz50ar3.js +4 -0
- package/dist/chunk-wrz50ar3.js.map +48 -0
- package/dist/chunk-wxgcwv7j.js +4 -0
- package/dist/chunk-wxgcwv7j.js.map +11 -0
- package/dist/chunk-wxw4254w.js +4 -0
- package/dist/{chunk-2n21sn7a.js.map → chunk-wxw4254w.js.map} +3 -4
- package/dist/chunk-wyc2ab1h.js +4 -0
- package/dist/chunk-wyc2ab1h.js.map +10 -0
- package/dist/chunk-wzbs51e4.js +4 -0
- package/dist/chunk-wzbs51e4.js.map +10 -0
- package/dist/chunk-x6248vkg.js +5 -0
- package/dist/chunk-x6248vkg.js.map +10 -0
- package/dist/{chunk-td079vg9.js → chunk-xajvm5dg.js} +3 -3
- package/dist/{chunk-td079vg9.js.map → chunk-xajvm5dg.js.map} +1 -1
- package/dist/chunk-xrteffkv.js +4 -0
- package/dist/chunk-xrteffkv.js.map +10 -0
- package/dist/chunk-xtc3sb35.js +5 -0
- package/dist/chunk-xtc3sb35.js.map +10 -0
- package/dist/chunk-xvfygk82.js +4 -0
- package/dist/{chunk-enc2835j.js.map → chunk-xvfygk82.js.map} +2 -2
- package/dist/chunk-xyagccth.js +4 -0
- package/dist/chunk-xyagccth.js.map +10 -0
- package/dist/chunk-y0msdehj.js +4 -0
- package/dist/chunk-y0msdehj.js.map +21 -0
- package/dist/chunk-y2zzprr2.js +4 -0
- package/dist/chunk-y2zzprr2.js.map +10 -0
- package/dist/chunk-y425gbw0.js +4 -0
- package/dist/{chunk-11by8vja.js.map → chunk-y425gbw0.js.map} +5 -5
- package/dist/chunk-y7q3vx60.js +4 -0
- package/dist/chunk-y7q3vx60.js.map +10 -0
- package/dist/chunk-y8vm6nhq.js +4 -0
- package/dist/chunk-y8vm6nhq.js.map +10 -0
- package/dist/chunk-ym3p77cw.js +4 -0
- package/dist/chunk-ym3p77cw.js.map +10 -0
- package/dist/chunk-yqq2hs5v.js +4 -0
- package/dist/chunk-yqq2hs5v.js.map +10 -0
- package/dist/chunk-ys2w3w3h.js +4 -0
- package/dist/chunk-ys2w3w3h.js.map +10 -0
- package/dist/chunk-yx2dstze.js +4 -0
- package/dist/chunk-yx2dstze.js.map +10 -0
- package/dist/chunk-yxb1tm10.js +5 -0
- package/dist/chunk-yxb1tm10.js.map +10 -0
- package/dist/chunk-yxngksdn.js +4 -0
- package/dist/chunk-yxngksdn.js.map +10 -0
- package/dist/chunk-yzf50f27.js +4 -0
- package/dist/chunk-yzf50f27.js.map +10 -0
- package/dist/chunk-z2536ve8.js +4 -0
- package/dist/chunk-z2536ve8.js.map +14 -0
- package/dist/chunk-z6d8dyj4.js +4 -0
- package/dist/{chunk-b6w0fgxz.js.map → chunk-z6d8dyj4.js.map} +2 -2
- package/dist/chunk-z73h9wcv.js +4 -0
- package/dist/chunk-z73h9wcv.js.map +10 -0
- package/dist/chunk-z744x29v.js +5 -0
- package/dist/chunk-z744x29v.js.map +10 -0
- package/dist/chunk-zajtvy67.js +4 -0
- package/dist/chunk-zajtvy67.js.map +10 -0
- package/dist/chunk-zgcwtt7q.js +4 -0
- package/dist/chunk-zgcwtt7q.js.map +10 -0
- package/dist/chunk-zt083h6w.js +4 -0
- package/dist/chunk-zt083h6w.js.map +10 -0
- package/dist/email/index.js +2 -2
- package/dist/email/index.js.map +26 -5
- package/dist/facades/index.js +2 -2
- package/dist/facades/index.js.map +2 -2
- package/dist/http/ApiRouter.d.ts +5 -0
- package/dist/http/ApiRouter.d.ts.map +1 -1
- package/dist/http/Controller.d.ts +0 -1
- package/dist/http/Controller.d.ts.map +1 -1
- package/dist/http/ViewRouter.d.ts.map +1 -1
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +5 -5
- package/dist/kernel/index.js +2 -2
- package/dist/kernel/index.js.map +2 -2
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +2 -2
- package/dist/services/index.js +2 -11
- package/dist/services/index.js.map +28 -15
- package/dist/vite/{index-Bu4AXBt9.mjs → index-C9AWJ7QP.mjs} +1 -1
- package/dist/vite/index.mjs +1 -1
- package/dist/vite/{typescript-D69Uqrn5.mjs → typescript-CKrglZ4F.mjs} +56 -48
- package/package.json +2 -2
- package/dist/chunk-11by8vja.js +0 -4
- package/dist/chunk-1gjhrqfe.js +0 -4
- package/dist/chunk-2n21sn7a.js +0 -4
- package/dist/chunk-55xdqqbt.js +0 -4
- package/dist/chunk-6vp2svxg.js +0 -4
- package/dist/chunk-6vp2svxg.js.map +0 -13
- package/dist/chunk-a67a5vtk.js +0 -4
- package/dist/chunk-arbx49j6.js +0 -4
- package/dist/chunk-b6w0fgxz.js +0 -4
- package/dist/chunk-ckds5kj4.js +0 -4
- package/dist/chunk-dtkvdcf6.js +0 -4
- package/dist/chunk-ef6dgp5k.js +0 -4
- package/dist/chunk-en5bya0k.js +0 -4
- package/dist/chunk-enc2835j.js +0 -4
- package/dist/chunk-gsrxf3xp.js +0 -5
- package/dist/chunk-gsrxf3xp.js.map +0 -64
- package/dist/chunk-h1xm4rnm.js +0 -8
- package/dist/chunk-hjr9ztvj.js +0 -4
- package/dist/chunk-kmfnx43s.js +0 -4
- package/dist/chunk-ktwy9nyn.js +0 -4
- package/dist/chunk-n7j3s0s0.js +0 -3
- package/dist/chunk-n7j3s0s0.js.map +0 -15
- package/dist/chunk-p9gc7ke6.js +0 -3
- package/dist/chunk-qf6zg7nd.js +0 -20
- package/dist/chunk-r3qdswng.js +0 -11
- package/dist/chunk-t3g9fdba.js +0 -5
- package/dist/chunk-t3g9fdba.js.map +0 -54
- package/dist/chunk-wfc30gdx.js +0 -4
- package/dist/chunk-z4ha0p3z.js +0 -4
- package/dist/chunk-z4ha0p3z.js.map +0 -10
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../node_modules/@unocss/extractor-arbitrary-variants/dist/index.mjs", "../../../node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs", "../../../node_modules/magic-string/dist/magic-string.es.mjs", "../../../node_modules/@unocss/rule-utils/dist/index.mjs", "../../../node_modules/@unocss/preset-mini/dist/shared/preset-mini.lpdd2hsn.mjs", "../../../node_modules/@unocss/preset-mini/dist/colors.mjs", "../../../node_modules/@unocss/preset-mini/dist/shared/preset-mini.D0XQxeT8.mjs", "../../../node_modules/@unocss/preset-mini/dist/shared/preset-mini.D01FLMpI.mjs", "../../../node_modules/@unocss/preset-mini/dist/shared/preset-mini.DYGdJukb.mjs", "../../../node_modules/@unocss/preset-mini/dist/shared/preset-mini.uR8-sh0j.mjs", "../../../node_modules/@unocss/preset-mini/dist/index.mjs", "../../../node_modules/@unocss/preset-wind/dist/index.mjs"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import { defaultSplitRE, isValidSelector } from '@unocss/core';\n\nconst sourceMapRE = /\\/\\/#\\s*sourceMappingURL=.*\\n?/g;\nfunction removeSourceMap(code) {\n if (code.includes(\"sourceMappingURL=\"))\n return code.replace(sourceMapRE, \"\");\n return code;\n}\n\nconst quotedArbitraryValuesRE = /(?:[\\w&:[\\]-]|\\[\\S{1,64}=\\S{1,64}\\]){1,64}\\[\\\\?['\"]?\\S{1,64}?['\"]\\]\\]?[\\w:-]{0,64}/g;\nconst arbitraryPropertyRE = /\\[(\\\\\\W|[\\w-]){1,64}:[^\\s:]{0,64}?(\"\\S{1,64}?\"|'\\S{1,64}?'|`\\S{1,64}?`|[^\\s:]{1,64}?)[^\\s:]{0,64}?\\)?\\]/g;\nconst arbitraryPropertyCandidateRE = /^\\[(?:\\\\\\W|[\\w-]){1,64}:['\"]?\\S{1,64}?['\"]?\\]$/;\nfunction splitCodeWithArbitraryVariants(code) {\n const result = [];\n for (const match of code.matchAll(arbitraryPropertyRE)) {\n if (match.index !== 0 && !/^[\\s'\"`]/.test(code[match.index - 1] ?? \"\"))\n continue;\n result.push(match[0]);\n }\n for (const match of code.matchAll(quotedArbitraryValuesRE))\n result.push(match[0]);\n code.split(defaultSplitRE).forEach((match) => {\n if (isValidSelector(match) && !arbitraryPropertyCandidateRE.test(match))\n result.push(match);\n });\n return result;\n}\nconst extractorArbitraryVariants = {\n name: \"@unocss/extractor-arbitrary-variants\",\n order: 0,\n extract({ code }) {\n return splitCodeWithArbitraryVariants(removeSourceMap(code));\n }\n};\n\nexport { arbitraryPropertyRE, extractorArbitraryVariants as default, extractorArbitraryVariants, quotedArbitraryValuesRE, splitCodeWithArbitraryVariants };\n",
|
|
6
|
+
"const comma = ','.charCodeAt(0);\nconst semicolon = ';'.charCodeAt(0);\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nconst intToChar = new Uint8Array(64); // 64 possible chars.\nconst charToInt = new Uint8Array(128); // z is 122 in ASCII\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\nfunction decodeInteger(reader, relative) {\n let value = 0;\n let shift = 0;\n let integer = 0;\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n const shouldNegate = value & 1;\n value >>>= 1;\n if (shouldNegate) {\n value = -0x80000000 | -value;\n }\n return relative + value;\n}\nfunction encodeInteger(builder, num, relative) {\n let delta = num - relative;\n delta = delta < 0 ? (-delta << 1) | 1 : delta << 1;\n do {\n let clamped = delta & 0b011111;\n delta >>>= 5;\n if (delta > 0)\n clamped |= 0b100000;\n builder.write(intToChar[clamped]);\n } while (delta > 0);\n return num;\n}\nfunction hasMoreVlq(reader, max) {\n if (reader.pos >= max)\n return false;\n return reader.peek() !== comma;\n}\n\nconst bufLength = 1024 * 16;\n// Provide a fallback for older environments.\nconst td = typeof TextDecoder !== 'undefined'\n ? /* #__PURE__ */ new TextDecoder()\n : typeof Buffer !== 'undefined'\n ? {\n decode(buf) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n },\n }\n : {\n decode(buf) {\n let out = '';\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n },\n };\nclass StringWriter {\n constructor() {\n this.pos = 0;\n this.out = '';\n this.buffer = new Uint8Array(bufLength);\n }\n write(v) {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n flush() {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n}\nclass StringReader {\n constructor(buffer) {\n this.pos = 0;\n this.buffer = buffer;\n }\n next() {\n return this.buffer.charCodeAt(this.pos++);\n }\n peek() {\n return this.buffer.charCodeAt(this.pos);\n }\n indexOf(char) {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n}\n\nconst EMPTY = [];\nfunction decodeOriginalScopes(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const scopes = [];\n const stack = [];\n let line = 0;\n for (; reader.pos < length; reader.pos++) {\n line = decodeInteger(reader, line);\n const column = decodeInteger(reader, 0);\n if (!hasMoreVlq(reader, length)) {\n const last = stack.pop();\n last[2] = line;\n last[3] = column;\n continue;\n }\n const kind = decodeInteger(reader, 0);\n const fields = decodeInteger(reader, 0);\n const hasName = fields & 0b0001;\n const scope = (hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind]);\n let vars = EMPTY;\n if (hasMoreVlq(reader, length)) {\n vars = [];\n do {\n const varsIndex = decodeInteger(reader, 0);\n vars.push(varsIndex);\n } while (hasMoreVlq(reader, length));\n }\n scope.vars = vars;\n scopes.push(scope);\n stack.push(scope);\n }\n return scopes;\n}\nfunction encodeOriginalScopes(scopes) {\n const writer = new StringWriter();\n for (let i = 0; i < scopes.length;) {\n i = _encodeOriginalScopes(scopes, i, writer, [0]);\n }\n return writer.flush();\n}\nfunction _encodeOriginalScopes(scopes, index, writer, state) {\n const scope = scopes[index];\n const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;\n if (index > 0)\n writer.write(comma);\n state[0] = encodeInteger(writer, startLine, state[0]);\n encodeInteger(writer, startColumn, 0);\n encodeInteger(writer, kind, 0);\n const fields = scope.length === 6 ? 0b0001 : 0;\n encodeInteger(writer, fields, 0);\n if (scope.length === 6)\n encodeInteger(writer, scope[5], 0);\n for (const v of vars) {\n encodeInteger(writer, v, 0);\n }\n for (index++; index < scopes.length;) {\n const next = scopes[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || (l === endLine && c >= endColumn)) {\n break;\n }\n index = _encodeOriginalScopes(scopes, index, writer, state);\n }\n writer.write(comma);\n state[0] = encodeInteger(writer, endLine, state[0]);\n encodeInteger(writer, endColumn, 0);\n return index;\n}\nfunction decodeGeneratedRanges(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const ranges = [];\n const stack = [];\n let genLine = 0;\n let definitionSourcesIndex = 0;\n let definitionScopeIndex = 0;\n let callsiteSourcesIndex = 0;\n let callsiteLine = 0;\n let callsiteColumn = 0;\n let bindingLine = 0;\n let bindingColumn = 0;\n do {\n const semi = reader.indexOf(';');\n let genColumn = 0;\n for (; reader.pos < semi; reader.pos++) {\n genColumn = decodeInteger(reader, genColumn);\n if (!hasMoreVlq(reader, semi)) {\n const last = stack.pop();\n last[2] = genLine;\n last[3] = genColumn;\n continue;\n }\n const fields = decodeInteger(reader, 0);\n const hasDefinition = fields & 0b0001;\n const hasCallsite = fields & 0b0010;\n const hasScope = fields & 0b0100;\n let callsite = null;\n let bindings = EMPTY;\n let range;\n if (hasDefinition) {\n const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);\n definitionScopeIndex = decodeInteger(reader, definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0);\n definitionSourcesIndex = defSourcesIndex;\n range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex];\n }\n else {\n range = [genLine, genColumn, 0, 0];\n }\n range.isScope = !!hasScope;\n if (hasCallsite) {\n const prevCsi = callsiteSourcesIndex;\n const prevLine = callsiteLine;\n callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);\n const sameSource = prevCsi === callsiteSourcesIndex;\n callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);\n callsiteColumn = decodeInteger(reader, sameSource && prevLine === callsiteLine ? callsiteColumn : 0);\n callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];\n }\n range.callsite = callsite;\n if (hasMoreVlq(reader, semi)) {\n bindings = [];\n do {\n bindingLine = genLine;\n bindingColumn = genColumn;\n const expressionsCount = decodeInteger(reader, 0);\n let expressionRanges;\n if (expressionsCount < -1) {\n expressionRanges = [[decodeInteger(reader, 0)]];\n for (let i = -1; i > expressionsCount; i--) {\n const prevBl = bindingLine;\n bindingLine = decodeInteger(reader, bindingLine);\n bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);\n const expression = decodeInteger(reader, 0);\n expressionRanges.push([expression, bindingLine, bindingColumn]);\n }\n }\n else {\n expressionRanges = [[expressionsCount]];\n }\n bindings.push(expressionRanges);\n } while (hasMoreVlq(reader, semi));\n }\n range.bindings = bindings;\n ranges.push(range);\n stack.push(range);\n }\n genLine++;\n reader.pos = semi + 1;\n } while (reader.pos < length);\n return ranges;\n}\nfunction encodeGeneratedRanges(ranges) {\n if (ranges.length === 0)\n return '';\n const writer = new StringWriter();\n for (let i = 0; i < ranges.length;) {\n i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);\n }\n return writer.flush();\n}\nfunction _encodeGeneratedRanges(ranges, index, writer, state) {\n const range = ranges[index];\n const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, isScope, callsite, bindings, } = range;\n if (state[0] < startLine) {\n catchupLine(writer, state[0], startLine);\n state[0] = startLine;\n state[1] = 0;\n }\n else if (index > 0) {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, range[1], state[1]);\n const fields = (range.length === 6 ? 0b0001 : 0) | (callsite ? 0b0010 : 0) | (isScope ? 0b0100 : 0);\n encodeInteger(writer, fields, 0);\n if (range.length === 6) {\n const { 4: sourcesIndex, 5: scopesIndex } = range;\n if (sourcesIndex !== state[2]) {\n state[3] = 0;\n }\n state[2] = encodeInteger(writer, sourcesIndex, state[2]);\n state[3] = encodeInteger(writer, scopesIndex, state[3]);\n }\n if (callsite) {\n const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite;\n if (sourcesIndex !== state[4]) {\n state[5] = 0;\n state[6] = 0;\n }\n else if (callLine !== state[5]) {\n state[6] = 0;\n }\n state[4] = encodeInteger(writer, sourcesIndex, state[4]);\n state[5] = encodeInteger(writer, callLine, state[5]);\n state[6] = encodeInteger(writer, callColumn, state[6]);\n }\n if (bindings) {\n for (const binding of bindings) {\n if (binding.length > 1)\n encodeInteger(writer, -binding.length, 0);\n const expression = binding[0][0];\n encodeInteger(writer, expression, 0);\n let bindingStartLine = startLine;\n let bindingStartColumn = startColumn;\n for (let i = 1; i < binding.length; i++) {\n const expRange = binding[i];\n bindingStartLine = encodeInteger(writer, expRange[1], bindingStartLine);\n bindingStartColumn = encodeInteger(writer, expRange[2], bindingStartColumn);\n encodeInteger(writer, expRange[0], 0);\n }\n }\n }\n for (index++; index < ranges.length;) {\n const next = ranges[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || (l === endLine && c >= endColumn)) {\n break;\n }\n index = _encodeGeneratedRanges(ranges, index, writer, state);\n }\n if (state[0] < endLine) {\n catchupLine(writer, state[0], endLine);\n state[0] = endLine;\n state[1] = 0;\n }\n else {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, endColumn, state[1]);\n return index;\n}\nfunction catchupLine(writer, lastLine, line) {\n do {\n writer.write(semicolon);\n } while (++lastLine < line);\n}\n\nfunction decode(mappings) {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n do {\n const semi = reader.indexOf(';');\n const line = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n while (reader.pos < semi) {\n let seg;\n genColumn = decodeInteger(reader, genColumn);\n if (genColumn < lastCol)\n sorted = false;\n lastCol = genColumn;\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex = decodeInteger(reader, sourcesIndex);\n sourceLine = decodeInteger(reader, sourceLine);\n sourceColumn = decodeInteger(reader, sourceColumn);\n if (hasMoreVlq(reader, semi)) {\n namesIndex = decodeInteger(reader, namesIndex);\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n }\n else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n }\n else {\n seg = [genColumn];\n }\n line.push(seg);\n reader.pos++;\n }\n if (!sorted)\n sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n return decoded;\n}\nfunction sort(line) {\n line.sort(sortComparator);\n}\nfunction sortComparator(a, b) {\n return a[0] - b[0];\n}\nfunction encode(decoded) {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0)\n writer.write(semicolon);\n if (line.length === 0)\n continue;\n let genColumn = 0;\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0)\n writer.write(comma);\n genColumn = encodeInteger(writer, segment[0], genColumn);\n if (segment.length === 1)\n continue;\n sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);\n sourceLine = encodeInteger(writer, segment[2], sourceLine);\n sourceColumn = encodeInteger(writer, segment[3], sourceColumn);\n if (segment.length === 4)\n continue;\n namesIndex = encodeInteger(writer, segment[4], namesIndex);\n }\n }\n return writer.flush();\n}\n\nexport { decode, decodeGeneratedRanges, decodeOriginalScopes, encode, encodeGeneratedRanges, encodeOriginalScopes };\n//# sourceMappingURL=sourcemap-codec.mjs.map\n",
|
|
7
|
+
"import { encode } from '@jridgewell/sourcemap-codec';\n\nclass BitSet {\n\tconstructor(arg) {\n\t\tthis.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n\t}\n\n\tadd(n) {\n\t\tthis.bits[n >> 5] |= 1 << (n & 31);\n\t}\n\n\thas(n) {\n\t\treturn !!(this.bits[n >> 5] & (1 << (n & 31)));\n\t}\n}\n\nclass Chunk {\n\tconstructor(start, end, content) {\n\t\tthis.start = start;\n\t\tthis.end = end;\n\t\tthis.original = content;\n\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\n\t\tthis.content = content;\n\t\tthis.storeName = false;\n\t\tthis.edited = false;\n\n\t\t{\n\t\t\tthis.previous = null;\n\t\t\tthis.next = null;\n\t\t}\n\t}\n\n\tappendLeft(content) {\n\t\tthis.outro += content;\n\t}\n\n\tappendRight(content) {\n\t\tthis.intro = this.intro + content;\n\t}\n\n\tclone() {\n\t\tconst chunk = new Chunk(this.start, this.end, this.original);\n\n\t\tchunk.intro = this.intro;\n\t\tchunk.outro = this.outro;\n\t\tchunk.content = this.content;\n\t\tchunk.storeName = this.storeName;\n\t\tchunk.edited = this.edited;\n\n\t\treturn chunk;\n\t}\n\n\tcontains(index) {\n\t\treturn this.start < index && index < this.end;\n\t}\n\n\teachNext(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.next;\n\t\t}\n\t}\n\n\teachPrevious(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.previous;\n\t\t}\n\t}\n\n\tedit(content, storeName, contentOnly) {\n\t\tthis.content = content;\n\t\tif (!contentOnly) {\n\t\t\tthis.intro = '';\n\t\t\tthis.outro = '';\n\t\t}\n\t\tthis.storeName = storeName;\n\n\t\tthis.edited = true;\n\n\t\treturn this;\n\t}\n\n\tprependLeft(content) {\n\t\tthis.outro = content + this.outro;\n\t}\n\n\tprependRight(content) {\n\t\tthis.intro = content + this.intro;\n\t}\n\n\treset() {\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\t\tif (this.edited) {\n\t\t\tthis.content = this.original;\n\t\t\tthis.storeName = false;\n\t\t\tthis.edited = false;\n\t\t}\n\t}\n\n\tsplit(index) {\n\t\tconst sliceIndex = index - this.start;\n\n\t\tconst originalBefore = this.original.slice(0, sliceIndex);\n\t\tconst originalAfter = this.original.slice(sliceIndex);\n\n\t\tthis.original = originalBefore;\n\n\t\tconst newChunk = new Chunk(index, this.end, originalAfter);\n\t\tnewChunk.outro = this.outro;\n\t\tthis.outro = '';\n\n\t\tthis.end = index;\n\n\t\tif (this.edited) {\n\t\t\t// after split we should save the edit content record into the correct chunk\n\t\t\t// to make sure sourcemap correct\n\t\t\t// For example:\n\t\t\t// ' test'.trim()\n\t\t\t// split -> ' ' + 'test'\n\t\t\t// ✔️ edit -> '' + 'test'\n\t\t\t// ✖️ edit -> 'test' + '' \n\t\t\t// TODO is this block necessary?...\n\t\t\tnewChunk.edit('', false);\n\t\t\tthis.content = '';\n\t\t} else {\n\t\t\tthis.content = originalBefore;\n\t\t}\n\n\t\tnewChunk.next = this.next;\n\t\tif (newChunk.next) newChunk.next.previous = newChunk;\n\t\tnewChunk.previous = this;\n\t\tthis.next = newChunk;\n\n\t\treturn newChunk;\n\t}\n\n\ttoString() {\n\t\treturn this.intro + this.content + this.outro;\n\t}\n\n\ttrimEnd(rx) {\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tthis.split(this.start + trimmed.length).edit('', undefined, true);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tthis.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\tif (this.intro.length) return true;\n\t\t}\n\t}\n\n\ttrimStart(rx) {\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tconst newChunk = this.split(this.end - trimmed.length);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tnewChunk.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t\tthis.edit('', undefined, true);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.outro = this.outro.replace(rx, '');\n\t\t\tif (this.outro.length) return true;\n\t\t}\n\t}\n}\n\nfunction getBtoa() {\n\tif (typeof globalThis !== 'undefined' && typeof globalThis.btoa === 'function') {\n\t\treturn (str) => globalThis.btoa(unescape(encodeURIComponent(str)));\n\t} else if (typeof Buffer === 'function') {\n\t\treturn (str) => Buffer.from(str, 'utf-8').toString('base64');\n\t} else {\n\t\treturn () => {\n\t\t\tthrow new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n\t\t};\n\t}\n}\n\nconst btoa = /*#__PURE__*/ getBtoa();\n\nclass SourceMap {\n\tconstructor(properties) {\n\t\tthis.version = 3;\n\t\tthis.file = properties.file;\n\t\tthis.sources = properties.sources;\n\t\tthis.sourcesContent = properties.sourcesContent;\n\t\tthis.names = properties.names;\n\t\tthis.mappings = encode(properties.mappings);\n\t\tif (typeof properties.x_google_ignoreList !== 'undefined') {\n\t\t\tthis.x_google_ignoreList = properties.x_google_ignoreList;\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this);\n\t}\n\n\ttoUrl() {\n\t\treturn 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n\t}\n}\n\nfunction guessIndent(code) {\n\tconst lines = code.split('\\n');\n\n\tconst tabbed = lines.filter((line) => /^\\t+/.test(line));\n\tconst spaced = lines.filter((line) => /^ {2,}/.test(line));\n\n\tif (tabbed.length === 0 && spaced.length === 0) {\n\t\treturn null;\n\t}\n\n\t// More lines tabbed than spaced? Assume tabs, and\n\t// default to tabs in the case of a tie (or nothing\n\t// to go on)\n\tif (tabbed.length >= spaced.length) {\n\t\treturn '\\t';\n\t}\n\n\t// Otherwise, we need to guess the multiple\n\tconst min = spaced.reduce((previous, current) => {\n\t\tconst numSpaces = /^ +/.exec(current)[0].length;\n\t\treturn Math.min(numSpaces, previous);\n\t}, Infinity);\n\n\treturn new Array(min + 1).join(' ');\n}\n\nfunction getRelativePath(from, to) {\n\tconst fromParts = from.split(/[/\\\\]/);\n\tconst toParts = to.split(/[/\\\\]/);\n\n\tfromParts.pop(); // get dirname\n\n\twhile (fromParts[0] === toParts[0]) {\n\t\tfromParts.shift();\n\t\ttoParts.shift();\n\t}\n\n\tif (fromParts.length) {\n\t\tlet i = fromParts.length;\n\t\twhile (i--) fromParts[i] = '..';\n\t}\n\n\treturn fromParts.concat(toParts).join('/');\n}\n\nconst toString = Object.prototype.toString;\n\nfunction isObject(thing) {\n\treturn toString.call(thing) === '[object Object]';\n}\n\nfunction getLocator(source) {\n\tconst originalLines = source.split('\\n');\n\tconst lineOffsets = [];\n\n\tfor (let i = 0, pos = 0; i < originalLines.length; i++) {\n\t\tlineOffsets.push(pos);\n\t\tpos += originalLines[i].length + 1;\n\t}\n\n\treturn function locate(index) {\n\t\tlet i = 0;\n\t\tlet j = lineOffsets.length;\n\t\twhile (i < j) {\n\t\t\tconst m = (i + j) >> 1;\n\t\t\tif (index < lineOffsets[m]) {\n\t\t\t\tj = m;\n\t\t\t} else {\n\t\t\t\ti = m + 1;\n\t\t\t}\n\t\t}\n\t\tconst line = i - 1;\n\t\tconst column = index - lineOffsets[line];\n\t\treturn { line, column };\n\t};\n}\n\nconst wordRegex = /\\w/;\n\nclass Mappings {\n\tconstructor(hires) {\n\t\tthis.hires = hires;\n\t\tthis.generatedCodeLine = 0;\n\t\tthis.generatedCodeColumn = 0;\n\t\tthis.raw = [];\n\t\tthis.rawSegments = this.raw[this.generatedCodeLine] = [];\n\t\tthis.pending = null;\n\t}\n\n\taddEdit(sourceIndex, content, loc, nameIndex) {\n\t\tif (content.length) {\n\t\t\tconst contentLengthMinusOne = content.length - 1;\n\t\t\tlet contentLineEnd = content.indexOf('\\n', 0);\n\t\t\tlet previousContentLineEnd = -1;\n\t\t\t// Loop through each line in the content and add a segment, but stop if the last line is empty,\n\t\t\t// else code afterwards would fill one line too many\n\t\t\twhile (contentLineEnd >= 0 && contentLengthMinusOne > contentLineEnd) {\n\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\t\tif (nameIndex >= 0) {\n\t\t\t\t\tsegment.push(nameIndex);\n\t\t\t\t}\n\t\t\t\tthis.rawSegments.push(segment);\n\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\n\t\t\t\tpreviousContentLineEnd = contentLineEnd;\n\t\t\t\tcontentLineEnd = content.indexOf('\\n', contentLineEnd + 1);\n\t\t\t}\n\n\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\tif (nameIndex >= 0) {\n\t\t\t\tsegment.push(nameIndex);\n\t\t\t}\n\t\t\tthis.rawSegments.push(segment);\n\n\t\t\tthis.advance(content.slice(previousContentLineEnd + 1));\n\t\t} else if (this.pending) {\n\t\t\tthis.rawSegments.push(this.pending);\n\t\t\tthis.advance(content);\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\taddUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n\t\tlet originalCharIndex = chunk.start;\n\t\tlet first = true;\n\t\t// when iterating each char, check if it's in a word boundary\n\t\tlet charInHiresBoundary = false;\n\n\t\twhile (originalCharIndex < chunk.end) {\n\t\t\tif (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n\t\t\t\tif (this.hires === 'boundary') {\n\t\t\t\t\t// in hires \"boundary\", group segments per word boundary than per char\n\t\t\t\t\tif (wordRegex.test(original[originalCharIndex])) {\n\t\t\t\t\t\t// for first char in the boundary found, start the boundary by pushing a segment\n\t\t\t\t\t\tif (!charInHiresBoundary) {\n\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\tcharInHiresBoundary = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// for non-word char, end the boundary by pushing a segment\n\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\tcharInHiresBoundary = false;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (original[originalCharIndex] === '\\n') {\n\t\t\t\tloc.line += 1;\n\t\t\t\tloc.column = 0;\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\t\t\t\tfirst = true;\n\t\t\t} else {\n\t\t\t\tloc.column += 1;\n\t\t\t\tthis.generatedCodeColumn += 1;\n\t\t\t\tfirst = false;\n\t\t\t}\n\n\t\t\toriginalCharIndex += 1;\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\tadvance(str) {\n\t\tif (!str) return;\n\n\t\tconst lines = str.split('\\n');\n\n\t\tif (lines.length > 1) {\n\t\t\tfor (let i = 0; i < lines.length - 1; i++) {\n\t\t\t\tthis.generatedCodeLine++;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t}\n\t\t\tthis.generatedCodeColumn = 0;\n\t\t}\n\n\t\tthis.generatedCodeColumn += lines[lines.length - 1].length;\n\t}\n}\n\nconst n = '\\n';\n\nconst warned = {\n\tinsertLeft: false,\n\tinsertRight: false,\n\tstoreName: false,\n};\n\nclass MagicString {\n\tconstructor(string, options = {}) {\n\t\tconst chunk = new Chunk(0, string.length, string);\n\n\t\tObject.defineProperties(this, {\n\t\t\toriginal: { writable: true, value: string },\n\t\t\toutro: { writable: true, value: '' },\n\t\t\tintro: { writable: true, value: '' },\n\t\t\tfirstChunk: { writable: true, value: chunk },\n\t\t\tlastChunk: { writable: true, value: chunk },\n\t\t\tlastSearchedChunk: { writable: true, value: chunk },\n\t\t\tbyStart: { writable: true, value: {} },\n\t\t\tbyEnd: { writable: true, value: {} },\n\t\t\tfilename: { writable: true, value: options.filename },\n\t\t\tindentExclusionRanges: { writable: true, value: options.indentExclusionRanges },\n\t\t\tsourcemapLocations: { writable: true, value: new BitSet() },\n\t\t\tstoredNames: { writable: true, value: {} },\n\t\t\tindentStr: { writable: true, value: undefined },\n\t\t\tignoreList: { writable: true, value: options.ignoreList },\n\t\t});\n\n\t\tthis.byStart[0] = chunk;\n\t\tthis.byEnd[string.length] = chunk;\n\t}\n\n\taddSourcemapLocation(char) {\n\t\tthis.sourcemapLocations.add(char);\n\t}\n\n\tappend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.outro += content;\n\t\treturn this;\n\t}\n\n\tappendLeft(index, content) {\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendLeft(content);\n\t\t} else {\n\t\t\tthis.intro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tappendRight(index, content) {\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendRight(content);\n\t\t} else {\n\t\t\tthis.outro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst cloned = new MagicString(this.original, { filename: this.filename });\n\n\t\tlet originalChunk = this.firstChunk;\n\t\tlet clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone());\n\n\t\twhile (originalChunk) {\n\t\t\tcloned.byStart[clonedChunk.start] = clonedChunk;\n\t\t\tcloned.byEnd[clonedChunk.end] = clonedChunk;\n\n\t\t\tconst nextOriginalChunk = originalChunk.next;\n\t\t\tconst nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n\n\t\t\tif (nextClonedChunk) {\n\t\t\t\tclonedChunk.next = nextClonedChunk;\n\t\t\t\tnextClonedChunk.previous = clonedChunk;\n\n\t\t\t\tclonedChunk = nextClonedChunk;\n\t\t\t}\n\n\t\t\toriginalChunk = nextOriginalChunk;\n\t\t}\n\n\t\tcloned.lastChunk = clonedChunk;\n\n\t\tif (this.indentExclusionRanges) {\n\t\t\tcloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n\t\t}\n\n\t\tcloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n\n\t\tcloned.intro = this.intro;\n\t\tcloned.outro = this.outro;\n\n\t\treturn cloned;\n\t}\n\n\tgenerateDecodedMap(options) {\n\t\toptions = options || {};\n\n\t\tconst sourceIndex = 0;\n\t\tconst names = Object.keys(this.storedNames);\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tconst locate = getLocator(this.original);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.firstChunk.eachNext((chunk) => {\n\t\t\tconst loc = locate(chunk.start);\n\n\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tmappings.addEdit(\n\t\t\t\t\tsourceIndex,\n\t\t\t\t\tchunk.content,\n\t\t\t\t\tloc,\n\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);\n\t\t\t}\n\n\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: [\n\t\t\t\toptions.source ? getRelativePath(options.file || '', options.source) : options.file || '',\n\t\t\t],\n\t\t\tsourcesContent: options.includeContent ? [this.original] : undefined,\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList: this.ignoreList ? [sourceIndex] : undefined,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\t_ensureindentStr() {\n\t\tif (this.indentStr === undefined) {\n\t\t\tthis.indentStr = guessIndent(this.original);\n\t\t}\n\t}\n\n\t_getRawIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr;\n\t}\n\n\tgetIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr === null ? '\\t' : this.indentStr;\n\t}\n\n\tindent(indentStr, options) {\n\t\tconst pattern = /^[^\\r\\n]/gm;\n\n\t\tif (isObject(indentStr)) {\n\t\t\toptions = indentStr;\n\t\t\tindentStr = undefined;\n\t\t}\n\n\t\tif (indentStr === undefined) {\n\t\t\tthis._ensureindentStr();\n\t\t\tindentStr = this.indentStr || '\\t';\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\toptions = options || {};\n\n\t\t// Process exclusion ranges\n\t\tconst isExcluded = {};\n\n\t\tif (options.exclude) {\n\t\t\tconst exclusions =\n\t\t\t\ttypeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n\t\t\texclusions.forEach((exclusion) => {\n\t\t\t\tfor (let i = exclusion[0]; i < exclusion[1]; i += 1) {\n\t\t\t\t\tisExcluded[i] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet shouldIndentNextCharacter = options.indentStart !== false;\n\t\tconst replacer = (match) => {\n\t\t\tif (shouldIndentNextCharacter) return `${indentStr}${match}`;\n\t\t\tshouldIndentNextCharacter = true;\n\t\t\treturn match;\n\t\t};\n\n\t\tthis.intro = this.intro.replace(pattern, replacer);\n\n\t\tlet charIndex = 0;\n\t\tlet chunk = this.firstChunk;\n\n\t\twhile (chunk) {\n\t\t\tconst end = chunk.end;\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\tchunk.content = chunk.content.replace(pattern, replacer);\n\n\t\t\t\t\tif (chunk.content.length) {\n\t\t\t\t\t\tshouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcharIndex = chunk.start;\n\n\t\t\t\twhile (charIndex < end) {\n\t\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\t\tconst char = this.original[charIndex];\n\n\t\t\t\t\t\tif (char === '\\n') {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = true;\n\t\t\t\t\t\t} else if (char !== '\\r' && shouldIndentNextCharacter) {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = false;\n\n\t\t\t\t\t\t\tif (charIndex === chunk.start) {\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._splitChunk(chunk, charIndex);\n\t\t\t\t\t\t\t\tchunk = chunk.next;\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcharIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcharIndex = chunk.end;\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tthis.outro = this.outro.replace(pattern, replacer);\n\n\t\treturn this;\n\t}\n\n\tinsert() {\n\t\tthrow new Error(\n\t\t\t'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',\n\t\t);\n\t}\n\n\tinsertLeft(index, content) {\n\t\tif (!warned.insertLeft) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',\n\t\t\t); // eslint-disable-line no-console\n\t\t\twarned.insertLeft = true;\n\t\t}\n\n\t\treturn this.appendLeft(index, content);\n\t}\n\n\tinsertRight(index, content) {\n\t\tif (!warned.insertRight) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',\n\t\t\t); // eslint-disable-line no-console\n\t\t\twarned.insertRight = true;\n\t\t}\n\n\t\treturn this.prependRight(index, content);\n\t}\n\n\tmove(start, end, index) {\n\t\tif (index >= start && index <= end) throw new Error('Cannot move a selection inside itself');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\t\tthis._split(index);\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tconst oldLeft = first.previous;\n\t\tconst oldRight = last.next;\n\n\t\tconst newRight = this.byStart[index];\n\t\tif (!newRight && last === this.lastChunk) return this;\n\t\tconst newLeft = newRight ? newRight.previous : this.lastChunk;\n\n\t\tif (oldLeft) oldLeft.next = oldRight;\n\t\tif (oldRight) oldRight.previous = oldLeft;\n\n\t\tif (newLeft) newLeft.next = first;\n\t\tif (newRight) newRight.previous = last;\n\n\t\tif (!first.previous) this.firstChunk = last.next;\n\t\tif (!last.next) {\n\t\t\tthis.lastChunk = first.previous;\n\t\t\tthis.lastChunk.next = null;\n\t\t}\n\n\t\tfirst.previous = newLeft;\n\t\tlast.next = newRight || null;\n\n\t\tif (!newLeft) this.firstChunk = first;\n\t\tif (!newRight) this.lastChunk = last;\n\t\treturn this;\n\t}\n\n\toverwrite(start, end, content, options) {\n\t\toptions = options || {};\n\t\treturn this.update(start, end, content, { ...options, overwrite: !options.contentOnly });\n\t}\n\n\tupdate(start, end, content, options) {\n\t\tif (typeof content !== 'string') throw new TypeError('replacement content must be a string');\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (end > this.original.length) throw new Error('end is out of bounds');\n\t\tif (start === end)\n\t\t\tthrow new Error(\n\t\t\t\t'Cannot overwrite a zero-length range – use appendLeft or prependRight instead',\n\t\t\t);\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tif (options === true) {\n\t\t\tif (!warned.storeName) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',\n\t\t\t\t); // eslint-disable-line no-console\n\t\t\t\twarned.storeName = true;\n\t\t\t}\n\n\t\t\toptions = { storeName: true };\n\t\t}\n\t\tconst storeName = options !== undefined ? options.storeName : false;\n\t\tconst overwrite = options !== undefined ? options.overwrite : false;\n\n\t\tif (storeName) {\n\t\t\tconst original = this.original.slice(start, end);\n\t\t\tObject.defineProperty(this.storedNames, original, {\n\t\t\t\twritable: true,\n\t\t\t\tvalue: true,\n\t\t\t\tenumerable: true,\n\t\t\t});\n\t\t}\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tif (first) {\n\t\t\tlet chunk = first;\n\t\t\twhile (chunk !== last) {\n\t\t\t\tif (chunk.next !== this.byStart[chunk.end]) {\n\t\t\t\t\tthrow new Error('Cannot overwrite across a split point');\n\t\t\t\t}\n\t\t\t\tchunk = chunk.next;\n\t\t\t\tchunk.edit('', false);\n\t\t\t}\n\n\t\t\tfirst.edit(content, storeName, !overwrite);\n\t\t} else {\n\t\t\t// must be inserting at the end\n\t\t\tconst newChunk = new Chunk(start, end, '').edit(content, storeName);\n\n\t\t\t// TODO last chunk in the array may not be the last chunk, if it's moved...\n\t\t\tlast.next = newChunk;\n\t\t\tnewChunk.previous = last;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprepend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.intro = content + this.intro;\n\t\treturn this;\n\t}\n\n\tprependLeft(index, content) {\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependLeft(content);\n\t\t} else {\n\t\t\tthis.intro = content + this.intro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprependRight(index, content) {\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependRight(content);\n\t\t} else {\n\t\t\tthis.outro = content + this.outro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tremove(start, end) {\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.intro = '';\n\t\t\tchunk.outro = '';\n\t\t\tchunk.edit('');\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\treset(start, end) {\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.reset();\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\tlastChar() {\n\t\tif (this.outro.length) return this.outro[this.outro.length - 1];\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length) return chunk.outro[chunk.outro.length - 1];\n\t\t\tif (chunk.content.length) return chunk.content[chunk.content.length - 1];\n\t\t\tif (chunk.intro.length) return chunk.intro[chunk.intro.length - 1];\n\t\t} while ((chunk = chunk.previous));\n\t\tif (this.intro.length) return this.intro[this.intro.length - 1];\n\t\treturn '';\n\t}\n\n\tlastLine() {\n\t\tlet lineIndex = this.outro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.outro.substr(lineIndex + 1);\n\t\tlet lineStr = this.outro;\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length > 0) {\n\t\t\t\tlineIndex = chunk.outro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.outro + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.content.length > 0) {\n\t\t\t\tlineIndex = chunk.content.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.content + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.intro.length > 0) {\n\t\t\t\tlineIndex = chunk.intro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.intro + lineStr;\n\t\t\t}\n\t\t} while ((chunk = chunk.previous));\n\t\tlineIndex = this.intro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;\n\t\treturn this.intro + lineStr;\n\t}\n\n\tslice(start = 0, end = this.original.length) {\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tlet result = '';\n\n\t\t// find start chunk\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk && (chunk.start > start || chunk.end <= start)) {\n\t\t\t// found end chunk before start\n\t\t\tif (chunk.start < end && chunk.end >= end) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tif (chunk && chunk.edited && chunk.start !== start)\n\t\t\tthrow new Error(`Cannot use replaced character ${start} as slice start anchor.`);\n\n\t\tconst startChunk = chunk;\n\t\twhile (chunk) {\n\t\t\tif (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n\t\t\t\tresult += chunk.intro;\n\t\t\t}\n\n\t\t\tconst containsEnd = chunk.start < end && chunk.end >= end;\n\t\t\tif (containsEnd && chunk.edited && chunk.end !== end)\n\t\t\t\tthrow new Error(`Cannot use replaced character ${end} as slice end anchor.`);\n\n\t\t\tconst sliceStart = startChunk === chunk ? start - chunk.start : 0;\n\t\t\tconst sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n\n\t\t\tresult += chunk.content.slice(sliceStart, sliceEnd);\n\n\t\t\tif (chunk.outro && (!containsEnd || chunk.end === end)) {\n\t\t\t\tresult += chunk.outro;\n\t\t\t}\n\n\t\t\tif (containsEnd) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t// TODO deprecate this? not really very useful\n\tsnip(start, end) {\n\t\tconst clone = this.clone();\n\t\tclone.remove(0, start);\n\t\tclone.remove(end, clone.original.length);\n\n\t\treturn clone;\n\t}\n\n\t_split(index) {\n\t\tif (this.byStart[index] || this.byEnd[index]) return;\n\n\t\tlet chunk = this.lastSearchedChunk;\n\t\tconst searchForward = index > chunk.end;\n\n\t\twhile (chunk) {\n\t\t\tif (chunk.contains(index)) return this._splitChunk(chunk, index);\n\n\t\t\tchunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n\t\t}\n\t}\n\n\t_splitChunk(chunk, index) {\n\t\tif (chunk.edited && chunk.content.length) {\n\t\t\t// zero-length edited chunks are a special case (overlapping replacements)\n\t\t\tconst loc = getLocator(this.original)(index);\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot split a chunk that has already been edited (${loc.line}:${loc.column} – \"${chunk.original}\")`,\n\t\t\t);\n\t\t}\n\n\t\tconst newChunk = chunk.split(index);\n\n\t\tthis.byEnd[index] = chunk;\n\t\tthis.byStart[index] = newChunk;\n\t\tthis.byEnd[newChunk.end] = newChunk;\n\n\t\tif (chunk === this.lastChunk) this.lastChunk = newChunk;\n\n\t\tthis.lastSearchedChunk = chunk;\n\t\treturn true;\n\t}\n\n\ttoString() {\n\t\tlet str = this.intro;\n\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk) {\n\t\t\tstr += chunk.toString();\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn str + this.outro;\n\t}\n\n\tisEmpty() {\n\t\tlet chunk = this.firstChunk;\n\t\tdo {\n\t\t\tif (\n\t\t\t\t(chunk.intro.length && chunk.intro.trim()) ||\n\t\t\t\t(chunk.content.length && chunk.content.trim()) ||\n\t\t\t\t(chunk.outro.length && chunk.outro.trim())\n\t\t\t)\n\t\t\t\treturn false;\n\t\t} while ((chunk = chunk.next));\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\tlet chunk = this.firstChunk;\n\t\tlet length = 0;\n\t\tdo {\n\t\t\tlength += chunk.intro.length + chunk.content.length + chunk.outro.length;\n\t\t} while ((chunk = chunk.next));\n\t\treturn length;\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimEndAborted(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tlet chunk = this.lastChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimEnd(rx);\n\n\t\t\t// if chunk was trimmed, we have a new lastChunk\n\t\t\tif (chunk.end !== end) {\n\t\t\t\tif (this.lastChunk === chunk) {\n\t\t\t\t\tthis.lastChunk = chunk.next;\n\t\t\t\t}\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.previous;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimEnd(charType) {\n\t\tthis.trimEndAborted(charType);\n\t\treturn this;\n\t}\n\ttrimStartAborted(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tlet chunk = this.firstChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimStart(rx);\n\n\t\t\tif (chunk.end !== end) {\n\t\t\t\t// special case...\n\t\t\t\tif (chunk === this.lastChunk) this.lastChunk = chunk.next;\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.next;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimStart(charType) {\n\t\tthis.trimStartAborted(charType);\n\t\treturn this;\n\t}\n\n\thasChanged() {\n\t\treturn this.original !== this.toString();\n\t}\n\n\t_replaceRegexp(searchValue, replacement) {\n\t\tfunction getReplacement(match, str) {\n\t\t\tif (typeof replacement === 'string') {\n\t\t\t\treturn replacement.replace(/\\$(\\$|&|\\d+)/g, (_, i) => {\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_a_parameter\n\t\t\t\t\tif (i === '$') return '$';\n\t\t\t\t\tif (i === '&') return match[0];\n\t\t\t\t\tconst num = +i;\n\t\t\t\t\tif (num < match.length) return match[+i];\n\t\t\t\t\treturn `$${i}`;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn replacement(...match, match.index, str, match.groups);\n\t\t\t}\n\t\t}\n\t\tfunction matchAll(re, str) {\n\t\t\tlet match;\n\t\t\tconst matches = [];\n\t\t\twhile ((match = re.exec(str))) {\n\t\t\t\tmatches.push(match);\n\t\t\t}\n\t\t\treturn matches;\n\t\t}\n\t\tif (searchValue.global) {\n\t\t\tconst matches = matchAll(searchValue, this.original);\n\t\t\tmatches.forEach((match) => {\n\t\t\t\tif (match.index != null) {\n\t\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\t\tthis.overwrite(\n\t\t\t\t\t\t\tmatch.index,\n\t\t\t\t\t\t\tmatch.index + match[0].length,\n\t\t\t\t\t\t\treplacement\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} else {\n\t\t\tconst match = this.original.match(searchValue);\n\t\t\tif (match && match.index != null) {\n\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\tthis.overwrite(\n\t\t\t\t\t\tmatch.index,\n\t\t\t\t\t\tmatch.index + match[0].length,\n\t\t\t\t\t\treplacement\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t_replaceString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst index = original.indexOf(string);\n\n\t\tif (index !== -1) {\n\t\t\tthis.overwrite(index, index + string.length, replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplace(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceString(searchValue, replacement);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n\n\t_replaceAllString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst stringLength = string.length;\n\t\tfor (\n\t\t\tlet index = original.indexOf(string);\n\t\t\tindex !== -1;\n\t\t\tindex = original.indexOf(string, index + stringLength)\n\t\t) {\n\t\t\tconst previous = original.slice(index, index + stringLength);\n\t\t\tif (previous !== replacement)\n\t\t\t\tthis.overwrite(index, index + stringLength, replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplaceAll(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceAllString(searchValue, replacement);\n\t\t}\n\n\t\tif (!searchValue.global) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'MagicString.prototype.replaceAll called with a non-global RegExp argument',\n\t\t\t);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n}\n\nconst hasOwnProp = Object.prototype.hasOwnProperty;\n\nclass Bundle {\n\tconstructor(options = {}) {\n\t\tthis.intro = options.intro || '';\n\t\tthis.separator = options.separator !== undefined ? options.separator : '\\n';\n\t\tthis.sources = [];\n\t\tthis.uniqueSources = [];\n\t\tthis.uniqueSourceIndexByFilename = {};\n\t}\n\n\taddSource(source) {\n\t\tif (source instanceof MagicString) {\n\t\t\treturn this.addSource({\n\t\t\t\tcontent: source,\n\t\t\t\tfilename: source.filename,\n\t\t\t\tseparator: this.separator,\n\t\t\t});\n\t\t}\n\n\t\tif (!isObject(source) || !source.content) {\n\t\t\tthrow new Error(\n\t\t\t\t'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',\n\t\t\t);\n\t\t}\n\n\t\t['filename', 'ignoreList', 'indentExclusionRanges', 'separator'].forEach((option) => {\n\t\t\tif (!hasOwnProp.call(source, option)) source[option] = source.content[option];\n\t\t});\n\n\t\tif (source.separator === undefined) {\n\t\t\t// TODO there's a bunch of this sort of thing, needs cleaning up\n\t\t\tsource.separator = this.separator;\n\t\t}\n\n\t\tif (source.filename) {\n\t\t\tif (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n\t\t\t\tthis.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n\t\t\t\tthis.uniqueSources.push({ filename: source.filename, content: source.content.original });\n\t\t\t} else {\n\t\t\t\tconst uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\t\t\t\tif (source.content.original !== uniqueSource.content) {\n\t\t\t\t\tthrow new Error(`Illegal source: same filename (${source.filename}), different contents`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.sources.push(source);\n\t\treturn this;\n\t}\n\n\tappend(str, options) {\n\t\tthis.addSource({\n\t\t\tcontent: new MagicString(str),\n\t\t\tseparator: (options && options.separator) || '',\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst bundle = new Bundle({\n\t\t\tintro: this.intro,\n\t\t\tseparator: this.separator,\n\t\t});\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tbundle.addSource({\n\t\t\t\tfilename: source.filename,\n\t\t\t\tcontent: source.content.clone(),\n\t\t\t\tseparator: source.separator,\n\t\t\t});\n\t\t});\n\n\t\treturn bundle;\n\t}\n\n\tgenerateDecodedMap(options = {}) {\n\t\tconst names = [];\n\t\tlet x_google_ignoreList = undefined;\n\t\tthis.sources.forEach((source) => {\n\t\t\tObject.keys(source.content.storedNames).forEach((name) => {\n\t\t\t\tif (!~names.indexOf(name)) names.push(name);\n\t\t\t});\n\t\t});\n\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tif (i > 0) {\n\t\t\t\tmappings.advance(this.separator);\n\t\t\t}\n\n\t\t\tconst sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;\n\t\t\tconst magicString = source.content;\n\t\t\tconst locate = getLocator(magicString.original);\n\n\t\t\tif (magicString.intro) {\n\t\t\t\tmappings.advance(magicString.intro);\n\t\t\t}\n\n\t\t\tmagicString.firstChunk.eachNext((chunk) => {\n\t\t\t\tconst loc = locate(chunk.start);\n\n\t\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\t\tif (source.filename) {\n\t\t\t\t\tif (chunk.edited) {\n\t\t\t\t\t\tmappings.addEdit(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk.content,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmappings.addUneditedChunk(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk,\n\t\t\t\t\t\t\tmagicString.original,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tmagicString.sourcemapLocations,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tmappings.advance(chunk.content);\n\t\t\t\t}\n\n\t\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t\t});\n\n\t\t\tif (magicString.outro) {\n\t\t\t\tmappings.advance(magicString.outro);\n\t\t\t}\n\n\t\t\tif (source.ignoreList && sourceIndex !== -1) {\n\t\t\t\tif (x_google_ignoreList === undefined) {\n\t\t\t\t\tx_google_ignoreList = [];\n\t\t\t\t}\n\t\t\t\tx_google_ignoreList.push(sourceIndex);\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.file ? getRelativePath(options.file, source.filename) : source.filename;\n\t\t\t}),\n\t\t\tsourcesContent: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.includeContent ? source.content : null;\n\t\t\t}),\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\tgetIndentString() {\n\t\tconst indentStringCounts = {};\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tconst indentStr = source.content._getRawIndentString();\n\n\t\t\tif (indentStr === null) return;\n\n\t\t\tif (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;\n\t\t\tindentStringCounts[indentStr] += 1;\n\t\t});\n\n\t\treturn (\n\t\t\tObject.keys(indentStringCounts).sort((a, b) => {\n\t\t\t\treturn indentStringCounts[a] - indentStringCounts[b];\n\t\t\t})[0] || '\\t'\n\t\t);\n\t}\n\n\tindent(indentStr) {\n\t\tif (!arguments.length) {\n\t\t\tindentStr = this.getIndentString();\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\tlet trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\tconst indentStart = trailingNewline || (i > 0 && /\\r?\\n$/.test(separator));\n\n\t\t\tsource.content.indent(indentStr, {\n\t\t\t\texclude: source.indentExclusionRanges,\n\t\t\t\tindentStart, //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\t\t\t});\n\n\t\t\ttrailingNewline = source.content.lastChar() === '\\n';\n\t\t});\n\n\t\tif (this.intro) {\n\t\t\tthis.intro =\n\t\t\t\tindentStr +\n\t\t\t\tthis.intro.replace(/^[^\\n]/gm, (match, index) => {\n\t\t\t\t\treturn index > 0 ? indentStr + match : match;\n\t\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tprepend(str) {\n\t\tthis.intro = str + this.intro;\n\t\treturn this;\n\t}\n\n\ttoString() {\n\t\tconst body = this.sources\n\t\t\t.map((source, i) => {\n\t\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\t\tconst str = (i > 0 ? separator : '') + source.content.toString();\n\n\t\t\t\treturn str;\n\t\t\t})\n\t\t\t.join('');\n\n\t\treturn this.intro + body;\n\t}\n\n\tisEmpty() {\n\t\tif (this.intro.length && this.intro.trim()) return false;\n\t\tif (this.sources.some((source) => !source.content.isEmpty())) return false;\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\treturn this.sources.reduce(\n\t\t\t(length, source) => length + source.content.length(),\n\t\t\tthis.intro.length,\n\t\t);\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimStart(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\t\tthis.intro = this.intro.replace(rx, '');\n\n\t\tif (!this.intro) {\n\t\t\tlet source;\n\t\t\tlet i = 0;\n\n\t\t\tdo {\n\t\t\t\tsource = this.sources[i++];\n\t\t\t\tif (!source) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} while (!source.content.trimStartAborted(charType));\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttrimEnd(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tlet source;\n\t\tlet i = this.sources.length - 1;\n\n\t\tdo {\n\t\t\tsource = this.sources[i--];\n\t\t\tif (!source) {\n\t\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} while (!source.content.trimEndAborted(charType));\n\n\t\treturn this;\n\t}\n}\n\nexport { Bundle, SourceMap, MagicString as default };\n//# sourceMappingURL=magic-string.es.mjs.map\n",
|
|
8
|
+
"import { isString, escapeRegExp } from '@unocss/core';\nimport MagicString from 'magic-string';\n\nfunction getBracket(str, open, close) {\n if (str === \"\")\n return;\n const l = str.length;\n let parenthesis = 0;\n let opened = false;\n let openAt = 0;\n for (let i = 0; i < l; i++) {\n switch (str[i]) {\n case open:\n if (!opened) {\n opened = true;\n openAt = i;\n }\n parenthesis++;\n break;\n case close:\n --parenthesis;\n if (parenthesis < 0)\n return;\n if (parenthesis === 0) {\n return [\n str.slice(openAt, i + 1),\n str.slice(i + 1),\n str.slice(0, openAt)\n ];\n }\n break;\n }\n }\n}\nfunction getStringComponent(str, open, close, separators) {\n if (str === \"\")\n return;\n if (isString(separators))\n separators = [separators];\n if (separators.length === 0)\n return;\n const l = str.length;\n let parenthesis = 0;\n for (let i = 0; i < l; i++) {\n switch (str[i]) {\n case open:\n parenthesis++;\n break;\n case close:\n if (--parenthesis < 0)\n return;\n break;\n default:\n for (const separator of separators) {\n const separatorLength = separator.length;\n if (separatorLength && separator === str.slice(i, i + separatorLength) && parenthesis === 0) {\n if (i === 0 || i === l - separatorLength)\n return;\n return [\n str.slice(0, i),\n str.slice(i + separatorLength)\n ];\n }\n }\n }\n }\n return [\n str,\n \"\"\n ];\n}\nfunction getStringComponents(str, separators, limit) {\n limit = limit ?? 10;\n const components = [];\n let i = 0;\n while (str !== \"\") {\n if (++i > limit)\n return;\n const componentPair = getStringComponent(str, \"(\", \")\", separators);\n if (!componentPair)\n return;\n const [component, rest] = componentPair;\n components.push(component);\n str = rest;\n }\n if (components.length > 0)\n return components;\n}\n\nconst cssColorFunctions = [\"hsl\", \"hsla\", \"hwb\", \"lab\", \"lch\", \"oklab\", \"oklch\", \"rgb\", \"rgba\"];\nconst alphaPlaceholders = [\"%alpha\", \"<alpha-value>\"];\nconst alphaPlaceholdersRE = new RegExp(alphaPlaceholders.map((v) => escapeRegExp(v)).join(\"|\"));\nfunction hex2rgba(hex = \"\") {\n const color = parseHexColor(hex);\n if (color != null) {\n const { components, alpha } = color;\n if (alpha == null)\n return components;\n return [...components, alpha];\n }\n}\nfunction parseCssColor(str = \"\") {\n const color = parseColor(str);\n if (color == null || color === false)\n return;\n const { type: casedType, components, alpha } = color;\n const type = casedType.toLowerCase();\n if (components.length === 0)\n return;\n if (cssColorFunctions.includes(type) && ![1, 3].includes(components.length))\n return;\n return {\n type,\n components: components.map((c) => typeof c === \"string\" ? c.trim() : c),\n alpha: typeof alpha === \"string\" ? alpha.trim() : alpha\n };\n}\nfunction colorOpacityToString(color) {\n const alpha = color.alpha ?? 1;\n return typeof alpha === \"string\" && alphaPlaceholders.includes(alpha) ? 1 : alpha;\n}\nfunction colorToString(color, alphaOverride) {\n if (typeof color === \"string\")\n return color.replace(alphaPlaceholdersRE, `${alphaOverride ?? 1}`);\n const { components } = color;\n let { alpha, type } = color;\n alpha = alphaOverride ?? alpha;\n type = type.toLowerCase();\n if ([\"hsla\", \"rgba\"].includes(type))\n return `${type}(${components.join(\", \")}${alpha == null ? \"\" : `, ${alpha}`})`;\n alpha = alpha == null ? \"\" : ` / ${alpha}`;\n if (cssColorFunctions.includes(type))\n return `${type}(${components.join(\" \")}${alpha})`;\n return `color(${type} ${components.join(\" \")}${alpha})`;\n}\nfunction parseColor(str) {\n if (!str)\n return;\n let color = parseHexColor(str);\n if (color != null)\n return color;\n color = cssColorKeyword(str);\n if (color != null)\n return color;\n color = parseCssCommaColorFunction(str);\n if (color != null)\n return color;\n color = parseCssSpaceColorFunction(str);\n if (color != null)\n return color;\n color = parseCssColorFunction(str);\n if (color != null)\n return color;\n}\nfunction parseHexColor(str) {\n const [, body] = str.match(/^#([\\da-f]+)$/i) || [];\n if (!body)\n return;\n switch (body.length) {\n case 3:\n case 4:\n const digits = Array.from(body, (s) => Number.parseInt(s, 16)).map((n) => n << 4 | n);\n return {\n type: \"rgb\",\n components: digits.slice(0, 3),\n alpha: body.length === 3 ? void 0 : Math.round(digits[3] / 255 * 100) / 100\n };\n case 6:\n case 8:\n const value = Number.parseInt(body, 16);\n return {\n type: \"rgb\",\n components: body.length === 6 ? [value >> 16 & 255, value >> 8 & 255, value & 255] : [value >> 24 & 255, value >> 16 & 255, value >> 8 & 255],\n alpha: body.length === 6 ? void 0 : Math.round((value & 255) / 255 * 100) / 100\n };\n }\n}\nfunction cssColorKeyword(str) {\n const color = {\n rebeccapurple: [102, 51, 153, 1]\n }[str];\n if (color != null) {\n return {\n type: \"rgb\",\n components: color.slice(0, 3),\n alpha: color[3]\n };\n }\n}\nfunction parseCssCommaColorFunction(color) {\n const match = color.match(/^(rgb|rgba|hsl|hsla)\\((.+)\\)$/i);\n if (!match)\n return;\n const [, type, componentString] = match;\n const components = getStringComponents(componentString, \",\", 5);\n if (components) {\n if ([3, 4].includes(components.length)) {\n return {\n type,\n components: components.slice(0, 3),\n alpha: components[3]\n };\n } else if (components.length !== 1) {\n return false;\n }\n }\n}\nconst cssColorFunctionsRe = new RegExp(`^(${cssColorFunctions.join(\"|\")})\\\\((.+)\\\\)$`, \"i\");\nfunction parseCssSpaceColorFunction(color) {\n const match = color.match(cssColorFunctionsRe);\n if (!match)\n return;\n const [, fn, componentString] = match;\n const parsed = parseCssSpaceColorValues(`${fn} ${componentString}`);\n if (parsed) {\n const { alpha, components: [type, ...components] } = parsed;\n return {\n type,\n components,\n alpha\n };\n }\n}\nfunction parseCssColorFunction(color) {\n const match = color.match(/^color\\((.+)\\)$/);\n if (!match)\n return;\n const parsed = parseCssSpaceColorValues(match[1]);\n if (parsed) {\n const { alpha, components: [type, ...components] } = parsed;\n return {\n type,\n components,\n alpha\n };\n }\n}\nfunction parseCssSpaceColorValues(componentString) {\n const components = getStringComponents(componentString, \" \");\n if (!components)\n return;\n let totalComponents = components.length;\n if (components[totalComponents - 2] === \"/\") {\n return {\n components: components.slice(0, totalComponents - 2),\n alpha: components[totalComponents - 1]\n };\n }\n if (components[totalComponents - 2] != null && (components[totalComponents - 2].endsWith(\"/\") || components[totalComponents - 1].startsWith(\"/\"))) {\n const removed = components.splice(totalComponents - 2);\n components.push(removed.join(\" \"));\n --totalComponents;\n }\n const withAlpha = getStringComponents(components[totalComponents - 1], \"/\", 2);\n if (!withAlpha)\n return;\n if (withAlpha.length === 1 || withAlpha[withAlpha.length - 1] === \"\")\n return { components };\n const alpha = withAlpha.pop();\n components[totalComponents - 1] = withAlpha.join(\"/\");\n return {\n components,\n alpha\n };\n}\n\nfunction createValueHandler(handlers) {\n const handler = function(str) {\n const s = this.__options?.sequence || [];\n this.__options.sequence = [];\n for (const n of s) {\n const res = handlers[n](str);\n if (res != null)\n return res;\n }\n };\n function addProcessor(that, name) {\n if (!that.__options) {\n that.__options = {\n sequence: []\n };\n }\n that.__options.sequence.push(name);\n return that;\n }\n for (const name of Object.keys(handlers)) {\n Object.defineProperty(handler, name, {\n enumerable: true,\n configurable: true,\n get() {\n return addProcessor(this, name);\n }\n });\n }\n return handler;\n}\n\nfunction variantMatcher(name, handler) {\n let re;\n return {\n name,\n match(input, ctx) {\n if (!re)\n re = new RegExp(`^${escapeRegExp(name)}(?:${ctx.generator.config.separators.join(\"|\")})`);\n const match = input.match(re);\n if (match) {\n return {\n matcher: input.slice(match[0].length),\n handle: (input2, next) => next({\n ...input2,\n ...handler(input2)\n })\n };\n }\n },\n autocomplete: `${name}:`\n };\n}\nfunction variantParentMatcher(name, parent) {\n let re;\n return {\n name,\n match(input, ctx) {\n if (!re)\n re = new RegExp(`^${escapeRegExp(name)}(?:${ctx.generator.config.separators.join(\"|\")})`);\n const match = input.match(re);\n if (match) {\n return {\n matcher: input.slice(match[0].length),\n handle: (input2, next) => next({\n ...input2,\n parent: `${input2.parent ? `${input2.parent} $$ ` : \"\"}${parent}`\n })\n };\n }\n },\n autocomplete: `${name}:`\n };\n}\nfunction variantGetBracket(prefix, matcher, separators) {\n if (matcher.startsWith(`${prefix}[`)) {\n const [match, rest] = getBracket(matcher.slice(prefix.length), \"[\", \"]\") ?? [];\n if (match && rest) {\n for (const separator of separators) {\n if (rest.startsWith(separator))\n return [match, rest.slice(separator.length), separator];\n }\n return [match, rest, \"\"];\n }\n }\n}\nfunction variantGetParameter(prefix, matcher, separators) {\n if (matcher.startsWith(prefix)) {\n const body = variantGetBracket(prefix, matcher, separators);\n if (body) {\n const [label = \"\", rest = body[1]] = variantGetParameter(\"/\", body[1], separators) ?? [];\n return [body[0], rest, label];\n }\n for (const separator of separators.filter((x) => x !== \"/\")) {\n const pos = matcher.indexOf(separator, prefix.length);\n if (pos !== -1) {\n const labelPos = matcher.indexOf(\"/\", prefix.length);\n const unlabelled = labelPos === -1 || pos <= labelPos;\n return [\n matcher.slice(prefix.length, unlabelled ? pos : labelPos),\n matcher.slice(pos + separator.length),\n unlabelled ? \"\" : matcher.slice(labelPos + 1, pos)\n ];\n }\n }\n }\n}\n\nconst themeFnRE = /theme\\(\\s*(['\"])?([^\\1]*?)\\1?\\s*\\)/g;\nfunction hasThemeFn(str) {\n return str.includes(\"theme(\") && str.includes(\")\");\n}\nfunction transformThemeFn(code, theme, throwOnMissing = true) {\n const matches = Array.from(code.toString().matchAll(themeFnRE));\n if (!matches.length)\n return code;\n const s = new MagicString(code);\n for (const match of matches) {\n const rawArg = match[2];\n if (!rawArg)\n throw new Error(\"theme() expect exact one argument, but got 0\");\n const value = transformThemeString(rawArg, theme, throwOnMissing);\n if (value) {\n s.overwrite(\n match.index,\n match.index + match[0].length,\n value\n );\n }\n }\n return s.toString();\n}\nfunction transformThemeString(code, theme, throwOnMissing = true) {\n const [rawKey, alpha] = code.split(\"/\");\n const keys = rawKey.trim().split(\".\");\n let value = keys.reduce((t, k) => t?.[k], theme);\n if (typeof value === \"string\") {\n if (alpha) {\n const color = parseCssColor(value);\n if (color)\n value = colorToString(color, alpha);\n }\n return value;\n } else if (throwOnMissing) {\n throw new Error(`theme of \"${code}\" did not found`);\n }\n}\n\nexport { colorOpacityToString, colorToString, createValueHandler, getBracket, getStringComponent, getStringComponents, hasThemeFn, hex2rgba, parseCssColor, themeFnRE, transformThemeFn, transformThemeString, variantGetBracket, variantGetParameter, variantMatcher, variantParentMatcher };\n",
|
|
9
|
+
"import { escapeSelector, toArray } from '@unocss/core';\nimport { createValueHandler, getStringComponent, parseCssColor, colorToString, colorOpacityToString, getStringComponents } from '@unocss/rule-utils';\n\nconst directionMap = {\n \"l\": [\"-left\"],\n \"r\": [\"-right\"],\n \"t\": [\"-top\"],\n \"b\": [\"-bottom\"],\n \"s\": [\"-inline-start\"],\n \"e\": [\"-inline-end\"],\n \"x\": [\"-left\", \"-right\"],\n \"y\": [\"-top\", \"-bottom\"],\n \"\": [\"\"],\n \"bs\": [\"-block-start\"],\n \"be\": [\"-block-end\"],\n \"is\": [\"-inline-start\"],\n \"ie\": [\"-inline-end\"],\n \"block\": [\"-block-start\", \"-block-end\"],\n \"inline\": [\"-inline-start\", \"-inline-end\"]\n};\nconst insetMap = {\n ...directionMap,\n s: [\"-inset-inline-start\"],\n start: [\"-inset-inline-start\"],\n e: [\"-inset-inline-end\"],\n end: [\"-inset-inline-end\"],\n bs: [\"-inset-block-start\"],\n be: [\"-inset-block-end\"],\n is: [\"-inset-inline-start\"],\n ie: [\"-inset-inline-end\"],\n block: [\"-inset-block-start\", \"-inset-block-end\"],\n inline: [\"-inset-inline-start\", \"-inset-inline-end\"]\n};\nconst cornerMap = {\n \"l\": [\"-top-left\", \"-bottom-left\"],\n \"r\": [\"-top-right\", \"-bottom-right\"],\n \"t\": [\"-top-left\", \"-top-right\"],\n \"b\": [\"-bottom-left\", \"-bottom-right\"],\n \"tl\": [\"-top-left\"],\n \"lt\": [\"-top-left\"],\n \"tr\": [\"-top-right\"],\n \"rt\": [\"-top-right\"],\n \"bl\": [\"-bottom-left\"],\n \"lb\": [\"-bottom-left\"],\n \"br\": [\"-bottom-right\"],\n \"rb\": [\"-bottom-right\"],\n \"\": [\"\"],\n \"bs\": [\"-start-start\", \"-start-end\"],\n \"be\": [\"-end-start\", \"-end-end\"],\n \"s\": [\"-end-start\", \"-start-start\"],\n \"is\": [\"-end-start\", \"-start-start\"],\n \"e\": [\"-start-end\", \"-end-end\"],\n \"ie\": [\"-start-end\", \"-end-end\"],\n \"ss\": [\"-start-start\"],\n \"bs-is\": [\"-start-start\"],\n \"is-bs\": [\"-start-start\"],\n \"se\": [\"-start-end\"],\n \"bs-ie\": [\"-start-end\"],\n \"ie-bs\": [\"-start-end\"],\n \"es\": [\"-end-start\"],\n \"be-is\": [\"-end-start\"],\n \"is-be\": [\"-end-start\"],\n \"ee\": [\"-end-end\"],\n \"be-ie\": [\"-end-end\"],\n \"ie-be\": [\"-end-end\"]\n};\nconst xyzMap = {\n \"x\": [\"-x\"],\n \"y\": [\"-y\"],\n \"z\": [\"-z\"],\n \"\": [\"-x\", \"-y\"]\n};\nconst xyzArray = [\"x\", \"y\", \"z\"];\nconst basePositionMap = [\n \"top\",\n \"top center\",\n \"top left\",\n \"top right\",\n \"bottom\",\n \"bottom center\",\n \"bottom left\",\n \"bottom right\",\n \"left\",\n \"left center\",\n \"left top\",\n \"left bottom\",\n \"right\",\n \"right center\",\n \"right top\",\n \"right bottom\",\n \"center\",\n \"center top\",\n \"center bottom\",\n \"center left\",\n \"center right\",\n \"center center\"\n];\nconst positionMap = Object.assign(\n {},\n ...basePositionMap.map((p) => ({ [p.replace(/ /, \"-\")]: p })),\n ...basePositionMap.map((p) => ({ [p.replace(/\\b(\\w)\\w+/g, \"$1\").replace(/ /, \"\")]: p }))\n);\nconst globalKeywords = [\n \"inherit\",\n \"initial\",\n \"revert\",\n \"revert-layer\",\n \"unset\"\n];\nconst cssMathFnRE = /^(calc|clamp|min|max)\\s*\\((.+)\\)(.*)/;\nconst cssVarFnRE = /^(var)\\s*\\((.+)\\)(.*)/;\n\nconst numberWithUnitRE = /^(-?\\d*(?:\\.\\d+)?)(px|pt|pc|%|r?(?:em|ex|lh|cap|ch|ic)|(?:[sld]?v|cq)(?:[whib]|min|max)|in|cm|mm|rpx)?$/i;\nconst numberRE = /^(-?\\d*(?:\\.\\d+)?)$/;\nconst unitOnlyRE = /^(px|[sld]?v[wh])$/i;\nconst unitOnlyMap = {\n px: 1,\n vw: 100,\n vh: 100,\n svw: 100,\n svh: 100,\n dvw: 100,\n dvh: 100,\n lvh: 100,\n lvw: 100\n};\nconst bracketTypeRe = /^\\[(color|length|size|position|quoted|string):/i;\nconst splitComma = /,(?![^()]*\\))/g;\n\nconst cssProps = [\n // basic props\n \"color\",\n \"border-color\",\n \"background-color\",\n \"flex-grow\",\n \"flex\",\n \"flex-shrink\",\n \"caret-color\",\n \"font\",\n \"gap\",\n \"opacity\",\n \"visibility\",\n \"z-index\",\n \"font-weight\",\n \"zoom\",\n \"text-shadow\",\n \"transform\",\n \"box-shadow\",\n // positions\n \"background-position\",\n \"left\",\n \"right\",\n \"top\",\n \"bottom\",\n \"object-position\",\n // sizes\n \"max-height\",\n \"min-height\",\n \"max-width\",\n \"min-width\",\n \"height\",\n \"width\",\n \"border-width\",\n \"margin\",\n \"padding\",\n \"outline-width\",\n \"outline-offset\",\n \"font-size\",\n \"line-height\",\n \"text-indent\",\n \"vertical-align\",\n \"border-spacing\",\n \"letter-spacing\",\n \"word-spacing\",\n // enhances\n \"stroke\",\n \"filter\",\n \"backdrop-filter\",\n \"fill\",\n \"mask\",\n \"mask-size\",\n \"mask-border\",\n \"clip-path\",\n \"clip\",\n \"border-radius\"\n];\nfunction round(n) {\n return +n.toFixed(10);\n}\nfunction numberWithUnit(str) {\n const match = str.match(numberWithUnitRE);\n if (!match)\n return;\n const [, n, unit] = match;\n const num = Number.parseFloat(n);\n if (unit && !Number.isNaN(num))\n return `${round(num)}${unit}`;\n}\nfunction auto(str) {\n if (str === \"auto\" || str === \"a\")\n return \"auto\";\n}\nfunction rem(str) {\n if (!str)\n return;\n if (unitOnlyRE.test(str))\n return `${unitOnlyMap[str]}${str}`;\n const match = str.match(numberWithUnitRE);\n if (!match)\n return;\n const [, n, unit] = match;\n const num = Number.parseFloat(n);\n if (!Number.isNaN(num)) {\n if (num === 0)\n return \"0\";\n return unit ? `${round(num)}${unit}` : `${round(num / 4)}rem`;\n }\n}\nfunction px(str) {\n if (unitOnlyRE.test(str))\n return `${unitOnlyMap[str]}${str}`;\n const match = str.match(numberWithUnitRE);\n if (!match)\n return;\n const [, n, unit] = match;\n const num = Number.parseFloat(n);\n if (!Number.isNaN(num))\n return unit ? `${round(num)}${unit}` : `${round(num)}px`;\n}\nfunction number(str) {\n if (!numberRE.test(str))\n return;\n const num = Number.parseFloat(str);\n if (!Number.isNaN(num))\n return round(num);\n}\nfunction percent(str) {\n if (str.endsWith(\"%\"))\n str = str.slice(0, -1);\n if (!numberRE.test(str))\n return;\n const num = Number.parseFloat(str);\n if (!Number.isNaN(num))\n return `${round(num / 100)}`;\n}\nfunction fraction(str) {\n if (!str)\n return;\n if (str === \"full\")\n return \"100%\";\n const [left, right] = str.split(\"/\");\n const num = Number.parseFloat(left) / Number.parseFloat(right);\n if (!Number.isNaN(num)) {\n if (num === 0)\n return \"0\";\n return `${round(num * 100)}%`;\n }\n}\nfunction bracketWithType(str, requiredType) {\n if (str && str.startsWith(\"[\") && str.endsWith(\"]\")) {\n let base;\n let hintedType;\n const match = str.match(bracketTypeRe);\n if (!match) {\n base = str.slice(1, -1);\n } else {\n if (!requiredType)\n hintedType = match[1];\n base = str.slice(match[0].length, -1);\n }\n if (!base)\n return;\n if (base === '=\"\"')\n return;\n if (base.startsWith(\"--\"))\n base = `var(${base})`;\n let curly = 0;\n for (const i of base) {\n if (i === \"[\") {\n curly += 1;\n } else if (i === \"]\") {\n curly -= 1;\n if (curly < 0)\n return;\n }\n }\n if (curly)\n return;\n switch (hintedType) {\n case \"string\":\n return base.replace(/(^|[^\\\\])_/g, \"$1 \").replace(/\\\\_/g, \"_\");\n case \"quoted\":\n return base.replace(/(^|[^\\\\])_/g, \"$1 \").replace(/\\\\_/g, \"_\").replace(/([\"\\\\])/g, \"\\\\$1\").replace(/^(.+)$/, '\"$1\"');\n }\n return base.replace(/(url\\(.*?\\))/g, (v) => v.replace(/_/g, \"\\\\_\")).replace(/(^|[^\\\\])_/g, \"$1 \").replace(/\\\\_/g, \"_\").replace(/(?:calc|clamp|max|min)\\((.*)/g, (match2) => {\n const vars = [];\n return match2.replace(/var\\((--.+?)[,)]/g, (match3, g1) => {\n vars.push(g1);\n return match3.replace(g1, \"--un-calc\");\n }).replace(/(-?\\d*\\.?\\d(?!-\\d.+[,)](?![^+\\-/*])\\D)(?:%|[a-z]+)?|\\))([+\\-/*])/g, \"$1 $2 \").replace(/--un-calc/g, () => vars.shift());\n });\n }\n}\nfunction bracket(str) {\n return bracketWithType(str);\n}\nfunction bracketOfColor(str) {\n return bracketWithType(str, \"color\");\n}\nfunction bracketOfLength(str) {\n return bracketWithType(str, \"length\");\n}\nfunction bracketOfPosition(str) {\n return bracketWithType(str, \"position\");\n}\nfunction cssvar(str) {\n if (/^\\$[^\\s'\"`;{}]/.test(str)) {\n const [name, defaultValue] = str.slice(1).split(\",\");\n return `var(--${escapeSelector(name)}${defaultValue ? `, ${defaultValue}` : \"\"})`;\n }\n}\nfunction time(str) {\n const match = str.match(/^(-?[0-9.]+)(s|ms)?$/i);\n if (!match)\n return;\n const [, n, unit] = match;\n const num = Number.parseFloat(n);\n if (!Number.isNaN(num)) {\n if (num === 0 && !unit)\n return \"0s\";\n return unit ? `${round(num)}${unit}` : `${round(num)}ms`;\n }\n}\nfunction degree(str) {\n const match = str.match(/^(-?[0-9.]+)(deg|rad|grad|turn)?$/i);\n if (!match)\n return;\n const [, n, unit] = match;\n const num = Number.parseFloat(n);\n if (!Number.isNaN(num)) {\n if (num === 0)\n return \"0\";\n return unit ? `${round(num)}${unit}` : `${round(num)}deg`;\n }\n}\nfunction global(str) {\n if (globalKeywords.includes(str))\n return str;\n}\nfunction properties(str) {\n if (str.split(\",\").every((prop) => cssProps.includes(prop)))\n return str;\n}\nfunction position(str) {\n if ([\"top\", \"left\", \"right\", \"bottom\", \"center\"].includes(str))\n return str;\n}\n\nconst valueHandlers = {\n __proto__: null,\n auto: auto,\n bracket: bracket,\n bracketOfColor: bracketOfColor,\n bracketOfLength: bracketOfLength,\n bracketOfPosition: bracketOfPosition,\n cssvar: cssvar,\n degree: degree,\n fraction: fraction,\n global: global,\n number: number,\n numberWithUnit: numberWithUnit,\n percent: percent,\n position: position,\n properties: properties,\n px: px,\n rem: rem,\n time: time\n};\n\nconst handler = createValueHandler(valueHandlers);\nconst h = handler;\n\nconst CONTROL_MINI_NO_NEGATIVE = \"$$mini-no-negative\";\nfunction directionSize(propertyPrefix) {\n return ([_, direction, size], { theme }) => {\n const v = theme.spacing?.[size || \"DEFAULT\"] ?? h.bracket.cssvar.global.auto.fraction.rem(size);\n if (v != null) {\n return directionMap[direction].map((i) => [`${propertyPrefix}${i}`, v]);\n } else if (size?.startsWith(\"-\")) {\n const v2 = theme.spacing?.[size.slice(1)];\n if (v2 != null)\n return directionMap[direction].map((i) => [`${propertyPrefix}${i}`, `calc(${v2} * -1)`]);\n }\n };\n}\nfunction getThemeColorForKey(theme, colors, key = \"colors\") {\n let obj = theme[key];\n let index = -1;\n for (const c of colors) {\n index += 1;\n if (obj && typeof obj !== \"string\") {\n const camel = colors.slice(index).join(\"-\").replace(/(-[a-z])/g, (n) => n.slice(1).toUpperCase());\n if (obj[camel])\n return obj[camel];\n if (obj[c]) {\n obj = obj[c];\n continue;\n }\n }\n return void 0;\n }\n return obj;\n}\nfunction getThemeColor(theme, colors, key) {\n return getThemeColorForKey(theme, colors, key) || getThemeColorForKey(theme, colors, \"colors\");\n}\nfunction splitShorthand(body, type) {\n const [front, rest] = getStringComponent(body, \"[\", \"]\", [\"/\", \":\"]) ?? [];\n if (front != null) {\n const match = (front.match(bracketTypeRe) ?? [])[1];\n if (match == null || match === type)\n return [front, rest];\n }\n}\nfunction parseColor(body, theme, key) {\n const split = splitShorthand(body, \"color\");\n if (!split)\n return;\n const [main, opacity] = split;\n const colors = main.replace(/([a-z])(\\d)/g, \"$1-$2\").split(/-/g);\n const [name] = colors;\n if (!name)\n return;\n let color;\n const bracket = h.bracketOfColor(main);\n const bracketOrMain = bracket || main;\n if (h.numberWithUnit(bracketOrMain))\n return;\n if (/^#[\\da-f]+$/i.test(bracketOrMain))\n color = bracketOrMain;\n else if (/^hex-[\\da-fA-F]+$/.test(bracketOrMain))\n color = `#${bracketOrMain.slice(4)}`;\n else if (main.startsWith(\"$\"))\n color = h.cssvar(main);\n color = color || bracket;\n if (!color) {\n const colorData = getThemeColor(theme, [main], key);\n if (typeof colorData === \"string\")\n color = colorData;\n }\n let no = \"DEFAULT\";\n if (!color) {\n let colorData;\n const [scale] = colors.slice(-1);\n if (/^\\d+$/.test(scale)) {\n no = scale;\n colorData = getThemeColor(theme, colors.slice(0, -1), key);\n if (!colorData || typeof colorData === \"string\")\n color = void 0;\n else\n color = colorData[no];\n } else {\n colorData = getThemeColor(theme, colors, key);\n if (!colorData && colors.length <= 2) {\n [, no = no] = colors;\n colorData = getThemeColor(theme, [name], key);\n }\n if (typeof colorData === \"string\")\n color = colorData;\n else if (no && colorData)\n color = colorData[no];\n }\n }\n return {\n opacity,\n name,\n no,\n color,\n cssColor: parseCssColor(color),\n alpha: h.bracket.cssvar.percent(opacity ?? \"\")\n };\n}\nfunction colorResolver(property, varName, key, shouldPass) {\n return ([, body], { theme }) => {\n const data = parseColor(body, theme, key);\n if (!data)\n return;\n const { alpha, color, cssColor } = data;\n const css = {};\n if (cssColor) {\n if (alpha != null) {\n css[property] = colorToString(cssColor, alpha);\n } else {\n const opacityVar = `--un-${varName}-opacity`;\n const result = colorToString(cssColor, `var(${opacityVar})`);\n if (result.includes(opacityVar))\n css[opacityVar] = colorOpacityToString(cssColor);\n css[property] = result;\n }\n } else if (color) {\n if (alpha != null) {\n css[property] = colorToString(color, alpha);\n } else {\n const opacityVar = `--un-${varName}-opacity`;\n const result = colorToString(color, `var(${opacityVar})`);\n if (result.includes(opacityVar))\n css[opacityVar] = 1;\n css[property] = result;\n }\n }\n if (shouldPass?.(css) !== false)\n return css;\n };\n}\nfunction colorableShadows(shadows, colorVar) {\n const colored = [];\n shadows = toArray(shadows);\n for (let i = 0; i < shadows.length; i++) {\n const components = getStringComponents(shadows[i], \" \", 6);\n if (!components || components.length < 3)\n return shadows;\n let isInset = false;\n const pos = components.indexOf(\"inset\");\n if (pos !== -1) {\n components.splice(pos, 1);\n isInset = true;\n }\n let colorVarValue = \"\";\n if (parseCssColor(components.at(0))) {\n const color = parseCssColor(components.shift());\n if (color)\n colorVarValue = `, ${colorToString(color)}`;\n } else if (parseCssColor(components.at(-1))) {\n const color = parseCssColor(components.pop());\n if (color)\n colorVarValue = `, ${colorToString(color)}`;\n }\n colored.push(`${isInset ? \"inset \" : \"\"}${components.join(\" \")} var(${colorVar}${colorVarValue})`);\n }\n return colored;\n}\nfunction hasParseableColor(color, theme, key) {\n return color != null && !!parseColor(color, theme, key)?.color;\n}\nconst reLetters = /[a-z]+/gi;\nconst resolvedBreakpoints = /* @__PURE__ */ new WeakMap();\nfunction resolveBreakpoints({ theme, generator }, key = \"breakpoints\") {\n const breakpoints = generator?.userConfig?.theme?.[key] || theme[key];\n if (!breakpoints)\n return void 0;\n if (resolvedBreakpoints.has(theme))\n return resolvedBreakpoints.get(theme);\n const resolved = Object.entries(breakpoints).sort((a, b) => Number.parseInt(a[1].replace(reLetters, \"\")) - Number.parseInt(b[1].replace(reLetters, \"\"))).map(([point, size]) => ({ point, size }));\n resolvedBreakpoints.set(theme, resolved);\n return resolved;\n}\nfunction resolveVerticalBreakpoints(context) {\n return resolveBreakpoints(context, \"verticalBreakpoints\");\n}\nfunction makeGlobalStaticRules(prefix, property) {\n return globalKeywords.map((keyword) => [`${prefix}-${keyword}`, { [property ?? prefix]: keyword }]);\n}\nfunction isCSSMathFn(value) {\n return value != null && cssMathFnRE.test(value);\n}\nfunction isSize(str) {\n if (str[0] === \"[\" && str.slice(-1) === \"]\")\n str = str.slice(1, -1);\n return cssMathFnRE.test(str) || numberWithUnitRE.test(str);\n}\nfunction transformXYZ(d, v, name) {\n const values = v.split(splitComma);\n if (d || !d && values.length === 1)\n return xyzMap[d].map((i) => [`--un-${name}${i}`, v]);\n return values.map((v2, i) => [`--un-${name}-${xyzArray[i]}`, v2]);\n}\n\nexport { CONTROL_MINI_NO_NEGATIVE as C, xyzArray as a, cssMathFnRE as b, cornerMap as c, directionMap as d, cssVarFnRE as e, h as f, globalKeywords as g, handler as h, insetMap as i, directionSize as j, parseColor as k, colorResolver as l, colorableShadows as m, hasParseableColor as n, resolveVerticalBreakpoints as o, positionMap as p, makeGlobalStaticRules as q, resolveBreakpoints as r, splitShorthand as s, isCSSMathFn as t, isSize as u, valueHandlers as v, transformXYZ as w, xyzMap as x };\n",
|
|
10
|
+
"const colors = {\n inherit: \"inherit\",\n current: \"currentColor\",\n transparent: \"transparent\",\n black: \"#000\",\n white: \"#fff\",\n rose: {\n 50: \"#fff1f2\",\n 100: \"#ffe4e6\",\n 200: \"#fecdd3\",\n 300: \"#fda4af\",\n 400: \"#fb7185\",\n 500: \"#f43f5e\",\n 600: \"#e11d48\",\n 700: \"#be123c\",\n 800: \"#9f1239\",\n 900: \"#881337\",\n 950: \"#4c0519\"\n },\n pink: {\n 50: \"#fdf2f8\",\n 100: \"#fce7f3\",\n 200: \"#fbcfe8\",\n 300: \"#f9a8d4\",\n 400: \"#f472b6\",\n 500: \"#ec4899\",\n 600: \"#db2777\",\n 700: \"#be185d\",\n 800: \"#9d174d\",\n 900: \"#831843\",\n 950: \"#500724\"\n },\n fuchsia: {\n 50: \"#fdf4ff\",\n 100: \"#fae8ff\",\n 200: \"#f5d0fe\",\n 300: \"#f0abfc\",\n 400: \"#e879f9\",\n 500: \"#d946ef\",\n 600: \"#c026d3\",\n 700: \"#a21caf\",\n 800: \"#86198f\",\n 900: \"#701a75\",\n 950: \"#4a044e\"\n },\n purple: {\n 50: \"#faf5ff\",\n 100: \"#f3e8ff\",\n 200: \"#e9d5ff\",\n 300: \"#d8b4fe\",\n 400: \"#c084fc\",\n 500: \"#a855f7\",\n 600: \"#9333ea\",\n 700: \"#7e22ce\",\n 800: \"#6b21a8\",\n 900: \"#581c87\",\n 950: \"#3b0764\"\n },\n violet: {\n 50: \"#f5f3ff\",\n 100: \"#ede9fe\",\n 200: \"#ddd6fe\",\n 300: \"#c4b5fd\",\n 400: \"#a78bfa\",\n 500: \"#8b5cf6\",\n 600: \"#7c3aed\",\n 700: \"#6d28d9\",\n 800: \"#5b21b6\",\n 900: \"#4c1d95\",\n 950: \"#2e1065\"\n },\n indigo: {\n 50: \"#eef2ff\",\n 100: \"#e0e7ff\",\n 200: \"#c7d2fe\",\n 300: \"#a5b4fc\",\n 400: \"#818cf8\",\n 500: \"#6366f1\",\n 600: \"#4f46e5\",\n 700: \"#4338ca\",\n 800: \"#3730a3\",\n 900: \"#312e81\",\n 950: \"#1e1b4b\"\n },\n blue: {\n 50: \"#eff6ff\",\n 100: \"#dbeafe\",\n 200: \"#bfdbfe\",\n 300: \"#93c5fd\",\n 400: \"#60a5fa\",\n 500: \"#3b82f6\",\n 600: \"#2563eb\",\n 700: \"#1d4ed8\",\n 800: \"#1e40af\",\n 900: \"#1e3a8a\",\n 950: \"#172554\"\n },\n sky: {\n 50: \"#f0f9ff\",\n 100: \"#e0f2fe\",\n 200: \"#bae6fd\",\n 300: \"#7dd3fc\",\n 400: \"#38bdf8\",\n 500: \"#0ea5e9\",\n 600: \"#0284c7\",\n 700: \"#0369a1\",\n 800: \"#075985\",\n 900: \"#0c4a6e\",\n 950: \"#082f49\"\n },\n cyan: {\n 50: \"#ecfeff\",\n 100: \"#cffafe\",\n 200: \"#a5f3fc\",\n 300: \"#67e8f9\",\n 400: \"#22d3ee\",\n 500: \"#06b6d4\",\n 600: \"#0891b2\",\n 700: \"#0e7490\",\n 800: \"#155e75\",\n 900: \"#164e63\",\n 950: \"#083344\"\n },\n teal: {\n 50: \"#f0fdfa\",\n 100: \"#ccfbf1\",\n 200: \"#99f6e4\",\n 300: \"#5eead4\",\n 400: \"#2dd4bf\",\n 500: \"#14b8a6\",\n 600: \"#0d9488\",\n 700: \"#0f766e\",\n 800: \"#115e59\",\n 900: \"#134e4a\",\n 950: \"#042f2e\"\n },\n emerald: {\n 50: \"#ecfdf5\",\n 100: \"#d1fae5\",\n 200: \"#a7f3d0\",\n 300: \"#6ee7b7\",\n 400: \"#34d399\",\n 500: \"#10b981\",\n 600: \"#059669\",\n 700: \"#047857\",\n 800: \"#065f46\",\n 900: \"#064e3b\",\n 950: \"#022c22\"\n },\n green: {\n 50: \"#f0fdf4\",\n 100: \"#dcfce7\",\n 200: \"#bbf7d0\",\n 300: \"#86efac\",\n 400: \"#4ade80\",\n 500: \"#22c55e\",\n 600: \"#16a34a\",\n 700: \"#15803d\",\n 800: \"#166534\",\n 900: \"#14532d\",\n 950: \"#052e16\"\n },\n lime: {\n 50: \"#f7fee7\",\n 100: \"#ecfccb\",\n 200: \"#d9f99d\",\n 300: \"#bef264\",\n 400: \"#a3e635\",\n 500: \"#84cc16\",\n 600: \"#65a30d\",\n 700: \"#4d7c0f\",\n 800: \"#3f6212\",\n 900: \"#365314\",\n 950: \"#1a2e05\"\n },\n yellow: {\n 50: \"#fefce8\",\n 100: \"#fef9c3\",\n 200: \"#fef08a\",\n 300: \"#fde047\",\n 400: \"#facc15\",\n 500: \"#eab308\",\n 600: \"#ca8a04\",\n 700: \"#a16207\",\n 800: \"#854d0e\",\n 900: \"#713f12\",\n 950: \"#422006\"\n },\n amber: {\n 50: \"#fffbeb\",\n 100: \"#fef3c7\",\n 200: \"#fde68a\",\n 300: \"#fcd34d\",\n 400: \"#fbbf24\",\n 500: \"#f59e0b\",\n 600: \"#d97706\",\n 700: \"#b45309\",\n 800: \"#92400e\",\n 900: \"#78350f\",\n 950: \"#451a03\"\n },\n orange: {\n 50: \"#fff7ed\",\n 100: \"#ffedd5\",\n 200: \"#fed7aa\",\n 300: \"#fdba74\",\n 400: \"#fb923c\",\n 500: \"#f97316\",\n 600: \"#ea580c\",\n 700: \"#c2410c\",\n 800: \"#9a3412\",\n 900: \"#7c2d12\",\n 950: \"#431407\"\n },\n red: {\n 50: \"#fef2f2\",\n 100: \"#fee2e2\",\n 200: \"#fecaca\",\n 300: \"#fca5a5\",\n 400: \"#f87171\",\n 500: \"#ef4444\",\n 600: \"#dc2626\",\n 700: \"#b91c1c\",\n 800: \"#991b1b\",\n 900: \"#7f1d1d\",\n 950: \"#450a0a\"\n },\n gray: {\n 50: \"#f9fafb\",\n 100: \"#f3f4f6\",\n 200: \"#e5e7eb\",\n 300: \"#d1d5db\",\n 400: \"#9ca3af\",\n 500: \"#6b7280\",\n 600: \"#4b5563\",\n 700: \"#374151\",\n 800: \"#1f2937\",\n 900: \"#111827\",\n 950: \"#030712\"\n },\n slate: {\n 50: \"#f8fafc\",\n 100: \"#f1f5f9\",\n 200: \"#e2e8f0\",\n 300: \"#cbd5e1\",\n 400: \"#94a3b8\",\n 500: \"#64748b\",\n 600: \"#475569\",\n 700: \"#334155\",\n 800: \"#1e293b\",\n 900: \"#0f172a\",\n 950: \"#020617\"\n },\n zinc: {\n 50: \"#fafafa\",\n 100: \"#f4f4f5\",\n 200: \"#e4e4e7\",\n 300: \"#d4d4d8\",\n 400: \"#a1a1aa\",\n 500: \"#71717a\",\n 600: \"#52525b\",\n 700: \"#3f3f46\",\n 800: \"#27272a\",\n 900: \"#18181b\",\n 950: \"#09090b\"\n },\n neutral: {\n 50: \"#fafafa\",\n 100: \"#f5f5f5\",\n 200: \"#e5e5e5\",\n 300: \"#d4d4d4\",\n 400: \"#a3a3a3\",\n 500: \"#737373\",\n 600: \"#525252\",\n 700: \"#404040\",\n 800: \"#262626\",\n 900: \"#171717\",\n 950: \"#0a0a0a\"\n },\n stone: {\n 50: \"#fafaf9\",\n 100: \"#f5f5f4\",\n 200: \"#e7e5e4\",\n 300: \"#d6d3d1\",\n 400: \"#a8a29e\",\n 500: \"#78716c\",\n 600: \"#57534e\",\n 700: \"#44403c\",\n 800: \"#292524\",\n 900: \"#1c1917\",\n 950: \"#0c0a09\"\n },\n light: {\n 50: \"#fdfdfd\",\n 100: \"#fcfcfc\",\n 200: \"#fafafa\",\n 300: \"#f8f9fa\",\n 400: \"#f6f6f6\",\n 500: \"#f2f2f2\",\n 600: \"#f1f3f5\",\n 700: \"#e9ecef\",\n 800: \"#dee2e6\",\n 900: \"#dde1e3\",\n 950: \"#d8dcdf\"\n },\n dark: {\n 50: \"#4a4a4a\",\n 100: \"#3c3c3c\",\n 200: \"#323232\",\n 300: \"#2d2d2d\",\n 400: \"#222222\",\n 500: \"#1f1f1f\",\n 600: \"#1c1c1e\",\n 700: \"#1b1b1b\",\n 800: \"#181818\",\n 900: \"#0f0f0f\",\n 950: \"#080808\"\n },\n get lightblue() {\n return this.sky;\n },\n get lightBlue() {\n return this.sky;\n },\n get warmgray() {\n return this.stone;\n },\n get warmGray() {\n return this.stone;\n },\n get truegray() {\n return this.neutral;\n },\n get trueGray() {\n return this.neutral;\n },\n get coolgray() {\n return this.gray;\n },\n get coolGray() {\n return this.gray;\n },\n get bluegray() {\n return this.slate;\n },\n get blueGray() {\n return this.slate;\n }\n};\nObject.values(colors).forEach((color) => {\n if (typeof color !== \"string\" && color !== void 0) {\n color.DEFAULT = color.DEFAULT || color[400];\n Object.keys(color).forEach((key) => {\n const short = +key / 100;\n if (short === Math.round(short))\n color[short] = color[key];\n });\n }\n});\n\nexport { colors };\n",
|
|
11
|
+
"import { f as h, q as makeGlobalStaticRules, g as globalKeywords, l as colorResolver, t as isCSSMathFn, n as hasParseableColor, m as colorableShadows, p as positionMap, w as transformXYZ } from './preset-mini.lpdd2hsn.mjs';\n\nconst cursorValues = [\"auto\", \"default\", \"none\", \"context-menu\", \"help\", \"pointer\", \"progress\", \"wait\", \"cell\", \"crosshair\", \"text\", \"vertical-text\", \"alias\", \"copy\", \"move\", \"no-drop\", \"not-allowed\", \"grab\", \"grabbing\", \"all-scroll\", \"col-resize\", \"row-resize\", \"n-resize\", \"e-resize\", \"s-resize\", \"w-resize\", \"ne-resize\", \"nw-resize\", \"se-resize\", \"sw-resize\", \"ew-resize\", \"ns-resize\", \"nesw-resize\", \"nwse-resize\", \"zoom-in\", \"zoom-out\"];\nconst containValues = [\"none\", \"strict\", \"content\", \"size\", \"inline-size\", \"layout\", \"style\", \"paint\"];\nconst varEmpty = \" \";\nconst displays = [\n [\"inline\", { display: \"inline\" }],\n [\"block\", { display: \"block\" }],\n [\"inline-block\", { display: \"inline-block\" }],\n [\"contents\", { display: \"contents\" }],\n [\"flow-root\", { display: \"flow-root\" }],\n [\"list-item\", { display: \"list-item\" }],\n [\"hidden\", { display: \"none\" }],\n [/^display-(.+)$/, ([, c]) => ({ display: h.bracket.cssvar.global(c) })]\n];\nconst appearances = [\n [\"visible\", { visibility: \"visible\" }],\n [\"invisible\", { visibility: \"hidden\" }],\n [\"backface-visible\", { \"backface-visibility\": \"visible\" }],\n [\"backface-hidden\", { \"backface-visibility\": \"hidden\" }],\n ...makeGlobalStaticRules(\"backface\", \"backface-visibility\")\n];\nconst cursors = [\n [/^cursor-(.+)$/, ([, c]) => ({ cursor: h.bracket.cssvar.global(c) })],\n ...cursorValues.map((v) => [`cursor-${v}`, { cursor: v }])\n];\nconst contains = [\n [/^contain-(.*)$/, ([, d]) => {\n if (h.bracket(d) != null) {\n return {\n contain: h.bracket(d).split(\" \").map((e) => h.cssvar.fraction(e) ?? e).join(\" \")\n };\n }\n return containValues.includes(d) ? { contain: d } : void 0;\n }]\n];\nconst pointerEvents = [\n [\"pointer-events-auto\", { \"pointer-events\": \"auto\" }],\n [\"pointer-events-none\", { \"pointer-events\": \"none\" }],\n ...makeGlobalStaticRules(\"pointer-events\")\n];\nconst resizes = [\n [\"resize-x\", { resize: \"horizontal\" }],\n [\"resize-y\", { resize: \"vertical\" }],\n [\"resize\", { resize: \"both\" }],\n [\"resize-none\", { resize: \"none\" }],\n ...makeGlobalStaticRules(\"resize\")\n];\nconst userSelects = [\n [\"select-auto\", { \"-webkit-user-select\": \"auto\", \"user-select\": \"auto\" }],\n [\"select-all\", { \"-webkit-user-select\": \"all\", \"user-select\": \"all\" }],\n [\"select-text\", { \"-webkit-user-select\": \"text\", \"user-select\": \"text\" }],\n [\"select-none\", { \"-webkit-user-select\": \"none\", \"user-select\": \"none\" }],\n ...makeGlobalStaticRules(\"select\", \"user-select\")\n];\nconst whitespaces = [\n [\n /^(?:whitespace-|ws-)([-\\w]+)$/,\n ([, v]) => [\"normal\", \"nowrap\", \"pre\", \"pre-line\", \"pre-wrap\", \"break-spaces\", ...globalKeywords].includes(v) ? { \"white-space\": v } : void 0,\n { autocomplete: \"(whitespace|ws)-(normal|nowrap|pre|pre-line|pre-wrap|break-spaces)\" }\n ]\n];\nconst contentVisibility = [\n [/^intrinsic-size-(.+)$/, ([, d]) => ({ \"contain-intrinsic-size\": h.bracket.cssvar.global.fraction.rem(d) }), { autocomplete: \"intrinsic-size-<num>\" }],\n [\"content-visibility-visible\", { \"content-visibility\": \"visible\" }],\n [\"content-visibility-hidden\", { \"content-visibility\": \"hidden\" }],\n [\"content-visibility-auto\", { \"content-visibility\": \"auto\" }],\n ...makeGlobalStaticRules(\"content-visibility\")\n];\nconst contents = [\n [/^content-(.+)$/, ([, v]) => ({ content: h.bracket.cssvar(v) })],\n [\"content-empty\", { content: '\"\"' }],\n [\"content-none\", { content: \"none\" }]\n];\nconst breaks = [\n [\"break-normal\", { \"overflow-wrap\": \"normal\", \"word-break\": \"normal\" }],\n [\"break-words\", { \"overflow-wrap\": \"break-word\" }],\n [\"break-all\", { \"word-break\": \"break-all\" }],\n [\"break-keep\", { \"word-break\": \"keep-all\" }],\n [\"break-anywhere\", { \"overflow-wrap\": \"anywhere\" }]\n];\nconst textWraps = [\n [\"text-wrap\", { \"text-wrap\": \"wrap\" }],\n [\"text-nowrap\", { \"text-wrap\": \"nowrap\" }],\n [\"text-balance\", { \"text-wrap\": \"balance\" }],\n [\"text-pretty\", { \"text-wrap\": \"pretty\" }]\n];\nconst textOverflows = [\n [\"truncate\", { \"overflow\": \"hidden\", \"text-overflow\": \"ellipsis\", \"white-space\": \"nowrap\" }],\n [\"text-truncate\", { \"overflow\": \"hidden\", \"text-overflow\": \"ellipsis\", \"white-space\": \"nowrap\" }],\n [\"text-ellipsis\", { \"text-overflow\": \"ellipsis\" }],\n [\"text-clip\", { \"text-overflow\": \"clip\" }]\n];\nconst textTransforms = [\n [\"case-upper\", { \"text-transform\": \"uppercase\" }],\n [\"case-lower\", { \"text-transform\": \"lowercase\" }],\n [\"case-capital\", { \"text-transform\": \"capitalize\" }],\n [\"case-normal\", { \"text-transform\": \"none\" }],\n ...makeGlobalStaticRules(\"case\", \"text-transform\")\n];\nconst fontStyles = [\n [\"italic\", { \"font-style\": \"italic\" }],\n [\"not-italic\", { \"font-style\": \"normal\" }],\n [\"font-italic\", { \"font-style\": \"italic\" }],\n [\"font-not-italic\", { \"font-style\": \"normal\" }],\n [\"oblique\", { \"font-style\": \"oblique\" }],\n [\"not-oblique\", { \"font-style\": \"normal\" }],\n [\"font-oblique\", { \"font-style\": \"oblique\" }],\n [\"font-not-oblique\", { \"font-style\": \"normal\" }]\n];\nconst fontSmoothings = [\n [\"antialiased\", {\n \"-webkit-font-smoothing\": \"antialiased\",\n \"-moz-osx-font-smoothing\": \"grayscale\"\n }],\n [\"subpixel-antialiased\", {\n \"-webkit-font-smoothing\": \"auto\",\n \"-moz-osx-font-smoothing\": \"auto\"\n }]\n];\n\nconst ringBase = {\n \"--un-ring-inset\": varEmpty,\n \"--un-ring-offset-width\": \"0px\",\n \"--un-ring-offset-color\": \"#fff\",\n \"--un-ring-width\": \"0px\",\n \"--un-ring-color\": \"rgb(147 197 253 / 0.5)\",\n \"--un-shadow\": \"0 0 rgb(0 0 0 / 0)\"\n};\nconst rings = [\n // ring\n [/^ring(?:-(.+))?$/, ([, d], { theme }) => {\n const value = theme.ringWidth?.[d || \"DEFAULT\"] ?? h.px(d || \"1\");\n if (value) {\n return {\n \"--un-ring-width\": value,\n \"--un-ring-offset-shadow\": \"var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color)\",\n \"--un-ring-shadow\": \"var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color)\",\n \"box-shadow\": \"var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)\"\n };\n }\n }, { autocomplete: \"ring-$ringWidth\" }],\n // size\n [/^ring-(?:width-|size-)(.+)$/, handleWidth, { autocomplete: \"ring-(width|size)-$lineWidth\" }],\n // offset size\n [\"ring-offset\", { \"--un-ring-offset-width\": \"1px\" }],\n [/^ring-offset-(?:width-|size-)?(.+)$/, ([, d], { theme }) => ({ \"--un-ring-offset-width\": theme.lineWidth?.[d] ?? h.bracket.cssvar.px(d) }), { autocomplete: \"ring-offset-(width|size)-$lineWidth\" }],\n // colors\n [/^ring-(.+)$/, handleColorOrWidth, { autocomplete: \"ring-$colors\" }],\n [/^ring-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ \"--un-ring-opacity\": h.bracket.percent.cssvar(opacity) }), { autocomplete: \"ring-(op|opacity)-<percent>\" }],\n // offset color\n [/^ring-offset-(.+)$/, colorResolver(\"--un-ring-offset-color\", \"ring-offset\", \"borderColor\"), { autocomplete: \"ring-offset-$colors\" }],\n [/^ring-offset-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ \"--un-ring-offset-opacity\": h.bracket.percent.cssvar(opacity) }), { autocomplete: \"ring-offset-(op|opacity)-<percent>\" }],\n // style\n [\"ring-inset\", { \"--un-ring-inset\": \"inset\" }]\n];\nfunction handleWidth([, b], { theme }) {\n return { \"--un-ring-width\": theme.ringWidth?.[b] ?? h.bracket.cssvar.px(b) };\n}\nfunction handleColorOrWidth(match, ctx) {\n if (isCSSMathFn(h.bracket(match[1])))\n return handleWidth(match, ctx);\n return colorResolver(\"--un-ring-color\", \"ring\", \"borderColor\")(match, ctx);\n}\n\nconst boxShadowsBase = {\n \"--un-ring-offset-shadow\": \"0 0 rgb(0 0 0 / 0)\",\n \"--un-ring-shadow\": \"0 0 rgb(0 0 0 / 0)\",\n \"--un-shadow-inset\": varEmpty,\n \"--un-shadow\": \"0 0 rgb(0 0 0 / 0)\"\n};\nconst boxShadows = [\n // color\n [/^shadow(?:-(.+))?$/, (match, context) => {\n const [, d] = match;\n const { theme } = context;\n const v = theme.boxShadow?.[d || \"DEFAULT\"];\n const c = d ? h.bracket.cssvar(d) : void 0;\n if ((v != null || c != null) && !hasParseableColor(c, theme, \"shadowColor\")) {\n return {\n \"--un-shadow\": colorableShadows(v || c, \"--un-shadow-color\").join(\",\"),\n \"box-shadow\": \"var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)\"\n };\n }\n return colorResolver(\"--un-shadow-color\", \"shadow\", \"shadowColor\")(match, context);\n }, { autocomplete: [\"shadow-$colors\", \"shadow-$boxShadow\"] }],\n [/^shadow-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ \"--un-shadow-opacity\": h.bracket.percent.cssvar(opacity) }), { autocomplete: \"shadow-(op|opacity)-<percent>\" }],\n // inset\n [\"shadow-inset\", { \"--un-shadow-inset\": \"inset\" }]\n];\n\nconst transformValues = [\n \"translate\",\n \"rotate\",\n \"scale\"\n];\nconst transformCpu = [\n \"translateX(var(--un-translate-x))\",\n \"translateY(var(--un-translate-y))\",\n // 'translateZ(var(--un-translate-z))',\n \"rotate(var(--un-rotate))\",\n \"rotateX(var(--un-rotate-x))\",\n \"rotateY(var(--un-rotate-y))\",\n \"rotateZ(var(--un-rotate-z))\",\n \"skewX(var(--un-skew-x))\",\n \"skewY(var(--un-skew-y))\",\n \"scaleX(var(--un-scale-x))\",\n \"scaleY(var(--un-scale-y))\"\n // 'scaleZ(var(--un-scale-z))',\n].join(\" \");\nconst transform = [\n \"translateX(var(--un-translate-x))\",\n \"translateY(var(--un-translate-y))\",\n \"translateZ(var(--un-translate-z))\",\n \"rotate(var(--un-rotate))\",\n \"rotateX(var(--un-rotate-x))\",\n \"rotateY(var(--un-rotate-y))\",\n \"rotateZ(var(--un-rotate-z))\",\n \"skewX(var(--un-skew-x))\",\n \"skewY(var(--un-skew-y))\",\n \"scaleX(var(--un-scale-x))\",\n \"scaleY(var(--un-scale-y))\",\n \"scaleZ(var(--un-scale-z))\"\n].join(\" \");\nconst transformGpu = [\n \"translate3d(var(--un-translate-x), var(--un-translate-y), var(--un-translate-z))\",\n \"rotate(var(--un-rotate))\",\n \"rotateX(var(--un-rotate-x))\",\n \"rotateY(var(--un-rotate-y))\",\n \"rotateZ(var(--un-rotate-z))\",\n \"skewX(var(--un-skew-x))\",\n \"skewY(var(--un-skew-y))\",\n \"scaleX(var(--un-scale-x))\",\n \"scaleY(var(--un-scale-y))\",\n \"scaleZ(var(--un-scale-z))\"\n].join(\" \");\nconst transformBase = {\n // transform\n \"--un-rotate\": 0,\n \"--un-rotate-x\": 0,\n \"--un-rotate-y\": 0,\n \"--un-rotate-z\": 0,\n \"--un-scale-x\": 1,\n \"--un-scale-y\": 1,\n \"--un-scale-z\": 1,\n \"--un-skew-x\": 0,\n \"--un-skew-y\": 0,\n \"--un-translate-x\": 0,\n \"--un-translate-y\": 0,\n \"--un-translate-z\": 0\n};\nconst transforms = [\n // origins\n [/^(?:transform-)?origin-(.+)$/, ([, s]) => ({ \"transform-origin\": positionMap[s] ?? h.bracket.cssvar(s) }), { autocomplete: [`transform-origin-(${Object.keys(positionMap).join(\"|\")})`, `origin-(${Object.keys(positionMap).join(\"|\")})`] }],\n // perspectives\n [/^(?:transform-)?perspect(?:ive)?-(.+)$/, ([, s]) => {\n const v = h.bracket.cssvar.px.numberWithUnit(s);\n if (v != null) {\n return {\n \"-webkit-perspective\": v,\n \"perspective\": v\n };\n }\n }],\n // skip 1 & 2 letters shortcut\n [/^(?:transform-)?perspect(?:ive)?-origin-(.+)$/, ([, s]) => {\n const v = h.bracket.cssvar(s) ?? (s.length >= 3 ? positionMap[s] : void 0);\n if (v != null) {\n return {\n \"-webkit-perspective-origin\": v,\n \"perspective-origin\": v\n };\n }\n }],\n // modifiers\n [/^(?:transform-)?translate-()(.+)$/, handleTranslate],\n [/^(?:transform-)?translate-([xyz])-(.+)$/, handleTranslate],\n [/^(?:transform-)?rotate-()(.+)$/, handleRotate],\n [/^(?:transform-)?rotate-([xyz])-(.+)$/, handleRotate],\n [/^(?:transform-)?skew-()(.+)$/, handleSkew],\n [/^(?:transform-)?skew-([xy])-(.+)$/, handleSkew, { autocomplete: [\"transform-skew-(x|y)-<percent>\", \"skew-(x|y)-<percent>\"] }],\n [/^(?:transform-)?scale-()(.+)$/, handleScale],\n [/^(?:transform-)?scale-([xyz])-(.+)$/, handleScale, { autocomplete: [`transform-(${transformValues.join(\"|\")})-<percent>`, `transform-(${transformValues.join(\"|\")})-(x|y|z)-<percent>`, `(${transformValues.join(\"|\")})-<percent>`, `(${transformValues.join(\"|\")})-(x|y|z)-<percent>`] }],\n // style\n [/^(?:transform-)?preserve-3d$/, () => ({ \"transform-style\": \"preserve-3d\" })],\n [/^(?:transform-)?preserve-flat$/, () => ({ \"transform-style\": \"flat\" })],\n // base\n [\"transform\", { transform }],\n [\"transform-cpu\", { transform: transformCpu }],\n [\"transform-gpu\", { transform: transformGpu }],\n [\"transform-none\", { transform: \"none\" }],\n ...makeGlobalStaticRules(\"transform\")\n];\nfunction handleTranslate([, d, b], { theme }) {\n const v = theme.spacing?.[b] ?? h.bracket.cssvar.fraction.rem(b);\n if (v != null) {\n return [\n ...transformXYZ(d, v, \"translate\"),\n [\"transform\", transform]\n ];\n }\n}\nfunction handleScale([, d, b]) {\n const v = h.bracket.cssvar.fraction.percent(b);\n if (v != null) {\n return [\n ...transformXYZ(d, v, \"scale\"),\n [\"transform\", transform]\n ];\n }\n}\nfunction handleRotate([, d = \"\", b]) {\n const v = h.bracket.cssvar.degree(b);\n if (v != null) {\n if (d) {\n return {\n \"--un-rotate\": 0,\n [`--un-rotate-${d}`]: v,\n \"transform\": transform\n };\n } else {\n return {\n \"--un-rotate-x\": 0,\n \"--un-rotate-y\": 0,\n \"--un-rotate-z\": 0,\n \"--un-rotate\": v,\n \"transform\": transform\n };\n }\n }\n}\nfunction handleSkew([, d, b]) {\n const v = h.bracket.cssvar.degree(b);\n if (v != null) {\n return [\n ...transformXYZ(d, v, \"skew\"),\n [\"transform\", transform]\n ];\n }\n}\n\nexport { rings as a, boxShadowsBase as b, boxShadows as c, displays as d, appearances as e, cursors as f, contains as g, resizes as h, contentVisibility as i, contents as j, breaks as k, textOverflows as l, textTransforms as m, fontStyles as n, fontSmoothings as o, pointerEvents as p, transformBase as q, ringBase as r, transforms as s, textWraps as t, userSelects as u, varEmpty as v, whitespaces as w };\n",
|
|
12
|
+
"import { colors } from '../colors.mjs';\nimport { q as transformBase, b as boxShadowsBase, r as ringBase } from './preset-mini.D0XQxeT8.mjs';\n\nconst fontFamily = {\n sans: [\n \"ui-sans-serif\",\n \"system-ui\",\n \"-apple-system\",\n \"BlinkMacSystemFont\",\n '\"Segoe UI\"',\n \"Roboto\",\n '\"Helvetica Neue\"',\n \"Arial\",\n '\"Noto Sans\"',\n \"sans-serif\",\n '\"Apple Color Emoji\"',\n '\"Segoe UI Emoji\"',\n '\"Segoe UI Symbol\"',\n '\"Noto Color Emoji\"'\n ].join(\",\"),\n serif: [\n \"ui-serif\",\n \"Georgia\",\n \"Cambria\",\n '\"Times New Roman\"',\n \"Times\",\n \"serif\"\n ].join(\",\"),\n mono: [\n \"ui-monospace\",\n \"SFMono-Regular\",\n \"Menlo\",\n \"Monaco\",\n \"Consolas\",\n '\"Liberation Mono\"',\n '\"Courier New\"',\n \"monospace\"\n ].join(\",\")\n};\nconst fontSize = {\n \"xs\": [\"0.75rem\", \"1rem\"],\n \"sm\": [\"0.875rem\", \"1.25rem\"],\n \"base\": [\"1rem\", \"1.5rem\"],\n \"lg\": [\"1.125rem\", \"1.75rem\"],\n \"xl\": [\"1.25rem\", \"1.75rem\"],\n \"2xl\": [\"1.5rem\", \"2rem\"],\n \"3xl\": [\"1.875rem\", \"2.25rem\"],\n \"4xl\": [\"2.25rem\", \"2.5rem\"],\n \"5xl\": [\"3rem\", \"1\"],\n \"6xl\": [\"3.75rem\", \"1\"],\n \"7xl\": [\"4.5rem\", \"1\"],\n \"8xl\": [\"6rem\", \"1\"],\n \"9xl\": [\"8rem\", \"1\"]\n};\nconst textIndent = {\n \"DEFAULT\": \"1.5rem\",\n \"xs\": \"0.5rem\",\n \"sm\": \"1rem\",\n \"md\": \"1.5rem\",\n \"lg\": \"2rem\",\n \"xl\": \"2.5rem\",\n \"2xl\": \"3rem\",\n \"3xl\": \"4rem\"\n};\nconst textStrokeWidth = {\n DEFAULT: \"1.5rem\",\n none: \"0\",\n sm: \"thin\",\n md: \"medium\",\n lg: \"thick\"\n};\nconst textShadow = {\n DEFAULT: [\"0 0 1px rgb(0 0 0 / 0.2)\", \"0 0 1px rgb(1 0 5 / 0.1)\"],\n none: \"0 0 rgb(0 0 0 / 0)\",\n sm: \"1px 1px 3px rgb(36 37 47 / 0.25)\",\n md: [\"0 1px 2px rgb(30 29 39 / 0.19)\", \"1px 2px 4px rgb(54 64 147 / 0.18)\"],\n lg: [\"3px 3px 6px rgb(0 0 0 / 0.26)\", \"0 0 5px rgb(15 3 86 / 0.22)\"],\n xl: [\"1px 1px 3px rgb(0 0 0 / 0.29)\", \"2px 4px 7px rgb(73 64 125 / 0.35)\"]\n};\nconst lineHeight = {\n none: \"1\",\n tight: \"1.25\",\n snug: \"1.375\",\n normal: \"1.5\",\n relaxed: \"1.625\",\n loose: \"2\"\n};\nconst letterSpacing = {\n tighter: \"-0.05em\",\n tight: \"-0.025em\",\n normal: \"0em\",\n wide: \"0.025em\",\n wider: \"0.05em\",\n widest: \"0.1em\"\n};\nconst fontWeight = {\n thin: \"100\",\n extralight: \"200\",\n light: \"300\",\n normal: \"400\",\n medium: \"500\",\n semibold: \"600\",\n bold: \"700\",\n extrabold: \"800\",\n black: \"900\"\n // int[0, 900] -> int\n};\nconst wordSpacing = letterSpacing;\n\nconst breakpoints = {\n \"sm\": \"640px\",\n \"md\": \"768px\",\n \"lg\": \"1024px\",\n \"xl\": \"1280px\",\n \"2xl\": \"1536px\"\n};\nconst verticalBreakpoints = { ...breakpoints };\nconst lineWidth = {\n DEFAULT: \"1px\",\n none: \"0\"\n};\nconst spacing = {\n \"DEFAULT\": \"1rem\",\n \"none\": \"0\",\n \"xs\": \"0.75rem\",\n \"sm\": \"0.875rem\",\n \"lg\": \"1.125rem\",\n \"xl\": \"1.25rem\",\n \"2xl\": \"1.5rem\",\n \"3xl\": \"1.875rem\",\n \"4xl\": \"2.25rem\",\n \"5xl\": \"3rem\",\n \"6xl\": \"3.75rem\",\n \"7xl\": \"4.5rem\",\n \"8xl\": \"6rem\",\n \"9xl\": \"8rem\"\n};\nconst duration = {\n DEFAULT: \"150ms\",\n none: \"0s\",\n 75: \"75ms\",\n 100: \"100ms\",\n 150: \"150ms\",\n 200: \"200ms\",\n 300: \"300ms\",\n 500: \"500ms\",\n 700: \"700ms\",\n 1e3: \"1000ms\"\n};\nconst borderRadius = {\n \"DEFAULT\": \"0.25rem\",\n \"none\": \"0\",\n \"sm\": \"0.125rem\",\n \"md\": \"0.375rem\",\n \"lg\": \"0.5rem\",\n \"xl\": \"0.75rem\",\n \"2xl\": \"1rem\",\n \"3xl\": \"1.5rem\",\n \"full\": \"9999px\"\n};\nconst boxShadow = {\n \"DEFAULT\": [\"var(--un-shadow-inset) 0 1px 3px 0 rgb(0 0 0 / 0.1)\", \"var(--un-shadow-inset) 0 1px 2px -1px rgb(0 0 0 / 0.1)\"],\n \"none\": \"0 0 rgb(0 0 0 / 0)\",\n \"sm\": \"var(--un-shadow-inset) 0 1px 2px 0 rgb(0 0 0 / 0.05)\",\n \"md\": [\"var(--un-shadow-inset) 0 4px 6px -1px rgb(0 0 0 / 0.1)\", \"var(--un-shadow-inset) 0 2px 4px -2px rgb(0 0 0 / 0.1)\"],\n \"lg\": [\"var(--un-shadow-inset) 0 10px 15px -3px rgb(0 0 0 / 0.1)\", \"var(--un-shadow-inset) 0 4px 6px -4px rgb(0 0 0 / 0.1)\"],\n \"xl\": [\"var(--un-shadow-inset) 0 20px 25px -5px rgb(0 0 0 / 0.1)\", \"var(--un-shadow-inset) 0 8px 10px -6px rgb(0 0 0 / 0.1)\"],\n \"2xl\": \"var(--un-shadow-inset) 0 25px 50px -12px rgb(0 0 0 / 0.25)\",\n \"inner\": \"inset 0 2px 4px 0 rgb(0 0 0 / 0.05)\"\n};\nconst easing = {\n \"DEFAULT\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"linear\": \"linear\",\n \"in\": \"cubic-bezier(0.4, 0, 1, 1)\",\n \"out\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"in-out\": \"cubic-bezier(0.4, 0, 0.2, 1)\"\n};\nconst ringWidth = {\n DEFAULT: \"3px\",\n none: \"0\"\n};\nconst zIndex = {\n auto: \"auto\"\n};\nconst media = {\n mouse: \"(hover) and (pointer: fine)\"\n};\n\nconst blur = {\n \"DEFAULT\": \"8px\",\n \"0\": \"0\",\n \"sm\": \"4px\",\n \"md\": \"12px\",\n \"lg\": \"16px\",\n \"xl\": \"24px\",\n \"2xl\": \"40px\",\n \"3xl\": \"64px\"\n};\nconst dropShadow = {\n \"DEFAULT\": [\"0 1px 2px rgb(0 0 0 / 0.1)\", \"0 1px 1px rgb(0 0 0 / 0.06)\"],\n \"sm\": \"0 1px 1px rgb(0 0 0 / 0.05)\",\n \"md\": [\"0 4px 3px rgb(0 0 0 / 0.07)\", \"0 2px 2px rgb(0 0 0 / 0.06)\"],\n \"lg\": [\"0 10px 8px rgb(0 0 0 / 0.04)\", \"0 4px 3px rgb(0 0 0 / 0.1)\"],\n \"xl\": [\"0 20px 13px rgb(0 0 0 / 0.03)\", \"0 8px 5px rgb(0 0 0 / 0.08)\"],\n \"2xl\": \"0 25px 25px rgb(0 0 0 / 0.15)\",\n \"none\": \"0 0 rgb(0 0 0 / 0)\"\n};\n\nconst baseSize = {\n \"xs\": \"20rem\",\n \"sm\": \"24rem\",\n \"md\": \"28rem\",\n \"lg\": \"32rem\",\n \"xl\": \"36rem\",\n \"2xl\": \"42rem\",\n \"3xl\": \"48rem\",\n \"4xl\": \"56rem\",\n \"5xl\": \"64rem\",\n \"6xl\": \"72rem\",\n \"7xl\": \"80rem\",\n \"prose\": \"65ch\"\n};\nconst width = {\n auto: \"auto\",\n ...baseSize,\n screen: \"100vw\"\n};\nconst maxWidth = {\n none: \"none\",\n ...baseSize,\n screen: \"100vw\"\n};\nconst height = {\n auto: \"auto\",\n ...baseSize,\n screen: \"100vh\"\n};\nconst maxHeight = {\n none: \"none\",\n ...baseSize,\n screen: \"100vh\"\n};\nconst containers = Object.fromEntries(Object.entries(baseSize).map(([k, v]) => [k, `(min-width: ${v})`]));\n\nconst preflightBase = {\n ...transformBase,\n ...boxShadowsBase,\n ...ringBase\n};\n\nconst theme = {\n width,\n height,\n maxWidth,\n maxHeight,\n minWidth: maxWidth,\n minHeight: maxHeight,\n inlineSize: width,\n blockSize: height,\n maxInlineSize: maxWidth,\n maxBlockSize: maxHeight,\n minInlineSize: maxWidth,\n minBlockSize: maxHeight,\n colors,\n fontFamily,\n fontSize,\n fontWeight,\n breakpoints,\n verticalBreakpoints,\n borderRadius,\n lineHeight,\n letterSpacing,\n wordSpacing,\n boxShadow,\n textIndent,\n textShadow,\n textStrokeWidth,\n blur,\n dropShadow,\n easing,\n lineWidth,\n spacing,\n duration,\n ringWidth,\n preflightBase,\n containers,\n zIndex,\n media\n};\n\nexport { maxWidth as A, height as B, maxHeight as C, containers as D, fontSize as a, blur as b, textIndent as c, dropShadow as d, textStrokeWidth as e, fontFamily as f, textShadow as g, letterSpacing as h, fontWeight as i, breakpoints as j, lineWidth as k, lineHeight as l, duration as m, borderRadius as n, boxShadow as o, easing as p, media as q, ringWidth as r, spacing as s, theme as t, preflightBase as u, verticalBreakpoints as v, wordSpacing as w, baseSize as x, width as y, zIndex as z };\n",
|
|
13
|
+
"import { g as globalKeywords, f as h, t as isCSSMathFn, l as colorResolver, d as directionMap, n as hasParseableColor, c as cornerMap, k as parseColor, u as isSize, q as makeGlobalStaticRules, m as colorableShadows, s as splitShorthand, i as insetMap, r as resolveBreakpoints, j as directionSize } from './preset-mini.lpdd2hsn.mjs';\nimport { colorToString, colorOpacityToString } from '@unocss/rule-utils';\nimport { warnOnce, toArray } from '@unocss/core';\nimport { d as displays, i as contentVisibility, j as contents, l as textOverflows, m as textTransforms, n as fontStyles, o as fontSmoothings, c as boxShadows, a as rings, f as cursors, e as appearances, p as pointerEvents, h as resizes, u as userSelects, w as whitespaces, k as breaks, s as transforms, g as contains, t as textWraps } from './preset-mini.D0XQxeT8.mjs';\n\nconst verticalAlignAlias = {\n \"mid\": \"middle\",\n \"base\": \"baseline\",\n \"btm\": \"bottom\",\n \"baseline\": \"baseline\",\n \"top\": \"top\",\n \"start\": \"top\",\n \"middle\": \"middle\",\n \"bottom\": \"bottom\",\n \"end\": \"bottom\",\n \"text-top\": \"text-top\",\n \"text-bottom\": \"text-bottom\",\n \"sub\": \"sub\",\n \"super\": \"super\",\n ...Object.fromEntries(globalKeywords.map((x) => [x, x]))\n};\nconst verticalAligns = [\n [\n /^(?:vertical|align|v)-([-\\w]+%?)$/,\n ([, v]) => ({ \"vertical-align\": verticalAlignAlias[v] ?? h.numberWithUnit(v) }),\n {\n autocomplete: [\n `(vertical|align|v)-(${Object.keys(verticalAlignAlias).join(\"|\")})`,\n \"(vertical|align|v)-<percentage>\"\n ]\n }\n ]\n];\nconst textAlignValues = [\"center\", \"left\", \"right\", \"justify\", \"start\", \"end\"];\nconst textAligns = [\n ...textAlignValues.map((v) => [`text-${v}`, { \"text-align\": v }]),\n ...[\n ...globalKeywords,\n ...textAlignValues\n ].map((v) => [`text-align-${v}`, { \"text-align\": v }])\n];\n\nconst outline = [\n // size\n [/^outline-(?:width-|size-)?(.+)$/, handleWidth$2, { autocomplete: \"outline-(width|size)-<num>\" }],\n // color\n [/^outline-(?:color-)?(.+)$/, handleColorOrWidth$2, { autocomplete: \"outline-$colors\" }],\n // offset\n [/^outline-offset-(.+)$/, ([, d], { theme }) => ({ \"outline-offset\": theme.lineWidth?.[d] ?? h.bracket.cssvar.global.px(d) }), { autocomplete: \"outline-(offset)-<num>\" }],\n // style\n [\"outline\", { \"outline-style\": \"solid\" }],\n ...[\"auto\", \"dashed\", \"dotted\", \"double\", \"hidden\", \"solid\", \"groove\", \"ridge\", \"inset\", \"outset\", ...globalKeywords].map((v) => [`outline-${v}`, { \"outline-style\": v }]),\n [\"outline-none\", { \"outline\": \"2px solid transparent\", \"outline-offset\": \"2px\" }]\n];\nfunction handleWidth$2([, b], { theme }) {\n return { \"outline-width\": theme.lineWidth?.[b] ?? h.bracket.cssvar.global.px(b) };\n}\nfunction handleColorOrWidth$2(match, ctx) {\n if (isCSSMathFn(h.bracket(match[1])))\n return handleWidth$2(match, ctx);\n return colorResolver(\"outline-color\", \"outline-color\", \"borderColor\")(match, ctx);\n}\nconst appearance = [\n [\"appearance-auto\", { \"-webkit-appearance\": \"auto\", \"appearance\": \"auto\" }],\n [\"appearance-none\", { \"-webkit-appearance\": \"none\", \"appearance\": \"none\" }]\n];\nfunction willChangeProperty(prop) {\n return h.properties.auto.global(prop) ?? {\n contents: \"contents\",\n scroll: \"scroll-position\"\n }[prop];\n}\nconst willChange = [\n [/^will-change-(.+)/, ([, p]) => ({ \"will-change\": willChangeProperty(p) })]\n];\n\nconst borderStyles = [\"solid\", \"dashed\", \"dotted\", \"double\", \"hidden\", \"none\", \"groove\", \"ridge\", \"inset\", \"outset\", ...globalKeywords];\nconst borders = [\n // compound\n [/^(?:border|b)()(?:-(.+))?$/, handlerBorderSize, { autocomplete: \"(border|b)-<directions>\" }],\n [/^(?:border|b)-([xy])(?:-(.+))?$/, handlerBorderSize],\n [/^(?:border|b)-([rltbse])(?:-(.+))?$/, handlerBorderSize],\n [/^(?:border|b)-(block|inline)(?:-(.+))?$/, handlerBorderSize],\n [/^(?:border|b)-([bi][se])(?:-(.+))?$/, handlerBorderSize],\n // size\n [/^(?:border|b)-()(?:width|size)-(.+)$/, handlerBorderSize, { autocomplete: [\"(border|b)-<num>\", \"(border|b)-<directions>-<num>\"] }],\n [/^(?:border|b)-([xy])-(?:width|size)-(.+)$/, handlerBorderSize],\n [/^(?:border|b)-([rltbse])-(?:width|size)-(.+)$/, handlerBorderSize],\n [/^(?:border|b)-(block|inline)-(?:width|size)-(.+)$/, handlerBorderSize],\n [/^(?:border|b)-([bi][se])-(?:width|size)-(.+)$/, handlerBorderSize],\n // colors\n [/^(?:border|b)-()(?:color-)?(.+)$/, handlerBorderColorOrSize, { autocomplete: [\"(border|b)-$colors\", \"(border|b)-<directions>-$colors\"] }],\n [/^(?:border|b)-([xy])-(?:color-)?(.+)$/, handlerBorderColorOrSize],\n [/^(?:border|b)-([rltbse])-(?:color-)?(.+)$/, handlerBorderColorOrSize],\n [/^(?:border|b)-(block|inline)-(?:color-)?(.+)$/, handlerBorderColorOrSize],\n [/^(?:border|b)-([bi][se])-(?:color-)?(.+)$/, handlerBorderColorOrSize],\n // opacity\n [/^(?:border|b)-()op(?:acity)?-?(.+)$/, handlerBorderOpacity, { autocomplete: \"(border|b)-(op|opacity)-<percent>\" }],\n [/^(?:border|b)-([xy])-op(?:acity)?-?(.+)$/, handlerBorderOpacity],\n [/^(?:border|b)-([rltbse])-op(?:acity)?-?(.+)$/, handlerBorderOpacity],\n [/^(?:border|b)-(block|inline)-op(?:acity)?-?(.+)$/, handlerBorderOpacity],\n [/^(?:border|b)-([bi][se])-op(?:acity)?-?(.+)$/, handlerBorderOpacity],\n // radius\n [/^(?:border-|b-)?(?:rounded|rd)()(?:-(.+))?$/, handlerRounded, { autocomplete: [\"(border|b)-(rounded|rd)\", \"(border|b)-(rounded|rd)-$borderRadius\", \"(rounded|rd)\", \"(rounded|rd)-$borderRadius\"] }],\n [/^(?:border-|b-)?(?:rounded|rd)-([rltbse])(?:-(.+))?$/, handlerRounded],\n [/^(?:border-|b-)?(?:rounded|rd)-([rltb]{2})(?:-(.+))?$/, handlerRounded],\n [/^(?:border-|b-)?(?:rounded|rd)-([bise][se])(?:-(.+))?$/, handlerRounded],\n [/^(?:border-|b-)?(?:rounded|rd)-([bi][se]-[bi][se])(?:-(.+))?$/, handlerRounded],\n // style\n [/^(?:border|b)-(?:style-)?()(.+)$/, handlerBorderStyle, { autocomplete: [\"(border|b)-style\", `(border|b)-(${borderStyles.join(\"|\")})`, \"(border|b)-<directions>-style\", `(border|b)-<directions>-(${borderStyles.join(\"|\")})`, `(border|b)-<directions>-style-(${borderStyles.join(\"|\")})`, `(border|b)-style-(${borderStyles.join(\"|\")})`] }],\n [/^(?:border|b)-([xy])-(?:style-)?(.+)$/, handlerBorderStyle],\n [/^(?:border|b)-([rltbse])-(?:style-)?(.+)$/, handlerBorderStyle],\n [/^(?:border|b)-(block|inline)-(?:style-)?(.+)$/, handlerBorderStyle],\n [/^(?:border|b)-([bi][se])-(?:style-)?(.+)$/, handlerBorderStyle]\n];\nfunction transformBorderColor(color, alpha, direction) {\n if (alpha != null) {\n return {\n [`border${direction}-color`]: colorToString(color, alpha)\n };\n }\n if (direction === \"\") {\n const object = {};\n const opacityVar = `--un-border-opacity`;\n const result = colorToString(color, `var(${opacityVar})`);\n if (result.includes(opacityVar))\n object[opacityVar] = typeof color === \"string\" ? 1 : colorOpacityToString(color);\n object[\"border-color\"] = result;\n return object;\n } else {\n const object = {};\n const opacityVar = \"--un-border-opacity\";\n const opacityDirectionVar = `--un-border${direction}-opacity`;\n const result = colorToString(color, `var(${opacityDirectionVar})`);\n if (result.includes(opacityDirectionVar)) {\n object[opacityVar] = typeof color === \"string\" ? 1 : colorOpacityToString(color);\n object[opacityDirectionVar] = `var(${opacityVar})`;\n }\n object[`border${direction}-color`] = result;\n return object;\n }\n}\nfunction borderColorResolver(direction) {\n return ([, body], theme) => {\n const data = parseColor(body, theme, \"borderColor\");\n if (!data)\n return;\n const { alpha, color, cssColor } = data;\n if (cssColor)\n return transformBorderColor(cssColor, alpha, direction);\n else if (color)\n return transformBorderColor(color, alpha, direction);\n };\n}\nfunction handlerBorderSize([, a = \"\", b], { theme }) {\n const v = theme.lineWidth?.[b || \"DEFAULT\"] ?? h.bracket.cssvar.global.px(b || \"1\");\n if (a in directionMap && v != null)\n return directionMap[a].map((i) => [`border${i}-width`, v]);\n}\nfunction handlerBorderColorOrSize([, a = \"\", b], ctx) {\n if (a in directionMap) {\n if (isCSSMathFn(h.bracket(b)))\n return handlerBorderSize([\"\", a, b], ctx);\n if (hasParseableColor(b, ctx.theme, \"borderColor\")) {\n return Object.assign(\n {},\n ...directionMap[a].map((i) => borderColorResolver(i)([\"\", b], ctx.theme))\n );\n }\n }\n}\nfunction handlerBorderOpacity([, a = \"\", opacity]) {\n const v = h.bracket.percent.cssvar(opacity);\n if (a in directionMap && v != null)\n return directionMap[a].map((i) => [`--un-border${i}-opacity`, v]);\n}\nfunction handlerRounded([, a = \"\", s], { theme }) {\n const v = theme.borderRadius?.[s || \"DEFAULT\"] || h.bracket.cssvar.global.fraction.rem(s || \"1\");\n if (a in cornerMap && v != null)\n return cornerMap[a].map((i) => [`border${i}-radius`, v]);\n}\nfunction handlerBorderStyle([, a = \"\", s]) {\n if (borderStyles.includes(s) && a in directionMap)\n return directionMap[a].map((i) => [`border${i}-style`, s]);\n}\n\nconst opacity = [\n [/^op(?:acity)?-?(.+)$/, ([, d]) => ({ opacity: h.bracket.percent.cssvar(d) })]\n];\nconst bgUrlRE = /^\\[url\\(.+\\)\\]$/;\nconst bgLengthRE = /^\\[(?:length|size):.+\\]$/;\nconst bgPositionRE = /^\\[position:.+\\]$/;\nconst bgGradientRE = /^\\[(?:linear|conic|radial)-gradient\\(.+\\)\\]$/;\nconst bgColors = [\n [/^bg-(.+)$/, (...args) => {\n const d = args[0][1];\n if (bgUrlRE.test(d))\n return { \"--un-url\": h.bracket(d), \"background-image\": \"var(--un-url)\" };\n if (bgLengthRE.test(d) && h.bracketOfLength(d) != null)\n return { \"background-size\": h.bracketOfLength(d).split(\" \").map((e) => h.fraction.auto.px.cssvar(e) ?? e).join(\" \") };\n if ((isSize(d) || bgPositionRE.test(d)) && h.bracketOfPosition(d) != null)\n return { \"background-position\": h.bracketOfPosition(d).split(\" \").map((e) => h.position.fraction.auto.px.cssvar(e) ?? e).join(\" \") };\n if (bgGradientRE.test(d))\n return { \"background-image\": h.bracket(d) };\n return colorResolver(\"background-color\", \"bg\", \"backgroundColor\")(...args);\n }, { autocomplete: \"bg-$colors\" }],\n [/^bg-op(?:acity)?-?(.+)$/, ([, opacity2]) => ({ \"--un-bg-opacity\": h.bracket.percent.cssvar(opacity2) }), { autocomplete: \"bg-(op|opacity)-<percent>\" }]\n];\nconst colorScheme = [\n [/^color-scheme-(\\w+)$/, ([, v]) => ({ \"color-scheme\": v })]\n];\n\nconst containerParent = [\n [/^@container(?:\\/(\\w+))?(?:-(normal))?$/, ([, l, v]) => {\n warnOnce(\"The container query rule is experimental and may not follow semver.\");\n return {\n \"container-type\": v ?? \"inline-size\",\n \"container-name\": l\n };\n }]\n];\n\nconst decorationStyles = [\"solid\", \"double\", \"dotted\", \"dashed\", \"wavy\", ...globalKeywords];\nconst textDecorations = [\n [/^(?:decoration-)?(underline|overline|line-through)$/, ([, s]) => ({ \"text-decoration-line\": s }), { autocomplete: \"decoration-(underline|overline|line-through)\" }],\n // size\n [/^(?:underline|decoration)-(?:size-)?(.+)$/, handleWidth$1, { autocomplete: \"(underline|decoration)-<num>\" }],\n [/^(?:underline|decoration)-(auto|from-font)$/, ([, s]) => ({ \"text-decoration-thickness\": s }), { autocomplete: \"(underline|decoration)-(auto|from-font)\" }],\n // colors\n [/^(?:underline|decoration)-(.+)$/, handleColorOrWidth$1, { autocomplete: \"(underline|decoration)-$colors\" }],\n [/^(?:underline|decoration)-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ \"--un-line-opacity\": h.bracket.percent.cssvar(opacity) }), { autocomplete: \"(underline|decoration)-(op|opacity)-<percent>\" }],\n // offset\n [/^(?:underline|decoration)-offset-(.+)$/, ([, s], { theme }) => ({ \"text-underline-offset\": theme.lineWidth?.[s] ?? h.auto.bracket.cssvar.global.px(s) }), { autocomplete: \"(underline|decoration)-(offset)-<num>\" }],\n // style\n ...decorationStyles.map((v) => [`underline-${v}`, { \"text-decoration-style\": v }]),\n ...decorationStyles.map((v) => [`decoration-${v}`, { \"text-decoration-style\": v }]),\n [\"no-underline\", { \"text-decoration\": \"none\" }],\n [\"decoration-none\", { \"text-decoration\": \"none\" }]\n];\nfunction handleWidth$1([, b], { theme }) {\n return { \"text-decoration-thickness\": theme.lineWidth?.[b] ?? h.bracket.cssvar.global.px(b) };\n}\nfunction handleColorOrWidth$1(match, ctx) {\n if (isCSSMathFn(h.bracket(match[1])))\n return handleWidth$1(match, ctx);\n const result = colorResolver(\"text-decoration-color\", \"line\", \"borderColor\")(match, ctx);\n if (result) {\n return {\n \"-webkit-text-decoration-color\": result[\"text-decoration-color\"],\n ...result\n };\n }\n}\n\nconst transitionPropertyGroup = {\n all: \"all\",\n colors: [\"color\", \"background-color\", \"border-color\", \"outline-color\", \"text-decoration-color\", \"fill\", \"stroke\"].join(\",\"),\n none: \"none\",\n opacity: \"opacity\",\n shadow: \"box-shadow\",\n transform: \"transform\"\n};\nfunction transitionProperty(prop) {\n return h.properties(prop) ?? transitionPropertyGroup[prop];\n}\nconst transitions = [\n // transition\n [\n /^transition(?:-([a-z-]+(?:,[a-z-]+)*))?(?:-(\\d+))?$/,\n ([, prop, d], { theme }) => {\n const p = prop != null ? transitionProperty(prop) : [transitionPropertyGroup.colors, \"opacity\", \"box-shadow\", \"transform\", \"filter\", \"backdrop-filter\"].join(\",\");\n if (p) {\n const duration = theme.duration?.[d || \"DEFAULT\"] ?? h.time(d || \"150\");\n return {\n \"transition-property\": p,\n \"transition-timing-function\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"transition-duration\": duration\n };\n }\n },\n { autocomplete: `transition-(${Object.keys(transitionPropertyGroup).join(\"|\")})` }\n ],\n // timings\n [\n /^(?:transition-)?duration-(.+)$/,\n ([, d], { theme }) => ({ \"transition-duration\": theme.duration?.[d || \"DEFAULT\"] ?? h.bracket.cssvar.time(d) }),\n { autocomplete: [\"transition-duration-$duration\", \"duration-$duration\"] }\n ],\n [\n /^(?:transition-)?delay-(.+)$/,\n ([, d], { theme }) => ({ \"transition-delay\": theme.duration?.[d || \"DEFAULT\"] ?? h.bracket.cssvar.time(d) }),\n { autocomplete: [\"transition-delay-$duration\", \"delay-$duration\"] }\n ],\n [\n /^(?:transition-)?ease(?:-(.+))?$/,\n ([, d], { theme }) => ({ \"transition-timing-function\": theme.easing?.[d || \"DEFAULT\"] ?? h.bracket.cssvar(d) }),\n { autocomplete: [\"transition-ease-(linear|in|out|in-out|DEFAULT)\", \"ease-(linear|in|out|in-out|DEFAULT)\"] }\n ],\n // props\n [\n /^(?:transition-)?property-(.+)$/,\n ([, v]) => ({ \"transition-property\": h.bracket.global(v) || transitionProperty(v) }),\n { autocomplete: [`transition-property-(${[...globalKeywords, ...Object.keys(transitionPropertyGroup)].join(\"|\")})`] }\n ],\n // none\n [\"transition-none\", { transition: \"none\" }],\n ...makeGlobalStaticRules(\"transition\")\n];\n\nconst flex = [\n // display\n [\"flex\", { display: \"flex\" }],\n [\"inline-flex\", { display: \"inline-flex\" }],\n [\"flex-inline\", { display: \"inline-flex\" }],\n // flex\n [/^flex-(.*)$/, ([, d]) => ({ flex: h.bracket(d) != null ? h.bracket(d).split(\" \").map((e) => h.cssvar.fraction(e) ?? e).join(\" \") : h.cssvar.fraction(d) })],\n [\"flex-1\", { flex: \"1 1 0%\" }],\n [\"flex-auto\", { flex: \"1 1 auto\" }],\n [\"flex-initial\", { flex: \"0 1 auto\" }],\n [\"flex-none\", { flex: \"none\" }],\n // shrink/grow/basis\n [/^(?:flex-)?shrink(?:-(.*))?$/, ([, d = \"\"]) => ({ \"flex-shrink\": h.bracket.cssvar.number(d) ?? 1 }), { autocomplete: [\"flex-shrink-<num>\", \"shrink-<num>\"] }],\n [/^(?:flex-)?grow(?:-(.*))?$/, ([, d = \"\"]) => ({ \"flex-grow\": h.bracket.cssvar.number(d) ?? 1 }), { autocomplete: [\"flex-grow-<num>\", \"grow-<num>\"] }],\n [/^(?:flex-)?basis-(.+)$/, ([, d], { theme }) => ({ \"flex-basis\": theme.spacing?.[d] ?? h.bracket.cssvar.auto.fraction.rem(d) }), { autocomplete: [\"flex-basis-$spacing\", \"basis-$spacing\"] }],\n // directions\n [\"flex-row\", { \"flex-direction\": \"row\" }],\n [\"flex-row-reverse\", { \"flex-direction\": \"row-reverse\" }],\n [\"flex-col\", { \"flex-direction\": \"column\" }],\n [\"flex-col-reverse\", { \"flex-direction\": \"column-reverse\" }],\n // wraps\n [\"flex-wrap\", { \"flex-wrap\": \"wrap\" }],\n [\"flex-wrap-reverse\", { \"flex-wrap\": \"wrap-reverse\" }],\n [\"flex-nowrap\", { \"flex-wrap\": \"nowrap\" }]\n];\n\nconst fonts = [\n // text\n [/^text-(.+)$/, handleText, { autocomplete: \"text-$fontSize\" }],\n // text size\n [/^(?:text|font)-size-(.+)$/, handleSize, { autocomplete: \"text-size-$fontSize\" }],\n // text colors\n [/^text-(?:color-)?(.+)$/, handlerColorOrSize, { autocomplete: \"text-$colors\" }],\n // colors\n [/^(?:color|c)-(.+)$/, colorResolver(\"color\", \"text\", \"textColor\"), { autocomplete: \"(color|c)-$colors\" }],\n // style\n [/^(?:text|color|c)-(.+)$/, ([, v]) => globalKeywords.includes(v) ? { color: v } : void 0, { autocomplete: `(text|color|c)-(${globalKeywords.join(\"|\")})` }],\n // opacity\n [/^(?:text|color|c)-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ \"--un-text-opacity\": h.bracket.percent.cssvar(opacity) }), { autocomplete: \"(text|color|c)-(op|opacity)-<percent>\" }],\n // weights\n [\n /^(?:font|fw)-?([^-]+)$/,\n ([, s], { theme }) => ({ \"font-weight\": theme.fontWeight?.[s] || h.bracket.global.number(s) }),\n {\n autocomplete: [\n \"(font|fw)-(100|200|300|400|500|600|700|800|900)\",\n \"(font|fw)-$fontWeight\"\n ]\n }\n ],\n // leadings\n [\n /^(?:font-)?(?:leading|lh|line-height)-(.+)$/,\n ([, s], { theme }) => ({ \"line-height\": handleThemeByKey(s, theme, \"lineHeight\") }),\n { autocomplete: \"(leading|lh|line-height)-$lineHeight\" }\n ],\n // synthesis\n [\"font-synthesis-weight\", { \"font-synthesis\": \"weight\" }],\n [\"font-synthesis-style\", { \"font-synthesis\": \"style\" }],\n [\"font-synthesis-small-caps\", { \"font-synthesis\": \"small-caps\" }],\n [\"font-synthesis-none\", { \"font-synthesis\": \"none\" }],\n [/^font-synthesis-(.+)$/, ([, s]) => ({ \"font-synthesis\": h.bracket.cssvar.global(s) })],\n // tracking\n [\n /^(?:font-)?tracking-(.+)$/,\n ([, s], { theme }) => ({ \"letter-spacing\": theme.letterSpacing?.[s] || h.bracket.cssvar.global.rem(s) }),\n { autocomplete: \"tracking-$letterSpacing\" }\n ],\n // word-spacing\n [\n /^(?:font-)?word-spacing-(.+)$/,\n ([, s], { theme }) => ({ \"word-spacing\": theme.wordSpacing?.[s] || h.bracket.cssvar.global.rem(s) }),\n { autocomplete: \"word-spacing-$wordSpacing\" }\n ],\n // stretch\n [\"font-stretch-normal\", { \"font-stretch\": \"normal\" }],\n [\"font-stretch-ultra-condensed\", { \"font-stretch\": \"ultra-condensed\" }],\n [\"font-stretch-extra-condensed\", { \"font-stretch\": \"extra-condensed\" }],\n [\"font-stretch-condensed\", { \"font-stretch\": \"condensed\" }],\n [\"font-stretch-semi-condensed\", { \"font-stretch\": \"semi-condensed\" }],\n [\"font-stretch-semi-expanded\", { \"font-stretch\": \"semi-expanded\" }],\n [\"font-stretch-expanded\", { \"font-stretch\": \"expanded\" }],\n [\"font-stretch-extra-expanded\", { \"font-stretch\": \"extra-expanded\" }],\n [\"font-stretch-ultra-expanded\", { \"font-stretch\": \"ultra-expanded\" }],\n [\n /^font-stretch-(.+)$/,\n ([, s]) => ({ \"font-stretch\": h.bracket.cssvar.fraction.global(s) }),\n { autocomplete: \"font-stretch-<percentage>\" }\n ],\n // family\n [\n /^font-(.+)$/,\n ([, d], { theme }) => ({ \"font-family\": theme.fontFamily?.[d] || h.bracket.cssvar.global(d) }),\n { autocomplete: \"font-$fontFamily\" }\n ]\n];\nconst tabSizes = [\n [/^tab(?:-(.+))?$/, ([, s]) => {\n const v = h.bracket.cssvar.global.number(s || \"4\");\n if (v != null) {\n return {\n \"-moz-tab-size\": v,\n \"-o-tab-size\": v,\n \"tab-size\": v\n };\n }\n }]\n];\nconst textIndents = [\n [/^indent(?:-(.+))?$/, ([, s], { theme }) => ({ \"text-indent\": theme.textIndent?.[s || \"DEFAULT\"] || h.bracket.cssvar.global.fraction.rem(s) }), { autocomplete: \"indent-$textIndent\" }]\n];\nconst textStrokes = [\n // widths\n [/^text-stroke(?:-(.+))?$/, ([, s], { theme }) => ({ \"-webkit-text-stroke-width\": theme.textStrokeWidth?.[s || \"DEFAULT\"] || h.bracket.cssvar.px(s) }), { autocomplete: \"text-stroke-$textStrokeWidth\" }],\n // colors\n [/^text-stroke-(.+)$/, colorResolver(\"-webkit-text-stroke-color\", \"text-stroke\", \"borderColor\"), { autocomplete: \"text-stroke-$colors\" }],\n [/^text-stroke-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ \"--un-text-stroke-opacity\": h.bracket.percent.cssvar(opacity) }), { autocomplete: \"text-stroke-(op|opacity)-<percent>\" }]\n];\nconst textShadows = [\n [/^text-shadow(?:-(.+))?$/, ([, s], { theme }) => {\n const v = theme.textShadow?.[s || \"DEFAULT\"];\n if (v != null) {\n return {\n \"--un-text-shadow\": colorableShadows(v, \"--un-text-shadow-color\").join(\",\"),\n \"text-shadow\": \"var(--un-text-shadow)\"\n };\n }\n return { \"text-shadow\": h.bracket.cssvar.global(s) };\n }, { autocomplete: \"text-shadow-$textShadow\" }],\n // colors\n [/^text-shadow-color-(.+)$/, colorResolver(\"--un-text-shadow-color\", \"text-shadow\", \"shadowColor\"), { autocomplete: \"text-shadow-color-$colors\" }],\n [/^text-shadow-color-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ \"--un-text-shadow-opacity\": h.bracket.percent.cssvar(opacity) }), { autocomplete: \"text-shadow-color-(op|opacity)-<percent>\" }]\n];\nfunction handleThemeByKey(s, theme, key) {\n return theme[key]?.[s] || h.bracket.cssvar.global.rem(s);\n}\nfunction handleSize([, s], { theme }) {\n const themed = toArray(theme.fontSize?.[s]);\n const size = themed?.[0] ?? h.bracket.cssvar.global.rem(s);\n if (size != null)\n return { \"font-size\": size };\n}\nfunction handlerColorOrSize(match, ctx) {\n if (isCSSMathFn(h.bracket(match[1])))\n return handleSize(match, ctx);\n return colorResolver(\"color\", \"text\", \"textColor\")(match, ctx);\n}\nfunction handleText([, s = \"base\"], { theme }) {\n const split = splitShorthand(s, \"length\");\n if (!split)\n return;\n const [size, leading] = split;\n const sizePairs = toArray(theme.fontSize?.[size]);\n const lineHeight = leading ? handleThemeByKey(leading, theme, \"lineHeight\") : void 0;\n if (sizePairs?.[0]) {\n const [fontSize2, height, letterSpacing] = sizePairs;\n if (typeof height === \"object\") {\n return {\n \"font-size\": fontSize2,\n ...height\n };\n }\n return {\n \"font-size\": fontSize2,\n \"line-height\": lineHeight ?? height ?? \"1\",\n \"letter-spacing\": letterSpacing ? handleThemeByKey(letterSpacing, theme, \"letterSpacing\") : void 0\n };\n }\n const fontSize = h.bracketOfLength.rem(size);\n if (lineHeight && fontSize) {\n return {\n \"font-size\": fontSize,\n \"line-height\": lineHeight\n };\n }\n return { \"font-size\": h.bracketOfLength.rem(s) };\n}\n\nconst directions = {\n \"\": \"\",\n \"x\": \"column-\",\n \"y\": \"row-\",\n \"col\": \"column-\",\n \"row\": \"row-\"\n};\nfunction handleGap([, d = \"\", s], { theme }) {\n const v = theme.spacing?.[s] ?? h.bracket.cssvar.global.rem(s);\n if (v != null) {\n return {\n [`${directions[d]}gap`]: v\n };\n }\n}\nconst gaps = [\n [/^(?:flex-|grid-)?gap-?()(.+)$/, handleGap, { autocomplete: [\"gap-$spacing\", \"gap-<num>\"] }],\n [/^(?:flex-|grid-)?gap-([xy])-?(.+)$/, handleGap, { autocomplete: [\"gap-(x|y)-$spacing\", \"gap-(x|y)-<num>\"] }],\n [/^(?:flex-|grid-)?gap-(col|row)-?(.+)$/, handleGap, { autocomplete: [\"gap-(col|row)-$spacing\", \"gap-(col|row)-<num>\"] }]\n];\n\nfunction rowCol(s) {\n return s.replace(\"col\", \"column\");\n}\nfunction rowColTheme(s) {\n return s[0] === \"r\" ? \"Row\" : \"Column\";\n}\nfunction autoDirection(c, theme, prop) {\n const v = theme[`gridAuto${rowColTheme(c)}`]?.[prop];\n if (v != null)\n return v;\n switch (prop) {\n case \"min\":\n return \"min-content\";\n case \"max\":\n return \"max-content\";\n case \"fr\":\n return \"minmax(0,1fr)\";\n }\n return h.bracket.cssvar.auto.rem(prop);\n}\nconst grids = [\n // displays\n [\"grid\", { display: \"grid\" }],\n [\"inline-grid\", { display: \"inline-grid\" }],\n // global\n [/^(?:grid-)?(row|col)-(.+)$/, ([, c, v], { theme }) => ({\n [`grid-${rowCol(c)}`]: theme[`grid${rowColTheme(c)}`]?.[v] ?? h.bracket.cssvar.auto(v)\n })],\n // span\n [/^(?:grid-)?(row|col)-span-(.+)$/, ([, c, s]) => {\n if (s === \"full\")\n return { [`grid-${rowCol(c)}`]: \"1/-1\" };\n const v = h.bracket.number(s);\n if (v != null)\n return { [`grid-${rowCol(c)}`]: `span ${v}/span ${v}` };\n }, { autocomplete: \"(grid-row|grid-col|row|col)-span-<num>\" }],\n // starts & ends\n [/^(?:grid-)?(row|col)-start-(.+)$/, ([, c, v]) => ({ [`grid-${rowCol(c)}-start`]: h.bracket.cssvar(v) ?? v })],\n [/^(?:grid-)?(row|col)-end-(.+)$/, ([, c, v]) => ({ [`grid-${rowCol(c)}-end`]: h.bracket.cssvar(v) ?? v }), { autocomplete: \"(grid-row|grid-col|row|col)-(start|end)-<num>\" }],\n // auto flows\n [/^(?:grid-)?auto-(rows|cols)-(.+)$/, ([, c, v], { theme }) => ({ [`grid-auto-${rowCol(c)}`]: autoDirection(c, theme, v) }), { autocomplete: \"(grid-auto|auto)-(rows|cols)-<num>\" }],\n // grid-auto-flow, auto-flow: uno\n // grid-flow: wind\n [/^(?:grid-auto-flow|auto-flow|grid-flow)-(.+)$/, ([, v]) => ({ \"grid-auto-flow\": h.bracket.cssvar(v) })],\n [/^(?:grid-auto-flow|auto-flow|grid-flow)-(row|col|dense|row-dense|col-dense)$/, ([, v]) => ({ \"grid-auto-flow\": rowCol(v).replace(\"-\", \" \") }), { autocomplete: [\"(grid-auto-flow|auto-flow|grid-flow)-(row|col|dense|row-dense|col-dense)\"] }],\n // templates\n [/^(?:grid-)?(rows|cols)-(.+)$/, ([, c, v], { theme }) => ({\n [`grid-template-${rowCol(c)}`]: theme[`gridTemplate${rowColTheme(c)}`]?.[v] ?? h.bracket.cssvar(v)\n })],\n [/^(?:grid-)?(rows|cols)-minmax-([\\w.-]+)$/, ([, c, d]) => ({ [`grid-template-${rowCol(c)}`]: `repeat(auto-fill,minmax(${d},1fr))` })],\n [/^(?:grid-)?(rows|cols)-(\\d+)$/, ([, c, d]) => ({ [`grid-template-${rowCol(c)}`]: `repeat(${d},minmax(0,1fr))` }), { autocomplete: \"(grid-rows|grid-cols|rows|cols)-<num>\" }],\n // areas\n [/^grid-area(s)?-(.+)$/, ([, s, v]) => {\n if (s != null)\n return { \"grid-template-areas\": h.cssvar(v) ?? v.split(\"-\").map((s2) => `\"${h.bracket(s2)}\"`).join(\" \") };\n return { \"grid-area\": h.bracket.cssvar(v) };\n }],\n // template none\n [\"grid-rows-none\", { \"grid-template-rows\": \"none\" }],\n [\"grid-cols-none\", { \"grid-template-columns\": \"none\" }],\n // template subgrid\n [\"grid-rows-subgrid\", { \"grid-template-rows\": \"subgrid\" }],\n [\"grid-cols-subgrid\", { \"grid-template-columns\": \"subgrid\" }]\n];\n\nconst overflowValues = [\n \"auto\",\n \"hidden\",\n \"clip\",\n \"visible\",\n \"scroll\",\n \"overlay\",\n ...globalKeywords\n];\nconst overflows = [\n [/^(?:overflow|of)-(.+)$/, ([, v]) => overflowValues.includes(v) ? { overflow: v } : void 0, { autocomplete: [`(overflow|of)-(${overflowValues.join(\"|\")})`, `(overflow|of)-(x|y)-(${overflowValues.join(\"|\")})`] }],\n [/^(?:overflow|of)-([xy])-(.+)$/, ([, d, v]) => overflowValues.includes(v) ? { [`overflow-${d}`]: v } : void 0]\n];\n\nconst positions = [\n [/^(?:position-|pos-)?(relative|absolute|fixed|sticky)$/, ([, v]) => ({ position: v }), {\n autocomplete: [\n \"(position|pos)-<position>\",\n \"(position|pos)-<globalKeyword>\",\n \"<position>\"\n ]\n }],\n [/^(?:position-|pos-)([-\\w]+)$/, ([, v]) => globalKeywords.includes(v) ? { position: v } : void 0],\n [/^(?:position-|pos-)?(static)$/, ([, v]) => ({ position: v })]\n];\nconst justifies = [\n // contents\n [\"justify-start\", { \"justify-content\": \"flex-start\" }],\n [\"justify-end\", { \"justify-content\": \"flex-end\" }],\n [\"justify-center\", { \"justify-content\": \"center\" }],\n [\"justify-between\", { \"justify-content\": \"space-between\" }],\n [\"justify-around\", { \"justify-content\": \"space-around\" }],\n [\"justify-evenly\", { \"justify-content\": \"space-evenly\" }],\n [\"justify-stretch\", { \"justify-content\": \"stretch\" }],\n [\"justify-left\", { \"justify-content\": \"left\" }],\n [\"justify-right\", { \"justify-content\": \"right\" }],\n ...makeGlobalStaticRules(\"justify\", \"justify-content\"),\n // items\n [\"justify-items-start\", { \"justify-items\": \"start\" }],\n [\"justify-items-end\", { \"justify-items\": \"end\" }],\n [\"justify-items-center\", { \"justify-items\": \"center\" }],\n [\"justify-items-stretch\", { \"justify-items\": \"stretch\" }],\n ...makeGlobalStaticRules(\"justify-items\"),\n // selfs\n [\"justify-self-auto\", { \"justify-self\": \"auto\" }],\n [\"justify-self-start\", { \"justify-self\": \"start\" }],\n [\"justify-self-end\", { \"justify-self\": \"end\" }],\n [\"justify-self-center\", { \"justify-self\": \"center\" }],\n [\"justify-self-stretch\", { \"justify-self\": \"stretch\" }],\n ...makeGlobalStaticRules(\"justify-self\")\n];\nconst orders = [\n [/^order-(.+)$/, ([, v]) => ({ order: h.bracket.cssvar.number(v) })],\n [\"order-first\", { order: \"-9999\" }],\n [\"order-last\", { order: \"9999\" }],\n [\"order-none\", { order: \"0\" }]\n];\nconst alignments = [\n // contents\n [\"content-center\", { \"align-content\": \"center\" }],\n [\"content-start\", { \"align-content\": \"flex-start\" }],\n [\"content-end\", { \"align-content\": \"flex-end\" }],\n [\"content-between\", { \"align-content\": \"space-between\" }],\n [\"content-around\", { \"align-content\": \"space-around\" }],\n [\"content-evenly\", { \"align-content\": \"space-evenly\" }],\n ...makeGlobalStaticRules(\"content\", \"align-content\"),\n // items\n [\"items-start\", { \"align-items\": \"flex-start\" }],\n [\"items-end\", { \"align-items\": \"flex-end\" }],\n [\"items-center\", { \"align-items\": \"center\" }],\n [\"items-baseline\", { \"align-items\": \"baseline\" }],\n [\"items-stretch\", { \"align-items\": \"stretch\" }],\n ...makeGlobalStaticRules(\"items\", \"align-items\"),\n // selfs\n [\"self-auto\", { \"align-self\": \"auto\" }],\n [\"self-start\", { \"align-self\": \"flex-start\" }],\n [\"self-end\", { \"align-self\": \"flex-end\" }],\n [\"self-center\", { \"align-self\": \"center\" }],\n [\"self-stretch\", { \"align-self\": \"stretch\" }],\n [\"self-baseline\", { \"align-self\": \"baseline\" }],\n ...makeGlobalStaticRules(\"self\", \"align-self\")\n];\nconst placements = [\n // contents\n [\"place-content-center\", { \"place-content\": \"center\" }],\n [\"place-content-start\", { \"place-content\": \"start\" }],\n [\"place-content-end\", { \"place-content\": \"end\" }],\n [\"place-content-between\", { \"place-content\": \"space-between\" }],\n [\"place-content-around\", { \"place-content\": \"space-around\" }],\n [\"place-content-evenly\", { \"place-content\": \"space-evenly\" }],\n [\"place-content-stretch\", { \"place-content\": \"stretch\" }],\n ...makeGlobalStaticRules(\"place-content\"),\n // items\n [\"place-items-start\", { \"place-items\": \"start\" }],\n [\"place-items-end\", { \"place-items\": \"end\" }],\n [\"place-items-center\", { \"place-items\": \"center\" }],\n [\"place-items-stretch\", { \"place-items\": \"stretch\" }],\n ...makeGlobalStaticRules(\"place-items\"),\n // selfs\n [\"place-self-auto\", { \"place-self\": \"auto\" }],\n [\"place-self-start\", { \"place-self\": \"start\" }],\n [\"place-self-end\", { \"place-self\": \"end\" }],\n [\"place-self-center\", { \"place-self\": \"center\" }],\n [\"place-self-stretch\", { \"place-self\": \"stretch\" }],\n ...makeGlobalStaticRules(\"place-self\")\n];\nconst flexGridJustifiesAlignments = [...justifies, ...alignments, ...placements].flatMap(([k, v]) => [\n [`flex-${k}`, v],\n [`grid-${k}`, v]\n]);\nfunction handleInsetValue(v, { theme }) {\n return theme.spacing?.[v] ?? h.bracket.cssvar.global.auto.fraction.rem(v);\n}\nfunction handleInsetValues([, d, v], ctx) {\n const r = handleInsetValue(v, ctx);\n if (r != null && d in insetMap)\n return insetMap[d].map((i) => [i.slice(1), r]);\n}\nconst insets = [\n [\n /^(?:position-|pos-)?inset-(.+)$/,\n ([, v], ctx) => ({ inset: handleInsetValue(v, ctx) }),\n {\n autocomplete: [\n \"(position|pos)-inset-<directions>-$spacing\",\n \"(position|pos)-inset-(block|inline)-$spacing\",\n \"(position|pos)-inset-(bs|be|is|ie)-$spacing\",\n \"(position|pos)-(top|left|right|bottom)-$spacing\"\n ]\n }\n ],\n [/^(?:position-|pos-)?(start|end)-(.+)$/, handleInsetValues],\n [/^(?:position-|pos-)?inset-([xy])-(.+)$/, handleInsetValues],\n [/^(?:position-|pos-)?inset-([rltbse])-(.+)$/, handleInsetValues],\n [/^(?:position-|pos-)?inset-(block|inline)-(.+)$/, handleInsetValues],\n [/^(?:position-|pos-)?inset-([bi][se])-(.+)$/, handleInsetValues],\n [/^(?:position-|pos-)?(top|left|right|bottom)-(.+)$/, ([, d, v], ctx) => ({ [d]: handleInsetValue(v, ctx) })]\n];\nconst floats = [\n // floats\n [\"float-left\", { float: \"left\" }],\n [\"float-right\", { float: \"right\" }],\n [\"float-none\", { float: \"none\" }],\n ...makeGlobalStaticRules(\"float\"),\n // clears\n [\"clear-left\", { clear: \"left\" }],\n [\"clear-right\", { clear: \"right\" }],\n [\"clear-both\", { clear: \"both\" }],\n [\"clear-none\", { clear: \"none\" }],\n ...makeGlobalStaticRules(\"clear\")\n];\nconst zIndexes = [\n [/^(?:position-|pos-)?z([\\d.]+)$/, ([, v]) => ({ \"z-index\": h.number(v) })],\n [/^(?:position-|pos-)?z-(.+)$/, ([, v], { theme }) => ({ \"z-index\": theme.zIndex?.[v] ?? h.bracket.cssvar.global.auto.number(v) }), { autocomplete: \"z-<num>\" }]\n];\nconst boxSizing = [\n [\"box-border\", { \"box-sizing\": \"border-box\" }],\n [\"box-content\", { \"box-sizing\": \"content-box\" }],\n ...makeGlobalStaticRules(\"box\", \"box-sizing\")\n];\n\nconst sizeMapping = {\n h: \"height\",\n w: \"width\",\n inline: \"inline-size\",\n block: \"block-size\"\n};\nfunction getPropName(minmax, hw) {\n return `${minmax || \"\"}${sizeMapping[hw]}`;\n}\nfunction getSizeValue(minmax, hw, theme, prop) {\n const str = getPropName(minmax, hw).replace(/-(\\w)/g, (_, p) => p.toUpperCase());\n const v = theme[str]?.[prop];\n if (v != null)\n return v;\n switch (prop) {\n case \"fit\":\n case \"max\":\n case \"min\":\n return `${prop}-content`;\n }\n return h.bracket.cssvar.global.auto.fraction.rem(prop);\n}\nconst sizes = [\n [/^size-(min-|max-)?(.+)$/, ([, m, s], { theme }) => ({ [getPropName(m, \"w\")]: getSizeValue(m, \"w\", theme, s), [getPropName(m, \"h\")]: getSizeValue(m, \"h\", theme, s) })],\n [/^(?:size-)?(min-|max-)?([wh])-?(.+)$/, ([, m, w, s], { theme }) => ({ [getPropName(m, w)]: getSizeValue(m, w, theme, s) })],\n [/^(?:size-)?(min-|max-)?(block|inline)-(.+)$/, ([, m, w, s], { theme }) => ({ [getPropName(m, w)]: getSizeValue(m, w, theme, s) }), {\n autocomplete: [\n \"(w|h)-$width|height|maxWidth|maxHeight|minWidth|minHeight|inlineSize|blockSize|maxInlineSize|maxBlockSize|minInlineSize|minBlockSize\",\n \"(block|inline)-$width|height|maxWidth|maxHeight|minWidth|minHeight|inlineSize|blockSize|maxInlineSize|maxBlockSize|minInlineSize|minBlockSize\",\n \"(max|min)-(w|h|block|inline)\",\n \"(max|min)-(w|h|block|inline)-$width|height|maxWidth|maxHeight|minWidth|minHeight|inlineSize|blockSize|maxInlineSize|maxBlockSize|minInlineSize|minBlockSize\",\n \"(w|h)-full\",\n \"(max|min)-(w|h)-full\"\n ]\n }],\n [/^(?:size-)?(min-|max-)?(h)-screen-(.+)$/, ([, m, h2, p], context) => ({ [getPropName(m, h2)]: handleBreakpoint(context, p, \"verticalBreakpoints\") })],\n [/^(?:size-)?(min-|max-)?(w)-screen-(.+)$/, ([, m, w, p], context) => ({ [getPropName(m, w)]: handleBreakpoint(context, p) }), {\n autocomplete: [\n \"(w|h)-screen\",\n \"(min|max)-(w|h)-screen\",\n \"h-screen-$verticalBreakpoints\",\n \"(min|max)-h-screen-$verticalBreakpoints\",\n \"w-screen-$breakpoints\",\n \"(min|max)-w-screen-$breakpoints\"\n ]\n }]\n];\nfunction handleBreakpoint(context, point, key = \"breakpoints\") {\n const bp = resolveBreakpoints(context, key);\n if (bp)\n return bp.find((i) => i.point === point)?.size;\n}\nfunction getAspectRatio(prop) {\n if (/^\\d+\\/\\d+$/.test(prop))\n return prop;\n switch (prop) {\n case \"square\":\n return \"1/1\";\n case \"video\":\n return \"16/9\";\n }\n return h.bracket.cssvar.global.auto.number(prop);\n}\nconst aspectRatio = [\n [/^(?:size-)?aspect-(?:ratio-)?(.+)$/, ([, d]) => ({ \"aspect-ratio\": getAspectRatio(d) }), { autocomplete: [\"aspect-(square|video|ratio)\", \"aspect-ratio-(square|video)\"] }]\n];\n\nconst paddings = [\n [/^pa?()-?(.+)$/, directionSize(\"padding\"), { autocomplete: [\"(m|p)<num>\", \"(m|p)-<num>\"] }],\n [/^p-?xy()()$/, directionSize(\"padding\"), { autocomplete: \"(m|p)-(xy)\" }],\n [/^p-?([xy])(?:-?(.+))?$/, directionSize(\"padding\")],\n [/^p-?([rltbse])(?:-?(.+))?$/, directionSize(\"padding\"), { autocomplete: \"(m|p)<directions>-<num>\" }],\n [/^p-(block|inline)(?:-(.+))?$/, directionSize(\"padding\"), { autocomplete: \"(m|p)-(block|inline)-<num>\" }],\n [/^p-?([bi][se])(?:-?(.+))?$/, directionSize(\"padding\"), { autocomplete: \"(m|p)-(bs|be|is|ie)-<num>\" }]\n];\nconst margins = [\n [/^ma?()-?(.+)$/, directionSize(\"margin\")],\n [/^m-?xy()()$/, directionSize(\"margin\")],\n [/^m-?([xy])(?:-?(.+))?$/, directionSize(\"margin\")],\n [/^m-?([rltbse])(?:-?(.+))?$/, directionSize(\"margin\")],\n [/^m-(block|inline)(?:-(.+))?$/, directionSize(\"margin\")],\n [/^m-?([bi][se])(?:-?(.+))?$/, directionSize(\"margin\")]\n];\n\nconst variablesAbbrMap = {\n backface: \"backface-visibility\",\n break: \"word-break\",\n case: \"text-transform\",\n content: \"align-content\",\n fw: \"font-weight\",\n items: \"align-items\",\n justify: \"justify-content\",\n select: \"user-select\",\n self: \"align-self\",\n vertical: \"vertical-align\",\n visible: \"visibility\",\n whitespace: \"white-space\",\n ws: \"white-space\"\n};\nconst cssVariables = [\n [/^(.+?)-(\\$.+)$/, ([, name, varname]) => {\n const prop = variablesAbbrMap[name];\n if (prop)\n return { [prop]: h.cssvar(varname) };\n }]\n];\nconst cssProperty = [\n [/^\\[(.*)\\]$/, ([_, body]) => {\n if (!body.includes(\":\"))\n return;\n const [prop, ...rest] = body.split(\":\");\n const value = rest.join(\":\");\n if (!isURI(body) && /^[a-z-]+$/.test(prop) && isValidCSSBody(value)) {\n const parsed = h.bracket(`[${value}]`);\n if (parsed)\n return { [prop]: parsed };\n }\n }]\n];\nfunction isValidCSSBody(body) {\n let i = 0;\n function findUntil(c) {\n while (i < body.length) {\n i += 1;\n const char = body[i];\n if (char === c)\n return true;\n }\n return false;\n }\n for (i = 0; i < body.length; i++) {\n const c = body[i];\n if (\"\\\"`'\".includes(c)) {\n if (!findUntil(c))\n return false;\n } else if (c === \"(\") {\n if (!findUntil(\")\"))\n return false;\n } else if (\"[]{}:\".includes(c)) {\n return false;\n }\n }\n return true;\n}\nfunction isURI(declaration) {\n if (!declaration.includes(\"://\"))\n return false;\n try {\n return new URL(declaration).host !== \"\";\n } catch (err) {\n return false;\n }\n}\n\nconst questionMark = [\n [\n /^(where|\\?)$/,\n (_, { constructCSS, generator }) => {\n if (generator.userConfig.envMode === \"dev\")\n return `@keyframes __un_qm{0%{box-shadow:inset 4px 4px #ff1e90, inset -4px -4px #ff1e90}100%{box-shadow:inset 8px 8px #3399ff, inset -8px -8px #3399ff}} ${constructCSS({ animation: \"__un_qm 0.5s ease-in-out alternate infinite\" })}`;\n }\n ]\n];\n\nconst svgUtilities = [\n // fills\n [/^fill-(.+)$/, colorResolver(\"fill\", \"fill\", \"backgroundColor\"), { autocomplete: \"fill-$colors\" }],\n [/^fill-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ \"--un-fill-opacity\": h.bracket.percent.cssvar(opacity) }), { autocomplete: \"fill-(op|opacity)-<percent>\" }],\n [\"fill-none\", { fill: \"none\" }],\n // stroke size\n [/^stroke-(?:width-|size-)?(.+)$/, handleWidth, { autocomplete: [\"stroke-width-$lineWidth\", \"stroke-size-$lineWidth\"] }],\n // stroke dash\n [/^stroke-dash-(.+)$/, ([, s]) => ({ \"stroke-dasharray\": h.bracket.cssvar.number(s) }), { autocomplete: \"stroke-dash-<num>\" }],\n [/^stroke-offset-(.+)$/, ([, s], { theme }) => ({ \"stroke-dashoffset\": theme.lineWidth?.[s] ?? h.bracket.cssvar.px.numberWithUnit(s) }), { autocomplete: \"stroke-offset-$lineWidth\" }],\n // stroke colors\n [/^stroke-(.+)$/, handleColorOrWidth, { autocomplete: \"stroke-$colors\" }],\n [/^stroke-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ \"--un-stroke-opacity\": h.bracket.percent.cssvar(opacity) }), { autocomplete: \"stroke-(op|opacity)-<percent>\" }],\n // line cap\n [\"stroke-cap-square\", { \"stroke-linecap\": \"square\" }],\n [\"stroke-cap-round\", { \"stroke-linecap\": \"round\" }],\n [\"stroke-cap-auto\", { \"stroke-linecap\": \"butt\" }],\n // line join\n [\"stroke-join-arcs\", { \"stroke-linejoin\": \"arcs\" }],\n [\"stroke-join-bevel\", { \"stroke-linejoin\": \"bevel\" }],\n [\"stroke-join-clip\", { \"stroke-linejoin\": \"miter-clip\" }],\n [\"stroke-join-round\", { \"stroke-linejoin\": \"round\" }],\n [\"stroke-join-auto\", { \"stroke-linejoin\": \"miter\" }],\n // none\n [\"stroke-none\", { stroke: \"none\" }]\n];\nfunction handleWidth([, b], { theme }) {\n return { \"stroke-width\": theme.lineWidth?.[b] ?? h.bracket.cssvar.fraction.px.number(b) };\n}\nfunction handleColorOrWidth(match, ctx) {\n if (isCSSMathFn(h.bracket(match[1])))\n return handleWidth(match, ctx);\n return colorResolver(\"stroke\", \"stroke\", \"borderColor\")(match, ctx);\n}\n\nconst rules = [\n cssVariables,\n cssProperty,\n paddings,\n margins,\n displays,\n opacity,\n bgColors,\n colorScheme,\n svgUtilities,\n borders,\n contentVisibility,\n contents,\n fonts,\n tabSizes,\n textIndents,\n textOverflows,\n textDecorations,\n textStrokes,\n textShadows,\n textTransforms,\n textAligns,\n fontStyles,\n fontSmoothings,\n boxShadows,\n rings,\n flex,\n grids,\n gaps,\n positions,\n sizes,\n aspectRatio,\n cursors,\n appearances,\n pointerEvents,\n resizes,\n verticalAligns,\n userSelects,\n whitespaces,\n breaks,\n overflows,\n outline,\n appearance,\n orders,\n justifies,\n alignments,\n placements,\n flexGridJustifiesAlignments,\n insets,\n floats,\n zIndexes,\n boxSizing,\n transitions,\n transforms,\n willChange,\n containerParent,\n contains,\n textWraps,\n // should be the last\n questionMark\n].flat(1);\n\nexport { zIndexes as A, boxSizing as B, questionMark as C, sizes as D, aspectRatio as E, paddings as F, margins as G, svgUtilities as H, transitions as I, fonts as J, tabSizes as K, textIndents as L, textStrokes as M, textShadows as N, cssVariables as O, cssProperty as P, appearance as a, borderStyles as b, borders as c, opacity as d, bgColors as e, colorScheme as f, containerParent as g, handlerBorderStyle as h, textDecorations as i, flex as j, gaps as k, grids as l, overflows as m, justifies as n, outline as o, positions as p, orders as q, rules as r, alignments as s, textAligns as t, placements as u, verticalAligns as v, willChange as w, flexGridJustifiesAlignments as x, insets as y, floats as z };\n",
|
|
14
|
+
"import { f as h, r as resolveBreakpoints, C as CONTROL_MINI_NO_NEGATIVE, b as cssMathFnRE, e as cssVarFnRE } from './preset-mini.lpdd2hsn.mjs';\nimport { variantGetParameter, variantMatcher, variantGetBracket, variantParentMatcher, getBracket, hasThemeFn, transformThemeFn, getStringComponent } from '@unocss/rule-utils';\nimport { warnOnce, escapeRegExp, escapeSelector } from '@unocss/core';\n\nconst variantAria = {\n name: \"aria\",\n match(matcher, ctx) {\n const variant = variantGetParameter(\"aria-\", matcher, ctx.generator.config.separators);\n if (variant) {\n const [match, rest] = variant;\n const aria = h.bracket(match) ?? ctx.theme.aria?.[match] ?? \"\";\n if (aria) {\n return {\n matcher: rest,\n selector: (s) => `${s}[aria-${aria}]`\n };\n }\n }\n }\n};\n\nfunction calcMaxWidthBySize(size) {\n const value = size.match(/^-?\\d+\\.?\\d*/)?.[0] || \"\";\n const unit = size.slice(value.length);\n if (unit === \"px\") {\n const maxWidth = Number.parseFloat(value) - 0.1;\n return Number.isNaN(maxWidth) ? size : `${maxWidth}${unit}`;\n }\n return `calc(${size} - 0.1px)`;\n}\nconst sizePseudo = /(max|min)-\\[([^\\]]*)\\]:/;\nfunction variantBreakpoints() {\n const regexCache = {};\n return {\n name: \"breakpoints\",\n match(matcher, context) {\n if (sizePseudo.test(matcher)) {\n const match = matcher.match(sizePseudo);\n const m = matcher.replace(match[0], \"\");\n return {\n matcher: m,\n handle: (input, next) => next({\n ...input,\n parent: `${input.parent ? `${input.parent} $$ ` : \"\"}@media (${match[1]}-width: ${match[2]})`\n // parentOrder: order,\n })\n };\n }\n const variantEntries = (resolveBreakpoints(context) ?? []).map(({ point, size }, idx) => [point, size, idx]);\n for (const [point, size, idx] of variantEntries) {\n if (!regexCache[point])\n regexCache[point] = new RegExp(`^((?:([al]t-|[<~]|max-))?${point}(?:${context.generator.config.separators.join(\"|\")}))`);\n const match = matcher.match(regexCache[point]);\n if (!match)\n continue;\n const [, pre] = match;\n const m = matcher.slice(pre.length);\n if (m === \"container\")\n continue;\n const isLtPrefix = pre.startsWith(\"lt-\") || pre.startsWith(\"<\") || pre.startsWith(\"max-\");\n const isAtPrefix = pre.startsWith(\"at-\") || pre.startsWith(\"~\");\n let order = 3e3;\n if (isLtPrefix) {\n order -= idx + 1;\n return {\n matcher: m,\n handle: (input, next) => next({\n ...input,\n parent: `${input.parent ? `${input.parent} $$ ` : \"\"}@media (max-width: ${calcMaxWidthBySize(size)})`,\n parentOrder: order\n })\n };\n }\n order += idx + 1;\n if (isAtPrefix && idx < variantEntries.length - 1) {\n return {\n matcher: m,\n handle: (input, next) => next({\n ...input,\n parent: `${input.parent ? `${input.parent} $$ ` : \"\"}@media (min-width: ${size}) and (max-width: ${calcMaxWidthBySize(variantEntries[idx + 1][1])})`,\n parentOrder: order\n })\n };\n }\n return {\n matcher: m,\n handle: (input, next) => next({\n ...input,\n parent: `${input.parent ? `${input.parent} $$ ` : \"\"}@media (min-width: ${size})`,\n parentOrder: order\n })\n };\n }\n },\n multiPass: true,\n autocomplete: \"(at-|lt-|max-|)$breakpoints:\"\n };\n}\n\nconst variantChildren = [\n variantMatcher(\"*\", (input) => ({ selector: `${input.selector} > *` }))\n];\n\nfunction scopeMatcher(name, combinator) {\n return {\n name: `combinator:${name}`,\n match(matcher, ctx) {\n if (!matcher.startsWith(name))\n return;\n const separators = ctx.generator.config.separators;\n let body = variantGetBracket(`${name}-`, matcher, separators);\n if (!body) {\n for (const separator of separators) {\n if (matcher.startsWith(`${name}${separator}`)) {\n body = [\"\", matcher.slice(name.length + separator.length)];\n break;\n }\n }\n if (!body)\n return;\n }\n let bracketValue = h.bracket(body[0]) ?? \"\";\n if (bracketValue === \"\")\n bracketValue = \"*\";\n return {\n matcher: body[1],\n selector: (s) => `${s}${combinator}${bracketValue}`\n };\n },\n multiPass: true\n };\n}\nconst variantCombinators = [\n scopeMatcher(\"all\", \" \"),\n scopeMatcher(\"children\", \">\"),\n scopeMatcher(\"next\", \"+\"),\n scopeMatcher(\"sibling\", \"+\"),\n scopeMatcher(\"siblings\", \"~\")\n];\n\nconst variantContainerQuery = {\n name: \"@\",\n match(matcher, ctx) {\n if (matcher.startsWith(\"@container\"))\n return;\n const variant = variantGetParameter(\"@\", matcher, ctx.generator.config.separators);\n if (variant) {\n const [match, rest, label] = variant;\n const unbracket = h.bracket(match);\n let container;\n if (unbracket) {\n const minWidth = h.numberWithUnit(unbracket);\n if (minWidth)\n container = `(min-width: ${minWidth})`;\n } else {\n container = ctx.theme.containers?.[match] ?? \"\";\n }\n if (container) {\n warnOnce(\"The container query variant is experimental and may not follow semver.\");\n let order = 1e3 + Object.keys(ctx.theme.containers ?? {}).indexOf(match);\n if (label)\n order += 1e3;\n return {\n matcher: rest,\n handle: (input, next) => next({\n ...input,\n parent: `${input.parent ? `${input.parent} $$ ` : \"\"}@container${label ? ` ${label} ` : \" \"}${container}`,\n parentOrder: order\n })\n };\n }\n }\n },\n multiPass: true\n};\n\nfunction variantColorsMediaOrClass(options = {}) {\n if (options?.dark === \"class\" || typeof options.dark === \"object\") {\n const { dark = \".dark\", light = \".light\" } = typeof options.dark === \"string\" ? {} : options.dark;\n return [\n variantMatcher(\"dark\", (input) => ({ prefix: `${dark} $$ ${input.prefix}` })),\n variantMatcher(\"light\", (input) => ({ prefix: `${light} $$ ${input.prefix}` }))\n ];\n }\n return [\n variantParentMatcher(\"dark\", \"@media (prefers-color-scheme: dark)\"),\n variantParentMatcher(\"light\", \"@media (prefers-color-scheme: light)\")\n ];\n}\n\nconst variantDataAttribute = {\n name: \"data\",\n match(matcher, ctx) {\n const variant = variantGetParameter(\"data-\", matcher, ctx.generator.config.separators);\n if (variant) {\n const [match, rest] = variant;\n const dataAttribute = h.bracket(match) ?? ctx.theme.data?.[match] ?? \"\";\n if (dataAttribute) {\n return {\n matcher: rest,\n selector: (s) => `${s}[data-${dataAttribute}]`\n };\n }\n }\n }\n};\nfunction taggedData(tagName) {\n return {\n name: `${tagName}-data`,\n match(matcher, ctx) {\n const variant = variantGetParameter(`${tagName}-data-`, matcher, ctx.generator.config.separators);\n if (variant) {\n const [match, rest] = variant;\n const dataAttribute = h.bracket(match) ?? ctx.theme.data?.[match] ?? \"\";\n if (dataAttribute) {\n return {\n matcher: `${tagName}-[[data-${dataAttribute}]]:${rest}`\n };\n }\n }\n }\n };\n}\nconst variantTaggedDataAttributes = [\n taggedData(\"group\"),\n taggedData(\"peer\"),\n taggedData(\"parent\"),\n taggedData(\"previous\")\n];\n\nconst variantLanguageDirections = [\n variantMatcher(\"rtl\", (input) => ({ prefix: `[dir=\"rtl\"] $$ ${input.prefix}` })),\n variantMatcher(\"ltr\", (input) => ({ prefix: `[dir=\"ltr\"] $$ ${input.prefix}` }))\n];\n\nconst variantSelector = {\n name: \"selector\",\n match(matcher, ctx) {\n const variant = variantGetBracket(\"selector-\", matcher, ctx.generator.config.separators);\n if (variant) {\n const [match, rest] = variant;\n const selector = h.bracket(match);\n if (selector) {\n return {\n matcher: rest,\n selector: () => selector\n };\n }\n }\n }\n};\nconst variantCssLayer = {\n name: \"layer\",\n match(matcher, ctx) {\n const variant = variantGetParameter(\"layer-\", matcher, ctx.generator.config.separators);\n if (variant) {\n const [match, rest] = variant;\n const layer = h.bracket(match) ?? match;\n if (layer) {\n return {\n matcher: rest,\n handle: (input, next) => next({\n ...input,\n parent: `${input.parent ? `${input.parent} $$ ` : \"\"}@layer ${layer}`\n })\n };\n }\n }\n }\n};\nconst variantInternalLayer = {\n name: \"uno-layer\",\n match(matcher, ctx) {\n const variant = variantGetParameter(\"uno-layer-\", matcher, ctx.generator.config.separators);\n if (variant) {\n const [match, rest] = variant;\n const layer = h.bracket(match) ?? match;\n if (layer) {\n return {\n matcher: rest,\n layer\n };\n }\n }\n }\n};\nconst variantScope = {\n name: \"scope\",\n match(matcher, ctx) {\n const variant = variantGetBracket(\"scope-\", matcher, ctx.generator.config.separators);\n if (variant) {\n const [match, rest] = variant;\n const scope = h.bracket(match);\n if (scope) {\n return {\n matcher: rest,\n selector: (s) => `${scope} $$ ${s}`\n };\n }\n }\n }\n};\nconst variantVariables = {\n name: \"variables\",\n match(matcher, ctx) {\n if (!matcher.startsWith(\"[\"))\n return;\n const [match, rest] = getBracket(matcher, \"[\", \"]\") ?? [];\n if (!(match && rest))\n return;\n let newMatcher;\n for (const separator of ctx.generator.config.separators) {\n if (rest.startsWith(separator)) {\n newMatcher = rest.slice(separator.length);\n break;\n }\n }\n if (newMatcher == null)\n return;\n const variant = h.bracket(match) ?? \"\";\n const useParent = variant.startsWith(\"@\");\n if (!(useParent || variant.includes(\"&\")))\n return;\n return {\n matcher: newMatcher,\n handle(input, next) {\n const updates = useParent ? {\n parent: `${input.parent ? `${input.parent} $$ ` : \"\"}${variant}`\n } : {\n selector: variant.replace(/&/g, input.selector)\n };\n return next({\n ...input,\n ...updates\n });\n }\n };\n },\n multiPass: true\n};\nconst variantTheme = {\n name: \"theme-variables\",\n match(matcher, ctx) {\n if (!hasThemeFn(matcher))\n return;\n return {\n matcher,\n handle(input, next) {\n return next({\n ...input,\n // entries: [ [ '--css-spacing', '28px' ] ],\n entries: JSON.parse(transformThemeFn(JSON.stringify(input.entries), ctx.theme))\n });\n }\n };\n }\n};\n\nconst anchoredNumberRE = /^-?[0-9.]+(?:[a-z]+|%)?$/;\nconst numberRE = /-?[0-9.]+(?:[a-z]+|%)?/;\nconst ignoreProps = [\n /\\b(opacity|color|flex|backdrop-filter|^filter|transform)\\b/\n];\nfunction negateMathFunction(value) {\n const match = value.match(cssMathFnRE) || value.match(cssVarFnRE);\n if (match) {\n const [fnBody, rest] = getStringComponent(`(${match[2]})${match[3]}`, \"(\", \")\", \" \") ?? [];\n if (fnBody)\n return `calc(${match[1]}${fnBody} * -1)${rest ? ` ${rest}` : \"\"}`;\n }\n}\nconst negateFunctionBodyRE = /\\b(hue-rotate)\\s*(\\(.*)/;\nfunction negateFunctionBody(value) {\n const match = value.match(negateFunctionBodyRE);\n if (match) {\n const [fnBody, rest] = getStringComponent(match[2], \"(\", \")\", \" \") ?? [];\n if (fnBody) {\n const body = anchoredNumberRE.test(fnBody.slice(1, -1)) ? fnBody.replace(numberRE, (i) => i.startsWith(\"-\") ? i.slice(1) : `-${i}`) : `(calc(${fnBody} * -1))`;\n return `${match[1]}${body}${rest ? ` ${rest}` : \"\"}`;\n }\n }\n}\nconst variantNegative = {\n name: \"negative\",\n match(matcher) {\n if (!matcher.startsWith(\"-\"))\n return;\n return {\n matcher: matcher.slice(1),\n body: (body) => {\n if (body.find((v) => v[0] === CONTROL_MINI_NO_NEGATIVE))\n return;\n let changed = false;\n body.forEach((v) => {\n const value = v[1]?.toString();\n if (!value || value === \"0\")\n return;\n if (ignoreProps.some((i) => i.test(v[0])))\n return;\n const negatedFn = negateMathFunction(value);\n if (negatedFn) {\n v[1] = negatedFn;\n changed = true;\n return;\n }\n const negatedBody = negateFunctionBody(value);\n if (negatedBody) {\n v[1] = negatedBody;\n changed = true;\n return;\n }\n if (anchoredNumberRE.test(value)) {\n v[1] = value.replace(numberRE, (i) => i.startsWith(\"-\") ? i.slice(1) : `-${i}`);\n changed = true;\n }\n });\n if (changed)\n return body;\n return [];\n }\n };\n }\n};\n\nfunction variantImportant() {\n let re;\n return {\n name: \"important\",\n match(matcher, ctx) {\n if (!re)\n re = new RegExp(`^(important(?:${ctx.generator.config.separators.join(\"|\")})|!)`);\n let base;\n const match = matcher.match(re);\n if (match)\n base = matcher.slice(match[0].length);\n else if (matcher.endsWith(\"!\"))\n base = matcher.slice(0, -1);\n if (base) {\n return {\n matcher: base,\n body: (body) => {\n body.forEach((v) => {\n if (v[1])\n v[1] += \" !important\";\n });\n return body;\n }\n };\n }\n }\n };\n}\n\nconst variantPrint = variantParentMatcher(\"print\", \"@media print\");\nconst variantCustomMedia = {\n name: \"media\",\n match(matcher, ctx) {\n const variant = variantGetParameter(\"media-\", matcher, ctx.generator.config.separators);\n if (variant) {\n const [match, rest] = variant;\n let media = h.bracket(match) ?? \"\";\n if (media === \"\")\n media = ctx.theme.media?.[match] ?? \"\";\n if (media) {\n return {\n matcher: rest,\n handle: (input, next) => next({\n ...input,\n parent: `${input.parent ? `${input.parent} $$ ` : \"\"}@media ${media}`\n })\n };\n }\n }\n },\n multiPass: true\n};\n\nconst variantSupports = {\n name: \"supports\",\n match(matcher, ctx) {\n const variant = variantGetParameter(\"supports-\", matcher, ctx.generator.config.separators);\n if (variant) {\n const [match, rest] = variant;\n let supports = h.bracket(match) ?? \"\";\n if (supports === \"\")\n supports = ctx.theme.supports?.[match] ?? \"\";\n if (supports) {\n return {\n matcher: rest,\n handle: (input, next) => next({\n ...input,\n parent: `${input.parent ? `${input.parent} $$ ` : \"\"}@supports ${supports}`\n })\n };\n }\n }\n },\n multiPass: true\n};\n\nconst PseudoClasses = Object.fromEntries([\n // pseudo elements part 1\n [\"first-letter\", \"::first-letter\"],\n [\"first-line\", \"::first-line\"],\n // location\n \"any-link\",\n \"link\",\n \"visited\",\n \"target\",\n [\"open\", \"[open]\"],\n // forms\n \"default\",\n \"checked\",\n \"indeterminate\",\n \"placeholder-shown\",\n \"autofill\",\n \"optional\",\n \"required\",\n \"valid\",\n \"invalid\",\n \"user-valid\",\n \"user-invalid\",\n \"in-range\",\n \"out-of-range\",\n \"read-only\",\n \"read-write\",\n // content\n \"empty\",\n // interactions\n \"focus-within\",\n \"hover\",\n \"focus\",\n \"focus-visible\",\n \"active\",\n \"enabled\",\n \"disabled\",\n \"popover-open\",\n // tree-structural\n \"root\",\n \"empty\",\n [\"even-of-type\", \":nth-of-type(even)\"],\n [\"even\", \":nth-child(even)\"],\n [\"odd-of-type\", \":nth-of-type(odd)\"],\n [\"odd\", \":nth-child(odd)\"],\n \"first-of-type\",\n [\"first\", \":first-child\"],\n \"last-of-type\",\n [\"last\", \":last-child\"],\n \"only-child\",\n \"only-of-type\",\n // pseudo elements part 2\n [\"backdrop-element\", \"::backdrop\"],\n [\"placeholder\", \"::placeholder\"],\n [\"before\", \"::before\"],\n [\"after\", \"::after\"],\n [\"selection\", \" ::selection\"],\n [\"marker\", \" ::marker\"],\n [\"file\", \"::file-selector-button\"]\n].map((key) => Array.isArray(key) ? key : [key, `:${key}`]));\nconst PseudoClassesKeys = Object.keys(PseudoClasses);\nconst PseudoClassesColon = Object.fromEntries([\n [\"backdrop\", \"::backdrop\"]\n].map((key) => Array.isArray(key) ? key : [key, `:${key}`]));\nconst PseudoClassesColonKeys = Object.keys(PseudoClassesColon);\nconst PseudoClassFunctions = [\n \"not\",\n \"is\",\n \"where\",\n \"has\"\n];\nconst PseudoClassesStr = Object.entries(PseudoClasses).filter(([, pseudo]) => !pseudo.startsWith(\"::\")).map(([key]) => key).sort((a, b) => b.length - a.length).join(\"|\");\nconst PseudoClassesColonStr = Object.entries(PseudoClassesColon).filter(([, pseudo]) => !pseudo.startsWith(\"::\")).map(([key]) => key).sort((a, b) => b.length - a.length).join(\"|\");\nconst PseudoClassFunctionsStr = PseudoClassFunctions.join(\"|\");\nfunction taggedPseudoClassMatcher(tag, parent, combinator) {\n const rawRE = new RegExp(`^(${escapeRegExp(parent)}:)(\\\\S+)${escapeRegExp(combinator)}\\\\1`);\n let splitRE;\n let pseudoRE;\n let pseudoColonRE;\n let pseudoVarRE;\n const matchBracket = (input) => {\n const body = variantGetBracket(`${tag}-`, input, []);\n if (!body)\n return;\n const [match, rest] = body;\n const bracketValue = h.bracket(match);\n if (bracketValue == null)\n return;\n const label = rest.split(splitRE, 1)?.[0] ?? \"\";\n const prefix = `${parent}${escapeSelector(label)}`;\n return [\n label,\n input.slice(input.length - (rest.length - label.length - 1)),\n bracketValue.includes(\"&\") ? bracketValue.replace(/&/g, prefix) : `${prefix}${bracketValue}`\n ];\n };\n const matchPseudo = (input) => {\n const match = input.match(pseudoRE) || input.match(pseudoColonRE);\n if (!match)\n return;\n const [original, fn, pseudoKey] = match;\n const label = match[3] ?? \"\";\n let pseudo = PseudoClasses[pseudoKey] || PseudoClassesColon[pseudoKey] || `:${pseudoKey}`;\n if (fn)\n pseudo = `:${fn}(${pseudo})`;\n return [\n label,\n input.slice(original.length),\n `${parent}${escapeSelector(label)}${pseudo}`,\n pseudoKey\n ];\n };\n const matchPseudoVar = (input) => {\n const match = input.match(pseudoVarRE);\n if (!match)\n return;\n const [original, fn, pseudoValue] = match;\n const label = match[3] ?? \"\";\n const pseudo = `:${fn}(${pseudoValue})`;\n return [\n label,\n input.slice(original.length),\n `${parent}${escapeSelector(label)}${pseudo}`\n ];\n };\n return {\n name: `pseudo:${tag}`,\n match(input, ctx) {\n if (!(splitRE && pseudoRE && pseudoColonRE)) {\n splitRE = new RegExp(`(?:${ctx.generator.config.separators.join(\"|\")})`);\n pseudoRE = new RegExp(`^${tag}-(?:(?:(${PseudoClassFunctionsStr})-)?(${PseudoClassesStr}))(?:(/\\\\w+))?(?:${ctx.generator.config.separators.join(\"|\")})`);\n pseudoColonRE = new RegExp(`^${tag}-(?:(?:(${PseudoClassFunctionsStr})-)?(${PseudoClassesColonStr}))(?:(/\\\\w+))?(?:${ctx.generator.config.separators.filter((x) => x !== \"-\").join(\"|\")})`);\n pseudoVarRE = new RegExp(`^${tag}-(?:(${PseudoClassFunctionsStr})-)?\\\\[(.+)\\\\](?:(/\\\\w+))?(?:${ctx.generator.config.separators.filter((x) => x !== \"-\").join(\"|\")})`);\n }\n if (!input.startsWith(tag))\n return;\n const result = matchBracket(input) || matchPseudo(input) || matchPseudoVar(input);\n if (!result)\n return;\n const [label, matcher, prefix, pseudoName = \"\"] = result;\n if (label !== \"\")\n warnOnce(\"The labeled variant is experimental and may not follow semver.\");\n return {\n matcher,\n handle: (input2, next) => next({\n ...input2,\n prefix: `${prefix}${combinator}${input2.prefix}`.replace(rawRE, \"$1$2:\"),\n sort: PseudoClassesKeys.indexOf(pseudoName) ?? PseudoClassesColonKeys.indexOf(pseudoName)\n })\n };\n },\n multiPass: true\n };\n}\nconst excludedPseudo = [\n \"::-webkit-resizer\",\n \"::-webkit-scrollbar\",\n \"::-webkit-scrollbar-button\",\n \"::-webkit-scrollbar-corner\",\n \"::-webkit-scrollbar-thumb\",\n \"::-webkit-scrollbar-track\",\n \"::-webkit-scrollbar-track-piece\",\n \"::file-selector-button\"\n];\nconst PseudoClassesAndElementsStr = Object.entries(PseudoClasses).map(([key]) => key).sort((a, b) => b.length - a.length).join(\"|\");\nconst PseudoClassesAndElementsColonStr = Object.entries(PseudoClassesColon).map(([key]) => key).sort((a, b) => b.length - a.length).join(\"|\");\nfunction variantPseudoClassesAndElements() {\n let PseudoClassesAndElementsRE;\n let PseudoClassesAndElementsColonRE;\n return {\n name: \"pseudo\",\n match(input, ctx) {\n if (!(PseudoClassesAndElementsRE && PseudoClassesAndElementsRE)) {\n PseudoClassesAndElementsRE = new RegExp(`^(${PseudoClassesAndElementsStr})(?:${ctx.generator.config.separators.join(\"|\")})`);\n PseudoClassesAndElementsColonRE = new RegExp(`^(${PseudoClassesAndElementsColonStr})(?:${ctx.generator.config.separators.filter((x) => x !== \"-\").join(\"|\")})`);\n }\n const match = input.match(PseudoClassesAndElementsRE) || input.match(PseudoClassesAndElementsColonRE);\n if (match) {\n const pseudo = PseudoClasses[match[1]] || PseudoClassesColon[match[1]] || `:${match[1]}`;\n let index = PseudoClassesKeys.indexOf(match[1]);\n if (index === -1)\n index = PseudoClassesColonKeys.indexOf(match[1]);\n if (index === -1)\n index = void 0;\n return {\n matcher: input.slice(match[0].length),\n handle: (input2, next) => {\n const selectors = pseudo.startsWith(\"::\") && !excludedPseudo.includes(pseudo) ? {\n pseudo: `${input2.pseudo}${pseudo}`\n } : {\n selector: `${input2.selector}${pseudo}`\n };\n return next({\n ...input2,\n ...selectors,\n sort: index,\n noMerge: true\n });\n }\n };\n }\n },\n multiPass: true,\n autocomplete: `(${PseudoClassesAndElementsStr}|${PseudoClassesAndElementsColonStr}):`\n };\n}\nfunction variantPseudoClassFunctions() {\n let PseudoClassFunctionsRE;\n let PseudoClassColonFunctionsRE;\n let PseudoClassVarFunctionRE;\n return {\n match(input, ctx) {\n if (!(PseudoClassFunctionsRE && PseudoClassColonFunctionsRE)) {\n PseudoClassFunctionsRE = new RegExp(`^(${PseudoClassFunctionsStr})-(${PseudoClassesStr})(?:${ctx.generator.config.separators.join(\"|\")})`);\n PseudoClassColonFunctionsRE = new RegExp(`^(${PseudoClassFunctionsStr})-(${PseudoClassesColonStr})(?:${ctx.generator.config.separators.filter((x) => x !== \"-\").join(\"|\")})`);\n PseudoClassVarFunctionRE = new RegExp(`^(${PseudoClassFunctionsStr})-(\\\\[.+\\\\])(?:${ctx.generator.config.separators.filter((x) => x !== \"-\").join(\"|\")})`);\n }\n const match = input.match(PseudoClassFunctionsRE) || input.match(PseudoClassColonFunctionsRE) || input.match(PseudoClassVarFunctionRE);\n if (match) {\n const fn = match[1];\n const fnVal = getBracket(match[2], \"[\", \"]\");\n const pseudo = fnVal ? h.bracket(match[2]) : PseudoClasses[match[2]] || PseudoClassesColon[match[2]] || `:${match[2]}`;\n return {\n matcher: input.slice(match[0].length),\n selector: (s) => `${s}:${fn}(${pseudo})`\n };\n }\n },\n multiPass: true,\n autocomplete: `(${PseudoClassFunctionsStr})-(${PseudoClassesStr}|${PseudoClassesColonStr}):`\n };\n}\nfunction variantTaggedPseudoClasses(options = {}) {\n const attributify = !!options?.attributifyPseudo;\n let firstPrefix = options?.prefix ?? \"\";\n firstPrefix = (Array.isArray(firstPrefix) ? firstPrefix : [firstPrefix]).filter(Boolean)[0] ?? \"\";\n const tagWithPrefix = (tag, combinator) => taggedPseudoClassMatcher(tag, attributify ? `[${firstPrefix}${tag}=\"\"]` : `.${firstPrefix}${tag}`, combinator);\n return [\n tagWithPrefix(\"group\", \" \"),\n tagWithPrefix(\"peer\", \"~\"),\n tagWithPrefix(\"parent\", \">\"),\n tagWithPrefix(\"previous\", \"+\")\n ];\n}\nconst PartClassesRE = /(part-\\[(.+)\\]:)(.+)/;\nconst variantPartClasses = {\n match(input) {\n const match = input.match(PartClassesRE);\n if (match) {\n const part = `part(${match[2]})`;\n return {\n matcher: input.slice(match[1].length),\n selector: (s) => `${s}::${part}`\n };\n }\n },\n multiPass: true\n};\n\nfunction variants(options) {\n return [\n variantAria,\n variantDataAttribute,\n variantCssLayer,\n variantSelector,\n variantInternalLayer,\n variantNegative,\n variantImportant(),\n variantSupports,\n variantPrint,\n variantCustomMedia,\n variantBreakpoints(),\n ...variantCombinators,\n variantPseudoClassesAndElements(),\n variantPseudoClassFunctions(),\n ...variantTaggedPseudoClasses(options),\n variantPartClasses,\n ...variantColorsMediaOrClass(options),\n ...variantLanguageDirections,\n variantScope,\n ...variantChildren,\n variantContainerQuery,\n variantVariables,\n ...variantTaggedDataAttributes,\n variantTheme\n ];\n}\n\nexport { variantBreakpoints as a, variantChildren as b, calcMaxWidthBySize as c, variantCombinators as d, variantContainerQuery as e, variantColorsMediaOrClass as f, variantDataAttribute as g, variantTaggedDataAttributes as h, variants as i, variantLanguageDirections as j, variantImportant as k, variantPrint as l, variantCustomMedia as m, variantSelector as n, variantCssLayer as o, variantInternalLayer as p, variantScope as q, variantVariables as r, variantTheme as s, variantNegative as t, variantPseudoClassesAndElements as u, variantAria as v, variantPseudoClassFunctions as w, variantTaggedPseudoClasses as x, variantPartClasses as y, variantSupports as z };\n",
|
|
15
|
+
"import { entriesToCss, toArray, definePreset } from '@unocss/core';\nimport { extractorArbitraryVariants } from '@unocss/extractor-arbitrary-variants';\nimport { g as globalKeywords } from './shared/preset-mini.lpdd2hsn.mjs';\nexport { k as parseColor } from './shared/preset-mini.lpdd2hsn.mjs';\nimport { t as theme } from './shared/preset-mini.D01FLMpI.mjs';\nimport { r as rules } from './shared/preset-mini.DYGdJukb.mjs';\nimport { i as variants } from './shared/preset-mini.uR8-sh0j.mjs';\nexport { colors } from './colors.mjs';\nimport '@unocss/rule-utils';\nimport './shared/preset-mini.D0XQxeT8.mjs';\n\nconst preflights = [\n {\n layer: \"preflights\",\n getCSS(ctx) {\n if (ctx.theme.preflightBase) {\n const css = entriesToCss(Object.entries(ctx.theme.preflightBase));\n const roots = toArray(ctx.theme.preflightRoot ?? [\"*,::before,::after\", \"::backdrop\"]);\n return roots.map((root) => `${root}{${css}}`).join(\"\");\n }\n }\n }\n];\n\nconst shorthands = {\n position: [\n \"relative\",\n \"absolute\",\n \"fixed\",\n \"sticky\",\n \"static\"\n ],\n globalKeyword: globalKeywords\n};\n\nconst presetMini = definePreset((options = {}) => {\n options.dark = options.dark ?? \"class\";\n options.attributifyPseudo = options.attributifyPseudo ?? false;\n options.preflight = options.preflight ?? true;\n options.variablePrefix = options.variablePrefix ?? \"un-\";\n return {\n name: \"@unocss/preset-mini\",\n theme,\n rules,\n variants: variants(options),\n options,\n prefix: options.prefix,\n postprocess: VarPrefixPostprocessor(options.variablePrefix),\n preflights: options.preflight ? normalizePreflights(preflights, options.variablePrefix) : [],\n extractorDefault: options.arbitraryVariants === false ? void 0 : extractorArbitraryVariants,\n autocomplete: {\n shorthands\n }\n };\n});\nfunction VarPrefixPostprocessor(prefix) {\n if (prefix !== \"un-\") {\n return (obj) => {\n obj.entries.forEach((i) => {\n i[0] = i[0].replace(/^--un-/, `--${prefix}`);\n if (typeof i[1] === \"string\")\n i[1] = i[1].replace(/var\\(--un-/g, `var(--${prefix}`);\n });\n };\n }\n}\nfunction normalizePreflights(preflights3, variablePrefix) {\n if (variablePrefix !== \"un-\") {\n return preflights3.map((p) => ({\n ...p,\n getCSS: /* @__PURE__ */ (() => async (ctx) => {\n const css = await p.getCSS(ctx);\n if (css)\n return css.replace(/--un-/g, `--${variablePrefix}`);\n })()\n }));\n }\n return preflights3;\n}\n\nexport { VarPrefixPostprocessor, presetMini as default, normalizePreflights, preflights, presetMini, theme };\n",
|
|
16
|
+
"import { isString, toArray, definePreset } from '@unocss/core';\nimport presetMini, { presetMini as presetMini$1 } from '@unocss/preset-mini';\nexport { colors, preflights } from '@unocss/preset-mini';\nimport { h, globalKeywords, makeGlobalStaticRules, positionMap, parseColor, colorResolver, resolveBreakpoints, colorableShadows, directionMap, directionSize, variantMatcher, variantParentMatcher, hasParseableColor } from '@unocss/preset-mini/utils';\nimport * as _ from '@unocss/preset-mini/rules';\nimport { varEmpty, borderStyles, transformBase, boxShadowsBase, ringBase } from '@unocss/preset-mini/rules';\nimport { theme as theme$1 } from '@unocss/preset-mini/theme';\nimport { colorToString, colorOpacityToString, variantMatcher as variantMatcher$1 } from '@unocss/rule-utils';\nimport { variants as variants$1 } from '@unocss/preset-mini/variants';\n\nconst animations = [\n [/^(?:animate-)?keyframes-(.+)$/, ([, name], { theme }) => {\n const kf = theme.animation?.keyframes?.[name];\n if (kf) {\n return [\n `@keyframes ${name}${kf}`,\n { animation: name }\n ];\n }\n }, { autocomplete: [\"animate-keyframes-$animation.keyframes\", \"keyframes-$animation.keyframes\"] }],\n [/^animate-(.+)$/, ([, name], { theme }) => {\n const kf = theme.animation?.keyframes?.[name];\n if (kf) {\n const duration = theme.animation?.durations?.[name] ?? \"1s\";\n const timing = theme.animation?.timingFns?.[name] ?? \"linear\";\n const count = theme.animation?.counts?.[name] ?? 1;\n const props = theme.animation?.properties?.[name];\n return [\n `@keyframes ${name}${kf}`,\n {\n animation: `${name} ${duration} ${timing} ${count}`,\n ...props\n }\n ];\n }\n return { animation: h.bracket.cssvar(name) };\n }, { autocomplete: \"animate-$animation.keyframes\" }],\n [/^animate-name-(.+)/, ([, d]) => ({ \"animation-name\": h.bracket.cssvar(d) ?? d })],\n // timings\n [/^animate-duration-(.+)$/, ([, d], { theme }) => ({ \"animation-duration\": theme.duration?.[d || \"DEFAULT\"] ?? h.bracket.cssvar.time(d) }), { autocomplete: [\"animate-duration\", \"animate-duration-$duration\"] }],\n [/^animate-delay-(.+)$/, ([, d], { theme }) => ({ \"animation-delay\": theme.duration?.[d || \"DEFAULT\"] ?? h.bracket.cssvar.time(d) }), { autocomplete: [\"animate-delay\", \"animate-delay-$duration\"] }],\n [/^animate-ease(?:-(.+))?$/, ([, d], { theme }) => ({ \"animation-timing-function\": theme.easing?.[d || \"DEFAULT\"] ?? h.bracket.cssvar(d) }), { autocomplete: [\"animate-ease\", \"animate-ease-$easing\"] }],\n // fill mode\n [/^animate-(fill-mode-|fill-|mode-)?(.+)$/, ([, t, d]) => [\"none\", \"forwards\", \"backwards\", \"both\", ...[t ? globalKeywords : []]].includes(d) ? { \"animation-fill-mode\": d } : void 0, {\n autocomplete: [\n \"animate-(fill|mode|fill-mode)\",\n \"animate-(fill|mode|fill-mode)-(none|forwards|backwards|both|inherit|initial|revert|revert-layer|unset)\",\n \"animate-(none|forwards|backwards|both|inherit|initial|revert|revert-layer|unset)\"\n ]\n }],\n // direction\n [/^animate-(direction-)?(.+)$/, ([, t, d]) => [\"normal\", \"reverse\", \"alternate\", \"alternate-reverse\", ...[t ? globalKeywords : []]].includes(d) ? { \"animation-direction\": d } : void 0, {\n autocomplete: [\n \"animate-direction\",\n \"animate-direction-(normal|reverse|alternate|alternate-reverse|inherit|initial|revert|revert-layer|unset)\",\n \"animate-(normal|reverse|alternate|alternate-reverse|inherit|initial|revert|revert-layer|unset)\"\n ]\n }],\n // others\n [/^animate-(?:iteration-count-|iteration-|count-)(.+)$/, ([, d]) => ({ \"animation-iteration-count\": h.bracket.cssvar(d) ?? d.replace(/-/g, \",\") }), { autocomplete: [\"animate-(iteration|count|iteration-count)\", \"animate-(iteration|count|iteration-count)-<num>\"] }],\n [/^animate-(play-state-|play-|state-)?(.+)$/, ([, t, d]) => [\"paused\", \"running\", ...[t ? globalKeywords : []]].includes(d) ? { \"animation-play-state\": d } : void 0, {\n autocomplete: [\n \"animate-(play|state|play-state)\",\n \"animate-(play|state|play-state)-(paused|running|inherit|initial|revert|revert-layer|unset)\",\n \"animate-(paused|running|inherit|initial|revert|revert-layer|unset)\"\n ]\n }],\n [\"animate-none\", { animation: \"none\" }],\n ...makeGlobalStaticRules(\"animate\", \"animation\")\n];\n\nfunction bgGradientToValue(cssColor) {\n if (cssColor)\n return colorToString(cssColor, 0);\n return \"rgb(255 255 255 / 0)\";\n}\nfunction bgGradientColorValue(mode, cssColor, color, alpha) {\n if (cssColor) {\n if (alpha != null)\n return colorToString(cssColor, alpha);\n else\n return colorToString(cssColor, `var(--un-${mode}-opacity, ${colorOpacityToString(cssColor)})`);\n }\n return colorToString(color, alpha);\n}\nfunction bgGradientColorResolver() {\n return ([, mode, body], { theme }) => {\n const data = parseColor(body, theme, \"backgroundColor\");\n if (!data)\n return;\n const { alpha, color, cssColor } = data;\n if (!color)\n return;\n const colorString = bgGradientColorValue(mode, cssColor, color, alpha);\n switch (mode) {\n case \"from\":\n return {\n \"--un-gradient-from-position\": \"0%\",\n \"--un-gradient-from\": `${colorString} var(--un-gradient-from-position)`,\n \"--un-gradient-to-position\": \"100%\",\n \"--un-gradient-to\": `${bgGradientToValue(cssColor)} var(--un-gradient-to-position)`,\n \"--un-gradient-stops\": \"var(--un-gradient-from), var(--un-gradient-to)\"\n };\n case \"via\":\n return {\n \"--un-gradient-via-position\": \"50%\",\n \"--un-gradient-to\": bgGradientToValue(cssColor),\n \"--un-gradient-stops\": `var(--un-gradient-from), ${colorString} var(--un-gradient-via-position), var(--un-gradient-to)`\n };\n case \"to\":\n return {\n \"--un-gradient-to-position\": \"100%\",\n \"--un-gradient-to\": `${colorString} var(--un-gradient-to-position)`\n };\n }\n };\n}\nfunction bgGradientPositionResolver() {\n return ([, mode, body]) => {\n return {\n [`--un-gradient-${mode}-position`]: `${Number(h.bracket.cssvar.percent(body)) * 100}%`\n };\n };\n}\nconst backgroundStyles = [\n // gradients\n [/^bg-gradient-(.+)$/, ([, d]) => ({ \"--un-gradient\": h.bracket(d) }), {\n autocomplete: [\"bg-gradient\", \"bg-gradient-(from|to|via)\", \"bg-gradient-(from|to|via)-$colors\", \"bg-gradient-(from|to|via)-(op|opacity)\", \"bg-gradient-(from|to|via)-(op|opacity)-<percent>\"]\n }],\n [/^(?:bg-gradient-)?stops-(\\[.+\\])$/, ([, s]) => ({ \"--un-gradient-stops\": h.bracket(s) })],\n [/^(?:bg-gradient-)?(from)-(.+)$/, bgGradientColorResolver()],\n [/^(?:bg-gradient-)?(via)-(.+)$/, bgGradientColorResolver()],\n [/^(?:bg-gradient-)?(to)-(.+)$/, bgGradientColorResolver()],\n [/^(?:bg-gradient-)?(from|via|to)-op(?:acity)?-?(.+)$/, ([, position, opacity]) => ({ [`--un-${position}-opacity`]: h.bracket.percent(opacity) })],\n [/^(from|via|to)-([\\d.]+)%$/, bgGradientPositionResolver()],\n // images\n [/^bg-gradient-((?:repeating-)?(?:linear|radial|conic))$/, ([, s]) => ({\n \"background-image\": `${s}-gradient(var(--un-gradient, var(--un-gradient-stops, rgb(255 255 255 / 0))))`\n }), { autocomplete: [\"bg-gradient-repeating\", \"bg-gradient-(linear|radial|conic)\", \"bg-gradient-repeating-(linear|radial|conic)\"] }],\n // ignore any center position\n [/^bg-gradient-to-([rltb]{1,2})$/, ([, d]) => {\n if (d in positionMap) {\n return {\n \"--un-gradient-shape\": `to ${positionMap[d]}`,\n \"--un-gradient\": \"var(--un-gradient-shape), var(--un-gradient-stops)\",\n \"background-image\": \"linear-gradient(var(--un-gradient))\"\n };\n }\n }, { autocomplete: `bg-gradient-to-(${Object.keys(positionMap).filter((k) => k.length <= 2 && Array.from(k).every((c) => \"rltb\".includes(c))).join(\"|\")})` }],\n [/^(?:bg-gradient-)?shape-(.+)$/, ([, d]) => {\n const v = d in positionMap ? `to ${positionMap[d]}` : h.bracket(d);\n if (v != null) {\n return {\n \"--un-gradient-shape\": v,\n \"--un-gradient\": \"var(--un-gradient-shape), var(--un-gradient-stops)\"\n };\n }\n }, { autocomplete: [\"bg-gradient-shape\", `bg-gradient-shape-(${Object.keys(positionMap).join(\"|\")})`, `shape-(${Object.keys(positionMap).join(\"|\")})`] }],\n [\"bg-none\", { \"background-image\": \"none\" }],\n [\"box-decoration-slice\", { \"box-decoration-break\": \"slice\" }],\n [\"box-decoration-clone\", { \"box-decoration-break\": \"clone\" }],\n ...makeGlobalStaticRules(\"box-decoration\", \"box-decoration-break\"),\n // size\n [\"bg-auto\", { \"background-size\": \"auto\" }],\n [\"bg-cover\", { \"background-size\": \"cover\" }],\n [\"bg-contain\", { \"background-size\": \"contain\" }],\n // attachments\n [\"bg-fixed\", { \"background-attachment\": \"fixed\" }],\n [\"bg-local\", { \"background-attachment\": \"local\" }],\n [\"bg-scroll\", { \"background-attachment\": \"scroll\" }],\n // clips\n [\"bg-clip-border\", { \"-webkit-background-clip\": \"border-box\", \"background-clip\": \"border-box\" }],\n [\"bg-clip-content\", { \"-webkit-background-clip\": \"content-box\", \"background-clip\": \"content-box\" }],\n [\"bg-clip-padding\", { \"-webkit-background-clip\": \"padding-box\", \"background-clip\": \"padding-box\" }],\n [\"bg-clip-text\", { \"-webkit-background-clip\": \"text\", \"background-clip\": \"text\" }],\n ...globalKeywords.map((keyword) => [`bg-clip-${keyword}`, {\n \"-webkit-background-clip\": keyword,\n \"background-clip\": keyword\n }]),\n // positions\n // skip 1 & 2 letters shortcut\n [/^bg-([-\\w]{3,})$/, ([, s]) => ({ \"background-position\": positionMap[s] })],\n // repeats\n [\"bg-repeat\", { \"background-repeat\": \"repeat\" }],\n [\"bg-no-repeat\", { \"background-repeat\": \"no-repeat\" }],\n [\"bg-repeat-x\", { \"background-repeat\": \"repeat-x\" }],\n [\"bg-repeat-y\", { \"background-repeat\": \"repeat-y\" }],\n [\"bg-repeat-round\", { \"background-repeat\": \"round\" }],\n [\"bg-repeat-space\", { \"background-repeat\": \"space\" }],\n ...makeGlobalStaticRules(\"bg-repeat\", \"background-repeat\"),\n // origins\n [\"bg-origin-border\", { \"background-origin\": \"border-box\" }],\n [\"bg-origin-padding\", { \"background-origin\": \"padding-box\" }],\n [\"bg-origin-content\", { \"background-origin\": \"content-box\" }],\n ...makeGlobalStaticRules(\"bg-origin\", \"background-origin\")\n];\n\nconst listStyles = {\n \"disc\": \"disc\",\n \"circle\": \"circle\",\n \"square\": \"square\",\n \"decimal\": \"decimal\",\n \"zero-decimal\": \"decimal-leading-zero\",\n \"greek\": \"lower-greek\",\n \"roman\": \"lower-roman\",\n \"upper-roman\": \"upper-roman\",\n \"alpha\": \"lower-alpha\",\n \"upper-alpha\": \"upper-alpha\",\n \"latin\": \"lower-latin\",\n \"upper-latin\": \"upper-latin\"\n};\nconst listStyle = [\n // base\n [/^list-(.+?)(?:-(outside|inside))?$/, ([, alias, position]) => {\n const style = listStyles[alias];\n if (style) {\n if (position) {\n return {\n \"list-style-position\": position,\n \"list-style-type\": style\n };\n }\n return { \"list-style-type\": style };\n }\n }, { autocomplete: [`list-(${Object.keys(listStyles).join(\"|\")})`, `list-(${Object.keys(listStyles).join(\"|\")})-(outside|inside)`] }],\n // styles\n [\"list-outside\", { \"list-style-position\": \"outside\" }],\n [\"list-inside\", { \"list-style-position\": \"inside\" }],\n [\"list-none\", { \"list-style-type\": \"none\" }],\n // image\n [/^list-image-(.+)$/, ([, d]) => {\n if (/^\\[url\\(.+\\)\\]$/.test(d))\n return { \"list-style-image\": h.bracket(d) };\n }],\n [\"list-image-none\", { \"list-style-image\": \"none\" }],\n ...makeGlobalStaticRules(\"list\", \"list-style-type\")\n];\nconst accents = [\n [/^accent-(.+)$/, colorResolver(\"accent-color\", \"accent\", \"accentColor\"), { autocomplete: \"accent-$colors\" }],\n [/^accent-op(?:acity)?-?(.+)$/, ([, d]) => ({ \"--un-accent-opacity\": h.bracket.percent(d) }), { autocomplete: [\"accent-(op|opacity)\", \"accent-(op|opacity)-<percent>\"] }]\n];\nconst carets = [\n [/^caret-(.+)$/, colorResolver(\"caret-color\", \"caret\", \"textColor\"), { autocomplete: \"caret-$colors\" }],\n [/^caret-op(?:acity)?-?(.+)$/, ([, d]) => ({ \"--un-caret-opacity\": h.bracket.percent(d) }), { autocomplete: [\"caret-(op|opacity)\", \"caret-(op|opacity)-<percent>\"] }]\n];\nconst imageRenderings = [\n [\"image-render-auto\", { \"image-rendering\": \"auto\" }],\n [\"image-render-edge\", { \"image-rendering\": \"crisp-edges\" }],\n [\"image-render-pixel\", [\n [\"-ms-interpolation-mode\", \"nearest-neighbor\"],\n [\"image-rendering\", \"-webkit-optimize-contrast\"],\n [\"image-rendering\", \"-moz-crisp-edges\"],\n [\"image-rendering\", \"-o-pixelated\"],\n [\"image-rendering\", \"pixelated\"]\n ]]\n];\nconst overscrolls = [\n [\"overscroll-auto\", { \"overscroll-behavior\": \"auto\" }],\n [\"overscroll-contain\", { \"overscroll-behavior\": \"contain\" }],\n [\"overscroll-none\", { \"overscroll-behavior\": \"none\" }],\n ...makeGlobalStaticRules(\"overscroll\", \"overscroll-behavior\"),\n [\"overscroll-x-auto\", { \"overscroll-behavior-x\": \"auto\" }],\n [\"overscroll-x-contain\", { \"overscroll-behavior-x\": \"contain\" }],\n [\"overscroll-x-none\", { \"overscroll-behavior-x\": \"none\" }],\n ...makeGlobalStaticRules(\"overscroll-x\", \"overscroll-behavior-x\"),\n [\"overscroll-y-auto\", { \"overscroll-behavior-y\": \"auto\" }],\n [\"overscroll-y-contain\", { \"overscroll-behavior-y\": \"contain\" }],\n [\"overscroll-y-none\", { \"overscroll-behavior-y\": \"none\" }],\n ...makeGlobalStaticRules(\"overscroll-y\", \"overscroll-behavior-y\")\n];\nconst scrollBehaviors = [\n [\"scroll-auto\", { \"scroll-behavior\": \"auto\" }],\n [\"scroll-smooth\", { \"scroll-behavior\": \"smooth\" }],\n ...makeGlobalStaticRules(\"scroll\", \"scroll-behavior\")\n];\n\nconst columns = [\n [/^columns-(.+)$/, ([, v]) => ({ columns: h.bracket.global.number.auto.numberWithUnit(v) }), { autocomplete: \"columns-<num>\" }],\n // break before\n [\"break-before-auto\", { \"break-before\": \"auto\" }],\n [\"break-before-avoid\", { \"break-before\": \"avoid\" }],\n [\"break-before-all\", { \"break-before\": \"all\" }],\n [\"break-before-avoid-page\", { \"break-before\": \"avoid-page\" }],\n [\"break-before-page\", { \"break-before\": \"page\" }],\n [\"break-before-left\", { \"break-before\": \"left\" }],\n [\"break-before-right\", { \"break-before\": \"right\" }],\n [\"break-before-column\", { \"break-before\": \"column\" }],\n ...makeGlobalStaticRules(\"break-before\"),\n // break inside\n [\"break-inside-auto\", { \"break-inside\": \"auto\" }],\n [\"break-inside-avoid\", { \"break-inside\": \"avoid\" }],\n [\"break-inside-avoid-page\", { \"break-inside\": \"avoid-page\" }],\n [\"break-inside-avoid-column\", { \"break-inside\": \"avoid-column\" }],\n ...makeGlobalStaticRules(\"break-inside\"),\n // break after\n [\"break-after-auto\", { \"break-after\": \"auto\" }],\n [\"break-after-avoid\", { \"break-after\": \"avoid\" }],\n [\"break-after-all\", { \"break-after\": \"all\" }],\n [\"break-after-avoid-page\", { \"break-after\": \"avoid-page\" }],\n [\"break-after-page\", { \"break-after\": \"page\" }],\n [\"break-after-left\", { \"break-after\": \"left\" }],\n [\"break-after-right\", { \"break-after\": \"right\" }],\n [\"break-after-column\", { \"break-after\": \"column\" }],\n ...makeGlobalStaticRules(\"break-after\")\n];\n\nconst queryMatcher = /@media \\(min-width: (.+)\\)/;\nconst container = [\n [\n /^__container$/,\n (m, context) => {\n const { theme, variantHandlers } = context;\n const themePadding = theme.container?.padding;\n let padding;\n if (isString(themePadding))\n padding = themePadding;\n else\n padding = themePadding?.DEFAULT;\n const themeMaxWidth = theme.container?.maxWidth;\n let maxWidth;\n for (const v of variantHandlers) {\n const query = v.handle?.({}, (x) => x)?.parent;\n if (isString(query)) {\n const match = query.match(queryMatcher)?.[1];\n if (match) {\n const bp = resolveBreakpoints(context) ?? [];\n const matchBp = bp.find((i) => i.size === match)?.point;\n if (!themeMaxWidth)\n maxWidth = match;\n else if (matchBp)\n maxWidth = themeMaxWidth?.[matchBp];\n if (matchBp && !isString(themePadding))\n padding = themePadding?.[matchBp] ?? padding;\n }\n }\n }\n const css = {\n \"max-width\": maxWidth\n };\n if (!variantHandlers.length)\n css.width = \"100%\";\n if (theme.container?.center) {\n css[\"margin-left\"] = \"auto\";\n css[\"margin-right\"] = \"auto\";\n }\n if (themePadding) {\n css[\"padding-left\"] = padding;\n css[\"padding-right\"] = padding;\n }\n return css;\n },\n { internal: true }\n ]\n];\nconst containerShortcuts = [\n [/^(?:(\\w+)[:-])?container$/, ([, bp], context) => {\n let points = (resolveBreakpoints(context) ?? []).map((i) => i.point);\n if (bp) {\n if (!points.includes(bp))\n return;\n points = points.slice(points.indexOf(bp));\n }\n const shortcuts = points.map((p) => `${p}:__container`);\n if (!bp)\n shortcuts.unshift(\"__container\");\n return shortcuts;\n }]\n];\n\nconst filterBase = {\n \"--un-blur\": varEmpty,\n \"--un-brightness\": varEmpty,\n \"--un-contrast\": varEmpty,\n \"--un-drop-shadow\": varEmpty,\n \"--un-grayscale\": varEmpty,\n \"--un-hue-rotate\": varEmpty,\n \"--un-invert\": varEmpty,\n \"--un-saturate\": varEmpty,\n \"--un-sepia\": varEmpty\n};\nconst filterProperty = \"var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)\";\nconst backdropFilterBase = {\n \"--un-backdrop-blur\": varEmpty,\n \"--un-backdrop-brightness\": varEmpty,\n \"--un-backdrop-contrast\": varEmpty,\n \"--un-backdrop-grayscale\": varEmpty,\n \"--un-backdrop-hue-rotate\": varEmpty,\n \"--un-backdrop-invert\": varEmpty,\n \"--un-backdrop-opacity\": varEmpty,\n \"--un-backdrop-saturate\": varEmpty,\n \"--un-backdrop-sepia\": varEmpty\n};\nconst backdropFilterProperty = \"var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)\";\nfunction percentWithDefault(str) {\n let v = h.bracket.cssvar(str || \"\");\n if (v != null)\n return v;\n v = str ? h.percent(str) : \"1\";\n if (v != null && Number.parseFloat(v) <= 1)\n return v;\n}\nfunction toFilter(varName, resolver) {\n return ([, b, s], { theme }) => {\n const value = resolver(s, theme) ?? (s === \"none\" ? \"0\" : \"\");\n if (value !== \"\") {\n if (b) {\n return {\n [`--un-${b}${varName}`]: `${varName}(${value})`,\n \"-webkit-backdrop-filter\": backdropFilterProperty,\n \"backdrop-filter\": backdropFilterProperty\n };\n } else {\n return {\n [`--un-${varName}`]: `${varName}(${value})`,\n filter: filterProperty\n };\n }\n }\n };\n}\nfunction dropShadowResolver([, s], { theme }) {\n let v = theme.dropShadow?.[s || \"DEFAULT\"];\n if (v != null) {\n const shadows = colorableShadows(v, \"--un-drop-shadow-color\");\n return {\n \"--un-drop-shadow\": `drop-shadow(${shadows.join(\") drop-shadow(\")})`,\n \"filter\": filterProperty\n };\n }\n v = h.bracket.cssvar(s);\n if (v != null) {\n return {\n \"--un-drop-shadow\": `drop-shadow(${v})`,\n \"filter\": filterProperty\n };\n }\n}\nconst filters = [\n // filters\n [/^(?:(backdrop-)|filter-)?blur(?:-(.+))?$/, toFilter(\"blur\", (s, theme) => theme.blur?.[s || \"DEFAULT\"] || h.bracket.cssvar.px(s)), { autocomplete: [\"(backdrop|filter)-blur-$blur\", \"blur-$blur\", \"filter-blur\"] }],\n [/^(?:(backdrop-)|filter-)?brightness-(.+)$/, toFilter(\"brightness\", (s) => h.bracket.cssvar.percent(s)), { autocomplete: [\"(backdrop|filter)-brightness-<percent>\", \"brightness-<percent>\"] }],\n [/^(?:(backdrop-)|filter-)?contrast-(.+)$/, toFilter(\"contrast\", (s) => h.bracket.cssvar.percent(s)), { autocomplete: [\"(backdrop|filter)-contrast-<percent>\", \"contrast-<percent>\"] }],\n // drop-shadow only on filter\n [/^(?:filter-)?drop-shadow(?:-(.+))?$/, dropShadowResolver, {\n autocomplete: [\n \"filter-drop\",\n \"filter-drop-shadow\",\n \"filter-drop-shadow-color\",\n \"drop-shadow\",\n \"drop-shadow-color\",\n \"filter-drop-shadow-$dropShadow\",\n \"drop-shadow-$dropShadow\",\n \"filter-drop-shadow-color-$colors\",\n \"drop-shadow-color-$colors\",\n \"filter-drop-shadow-color-(op|opacity)\",\n \"drop-shadow-color-(op|opacity)\",\n \"filter-drop-shadow-color-(op|opacity)-<percent>\",\n \"drop-shadow-color-(op|opacity)-<percent>\"\n ]\n }],\n [/^(?:filter-)?drop-shadow-color-(.+)$/, colorResolver(\"--un-drop-shadow-color\", \"drop-shadow\", \"shadowColor\")],\n [/^(?:filter-)?drop-shadow-color-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ \"--un-drop-shadow-opacity\": h.bracket.percent(opacity) })],\n [/^(?:(backdrop-)|filter-)?grayscale(?:-(.+))?$/, toFilter(\"grayscale\", percentWithDefault), { autocomplete: [\"(backdrop|filter)-grayscale\", \"(backdrop|filter)-grayscale-<percent>\", \"grayscale-<percent>\"] }],\n [/^(?:(backdrop-)|filter-)?hue-rotate-(.+)$/, toFilter(\"hue-rotate\", (s) => h.bracket.cssvar.degree(s))],\n [/^(?:(backdrop-)|filter-)?invert(?:-(.+))?$/, toFilter(\"invert\", percentWithDefault), { autocomplete: [\"(backdrop|filter)-invert\", \"(backdrop|filter)-invert-<percent>\", \"invert-<percent>\"] }],\n // opacity only on backdrop-filter\n [/^(backdrop-)op(?:acity)?-(.+)$/, toFilter(\"opacity\", (s) => h.bracket.cssvar.percent(s)), { autocomplete: [\"backdrop-(op|opacity)\", \"backdrop-(op|opacity)-<percent>\"] }],\n [/^(?:(backdrop-)|filter-)?saturate-(.+)$/, toFilter(\"saturate\", (s) => h.bracket.cssvar.percent(s)), { autocomplete: [\"(backdrop|filter)-saturate\", \"(backdrop|filter)-saturate-<percent>\", \"saturate-<percent>\"] }],\n [/^(?:(backdrop-)|filter-)?sepia(?:-(.+))?$/, toFilter(\"sepia\", percentWithDefault), { autocomplete: [\"(backdrop|filter)-sepia\", \"(backdrop|filter)-sepia-<percent>\", \"sepia-<percent>\"] }],\n // base\n [\"filter\", { filter: filterProperty }],\n [\"backdrop-filter\", {\n \"-webkit-backdrop-filter\": backdropFilterProperty,\n \"backdrop-filter\": backdropFilterProperty\n }],\n // nones\n [\"filter-none\", { filter: \"none\" }],\n [\"backdrop-filter-none\", {\n \"-webkit-backdrop-filter\": \"none\",\n \"backdrop-filter\": \"none\"\n }],\n ...globalKeywords.map((keyword) => [`filter-${keyword}`, { filter: keyword }]),\n ...globalKeywords.map((keyword) => [`backdrop-filter-${keyword}`, {\n \"-webkit-backdrop-filter\": keyword,\n \"backdrop-filter\": keyword\n }])\n];\n\nconst spaces = [\n [/^space-([xy])-(.+)$/, handlerSpace, { autocomplete: [\"space-(x|y|block|inline)\", \"space-(x|y|block|inline)-reverse\", \"space-(x|y|block|inline)-$spacing\"] }],\n [/^space-([xy])-reverse$/, ([, d]) => ({ [`--un-space-${d}-reverse`]: 1 })],\n [/^space-(block|inline)-(.+)$/, handlerSpace],\n [/^space-(block|inline)-reverse$/, ([, d]) => ({ [`--un-space-${d}-reverse`]: 1 })]\n];\nfunction handlerSpace([, d, s], { theme }) {\n let v = theme.spacing?.[s || \"DEFAULT\"] ?? h.bracket.cssvar.auto.fraction.rem(s || \"1\");\n if (v != null) {\n if (v === \"0\")\n v = \"0px\";\n const results = directionMap[d].map((item) => {\n const key = `margin${item}`;\n const value = item.endsWith(\"right\") || item.endsWith(\"bottom\") ? `calc(${v} * var(--un-space-${d}-reverse))` : `calc(${v} * calc(1 - var(--un-space-${d}-reverse)))`;\n return [key, value];\n });\n if (results) {\n return [\n [`--un-space-${d}-reverse`, 0],\n ...results\n ];\n }\n }\n}\n\nconst textTransforms = [\n // tailwind compat\n [\"uppercase\", { \"text-transform\": \"uppercase\" }],\n [\"lowercase\", { \"text-transform\": \"lowercase\" }],\n [\"capitalize\", { \"text-transform\": \"capitalize\" }],\n [\"normal-case\", { \"text-transform\": \"none\" }]\n];\nconst hyphens = [\n ...[\"manual\", \"auto\", \"none\", ...globalKeywords].map((keyword) => [`hyphens-${keyword}`, {\n \"-webkit-hyphens\": keyword,\n \"-ms-hyphens\": keyword,\n \"hyphens\": keyword\n }])\n];\nconst writingModes = [\n [\"write-vertical-right\", { \"writing-mode\": \"vertical-rl\" }],\n [\"write-vertical-left\", { \"writing-mode\": \"vertical-lr\" }],\n [\"write-normal\", { \"writing-mode\": \"horizontal-tb\" }],\n ...makeGlobalStaticRules(\"write\", \"writing-mode\")\n];\nconst writingOrientations = [\n [\"write-orient-mixed\", { \"text-orientation\": \"mixed\" }],\n [\"write-orient-sideways\", { \"text-orientation\": \"sideways\" }],\n [\"write-orient-upright\", { \"text-orientation\": \"upright\" }],\n ...makeGlobalStaticRules(\"write-orient\", \"text-orientation\")\n];\nconst screenReadersAccess = [\n [\n \"sr-only\",\n {\n \"position\": \"absolute\",\n \"width\": \"1px\",\n \"height\": \"1px\",\n \"padding\": \"0\",\n \"margin\": \"-1px\",\n \"overflow\": \"hidden\",\n \"clip\": \"rect(0,0,0,0)\",\n \"white-space\": \"nowrap\",\n \"border-width\": 0\n }\n ],\n [\n \"not-sr-only\",\n {\n \"position\": \"static\",\n \"width\": \"auto\",\n \"height\": \"auto\",\n \"padding\": \"0\",\n \"margin\": \"0\",\n \"overflow\": \"visible\",\n \"clip\": \"auto\",\n \"white-space\": \"normal\"\n }\n ]\n];\nconst isolations = [\n [\"isolate\", { isolation: \"isolate\" }],\n [\"isolate-auto\", { isolation: \"auto\" }],\n [\"isolation-auto\", { isolation: \"auto\" }]\n];\nconst objectPositions = [\n // object fit\n [\"object-cover\", { \"object-fit\": \"cover\" }],\n [\"object-contain\", { \"object-fit\": \"contain\" }],\n [\"object-fill\", { \"object-fit\": \"fill\" }],\n [\"object-scale-down\", { \"object-fit\": \"scale-down\" }],\n [\"object-none\", { \"object-fit\": \"none\" }],\n // object position\n [/^object-(.+)$/, ([, d]) => {\n if (positionMap[d])\n return { \"object-position\": positionMap[d] };\n if (h.bracketOfPosition(d) != null)\n return { \"object-position\": h.bracketOfPosition(d).split(\" \").map((e) => h.position.fraction.auto.px.cssvar(e) ?? e).join(\" \") };\n }, { autocomplete: `object-(${Object.keys(positionMap).join(\"|\")})` }]\n];\nconst backgroundBlendModes = [\n [\"bg-blend-multiply\", { \"background-blend-mode\": \"multiply\" }],\n [\"bg-blend-screen\", { \"background-blend-mode\": \"screen\" }],\n [\"bg-blend-overlay\", { \"background-blend-mode\": \"overlay\" }],\n [\"bg-blend-darken\", { \"background-blend-mode\": \"darken\" }],\n [\"bg-blend-lighten\", { \"background-blend-mode\": \"lighten\" }],\n [\"bg-blend-color-dodge\", { \"background-blend-mode\": \"color-dodge\" }],\n [\"bg-blend-color-burn\", { \"background-blend-mode\": \"color-burn\" }],\n [\"bg-blend-hard-light\", { \"background-blend-mode\": \"hard-light\" }],\n [\"bg-blend-soft-light\", { \"background-blend-mode\": \"soft-light\" }],\n [\"bg-blend-difference\", { \"background-blend-mode\": \"difference\" }],\n [\"bg-blend-exclusion\", { \"background-blend-mode\": \"exclusion\" }],\n [\"bg-blend-hue\", { \"background-blend-mode\": \"hue\" }],\n [\"bg-blend-saturation\", { \"background-blend-mode\": \"saturation\" }],\n [\"bg-blend-color\", { \"background-blend-mode\": \"color\" }],\n [\"bg-blend-luminosity\", { \"background-blend-mode\": \"luminosity\" }],\n [\"bg-blend-normal\", { \"background-blend-mode\": \"normal\" }],\n ...makeGlobalStaticRules(\"bg-blend\", \"background-blend\")\n];\nconst mixBlendModes = [\n [\"mix-blend-multiply\", { \"mix-blend-mode\": \"multiply\" }],\n [\"mix-blend-screen\", { \"mix-blend-mode\": \"screen\" }],\n [\"mix-blend-overlay\", { \"mix-blend-mode\": \"overlay\" }],\n [\"mix-blend-darken\", { \"mix-blend-mode\": \"darken\" }],\n [\"mix-blend-lighten\", { \"mix-blend-mode\": \"lighten\" }],\n [\"mix-blend-color-dodge\", { \"mix-blend-mode\": \"color-dodge\" }],\n [\"mix-blend-color-burn\", { \"mix-blend-mode\": \"color-burn\" }],\n [\"mix-blend-hard-light\", { \"mix-blend-mode\": \"hard-light\" }],\n [\"mix-blend-soft-light\", { \"mix-blend-mode\": \"soft-light\" }],\n [\"mix-blend-difference\", { \"mix-blend-mode\": \"difference\" }],\n [\"mix-blend-exclusion\", { \"mix-blend-mode\": \"exclusion\" }],\n [\"mix-blend-hue\", { \"mix-blend-mode\": \"hue\" }],\n [\"mix-blend-saturation\", { \"mix-blend-mode\": \"saturation\" }],\n [\"mix-blend-color\", { \"mix-blend-mode\": \"color\" }],\n [\"mix-blend-luminosity\", { \"mix-blend-mode\": \"luminosity\" }],\n [\"mix-blend-plus-lighter\", { \"mix-blend-mode\": \"plus-lighter\" }],\n [\"mix-blend-normal\", { \"mix-blend-mode\": \"normal\" }],\n ...makeGlobalStaticRules(\"mix-blend\")\n];\nconst dynamicViewportHeight = [\n [\"min-h-dvh\", { \"min-height\": \"100dvh\" }],\n [\"min-h-svh\", { \"min-height\": \"100svh\" }],\n [\"min-h-lvh\", { \"min-height\": \"100lvh\" }],\n [\"h-dvh\", { height: \"100dvh\" }],\n [\"h-svh\", { height: \"100svh\" }],\n [\"h-lvh\", { height: \"100lvh\" }],\n [\"max-h-dvh\", { \"max-height\": \"100dvh\" }],\n [\"max-h-svh\", { \"max-height\": \"100svh\" }],\n [\"max-h-lvh\", { \"max-height\": \"100lvh\" }]\n];\n\nconst borderSpacingBase = {\n \"--un-border-spacing-x\": 0,\n \"--un-border-spacing-y\": 0\n};\nconst borderSpacingProperty = \"var(--un-border-spacing-x) var(--un-border-spacing-y)\";\nconst tables = [\n // displays\n [\"inline-table\", { display: \"inline-table\" }],\n [\"table\", { display: \"table\" }],\n [\"table-caption\", { display: \"table-caption\" }],\n [\"table-cell\", { display: \"table-cell\" }],\n [\"table-column\", { display: \"table-column\" }],\n [\"table-column-group\", { display: \"table-column-group\" }],\n [\"table-footer-group\", { display: \"table-footer-group\" }],\n [\"table-header-group\", { display: \"table-header-group\" }],\n [\"table-row\", { display: \"table-row\" }],\n [\"table-row-group\", { display: \"table-row-group\" }],\n // layouts\n [\"border-collapse\", { \"border-collapse\": \"collapse\" }],\n [\"border-separate\", { \"border-collapse\": \"separate\" }],\n [/^border-spacing-(.+)$/, ([, s], { theme }) => {\n const v = theme.spacing?.[s] ?? h.bracket.cssvar.global.auto.fraction.rem(s);\n if (v != null) {\n return {\n \"--un-border-spacing-x\": v,\n \"--un-border-spacing-y\": v,\n \"border-spacing\": borderSpacingProperty\n };\n }\n }, { autocomplete: [\"border-spacing\", \"border-spacing-$spacing\"] }],\n [/^border-spacing-([xy])-(.+)$/, ([, d, s], { theme }) => {\n const v = theme.spacing?.[s] ?? h.bracket.cssvar.global.auto.fraction.rem(s);\n if (v != null) {\n return {\n [`--un-border-spacing-${d}`]: v,\n \"border-spacing\": borderSpacingProperty\n };\n }\n }, { autocomplete: [\"border-spacing-(x|y)\", \"border-spacing-(x|y)-$spacing\"] }],\n [\"caption-top\", { \"caption-side\": \"top\" }],\n [\"caption-bottom\", { \"caption-side\": \"bottom\" }],\n [\"table-auto\", { \"table-layout\": \"auto\" }],\n [\"table-fixed\", { \"table-layout\": \"fixed\" }],\n [\"table-empty-cells-visible\", { \"empty-cells\": \"show\" }],\n [\"table-empty-cells-hidden\", { \"empty-cells\": \"hide\" }]\n];\n\nconst variablesAbbrMap = {\n \"bg-blend\": \"background-blend-mode\",\n \"bg-clip\": \"-webkit-background-clip\",\n \"bg-gradient\": \"linear-gradient\",\n \"bg-image\": \"background-image\",\n \"bg-origin\": \"background-origin\",\n \"bg-position\": \"background-position\",\n \"bg-repeat\": \"background-repeat\",\n \"bg-size\": \"background-size\",\n \"mix-blend\": \"mix-blend-mode\",\n \"object\": \"object-fit\",\n \"object-position\": \"object-position\",\n \"write\": \"writing-mode\",\n \"write-orient\": \"text-orientation\"\n};\nconst cssVariables = [\n [/^(.+?)-(\\$.+)$/, ([, name, varname]) => {\n const prop = variablesAbbrMap[name];\n if (prop)\n return { [prop]: h.cssvar(varname) };\n }]\n];\n\nconst divides = [\n // divides\n [/^divide-?([xy])$/, handlerDivide, { autocomplete: [\"divide-(x|y|block|inline)\", \"divide-(x|y|block|inline)-reverse\", \"divide-(x|y|block|inline)-$lineWidth\"] }],\n [/^divide-?([xy])-?(.+)$/, handlerDivide],\n [/^divide-?([xy])-reverse$/, ([, d]) => ({ [`--un-divide-${d}-reverse`]: 1 })],\n [/^divide-(block|inline)$/, handlerDivide],\n [/^divide-(block|inline)-(.+)$/, handlerDivide],\n [/^divide-(block|inline)-reverse$/, ([, d]) => ({ [`--un-divide-${d}-reverse`]: 1 })],\n // color & opacity\n [/^divide-(.+)$/, colorResolver(\"border-color\", \"divide\", \"borderColor\"), { autocomplete: \"divide-$colors\" }],\n [/^divide-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ \"--un-divide-opacity\": h.bracket.percent(opacity) }), { autocomplete: [\"divide-(op|opacity)\", \"divide-(op|opacity)-<percent>\"] }],\n // styles\n ...borderStyles.map((style) => [`divide-${style}`, { \"border-style\": style }])\n];\nfunction handlerDivide([, d, s], { theme }) {\n let v = theme.lineWidth?.[s || \"DEFAULT\"] ?? h.bracket.cssvar.px(s || \"1\");\n if (v != null) {\n if (v === \"0\")\n v = \"0px\";\n const results = directionMap[d].map((item) => {\n const key = `border${item}-width`;\n const value = item.endsWith(\"right\") || item.endsWith(\"bottom\") ? `calc(${v} * var(--un-divide-${d}-reverse))` : `calc(${v} * calc(1 - var(--un-divide-${d}-reverse)))`;\n return [key, value];\n });\n if (results) {\n return [\n [`--un-divide-${d}-reverse`, 0],\n ...results\n ];\n }\n }\n}\n\nconst lineClamps = [\n [/^line-clamp-(\\d+)$/, ([, v]) => ({\n \"overflow\": \"hidden\",\n \"display\": \"-webkit-box\",\n \"-webkit-box-orient\": \"vertical\",\n \"-webkit-line-clamp\": v,\n \"line-clamp\": v\n }), { autocomplete: [\"line-clamp\", \"line-clamp-<num>\"] }],\n ...[\"none\", ...globalKeywords].map((keyword) => [`line-clamp-${keyword}`, {\n \"overflow\": \"visible\",\n \"display\": \"block\",\n \"-webkit-box-orient\": \"horizontal\",\n \"-webkit-line-clamp\": keyword,\n \"line-clamp\": keyword\n }])\n];\n\nconst fontVariantNumericBase = {\n \"--un-ordinal\": varEmpty,\n \"--un-slashed-zero\": varEmpty,\n \"--un-numeric-figure\": varEmpty,\n \"--un-numeric-spacing\": varEmpty,\n \"--un-numeric-fraction\": varEmpty\n};\nfunction toEntries(entry) {\n return {\n ...entry,\n \"font-variant-numeric\": \"var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)\"\n };\n}\nconst fontVariantNumeric = [\n [/^ordinal$/, () => toEntries({ \"--un-ordinal\": \"ordinal\" }), { autocomplete: \"ordinal\" }],\n [/^slashed-zero$/, () => toEntries({ \"--un-slashed-zero\": \"slashed-zero\" }), { autocomplete: \"slashed-zero\" }],\n [/^lining-nums$/, () => toEntries({ \"--un-numeric-figure\": \"lining-nums\" }), { autocomplete: \"lining-nums\" }],\n [/^oldstyle-nums$/, () => toEntries({ \"--un-numeric-figure\": \"oldstyle-nums\" }), { autocomplete: \"oldstyle-nums\" }],\n [/^proportional-nums$/, () => toEntries({ \"--un-numeric-spacing\": \"proportional-nums\" }), { autocomplete: \"proportional-nums\" }],\n [/^tabular-nums$/, () => toEntries({ \"--un-numeric-spacing\": \"tabular-nums\" }), { autocomplete: \"tabular-nums\" }],\n [/^diagonal-fractions$/, () => toEntries({ \"--un-numeric-fraction\": \"diagonal-fractions\" }), { autocomplete: \"diagonal-fractions\" }],\n [/^stacked-fractions$/, () => toEntries({ \"--un-numeric-fraction\": \"stacked-fractions\" }), { autocomplete: \"stacked-fractions\" }],\n [\"normal-nums\", { \"font-variant-numeric\": \"normal\" }]\n];\n\nconst touchActionBase = {\n \"--un-pan-x\": varEmpty,\n \"--un-pan-y\": varEmpty,\n \"--un-pinch-zoom\": varEmpty\n};\nconst touchActionProperty = \"var(--un-pan-x) var(--un-pan-y) var(--un-pinch-zoom)\";\nconst touchActions = [\n [/^touch-pan-(x|left|right)$/, ([, d]) => ({\n \"--un-pan-x\": `pan-${d}`,\n \"touch-action\": touchActionProperty\n }), { autocomplete: [\"touch-pan\", \"touch-pan-(x|left|right|y|up|down)\"] }],\n [/^touch-pan-(y|up|down)$/, ([, d]) => ({\n \"--un-pan-y\": `pan-${d}`,\n \"touch-action\": touchActionProperty\n })],\n [\"touch-pinch-zoom\", {\n \"--un-pinch-zoom\": \"pinch-zoom\",\n \"touch-action\": touchActionProperty\n }],\n [\"touch-auto\", { \"touch-action\": \"auto\" }],\n [\"touch-manipulation\", { \"touch-action\": \"manipulation\" }],\n [\"touch-none\", { \"touch-action\": \"none\" }],\n ...makeGlobalStaticRules(\"touch\", \"touch-action\")\n];\n\nconst scrollSnapTypeBase = {\n \"--un-scroll-snap-strictness\": \"proximity\"\n};\nconst scrolls = [\n // snap type\n [/^snap-(x|y)$/, ([, d]) => ({\n \"scroll-snap-type\": `${d} var(--un-scroll-snap-strictness)`\n }), { autocomplete: \"snap-(x|y|both)\" }],\n [/^snap-both$/, () => ({\n \"scroll-snap-type\": \"both var(--un-scroll-snap-strictness)\"\n })],\n [\"snap-mandatory\", { \"--un-scroll-snap-strictness\": \"mandatory\" }],\n [\"snap-proximity\", { \"--un-scroll-snap-strictness\": \"proximity\" }],\n [\"snap-none\", { \"scroll-snap-type\": \"none\" }],\n // snap align\n [\"snap-start\", { \"scroll-snap-align\": \"start\" }],\n [\"snap-end\", { \"scroll-snap-align\": \"end\" }],\n [\"snap-center\", { \"scroll-snap-align\": \"center\" }],\n [\"snap-align-none\", { \"scroll-snap-align\": \"none\" }],\n // snap stop\n [\"snap-normal\", { \"scroll-snap-stop\": \"normal\" }],\n [\"snap-always\", { \"scroll-snap-stop\": \"always\" }],\n // scroll margin\n [/^scroll-ma?()-?(.+)$/, directionSize(\"scroll-margin\"), {\n autocomplete: [\n \"scroll-(m|p|ma|pa|block|inline)\",\n \"scroll-(m|p|ma|pa|block|inline)-$spacing\",\n \"scroll-(m|p|ma|pa|block|inline)-(x|y|r|l|t|b|bs|be|is|ie)\",\n \"scroll-(m|p|ma|pa|block|inline)-(x|y|r|l|t|b|bs|be|is|ie)-$spacing\"\n ]\n }],\n [/^scroll-m-?([xy])-?(.+)$/, directionSize(\"scroll-margin\")],\n [/^scroll-m-?([rltb])-?(.+)$/, directionSize(\"scroll-margin\")],\n [/^scroll-m-(block|inline)-(.+)$/, directionSize(\"scroll-margin\")],\n [/^scroll-m-?([bi][se])-?(.+)$/, directionSize(\"scroll-margin\")],\n // scroll padding\n [/^scroll-pa?()-?(.+)$/, directionSize(\"scroll-padding\")],\n [/^scroll-p-?([xy])-?(.+)$/, directionSize(\"scroll-padding\")],\n [/^scroll-p-?([rltb])-?(.+)$/, directionSize(\"scroll-padding\")],\n [/^scroll-p-(block|inline)-(.+)$/, directionSize(\"scroll-padding\")],\n [/^scroll-p-?([bi][se])-?(.+)$/, directionSize(\"scroll-padding\")]\n];\n\nconst placeholders = [\n // The prefix `$ ` is intentional. This rule is not to be matched directly from user-generated token.\n // See variants/placeholder.\n [/^\\$ placeholder-(.+)$/, colorResolver(\"color\", \"placeholder\", \"accentColor\"), { autocomplete: \"placeholder-$colors\" }],\n [/^\\$ placeholder-op(?:acity)?-?(.+)$/, ([, opacity]) => ({ \"--un-placeholder-opacity\": h.bracket.percent(opacity) }), { autocomplete: [\"placeholder-(op|opacity)\", \"placeholder-(op|opacity)-<percent>\"] }]\n];\n\nconst viewTransition = [\n [/^view-transition-([\\w-]+)$/, ([, name]) => {\n return { \"view-transition-name\": name };\n }]\n];\n\nconst rules = [\n _.cssVariables,\n cssVariables,\n _.cssProperty,\n container,\n _.contains,\n screenReadersAccess,\n _.pointerEvents,\n _.appearances,\n _.positions,\n _.insets,\n lineClamps,\n isolations,\n _.zIndexes,\n _.orders,\n _.grids,\n _.floats,\n _.margins,\n _.boxSizing,\n _.displays,\n _.aspectRatio,\n _.sizes,\n _.flex,\n tables,\n _.transforms,\n animations,\n _.cursors,\n touchActions,\n _.userSelects,\n _.resizes,\n scrolls,\n listStyle,\n _.appearance,\n columns,\n _.placements,\n _.alignments,\n _.justifies,\n _.gaps,\n _.flexGridJustifiesAlignments,\n spaces,\n divides,\n _.overflows,\n overscrolls,\n scrollBehaviors,\n _.textOverflows,\n _.whitespaces,\n _.breaks,\n _.borders,\n _.bgColors,\n backgroundStyles,\n _.svgUtilities,\n objectPositions,\n _.paddings,\n _.textAligns,\n _.textIndents,\n _.textWraps,\n _.verticalAligns,\n _.fonts,\n _.textTransforms,\n textTransforms,\n _.fontStyles,\n fontVariantNumeric,\n _.textDecorations,\n _.fontSmoothings,\n _.tabSizes,\n _.textStrokes,\n _.textShadows,\n hyphens,\n writingModes,\n writingOrientations,\n carets,\n accents,\n _.opacity,\n backgroundBlendModes,\n mixBlendModes,\n _.boxShadows,\n _.outline,\n _.rings,\n imageRenderings,\n filters,\n _.transitions,\n _.willChange,\n _.contentVisibility,\n _.contents,\n placeholders,\n _.containerParent,\n viewTransition,\n dynamicViewportHeight,\n // should be the last\n _.questionMark\n].flat(1);\n\nconst shortcuts = [\n ...containerShortcuts\n];\n\nconst theme = {\n ...theme$1,\n aria: {\n busy: 'busy=\"true\"',\n checked: 'checked=\"true\"',\n disabled: 'disabled=\"true\"',\n expanded: 'expanded=\"true\"',\n hidden: 'hidden=\"true\"',\n pressed: 'pressed=\"true\"',\n readonly: 'readonly=\"true\"',\n required: 'required=\"true\"',\n selected: 'selected=\"true\"'\n },\n animation: {\n keyframes: {\n \"pulse\": \"{0%, 100% {opacity:1} 50% {opacity:.5}}\",\n \"bounce\": \"{0%, 100% {transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1)} 50% {transform:translateY(0);animation-timing-function:cubic-bezier(0,0,0.2,1)}}\",\n \"spin\": \"{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}\",\n \"ping\": \"{0%{transform:scale(1);opacity:1}75%,100%{transform:scale(2);opacity:0}}\",\n \"bounce-alt\": \"{from,20%,53%,80%,to{animation-timing-function:cubic-bezier(0.215,0.61,0.355,1);transform:translate3d(0,0,0)}40%,43%{animation-timing-function:cubic-bezier(0.755,0.05,0.855,0.06);transform:translate3d(0,-30px,0)}70%{animation-timing-function:cubic-bezier(0.755,0.05,0.855,0.06);transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}\",\n \"flash\": \"{from,50%,to{opacity:1}25%,75%{opacity:0}}\",\n \"pulse-alt\": \"{from{transform:scale3d(1,1,1)}50%{transform:scale3d(1.05,1.05,1.05)}to{transform:scale3d(1,1,1)}}\",\n \"rubber-band\": \"{from{transform:scale3d(1,1,1)}30%{transform:scale3d(1.25,0.75,1)}40%{transform:scale3d(0.75,1.25,1)}50%{transform:scale3d(1.15,0.85,1)}65%{transform:scale3d(0.95,1.05,1)}75%{transform:scale3d(1.05,0.95,1)}to{transform:scale3d(1,1,1)}}\",\n \"shake-x\": \"{from,to{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(-10px,0,0)}20%,40%,60%,80%{transform:translate3d(10px,0,0)}}\",\n \"shake-y\": \"{from,to{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(0,-10px,0)}20%,40%,60%,80%{transform:translate3d(0,10px,0)}}\",\n \"head-shake\": \"{0%{transform:translateX(0)}6.5%{transform:translateX(-6px) rotateY(-9deg)}18.5%{transform:translateX(5px) rotateY(7deg)}31.5%{transform:translateX(-3px) rotateY(-5deg)}43.5%{transform:translateX(2px) rotateY(3deg)}50%{transform:translateX(0)}}\",\n \"swing\": \"{20%{transform:rotate3d(0,0,1,15deg)}40%{transform:rotate3d(0,0,1,-10deg)}60%{transform:rotate3d(0,0,1,5deg)}80%{transform:rotate3d(0,0,1,-5deg)}to{transform:rotate3d(0,0,1,0deg)}}\",\n \"tada\": \"{from{transform:scale3d(1,1,1)}10%,20%{transform:scale3d(0.9,0.9,0.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}to{transform:scale3d(1,1,1)}}\",\n \"wobble\": \"{from{transform:translate3d(0,0,0)}15%{transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}to{transform:translate3d(0,0,0)}}\",\n \"jello\": \"{from,11.1%,to{transform:translate3d(0,0,0)}22.2%{transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{transform:skewX(6.25deg) skewY(6.25deg)}44.4%{transform:skewX(-3.125deg)skewY(-3.125deg)}55.5%{transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{transform:skewX(-0.78125deg) skewY(-0.78125deg)}77.7%{transform:skewX(0.390625deg) skewY(0.390625deg)}88.8%{transform:skewX(-0.1953125deg) skewY(-0.1953125deg)}}\",\n \"heart-beat\": \"{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}\",\n \"hinge\": \"{0%{transform-origin:top left;animation-timing-function:ease-in-out}20%,60%{transform:rotate3d(0,0,1,80deg);transform-origin:top left;animation-timing-function:ease-in-out}40%,80%{transform:rotate3d(0,0,1,60deg);transform-origin:top left;animation-timing-function:ease-in-out}to{transform:translate3d(0,700px,0);opacity:0}}\",\n \"jack-in-the-box\": \"{from{opacity:0;transform-origin:center bottom;transform:scale(0.1) rotate(30deg)}50%{transform:rotate(-10deg)}70%{transform:rotate(3deg)}to{transform:scale(1)}}\",\n \"light-speed-in-left\": \"{from{opacity:0;transform:translate3d(-100%,0,0) skewX(-30deg)}60%{opacity:1;transform:skewX(20deg)}80%{transform:skewX(-5deg)}to{transform:translate3d(0,0,0)}}\",\n \"light-speed-in-right\": \"{from{opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{opacity:1;transform:skewX(20deg)}80%{transform:skewX(-5deg)}to{transform:translate3d(0,0,0)}}\",\n \"light-speed-out-left\": \"{from{opacity:1}to{opacity:0;transform:translate3d(-100%,0,0) skewX(30deg)}}\",\n \"light-speed-out-right\": \"{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}\",\n \"flip\": \"{from{transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,-360deg);animation-timing-function:ease-out}40%{transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);animation-timing-function:ease-out}50%{transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);animation-timing-function:ease-in}80%{transform:perspective(400px) scale3d(0.95,0.95,0.95) translate3d(0,0,0) rotate3d(0,1,0,0deg);animation-timing-function:ease-in}to{transform:perspective(400px) scale3d(1,1,1) translate3d(0,0,0) rotate3d(0,1,0,0deg);animation-timing-function:ease-in}}\",\n \"flip-in-x\": \"{from{transform:perspective(400px) rotate3d(1,0,0,90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotate3d(1,0,0,-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{transform:perspective(400px)}}\",\n \"flip-in-y\": \"{from{transform:perspective(400px) rotate3d(0,1,0,90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotate3d(0,1,0,-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{transform:perspective(400px)}}\",\n \"flip-out-x\": \"{from{transform:perspective(400px)}30%{transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}\",\n \"flip-out-y\": \"{from{transform:perspective(400px)}30%{transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}\",\n \"rotate-in\": \"{from{transform-origin:center;transform:rotate3d(0,0,1,-200deg);opacity:0}to{transform-origin:center;transform:translate3d(0,0,0);opacity:1}}\",\n \"rotate-in-down-left\": \"{from{transform-origin:left bottom;transform:rotate3d(0,0,1,-45deg);opacity:0}to{transform-origin:left bottom;transform:translate3d(0,0,0);opacity:1}}\",\n \"rotate-in-down-right\": \"{from{transform-origin:right bottom;transform:rotate3d(0,0,1,45deg);opacity:0}to{transform-origin:right bottom;transform:translate3d(0,0,0);opacity:1}}\",\n \"rotate-in-up-left\": \"{from{transform-origin:left top;transform:rotate3d(0,0,1,45deg);opacity:0}to{transform-origin:left top;transform:translate3d(0,0,0);opacity:1}}\",\n \"rotate-in-up-right\": \"{from{transform-origin:right bottom;transform:rotate3d(0,0,1,-90deg);opacity:0}to{transform-origin:right bottom;transform:translate3d(0,0,0);opacity:1}}\",\n \"rotate-out\": \"{from{transform-origin:center;opacity:1}to{transform-origin:center;transform:rotate3d(0,0,1,200deg);opacity:0}}\",\n \"rotate-out-down-left\": \"{from{transform-origin:left bottom;opacity:1}to{transform-origin:left bottom;transform:rotate3d(0,0,1,45deg);opacity:0}}\",\n \"rotate-out-down-right\": \"{from{transform-origin:right bottom;opacity:1}to{transform-origin:right bottom;transform:rotate3d(0,0,1,-45deg);opacity:0}}\",\n \"rotate-out-up-left\": \"{from{transform-origin:left bottom;opacity:1}to{transform-origin:left bottom;transform:rotate3d(0,0,1,-45deg);opacity:0}}\",\n \"rotate-out-up-right\": \"{from{transform-origin:right bottom;opacity:1}to{transform-origin:left bottom;transform:rotate3d(0,0,1,90deg);opacity:0}}\",\n \"roll-in\": \"{from{opacity:0;transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;transform:translate3d(0,0,0)}}\",\n \"roll-out\": \"{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}\",\n \"zoom-in\": \"{from{opacity:0;transform:scale3d(0.3,0.3,0.3)}50%{opacity:1}}\",\n \"zoom-in-down\": \"{from{opacity:0;transform:scale3d(0.1,0.1,0.1) translate3d(0,-1000px,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}60%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}\",\n \"zoom-in-left\": \"{from{opacity:0;transform:scale3d(0.1,0.1,0.1) translate3d(-1000px,0,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}60%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(10px,0,0);animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}\",\n \"zoom-in-right\": \"{from{opacity:0;transform:scale3d(0.1,0.1,0.1) translate3d(1000px,0,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}60%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(-10px,0,0);animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}\",\n \"zoom-in-up\": \"{from{opacity:0;transform:scale3d(0.1,0.1,0.1) translate3d(0,1000px,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}60%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}\",\n \"zoom-out\": \"{from{opacity:1}50%{opacity:0;transform:scale3d(0.3,0.3,0.3)}to{opacity:0}}\",\n \"zoom-out-down\": \"{40%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}to{opacity:0;transform:scale3d(0.1,0.1,0.1) translate3d(0,2000px,0);transform-origin:center bottom;animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}\",\n \"zoom-out-left\": \"{40%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(42px,0,0)}to{opacity:0;transform:scale(0.1) translate3d(-2000px,0,0);transform-origin:left center}}\",\n \"zoom-out-right\": \"{40%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(-42px,0,0)}to{opacity:0;transform:scale(0.1) translate3d(2000px,0,0);transform-origin:right center}}\",\n \"zoom-out-up\": \"{40%{opacity:1;transform:scale3d(0.475,0.475,0.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}to{opacity:0;transform:scale3d(0.1,0.1,0.1) translate3d(0,-2000px,0);transform-origin:center bottom;animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}\",\n \"bounce-in\": \"{from,20%,40%,60%,80%,to{animation-timing-function:ease-in-out}0%{opacity:0;transform:scale3d(0.3,0.3,0.3)}20%{transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(0.9,0.9,0.9)}60%{transform:scale3d(1.03,1.03,1.03);opacity:1}80%{transform:scale3d(0.97,0.97,0.97)}to{opacity:1;transform:scale3d(1,1,1)}}\",\n \"bounce-in-down\": \"{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215,0.61,0.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:translate3d(0,0,0)}}\",\n \"bounce-in-left\": \"{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215,0.61,0.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:translate3d(0,0,0)}}\",\n \"bounce-in-right\": \"{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215,0.61,0.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:translate3d(0,0,0)}}\",\n \"bounce-in-up\": \"{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(0.215,0.61,0.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translate3d(0,0,0)}}\",\n \"bounce-out\": \"{20%{transform:scale3d(0.9,0.9,0.9)}50%,55%{opacity:1;transform:scale3d(1.1,1.1,1.1)}to{opacity:0;transform:scale3d(0.3,0.3,0.3)}}\",\n \"bounce-out-down\": \"{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}\",\n \"bounce-out-left\": \"{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}\",\n \"bounce-out-right\": \"{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}\",\n \"bounce-out-up\": \"{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}\",\n \"slide-in-down\": \"{from{transform:translate3d(0,-100%,0);visibility:visible}to{transform:translate3d(0,0,0)}}\",\n \"slide-in-left\": \"{from{transform:translate3d(-100%,0,0);visibility:visible}to{transform:translate3d(0,0,0)}}\",\n \"slide-in-right\": \"{from{transform:translate3d(100%,0,0);visibility:visible}to{transform:translate3d(0,0,0)}}\",\n \"slide-in-up\": \"{from{transform:translate3d(0,100%,0);visibility:visible}to{transform:translate3d(0,0,0)}}\",\n \"slide-out-down\": \"{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(0,100%,0)}}\",\n \"slide-out-left\": \"{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(-100%,0,0)}}\",\n \"slide-out-right\": \"{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(100%,0,0)}}\",\n \"slide-out-up\": \"{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(0,-100%,0)}}\",\n \"fade-in\": \"{from{opacity:0}to{opacity:1}}\",\n \"fade-in-down\": \"{from{opacity:0;transform:translate3d(0,-100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}\",\n \"fade-in-down-big\": \"{from{opacity:0;transform:translate3d(0,-2000px,0)}to{opacity:1;transform:translate3d(0,0,0)}}\",\n \"fade-in-left\": \"{from{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}\",\n \"fade-in-left-big\": \"{from{opacity:0;transform:translate3d(-2000px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}\",\n \"fade-in-right\": \"{from{opacity:0;transform:translate3d(100%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}\",\n \"fade-in-right-big\": \"{from{opacity:0;transform:translate3d(2000px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}\",\n \"fade-in-up\": \"{from{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}\",\n \"fade-in-up-big\": \"{from{opacity:0;transform:translate3d(0,2000px,0)}to{opacity:1;transform:translate3d(0,0,0)}}\",\n \"fade-in-top-left\": \"{from{opacity:0;transform:translate3d(-100%,-100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}\",\n \"fade-in-top-right\": \"{from{opacity:0;transform:translate3d(100%,-100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}\",\n \"fade-in-bottom-left\": \"{from{opacity:0;transform:translate3d(-100%,100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}\",\n \"fade-in-bottom-right\": \"{from{opacity:0;transform:translate3d(100%,100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}\",\n \"fade-out\": \"{from{opacity:1}to{opacity:0}}\",\n \"fade-out-down\": \"{from{opacity:1}to{opacity:0;transform:translate3d(0,100%,0)}}\",\n \"fade-out-down-big\": \"{from{opacity:1}to{opacity:0;transform:translate3d(0,2000px,0)}}\",\n \"fade-out-left\": \"{from{opacity:1}to{opacity:0;transform:translate3d(-100%,0,0)}}\",\n \"fade-out-left-big\": \"{from{opacity:1}to{opacity:0;transform:translate3d(-2000px,0,0)}}\",\n \"fade-out-right\": \"{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0)}}\",\n \"fade-out-right-big\": \"{from{opacity:1}to{opacity:0;transform:translate3d(2000px,0,0)}}\",\n \"fade-out-up\": \"{from{opacity:1}to{opacity:0;transform:translate3d(0,-100%,0)}}\",\n \"fade-out-up-big\": \"{from{opacity:1}to{opacity:0;transform:translate3d(0,-2000px,0)}}\",\n \"fade-out-top-left\": \"{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(-100%,-100%,0)}}\",\n \"fade-out-top-right\": \"{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(100%,-100%,0)}}\",\n \"fade-out-bottom-left\": \"{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(-100%,100%,0)}}\",\n \"fade-out-bottom-right\": \"{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(100%,100%,0)}}\",\n \"back-in-up\": \"{0%{opacity:0.7;transform:translateY(1200px) scale(0.7)}80%{opacity:0.7;transform:translateY(0px) scale(0.7)}100%{opacity:1;transform:scale(1)}}\",\n \"back-in-down\": \"{0%{opacity:0.7;transform:translateY(-1200px) scale(0.7)}80%{opacity:0.7;transform:translateY(0px) scale(0.7)}100%{opacity:1;transform:scale(1)}}\",\n \"back-in-right\": \"{0%{opacity:0.7;transform:translateX(2000px) scale(0.7)}80%{opacity:0.7;transform:translateY(0px) scale(0.7)}100%{opacity:1;transform:scale(1)}}\",\n \"back-in-left\": \"{0%{opacity:0.7;transform:translateX(-2000px) scale(0.7)}80%{opacity:0.7;transform:translateX(0px) scale(0.7)}100%{opacity:1;transform:scale(1)}}\",\n \"back-out-up\": \"{0%{opacity:1;transform:scale(1)}80%{opacity:0.7;transform:translateY(0px) scale(0.7)}100%{opacity:0.7;transform:translateY(-700px) scale(0.7)}}\",\n \"back-out-down\": \"{0%{opacity:1;transform:scale(1)}80%{opacity:0.7;transform:translateY(0px) scale(0.7)}100%{opacity:0.7;transform:translateY(700px) scale(0.7)}}\",\n \"back-out-right\": \"{0%{opacity:1;transform:scale(1)}80%{opacity:0.7;transform:translateY(0px) scale(0.7)}100%{opacity:0.7;transform:translateX(2000px) scale(0.7)}}\",\n \"back-out-left\": \"{0%{opacity:1;transform:scale(1)}80%{opacity:0.7;transform:translateX(-2000px) scale(0.7)}100%{opacity:0.7;transform:translateY(-700px) scale(0.7)}}\"\n },\n durations: {\n \"pulse\": \"2s\",\n \"heart-beat\": \"1.3s\",\n \"bounce-in\": \"0.75s\",\n \"bounce-out\": \"0.75s\",\n \"flip-out-x\": \"0.75s\",\n \"flip-out-y\": \"0.75s\",\n \"hinge\": \"2s\"\n },\n timingFns: {\n \"pulse\": \"cubic-bezier(0.4,0,.6,1)\",\n \"ping\": \"cubic-bezier(0,0,.2,1)\",\n \"head-shake\": \"ease-in-out\",\n \"heart-beat\": \"ease-in-out\",\n \"pulse-alt\": \"ease-in-out\",\n \"light-speed-in-left\": \"ease-out\",\n \"light-speed-in-right\": \"ease-out\",\n \"light-speed-out-left\": \"ease-in\",\n \"light-speed-out-right\": \"ease-in\"\n },\n properties: {\n \"bounce-alt\": { \"transform-origin\": \"center bottom\" },\n \"jello\": { \"transform-origin\": \"center\" },\n \"swing\": { \"transform-origin\": \"top center\" },\n \"flip\": { \"backface-visibility\": \"visible\" },\n \"flip-in-x\": { \"backface-visibility\": \"visible !important\" },\n \"flip-in-y\": { \"backface-visibility\": \"visible !important\" },\n \"flip-out-x\": { \"backface-visibility\": \"visible !important\" },\n \"flip-out-y\": { \"backface-visibility\": \"visible !important\" },\n \"rotate-in\": { \"transform-origin\": \"center\" },\n \"rotate-in-down-left\": { \"transform-origin\": \"left bottom\" },\n \"rotate-in-down-right\": { \"transform-origin\": \"right bottom\" },\n \"rotate-in-up-left\": { \"transform-origin\": \"left bottom\" },\n \"rotate-in-up-right\": { \"transform-origin\": \"right bottom\" },\n \"rotate-out\": { \"transform-origin\": \"center\" },\n \"rotate-out-down-left\": { \"transform-origin\": \"left bottom\" },\n \"rotate-out-down-right\": { \"transform-origin\": \"right bottom\" },\n \"rotate-out-up-left\": { \"transform-origin\": \"left bottom\" },\n \"rotate-out-up-right\": { \"transform-origin\": \"right bottom\" },\n \"hinge\": { \"transform-origin\": \"top left\" },\n \"zoom-out-down\": { \"transform-origin\": \"center bottom\" },\n \"zoom-out-left\": { \"transform-origin\": \"left center\" },\n \"zoom-out-right\": { \"transform-origin\": \"right center\" },\n \"zoom-out-up\": { \"transform-origin\": \"center bottom\" }\n },\n counts: {\n \"spin\": \"infinite\",\n \"ping\": \"infinite\",\n \"pulse\": \"infinite\",\n \"pulse-alt\": \"infinite\",\n \"bounce\": \"infinite\",\n \"bounce-alt\": \"infinite\"\n }\n },\n media: {\n portrait: \"(orientation: portrait)\",\n landscape: \"(orientation: landscape)\",\n os_dark: \"(prefers-color-scheme: dark)\",\n os_light: \"(prefers-color-scheme: light)\",\n motion_ok: \"(prefers-reduced-motion: no-preference)\",\n motion_not_ok: \"(prefers-reduced-motion: reduce)\",\n high_contrast: \"(prefers-contrast: high)\",\n low_contrast: \"(prefers-contrast: low)\",\n opacity_ok: \"(prefers-reduced-transparency: no-preference)\",\n opacity_not_ok: \"(prefers-reduced-transparency: reduce)\",\n use_data_ok: \"(prefers-reduced-data: no-preference)\",\n use_data_not_ok: \"(prefers-reduced-data: reduce)\",\n touch: \"(hover: none) and (pointer: coarse)\",\n stylus: \"(hover: none) and (pointer: fine)\",\n pointer: \"(hover) and (pointer: coarse)\",\n mouse: \"(hover) and (pointer: fine)\",\n hd_color: \"(dynamic-range: high)\"\n },\n supports: {\n grid: \"(display: grid)\"\n },\n preflightBase: {\n ...transformBase,\n ...touchActionBase,\n ...scrollSnapTypeBase,\n ...fontVariantNumericBase,\n ...borderSpacingBase,\n ...boxShadowsBase,\n ...ringBase,\n ...filterBase,\n ...backdropFilterBase\n }\n};\n\nconst variantCombinators = [\n variantMatcher(\"svg\", (input) => ({ selector: `${input.selector} svg` }))\n];\n\nconst variantColorsScheme = [\n variantMatcher(\".dark\", (input) => ({ prefix: `.dark $$ ${input.prefix}` })),\n variantMatcher(\".light\", (input) => ({ prefix: `.light $$ ${input.prefix}` })),\n variantParentMatcher(\"@dark\", \"@media (prefers-color-scheme: dark)\"),\n variantParentMatcher(\"@light\", \"@media (prefers-color-scheme: light)\")\n];\n\nconst variantContrasts = [\n variantParentMatcher(\"contrast-more\", \"@media (prefers-contrast: more)\"),\n variantParentMatcher(\"contrast-less\", \"@media (prefers-contrast: less)\")\n];\nconst variantMotions = [\n variantParentMatcher(\"motion-reduce\", \"@media (prefers-reduced-motion: reduce)\"),\n variantParentMatcher(\"motion-safe\", \"@media (prefers-reduced-motion: no-preference)\")\n];\nconst variantOrientations = [\n variantParentMatcher(\"landscape\", \"@media (orientation: landscape)\"),\n variantParentMatcher(\"portrait\", \"@media (orientation: portrait)\")\n];\n\nconst variantSpaceAndDivide = (matcher) => {\n if (matcher.startsWith(\"_\"))\n return;\n if (/space-[xy]-.+$/.test(matcher) || /divide-/.test(matcher)) {\n return {\n matcher,\n selector: (input) => {\n const not = \">:not([hidden])~:not([hidden])\";\n return input.includes(not) ? input : `${input}${not}`;\n }\n };\n }\n};\nconst variantStickyHover = [\n variantMatcher$1(\"@hover\", (input) => ({\n parent: `${input.parent ? `${input.parent} $$ ` : \"\"}@media (hover: hover) and (pointer: fine)`,\n selector: `${input.selector || \"\"}:hover`\n }))\n];\n\nconst placeholderModifier = (input, { theme }) => {\n const m = input.match(/^(.*)\\b(placeholder-)(.+)$/);\n if (m) {\n const [, pre = \"\", p, body] = m;\n if (hasParseableColor(body, theme, \"accentColor\") || hasOpacityValue(body)) {\n return {\n // Append `placeholder-$ ` (with space!) to the rule to be matched.\n // The `placeholder-` is added for placeholder variant processing, and\n // the `$ ` is added for rule matching after `placeholder-` is removed by the variant.\n // See rules/placeholder.\n matcher: `${pre}placeholder-$ ${p}${body}`\n };\n }\n }\n};\nfunction hasOpacityValue(body) {\n const match = body.match(/^op(?:acity)?-?(.+)$/);\n if (match && match[1] != null)\n return h.bracket.percent(match[1]) != null;\n return false;\n}\n\nfunction variants(options) {\n return [\n placeholderModifier,\n variantSpaceAndDivide,\n ...variants$1(options),\n ...variantContrasts,\n ...variantOrientations,\n ...variantMotions,\n ...variantCombinators,\n ...variantColorsScheme,\n ...variantStickyHover\n ];\n}\n\nfunction important(option) {\n if (option == null || option === false)\n return [];\n const wrapWithIs = (selector) => {\n if (selector.startsWith(\":is(\") && selector.endsWith(\")\"))\n return selector;\n if (selector.includes(\"::\"))\n return selector.replace(/(.*?)(\\s*::.*)/, \":is($1)$2\");\n return `:is(${selector})`;\n };\n return [\n option === true ? (util) => {\n util.entries.forEach((i) => {\n if (i[1] != null && !String(i[1]).endsWith(\"!important\"))\n i[1] += \" !important\";\n });\n } : (util) => {\n if (!util.selector.startsWith(option))\n util.selector = `${option} ${wrapWithIs(util.selector)}`;\n }\n ];\n}\n\nfunction postprocessors(options) {\n return [\n ...toArray(presetMini(options).postprocess),\n ...important(options.important)\n ];\n}\n\nconst presetWind = definePreset((options = {}) => {\n options.important = options.important ?? false;\n return {\n ...presetMini$1(options),\n name: \"@unocss/preset-wind\",\n theme,\n rules,\n shortcuts,\n variants: variants(options),\n postprocess: postprocessors(options)\n };\n});\n\nexport { presetWind as default, presetWind, rules, shortcuts, theme, variants };\n"
|
|
17
|
+
],
|
|
18
|
+
"mappings": "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BAA4B,EAAc,gBAAgB,CAAC,EAC5D,CAAC,6BAA8B,EAAc,gBAAgB,CAAC,EAC9D,CAAC,iCAAkC,EAAc,gBAAgB,CAAC,EAClE,CAAC,+BAAgC,EAAc,gBAAgB,CAAC,CAClE,EAEM,GAAe,CAGnB,CAAC,wBAAyB,EAAc,QAAS,cAAe,aAAa,EAAG,CAAE,aAAc,qBAAsB,CAAC,EACvH,CAAC,sCAAuC,GAAI,MAAc,CAAE,2BAA4B,EAAE,QAAQ,QAAQ,CAAO,CAAE,GAAI,CAAE,aAAc,CAAC,2BAA4B,oCAAoC,CAAE,CAAC,CAC7M,EAEM,GAAiB,CACrB,CAAC,6BAA8B,GAAI,KAAU,CAC3C,MAAO,CAAE,uBAAwB,CAAK,EACvC,CACH,EAEM,GAAQ,CACV,GACF,GACE,GACF,GACE,GACF,GACE,GACA,GACA,GACA,GACF,GACA,GACE,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACF,GACE,GACF,GACE,GACF,GACE,GACA,GACF,GACA,GACE,GACF,GACE,GACA,GACA,GACA,GACA,GACF,GACA,GACE,GACF,GACA,GACE,GACA,GACA,GACA,GACA,GACF,GACE,GACF,GACE,GACA,GACA,GACA,GACA,GACA,GACA,GACF,GACE,GACF,GACE,GACA,GACA,GACA,GACA,GACF,GACA,GACA,GACA,GACA,GACE,GACF,GACA,GACE,GACA,GACA,GACF,GACA,GACE,GACA,GACA,GACA,GACF,GACE,GACF,GACA,GAEE,EACJ,EAAE,KAAK,CAAC,EAEF,GAAY,CAChB,GAAG,EACL,EAEM,GAAQ,IACT,GACH,KAAM,CACJ,KAAM,cACN,QAAS,iBACT,SAAU,kBACV,SAAU,kBACV,OAAQ,gBACR,QAAS,iBACT,SAAU,kBACV,SAAU,kBACV,SAAU,iBACZ,EACA,UAAW,CACT,UAAW,CACT,MAAS,0CACT,OAAU,4KACV,KAAQ,6DACR,KAAQ,2EACR,aAAc,+VACd,MAAS,6CACT,YAAa,qGACb,cAAe,8OACf,UAAW,+IACX,UAAW,+IACX,aAAc,uPACd,MAAS,uLACT,KAAQ,iQACR,OAAU,o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",
|
|
19
|
+
"debugId": "30D03EEF8CAFA9C564756E2164756E21",
|
|
20
|
+
"names": []
|
|
21
|
+
}
|