@jant/core 0.3.40 → 1.0.0
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/README.md +21 -34
- package/bin/commands/assets/upload.js +247 -0
- package/bin/commands/collections.js +268 -0
- package/bin/commands/import-site.js +1169 -343
- package/bin/commands/media.js +302 -0
- package/bin/commands/migrate-text-attachments.js +183 -0
- package/bin/commands/migrate.js +263 -2
- package/bin/commands/posts.js +262 -0
- package/bin/commands/search.js +53 -0
- package/bin/commands/settings.js +93 -0
- package/bin/commands/site/export.js +34 -33
- package/bin/commands/site/{localize-media.js → pull-media.js} +17 -17
- package/bin/lib/d1-query.js +15 -3
- package/bin/lib/http-api.js +223 -0
- package/bin/lib/media-upload.js +206 -0
- package/bin/lib/migration-runner.js +64 -0
- package/bin/lib/runtime-target.js +7 -2
- package/bin/lib/site-media-parser.js +71 -16
- package/bin/lib/site-pull-media.js +698 -0
- package/bin/lib/site-snapshot.js +0 -1
- package/dist/app-B5db9mS0.js +5 -0
- package/dist/{app-CAtsuLLh.js → app-CwCepTko.js} +23749 -23059
- package/dist/client/.vite/manifest.json +3485 -0
- package/dist/client/_assets/chunks/02611a045a7fe83a12014e3debc9f731-BqEDtwXC.woff2 +0 -0
- package/dist/client/_assets/chunks/033466ef683afe931f7f520cfb42d928-BluLHEh9.woff2 +0 -0
- package/dist/client/_assets/chunks/04b8bde59cff68eeee74fb1914eb09c7-D5j2CLTt.woff2 +0 -0
- package/dist/client/_assets/chunks/057a6a98bda7fe57105ddaa99ec82015-DY_AoijT.woff2 +0 -0
- package/dist/client/_assets/chunks/05ac821472e235943ed1435e4bb8ecad-CUm8GiH6.woff2 +0 -0
- package/dist/client/_assets/chunks/05da12edb9d52210581dc6ec4541031f-BXAOx2XP.woff2 +0 -0
- package/dist/client/_assets/chunks/074c1f8483d5a4d8c45c8c5f3e4cbb32-CDqdMQm8.woff2 +0 -0
- package/dist/client/_assets/chunks/0968e4861204b51f62a2f8e9f15dd5e0-D5tLgF_8.woff2 +0 -0
- package/dist/client/_assets/chunks/0acd1fe2b2ea1ad1bfee7ae1fa139d27-BKK1m412.woff2 +0 -0
- package/dist/client/_assets/chunks/0c2ab6b295e55f356f8020d4e7747522-CkCQjQw3.woff2 +0 -0
- package/dist/client/_assets/chunks/0c5f9492af03a4fa42c784de94649de1-CQlJqksa.woff2 +0 -0
- package/dist/client/_assets/chunks/0d5dec931dc885f07fe5cd5af8bed675-C74x-U_U.woff2 +0 -0
- package/dist/client/_assets/chunks/0d9a936885a4c39077438effd3779cbd-Bw0fYF4S.woff2 +0 -0
- package/dist/client/_assets/chunks/0e645da524f7cfc0e8c3c03fb2b08428-BVeI_5Th.woff2 +0 -0
- package/dist/client/_assets/chunks/0f5e1a18987dbc84ca05188c129e1936-B6_lZ6fE.woff2 +0 -0
- package/dist/client/_assets/chunks/1076f0f6f66d28d7a2f16427faad4413-ubiXnD1P.woff2 +0 -0
- package/dist/client/_assets/chunks/112743a4ab5fdd1498dfdf2b11336380-B5FzQxTK.woff2 +0 -0
- package/dist/client/_assets/chunks/1211f03d3ff5759a702631445793f60e-DDcSiyCt.woff2 +0 -0
- package/dist/client/_assets/chunks/12ef1ba76bd20b004b865266a1aa70b3-BwmaD87S.woff2 +0 -0
- package/dist/client/_assets/chunks/135e83b403475c5dc9e49b43501a5b84-C5mE_KZS.woff2 +0 -0
- package/dist/client/_assets/chunks/1380210a722ac9aeef54005ad7b015c9-CjA-MP82.woff2 +0 -0
- package/dist/client/_assets/chunks/13b2c53b30e6a3e4de7132dbc18dbdfc-B9WOB7kv.woff2 +0 -0
- package/dist/client/_assets/chunks/147b24c2f08d03bbed30887d4cb3311c-IeeFCJ13.woff2 +0 -0
- package/dist/client/_assets/chunks/152395634a207579552f8cb54db88599-C2y2JyNZ.woff2 +0 -0
- package/dist/client/_assets/chunks/15d95680dc31cc6ce20e0a5464106dc4-CpD8dqRm.woff2 +0 -0
- package/dist/client/_assets/chunks/16663e567f81f4725a1522f37e18f71f-BNoxS9pQ.woff2 +0 -0
- package/dist/client/_assets/chunks/1733f27476507ca68b68a803bc533cc2-DXL-14Ug.woff2 +0 -0
- package/dist/client/_assets/chunks/17c7f5d0a45e92ede0e5dec3a2c77efa-CNj3jQMl.woff2 +0 -0
- package/dist/client/_assets/chunks/1824321da801e6257b902f3d1d09054c-D4dgdyWB.woff2 +0 -0
- package/dist/client/_assets/chunks/188c2db794f3dd7a45889ddbc81da9bb-C9NbUBBO.woff2 +0 -0
- package/dist/client/_assets/chunks/1a08931435f885e707edb85978ea3bb6-BOiP2u7G.woff2 +0 -0
- package/dist/client/_assets/chunks/1a3a92c7c060a71a6c35819b9ebcdbb9-DFfonQfz.woff2 +0 -0
- package/dist/client/_assets/chunks/1be602ad456b0d75902d352116cb35fd-Bc-XQtQh.woff2 +0 -0
- package/dist/client/_assets/chunks/1cf737900dd49c2e88f1b3221a82a602-CfTmnns3.woff2 +0 -0
- package/dist/client/_assets/chunks/1fba7ec0e412e911bf31841de5a8a4e4-18ELMbFF.woff2 +0 -0
- package/dist/client/_assets/chunks/233d3a685ee18276b319363474599d47-BaFdJ0-G.woff2 +0 -0
- package/dist/client/_assets/chunks/2612c60f9dc5459ac42763591240a1d6-CTD69cq1.woff2 +0 -0
- package/dist/client/_assets/chunks/284b53bbefb06924cf236d24c8ed5641-CPDiuOv6.woff2 +0 -0
- package/dist/client/_assets/chunks/28a97af9ab9d38983d20f39ff09840e1-mFqcT3Jw.woff2 +0 -0
- package/dist/client/_assets/chunks/2a56eaf19d1d38a6b57e2a388f733676-CU52qBlE.woff2 +0 -0
- package/dist/client/_assets/chunks/2ab8cf1f23a5ac7939a7876054e711a7-B4T3dK7A.woff2 +0 -0
- package/dist/client/_assets/chunks/2abfbab82b6a7c04426afc054d2464da-D5PIIHde.woff2 +0 -0
- package/dist/client/_assets/chunks/2bfaadaf3479c72286248e6de0be0ec9-DEpU6O74.woff2 +0 -0
- package/dist/client/_assets/chunks/2c8c55e4cec85ce77e95cac9d330f5cf-BCTA96EZ.woff2 +0 -0
- package/dist/client/_assets/chunks/2e6f4bb71ef6b38765d51acc5a79f638-Mbs6PECD.woff2 +0 -0
- package/dist/client/_assets/chunks/2ed9981d2e8983365bd051159b976b6d-D8gg6NWM.woff2 +0 -0
- package/dist/client/_assets/chunks/2f4c633e923ba30c6ba376367379fc91-CIJCFztv.woff2 +0 -0
- package/dist/client/_assets/chunks/31194d303a67561926a544ed0e072aee-w3-eGYAi.woff2 +0 -0
- package/dist/client/_assets/chunks/31a197213ae61d7043c81013f52d10d6-DXZrrkJP.woff2 +0 -0
- package/dist/client/_assets/chunks/349965eee0a9b6c984a319ab96a4ece9-DByAVmXw.woff2 +0 -0
- package/dist/client/_assets/chunks/34e6750e00c3a911ef87dc66b336594d-DNbWesOu.woff2 +0 -0
- package/dist/client/_assets/chunks/3623d96698132c61e861f984ce11cc23-jqV9ErzX.woff2 +0 -0
- package/dist/client/_assets/chunks/36cda3eae13370b934bba4429fab9078-BPDcUlw9.woff2 +0 -0
- package/dist/client/_assets/chunks/36f3df4730cfca4fc77fe52b52e6a126-BwK10NC0.woff2 +0 -0
- package/dist/client/_assets/chunks/37887deb7a9c466cf2af6ee7ff372ea6-BrAerJB1.woff2 +0 -0
- package/dist/client/_assets/chunks/37dbd564820cce2f7b3331e442da0df3-Cql2kzIi.woff2 +0 -0
- package/dist/client/_assets/chunks/37dc8505b20b37a2477a9121b16d44a7-CoXw6XWV.woff2 +0 -0
- package/dist/client/_assets/chunks/39211b02f24c69cbd1b54f6d41b01933-4Xu7vvnq.woff2 +0 -0
- package/dist/client/_assets/chunks/3aa13f1843d7c8fa16109b6395a9a29d-BQFZUc3B.woff2 +0 -0
- package/dist/client/_assets/chunks/3aba89c4d4281553078de4622b498cbb-8QS1zDYk.woff2 +0 -0
- package/dist/client/_assets/chunks/3ac0a07878cacdc98bb889f40f5970d3-C-BaM6-y.woff2 +0 -0
- package/dist/client/_assets/chunks/3d88558097559d775231194d43745ba7-CR2aqGC7.woff2 +0 -0
- package/dist/client/_assets/chunks/3dc3e8c35524cad2d1236f3393104ccf-9sqBsF7B.woff2 +0 -0
- package/dist/client/_assets/chunks/3e24063b19abd2b051af986a6870046d-TlweM3SW.woff2 +0 -0
- package/dist/client/_assets/chunks/3e2c06bdd9dcab29aeaeb0cfb7fa608a-BaqU-dIt.woff2 +0 -0
- package/dist/client/_assets/chunks/424123f9371ba357087363263eeafcda-C8SVfEJi.woff2 +0 -0
- package/dist/client/_assets/chunks/43b3bbf43055c3e65db9cdf2c5b18c1c-CbHx6-Ki.woff2 +0 -0
- package/dist/client/_assets/chunks/4410f876d27c9821839474b6b1059fd7-ClYz91aY.woff2 +0 -0
- package/dist/client/_assets/chunks/44704471b60c18b3ecec5300a88f1102-DDmmy6-m.woff2 +0 -0
- package/dist/client/_assets/chunks/45140742dfa8686b58db2899ce89f89a-D5IMMzDM.woff2 +0 -0
- package/dist/client/_assets/chunks/46604090efbb99c2db1800928af0a239-JX2fpYX_.woff2 +0 -0
- package/dist/client/_assets/chunks/46998df85d31e629c0142f0556f5e7c5-BIkNG9Wh.woff2 +0 -0
- package/dist/client/_assets/chunks/469d2754e315e77270c12fa0ab28026c-D-y-vsfA.woff2 +0 -0
- package/dist/client/_assets/chunks/479329a39a3eb6c0047e6b0981919855-vZKCRx42.woff2 +0 -0
- package/dist/client/_assets/chunks/491bbba374093fff045f55803a22bfef-DSQXiDCd.woff2 +0 -0
- package/dist/client/_assets/chunks/49902f1c41b281f8eb3771abdd4dccb8-DxVxNg2W.woff2 +0 -0
- package/dist/client/_assets/chunks/4c0760284569b87d8f2290c324953973-Bqd-TKHH.woff2 +0 -0
- package/dist/client/_assets/chunks/4cba92c942694bdc479bc54101bb1aa4-BrfsrgrC.woff2 +0 -0
- package/dist/client/_assets/chunks/4d38e56738156625329d93bd5c8cc74a-DONkMP0y.woff2 +0 -0
- package/dist/client/_assets/chunks/4db4f31a16965baa42cb7dad667a8f04-Dt1Cy4gr.woff2 +0 -0
- package/dist/client/_assets/chunks/4e7d263c30bb48604069a3b4404d4eeb-DNPCkvKD.woff2 +0 -0
- package/dist/client/_assets/chunks/5279c7e465d9871edf51fd02e691eee7-CKhyhvVf.woff2 +0 -0
- package/dist/client/_assets/chunks/527ff336279465617aafbafe1a830632-CC3lv4pm.woff2 +0 -0
- package/dist/client/_assets/chunks/54bfdb6f21f9d6191e5100580239e14f-PGlqYvgl.woff2 +0 -0
- package/dist/client/_assets/chunks/56b40518ea0608e62826bd44ee27f5f9-BD9F9Oss.woff2 +0 -0
- package/dist/client/_assets/chunks/56be5e32fd01668fe5ba814d94905839-CSyFA-9l.woff2 +0 -0
- package/dist/client/_assets/chunks/572b9e28f1e6d89b765a16d809db84a1-BIYMjzEa.woff2 +0 -0
- package/dist/client/_assets/chunks/57e9a86651366c1ba299e47aa7e358c2-BHuZXB4W.woff2 +0 -0
- package/dist/client/_assets/chunks/57f89adeae55aa7fe2add3fc1801ce03-Cy3PNrfx.woff2 +0 -0
- package/dist/client/_assets/chunks/5921cef36750ff6092d94b83a802823b-hF-uymTh.woff2 +0 -0
- package/dist/client/_assets/chunks/59e95d8b5332dcdae894a19946ab767d-ClRfsjWZ.woff2 +0 -0
- package/dist/client/_assets/chunks/5acc7f736217259db79a42bf44241c48-FYQUuFOM.woff2 +0 -0
- package/dist/client/_assets/chunks/5c05f8b75c9d7f25b3c04ca711cf43b3-D-YWPkSq.woff2 +0 -0
- package/dist/client/_assets/chunks/5df9ce98c75f8c50fb4fff7f01a23925-DgoCENyW.woff2 +0 -0
- package/dist/client/_assets/chunks/5e0124c7265f1b4cf0fc797b94efbebc-BTBNHsSB.woff2 +0 -0
- package/dist/client/_assets/chunks/5ec349ff62b9ee5fe0c6dae867704dc4-B4dezhrz.woff2 +0 -0
- package/dist/client/_assets/chunks/60020a830d809c26970cf8e48ba1eeda-B6FDTSik.woff2 +0 -0
- package/dist/client/_assets/chunks/601f812e8b1eafecd5ba585a6a6d7962-gIVBlUU9.woff2 +0 -0
- package/dist/client/_assets/chunks/6025ddaf99d86cc8bfd781006b19fbd6-CS-ze337.woff2 +0 -0
- package/dist/client/_assets/chunks/60bcfa3ea7446eb42394aab02d28be40-C-PQfCu3.woff2 +0 -0
- package/dist/client/_assets/chunks/60f6e28b3f0400b0e8fe32c3c7116102-Dag9L2qU.woff2 +0 -0
- package/dist/client/_assets/chunks/615a7e0d63f257109d599b2a1977de68-D6Y93yoG.woff2 +0 -0
- package/dist/client/_assets/chunks/615b38e0b5bb3ea68426f44f47706e6f-B5yzIIer.woff2 +0 -0
- package/dist/client/_assets/chunks/61a2c80d0c924d5a6187c02e8d1d1642-BY3MmHbZ.woff2 +0 -0
- package/dist/client/_assets/chunks/62fc94f8d4c5a750b7f25e7387539910-3ql2_WDK.woff2 +0 -0
- package/dist/client/_assets/chunks/639c7c6b0b0c27c738702741cfa4b8c0-BCD3OGri.woff2 +0 -0
- package/dist/client/_assets/chunks/63fafcb069520613d0ea35ad3e6b1e42-DP0Rrj4o.woff2 +0 -0
- package/dist/client/_assets/chunks/64a404d675f1d726f0891b7a80794595-DU3L0I9s.woff2 +0 -0
- package/dist/client/_assets/chunks/65a60d87c64228d258a123cbe85f5f31-B4kbf-79.woff2 +0 -0
- package/dist/client/_assets/chunks/65e9c4585d71bf48a5c62f367010da16-CvzgzReN.woff2 +0 -0
- package/dist/client/_assets/chunks/68a3a4bf337f8a0722be76676e20b850-Dnaw8EPD.woff2 +0 -0
- package/dist/client/_assets/chunks/6968e889e18891d912809fe484c2e745-Bj1m5e0s.woff2 +0 -0
- package/dist/client/_assets/chunks/6abdd163d2c4b85698db8aa1ce149361-B5FVGJuo.woff2 +0 -0
- package/dist/client/_assets/chunks/6b75213eb0be40ce84241eb2bb438a2e-CqHmF-NR.woff2 +0 -0
- package/dist/client/_assets/chunks/70714891ad3fbfc3d5f10a8669dacc5a-BWk5nLFN.woff2 +0 -0
- package/dist/client/_assets/chunks/7158022889c6c177062ac85036e7af10-B3D4K22n.woff2 +0 -0
- package/dist/client/_assets/chunks/73b794d885b88f7befb7ea8ab1780a15-D0ZehnEI.woff2 +0 -0
- package/dist/client/_assets/chunks/743f290baf027d4626a86e22f3d44600-DDTDQdRC.woff2 +0 -0
- package/dist/client/_assets/chunks/7520ca6ca8c60eb1e62d50e71c8d30f1-CVRaGu2G.woff2 +0 -0
- package/dist/client/_assets/chunks/757019c01c5e2c2b0f54293cea3b5636-BTovUnoH.woff2 +0 -0
- package/dist/client/_assets/chunks/759a647b77791b1e98f99bc0ab5317a7-CrK6FIFz.woff2 +0 -0
- package/dist/client/_assets/chunks/761d84afca8d7f34eebefe538adba827-DRbiVuwX.woff2 +0 -0
- package/dist/client/_assets/chunks/76e07530323418ec723c5d7634c9bcca-DGtVJTTH.woff2 +0 -0
- package/dist/client/_assets/chunks/76e51630143b95b6322ef93ad330da7a-D-kV82C_.woff2 +0 -0
- package/dist/client/_assets/chunks/76f117a3baacda304a71965a17266a13-DFfvsFUm.woff2 +0 -0
- package/dist/client/_assets/chunks/773819b7b9b8fd404a929867c0fd677e-Bu1xCMZb.woff2 +0 -0
- package/dist/client/_assets/chunks/77747f17625a259fb405b7bbdd84ac4b-o_vNfh-6.woff2 +0 -0
- package/dist/client/_assets/chunks/7817dd16805145d8538ad57590f69f5a-DguSUP3O.woff2 +0 -0
- package/dist/client/_assets/chunks/788498548ddfb710d6ef3c7bff79fa97-3ffoQfRd.woff2 +0 -0
- package/dist/client/_assets/chunks/78ea6c40923ce95367e3517dd1e5a849-DvLDRhX9.woff2 +0 -0
- package/dist/client/_assets/chunks/79aa7c8c842c4a27cf57c0a3a1ffca5a-sDoCeoKI.woff2 +0 -0
- package/dist/client/_assets/chunks/7b59f0ec7792b18458dc5a361e37884c-DWvxkKmT.woff2 +0 -0
- package/dist/client/_assets/chunks/7c3945788a689a69356c1a622d69d48b-1JjIpss2.woff2 +0 -0
- package/dist/client/_assets/chunks/7cc72fd2c9105560422b6a67c6162945-Co3AF5_G.woff2 +0 -0
- package/dist/client/_assets/chunks/7d0ea0690e432462f4d05a23d720ec19-Dx7DK4C3.woff2 +0 -0
- package/dist/client/_assets/chunks/7dffa5c1bec57e0903fd62357401ff1a-DuQHmiiN.woff2 +0 -0
- package/dist/client/_assets/chunks/7e38ca789a9e76ac91d9256374e154f0-BtETgGRe.woff2 +0 -0
- package/dist/client/_assets/chunks/7f9a6c9286b68de9c72b0024f7beeb40-JpXdo4FC.woff2 +0 -0
- package/dist/client/_assets/chunks/815a0b797465190f60d8b1a04656c42e-Spzo94nU.woff2 +0 -0
- package/dist/client/_assets/chunks/823d1bb11097331238d103c7f72138dc-CGN6m2VF.woff2 +0 -0
- package/dist/client/_assets/chunks/82f6ccc063960eed1cdfd1d61ada8862-CsmAqx2a.woff2 +0 -0
- package/dist/client/_assets/chunks/835b6505bb9eea9678925a1fa885353d-C6mSBwUc.woff2 +0 -0
- package/dist/client/_assets/chunks/845b4b67564d62cf5cad242f7ac08ea5-DnvzrloJ.woff2 +0 -0
- package/dist/client/_assets/chunks/84c8e7bc0931008ed91f44ed12dfea94-C2Hvhh-b.woff2 +0 -0
- package/dist/client/_assets/chunks/8726558cf297cbda831cc19514897205-gSFV1vW0.woff2 +0 -0
- package/dist/client/_assets/chunks/8855472f3c02f6c7ebb3216617ebe4af-C1JsWVqq.woff2 +0 -0
- package/dist/client/_assets/chunks/887a11290ba78b1e66c6d2f67043005e-L_A1f5Fz.woff2 +0 -0
- package/dist/client/_assets/chunks/888ba53510213d5d1f6a7deb60e569b6-OP8E-ELN.woff2 +0 -0
- package/dist/client/_assets/chunks/88db1d042074fb6e66821ffc10941930-kZ6K3e62.woff2 +0 -0
- package/dist/client/_assets/chunks/892aa49b2529c89bb4076d4aa51fe30f-Bw0_Km2A.woff2 +0 -0
- package/dist/client/_assets/chunks/8b5c9ef81159f31d2ab35f45ca4373e0-Djw95sKC.woff2 +0 -0
- package/dist/client/_assets/chunks/8b91c7c2ed390f1278b9befa3aa87233-B2C3iFbQ.woff2 +0 -0
- package/dist/client/_assets/chunks/8dc18c0cebe6aa4bf4c45dbb831048ab-bUlANLit.woff2 +0 -0
- package/dist/client/_assets/chunks/8e231d707f0c4f8e3cde90a6b52a79aa-CvwbWlul.woff2 +0 -0
- package/dist/client/_assets/chunks/8fb45117a62d92dce44a80f0b729ead5-Djr4-o5-.woff2 +0 -0
- package/dist/client/_assets/chunks/9064c12fd72c7aba235d8c3881755b91-BnguxT-p.woff2 +0 -0
- package/dist/client/_assets/chunks/90b7848e9b1623b77bdcf155e90b839c-CFvPRnoM.woff2 +0 -0
- package/dist/client/_assets/chunks/911b9e53e9814de2998c60bf3115f560-DmPmj635.woff2 +0 -0
- package/dist/client/_assets/chunks/919a879bd2d580d8491a31a449390689-BY2w-8_Y.woff2 +0 -0
- package/dist/client/_assets/chunks/91da6cb174bebfb96976e2f1316be2fe-DztAJb6W.woff2 +0 -0
- package/dist/client/_assets/chunks/92fdc376bce277874e75db666f175b44-DJUnHEIN.woff2 +0 -0
- package/dist/client/_assets/chunks/930a23430f0eb64480d7fe5f82834e21-2VrDPT7E.woff2 +0 -0
- package/dist/client/_assets/chunks/934dfdbed2bb2c4b6129199d699a34fa-CtpHsjRD.woff2 +0 -0
- package/dist/client/_assets/chunks/93bed0e5f2dd5a21cf73304fcfbc149d-DJiaETX7.woff2 +0 -0
- package/dist/client/_assets/chunks/93f3ea6918533d96d9c252378b9a4af0-D-FJaGi-.woff2 +0 -0
- package/dist/client/_assets/chunks/95a0951d2a2722ff773a1a45e8c474d6-DuZg-BpP.woff2 +0 -0
- package/dist/client/_assets/chunks/95ff41191c76ef893ac70a1043e95e44-C08QDbJO.woff2 +0 -0
- package/dist/client/_assets/chunks/96c75862c8cec51a7c05ff025fea86cd-DBnRwCuW.woff2 +0 -0
- package/dist/client/_assets/chunks/97d7a17234f2b5030ae9697ae00aded2-CkUSaB-p.woff2 +0 -0
- package/dist/client/_assets/chunks/982cd1765ca6bbb3e6547e47834d5148-DkIybx1r.woff2 +0 -0
- package/dist/client/_assets/chunks/985d4d41afa0934a4eb2de35473fb9a2-CF7rgJMw.woff2 +0 -0
- package/dist/client/_assets/chunks/995c4fda62d25c3b79dd5987737df6ae-CY5ri8HW.woff2 +0 -0
- package/dist/client/_assets/chunks/9b0c3caac458c7bc9c9133e40405ddea-DhPrYOcz.woff2 +0 -0
- package/dist/client/_assets/chunks/9b21e8244f5930c48ad5073f83777b6c-CuE9-r-r.woff2 +0 -0
- package/dist/client/_assets/chunks/9bb38fd05201de666b88b82d56a386f7-nMl6lB8X.woff2 +0 -0
- package/dist/client/_assets/chunks/9d0afa53dc2f92ba42024f55f11f6779-Bozpx8bL.woff2 +0 -0
- package/dist/client/_assets/chunks/9e13a47242926f1cd7d68c08d9ef8889-DwKQjc8M.woff2 +0 -0
- package/dist/client/_assets/chunks/9eff2ab2a9d2ced47ab761bf6fdb11ec-D86-Zm1H.woff2 +0 -0
- package/dist/client/_assets/chunks/9f1963fe8d4d6878d717d872a8f3fdb5-DxjITUFq.woff2 +0 -0
- package/dist/client/_assets/chunks/9f3bdab4025dc7c5ba1a5871e62e8918-BqxDEFLJ.woff2 +0 -0
- package/dist/client/_assets/chunks/9fce02d1a09f464c36c9fcfb14a354c5-F2tMAB_j.woff2 +0 -0
- package/dist/client/_assets/chunks/a00e94d4f04df6aa659db9c4954c7efe-CRBKCj_3.woff2 +0 -0
- package/dist/client/_assets/chunks/a0a6755c7e3f9e4cf03387027dd9f16c-BAyRqF2w.woff2 +0 -0
- package/dist/client/_assets/chunks/a0d00fe4816c95a8c7dffd445ef00b03-CxcTiRLJ.woff2 +0 -0
- package/dist/client/_assets/chunks/a0f199077fa1a33bc2a1e01c64de7fe6-IdgVJmZD.woff2 +0 -0
- package/dist/client/_assets/chunks/a2b0597837e382aca19919c4b74e58c8-7iVOBjzI.woff2 +0 -0
- package/dist/client/_assets/chunks/a373e85c96aa0dc303092429fb837e51-Dvmw8mbX.woff2 +0 -0
- package/dist/client/_assets/chunks/a379ada89abd750c587ded29f77e731c-CgPBsEsv.woff2 +0 -0
- package/dist/client/_assets/chunks/a4475c442c6b259354c9eda62e64e7df-TZ0c8vK-.woff2 +0 -0
- package/dist/client/_assets/chunks/a48be56ce5d3a99dc8f8331398004412-BR_ixH1W.woff2 +0 -0
- package/dist/client/_assets/chunks/a4a39b5f048671aa37c2b2a9581ab08a-EDfDYsUd.woff2 +0 -0
- package/dist/client/_assets/chunks/a534449d67561ac9b06489f64e57ad98-C355TCrD.woff2 +0 -0
- package/dist/client/_assets/chunks/a6e044424780a57610833cc856c15bf5-x1b8FE4H.woff2 +0 -0
- package/dist/client/_assets/chunks/a7c35e42a659347e490c3cb7983b2e7f-BWpA0-oz.woff2 +0 -0
- package/dist/client/_assets/chunks/a7c58070d68dc1724e9d4e781afb78db-ql27pT-6.woff2 +0 -0
- package/dist/client/_assets/chunks/a806759e72987951d6d08b7cbdf36a1b-TvLDwB_u.woff2 +0 -0
- package/dist/client/_assets/chunks/a88481ec8bc7be11cb66e46781a79bb9-Ck-r_sGx.woff2 +0 -0
- package/dist/client/_assets/chunks/a919a8c6fec6d7e8bb21177965f2e9d7-CC5uWzwd.woff2 +0 -0
- package/dist/client/_assets/chunks/a9a016d4a93409f65278327e8a8bb38d-dylrNwF8.woff2 +0 -0
- package/dist/client/_assets/chunks/aa662092cf249707123ca4d575e2764b-CSxNsTUL.woff2 +0 -0
- package/dist/client/_assets/chunks/aae1eda193285ab817a2d1b408440326-CjyjBoRm.woff2 +0 -0
- package/dist/client/_assets/chunks/ab92d41062a7644faa45f50bf384454a-Cq0X8a9H.woff2 +0 -0
- package/dist/client/_assets/chunks/accc43762ad05edfbff66ba1380d192a-B5jIykaZ.woff2 +0 -0
- package/dist/client/_assets/chunks/ad47bcd6d4663026d648c132d969318d-BYdIbDge.woff2 +0 -0
- package/dist/client/_assets/chunks/ad67113f88b59582991cb0c5d33ea19f-DOH1vcIZ.woff2 +0 -0
- package/dist/client/_assets/chunks/adb6e613fb99c6dd660b727101f554a8-DJDw_ZZK.woff2 +0 -0
- package/dist/client/_assets/chunks/adc4a98a89870ef984ee8f4b57c8a3a5-D30vw26R.woff2 +0 -0
- package/dist/client/_assets/chunks/af57a2e8c72f9ba0efb1af771d32c124-D5Zwq9pS.woff2 +0 -0
- package/dist/client/_assets/chunks/b0ae5f374e43dac992a4a5d334cebc0b-Ccoi4dPt.woff2 +0 -0
- package/dist/client/_assets/chunks/b0cb664cb2e1371efda8943c0b7dcd1c-YzGFnelF.woff2 +0 -0
- package/dist/client/_assets/chunks/b0d1cdced482352cf0d3ae58638aacb9-IunWfc6R.woff2 +0 -0
- package/dist/client/_assets/chunks/b12379ab782468d725519cd07a7d15bc-IjbydKs2.woff2 +0 -0
- package/dist/client/_assets/chunks/b320f5d185b2cff933ac549c184031c5-IYnPrIz4.woff2 +0 -0
- package/dist/client/_assets/chunks/b326a8a9c33b554db570da94f60bc380-B6dzaCQg.woff2 +0 -0
- package/dist/client/_assets/chunks/b55486f8a459c838fe329d4e79a8c211-DW8q7oGV.woff2 +0 -0
- package/dist/client/_assets/chunks/b6117ff2993b11bb1fdc7ea3588a010c-JoMYL5W_.woff2 +0 -0
- package/dist/client/_assets/chunks/b61982951bd51b724143c30dfaaa9fe9-D3KhBKl6.woff2 +0 -0
- package/dist/client/_assets/chunks/b91234c10fd8b8c8abc88e03afe66a1f-BABNh2la.woff2 +0 -0
- package/dist/client/_assets/chunks/b9317198f118a1dfd8ddf2b82ec028f3-CiMecxeH.woff2 +0 -0
- package/dist/client/_assets/chunks/ba825ae79b1a6f7e0cce5215fcb5c96f-B6EWU_D5.woff2 +0 -0
- package/dist/client/_assets/chunks/ba9c59d7dfa4494db1bb764ada81467d-D0yPcC1m.woff2 +0 -0
- package/dist/client/_assets/chunks/bab547459d514f46206e340c4bb2dc88-YnBqlGhw.woff2 +0 -0
- package/dist/client/_assets/chunks/bb0b15492b8cdbbec57c0bcfa0aa9241-BjIFbEsN.woff2 +0 -0
- package/dist/client/_assets/chunks/bc6183ac08f0fac78c46f80c10cf7c92-B81nbRb3.woff2 +0 -0
- package/dist/client/_assets/chunks/bc8ccea5abf6598cf3cfa97eb59804bb-B_7IbluG.woff2 +0 -0
- package/dist/client/_assets/chunks/bc95a792cbca6639214c9b0da13392ff-CHQe0E-D.woff2 +0 -0
- package/dist/client/_assets/chunks/bcc39eda837bb7a7a3d37c8c60fffb81-CGd1Zk6S.woff2 +0 -0
- package/dist/client/_assets/chunks/bcfa62f35731856246c146d3a6932bf3-DMDq6w4v.woff2 +0 -0
- package/dist/client/_assets/chunks/bd73264d7f98776708d5d6f3c9b78fcc-d9QWWMym.woff2 +0 -0
- package/dist/client/_assets/chunks/bed610b217d500f5975cfc9fe6157570-B5t7s1bw.woff2 +0 -0
- package/dist/client/_assets/chunks/bedc74b423b7293b6ad0bdecc61c42cc-4Nnh7peP.woff2 +0 -0
- package/dist/client/_assets/chunks/bf8901f8f11d4f433ea17dabc9370ea6-B8dkfvGn.woff2 +0 -0
- package/dist/client/_assets/chunks/bfb00d4a4c48661bd0be99f300a0faae-OxsWZ7l-.woff2 +0 -0
- package/dist/client/_assets/chunks/c0098958e20db68cab90097b5e62516f-VpjQo3vV.woff2 +0 -0
- package/dist/client/_assets/chunks/c063897793f593eb26d6ff7b7baaba18-BWeJJ1sH.woff2 +0 -0
- package/dist/client/_assets/chunks/c1b0df29ae41d764904df84e9ac83d1e-D1N934vs.woff2 +0 -0
- package/dist/client/_assets/chunks/c4143bb9f2fe77b6ccf20088a8904650-nHfYM24e.woff2 +0 -0
- package/dist/client/_assets/chunks/c42c67070cfe99cf823df92d81c7fa6e-B_a405Ez.woff2 +0 -0
- package/dist/client/_assets/chunks/c4bfaa5e50798246e3770718b7a7c84a-B-r6Y_o0.woff2 +0 -0
- package/dist/client/_assets/chunks/c4d749e45ecd5a5aed5a0bb3ebfd355d-CkqE1fRi.woff2 +0 -0
- package/dist/client/_assets/chunks/c6c2971ad1f3221f6cf84028aa0f477e-D7BZGIcY.woff2 +0 -0
- package/dist/client/_assets/chunks/c7ff3f6bbdcd5f604b7343602ab904df-Bq7UjVrZ.woff2 +0 -0
- package/dist/client/_assets/chunks/c84598999133455503042e06f4ab79cb-DIXndJX3.woff2 +0 -0
- package/dist/client/_assets/chunks/c945c62368357d05a53206620460fb30-82gFEf6n.woff2 +0 -0
- package/dist/client/_assets/chunks/c96d83978add28b356c22c4c84916733-BL4VaPIE.woff2 +0 -0
- package/dist/client/_assets/chunks/c97f41eef722121d86f55d553c056a39-CjejgQO2.woff2 +0 -0
- package/dist/client/_assets/chunks/ca62704509932d3232d62918de97af3f-CKWF-3mX.woff2 +0 -0
- package/dist/client/_assets/chunks/ca9a533988d7019597a60d4e17127e0c-ClZ6ygZM.woff2 +0 -0
- package/dist/client/_assets/chunks/cb7ccd6494256f7a2977b7c2b0225592-Cxp8XObm.woff2 +0 -0
- package/dist/client/_assets/chunks/ce022e18a1377ac509443c3c3790b431-DpH0t6Tn.woff2 +0 -0
- package/dist/client/_assets/chunks/ce41d70ce6a069a498525c9e15c45cf2-DGtgv-_b.woff2 +0 -0
- package/dist/client/_assets/chunks/cf2b28f90f47276f7e2688a65e88a101-LVbNkXHj.woff2 +0 -0
- package/dist/client/_assets/chunks/cf9cffe56636322f62b40d61130fbc5e-DNCBMqAo.woff2 +0 -0
- package/dist/client/_assets/chunks/d1f064825fa5784b5c930652bd831cce-BU6qwjp8.woff2 +0 -0
- package/dist/client/_assets/chunks/d20d8944bc0b85f5b2aae4b24f343516-oY9l-NmC.woff2 +0 -0
- package/dist/client/_assets/chunks/d2faabcedd19f016e7b21bce073c0ec8-Dv6eFCf5.woff2 +0 -0
- package/dist/client/_assets/chunks/d320171e57480510f87dbbc7d5264b0a-CcCfjaFX.woff2 +0 -0
- package/dist/client/_assets/chunks/d36644d6502527e1fff205d0c7eca434-kVBj8zy_.woff2 +0 -0
- package/dist/client/_assets/chunks/d3a72a99d365dddfbca8d017a8011368-Bgdmhl3M.woff2 +0 -0
- package/dist/client/_assets/chunks/d40ab99c7a38026f411c8f112f742b48-D7Nm7fg6.woff2 +0 -0
- package/dist/client/_assets/chunks/d42aafa0f246ad3b4c16fe96d3a3a432-CRxTqZXU.woff2 +0 -0
- package/dist/client/_assets/chunks/d4aaf23c13ae808a4bed617afd13aa07-d_T1SKe9.woff2 +0 -0
- package/dist/client/_assets/chunks/d509ee5c8241bc7c3de2039d75564fa5-BpNFD9JE.woff2 +0 -0
- package/dist/client/_assets/chunks/d675d717cd329bfd4c0524f76ae1579c-Bd5_ctoQ.woff2 +0 -0
- package/dist/client/_assets/chunks/d689b1861d7e4377dd72ad3013482612-jPsVOU3F.woff2 +0 -0
- package/dist/client/_assets/chunks/d6bb686bddfbe8f38a36a68e609a8667-C_QduS-X.woff2 +0 -0
- package/dist/client/_assets/chunks/d9020ff69a83b2a6ee1f42ae480f7db0-DLBUPMCe.woff2 +0 -0
- package/dist/client/_assets/chunks/d9047070d72a816b3dba9d40c2d85e69-LTQ42vEp.woff2 +0 -0
- package/dist/client/_assets/chunks/da04549f3f4ed28076b01b8cd710d313-CDXOeduw.woff2 +0 -0
- package/dist/client/_assets/chunks/da7af303f8c645f9a9dbae0e6e32dd35-DCkS2jqi.woff2 +0 -0
- package/dist/client/_assets/chunks/da90a9012ab2d98f759e3fa0820ef502-D0D9d1zg.woff2 +0 -0
- package/dist/client/_assets/chunks/dc6e234ded795e91f76d6647f628fbf0-IkooXcRh.woff2 +0 -0
- package/dist/client/_assets/chunks/dc8f6256445e68199540be9ade33529f-umb5tWbZ.woff2 +0 -0
- package/dist/client/_assets/chunks/dd0cfdfdac0866e66d587e2b5a9e9961-bl4ozE0c.woff2 +0 -0
- package/dist/client/_assets/chunks/de304c8a02e45ded4f8dcc479d167198-ClRu89-4.woff2 +0 -0
- package/dist/client/_assets/chunks/df10d94bea357a43313e20da5d84bd30-CmAgh2oA.woff2 +0 -0
- package/dist/client/_assets/chunks/df9568257eb29b156449fdd4bec5ec76-BMz6aLRr.woff2 +0 -0
- package/dist/client/_assets/chunks/e067cd0ed76c90cd0a93c9339253f20b-6RxCQ4jy.woff2 +0 -0
- package/dist/client/_assets/chunks/e08b07772e7bed3cec2832d43f7fd339-CQCkeKsr.woff2 +0 -0
- package/dist/client/_assets/chunks/e12150d5a39b30be8f567968c7a527b0-DjdoWzeQ.woff2 +0 -0
- package/dist/client/_assets/chunks/e34b2b141e472dc776c86fdf8eea23b0-Cjk7H-Ev.woff2 +0 -0
- package/dist/client/_assets/chunks/e444fd88f1390636e603d0d681538ac8-Bx7CPOZh.woff2 +0 -0
- package/dist/client/_assets/chunks/e53fcb2381eee345db4f6f973dd95a3e-DmkkCUWz.woff2 +0 -0
- package/dist/client/_assets/chunks/e5bd313ef81f687d398aacb11cec3069-CwBEbcji.woff2 +0 -0
- package/dist/client/_assets/chunks/e79898628283edc27180fc39d0d769c1-By2pplQz.woff2 +0 -0
- package/dist/client/_assets/chunks/e8c15be62faf978d208925e79ea6a10d-Ct5M9lTP.woff2 +0 -0
- package/dist/client/_assets/chunks/e8c364c16daa04835bf32d293d2598db-3v4Tut_d.woff2 +0 -0
- package/dist/client/_assets/chunks/e91c4d941ed9f5c2f3e27f205a3a225e-BwOJ2Lst.woff2 +0 -0
- package/dist/client/_assets/chunks/e9c566be7a5d38a9085225f7372bc82b-BCtnCVML.woff2 +0 -0
- package/dist/client/_assets/chunks/e9ebc567a711eeb29019ddae3e0ce7fe-CnNhV49O.woff2 +0 -0
- package/dist/client/_assets/chunks/eaf332445a40942928e5f5750c1c3116-qZ5LSRrj.woff2 +0 -0
- package/dist/client/_assets/chunks/eb5afb3d952b8593782caec6026514b6-BXugZF2T.woff2 +0 -0
- package/dist/client/_assets/chunks/ec86e23683052da5cfdc3b77641bd15a-BeLcbcRc.woff2 +0 -0
- package/dist/client/_assets/chunks/ecb8875a56c7b038b35432fda41ae128-BVqgNf1o.woff2 +0 -0
- package/dist/client/_assets/chunks/eda1b0cb6d1719dd9bedcf3216a9e8de-BJTfLL5z.woff2 +0 -0
- package/dist/client/_assets/chunks/edd6a4f608d04fc0351d7688cfc321e4-d3V4U40c.woff2 +0 -0
- package/dist/client/_assets/chunks/ee6fce20b420a480714607c66d7f97e5-DEtC-G5G.woff2 +0 -0
- package/dist/client/_assets/chunks/eee3836d6ac17ebb2c450bbcbc9db121-C5a2TZjQ.woff2 +0 -0
- package/dist/client/_assets/chunks/et-book-bold-line-figures-BFJr2_zv.woff +0 -0
- package/dist/client/_assets/chunks/et-book-display-italic-old-style-figures-CoeRJAe8.woff +0 -0
- package/dist/client/_assets/chunks/et-book-roman-line-figures-CaA40oOf.woff +0 -0
- package/dist/client/_assets/chunks/f1661731474b78bdf81114daf10b254f-KnMKX_U3.woff2 +0 -0
- package/dist/client/_assets/chunks/f2c58dee206ba9355046fc23d05491f7-Cm4tCWav.woff2 +0 -0
- package/dist/client/_assets/chunks/f50ac27ea4358d67fdda403c2bb52467-WCfYHde1.woff2 +0 -0
- package/dist/client/_assets/chunks/f55334112f8e8be82d65db29887a663f-vDq1zH8k.woff2 +0 -0
- package/dist/client/_assets/chunks/f5738255e92d8dd34a46d1bcdf4c4074-tpghTzL1.woff2 +0 -0
- package/dist/client/_assets/chunks/f740e93f3c0277ecc616594103bca683-C4BgW_ko.woff2 +0 -0
- package/dist/client/_assets/chunks/f7633b5af033d76ff2fb3c3c266d77c5-BCkrZxwO.woff2 +0 -0
- package/dist/client/_assets/chunks/f7d8468cba2335a83ee414ea68291bab-CVnotkZU.woff2 +0 -0
- package/dist/client/_assets/chunks/f91cd722855f4269256eae1187df64ec-DJlAx1A_.woff2 +0 -0
- package/dist/client/_assets/chunks/f9695c6c4df2bf6bc03045ff79d4f01f-DDaYGYHT.woff2 +0 -0
- package/dist/client/_assets/chunks/fa6e58ce4b52695e7ae19bbea6336ec8-B30jEpze.woff2 +0 -0
- package/dist/client/_assets/chunks/fada6eaa68ff8816afe43d2a36c5423e-DlGAWNPb.woff2 +0 -0
- package/dist/client/_assets/chunks/fbcc4bf5367218951172bdee6f77d7a6-Dax2VSCd.woff2 +0 -0
- package/dist/client/_assets/chunks/fc895f5ce66b656f4a933097bf2a8775-DjjysNdf.woff2 +0 -0
- package/dist/client/_assets/chunks/fc9ae5b600fb711f2d67e93ce768cba4-D1lx7LBz.woff2 +0 -0
- package/dist/client/_assets/chunks/fca6720fd14c467d29a90f18ef3859b9-B3btrwq3.woff2 +0 -0
- package/dist/client/_assets/chunks/fd1bb507bcbf04856eeb7f7fd47ea579-NR1nGJTt.woff2 +0 -0
- package/dist/client/_assets/chunks/fd1bceb55d3e0183ac2454b8532fec7d-D3t-v6nn.woff2 +0 -0
- package/dist/client/_assets/chunks/fd2069e6e8588c70b4f11364093b81f2-BoXhYVgw.woff2 +0 -0
- package/dist/client/_assets/chunks/{url-CG0eolsk.js → url-pLre2DM_.js} +1 -1
- package/dist/client/_assets/client-C_kImWZj.css +2 -0
- package/dist/client/_assets/client-D95FNDg5.js +272 -0
- package/dist/client/_assets/client-auth-BRFl5zQA.js +4547 -0
- package/dist/client/_assets/client-cjk-jp-DZwrTzQC.css +1 -0
- package/dist/client/_assets/client-cjk-kr-_3ZNI2ZP.css +1 -0
- package/dist/env-wCpMcNXs.js +252 -0
- package/dist/github-api-CficQztC.js +176 -0
- package/dist/github-app-F4qZ05xk.js +275 -0
- package/dist/github-sync-zohnA9qv.js +4696 -0
- package/dist/index.js +88 -2
- package/dist/node.js +71 -30
- package/dist/url-FvvgARU9.js +305 -0
- package/package.json +16 -12
- package/src/__tests__/bin/content-cli.test.ts +179 -0
- package/src/__tests__/bin/media-cli.test.ts +192 -0
- package/src/__tests__/export-hugo-build.test.ts +178 -0
- package/src/__tests__/export-import-roundtrip.test.ts +265 -0
- package/src/__tests__/export-service.test.ts +763 -510
- package/src/__tests__/helpers/export-fixtures.ts +108 -0
- package/src/__tests__/import-site-command.test.ts +358 -350
- package/src/__tests__/site-pull-media.test.ts +256 -0
- package/src/app.tsx +60 -13
- package/src/client/__tests__/collection-form-bridge.test.ts +87 -7
- package/src/client/__tests__/collection-page-actions.test.ts +4 -4
- package/src/client/__tests__/collection-picker-order.test.ts +53 -0
- package/src/client/__tests__/collection-sort-menu.test.ts +2 -2
- package/src/client/__tests__/compose-bridge.test.ts +305 -13
- package/src/client/__tests__/compose-launch.test.ts +120 -0
- package/src/client/__tests__/compose-shortcuts.test.ts +141 -0
- package/src/client/__tests__/feed-video-player.test.ts +44 -0
- package/src/client/__tests__/site-header-nav.test.ts +250 -0
- package/src/client/__tests__/sortable-list.test.ts +6 -2
- package/src/client/__tests__/thread-context.test.ts +117 -0
- package/src/client/collection-form-bridge.ts +109 -4
- package/src/client/collection-page-actions.ts +3 -1
- package/src/client/collection-picker-order.ts +104 -0
- package/src/client/components/__tests__/{jant-collection-sidebar.test.ts → jant-collection-directory.test.ts} +91 -10
- package/src/client/components/__tests__/jant-collection-form.test.ts +40 -18
- package/src/client/components/__tests__/jant-compose-dialog.test.ts +1285 -66
- package/src/client/components/__tests__/jant-compose-editor.test.ts +254 -19
- package/src/client/components/__tests__/jant-compose-fullscreen.test.ts +127 -1
- package/src/client/components/__tests__/jant-media-lightbox.test.ts +237 -0
- package/src/client/components/__tests__/jant-nav-manager.test.ts +326 -0
- package/src/client/components/__tests__/jant-post-menu.test.ts +372 -2
- package/src/client/components/__tests__/jant-settings-avatar.test.ts +61 -5
- package/src/client/components/__tests__/jant-settings-general.test.ts +29 -28
- package/src/client/components/__tests__/jant-text-preview.test.ts +206 -0
- package/src/client/components/collection-manager-types.ts +18 -1
- package/src/client/components/compose-types.ts +48 -0
- package/src/client/components/jant-collection-directory.ts +1448 -0
- package/src/client/components/jant-collection-form.ts +65 -17
- package/src/client/components/jant-command-palette.ts +544 -0
- package/src/client/components/jant-compose-dialog.ts +2490 -375
- package/src/client/components/jant-compose-editor.ts +420 -75
- package/src/client/components/jant-compose-fullscreen.ts +59 -8
- package/src/client/components/jant-media-lightbox.ts +373 -18
- package/src/client/components/jant-nav-manager.ts +624 -286
- package/src/client/components/jant-post-menu.ts +451 -126
- package/src/client/components/jant-repo-picker-types.ts +39 -0
- package/src/client/components/jant-repo-picker.ts +799 -0
- package/src/client/components/jant-settings-avatar.ts +16 -2
- package/src/client/components/jant-settings-general.ts +137 -35
- package/src/client/components/jant-text-preview.ts +239 -55
- package/src/client/components/nav-manager-types.ts +25 -9
- package/src/client/components/settings-types.ts +13 -2
- package/src/client/compose-bridge.ts +428 -68
- package/src/client/compose-launch.ts +41 -4
- package/src/client/compose-shortcuts.ts +77 -5
- package/src/client/feed-video-player.ts +374 -0
- package/src/client/image-processor.ts +53 -127
- package/src/client/media-lightbox-events.ts +1 -0
- package/src/client/media-scroll-hint.ts +66 -0
- package/src/client/multipart-upload.ts +4 -1
- package/src/client/palette-shortcuts.ts +35 -0
- package/src/client/search-rank.ts +74 -0
- package/src/client/settings-bridge.ts +7 -0
- package/src/client/site-header-nav.d.ts +1 -0
- package/src/client/site-header-nav.js +139 -51
- package/src/client/sortable-list.ts +2 -0
- package/src/client/thread-context.ts +54 -11
- package/src/client/tiptap/__tests__/block-insertion.test.ts +65 -0
- package/src/client/tiptap/__tests__/footnotes.test.ts +692 -0
- package/src/client/tiptap/__tests__/link-toolbar.test.ts +120 -4
- package/src/client/tiptap/__tests__/markdown-clipboard.test.ts +48 -0
- package/src/client/tiptap/block-insertion.ts +36 -0
- package/src/client/tiptap/bubble-menu.ts +34 -4
- package/src/client/tiptap/create-editor.ts +49 -30
- package/src/client/tiptap/embed-dialog.ts +301 -0
- package/src/client/tiptap/embed-node.ts +373 -0
- package/src/client/tiptap/embed-paste.ts +91 -0
- package/src/client/tiptap/extensions.ts +77 -28
- package/src/client/tiptap/footnotes.ts +718 -0
- package/src/client/tiptap/html-block-node.ts +222 -0
- package/src/client/tiptap/image-node.ts +49 -6
- package/src/client/tiptap/inline-image-upload.ts +200 -40
- package/src/client/tiptap/link-input-rules.ts +50 -16
- package/src/client/tiptap/link-toolbar.ts +156 -133
- package/src/client/tiptap/markdown-clipboard.ts +120 -0
- package/src/client/tiptap/more-break.ts +36 -3
- package/src/client/tiptap/paste-media.ts +6 -0
- package/src/client/tiptap/slash-commands.ts +167 -14
- package/src/client/tiptap/tab-indent.ts +184 -0
- package/src/client/tiptap/toolbar-mode.ts +15 -2
- package/src/client/tiptap/wrapping-input-rules.ts +102 -0
- package/src/client/types/sortablejs.d.ts +9 -1
- package/src/client/upload-session.ts +2 -1
- package/src/client/video-processor.ts +177 -20
- package/src/client-auth.ts +9 -1
- package/src/client-site.ts +15 -0
- package/src/client.ts +2 -0
- package/src/db/__tests__/demo-canonical-snapshot.test.ts +1 -1
- package/src/db/__tests__/migration-rehearsal.test.ts +5 -1
- package/src/db/__tests__/migrations.test.ts +25 -2
- package/src/db/backfills/0001_strip_collection_path_c_prefix.sql +11 -0
- package/src/db/backfills/0002_strip_collection_path_c_prefix_fix.sql +12 -0
- package/src/db/backfills/0003_clear_system_nav_default_labels.sql +15 -0
- package/src/db/dialect.ts +40 -0
- package/src/db/migrations/0005_busy_the_phantom.sql +39 -0
- package/src/db/migrations/0006_adorable_magdalene.sql +3 -0
- package/src/db/migrations/0007_unusual_warstar.sql +1 -0
- package/src/db/migrations/0008_nasty_lockheed.sql +1 -0
- package/src/db/migrations/0009_clear_fixer.sql +31 -0
- package/src/db/migrations/0010_futuristic_preak.sql +31 -0
- package/src/db/migrations/0011_bizarre_smasher.sql +30 -0
- package/src/db/migrations/0012_furry_thena.sql +52 -0
- package/src/db/migrations/0013_mixed_lightspeed.sql +39 -0
- package/src/db/migrations/0014_high_the_santerians.sql +41 -0
- package/src/db/migrations/0015_skinny_shinobi_shaw.sql +1 -0
- package/src/db/migrations/0016_remarkable_nicolaos.sql +17 -0
- package/src/db/migrations/0017_powerful_moonstone.sql +14 -0
- package/src/db/migrations/meta/0005_snapshot.json +1904 -0
- package/src/db/migrations/meta/0006_snapshot.json +1925 -0
- package/src/db/migrations/meta/0007_snapshot.json +1933 -0
- package/src/db/migrations/meta/0008_snapshot.json +1940 -0
- package/src/db/migrations/meta/0009_snapshot.json +1952 -0
- package/src/db/migrations/meta/0010_snapshot.json +1952 -0
- package/src/db/migrations/meta/0011_snapshot.json +1948 -0
- package/src/db/migrations/meta/0012_snapshot.json +1955 -0
- package/src/db/migrations/meta/0013_snapshot.json +1977 -0
- package/src/db/migrations/meta/0014_snapshot.json +1988 -0
- package/src/db/migrations/meta/0015_snapshot.json +1995 -0
- package/src/db/migrations/meta/0016_snapshot.json +2104 -0
- package/src/db/migrations/meta/0017_snapshot.json +2188 -0
- package/src/db/migrations/meta/_journal.json +92 -1
- package/src/db/migrations/pg/0003_motionless_norrin_radd.sql +21 -0
- package/src/db/migrations/pg/0004_nervous_captain_midlands.sql +3 -0
- package/src/db/migrations/pg/0005_romantic_mesmero.sql +1 -0
- package/src/db/migrations/pg/0006_perpetual_bruce_banner.sql +1 -0
- package/src/db/migrations/pg/0007_nav_item_placement.sql +1 -0
- package/src/db/migrations/pg/0008_yielding_frightful_four.sql +3 -0
- package/src/db/migrations/pg/0009_outstanding_ogun.sql +1 -0
- package/src/db/migrations/pg/0010_overjoyed_gertrude_yorkes.sql +28 -0
- package/src/db/migrations/pg/0011_fixed_hulk.sql +19 -0
- package/src/db/migrations/pg/0012_cute_shockwave.sql +2 -0
- package/src/db/migrations/pg/0013_bizarre_obadiah_stane.sql +1 -0
- package/src/db/migrations/pg/0014_tearful_grim_reaper.sql +16 -0
- package/src/db/migrations/pg/0015_daffy_mikhail_rasputin.sql +14 -0
- package/src/db/migrations/pg/meta/0003_snapshot.json +2482 -0
- package/src/db/migrations/pg/meta/0004_snapshot.json +2500 -0
- package/src/db/migrations/pg/meta/0005_snapshot.json +2507 -0
- package/src/db/migrations/pg/meta/0006_snapshot.json +2513 -0
- package/src/db/migrations/pg/meta/0008_snapshot.json +2524 -0
- package/src/db/migrations/pg/meta/0009_snapshot.json +2520 -0
- package/src/db/migrations/pg/meta/0010_snapshot.json +2526 -0
- package/src/db/migrations/pg/meta/0011_snapshot.json +2563 -0
- package/src/db/migrations/pg/meta/0012_snapshot.json +2573 -0
- package/src/db/migrations/pg/meta/0013_snapshot.json +2579 -0
- package/src/db/migrations/pg/meta/0014_snapshot.json +2702 -0
- package/src/db/migrations/pg/meta/0015_snapshot.json +2803 -0
- package/src/db/migrations/pg/meta/_journal.json +92 -1
- package/src/db/pg/__tests__/node.test.ts +38 -0
- package/src/db/pg/node.ts +149 -0
- package/src/db/pg/schema.ts +130 -12
- package/src/db/rehearsal-fixtures/demo-current.sql +47 -3
- package/src/db/schema.ts +139 -12
- package/src/i18n/Trans.tsx +3 -3
- package/src/i18n/__tests__/context.test.tsx +9 -6
- package/src/i18n/__tests__/detect.test.ts +65 -48
- package/src/i18n/__tests__/fallback.test.ts +40 -0
- package/src/i18n/__tests__/message-placeholders.test.ts +43 -0
- package/src/i18n/__tests__/middleware.test.ts +83 -0
- package/src/i18n/context.tsx +9 -44
- package/src/i18n/detect.ts +95 -28
- package/src/i18n/i18n.ts +41 -17
- package/src/i18n/index.ts +7 -5
- package/src/i18n/locales/{en.po → public/en.po} +284 -1151
- package/src/i18n/locales/public/en.ts +1 -0
- package/src/i18n/locales/public/zh-Hans.po +2327 -0
- package/src/i18n/locales/public/zh-Hans.ts +1 -0
- package/src/i18n/locales/public/zh-Hant.po +2327 -0
- package/src/i18n/locales/public/zh-Hant.ts +1 -0
- package/src/i18n/locales/settings/en.po +1622 -0
- package/src/i18n/locales/settings/en.ts +1 -0
- package/src/i18n/locales/settings/zh-Hans.po +1622 -0
- package/src/i18n/locales/settings/zh-Hans.ts +1 -0
- package/src/i18n/locales/settings/zh-Hant.po +1622 -0
- package/src/i18n/locales/settings/zh-Hant.ts +1 -0
- package/src/i18n/middleware.ts +37 -24
- package/src/index.ts +4 -5
- package/src/lib/__tests__/collection-groups.test.ts +17 -0
- package/src/lib/__tests__/constants.test.ts +2 -24
- package/src/lib/__tests__/csp-builder.test.ts +68 -0
- package/src/lib/__tests__/display-text.test.ts +27 -0
- package/src/lib/__tests__/embed-providers.test.ts +104 -0
- package/src/lib/__tests__/embed-render.test.ts +60 -0
- package/src/lib/__tests__/feed.test.ts +125 -63
- package/src/lib/__tests__/hosted-signin.test.ts +11 -2
- package/src/lib/__tests__/markdown-roundtrip-embed.test.ts +88 -0
- package/src/lib/__tests__/markdown-to-tiptap.test.ts +59 -0
- package/src/lib/__tests__/markdown.test.ts +47 -5
- package/src/lib/__tests__/navigation.test.ts +148 -0
- package/src/lib/__tests__/post-display.test.ts +3 -2
- package/src/lib/__tests__/post-meta.test.ts +3 -0
- package/src/lib/__tests__/resolve-config.test.ts +30 -25
- package/src/lib/__tests__/schemas.test.ts +20 -3
- package/src/lib/__tests__/summary.test.ts +400 -1
- package/src/lib/__tests__/theme.test.ts +41 -2
- package/src/lib/__tests__/timeline.test.ts +33 -27
- package/src/lib/__tests__/tiptap-render.test.ts +224 -0
- package/src/lib/__tests__/tiptap-to-markdown.test.ts +51 -0
- package/src/lib/__tests__/video-playback.test.ts +48 -0
- package/src/lib/__tests__/view.test.ts +115 -8
- package/src/lib/__tests__/worker-response-cache.test.ts +311 -0
- package/src/lib/__tests__/youtube.test.ts +99 -0
- package/src/lib/api-media.ts +55 -0
- package/src/lib/api-posts.ts +99 -0
- package/src/lib/api-search.ts +47 -0
- package/src/lib/api-settings.ts +122 -0
- package/src/lib/asset-path.ts +20 -2
- package/src/lib/collection-groups.ts +2 -1
- package/src/lib/collection-paths.ts +40 -0
- package/src/lib/constants.ts +3 -24
- package/src/lib/csp-builder.ts +99 -0
- package/src/lib/decorative-quote-mark.ts +11 -0
- package/src/lib/display-text.ts +56 -0
- package/src/lib/embed-providers.ts +289 -0
- package/src/lib/embed-render.ts +151 -0
- package/src/lib/env.ts +70 -1
- package/src/lib/excerpt.ts +11 -2
- package/src/lib/feed.ts +89 -66
- package/src/lib/footnotes.ts +146 -0
- package/src/lib/github-api.ts +423 -0
- package/src/lib/github-app-state.ts +135 -0
- package/src/lib/github-app.ts +487 -0
- package/src/lib/github-sync-queue-handler.ts +69 -0
- package/src/lib/github-sync-site-config.ts +57 -0
- package/src/lib/github-sync-trigger.ts +199 -0
- package/src/lib/github-sync-worker.ts +72 -0
- package/src/lib/hosted-signin.ts +1 -1
- package/src/lib/hugo-markdown.ts +255 -0
- package/src/lib/job-queue-cf.ts +18 -0
- package/src/lib/job-queue-db.ts +149 -0
- package/src/lib/job-queue.ts +35 -0
- package/src/lib/markdown-manager.ts +864 -0
- package/src/lib/markdown-to-tiptap.ts +4 -323
- package/src/lib/markdown.ts +16 -24
- package/src/lib/media-helpers.ts +1 -0
- package/src/lib/navigation.ts +40 -8
- package/src/lib/post-display.ts +10 -22
- package/src/lib/public-storage.ts +6 -1
- package/src/lib/render.tsx +5 -2
- package/src/lib/resolve-config.ts +23 -11
- package/src/lib/rich-image.ts +89 -0
- package/src/lib/schemas.ts +180 -13
- package/src/lib/summary.ts +125 -18
- package/src/lib/theme.ts +119 -0
- package/src/lib/timeline.ts +63 -42
- package/src/lib/tiptap-render.ts +265 -126
- package/src/lib/tiptap-to-markdown.ts +6 -329
- package/src/lib/upload.ts +97 -6
- package/src/lib/version.ts +18 -0
- package/src/lib/video-playback.ts +73 -0
- package/src/lib/view.ts +130 -90
- package/src/lib/webhook-signature.ts +65 -0
- package/src/lib/worker-response-cache.ts +220 -0
- package/src/lib/youtube.ts +119 -0
- package/src/middleware/__tests__/onboarding.test.ts +3 -3
- package/src/middleware/__tests__/secure-headers.test.ts +28 -1
- package/src/middleware/config.ts +7 -10
- package/src/middleware/cors.ts +49 -0
- package/src/middleware/secure-headers.ts +45 -55
- package/src/node/__tests__/cli-migrate.test.ts +111 -0
- package/src/node/__tests__/cli-runtime-target.test.ts +1 -1
- package/src/node/__tests__/cli-site-token-env.test.ts +2 -2
- package/src/preset.css +316 -12
- package/src/routes/__tests__/compose.test.ts +3 -1
- package/src/routes/api/__tests__/collections.test.ts +81 -27
- package/src/routes/api/__tests__/mcp.test.ts +389 -0
- package/src/routes/api/__tests__/nav-items.test.ts +163 -2
- package/src/routes/api/__tests__/posts.test.ts +190 -0
- package/src/routes/api/__tests__/settings.test.ts +99 -3
- package/src/routes/api/__tests__/upload-multipart.test.ts +10 -2
- package/src/routes/api/__tests__/upload.test.ts +132 -0
- package/src/routes/api/__tests__/uploads.test.ts +5 -3
- package/src/routes/api/collections.ts +67 -26
- package/src/routes/api/custom-urls.ts +1 -0
- package/src/routes/api/export.ts +8 -4
- package/src/routes/api/github-sync.tsx +445 -0
- package/src/routes/api/internal/__tests__/sites.test.ts +45 -2
- package/src/routes/api/internal/sites.ts +2 -0
- package/src/routes/api/internal/text-attachments.ts +60 -0
- package/src/routes/api/internal/uploads.ts +5 -1
- package/src/routes/api/mcp.ts +30 -0
- package/src/routes/api/nav-items.ts +30 -11
- package/src/routes/api/palette.ts +17 -0
- package/src/routes/api/posts.ts +37 -106
- package/src/routes/api/public/__tests__/posts.test.ts +372 -0
- package/src/routes/api/public/posts.ts +302 -0
- package/src/routes/api/search.ts +1 -47
- package/src/routes/api/settings.ts +44 -58
- package/src/routes/api/upload-multipart.ts +15 -5
- package/src/routes/api/upload.ts +62 -49
- package/src/routes/api/uploads.ts +1 -0
- package/src/routes/auth/__tests__/hosted-sso.test.ts +33 -0
- package/src/routes/auth/__tests__/setup.test.ts +29 -4
- package/src/routes/auth/hosted-sso-expired-page.tsx +89 -0
- package/src/routes/auth/hosted-sso.ts +42 -1
- package/src/routes/auth/reset.tsx +46 -32
- package/src/routes/auth/setup.tsx +53 -43
- package/src/routes/auth/signin.tsx +34 -24
- package/src/routes/compose.tsx +114 -1
- package/src/routes/dash/__tests__/font-theme.test.ts +6 -27
- package/src/routes/dash/__tests__/settings-avatar.test.ts +2 -3
- package/src/routes/dash/custom-urls.tsx +250 -112
- package/src/routes/dash/settings.tsx +1163 -70
- package/src/routes/feed/__tests__/{rss.test.ts → feed.test.ts} +62 -123
- package/src/routes/feed/feed.ts +386 -0
- package/src/routes/feed/manifest.ts +67 -0
- package/src/routes/feed/sitemap.ts +11 -2
- package/src/routes/pages/__tests__/collection-routing.test.ts +176 -0
- package/src/routes/pages/__tests__/collections.test.ts +2 -3
- package/src/routes/pages/__tests__/featured.test.ts +2 -3
- package/src/routes/pages/archive.tsx +523 -127
- package/src/routes/pages/collection.tsx +197 -43
- package/src/routes/pages/collections.tsx +5 -1
- package/src/routes/pages/home.tsx +2 -2
- package/src/routes/pages/latest.tsx +3 -3
- package/src/routes/pages/page.tsx +221 -3
- package/src/routes/pages/partials.tsx +5 -0
- package/src/routes/pages/search.tsx +17 -1
- package/src/routes/pages/theme-sample.tsx +1 -2
- package/src/runtime/__tests__/node.test.ts +1 -1
- package/src/runtime/readiness.ts +1 -1
- package/src/runtime/site.ts +9 -1
- package/src/services/__tests__/collection.test.ts +137 -54
- package/src/services/__tests__/github-app-installations.test.ts +181 -0
- package/src/services/__tests__/github-sync-classify.test.ts +189 -0
- package/src/services/__tests__/github-sync-push.test.ts +159 -0
- package/src/services/__tests__/media.test.ts +444 -7
- package/src/services/__tests__/navigation.test.ts +271 -14
- package/src/services/__tests__/post-timeline.test.ts +31 -21
- package/src/services/__tests__/post.test.ts +83 -9
- package/src/services/__tests__/settings.test.ts +43 -21
- package/src/services/auth.ts +2 -2
- package/src/services/bootstrap.ts +10 -7
- package/src/services/collection.ts +591 -193
- package/src/services/custom-url.ts +34 -7
- package/src/services/export-theme/assets/client-site.css +2 -0
- package/src/services/export-theme/assets/client-site.js +145 -0
- package/src/services/export-theme/layouts/_default/alias.html +49 -0
- package/src/services/export-theme/layouts/_default/baseof.html +21 -0
- package/src/services/export-theme/layouts/_default/list.html +104 -0
- package/src/services/export-theme/layouts/_default/rss.xml +160 -0
- package/src/services/export-theme/layouts/_default/single.html +15 -0
- package/src/services/export-theme/layouts/archive/list.html +31 -0
- package/src/services/export-theme/layouts/collection/single.html +19 -0
- package/src/services/export-theme/layouts/collections/list.html +111 -0
- package/src/services/export-theme/layouts/featured/list.html +28 -0
- package/src/services/export-theme/layouts/index.html +41 -0
- package/src/services/export-theme/layouts/partials/feed-post-content.xml +107 -0
- package/src/services/export-theme/layouts/partials/footer.html +32 -0
- package/src/services/export-theme/layouts/partials/head.html +52 -0
- package/src/services/export-theme/layouts/partials/header.html +115 -0
- package/src/services/export-theme/layouts/partials/media-gallery.html +246 -0
- package/src/services/export-theme/layouts/partials/pagination.html +55 -0
- package/src/services/export-theme/layouts/partials/post-card.html +127 -0
- package/src/services/export-theme/layouts/partials/reply.html +91 -0
- package/src/services/export-theme/layouts/partials/thread-preview.html +82 -0
- package/src/services/export-theme/layouts/post/list.html +129 -0
- package/src/services/export-theme/styles/main.css +1981 -0
- package/src/services/export-theme/theme.toml +12 -0
- package/src/services/export.ts +1365 -2412
- package/src/services/github-app-installations.ts +302 -0
- package/src/services/github-sync.ts +769 -0
- package/src/services/index.ts +15 -0
- package/src/services/mcp.ts +1324 -0
- package/src/services/media.ts +336 -25
- package/src/services/navigation.ts +115 -23
- package/src/services/path.ts +129 -28
- package/src/services/post.ts +658 -195
- package/src/services/search.ts +3 -0
- package/src/services/settings.ts +29 -15
- package/src/services/site-admin.ts +26 -6
- package/src/services/upload-session.ts +69 -34
- package/src/style-cjk-jp.css +3 -0
- package/src/style-cjk-kr.css +3 -0
- package/src/styles/components.css +160 -59
- package/src/styles/fonts/et-book/et-book-bold-line-figures.woff +0 -0
- package/src/styles/fonts/et-book/et-book-display-italic-old-style-figures.woff +0 -0
- package/src/styles/fonts/et-book/et-book-roman-line-figures.woff +0 -0
- package/src/styles/fonts/et-book.css +31 -0
- package/src/styles/fonts/latin.css +1 -0
- package/src/styles/fonts/noto-serif-jp/400/057a6a98bda7fe57105ddaa99ec82015.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/0acd1fe2b2ea1ad1bfee7ae1fa139d27.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/0c2ab6b295e55f356f8020d4e7747522.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/0c5f9492af03a4fa42c784de94649de1.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/0d9a936885a4c39077438effd3779cbd.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/0e645da524f7cfc0e8c3c03fb2b08428.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/135e83b403475c5dc9e49b43501a5b84.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/13b2c53b30e6a3e4de7132dbc18dbdfc.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/15d95680dc31cc6ce20e0a5464106dc4.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/1733f27476507ca68b68a803bc533cc2.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/188c2db794f3dd7a45889ddbc81da9bb.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/1cf737900dd49c2e88f1b3221a82a602.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/233d3a685ee18276b319363474599d47.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/284b53bbefb06924cf236d24c8ed5641.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/2a56eaf19d1d38a6b57e2a388f733676.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/2abfbab82b6a7c04426afc054d2464da.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/2e6f4bb71ef6b38765d51acc5a79f638.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/31194d303a67561926a544ed0e072aee.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/3623d96698132c61e861f984ce11cc23.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/39211b02f24c69cbd1b54f6d41b01933.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/3e24063b19abd2b051af986a6870046d.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/4410f876d27c9821839474b6b1059fd7.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/479329a39a3eb6c0047e6b0981919855.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/527ff336279465617aafbafe1a830632.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/56b40518ea0608e62826bd44ee27f5f9.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/5acc7f736217259db79a42bf44241c48.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/5c05f8b75c9d7f25b3c04ca711cf43b3.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/5e0124c7265f1b4cf0fc797b94efbebc.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/615a7e0d63f257109d599b2a1977de68.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/61a2c80d0c924d5a6187c02e8d1d1642.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/62fc94f8d4c5a750b7f25e7387539910.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/639c7c6b0b0c27c738702741cfa4b8c0.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/68a3a4bf337f8a0722be76676e20b850.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/6abdd163d2c4b85698db8aa1ce149361.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/73b794d885b88f7befb7ea8ab1780a15.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/743f290baf027d4626a86e22f3d44600.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/757019c01c5e2c2b0f54293cea3b5636.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/76f117a3baacda304a71965a17266a13.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/77747f17625a259fb405b7bbdd84ac4b.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/788498548ddfb710d6ef3c7bff79fa97.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/78ea6c40923ce95367e3517dd1e5a849.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/7f9a6c9286b68de9c72b0024f7beeb40.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/823d1bb11097331238d103c7f72138dc.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/888ba53510213d5d1f6a7deb60e569b6.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/892aa49b2529c89bb4076d4aa51fe30f.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/95ff41191c76ef893ac70a1043e95e44.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/96c75862c8cec51a7c05ff025fea86cd.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/9b21e8244f5930c48ad5073f83777b6c.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/9fce02d1a09f464c36c9fcfb14a354c5.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/a0a6755c7e3f9e4cf03387027dd9f16c.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/a4475c442c6b259354c9eda62e64e7df.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/a4a39b5f048671aa37c2b2a9581ab08a.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/a534449d67561ac9b06489f64e57ad98.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/a919a8c6fec6d7e8bb21177965f2e9d7.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/ad67113f88b59582991cb0c5d33ea19f.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/adb6e613fb99c6dd660b727101f554a8.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/adc4a98a89870ef984ee8f4b57c8a3a5.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/b12379ab782468d725519cd07a7d15bc.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/b55486f8a459c838fe329d4e79a8c211.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/bb0b15492b8cdbbec57c0bcfa0aa9241.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/bedc74b423b7293b6ad0bdecc61c42cc.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/bfb00d4a4c48661bd0be99f300a0faae.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/c1b0df29ae41d764904df84e9ac83d1e.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/c42c67070cfe99cf823df92d81c7fa6e.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/c4d749e45ecd5a5aed5a0bb3ebfd355d.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/c96d83978add28b356c22c4c84916733.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/cb7ccd6494256f7a2977b7c2b0225592.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/ce41d70ce6a069a498525c9e15c45cf2.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/d509ee5c8241bc7c3de2039d75564fa5.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/d675d717cd329bfd4c0524f76ae1579c.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/dc8f6256445e68199540be9ade33529f.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/e8c15be62faf978d208925e79ea6a10d.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/e91c4d941ed9f5c2f3e27f205a3a225e.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/e9c566be7a5d38a9085225f7372bc82b.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/e9ebc567a711eeb29019ddae3e0ce7fe.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/ecb8875a56c7b038b35432fda41ae128.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/f1661731474b78bdf81114daf10b254f.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/f2c58dee206ba9355046fc23d05491f7.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/f50ac27ea4358d67fdda403c2bb52467.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/f55334112f8e8be82d65db29887a663f.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/f740e93f3c0277ecc616594103bca683.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/f7633b5af033d76ff2fb3c3c266d77c5.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/f7d8468cba2335a83ee414ea68291bab.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/fc9ae5b600fb711f2d67e93ce768cba4.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/400/fd1bceb55d3e0183ac2454b8532fec7d.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/02611a045a7fe83a12014e3debc9f731.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/0f5e1a18987dbc84ca05188c129e1936.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/112743a4ab5fdd1498dfdf2b11336380.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/1211f03d3ff5759a702631445793f60e.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/147b24c2f08d03bbed30887d4cb3311c.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/16663e567f81f4725a1522f37e18f71f.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/1824321da801e6257b902f3d1d09054c.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/1a3a92c7c060a71a6c35819b9ebcdbb9.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/1fba7ec0e412e911bf31841de5a8a4e4.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/28a97af9ab9d38983d20f39ff09840e1.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/2bfaadaf3479c72286248e6de0be0ec9.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/2c8c55e4cec85ce77e95cac9d330f5cf.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/2ed9981d2e8983365bd051159b976b6d.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/2f4c633e923ba30c6ba376367379fc91.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/349965eee0a9b6c984a319ab96a4ece9.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/36cda3eae13370b934bba4429fab9078.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/3aa13f1843d7c8fa16109b6395a9a29d.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/3e2c06bdd9dcab29aeaeb0cfb7fa608a.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/424123f9371ba357087363263eeafcda.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/43b3bbf43055c3e65db9cdf2c5b18c1c.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/44704471b60c18b3ecec5300a88f1102.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/46604090efbb99c2db1800928af0a239.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/46998df85d31e629c0142f0556f5e7c5.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/49902f1c41b281f8eb3771abdd4dccb8.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/4db4f31a16965baa42cb7dad667a8f04.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/572b9e28f1e6d89b765a16d809db84a1.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/5921cef36750ff6092d94b83a802823b.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/59e95d8b5332dcdae894a19946ab767d.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/5ec349ff62b9ee5fe0c6dae867704dc4.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/601f812e8b1eafecd5ba585a6a6d7962.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/6025ddaf99d86cc8bfd781006b19fbd6.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/60f6e28b3f0400b0e8fe32c3c7116102.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/64a404d675f1d726f0891b7a80794595.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/7158022889c6c177062ac85036e7af10.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/7e38ca789a9e76ac91d9256374e154f0.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/815a0b797465190f60d8b1a04656c42e.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/8726558cf297cbda831cc19514897205.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/8855472f3c02f6c7ebb3216617ebe4af.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/8e231d707f0c4f8e3cde90a6b52a79aa.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/9064c12fd72c7aba235d8c3881755b91.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/911b9e53e9814de2998c60bf3115f560.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/92fdc376bce277874e75db666f175b44.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/930a23430f0eb64480d7fe5f82834e21.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/93bed0e5f2dd5a21cf73304fcfbc149d.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/93f3ea6918533d96d9c252378b9a4af0.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/95a0951d2a2722ff773a1a45e8c474d6.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/982cd1765ca6bbb3e6547e47834d5148.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/9b0c3caac458c7bc9c9133e40405ddea.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/9f3bdab4025dc7c5ba1a5871e62e8918.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/a00e94d4f04df6aa659db9c4954c7efe.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/a2b0597837e382aca19919c4b74e58c8.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/a373e85c96aa0dc303092429fb837e51.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/a6e044424780a57610833cc856c15bf5.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/a7c58070d68dc1724e9d4e781afb78db.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/accc43762ad05edfbff66ba1380d192a.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/ad47bcd6d4663026d648c132d969318d.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/af57a2e8c72f9ba0efb1af771d32c124.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/b0ae5f374e43dac992a4a5d334cebc0b.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/b91234c10fd8b8c8abc88e03afe66a1f.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/b9317198f118a1dfd8ddf2b82ec028f3.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/ba825ae79b1a6f7e0cce5215fcb5c96f.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/bc6183ac08f0fac78c46f80c10cf7c92.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/bc8ccea5abf6598cf3cfa97eb59804bb.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/bc95a792cbca6639214c9b0da13392ff.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/bcfa62f35731856246c146d3a6932bf3.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/c063897793f593eb26d6ff7b7baaba18.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/c6c2971ad1f3221f6cf84028aa0f477e.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/c97f41eef722121d86f55d553c056a39.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/ca62704509932d3232d62918de97af3f.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/d1f064825fa5784b5c930652bd831cce.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/d2faabcedd19f016e7b21bce073c0ec8.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/d320171e57480510f87dbbc7d5264b0a.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/d3a72a99d365dddfbca8d017a8011368.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/d42aafa0f246ad3b4c16fe96d3a3a432.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/d4aaf23c13ae808a4bed617afd13aa07.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/d6bb686bddfbe8f38a36a68e609a8667.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/d9020ff69a83b2a6ee1f42ae480f7db0.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/da90a9012ab2d98f759e3fa0820ef502.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/df10d94bea357a43313e20da5d84bd30.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/e34b2b141e472dc776c86fdf8eea23b0.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/e444fd88f1390636e603d0d681538ac8.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/e79898628283edc27180fc39d0d769c1.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/eaf332445a40942928e5f5750c1c3116.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/f91cd722855f4269256eae1187df64ec.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/fc895f5ce66b656f4a933097bf2a8775.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/fca6720fd14c467d29a90f18ef3859b9.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/700/fd1bb507bcbf04856eeb7f7fd47ea579.woff2 +0 -0
- package/src/styles/fonts/noto-serif-jp/noto-serif-jp.css +3349 -0
- package/src/styles/fonts/noto-serif-kr/400/033466ef683afe931f7f520cfb42d928.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/05da12edb9d52210581dc6ec4541031f.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/0968e4861204b51f62a2f8e9f15dd5e0.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/0d5dec931dc885f07fe5cd5af8bed675.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/1076f0f6f66d28d7a2f16427faad4413.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/12ef1ba76bd20b004b865266a1aa70b3.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/152395634a207579552f8cb54db88599.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/1a08931435f885e707edb85978ea3bb6.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/31a197213ae61d7043c81013f52d10d6.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/37dbd564820cce2f7b3331e442da0df3.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/37dc8505b20b37a2477a9121b16d44a7.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/3ac0a07878cacdc98bb889f40f5970d3.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/491bbba374093fff045f55803a22bfef.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/4d38e56738156625329d93bd5c8cc74a.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/57e9a86651366c1ba299e47aa7e358c2.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/57f89adeae55aa7fe2add3fc1801ce03.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/5df9ce98c75f8c50fb4fff7f01a23925.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/60020a830d809c26970cf8e48ba1eeda.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/60bcfa3ea7446eb42394aab02d28be40.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/63fafcb069520613d0ea35ad3e6b1e42.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/65a60d87c64228d258a123cbe85f5f31.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/6968e889e18891d912809fe484c2e745.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/70714891ad3fbfc3d5f10a8669dacc5a.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/761d84afca8d7f34eebefe538adba827.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/76e07530323418ec723c5d7634c9bcca.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/773819b7b9b8fd404a929867c0fd677e.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/7817dd16805145d8538ad57590f69f5a.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/7b59f0ec7792b18458dc5a361e37884c.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/7c3945788a689a69356c1a622d69d48b.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/835b6505bb9eea9678925a1fa885353d.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/8b5c9ef81159f31d2ab35f45ca4373e0.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/8b91c7c2ed390f1278b9befa3aa87233.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/8fb45117a62d92dce44a80f0b729ead5.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/90b7848e9b1623b77bdcf155e90b839c.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/985d4d41afa0934a4eb2de35473fb9a2.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/9bb38fd05201de666b88b82d56a386f7.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/9eff2ab2a9d2ced47ab761bf6fdb11ec.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/9f1963fe8d4d6878d717d872a8f3fdb5.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/a0d00fe4816c95a8c7dffd445ef00b03.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/a0f199077fa1a33bc2a1e01c64de7fe6.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/a7c35e42a659347e490c3cb7983b2e7f.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/aa662092cf249707123ca4d575e2764b.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/aae1eda193285ab817a2d1b408440326.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/b0cb664cb2e1371efda8943c0b7dcd1c.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/b0d1cdced482352cf0d3ae58638aacb9.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/b320f5d185b2cff933ac549c184031c5.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/ba9c59d7dfa4494db1bb764ada81467d.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/bab547459d514f46206e340c4bb2dc88.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/bcc39eda837bb7a7a3d37c8c60fffb81.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/bd73264d7f98776708d5d6f3c9b78fcc.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/bed610b217d500f5975cfc9fe6157570.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/bf8901f8f11d4f433ea17dabc9370ea6.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/c4143bb9f2fe77b6ccf20088a8904650.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/c7ff3f6bbdcd5f604b7343602ab904df.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/c945c62368357d05a53206620460fb30.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/ce022e18a1377ac509443c3c3790b431.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/cf9cffe56636322f62b40d61130fbc5e.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/d20d8944bc0b85f5b2aae4b24f343516.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/d36644d6502527e1fff205d0c7eca434.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/d40ab99c7a38026f411c8f112f742b48.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/dc6e234ded795e91f76d6647f628fbf0.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/dd0cfdfdac0866e66d587e2b5a9e9961.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/de304c8a02e45ded4f8dcc479d167198.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/e8c364c16daa04835bf32d293d2598db.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/ec86e23683052da5cfdc3b77641bd15a.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/eda1b0cb6d1719dd9bedcf3216a9e8de.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/ee6fce20b420a480714607c66d7f97e5.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/eee3836d6ac17ebb2c450bbcbc9db121.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/f5738255e92d8dd34a46d1bcdf4c4074.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/fa6e58ce4b52695e7ae19bbea6336ec8.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/400/fd2069e6e8588c70b4f11364093b81f2.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/04b8bde59cff68eeee74fb1914eb09c7.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/05ac821472e235943ed1435e4bb8ecad.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/074c1f8483d5a4d8c45c8c5f3e4cbb32.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/1380210a722ac9aeef54005ad7b015c9.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/17c7f5d0a45e92ede0e5dec3a2c77efa.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/1be602ad456b0d75902d352116cb35fd.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/2612c60f9dc5459ac42763591240a1d6.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/2ab8cf1f23a5ac7939a7876054e711a7.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/34e6750e00c3a911ef87dc66b336594d.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/36f3df4730cfca4fc77fe52b52e6a126.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/37887deb7a9c466cf2af6ee7ff372ea6.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/3aba89c4d4281553078de4622b498cbb.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/3d88558097559d775231194d43745ba7.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/3dc3e8c35524cad2d1236f3393104ccf.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/45140742dfa8686b58db2899ce89f89a.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/469d2754e315e77270c12fa0ab28026c.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/4c0760284569b87d8f2290c324953973.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/4cba92c942694bdc479bc54101bb1aa4.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/4e7d263c30bb48604069a3b4404d4eeb.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/5279c7e465d9871edf51fd02e691eee7.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/54bfdb6f21f9d6191e5100580239e14f.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/56be5e32fd01668fe5ba814d94905839.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/615b38e0b5bb3ea68426f44f47706e6f.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/65e9c4585d71bf48a5c62f367010da16.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/6b75213eb0be40ce84241eb2bb438a2e.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/7520ca6ca8c60eb1e62d50e71c8d30f1.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/759a647b77791b1e98f99bc0ab5317a7.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/76e51630143b95b6322ef93ad330da7a.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/79aa7c8c842c4a27cf57c0a3a1ffca5a.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/7cc72fd2c9105560422b6a67c6162945.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/7d0ea0690e432462f4d05a23d720ec19.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/7dffa5c1bec57e0903fd62357401ff1a.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/82f6ccc063960eed1cdfd1d61ada8862.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/845b4b67564d62cf5cad242f7ac08ea5.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/84c8e7bc0931008ed91f44ed12dfea94.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/887a11290ba78b1e66c6d2f67043005e.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/88db1d042074fb6e66821ffc10941930.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/8dc18c0cebe6aa4bf4c45dbb831048ab.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/919a879bd2d580d8491a31a449390689.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/91da6cb174bebfb96976e2f1316be2fe.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/934dfdbed2bb2c4b6129199d699a34fa.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/97d7a17234f2b5030ae9697ae00aded2.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/995c4fda62d25c3b79dd5987737df6ae.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/9d0afa53dc2f92ba42024f55f11f6779.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/9e13a47242926f1cd7d68c08d9ef8889.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/a379ada89abd750c587ded29f77e731c.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/a48be56ce5d3a99dc8f8331398004412.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/a806759e72987951d6d08b7cbdf36a1b.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/a88481ec8bc7be11cb66e46781a79bb9.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/a9a016d4a93409f65278327e8a8bb38d.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/ab92d41062a7644faa45f50bf384454a.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/b326a8a9c33b554db570da94f60bc380.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/b6117ff2993b11bb1fdc7ea3588a010c.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/b61982951bd51b724143c30dfaaa9fe9.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/c0098958e20db68cab90097b5e62516f.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/c4bfaa5e50798246e3770718b7a7c84a.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/c84598999133455503042e06f4ab79cb.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/ca9a533988d7019597a60d4e17127e0c.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/cf2b28f90f47276f7e2688a65e88a101.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/d689b1861d7e4377dd72ad3013482612.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/d9047070d72a816b3dba9d40c2d85e69.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/da04549f3f4ed28076b01b8cd710d313.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/da7af303f8c645f9a9dbae0e6e32dd35.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/df9568257eb29b156449fdd4bec5ec76.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/e067cd0ed76c90cd0a93c9339253f20b.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/e08b07772e7bed3cec2832d43f7fd339.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/e12150d5a39b30be8f567968c7a527b0.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/e53fcb2381eee345db4f6f973dd95a3e.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/e5bd313ef81f687d398aacb11cec3069.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/eb5afb3d952b8593782caec6026514b6.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/edd6a4f608d04fc0351d7688cfc321e4.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/f9695c6c4df2bf6bc03045ff79d4f01f.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/fada6eaa68ff8816afe43d2a36c5423e.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/700/fbcc4bf5367218951172bdee6f77d7a6.woff2 +0 -0
- package/src/styles/fonts/noto-serif-kr/noto-serif-kr.css +2601 -0
- package/src/styles/site-media.css +823 -0
- package/src/styles/tokens.css +292 -21
- package/src/styles/ui.css +4188 -1857
- package/src/types/bindings.ts +3 -1
- package/src/types/config.ts +139 -9
- package/src/types/constants.ts +46 -11
- package/src/types/entities.ts +24 -8
- package/src/types/operations.ts +80 -1
- package/src/types/props.ts +10 -2
- package/src/types/raw-assets.d.ts +39 -0
- package/src/types/views.ts +28 -7
- package/src/ui/__tests__/color-themes.test.ts +7 -40
- package/src/ui/__tests__/font-themes.test.ts +30 -11
- package/src/ui/color-themes.ts +311 -270
- package/src/ui/compose/ComposeDialog.tsx +712 -394
- package/src/ui/compose/ComposePrompt.tsx +15 -10
- package/src/ui/dash/ActionButtons.tsx +27 -18
- package/src/ui/dash/DangerZone.tsx +15 -10
- package/src/ui/dash/FormatBadge.tsx +21 -8
- package/src/ui/dash/StatusBadge.tsx +33 -22
- package/src/ui/dash/appearance/AdvancedContent.tsx +44 -30
- package/src/ui/dash/appearance/CodeInjectionContent.tsx +164 -0
- package/src/ui/dash/appearance/ColorThemeContent.tsx +127 -160
- package/src/ui/dash/appearance/FontThemeContent.tsx +20 -15
- package/src/ui/dash/appearance/NavigationContent.tsx +368 -225
- package/src/ui/dash/appearance/__tests__/NavigationContent.test.tsx +54 -0
- package/src/ui/dash/settings/AccountContent.tsx +34 -23
- package/src/ui/dash/settings/AccountMenuContent.tsx +226 -137
- package/src/ui/dash/settings/ApiTokensContent.tsx +122 -79
- package/src/ui/dash/settings/AvatarContent.tsx +73 -45
- package/src/ui/dash/settings/DeleteAccountContent.tsx +106 -66
- package/src/ui/dash/settings/GeneralContent.tsx +274 -157
- package/src/ui/dash/settings/GitHubSyncContent.tsx +558 -0
- package/src/ui/dash/settings/SessionsContent.tsx +79 -38
- package/src/ui/dash/settings/SettingsRootContent.tsx +209 -109
- package/src/ui/dash/settings/__tests__/AccountMenuContent.test.tsx +67 -0
- package/src/ui/dash/settings/__tests__/GeneralContent.test.tsx +75 -0
- package/src/ui/feed/CuratedThreadPreview.tsx +24 -14
- package/src/ui/feed/LinkCard.tsx +116 -84
- package/src/ui/feed/LinkPreview.tsx +75 -0
- package/src/ui/feed/NoteCard.tsx +60 -16
- package/src/ui/feed/PostStatusBadges.tsx +15 -0
- package/src/ui/feed/QuoteCard.tsx +10 -3
- package/src/ui/feed/ThreadPreview.tsx +62 -36
- package/src/ui/feed/TimelineFeed.tsx +2 -1
- package/src/ui/feed/__tests__/thread-preview.test.ts +220 -11
- package/src/ui/feed/__tests__/timeline-cards.test.ts +186 -5
- package/src/ui/feed/thread-preview-state.ts +23 -10
- package/src/ui/font-themes.ts +57 -97
- package/src/ui/layouts/BaseLayout.tsx +221 -136
- package/src/ui/layouts/SiteLayout.tsx +431 -143
- package/src/ui/layouts/__tests__/BaseLayout.test.tsx +76 -6
- package/src/ui/layouts/__tests__/SiteLayout.test.tsx +76 -0
- package/src/ui/pages/ArchivePage.tsx +320 -207
- package/src/ui/pages/BrandPage.tsx +499 -341
- package/src/ui/pages/CollectionEditorPage.tsx +50 -30
- package/src/ui/pages/CollectionPage.tsx +151 -78
- package/src/ui/pages/CollectionsPage.tsx +27 -18
- package/src/ui/pages/ComposePage.tsx +15 -10
- package/src/ui/pages/FeaturedPage.tsx +16 -11
- package/src/ui/pages/HomePage.tsx +15 -10
- package/src/ui/pages/PostPage.tsx +5 -1
- package/src/ui/pages/SearchPage.tsx +93 -43
- package/src/ui/pages/ThemeSamplePage.tsx +758 -520
- package/src/ui/pages/__tests__/ArchivePage.test.tsx +72 -0
- package/src/ui/shared/CollectionDirectory.tsx +215 -34
- package/src/ui/shared/CollectionsManager.tsx +155 -75
- package/src/ui/shared/DecorativeQuoteMark.tsx +12 -9
- package/src/ui/shared/MediaGallery.tsx +350 -256
- package/src/ui/shared/Pagination.tsx +36 -25
- package/src/ui/shared/PostFooter.tsx +139 -96
- package/src/ui/shared/__tests__/media-gallery.test.ts +27 -0
- package/src/ui/shared/__tests__/navigation-labels.test.ts +79 -28
- package/src/ui/shared/__tests__/post-footer.test.ts +42 -17
- package/src/ui/shared/collection-management-labels.ts +109 -33
- package/src/ui/shared/navigation-labels.ts +78 -8
- package/bin/lib/site-localize-media.js +0 -427
- package/dist/client/_assets/client-auth.js +0 -3260
- package/dist/client/_assets/client.css +0 -2
- package/dist/client/_assets/client.js +0 -380
- package/src/__tests__/site-localize-media.test.ts +0 -150
- package/src/client/components/jant-collection-sidebar.ts +0 -816
- package/src/i18n/locales/en.ts +0 -1
- package/src/i18n/locales/zh-Hans.po +0 -3197
- package/src/i18n/locales/zh-Hans.ts +0 -1
- package/src/i18n/locales/zh-Hant.po +0 -3197
- package/src/i18n/locales/zh-Hant.ts +0 -1
- package/src/routes/feed/rss.ts +0 -216
- package/src/types/lingui-react-macro.d.ts +0 -34
- /package/dist/client/_assets/chunks/{heic-to-XcUDQvtx.js → heic-to-DUUaO23q.js} +0 -0
- /package/dist/client/_assets/chunks/{module-ChVQstFd.js → module-DcsAZQZ_.js} +0 -0
- /package/dist/client/_assets/chunks/{native-CR5HLOyf.js → native-DpcrFAPh.js} +0 -0
- /package/dist/client/_assets/{client-cjk.css → client-cjk-B7Z0snDu.css} +0 -0
- /package/dist/client/_assets/{client-cjk-tc.css → client-cjk-tc-BesJYrb2.css} +0 -0
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
import{r as e}from"./chunks/url-pLre2DM_.js";var t=`🖕JS_DS🚀`,n=t.slice(0,5),r=t.slice(4),i=`datastar-fetch`,a=`datastar-signal-patch`,o=Object.hasOwn??Object.prototype.hasOwnProperty.call,s=e=>typeof e==`object`&&!!e&&(Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)===null),c=e=>{for(let t in e)if(o(e,t))return!1;return!0},l=(e,t)=>{for(let n in e){let r=e[n];s(r)||Array.isArray(r)?l(r,t):e[n]=t(r)}},u=e=>{let t={};for(let[n,r]of e){let e=n.split(`.`),i=e.pop(),a=e.reduce((e,t)=>e[t]??={},t);a[i]=r}return t},d=[],f=[],p=0,m=0,h=0,ee,g,_=0,v=()=>{p++},y=()=>{--p||(re(),T())},b=e=>{ee=g,g=e},x=()=>{g=ee,ee=void 0},S=e=>ce.bind(0,{previousValue:e,t:e,e:1}),te=Symbol(`computed`),ne=e=>{let t=le.bind(0,{e:17,getter:e});return t[te]=1,t},C=e=>{let t={d:e,e:2};g&&de(t,g),b(t),v();try{t.d()}finally{y(),x()}return ue.bind(0,t)},re=()=>{for(;m<h;){let e=f[m];f[m++]=void 0,se(e,e.e&=-65)}m=0,h=0},w=e=>`getter`in e?ie(e):ae(e,e.t),ie=e=>{b(e),me(e);try{let t=e.t;return t!==(e.t=e.getter(t))}finally{x(),he(e)}},ae=(e,t)=>(e.e=1,e.previousValue!==(e.previousValue=t)),oe=e=>{let t=e.e;if(!(t&64)){e.e=t|64;let n=e.r;n?oe(n.o):f[h++]=e}},se=(e,t)=>{if(t&16||t&32&&ge(e.s,e)){b(e),me(e),v();try{e.d()}finally{y(),x(),he(e)}return}t&32&&(e.e=t&-33);let n=e.s;for(;n;){let e=n.c,t=e.e;t&64&&se(e,e.e=t&-65),n=n.i}},ce=(e,...t)=>{if(t.length){if(e.t!==(e.t=t[0])){e.e=17;let t=e.r;return t&&(pe(t),p||re()),!0}return!1}let n=e.t;if(e.e&16&&ae(e,n)){let t=e.r;t&&_e(t)}return g&&de(e,g),n},le=e=>{let t=e.e;if(t&16||t&32&&ge(e.s,e)){if(ie(e)){let t=e.r;t&&_e(t)}}else t&32&&(e.e=t&-33);return g&&de(e,g),e.t},ue=e=>{let t=e.s;for(;t;)t=fe(t,e);let n=e.r;n&&fe(n),e.e=0},de=(e,t)=>{let n=t.a;if(n&&n.c===e)return;let r=n?n.i:t.s;if(r&&r.c===e){r.m=_,t.a=r;return}let i=e.p;if(i&&i.m===_&&i.o===t)return;let a=t.a=e.p={m:_,c:e,o:t,l:n,i:r,u:i};r&&(r.l=a),n?n.i=a:t.s=a,i?i.n=a:e.r=a},fe=(e,t=e.o)=>{let n=e.c,r=e.l,i=e.i,a=e.n,o=e.u;if(i?i.l=r:t.a=r,r?r.i=i:t.s=i,a?a.u=o:n.p=o,o)o.n=a;else if(!(n.r=a))if(`getter`in n){let e=n.s;if(e){n.e=17;do e=fe(e,n);while(e)}}else `previousValue`in n||ue(n);return i},pe=e=>{let t=e.n,n;e:for(;;){let r=e.o,i=r.e;if(i&60?i&12?i&4?!(i&48)&&ve(e,r)?(r.e=i|40,i&=1):i=0:r.e=i&-9|32:i=0:r.e=i|32,i&2&&oe(r),i&1){let i=r.r;if(i){let r=(e=i).n;r&&(n={t,f:n},t=r);continue}}if(e=t){t=e.n;continue}for(;n;)if(e=n.t,n=n.f,e){t=e.n;continue e}break}},me=e=>{_++,e.a=void 0,e.e=e.e&-57|4},he=e=>{let t=e.a,n=t?t.i:e.s;for(;n;)n=fe(n,e);e.e&=-5},ge=(e,t)=>{let n,r=0,i=!1;e:for(;;){let a=e.c,o=a.e;if(t.e&16)i=!0;else if((o&17)==17){if(w(a)){let e=a.r;e.n&&_e(e),i=!0}}else if((o&33)==33){(e.n||e.u)&&(n={t:e,f:n}),e=a.s,t=a,++r;continue}if(!i){let t=e.i;if(t){e=t;continue}}for(;r--;){let r=t.r,a=r.n;if(a?(e=n.t,n=n.f):e=r,i){if(w(t)){a&&_e(r),t=e.o;continue}i=!1}else t.e&=-33;if(t=e.o,e.i){e=e.i;continue e}}return i}},_e=e=>{do{let t=e.o,n=t.e;(n&48)==32&&(t.e=n|16,n&2&&oe(t))}while(e=e.n)},ve=(e,t)=>{let n=t.a;for(;n;){if(n===e)return!0;n=n.l}return!1},ye=e=>{let t=we,n=e.split(`.`);for(let e of n){if(t==null||!o(t,e))return;t=t[e]}return t},be=(e,t=``)=>{let n=Array.isArray(e);if(n||s(e)){let r=n?[]:{};for(let n in e)r[n]=S(be(e[n],`${t+n}.`));let i=S(0);return new Proxy(r,{get(e,a){if(!(a===`toJSON`&&!o(r,a)))return n&&a in Array.prototype?(i(),r[a]):typeof a==`symbol`?r[a]:((!o(r,a)||r[a]()==null)&&(r[a]=S(``),T(t+a,``),i(i()+1)),r[a]())},set(e,a,c){let l=t+a;if(n&&a===`length`){let e=r[a]-c;if(r[a]=c,e>0){let e={};for(let t=c;t<r[a];t++)e[t]=null;T(t.slice(0,-1),e),i(i()+1)}}else if(o(r,a))if(c==null)delete r[a];else if(o(c,te))r[a]=c,T(l,``);else{let e=r[a](),t=`${l}.`;if(s(e)&&s(c)){for(let n in e)o(c,n)||(delete e[n],T(t+n,null));for(let t in c){let n=c[t];e[t]!==n&&(e[t]=n)}}else r[a](be(c,t))&&T(l,c)}else c!=null&&(o(c,te)?(r[a]=c,T(l,``)):(r[a]=S(be(c,`${l}.`)),T(l,c)),i(i()+1));return!0},deleteProperty(e,t){return delete r[t],i(i()+1),!0},ownKeys(){return i(),Reflect.ownKeys(r)},has(e,t){return i(),t in r}})}return e},T=(e,t)=>{if(e!==void 0&&t!==void 0&&d.push([e,t]),!p&&d.length){let e=u(d);d.length=0,document.dispatchEvent(new CustomEvent(a,{detail:e}))}},E=(e,{ifMissing:t}={})=>{v();for(let n in e)e[n]==null?t||delete we[n]:xe(e[n],n,we,``,t);y()},D=(e,t)=>E(u(e),t),xe=(e,t,n,r,i)=>{if(s(e)){o(n,t)&&(s(n[t])||Array.isArray(n[t]))||(n[t]={});for(let a in e)e[a]==null?i||delete n[t][a]:xe(e[a],a,n[t],`${r+t}.`,i)}else i&&o(n,t)||(n[t]=e)},Se=e=>typeof e==`string`?RegExp(e.replace(/^\/|\/$/g,``)):e,Ce=({include:e=/.*/,exclude:t=/(?!)/}={},n=we)=>{let r=Se(e),i=Se(t),a=[],o=[[n,``]];for(;o.length;){let[e,t]=o.pop();for(let n in e){let c=t+n;s(e[n])?o.push([e[n],`${c}.`]):r.test(c)&&!i.test(c)&&a.push([c,ye(c)])}}return u(a)},we=be({}),Te=e=>e instanceof HTMLElement||e instanceof SVGElement||e instanceof MathMLElement,Ee=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).replace(/([a-z])([0-9]+)/gi,`$1-$2`).replace(/([0-9]+)([a-z])/gi,`$1-$2`).replace(/[\s_]+/g,`-`).toLowerCase(),De=e=>Ee(e).replace(/-/g,`_`),Oe=e=>{try{return JSON.parse(e)}catch{return Function(`return (${e})`)()}},ke={camel:e=>e.replace(/-[a-z]/g,e=>e[1].toUpperCase()),snake:e=>e.replace(/-/g,`_`),pascal:e=>e[0].toUpperCase()+ke.camel(e.slice(1))},O=(e,t,n=`camel`)=>{for(let r of t.get(`case`)||[n])e=ke[r]?.(e)||e;return e},Ae=e=>`data-${e}`,je=`https://data-star.dev/errors`,Me=(e,t,n={})=>{Object.assign(n,e);let r=Error();return r.message=`${t}
|
|
2
|
+
More info: ${je}/${De(t)}?${new URLSearchParams({metadata:JSON.stringify(n)}).toString()}
|
|
3
|
+
Context: ${JSON.stringify(n,null,2)}`,r},Ne=new Map,Pe=new Map,Fe=new Map,Ie=new Proxy({},{get:(e,t)=>Ne.get(t)?.apply,has:(e,t)=>Ne.has(t),ownKeys:()=>Reflect.ownKeys(Ne),set:()=>!1,deleteProperty:()=>!1}),Le=new Map,Re=[],ze=new Set,Be=new WeakSet,k=e=>{Re.push(e),Re.length===1&&setTimeout(()=>{for(let e of Re)ze.add(e.name),Pe.set(e.name,e);Re.length=0,Ye(),ze.clear()})},A=e=>{Ne.set(e.name,e)};document.addEventListener(i,e=>{let t=Fe.get(e.detail.type);t&&t.apply({error:Me.bind(0,{plugin:{type:`watcher`,name:t.name},element:{id:e.target.id,tag:e.target.tagName}})},e.detail.argsRaw)});var Ve=e=>{Fe.set(e.name,e)},He=e=>{for(let t of e){let e=Le.get(t);if(e&&Le.delete(t))for(let t of e.values())for(let e of t.values())e()}},Ue=Ae(`ignore`),We=`[${Ue}]`,Ge=e=>e.hasAttribute(`${Ue}__self`)||!!e.closest(We),Ke=(e,t)=>{for(let n of e)if(!Ge(n))for(let e in n.dataset)Xe(n,e.replace(/[A-Z]/g,`-$&`).toLowerCase(),n.dataset[e],t)},qe=new MutationObserver(e=>{for(let{target:t,type:n,attributeName:r,addedNodes:i,removedNodes:a}of e)if(n===`childList`){for(let e of a)Te(e)&&(He([e]),He(e.querySelectorAll(`*`)));for(let e of i)Te(e)&&(Ke([e]),Ke(e.querySelectorAll(`*`)))}else if(n===`attributes`&&r.startsWith(`data-`)&&Te(t)&&!Ge(t)){let e=r.slice(5),n=t.getAttribute(r);if(n===null){let n=Le.get(t);if(n){let t=n.get(e);if(t){for(let e of t.values())e();n.delete(e)}}}else Xe(t,e,n)}}),Je=e=>{let[t,...n]=e.split(`__`),[r,i]=t.split(/:(.+)/),a=new Map;for(let e of n){let[t,...n]=e.split(`.`);a.set(t,new Set(n))}return{pluginName:r,key:i,mods:a}},Ye=(e=document.documentElement,t=!0)=>{Te(e)&&Ke([e],!0),Ke(e.querySelectorAll(`*`),!0),t&&(qe.observe(e,{subtree:!0,childList:!0,attributes:!0}),Be.add(e))},Xe=(e,t,n,r)=>{{let i=t,{pluginName:a,key:o,mods:s}=Je(i),c=Pe.get(a);if((!r||ze.has(a))&&c){let t={el:e,rawKey:i,mods:s,error:Me.bind(0,{plugin:{type:`attribute`,name:c.name},element:{id:e.id,tag:e.tagName},expression:{rawKey:i,key:o,value:n}}),key:o,value:n,loadedPluginNames:{actions:new Set(Ne.keys()),attributes:new Set(Pe.keys())},rx:void 0},r=c.requirement&&(typeof c.requirement==`string`?c.requirement:c.requirement.key)||`allowed`,a=c.requirement&&(typeof c.requirement==`string`?c.requirement:c.requirement.value)||`allowed`,l=o!=null&&o!==``,u=n!=null&&n!==``;if(l){if(r===`denied`)throw t.error(`KeyNotAllowed`)}else if(r===`must`)throw t.error(`KeyRequired`);if(u){if(a===`denied`)throw t.error(`ValueNotAllowed`)}else if(a===`must`)throw t.error(`ValueRequired`);if(r===`exclusive`||a===`exclusive`){if(l&&u)throw t.error(`KeyAndValueProvided`);if(!l&&!u)throw t.error(`KeyOrValueRequired`)}let d=new Map;if(u){let r;t.rx=(...t)=>(r||=Ze(n,{returnsValue:c.returnsValue,argNames:c.argNames,cleanups:d}),r(e,...t))}let f=c.apply(t);f&&d.set(`attribute`,f);let p=Le.get(e);if(p){let e=p.get(i);if(e)for(let t of e.values())t()}else p=new Map,Le.set(e,p);p.set(i,d)}}},Ze=(e,{returnsValue:t=!1,argNames:i=[],cleanups:a=new Map}={})=>{let o=``;if(t){let t=e.trim().match(/(\/(\\\/|[^/])*\/|"(\\"|[^"])*"|'(\\'|[^'])*'|`(\\`|[^`])*`|\(\s*((function)\s*\(\s*\)|(\(\s*\))\s*=>)\s*(?:\{[\s\S]*?\}|[^;){]*)\s*\)\s*\(\s*\)|[^;])+/gm);if(t){let e=t.length-1,n=t[e].trim();n.startsWith(`return`)||(t[e]=`return (${n});`),o=t.join(`;
|
|
4
|
+
`)}}else o=e.trim();let s=new Map,c=RegExp(`(?:${n})(.*?)(?:${r})`,`gm`),l=0;for(let e of o.matchAll(c)){let t=e[1],i=`__escaped${l++}`;s.set(i,t),o=o.replace(n+t+r,i)}o=o.replace(/\$\['([a-zA-Z_$\d][\w$]*)'\]/g,`$$$1`).replace(/\$([a-zA-Z_\d]\w*(?:[.-]\w+)*)/g,(e,t)=>t.split(`.`).reduce((e,t)=>`${e}['${t}']`,`$`)),o=o.replaceAll(/@([A-Za-z_$][\w$]*)\(/g,`__action("$1",evt,`);for(let[e,t]of s)o=o.replace(e,t);try{let t=Function(`el`,`$`,`__action`,`evt`,...i,o);return(n,...r)=>{let i=(t,r,...i)=>{let s=Me.bind(0,{plugin:{type:`action`,name:t},element:{id:n.id,tag:n.tagName},expression:{fnContent:o,value:e}}),c=Ie[t];if(c)return c({el:n,evt:r,error:s,cleanups:a},...i);throw s(`UndefinedAction`)};try{return t(n,we,i,void 0,...r)}catch(t){throw console.error(t),Me({element:{id:n.id,tag:n.tagName},expression:{fnContent:o,value:e},error:t.message},`ExecuteExpression`)}}}catch(t){throw console.error(t),Me({expression:{fnContent:o,value:e},error:t.message},`GenerateExpression`)}};A({name:`peek`,apply(e,t){b();try{return t()}finally{x()}}}),A({name:`setAll`,apply(e,t,n){b();let r=Ce(n);l(r,()=>t),E(r),x()}}),A({name:`toggleAll`,apply(e,t){b();let n=Ce(t);l(n,e=>!e),E(n),x()}});var Qe=(e,t,n=!0)=>A({name:e,apply:async({el:r,evt:i,error:a,cleanups:o},s,{selector:c,headers:l,contentType:u=`json`,filterSignals:{include:d=/.*/,exclude:f=/(^|\.)_/}={},openWhenHidden:p=n,payload:m,requestCancellation:h=`auto`,retry:ee=`auto`,retryInterval:g=1e3,retryScaler:_=2,retryMaxWaitMs:v=3e4,retryMaxCount:y=10}={})=>{let S=h instanceof AbortController?h:new AbortController;h===`auto`&&(o.get(`@${e}`)?.(),o.set(`@${e}`,async()=>{S.abort(),await Promise.resolve()}));let te=null;try{if(!s?.length)throw a(`FetchNoUrlProvided`,{action:A});let e={Accept:`text/event-stream, text/html, application/json`,"Datastar-Request":!0};u===`json`&&(e[`Content-Type`]=`application/json`);let n=Object.assign({},e,l),o={method:t,headers:n,openWhenHidden:p,retry:ee,retryInterval:g,retryScaler:_,retryMaxWaitMs:v,retryMaxCount:y,signal:S.signal,onopen:async e=>{e.status>=400&&j(tt,r,{status:e.status.toString()})},onmessage:e=>{if(!e.event.startsWith(`datastar`))return;let t=e.event,n={};for(let t of e.data.split(`
|
|
5
|
+
`)){let e=t.indexOf(` `),r=t.slice(0,e),i=t.slice(e+1);(n[r]||=[]).push(i)}j(t,r,Object.fromEntries(Object.entries(n).map(([e,t])=>[e,t.join(`
|
|
6
|
+
`)])))},onerror:e=>{if(it(e))throw e(`FetchExpectedTextEventStream`,{url:s});e&&(console.error(e.message),j(nt,r,{message:e.message}))}},h=new URL(s,document.baseURI),ne=new URLSearchParams(h.search);if(u===`json`){b(),m=m===void 0?Ce({include:d,exclude:f}):m,x();let e=JSON.stringify(m);t===`GET`?ne.set(`datastar`,e):o.body=e}else if(u===`form`){let e=c?document.querySelector(c):r.closest(`form`);if(!e)throw a(`FetchFormNotFound`,{action:A,selector:c});if(!e.noValidate&&!e.checkValidity()){e.reportValidity();return}let s=new FormData(e),l=r;if(r===e&&i instanceof SubmitEvent)l=i.submitter;else{let t=e=>e.preventDefault();e.addEventListener(`submit`,t),te=()=>{e.removeEventListener(`submit`,t)}}if(l instanceof HTMLButtonElement){let e=l.getAttribute(`name`);e&&s.append(e,l.value)}let u=e.getAttribute(`enctype`)===`multipart/form-data`;u||(n[`Content-Type`]=`application/x-www-form-urlencoded`);let d=new URLSearchParams(s);if(t===`GET`)for(let[e,t]of d)ne.append(e,t);else u?o.body=s:o.body=d}else throw a(`FetchInvalidContentType`,{action:A,contentType:u});j($e,r,{}),h.search=ne.toString();try{await ut(h.toString(),r,o)}catch(e){if(!it(e))throw a(`FetchFailed`,{method:t,url:s,error:e.message})}}finally{j(et,r,{}),te?.(),o.delete(`@${e}`)}}});Qe(`get`,`GET`,!1),Qe(`patch`,`PATCH`),Qe(`post`,`POST`),Qe(`put`,`PUT`),Qe(`delete`,`DELETE`);var $e=`started`,et=`finished`,tt=`error`,nt=`retrying`,rt=`retries-failed`,j=(e,t,n)=>document.dispatchEvent(new CustomEvent(i,{detail:{type:e,el:t,argsRaw:n}})),it=e=>`${e}`.includes(`text/event-stream`),at=async(e,t)=>{let n=e.getReader(),r=await n.read();for(;!r.done;)t(r.value),r=await n.read()},ot=e=>{let t,n,r,i=!1;return a=>{t?t=ct(t,a):(t=a,n=0,r=-1);let o=t.length,s=0;for(;n<o;){i&&=(t[n]===10&&(s=++n),!1);let a=-1;for(;n<o&&a===-1;++n)switch(t[n]){case 58:r===-1&&(r=n-s);break;case 13:i=!0;case 10:a=n;break}if(a===-1)break;e(t.subarray(s,a),r),s=n,r=-1}s===o?t=void 0:s&&(t=t.subarray(s),n-=s)}},st=(e,t,n)=>{let r=lt(),i=new TextDecoder;return(a,o)=>{if(!a.length)n?.(r),r=lt();else if(o>0){let n=i.decode(a.subarray(0,o)),s=o+(a[o+1]===32?2:1),c=i.decode(a.subarray(s));switch(n){case`data`:r.data=r.data?`${r.data}
|
|
7
|
+
${c}`:c;break;case`event`:r.event=c;break;case`id`:e(r.id=c);break;case`retry`:{let e=+c;Number.isNaN(e)||t(r.retry=e);break}}}}},ct=(e,t)=>{let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n},lt=()=>({data:``,event:``,id:``,retry:void 0}),ut=(e,t,{signal:n,headers:r,onopen:i,onmessage:a,onclose:o,onerror:s,openWhenHidden:c,fetch:l,retry:u=`auto`,retryInterval:d=1e3,retryScaler:f=2,retryMaxWaitMs:p=3e4,retryMaxCount:m=10,responseOverrides:h,...ee})=>new Promise((g,_)=>{let v={...r},y,b=()=>{y.abort(),document.hidden||w()};c||document.addEventListener(`visibilitychange`,b);let x,S=()=>{document.removeEventListener(`visibilitychange`,b),clearTimeout(x),y.abort()};n?.addEventListener(`abort`,()=>{S(),g()});let te=l||window.fetch,ne=i||(()=>{}),C=0,re=d,w=async()=>{y=new AbortController;let n=y.signal;try{let r=await te(e,{...ee,headers:v,signal:n});await ne(r);let i=async(e,n,r,i,...a)=>{let o={[r]:await n.text()};for(let e of a){let t=n.headers.get(`datastar-${Ee(e)}`);if(i){let n=i[e];n&&(t=typeof n==`string`?n:JSON.stringify(n))}t&&(o[e]=t)}j(e,t,o),S(),g()},s=r.status,c=s===204,l=s>=300&&s<400,f=s>=400&&s<600;if(s!==200){if(o?.(),u!==`never`&&!c&&!l&&(u===`always`||u===`error`&&f)){clearTimeout(x),x=setTimeout(w,d);return}S(),g();return}C=0,d=re;let p=r.headers.get(`Content-Type`);if(p?.includes(`text/html`))return await i(`datastar-patch-elements`,r,`elements`,h,`selector`,`mode`,`namespace`,`useViewTransition`);if(p?.includes(`application/json`))return await i(`datastar-patch-signals`,r,`signals`,h,`onlyIfMissing`);if(p?.includes(`text/javascript`)){let e=document.createElement(`script`),t=r.headers.get(`datastar-script-attributes`);if(t)for(let[n,r]of Object.entries(JSON.parse(t)))e.setAttribute(n,r);e.textContent=await r.text(),document.head.appendChild(e),S();return}if(await at(r.body,ot(st(e=>{e?v[`last-event-id`]=e:delete v[`last-event-id`]},e=>{re=d=e},a))),o?.(),u===`always`&&!l){clearTimeout(x),x=setTimeout(w,d);return}S(),g()}catch(r){if(!n.aborted)try{let n=s?.(r)||d;clearTimeout(x),x=setTimeout(w,n),d=Math.min(d*f,p),++C>=m?(j(rt,t,{}),S(),_(`Max retries reached.`)):console.error(`Datastar failed to reach ${e.toString()} retrying in ${n}ms.`)}catch(e){S(),_(e)}}};w()});k({name:`attr`,requirement:{value:`must`},returnsValue:!0,apply({el:e,key:t,rx:n}){let r=(t,n)=>{n===``||n===!0?e.setAttribute(t,``):n===!1||n==null?e.removeAttribute(t):typeof n==`string`?e.setAttribute(t,n):e.setAttribute(t,JSON.stringify(n))},i=t?()=>{a.disconnect(),r(t,n()),a.observe(e,{attributeFilter:[t]})}:()=>{a.disconnect();let t=n(),i=Object.keys(t);for(let e of i)r(e,t[e]);a.observe(e,{attributeFilter:i})},a=new MutationObserver(i),o=C(i);return()=>{a.disconnect(),o()}}});var dt=/^data:(?<mime>[^;]+);base64,(?<contents>.*)$/,ft=Symbol(`empty`),pt=Ae(`bind`);k({name:`bind`,requirement:`exclusive`,apply({el:e,key:t,mods:n,value:r,error:i}){let a=t==null?r:O(t,n),o=(e,t)=>t===`number`?+e.value:e.value,s=t=>{e.value=`${t}`};if(e instanceof HTMLInputElement)switch(e.type){case`range`:case`number`:o=(e,t)=>t===`string`?e.value:+e.value;break;case`checkbox`:o=(e,t)=>e.value===`on`?t===`string`?e.checked?e.value:``:e.checked:t===`boolean`?e.checked:e.checked?e.value:``,s=t=>{e.checked=typeof t==`string`?t===e.value:t};break;case`radio`:e.getAttribute(`name`)?.length||e.setAttribute(`name`,a),o=(e,t)=>e.checked?t===`number`?+e.value:e.value:ft,s=t=>{e.checked=t===(typeof t==`number`?+e.value:e.value)};break;case`file`:{let t=()=>{let t=[...e.files||[]],n=[];Promise.all(t.map(e=>new Promise(t=>{let r=new FileReader;r.onload=()=>{if(typeof r.result!=`string`)throw i(`InvalidFileResultType`,{resultType:typeof r.result});let t=r.result.match(dt);if(!t?.groups)throw i(`InvalidDataUri`,{result:r.result});n.push({name:e.name,contents:t.groups.contents,mime:t.groups.mime})},r.onloadend=()=>t(),r.readAsDataURL(e)}))).then(()=>{D([[a,n]])})};return e.addEventListener(`change`,t),e.addEventListener(`input`,t),()=>{e.removeEventListener(`change`,t),e.removeEventListener(`input`,t)}}}else if(e instanceof HTMLSelectElement){if(e.multiple){let t=new Map;o=e=>[...e.selectedOptions].map(e=>{let n=t.get(e.value);return n===`string`||n==null?e.value:+e.value}),s=n=>{for(let r of e.options)n.includes(r.value)?(t.set(r.value,`string`),r.selected=!0):n.includes(+r.value)?(t.set(r.value,`number`),r.selected=!0):r.selected=!1}}}else e instanceof HTMLTextAreaElement||(o=e=>`value`in e?e.value:e.getAttribute(`value`),s=t=>{`value`in e?e.value=t:e.setAttribute(`value`,t)});let c=ye(a),l=typeof c,u=a;if(Array.isArray(c)&&!(e instanceof HTMLSelectElement&&e.multiple)){let n=t||r,i=document.querySelectorAll(`[${pt}\\:${CSS.escape(n)}],[${pt}="${CSS.escape(n)}"]`),a=[],s=0;for(let t of i){if(a.push([`${u}.${s}`,o(t,`none`)]),e===t)break;s++}D(a,{ifMissing:!0}),u=`${u}.${s}`}else D([[u,o(e,l)]],{ifMissing:!0});let d=()=>{let t=ye(u);if(t!=null){let n=o(e,typeof t);n!==ft&&D([[u,n]])}};e.addEventListener(`input`,d),e.addEventListener(`change`,d);let f=C(()=>{s(ye(u))});return()=>{f(),e.removeEventListener(`input`,d),e.removeEventListener(`change`,d)}}}),k({name:`class`,requirement:{value:`must`},returnsValue:!0,apply({key:e,el:t,mods:n,rx:r}){e&&=O(e,n,`kebab`);let i,a=()=>{o.disconnect(),i=e?{[e]:r()}:r();for(let e in i){let n=e.split(/\s+/).filter(e=>e.length>0);if(i[e])for(let e of n)t.classList.contains(e)||t.classList.add(e);else for(let e of n)t.classList.contains(e)&&t.classList.remove(e)}o.observe(t,{attributeFilter:[`class`]})},o=new MutationObserver(a),s=C(a);return()=>{o.disconnect(),s();for(let e in i){let n=e.split(/\s+/).filter(e=>e.length>0);for(let e of n)t.classList.remove(e)}}}}),k({name:`computed`,requirement:{value:`must`},returnsValue:!0,apply({key:e,mods:t,rx:n,error:r}){if(e)D([[O(e,t),ne(n)]]);else{let e=Object.assign({},n());l(e,e=>{if(typeof e==`function`)return ne(e);throw r(`ComputedExpectedFunction`)}),E(e)}}}),k({name:`effect`,requirement:{key:`denied`,value:`must`},apply:({rx:e})=>C(e)}),k({name:`indicator`,requirement:`exclusive`,apply({el:e,key:t,mods:n,value:r}){let a=t==null?r:O(t,n);D([[a,!1]]);let o=t=>{let{type:n,el:r}=t.detail;if(r===e)switch(n){case $e:D([[a,!0]]);break;case et:D([[a,!1]]);break}};return document.addEventListener(i,o),()=>{D([[a,!1]]),document.removeEventListener(i,o)}}});var mt=e=>{if(!e||e.size<=0)return 0;for(let t of e){if(t.endsWith(`ms`))return+t.replace(`ms`,``);if(t.endsWith(`s`))return t.replace(`s`,``)*1e3;try{return Number.parseFloat(t)}catch{}}return 0},ht=(e,t,n=!1)=>e?e.has(t.toLowerCase()):n,gt=(e,t)=>(...n)=>{setTimeout(()=>{e(...n)},t)},_t=(e,t,n=!0,r=!1,i=!1)=>{let a=null,o=0;return(...s)=>{n&&!o?(e(...s),a=null):a=s,(!o||i)&&(o&&clearTimeout(o),o=setTimeout(()=>{r&&a!==null&&e(...a),a=null,o=0},t))}},vt=(e,t)=>{let n=t.get(`delay`);if(n){let t=mt(n);e=gt(e,t)}let r=t.get(`debounce`);if(r){let t=mt(r),n=ht(r,`leading`,!1),i=!ht(r,`notrailing`,!1);e=_t(e,t,n,i,!0)}let i=t.get(`throttle`);if(i){let t=mt(i),n=!ht(i,`noleading`,!1),r=ht(i,`trailing`,!1);e=_t(e,t,n,r)}return e},yt=!!document.startViewTransition,bt=(e,t)=>{if(t.has(`viewtransition`)&&yt){let t=e;e=(...e)=>document.startViewTransition(()=>t(...e))}return e};k({name:`init`,requirement:{key:`denied`,value:`must`},apply({rx:e,mods:t}){let n=()=>{v(),e(),y()};n=bt(n,t);let r=0,i=t.get(`delay`);i&&(r=mt(i),r>0&&(n=gt(n,r))),n()}}),k({name:`json-signals`,requirement:{key:`denied`},apply({el:e,value:t,mods:n}){let r=n.has(`terse`)?0:2,i={};t&&(i=Oe(t));let a=()=>{o.disconnect(),e.textContent=JSON.stringify(Ce(i),null,r),o.observe(e,{childList:!0,characterData:!0,subtree:!0})},o=new MutationObserver(a),s=C(a);return()=>{o.disconnect(),s()}}}),k({name:`on`,requirement:`must`,argNames:[`evt`],apply({el:e,key:t,mods:n,rx:r}){let o=e;n.has(`window`)&&(o=window);let s=e=>{e&&(n.has(`prevent`)&&e.preventDefault(),n.has(`stop`)&&e.stopPropagation()),v(),r(e),y()};s=bt(s,n),s=vt(s,n);let c={capture:n.has(`capture`),passive:n.has(`passive`),once:n.has(`once`)};if(n.has(`outside`)){o=document;let t=s;s=n=>{e.contains(n?.target)||t(n)}}let l=O(t,n,`kebab`);if((l===i||l===a)&&(o=document),e instanceof HTMLFormElement&&l===`submit`){let e=s;s=t=>{t?.preventDefault(),e(t)}}return o.addEventListener(l,s,c),()=>{o.removeEventListener(l,s)}}});var xt=(e,t,n)=>Math.max(t,Math.min(n,e)),St=new WeakSet;k({name:`on-intersect`,requirement:{key:`denied`,value:`must`},apply({el:e,mods:t,rx:n}){let r=()=>{v(),n(),y()};r=bt(r,t),r=vt(r,t);let i={threshold:0};t.has(`full`)?i.threshold=1:t.has(`half`)?i.threshold=.5:t.get(`threshold`)&&(i.threshold=xt(Number(t.get(`threshold`)),0,100)/100);let a=t.has(`exit`),o=new IntersectionObserver(t=>{for(let n of t)n.isIntersecting!==a&&(r(),o&&St.has(e)&&o.disconnect())},i);return o.observe(e),t.has(`once`)&&St.add(e),()=>{t.has(`once`)||St.delete(e),o&&=(o.disconnect(),null)}}}),k({name:`on-interval`,requirement:{key:`denied`,value:`must`},apply({mods:e,rx:t}){let n=()=>{v(),t(),y()};n=bt(n,e);let r=1e3,i=e.get(`duration`);i&&(r=mt(i),ht(i,`leading`,!1)&&n());let a=setInterval(n,r);return()=>{clearInterval(a)}}}),k({name:`on-signal-patch`,requirement:{value:`must`},argNames:[`patch`],returnsValue:!0,apply({el:e,key:t,mods:n,rx:r,error:i}){if(t&&t!==`filter`)throw i(`KeyNotAllowed`);let o=Ae(`${this.name}-filter`),s=e.getAttribute(o),l={};s&&(l=Oe(s));let u=!1,d=vt(e=>{if(u)return;let t=Ce(l,e.detail);if(!c(t)){u=!0,v();try{r(t)}finally{y(),u=!1}}},n);return document.addEventListener(a,d),()=>{document.removeEventListener(a,d)}}}),k({name:`ref`,requirement:`exclusive`,apply({el:e,key:t,mods:n,value:r}){D([[t==null?r:O(t,n),e]])}});var Ct=`none`,wt=`display`;k({name:`show`,requirement:{key:`denied`,value:`must`},returnsValue:!0,apply({el:e,rx:t}){let n=()=>{r.disconnect(),t()?e.style.display===Ct&&e.style.removeProperty(wt):e.style.setProperty(wt,Ct),r.observe(e,{attributeFilter:[`style`]})},r=new MutationObserver(n),i=C(n);return()=>{r.disconnect(),i()}}}),k({name:`signals`,returnsValue:!0,apply({key:e,mods:t,rx:n}){let r=t.has(`ifmissing`);e?(e=O(e,t),D([[e,n?.()]],{ifMissing:r})):E(Object.assign({},n?.()),{ifMissing:r})}}),k({name:`style`,requirement:{value:`must`},returnsValue:!0,apply({key:e,el:t,rx:n}){let{style:r}=t,i=new Map,a=(e,t)=>{let n=i.get(e);!t&&t!==0?n!==void 0&&(n?r.setProperty(e,n):r.removeProperty(e)):(n===void 0&&i.set(e,r.getPropertyValue(e)),r.setProperty(e,String(t)))},o=()=>{if(s.disconnect(),e)a(e,n());else{let e=n();for(let[t,n]of i)t in e||(n?r.setProperty(t,n):r.removeProperty(t));for(let t in e)a(Ee(t),e[t])}s.observe(t,{attributeFilter:[`style`]})},s=new MutationObserver(o),c=C(o);return()=>{s.disconnect(),c();for(let[e,t]of i)t?r.setProperty(e,t):r.removeProperty(e)}}}),k({name:`text`,requirement:{key:`denied`,value:`must`},returnsValue:!0,apply({el:e,rx:t}){let n=()=>{r.disconnect(),e.textContent=`${t()}`,r.observe(e,{childList:!0,characterData:!0,subtree:!0})},r=new MutationObserver(n),i=C(n);return()=>{r.disconnect(),i()}}});var Tt=(e,t)=>e.includes(t),Et=[`remove`,`outer`,`inner`,`replace`,`prepend`,`append`,`before`,`after`],Dt=[`html`,`svg`,`mathml`];Ve({name:`datastar-patch-elements`,apply(e,{selector:t=``,mode:n=`outer`,namespace:r=`html`,useViewTransition:i=``,elements:a=``}){if(!Tt(Et,n))throw e.error(`PatchElementsInvalidMode`,{mode:n});if(!t&&n!==`outer`&&n!==`replace`)throw e.error(`PatchElementsExpectedSelector`);if(!Tt(Dt,r))throw e.error(`PatchElementsInvalidNamespace`,{namespace:r});let o={selector:t,mode:n,namespace:r,useViewTransition:i.trim()===`true`,elements:a};yt&&i?document.startViewTransition(()=>Ot(e,o)):Ot(e,o)}});var Ot=({error:e},{selector:t,mode:n,namespace:r,elements:i})=>{let a=i.replace(/<svg(\s[^>]*>|>)([\s\S]*?)<\/svg>/gim,``),o=/<\/html>/.test(a),s=/<\/head>/.test(a),c=/<\/body>/.test(a),l=r===`svg`?`svg`:r===`mathml`?`math`:``,u=l?`<${l}>${i}</${l}>`:i,d=new DOMParser().parseFromString(o||s||c?i:`<body><template>${u}</template></body>`,`text/html`),f=document.createDocumentFragment();if(o)f.appendChild(d.documentElement);else if(s&&c)f.appendChild(d.head),f.appendChild(d.body);else if(s)f.appendChild(d.head);else if(c)f.appendChild(d.body);else if(l){let e=d.querySelector(`template`).content.querySelector(l);for(let t of e.childNodes)f.appendChild(t)}else f=d.querySelector(`template`).content;if(!t&&(n===`outer`||n===`replace`))for(let t of f.children){let r;if(t instanceof HTMLHtmlElement)r=document.documentElement;else if(t instanceof HTMLBodyElement)r=document.body;else if(t instanceof HTMLHeadElement)r=document.head;else if(r=document.getElementById(t.id),!r){console.warn(e(`PatchElementsNoTargetsFound`),{element:{id:t.id}});continue}Mt(n,t,[r])}else{let r=document.querySelectorAll(t);if(!r.length){console.warn(e(`PatchElementsNoTargetsFound`),{selector:t});return}Mt(n,f,r)}},kt=new WeakSet;for(let e of document.querySelectorAll(`script`))kt.add(e);var At=e=>{let t=e instanceof HTMLScriptElement?[e]:e.querySelectorAll(`script`);for(let e of t)if(!kt.has(e)){let t=document.createElement(`script`);for(let{name:n,value:r}of e.attributes)t.setAttribute(n,r);t.text=e.text,e.replaceWith(t),kt.add(t)}},jt=(e,t,n)=>{for(let r of e){let e=t.cloneNode(!0);At(e),r[n](e)}},Mt=(e,t,n)=>{switch(e){case`remove`:for(let e of n)e.remove();break;case`outer`:case`inner`:for(let r of n)zt(r,t.cloneNode(!0),e),At(r);break;case`replace`:jt(n,t,`replaceWith`);break;case`prepend`:case`append`:case`before`:case`after`:jt(n,t,e)}},M=new Map,Nt=new Set,Pt=new Map,Ft=new Set,It=document.createElement(`div`);It.hidden=!0;var Lt=Ae(`ignore-morph`),Rt=`[${Lt}]`,zt=(e,t,n=`outer`)=>{if(Te(e)&&Te(t)&&e.hasAttribute(Lt)&&t.hasAttribute(Lt)||e.parentElement?.closest(Rt))return;let r=document.createElement(`div`);r.append(t),document.body.insertAdjacentElement(`afterend`,It);let i=e.querySelectorAll(`[id]`);for(let{id:e,tagName:t}of i)Pt.has(e)?Ft.add(e):Pt.set(e,t);e instanceof Element&&e.id&&(Pt.has(e.id)?Ft.add(e.id):Pt.set(e.id,e.tagName)),Nt.clear();let a=r.querySelectorAll(`[id]`);for(let{id:e,tagName:t}of a)Nt.has(e)?Ft.add(e):Pt.get(e)===t&&Nt.add(e);for(let e of Ft)Nt.delete(e);Pt.clear(),Ft.clear(),M.clear();let o=n===`outer`?e.parentElement:e;qt(o,i),qt(r,a),Bt(o,r,n===`outer`?e:null,e.nextSibling),It.remove()},Bt=(e,t,n=null,r=null)=>{e instanceof HTMLTemplateElement&&t instanceof HTMLTemplateElement&&(e=e.content,t=t.content),n??=e.firstChild;for(let i of t.childNodes){if(n&&n!==r){let e=Vt(i,n,r);if(e){if(e!==n){let t=n;for(;t&&t!==e;){let e=t;t=t.nextSibling,Ut(e)}}Kt(e,i),n=e.nextSibling;continue}}if(i instanceof Element&&Nt.has(i.id)){let t=document.getElementById(i.id),r=t;for(;r=r.parentNode;){let e=M.get(r);e&&(e.delete(i.id),e.size||M.delete(r))}Wt(e,t,n),Kt(t,i),n=t.nextSibling;continue}if(M.has(i)){let t=i.namespaceURI,r=i.tagName,a=t&&t!==`http://www.w3.org/1999/xhtml`?document.createElementNS(t,r):document.createElement(r);e.insertBefore(a,n),Kt(a,i),n=a.nextSibling}else{let t=document.importNode(i,!0);e.insertBefore(t,n),n=t.nextSibling}}for(;n&&n!==r;){let e=n;n=n.nextSibling,Ut(e)}},Vt=(e,t,n)=>{let r=null,i=e.nextSibling,a=0,o=0,s=M.get(e)?.size||0,c=t;for(;c&&c!==n;){if(Ht(c,e)){let t=!1,n=M.get(c),i=M.get(e);if(i&&n){for(let e of n)if(i.has(e)){t=!0;break}}if(t)return c;if(!r&&!M.has(c)){if(!s)return c;r=c}}if(o+=M.get(c)?.size||0,o>s)break;r===null&&i&&Ht(c,i)&&(a++,i=i.nextSibling,a>=2&&(r=void 0)),c=c.nextSibling}return r||null},Ht=(e,t)=>e.nodeType===t.nodeType&&e.tagName===t.tagName&&(!e.id||e.id===t.id),Ut=e=>{M.has(e)?Wt(It,e,null):e.parentNode?.removeChild(e)},Wt=Ut.call.bind(It.moveBefore??It.insertBefore),Gt=Ae(`preserve-attr`),Kt=(e,t)=>{let n=t.nodeType;if(n===1){let n=e,r=t,i=n.hasAttribute(`data-scope-children`);if(n.hasAttribute(Lt)&&r.hasAttribute(Lt))return e;n instanceof HTMLInputElement&&r instanceof HTMLInputElement&&r.type!==`file`?r.getAttribute(`value`)!==n.getAttribute(`value`)&&(n.value=r.getAttribute(`value`)??``):n instanceof HTMLTextAreaElement&&r instanceof HTMLTextAreaElement&&(r.value!==n.value&&(n.value=r.value),n.firstChild&&n.firstChild.nodeValue!==r.value&&(n.firstChild.nodeValue=r.value));let a=(t.getAttribute(Gt)??``).split(` `);for(let{name:e,value:t}of r.attributes)n.getAttribute(e)!==t&&!a.includes(e)&&n.setAttribute(e,t);for(let e=n.attributes.length-1;e>=0;e--){let{name:t}=n.attributes[e];!r.hasAttribute(t)&&!a.includes(t)&&n.removeAttribute(t)}i&&!n.hasAttribute(`data-scope-children`)&&n.setAttribute(`data-scope-children`,``),n.isEqualNode(r)||Bt(n,r),i&&n.dispatchEvent(new CustomEvent(`datastar:scope-children`,{bubbles:!1}))}return(n===8||n===3)&&e.nodeValue!==t.nodeValue&&(e.nodeValue=t.nodeValue),e},qt=(e,t)=>{for(let n of t)if(Nt.has(n.id)){let t=n;for(;t&&t!==e;){let e=M.get(t);e||(e=new Set,M.set(t,e)),e.add(n.id),t=t.parentElement}}};Ve({name:`datastar-patch-signals`,apply({error:e},{signals:t,onlyIfMissing:n}){if(t){let e=n?.trim()===`true`;E(Oe(t),{ifMissing:e})}else throw e(`PatchSignalsExpectedSignals`)}});var Jt=`/_assets`;function Yt(e){let t=e.trim().replace(/\/+$/,``);return t?t.startsWith(`http://`)||t.startsWith(`https://`)||t.startsWith(`/`)?t:`/${t}`:Jt}function Xt(e,t=Jt){let n=Yt(t),r=e.replace(/^\/+/,``);return r?`${n}/${r}`:n}function Zt(e,t=Jt){let n=Yt(t);return e===n||e.startsWith(`${n}/`)}function Qt(e,t){if(t.startsWith(`http://`)||t.startsWith(`https://`)){if(!Zt(e))return e;let n=e.slice(Jt.length).replace(/^\/+/,``),r=t.replace(/\/+$/,``);return n?`${r}/${n}`:r}return Zt(e,t)||!Zt(e)?e:Xt(e.slice(Jt.length).replace(/^\/+/,``),t)}function $t(){return document.documentElement.dataset.sitePathPrefix||``}function en(){return document.documentElement.dataset.assetBasePath||Jt}function tn(t){return Zt(t)?Qt(t,en()):e(t,$t())}function nn(e){if(typeof e==`string`){if(/^https?:\/\//.test(e)){let t=new URL(e);return t.origin===window.location.origin?(t.pathname=tn(t.pathname),t.toString()):e}return tn(e)}if(e instanceof URL){if(e.origin!==window.location.origin)return e;let t=new URL(e.toString());return t.pathname=tn(t.pathname),t}let t=new URL(e.url);return t.origin===window.location.origin?(t.pathname=tn(t.pathname),new Request(t.toString(),e)):e}function rn(){let e=globalThis.fetch;if(e.__jantPrefixed)return;let t=(t,n)=>e(nn(t),n);t.__jantPrefixed=!0,globalThis.fetch=t}var N=null,an=0,P=!1,on=null,sn=null,cn=0;function F(e){return!isFinite(e)||e<0?`0:00`:`${Math.floor(e/60)}:${String(Math.floor(e%60)).padStart(2,`0`)}`}function I(e){return e.querySelector(`audio.media-audio-el`)}function ln(e){return e.querySelector(`[data-audio-range]`)}function un(e){return e.querySelector(`[data-audio-waveform]`)}function dn(e,t){let n=`${(t*100).toFixed(1)}%`;e.style.background=`linear-gradient(to right, var(--site-text-primary) ${n}, transparent ${n})`}var L=new WeakMap,fn=new WeakSet;async function pn(e,t){let n=await(await fetch(e)).arrayBuffer(),r=new AudioContext;try{let e=(await r.decodeAudioData(n)).getChannelData(0),i=Math.max(1,Math.floor(e.length/t)),a=Array(t);for(let n=0;n<t;n++){let t=0,r=n*i,o=Math.min(r+i,e.length);for(let n=r;n<o;n++){let r=Math.abs(e[n]);r>t&&(t=r)}a[n]=t}let o=0;for(let e of a)e>o&&(o=e);if(o>0)for(let e=0;e<t;e++)a[e]/=o;return a}finally{await r.close()}}function mn(){let e=document.querySelectorAll(`[data-audio-peaks]`),t=[];for(let n of e){let e=n.dataset.audioPeaks;if(!e)continue;let r=n.closest(`.media-audio-card`);if(!(!r||L.has(r)))try{let n=JSON.parse(e);if(!Array.isArray(n))continue;L.set(r,n),r.classList.add(`has-waveform`),t.push(r)}catch{}}t.length>0&&requestAnimationFrame(()=>{for(let e of t)gn(e,0)})}async function hn(e){if(L.has(e)||fn.has(e))return;fn.add(e);let t=e.querySelector(`audio.media-audio-el source`),n=un(e);if(!t?.src||!n)return;let r=n.getBoundingClientRect().width,i=Math.max(20,Math.floor(r/3));try{let n=await pn(t.src,i);L.set(e,n),e.classList.add(`has-waveform`);let r=I(e),a=r?.duration??0;gn(e,r&&isFinite(a)&&a>0?r.currentTime/a:0)}catch{}}function gn(e,t){let n=L.get(e),r=un(e);if(!n||!r)return;let i=window.devicePixelRatio||1,a=r.getBoundingClientRect(),o=Math.round(a.width*i),s=Math.round(a.height*i);if(o===0||s===0)return;(r.width!==o||r.height!==s)&&(r.width=o,r.height=s);let c=r.getContext(`2d`);if(!c)return;c.clearRect(0,0,o,s);let l=n.length,u=o/l,d=Math.max(1,Math.round(u*.6)),f=Math.round(2*i),p=s*.85,m=getComputedStyle(r).getPropertyValue(`--site-text-primary`).trim()||`#000`;for(let e=0;e<l;e++){let r=Math.round(e*u+(u-d)/2),a=Math.max(f,Math.round(n[e]*p)),o=Math.round((s-a)/2);c.globalAlpha=(e+.5)/l<=t?.9:.2,c.fillStyle=m;let h=Math.min(d/2,i);c.beginPath(),c.roundRect(r,o,d,a,h),c.fill()}c.globalAlpha=1}function _n(e,t){let{currentTime:n,duration:r}=t,i=isFinite(r)&&r>0,a=i?n/r:0;if(!P){let t=ln(e);t&&i&&(t.value=String(Math.round(a*1e3)),dn(t,a)),L.has(e)&&gn(e,a);let o=e.querySelector(`[data-audio-time]`);o&&(o.textContent=i?`${F(n)} / ${F(r)}`:F(n))}}function vn(){if(!N)return;let e=I(N);!e||e.paused||(_n(N,e),an=requestAnimationFrame(vn))}function yn(){if(N){let e=I(N);e&&!e.paused&&e.pause(),N.classList.remove(`is-playing`),N=null}cancelAnimationFrame(an)}async function bn(e){let t=I(e);if(t)if(N&&N!==e&&yn(),t.paused){N=e,e.classList.add(`is-playing`);try{await t.play()}catch{e.classList.remove(`is-playing`),N=null;return}an=requestAnimationFrame(vn),hn(e)}else t.pause(),e.classList.remove(`is-playing`),cancelAnimationFrame(an),N=null}function xn(e){let t=e.closest(`.media-audio-card`);if(!t)return;let n=I(t);if(!n)return;let r=Number(e.value)/1e3,i=n.duration;isFinite(i)&&i>0&&(n.currentTime=r*i)}function Sn(e,t){let n=e.getBoundingClientRect();cn=Math.max(0,Math.min(1,(t.clientX-n.left)/n.width));let r=e.closest(`.media-audio-card`);if(!r)return;gn(r,cn);let i=I(r),a=r.querySelector(`[data-audio-time]`);if(i&&a){let e=i.duration;isFinite(e)&&e>0&&(a.textContent=`${F(cn*e)} / ${F(e)}`)}}async function Cn(e){let t=e.closest(`.media-audio-card`);if(!t)return;let n=I(t);if(n)if(n.paused){N&&N!==t&&yn(),N=t,t.classList.add(`is-playing`);try{await n.play()}catch{t.classList.remove(`is-playing`),N=null;return}let e=n.duration;isFinite(e)&&e>0&&(n.currentTime=cn*e),an=requestAnimationFrame(vn),hn(t)}else{let e=n.duration;isFinite(e)&&e>0&&(n.currentTime=cn*e)}}document.addEventListener(`pointerdown`,e=>{let t=e.target;t.matches(`[data-audio-range]`)?(P=!0,on=t):t.matches(`[data-audio-waveform]`)&&(P=!0,sn=t,Sn(t,e))},!0),document.addEventListener(`pointermove`,e=>{P&&sn&&Sn(sn,e)},!0),document.addEventListener(`pointerup`,()=>{P&&(on?(xn(on),on=null):sn&&=(Cn(sn),null)),P=!1},!0),document.addEventListener(`pointercancel`,()=>{on=null,sn=null,P=!1},!0),document.addEventListener(`click`,e=>{let t=e.target.closest(`[data-audio-play]`);if(!t)return;e.preventDefault();let n=t.closest(`.media-audio-card`);n&&bn(n)}),document.addEventListener(`input`,e=>{let t=e.target;if(!t.matches(`[data-audio-range]`))return;let n=t.closest(`.media-audio-card`);if(!n)return;let r=I(n);if(!r)return;let i=Number(t.value)/1e3;dn(t,i);let a=r.duration,o=n.querySelector(`[data-audio-time]`);o&&isFinite(a)&&a>0&&(o.textContent=`${F(i*a)} / ${F(a)}`)},!0),document.addEventListener(`ended`,e=>{let t=e.target;if(!t.closest)return;let n=t.closest(`.media-audio-card`);if(!n)return;n.classList.remove(`is-playing`),cancelAnimationFrame(an),N=null;let r=ln(n);r&&(r.value=`0`,dn(r,0)),L.has(n)&&gn(n,0);let i=n.querySelector(`[data-audio-time]`);i&&(i.textContent=`0:00`)},!0),document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,mn):mn();var wn=`jant:media-lightbox-toggle`,Tn=`75% 0px`,En=.6,Dn=.25,On=160,R=new Set,kn=new WeakMap,An=new WeakSet,z=null,B=null,V=null,jn=!1,Mn=null,Nn=null,Pn=null;function Fn(e){return e.length===0?null:[...e].sort((e,t)=>t.visibleArea===e.visibleArea?e.centerDistance===t.centerDistance?t.intersectionRatio-e.intersectionRatio:e.centerDistance-t.centerDistance:t.visibleArea-e.visibleArea)[0]??null}function In(){return{x:(globalThis.innerWidth||document.documentElement.clientWidth||0)/2,y:(globalThis.innerHeight||document.documentElement.clientHeight||0)/2}}function Ln(e){return kn.get(e)}function Rn(e){return e.closest(`.media-video-wrap`)?.querySelector(`[data-feed-video-mute-toggle]`)??null}function zn(e){let t=Rn(e);if(!t)return;let n=V!==e||e.muted;t.dataset.muted=n?`true`:`false`,t.setAttribute(`aria-label`,n?`Play with sound`:`Mute video`)}function Bn(){for(let e of R)zn(e)}function Vn(e){if(An.has(e))return;let t=e.dataset.videoSrc;t&&(e.getAttribute(`src`)!==t&&(e.src=t),e.load(),An.add(e))}function H(e){e?.pause()}function Hn(e){Vn(e),e.muted=V!==e,e.playsInline=!0,e.loop=!0,zn(e),e.play().catch(()=>{})}function Un(){for(let e of R)e.isConnected||(Nn?.unobserve(e),Pn?.unobserve(e),R.delete(e),e===z&&(z=null),e===B&&(B=null),e===V&&(V=null))}function Wn(){if(Mn=null,Un(),document.hidden||jn){H(z);return}let e=[];for(let t of R){let n=Ln(t);n&&(n.intersectionRatio<En||e.push({video:t,...n}))}let t=null;if(B?.isConnected){let e=Ln(B);e&&e.intersectionRatio>Dn?t=B:(!e||e.intersectionRatio<=Dn)&&(B=null)}if(t||=Fn(e)?.video??null,!t){let e=z?Ln(z):void 0;if(z&&e&&e.intersectionRatio>Dn)return;H(z),z=null;return}t!==z&&(H(z),z=t),Hn(t);for(let e of R)e!==t&&(H(e),zn(e))}function Gn(){Mn!==null&&globalThis.clearTimeout(Mn),Mn=globalThis.setTimeout(Wn,On)}function Kn(e){let t=In();for(let n of e){let e=n.target,r=n.boundingClientRect,i=r.left+r.width/2,a=r.top+r.height/2,o=n.intersectionRect.width*n.intersectionRect.height,s=Math.hypot(i-t.x,a-t.y);kn.set(e,{intersectionRatio:n.intersectionRatio,visibleArea:o,centerDistance:s})}Gn()}function qn(e){for(let t of e)t.isIntersecting&&Vn(t.target)}function Jn(){Nn&&Pn||globalThis.IntersectionObserver!==void 0&&(Nn=new globalThis.IntersectionObserver(Kn,{threshold:[0,Dn,En,1]}),Pn=new globalThis.IntersectionObserver(qn,{rootMargin:Tn,threshold:0}))}function Yn(e){R.has(e)||(Jn(),!(!Nn||!Pn)&&(R.add(e),Nn.observe(e),Pn.observe(e),Rn(e)?.addEventListener(`click`,Xn),zn(e)))}function Xn(e){e.preventDefault(),e.stopPropagation();let t=e.currentTarget.closest(`.media-video-wrap`)?.querySelector(`[data-feed-short-video]`);t&&(B=t,V!==t||t.muted?(V&&V!==t&&(V.muted=!0),V=t,z!==t&&(H(z),z=t),Hn(t)):(V=null,t.muted=!0,zn(t)),Bn(),Gn())}function Zn(e=document){let t=e.querySelectorAll(`[data-feed-short-video]`);for(let e of t)Yn(e);Gn()}document.addEventListener(wn,e=>{jn=e.detail?.open===!0,jn&&H(z),Gn()}),document.addEventListener(`visibilitychange`,()=>{document.hidden&&H(z),Gn()}),document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,()=>Zn(),{once:!0}):queueMicrotask(()=>Zn());var Qn=4;function $n(e){let t=e.querySelector(`[data-post-media]`);if(!t)return;let{scrollLeft:n,scrollWidth:r,clientWidth:i}=t;e.classList.toggle(`can-scroll-start`,n>Qn),e.classList.toggle(`can-scroll-end`,n+i<r-Qn)}function er(e){let t=e.querySelector(`[data-post-media]`);t&&($n(e),t.addEventListener(`scroll`,()=>$n(e),{passive:!0}))}function tr(){document.querySelectorAll(`.media-gallery-scroll-wrap`).forEach(er)}var nr=new globalThis.MutationObserver(e=>{for(let t of e)for(let e of t.addedNodes)e instanceof HTMLElement&&(e.matches(`.media-gallery-scroll-wrap`)&&er(e),e.querySelectorAll(`.media-gallery-scroll-wrap`).forEach(er))});document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,()=>{tr(),nr.observe(document.body,{childList:!0,subtree:!0})}):(tr(),nr.observe(document.body,{childList:!0,subtree:!0}));var rr=new Set([`email`,`number`,`password`,`search`,`tel`,`text`,`url`]);function ir(e){return e instanceof HTMLInputElement?!e.disabled&&!e.readOnly&&rr.has(e.type.toLowerCase()):!1}function ar(e){return e.querySelector(`button[type="submit"]:not([disabled]), input[type="submit"]:not([disabled]), button:not([type]):not([disabled])`)}function or(e){return e.querySelector(`button[type="submit"], input[type="submit"], button:not([type])`)!==null}document.addEventListener(`keydown`,e=>{if(e.key!==`Enter`||e.defaultPrevented||e.isComposing||e.metaKey||e.ctrlKey||e.altKey||e.shiftKey||!ir(e.target))return;let t=e.target.form;if(!(t instanceof HTMLFormElement)||!t.hasAttribute(`data-on:submit__prevent`))return;let n=ar(t);if(!(!n&&or(t))){if(e.preventDefault(),n){t.requestSubmit(n);return}t.requestSubmit()}});var sr=globalThis,cr=sr.ShadowRoot&&(sr.ShadyCSS===void 0||sr.ShadyCSS.nativeShadow)&&`adoptedStyleSheets`in Document.prototype&&`replace`in CSSStyleSheet.prototype,lr=Symbol(),ur=new WeakMap,dr=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==lr)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(cr&&e===void 0){let n=t!==void 0&&t.length===1;n&&(e=ur.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&ur.set(t,e))}return e}toString(){return this.cssText}},fr=e=>new dr(typeof e==`string`?e:e+``,void 0,lr),pr=(e,t)=>{if(cr)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let n of t){let t=document.createElement(`style`),r=sr.litNonce;r!==void 0&&t.setAttribute(`nonce`,r),t.textContent=n.cssText,e.appendChild(t)}},mr=cr?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t=``;for(let n of e.cssRules)t+=n.cssText;return fr(t)})(e):e,{is:hr,defineProperty:gr,getOwnPropertyDescriptor:_r,getOwnPropertyNames:vr,getOwnPropertySymbols:yr,getPrototypeOf:br}=Object,xr=globalThis,Sr=xr.trustedTypes,Cr=Sr?Sr.emptyScript:``,wr=xr.reactiveElementPolyfillSupport,Tr=(e,t)=>e,Er={toAttribute(e,t){switch(t){case Boolean:e=e?Cr:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=e!==null;break;case Number:n=e===null?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch{n=null}}return n}},Dr=(e,t)=>!hr(e,t),Or={attribute:!0,type:String,converter:Er,reflect:!1,useDefault:!1,hasChanged:Dr};Symbol.metadata??=Symbol(`metadata`),xr.litPropertyMetadata??=new WeakMap;var kr=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=Or){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let n=Symbol(),r=this.getPropertyDescriptor(e,n,t);r!==void 0&&gr(this.prototype,e,r)}}static getPropertyDescriptor(e,t,n){let{get:r,set:i}=_r(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:r,set(t){let a=r?.call(this);i?.call(this,t),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Or}static _$Ei(){if(this.hasOwnProperty(Tr(`elementProperties`)))return;let e=br(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Tr(`finalized`)))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Tr(`properties`))){let e=this.properties,t=[...vr(e),...yr(e)];for(let n of t)this.createProperty(n,e[n])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(let[e,t]of this.elementProperties){let n=this._$Eu(e,t);n!==void 0&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let n=new Set(e.flat(1/0).reverse());for(let e of n)t.unshift(mr(e))}else e!==void 0&&t.push(mr(e));return t}static _$Eu(e,t){let n=t.attribute;return!1===n?void 0:typeof n==`string`?n:typeof e==`string`?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return pr(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){let n=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,n);if(r!==void 0&&!0===n.reflect){let i=(n.converter?.toAttribute===void 0?Er:n.converter).toAttribute(t,n.type);this._$Em=e,i==null?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(e,t){let n=this.constructor,r=n._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let e=n.getPropertyOptions(r),i=typeof e.converter==`function`?{fromAttribute:e.converter}:e.converter?.fromAttribute===void 0?Er:e.converter;this._$Em=r;let a=i.fromAttribute(t,e.type);this[r]=a??this._$Ej?.get(r)??a,this._$Em=null}}requestUpdate(e,t,n,r=!1,i){if(e!==void 0){let a=this.constructor;if(!1===r&&(i=this[e]),n??=a.getPropertyOptions(e),!((n.hasChanged??Dr)(i,t)||n.useDefault&&n.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,n))))return;this.C(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:r,wrapped:i},a){n&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??t??this[e]),!0!==i||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),!0===r&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[t,n]of e){let{wrapped:e}=n,r=this[t];!0!==e||this._$AL.has(t)||r===void 0||this.C(t,void 0,n,r)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}};kr.elementStyles=[],kr.shadowRootOptions={mode:`open`},kr[Tr(`elementProperties`)]=new Map,kr[Tr(`finalized`)]=new Map,wr?.({ReactiveElement:kr}),(xr.reactiveElementVersions??=[]).push(`2.1.2`);var Ar=globalThis,jr=e=>e,Mr=Ar.trustedTypes,Nr=Mr?Mr.createPolicy(`lit-html`,{createHTML:e=>e}):void 0,Pr=`$lit$`,U=`lit$${Math.random().toFixed(9).slice(2)}$`,Fr=`?`+U,Ir=`<${Fr}>`,W=document,Lr=()=>W.createComment(``),Rr=e=>e===null||typeof e!=`object`&&typeof e!=`function`,zr=Array.isArray,Br=e=>zr(e)||typeof e?.[Symbol.iterator]==`function`,Vr=`[
|
|
8
|
+
\f\r]`,Hr=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Ur=/-->/g,Wr=/>/g,G=RegExp(`>|${Vr}(?:([^\\s"'>=/]+)(${Vr}*=${Vr}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,`g`),Gr=/'/g,Kr=/"/g,qr=/^(?:script|style|textarea|title)$/i,Jr=e=>(t,...n)=>({_$litType$:e,strings:t,values:n}),K=Jr(1),Yr=Jr(2),q=Symbol.for(`lit-noChange`),J=Symbol.for(`lit-nothing`),Xr=new WeakMap,Y=W.createTreeWalker(W,129);function Zr(e,t){if(!zr(e)||!e.hasOwnProperty(`raw`))throw Error(`invalid template strings array`);return Nr===void 0?t:Nr.createHTML(t)}var Qr=(e,t)=>{let n=e.length-1,r=[],i,a=t===2?`<svg>`:t===3?`<math>`:``,o=Hr;for(let t=0;t<n;t++){let n=e[t],s,c,l=-1,u=0;for(;u<n.length&&(o.lastIndex=u,c=o.exec(n),c!==null);)u=o.lastIndex,o===Hr?c[1]===`!--`?o=Ur:c[1]===void 0?c[2]===void 0?c[3]!==void 0&&(o=G):(qr.test(c[2])&&(i=RegExp(`</`+c[2],`g`)),o=G):o=Wr:o===G?c[0]===`>`?(o=i??Hr,l=-1):c[1]===void 0?l=-2:(l=o.lastIndex-c[2].length,s=c[1],o=c[3]===void 0?G:c[3]===`"`?Kr:Gr):o===Kr||o===Gr?o=G:o===Ur||o===Wr?o=Hr:(o=G,i=void 0);let d=o===G&&e[t+1].startsWith(`/>`)?` `:``;a+=o===Hr?n+Ir:l>=0?(r.push(s),n.slice(0,l)+Pr+n.slice(l)+U+d):n+U+(l===-2?t:d)}return[Zr(e,a+(e[n]||`<?>`)+(t===2?`</svg>`:t===3?`</math>`:``)),r]},$r=class e{constructor({strings:t,_$litType$:n},r){let i;this.parts=[];let a=0,o=0,s=t.length-1,c=this.parts,[l,u]=Qr(t,n);if(this.el=e.createElement(l,r),Y.currentNode=this.el.content,n===2||n===3){let e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;(i=Y.nextNode())!==null&&c.length<s;){if(i.nodeType===1){if(i.hasAttributes())for(let e of i.getAttributeNames())if(e.endsWith(Pr)){let t=u[o++],n=i.getAttribute(e).split(U),r=/([.?@])?(.*)/.exec(t);c.push({type:1,index:a,name:r[2],strings:n,ctor:r[1]===`.`?ri:r[1]===`?`?ii:r[1]===`@`?ai:ni}),i.removeAttribute(e)}else e.startsWith(U)&&(c.push({type:6,index:a}),i.removeAttribute(e));if(qr.test(i.tagName)){let e=i.textContent.split(U),t=e.length-1;if(t>0){i.textContent=Mr?Mr.emptyScript:``;for(let n=0;n<t;n++)i.append(e[n],Lr()),Y.nextNode(),c.push({type:2,index:++a});i.append(e[t],Lr())}}}else if(i.nodeType===8)if(i.data===Fr)c.push({type:2,index:a});else{let e=-1;for(;(e=i.data.indexOf(U,e+1))!==-1;)c.push({type:7,index:a}),e+=U.length-1}a++}}static createElement(e,t){let n=W.createElement(`template`);return n.innerHTML=e,n}};function X(e,t,n=e,r){if(t===q)return t;let i=r===void 0?n._$Cl:n._$Co?.[r],a=Rr(t)?void 0:t._$litDirective$;return i?.constructor!==a&&(i?._$AO?.(!1),a===void 0?i=void 0:(i=new a(e),i._$AT(e,n,r)),r===void 0?n._$Cl=i:(n._$Co??=[])[r]=i),i!==void 0&&(t=X(e,i._$AS(e,t.values),i,r)),t}var ei=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:n}=this._$AD,r=(e?.creationScope??W).importNode(t,!0);Y.currentNode=r;let i=Y.nextNode(),a=0,o=0,s=n[0];for(;s!==void 0;){if(a===s.index){let t;s.type===2?t=new ti(i,i.nextSibling,this,e):s.type===1?t=new s.ctor(i,s.name,s.strings,this,e):s.type===6&&(t=new oi(i,this,e)),this._$AV.push(t),s=n[++o]}a!==s?.index&&(i=Y.nextNode(),a++)}return Y.currentNode=W,r}p(e){let t=0;for(let n of this._$AV)n!==void 0&&(n.strings===void 0?n._$AI(e[t]):(n._$AI(e,n,t),t+=n.strings.length-2)),t++}},ti=class e{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,n,r){this.type=2,this._$AH=J,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=n,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=X(this,e,t),Rr(e)?e===J||e==null||e===``?(this._$AH!==J&&this._$AR(),this._$AH=J):e!==this._$AH&&e!==q&&this._(e):e._$litType$===void 0?e.nodeType===void 0?Br(e)?this.k(e):this._(e):this.T(e):this.$(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==J&&Rr(this._$AH)?this._$AA.nextSibling.data=e:this.T(W.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:n}=e,r=typeof n==`number`?this._$AC(e):(n.el===void 0&&(n.el=$r.createElement(Zr(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===r)this._$AH.p(t);else{let e=new ei(r,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=Xr.get(e.strings);return t===void 0&&Xr.set(e.strings,t=new $r(e)),t}k(t){zr(this._$AH)||(this._$AH=[],this._$AR());let n=this._$AH,r,i=0;for(let a of t)i===n.length?n.push(r=new e(this.O(Lr()),this.O(Lr()),this,this.options)):r=n[i],r._$AI(a),i++;i<n.length&&(this._$AR(r&&r._$AB.nextSibling,i),n.length=i)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){let t=jr(e).nextSibling;jr(e).remove(),e=t}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},ni=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,n,r,i){this.type=1,this._$AH=J,this._$AN=void 0,this.element=e,this.name=t,this._$AM=r,this.options=i,n.length>2||n[0]!==``||n[1]!==``?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=J}_$AI(e,t=this,n,r){let i=this.strings,a=!1;if(i===void 0)e=X(this,e,t,0),a=!Rr(e)||e!==this._$AH&&e!==q,a&&(this._$AH=e);else{let r=e,o,s;for(e=i[0],o=0;o<i.length-1;o++)s=X(this,r[n+o],t,o),s===q&&(s=this._$AH[o]),a||=!Rr(s)||s!==this._$AH[o],s===J?e=J:e!==J&&(e+=(s??``)+i[o+1]),this._$AH[o]=s}a&&!r&&this.j(e)}j(e){e===J?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??``)}},ri=class extends ni{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===J?void 0:e}},ii=class extends ni{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==J)}},ai=class extends ni{constructor(e,t,n,r,i){super(e,t,n,r,i),this.type=5}_$AI(e,t=this){if((e=X(this,e,t,0)??J)===q)return;let n=this._$AH,r=e===J&&n!==J||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,i=e!==J&&(n===J||r);r&&this.element.removeEventListener(this.name,this,n),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH==`function`?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},oi=class{constructor(e,t,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){X(this,e)}},si={M:Pr,P:U,A:Fr,C:1,L:Qr,R:ei,D:Br,V:X,I:ti,H:ni,N:ii,U:ai,B:ri,F:oi},ci=Ar.litHtmlPolyfillSupport;ci?.($r,ti),(Ar.litHtmlVersions??=[]).push(`3.3.2`);var li=(e,t,n)=>{let r=n?.renderBefore??t,i=r._$litPart$;if(i===void 0){let e=n?.renderBefore??null;r._$litPart$=i=new ti(t.insertBefore(Lr(),e),e,void 0,n??{})}return i._$AI(e),i},ui=globalThis,Z=class extends kr{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=li(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return q}};Z._$litElement$=!0,Z.finalized=!0,ui.litElementHydrateSupport?.({LitElement:Z});var di=ui.litElementPolyfillSupport;di?.({LitElement:Z}),(ui.litElementVersions??=[]).push(`4.2.2`);function fi(e){if(!(!Number.isFinite(e)||!e||e<=0))return Math.ceil(e)}function pi(e){if(!e.mimeType?.startsWith(`video/`)||!Number.isFinite(e.durationSeconds)||!e.durationSeconds||e.durationSeconds<=0||e.durationSeconds>15)return!1;let t=e.size;return!(typeof t==`number`&&t>12582912)}var mi=640,hi=8,gi=72,_i=16,vi=704,yi=.9,bi=.85;function Q(e){if(!(!Number.isFinite(e)||!e||e<=0))return e}function xi(){return{width:globalThis.innerWidth||document.documentElement.clientWidth||0,height:globalThis.innerHeight||document.documentElement.clientHeight||0}}function Si(e,t){let n=e<=mi?hi:gi;return{width:Math.max(0,e-n*2),height:Math.max(0,t-_i*2)}}function Ci(e,t,n){let r=Q(e?.width),i=Q(e?.height);if(!r||!i)return null;let a=Si(t,n);if(a.width<=0||a.height<=0)return null;let o=Math.min(a.width/r,a.height/i);return{width:Math.max(1,Math.round(r*o)),height:Math.max(1,Math.round(i*o))}}function wi(e,t,n){if(!e||e.mimeType?.startsWith(`video/`)||!Q(e.width)||!Q(e.height)||t<=0||n<=0)return!1;let r=Q(e.width),i=Q(e.height);if(!r||!i)return!1;let a=t<=mi,o=Si(t,n),s=o.width,c=o.height;if(s<=0||c<=0)return!1;let l=r/i,u=Math.min(s,c*l);return l<yi&&u<(a?s:Math.min(s,vi))*bi}var Ti=class extends Z{static properties={_images:{state:!0},_currentIndex:{state:!0},_open:{state:!0},_viewportWidth:{state:!0},_viewportHeight:{state:!0},_videoCurrentTime:{state:!0},_videoDuration:{state:!0},_videoMuted:{state:!0}};createRenderRoot(){return this.innerHTML=``,this}constructor(){super();let e=xi();this._images=[],this._currentIndex=0,this._open=!1,this._viewportWidth=e.width,this._viewportHeight=e.height,this._videoCurrentTime=0,this._videoDuration=0,this._videoMuted=!1}connectedCallback(){super.connectedCallback(),document.addEventListener(`click`,this.#e),window.addEventListener(`resize`,this.#o),this.#s()}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(`click`,this.#e),window.removeEventListener(`resize`,this.#o)}open(e,t){this.#s(),this.#c(),this._images=e,this._currentIndex=Math.max(0,Math.min(t,e.length-1)),this.#l(this._images[this._currentIndex]),this._open=!0,document.dispatchEvent(new CustomEvent(wn,{detail:{open:!0}})),this.updateComplete.then(()=>{this.querySelector(`.media-lightbox`)?.showModal(),this.querySelector(`.media-lightbox-content`)?.focus()})}close(){this.#c(),this.querySelector(`.media-lightbox`)?.close(),this._open=!1,document.dispatchEvent(new CustomEvent(wn,{detail:{open:!1}}))}#e=e=>{let t=e.target,n=t.closest(`[data-post-media] a[data-lightbox-index]`);if(n){let t=n.closest(`[data-lightbox-group]`);if(!t)return;e.preventDefault();let r=parseInt(n.dataset.lightboxIndex??`0`,10);try{let e=JSON.parse(t.dataset.lightboxGroup??`[]`);e.length>0&&this.open(e,r)}catch{}return}let r=t.closest(`[data-post-body] img`);if(r){e.preventDefault();let t=r.closest(`[data-post-body]`);if(!t)return;let n=Array.from(t.querySelectorAll(`img`)),i=n.map(e=>({url:e.src,alt:e.alt||``,width:Q(e.naturalWidth||Number(e.getAttribute(`width`))),height:Q(e.naturalHeight||Number(e.getAttribute(`height`)))})),a=n.indexOf(r);i.length>0&&this.open(i,Math.max(0,a))}};#t(){this._images.length<=1||(this.#c(),this._currentIndex=(this._currentIndex-1+this._images.length)%this._images.length)}#n(){this._images.length<=1||(this.#c(),this._currentIndex=(this._currentIndex+1)%this._images.length)}#r=e=>{let t=e,n=e.target;if(t.key===`Escape`)e.preventDefault(),this.close();else if(n?.classList.contains(`media-lightbox-short-progress`)&&(t.key===`ArrowLeft`||t.key===`ArrowRight`))return;else t.key===`ArrowLeft`?(e.preventDefault(),this.#t()):t.key===`ArrowRight`&&(e.preventDefault(),this.#n())};#i=e=>{let t=e.target;(t===e.currentTarget||t.classList.contains(`media-lightbox-content`)||t.classList.contains(`media-lightbox-stage`))&&this.close()};#a=()=>{this.#c(),this._open&&document.dispatchEvent(new CustomEvent(wn,{detail:{open:!1}})),this._open=!1};#o=()=>{this.#s()};#s(){let e=xi();e.width===this._viewportWidth&&e.height===this._viewportHeight||(this._viewportWidth=e.width,this._viewportHeight=e.height)}#c(){this.querySelector(`.media-lightbox-video`)?.pause()}#l(e){this._videoCurrentTime=0,this._videoDuration=e?.durationSeconds&&e.durationSeconds>0?e.durationSeconds:0,this._videoMuted=!1}#u(){let e=this._images[this._currentIndex];if(!pi(e)){this.#l(e);return}let t=this.querySelector(`.media-lightbox-video`);t&&(t.currentTime=0,t.muted=this._videoMuted,t.play().catch(()=>{}))}#d=e=>{let t=e.currentTarget;Number.isFinite(t.duration)&&t.duration>0&&(this._videoDuration=t.duration),this._videoCurrentTime=t.currentTime,t.muted=this._videoMuted};#f=e=>{let t=e.currentTarget;this._videoCurrentTime=t.currentTime,Number.isFinite(t.duration)&&t.duration>0&&(this._videoDuration=t.duration)};#p=e=>{let t=e.currentTarget,n=this.querySelector(`.media-lightbox-video`),r=Number.parseFloat(t.value);!n||!Number.isFinite(r)||r<0||(n.currentTime=r,this._videoCurrentTime=r)};#m=()=>{this._videoMuted=!this._videoMuted;let e=this.querySelector(`.media-lightbox-video`);e&&(e.muted=this._videoMuted)};updated(e){if(super.updated(e),!this._open||!e.has(`_currentIndex`)&&!e.has(`_open`))return;let t=this.querySelector(`.media-lightbox-stage`);t&&(t.scrollTop=0,t.scrollLeft=0,this.#u())}render(){if(!this._open)return J;let e=this._images[this._currentIndex],t=this._images.length>1,n=e?.mimeType?.startsWith(`video/`),r=pi(e),i=wi(e,this._viewportWidth,this._viewportHeight),a=r?Ci(e,this._viewportWidth,this._viewportHeight):null,o=r&&!!a&&a.height>a.width,s=a?`width:${a.width}px;height:${a.height}px;`:J,c=this._videoDuration>0?this._videoDuration:e?.durationSeconds??1,l=Math.min(this._videoCurrentTime,c),u=c>0?l/c*100:0;return K`
|
|
9
|
+
<dialog
|
|
10
|
+
class=${`media-lightbox${r?` media-lightbox-short`:``}`}
|
|
11
|
+
@keydown=${this.#r}
|
|
12
|
+
@click=${this.#i}
|
|
13
|
+
@close=${this.#a}
|
|
14
|
+
>
|
|
15
|
+
<div class="media-lightbox-content" tabindex="-1">
|
|
16
|
+
<button
|
|
17
|
+
type="button"
|
|
18
|
+
class="media-lightbox-close"
|
|
19
|
+
@click=${()=>this.close()}
|
|
20
|
+
aria-label="Close"
|
|
21
|
+
>
|
|
22
|
+
<svg
|
|
23
|
+
width="20"
|
|
24
|
+
height="20"
|
|
25
|
+
viewBox="0 0 24 24"
|
|
26
|
+
fill="none"
|
|
27
|
+
stroke="currentColor"
|
|
28
|
+
stroke-width="2"
|
|
29
|
+
stroke-linecap="round"
|
|
30
|
+
stroke-linejoin="round"
|
|
31
|
+
>
|
|
32
|
+
<path d="M18 6 6 18" />
|
|
33
|
+
<path d="m6 6 12 12" />
|
|
34
|
+
</svg>
|
|
35
|
+
</button>
|
|
36
|
+
|
|
37
|
+
${t?K`<div class="media-lightbox-counter">
|
|
38
|
+
${this._currentIndex+1} / ${this._images.length}
|
|
39
|
+
</div>`:J}
|
|
40
|
+
<div
|
|
41
|
+
class=${`media-lightbox-stage${i?` media-lightbox-stage-scroll`:``}`}
|
|
42
|
+
>
|
|
43
|
+
${n?r?K`<div
|
|
44
|
+
class=${`media-lightbox-short-frame${o?` media-lightbox-short-frame-portrait`:` media-lightbox-short-frame-landscape`}`}
|
|
45
|
+
style=${s}
|
|
46
|
+
>
|
|
47
|
+
<video
|
|
48
|
+
class="media-lightbox-video media-lightbox-video-short"
|
|
49
|
+
src=${e?.url??``}
|
|
50
|
+
poster=${e?.posterUrl??``}
|
|
51
|
+
autoplay
|
|
52
|
+
playsinline
|
|
53
|
+
loop
|
|
54
|
+
?muted=${this._videoMuted}
|
|
55
|
+
@loadedmetadata=${this.#d}
|
|
56
|
+
@timeupdate=${this.#f}
|
|
57
|
+
></video>
|
|
58
|
+
<div
|
|
59
|
+
class=${`media-lightbox-short-controls${o?` media-lightbox-short-controls-portrait`:``}`}
|
|
60
|
+
>
|
|
61
|
+
<input
|
|
62
|
+
class="media-lightbox-short-progress"
|
|
63
|
+
type="range"
|
|
64
|
+
min="0"
|
|
65
|
+
max=${c}
|
|
66
|
+
step="0.01"
|
|
67
|
+
.value=${String(l)}
|
|
68
|
+
style=${`--media-progress:${u}%`}
|
|
69
|
+
aria-label="Video progress"
|
|
70
|
+
@input=${this.#p}
|
|
71
|
+
/>
|
|
72
|
+
<button
|
|
73
|
+
type="button"
|
|
74
|
+
class="media-lightbox-short-mute"
|
|
75
|
+
@click=${this.#m}
|
|
76
|
+
aria-label=${this._videoMuted?`Unmute video`:`Mute video`}
|
|
77
|
+
>
|
|
78
|
+
<svg
|
|
79
|
+
width="16"
|
|
80
|
+
height="16"
|
|
81
|
+
viewBox="0 0 48 48"
|
|
82
|
+
fill="currentColor"
|
|
83
|
+
color="#fff"
|
|
84
|
+
aria-hidden="true"
|
|
85
|
+
>
|
|
86
|
+
${this._videoMuted?Yr`
|
|
87
|
+
<path d="M1.5 13.3c-.8 0-1.5.7-1.5 1.5v18.4c0 .8.7 1.5 1.5 1.5h8.7l12.9 12.9c.9.9 2.5.3 2.5-1v-9.8c0-.4-.2-.8-.4-1.1l-22-22c-.3-.3-.7-.4-1.1-.4h-.6zm46.8 31.4-5.5-5.5C44.9 36.6 48 31.4 48 24c0-11.4-7.2-17.4-7.2-17.4-.6-.6-1.6-.6-2.2 0L37.2 8c-.6.6-.6 1.6 0 2.2 0 0 5.7 5 5.7 13.8 0 5.4-2.1 9.3-3.8 11.6L35.5 32c1.1-1.7 2.3-4.4 2.3-8 0-6.8-4.1-10.3-4.1-10.3-.6-.6-1.6-.6-2.2 0l-1.4 1.4c-.6.6-.6 1.6 0 2.2 0 0 2.6 2 2.6 6.7 0 1.8-.4 3.2-.9 4.3L25.5 22V1.4c0-1.3-1.6-1.9-2.5-1L13.5 10 3.3-.3c-.6-.6-1.5-.6-2.1 0L-.2 1.1c-.6.6-.6 1.5 0 2.1L4 7.6l26.8 26.8 13.9 13.9c.6.6 1.5.6 2.1 0l1.4-1.4c.7-.6.7-1.6.1-2.2z" />
|
|
88
|
+
`:Yr`
|
|
89
|
+
<path d="M1.5 13.3c-.8 0-1.5.7-1.5 1.5v18.4c0 .8.7 1.5 1.5 1.5h8.7l12.9 12.9c.9.9 2.5.3 2.5-1V1.4c0-1.3-1.6-1.9-2.5-1L10.2 13.3H1.5z" />
|
|
90
|
+
<path d="M30.1 15.9c-.6-.6-.6-1.6 0-2.2l1.4-1.4c.6-.6 1.6-.6 2.2 0 0 0 4.1 3.5 4.1 11.7s-4.1 11.7-4.1 11.7c-.6.6-1.6.6-2.2 0l-1.4-1.4c-.6-.6-.6-1.6 0-2.2 0 0 2.6-2 2.6-8.1s-2.6-8.1-2.6-8.1z" />
|
|
91
|
+
<path d="M37.2 8c-.6-.6-.6-1.6 0-2.2l1.4-1.4c.6-.6 1.6-.6 2.2 0 0 0 5.7 5.1 5.7 19.6s-5.7 19.6-5.7 19.6c-.6.6-1.6.6-2.2 0L37.2 42c-.6-.6-.6-1.6 0-2.2 0 0 4.3-4.4 4.3-15.8S37.2 8 37.2 8z" />
|
|
92
|
+
`}
|
|
93
|
+
</svg>
|
|
94
|
+
</button>
|
|
95
|
+
</div>
|
|
96
|
+
</div>`:K`<video
|
|
97
|
+
class="media-lightbox-video"
|
|
98
|
+
src=${e?.url??``}
|
|
99
|
+
poster=${e?.posterUrl??``}
|
|
100
|
+
controls
|
|
101
|
+
autoplay
|
|
102
|
+
playsinline
|
|
103
|
+
></video>`:K`<img
|
|
104
|
+
class=${`media-lightbox-img${i?` media-lightbox-img-scroll`:``}`}
|
|
105
|
+
src=${e?.url??``}
|
|
106
|
+
alt=${e?.alt??``}
|
|
107
|
+
/>`}
|
|
108
|
+
</div>
|
|
109
|
+
${t?K`
|
|
110
|
+
<button
|
|
111
|
+
type="button"
|
|
112
|
+
class="media-lightbox-nav media-lightbox-nav-prev"
|
|
113
|
+
@click=${()=>this.#t()}
|
|
114
|
+
aria-label="Previous"
|
|
115
|
+
>
|
|
116
|
+
<svg
|
|
117
|
+
width="24"
|
|
118
|
+
height="24"
|
|
119
|
+
viewBox="0 0 24 24"
|
|
120
|
+
fill="none"
|
|
121
|
+
stroke="currentColor"
|
|
122
|
+
stroke-width="2"
|
|
123
|
+
stroke-linecap="round"
|
|
124
|
+
stroke-linejoin="round"
|
|
125
|
+
>
|
|
126
|
+
<path d="m15 18-6-6 6-6" />
|
|
127
|
+
</svg>
|
|
128
|
+
</button>
|
|
129
|
+
<button
|
|
130
|
+
type="button"
|
|
131
|
+
class="media-lightbox-nav media-lightbox-nav-next"
|
|
132
|
+
@click=${()=>this.#n()}
|
|
133
|
+
aria-label="Next"
|
|
134
|
+
>
|
|
135
|
+
<svg
|
|
136
|
+
width="24"
|
|
137
|
+
height="24"
|
|
138
|
+
viewBox="0 0 24 24"
|
|
139
|
+
fill="none"
|
|
140
|
+
stroke="currentColor"
|
|
141
|
+
stroke-width="2"
|
|
142
|
+
stroke-linecap="round"
|
|
143
|
+
stroke-linejoin="round"
|
|
144
|
+
>
|
|
145
|
+
<path d="m9 18 6-6-6-6" />
|
|
146
|
+
</svg>
|
|
147
|
+
</button>
|
|
148
|
+
`:J}
|
|
149
|
+
</div>
|
|
150
|
+
</dialog>
|
|
151
|
+
`}};customElements.define(`jant-media-lightbox`,Ti);var Ei={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Di=e=>(...t)=>({_$litDirective$:e,values:t}),Oi=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}},ki=class extends Oi{constructor(e){if(super(e),this.it=J,e.type!==Ei.CHILD)throw Error(this.constructor.directiveName+`() can only be used in child bindings`)}render(e){if(e===J||e==null)return this._t=void 0,this.it=e;if(e===q)return e;if(typeof e!=`string`)throw Error(this.constructor.directiveName+`() called with a non-string value`);if(e===this.it)return this._t;this.it=e;let t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}};ki.directiveName=`unsafeHTML`,ki.resultType=1;var Ai=Di(ki),ji=`jant.pendingToast`;function Mi(e){!e.matches(`:popover-open`)&&typeof e.showPopover==`function`&&e.showPopover()}function Ni(){return document.getElementById(`toast-container`)}function Pi(){try{return globalThis.sessionStorage!==void 0}catch{return!1}}function Fi(){if(!Pi())return null;let e=globalThis.sessionStorage.getItem(ji);if(!e)return null;try{let t=JSON.parse(e);return typeof t.message!=`string`||t.type!==`success`&&t.type!==`error`||t.action&&(typeof t.action.label!=`string`||typeof t.action.href!=`string`)?(globalThis.sessionStorage.removeItem(ji),null):{message:t.message,type:t.type,action:t.action}}catch{return globalThis.sessionStorage.removeItem(ji),null}}var Ii={success:`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><path d="m9 11 3 3L22 4"/></svg>`,error:`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><circle cx="12" cy="12" r="10"/><path d="m15 9-6 6M9 9l6 6"/></svg>`};function Li(e,t,n,r){e.innerHTML=Ii[t];let i=document.createElement(`span`);if(i.textContent=n,e.appendChild(i),r){let t=document.createElement(`a`);t.href=r.href,t.className=`toast-action`,t.textContent=r.label,e.appendChild(t)}}function $(e,t=`success`){if(!e)return;let n=Ni();if(!n)return;Mi(n);let r=document.createElement(`div`);r.className=`toast toast-${t}`,Li(r,t,e),n.appendChild(r),setTimeout(()=>{r.classList.add(`toast-out`),r.addEventListener(`animationend`,()=>r.remove())},3e3)}function Ri(e,t,n=`success`){if(!e)return;let r=Ni();if(!r)return;Mi(r);let i=document.createElement(`div`);i.className=`toast toast-${n}`,Li(i,n,e,t),r.appendChild(i),setTimeout(()=>{i.classList.add(`toast-out`),i.addEventListener(`animationend`,()=>i.remove())},3e3)}function zi(e,t,n=`success`){let r=Ni();if(!r)return null;Mi(r);let i=document.createElement(`div`);return i.className=`toast toast-${n}`,i.id=`toast-${e}`,Li(i,n,t),r.appendChild(i),i}function Bi(e,t,n=`success`){let r=document.getElementById(`toast-${e}`);if(!r){$(t,n);return}r.className=`toast toast-${n}`,r.replaceChildren(),Li(r,n,t),setTimeout(()=>{r.classList.add(`toast-out`),r.addEventListener(`animationend`,()=>r.remove())},3e3)}function Vi(e,t=`success`,n){!e||!Pi()||globalThis.sessionStorage.setItem(ji,JSON.stringify({message:e,type:t,action:n}))}function Hi(){let e=Fi();return!e||!Ni()?!1:(globalThis.sessionStorage.removeItem(ji),e.action?Ri(e.message,e.action,e.type):$(e.message,e.type),!0)}function Ui(){let e=()=>{Hi()};if(document.readyState===`loading`){document.addEventListener(`DOMContentLoaded`,e,{once:!0});return}e()}Ui();var Wi=class extends Z{static properties={_open:{state:!0},_html:{state:!0},_loading:{state:!0},_copied:{state:!0},_linkCopied:{state:!0}};#e=``;#t=``;#n=null;#r=null;#i=null;createRenderRoot(){return this.innerHTML=``,this}constructor(){super(),this._open=!1,this._html=``,this._loading=!1,this._copied=!1,this._linkCopied=!1}connectedCallback(){super.connectedCallback(),document.addEventListener(`click`,this.#s),this.#a()}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(`click`,this.#s)}async#a(){let e=document.querySelector(`.text-preview-dialog--ssr`),t=document.getElementById(`text-preview-autoopen`);if(!(!e&&!t))try{let n=JSON.parse(t?.textContent||`{}`);t?.remove();let r=e?.querySelector(`.text-preview-body`),i=r?.innerHTML||``,a=r?.innerText||``;this.#t=n.shareHref?`${globalThis.location.origin}${n.shareHref}`:``,this.#r=n.postHref||null,this.#i=n.postTitle||null,this._html=i,this.#e=a,this._open=!0,document.body.style.overflow=`hidden`,await this.updateComplete,this.requestUpdate(),this.querySelector(`.text-preview-dialog`)?.showModal(),this.querySelector(`.text-preview-content`)?.focus(),e?.remove(),n.mediaId&&this.#o(n.mediaId)}catch{e?.remove()}}async#o(e){try{let t=await fetch(`/api/media/${e}/content`);if(!t.ok||!(t.headers.get(`Content-Type`)||``).includes(`application/json`))return;let n=await t.json();n.markdown&&(this.#e=n.markdown,this.requestUpdate())}catch{}}#s=e=>{let t=e.target.closest(`[data-text-preview-id]`);if(!t)return;e.preventDefault();let n=t.dataset.textPreviewId;n&&this.#c(n,t.dataset.textPreviewHref??``,t)};async#c(e,t,n){this.#n=n,this.#t=t?`${globalThis.location.origin}${t}`:``,this._loading=!0,this._open=!0,document.body.style.overflow=`hidden`,await this.updateComplete,this.querySelector(`.text-preview-dialog`)?.showModal(),this.querySelector(`.text-preview-content`)?.focus();try{let t=await fetch(`/api/media/${e}/content`);if(!t.ok)throw Error(`Fetch failed`);if((t.headers.get(`Content-Type`)||``).includes(`application/json`)){let e=await t.json();this._html=e.html??``,this.#e=e.markdown??``}else{let e=await t.text();this._html=e;let n=document.createElement(`div`);n.innerHTML=e,this.#e=n.innerText.trim()}}catch{this._html=`<p>Failed to load content.</p>`,this.#e=``}finally{this._loading=!1}}#l(){if(this.querySelector(`.text-preview-dialog`)?.close(),document.body.style.overflow=``,this._open=!1,this._html=``,this.#e=``,this.#t=``,this._copied=!1,this._linkCopied=!1,this.#r){let e=this.#r;this.#r=null,globalThis.history.replaceState(null,``,e),this.#i&&=(document.title=this.#i,null)}let e=this.#n;this.#n=null,queueMicrotask(()=>{e?.isConnected&&e.focus()})}async#u(){if(this.#e)try{await globalThis.navigator.clipboard.writeText(this.#e),this._copied=!0,$(`Copied.`),setTimeout(()=>{this._copied=!1},2e3)}catch{$(`Could not copy.`,`error`)}}async#d(){if(this.#t)try{await globalThis.navigator.clipboard.writeText(this.#t),this._linkCopied=!0,$(`Link copied.`),setTimeout(()=>{this._linkCopied=!1},2e3)}catch{$(`Could not copy.`,`error`)}}#f=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),this.#l())};render(){return this._open?K`
|
|
152
|
+
<dialog
|
|
153
|
+
class="text-preview-dialog"
|
|
154
|
+
@cancel=${e=>{e.preventDefault(),this.#l()}}
|
|
155
|
+
@keydown=${this.#f}
|
|
156
|
+
@click=${e=>{e.target.tagName===`DIALOG`&&this.#l()}}
|
|
157
|
+
>
|
|
158
|
+
<div class="text-preview-content" tabindex="-1">
|
|
159
|
+
<div class="text-preview-toolbar">
|
|
160
|
+
<button
|
|
161
|
+
type="button"
|
|
162
|
+
class="text-preview-btn"
|
|
163
|
+
@click=${()=>this.#l()}
|
|
164
|
+
title="Close"
|
|
165
|
+
aria-label="Close"
|
|
166
|
+
>
|
|
167
|
+
<svg
|
|
168
|
+
width="16"
|
|
169
|
+
height="16"
|
|
170
|
+
viewBox="0 0 24 24"
|
|
171
|
+
fill="none"
|
|
172
|
+
stroke="currentColor"
|
|
173
|
+
stroke-width="2"
|
|
174
|
+
stroke-linecap="round"
|
|
175
|
+
stroke-linejoin="round"
|
|
176
|
+
>
|
|
177
|
+
<path d="M18 6 6 18M6 6l12 12" />
|
|
178
|
+
</svg>
|
|
179
|
+
</button>
|
|
180
|
+
<div class="text-preview-toolbar-actions">
|
|
181
|
+
${this.#t?K`<button
|
|
182
|
+
type="button"
|
|
183
|
+
class="text-preview-btn"
|
|
184
|
+
@click=${()=>this.#d()}
|
|
185
|
+
?disabled=${this._loading}
|
|
186
|
+
title="Copy link"
|
|
187
|
+
aria-label="Copy shareable link"
|
|
188
|
+
>
|
|
189
|
+
${this._linkCopied?K`<svg
|
|
190
|
+
width="16"
|
|
191
|
+
height="16"
|
|
192
|
+
viewBox="0 0 24 24"
|
|
193
|
+
fill="none"
|
|
194
|
+
stroke="currentColor"
|
|
195
|
+
stroke-width="2"
|
|
196
|
+
stroke-linecap="round"
|
|
197
|
+
stroke-linejoin="round"
|
|
198
|
+
>
|
|
199
|
+
<path d="M20 6 9 17l-5-5" />
|
|
200
|
+
</svg>`:K`<svg
|
|
201
|
+
width="16"
|
|
202
|
+
height="16"
|
|
203
|
+
viewBox="0 0 24 24"
|
|
204
|
+
fill="none"
|
|
205
|
+
stroke="currentColor"
|
|
206
|
+
stroke-width="2"
|
|
207
|
+
stroke-linecap="round"
|
|
208
|
+
stroke-linejoin="round"
|
|
209
|
+
>
|
|
210
|
+
<path
|
|
211
|
+
d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"
|
|
212
|
+
/>
|
|
213
|
+
<path
|
|
214
|
+
d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"
|
|
215
|
+
/>
|
|
216
|
+
</svg>`}
|
|
217
|
+
</button>`:J}
|
|
218
|
+
<button
|
|
219
|
+
type="button"
|
|
220
|
+
class="text-preview-btn"
|
|
221
|
+
@click=${()=>this.#u()}
|
|
222
|
+
?disabled=${this._loading||!this.#e}
|
|
223
|
+
title="Copy text"
|
|
224
|
+
aria-label="Copy text content"
|
|
225
|
+
>
|
|
226
|
+
${this._copied?K`<svg
|
|
227
|
+
width="16"
|
|
228
|
+
height="16"
|
|
229
|
+
viewBox="0 0 24 24"
|
|
230
|
+
fill="none"
|
|
231
|
+
stroke="currentColor"
|
|
232
|
+
stroke-width="2"
|
|
233
|
+
stroke-linecap="round"
|
|
234
|
+
stroke-linejoin="round"
|
|
235
|
+
>
|
|
236
|
+
<path d="M20 6 9 17l-5-5" />
|
|
237
|
+
</svg>`:K`<svg
|
|
238
|
+
width="16"
|
|
239
|
+
height="16"
|
|
240
|
+
viewBox="0 0 24 24"
|
|
241
|
+
fill="none"
|
|
242
|
+
stroke="currentColor"
|
|
243
|
+
stroke-width="2"
|
|
244
|
+
stroke-linecap="round"
|
|
245
|
+
stroke-linejoin="round"
|
|
246
|
+
>
|
|
247
|
+
<rect width="14" height="14" x="8" y="8" rx="2" />
|
|
248
|
+
<path
|
|
249
|
+
d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"
|
|
250
|
+
/>
|
|
251
|
+
</svg>`}
|
|
252
|
+
</button>
|
|
253
|
+
</div>
|
|
254
|
+
</div>
|
|
255
|
+
${this._loading?K`<div class="text-preview-loading">
|
|
256
|
+
<svg
|
|
257
|
+
class="animate-spin size-5"
|
|
258
|
+
viewBox="0 0 24 24"
|
|
259
|
+
fill="none"
|
|
260
|
+
stroke="currentColor"
|
|
261
|
+
stroke-width="2"
|
|
262
|
+
stroke-linecap="round"
|
|
263
|
+
stroke-linejoin="round"
|
|
264
|
+
>
|
|
265
|
+
<path d="M21 12a9 9 0 1 1-6.219-8.56" />
|
|
266
|
+
</svg>
|
|
267
|
+
</div>`:K`<div class="text-preview-body prose">
|
|
268
|
+
${Ai(this._html)}
|
|
269
|
+
</div>`}
|
|
270
|
+
</div>
|
|
271
|
+
</dialog>
|
|
272
|
+
`:J}};customElements.define(`jant-text-preview`,Wi);function Gi(e,t){let n=Number.parseFloat(e);return Number.isFinite(n)?n:t}function Ki(e){let t=e.classList.contains(`expanded`);t&&e.classList.remove(`expanded`);let n=getComputedStyle(e).maxHeight,r=Gi(n,188);return t&&e.classList.add(`expanded`),r}function qi(e){return Array.from(e.querySelectorAll(`img`)).filter(e=>!e.complete)}function Ji(e,t){let n=qi(e);if(n.length===0){requestAnimationFrame(()=>{requestAnimationFrame(t)});return}let r=n.length,i=()=>{--r,r===0&&t()};n.forEach(e=>{e.addEventListener(`load`,i,{once:!0}),e.addEventListener(`error`,i,{once:!0})})}function Yi(e,t,n){let r=Ki(e),i=e.classList.contains(`expanded`),a=e.scrollHeight>r+1,o=t.dataset.labelMore??`Show more`,s=t.dataset.labelLess??`Show less`;if(!a){n?e.classList.remove(`thread-context-collapsed`,`thread-context-faded`,`expanded`):(e.classList.add(`thread-context-collapsed`),e.classList.remove(`thread-context-faded`,`expanded`)),t.classList.add(`hidden`),t.textContent=o,t.setAttribute(`aria-expanded`,`false`);return}e.classList.add(`thread-context-collapsed`),e.classList.add(`thread-context-faded`),t.classList.remove(`hidden`),t.textContent=i?s:o,t.setAttribute(`aria-expanded`,i?`true`:`false`)}function Xi(e){let t=e.querySelector(`[data-thread-context]`),n=e.querySelector(`[data-thread-context-toggle]`);if(!t||!n)return;let r=!1;Yi(t,n,r),Ji(t,()=>{r=!0,Yi(t,n,r)}),`ResizeObserver`in globalThis&&new globalThis.ResizeObserver(()=>{Yi(t,n,r)}).observe(t)}function Zi(e=document){e.querySelectorAll(`.thread-group`).forEach(e=>{e instanceof HTMLElement&&Xi(e)})}function Qi(e){let t=e.closest(`.thread-group-detail`);return t?t.querySelector(`.thread-detail-item`)===e:!1}function $i(){return globalThis.location.hash===`#continue`}function ea(e=document){let t=e.querySelector(`[data-post-current]`);if(!(t instanceof HTMLElement))return;let n=$i();if(globalThis.location.hash&&!n)return;let r=n?`auto`:`smooth`,i=Qi(t);requestAnimationFrame(()=>{i&&!n||t.scrollIntoView({behavior:r,block:`start`})})}document.addEventListener(`click`,e=>{let t=e.target.closest(`[data-thread-context-toggle]`);if(!t)return;let n=t.closest(`.thread-group`)?.querySelector(`[data-thread-context]`);n&&(n.classList.toggle(`expanded`),Yi(n,t,!0))}),document.addEventListener(`DOMContentLoaded`,()=>{Zi(document),ea(document)}),document.querySelectorAll(`.archive-chip-dropdown`).forEach(e=>{let t=e.querySelector(`:scope > button`),n=e.querySelector(`:scope > [data-popover]`),r=n?n.querySelector(`[role="listbox"]`):null;if(!t||!n||!r)return;let i=Array.from(r.querySelectorAll(`[role="option"]`)),a=e.classList.contains(`archive-chip-media`),o=e.dataset.filterKey,s=new Set;a&&i.forEach(e=>{!e.dataset.navigate&&e.getAttribute(`aria-selected`)===`true`&&s.add(e.dataset.value)});let c=new Set(s),l=()=>{document.dispatchEvent(new CustomEvent(`basecoat:popover`,{detail:{source:e}})),n.setAttribute(`aria-hidden`,`false`),t.setAttribute(`aria-expanded`,`true`),a&&(c=new Set(s))},u=(e=!0)=>{if(n.getAttribute(`aria-hidden`)!==`true`&&(n.setAttribute(`aria-hidden`,`true`),t.setAttribute(`aria-expanded`,`false`),e&&t.focus(),a&&o&&(s.size!==c.size||[...s].some(e=>!c.has(e))))){let e=new URL(window.location.href),t=[...s];t.length>0?e.searchParams.set(o,t.join(`,`)):e.searchParams.delete(o),e.searchParams.delete(`hasMedia`),e.searchParams.delete(`page`),window.location.href=e.pathname+(e.search||``)}};t.addEventListener(`click`,e=>{e.target.closest(`.archive-chip-clear`)||(t.getAttribute(`aria-expanded`)===`true`?u():l())}),document.addEventListener(`click`,t=>{e.contains(t.target)||u(!1)}),document.addEventListener(`basecoat:popover`,t=>{t.detail.source!==e&&u(!1)}),r.addEventListener(`click`,e=>{let t=e.target.closest(`[role="option"]`);if(t){if(t.dataset.navigate){let e=t.dataset.value;typeof e==`string`&&e.startsWith(`/`)&&(window.location.href=e);return}if(a){let e=t.dataset.value;s.has(e)?(s.delete(e),t.removeAttribute(`aria-selected`)):(s.add(e),t.setAttribute(`aria-selected`,`true`))}else{let e=t.dataset.value;typeof e==`string`&&e.startsWith(`/`)&&(window.location.href=e)}}});let d=-1,f=e=>{d>-1&&i[d]&&i[d].classList.remove(`active`),d=e,d>-1&&i[d]&&(i[d].classList.add(`active`),i[d].scrollIntoView({block:`nearest`}))};r.addEventListener(`mousemove`,e=>{let t=e.target.closest(`[role="option"]`);if(t){let e=i.indexOf(t);e!==-1&&e!==d&&f(e)}}),r.addEventListener(`mouseleave`,()=>{f(-1)}),t.addEventListener(`keydown`,e=>{let t=n.getAttribute(`aria-hidden`)===`false`;if(e.key===`Escape`){t&&(e.preventDefault(),u());return}if(!t&&[`ArrowDown`,`ArrowUp`].includes(e.key)){e.preventDefault(),l();return}t&&(e.preventDefault(),e.key===`ArrowDown`?f(Math.min(d+1,i.length-1)):e.key===`ArrowUp`?f(Math.max(d-1,0)):e.key===`Enter`&&d>-1&&(i[d].click(),!a&&!i[d].dataset.navigate&&u()))})});function ta(e){let t=e.querySelector(`.site-header-more-btn`),n=e.querySelector(`.site-header-more-popover`);if(!t||!n||t.dataset.moreInitialized===`true`)return;t.dataset.moreInitialized=`true`;function r(){n.setAttribute(`aria-hidden`,`false`),t.setAttribute(`aria-expanded`,`true`),document.dispatchEvent(new CustomEvent(`basecoat:popover`,{detail:{source:t.parentElement}}))}function i(e=!1){n.setAttribute(`aria-hidden`,`true`),t.setAttribute(`aria-expanded`,`false`),e&&t.focus()}t.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),t.getAttribute(`aria-expanded`)===`true`?i():r()}),document.addEventListener(`click`,e=>{e.target instanceof Node&&(t.parentElement?.contains(e.target)||i())}),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&n.getAttribute(`aria-hidden`)===`false`&&i(!0)}),document.addEventListener(`basecoat:popover`,e=>{e.detail?.source!==t.parentElement&&i()})}var na=`jant:nav-fresh-visits`;function ra(){let e=document.createElement(`span`);return e.className=`site-header-link-fresh`,e.setAttribute(`aria-hidden`,`true`),e.textContent=`*`,e}function ia(e){try{let t=JSON.parse(localStorage.getItem(na)||`{}`),n=location.pathname,r=e.querySelectorAll(`[data-fresh-at]`);for(let e of r){let r=new URL(e.href).pathname,i=parseInt(e.dataset.freshAt,10);if(r===n)t[r]=Math.floor(Date.now()/1e3);else{let n=t[r];if(!n||n<i){let t=e.querySelector(`svg`);e.insertBefore(ra(),t)}}}localStorage.setItem(na,JSON.stringify(t))}catch{}}function aa(e=document){let t=e.querySelector(`.site-header-hamburger`),n=e.querySelector(`#site-nav-drawer`),r=e.querySelector(`.site-nav-drawer-backdrop`),i=n?.querySelector(`.site-nav-drawer-close`);if(ia(e),ta(e),!t||!n||!r||t.dataset.drawerInitialized===`true`)return;t.dataset.drawerInitialized=`true`;function a(){n.setAttribute(`aria-hidden`,`false`),n.removeAttribute(`inert`),r.setAttribute(`aria-hidden`,`false`),t.setAttribute(`aria-expanded`,`true`),document.documentElement.classList.add(`drawer-open`);let e=n.querySelector(`.site-nav-drawer-close`)??n.querySelector(`a[href], button`);e&&e.focus()}function o(e=!0){n.setAttribute(`aria-hidden`,`true`),r.setAttribute(`aria-hidden`,`true`),t.setAttribute(`aria-expanded`,`false`),document.documentElement.classList.remove(`drawer-open`),n.addEventListener(`transitionend`,()=>{n.getAttribute(`aria-hidden`)===`true`&&n.setAttribute(`inert`,``)},{once:!0}),e&&t.focus()}t.addEventListener(`click`,()=>{t.getAttribute(`aria-expanded`)===`true`?o():a()}),i?.addEventListener(`click`,()=>o()),r.addEventListener(`click`,()=>o()),n.addEventListener(`click`,e=>{e.target instanceof Element&&e.target.closest(`a[href]`)&&o(!1)}),n.addEventListener(`keydown`,e=>{e.key===`Escape`&&(e.preventDefault(),o())})}aa();function oa(e=document){e.querySelectorAll(`.collection-sort-menu`).forEach(e=>{if(e.dataset.collectionSortMenuInitialized===`true`)return;let t=e.querySelector(`:scope > .collection-sort-trigger`),n=e.querySelector(`:scope > [data-popover]`),r=n?.querySelector(`[data-collection-sort-options]`);if(!(t instanceof HTMLButtonElement)||!n||!r)return;let i=(e=!1)=>{n.getAttribute(`aria-hidden`)!==`true`&&(n.setAttribute(`aria-hidden`,`true`),t.setAttribute(`aria-expanded`,`false`),e&&t.focus())},a=()=>{document.dispatchEvent(new CustomEvent(`basecoat:popover`,{detail:{source:e}})),n.setAttribute(`aria-hidden`,`false`),t.setAttribute(`aria-expanded`,`true`)};t.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),t.getAttribute(`aria-expanded`)===`true`?i(!1):a()}),t.addEventListener(`keydown`,e=>{if(e.key===`Escape`){e.preventDefault(),i(!0);return}if(e.key===`ArrowDown`){e.preventDefault(),t.getAttribute(`aria-expanded`)!==`true`&&a();let n=r.querySelector(`a[href]`);n instanceof HTMLElement&&n.focus()}}),n.addEventListener(`keydown`,e=>{e.key===`Escape`&&(e.preventDefault(),i(!0))}),document.addEventListener(`click`,t=>{t.target instanceof Node&&(e.contains(t.target)||i(!1))}),document.addEventListener(`basecoat:popover`,t=>{t.detail?.source!==e&&i(!1)}),e.dataset.collectionSortMenuInitialized=`true`})}oa(),rn();export{tn as _,$ as a,Di as c,fi as d,Z as f,si as g,K as h,zi as i,Oi as l,q as m,Vi as n,ki as o,J as p,Bi as r,Ai as s,Zi as t,Ei as u};
|