@jant/core 0.3.37 → 0.3.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1177) hide show
  1. package/LICENSE +189 -189
  2. package/README.md +5 -4
  3. package/bin/commands/assets/prepare.js +55 -0
  4. package/bin/commands/db/execute-file.js +113 -0
  5. package/bin/commands/db/export.js +5 -0
  6. package/bin/commands/db/rehearse.js +65 -0
  7. package/bin/commands/deploy.js +162 -0
  8. package/bin/commands/export.js +73 -75
  9. package/bin/commands/import-site.js +1531 -267
  10. package/bin/commands/migrate.js +79 -0
  11. package/bin/commands/reset-password.js +80 -7
  12. package/bin/commands/site/export.js +415 -0
  13. package/bin/commands/site/import.js +5 -0
  14. package/bin/commands/site/localize-media.js +118 -0
  15. package/bin/commands/site/snapshot/export.js +357 -0
  16. package/bin/commands/site/snapshot/import.js +363 -0
  17. package/bin/commands/start.js +46 -0
  18. package/bin/commands/uploads/cleanup.js +119 -0
  19. package/bin/jant.js +55 -15
  20. package/bin/lib/cli-api-token.js +6 -0
  21. package/bin/lib/d1-query.js +194 -0
  22. package/bin/lib/load-node-runtime.js +10 -0
  23. package/bin/lib/migration-artifacts.js +99 -0
  24. package/bin/lib/migration-rehearsal.js +438 -0
  25. package/bin/lib/migration-runner.js +311 -0
  26. package/bin/lib/node-database.js +48 -0
  27. package/bin/lib/node-sqlite.js +158 -0
  28. package/bin/lib/public-assets.js +66 -0
  29. package/bin/lib/r2-query.js +170 -0
  30. package/bin/lib/runtime-target.js +33 -0
  31. package/bin/lib/site-localize-media.js +427 -0
  32. package/bin/lib/site-media-parser.js +1150 -0
  33. package/bin/lib/site-selection.js +222 -0
  34. package/bin/lib/site-snapshot.js +484 -0
  35. package/bin/lib/site-url.js +84 -0
  36. package/bin/lib/sql-export.js +194 -0
  37. package/bin/lib/wrangler-cli.js +41 -0
  38. package/bin/lib/wrangler-config.js +86 -0
  39. package/dist/app-BfoG98VD.js +30410 -0
  40. package/dist/client/_assets/chunks/0041f681602cc834bb5c55ced0155b8e-BNpHLJgt.woff2 +0 -0
  41. package/dist/client/_assets/chunks/008ea9091e332c639ceb18874eacd60c-CygB704Q.woff2 +0 -0
  42. package/dist/client/_assets/chunks/00c9ac960d866ffaf8a866e5939024e2-CqRrlxSi.woff2 +0 -0
  43. package/dist/client/_assets/chunks/02629e5d0a9860b7fe32ec1f0563213a-YvgSIv_V.woff2 +0 -0
  44. package/dist/client/_assets/chunks/02e48e353415a00e0f556608cab33a43-YFgu4zi3.woff2 +0 -0
  45. package/dist/client/_assets/chunks/02faf6bb0ab4d56ada037c0bbaf9b9f7-DUuUM2eo.woff2 +0 -0
  46. package/dist/client/_assets/chunks/031089da45fbfb7dc18ac827bef4c56e-D4ahCOTO.woff2 +0 -0
  47. package/dist/client/_assets/chunks/03ac785139320b7b13bac9c150bf72bf-BG7zubxs.woff2 +0 -0
  48. package/dist/client/_assets/chunks/053bd3d7aec0040d0cc50c261a1f4e3e-BdG4yI0n.woff2 +0 -0
  49. package/dist/client/_assets/chunks/057a3d44d7fc606f113d863376d0ecf0-BsEMbuKV.woff2 +0 -0
  50. package/dist/client/_assets/chunks/0713613227cc4c686c45a279f8bdc166-BzLoJcLo.woff2 +0 -0
  51. package/dist/client/_assets/chunks/0b1f83a3c7e715560a55ad9eb0fb1c94-asGrAhxW.woff2 +0 -0
  52. package/dist/client/_assets/chunks/0c055db157e7a13f3103cc2a6b67fec3-1T6huY_I.woff2 +0 -0
  53. package/dist/client/_assets/chunks/0d3f5cc265cb6c439c517f2c4cebbddf-CmkfpVHX.woff2 +0 -0
  54. package/dist/client/_assets/chunks/0e97f44ebc65384c346fe19bcc52fa20-BJTzmZzt.woff2 +0 -0
  55. package/dist/client/_assets/chunks/10f2b44b3711d3f5bdcc30d373b543d1-BRTxD_6-.woff2 +0 -0
  56. package/dist/client/_assets/chunks/1139d32ae2bdeb26c0c8f31330aa9a9f-B7k4Da0E.woff2 +0 -0
  57. package/dist/client/_assets/chunks/1259e5825b314fe2b8bb96d6e8069ee5-Ba8VoZCg.woff2 +0 -0
  58. package/dist/client/_assets/chunks/12c518ebfe62818af550c08947e359e7-B7eDp07N.woff2 +0 -0
  59. package/dist/client/_assets/chunks/145831a59caa06d894022fe60212ed21-B3xSIk4b.woff2 +0 -0
  60. package/dist/client/_assets/chunks/14b040a2dda256936bc7b3470e548394-CF7zgNWs.woff2 +0 -0
  61. package/dist/client/_assets/chunks/14c1506106d92621bafb11016735194e-cbk_paoP.woff2 +0 -0
  62. package/dist/client/_assets/chunks/154a2c266902003bd8b7449386b10776-CYgd0apt.woff2 +0 -0
  63. package/dist/client/_assets/chunks/15f8c0df47fd639d1b0d9bd5cf507c9b-B11bYwtn.woff2 +0 -0
  64. package/dist/client/_assets/chunks/1668bd859ffe15bed7d5563117d8d5fb-DJotYU-j.woff2 +0 -0
  65. package/dist/client/_assets/chunks/169a096e61d38a773216f51d1ec2cc06-CzS4CZjy.woff2 +0 -0
  66. package/dist/client/_assets/chunks/1884a2b22d314c7d57707f03aec348e0-BdBJ4_JO.woff2 +0 -0
  67. package/dist/client/_assets/chunks/189f272ea2600c74d576b7b15c014922-CylwUmhO.woff2 +0 -0
  68. package/dist/client/_assets/chunks/190e3f8632494e7c095117f26b1c811e-DT09KhZe.woff2 +0 -0
  69. package/dist/client/_assets/chunks/19ad151c22ce1befe0a9ea643fbee570-BOjbPzxL.woff2 +0 -0
  70. package/dist/client/_assets/chunks/19e39850472250bfdbce654d30859879-Db8MVQ-5.woff2 +0 -0
  71. package/dist/client/_assets/chunks/1b5d0d740450fb996749464c9b882025-BG0yepI2.woff2 +0 -0
  72. package/dist/client/_assets/chunks/1bca0a2a8840ad0ee9414940593db144-CfiRZ0Fs.woff2 +0 -0
  73. package/dist/client/_assets/chunks/1c820b5295868008ca7c78afa5b7655d-rGkaVY0Z.woff2 +0 -0
  74. package/dist/client/_assets/chunks/1cda27dcaab977ae4ef5d5ab2a10ae03-3n1CbajX.woff2 +0 -0
  75. package/dist/client/_assets/chunks/1e2640116bbba817f43c43cc69371cf1-BLnekPNy.woff2 +0 -0
  76. package/dist/client/_assets/chunks/1f4bc38a1c50f55f335f5411cae47696-3J1JFXeu.woff2 +0 -0
  77. package/dist/client/_assets/chunks/1fbccc182322b513f57cd156a9a491b0-bRVH28a5.woff2 +0 -0
  78. package/dist/client/_assets/chunks/1fbe225742c69f4ba9ea5f74922f0ca1-BHRIiKDB.woff2 +0 -0
  79. package/dist/client/_assets/chunks/2022cf097cb952d9fe75b53b4587d2c3-Btdq5ZEB.woff2 +0 -0
  80. package/dist/client/_assets/chunks/21e0a71d86be7b8a9e812e7af09dd061-SSZaQU5Z.woff2 +0 -0
  81. package/dist/client/_assets/chunks/2240a3c43ca5ef59ae3c348c7884792f-DQgT8QLe.woff2 +0 -0
  82. package/dist/client/_assets/chunks/2573703213da30d3ba18925b100b2c2b-D61uHyrJ.woff2 +0 -0
  83. package/dist/client/_assets/chunks/265e048cc9f2f8a711ba585a534d5351-geHDzSNf.woff2 +0 -0
  84. package/dist/client/_assets/chunks/26839c0e47c73514b8d8f660d24d6b19-D2gmzZl-.woff2 +0 -0
  85. package/dist/client/_assets/chunks/280e3d2b58e9ad3501816072e01b0c13-Dx5yDwjz.woff2 +0 -0
  86. package/dist/client/_assets/chunks/2874d07e228da9583b0e73646dacd498-26mUURU-.woff2 +0 -0
  87. package/dist/client/_assets/chunks/29d49891713a2785a3a383001cf58c59-DVb6JpZh.woff2 +0 -0
  88. package/dist/client/_assets/chunks/2a22e14a9ad53f2abb3c7e85017b7d12-CU_4APNf.woff2 +0 -0
  89. package/dist/client/_assets/chunks/2a7cedfcd6e4c7cec36f4fd7b0f329c2-BUp7BYdq.woff2 +0 -0
  90. package/dist/client/_assets/chunks/2acea04a920f6af31e7db97052f563c6-KdL2n7-Y.woff2 +0 -0
  91. package/dist/client/_assets/chunks/2ae2ca951489c9d50cde5b36a2a5515b-CWV12jwD.woff2 +0 -0
  92. package/dist/client/_assets/chunks/2b3e8c5703b91f39f6027f43f0da6f4b-FHYDvFqX.woff2 +0 -0
  93. package/dist/client/_assets/chunks/2ba802b14f21a58fc61606c88fa93373-BmrW6szo.woff2 +0 -0
  94. package/dist/client/_assets/chunks/2d81eb6ab0ebbc0cabfb3a3341ba8800-Ds2YcMj0.woff2 +0 -0
  95. package/dist/client/_assets/chunks/2deb444546774c3a3ab38c75eb69cdfb-Dm9USQXk.woff2 +0 -0
  96. package/dist/client/_assets/chunks/2e98b666924b8e0a09d1aeeefd24bdd2-Cmh3DrKG.woff2 +0 -0
  97. package/dist/client/_assets/chunks/2f27ee4fb2cf6a280e110e09c18ef73e-D_yYWYMZ.woff2 +0 -0
  98. package/dist/client/_assets/chunks/2fbccf9a3853eb59db1a825e044515fd-CiShE3Wo.woff2 +0 -0
  99. package/dist/client/_assets/chunks/2fd3fceb6faed5e3db768e88d7614dca-D74stxc-.woff2 +0 -0
  100. package/dist/client/_assets/chunks/2ff009fa8701505d7f3dc6c83763f019-nkOuUfA-.woff2 +0 -0
  101. package/dist/client/_assets/chunks/31342cebfa5ea7fac06b4ea372d96bc5-DdIH_TkU.woff2 +0 -0
  102. package/dist/client/_assets/chunks/31424fe5d54692e7c8b38021ccb8597c-CfNu45zJ.woff2 +0 -0
  103. package/dist/client/_assets/chunks/3179006d1c7ebfa50d27482a2859d9a0-e7PNUH9y.woff2 +0 -0
  104. package/dist/client/_assets/chunks/34c2edb3c37f71258f5c4a31091f0c6c-Cyr8VjPf.woff2 +0 -0
  105. package/dist/client/_assets/chunks/35cf5dd04315e0b906e1a413d7905a2f-A-QPUrVX.woff2 +0 -0
  106. package/dist/client/_assets/chunks/360c190344c26278bbc50e2f4d6a2b3f-B7OhzvgR.woff2 +0 -0
  107. package/dist/client/_assets/chunks/375329ba0b50b94b35006498e555867c-CDc5XB7_.woff2 +0 -0
  108. package/dist/client/_assets/chunks/387c811226f303af62f1e21aae6f5c83-BmPYUAdb.woff2 +0 -0
  109. package/dist/client/_assets/chunks/389a950f2a1211946d294716e679e381-Diuxk8JN.woff2 +0 -0
  110. package/dist/client/_assets/chunks/39b0bbc910af9d2d6dcd8bd4abd6387d-NhvZf71d.woff2 +0 -0
  111. package/dist/client/_assets/chunks/3adc8f6350cf5067bcb6dc5e44c45d41-DIO3oy0b.woff2 +0 -0
  112. package/dist/client/_assets/chunks/3b41385fc27419c19822060daa0b5cb3-Dh5JVnsu.woff2 +0 -0
  113. package/dist/client/_assets/chunks/3bed5bd57de8f738e53cddaea88983d9-BAGVbLtM.woff2 +0 -0
  114. package/dist/client/_assets/chunks/3c201fd8d1bb20abe7d06b940e83a4d9-Bz0dCLvM.woff2 +0 -0
  115. package/dist/client/_assets/chunks/3cbe4a697fd595ef42c899de7d3e5445-zWwFRRI_.woff2 +0 -0
  116. package/dist/client/_assets/chunks/3d385ea0880df7204258e290648ec012-BQqoFH8R.woff2 +0 -0
  117. package/dist/client/_assets/chunks/3d83dacbbec3d8532ae9afede21f3aab-BH06SEJj.woff2 +0 -0
  118. package/dist/client/_assets/chunks/3dc1a4f0d7af59e16b5162a2b077a442-CkXZW3CY.woff2 +0 -0
  119. package/dist/client/_assets/chunks/3dc68e473fe23bd076dd46785cd23583-Cv6HZ0Dr.woff2 +0 -0
  120. package/dist/client/_assets/chunks/427577dcb707d1d35eebd155b4222aa7-D7-mHA6o.woff2 +0 -0
  121. package/dist/client/_assets/chunks/42a74b6a625bbf0a9616ed4db3152c88-CQ58KTMS.woff2 +0 -0
  122. package/dist/client/_assets/chunks/435b7dca567809813fcb395a27ed83a0-C6E3YXBr.woff2 +0 -0
  123. package/dist/client/_assets/chunks/43693195e775d515689fa035394067fd-DLMrklI6.woff2 +0 -0
  124. package/dist/client/_assets/chunks/43fb49e5b79ee7e553869d84e6e08b1e-BgOVrd59.woff2 +0 -0
  125. package/dist/client/_assets/chunks/44dcbbc3cc8f22e613b342d691511ab6-dRyYwGGi.woff2 +0 -0
  126. package/dist/client/_assets/chunks/450a5b53be0a8a778bb0b623e86b652f-qwII2gXW.woff2 +0 -0
  127. package/dist/client/_assets/chunks/457485e72835364662dfead6281638c1-Mv279UyL.woff2 +0 -0
  128. package/dist/client/_assets/chunks/47479c470fae70f10b7c964a7ecbf274-D9VNBclD.woff2 +0 -0
  129. package/dist/client/_assets/chunks/474fac21b12b7efd71f7c321578878b0-BJRz_Yd3.woff2 +0 -0
  130. package/dist/client/_assets/chunks/477866c8396474a17317dcac3e7a014f-e90LWIFy.woff2 +0 -0
  131. package/dist/client/_assets/chunks/478ebdaadda7775c391c5dcab4e697df-RfXJJ1gl.woff2 +0 -0
  132. package/dist/client/_assets/chunks/488846410760fe128dae939836ca5423-D0YbXQOX.woff2 +0 -0
  133. package/dist/client/_assets/chunks/48d6a97a185c799be4fe67aaf7edf213-CqLkiJik.woff2 +0 -0
  134. package/dist/client/_assets/chunks/48eb0a91e50c7f026e248c64145e72af-D8LB2Dye.woff2 +0 -0
  135. package/dist/client/_assets/chunks/490edb9fc8a4356aea556eed32287464-Bxk-XtyT.woff2 +0 -0
  136. package/dist/client/_assets/chunks/4a23fe6e82fd496b5eb20401b6164efe-CfhsfLd6.woff2 +0 -0
  137. package/dist/client/_assets/chunks/4b0e79ba18b2ce424fa93e84996d7cba-B0dS4UvF.woff2 +0 -0
  138. package/dist/client/_assets/chunks/4bc743968cf1c3ce5711de67ef1ccc4d-Dmn20LlT.woff2 +0 -0
  139. package/dist/client/_assets/chunks/4c4bdd0b3f3a52e28f3b643c1c5d43be-BLqyuzyK.woff2 +0 -0
  140. package/dist/client/_assets/chunks/4c96411f3693a9a8657a9c1190f82bce-BhP7AS2j.woff2 +0 -0
  141. package/dist/client/_assets/chunks/4c9aa12aba2a6a57410eacaff7427916-CLDZgzM7.woff2 +0 -0
  142. package/dist/client/_assets/chunks/4cca7233bf8ce5dec2e5d146b993d626-Bf7OgJe6.woff2 +0 -0
  143. package/dist/client/_assets/chunks/4cf0f292f3358bd2f73b1cf4ec1476f3-CIfjw85D.woff2 +0 -0
  144. package/dist/client/_assets/chunks/4d0a9128d06ea857f203bf5d007b1ab9-BZ-BuqS9.woff2 +0 -0
  145. package/dist/client/_assets/chunks/4dc0728df0f2ba70796f45f05654c7ba-DGd3NDaT.woff2 +0 -0
  146. package/dist/client/_assets/chunks/4dc2bc2c55b47f57d13b63aa6b1c8bd4-g3WbclK2.woff2 +0 -0
  147. package/dist/client/_assets/chunks/4e1cc6aafb411b572c8d3511e925ecf1-BUf15jYj.woff2 +0 -0
  148. package/dist/client/_assets/chunks/4e5384920bbb155d9d8d74887b09ea5b-2KLteQXT.woff2 +0 -0
  149. package/dist/client/_assets/chunks/501f66f24bce8234441954de1b568403-CIe4N6pO.woff2 +0 -0
  150. package/dist/client/_assets/chunks/50cfd672bfa62512ba090420acf35c87-CibXrwCT.woff2 +0 -0
  151. package/dist/client/_assets/chunks/5227dbe9933760a48baff21ebd13fc98-v8CBITMX.woff2 +0 -0
  152. package/dist/client/_assets/chunks/526b263e72c189f4b065738aaa6d423a-Dj5Ns6Ev.woff2 +0 -0
  153. package/dist/client/_assets/chunks/53a88404451448cd2e620a0ca0e45a20-CI0P5NCv.woff2 +0 -0
  154. package/dist/client/_assets/chunks/54da934819a917f561b439bfd10f88b6-CpoNRhz7.woff2 +0 -0
  155. package/dist/client/_assets/chunks/54e301f412730f391225db59dae1c8d5-CxTAz9F1.woff2 +0 -0
  156. package/dist/client/_assets/chunks/551b1d7a0b80c8d42af09863cdca7f01-BIGKH8GS.woff2 +0 -0
  157. package/dist/client/_assets/chunks/555d990ab3fd7d3d66c6d1fa9a82fec5-BndAe6f2.woff2 +0 -0
  158. package/dist/client/_assets/chunks/557cd00c5d6827e13d72a0c71b23587b-C6gpr-g-.woff2 +0 -0
  159. package/dist/client/_assets/chunks/563fa31542d553f25abab65cf7f81e1d-Cl_1me5X.woff2 +0 -0
  160. package/dist/client/_assets/chunks/56e1c4734bbbb38af2fbc262bf6e98f2-DZ32amUx.woff2 +0 -0
  161. package/dist/client/_assets/chunks/5947f5da5da9a352a2b534ee64bfc29a-DT0Fj-SL.woff2 +0 -0
  162. package/dist/client/_assets/chunks/5979c33a7eb5963bf8e83e46931b5fb5--4f9yv1z.woff2 +0 -0
  163. package/dist/client/_assets/chunks/597d69d0710e0178b162afb0a0c20401-CpThXFdo.woff2 +0 -0
  164. package/dist/client/_assets/chunks/59966ee0b069b577510fe68c350da0ee-Bs_HDvyP.woff2 +0 -0
  165. package/dist/client/_assets/chunks/5a10741e41259e235841440394c0763d-uCZGOg0A.woff2 +0 -0
  166. package/dist/client/_assets/chunks/5bfc7a121c35ae42623ef804fb525e0e-mS7vyFFz.woff2 +0 -0
  167. package/dist/client/_assets/chunks/5cc23a76e122d0ad2f7cede41bc35b27-4T1ZVQJu.woff2 +0 -0
  168. package/dist/client/_assets/chunks/5d48855bed5f3554eff91b573d7376ac-CPzsdNDF.woff2 +0 -0
  169. package/dist/client/_assets/chunks/5ddcbe564b29ef08632e1aeb33455435-CQzDKa-z.woff2 +0 -0
  170. package/dist/client/_assets/chunks/5f90024544c2907c6c0203c6210c50be-C_1uxIky.woff2 +0 -0
  171. package/dist/client/_assets/chunks/605667a998e91e2b6a4a3cd7c31fe5a9-Co2lOjER.woff2 +0 -0
  172. package/dist/client/_assets/chunks/60a14064ed334f0155795d795e926abe-C2HuVyw5.woff2 +0 -0
  173. package/dist/client/_assets/chunks/60d8b0805a0a8c54a6cca216004beff5-CV1GX5br.woff2 +0 -0
  174. package/dist/client/_assets/chunks/611b62d5fd9698d9b5ce495ba6f14c93-CPi2xRKF.woff2 +0 -0
  175. package/dist/client/_assets/chunks/61bf4287453da4025d03fa6b2dba66ca-CMh4XzzB.woff2 +0 -0
  176. package/dist/client/_assets/chunks/638369541268ed5a10af97ad77498c73-DrpvGu-L.woff2 +0 -0
  177. package/dist/client/_assets/chunks/649b12d7cee7bb981842946e4547e6ca-EACt8KkC.woff2 +0 -0
  178. package/dist/client/_assets/chunks/653bef2ed891ae48d8ed712283080649-C3d1ZTAc.woff2 +0 -0
  179. package/dist/client/_assets/chunks/67d2a81f06ba352f17fbdc3a5e6ea59e-DC8Iostn.woff2 +0 -0
  180. package/dist/client/_assets/chunks/67f32ceea9e78e5109f87724ad886010-C_3-9sSn.woff2 +0 -0
  181. package/dist/client/_assets/chunks/68304f3229cf763465f044fccb5892c0-CTvPlN8c.woff2 +0 -0
  182. package/dist/client/_assets/chunks/687d0f0f90a9b23e40102e16ad8e9836-Bzlx1W-7.woff2 +0 -0
  183. package/dist/client/_assets/chunks/688a88911e4da17b609196a959b8b930-BgwP4zIQ.woff2 +0 -0
  184. package/dist/client/_assets/chunks/68f2fab82ec8e9291f08c3145111549c-CXqagiiH.woff2 +0 -0
  185. package/dist/client/_assets/chunks/69519ada3f3f74ca20aacb8af48ab6b4-DncDOElk.woff2 +0 -0
  186. package/dist/client/_assets/chunks/6a6e884fb2b65ec5b4a3d5ecd0d01a6a-DBNJo4jq.woff2 +0 -0
  187. package/dist/client/_assets/chunks/6db6ddf72c38a78ce44c1327701152e1-CFUWMaQQ.woff2 +0 -0
  188. package/dist/client/_assets/chunks/6e1a8b45b01939088c3a8cfcf8c10681-BemqZSaI.woff2 +0 -0
  189. package/dist/client/_assets/chunks/6e2164fad867d166de2e5b274f04a563-_YD_QMym.woff2 +0 -0
  190. package/dist/client/_assets/chunks/6e83fe0b6e708eaf1c3003d6dee11488-CRqY8z2g.woff2 +0 -0
  191. package/dist/client/_assets/chunks/6eefc9d430171c1e1e4034ecadee31c8-d3VCnQ01.woff2 +0 -0
  192. package/dist/client/_assets/chunks/70861376e5d4f92f8aa7aa1b2749b617-BqwxmSo2.woff2 +0 -0
  193. package/dist/client/_assets/chunks/70adaf50c56d5ff859c64d35e0f1e34e-BCmTRExx.woff2 +0 -0
  194. package/dist/client/_assets/chunks/7124d150570d39ced8d45507dc11ca1e-Co_mUkqP.woff2 +0 -0
  195. package/dist/client/_assets/chunks/71eafb8fbe3a734283517e230ad8b6db-CFmZ-qAS.woff2 +0 -0
  196. package/dist/client/_assets/chunks/72ee453ac0e19bd2c631c8921c44e3de-CEidyyfI.woff2 +0 -0
  197. package/dist/client/_assets/chunks/751f54dbb115140d5b645a6ba4aff5d3-DY-S96zI.woff2 +0 -0
  198. package/dist/client/_assets/chunks/753b5f6fb254bacb6618ace25af3df60-uBG6c32o.woff2 +0 -0
  199. package/dist/client/_assets/chunks/7609e7e74dd4d916a7abc7ecc7d95f7e-CzrNhght.woff2 +0 -0
  200. package/dist/client/_assets/chunks/76b9d6fe838ae4151d95ce7200aa2bf6-BfQWDykU.woff2 +0 -0
  201. package/dist/client/_assets/chunks/76d4244186d118eea245d1385a4de2ec-CEoql1pw.woff2 +0 -0
  202. package/dist/client/_assets/chunks/77a7533bd21ccd33192d142a93555aa8-BzSb8ker.woff2 +0 -0
  203. package/dist/client/_assets/chunks/78ce29fed872e44fc9014d94875d2aac-D1BDuJXp.woff2 +0 -0
  204. package/dist/client/_assets/chunks/79a7fdf7d9c722b5723ae25e6ff8e203-5rPAnIr7.woff2 +0 -0
  205. package/dist/client/_assets/chunks/79a85a253e9b3f12d2e2cb15e16b3003-DTjWGv2X.woff2 +0 -0
  206. package/dist/client/_assets/chunks/7a86b155111ba20f3e87306ff6beac77-DchSNxJ1.woff2 +0 -0
  207. package/dist/client/_assets/chunks/7b1e76975b0984e6f83e3f9f8069e784-OB_rGzsR.woff2 +0 -0
  208. package/dist/client/_assets/chunks/7b6c60131822a0e4d36d980d52509d4e-8dQVuUiW.woff2 +0 -0
  209. package/dist/client/_assets/chunks/7caa14a095a6bc313aab780fe4ff7999-BJ-80Ois.woff2 +0 -0
  210. package/dist/client/_assets/chunks/7cbda564cb2dd4799ab9e89d51286aa7-MlT7YRSz.woff2 +0 -0
  211. package/dist/client/_assets/chunks/7d138084cf03c14116b11297fce0e3e3-CdWCcyam.woff2 +0 -0
  212. package/dist/client/_assets/chunks/7d65a3d6a65050eb5e6eca43398aeba4-CYB359u-.woff2 +0 -0
  213. package/dist/client/_assets/chunks/7dfc711962c8771f97e7c8898a6bcb65-Yv69yrg4.woff2 +0 -0
  214. package/dist/client/_assets/chunks/7ef123b62d530fcba73974fa265e0aae-CD7IMlBc.woff2 +0 -0
  215. package/dist/client/_assets/chunks/7f60eefa15956d6f06dd92404887d58c-LqioDjlc.woff2 +0 -0
  216. package/dist/client/_assets/chunks/7f8c15e0ecb102738981d9fa4cb6b921-8qiw7Fmn.woff2 +0 -0
  217. package/dist/client/_assets/chunks/80466082a896fd328f30a78593c7c568-BMAVDyAy.woff2 +0 -0
  218. package/dist/client/_assets/chunks/812b5a4b87f3a7b4afc1cfebc864f413-B4_mWnLK.woff2 +0 -0
  219. package/dist/client/_assets/chunks/812dfb7f8144d01b3cc9d5ce0b472f40-DxhfKDhh.woff2 +0 -0
  220. package/dist/client/_assets/chunks/84742b1ede4f0bb6d27131298eba21b4-4_QYQ-wj.woff2 +0 -0
  221. package/dist/client/_assets/chunks/8555f0285e3d28e95e2fc0ccccd9caff-CEnfoaRy.woff2 +0 -0
  222. package/dist/client/_assets/chunks/880162ae92cd9e120eb4e4e11fae459d-Cj61LKOn.woff2 +0 -0
  223. package/dist/client/_assets/chunks/8a3c84b0df36f851f5fea75ee8757951-CfHrA-x8.woff2 +0 -0
  224. package/dist/client/_assets/chunks/8b0c8c9f8cfa9fa090d97c5a5efb1f4c-DZc3EGF4.woff2 +0 -0
  225. package/dist/client/_assets/chunks/8c8393bc875f1ee36697a2113f4421ea-CnBugeCf.woff2 +0 -0
  226. package/dist/client/_assets/chunks/8dc035a34c76e6515ca203e2df182588-B1reQPCB.woff2 +0 -0
  227. package/dist/client/_assets/chunks/8e04e64c8f68d292a18d4160fbde8671-DkT7v-sd.woff2 +0 -0
  228. package/dist/client/_assets/chunks/8e6c9bb43afb8cbbff7cf1055e67c9bd-c7wzPI7v.woff2 +0 -0
  229. package/dist/client/_assets/chunks/8eb06109812cb80be44f47b8179c2709-DOaU0xD8.woff2 +0 -0
  230. package/dist/client/_assets/chunks/8f2b960c2823670e94f5b08aa65657e6-CHT-Gunr.woff2 +0 -0
  231. package/dist/client/_assets/chunks/8f89f57230d184f92a36e241874229d7-D6P0FMCn.woff2 +0 -0
  232. package/dist/client/_assets/chunks/904324af375d5fd370af1054355a050e-CHiXmgO7.woff2 +0 -0
  233. package/dist/client/_assets/chunks/90ac4f9d2aa02afdace2843b49fc18bb-CWArmWzF.woff2 +0 -0
  234. package/dist/client/_assets/chunks/90b6f57d77847f512fd11db74fa912f1-DzYbq8hW.woff2 +0 -0
  235. package/dist/client/_assets/chunks/911a2092d64d6d6494b254d819af2b91-C0xmZ-Cu.woff2 +0 -0
  236. package/dist/client/_assets/chunks/913759e6690f9fc0746a20b96f4bdcb4-B0k9hqx0.woff2 +0 -0
  237. package/dist/client/_assets/chunks/9154e26efe532a85a27d80902f5a2d6c-DJQmzPmB.woff2 +0 -0
  238. package/dist/client/_assets/chunks/9180de34b48b325200a97e267befff32-ClJx20hD.woff2 +0 -0
  239. package/dist/client/_assets/chunks/94e7ed67f1557b76fead6b6e456a0415-CjAhhvRn.woff2 +0 -0
  240. package/dist/client/_assets/chunks/95127a92346c04fec1fa81d6295b0a28-DNbeXPGm.woff2 +0 -0
  241. package/dist/client/_assets/chunks/958efb9b2fa2ea0008ffef009885f9f8-CNOwBDS1.woff2 +0 -0
  242. package/dist/client/_assets/chunks/95df3b9f681d9df411c30aea5b24f2e0-Dv7GHFVj.woff2 +0 -0
  243. package/dist/client/_assets/chunks/975af5a496e8d87d821910aa9fe4d598-CG5KDMOI.woff2 +0 -0
  244. package/dist/client/_assets/chunks/97a874bbf55ce89a4ab7cd27c7e938b1-fhost-bL.woff2 +0 -0
  245. package/dist/client/_assets/chunks/9ca9b71010a5faeee7047ef97aeee13b-K6NP7P3o.woff2 +0 -0
  246. package/dist/client/_assets/chunks/9cd0b77920b9d6c64eb686493123fc76-Db6wX5BE.woff2 +0 -0
  247. package/dist/client/_assets/chunks/9de02d745b8e25c6411fb152fb067748-CGxZtq8G.woff2 +0 -0
  248. package/dist/client/_assets/chunks/9eb33a430058d839ebbe2af4b2e0daa9-Cjd-WSds.woff2 +0 -0
  249. package/dist/client/_assets/chunks/9ebd27835ffcbd794e67151ab046ce68-DmxtZVr5.woff2 +0 -0
  250. package/dist/client/_assets/chunks/9f5a73aa8ba417688019d628f334db07-P03uxox_.woff2 +0 -0
  251. package/dist/client/_assets/chunks/9fbc06b2e3ff16b9d705c76db563ef17-XDHSv5Te.woff2 +0 -0
  252. package/dist/client/_assets/chunks/9fd53607094e329fa8e5c785b3ff0f1a-B-9qgOdM.woff2 +0 -0
  253. package/dist/client/_assets/chunks/a077f51cfb5cffb4ff4d8e229c0e9e79-BaPgyZ5H.woff2 +0 -0
  254. package/dist/client/_assets/chunks/a0f0c06d5c7a3ffa97706178cce212a8-DN_NE4Ic.woff2 +0 -0
  255. package/dist/client/_assets/chunks/a38c1830367f784181b6f544b0b11bbd-BmPGDXn1.woff2 +0 -0
  256. package/dist/client/_assets/chunks/a397997b579d3945c9c70a979c17a8ad-DXa54wGz.woff2 +0 -0
  257. package/dist/client/_assets/chunks/a3b929542e6c5a0644b73a7c8a8b6c03-B5i2p-Hj.woff2 +0 -0
  258. package/dist/client/_assets/chunks/a578742770fcd2226e3c45b5b6efdcb0-C1QhQdHg.woff2 +0 -0
  259. package/dist/client/_assets/chunks/a68d9d5027803832bb28e78cdcd04949-D_bwWhwg.woff2 +0 -0
  260. package/dist/client/_assets/chunks/a8857f5d478f101c053ba02d2f223e90-CHOaRPpq.woff2 +0 -0
  261. package/dist/client/_assets/chunks/a904b05966368bcf90b632c7c2e5f76b-BbTXYQVh.woff2 +0 -0
  262. package/dist/client/_assets/chunks/a9cf85e27428c14351d30eac8cbc8d91-DMaVc3-8.woff2 +0 -0
  263. package/dist/client/_assets/chunks/aa0ce6740f301351761a0615cc8b2e99-4RL3pitV.woff2 +0 -0
  264. package/dist/client/_assets/chunks/aa218a2c45f3749537ce876201e5152b-DndHqA-p.woff2 +0 -0
  265. package/dist/client/_assets/chunks/aa28db16818f9eaa8c817f289e1c3270-Drm1Jwhe.woff2 +0 -0
  266. package/dist/client/_assets/chunks/aa64c9953af43ca65832f413895bb433-CR32RteD.woff2 +0 -0
  267. package/dist/client/_assets/chunks/aa96d698491c2540e2dcf7009c65c456-BXlPVR0v.woff2 +0 -0
  268. package/dist/client/_assets/chunks/ada8f0241244c60ec8d3d59ad37f20a5-BFQsznEm.woff2 +0 -0
  269. package/dist/client/_assets/chunks/ae25c41034ddc1a9e0b41f5034c9aa4b-COQJkHOc.woff2 +0 -0
  270. package/dist/client/_assets/chunks/ae289ae3f8cdb54a3a6c07174517afec-DFGIoTY6.woff2 +0 -0
  271. package/dist/client/_assets/chunks/ae401fb4db80d5ff5cd3f8d9bc811070-Byt9AwoT.woff2 +0 -0
  272. package/dist/client/_assets/chunks/b02dfa2aa52cbdb1b2f11a9f44335469-DVWsuPSL.woff2 +0 -0
  273. package/dist/client/_assets/chunks/b0ab3a7f319ce6dd3c9a4de2674e7c72-CksmA6Hr.woff2 +0 -0
  274. package/dist/client/_assets/chunks/b159deb135e9946eea0572d52778170b-BZrtOTn0.woff2 +0 -0
  275. package/dist/client/_assets/chunks/b2e326f7f9b807451bf9c745df747efe-BvlONCPB.woff2 +0 -0
  276. package/dist/client/_assets/chunks/b341de0bc0bfe194a6c28dcfb566029e-DJAj3r6U.woff2 +0 -0
  277. package/dist/client/_assets/chunks/b846c293981ca5429eabaa967f222f26-GS-TAaO6.woff2 +0 -0
  278. package/dist/client/_assets/chunks/b91450304d9ac44f5c6e0da0792e055d-vS0S7kl0.woff2 +0 -0
  279. package/dist/client/_assets/chunks/baa325551b381c5e035ef143e56d4abe-DJg3GhKJ.woff2 +0 -0
  280. package/dist/client/_assets/chunks/bc3f0cb8b55ee11d32b94ca488976f8d-Dp5KZMSD.woff2 +0 -0
  281. package/dist/client/_assets/chunks/bcb3307527d6d0033bf0f17660b91e71-BMgRW_eW.woff2 +0 -0
  282. package/dist/client/_assets/chunks/be64f9379412876e00fd3a0bfa6b6fe9-BJ3FMWFM.woff2 +0 -0
  283. package/dist/client/_assets/chunks/befed8a4fa817773fa7109db6fe07f56-3sAmDsOO.woff2 +0 -0
  284. package/dist/client/_assets/chunks/bf1acc86e17b4229c548828a9d6f455d-JNuPCGDM.woff2 +0 -0
  285. package/dist/client/_assets/chunks/c09ee2b219982f8d46ad9968b7e6e0ba-qVb8yJHb.woff2 +0 -0
  286. package/dist/client/_assets/chunks/c0c7836749e585cee24ab2f8457c5b01-Ds0003oT.woff2 +0 -0
  287. package/dist/client/_assets/chunks/c2ac4ef1860812036ca2b8c4e4089bdc-DsziO8Du.woff2 +0 -0
  288. package/dist/client/_assets/chunks/c31019c08bd22464f7a88f090281404c-CUC0jMW1.woff2 +0 -0
  289. package/dist/client/_assets/chunks/c33c59feccf391f0c5f1f5d24e36d1fe-BXTVggad.woff2 +0 -0
  290. package/dist/client/_assets/chunks/c39ec937c6a8d124e8b68cf829ea5ad4-CarrkdmQ.woff2 +0 -0
  291. package/dist/client/_assets/chunks/c3fbc1f2557c343863a10698f8c966a2-BiOC1yo2.woff2 +0 -0
  292. package/dist/client/_assets/chunks/c3fd21315345ae541f6e98067059fa19-rHtO7vK5.woff2 +0 -0
  293. package/dist/client/_assets/chunks/c568a16e3168ceb1f191b70022c492ea-BpAiyU80.woff2 +0 -0
  294. package/dist/client/_assets/chunks/c57ee3b49b7e45b995539a6b2c51f138-IHDXeVRU.woff2 +0 -0
  295. package/dist/client/_assets/chunks/c5c1c0be944ea39a3f50a02d32f5b759-DAwbrvTL.woff2 +0 -0
  296. package/dist/client/_assets/chunks/c5e66d60be3375835bbd8d6b797f6eac-DWp4tpvN.woff2 +0 -0
  297. package/dist/client/_assets/chunks/c5f1075caf6d1344ee720de85114a521-DTTbeLhd.woff2 +0 -0
  298. package/dist/client/_assets/chunks/c82fd9456d7465b5e5bd3659e9b14c55-Cs6h6hE6.woff2 +0 -0
  299. package/dist/client/_assets/chunks/c90b7b65d2b9696fbf3a506738f94d68-DsvgiuQQ.woff2 +0 -0
  300. package/dist/client/_assets/chunks/cae29b3f8951eaf20d2f61c2206e28d9-CoHXmhmG.woff2 +0 -0
  301. package/dist/client/_assets/chunks/cba6ad3981cb7861428d4be169ee8124-CBdFsPAF.woff2 +0 -0
  302. package/dist/client/_assets/chunks/cc26525aa2af1f0b929af32ce50a7fba-D55LVtW9.woff2 +0 -0
  303. package/dist/client/_assets/chunks/cd0e7b51eddb22a77a09b025c0281434-ByI_TSTq.woff2 +0 -0
  304. package/dist/client/_assets/chunks/cd10a3af2133805d8c92104d1ee6ff18-Dtr5mBXe.woff2 +0 -0
  305. package/dist/client/_assets/chunks/cd6d074f3957d58bac58437fc97e5e33-CrVZuSbw.woff2 +0 -0
  306. package/dist/client/_assets/chunks/cd75ca47da9ae4c0899e37d4c543319b-DXU1s4Ja.woff2 +0 -0
  307. package/dist/client/_assets/chunks/cef249b6d013fb0cc0d574176bc23811-BL7WfNHA.woff2 +0 -0
  308. package/dist/client/_assets/chunks/d043b8d7a48bb0ac59ee1f1477d88eee-d5CwY2I8.woff2 +0 -0
  309. package/dist/client/_assets/chunks/d0bd387fda28e58d3c9b3efa2468dd8a-CjDFowFS.woff2 +0 -0
  310. package/dist/client/_assets/chunks/d12ce1d8445213317f9163283e58a05d-4RtGQnak.woff2 +0 -0
  311. package/dist/client/_assets/chunks/d15a3317942b7d31978a759fbf2222c8-DQ9QFQdS.woff2 +0 -0
  312. package/dist/client/_assets/chunks/d28fb13acf9ced9f0657fd4012c81cd2-D8Bgk6sd.woff2 +0 -0
  313. package/dist/client/_assets/chunks/d320b000b5978c7251148a6a154741b8-CcGZjeFx.woff2 +0 -0
  314. package/dist/client/_assets/chunks/d3714e6b90de8e2085dfb2514464dd6a-8LsVAcmb.woff2 +0 -0
  315. package/dist/client/_assets/chunks/d3beff96216c8af1aa79246476b6a323-hQysoMK3.woff2 +0 -0
  316. package/dist/client/_assets/chunks/d3e311f30c811dc339c262a79a51877e-CkUTbS74.woff2 +0 -0
  317. package/dist/client/_assets/chunks/d51f4cdc83711e510f5d25f03235597e-BY3VAGvr.woff2 +0 -0
  318. package/dist/client/_assets/chunks/d5df4a8dfd4328c67d933b3912c6ad0f-A2fccswC.woff2 +0 -0
  319. package/dist/client/_assets/chunks/d740dc2e854aaa7b3dcdd3ed25455eeb-Cw8LrB06.woff2 +0 -0
  320. package/dist/client/_assets/chunks/d8325ba7ae651bc30440905bd67b95f1-Dg8M_ijr.woff2 +0 -0
  321. package/dist/client/_assets/chunks/da13b136efb1d1e4c76575af8f79a698-BbfzLGVB.woff2 +0 -0
  322. package/dist/client/_assets/chunks/da2cf0ec56bf69374ee37764c7e3ea3d-fyVBKE2g.woff2 +0 -0
  323. package/dist/client/_assets/chunks/da93ae099ff3b7aae27b3f674d3fc721-BDG5ywtd.woff2 +0 -0
  324. package/dist/client/_assets/chunks/daf62255dd60679946f28c442ca62533-BnIjYSn3.woff2 +0 -0
  325. package/dist/client/_assets/chunks/dccda6a2e2db3b530788bdfa2acd1979-ByL7eZcn.woff2 +0 -0
  326. package/dist/client/_assets/chunks/dd01a1035345f6921a48525b8ce08f06-vkP6t4fC.woff2 +0 -0
  327. package/dist/client/_assets/chunks/e2204cf85edcb96c5de5c3dcf240da9d-Ch3zKjD-.woff2 +0 -0
  328. package/dist/client/_assets/chunks/e264213b9e102dabc603adb6e4fda5e6-CyxmQBHB.woff2 +0 -0
  329. package/dist/client/_assets/chunks/e3e913e145ddcd9323b2a0972967feb6-3sjEdzck.woff2 +0 -0
  330. package/dist/client/_assets/chunks/e4fb59479cedc87ba79785590bf861ca-sx7RZ8Vu.woff2 +0 -0
  331. package/dist/client/_assets/chunks/e5d00355f73293d40b61299459d17ca5-D8Vt3D-z.woff2 +0 -0
  332. package/dist/client/_assets/chunks/e647b8d2efc501c0cc0e407249cc7135-BrSW9DU4.woff2 +0 -0
  333. package/dist/client/_assets/chunks/e6e60ffb2ebd1828628764b507060aea-Dqyf48QC.woff2 +0 -0
  334. package/dist/client/_assets/chunks/e7c7ef3669ae48c0a736f06ca471e1d7-DNCebEB-.woff2 +0 -0
  335. package/dist/client/_assets/chunks/e81a742cacef744130c40de1b90837d8-DtAIFBk_.woff2 +0 -0
  336. package/dist/client/_assets/chunks/e8b755172122d1d0a5dd453e96b0ff24-BNTSyPYU.woff2 +0 -0
  337. package/dist/client/_assets/chunks/e99280299c305402eaa5271a3e36c49b-BpqXwl7U.woff2 +0 -0
  338. package/dist/client/_assets/chunks/e9c66b085052ece66bfadf45f711d3e1-DVza3Uob.woff2 +0 -0
  339. package/dist/client/_assets/chunks/ed7c6dafaa6d8bcf015ef0ca574837df-C7bcndJl.woff2 +0 -0
  340. package/dist/client/_assets/chunks/f00eb499abb94fa7b799d6d8c9b050e9-D_XvVTI9.woff2 +0 -0
  341. package/dist/client/_assets/chunks/f2900a1d30c3a33129f4e2225669bd0e-in84LilX.woff2 +0 -0
  342. package/dist/client/_assets/chunks/f2fb1f1fbf7e44afb53c672ec286a22e-tFk0sTQc.woff2 +0 -0
  343. package/dist/client/_assets/chunks/f372129c60aaece937cf7b91ee75c9b8-DiP_JYOt.woff2 +0 -0
  344. package/dist/client/_assets/chunks/f5237486197aeff59341a1ff38b8eff8-D_uuqrNZ.woff2 +0 -0
  345. package/dist/client/_assets/chunks/f553d54ef931066712d8f3f0ce018e1b-D8K983U5.woff2 +0 -0
  346. package/dist/client/_assets/chunks/f5d7487963d43c89da63aaf10f2e6fb7-B7GIrfPU.woff2 +0 -0
  347. package/dist/client/_assets/chunks/f649cba8e14c33d6bf2265483b14b895-Nm5wSov8.woff2 +0 -0
  348. package/dist/client/_assets/chunks/f6839df1bf7cb4dc8d27e5ea55bbe633-BIjWKN84.woff2 +0 -0
  349. package/dist/client/_assets/chunks/f6b7304e028980f77a7f7007bb540abd-CIlBt6sf.woff2 +0 -0
  350. package/dist/client/_assets/chunks/f75496953a40ff241178240209f56990-MOSKd67d.woff2 +0 -0
  351. package/dist/client/_assets/chunks/f7d36ffff7a75c9c6216d576a57dd00d-CaXQA5A8.woff2 +0 -0
  352. package/dist/client/_assets/chunks/f7f3f63e7a149cd89eccab3b52171d05-oNOOSdDV.woff2 +0 -0
  353. package/dist/client/_assets/chunks/f8db8bef0a6e1178835d350ae0d384a1-ZAiKM369.woff2 +0 -0
  354. package/dist/client/_assets/chunks/f92d74d1d217d21b39075ff23f79f7fd-BlTe0_IX.woff2 +0 -0
  355. package/dist/client/_assets/chunks/f9d6d981d8b87b3e469027277f585741-DQqIv77a.woff2 +0 -0
  356. package/dist/client/_assets/chunks/fa7d3b99744d7f2dc9e00864a97a62d6-Pfww07DK.woff2 +0 -0
  357. package/dist/client/_assets/chunks/fa8ed469ef290bfeb571418fe0abb628-D5v-Z7kY.woff2 +0 -0
  358. package/dist/client/_assets/chunks/fb0e90665980954719c2eb685b130bc0-CiWRvo58.woff2 +0 -0
  359. package/dist/client/_assets/chunks/fb4649a82c50620773d79820e2e5ff13-dw14czgx.woff2 +0 -0
  360. package/dist/client/_assets/chunks/fb61b690208eff56e6d8432951270901-CUAnVvWa.woff2 +0 -0
  361. package/dist/client/_assets/chunks/fb9402d6c6357a825affc402f14d5a7e-CIp4G53L.woff2 +0 -0
  362. package/dist/client/_assets/chunks/fcc41f6a067ddd658bba5c9dff234a32-BtZTNo2r.woff2 +0 -0
  363. package/dist/client/_assets/chunks/fd6ad889fcf3583bd9b0b6db53aad434-DqiKyYmz.woff2 +0 -0
  364. package/dist/client/_assets/chunks/ff0937ad63cda71ff420945ead55ab4d-CXGPdnOz.woff2 +0 -0
  365. package/dist/client/_assets/chunks/heic-to-XcUDQvtx.js +1 -0
  366. package/dist/client/_assets/chunks/literata-cyrillic-ext-wght-normal-CGKlZYBf.woff2 +0 -0
  367. package/dist/client/_assets/chunks/literata-cyrillic-wght-normal-DLqwHbi6.woff2 +0 -0
  368. package/dist/client/_assets/chunks/literata-greek-ext-wght-normal-e3e57Shi.woff2 +0 -0
  369. package/dist/client/_assets/chunks/literata-greek-wght-normal-CO1l-giJ.woff2 +0 -0
  370. package/dist/client/_assets/chunks/literata-latin-ext-wght-normal-BnEbWgdZ.woff2 +0 -0
  371. package/dist/client/_assets/chunks/literata-latin-wght-normal-DLxlUchJ.woff2 +0 -0
  372. package/dist/client/_assets/chunks/literata-vietnamese-wght-normal-LcSrhZ7T.woff2 +0 -0
  373. package/dist/client/_assets/chunks/module-ChVQstFd.js +716 -0
  374. package/dist/client/_assets/chunks/native-CR5HLOyf.js +1 -0
  375. package/dist/client/_assets/chunks/news-cycle-cyrillic-400-normal-9BSXki1I.woff +0 -0
  376. package/dist/client/_assets/chunks/news-cycle-cyrillic-400-normal-CUYmhJri.woff2 +0 -0
  377. package/dist/client/_assets/chunks/news-cycle-cyrillic-ext-400-normal-CKyb9yaQ.woff2 +0 -0
  378. package/dist/client/_assets/chunks/news-cycle-cyrillic-ext-400-normal-Llxpm7uO.woff +0 -0
  379. package/dist/client/_assets/chunks/news-cycle-greek-400-normal-BiAZ91Zl.woff2 +0 -0
  380. package/dist/client/_assets/chunks/news-cycle-greek-400-normal-D88oNngQ.woff +0 -0
  381. package/dist/client/_assets/chunks/news-cycle-greek-ext-400-normal-Ckclqjrc.woff2 +0 -0
  382. package/dist/client/_assets/chunks/news-cycle-greek-ext-400-normal-oz-bBDWj.woff +0 -0
  383. package/dist/client/_assets/chunks/news-cycle-latin-400-normal-BLgpQ3uo.woff +0 -0
  384. package/dist/client/_assets/chunks/news-cycle-latin-400-normal-BgW97ttO.woff2 +0 -0
  385. package/dist/client/_assets/chunks/news-cycle-latin-ext-400-normal-DmDltzLi.woff2 +0 -0
  386. package/dist/client/_assets/chunks/news-cycle-latin-ext-400-normal-lewDoXxP.woff +0 -0
  387. package/dist/client/_assets/chunks/news-cycle-vietnamese-400-normal-QPSuG-pc.woff +0 -0
  388. package/dist/client/_assets/chunks/news-cycle-vietnamese-400-normal-t2mxI9x9.woff2 +0 -0
  389. package/dist/client/_assets/chunks/newsreader-latin-ext-wght-normal-C-3rgBeH.woff2 +0 -0
  390. package/dist/client/_assets/chunks/newsreader-latin-wght-normal-CCVVNp6i.woff2 +0 -0
  391. package/dist/client/_assets/chunks/newsreader-vietnamese-wght-normal-Czsa-EzN.woff2 +0 -0
  392. package/dist/client/_assets/chunks/source-sans-3-cyrillic-ext-wght-normal-DzyfIafT.woff2 +0 -0
  393. package/dist/client/_assets/chunks/source-sans-3-cyrillic-wght-normal-BMDVbyM7.woff2 +0 -0
  394. package/dist/client/_assets/chunks/source-sans-3-greek-ext-wght-normal-BWSLJLk6.woff2 +0 -0
  395. package/dist/client/_assets/chunks/source-sans-3-greek-wght-normal-C9H9m1vD.woff2 +0 -0
  396. package/dist/client/_assets/chunks/source-sans-3-latin-ext-wght-normal-C8iNium2.woff2 +0 -0
  397. package/dist/client/_assets/chunks/source-sans-3-latin-wght-normal-BqRLTx4X.woff2 +0 -0
  398. package/dist/client/_assets/chunks/source-sans-3-vietnamese-wght-normal-C1uRvKPU.woff2 +0 -0
  399. package/dist/client/_assets/chunks/url-CG0eolsk.js +1 -0
  400. package/dist/client/_assets/client-auth.js +3251 -0
  401. package/dist/client/_assets/client-cjk-tc.css +1 -0
  402. package/dist/client/_assets/client-cjk.css +1 -0
  403. package/dist/client/_assets/client.css +2 -0
  404. package/dist/client/_assets/client.js +380 -0
  405. package/dist/index.js +2 -20359
  406. package/dist/node.js +479 -0
  407. package/package.json +67 -40
  408. package/src/__tests__/bin/uploads-cleanup.test.ts +77 -0
  409. package/src/__tests__/export-service.test.ts +550 -0
  410. package/src/__tests__/helpers/app.ts +60 -27
  411. package/src/__tests__/helpers/db.ts +14 -24
  412. package/src/__tests__/helpers/lingui-core-macro-mock.ts +15 -2
  413. package/src/__tests__/import-site-command.test.ts +406 -0
  414. package/src/__tests__/site-localize-media.test.ts +150 -0
  415. package/src/__tests__/site-media-parser.test.ts +216 -0
  416. package/src/app.tsx +272 -175
  417. package/src/assets/branding/generated/README.txt +15 -0
  418. package/src/assets/branding/generated/jant-apple-touch-icon.png +0 -0
  419. package/src/assets/branding/generated/jant-brand-assets.zip +0 -0
  420. package/src/assets/branding/generated/jant-brand-tile-512.png +0 -0
  421. package/src/assets/branding/generated/jant-brand-tile.svg +1 -0
  422. package/src/assets/branding/generated/jant-circle-tile-512.png +0 -0
  423. package/src/assets/branding/generated/jant-circle-tile.svg +1 -0
  424. package/src/assets/branding/generated/jant-favicon.ico +0 -0
  425. package/src/assets/branding/generated/jant-logo-negative.svg +1 -0
  426. package/src/assets/branding/generated/jant-logo-positive-512.png +0 -0
  427. package/src/assets/branding/generated/jant-logo-positive.svg +1 -0
  428. package/src/assets/branding/generated/jant-social-preview.png +0 -0
  429. package/src/assets/branding/generated/jant-square-tile-512.png +0 -0
  430. package/src/assets/branding/generated/jant-square-tile.svg +1 -0
  431. package/src/assets/branding/jant-logo-positive.svg +3 -0
  432. package/src/auth.ts +47 -6
  433. package/src/client/__tests__/avatar-upload.test.ts +186 -0
  434. package/src/client/__tests__/collection-form-bridge.test.ts +127 -0
  435. package/src/client/__tests__/collection-page-actions.test.ts +112 -0
  436. package/src/client/__tests__/collection-sort-menu.test.ts +78 -0
  437. package/src/client/__tests__/compose-bridge.test.ts +260 -0
  438. package/src/client/__tests__/compose-discovery.test.ts +155 -0
  439. package/src/client/__tests__/compose-shortcuts.test.ts +133 -0
  440. package/src/client/__tests__/confirm.test.ts +98 -0
  441. package/src/client/__tests__/custom-url-menu.test.ts +104 -0
  442. package/src/client/__tests__/form-enter-submit.test.ts +110 -0
  443. package/src/client/__tests__/post-form-bridge.test.ts +82 -0
  444. package/src/client/__tests__/sortable-list.test.ts +91 -0
  445. package/src/client/__tests__/toast.test.ts +46 -0
  446. package/src/client/archive-nav.js +1 -3
  447. package/src/client/avatar-upload.ts +66 -25
  448. package/src/client/collection-form-bridge.ts +32 -15
  449. package/src/client/collection-page-actions.ts +160 -0
  450. package/src/client/collection-sort-menu.ts +105 -0
  451. package/src/client/components/__tests__/jant-collection-form.test.ts +199 -51
  452. package/src/client/components/__tests__/jant-collection-sidebar.test.ts +250 -0
  453. package/src/client/components/__tests__/jant-compose-dialog.test.ts +2507 -342
  454. package/src/client/components/__tests__/jant-compose-editor.test.ts +484 -20
  455. package/src/client/components/__tests__/jant-compose-fullscreen.test.ts +298 -0
  456. package/src/client/components/__tests__/jant-post-form.test.ts +9 -8
  457. package/src/client/components/__tests__/jant-post-menu.test.ts +325 -0
  458. package/src/client/components/__tests__/jant-settings-avatar.test.ts +27 -3
  459. package/src/client/components/__tests__/jant-settings-general.test.ts +312 -84
  460. package/src/client/components/collection-manager-types.ts +51 -0
  461. package/src/client/components/collection-types.ts +12 -10
  462. package/src/client/components/compose-types.ts +80 -13
  463. package/src/client/components/jant-collection-form.ts +338 -509
  464. package/src/client/components/jant-collection-sidebar.ts +461 -463
  465. package/src/client/components/jant-compose-dialog.ts +1566 -479
  466. package/src/client/components/jant-compose-editor.ts +531 -276
  467. package/src/client/components/jant-compose-fullscreen.ts +184 -112
  468. package/src/client/components/jant-confirm-dialog.ts +249 -0
  469. package/src/client/components/jant-nav-manager.ts +79 -103
  470. package/src/client/components/jant-post-form.ts +4 -1
  471. package/src/client/components/jant-post-menu.ts +583 -306
  472. package/src/client/components/jant-settings-avatar.ts +15 -9
  473. package/src/client/components/jant-settings-general.ts +444 -137
  474. package/src/client/components/nav-manager-types.ts +6 -3
  475. package/src/client/components/post-form-template.ts +2 -9
  476. package/src/client/components/post-form-types.ts +2 -4
  477. package/src/client/components/settings-types.ts +34 -2
  478. package/src/client/compose-bridge.ts +297 -171
  479. package/src/client/compose-discovery-bridge.ts +9 -0
  480. package/src/client/compose-discovery.ts +254 -0
  481. package/src/client/compose-launch.ts +98 -0
  482. package/src/client/compose-shortcuts.ts +61 -0
  483. package/src/client/confirm.ts +40 -0
  484. package/src/client/custom-url-menu.ts +128 -0
  485. package/src/client/form-enter-submit.ts +87 -0
  486. package/src/client/json.ts +37 -0
  487. package/src/client/multipart-upload.ts +51 -18
  488. package/src/client/post-form-bridge.ts +20 -14
  489. package/src/client/runtime-paths.ts +72 -0
  490. package/src/client/settings-bridge.ts +54 -10
  491. package/src/client/site-header-nav.js +84 -0
  492. package/src/client/sortable-list.ts +152 -0
  493. package/src/client/thread-context.ts +11 -5
  494. package/src/client/tiptap/__tests__/floating-position.test.ts +74 -0
  495. package/src/client/tiptap/__tests__/link-toolbar.test.ts +94 -0
  496. package/src/client/tiptap/__tests__/paste-media.test.ts +39 -0
  497. package/src/client/tiptap/bubble-menu.ts +98 -13
  498. package/src/client/tiptap/create-editor.ts +6 -0
  499. package/src/client/tiptap/extensions.ts +15 -4
  500. package/src/client/tiptap/floating-position.ts +167 -0
  501. package/src/client/tiptap/inline-image-upload.ts +73 -0
  502. package/src/client/tiptap/link-input-rules.ts +56 -0
  503. package/src/client/tiptap/link-toolbar.ts +60 -14
  504. package/src/client/tiptap/paste-media.ts +120 -0
  505. package/src/client/tiptap/slash-commands.ts +205 -52
  506. package/src/client/tiptap/toolbar-mode.ts +31 -0
  507. package/src/client/toast.ts +136 -16
  508. package/src/client/types/sortablejs.d.ts +4 -4
  509. package/src/client/upload-session.ts +270 -0
  510. package/src/client/upload-with-metadata.ts +10 -17
  511. package/src/client-auth.ts +38 -0
  512. package/src/client.ts +10 -29
  513. package/src/db/__tests__/d1-query.test.ts +84 -0
  514. package/src/db/__tests__/demo-canonical-snapshot.test.ts +78 -0
  515. package/src/db/__tests__/demo-env-loader.test.ts +114 -0
  516. package/src/db/__tests__/dialect.test.ts +42 -0
  517. package/src/db/__tests__/migration-artifacts.test.ts +82 -0
  518. package/src/db/__tests__/migration-rehearsal.test.ts +73 -0
  519. package/src/db/__tests__/migration-runner.test.ts +72 -0
  520. package/src/db/__tests__/migrations.test.ts +293 -8
  521. package/src/db/__tests__/r2-query.test.ts +102 -0
  522. package/src/db/__tests__/wrangler-config.test.ts +86 -0
  523. package/src/db/backfills/0000_normalize_legacy_time_zone_values.sql +38 -0
  524. package/src/db/backfills/README.md +11 -0
  525. package/src/db/dialect.ts +71 -0
  526. package/src/db/index.ts +84 -2
  527. package/src/db/migrations/0000_baseline.sql +35 -57
  528. package/src/db/migrations/0002_site_aware_core.sql +354 -0
  529. package/src/db/migrations/0003_fts_site_aware.sql +38 -0
  530. package/src/db/migrations/0004_perpetual_eternity.sql +29 -0
  531. package/src/db/migrations/meta/0000_snapshot.json +134 -138
  532. package/src/db/migrations/meta/0001_snapshot.json +135 -139
  533. package/src/db/migrations/meta/0002_snapshot.json +1717 -0
  534. package/src/db/migrations/meta/0003_snapshot.json +1717 -0
  535. package/src/db/migrations/meta/0004_snapshot.json +1897 -0
  536. package/src/db/migrations/meta/_journal.json +23 -2
  537. package/src/db/migrations/pg/0000_pg_site_aware_baseline.sql +306 -0
  538. package/src/db/migrations/pg/0001_pg_search_support.sql +8 -0
  539. package/src/db/migrations/pg/0002_breezy_lockjaw.sql +29 -0
  540. package/src/db/migrations/pg/README.md +8 -0
  541. package/src/db/migrations/pg/meta/0000_snapshot.json +2195 -0
  542. package/src/db/migrations/pg/meta/0001_snapshot.json +2248 -0
  543. package/src/db/migrations/pg/meta/0002_snapshot.json +2476 -0
  544. package/src/db/migrations/pg/meta/_journal.json +27 -0
  545. package/src/db/pg/__tests__/node.test.ts +58 -0
  546. package/src/db/pg/node.ts +151 -0
  547. package/src/db/pg/schema.ts +739 -0
  548. package/src/db/raw-query.ts +15 -0
  549. package/src/db/rehearsal-fixtures/demo-current.json +25 -0
  550. package/src/db/rehearsal-fixtures/demo-current.sql +142 -0
  551. package/src/db/schema-bundle.ts +12 -0
  552. package/src/db/schema.ts +309 -128
  553. package/src/db/sqlite/schema.ts +1 -0
  554. package/src/i18n/__tests__/context.test.tsx +35 -0
  555. package/src/i18n/context.tsx +10 -2
  556. package/src/i18n/locales/en.po +1778 -231
  557. package/src/i18n/locales/en.ts +1 -1
  558. package/src/i18n/locales/glossary.zh-Hans.yml +116 -0
  559. package/src/i18n/locales/glossary.zh-Hant.yml +116 -0
  560. package/src/i18n/locales/zh-Hans.po +1819 -272
  561. package/src/i18n/locales/zh-Hans.ts +1 -1
  562. package/src/i18n/locales/zh-Hant.po +1823 -276
  563. package/src/i18n/locales/zh-Hant.ts +1 -1
  564. package/src/index.ts +4 -0
  565. package/src/lib/__tests__/asset-path.test.ts +54 -0
  566. package/src/lib/__tests__/blurhash-placeholder.test.ts +25 -1
  567. package/src/lib/__tests__/collection-sort.test.ts +45 -0
  568. package/src/lib/__tests__/constants.test.ts +1 -0
  569. package/src/lib/__tests__/favicon.test.ts +1 -1
  570. package/src/lib/__tests__/feed.test.ts +147 -0
  571. package/src/lib/__tests__/hosted-control-plane.test.ts +106 -0
  572. package/src/lib/__tests__/hosted-domain.test.ts +78 -0
  573. package/src/lib/__tests__/hosted-signin.test.ts +103 -0
  574. package/src/lib/__tests__/icons.test.ts +14 -172
  575. package/src/lib/__tests__/image.test.ts +23 -4
  576. package/src/lib/__tests__/jant-branding.test.ts +160 -0
  577. package/src/lib/__tests__/markdown-to-tiptap.test.ts +27 -0
  578. package/src/lib/__tests__/page-title.test.ts +20 -0
  579. package/src/lib/__tests__/password.test.ts +60 -0
  580. package/src/lib/__tests__/post-display.test.ts +99 -0
  581. package/src/lib/__tests__/post-meta.test.ts +126 -0
  582. package/src/lib/__tests__/public-storage.test.ts +75 -0
  583. package/src/lib/__tests__/resolve-config.test.ts +156 -28
  584. package/src/lib/__tests__/schemas.test.ts +268 -22
  585. package/src/lib/__tests__/search-snippet.test.ts +43 -0
  586. package/src/lib/__tests__/site-resolution.test.ts +39 -0
  587. package/src/lib/__tests__/slug-format.test.ts +46 -0
  588. package/src/lib/__tests__/startup-config.test.ts +87 -0
  589. package/src/lib/__tests__/storage.test.ts +218 -1
  590. package/src/lib/__tests__/theme.test.ts +50 -13
  591. package/src/lib/__tests__/time.test.ts +44 -0
  592. package/src/lib/__tests__/timeline.test.ts +410 -4
  593. package/src/lib/__tests__/timezones.test.ts +51 -18
  594. package/src/lib/__tests__/tiptap-to-markdown.test.ts +23 -0
  595. package/src/lib/__tests__/url.test.ts +79 -1
  596. package/src/lib/__tests__/view.test.ts +74 -13
  597. package/src/lib/asset-path.ts +87 -0
  598. package/src/lib/blurhash-placeholder.ts +56 -1
  599. package/src/lib/collection-sort.ts +61 -0
  600. package/src/lib/confirm.ts +37 -0
  601. package/src/lib/constants.ts +3 -6
  602. package/src/lib/crypto.ts +47 -0
  603. package/src/lib/env.ts +245 -0
  604. package/src/lib/errors.ts +25 -9
  605. package/src/lib/favicon.ts +2 -1
  606. package/src/lib/featured-icons.ts +33 -0
  607. package/src/lib/feed.ts +73 -24
  608. package/src/lib/hosted-control-plane-sync.ts +27 -0
  609. package/src/lib/hosted-control-plane.ts +99 -0
  610. package/src/lib/hosted-domain-check.ts +98 -0
  611. package/src/lib/hosted-domain.ts +61 -0
  612. package/src/lib/hosted-signin.ts +115 -0
  613. package/src/lib/hosted-sso.ts +110 -0
  614. package/src/lib/icons.ts +10 -175
  615. package/src/lib/ids.ts +54 -0
  616. package/src/lib/image.ts +18 -7
  617. package/src/lib/jant-branding-generated.ts +947 -0
  618. package/src/lib/jant-branding.ts +520 -0
  619. package/src/lib/markdown-to-tiptap.ts +57 -0
  620. package/src/lib/media-helpers.ts +6 -2
  621. package/src/lib/navigation.ts +9 -2
  622. package/src/lib/page-title.ts +23 -0
  623. package/src/lib/pagination.ts +34 -0
  624. package/src/lib/password.ts +164 -0
  625. package/src/lib/post-display.ts +162 -0
  626. package/src/lib/post-meta.ts +95 -0
  627. package/src/lib/public-storage.ts +57 -0
  628. package/src/lib/render.tsx +22 -0
  629. package/src/lib/resolve-config.ts +78 -27
  630. package/src/lib/schemas.ts +264 -73
  631. package/src/lib/search-snippet.ts +110 -8
  632. package/src/lib/site-resolution.ts +28 -0
  633. package/src/lib/slug-format.ts +84 -0
  634. package/src/lib/slug.ts +1 -1
  635. package/src/lib/startup-config.ts +244 -0
  636. package/src/lib/storage.ts +722 -28
  637. package/src/lib/theme.ts +13 -6
  638. package/src/lib/time.ts +59 -15
  639. package/src/lib/timeline.ts +386 -62
  640. package/src/lib/timezones.ts +120 -50
  641. package/src/lib/tiptap-render.ts +1 -3
  642. package/src/lib/tiptap-to-markdown.ts +49 -0
  643. package/src/lib/upload.ts +216 -11
  644. package/src/lib/url.ts +210 -0
  645. package/src/lib/view.ts +87 -31
  646. package/src/middleware/__tests__/auth.test.ts +216 -14
  647. package/src/middleware/__tests__/error-handler.test.ts +37 -0
  648. package/src/middleware/__tests__/onboarding.test.ts +9 -0
  649. package/src/middleware/__tests__/secure-headers.test.ts +111 -0
  650. package/src/middleware/auth.ts +156 -28
  651. package/src/middleware/config.ts +29 -9
  652. package/src/middleware/error-handler.ts +16 -1
  653. package/src/middleware/onboarding.ts +15 -6
  654. package/src/middleware/secure-headers.ts +136 -25
  655. package/src/node/__tests__/cli-db-execute-file.test.ts +109 -0
  656. package/src/node/__tests__/cli-deploy.test.ts +124 -0
  657. package/src/node/__tests__/cli-export.test.ts +66 -0
  658. package/src/node/__tests__/cli-reset-password.test.ts +91 -0
  659. package/src/node/__tests__/cli-runtime-target.test.ts +37 -0
  660. package/src/node/__tests__/cli-site-selection.test.ts +133 -0
  661. package/src/node/__tests__/cli-site-snapshot.test.ts +636 -0
  662. package/src/node/__tests__/cli-site-token-env.test.ts +137 -0
  663. package/src/node/__tests__/runtime.test.ts +346 -0
  664. package/src/node/index.ts +18 -0
  665. package/src/node/request-handler.ts +668 -0
  666. package/src/node/runtime.ts +88 -0
  667. package/src/preset.css +73 -16
  668. package/src/routes/__tests__/compose.test.ts +77 -4
  669. package/src/routes/api/__tests__/attachments.test.ts +92 -0
  670. package/src/routes/api/__tests__/collections.test.ts +138 -24
  671. package/src/routes/api/__tests__/nav-items.test.ts +81 -20
  672. package/src/routes/api/__tests__/posts.test.ts +315 -57
  673. package/src/routes/api/__tests__/search.test.ts +25 -1
  674. package/src/routes/api/__tests__/settings.test.ts +380 -2
  675. package/src/routes/api/__tests__/upload-multipart.test.ts +216 -26
  676. package/src/routes/api/__tests__/uploads.test.ts +420 -0
  677. package/src/routes/api/attachments.ts +24 -0
  678. package/src/routes/api/collections.ts +59 -28
  679. package/src/routes/api/custom-urls.ts +6 -5
  680. package/src/routes/api/export.ts +37 -7
  681. package/src/routes/api/internal/__tests__/api-tokens.test.ts +55 -0
  682. package/src/routes/api/internal/__tests__/sites.test.ts +472 -0
  683. package/src/routes/api/internal/__tests__/uploads.test.ts +131 -0
  684. package/src/routes/api/internal/api-tokens.ts +17 -0
  685. package/src/routes/api/internal/sites.ts +241 -0
  686. package/src/routes/api/internal/uploads.ts +37 -0
  687. package/src/routes/api/nav-items.ts +24 -15
  688. package/src/routes/api/posts.ts +222 -74
  689. package/src/routes/api/search.ts +50 -9
  690. package/src/routes/api/settings.ts +141 -7
  691. package/src/routes/api/upload-multipart.ts +105 -16
  692. package/src/routes/api/upload.ts +90 -21
  693. package/src/routes/api/uploads.ts +247 -0
  694. package/src/routes/auth/__tests__/dev.test.ts +135 -0
  695. package/src/routes/auth/__tests__/hosted-sso.test.ts +136 -0
  696. package/src/routes/auth/__tests__/setup.test.ts +73 -49
  697. package/src/routes/auth/dev.ts +72 -0
  698. package/src/routes/auth/hosted-sso.ts +64 -0
  699. package/src/routes/auth/reset.tsx +41 -7
  700. package/src/routes/auth/setup.tsx +37 -38
  701. package/src/routes/auth/signin.tsx +36 -6
  702. package/src/routes/compose.tsx +25 -38
  703. package/src/routes/dash/__tests__/font-theme.test.ts +45 -34
  704. package/src/routes/dash/__tests__/settings-avatar.test.ts +24 -11
  705. package/src/routes/dash/custom-urls.tsx +245 -67
  706. package/src/routes/dash/settings.tsx +530 -139
  707. package/src/routes/feed/__tests__/rss.test.ts +200 -51
  708. package/src/routes/feed/__tests__/sitemap.test.ts +64 -0
  709. package/src/routes/feed/rss.ts +112 -48
  710. package/src/routes/feed/sitemap.ts +16 -6
  711. package/src/routes/hosted/__tests__/domain-check.test.ts +94 -0
  712. package/src/routes/hosted/domain-check.ts +39 -0
  713. package/src/routes/pages/__tests__/collections.test.ts +27 -21
  714. package/src/routes/pages/__tests__/featured.test.ts +9 -2
  715. package/src/routes/pages/archive.tsx +79 -33
  716. package/src/routes/pages/brand.tsx +119 -0
  717. package/src/routes/pages/collection.tsx +143 -59
  718. package/src/routes/pages/collections.tsx +46 -20
  719. package/src/routes/pages/featured.tsx +31 -39
  720. package/src/routes/pages/home.tsx +50 -25
  721. package/src/routes/pages/latest.tsx +20 -4
  722. package/src/routes/pages/new.tsx +10 -6
  723. package/src/routes/pages/page.tsx +27 -53
  724. package/src/routes/pages/partials.tsx +83 -0
  725. package/src/routes/pages/search.tsx +11 -9
  726. package/src/routes/pages/theme-sample.tsx +98 -0
  727. package/src/runtime/__tests__/node.test.ts +258 -0
  728. package/src/runtime/cloudflare.ts +102 -0
  729. package/src/runtime/index.ts +14 -0
  730. package/src/runtime/node.ts +187 -0
  731. package/src/runtime/site.ts +169 -0
  732. package/src/services/__tests__/api-token.test.ts +5 -2
  733. package/src/services/__tests__/auth.test.ts +348 -0
  734. package/src/services/__tests__/collection.test.ts +154 -16
  735. package/src/services/__tests__/custom-url.test.ts +10 -3
  736. package/src/services/__tests__/hosted-handoff.test.ts +123 -0
  737. package/src/services/__tests__/media.test.ts +256 -33
  738. package/src/services/__tests__/navigation.test.ts +89 -4
  739. package/src/services/__tests__/post-timeline.test.ts +111 -2
  740. package/src/services/__tests__/post.test.ts +463 -38
  741. package/src/services/__tests__/search.test.ts +145 -14
  742. package/src/services/__tests__/settings.test.ts +162 -2
  743. package/src/services/__tests__/site-admin.test.ts +48 -0
  744. package/src/services/__tests__/site-profile.test.ts +175 -0
  745. package/src/services/api-token.ts +44 -11
  746. package/src/services/auth.ts +211 -9
  747. package/src/services/bootstrap.ts +68 -0
  748. package/src/services/collection.ts +501 -100
  749. package/src/services/custom-url.ts +42 -12
  750. package/src/services/export.ts +2269 -320
  751. package/src/services/hosted-handoff.ts +184 -0
  752. package/src/services/index.ts +110 -12
  753. package/src/services/media.ts +309 -39
  754. package/src/services/navigation.ts +141 -20
  755. package/src/services/path.ts +45 -9
  756. package/src/services/post.ts +1529 -246
  757. package/src/services/search.ts +222 -29
  758. package/src/services/settings.ts +202 -48
  759. package/src/services/site-admin.ts +825 -0
  760. package/src/services/site-member.ts +74 -0
  761. package/src/services/site-profile.ts +52 -0
  762. package/src/services/site.ts +250 -0
  763. package/src/services/upload-session.ts +707 -0
  764. package/src/style-cjk-tc.css +3 -0
  765. package/src/style-cjk.css +3 -0
  766. package/src/styles/components.css +647 -16
  767. package/src/styles/fonts/latin.css +4 -0
  768. package/src/styles/fonts/noto-serif-sc/400/02629e5d0a9860b7fe32ec1f0563213a.woff2 +0 -0
  769. package/src/styles/fonts/noto-serif-sc/400/031089da45fbfb7dc18ac827bef4c56e.woff2 +0 -0
  770. package/src/styles/fonts/noto-serif-sc/400/03ac785139320b7b13bac9c150bf72bf.woff2 +0 -0
  771. package/src/styles/fonts/noto-serif-sc/400/0b1f83a3c7e715560a55ad9eb0fb1c94.woff2 +0 -0
  772. package/src/styles/fonts/noto-serif-sc/400/14b040a2dda256936bc7b3470e548394.woff2 +0 -0
  773. package/src/styles/fonts/noto-serif-sc/400/189f272ea2600c74d576b7b15c014922.woff2 +0 -0
  774. package/src/styles/fonts/noto-serif-sc/400/1fbccc182322b513f57cd156a9a491b0.woff2 +0 -0
  775. package/src/styles/fonts/noto-serif-sc/400/21e0a71d86be7b8a9e812e7af09dd061.woff2 +0 -0
  776. package/src/styles/fonts/noto-serif-sc/400/265e048cc9f2f8a711ba585a534d5351.woff2 +0 -0
  777. package/src/styles/fonts/noto-serif-sc/400/2ae2ca951489c9d50cde5b36a2a5515b.woff2 +0 -0
  778. package/src/styles/fonts/noto-serif-sc/400/2ba802b14f21a58fc61606c88fa93373.woff2 +0 -0
  779. package/src/styles/fonts/noto-serif-sc/400/2deb444546774c3a3ab38c75eb69cdfb.woff2 +0 -0
  780. package/src/styles/fonts/noto-serif-sc/400/2fbccf9a3853eb59db1a825e044515fd.woff2 +0 -0
  781. package/src/styles/fonts/noto-serif-sc/400/2ff009fa8701505d7f3dc6c83763f019.woff2 +0 -0
  782. package/src/styles/fonts/noto-serif-sc/400/31424fe5d54692e7c8b38021ccb8597c.woff2 +0 -0
  783. package/src/styles/fonts/noto-serif-sc/400/360c190344c26278bbc50e2f4d6a2b3f.woff2 +0 -0
  784. package/src/styles/fonts/noto-serif-sc/400/39b0bbc910af9d2d6dcd8bd4abd6387d.woff2 +0 -0
  785. package/src/styles/fonts/noto-serif-sc/400/3adc8f6350cf5067bcb6dc5e44c45d41.woff2 +0 -0
  786. package/src/styles/fonts/noto-serif-sc/400/3bed5bd57de8f738e53cddaea88983d9.woff2 +0 -0
  787. package/src/styles/fonts/noto-serif-sc/400/3c201fd8d1bb20abe7d06b940e83a4d9.woff2 +0 -0
  788. package/src/styles/fonts/noto-serif-sc/400/3d385ea0880df7204258e290648ec012.woff2 +0 -0
  789. package/src/styles/fonts/noto-serif-sc/400/3dc1a4f0d7af59e16b5162a2b077a442.woff2 +0 -0
  790. package/src/styles/fonts/noto-serif-sc/400/3dc68e473fe23bd076dd46785cd23583.woff2 +0 -0
  791. package/src/styles/fonts/noto-serif-sc/400/435b7dca567809813fcb395a27ed83a0.woff2 +0 -0
  792. package/src/styles/fonts/noto-serif-sc/400/43693195e775d515689fa035394067fd.woff2 +0 -0
  793. package/src/styles/fonts/noto-serif-sc/400/43fb49e5b79ee7e553869d84e6e08b1e.woff2 +0 -0
  794. package/src/styles/fonts/noto-serif-sc/400/44dcbbc3cc8f22e613b342d691511ab6.woff2 +0 -0
  795. package/src/styles/fonts/noto-serif-sc/400/474fac21b12b7efd71f7c321578878b0.woff2 +0 -0
  796. package/src/styles/fonts/noto-serif-sc/400/4a23fe6e82fd496b5eb20401b6164efe.woff2 +0 -0
  797. package/src/styles/fonts/noto-serif-sc/400/4bc743968cf1c3ce5711de67ef1ccc4d.woff2 +0 -0
  798. package/src/styles/fonts/noto-serif-sc/400/4cf0f292f3358bd2f73b1cf4ec1476f3.woff2 +0 -0
  799. package/src/styles/fonts/noto-serif-sc/400/501f66f24bce8234441954de1b568403.woff2 +0 -0
  800. package/src/styles/fonts/noto-serif-sc/400/53a88404451448cd2e620a0ca0e45a20.woff2 +0 -0
  801. package/src/styles/fonts/noto-serif-sc/400/557cd00c5d6827e13d72a0c71b23587b.woff2 +0 -0
  802. package/src/styles/fonts/noto-serif-sc/400/563fa31542d553f25abab65cf7f81e1d.woff2 +0 -0
  803. package/src/styles/fonts/noto-serif-sc/400/56e1c4734bbbb38af2fbc262bf6e98f2.woff2 +0 -0
  804. package/src/styles/fonts/noto-serif-sc/400/5947f5da5da9a352a2b534ee64bfc29a.woff2 +0 -0
  805. package/src/styles/fonts/noto-serif-sc/400/5a10741e41259e235841440394c0763d.woff2 +0 -0
  806. package/src/styles/fonts/noto-serif-sc/400/60d8b0805a0a8c54a6cca216004beff5.woff2 +0 -0
  807. package/src/styles/fonts/noto-serif-sc/400/61bf4287453da4025d03fa6b2dba66ca.woff2 +0 -0
  808. package/src/styles/fonts/noto-serif-sc/400/638369541268ed5a10af97ad77498c73.woff2 +0 -0
  809. package/src/styles/fonts/noto-serif-sc/400/687d0f0f90a9b23e40102e16ad8e9836.woff2 +0 -0
  810. package/src/styles/fonts/noto-serif-sc/400/6e2164fad867d166de2e5b274f04a563.woff2 +0 -0
  811. package/src/styles/fonts/noto-serif-sc/400/6eefc9d430171c1e1e4034ecadee31c8.woff2 +0 -0
  812. package/src/styles/fonts/noto-serif-sc/400/71eafb8fbe3a734283517e230ad8b6db.woff2 +0 -0
  813. package/src/styles/fonts/noto-serif-sc/400/751f54dbb115140d5b645a6ba4aff5d3.woff2 +0 -0
  814. package/src/styles/fonts/noto-serif-sc/400/7609e7e74dd4d916a7abc7ecc7d95f7e.woff2 +0 -0
  815. package/src/styles/fonts/noto-serif-sc/400/76b9d6fe838ae4151d95ce7200aa2bf6.woff2 +0 -0
  816. package/src/styles/fonts/noto-serif-sc/400/78ce29fed872e44fc9014d94875d2aac.woff2 +0 -0
  817. package/src/styles/fonts/noto-serif-sc/400/79a85a253e9b3f12d2e2cb15e16b3003.woff2 +0 -0
  818. package/src/styles/fonts/noto-serif-sc/400/7caa14a095a6bc313aab780fe4ff7999.woff2 +0 -0
  819. package/src/styles/fonts/noto-serif-sc/400/7d138084cf03c14116b11297fce0e3e3.woff2 +0 -0
  820. package/src/styles/fonts/noto-serif-sc/400/880162ae92cd9e120eb4e4e11fae459d.woff2 +0 -0
  821. package/src/styles/fonts/noto-serif-sc/400/8f2b960c2823670e94f5b08aa65657e6.woff2 +0 -0
  822. package/src/styles/fonts/noto-serif-sc/400/8f89f57230d184f92a36e241874229d7.woff2 +0 -0
  823. package/src/styles/fonts/noto-serif-sc/400/9180de34b48b325200a97e267befff32.woff2 +0 -0
  824. package/src/styles/fonts/noto-serif-sc/400/95df3b9f681d9df411c30aea5b24f2e0.woff2 +0 -0
  825. package/src/styles/fonts/noto-serif-sc/400/975af5a496e8d87d821910aa9fe4d598.woff2 +0 -0
  826. package/src/styles/fonts/noto-serif-sc/400/97a874bbf55ce89a4ab7cd27c7e938b1.woff2 +0 -0
  827. package/src/styles/fonts/noto-serif-sc/400/9fd53607094e329fa8e5c785b3ff0f1a.woff2 +0 -0
  828. package/src/styles/fonts/noto-serif-sc/400/a578742770fcd2226e3c45b5b6efdcb0.woff2 +0 -0
  829. package/src/styles/fonts/noto-serif-sc/400/ae401fb4db80d5ff5cd3f8d9bc811070.woff2 +0 -0
  830. package/src/styles/fonts/noto-serif-sc/400/b0ab3a7f319ce6dd3c9a4de2674e7c72.woff2 +0 -0
  831. package/src/styles/fonts/noto-serif-sc/400/b159deb135e9946eea0572d52778170b.woff2 +0 -0
  832. package/src/styles/fonts/noto-serif-sc/400/b91450304d9ac44f5c6e0da0792e055d.woff2 +0 -0
  833. package/src/styles/fonts/noto-serif-sc/400/baa325551b381c5e035ef143e56d4abe.woff2 +0 -0
  834. package/src/styles/fonts/noto-serif-sc/400/c0c7836749e585cee24ab2f8457c5b01.woff2 +0 -0
  835. package/src/styles/fonts/noto-serif-sc/400/c2ac4ef1860812036ca2b8c4e4089bdc.woff2 +0 -0
  836. package/src/styles/fonts/noto-serif-sc/400/c31019c08bd22464f7a88f090281404c.woff2 +0 -0
  837. package/src/styles/fonts/noto-serif-sc/400/c57ee3b49b7e45b995539a6b2c51f138.woff2 +0 -0
  838. package/src/styles/fonts/noto-serif-sc/400/cd75ca47da9ae4c0899e37d4c543319b.woff2 +0 -0
  839. package/src/styles/fonts/noto-serif-sc/400/d12ce1d8445213317f9163283e58a05d.woff2 +0 -0
  840. package/src/styles/fonts/noto-serif-sc/400/d28fb13acf9ced9f0657fd4012c81cd2.woff2 +0 -0
  841. package/src/styles/fonts/noto-serif-sc/400/d3714e6b90de8e2085dfb2514464dd6a.woff2 +0 -0
  842. package/src/styles/fonts/noto-serif-sc/400/d3beff96216c8af1aa79246476b6a323.woff2 +0 -0
  843. package/src/styles/fonts/noto-serif-sc/400/d3e311f30c811dc339c262a79a51877e.woff2 +0 -0
  844. package/src/styles/fonts/noto-serif-sc/400/d51f4cdc83711e510f5d25f03235597e.woff2 +0 -0
  845. package/src/styles/fonts/noto-serif-sc/400/d5df4a8dfd4328c67d933b3912c6ad0f.woff2 +0 -0
  846. package/src/styles/fonts/noto-serif-sc/400/dccda6a2e2db3b530788bdfa2acd1979.woff2 +0 -0
  847. package/src/styles/fonts/noto-serif-sc/400/f5237486197aeff59341a1ff38b8eff8.woff2 +0 -0
  848. package/src/styles/fonts/noto-serif-sc/400/f553d54ef931066712d8f3f0ce018e1b.woff2 +0 -0
  849. package/src/styles/fonts/noto-serif-sc/400/f649cba8e14c33d6bf2265483b14b895.woff2 +0 -0
  850. package/src/styles/fonts/noto-serif-sc/400/f6839df1bf7cb4dc8d27e5ea55bbe633.woff2 +0 -0
  851. package/src/styles/fonts/noto-serif-sc/400/f6b7304e028980f77a7f7007bb540abd.woff2 +0 -0
  852. package/src/styles/fonts/noto-serif-sc/400/f8db8bef0a6e1178835d350ae0d384a1.woff2 +0 -0
  853. package/src/styles/fonts/noto-serif-sc/400/fb4649a82c50620773d79820e2e5ff13.woff2 +0 -0
  854. package/src/styles/fonts/noto-serif-sc/400/fb9402d6c6357a825affc402f14d5a7e.woff2 +0 -0
  855. package/src/styles/fonts/noto-serif-sc/700/0041f681602cc834bb5c55ced0155b8e.woff2 +0 -0
  856. package/src/styles/fonts/noto-serif-sc/700/00c9ac960d866ffaf8a866e5939024e2.woff2 +0 -0
  857. package/src/styles/fonts/noto-serif-sc/700/02e48e353415a00e0f556608cab33a43.woff2 +0 -0
  858. package/src/styles/fonts/noto-serif-sc/700/02faf6bb0ab4d56ada037c0bbaf9b9f7.woff2 +0 -0
  859. package/src/styles/fonts/noto-serif-sc/700/057a3d44d7fc606f113d863376d0ecf0.woff2 +0 -0
  860. package/src/styles/fonts/noto-serif-sc/700/10f2b44b3711d3f5bdcc30d373b543d1.woff2 +0 -0
  861. package/src/styles/fonts/noto-serif-sc/700/14c1506106d92621bafb11016735194e.woff2 +0 -0
  862. package/src/styles/fonts/noto-serif-sc/700/154a2c266902003bd8b7449386b10776.woff2 +0 -0
  863. package/src/styles/fonts/noto-serif-sc/700/19e39850472250bfdbce654d30859879.woff2 +0 -0
  864. package/src/styles/fonts/noto-serif-sc/700/1b5d0d740450fb996749464c9b882025.woff2 +0 -0
  865. package/src/styles/fonts/noto-serif-sc/700/1bca0a2a8840ad0ee9414940593db144.woff2 +0 -0
  866. package/src/styles/fonts/noto-serif-sc/700/1cda27dcaab977ae4ef5d5ab2a10ae03.woff2 +0 -0
  867. package/src/styles/fonts/noto-serif-sc/700/1f4bc38a1c50f55f335f5411cae47696.woff2 +0 -0
  868. package/src/styles/fonts/noto-serif-sc/700/2022cf097cb952d9fe75b53b4587d2c3.woff2 +0 -0
  869. package/src/styles/fonts/noto-serif-sc/700/2240a3c43ca5ef59ae3c348c7884792f.woff2 +0 -0
  870. package/src/styles/fonts/noto-serif-sc/700/280e3d2b58e9ad3501816072e01b0c13.woff2 +0 -0
  871. package/src/styles/fonts/noto-serif-sc/700/2874d07e228da9583b0e73646dacd498.woff2 +0 -0
  872. package/src/styles/fonts/noto-serif-sc/700/29d49891713a2785a3a383001cf58c59.woff2 +0 -0
  873. package/src/styles/fonts/noto-serif-sc/700/2d81eb6ab0ebbc0cabfb3a3341ba8800.woff2 +0 -0
  874. package/src/styles/fonts/noto-serif-sc/700/3179006d1c7ebfa50d27482a2859d9a0.woff2 +0 -0
  875. package/src/styles/fonts/noto-serif-sc/700/34c2edb3c37f71258f5c4a31091f0c6c.woff2 +0 -0
  876. package/src/styles/fonts/noto-serif-sc/700/389a950f2a1211946d294716e679e381.woff2 +0 -0
  877. package/src/styles/fonts/noto-serif-sc/700/42a74b6a625bbf0a9616ed4db3152c88.woff2 +0 -0
  878. package/src/styles/fonts/noto-serif-sc/700/457485e72835364662dfead6281638c1.woff2 +0 -0
  879. package/src/styles/fonts/noto-serif-sc/700/488846410760fe128dae939836ca5423.woff2 +0 -0
  880. package/src/styles/fonts/noto-serif-sc/700/48eb0a91e50c7f026e248c64145e72af.woff2 +0 -0
  881. package/src/styles/fonts/noto-serif-sc/700/4b0e79ba18b2ce424fa93e84996d7cba.woff2 +0 -0
  882. package/src/styles/fonts/noto-serif-sc/700/54e301f412730f391225db59dae1c8d5.woff2 +0 -0
  883. package/src/styles/fonts/noto-serif-sc/700/597d69d0710e0178b162afb0a0c20401.woff2 +0 -0
  884. package/src/styles/fonts/noto-serif-sc/700/5cc23a76e122d0ad2f7cede41bc35b27.woff2 +0 -0
  885. package/src/styles/fonts/noto-serif-sc/700/5d48855bed5f3554eff91b573d7376ac.woff2 +0 -0
  886. package/src/styles/fonts/noto-serif-sc/700/5ddcbe564b29ef08632e1aeb33455435.woff2 +0 -0
  887. package/src/styles/fonts/noto-serif-sc/700/605667a998e91e2b6a4a3cd7c31fe5a9.woff2 +0 -0
  888. package/src/styles/fonts/noto-serif-sc/700/67f32ceea9e78e5109f87724ad886010.woff2 +0 -0
  889. package/src/styles/fonts/noto-serif-sc/700/68f2fab82ec8e9291f08c3145111549c.woff2 +0 -0
  890. package/src/styles/fonts/noto-serif-sc/700/69519ada3f3f74ca20aacb8af48ab6b4.woff2 +0 -0
  891. package/src/styles/fonts/noto-serif-sc/700/6a6e884fb2b65ec5b4a3d5ecd0d01a6a.woff2 +0 -0
  892. package/src/styles/fonts/noto-serif-sc/700/6e1a8b45b01939088c3a8cfcf8c10681.woff2 +0 -0
  893. package/src/styles/fonts/noto-serif-sc/700/70adaf50c56d5ff859c64d35e0f1e34e.woff2 +0 -0
  894. package/src/styles/fonts/noto-serif-sc/700/72ee453ac0e19bd2c631c8921c44e3de.woff2 +0 -0
  895. package/src/styles/fonts/noto-serif-sc/700/753b5f6fb254bacb6618ace25af3df60.woff2 +0 -0
  896. package/src/styles/fonts/noto-serif-sc/700/76d4244186d118eea245d1385a4de2ec.woff2 +0 -0
  897. package/src/styles/fonts/noto-serif-sc/700/7a86b155111ba20f3e87306ff6beac77.woff2 +0 -0
  898. package/src/styles/fonts/noto-serif-sc/700/7b1e76975b0984e6f83e3f9f8069e784.woff2 +0 -0
  899. package/src/styles/fonts/noto-serif-sc/700/7b6c60131822a0e4d36d980d52509d4e.woff2 +0 -0
  900. package/src/styles/fonts/noto-serif-sc/700/7cbda564cb2dd4799ab9e89d51286aa7.woff2 +0 -0
  901. package/src/styles/fonts/noto-serif-sc/700/7f60eefa15956d6f06dd92404887d58c.woff2 +0 -0
  902. package/src/styles/fonts/noto-serif-sc/700/7f8c15e0ecb102738981d9fa4cb6b921.woff2 +0 -0
  903. package/src/styles/fonts/noto-serif-sc/700/812b5a4b87f3a7b4afc1cfebc864f413.woff2 +0 -0
  904. package/src/styles/fonts/noto-serif-sc/700/812dfb7f8144d01b3cc9d5ce0b472f40.woff2 +0 -0
  905. package/src/styles/fonts/noto-serif-sc/700/84742b1ede4f0bb6d27131298eba21b4.woff2 +0 -0
  906. package/src/styles/fonts/noto-serif-sc/700/8555f0285e3d28e95e2fc0ccccd9caff.woff2 +0 -0
  907. package/src/styles/fonts/noto-serif-sc/700/8e04e64c8f68d292a18d4160fbde8671.woff2 +0 -0
  908. package/src/styles/fonts/noto-serif-sc/700/958efb9b2fa2ea0008ffef009885f9f8.woff2 +0 -0
  909. package/src/styles/fonts/noto-serif-sc/700/9ca9b71010a5faeee7047ef97aeee13b.woff2 +0 -0
  910. package/src/styles/fonts/noto-serif-sc/700/9cd0b77920b9d6c64eb686493123fc76.woff2 +0 -0
  911. package/src/styles/fonts/noto-serif-sc/700/9ebd27835ffcbd794e67151ab046ce68.woff2 +0 -0
  912. package/src/styles/fonts/noto-serif-sc/700/a077f51cfb5cffb4ff4d8e229c0e9e79.woff2 +0 -0
  913. package/src/styles/fonts/noto-serif-sc/700/a397997b579d3945c9c70a979c17a8ad.woff2 +0 -0
  914. package/src/styles/fonts/noto-serif-sc/700/a68d9d5027803832bb28e78cdcd04949.woff2 +0 -0
  915. package/src/styles/fonts/noto-serif-sc/700/a904b05966368bcf90b632c7c2e5f76b.woff2 +0 -0
  916. package/src/styles/fonts/noto-serif-sc/700/aa218a2c45f3749537ce876201e5152b.woff2 +0 -0
  917. package/src/styles/fonts/noto-serif-sc/700/aa28db16818f9eaa8c817f289e1c3270.woff2 +0 -0
  918. package/src/styles/fonts/noto-serif-sc/700/aa96d698491c2540e2dcf7009c65c456.woff2 +0 -0
  919. package/src/styles/fonts/noto-serif-sc/700/ae25c41034ddc1a9e0b41f5034c9aa4b.woff2 +0 -0
  920. package/src/styles/fonts/noto-serif-sc/700/ae289ae3f8cdb54a3a6c07174517afec.woff2 +0 -0
  921. package/src/styles/fonts/noto-serif-sc/700/b02dfa2aa52cbdb1b2f11a9f44335469.woff2 +0 -0
  922. package/src/styles/fonts/noto-serif-sc/700/b2e326f7f9b807451bf9c745df747efe.woff2 +0 -0
  923. package/src/styles/fonts/noto-serif-sc/700/c33c59feccf391f0c5f1f5d24e36d1fe.woff2 +0 -0
  924. package/src/styles/fonts/noto-serif-sc/700/c82fd9456d7465b5e5bd3659e9b14c55.woff2 +0 -0
  925. package/src/styles/fonts/noto-serif-sc/700/c90b7b65d2b9696fbf3a506738f94d68.woff2 +0 -0
  926. package/src/styles/fonts/noto-serif-sc/700/cba6ad3981cb7861428d4be169ee8124.woff2 +0 -0
  927. package/src/styles/fonts/noto-serif-sc/700/cc26525aa2af1f0b929af32ce50a7fba.woff2 +0 -0
  928. package/src/styles/fonts/noto-serif-sc/700/cd0e7b51eddb22a77a09b025c0281434.woff2 +0 -0
  929. package/src/styles/fonts/noto-serif-sc/700/cd6d074f3957d58bac58437fc97e5e33.woff2 +0 -0
  930. package/src/styles/fonts/noto-serif-sc/700/cef249b6d013fb0cc0d574176bc23811.woff2 +0 -0
  931. package/src/styles/fonts/noto-serif-sc/700/d0bd387fda28e58d3c9b3efa2468dd8a.woff2 +0 -0
  932. package/src/styles/fonts/noto-serif-sc/700/da93ae099ff3b7aae27b3f674d3fc721.woff2 +0 -0
  933. package/src/styles/fonts/noto-serif-sc/700/e264213b9e102dabc603adb6e4fda5e6.woff2 +0 -0
  934. package/src/styles/fonts/noto-serif-sc/700/e7c7ef3669ae48c0a736f06ca471e1d7.woff2 +0 -0
  935. package/src/styles/fonts/noto-serif-sc/700/e81a742cacef744130c40de1b90837d8.woff2 +0 -0
  936. package/src/styles/fonts/noto-serif-sc/700/e8b755172122d1d0a5dd453e96b0ff24.woff2 +0 -0
  937. package/src/styles/fonts/noto-serif-sc/700/e99280299c305402eaa5271a3e36c49b.woff2 +0 -0
  938. package/src/styles/fonts/noto-serif-sc/700/e9c66b085052ece66bfadf45f711d3e1.woff2 +0 -0
  939. package/src/styles/fonts/noto-serif-sc/700/ed7c6dafaa6d8bcf015ef0ca574837df.woff2 +0 -0
  940. package/src/styles/fonts/noto-serif-sc/700/f2900a1d30c3a33129f4e2225669bd0e.woff2 +0 -0
  941. package/src/styles/fonts/noto-serif-sc/700/fa7d3b99744d7f2dc9e00864a97a62d6.woff2 +0 -0
  942. package/src/styles/fonts/noto-serif-sc/700/fb0e90665980954719c2eb685b130bc0.woff2 +0 -0
  943. package/src/styles/fonts/noto-serif-sc/noto-serif-sc.css +3615 -0
  944. package/src/styles/fonts/noto-serif-tc/400/008ea9091e332c639ceb18874eacd60c.woff2 +0 -0
  945. package/src/styles/fonts/noto-serif-tc/400/053bd3d7aec0040d0cc50c261a1f4e3e.woff2 +0 -0
  946. package/src/styles/fonts/noto-serif-tc/400/0713613227cc4c686c45a279f8bdc166.woff2 +0 -0
  947. package/src/styles/fonts/noto-serif-tc/400/0e97f44ebc65384c346fe19bcc52fa20.woff2 +0 -0
  948. package/src/styles/fonts/noto-serif-tc/400/1139d32ae2bdeb26c0c8f31330aa9a9f.woff2 +0 -0
  949. package/src/styles/fonts/noto-serif-tc/400/15f8c0df47fd639d1b0d9bd5cf507c9b.woff2 +0 -0
  950. package/src/styles/fonts/noto-serif-tc/400/1668bd859ffe15bed7d5563117d8d5fb.woff2 +0 -0
  951. package/src/styles/fonts/noto-serif-tc/400/190e3f8632494e7c095117f26b1c811e.woff2 +0 -0
  952. package/src/styles/fonts/noto-serif-tc/400/19ad151c22ce1befe0a9ea643fbee570.woff2 +0 -0
  953. package/src/styles/fonts/noto-serif-tc/400/1c820b5295868008ca7c78afa5b7655d.woff2 +0 -0
  954. package/src/styles/fonts/noto-serif-tc/400/1fbe225742c69f4ba9ea5f74922f0ca1.woff2 +0 -0
  955. package/src/styles/fonts/noto-serif-tc/400/2a7cedfcd6e4c7cec36f4fd7b0f329c2.woff2 +0 -0
  956. package/src/styles/fonts/noto-serif-tc/400/2acea04a920f6af31e7db97052f563c6.woff2 +0 -0
  957. package/src/styles/fonts/noto-serif-tc/400/2e98b666924b8e0a09d1aeeefd24bdd2.woff2 +0 -0
  958. package/src/styles/fonts/noto-serif-tc/400/2fd3fceb6faed5e3db768e88d7614dca.woff2 +0 -0
  959. package/src/styles/fonts/noto-serif-tc/400/35cf5dd04315e0b906e1a413d7905a2f.woff2 +0 -0
  960. package/src/styles/fonts/noto-serif-tc/400/387c811226f303af62f1e21aae6f5c83.woff2 +0 -0
  961. package/src/styles/fonts/noto-serif-tc/400/3b41385fc27419c19822060daa0b5cb3.woff2 +0 -0
  962. package/src/styles/fonts/noto-serif-tc/400/3cbe4a697fd595ef42c899de7d3e5445.woff2 +0 -0
  963. package/src/styles/fonts/noto-serif-tc/400/3d83dacbbec3d8532ae9afede21f3aab.woff2 +0 -0
  964. package/src/styles/fonts/noto-serif-tc/400/47479c470fae70f10b7c964a7ecbf274.woff2 +0 -0
  965. package/src/styles/fonts/noto-serif-tc/400/4dc0728df0f2ba70796f45f05654c7ba.woff2 +0 -0
  966. package/src/styles/fonts/noto-serif-tc/400/4dc2bc2c55b47f57d13b63aa6b1c8bd4.woff2 +0 -0
  967. package/src/styles/fonts/noto-serif-tc/400/4e1cc6aafb411b572c8d3511e925ecf1.woff2 +0 -0
  968. package/src/styles/fonts/noto-serif-tc/400/5227dbe9933760a48baff21ebd13fc98.woff2 +0 -0
  969. package/src/styles/fonts/noto-serif-tc/400/526b263e72c189f4b065738aaa6d423a.woff2 +0 -0
  970. package/src/styles/fonts/noto-serif-tc/400/54da934819a917f561b439bfd10f88b6.woff2 +0 -0
  971. package/src/styles/fonts/noto-serif-tc/400/5bfc7a121c35ae42623ef804fb525e0e.woff2 +0 -0
  972. package/src/styles/fonts/noto-serif-tc/400/5f90024544c2907c6c0203c6210c50be.woff2 +0 -0
  973. package/src/styles/fonts/noto-serif-tc/400/649b12d7cee7bb981842946e4547e6ca.woff2 +0 -0
  974. package/src/styles/fonts/noto-serif-tc/400/653bef2ed891ae48d8ed712283080649.woff2 +0 -0
  975. package/src/styles/fonts/noto-serif-tc/400/67d2a81f06ba352f17fbdc3a5e6ea59e.woff2 +0 -0
  976. package/src/styles/fonts/noto-serif-tc/400/68304f3229cf763465f044fccb5892c0.woff2 +0 -0
  977. package/src/styles/fonts/noto-serif-tc/400/688a88911e4da17b609196a959b8b930.woff2 +0 -0
  978. package/src/styles/fonts/noto-serif-tc/400/6db6ddf72c38a78ce44c1327701152e1.woff2 +0 -0
  979. package/src/styles/fonts/noto-serif-tc/400/77a7533bd21ccd33192d142a93555aa8.woff2 +0 -0
  980. package/src/styles/fonts/noto-serif-tc/400/7d65a3d6a65050eb5e6eca43398aeba4.woff2 +0 -0
  981. package/src/styles/fonts/noto-serif-tc/400/7dfc711962c8771f97e7c8898a6bcb65.woff2 +0 -0
  982. package/src/styles/fonts/noto-serif-tc/400/7ef123b62d530fcba73974fa265e0aae.woff2 +0 -0
  983. package/src/styles/fonts/noto-serif-tc/400/80466082a896fd328f30a78593c7c568.woff2 +0 -0
  984. package/src/styles/fonts/noto-serif-tc/400/8a3c84b0df36f851f5fea75ee8757951.woff2 +0 -0
  985. package/src/styles/fonts/noto-serif-tc/400/8b0c8c9f8cfa9fa090d97c5a5efb1f4c.woff2 +0 -0
  986. package/src/styles/fonts/noto-serif-tc/400/8dc035a34c76e6515ca203e2df182588.woff2 +0 -0
  987. package/src/styles/fonts/noto-serif-tc/400/8eb06109812cb80be44f47b8179c2709.woff2 +0 -0
  988. package/src/styles/fonts/noto-serif-tc/400/904324af375d5fd370af1054355a050e.woff2 +0 -0
  989. package/src/styles/fonts/noto-serif-tc/400/911a2092d64d6d6494b254d819af2b91.woff2 +0 -0
  990. package/src/styles/fonts/noto-serif-tc/400/9de02d745b8e25c6411fb152fb067748.woff2 +0 -0
  991. package/src/styles/fonts/noto-serif-tc/400/9eb33a430058d839ebbe2af4b2e0daa9.woff2 +0 -0
  992. package/src/styles/fonts/noto-serif-tc/400/9f5a73aa8ba417688019d628f334db07.woff2 +0 -0
  993. package/src/styles/fonts/noto-serif-tc/400/a0f0c06d5c7a3ffa97706178cce212a8.woff2 +0 -0
  994. package/src/styles/fonts/noto-serif-tc/400/a38c1830367f784181b6f544b0b11bbd.woff2 +0 -0
  995. package/src/styles/fonts/noto-serif-tc/400/a9cf85e27428c14351d30eac8cbc8d91.woff2 +0 -0
  996. package/src/styles/fonts/noto-serif-tc/400/aa0ce6740f301351761a0615cc8b2e99.woff2 +0 -0
  997. package/src/styles/fonts/noto-serif-tc/400/bc3f0cb8b55ee11d32b94ca488976f8d.woff2 +0 -0
  998. package/src/styles/fonts/noto-serif-tc/400/bcb3307527d6d0033bf0f17660b91e71.woff2 +0 -0
  999. package/src/styles/fonts/noto-serif-tc/400/bf1acc86e17b4229c548828a9d6f455d.woff2 +0 -0
  1000. package/src/styles/fonts/noto-serif-tc/400/c3fbc1f2557c343863a10698f8c966a2.woff2 +0 -0
  1001. package/src/styles/fonts/noto-serif-tc/400/c5c1c0be944ea39a3f50a02d32f5b759.woff2 +0 -0
  1002. package/src/styles/fonts/noto-serif-tc/400/c5f1075caf6d1344ee720de85114a521.woff2 +0 -0
  1003. package/src/styles/fonts/noto-serif-tc/400/cae29b3f8951eaf20d2f61c2206e28d9.woff2 +0 -0
  1004. package/src/styles/fonts/noto-serif-tc/400/d043b8d7a48bb0ac59ee1f1477d88eee.woff2 +0 -0
  1005. package/src/styles/fonts/noto-serif-tc/400/d320b000b5978c7251148a6a154741b8.woff2 +0 -0
  1006. package/src/styles/fonts/noto-serif-tc/400/da13b136efb1d1e4c76575af8f79a698.woff2 +0 -0
  1007. package/src/styles/fonts/noto-serif-tc/400/da2cf0ec56bf69374ee37764c7e3ea3d.woff2 +0 -0
  1008. package/src/styles/fonts/noto-serif-tc/400/daf62255dd60679946f28c442ca62533.woff2 +0 -0
  1009. package/src/styles/fonts/noto-serif-tc/400/dd01a1035345f6921a48525b8ce08f06.woff2 +0 -0
  1010. package/src/styles/fonts/noto-serif-tc/400/e4fb59479cedc87ba79785590bf861ca.woff2 +0 -0
  1011. package/src/styles/fonts/noto-serif-tc/400/e5d00355f73293d40b61299459d17ca5.woff2 +0 -0
  1012. package/src/styles/fonts/noto-serif-tc/400/e647b8d2efc501c0cc0e407249cc7135.woff2 +0 -0
  1013. package/src/styles/fonts/noto-serif-tc/400/e6e60ffb2ebd1828628764b507060aea.woff2 +0 -0
  1014. package/src/styles/fonts/noto-serif-tc/400/f00eb499abb94fa7b799d6d8c9b050e9.woff2 +0 -0
  1015. package/src/styles/fonts/noto-serif-tc/400/f7d36ffff7a75c9c6216d576a57dd00d.woff2 +0 -0
  1016. package/src/styles/fonts/noto-serif-tc/400/f7f3f63e7a149cd89eccab3b52171d05.woff2 +0 -0
  1017. package/src/styles/fonts/noto-serif-tc/400/fcc41f6a067ddd658bba5c9dff234a32.woff2 +0 -0
  1018. package/src/styles/fonts/noto-serif-tc/400/fd6ad889fcf3583bd9b0b6db53aad434.woff2 +0 -0
  1019. package/src/styles/fonts/noto-serif-tc/700/0c055db157e7a13f3103cc2a6b67fec3.woff2 +0 -0
  1020. package/src/styles/fonts/noto-serif-tc/700/0d3f5cc265cb6c439c517f2c4cebbddf.woff2 +0 -0
  1021. package/src/styles/fonts/noto-serif-tc/700/1259e5825b314fe2b8bb96d6e8069ee5.woff2 +0 -0
  1022. package/src/styles/fonts/noto-serif-tc/700/12c518ebfe62818af550c08947e359e7.woff2 +0 -0
  1023. package/src/styles/fonts/noto-serif-tc/700/145831a59caa06d894022fe60212ed21.woff2 +0 -0
  1024. package/src/styles/fonts/noto-serif-tc/700/169a096e61d38a773216f51d1ec2cc06.woff2 +0 -0
  1025. package/src/styles/fonts/noto-serif-tc/700/1884a2b22d314c7d57707f03aec348e0.woff2 +0 -0
  1026. package/src/styles/fonts/noto-serif-tc/700/1e2640116bbba817f43c43cc69371cf1.woff2 +0 -0
  1027. package/src/styles/fonts/noto-serif-tc/700/2573703213da30d3ba18925b100b2c2b.woff2 +0 -0
  1028. package/src/styles/fonts/noto-serif-tc/700/26839c0e47c73514b8d8f660d24d6b19.woff2 +0 -0
  1029. package/src/styles/fonts/noto-serif-tc/700/2a22e14a9ad53f2abb3c7e85017b7d12.woff2 +0 -0
  1030. package/src/styles/fonts/noto-serif-tc/700/2b3e8c5703b91f39f6027f43f0da6f4b.woff2 +0 -0
  1031. package/src/styles/fonts/noto-serif-tc/700/2f27ee4fb2cf6a280e110e09c18ef73e.woff2 +0 -0
  1032. package/src/styles/fonts/noto-serif-tc/700/31342cebfa5ea7fac06b4ea372d96bc5.woff2 +0 -0
  1033. package/src/styles/fonts/noto-serif-tc/700/375329ba0b50b94b35006498e555867c.woff2 +0 -0
  1034. package/src/styles/fonts/noto-serif-tc/700/427577dcb707d1d35eebd155b4222aa7.woff2 +0 -0
  1035. package/src/styles/fonts/noto-serif-tc/700/450a5b53be0a8a778bb0b623e86b652f.woff2 +0 -0
  1036. package/src/styles/fonts/noto-serif-tc/700/477866c8396474a17317dcac3e7a014f.woff2 +0 -0
  1037. package/src/styles/fonts/noto-serif-tc/700/478ebdaadda7775c391c5dcab4e697df.woff2 +0 -0
  1038. package/src/styles/fonts/noto-serif-tc/700/48d6a97a185c799be4fe67aaf7edf213.woff2 +0 -0
  1039. package/src/styles/fonts/noto-serif-tc/700/490edb9fc8a4356aea556eed32287464.woff2 +0 -0
  1040. package/src/styles/fonts/noto-serif-tc/700/4c4bdd0b3f3a52e28f3b643c1c5d43be.woff2 +0 -0
  1041. package/src/styles/fonts/noto-serif-tc/700/4c96411f3693a9a8657a9c1190f82bce.woff2 +0 -0
  1042. package/src/styles/fonts/noto-serif-tc/700/4c9aa12aba2a6a57410eacaff7427916.woff2 +0 -0
  1043. package/src/styles/fonts/noto-serif-tc/700/4cca7233bf8ce5dec2e5d146b993d626.woff2 +0 -0
  1044. package/src/styles/fonts/noto-serif-tc/700/4d0a9128d06ea857f203bf5d007b1ab9.woff2 +0 -0
  1045. package/src/styles/fonts/noto-serif-tc/700/4e5384920bbb155d9d8d74887b09ea5b.woff2 +0 -0
  1046. package/src/styles/fonts/noto-serif-tc/700/50cfd672bfa62512ba090420acf35c87.woff2 +0 -0
  1047. package/src/styles/fonts/noto-serif-tc/700/551b1d7a0b80c8d42af09863cdca7f01.woff2 +0 -0
  1048. package/src/styles/fonts/noto-serif-tc/700/555d990ab3fd7d3d66c6d1fa9a82fec5.woff2 +0 -0
  1049. package/src/styles/fonts/noto-serif-tc/700/5979c33a7eb5963bf8e83e46931b5fb5.woff2 +0 -0
  1050. package/src/styles/fonts/noto-serif-tc/700/59966ee0b069b577510fe68c350da0ee.woff2 +0 -0
  1051. package/src/styles/fonts/noto-serif-tc/700/60a14064ed334f0155795d795e926abe.woff2 +0 -0
  1052. package/src/styles/fonts/noto-serif-tc/700/611b62d5fd9698d9b5ce495ba6f14c93.woff2 +0 -0
  1053. package/src/styles/fonts/noto-serif-tc/700/6e83fe0b6e708eaf1c3003d6dee11488.woff2 +0 -0
  1054. package/src/styles/fonts/noto-serif-tc/700/70861376e5d4f92f8aa7aa1b2749b617.woff2 +0 -0
  1055. package/src/styles/fonts/noto-serif-tc/700/7124d150570d39ced8d45507dc11ca1e.woff2 +0 -0
  1056. package/src/styles/fonts/noto-serif-tc/700/79a7fdf7d9c722b5723ae25e6ff8e203.woff2 +0 -0
  1057. package/src/styles/fonts/noto-serif-tc/700/8c8393bc875f1ee36697a2113f4421ea.woff2 +0 -0
  1058. package/src/styles/fonts/noto-serif-tc/700/8e6c9bb43afb8cbbff7cf1055e67c9bd.woff2 +0 -0
  1059. package/src/styles/fonts/noto-serif-tc/700/90ac4f9d2aa02afdace2843b49fc18bb.woff2 +0 -0
  1060. package/src/styles/fonts/noto-serif-tc/700/90b6f57d77847f512fd11db74fa912f1.woff2 +0 -0
  1061. package/src/styles/fonts/noto-serif-tc/700/913759e6690f9fc0746a20b96f4bdcb4.woff2 +0 -0
  1062. package/src/styles/fonts/noto-serif-tc/700/9154e26efe532a85a27d80902f5a2d6c.woff2 +0 -0
  1063. package/src/styles/fonts/noto-serif-tc/700/94e7ed67f1557b76fead6b6e456a0415.woff2 +0 -0
  1064. package/src/styles/fonts/noto-serif-tc/700/95127a92346c04fec1fa81d6295b0a28.woff2 +0 -0
  1065. package/src/styles/fonts/noto-serif-tc/700/9fbc06b2e3ff16b9d705c76db563ef17.woff2 +0 -0
  1066. package/src/styles/fonts/noto-serif-tc/700/a3b929542e6c5a0644b73a7c8a8b6c03.woff2 +0 -0
  1067. package/src/styles/fonts/noto-serif-tc/700/a8857f5d478f101c053ba02d2f223e90.woff2 +0 -0
  1068. package/src/styles/fonts/noto-serif-tc/700/aa64c9953af43ca65832f413895bb433.woff2 +0 -0
  1069. package/src/styles/fonts/noto-serif-tc/700/ada8f0241244c60ec8d3d59ad37f20a5.woff2 +0 -0
  1070. package/src/styles/fonts/noto-serif-tc/700/b341de0bc0bfe194a6c28dcfb566029e.woff2 +0 -0
  1071. package/src/styles/fonts/noto-serif-tc/700/b846c293981ca5429eabaa967f222f26.woff2 +0 -0
  1072. package/src/styles/fonts/noto-serif-tc/700/be64f9379412876e00fd3a0bfa6b6fe9.woff2 +0 -0
  1073. package/src/styles/fonts/noto-serif-tc/700/befed8a4fa817773fa7109db6fe07f56.woff2 +0 -0
  1074. package/src/styles/fonts/noto-serif-tc/700/c09ee2b219982f8d46ad9968b7e6e0ba.woff2 +0 -0
  1075. package/src/styles/fonts/noto-serif-tc/700/c39ec937c6a8d124e8b68cf829ea5ad4.woff2 +0 -0
  1076. package/src/styles/fonts/noto-serif-tc/700/c3fd21315345ae541f6e98067059fa19.woff2 +0 -0
  1077. package/src/styles/fonts/noto-serif-tc/700/c568a16e3168ceb1f191b70022c492ea.woff2 +0 -0
  1078. package/src/styles/fonts/noto-serif-tc/700/c5e66d60be3375835bbd8d6b797f6eac.woff2 +0 -0
  1079. package/src/styles/fonts/noto-serif-tc/700/cd10a3af2133805d8c92104d1ee6ff18.woff2 +0 -0
  1080. package/src/styles/fonts/noto-serif-tc/700/d15a3317942b7d31978a759fbf2222c8.woff2 +0 -0
  1081. package/src/styles/fonts/noto-serif-tc/700/d740dc2e854aaa7b3dcdd3ed25455eeb.woff2 +0 -0
  1082. package/src/styles/fonts/noto-serif-tc/700/d8325ba7ae651bc30440905bd67b95f1.woff2 +0 -0
  1083. package/src/styles/fonts/noto-serif-tc/700/e2204cf85edcb96c5de5c3dcf240da9d.woff2 +0 -0
  1084. package/src/styles/fonts/noto-serif-tc/700/e3e913e145ddcd9323b2a0972967feb6.woff2 +0 -0
  1085. package/src/styles/fonts/noto-serif-tc/700/f2fb1f1fbf7e44afb53c672ec286a22e.woff2 +0 -0
  1086. package/src/styles/fonts/noto-serif-tc/700/f372129c60aaece937cf7b91ee75c9b8.woff2 +0 -0
  1087. package/src/styles/fonts/noto-serif-tc/700/f5d7487963d43c89da63aaf10f2e6fb7.woff2 +0 -0
  1088. package/src/styles/fonts/noto-serif-tc/700/f75496953a40ff241178240209f56990.woff2 +0 -0
  1089. package/src/styles/fonts/noto-serif-tc/700/f92d74d1d217d21b39075ff23f79f7fd.woff2 +0 -0
  1090. package/src/styles/fonts/noto-serif-tc/700/f9d6d981d8b87b3e469027277f585741.woff2 +0 -0
  1091. package/src/styles/fonts/noto-serif-tc/700/fa8ed469ef290bfeb571418fe0abb628.woff2 +0 -0
  1092. package/src/styles/fonts/noto-serif-tc/700/fb61b690208eff56e6d8432951270901.woff2 +0 -0
  1093. package/src/styles/fonts/noto-serif-tc/700/ff0937ad63cda71ff420945ead55ab4d.woff2 +0 -0
  1094. package/src/styles/fonts/noto-serif-tc/noto-serif-tc.css +3104 -0
  1095. package/src/styles/tokens.css +42 -7
  1096. package/src/styles/ui.css +7586 -3401
  1097. package/src/types/app-context.ts +7 -0
  1098. package/src/types/bindings.ts +77 -27
  1099. package/src/types/config.ts +104 -4
  1100. package/src/types/constants.ts +43 -4
  1101. package/src/types/entities.ts +63 -4
  1102. package/src/types/operations.ts +45 -15
  1103. package/src/types/props.ts +46 -9
  1104. package/src/types/views.ts +51 -8
  1105. package/src/ui/__tests__/color-themes.test.ts +81 -0
  1106. package/src/ui/__tests__/font-themes.test.ts +76 -7
  1107. package/src/ui/color-themes.ts +424 -238
  1108. package/src/ui/compose/ComposeDialog.tsx +149 -91
  1109. package/src/ui/compose/ComposePrompt.tsx +20 -3
  1110. package/src/ui/dash/ActionButtons.tsx +16 -2
  1111. package/src/ui/dash/DangerZone.tsx +10 -1
  1112. package/src/ui/dash/StatusBadge.tsx +3 -3
  1113. package/src/ui/dash/appearance/AdvancedContent.tsx +9 -2
  1114. package/src/ui/dash/appearance/ColorThemeContent.tsx +326 -63
  1115. package/src/ui/dash/appearance/FontThemeContent.tsx +75 -17
  1116. package/src/ui/dash/appearance/NavigationContent.tsx +48 -21
  1117. package/src/ui/dash/settings/AccountContent.tsx +7 -2
  1118. package/src/ui/dash/settings/AccountMenuContent.tsx +242 -111
  1119. package/src/ui/dash/settings/ApiTokensContent.tsx +38 -8
  1120. package/src/ui/dash/settings/AvatarContent.tsx +1 -1
  1121. package/src/ui/dash/settings/DeleteAccountContent.tsx +300 -0
  1122. package/src/ui/dash/settings/GeneralContent.tsx +120 -6
  1123. package/src/ui/dash/settings/SessionsContent.tsx +23 -5
  1124. package/src/ui/dash/settings/SettingsDirectory.tsx +99 -0
  1125. package/src/ui/dash/settings/SettingsRootContent.tsx +176 -221
  1126. package/src/ui/feed/CuratedThreadPreview.tsx +73 -0
  1127. package/src/ui/feed/LinkCard.tsx +52 -36
  1128. package/src/ui/feed/NoteCard.tsx +10 -4
  1129. package/src/ui/feed/PostStatusBadges.tsx +4 -21
  1130. package/src/ui/feed/QuoteCard.tsx +11 -3
  1131. package/src/ui/feed/ThreadPreview.tsx +11 -5
  1132. package/src/ui/feed/TimelineFeed.tsx +53 -15
  1133. package/src/ui/feed/__tests__/timeline-cards.test.ts +172 -0
  1134. package/src/ui/feed/thread-preview-state.ts +2 -4
  1135. package/src/ui/font-themes.ts +211 -43
  1136. package/src/ui/layouts/BaseLayout.tsx +161 -30
  1137. package/src/ui/layouts/SiteLayout.tsx +51 -18
  1138. package/src/ui/layouts/__tests__/BaseLayout.test.tsx +169 -0
  1139. package/src/ui/pages/ArchivePage.tsx +320 -120
  1140. package/src/ui/pages/BrandPage.tsx +927 -0
  1141. package/src/ui/pages/CollectionEditorPage.tsx +155 -0
  1142. package/src/ui/pages/CollectionPage.tsx +410 -18
  1143. package/src/ui/pages/CollectionsPage.tsx +57 -57
  1144. package/src/ui/pages/FeaturedPage.tsx +24 -3
  1145. package/src/ui/pages/HomePage.tsx +13 -0
  1146. package/src/ui/pages/PostPage.tsx +13 -4
  1147. package/src/ui/pages/SearchPage.tsx +12 -2
  1148. package/src/ui/pages/ThemeSamplePage.tsx +1160 -0
  1149. package/src/ui/shared/AdminBreadcrumb.tsx +22 -6
  1150. package/src/ui/shared/CollectionDirectory.tsx +117 -0
  1151. package/src/ui/shared/CollectionsManager.tsx +277 -0
  1152. package/src/ui/shared/DecorativeQuoteMark.tsx +32 -0
  1153. package/src/ui/shared/HomePageBranding.tsx +22 -0
  1154. package/src/ui/shared/JantBrandMark.tsx +35 -0
  1155. package/src/ui/shared/MediaGallery.tsx +106 -36
  1156. package/src/ui/shared/PaginatedPageHeader.tsx +49 -0
  1157. package/src/ui/shared/Pagination.tsx +2 -6
  1158. package/src/ui/shared/PostFooter.tsx +130 -67
  1159. package/src/ui/shared/__tests__/home-page-branding.test.tsx +14 -0
  1160. package/src/ui/shared/__tests__/media-gallery.test.ts +82 -0
  1161. package/src/ui/shared/__tests__/navigation-labels.test.ts +103 -0
  1162. package/src/ui/shared/__tests__/pagination.test.ts +18 -1
  1163. package/src/ui/shared/__tests__/post-footer.test.ts +122 -0
  1164. package/src/ui/shared/collection-management-labels.ts +161 -0
  1165. package/src/ui/shared/navigation-labels.ts +126 -0
  1166. package/src/vendor/datastar.js +1955 -7
  1167. package/dist/client/assets/heic-to-DIRPI3VF.js +0 -1
  1168. package/dist/client/assets/module-RjUF93sV.js +0 -716
  1169. package/dist/client/assets/native-48B9X9Wg.js +0 -1
  1170. package/dist/client/assets/url-FWFqPJPb.js +0 -1
  1171. package/dist/client/client.css +0 -1
  1172. package/dist/client/client.js +0 -33565
  1173. package/src/client/components/collection-sidebar-types.ts +0 -43
  1174. package/src/client/tiptap/paste-image.ts +0 -129
  1175. package/src/lib/emoji-catalog.ts +0 -963
  1176. package/src/lib/icon-catalog.ts +0 -5213
  1177. package/src/ui/shared/CollectionsSidebar.tsx +0 -294
@@ -1,9 +1,1957 @@
1
1
  // Datastar v1.0.0-RC.7
2
- var at=/🖕JS_DS🚀/.source,je=at.slice(0,5),Ge=at.slice(4),q="datastar-fetch",Z="datastar-signal-patch";var C=Object.hasOwn??Object.prototype.hasOwnProperty.call;var U=e=>e!==null&&typeof e=="object"&&(Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)===null),ct=e=>{for(let t in e)if(C(e,t))return!1;return!0},Y=(e,t)=>{for(let n in e){let r=e[n];U(r)||Array.isArray(r)?Y(r,t):e[n]=t(r)}},Me=e=>{let t={};for(let[n,r]of e){let s=n.split("."),o=s.pop(),i=s.reduce((a,c)=>a[c]??={},t);i[o]=r}return t};var xe=[],Be=[],Oe=0,Le=0,We=0,Ue,j,Ne=0,M=()=>{Oe++},x=()=>{--Oe||(ft(),J())},F=e=>{Ue=j,j=e},P=()=>{j=Ue,Ue=void 0},pe=e=>Ut.bind(0,{previousValue:e,t:e,e:1}),Je=Symbol("computed"),ke=e=>{let t=Jt.bind(0,{e:17,getter:e});return t[Je]=1,t},S=e=>{let t={d:e,e:2};j&&ze(t,j),F(t),M();try{t.d()}finally{x(),P()}return gt.bind(0,t)},ft=()=>{for(;Le<We;){let e=Be[Le];Be[Le++]=void 0,pt(e,e.e&=-65)}Le=0,We=0},lt=e=>"getter"in e?dt(e):mt(e,e.t),dt=e=>{F(e),ht(e);try{let t=e.t;return t!==(e.t=e.getter(t))}finally{P(),yt(e)}},mt=(e,t)=>(e.e=1,e.previousValue!==(e.previousValue=t)),Ke=e=>{let t=e.e;if(!(t&64)){e.e=t|64;let n=e.r;n?Ke(n.o):Be[We++]=e}},pt=(e,t)=>{if(t&16||t&32&&bt(e.s,e)){F(e),ht(e),M();try{e.d()}finally{x(),P(),yt(e)}return}t&32&&(e.e=t&-33);let n=e.s;for(;n;){let r=n.c,s=r.e;s&64&&pt(r,r.e=s&-65),n=n.i}},Ut=(e,...t)=>{if(t.length){if(e.t!==(e.t=t[0])){e.e=17;let r=e.r;return r&&(Kt(r),Oe||ft()),!0}return!1}let n=e.t;if(e.e&16&&mt(e,n)){let r=e.r;r&&Pe(r)}return j&&ze(e,j),n},Jt=e=>{let t=e.e;if(t&16||t&32&&bt(e.s,e)){if(dt(e)){let n=e.r;n&&Pe(n)}}else t&32&&(e.e=t&-33);return j&&ze(e,j),e.t},gt=e=>{let t=e.s;for(;t;)t=Fe(t,e);let n=e.r;n&&Fe(n),e.e=0},ze=(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=Ne,t.a=r;return}let s=e.p;if(s&&s.m===Ne&&s.o===t)return;let o=t.a=e.p={m:Ne,c:e,o:t,l:n,i:r,u:s};r&&(r.l=o),n?n.i=o:t.s=o,s?s.n=o:e.r=o},Fe=(e,t=e.o)=>{let n=e.c,r=e.l,s=e.i,o=e.n,i=e.u;if(s?s.l=r:t.a=r,r?r.i=s:t.s=s,o?o.u=i:n.p=i,i)i.n=o;else if(!(n.r=o))if("getter"in n){let a=n.s;if(a){n.e=17;do a=Fe(a,n);while(a)}}else"previousValue"in n||gt(n);return s},Kt=e=>{let t=e.n,n;e:for(;;){let r=e.o,s=r.e;if(s&60?s&12?s&4?!(s&48)&&zt(e,r)?(r.e=s|40,s&=1):s=0:r.e=s&-9|32:s=0:r.e=s|32,s&2&&Ke(r),s&1){let o=r.r;if(o){let i=(e=o).n;i&&(n={t,f:n},t=i);continue}}if(e=t){t=e.n;continue}for(;n;)if(e=n.t,n=n.f,e){t=e.n;continue e}break}},ht=e=>{Ne++,e.a=void 0,e.e=e.e&-57|4},yt=e=>{let t=e.a,n=t?t.i:e.s;for(;n;)n=Fe(n,e);e.e&=-5},bt=(e,t)=>{let n,r=0,s=!1;e:for(;;){let o=e.c,i=o.e;if(t.e&16)s=!0;else if((i&17)===17){if(lt(o)){let a=o.r;a.n&&Pe(a),s=!0}}else if((i&33)===33){(e.n||e.u)&&(n={t:e,f:n}),e=o.s,t=o,++r;continue}if(!s){let a=e.i;if(a){e=a;continue}}for(;r--;){let a=t.r,c=a.n;if(c?(e=n.t,n=n.f):e=a,s){if(lt(t)){c&&Pe(a),t=e.o;continue}s=!1}else t.e&=-33;if(t=e.o,e.i){e=e.i;continue e}}return s}},Pe=e=>{do{let t=e.o,n=t.e;(n&48)===32&&(t.e=n|16,n&2&&Ke(t))}while(e=e.n)},zt=(e,t)=>{let n=t.a;for(;n;){if(n===e)return!0;n=n.l}return!1},oe=e=>{let t=X,n=e.split(".");for(let r of n){if(t==null||!C(t,r))return;t=t[r]}return t},Ce=(e,t="")=>{let n=Array.isArray(e);if(n||U(e)){let r=n?[]:{};for(let o in e)r[o]=pe(Ce(e[o],`${t+o}.`));let s=pe(0);return new Proxy(r,{get(o,i){if(!(i==="toJSON"&&!C(r,i)))return n&&i in Array.prototype?(s(),r[i]):typeof i=="symbol"?r[i]:((!C(r,i)||r[i]()==null)&&(r[i]=pe(""),J(t+i,""),s(s()+1)),r[i]())},set(o,i,a){let c=t+i;if(n&&i==="length"){let l=r[i]-a;if(r[i]=a,l>0){let u={};for(let d=a;d<r[i];d++)u[d]=null;J(t.slice(0,-1),u),s(s()+1)}}else if(C(r,i))if(a==null)delete r[i];else if(C(a,Je))r[i]=a,J(c,"");else{let l=r[i](),u=`${c}.`;if(U(l)&&U(a)){for(let d in l)C(a,d)||(delete l[d],J(u+d,null));for(let d in a){let h=a[d];l[d]!==h&&(l[d]=h)}}else r[i](Ce(a,u))&&J(c,a)}else a!=null&&(C(a,Je)?(r[i]=a,J(c,"")):(r[i]=pe(Ce(a,`${c}.`)),J(c,a)),s(s()+1));return!0},deleteProperty(o,i){return delete r[i],s(s()+1),!0},ownKeys(){return s(),Reflect.ownKeys(r)},has(o,i){return s(),i in r}})}return e},J=(e,t)=>{if(e!==void 0&&t!==void 0&&xe.push([e,t]),!Oe&&xe.length){let n=Me(xe);xe.length=0,document.dispatchEvent(new CustomEvent(Z,{detail:n}))}},O=(e,{ifMissing:t}={})=>{M();for(let n in e)e[n]==null?t||delete X[n]:vt(e[n],n,X,"",t);x()},T=(e,t)=>O(Me(e),t),vt=(e,t,n,r,s)=>{if(U(e)){C(n,t)&&(U(n[t])||Array.isArray(n[t]))||(n[t]={});for(let o in e)e[o]==null?s||delete n[t][o]:vt(e[o],o,n[t],`${r+t}.`,s)}else s&&C(n,t)||(n[t]=e)},ut=e=>typeof e=="string"?RegExp(e.replace(/^\/|\/$/g,"")):e,_=({include:e=/.*/,exclude:t=/(?!)/}={},n=X)=>{let r=ut(e),s=ut(t),o=[],i=[[n,""]];for(;i.length;){let[a,c]=i.pop();for(let l in a){let u=c+l;U(a[l])?i.push([a[l],`${u}.`]):r.test(u)&&!s.test(u)&&o.push([u,oe(u)])}}return Me(o)},X=Ce({});var K=e=>e instanceof HTMLElement||e instanceof SVGElement||e instanceof MathMLElement;var ge=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();var Et=e=>ge(e).replace(/-/g,"_");var ae=e=>{try{return JSON.parse(e)}catch{return Function(`return (${e})`)()}},St={camel:e=>e.replace(/-[a-z]/g,t=>t[1].toUpperCase()),snake:e=>e.replace(/-/g,"_"),pascal:e=>e[0].toUpperCase()+St.camel(e.slice(1))},L=(e,t,n="camel")=>{for(let r of t.get("case")||[n])e=St[r]?.(e)||e;return e},G=e=>`data-${e}`;var Qt="https://data-star.dev/errors",he=(e,t,n={})=>{Object.assign(n,e);let r=new Error,s=Et(t),o=new URLSearchParams({metadata:JSON.stringify(n)}).toString(),i=JSON.stringify(n,null,2);return r.message=`${t}
2
+ var at = /🖕JS_DS🚀/.source,
3
+ je = at.slice(0, 5),
4
+ Ge = at.slice(4),
5
+ q = "datastar-fetch",
6
+ Z = "datastar-signal-patch";
7
+ var C = Object.hasOwn ?? Object.prototype.hasOwnProperty.call;
8
+ var U = (e) =>
9
+ e !== null &&
10
+ typeof e == "object" &&
11
+ (Object.getPrototypeOf(e) === Object.prototype ||
12
+ Object.getPrototypeOf(e) === null),
13
+ ct = (e) => {
14
+ for (let t in e) if (C(e, t)) return !1;
15
+ return !0;
16
+ },
17
+ Y = (e, t) => {
18
+ for (let n in e) {
19
+ let r = e[n];
20
+ U(r) || Array.isArray(r) ? Y(r, t) : (e[n] = t(r));
21
+ }
22
+ },
23
+ Me = (e) => {
24
+ let t = {};
25
+ for (let [n, r] of e) {
26
+ let s = n.split("."),
27
+ o = s.pop(),
28
+ i = s.reduce((a, c) => (a[c] ??= {}), t);
29
+ i[o] = r;
30
+ }
31
+ return t;
32
+ };
33
+ var xe = [],
34
+ Be = [],
35
+ Oe = 0,
36
+ Le = 0,
37
+ We = 0,
38
+ Ue,
39
+ j,
40
+ Ne = 0,
41
+ M = () => {
42
+ Oe++;
43
+ },
44
+ x = () => {
45
+ --Oe || (ft(), J());
46
+ },
47
+ F = (e) => {
48
+ ((Ue = j), (j = e));
49
+ },
50
+ P = () => {
51
+ ((j = Ue), (Ue = void 0));
52
+ },
53
+ pe = (e) => Ut.bind(0, { previousValue: e, t: e, e: 1 }),
54
+ Je = Symbol("computed"),
55
+ ke = (e) => {
56
+ let t = Jt.bind(0, { e: 17, getter: e });
57
+ return ((t[Je] = 1), t);
58
+ },
59
+ S = (e) => {
60
+ let t = { d: e, e: 2 };
61
+ (j && ze(t, j), F(t), M());
62
+ try {
63
+ t.d();
64
+ } finally {
65
+ (x(), P());
66
+ }
67
+ return gt.bind(0, t);
68
+ },
69
+ ft = () => {
70
+ for (; Le < We; ) {
71
+ let e = Be[Le];
72
+ ((Be[Le++] = void 0), pt(e, (e.e &= -65)));
73
+ }
74
+ ((Le = 0), (We = 0));
75
+ },
76
+ lt = (e) => ("getter" in e ? dt(e) : mt(e, e.t)),
77
+ dt = (e) => {
78
+ (F(e), ht(e));
79
+ try {
80
+ let t = e.t;
81
+ return t !== (e.t = e.getter(t));
82
+ } finally {
83
+ (P(), yt(e));
84
+ }
85
+ },
86
+ mt = (e, t) => ((e.e = 1), e.previousValue !== (e.previousValue = t)),
87
+ Ke = (e) => {
88
+ let t = e.e;
89
+ if (!(t & 64)) {
90
+ e.e = t | 64;
91
+ let n = e.r;
92
+ n ? Ke(n.o) : (Be[We++] = e);
93
+ }
94
+ },
95
+ pt = (e, t) => {
96
+ if (t & 16 || (t & 32 && bt(e.s, e))) {
97
+ (F(e), ht(e), M());
98
+ try {
99
+ e.d();
100
+ } finally {
101
+ (x(), P(), yt(e));
102
+ }
103
+ return;
104
+ }
105
+ t & 32 && (e.e = t & -33);
106
+ let n = e.s;
107
+ for (; n; ) {
108
+ let r = n.c,
109
+ s = r.e;
110
+ (s & 64 && pt(r, (r.e = s & -65)), (n = n.i));
111
+ }
112
+ },
113
+ Ut = (e, ...t) => {
114
+ if (t.length) {
115
+ if (e.t !== (e.t = t[0])) {
116
+ e.e = 17;
117
+ let r = e.r;
118
+ return (r && (Kt(r), Oe || ft()), !0);
119
+ }
120
+ return !1;
121
+ }
122
+ let n = e.t;
123
+ if (e.e & 16 && mt(e, n)) {
124
+ let r = e.r;
125
+ r && Pe(r);
126
+ }
127
+ return (j && ze(e, j), n);
128
+ },
129
+ Jt = (e) => {
130
+ let t = e.e;
131
+ if (t & 16 || (t & 32 && bt(e.s, e))) {
132
+ if (dt(e)) {
133
+ let n = e.r;
134
+ n && Pe(n);
135
+ }
136
+ } else t & 32 && (e.e = t & -33);
137
+ return (j && ze(e, j), e.t);
138
+ },
139
+ gt = (e) => {
140
+ let t = e.s;
141
+ for (; t; ) t = Fe(t, e);
142
+ let n = e.r;
143
+ (n && Fe(n), (e.e = 0));
144
+ },
145
+ ze = (e, t) => {
146
+ let n = t.a;
147
+ if (n && n.c === e) return;
148
+ let r = n ? n.i : t.s;
149
+ if (r && r.c === e) {
150
+ ((r.m = Ne), (t.a = r));
151
+ return;
152
+ }
153
+ let s = e.p;
154
+ if (s && s.m === Ne && s.o === t) return;
155
+ let o = (t.a = e.p = { m: Ne, c: e, o: t, l: n, i: r, u: s });
156
+ (r && (r.l = o), n ? (n.i = o) : (t.s = o), s ? (s.n = o) : (e.r = o));
157
+ },
158
+ Fe = (e, t = e.o) => {
159
+ let n = e.c,
160
+ r = e.l,
161
+ s = e.i,
162
+ o = e.n,
163
+ i = e.u;
164
+ if (
165
+ (s ? (s.l = r) : (t.a = r),
166
+ r ? (r.i = s) : (t.s = s),
167
+ o ? (o.u = i) : (n.p = i),
168
+ i)
169
+ )
170
+ i.n = o;
171
+ else if (!(n.r = o))
172
+ if ("getter" in n) {
173
+ let a = n.s;
174
+ if (a) {
175
+ n.e = 17;
176
+ do a = Fe(a, n);
177
+ while (a);
178
+ }
179
+ } else "previousValue" in n || gt(n);
180
+ return s;
181
+ },
182
+ Kt = (e) => {
183
+ let t = e.n,
184
+ n;
185
+ e: for (;;) {
186
+ let r = e.o,
187
+ s = r.e;
188
+ if (
189
+ (s & 60
190
+ ? s & 12
191
+ ? s & 4
192
+ ? !(s & 48) && zt(e, r)
193
+ ? ((r.e = s | 40), (s &= 1))
194
+ : (s = 0)
195
+ : (r.e = (s & -9) | 32)
196
+ : (s = 0)
197
+ : (r.e = s | 32),
198
+ s & 2 && Ke(r),
199
+ s & 1)
200
+ ) {
201
+ let o = r.r;
202
+ if (o) {
203
+ let i = (e = o).n;
204
+ i && ((n = { t, f: n }), (t = i));
205
+ continue;
206
+ }
207
+ }
208
+ if ((e = t)) {
209
+ t = e.n;
210
+ continue;
211
+ }
212
+ for (; n; )
213
+ if (((e = n.t), (n = n.f), e)) {
214
+ t = e.n;
215
+ continue e;
216
+ }
217
+ break;
218
+ }
219
+ },
220
+ ht = (e) => {
221
+ (Ne++, (e.a = void 0), (e.e = (e.e & -57) | 4));
222
+ },
223
+ yt = (e) => {
224
+ let t = e.a,
225
+ n = t ? t.i : e.s;
226
+ for (; n; ) n = Fe(n, e);
227
+ e.e &= -5;
228
+ },
229
+ bt = (e, t) => {
230
+ let n,
231
+ r = 0,
232
+ s = !1;
233
+ e: for (;;) {
234
+ let o = e.c,
235
+ i = o.e;
236
+ if (t.e & 16) s = !0;
237
+ else if ((i & 17) === 17) {
238
+ if (lt(o)) {
239
+ let a = o.r;
240
+ (a.n && Pe(a), (s = !0));
241
+ }
242
+ } else if ((i & 33) === 33) {
243
+ ((e.n || e.u) && (n = { t: e, f: n }), (e = o.s), (t = o), ++r);
244
+ continue;
245
+ }
246
+ if (!s) {
247
+ let a = e.i;
248
+ if (a) {
249
+ e = a;
250
+ continue;
251
+ }
252
+ }
253
+ for (; r--; ) {
254
+ let a = t.r,
255
+ c = a.n;
256
+ if ((c ? ((e = n.t), (n = n.f)) : (e = a), s)) {
257
+ if (lt(t)) {
258
+ (c && Pe(a), (t = e.o));
259
+ continue;
260
+ }
261
+ s = !1;
262
+ } else t.e &= -33;
263
+ if (((t = e.o), e.i)) {
264
+ e = e.i;
265
+ continue e;
266
+ }
267
+ }
268
+ return s;
269
+ }
270
+ },
271
+ Pe = (e) => {
272
+ do {
273
+ let t = e.o,
274
+ n = t.e;
275
+ (n & 48) === 32 && ((t.e = n | 16), n & 2 && Ke(t));
276
+ } while ((e = e.n));
277
+ },
278
+ zt = (e, t) => {
279
+ let n = t.a;
280
+ for (; n; ) {
281
+ if (n === e) return !0;
282
+ n = n.l;
283
+ }
284
+ return !1;
285
+ },
286
+ oe = (e) => {
287
+ let t = X,
288
+ n = e.split(".");
289
+ for (let r of n) {
290
+ if (t == null || !C(t, r)) return;
291
+ t = t[r];
292
+ }
293
+ return t;
294
+ },
295
+ Ce = (e, t = "") => {
296
+ let n = Array.isArray(e);
297
+ if (n || U(e)) {
298
+ let r = n ? [] : {};
299
+ for (let o in e) r[o] = pe(Ce(e[o], `${t + o}.`));
300
+ let s = pe(0);
301
+ return new Proxy(r, {
302
+ get(o, i) {
303
+ if (!(i === "toJSON" && !C(r, i)))
304
+ return n && i in Array.prototype
305
+ ? (s(), r[i])
306
+ : typeof i == "symbol"
307
+ ? r[i]
308
+ : ((!C(r, i) || r[i]() == null) &&
309
+ ((r[i] = pe("")), J(t + i, ""), s(s() + 1)),
310
+ r[i]());
311
+ },
312
+ set(o, i, a) {
313
+ let c = t + i;
314
+ if (n && i === "length") {
315
+ let l = r[i] - a;
316
+ if (((r[i] = a), l > 0)) {
317
+ let u = {};
318
+ for (let d = a; d < r[i]; d++) u[d] = null;
319
+ (J(t.slice(0, -1), u), s(s() + 1));
320
+ }
321
+ } else if (C(r, i))
322
+ if (a == null) delete r[i];
323
+ else if (C(a, Je)) ((r[i] = a), J(c, ""));
324
+ else {
325
+ let l = r[i](),
326
+ u = `${c}.`;
327
+ if (U(l) && U(a)) {
328
+ for (let d in l) C(a, d) || (delete l[d], J(u + d, null));
329
+ for (let d in a) {
330
+ let h = a[d];
331
+ l[d] !== h && (l[d] = h);
332
+ }
333
+ } else r[i](Ce(a, u)) && J(c, a);
334
+ }
335
+ else
336
+ a != null &&
337
+ (C(a, Je)
338
+ ? ((r[i] = a), J(c, ""))
339
+ : ((r[i] = pe(Ce(a, `${c}.`))), J(c, a)),
340
+ s(s() + 1));
341
+ return !0;
342
+ },
343
+ deleteProperty(o, i) {
344
+ return (delete r[i], s(s() + 1), !0);
345
+ },
346
+ ownKeys() {
347
+ return (s(), Reflect.ownKeys(r));
348
+ },
349
+ has(o, i) {
350
+ return (s(), i in r);
351
+ },
352
+ });
353
+ }
354
+ return e;
355
+ },
356
+ J = (e, t) => {
357
+ if ((e !== void 0 && t !== void 0 && xe.push([e, t]), !Oe && xe.length)) {
358
+ let n = Me(xe);
359
+ ((xe.length = 0),
360
+ document.dispatchEvent(new CustomEvent(Z, { detail: n })));
361
+ }
362
+ },
363
+ O = (e, { ifMissing: t } = {}) => {
364
+ M();
365
+ for (let n in e) e[n] == null ? t || delete X[n] : vt(e[n], n, X, "", t);
366
+ x();
367
+ },
368
+ T = (e, t) => O(Me(e), t),
369
+ vt = (e, t, n, r, s) => {
370
+ if (U(e)) {
371
+ (C(n, t) && (U(n[t]) || Array.isArray(n[t]))) || (n[t] = {});
372
+ for (let o in e)
373
+ e[o] == null ? s || delete n[t][o] : vt(e[o], o, n[t], `${r + t}.`, s);
374
+ } else (s && C(n, t)) || (n[t] = e);
375
+ },
376
+ ut = (e) => (typeof e == "string" ? RegExp(e.replace(/^\/|\/$/g, "")) : e),
377
+ _ = ({ include: e = /.*/, exclude: t = /(?!)/ } = {}, n = X) => {
378
+ let r = ut(e),
379
+ s = ut(t),
380
+ o = [],
381
+ i = [[n, ""]];
382
+ for (; i.length; ) {
383
+ let [a, c] = i.pop();
384
+ for (let l in a) {
385
+ let u = c + l;
386
+ U(a[l])
387
+ ? i.push([a[l], `${u}.`])
388
+ : r.test(u) && !s.test(u) && o.push([u, oe(u)]);
389
+ }
390
+ }
391
+ return Me(o);
392
+ },
393
+ X = Ce({});
394
+ var K = (e) =>
395
+ e instanceof HTMLElement ||
396
+ e instanceof SVGElement ||
397
+ e instanceof MathMLElement;
398
+ var ge = (e) =>
399
+ e
400
+ .replace(/([a-z0-9])([A-Z])/g, "$1-$2")
401
+ .replace(/([a-z])([0-9]+)/gi, "$1-$2")
402
+ .replace(/([0-9]+)([a-z])/gi, "$1-$2")
403
+ .replace(/[\s_]+/g, "-")
404
+ .toLowerCase();
405
+ var Et = (e) => ge(e).replace(/-/g, "_");
406
+ var ae = (e) => {
407
+ try {
408
+ return JSON.parse(e);
409
+ } catch {
410
+ return Function(`return (${e})`)();
411
+ }
412
+ },
413
+ St = {
414
+ camel: (e) => e.replace(/-[a-z]/g, (t) => t[1].toUpperCase()),
415
+ snake: (e) => e.replace(/-/g, "_"),
416
+ pascal: (e) => e[0].toUpperCase() + St.camel(e.slice(1)),
417
+ },
418
+ L = (e, t, n = "camel") => {
419
+ for (let r of t.get("case") || [n]) e = St[r]?.(e) || e;
420
+ return e;
421
+ },
422
+ G = (e) => `data-${e}`;
423
+ var Qt = "https://data-star.dev/errors",
424
+ he = (e, t, n = {}) => {
425
+ Object.assign(n, e);
426
+ let r = new Error(),
427
+ s = Et(t),
428
+ o = new URLSearchParams({ metadata: JSON.stringify(n) }).toString(),
429
+ i = JSON.stringify(n, null, 2);
430
+ return (
431
+ (r.message = `${t}
3
432
  More info: ${Qt}/${s}?${o}
4
- Context: ${i}`,r},ye=new Map,Qe=new Map,At=new Map,Rt=new Proxy({},{get:(e,t)=>ye.get(t)?.apply,has:(e,t)=>ye.has(t),ownKeys:()=>Reflect.ownKeys(ye),set:()=>!1,deleteProperty:()=>!1}),be=new Map,He=[],Ze=new Set,Zt=new WeakSet,p=e=>{He.push(e),He.length===1&&setTimeout(()=>{for(let t of He)Ze.add(t.name),Qe.set(t.name,t);He.length=0,nn(),Ze.clear()})},k=e=>{ye.set(e.name,e)};document.addEventListener(q,e=>{let t=At.get(e.detail.type);t&&t.apply({error:he.bind(0,{plugin:{type:"watcher",name:t.name},element:{id:e.target.id,tag:e.target.tagName}})},e.detail.argsRaw)});var ve=e=>{At.set(e.name,e)},Tt=e=>{for(let t of e){let n=be.get(t);if(n&&be.delete(t))for(let r of n.values())for(let s of r.values())s()}},wt=G("ignore"),Yt=`[${wt}]`,Mt=e=>e.hasAttribute(`${wt}__self`)||!!e.closest(Yt),_e=(e,t)=>{for(let n of e)if(!Mt(n))for(let r in n.dataset)xt(n,r.replace(/[A-Z]/g,"-$&").toLowerCase(),n.dataset[r],t)},Xt=e=>{for(let{target:t,type:n,attributeName:r,addedNodes:s,removedNodes:o}of e)if(n==="childList"){for(let i of o)K(i)&&(Tt([i]),Tt(i.querySelectorAll("*")));for(let i of s)K(i)&&(_e([i]),_e(i.querySelectorAll("*")))}else if(n==="attributes"&&r.startsWith("data-")&&K(t)&&!Mt(t)){let i=r.slice(5),a=t.getAttribute(r);if(a===null){let c=be.get(t);if(c){let l=c.get(i);if(l){for(let u of l.values())u();c.delete(i)}}}else xt(t,i,a)}},en=new MutationObserver(Xt),tn=e=>{let[t,...n]=e.split("__"),[r,s]=t.split(/:(.+)/),o=new Map;for(let i of n){let[a,...c]=i.split(".");o.set(a,new Set(c))}return{pluginName:r,key:s,mods:o}};var nn=(e=document.documentElement,t=!0)=>{K(e)&&_e([e],!0),_e(e.querySelectorAll("*"),!0),t&&(en.observe(e,{subtree:!0,childList:!0,attributes:!0}),Zt.add(e))},xt=(e,t,n,r)=>{{let s=t,{pluginName:o,key:i,mods:a}=tn(s),c=Qe.get(o);if((!r||Ze.has(o))&&c){let l={el:e,rawKey:s,mods:a,error:he.bind(0,{plugin:{type:"attribute",name:c.name},element:{id:e.id,tag:e.tagName},expression:{rawKey:s,key:i,value:n}}),key:i,value:n,loadedPluginNames:{actions:new Set(ye.keys()),attributes:new Set(Qe.keys())},rx:void 0},u=c.requirement&&(typeof c.requirement=="string"?c.requirement:c.requirement.key)||"allowed",d=c.requirement&&(typeof c.requirement=="string"?c.requirement:c.requirement.value)||"allowed",h=i!=null&&i!=="",f=n!=null&&n!=="";if(h){if(u==="denied")throw l.error("KeyNotAllowed")}else if(u==="must")throw l.error("KeyRequired");if(f){if(d==="denied")throw l.error("ValueNotAllowed")}else if(d==="must")throw l.error("ValueRequired");if(u==="exclusive"||d==="exclusive"){if(h&&f)throw l.error("KeyAndValueProvided");if(!h&&!f)throw l.error("KeyOrValueRequired")}let m=new Map;if(f){let v;l.rx=(...A)=>(v||(v=rn(n,{returnsValue:c.returnsValue,argNames:c.argNames,cleanups:m})),v(e,...A))}let y=c.apply(l);y&&m.set("attribute",y);let b=be.get(e);if(b){let v=b.get(s);if(v)for(let A of v.values())A()}else b=new Map,be.set(e,b);b.set(s,m)}}},rn=(e,{returnsValue:t=!1,argNames:n=[],cleanups:r=new Map}={})=>{let s="";if(t){let c=/(\/(\\\/|[^/])*\/|"(\\"|[^"])*"|'(\\'|[^'])*'|`(\\`|[^`])*`|\(\s*((function)\s*\(\s*\)|(\(\s*\))\s*=>)\s*(?:\{[\s\S]*?\}|[^;){]*)\s*\)\s*\(\s*\)|[^;])+/gm,l=e.trim().match(c);if(l){let u=l.length-1,d=l[u].trim();d.startsWith("return")||(l[u]=`return (${d});`),s=l.join(`;
5
- `)}}else s=e.trim();let o=new Map,i=RegExp(`(?:${je})(.*?)(?:${Ge})`,"gm"),a=0;for(let c of s.matchAll(i)){let l=c[1],u=`__escaped${a++}`;o.set(u,l),s=s.replace(je+l+Ge,u)}s=s.replace(/\$\['([a-zA-Z_$\d][\w$]*)'\]/g,"$$$1").replace(/\$([a-zA-Z_\d]\w*(?:[.-]\w+)*)/g,(c,l)=>l.split(".").reduce((u,d)=>`${u}['${d}']`,"$")),s=s.replaceAll(/@([A-Za-z_$][\w$]*)\(/g,'__action("$1",evt,');for(let[c,l]of o)s=s.replace(c,l);try{let c=Function("el","$","__action","evt",...n,s);return(l,...u)=>{let d=(h,f,...m)=>{let y=he.bind(0,{plugin:{type:"action",name:h},element:{id:l.id,tag:l.tagName},expression:{fnContent:s,value:e}}),b=Rt[h];if(b)return b({el:l,evt:f,error:y,cleanups:r},...m);throw y("UndefinedAction")};try{return c(l,X,d,void 0,...u)}catch(h){throw console.error(h),he({element:{id:l.id,tag:l.tagName},expression:{fnContent:s,value:e},error:h.message},"ExecuteExpression")}}}catch(c){throw console.error(c),he({expression:{fnContent:s,value:e},error:c.message},"GenerateExpression")}};k({name:"peek",apply(e,t){F();try{return t()}finally{P()}}});k({name:"setAll",apply(e,t,n){F();let r=_(n);Y(r,()=>t),O(r),P()}});k({name:"toggleAll",apply(e,t){F();let n=_(t);Y(n,r=>!r),O(n),P()}});var Ee=(e,t,n=!0)=>k({name:e,apply:async({el:r,evt:s,error:o,cleanups:i},a,{selector:c,headers:l,contentType:u="json",filterSignals:{include:d=/.*/,exclude:h=/(^|\.)_/}={},openWhenHidden:f=n,payload:m,requestCancellation:y="auto",retry:b="auto",retryInterval:v=1e3,retryScaler:A=2,retryMaxWaitMs:I=3e4,retryMaxCount:ne=10}={})=>{let de=y instanceof AbortController?y:new AbortController;y==="auto"&&(i.get(`@${e}`)?.(),i.set(`@${e}`,async()=>{de.abort(),await Promise.resolve()}));let D=null;try{if(!a?.length)throw o("FetchNoUrlProvided",{action:k});let V={Accept:"text/event-stream, text/html, application/json","Datastar-Request":!0};u==="json"&&(V["Content-Type"]="application/json");let Ae=Object.assign({},V,l),re={method:t,headers:Ae,openWhenHidden:f,retry:b,retryInterval:v,retryScaler:A,retryMaxWaitMs:I,retryMaxCount:ne,signal:de.signal,onopen:async g=>{g.status>=400&&ee(sn,r,{status:g.status.toString()})},onmessage:g=>{if(!g.event.startsWith("datastar"))return;let B=g.event,E={};for(let R of g.data.split(`
6
- `)){let w=R.indexOf(" "),W=R.slice(0,w),De=R.slice(w+1);(E[W]||=[]).push(De)}let N=Object.fromEntries(Object.entries(E).map(([R,w])=>[R,w.join(`
7
- `)]));ee(B,r,N)},onerror:g=>{if(Lt(g))throw g("FetchExpectedTextEventStream",{url:a});g&&(console.error(g.message),ee(on,r,{message:g.message}))}},se=new URL(a,document.baseURI),ie=new URLSearchParams(se.search);if(u==="json"){F(),m=m!==void 0?m:_({include:d,exclude:h}),P();let g=JSON.stringify(m);t==="GET"?ie.set("datastar",g):re.body=g}else if(u==="form"){let g=c?document.querySelector(c):r.closest("form");if(!g)throw o("FetchFormNotFound",{action:k,selector:c});if(!g.noValidate&&!g.checkValidity()){g.reportValidity();return}let B=new FormData(g),E=r;if(r===g&&s instanceof SubmitEvent)E=s.submitter;else{let w=W=>W.preventDefault();g.addEventListener("submit",w),D=()=>{g.removeEventListener("submit",w)}}if(E instanceof HTMLButtonElement){let w=E.getAttribute("name");w&&B.append(w,E.value)}let N=g.getAttribute("enctype")==="multipart/form-data";N||(Ae["Content-Type"]="application/x-www-form-urlencoded");let R=new URLSearchParams(B);if(t==="GET")for(let[w,W]of R)ie.append(w,W);else N?re.body=B:re.body=R}else throw o("FetchInvalidContentType",{action:k,contentType:u});ee(Ye,r,{}),se.search=ie.toString();try{await dn(se.toString(),r,re)}catch(g){if(!Lt(g))throw o("FetchFailed",{method:t,url:a,error:g.message})}}finally{ee(Xe,r,{}),D?.(),i.delete(`@${e}`)}}});Ee("get","GET",!1);Ee("patch","PATCH");Ee("post","POST");Ee("put","PUT");Ee("delete","DELETE");var Ye="started",Xe="finished",sn="error",on="retrying",an="retries-failed",ee=(e,t,n)=>document.dispatchEvent(new CustomEvent(q,{detail:{type:e,el:t,argsRaw:n}})),Lt=e=>`${e}`.includes("text/event-stream"),cn=async(e,t)=>{let n=e.getReader(),r=await n.read();for(;!r.done;)t(r.value),r=await n.read()},ln=e=>{let t,n,r,s=!1;return o=>{t?t=fn(t,o):(t=o,n=0,r=-1);let i=t.length,a=0;for(;n<i;){s&&(t[n]===10&&(a=++n),s=!1);let c=-1;for(;n<i&&c===-1;++n)switch(t[n]){case 58:r===-1&&(r=n-a);break;case 13:s=!0;case 10:c=n;break}if(c===-1)break;e(t.subarray(a,c),r),a=n,r=-1}a===i?t=void 0:a&&(t=t.subarray(a),n-=a)}},un=(e,t,n)=>{let r=Nt(),s=new TextDecoder;return(o,i)=>{if(!o.length)n?.(r),r=Nt();else if(i>0){let a=s.decode(o.subarray(0,i)),c=i+(o[i+1]===32?2:1),l=s.decode(o.subarray(c));switch(a){case"data":r.data=r.data?`${r.data}
8
- ${l}`:l;break;case"event":r.event=l;break;case"id":e(r.id=l);break;case"retry":{let u=+l;Number.isNaN(u)||t(r.retry=u);break}}}}},fn=(e,t)=>{let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n},Nt=()=>({data:"",event:"",id:"",retry:void 0}),dn=(e,t,{signal:n,headers:r,onopen:s,onmessage:o,onclose:i,onerror:a,openWhenHidden:c,fetch:l,retry:u="auto",retryInterval:d=1e3,retryScaler:h=2,retryMaxWaitMs:f=3e4,retryMaxCount:m=10,responseOverrides:y,...b})=>new Promise((v,A)=>{let I={...r},ne,de=()=>{ne.abort(),document.hidden||g()};c||document.addEventListener("visibilitychange",de);let D,V=()=>{document.removeEventListener("visibilitychange",de),clearTimeout(D),ne.abort()};n?.addEventListener("abort",()=>{V(),v()});let Ae=l||window.fetch,re=s||(()=>{}),se=0,ie=d,g=async()=>{ne=new AbortController;let B=ne.signal;try{let E=await Ae(e,{...b,headers:I,signal:B});await re(E);let N=async($,me,$e,Re,...Wt)=>{let ot={[$e]:await me.text()};for(let Ie of Wt){let qe=me.headers.get(`datastar-${ge(Ie)}`);if(Re){let we=Re[Ie];we&&(qe=typeof we=="string"?we:JSON.stringify(we))}qe&&(ot[Ie]=qe)}ee($,t,ot),V(),v()},R=E.status,w=R===204,W=R>=300&&R<400,De=R>=400&&R<600;if(R!==200){if(i?.(),u!=="never"&&!w&&!W&&(u==="always"||u==="error"&&De)){clearTimeout(D),D=setTimeout(g,d);return}V(),v();return}se=0,d=ie;let Ve=E.headers.get("Content-Type");if(Ve?.includes("text/html"))return await N("datastar-patch-elements",E,"elements",y,"selector","mode","namespace","useViewTransition");if(Ve?.includes("application/json"))return await N("datastar-patch-signals",E,"signals",y,"onlyIfMissing");if(Ve?.includes("text/javascript")){let $=document.createElement("script"),me=E.headers.get("datastar-script-attributes");if(me)for(let[$e,Re]of Object.entries(JSON.parse(me)))$.setAttribute($e,Re);$.textContent=await E.text(),document.head.appendChild($),V();return}if(await cn(E.body,ln(un($=>{$?I["last-event-id"]=$:delete I["last-event-id"]},$=>{ie=d=$},o))),i?.(),u==="always"&&!W){clearTimeout(D),D=setTimeout(g,d);return}V(),v()}catch(E){if(!B.aborted)try{let N=a?.(E)||d;clearTimeout(D),D=setTimeout(g,N),d=Math.min(d*h,f),++se>=m?(ee(an,t,{}),V(),A("Max retries reached.")):console.error(`Datastar failed to reach ${e.toString()} retrying in ${N}ms.`)}catch(N){V(),A(N)}}};g()});p({name:"attr",requirement:{value:"must"},returnsValue:!0,apply({el:e,key:t,rx:n}){let r=(a,c)=>{c===""||c===!0?e.setAttribute(a,""):c===!1||c==null?e.removeAttribute(a):typeof c=="string"?e.setAttribute(a,c):e.setAttribute(a,JSON.stringify(c))},s=t?()=>{o.disconnect();let a=n();r(t,a),o.observe(e,{attributeFilter:[t]})}:()=>{o.disconnect();let a=n(),c=Object.keys(a);for(let l of c)r(l,a[l]);o.observe(e,{attributeFilter:c})},o=new MutationObserver(s),i=S(s);return()=>{o.disconnect(),i()}}});var mn=/^data:(?<mime>[^;]+);base64,(?<contents>.*)$/,Ct=Symbol("empty"),Ft=G("bind");p({name:"bind",requirement:"exclusive",apply({el:e,key:t,mods:n,value:r,error:s}){let o=t!=null?L(t,n):r,i=(f,m)=>m==="number"?+f.value:f.value,a=f=>{e.value=`${f}`};if(e instanceof HTMLInputElement)switch(e.type){case"range":case"number":i=(f,m)=>m==="string"?f.value:+f.value;break;case"checkbox":i=(f,m)=>f.value!=="on"?m==="boolean"?f.checked:f.checked?f.value:"":m==="string"?f.checked?f.value:"":f.checked,a=f=>{e.checked=typeof f=="string"?f===e.value:f};break;case"radio":e.getAttribute("name")?.length||e.setAttribute("name",o),i=(f,m)=>f.checked?m==="number"?+f.value:f.value:Ct,a=f=>{e.checked=f===(typeof f=="number"?+e.value:e.value)};break;case"file":{let f=()=>{let m=[...e.files||[]],y=[];Promise.all(m.map(b=>new Promise(v=>{let A=new FileReader;A.onload=()=>{if(typeof A.result!="string")throw s("InvalidFileResultType",{resultType:typeof A.result});let I=A.result.match(mn);if(!I?.groups)throw s("InvalidDataUri",{result:A.result});y.push({name:b.name,contents:I.groups.contents,mime:I.groups.mime})},A.onloadend=()=>v(),A.readAsDataURL(b)}))).then(()=>{T([[o,y]])})};return e.addEventListener("change",f),e.addEventListener("input",f),()=>{e.removeEventListener("change",f),e.removeEventListener("input",f)}}}else if(e instanceof HTMLSelectElement){if(e.multiple){let f=new Map;i=m=>[...m.selectedOptions].map(y=>{let b=f.get(y.value);return b==="string"||b==null?y.value:+y.value}),a=m=>{for(let y of e.options)m.includes(y.value)?(f.set(y.value,"string"),y.selected=!0):m.includes(+y.value)?(f.set(y.value,"number"),y.selected=!0):y.selected=!1}}}else e instanceof HTMLTextAreaElement||(i=f=>"value"in f?f.value:f.getAttribute("value"),a=f=>{"value"in e?e.value=f:e.setAttribute("value",f)});let c=oe(o),l=typeof c,u=o;if(Array.isArray(c)&&!(e instanceof HTMLSelectElement&&e.multiple)){let f=t||r,m=document.querySelectorAll(`[${Ft}\\:${CSS.escape(f)}],[${Ft}="${CSS.escape(f)}"]`),y=[],b=0;for(let v of m){if(y.push([`${u}.${b}`,i(v,"none")]),e===v)break;b++}T(y,{ifMissing:!0}),u=`${u}.${b}`}else T([[u,i(e,l)]],{ifMissing:!0});let d=()=>{let f=oe(u);if(f!=null){let m=i(e,typeof f);m!==Ct&&T([[u,m]])}};e.addEventListener("input",d),e.addEventListener("change",d);let h=S(()=>{a(oe(u))});return()=>{h(),e.removeEventListener("input",d),e.removeEventListener("change",d)}}});p({name:"class",requirement:{value:"must"},returnsValue:!0,apply({key:e,el:t,mods:n,rx:r}){e&&=L(e,n,"kebab");let s,o=()=>{i.disconnect(),s=e?{[e]:r()}:r();for(let c in s){let l=c.split(/\s+/).filter(u=>u.length>0);if(s[c])for(let u of l)t.classList.contains(u)||t.classList.add(u);else for(let u of l)t.classList.contains(u)&&t.classList.remove(u)}i.observe(t,{attributeFilter:["class"]})},i=new MutationObserver(o),a=S(o);return()=>{i.disconnect(),a();for(let c in s){let l=c.split(/\s+/).filter(u=>u.length>0);for(let u of l)t.classList.remove(u)}}}});p({name:"computed",requirement:{value:"must"},returnsValue:!0,apply({key:e,mods:t,rx:n,error:r}){if(e)T([[L(e,t),ke(n)]]);else{let s=Object.assign({},n());Y(s,o=>{if(typeof o=="function")return ke(o);throw r("ComputedExpectedFunction")}),O(s)}}});p({name:"effect",requirement:{key:"denied",value:"must"},apply:({rx:e})=>S(e)});p({name:"indicator",requirement:"exclusive",apply({el:e,key:t,mods:n,value:r}){let s=t!=null?L(t,n):r;T([[s,!1]]);let o=i=>{let{type:a,el:c}=i.detail;if(c===e)switch(a){case Ye:T([[s,!0]]);break;case Xe:T([[s,!1]]);break}};return document.addEventListener(q,o),()=>{T([[s,!1]]),document.removeEventListener(q,o)}}});var z=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},te=(e,t,n=!1)=>e?e.has(t.toLowerCase()):n;var et=(e,t)=>(...n)=>{setTimeout(()=>{e(...n)},t)},Pt=(e,t,n=!0,r=!1,s=!1)=>{let o=null,i=0;return(...a)=>{n&&!i?(e(...a),o=null):o=a,(!i||s)&&(i&&clearTimeout(i),i=setTimeout(()=>{r&&o!==null&&e(...o),o=null,i=0},t))}},ce=(e,t)=>{let n=t.get("delay");if(n){let o=z(n);e=et(e,o)}let r=t.get("debounce");if(r){let o=z(r),i=te(r,"leading",!1),a=!te(r,"notrailing",!1);e=Pt(e,o,i,a,!0)}let s=t.get("throttle");if(s){let o=z(s),i=!te(s,"noleading",!1),a=te(s,"trailing",!1);e=Pt(e,o,i,a)}return e};var tt=!!document.startViewTransition,Q=(e,t)=>{if(t.has("viewtransition")&&tt){let n=e;e=(...r)=>document.startViewTransition(()=>n(...r))}return e};p({name:"init",requirement:{key:"denied",value:"must"},apply({rx:e,mods:t}){let n=()=>{M(),e(),x()};n=Q(n,t);let r=0,s=t.get("delay");s&&(r=z(s),r>0&&(n=et(n,r))),n()}});p({name:"json-signals",requirement:{key:"denied"},apply({el:e,value:t,mods:n}){let r=n.has("terse")?0:2,s={};t&&(s=ae(t));let o=()=>{i.disconnect(),e.textContent=JSON.stringify(_(s),null,r),i.observe(e,{childList:!0,characterData:!0,subtree:!0})},i=new MutationObserver(o),a=S(o);return()=>{i.disconnect(),a()}}});p({name:"on",requirement:"must",argNames:["evt"],apply({el:e,key:t,mods:n,rx:r}){let s=e;n.has("window")&&(s=window);let o=c=>{c&&(n.has("prevent")&&c.preventDefault(),n.has("stop")&&c.stopPropagation()),M(),r(c),x()};o=Q(o,n),o=ce(o,n);let i={capture:n.has("capture"),passive:n.has("passive"),once:n.has("once")};if(n.has("outside")){s=document;let c=o;o=l=>{e.contains(l?.target)||c(l)}}let a=L(t,n,"kebab");if((a===q||a===Z)&&(s=document),e instanceof HTMLFormElement&&a==="submit"){let c=o;o=l=>{l?.preventDefault(),c(l)}}return s.addEventListener(a,o,i),()=>{s.removeEventListener(a,o)}}});var Ot=(e,t,n)=>Math.max(t,Math.min(n,e));var nt=new WeakSet;p({name:"on-intersect",requirement:{key:"denied",value:"must"},apply({el:e,mods:t,rx:n}){let r=()=>{M(),n(),x()};r=Q(r,t),r=ce(r,t);let s={threshold:0};t.has("full")?s.threshold=1:t.has("half")?s.threshold=.5:t.get("threshold")&&(s.threshold=Ot(Number(t.get("threshold")),0,100)/100);let o=t.has("exit"),i=new IntersectionObserver(a=>{for(let c of a)c.isIntersecting!==o&&(r(),i&&nt.has(e)&&i.disconnect())},s);return i.observe(e),t.has("once")&&nt.add(e),()=>{t.has("once")||nt.delete(e),i&&(i.disconnect(),i=null)}}});p({name:"on-interval",requirement:{key:"denied",value:"must"},apply({mods:e,rx:t}){let n=()=>{M(),t(),x()};n=Q(n,e);let r=1e3,s=e.get("duration");s&&(r=z(s),te(s,"leading",!1)&&n());let o=setInterval(n,r);return()=>{clearInterval(o)}}});p({name:"on-signal-patch",requirement:{value:"must"},argNames:["patch"],returnsValue:!0,apply({el:e,key:t,mods:n,rx:r,error:s}){if(t&&t!=="filter")throw s("KeyNotAllowed");let o=G(`${this.name}-filter`),i=e.getAttribute(o),a={};i&&(a=ae(i));let c=!1,l=ce(u=>{if(c)return;let d=_(a,u.detail);if(!ct(d)){c=!0,M();try{r(d)}finally{x(),c=!1}}},n);return document.addEventListener(Z,l),()=>{document.removeEventListener(Z,l)}}});p({name:"ref",requirement:"exclusive",apply({el:e,key:t,mods:n,value:r}){let s=t!=null?L(t,n):r;T([[s,e]])}});var kt="none",Ht="display";p({name:"show",requirement:{key:"denied",value:"must"},returnsValue:!0,apply({el:e,rx:t}){let n=()=>{r.disconnect(),t()?e.style.display===kt&&e.style.removeProperty(Ht):e.style.setProperty(Ht,kt),r.observe(e,{attributeFilter:["style"]})},r=new MutationObserver(n),s=S(n);return()=>{r.disconnect(),s()}}});p({name:"signals",returnsValue:!0,apply({key:e,mods:t,rx:n}){let r=t.has("ifmissing");if(e)e=L(e,t),T([[e,n?.()]],{ifMissing:r});else{let s=Object.assign({},n?.());O(s,{ifMissing:r})}}});p({name:"style",requirement:{value:"must"},returnsValue:!0,apply({key:e,el:t,rx:n}){let{style:r}=t,s=new Map,o=(l,u)=>{let d=s.get(l);!u&&u!==0?d!==void 0&&(d?r.setProperty(l,d):r.removeProperty(l)):(d===void 0&&s.set(l,r.getPropertyValue(l)),r.setProperty(l,String(u)))},i=()=>{if(a.disconnect(),e)o(e,n());else{let l=n();for(let[u,d]of s)u in l||(d?r.setProperty(u,d):r.removeProperty(u));for(let u in l)o(ge(u),l[u])}a.observe(t,{attributeFilter:["style"]})},a=new MutationObserver(i),c=S(i);return()=>{a.disconnect(),c();for(let[l,u]of s)u?r.setProperty(l,u):r.removeProperty(l)}}});p({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),s=S(n);return()=>{r.disconnect(),s()}}});var _t=(e,t)=>e.includes(t),pn=["remove","outer","inner","replace","prepend","append","before","after"],gn=["html","svg","mathml"];ve({name:"datastar-patch-elements",apply(e,{selector:t="",mode:n="outer",namespace:r="html",useViewTransition:s="",elements:o=""}){if(!_t(pn,n))throw e.error("PatchElementsInvalidMode",{mode:n});if(!t&&n!=="outer"&&n!=="replace")throw e.error("PatchElementsExpectedSelector");if(!_t(gn,r))throw e.error("PatchElementsInvalidNamespace",{namespace:r});let i={selector:t,mode:n,namespace:r,useViewTransition:s.trim()==="true",elements:o};tt&&s?document.startViewTransition(()=>Dt(e,i)):Dt(e,i)}});var Dt=({error:e},{selector:t,mode:n,namespace:r,elements:s})=>{let o=s.replace(/<svg(\s[^>]*>|>)([\s\S]*?)<\/svg>/gim,""),i=/<\/html>/.test(o),a=/<\/head>/.test(o),c=/<\/body>/.test(o),l=r==="svg"?"svg":r==="mathml"?"math":"",u=l?`<${l}>${s}</${l}>`:s,d=new DOMParser().parseFromString(i||a||c?s:`<body><template>${u}</template></body>`,"text/html"),h=document.createDocumentFragment();if(i)h.appendChild(d.documentElement);else if(a&&c)h.appendChild(d.head),h.appendChild(d.body);else if(a)h.appendChild(d.head);else if(c)h.appendChild(d.body);else if(l){let f=d.querySelector("template").content.querySelector(l);for(let m of f.childNodes)h.appendChild(m)}else h=d.querySelector("template").content;if(!t&&(n==="outer"||n==="replace"))for(let f of h.children){let m;if(f instanceof HTMLHtmlElement)m=document.documentElement;else if(f instanceof HTMLBodyElement)m=document.body;else if(f instanceof HTMLHeadElement)m=document.head;else if(m=document.getElementById(f.id),!m){console.warn(e("PatchElementsNoTargetsFound"),{element:{id:f.id}});continue}$t(n,f,[m])}else{let f=document.querySelectorAll(t);if(!f.length){console.warn(e("PatchElementsNoTargetsFound"),{selector:t});return}$t(n,h,f)}},st=new WeakSet;for(let e of document.querySelectorAll("script"))st.add(e);var jt=e=>{let t=e instanceof HTMLScriptElement?[e]:e.querySelectorAll("script");for(let n of t)if(!st.has(n)){let r=document.createElement("script");for(let{name:s,value:o}of n.attributes)r.setAttribute(s,o);r.text=n.text,n.replaceWith(r),st.add(r)}},Vt=(e,t,n)=>{for(let r of e){let s=t.cloneNode(!0);jt(s),r[n](s)}},$t=(e,t,n)=>{switch(e){case"remove":for(let r of n)r.remove();break;case"outer":case"inner":for(let r of n)yn(r,t.cloneNode(!0),e),jt(r);break;case"replace":Vt(n,t,"replaceWith");break;case"prepend":case"append":case"before":case"after":Vt(n,t,e)}},H=new Map,ue=new Set,le=new Map,Se=new Set,fe=document.createElement("div");fe.hidden=!0;var Te=G("ignore-morph"),hn=`[${Te}]`,yn=(e,t,n="outer")=>{if(K(e)&&K(t)&&e.hasAttribute(Te)&&t.hasAttribute(Te)||e.parentElement?.closest(hn))return;let r=document.createElement("div");r.append(t),document.body.insertAdjacentElement("afterend",fe);let s=e.querySelectorAll("[id]");for(let{id:a,tagName:c}of s)le.has(a)?Se.add(a):le.set(a,c);e instanceof Element&&e.id&&(le.has(e.id)?Se.add(e.id):le.set(e.id,e.tagName)),ue.clear();let o=r.querySelectorAll("[id]");for(let{id:a,tagName:c}of o)ue.has(a)?Se.add(a):le.get(a)===c&&ue.add(a);for(let a of Se)ue.delete(a);le.clear(),Se.clear(),H.clear();let i=n==="outer"?e.parentElement:e;qt(i,s),qt(r,o),Gt(i,r,n==="outer"?e:null,e.nextSibling),fe.remove()},Gt=(e,t,n=null,r=null)=>{e instanceof HTMLTemplateElement&&t instanceof HTMLTemplateElement&&(e=e.content,t=t.content),n??=e.firstChild;for(let s of t.childNodes){if(n&&n!==r){let o=bn(s,n,r);if(o){if(o!==n){let i=n;for(;i&&i!==o;){let a=i;i=i.nextSibling,it(a)}}rt(o,s),n=o.nextSibling;continue}}if(s instanceof Element&&ue.has(s.id)){let o=document.getElementById(s.id),i=o;for(;i=i.parentNode;){let a=H.get(i);a&&(a.delete(s.id),a.size||H.delete(i))}Bt(e,o,n),rt(o,s),n=o.nextSibling;continue}if(H.has(s)){let o=s.namespaceURI,i=s.tagName,a=o&&o!=="http://www.w3.org/1999/xhtml"?document.createElementNS(o,i):document.createElement(i);e.insertBefore(a,n),rt(a,s),n=a.nextSibling}else{let o=document.importNode(s,!0);e.insertBefore(o,n),n=o.nextSibling}}for(;n&&n!==r;){let s=n;n=n.nextSibling,it(s)}},bn=(e,t,n)=>{let r=null,s=e.nextSibling,o=0,i=0,a=H.get(e)?.size||0,c=t;for(;c&&c!==n;){if(It(c,e)){let l=!1,u=H.get(c),d=H.get(e);if(d&&u){for(let h of u)if(d.has(h)){l=!0;break}}if(l)return c;if(!r&&!H.has(c)){if(!a)return c;r=c}}if(i+=H.get(c)?.size||0,i>a)break;r===null&&s&&It(c,s)&&(o++,s=s.nextSibling,o>=2&&(r=void 0)),c=c.nextSibling}return r||null},It=(e,t)=>e.nodeType===t.nodeType&&e.tagName===t.tagName&&(!e.id||e.id===t.id),it=e=>{H.has(e)?Bt(fe,e,null):e.parentNode?.removeChild(e)},Bt=it.call.bind(fe.moveBefore??fe.insertBefore),vn=G("preserve-attr"),rt=(e,t)=>{let n=t.nodeType;if(n===1){let r=e,s=t,o=r.hasAttribute("data-scope-children");if(r.hasAttribute(Te)&&s.hasAttribute(Te))return e;r instanceof HTMLInputElement&&s instanceof HTMLInputElement&&s.type!=="file"?s.getAttribute("value")!==r.getAttribute("value")&&(r.value=s.getAttribute("value")??""):r instanceof HTMLTextAreaElement&&s instanceof HTMLTextAreaElement&&(s.value!==r.value&&(r.value=s.value),r.firstChild&&r.firstChild.nodeValue!==s.value&&(r.firstChild.nodeValue=s.value));let i=(t.getAttribute(vn)??"").split(" ");for(let{name:a,value:c}of s.attributes)r.getAttribute(a)!==c&&!i.includes(a)&&r.setAttribute(a,c);for(let a=r.attributes.length-1;a>=0;a--){let{name:c}=r.attributes[a];!s.hasAttribute(c)&&!i.includes(c)&&r.removeAttribute(c)}o&&!r.hasAttribute("data-scope-children")&&r.setAttribute("data-scope-children",""),r.isEqualNode(s)||Gt(r,s),o&&r.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(ue.has(n.id)){let r=n;for(;r&&r!==e;){let s=H.get(r);s||(s=new Set,H.set(r,s)),s.add(n.id),r=r.parentElement}}};ve({name:"datastar-patch-signals",apply({error:e},{signals:t,onlyIfMissing:n}){if(t){let r=n?.trim()==="true";O(ae(t),{ifMissing:r})}else throw e("PatchSignalsExpectedSignals")}});export{k as action,Rt as actions,p as attribute,M as beginBatch,ke as computed,S as effect,x as endBatch,_ as filtered,oe as getPath,O as mergePatch,T as mergePaths,X as root,pe as signal,F as startPeeking,P as stopPeeking,ve as watcher};
9
- //# sourceMappingURL=datastar.js.map
433
+ Context: ${i}`),
434
+ r
435
+ );
436
+ },
437
+ ye = new Map(),
438
+ Qe = new Map(),
439
+ At = new Map(),
440
+ Rt = new Proxy(
441
+ {},
442
+ {
443
+ get: (e, t) => ye.get(t)?.apply,
444
+ has: (e, t) => ye.has(t),
445
+ ownKeys: () => Reflect.ownKeys(ye),
446
+ set: () => !1,
447
+ deleteProperty: () => !1,
448
+ },
449
+ ),
450
+ be = new Map(),
451
+ He = [],
452
+ Ze = new Set(),
453
+ Zt = new WeakSet(),
454
+ p = (e) => {
455
+ (He.push(e),
456
+ He.length === 1 &&
457
+ setTimeout(() => {
458
+ for (let t of He) (Ze.add(t.name), Qe.set(t.name, t));
459
+ ((He.length = 0), nn(), Ze.clear());
460
+ }));
461
+ },
462
+ k = (e) => {
463
+ ye.set(e.name, e);
464
+ };
465
+ document.addEventListener(q, (e) => {
466
+ let t = At.get(e.detail.type);
467
+ t &&
468
+ t.apply(
469
+ {
470
+ error: he.bind(0, {
471
+ plugin: { type: "watcher", name: t.name },
472
+ element: { id: e.target.id, tag: e.target.tagName },
473
+ }),
474
+ },
475
+ e.detail.argsRaw,
476
+ );
477
+ });
478
+ var ve = (e) => {
479
+ At.set(e.name, e);
480
+ },
481
+ Tt = (e) => {
482
+ for (let t of e) {
483
+ let n = be.get(t);
484
+ if (n && be.delete(t))
485
+ for (let r of n.values()) for (let s of r.values()) s();
486
+ }
487
+ },
488
+ wt = G("ignore"),
489
+ Yt = `[${wt}]`,
490
+ Mt = (e) => e.hasAttribute(`${wt}__self`) || !!e.closest(Yt),
491
+ _e = (e, t) => {
492
+ for (let n of e)
493
+ if (!Mt(n))
494
+ for (let r in n.dataset)
495
+ xt(n, r.replace(/[A-Z]/g, "-$&").toLowerCase(), n.dataset[r], t);
496
+ },
497
+ Xt = (e) => {
498
+ for (let {
499
+ target: t,
500
+ type: n,
501
+ attributeName: r,
502
+ addedNodes: s,
503
+ removedNodes: o,
504
+ } of e)
505
+ if (n === "childList") {
506
+ for (let i of o) K(i) && (Tt([i]), Tt(i.querySelectorAll("*")));
507
+ for (let i of s) K(i) && (_e([i]), _e(i.querySelectorAll("*")));
508
+ } else if (
509
+ n === "attributes" &&
510
+ r.startsWith("data-") &&
511
+ K(t) &&
512
+ !Mt(t)
513
+ ) {
514
+ let i = r.slice(5),
515
+ a = t.getAttribute(r);
516
+ if (a === null) {
517
+ let c = be.get(t);
518
+ if (c) {
519
+ let l = c.get(i);
520
+ if (l) {
521
+ for (let u of l.values()) u();
522
+ c.delete(i);
523
+ }
524
+ }
525
+ } else xt(t, i, a);
526
+ }
527
+ },
528
+ en = new MutationObserver(Xt),
529
+ tn = (e) => {
530
+ let [t, ...n] = e.split("__"),
531
+ [r, s] = t.split(/:(.+)/),
532
+ o = new Map();
533
+ for (let i of n) {
534
+ let [a, ...c] = i.split(".");
535
+ o.set(a, new Set(c));
536
+ }
537
+ return { pluginName: r, key: s, mods: o };
538
+ };
539
+ var nn = (e = document.documentElement, t = !0) => {
540
+ (K(e) && _e([e], !0),
541
+ _e(e.querySelectorAll("*"), !0),
542
+ t &&
543
+ (en.observe(e, { subtree: !0, childList: !0, attributes: !0 }),
544
+ Zt.add(e)));
545
+ },
546
+ xt = (e, t, n, r) => {
547
+ {
548
+ let s = t,
549
+ { pluginName: o, key: i, mods: a } = tn(s),
550
+ c = Qe.get(o);
551
+ if ((!r || Ze.has(o)) && c) {
552
+ let l = {
553
+ el: e,
554
+ rawKey: s,
555
+ mods: a,
556
+ error: he.bind(0, {
557
+ plugin: { type: "attribute", name: c.name },
558
+ element: { id: e.id, tag: e.tagName },
559
+ expression: { rawKey: s, key: i, value: n },
560
+ }),
561
+ key: i,
562
+ value: n,
563
+ loadedPluginNames: {
564
+ actions: new Set(ye.keys()),
565
+ attributes: new Set(Qe.keys()),
566
+ },
567
+ rx: void 0,
568
+ },
569
+ u =
570
+ (c.requirement &&
571
+ (typeof c.requirement == "string"
572
+ ? c.requirement
573
+ : c.requirement.key)) ||
574
+ "allowed",
575
+ d =
576
+ (c.requirement &&
577
+ (typeof c.requirement == "string"
578
+ ? c.requirement
579
+ : c.requirement.value)) ||
580
+ "allowed",
581
+ h = i != null && i !== "",
582
+ f = n != null && n !== "";
583
+ if (h) {
584
+ if (u === "denied") throw l.error("KeyNotAllowed");
585
+ } else if (u === "must") throw l.error("KeyRequired");
586
+ if (f) {
587
+ if (d === "denied") throw l.error("ValueNotAllowed");
588
+ } else if (d === "must") throw l.error("ValueRequired");
589
+ if (u === "exclusive" || d === "exclusive") {
590
+ if (h && f) throw l.error("KeyAndValueProvided");
591
+ if (!h && !f) throw l.error("KeyOrValueRequired");
592
+ }
593
+ let m = new Map();
594
+ if (f) {
595
+ let v;
596
+ l.rx = (...A) => (
597
+ v ||
598
+ (v = rn(n, {
599
+ returnsValue: c.returnsValue,
600
+ argNames: c.argNames,
601
+ cleanups: m,
602
+ })),
603
+ v(e, ...A)
604
+ );
605
+ }
606
+ let y = c.apply(l);
607
+ y && m.set("attribute", y);
608
+ let b = be.get(e);
609
+ if (b) {
610
+ let v = b.get(s);
611
+ if (v) for (let A of v.values()) A();
612
+ } else ((b = new Map()), be.set(e, b));
613
+ b.set(s, m);
614
+ }
615
+ }
616
+ },
617
+ rn = (
618
+ e,
619
+ { returnsValue: t = !1, argNames: n = [], cleanups: r = new Map() } = {},
620
+ ) => {
621
+ let s = "";
622
+ if (t) {
623
+ let c =
624
+ /(\/(\\\/|[^/])*\/|"(\\"|[^"])*"|'(\\'|[^'])*'|`(\\`|[^`])*`|\(\s*((function)\s*\(\s*\)|(\(\s*\))\s*=>)\s*(?:\{[\s\S]*?\}|[^;){]*)\s*\)\s*\(\s*\)|[^;])+/gm,
625
+ l = e.trim().match(c);
626
+ if (l) {
627
+ let u = l.length - 1,
628
+ d = l[u].trim();
629
+ (d.startsWith("return") || (l[u] = `return (${d});`),
630
+ (s = l.join(`;
631
+ `)));
632
+ }
633
+ } else s = e.trim();
634
+ let o = new Map(),
635
+ i = RegExp(`(?:${je})(.*?)(?:${Ge})`, "gm"),
636
+ a = 0;
637
+ for (let c of s.matchAll(i)) {
638
+ let l = c[1],
639
+ u = `__escaped${a++}`;
640
+ (o.set(u, l), (s = s.replace(je + l + Ge, u)));
641
+ }
642
+ ((s = s
643
+ .replace(/\$\['([a-zA-Z_$\d][\w$]*)'\]/g, "$$$1")
644
+ .replace(/\$([a-zA-Z_\d]\w*(?:[.-]\w+)*)/g, (c, l) =>
645
+ l.split(".").reduce((u, d) => `${u}['${d}']`, "$"),
646
+ )),
647
+ (s = s.replaceAll(/@([A-Za-z_$][\w$]*)\(/g, '__action("$1",evt,')));
648
+ for (let [c, l] of o) s = s.replace(c, l);
649
+ try {
650
+ let c = Function("el", "$", "__action", "evt", ...n, s);
651
+ return (l, ...u) => {
652
+ let d = (h, f, ...m) => {
653
+ let y = he.bind(0, {
654
+ plugin: { type: "action", name: h },
655
+ element: { id: l.id, tag: l.tagName },
656
+ expression: { fnContent: s, value: e },
657
+ }),
658
+ b = Rt[h];
659
+ if (b) return b({ el: l, evt: f, error: y, cleanups: r }, ...m);
660
+ throw y("UndefinedAction");
661
+ };
662
+ try {
663
+ return c(l, X, d, void 0, ...u);
664
+ } catch (h) {
665
+ throw (
666
+ console.error(h),
667
+ he(
668
+ {
669
+ element: { id: l.id, tag: l.tagName },
670
+ expression: { fnContent: s, value: e },
671
+ error: h.message,
672
+ },
673
+ "ExecuteExpression",
674
+ )
675
+ );
676
+ }
677
+ };
678
+ } catch (c) {
679
+ throw (
680
+ console.error(c),
681
+ he(
682
+ { expression: { fnContent: s, value: e }, error: c.message },
683
+ "GenerateExpression",
684
+ )
685
+ );
686
+ }
687
+ };
688
+ k({
689
+ name: "peek",
690
+ apply(e, t) {
691
+ F();
692
+ try {
693
+ return t();
694
+ } finally {
695
+ P();
696
+ }
697
+ },
698
+ });
699
+ k({
700
+ name: "setAll",
701
+ apply(e, t, n) {
702
+ F();
703
+ let r = _(n);
704
+ (Y(r, () => t), O(r), P());
705
+ },
706
+ });
707
+ k({
708
+ name: "toggleAll",
709
+ apply(e, t) {
710
+ F();
711
+ let n = _(t);
712
+ (Y(n, (r) => !r), O(n), P());
713
+ },
714
+ });
715
+ var Ee = (e, t, n = !0) =>
716
+ k({
717
+ name: e,
718
+ apply: async (
719
+ { el: r, evt: s, error: o, cleanups: i },
720
+ a,
721
+ {
722
+ selector: c,
723
+ headers: l,
724
+ contentType: u = "json",
725
+ filterSignals: { include: d = /.*/, exclude: h = /(^|\.)_/ } = {},
726
+ openWhenHidden: f = n,
727
+ payload: m,
728
+ requestCancellation: y = "auto",
729
+ retry: b = "auto",
730
+ retryInterval: v = 1e3,
731
+ retryScaler: A = 2,
732
+ retryMaxWaitMs: I = 3e4,
733
+ retryMaxCount: ne = 10,
734
+ } = {},
735
+ ) => {
736
+ let de = y instanceof AbortController ? y : new AbortController();
737
+ y === "auto" &&
738
+ (i.get(`@${e}`)?.(),
739
+ i.set(`@${e}`, async () => {
740
+ (de.abort(), await Promise.resolve());
741
+ }));
742
+ let D = null;
743
+ try {
744
+ if (!a?.length) throw o("FetchNoUrlProvided", { action: k });
745
+ let V = {
746
+ Accept: "text/event-stream, text/html, application/json",
747
+ "Datastar-Request": !0,
748
+ };
749
+ u === "json" && (V["Content-Type"] = "application/json");
750
+ let Ae = Object.assign({}, V, l),
751
+ re = {
752
+ method: t,
753
+ headers: Ae,
754
+ openWhenHidden: f,
755
+ retry: b,
756
+ retryInterval: v,
757
+ retryScaler: A,
758
+ retryMaxWaitMs: I,
759
+ retryMaxCount: ne,
760
+ signal: de.signal,
761
+ onopen: async (g) => {
762
+ g.status >= 400 && ee(sn, r, { status: g.status.toString() });
763
+ },
764
+ onmessage: (g) => {
765
+ if (!g.event.startsWith("datastar")) return;
766
+ let B = g.event,
767
+ E = {};
768
+ for (let R of g.data.split(`
769
+ `)) {
770
+ let w = R.indexOf(" "),
771
+ W = R.slice(0, w),
772
+ De = R.slice(w + 1);
773
+ (E[W] ||= []).push(De);
774
+ }
775
+ let N = Object.fromEntries(
776
+ Object.entries(E).map(([R, w]) => [
777
+ R,
778
+ w.join(`
779
+ `),
780
+ ]),
781
+ );
782
+ ee(B, r, N);
783
+ },
784
+ onerror: (g) => {
785
+ if (Lt(g)) throw g("FetchExpectedTextEventStream", { url: a });
786
+ g &&
787
+ (console.error(g.message), ee(on, r, { message: g.message }));
788
+ },
789
+ },
790
+ se = new URL(a, document.baseURI),
791
+ ie = new URLSearchParams(se.search);
792
+ if (u === "json") {
793
+ (F(), (m = m !== void 0 ? m : _({ include: d, exclude: h })), P());
794
+ let g = JSON.stringify(m);
795
+ t === "GET" ? ie.set("datastar", g) : (re.body = g);
796
+ } else if (u === "form") {
797
+ let g = c ? document.querySelector(c) : r.closest("form");
798
+ if (!g) throw o("FetchFormNotFound", { action: k, selector: c });
799
+ if (!g.noValidate && !g.checkValidity()) {
800
+ g.reportValidity();
801
+ return;
802
+ }
803
+ let B = new FormData(g),
804
+ E = r;
805
+ if (r === g && s instanceof SubmitEvent) E = s.submitter;
806
+ else {
807
+ let w = (W) => W.preventDefault();
808
+ (g.addEventListener("submit", w),
809
+ (D = () => {
810
+ g.removeEventListener("submit", w);
811
+ }));
812
+ }
813
+ if (E instanceof HTMLButtonElement) {
814
+ let w = E.getAttribute("name");
815
+ w && B.append(w, E.value);
816
+ }
817
+ let N = g.getAttribute("enctype") === "multipart/form-data";
818
+ N || (Ae["Content-Type"] = "application/x-www-form-urlencoded");
819
+ let R = new URLSearchParams(B);
820
+ if (t === "GET") for (let [w, W] of R) ie.append(w, W);
821
+ else N ? (re.body = B) : (re.body = R);
822
+ } else
823
+ throw o("FetchInvalidContentType", { action: k, contentType: u });
824
+ (ee(Ye, r, {}), (se.search = ie.toString()));
825
+ try {
826
+ await dn(se.toString(), r, re);
827
+ } catch (g) {
828
+ if (!Lt(g))
829
+ throw o("FetchFailed", { method: t, url: a, error: g.message });
830
+ }
831
+ } finally {
832
+ (ee(Xe, r, {}), D?.(), i.delete(`@${e}`));
833
+ }
834
+ },
835
+ });
836
+ Ee("get", "GET", !1);
837
+ Ee("patch", "PATCH");
838
+ Ee("post", "POST");
839
+ Ee("put", "PUT");
840
+ Ee("delete", "DELETE");
841
+ var Ye = "started",
842
+ Xe = "finished",
843
+ sn = "error",
844
+ on = "retrying",
845
+ an = "retries-failed",
846
+ ee = (e, t, n) =>
847
+ document.dispatchEvent(
848
+ new CustomEvent(q, { detail: { type: e, el: t, argsRaw: n } }),
849
+ ),
850
+ Lt = (e) => `${e}`.includes("text/event-stream"),
851
+ cn = async (e, t) => {
852
+ let n = e.getReader(),
853
+ r = await n.read();
854
+ for (; !r.done; ) (t(r.value), (r = await n.read()));
855
+ },
856
+ ln = (e) => {
857
+ let t,
858
+ n,
859
+ r,
860
+ s = !1;
861
+ return (o) => {
862
+ t ? (t = fn(t, o)) : ((t = o), (n = 0), (r = -1));
863
+ let i = t.length,
864
+ a = 0;
865
+ for (; n < i; ) {
866
+ s && (t[n] === 10 && (a = ++n), (s = !1));
867
+ let c = -1;
868
+ for (; n < i && c === -1; ++n)
869
+ switch (t[n]) {
870
+ case 58:
871
+ r === -1 && (r = n - a);
872
+ break;
873
+ case 13:
874
+ s = !0;
875
+ case 10:
876
+ c = n;
877
+ break;
878
+ }
879
+ if (c === -1) break;
880
+ (e(t.subarray(a, c), r), (a = n), (r = -1));
881
+ }
882
+ a === i ? (t = void 0) : a && ((t = t.subarray(a)), (n -= a));
883
+ };
884
+ },
885
+ un = (e, t, n) => {
886
+ let r = Nt(),
887
+ s = new TextDecoder();
888
+ return (o, i) => {
889
+ if (!o.length) (n?.(r), (r = Nt()));
890
+ else if (i > 0) {
891
+ let a = s.decode(o.subarray(0, i)),
892
+ c = i + (o[i + 1] === 32 ? 2 : 1),
893
+ l = s.decode(o.subarray(c));
894
+ switch (a) {
895
+ case "data":
896
+ r.data = r.data
897
+ ? `${r.data}
898
+ ${l}`
899
+ : l;
900
+ break;
901
+ case "event":
902
+ r.event = l;
903
+ break;
904
+ case "id":
905
+ e((r.id = l));
906
+ break;
907
+ case "retry": {
908
+ let u = +l;
909
+ Number.isNaN(u) || t((r.retry = u));
910
+ break;
911
+ }
912
+ }
913
+ }
914
+ };
915
+ },
916
+ fn = (e, t) => {
917
+ let n = new Uint8Array(e.length + t.length);
918
+ return (n.set(e), n.set(t, e.length), n);
919
+ },
920
+ Nt = () => ({ data: "", event: "", id: "", retry: void 0 }),
921
+ dn = (
922
+ e,
923
+ t,
924
+ {
925
+ signal: n,
926
+ headers: r,
927
+ onopen: s,
928
+ onmessage: o,
929
+ onclose: i,
930
+ onerror: a,
931
+ openWhenHidden: c,
932
+ fetch: l,
933
+ retry: u = "auto",
934
+ retryInterval: d = 1e3,
935
+ retryScaler: h = 2,
936
+ retryMaxWaitMs: f = 3e4,
937
+ retryMaxCount: m = 10,
938
+ responseOverrides: y,
939
+ ...b
940
+ },
941
+ ) =>
942
+ new Promise((v, A) => {
943
+ let I = { ...r },
944
+ ne,
945
+ de = () => {
946
+ (ne.abort(), document.hidden || g());
947
+ };
948
+ c || document.addEventListener("visibilitychange", de);
949
+ let D,
950
+ V = () => {
951
+ (document.removeEventListener("visibilitychange", de),
952
+ clearTimeout(D),
953
+ ne.abort());
954
+ };
955
+ n?.addEventListener("abort", () => {
956
+ (V(), v());
957
+ });
958
+ let Ae = l || window.fetch,
959
+ re = s || (() => {}),
960
+ se = 0,
961
+ ie = d,
962
+ g = async () => {
963
+ ne = new AbortController();
964
+ let B = ne.signal;
965
+ try {
966
+ let E = await Ae(e, { ...b, headers: I, signal: B });
967
+ await re(E);
968
+ let N = async ($, me, $e, Re, ...Wt) => {
969
+ let ot = { [$e]: await me.text() };
970
+ for (let Ie of Wt) {
971
+ let qe = me.headers.get(`datastar-${ge(Ie)}`);
972
+ if (Re) {
973
+ let we = Re[Ie];
974
+ we &&
975
+ (qe = typeof we == "string" ? we : JSON.stringify(we));
976
+ }
977
+ qe && (ot[Ie] = qe);
978
+ }
979
+ (ee($, t, ot), V(), v());
980
+ },
981
+ R = E.status,
982
+ w = R === 204,
983
+ W = R >= 300 && R < 400,
984
+ De = R >= 400 && R < 600;
985
+ if (R !== 200) {
986
+ if (
987
+ (i?.(),
988
+ u !== "never" &&
989
+ !w &&
990
+ !W &&
991
+ (u === "always" || (u === "error" && De)))
992
+ ) {
993
+ (clearTimeout(D), (D = setTimeout(g, d)));
994
+ return;
995
+ }
996
+ (V(), v());
997
+ return;
998
+ }
999
+ ((se = 0), (d = ie));
1000
+ let Ve = E.headers.get("Content-Type");
1001
+ if (Ve?.includes("text/html"))
1002
+ return await N(
1003
+ "datastar-patch-elements",
1004
+ E,
1005
+ "elements",
1006
+ y,
1007
+ "selector",
1008
+ "mode",
1009
+ "namespace",
1010
+ "useViewTransition",
1011
+ );
1012
+ if (Ve?.includes("application/json"))
1013
+ return await N(
1014
+ "datastar-patch-signals",
1015
+ E,
1016
+ "signals",
1017
+ y,
1018
+ "onlyIfMissing",
1019
+ );
1020
+ if (Ve?.includes("text/javascript")) {
1021
+ let $ = document.createElement("script"),
1022
+ me = E.headers.get("datastar-script-attributes");
1023
+ if (me)
1024
+ for (let [$e, Re] of Object.entries(JSON.parse(me)))
1025
+ $.setAttribute($e, Re);
1026
+ (($.textContent = await E.text()),
1027
+ document.head.appendChild($),
1028
+ V());
1029
+ return;
1030
+ }
1031
+ if (
1032
+ (await cn(
1033
+ E.body,
1034
+ ln(
1035
+ un(
1036
+ ($) => {
1037
+ $ ? (I["last-event-id"] = $) : delete I["last-event-id"];
1038
+ },
1039
+ ($) => {
1040
+ ie = d = $;
1041
+ },
1042
+ o,
1043
+ ),
1044
+ ),
1045
+ ),
1046
+ i?.(),
1047
+ u === "always" && !W)
1048
+ ) {
1049
+ (clearTimeout(D), (D = setTimeout(g, d)));
1050
+ return;
1051
+ }
1052
+ (V(), v());
1053
+ } catch (E) {
1054
+ if (!B.aborted)
1055
+ try {
1056
+ let N = a?.(E) || d;
1057
+ (clearTimeout(D),
1058
+ (D = setTimeout(g, N)),
1059
+ (d = Math.min(d * h, f)),
1060
+ ++se >= m
1061
+ ? (ee(an, t, {}), V(), A("Max retries reached."))
1062
+ : console.error(
1063
+ `Datastar failed to reach ${e.toString()} retrying in ${N}ms.`,
1064
+ ));
1065
+ } catch (N) {
1066
+ (V(), A(N));
1067
+ }
1068
+ }
1069
+ };
1070
+ g();
1071
+ });
1072
+ p({
1073
+ name: "attr",
1074
+ requirement: { value: "must" },
1075
+ returnsValue: !0,
1076
+ apply({ el: e, key: t, rx: n }) {
1077
+ let r = (a, c) => {
1078
+ c === "" || c === !0
1079
+ ? e.setAttribute(a, "")
1080
+ : c === !1 || c == null
1081
+ ? e.removeAttribute(a)
1082
+ : typeof c == "string"
1083
+ ? e.setAttribute(a, c)
1084
+ : e.setAttribute(a, JSON.stringify(c));
1085
+ },
1086
+ s = t
1087
+ ? () => {
1088
+ o.disconnect();
1089
+ let a = n();
1090
+ (r(t, a), o.observe(e, { attributeFilter: [t] }));
1091
+ }
1092
+ : () => {
1093
+ o.disconnect();
1094
+ let a = n(),
1095
+ c = Object.keys(a);
1096
+ for (let l of c) r(l, a[l]);
1097
+ o.observe(e, { attributeFilter: c });
1098
+ },
1099
+ o = new MutationObserver(s),
1100
+ i = S(s);
1101
+ return () => {
1102
+ (o.disconnect(), i());
1103
+ };
1104
+ },
1105
+ });
1106
+ var mn = /^data:(?<mime>[^;]+);base64,(?<contents>.*)$/,
1107
+ Ct = Symbol("empty"),
1108
+ Ft = G("bind");
1109
+ p({
1110
+ name: "bind",
1111
+ requirement: "exclusive",
1112
+ apply({ el: e, key: t, mods: n, value: r, error: s }) {
1113
+ let o = t != null ? L(t, n) : r,
1114
+ i = (f, m) => (m === "number" ? +f.value : f.value),
1115
+ a = (f) => {
1116
+ e.value = `${f}`;
1117
+ };
1118
+ if (e instanceof HTMLInputElement)
1119
+ switch (e.type) {
1120
+ case "range":
1121
+ case "number":
1122
+ i = (f, m) => (m === "string" ? f.value : +f.value);
1123
+ break;
1124
+ case "checkbox":
1125
+ ((i = (f, m) =>
1126
+ f.value !== "on"
1127
+ ? m === "boolean"
1128
+ ? f.checked
1129
+ : f.checked
1130
+ ? f.value
1131
+ : ""
1132
+ : m === "string"
1133
+ ? f.checked
1134
+ ? f.value
1135
+ : ""
1136
+ : f.checked),
1137
+ (a = (f) => {
1138
+ e.checked = typeof f == "string" ? f === e.value : f;
1139
+ }));
1140
+ break;
1141
+ case "radio":
1142
+ (e.getAttribute("name")?.length || e.setAttribute("name", o),
1143
+ (i = (f, m) =>
1144
+ f.checked ? (m === "number" ? +f.value : f.value) : Ct),
1145
+ (a = (f) => {
1146
+ e.checked = f === (typeof f == "number" ? +e.value : e.value);
1147
+ }));
1148
+ break;
1149
+ case "file": {
1150
+ let f = () => {
1151
+ let m = [...(e.files || [])],
1152
+ y = [];
1153
+ Promise.all(
1154
+ m.map(
1155
+ (b) =>
1156
+ new Promise((v) => {
1157
+ let A = new FileReader();
1158
+ ((A.onload = () => {
1159
+ if (typeof A.result != "string")
1160
+ throw s("InvalidFileResultType", {
1161
+ resultType: typeof A.result,
1162
+ });
1163
+ let I = A.result.match(mn);
1164
+ if (!I?.groups)
1165
+ throw s("InvalidDataUri", { result: A.result });
1166
+ y.push({
1167
+ name: b.name,
1168
+ contents: I.groups.contents,
1169
+ mime: I.groups.mime,
1170
+ });
1171
+ }),
1172
+ (A.onloadend = () => v()),
1173
+ A.readAsDataURL(b));
1174
+ }),
1175
+ ),
1176
+ ).then(() => {
1177
+ T([[o, y]]);
1178
+ });
1179
+ };
1180
+ return (
1181
+ e.addEventListener("change", f),
1182
+ e.addEventListener("input", f),
1183
+ () => {
1184
+ (e.removeEventListener("change", f),
1185
+ e.removeEventListener("input", f));
1186
+ }
1187
+ );
1188
+ }
1189
+ }
1190
+ else if (e instanceof HTMLSelectElement) {
1191
+ if (e.multiple) {
1192
+ let f = new Map();
1193
+ ((i = (m) =>
1194
+ [...m.selectedOptions].map((y) => {
1195
+ let b = f.get(y.value);
1196
+ return b === "string" || b == null ? y.value : +y.value;
1197
+ })),
1198
+ (a = (m) => {
1199
+ for (let y of e.options)
1200
+ m.includes(y.value)
1201
+ ? (f.set(y.value, "string"), (y.selected = !0))
1202
+ : m.includes(+y.value)
1203
+ ? (f.set(y.value, "number"), (y.selected = !0))
1204
+ : (y.selected = !1);
1205
+ }));
1206
+ }
1207
+ } else
1208
+ e instanceof HTMLTextAreaElement ||
1209
+ ((i = (f) => ("value" in f ? f.value : f.getAttribute("value"))),
1210
+ (a = (f) => {
1211
+ "value" in e ? (e.value = f) : e.setAttribute("value", f);
1212
+ }));
1213
+ let c = oe(o),
1214
+ l = typeof c,
1215
+ u = o;
1216
+ if (Array.isArray(c) && !(e instanceof HTMLSelectElement && e.multiple)) {
1217
+ let f = t || r,
1218
+ m = document.querySelectorAll(
1219
+ `[${Ft}\\:${CSS.escape(f)}],[${Ft}="${CSS.escape(f)}"]`,
1220
+ ),
1221
+ y = [],
1222
+ b = 0;
1223
+ for (let v of m) {
1224
+ if ((y.push([`${u}.${b}`, i(v, "none")]), e === v)) break;
1225
+ b++;
1226
+ }
1227
+ (T(y, { ifMissing: !0 }), (u = `${u}.${b}`));
1228
+ } else T([[u, i(e, l)]], { ifMissing: !0 });
1229
+ let d = () => {
1230
+ let f = oe(u);
1231
+ if (f != null) {
1232
+ let m = i(e, typeof f);
1233
+ m !== Ct && T([[u, m]]);
1234
+ }
1235
+ };
1236
+ (e.addEventListener("input", d), e.addEventListener("change", d));
1237
+ let h = S(() => {
1238
+ a(oe(u));
1239
+ });
1240
+ return () => {
1241
+ (h(),
1242
+ e.removeEventListener("input", d),
1243
+ e.removeEventListener("change", d));
1244
+ };
1245
+ },
1246
+ });
1247
+ p({
1248
+ name: "class",
1249
+ requirement: { value: "must" },
1250
+ returnsValue: !0,
1251
+ apply({ key: e, el: t, mods: n, rx: r }) {
1252
+ e &&= L(e, n, "kebab");
1253
+ let s,
1254
+ o = () => {
1255
+ (i.disconnect(), (s = e ? { [e]: r() } : r()));
1256
+ for (let c in s) {
1257
+ let l = c.split(/\s+/).filter((u) => u.length > 0);
1258
+ if (s[c])
1259
+ for (let u of l) t.classList.contains(u) || t.classList.add(u);
1260
+ else
1261
+ for (let u of l) t.classList.contains(u) && t.classList.remove(u);
1262
+ }
1263
+ i.observe(t, { attributeFilter: ["class"] });
1264
+ },
1265
+ i = new MutationObserver(o),
1266
+ a = S(o);
1267
+ return () => {
1268
+ (i.disconnect(), a());
1269
+ for (let c in s) {
1270
+ let l = c.split(/\s+/).filter((u) => u.length > 0);
1271
+ for (let u of l) t.classList.remove(u);
1272
+ }
1273
+ };
1274
+ },
1275
+ });
1276
+ p({
1277
+ name: "computed",
1278
+ requirement: { value: "must" },
1279
+ returnsValue: !0,
1280
+ apply({ key: e, mods: t, rx: n, error: r }) {
1281
+ if (e) T([[L(e, t), ke(n)]]);
1282
+ else {
1283
+ let s = Object.assign({}, n());
1284
+ (Y(s, (o) => {
1285
+ if (typeof o == "function") return ke(o);
1286
+ throw r("ComputedExpectedFunction");
1287
+ }),
1288
+ O(s));
1289
+ }
1290
+ },
1291
+ });
1292
+ p({
1293
+ name: "effect",
1294
+ requirement: { key: "denied", value: "must" },
1295
+ apply: ({ rx: e }) => S(e),
1296
+ });
1297
+ p({
1298
+ name: "indicator",
1299
+ requirement: "exclusive",
1300
+ apply({ el: e, key: t, mods: n, value: r }) {
1301
+ let s = t != null ? L(t, n) : r;
1302
+ T([[s, !1]]);
1303
+ let o = (i) => {
1304
+ let { type: a, el: c } = i.detail;
1305
+ if (c === e)
1306
+ switch (a) {
1307
+ case Ye:
1308
+ T([[s, !0]]);
1309
+ break;
1310
+ case Xe:
1311
+ T([[s, !1]]);
1312
+ break;
1313
+ }
1314
+ };
1315
+ return (
1316
+ document.addEventListener(q, o),
1317
+ () => {
1318
+ (T([[s, !1]]), document.removeEventListener(q, o));
1319
+ }
1320
+ );
1321
+ },
1322
+ });
1323
+ var z = (e) => {
1324
+ if (!e || e.size <= 0) return 0;
1325
+ for (let t of e) {
1326
+ if (t.endsWith("ms")) return +t.replace("ms", "");
1327
+ if (t.endsWith("s")) return +t.replace("s", "") * 1e3;
1328
+ try {
1329
+ return Number.parseFloat(t);
1330
+ } catch {}
1331
+ }
1332
+ return 0;
1333
+ },
1334
+ te = (e, t, n = !1) => (e ? e.has(t.toLowerCase()) : n);
1335
+ var et =
1336
+ (e, t) =>
1337
+ (...n) => {
1338
+ setTimeout(() => {
1339
+ e(...n);
1340
+ }, t);
1341
+ },
1342
+ Pt = (e, t, n = !0, r = !1, s = !1) => {
1343
+ let o = null,
1344
+ i = 0;
1345
+ return (...a) => {
1346
+ (n && !i ? (e(...a), (o = null)) : (o = a),
1347
+ (!i || s) &&
1348
+ (i && clearTimeout(i),
1349
+ (i = setTimeout(() => {
1350
+ (r && o !== null && e(...o), (o = null), (i = 0));
1351
+ }, t))));
1352
+ };
1353
+ },
1354
+ ce = (e, t) => {
1355
+ let n = t.get("delay");
1356
+ if (n) {
1357
+ let o = z(n);
1358
+ e = et(e, o);
1359
+ }
1360
+ let r = t.get("debounce");
1361
+ if (r) {
1362
+ let o = z(r),
1363
+ i = te(r, "leading", !1),
1364
+ a = !te(r, "notrailing", !1);
1365
+ e = Pt(e, o, i, a, !0);
1366
+ }
1367
+ let s = t.get("throttle");
1368
+ if (s) {
1369
+ let o = z(s),
1370
+ i = !te(s, "noleading", !1),
1371
+ a = te(s, "trailing", !1);
1372
+ e = Pt(e, o, i, a);
1373
+ }
1374
+ return e;
1375
+ };
1376
+ var tt = !!document.startViewTransition,
1377
+ Q = (e, t) => {
1378
+ if (t.has("viewtransition") && tt) {
1379
+ let n = e;
1380
+ e = (...r) => document.startViewTransition(() => n(...r));
1381
+ }
1382
+ return e;
1383
+ };
1384
+ p({
1385
+ name: "init",
1386
+ requirement: { key: "denied", value: "must" },
1387
+ apply({ rx: e, mods: t }) {
1388
+ let n = () => {
1389
+ (M(), e(), x());
1390
+ };
1391
+ n = Q(n, t);
1392
+ let r = 0,
1393
+ s = t.get("delay");
1394
+ (s && ((r = z(s)), r > 0 && (n = et(n, r))), n());
1395
+ },
1396
+ });
1397
+ p({
1398
+ name: "json-signals",
1399
+ requirement: { key: "denied" },
1400
+ apply({ el: e, value: t, mods: n }) {
1401
+ let r = n.has("terse") ? 0 : 2,
1402
+ s = {};
1403
+ t && (s = ae(t));
1404
+ let o = () => {
1405
+ (i.disconnect(),
1406
+ (e.textContent = JSON.stringify(_(s), null, r)),
1407
+ i.observe(e, { childList: !0, characterData: !0, subtree: !0 }));
1408
+ },
1409
+ i = new MutationObserver(o),
1410
+ a = S(o);
1411
+ return () => {
1412
+ (i.disconnect(), a());
1413
+ };
1414
+ },
1415
+ });
1416
+ p({
1417
+ name: "on",
1418
+ requirement: "must",
1419
+ argNames: ["evt"],
1420
+ apply({ el: e, key: t, mods: n, rx: r }) {
1421
+ let s = e;
1422
+ n.has("window") && (s = window);
1423
+ let o = (c) => {
1424
+ (c &&
1425
+ (n.has("prevent") && c.preventDefault(),
1426
+ n.has("stop") && c.stopPropagation()),
1427
+ M(),
1428
+ r(c),
1429
+ x());
1430
+ };
1431
+ ((o = Q(o, n)), (o = ce(o, n)));
1432
+ let i = {
1433
+ capture: n.has("capture"),
1434
+ passive: n.has("passive"),
1435
+ once: n.has("once"),
1436
+ };
1437
+ if (n.has("outside")) {
1438
+ s = document;
1439
+ let c = o;
1440
+ o = (l) => {
1441
+ e.contains(l?.target) || c(l);
1442
+ };
1443
+ }
1444
+ let a = L(t, n, "kebab");
1445
+ if (
1446
+ ((a === q || a === Z) && (s = document),
1447
+ e instanceof HTMLFormElement && a === "submit")
1448
+ ) {
1449
+ let c = o;
1450
+ o = (l) => {
1451
+ (l?.preventDefault(), c(l));
1452
+ };
1453
+ }
1454
+ return (
1455
+ s.addEventListener(a, o, i),
1456
+ () => {
1457
+ s.removeEventListener(a, o);
1458
+ }
1459
+ );
1460
+ },
1461
+ });
1462
+ var Ot = (e, t, n) => Math.max(t, Math.min(n, e));
1463
+ var nt = new WeakSet();
1464
+ p({
1465
+ name: "on-intersect",
1466
+ requirement: { key: "denied", value: "must" },
1467
+ apply({ el: e, mods: t, rx: n }) {
1468
+ let r = () => {
1469
+ (M(), n(), x());
1470
+ };
1471
+ ((r = Q(r, t)), (r = ce(r, t)));
1472
+ let s = { threshold: 0 };
1473
+ t.has("full")
1474
+ ? (s.threshold = 1)
1475
+ : t.has("half")
1476
+ ? (s.threshold = 0.5)
1477
+ : t.get("threshold") &&
1478
+ (s.threshold = Ot(Number(t.get("threshold")), 0, 100) / 100);
1479
+ let o = t.has("exit"),
1480
+ i = new IntersectionObserver((a) => {
1481
+ for (let c of a)
1482
+ c.isIntersecting !== o && (r(), i && nt.has(e) && i.disconnect());
1483
+ }, s);
1484
+ return (
1485
+ i.observe(e),
1486
+ t.has("once") && nt.add(e),
1487
+ () => {
1488
+ (t.has("once") || nt.delete(e), i && (i.disconnect(), (i = null)));
1489
+ }
1490
+ );
1491
+ },
1492
+ });
1493
+ p({
1494
+ name: "on-interval",
1495
+ requirement: { key: "denied", value: "must" },
1496
+ apply({ mods: e, rx: t }) {
1497
+ let n = () => {
1498
+ (M(), t(), x());
1499
+ };
1500
+ n = Q(n, e);
1501
+ let r = 1e3,
1502
+ s = e.get("duration");
1503
+ s && ((r = z(s)), te(s, "leading", !1) && n());
1504
+ let o = setInterval(n, r);
1505
+ return () => {
1506
+ clearInterval(o);
1507
+ };
1508
+ },
1509
+ });
1510
+ p({
1511
+ name: "on-signal-patch",
1512
+ requirement: { value: "must" },
1513
+ argNames: ["patch"],
1514
+ returnsValue: !0,
1515
+ apply({ el: e, key: t, mods: n, rx: r, error: s }) {
1516
+ if (t && t !== "filter") throw s("KeyNotAllowed");
1517
+ let o = G(`${this.name}-filter`),
1518
+ i = e.getAttribute(o),
1519
+ a = {};
1520
+ i && (a = ae(i));
1521
+ let c = !1,
1522
+ l = ce((u) => {
1523
+ if (c) return;
1524
+ let d = _(a, u.detail);
1525
+ if (!ct(d)) {
1526
+ ((c = !0), M());
1527
+ try {
1528
+ r(d);
1529
+ } finally {
1530
+ (x(), (c = !1));
1531
+ }
1532
+ }
1533
+ }, n);
1534
+ return (
1535
+ document.addEventListener(Z, l),
1536
+ () => {
1537
+ document.removeEventListener(Z, l);
1538
+ }
1539
+ );
1540
+ },
1541
+ });
1542
+ p({
1543
+ name: "ref",
1544
+ requirement: "exclusive",
1545
+ apply({ el: e, key: t, mods: n, value: r }) {
1546
+ let s = t != null ? L(t, n) : r;
1547
+ T([[s, e]]);
1548
+ },
1549
+ });
1550
+ var kt = "none",
1551
+ Ht = "display";
1552
+ p({
1553
+ name: "show",
1554
+ requirement: { key: "denied", value: "must" },
1555
+ returnsValue: !0,
1556
+ apply({ el: e, rx: t }) {
1557
+ let n = () => {
1558
+ (r.disconnect(),
1559
+ t()
1560
+ ? e.style.display === kt && e.style.removeProperty(Ht)
1561
+ : e.style.setProperty(Ht, kt),
1562
+ r.observe(e, { attributeFilter: ["style"] }));
1563
+ },
1564
+ r = new MutationObserver(n),
1565
+ s = S(n);
1566
+ return () => {
1567
+ (r.disconnect(), s());
1568
+ };
1569
+ },
1570
+ });
1571
+ p({
1572
+ name: "signals",
1573
+ returnsValue: !0,
1574
+ apply({ key: e, mods: t, rx: n }) {
1575
+ let r = t.has("ifmissing");
1576
+ if (e) ((e = L(e, t)), T([[e, n?.()]], { ifMissing: r }));
1577
+ else {
1578
+ let s = Object.assign({}, n?.());
1579
+ O(s, { ifMissing: r });
1580
+ }
1581
+ },
1582
+ });
1583
+ p({
1584
+ name: "style",
1585
+ requirement: { value: "must" },
1586
+ returnsValue: !0,
1587
+ apply({ key: e, el: t, rx: n }) {
1588
+ let { style: r } = t,
1589
+ s = new Map(),
1590
+ o = (l, u) => {
1591
+ let d = s.get(l);
1592
+ !u && u !== 0
1593
+ ? d !== void 0 && (d ? r.setProperty(l, d) : r.removeProperty(l))
1594
+ : (d === void 0 && s.set(l, r.getPropertyValue(l)),
1595
+ r.setProperty(l, String(u)));
1596
+ },
1597
+ i = () => {
1598
+ if ((a.disconnect(), e)) o(e, n());
1599
+ else {
1600
+ let l = n();
1601
+ for (let [u, d] of s)
1602
+ u in l || (d ? r.setProperty(u, d) : r.removeProperty(u));
1603
+ for (let u in l) o(ge(u), l[u]);
1604
+ }
1605
+ a.observe(t, { attributeFilter: ["style"] });
1606
+ },
1607
+ a = new MutationObserver(i),
1608
+ c = S(i);
1609
+ return () => {
1610
+ (a.disconnect(), c());
1611
+ for (let [l, u] of s) u ? r.setProperty(l, u) : r.removeProperty(l);
1612
+ };
1613
+ },
1614
+ });
1615
+ p({
1616
+ name: "text",
1617
+ requirement: { key: "denied", value: "must" },
1618
+ returnsValue: !0,
1619
+ apply({ el: e, rx: t }) {
1620
+ let n = () => {
1621
+ (r.disconnect(),
1622
+ (e.textContent = `${t()}`),
1623
+ r.observe(e, { childList: !0, characterData: !0, subtree: !0 }));
1624
+ },
1625
+ r = new MutationObserver(n),
1626
+ s = S(n);
1627
+ return () => {
1628
+ (r.disconnect(), s());
1629
+ };
1630
+ },
1631
+ });
1632
+ var _t = (e, t) => e.includes(t),
1633
+ pn = [
1634
+ "remove",
1635
+ "outer",
1636
+ "inner",
1637
+ "replace",
1638
+ "prepend",
1639
+ "append",
1640
+ "before",
1641
+ "after",
1642
+ ],
1643
+ gn = ["html", "svg", "mathml"];
1644
+ ve({
1645
+ name: "datastar-patch-elements",
1646
+ apply(
1647
+ e,
1648
+ {
1649
+ selector: t = "",
1650
+ mode: n = "outer",
1651
+ namespace: r = "html",
1652
+ useViewTransition: s = "",
1653
+ elements: o = "",
1654
+ },
1655
+ ) {
1656
+ if (!_t(pn, n)) throw e.error("PatchElementsInvalidMode", { mode: n });
1657
+ if (!t && n !== "outer" && n !== "replace")
1658
+ throw e.error("PatchElementsExpectedSelector");
1659
+ if (!_t(gn, r))
1660
+ throw e.error("PatchElementsInvalidNamespace", { namespace: r });
1661
+ let i = {
1662
+ selector: t,
1663
+ mode: n,
1664
+ namespace: r,
1665
+ useViewTransition: s.trim() === "true",
1666
+ elements: o,
1667
+ };
1668
+ tt && s ? document.startViewTransition(() => Dt(e, i)) : Dt(e, i);
1669
+ },
1670
+ });
1671
+ var Dt = (
1672
+ { error: e },
1673
+ { selector: t, mode: n, namespace: r, elements: s },
1674
+ ) => {
1675
+ let o = s.replace(/<svg(\s[^>]*>|>)([\s\S]*?)<\/svg>/gim, ""),
1676
+ i = /<\/html>/.test(o),
1677
+ a = /<\/head>/.test(o),
1678
+ c = /<\/body>/.test(o),
1679
+ l = r === "svg" ? "svg" : r === "mathml" ? "math" : "",
1680
+ u = l ? `<${l}>${s}</${l}>` : s,
1681
+ d = new DOMParser().parseFromString(
1682
+ i || a || c ? s : `<body><template>${u}</template></body>`,
1683
+ "text/html",
1684
+ ),
1685
+ h = document.createDocumentFragment();
1686
+ if (i) h.appendChild(d.documentElement);
1687
+ else if (a && c) (h.appendChild(d.head), h.appendChild(d.body));
1688
+ else if (a) h.appendChild(d.head);
1689
+ else if (c) h.appendChild(d.body);
1690
+ else if (l) {
1691
+ let f = d.querySelector("template").content.querySelector(l);
1692
+ for (let m of f.childNodes) h.appendChild(m);
1693
+ } else h = d.querySelector("template").content;
1694
+ if (!t && (n === "outer" || n === "replace"))
1695
+ for (let f of h.children) {
1696
+ let m;
1697
+ if (f instanceof HTMLHtmlElement) m = document.documentElement;
1698
+ else if (f instanceof HTMLBodyElement) m = document.body;
1699
+ else if (f instanceof HTMLHeadElement) m = document.head;
1700
+ else if (((m = document.getElementById(f.id)), !m)) {
1701
+ console.warn(e("PatchElementsNoTargetsFound"), {
1702
+ element: { id: f.id },
1703
+ });
1704
+ continue;
1705
+ }
1706
+ $t(n, f, [m]);
1707
+ }
1708
+ else {
1709
+ let f = document.querySelectorAll(t);
1710
+ if (!f.length) {
1711
+ console.warn(e("PatchElementsNoTargetsFound"), { selector: t });
1712
+ return;
1713
+ }
1714
+ $t(n, h, f);
1715
+ }
1716
+ },
1717
+ st = new WeakSet();
1718
+ for (let e of document.querySelectorAll("script")) st.add(e);
1719
+ var jt = (e) => {
1720
+ let t = e instanceof HTMLScriptElement ? [e] : e.querySelectorAll("script");
1721
+ for (let n of t)
1722
+ if (!st.has(n)) {
1723
+ let r = document.createElement("script");
1724
+ for (let { name: s, value: o } of n.attributes) r.setAttribute(s, o);
1725
+ ((r.text = n.text), n.replaceWith(r), st.add(r));
1726
+ }
1727
+ },
1728
+ Vt = (e, t, n) => {
1729
+ for (let r of e) {
1730
+ let s = t.cloneNode(!0);
1731
+ (jt(s), r[n](s));
1732
+ }
1733
+ },
1734
+ $t = (e, t, n) => {
1735
+ switch (e) {
1736
+ case "remove":
1737
+ for (let r of n) r.remove();
1738
+ break;
1739
+ case "outer":
1740
+ case "inner":
1741
+ for (let r of n) (yn(r, t.cloneNode(!0), e), jt(r));
1742
+ break;
1743
+ case "replace":
1744
+ Vt(n, t, "replaceWith");
1745
+ break;
1746
+ case "prepend":
1747
+ case "append":
1748
+ case "before":
1749
+ case "after":
1750
+ Vt(n, t, e);
1751
+ }
1752
+ },
1753
+ H = new Map(),
1754
+ ue = new Set(),
1755
+ le = new Map(),
1756
+ Se = new Set(),
1757
+ fe = document.createElement("div");
1758
+ fe.hidden = !0;
1759
+ var Te = G("ignore-morph"),
1760
+ hn = `[${Te}]`,
1761
+ yn = (e, t, n = "outer") => {
1762
+ if (
1763
+ (K(e) && K(t) && e.hasAttribute(Te) && t.hasAttribute(Te)) ||
1764
+ e.parentElement?.closest(hn)
1765
+ )
1766
+ return;
1767
+ let r = document.createElement("div");
1768
+ (r.append(t), document.body.insertAdjacentElement("afterend", fe));
1769
+ let s = e.querySelectorAll("[id]");
1770
+ for (let { id: a, tagName: c } of s) le.has(a) ? Se.add(a) : le.set(a, c);
1771
+ (e instanceof Element &&
1772
+ e.id &&
1773
+ (le.has(e.id) ? Se.add(e.id) : le.set(e.id, e.tagName)),
1774
+ ue.clear());
1775
+ let o = r.querySelectorAll("[id]");
1776
+ for (let { id: a, tagName: c } of o)
1777
+ ue.has(a) ? Se.add(a) : le.get(a) === c && ue.add(a);
1778
+ for (let a of Se) ue.delete(a);
1779
+ (le.clear(), Se.clear(), H.clear());
1780
+ let i = n === "outer" ? e.parentElement : e;
1781
+ (qt(i, s),
1782
+ qt(r, o),
1783
+ Gt(i, r, n === "outer" ? e : null, e.nextSibling),
1784
+ fe.remove());
1785
+ },
1786
+ Gt = (e, t, n = null, r = null) => {
1787
+ (e instanceof HTMLTemplateElement &&
1788
+ t instanceof HTMLTemplateElement &&
1789
+ ((e = e.content), (t = t.content)),
1790
+ (n ??= e.firstChild));
1791
+ for (let s of t.childNodes) {
1792
+ if (n && n !== r) {
1793
+ let o = bn(s, n, r);
1794
+ if (o) {
1795
+ if (o !== n) {
1796
+ let i = n;
1797
+ for (; i && i !== o; ) {
1798
+ let a = i;
1799
+ ((i = i.nextSibling), it(a));
1800
+ }
1801
+ }
1802
+ (rt(o, s), (n = o.nextSibling));
1803
+ continue;
1804
+ }
1805
+ }
1806
+ if (s instanceof Element && ue.has(s.id)) {
1807
+ let o = document.getElementById(s.id),
1808
+ i = o;
1809
+ for (; (i = i.parentNode); ) {
1810
+ let a = H.get(i);
1811
+ a && (a.delete(s.id), a.size || H.delete(i));
1812
+ }
1813
+ (Bt(e, o, n), rt(o, s), (n = o.nextSibling));
1814
+ continue;
1815
+ }
1816
+ if (H.has(s)) {
1817
+ let o = s.namespaceURI,
1818
+ i = s.tagName,
1819
+ a =
1820
+ o && o !== "http://www.w3.org/1999/xhtml"
1821
+ ? document.createElementNS(o, i)
1822
+ : document.createElement(i);
1823
+ (e.insertBefore(a, n), rt(a, s), (n = a.nextSibling));
1824
+ } else {
1825
+ let o = document.importNode(s, !0);
1826
+ (e.insertBefore(o, n), (n = o.nextSibling));
1827
+ }
1828
+ }
1829
+ for (; n && n !== r; ) {
1830
+ let s = n;
1831
+ ((n = n.nextSibling), it(s));
1832
+ }
1833
+ },
1834
+ bn = (e, t, n) => {
1835
+ let r = null,
1836
+ s = e.nextSibling,
1837
+ o = 0,
1838
+ i = 0,
1839
+ a = H.get(e)?.size || 0,
1840
+ c = t;
1841
+ for (; c && c !== n; ) {
1842
+ if (It(c, e)) {
1843
+ let l = !1,
1844
+ u = H.get(c),
1845
+ d = H.get(e);
1846
+ if (d && u) {
1847
+ for (let h of u)
1848
+ if (d.has(h)) {
1849
+ l = !0;
1850
+ break;
1851
+ }
1852
+ }
1853
+ if (l) return c;
1854
+ if (!r && !H.has(c)) {
1855
+ if (!a) return c;
1856
+ r = c;
1857
+ }
1858
+ }
1859
+ if (((i += H.get(c)?.size || 0), i > a)) break;
1860
+ (r === null &&
1861
+ s &&
1862
+ It(c, s) &&
1863
+ (o++, (s = s.nextSibling), o >= 2 && (r = void 0)),
1864
+ (c = c.nextSibling));
1865
+ }
1866
+ return r || null;
1867
+ },
1868
+ It = (e, t) =>
1869
+ e.nodeType === t.nodeType &&
1870
+ e.tagName === t.tagName &&
1871
+ (!e.id || e.id === t.id),
1872
+ it = (e) => {
1873
+ H.has(e) ? Bt(fe, e, null) : e.parentNode?.removeChild(e);
1874
+ },
1875
+ Bt = it.call.bind(fe.moveBefore ?? fe.insertBefore),
1876
+ vn = G("preserve-attr"),
1877
+ rt = (e, t) => {
1878
+ let n = t.nodeType;
1879
+ if (n === 1) {
1880
+ let r = e,
1881
+ s = t,
1882
+ o = r.hasAttribute("data-scope-children");
1883
+ if (r.hasAttribute(Te) && s.hasAttribute(Te)) return e;
1884
+ r instanceof HTMLInputElement &&
1885
+ s instanceof HTMLInputElement &&
1886
+ s.type !== "file"
1887
+ ? s.getAttribute("value") !== r.getAttribute("value") &&
1888
+ (r.value = s.getAttribute("value") ?? "")
1889
+ : r instanceof HTMLTextAreaElement &&
1890
+ s instanceof HTMLTextAreaElement &&
1891
+ (s.value !== r.value && (r.value = s.value),
1892
+ r.firstChild &&
1893
+ r.firstChild.nodeValue !== s.value &&
1894
+ (r.firstChild.nodeValue = s.value));
1895
+ let i = (t.getAttribute(vn) ?? "").split(" ");
1896
+ for (let { name: a, value: c } of s.attributes)
1897
+ r.getAttribute(a) !== c && !i.includes(a) && r.setAttribute(a, c);
1898
+ for (let a = r.attributes.length - 1; a >= 0; a--) {
1899
+ let { name: c } = r.attributes[a];
1900
+ !s.hasAttribute(c) && !i.includes(c) && r.removeAttribute(c);
1901
+ }
1902
+ (o &&
1903
+ !r.hasAttribute("data-scope-children") &&
1904
+ r.setAttribute("data-scope-children", ""),
1905
+ r.isEqualNode(s) || Gt(r, s),
1906
+ o &&
1907
+ r.dispatchEvent(
1908
+ new CustomEvent("datastar:scope-children", { bubbles: !1 }),
1909
+ ));
1910
+ }
1911
+ return (
1912
+ (n === 8 || n === 3) &&
1913
+ e.nodeValue !== t.nodeValue &&
1914
+ (e.nodeValue = t.nodeValue),
1915
+ e
1916
+ );
1917
+ },
1918
+ qt = (e, t) => {
1919
+ for (let n of t)
1920
+ if (ue.has(n.id)) {
1921
+ let r = n;
1922
+ for (; r && r !== e; ) {
1923
+ let s = H.get(r);
1924
+ (s || ((s = new Set()), H.set(r, s)),
1925
+ s.add(n.id),
1926
+ (r = r.parentElement));
1927
+ }
1928
+ }
1929
+ };
1930
+ ve({
1931
+ name: "datastar-patch-signals",
1932
+ apply({ error: e }, { signals: t, onlyIfMissing: n }) {
1933
+ if (t) {
1934
+ let r = n?.trim() === "true";
1935
+ O(ae(t), { ifMissing: r });
1936
+ } else throw e("PatchSignalsExpectedSignals");
1937
+ },
1938
+ });
1939
+ export {
1940
+ k as action,
1941
+ Rt as actions,
1942
+ p as attribute,
1943
+ M as beginBatch,
1944
+ ke as computed,
1945
+ S as effect,
1946
+ x as endBatch,
1947
+ _ as filtered,
1948
+ oe as getPath,
1949
+ O as mergePatch,
1950
+ T as mergePaths,
1951
+ X as root,
1952
+ pe as signal,
1953
+ F as startPeeking,
1954
+ P as stopPeeking,
1955
+ ve as watcher,
1956
+ };
1957
+ //# sourceMappingURL=datastar.js.map