@jant/core 0.3.26 → 0.3.28

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 (314) hide show
  1. package/dist/client/client.css +1 -0
  2. package/dist/client/client.js +31561 -0
  3. package/dist/index.js +15209 -15
  4. package/package.json +21 -15
  5. package/src/__tests__/helpers/app.ts +19 -3
  6. package/src/__tests__/helpers/db.ts +44 -0
  7. package/src/__tests__/helpers/lingui-core-macro-mock.ts +33 -0
  8. package/src/app.tsx +112 -173
  9. package/src/auth.ts +4 -1
  10. package/src/client.ts +13 -0
  11. package/src/db/migrations/0007_post_collections_m2m.sql +94 -0
  12. package/src/db/migrations/0008_add_collection_dividers.sql +8 -0
  13. package/src/db/migrations/0009_drop_collection_show_divider.sql +2 -0
  14. package/src/db/migrations/0010_add_performance_indexes.sql +16 -0
  15. package/src/db/schema.ts +24 -4
  16. package/src/i18n/locales/en.po +810 -385
  17. package/src/i18n/locales/en.ts +1 -1
  18. package/src/i18n/locales/zh-Hans.po +733 -522
  19. package/src/i18n/locales/zh-Hans.ts +1 -1
  20. package/src/i18n/locales/zh-Hant.po +733 -522
  21. package/src/i18n/locales/zh-Hant.ts +1 -1
  22. package/src/i18n/middleware.ts +7 -11
  23. package/src/index.ts +1 -1
  24. package/src/lib/__tests__/icons.test.ts +178 -0
  25. package/src/lib/__tests__/resolve-config.test.ts +184 -0
  26. package/src/lib/__tests__/schemas.test.ts +12 -6
  27. package/src/lib/__tests__/theme.test.ts +62 -0
  28. package/src/lib/__tests__/timezones.test.ts +1 -1
  29. package/src/lib/__tests__/url.test.ts +12 -0
  30. package/src/lib/__tests__/view.test.ts +1 -5
  31. package/src/lib/avatar-upload.ts +18 -10
  32. package/src/lib/collection-form-bridge.ts +52 -0
  33. package/src/lib/collections-reorder.ts +28 -0
  34. package/src/lib/compose-bridge.ts +251 -0
  35. package/src/lib/errors.ts +116 -0
  36. package/src/lib/excerpt.ts +1 -1
  37. package/src/lib/favicon.ts +3 -5
  38. package/src/lib/html.ts +22 -0
  39. package/src/lib/icon-catalog.ts +181 -0
  40. package/src/lib/icons.ts +202 -0
  41. package/src/lib/navigation.ts +18 -33
  42. package/src/lib/pagination.ts +3 -2
  43. package/src/lib/post-form-bridge.ts +136 -0
  44. package/src/lib/render.tsx +11 -4
  45. package/src/lib/resolve-config.ts +157 -0
  46. package/src/lib/schemas.ts +76 -12
  47. package/src/lib/settings-bridge.ts +139 -0
  48. package/src/lib/storage.ts +37 -16
  49. package/src/lib/theme.ts +5 -7
  50. package/src/lib/timeline.ts +4 -8
  51. package/src/lib/toast.ts +134 -0
  52. package/src/lib/upload.ts +71 -0
  53. package/src/lib/url.ts +9 -1
  54. package/src/lib/version.ts +16 -0
  55. package/src/lib/view.ts +9 -10
  56. package/src/middleware/__tests__/auth.test.ts +6 -28
  57. package/src/middleware/__tests__/onboarding.test.ts +1 -1
  58. package/src/middleware/auth.ts +6 -12
  59. package/src/middleware/config.ts +51 -0
  60. package/src/middleware/error-handler.ts +56 -0
  61. package/src/middleware/onboarding.ts +1 -1
  62. package/src/preset.css +6 -0
  63. package/src/routes/__tests__/compose.test.ts +104 -17
  64. package/src/routes/api/__tests__/collections.test.ts +93 -2
  65. package/src/routes/api/__tests__/posts.test.ts +2 -1
  66. package/src/routes/api/__tests__/settings.test.ts +1 -1
  67. package/src/routes/api/collections.ts +64 -68
  68. package/src/routes/api/nav-items.ts +21 -59
  69. package/src/routes/api/pages.ts +18 -46
  70. package/src/routes/api/posts.ts +64 -86
  71. package/src/routes/api/search.ts +6 -4
  72. package/src/routes/api/settings.ts +8 -24
  73. package/src/routes/api/upload.ts +55 -53
  74. package/src/routes/auth/__tests__/setup.test.ts +118 -0
  75. package/src/routes/auth/reset.tsx +17 -66
  76. package/src/routes/auth/setup.tsx +67 -11
  77. package/src/routes/auth/signin.tsx +44 -8
  78. package/src/routes/compose.tsx +194 -0
  79. package/src/routes/dash/__tests__/font-theme.test.ts +110 -0
  80. package/src/routes/dash/__tests__/pages.test.ts +2 -2
  81. package/src/routes/dash/__tests__/settings-avatar.test.ts +23 -12
  82. package/src/routes/dash/appearance.tsx +173 -0
  83. package/src/routes/dash/collections.tsx +80 -14
  84. package/src/routes/dash/index.tsx +12 -14
  85. package/src/routes/dash/media.tsx +46 -49
  86. package/src/routes/dash/pages.tsx +85 -37
  87. package/src/routes/dash/posts.tsx +60 -23
  88. package/src/routes/dash/redirects.tsx +43 -33
  89. package/src/routes/dash/settings.tsx +234 -214
  90. package/src/routes/feed/__tests__/rss.test.ts +7 -3
  91. package/src/routes/feed/rss.ts +11 -16
  92. package/src/routes/feed/sitemap.ts +15 -9
  93. package/src/routes/pages/__tests__/collections.test.ts +9 -8
  94. package/src/routes/pages/archive.tsx +2 -2
  95. package/src/routes/pages/collection.tsx +76 -9
  96. package/src/routes/pages/collections.tsx +3 -1
  97. package/src/routes/pages/featured.tsx +2 -2
  98. package/src/routes/pages/home.tsx +3 -3
  99. package/src/routes/pages/latest.tsx +2 -2
  100. package/src/routes/pages/page.tsx +2 -2
  101. package/src/routes/pages/post.tsx +2 -2
  102. package/src/routes/pages/search.tsx +2 -2
  103. package/src/services/__tests__/collection.test.ts +324 -34
  104. package/src/services/__tests__/media.test.ts +1 -1
  105. package/src/services/__tests__/page.test.ts +116 -1
  106. package/src/services/auth.ts +88 -0
  107. package/src/services/collection.ts +169 -30
  108. package/src/services/index.ts +8 -3
  109. package/src/services/media.ts +39 -12
  110. package/src/services/navigation.ts +17 -5
  111. package/src/services/page.ts +24 -4
  112. package/src/services/post.ts +87 -19
  113. package/src/services/search.ts +0 -1
  114. package/src/services/settings.ts +21 -13
  115. package/src/style.css +3 -0
  116. package/src/styles/components.css +42 -1
  117. package/src/styles/tokens.css +4 -0
  118. package/src/styles/ui.css +902 -73
  119. package/src/types/app-context.ts +25 -0
  120. package/src/types/bindings.ts +1 -0
  121. package/src/types/config.ts +60 -23
  122. package/src/types/entities.ts +12 -2
  123. package/src/types/lingui-react-macro.d.ts +3 -3
  124. package/src/types/operations.ts +2 -4
  125. package/src/types/views.ts +1 -3
  126. package/src/ui/__tests__/font-themes.test.ts +27 -8
  127. package/src/ui/color-themes.ts +1 -1
  128. package/src/ui/components/__tests__/jant-collection-form.test.ts +153 -0
  129. package/src/ui/components/__tests__/jant-compose-dialog.test.ts +512 -0
  130. package/src/ui/components/__tests__/jant-compose-editor.test.ts +272 -0
  131. package/src/ui/components/__tests__/jant-post-form.test.ts +172 -0
  132. package/src/ui/components/__tests__/jant-settings-avatar.test.ts +235 -0
  133. package/src/ui/components/__tests__/jant-settings-general.test.ts +319 -0
  134. package/src/ui/components/collection-types.ts +45 -0
  135. package/src/ui/components/compose-types.ts +75 -0
  136. package/src/ui/components/jant-collection-form.ts +512 -0
  137. package/src/ui/components/jant-compose-dialog.ts +494 -0
  138. package/src/ui/components/jant-compose-editor.ts +799 -0
  139. package/src/ui/components/jant-post-form.ts +290 -0
  140. package/src/ui/components/jant-settings-avatar.ts +231 -0
  141. package/src/ui/components/jant-settings-general.ts +436 -0
  142. package/src/ui/components/post-form-template.ts +260 -0
  143. package/src/ui/components/post-form-types.ts +87 -0
  144. package/src/ui/components/settings-types.ts +62 -0
  145. package/src/ui/compose/ComposeDialog.tsx +141 -385
  146. package/src/ui/compose/ComposePrompt.tsx +3 -3
  147. package/src/ui/dash/PostList.tsx +55 -61
  148. package/src/ui/dash/appearance/AdvancedContent.tsx +80 -0
  149. package/src/ui/dash/appearance/AppearanceNav.tsx +56 -0
  150. package/src/ui/dash/appearance/ColorThemeContent.tsx +129 -0
  151. package/src/ui/dash/appearance/FontThemeContent.tsx +98 -0
  152. package/src/ui/dash/collections/CollectionForm.tsx +130 -117
  153. package/src/ui/dash/collections/CollectionsListContent.tsx +102 -41
  154. package/src/ui/dash/collections/IconPickerGrid.tsx +50 -0
  155. package/src/ui/dash/collections/ViewCollectionContent.tsx +14 -3
  156. package/src/ui/dash/index.ts +1 -1
  157. package/src/ui/dash/posts/PostForm.tsx +248 -0
  158. package/src/ui/dash/settings/AccountContent.tsx +69 -80
  159. package/src/ui/dash/settings/GeneralContent.tsx +159 -478
  160. package/src/ui/dash/settings/SettingsNav.tsx +4 -4
  161. package/src/ui/font-themes.ts +115 -32
  162. package/src/ui/layouts/BaseLayout.tsx +49 -19
  163. package/src/ui/layouts/DashLayout.tsx +14 -9
  164. package/src/ui/layouts/SiteLayout.tsx +38 -23
  165. package/src/ui/pages/CollectionPage.tsx +12 -2
  166. package/src/ui/pages/CollectionsPage.tsx +27 -27
  167. package/src/ui/pages/HomePage.tsx +15 -6
  168. package/src/ui/pages/SearchPage.tsx +1 -2
  169. package/src/ui/shared/CollectionsSidebar.tsx +59 -0
  170. package/src/ui/shared/Pagination.tsx +2 -2
  171. package/dist/app.js +0 -265
  172. package/dist/auth.js +0 -36
  173. package/dist/client.js +0 -13
  174. package/dist/db/index.js +0 -10
  175. package/dist/db/schema.js +0 -224
  176. package/dist/i18n/Trans.js +0 -24
  177. package/dist/i18n/context.js +0 -58
  178. package/dist/i18n/detect.js +0 -26
  179. package/dist/i18n/i18n.js +0 -49
  180. package/dist/i18n/index.js +0 -44
  181. package/dist/i18n/locales/en.js +0 -1
  182. package/dist/i18n/locales/zh-Hans.js +0 -1
  183. package/dist/i18n/locales/zh-Hant.js +0 -1
  184. package/dist/i18n/locales.js +0 -13
  185. package/dist/i18n/middleware.js +0 -30
  186. package/dist/lib/avatar-upload.js +0 -134
  187. package/dist/lib/config.js +0 -143
  188. package/dist/lib/constants.js +0 -50
  189. package/dist/lib/excerpt.js +0 -76
  190. package/dist/lib/favicon.js +0 -102
  191. package/dist/lib/feed.js +0 -123
  192. package/dist/lib/image-processor.js +0 -187
  193. package/dist/lib/image.js +0 -97
  194. package/dist/lib/index.js +0 -7
  195. package/dist/lib/markdown.js +0 -83
  196. package/dist/lib/media-helpers.js +0 -49
  197. package/dist/lib/media-upload.js +0 -104
  198. package/dist/lib/nav-reorder.js +0 -27
  199. package/dist/lib/navigation.js +0 -79
  200. package/dist/lib/pagination.js +0 -44
  201. package/dist/lib/render.js +0 -53
  202. package/dist/lib/schemas.js +0 -174
  203. package/dist/lib/sqid.js +0 -72
  204. package/dist/lib/sse.js +0 -218
  205. package/dist/lib/storage.js +0 -164
  206. package/dist/lib/theme.js +0 -65
  207. package/dist/lib/time.js +0 -159
  208. package/dist/lib/timeline.js +0 -95
  209. package/dist/lib/timezones.js +0 -388
  210. package/dist/lib/url.js +0 -89
  211. package/dist/lib/view.js +0 -217
  212. package/dist/middleware/auth.js +0 -52
  213. package/dist/middleware/onboarding.js +0 -41
  214. package/dist/routes/api/collections.js +0 -124
  215. package/dist/routes/api/nav-items.js +0 -104
  216. package/dist/routes/api/pages.js +0 -91
  217. package/dist/routes/api/posts.js +0 -218
  218. package/dist/routes/api/search.js +0 -48
  219. package/dist/routes/api/settings.js +0 -68
  220. package/dist/routes/api/upload.js +0 -246
  221. package/dist/routes/auth/reset.js +0 -221
  222. package/dist/routes/auth/setup.js +0 -194
  223. package/dist/routes/auth/signin.js +0 -176
  224. package/dist/routes/compose.js +0 -48
  225. package/dist/routes/dash/collections.js +0 -115
  226. package/dist/routes/dash/index.js +0 -118
  227. package/dist/routes/dash/media.js +0 -106
  228. package/dist/routes/dash/pages.js +0 -294
  229. package/dist/routes/dash/posts.js +0 -244
  230. package/dist/routes/dash/redirects.js +0 -257
  231. package/dist/routes/dash/settings.js +0 -379
  232. package/dist/routes/feed/rss.js +0 -62
  233. package/dist/routes/feed/sitemap.js +0 -49
  234. package/dist/routes/pages/archive.js +0 -62
  235. package/dist/routes/pages/collection.js +0 -34
  236. package/dist/routes/pages/collections.js +0 -28
  237. package/dist/routes/pages/featured.js +0 -36
  238. package/dist/routes/pages/home.js +0 -64
  239. package/dist/routes/pages/latest.js +0 -45
  240. package/dist/routes/pages/page.js +0 -68
  241. package/dist/routes/pages/post.js +0 -44
  242. package/dist/routes/pages/search.js +0 -54
  243. package/dist/services/collection.js +0 -109
  244. package/dist/services/index.js +0 -24
  245. package/dist/services/media.js +0 -117
  246. package/dist/services/navigation.js +0 -91
  247. package/dist/services/page.js +0 -84
  248. package/dist/services/post.js +0 -229
  249. package/dist/services/redirect.js +0 -48
  250. package/dist/services/search.js +0 -67
  251. package/dist/services/settings.js +0 -68
  252. package/dist/types/bindings.js +0 -3
  253. package/dist/types/config.js +0 -147
  254. package/dist/types/constants.js +0 -27
  255. package/dist/types/entities.js +0 -3
  256. package/dist/types/lingui-react-macro.d.js +0 -9
  257. package/dist/types/operations.js +0 -3
  258. package/dist/types/props.js +0 -3
  259. package/dist/types/sortablejs.d.js +0 -5
  260. package/dist/types/views.js +0 -5
  261. package/dist/types.js +0 -11
  262. package/dist/ui/color-themes.js +0 -268
  263. package/dist/ui/compose/ComposeDialog.js +0 -467
  264. package/dist/ui/compose/ComposePrompt.js +0 -55
  265. package/dist/ui/dash/ActionButtons.js +0 -46
  266. package/dist/ui/dash/CrudPageHeader.js +0 -22
  267. package/dist/ui/dash/DangerZone.js +0 -36
  268. package/dist/ui/dash/FormatBadge.js +0 -27
  269. package/dist/ui/dash/ListItemRow.js +0 -21
  270. package/dist/ui/dash/PageForm.js +0 -195
  271. package/dist/ui/dash/PostForm.js +0 -395
  272. package/dist/ui/dash/PostList.js +0 -83
  273. package/dist/ui/dash/StatusBadge.js +0 -46
  274. package/dist/ui/dash/collections/CollectionForm.js +0 -152
  275. package/dist/ui/dash/collections/CollectionsListContent.js +0 -68
  276. package/dist/ui/dash/collections/ViewCollectionContent.js +0 -96
  277. package/dist/ui/dash/index.js +0 -10
  278. package/dist/ui/dash/media/MediaListContent.js +0 -166
  279. package/dist/ui/dash/media/ViewMediaContent.js +0 -212
  280. package/dist/ui/dash/pages/LinkFormContent.js +0 -130
  281. package/dist/ui/dash/pages/UnifiedPagesContent.js +0 -193
  282. package/dist/ui/dash/settings/AccountContent.js +0 -209
  283. package/dist/ui/dash/settings/AppearanceContent.js +0 -259
  284. package/dist/ui/dash/settings/GeneralContent.js +0 -536
  285. package/dist/ui/dash/settings/SettingsNav.js +0 -41
  286. package/dist/ui/feed/LinkCard.js +0 -72
  287. package/dist/ui/feed/NoteCard.js +0 -58
  288. package/dist/ui/feed/QuoteCard.js +0 -63
  289. package/dist/ui/feed/ThreadPreview.js +0 -48
  290. package/dist/ui/feed/TimelineFeed.js +0 -41
  291. package/dist/ui/feed/TimelineItem.js +0 -27
  292. package/dist/ui/font-themes.js +0 -36
  293. package/dist/ui/layouts/BaseLayout.js +0 -153
  294. package/dist/ui/layouts/DashLayout.js +0 -141
  295. package/dist/ui/layouts/SiteLayout.js +0 -169
  296. package/dist/ui/pages/ArchivePage.js +0 -143
  297. package/dist/ui/pages/CollectionPage.js +0 -70
  298. package/dist/ui/pages/CollectionsPage.js +0 -76
  299. package/dist/ui/pages/FeaturedPage.js +0 -24
  300. package/dist/ui/pages/HomePage.js +0 -24
  301. package/dist/ui/pages/PostPage.js +0 -55
  302. package/dist/ui/pages/SearchPage.js +0 -122
  303. package/dist/ui/pages/SinglePage.js +0 -23
  304. package/dist/ui/shared/EmptyState.js +0 -27
  305. package/dist/ui/shared/MediaGallery.js +0 -35
  306. package/dist/ui/shared/Pagination.js +0 -195
  307. package/dist/ui/shared/ThreadView.js +0 -108
  308. package/dist/ui/shared/index.js +0 -5
  309. package/dist/vendor/datastar.js +0 -1606
  310. package/src/lib/__tests__/config.test.ts +0 -192
  311. package/src/lib/config.ts +0 -167
  312. package/src/routes/compose.ts +0 -63
  313. package/src/ui/dash/PostForm.tsx +0 -360
  314. package/src/ui/dash/settings/AppearanceContent.tsx +0 -254
@@ -1,1606 +0,0 @@
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";
3
- var C = Object.hasOwn ?? Object.prototype.hasOwnProperty.call;
4
- var U = (e)=>e !== null && typeof e == "object" && (Object.getPrototypeOf(e) === Object.prototype || Object.getPrototypeOf(e) === null), ct = (e)=>{
5
- for(let t in e)if (C(e, t)) return !1;
6
- return !0;
7
- }, Y = (e, t)=>{
8
- for(let n in e){
9
- let r = e[n];
10
- U(r) || Array.isArray(r) ? Y(r, t) : e[n] = t(r);
11
- }
12
- }, Me = (e)=>{
13
- let t = {};
14
- for (let [n, r] of e){
15
- let s = n.split("."), o = s.pop(), i = s.reduce((a, c)=>a[c] ??= {}, t);
16
- i[o] = r;
17
- }
18
- return t;
19
- };
20
- var xe = [], Be = [], Oe = 0, Le = 0, We = 0, Ue, j, Ne = 0, M = ()=>{
21
- Oe++;
22
- }, x = ()=>{
23
- --Oe || (ft(), J());
24
- }, F = (e)=>{
25
- Ue = j, j = e;
26
- }, P = ()=>{
27
- j = Ue, Ue = void 0;
28
- }, pe = (e)=>Ut.bind(0, {
29
- previousValue: e,
30
- t: e,
31
- e: 1
32
- }), Je = Symbol("computed"), ke = (e)=>{
33
- let t = Jt.bind(0, {
34
- e: 17,
35
- getter: e
36
- });
37
- return t[Je] = 1, t;
38
- }, S = (e)=>{
39
- let t = {
40
- d: e,
41
- e: 2
42
- };
43
- j && ze(t, j), F(t), M();
44
- try {
45
- t.d();
46
- } finally{
47
- x(), P();
48
- }
49
- return gt.bind(0, t);
50
- }, ft = ()=>{
51
- for(; Le < We;){
52
- let e = Be[Le];
53
- Be[Le++] = void 0, pt(e, e.e &= -65);
54
- }
55
- Le = 0, We = 0;
56
- }, lt = (e)=>"getter" in e ? dt(e) : mt(e, e.t), dt = (e)=>{
57
- F(e), ht(e);
58
- try {
59
- let t = e.t;
60
- return t !== (e.t = e.getter(t));
61
- } finally{
62
- P(), yt(e);
63
- }
64
- }, mt = (e, t)=>(e.e = 1, e.previousValue !== (e.previousValue = t)), Ke = (e)=>{
65
- let t = e.e;
66
- if (!(t & 64)) {
67
- e.e = t | 64;
68
- let n = e.r;
69
- n ? Ke(n.o) : Be[We++] = e;
70
- }
71
- }, pt = (e, t)=>{
72
- if (t & 16 || t & 32 && bt(e.s, e)) {
73
- F(e), ht(e), M();
74
- try {
75
- e.d();
76
- } finally{
77
- x(), P(), yt(e);
78
- }
79
- return;
80
- }
81
- t & 32 && (e.e = t & -33);
82
- let n = e.s;
83
- for(; n;){
84
- let r = n.c, s = r.e;
85
- s & 64 && pt(r, r.e = s & -65), n = n.i;
86
- }
87
- }, Ut = (e, ...t)=>{
88
- if (t.length) {
89
- if (e.t !== (e.t = t[0])) {
90
- e.e = 17;
91
- let r = e.r;
92
- return r && (Kt(r), Oe || ft()), !0;
93
- }
94
- return !1;
95
- }
96
- let n = e.t;
97
- if (e.e & 16 && mt(e, n)) {
98
- let r = e.r;
99
- r && Pe(r);
100
- }
101
- return j && ze(e, j), n;
102
- }, Jt = (e)=>{
103
- let t = e.e;
104
- if (t & 16 || t & 32 && bt(e.s, e)) {
105
- if (dt(e)) {
106
- let n = e.r;
107
- n && Pe(n);
108
- }
109
- } else t & 32 && (e.e = t & -33);
110
- return j && ze(e, j), e.t;
111
- }, gt = (e)=>{
112
- let t = e.s;
113
- for(; t;)t = Fe(t, e);
114
- let n = e.r;
115
- n && Fe(n), e.e = 0;
116
- }, ze = (e, t)=>{
117
- let n = t.a;
118
- if (n && n.c === e) return;
119
- let r = n ? n.i : t.s;
120
- if (r && r.c === e) {
121
- r.m = Ne, t.a = r;
122
- return;
123
- }
124
- let s = e.p;
125
- if (s && s.m === Ne && s.o === t) return;
126
- let o = t.a = e.p = {
127
- m: Ne,
128
- c: e,
129
- o: t,
130
- l: n,
131
- i: r,
132
- u: s
133
- };
134
- r && (r.l = o), n ? n.i = o : t.s = o, s ? s.n = o : e.r = o;
135
- }, Fe = (e, t = e.o)=>{
136
- let n = e.c, r = e.l, s = e.i, o = e.n, i = e.u;
137
- 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;
138
- else if (!(n.r = o)) if ("getter" in n) {
139
- let a = n.s;
140
- if (a) {
141
- n.e = 17;
142
- do a = Fe(a, n);
143
- while (a)
144
- }
145
- } else "previousValue" in n || gt(n);
146
- return s;
147
- }, Kt = (e)=>{
148
- let t = e.n, n;
149
- e: for(;;){
150
- let r = e.o, s = r.e;
151
- 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) {
152
- let o = r.r;
153
- if (o) {
154
- let i = (e = o).n;
155
- i && (n = {
156
- t,
157
- f: n
158
- }, t = i);
159
- continue;
160
- }
161
- }
162
- if (e = t) {
163
- t = e.n;
164
- continue;
165
- }
166
- for(; n;)if (e = n.t, n = n.f, e) {
167
- t = e.n;
168
- continue e;
169
- }
170
- break;
171
- }
172
- }, ht = (e)=>{
173
- Ne++, e.a = void 0, e.e = e.e & -57 | 4;
174
- }, yt = (e)=>{
175
- let t = e.a, n = t ? t.i : e.s;
176
- for(; n;)n = Fe(n, e);
177
- e.e &= -5;
178
- }, bt = (e, t)=>{
179
- let n, r = 0, s = !1;
180
- e: for(;;){
181
- let o = e.c, i = o.e;
182
- if (t.e & 16) s = !0;
183
- else if ((i & 17) === 17) {
184
- if (lt(o)) {
185
- let a = o.r;
186
- a.n && Pe(a), s = !0;
187
- }
188
- } else if ((i & 33) === 33) {
189
- (e.n || e.u) && (n = {
190
- t: e,
191
- f: n
192
- }), e = o.s, t = o, ++r;
193
- continue;
194
- }
195
- if (!s) {
196
- let a = e.i;
197
- if (a) {
198
- e = a;
199
- continue;
200
- }
201
- }
202
- for(; r--;){
203
- let a = t.r, c = a.n;
204
- if (c ? (e = n.t, n = n.f) : e = a, s) {
205
- if (lt(t)) {
206
- c && Pe(a), t = e.o;
207
- continue;
208
- }
209
- s = !1;
210
- } else t.e &= -33;
211
- if (t = e.o, e.i) {
212
- e = e.i;
213
- continue e;
214
- }
215
- }
216
- return s;
217
- }
218
- }, Pe = (e)=>{
219
- do {
220
- let t = e.o, n = t.e;
221
- (n & 48) === 32 && (t.e = n | 16, n & 2 && Ke(t));
222
- }while (e = e.n)
223
- }, zt = (e, t)=>{
224
- let n = t.a;
225
- for(; n;){
226
- if (n === e) return !0;
227
- n = n.l;
228
- }
229
- return !1;
230
- }, oe = (e)=>{
231
- let t = X, n = e.split(".");
232
- for (let r of n){
233
- if (t == null || !C(t, r)) return;
234
- t = t[r];
235
- }
236
- return t;
237
- }, Ce = (e, t = "")=>{
238
- let n = Array.isArray(e);
239
- if (n || U(e)) {
240
- let r = n ? [] : {};
241
- for(let o in e)r[o] = pe(Ce(e[o], `${t + o}.`));
242
- let s = pe(0);
243
- return new Proxy(r, {
244
- get (o, i) {
245
- 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]());
246
- },
247
- set (o, i, a) {
248
- let c = t + i;
249
- if (n && i === "length") {
250
- let l = r[i] - a;
251
- if (r[i] = a, l > 0) {
252
- let u = {};
253
- for(let d = a; d < r[i]; d++)u[d] = null;
254
- J(t.slice(0, -1), u), s(s() + 1);
255
- }
256
- } else if (C(r, i)) if (a == null) delete r[i];
257
- else if (C(a, Je)) r[i] = a, J(c, "");
258
- else {
259
- let l = r[i](), u = `${c}.`;
260
- if (U(l) && U(a)) {
261
- for(let d in l)C(a, d) || (delete l[d], J(u + d, null));
262
- for(let d in a){
263
- let h = a[d];
264
- l[d] !== h && (l[d] = h);
265
- }
266
- } else r[i](Ce(a, u)) && J(c, a);
267
- }
268
- else a != null && (C(a, Je) ? (r[i] = a, J(c, "")) : (r[i] = pe(Ce(a, `${c}.`)), J(c, a)), s(s() + 1));
269
- return !0;
270
- },
271
- deleteProperty (o, i) {
272
- return delete r[i], s(s() + 1), !0;
273
- },
274
- ownKeys () {
275
- return s(), Reflect.ownKeys(r);
276
- },
277
- has (o, i) {
278
- return s(), i in r;
279
- }
280
- });
281
- }
282
- return e;
283
- }, J = (e, t)=>{
284
- if (e !== void 0 && t !== void 0 && xe.push([
285
- e,
286
- t
287
- ]), !Oe && xe.length) {
288
- let n = Me(xe);
289
- xe.length = 0, document.dispatchEvent(new CustomEvent(Z, {
290
- detail: n
291
- }));
292
- }
293
- }, O = (e, { ifMissing: t } = {})=>{
294
- M();
295
- for(let n in e)e[n] == null ? t || delete X[n] : vt(e[n], n, X, "", t);
296
- x();
297
- }, T = (e, t)=>O(Me(e), t), vt = (e, t, n, r, s)=>{
298
- if (U(e)) {
299
- C(n, t) && (U(n[t]) || Array.isArray(n[t])) || (n[t] = {});
300
- for(let o in e)e[o] == null ? s || delete n[t][o] : vt(e[o], o, n[t], `${r + t}.`, s);
301
- } else s && C(n, t) || (n[t] = e);
302
- }, ut = (e)=>typeof e == "string" ? RegExp(e.replace(/^\/|\/$/g, "")) : e, _ = ({ include: e = /.*/, exclude: t = /(?!)/ } = {}, n = X)=>{
303
- let r = ut(e), s = ut(t), o = [], i = [
304
- [
305
- n,
306
- ""
307
- ]
308
- ];
309
- for(; i.length;){
310
- let [a, c] = i.pop();
311
- for(let l in a){
312
- let u = c + l;
313
- U(a[l]) ? i.push([
314
- a[l],
315
- `${u}.`
316
- ]) : r.test(u) && !s.test(u) && o.push([
317
- u,
318
- oe(u)
319
- ]);
320
- }
321
- }
322
- return Me(o);
323
- }, X = Ce({});
324
- var K = (e)=>e instanceof HTMLElement || e instanceof SVGElement || e instanceof MathMLElement;
325
- 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();
326
- var Et = (e)=>ge(e).replace(/-/g, "_");
327
- var ae = (e)=>{
328
- try {
329
- return JSON.parse(e);
330
- } catch {
331
- return Function(`return (${e})`)();
332
- }
333
- }, St = {
334
- camel: (e)=>e.replace(/-[a-z]/g, (t)=>t[1].toUpperCase()),
335
- snake: (e)=>e.replace(/-/g, "_"),
336
- pascal: (e)=>e[0].toUpperCase() + St.camel(e.slice(1))
337
- }, L = (e, t, n = "camel")=>{
338
- for (let r of t.get("case") || [
339
- n
340
- ])e = St[r]?.(e) || e;
341
- return e;
342
- }, G = (e)=>`data-${e}`;
343
- var Qt = "https://data-star.dev/errors", he = (e, t, n = {})=>{
344
- Object.assign(n, e);
345
- let r = new Error, s = Et(t), o = new URLSearchParams({
346
- metadata: JSON.stringify(n)
347
- }).toString(), i = JSON.stringify(n, null, 2);
348
- return r.message = `${t}
349
- More info: ${Qt}/${s}?${o}
350
- Context: ${i}`, r;
351
- }, ye = new Map, Qe = new Map, At = new Map, Rt = new Proxy({}, {
352
- get: (e, t)=>ye.get(t)?.apply,
353
- has: (e, t)=>ye.has(t),
354
- ownKeys: ()=>Reflect.ownKeys(ye),
355
- set: ()=>!1,
356
- deleteProperty: ()=>!1
357
- }), be = new Map, He = [], Ze = new Set, Zt = new WeakSet, p = (e)=>{
358
- He.push(e), He.length === 1 && setTimeout(()=>{
359
- for (let t of He)Ze.add(t.name), Qe.set(t.name, t);
360
- He.length = 0, nn(), Ze.clear();
361
- });
362
- }, k = (e)=>{
363
- ye.set(e.name, e);
364
- };
365
- document.addEventListener(q, (e)=>{
366
- let t = At.get(e.detail.type);
367
- t && t.apply({
368
- error: he.bind(0, {
369
- plugin: {
370
- type: "watcher",
371
- name: t.name
372
- },
373
- element: {
374
- id: e.target.id,
375
- tag: e.target.tagName
376
- }
377
- })
378
- }, e.detail.argsRaw);
379
- });
380
- var ve = (e)=>{
381
- At.set(e.name, e);
382
- }, Tt = (e)=>{
383
- for (let t of e){
384
- let n = be.get(t);
385
- if (n && be.delete(t)) for (let r of n.values())for (let s of r.values())s();
386
- }
387
- }, wt = G("ignore"), Yt = `[${wt}]`, Mt = (e)=>e.hasAttribute(`${wt}__self`) || !!e.closest(Yt), _e = (e, t)=>{
388
- 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);
389
- }, Xt = (e)=>{
390
- for (let { target: t, type: n, attributeName: r, addedNodes: s, removedNodes: o } of e)if (n === "childList") {
391
- for (let i of o)K(i) && (Tt([
392
- i
393
- ]), Tt(i.querySelectorAll("*")));
394
- for (let i of s)K(i) && (_e([
395
- i
396
- ]), _e(i.querySelectorAll("*")));
397
- } else if (n === "attributes" && r.startsWith("data-") && K(t) && !Mt(t)) {
398
- let i = r.slice(5), a = t.getAttribute(r);
399
- if (a === null) {
400
- let c = be.get(t);
401
- if (c) {
402
- let l = c.get(i);
403
- if (l) {
404
- for (let u of l.values())u();
405
- c.delete(i);
406
- }
407
- }
408
- } else xt(t, i, a);
409
- }
410
- }, en = new MutationObserver(Xt), tn = (e)=>{
411
- let [t, ...n] = e.split("__"), [r, s] = t.split(/:(.+)/), o = new Map;
412
- for (let i of n){
413
- let [a, ...c] = i.split(".");
414
- o.set(a, new Set(c));
415
- }
416
- return {
417
- pluginName: r,
418
- key: s,
419
- mods: o
420
- };
421
- };
422
- var nn = (e = document.documentElement, t = !0)=>{
423
- K(e) && _e([
424
- e
425
- ], !0), _e(e.querySelectorAll("*"), !0), t && (en.observe(e, {
426
- subtree: !0,
427
- childList: !0,
428
- attributes: !0
429
- }), Zt.add(e));
430
- }, xt = (e, t, n, r)=>{
431
- {
432
- let s = t, { pluginName: o, key: i, mods: a } = tn(s), c = Qe.get(o);
433
- if ((!r || Ze.has(o)) && c) {
434
- let l = {
435
- el: e,
436
- rawKey: s,
437
- mods: a,
438
- error: he.bind(0, {
439
- plugin: {
440
- type: "attribute",
441
- name: c.name
442
- },
443
- element: {
444
- id: e.id,
445
- tag: e.tagName
446
- },
447
- expression: {
448
- rawKey: s,
449
- key: i,
450
- value: n
451
- }
452
- }),
453
- key: i,
454
- value: n,
455
- loadedPluginNames: {
456
- actions: new Set(ye.keys()),
457
- attributes: new Set(Qe.keys())
458
- },
459
- rx: void 0
460
- }, 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 !== "";
461
- if (h) {
462
- if (u === "denied") throw l.error("KeyNotAllowed");
463
- } else if (u === "must") throw l.error("KeyRequired");
464
- if (f) {
465
- if (d === "denied") throw l.error("ValueNotAllowed");
466
- } else if (d === "must") throw l.error("ValueRequired");
467
- if (u === "exclusive" || d === "exclusive") {
468
- if (h && f) throw l.error("KeyAndValueProvided");
469
- if (!h && !f) throw l.error("KeyOrValueRequired");
470
- }
471
- let m = new Map;
472
- if (f) {
473
- let v;
474
- l.rx = (...A)=>(v || (v = rn(n, {
475
- returnsValue: c.returnsValue,
476
- argNames: c.argNames,
477
- cleanups: m
478
- })), v(e, ...A));
479
- }
480
- let y = c.apply(l);
481
- y && m.set("attribute", y);
482
- let b = be.get(e);
483
- if (b) {
484
- let v = b.get(s);
485
- if (v) for (let A of v.values())A();
486
- } else b = new Map, be.set(e, b);
487
- b.set(s, m);
488
- }
489
- }
490
- }, rn = (e, { returnsValue: t = !1, argNames: n = [], cleanups: r = new Map } = {})=>{
491
- let s = "";
492
- if (t) {
493
- let c = /(\/(\\\/|[^/])*\/|"(\\"|[^"])*"|'(\\'|[^'])*'|`(\\`|[^`])*`|\(\s*((function)\s*\(\s*\)|(\(\s*\))\s*=>)\s*(?:\{[\s\S]*?\}|[^;){]*)\s*\)\s*\(\s*\)|[^;])+/gm, l = e.trim().match(c);
494
- if (l) {
495
- let u = l.length - 1, d = l[u].trim();
496
- d.startsWith("return") || (l[u] = `return (${d});`), s = l.join(`;
497
- `);
498
- }
499
- } else s = e.trim();
500
- let o = new Map, i = RegExp(`(?:${je})(.*?)(?:${Ge})`, "gm"), a = 0;
501
- for (let c of s.matchAll(i)){
502
- let l = c[1], u = `__escaped${a++}`;
503
- o.set(u, l), s = s.replace(je + l + Ge, u);
504
- }
505
- 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,');
506
- for (let [c, l] of o)s = s.replace(c, l);
507
- try {
508
- let c = Function("el", "$", "__action", "evt", ...n, s);
509
- return (l, ...u)=>{
510
- let d = (h, f, ...m)=>{
511
- let y = he.bind(0, {
512
- plugin: {
513
- type: "action",
514
- name: h
515
- },
516
- element: {
517
- id: l.id,
518
- tag: l.tagName
519
- },
520
- expression: {
521
- fnContent: s,
522
- value: e
523
- }
524
- }), b = Rt[h];
525
- if (b) return b({
526
- el: l,
527
- evt: f,
528
- error: y,
529
- cleanups: r
530
- }, ...m);
531
- throw y("UndefinedAction");
532
- };
533
- try {
534
- return c(l, X, d, void 0, ...u);
535
- } catch (h) {
536
- throw console.error(h), he({
537
- element: {
538
- id: l.id,
539
- tag: l.tagName
540
- },
541
- expression: {
542
- fnContent: s,
543
- value: e
544
- },
545
- error: h.message
546
- }, "ExecuteExpression");
547
- }
548
- };
549
- } catch (c) {
550
- throw console.error(c), he({
551
- expression: {
552
- fnContent: s,
553
- value: e
554
- },
555
- error: c.message
556
- }, "GenerateExpression");
557
- }
558
- };
559
- k({
560
- name: "peek",
561
- apply (e, t) {
562
- F();
563
- try {
564
- return t();
565
- } finally{
566
- P();
567
- }
568
- }
569
- });
570
- k({
571
- name: "setAll",
572
- apply (e, t, n) {
573
- F();
574
- let r = _(n);
575
- Y(r, ()=>t), O(r), P();
576
- }
577
- });
578
- k({
579
- name: "toggleAll",
580
- apply (e, t) {
581
- F();
582
- let n = _(t);
583
- Y(n, (r)=>!r), O(n), P();
584
- }
585
- });
586
- var Ee = (e, t, n = !0)=>k({
587
- name: e,
588
- 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 } = {})=>{
589
- let de = y instanceof AbortController ? y : new AbortController;
590
- y === "auto" && (i.get(`@${e}`)?.(), i.set(`@${e}`, async ()=>{
591
- de.abort(), await Promise.resolve();
592
- }));
593
- let D = null;
594
- try {
595
- if (!a?.length) throw o("FetchNoUrlProvided", {
596
- action: k
597
- });
598
- let V = {
599
- Accept: "text/event-stream, text/html, application/json",
600
- "Datastar-Request": !0
601
- };
602
- u === "json" && (V["Content-Type"] = "application/json");
603
- let Ae = Object.assign({}, V, l), re = {
604
- method: t,
605
- headers: Ae,
606
- openWhenHidden: f,
607
- retry: b,
608
- retryInterval: v,
609
- retryScaler: A,
610
- retryMaxWaitMs: I,
611
- retryMaxCount: ne,
612
- signal: de.signal,
613
- onopen: async (g)=>{
614
- g.status >= 400 && ee(sn, r, {
615
- status: g.status.toString()
616
- });
617
- },
618
- onmessage: (g)=>{
619
- if (!g.event.startsWith("datastar")) return;
620
- let B = g.event, E = {};
621
- for (let R of g.data.split(`
622
- `)){
623
- let w = R.indexOf(" "), W = R.slice(0, w), De = R.slice(w + 1);
624
- (E[W] ||= []).push(De);
625
- }
626
- let N = Object.fromEntries(Object.entries(E).map(([R, w])=>[
627
- R,
628
- w.join(`
629
- `)
630
- ]));
631
- ee(B, r, N);
632
- },
633
- onerror: (g)=>{
634
- if (Lt(g)) throw g("FetchExpectedTextEventStream", {
635
- url: a
636
- });
637
- g && (console.error(g.message), ee(on, r, {
638
- message: g.message
639
- }));
640
- }
641
- }, se = new URL(a, document.baseURI), ie = new URLSearchParams(se.search);
642
- if (u === "json") {
643
- F(), m = m !== void 0 ? m : _({
644
- include: d,
645
- exclude: h
646
- }), P();
647
- let g = JSON.stringify(m);
648
- t === "GET" ? ie.set("datastar", g) : re.body = g;
649
- } else if (u === "form") {
650
- let g = c ? document.querySelector(c) : r.closest("form");
651
- if (!g) throw o("FetchFormNotFound", {
652
- action: k,
653
- selector: c
654
- });
655
- if (!g.noValidate && !g.checkValidity()) {
656
- g.reportValidity();
657
- return;
658
- }
659
- let B = new FormData(g), E = r;
660
- if (r === g && s instanceof SubmitEvent) E = s.submitter;
661
- else {
662
- let w = (W)=>W.preventDefault();
663
- g.addEventListener("submit", w), D = ()=>{
664
- g.removeEventListener("submit", w);
665
- };
666
- }
667
- if (E instanceof HTMLButtonElement) {
668
- let w = E.getAttribute("name");
669
- w && B.append(w, E.value);
670
- }
671
- let N = g.getAttribute("enctype") === "multipart/form-data";
672
- N || (Ae["Content-Type"] = "application/x-www-form-urlencoded");
673
- let R = new URLSearchParams(B);
674
- if (t === "GET") for (let [w, W] of R)ie.append(w, W);
675
- else N ? re.body = B : re.body = R;
676
- } else throw o("FetchInvalidContentType", {
677
- action: k,
678
- contentType: u
679
- });
680
- ee(Ye, r, {}), se.search = ie.toString();
681
- try {
682
- await dn(se.toString(), r, re);
683
- } catch (g) {
684
- if (!Lt(g)) throw o("FetchFailed", {
685
- method: t,
686
- url: a,
687
- error: g.message
688
- });
689
- }
690
- } finally{
691
- ee(Xe, r, {}), D?.(), i.delete(`@${e}`);
692
- }
693
- }
694
- });
695
- Ee("get", "GET", !1);
696
- Ee("patch", "PATCH");
697
- Ee("post", "POST");
698
- Ee("put", "PUT");
699
- Ee("delete", "DELETE");
700
- var Ye = "started", Xe = "finished", sn = "error", on = "retrying", an = "retries-failed", ee = (e, t, n)=>document.dispatchEvent(new CustomEvent(q, {
701
- detail: {
702
- type: e,
703
- el: t,
704
- argsRaw: n
705
- }
706
- })), Lt = (e)=>`${e}`.includes("text/event-stream"), cn = async (e, t)=>{
707
- let n = e.getReader(), r = await n.read();
708
- for(; !r.done;)t(r.value), r = await n.read();
709
- }, ln = (e)=>{
710
- let t, n, r, s = !1;
711
- return (o)=>{
712
- t ? t = fn(t, o) : (t = o, n = 0, r = -1);
713
- let i = t.length, a = 0;
714
- for(; n < i;){
715
- s && (t[n] === 10 && (a = ++n), s = !1);
716
- let c = -1;
717
- for(; n < i && c === -1; ++n)switch(t[n]){
718
- case 58:
719
- r === -1 && (r = n - a);
720
- break;
721
- case 13:
722
- s = !0;
723
- case 10:
724
- c = n;
725
- break;
726
- }
727
- if (c === -1) break;
728
- e(t.subarray(a, c), r), a = n, r = -1;
729
- }
730
- a === i ? t = void 0 : a && (t = t.subarray(a), n -= a);
731
- };
732
- }, un = (e, t, n)=>{
733
- let r = Nt(), s = new TextDecoder;
734
- return (o, i)=>{
735
- if (!o.length) n?.(r), r = Nt();
736
- else if (i > 0) {
737
- let a = s.decode(o.subarray(0, i)), c = i + (o[i + 1] === 32 ? 2 : 1), l = s.decode(o.subarray(c));
738
- switch(a){
739
- case "data":
740
- r.data = r.data ? `${r.data}
741
- ${l}` : l;
742
- break;
743
- case "event":
744
- r.event = l;
745
- break;
746
- case "id":
747
- e(r.id = l);
748
- break;
749
- case "retry":
750
- {
751
- let u = +l;
752
- Number.isNaN(u) || t(r.retry = u);
753
- break;
754
- }
755
- }
756
- }
757
- };
758
- }, fn = (e, t)=>{
759
- let n = new Uint8Array(e.length + t.length);
760
- return n.set(e), n.set(t, e.length), n;
761
- }, Nt = ()=>({
762
- data: "",
763
- event: "",
764
- id: "",
765
- retry: void 0
766
- }), 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)=>{
767
- let I = {
768
- ...r
769
- }, ne, de = ()=>{
770
- ne.abort(), document.hidden || g();
771
- };
772
- c || document.addEventListener("visibilitychange", de);
773
- let D, V = ()=>{
774
- document.removeEventListener("visibilitychange", de), clearTimeout(D), ne.abort();
775
- };
776
- n?.addEventListener("abort", ()=>{
777
- V(), v();
778
- });
779
- let Ae = l || window.fetch, re = s || (()=>{}), se = 0, ie = d, g = async ()=>{
780
- ne = new AbortController;
781
- let B = ne.signal;
782
- try {
783
- let E = await Ae(e, {
784
- ...b,
785
- headers: I,
786
- signal: B
787
- });
788
- await re(E);
789
- let N = async ($, me, $e, Re, ...Wt)=>{
790
- let ot = {
791
- [$e]: await me.text()
792
- };
793
- for (let Ie of Wt){
794
- let qe = me.headers.get(`datastar-${ge(Ie)}`);
795
- if (Re) {
796
- let we = Re[Ie];
797
- we && (qe = typeof we == "string" ? we : JSON.stringify(we));
798
- }
799
- qe && (ot[Ie] = qe);
800
- }
801
- ee($, t, ot), V(), v();
802
- }, R = E.status, w = R === 204, W = R >= 300 && R < 400, De = R >= 400 && R < 600;
803
- if (R !== 200) {
804
- if (i?.(), u !== "never" && !w && !W && (u === "always" || u === "error" && De)) {
805
- clearTimeout(D), D = setTimeout(g, d);
806
- return;
807
- }
808
- V(), v();
809
- return;
810
- }
811
- se = 0, d = ie;
812
- let Ve = E.headers.get("Content-Type");
813
- if (Ve?.includes("text/html")) return await N("datastar-patch-elements", E, "elements", y, "selector", "mode", "namespace", "useViewTransition");
814
- if (Ve?.includes("application/json")) return await N("datastar-patch-signals", E, "signals", y, "onlyIfMissing");
815
- if (Ve?.includes("text/javascript")) {
816
- let $ = document.createElement("script"), me = E.headers.get("datastar-script-attributes");
817
- if (me) for (let [$e, Re] of Object.entries(JSON.parse(me)))$.setAttribute($e, Re);
818
- $.textContent = await E.text(), document.head.appendChild($), V();
819
- return;
820
- }
821
- if (await cn(E.body, ln(un(($)=>{
822
- $ ? I["last-event-id"] = $ : delete I["last-event-id"];
823
- }, ($)=>{
824
- ie = d = $;
825
- }, o))), i?.(), u === "always" && !W) {
826
- clearTimeout(D), D = setTimeout(g, d);
827
- return;
828
- }
829
- V(), v();
830
- } catch (E) {
831
- if (!B.aborted) try {
832
- let N = a?.(E) || d;
833
- 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.`);
834
- } catch (N) {
835
- V(), A(N);
836
- }
837
- }
838
- };
839
- g();
840
- });
841
- p({
842
- name: "attr",
843
- requirement: {
844
- value: "must"
845
- },
846
- returnsValue: !0,
847
- apply ({ el: e, key: t, rx: n }) {
848
- let r = (a, c)=>{
849
- 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));
850
- }, s = t ? ()=>{
851
- o.disconnect();
852
- let a = n();
853
- r(t, a), o.observe(e, {
854
- attributeFilter: [
855
- t
856
- ]
857
- });
858
- } : ()=>{
859
- o.disconnect();
860
- let a = n(), c = Object.keys(a);
861
- for (let l of c)r(l, a[l]);
862
- o.observe(e, {
863
- attributeFilter: c
864
- });
865
- }, o = new MutationObserver(s), i = S(s);
866
- return ()=>{
867
- o.disconnect(), i();
868
- };
869
- }
870
- });
871
- var mn = /^data:(?<mime>[^;]+);base64,(?<contents>.*)$/, Ct = Symbol("empty"), Ft = G("bind");
872
- p({
873
- name: "bind",
874
- requirement: "exclusive",
875
- apply ({ el: e, key: t, mods: n, value: r, error: s }) {
876
- let o = t != null ? L(t, n) : r, i = (f, m)=>m === "number" ? +f.value : f.value, a = (f)=>{
877
- e.value = `${f}`;
878
- };
879
- if (e instanceof HTMLInputElement) switch(e.type){
880
- case "range":
881
- case "number":
882
- i = (f, m)=>m === "string" ? f.value : +f.value;
883
- break;
884
- case "checkbox":
885
- i = (f, m)=>f.value !== "on" ? m === "boolean" ? f.checked : f.checked ? f.value : "" : m === "string" ? f.checked ? f.value : "" : f.checked, a = (f)=>{
886
- e.checked = typeof f == "string" ? f === e.value : f;
887
- };
888
- break;
889
- case "radio":
890
- e.getAttribute("name")?.length || e.setAttribute("name", o), i = (f, m)=>f.checked ? m === "number" ? +f.value : f.value : Ct, a = (f)=>{
891
- e.checked = f === (typeof f == "number" ? +e.value : e.value);
892
- };
893
- break;
894
- case "file":
895
- {
896
- let f = ()=>{
897
- let m = [
898
- ...e.files || []
899
- ], y = [];
900
- Promise.all(m.map((b)=>new Promise((v)=>{
901
- let A = new FileReader;
902
- A.onload = ()=>{
903
- if (typeof A.result != "string") throw s("InvalidFileResultType", {
904
- resultType: typeof A.result
905
- });
906
- let I = A.result.match(mn);
907
- if (!I?.groups) throw s("InvalidDataUri", {
908
- result: A.result
909
- });
910
- y.push({
911
- name: b.name,
912
- contents: I.groups.contents,
913
- mime: I.groups.mime
914
- });
915
- }, A.onloadend = ()=>v(), A.readAsDataURL(b);
916
- }))).then(()=>{
917
- T([
918
- [
919
- o,
920
- y
921
- ]
922
- ]);
923
- });
924
- };
925
- return e.addEventListener("change", f), e.addEventListener("input", f), ()=>{
926
- e.removeEventListener("change", f), e.removeEventListener("input", f);
927
- };
928
- }
929
- }
930
- else if (e instanceof HTMLSelectElement) {
931
- if (e.multiple) {
932
- let f = new Map;
933
- i = (m)=>[
934
- ...m.selectedOptions
935
- ].map((y)=>{
936
- let b = f.get(y.value);
937
- return b === "string" || b == null ? y.value : +y.value;
938
- }), a = (m)=>{
939
- 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;
940
- };
941
- }
942
- } else e instanceof HTMLTextAreaElement || (i = (f)=>"value" in f ? f.value : f.getAttribute("value"), a = (f)=>{
943
- "value" in e ? e.value = f : e.setAttribute("value", f);
944
- });
945
- let c = oe(o), l = typeof c, u = o;
946
- if (Array.isArray(c) && !(e instanceof HTMLSelectElement && e.multiple)) {
947
- let f = t || r, m = document.querySelectorAll(`[${Ft}\\:${CSS.escape(f)}],[${Ft}="${CSS.escape(f)}"]`), y = [], b = 0;
948
- for (let v of m){
949
- if (y.push([
950
- `${u}.${b}`,
951
- i(v, "none")
952
- ]), e === v) break;
953
- b++;
954
- }
955
- T(y, {
956
- ifMissing: !0
957
- }), u = `${u}.${b}`;
958
- } else T([
959
- [
960
- u,
961
- i(e, l)
962
- ]
963
- ], {
964
- ifMissing: !0
965
- });
966
- let d = ()=>{
967
- let f = oe(u);
968
- if (f != null) {
969
- let m = i(e, typeof f);
970
- m !== Ct && T([
971
- [
972
- u,
973
- m
974
- ]
975
- ]);
976
- }
977
- };
978
- e.addEventListener("input", d), e.addEventListener("change", d);
979
- let h = S(()=>{
980
- a(oe(u));
981
- });
982
- return ()=>{
983
- h(), e.removeEventListener("input", d), e.removeEventListener("change", d);
984
- };
985
- }
986
- });
987
- p({
988
- name: "class",
989
- requirement: {
990
- value: "must"
991
- },
992
- returnsValue: !0,
993
- apply ({ key: e, el: t, mods: n, rx: r }) {
994
- e &&= L(e, n, "kebab");
995
- let s, o = ()=>{
996
- i.disconnect(), s = e ? {
997
- [e]: r()
998
- } : r();
999
- for(let c in s){
1000
- let l = c.split(/\s+/).filter((u)=>u.length > 0);
1001
- if (s[c]) for (let u of l)t.classList.contains(u) || t.classList.add(u);
1002
- else for (let u of l)t.classList.contains(u) && t.classList.remove(u);
1003
- }
1004
- i.observe(t, {
1005
- attributeFilter: [
1006
- "class"
1007
- ]
1008
- });
1009
- }, i = new MutationObserver(o), a = S(o);
1010
- return ()=>{
1011
- i.disconnect(), a();
1012
- for(let c in s){
1013
- let l = c.split(/\s+/).filter((u)=>u.length > 0);
1014
- for (let u of l)t.classList.remove(u);
1015
- }
1016
- };
1017
- }
1018
- });
1019
- p({
1020
- name: "computed",
1021
- requirement: {
1022
- value: "must"
1023
- },
1024
- returnsValue: !0,
1025
- apply ({ key: e, mods: t, rx: n, error: r }) {
1026
- if (e) T([
1027
- [
1028
- L(e, t),
1029
- ke(n)
1030
- ]
1031
- ]);
1032
- else {
1033
- let s = Object.assign({}, n());
1034
- Y(s, (o)=>{
1035
- if (typeof o == "function") return ke(o);
1036
- throw r("ComputedExpectedFunction");
1037
- }), O(s);
1038
- }
1039
- }
1040
- });
1041
- p({
1042
- name: "effect",
1043
- requirement: {
1044
- key: "denied",
1045
- value: "must"
1046
- },
1047
- apply: ({ rx: e })=>S(e)
1048
- });
1049
- p({
1050
- name: "indicator",
1051
- requirement: "exclusive",
1052
- apply ({ el: e, key: t, mods: n, value: r }) {
1053
- let s = t != null ? L(t, n) : r;
1054
- T([
1055
- [
1056
- s,
1057
- !1
1058
- ]
1059
- ]);
1060
- let o = (i)=>{
1061
- let { type: a, el: c } = i.detail;
1062
- if (c === e) switch(a){
1063
- case Ye:
1064
- T([
1065
- [
1066
- s,
1067
- !0
1068
- ]
1069
- ]);
1070
- break;
1071
- case Xe:
1072
- T([
1073
- [
1074
- s,
1075
- !1
1076
- ]
1077
- ]);
1078
- break;
1079
- }
1080
- };
1081
- return document.addEventListener(q, o), ()=>{
1082
- T([
1083
- [
1084
- s,
1085
- !1
1086
- ]
1087
- ]), document.removeEventListener(q, o);
1088
- };
1089
- }
1090
- });
1091
- var z = (e)=>{
1092
- if (!e || e.size <= 0) return 0;
1093
- for (let t of e){
1094
- if (t.endsWith("ms")) return +t.replace("ms", "");
1095
- if (t.endsWith("s")) return +t.replace("s", "") * 1e3;
1096
- try {
1097
- return Number.parseFloat(t);
1098
- } catch {}
1099
- }
1100
- return 0;
1101
- }, te = (e, t, n = !1)=>e ? e.has(t.toLowerCase()) : n;
1102
- var et = (e, t)=>(...n)=>{
1103
- setTimeout(()=>{
1104
- e(...n);
1105
- }, t);
1106
- }, Pt = (e, t, n = !0, r = !1, s = !1)=>{
1107
- let o = null, i = 0;
1108
- return (...a)=>{
1109
- n && !i ? (e(...a), o = null) : o = a, (!i || s) && (i && clearTimeout(i), i = setTimeout(()=>{
1110
- r && o !== null && e(...o), o = null, i = 0;
1111
- }, t));
1112
- };
1113
- }, ce = (e, t)=>{
1114
- let n = t.get("delay");
1115
- if (n) {
1116
- let o = z(n);
1117
- e = et(e, o);
1118
- }
1119
- let r = t.get("debounce");
1120
- if (r) {
1121
- let o = z(r), i = te(r, "leading", !1), a = !te(r, "notrailing", !1);
1122
- e = Pt(e, o, i, a, !0);
1123
- }
1124
- let s = t.get("throttle");
1125
- if (s) {
1126
- let o = z(s), i = !te(s, "noleading", !1), a = te(s, "trailing", !1);
1127
- e = Pt(e, o, i, a);
1128
- }
1129
- return e;
1130
- };
1131
- var tt = !!document.startViewTransition, Q = (e, t)=>{
1132
- if (t.has("viewtransition") && tt) {
1133
- let n = e;
1134
- e = (...r)=>document.startViewTransition(()=>n(...r));
1135
- }
1136
- return e;
1137
- };
1138
- p({
1139
- name: "init",
1140
- requirement: {
1141
- key: "denied",
1142
- value: "must"
1143
- },
1144
- apply ({ rx: e, mods: t }) {
1145
- let n = ()=>{
1146
- M(), e(), x();
1147
- };
1148
- n = Q(n, t);
1149
- let r = 0, s = t.get("delay");
1150
- s && (r = z(s), r > 0 && (n = et(n, r))), n();
1151
- }
1152
- });
1153
- p({
1154
- name: "json-signals",
1155
- requirement: {
1156
- key: "denied"
1157
- },
1158
- apply ({ el: e, value: t, mods: n }) {
1159
- let r = n.has("terse") ? 0 : 2, s = {};
1160
- t && (s = ae(t));
1161
- let o = ()=>{
1162
- i.disconnect(), e.textContent = JSON.stringify(_(s), null, r), i.observe(e, {
1163
- childList: !0,
1164
- characterData: !0,
1165
- subtree: !0
1166
- });
1167
- }, i = new MutationObserver(o), a = S(o);
1168
- return ()=>{
1169
- i.disconnect(), a();
1170
- };
1171
- }
1172
- });
1173
- p({
1174
- name: "on",
1175
- requirement: "must",
1176
- argNames: [
1177
- "evt"
1178
- ],
1179
- apply ({ el: e, key: t, mods: n, rx: r }) {
1180
- let s = e;
1181
- n.has("window") && (s = window);
1182
- let o = (c)=>{
1183
- c && (n.has("prevent") && c.preventDefault(), n.has("stop") && c.stopPropagation()), M(), r(c), x();
1184
- };
1185
- o = Q(o, n), o = ce(o, n);
1186
- let i = {
1187
- capture: n.has("capture"),
1188
- passive: n.has("passive"),
1189
- once: n.has("once")
1190
- };
1191
- if (n.has("outside")) {
1192
- s = document;
1193
- let c = o;
1194
- o = (l)=>{
1195
- e.contains(l?.target) || c(l);
1196
- };
1197
- }
1198
- let a = L(t, n, "kebab");
1199
- if ((a === q || a === Z) && (s = document), e instanceof HTMLFormElement && a === "submit") {
1200
- let c = o;
1201
- o = (l)=>{
1202
- l?.preventDefault(), c(l);
1203
- };
1204
- }
1205
- return s.addEventListener(a, o, i), ()=>{
1206
- s.removeEventListener(a, o);
1207
- };
1208
- }
1209
- });
1210
- var Ot = (e, t, n)=>Math.max(t, Math.min(n, e));
1211
- var nt = new WeakSet;
1212
- p({
1213
- name: "on-intersect",
1214
- requirement: {
1215
- key: "denied",
1216
- value: "must"
1217
- },
1218
- apply ({ el: e, mods: t, rx: n }) {
1219
- let r = ()=>{
1220
- M(), n(), x();
1221
- };
1222
- r = Q(r, t), r = ce(r, t);
1223
- let s = {
1224
- threshold: 0
1225
- };
1226
- 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);
1227
- let o = t.has("exit"), i = new IntersectionObserver((a)=>{
1228
- for (let c of a)c.isIntersecting !== o && (r(), i && nt.has(e) && i.disconnect());
1229
- }, s);
1230
- return i.observe(e), t.has("once") && nt.add(e), ()=>{
1231
- t.has("once") || nt.delete(e), i && (i.disconnect(), i = null);
1232
- };
1233
- }
1234
- });
1235
- p({
1236
- name: "on-interval",
1237
- requirement: {
1238
- key: "denied",
1239
- value: "must"
1240
- },
1241
- apply ({ mods: e, rx: t }) {
1242
- let n = ()=>{
1243
- M(), t(), x();
1244
- };
1245
- n = Q(n, e);
1246
- let r = 1e3, s = e.get("duration");
1247
- s && (r = z(s), te(s, "leading", !1) && n());
1248
- let o = setInterval(n, r);
1249
- return ()=>{
1250
- clearInterval(o);
1251
- };
1252
- }
1253
- });
1254
- p({
1255
- name: "on-signal-patch",
1256
- requirement: {
1257
- value: "must"
1258
- },
1259
- argNames: [
1260
- "patch"
1261
- ],
1262
- returnsValue: !0,
1263
- apply ({ el: e, key: t, mods: n, rx: r, error: s }) {
1264
- if (t && t !== "filter") throw s("KeyNotAllowed");
1265
- let o = G(`${this.name}-filter`), i = e.getAttribute(o), a = {};
1266
- i && (a = ae(i));
1267
- let c = !1, l = ce((u)=>{
1268
- if (c) return;
1269
- let d = _(a, u.detail);
1270
- if (!ct(d)) {
1271
- c = !0, M();
1272
- try {
1273
- r(d);
1274
- } finally{
1275
- x(), c = !1;
1276
- }
1277
- }
1278
- }, n);
1279
- return document.addEventListener(Z, l), ()=>{
1280
- document.removeEventListener(Z, l);
1281
- };
1282
- }
1283
- });
1284
- p({
1285
- name: "ref",
1286
- requirement: "exclusive",
1287
- apply ({ el: e, key: t, mods: n, value: r }) {
1288
- let s = t != null ? L(t, n) : r;
1289
- T([
1290
- [
1291
- s,
1292
- e
1293
- ]
1294
- ]);
1295
- }
1296
- });
1297
- var kt = "none", Ht = "display";
1298
- p({
1299
- name: "show",
1300
- requirement: {
1301
- key: "denied",
1302
- value: "must"
1303
- },
1304
- returnsValue: !0,
1305
- apply ({ el: e, rx: t }) {
1306
- let n = ()=>{
1307
- r.disconnect(), t() ? e.style.display === kt && e.style.removeProperty(Ht) : e.style.setProperty(Ht, kt), r.observe(e, {
1308
- attributeFilter: [
1309
- "style"
1310
- ]
1311
- });
1312
- }, r = new MutationObserver(n), s = S(n);
1313
- return ()=>{
1314
- r.disconnect(), s();
1315
- };
1316
- }
1317
- });
1318
- p({
1319
- name: "signals",
1320
- returnsValue: !0,
1321
- apply ({ key: e, mods: t, rx: n }) {
1322
- let r = t.has("ifmissing");
1323
- if (e) e = L(e, t), T([
1324
- [
1325
- e,
1326
- n?.()
1327
- ]
1328
- ], {
1329
- ifMissing: r
1330
- });
1331
- else {
1332
- let s = Object.assign({}, n?.());
1333
- O(s, {
1334
- ifMissing: r
1335
- });
1336
- }
1337
- }
1338
- });
1339
- p({
1340
- name: "style",
1341
- requirement: {
1342
- value: "must"
1343
- },
1344
- returnsValue: !0,
1345
- apply ({ key: e, el: t, rx: n }) {
1346
- let { style: r } = t, s = new Map, o = (l, u)=>{
1347
- let d = s.get(l);
1348
- !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)));
1349
- }, i = ()=>{
1350
- if (a.disconnect(), e) o(e, n());
1351
- else {
1352
- let l = n();
1353
- for (let [u, d] of s)u in l || (d ? r.setProperty(u, d) : r.removeProperty(u));
1354
- for(let u in l)o(ge(u), l[u]);
1355
- }
1356
- a.observe(t, {
1357
- attributeFilter: [
1358
- "style"
1359
- ]
1360
- });
1361
- }, a = new MutationObserver(i), c = S(i);
1362
- return ()=>{
1363
- a.disconnect(), c();
1364
- for (let [l, u] of s)u ? r.setProperty(l, u) : r.removeProperty(l);
1365
- };
1366
- }
1367
- });
1368
- p({
1369
- name: "text",
1370
- requirement: {
1371
- key: "denied",
1372
- value: "must"
1373
- },
1374
- returnsValue: !0,
1375
- apply ({ el: e, rx: t }) {
1376
- let n = ()=>{
1377
- r.disconnect(), e.textContent = `${t()}`, r.observe(e, {
1378
- childList: !0,
1379
- characterData: !0,
1380
- subtree: !0
1381
- });
1382
- }, r = new MutationObserver(n), s = S(n);
1383
- return ()=>{
1384
- r.disconnect(), s();
1385
- };
1386
- }
1387
- });
1388
- var _t = (e, t)=>e.includes(t), pn = [
1389
- "remove",
1390
- "outer",
1391
- "inner",
1392
- "replace",
1393
- "prepend",
1394
- "append",
1395
- "before",
1396
- "after"
1397
- ], gn = [
1398
- "html",
1399
- "svg",
1400
- "mathml"
1401
- ];
1402
- ve({
1403
- name: "datastar-patch-elements",
1404
- apply (e, { selector: t = "", mode: n = "outer", namespace: r = "html", useViewTransition: s = "", elements: o = "" }) {
1405
- if (!_t(pn, n)) throw e.error("PatchElementsInvalidMode", {
1406
- mode: n
1407
- });
1408
- if (!t && n !== "outer" && n !== "replace") throw e.error("PatchElementsExpectedSelector");
1409
- if (!_t(gn, r)) throw e.error("PatchElementsInvalidNamespace", {
1410
- namespace: r
1411
- });
1412
- let i = {
1413
- selector: t,
1414
- mode: n,
1415
- namespace: r,
1416
- useViewTransition: s.trim() === "true",
1417
- elements: o
1418
- };
1419
- tt && s ? document.startViewTransition(()=>Dt(e, i)) : Dt(e, i);
1420
- }
1421
- });
1422
- var Dt = ({ error: e }, { selector: t, mode: n, namespace: r, elements: s })=>{
1423
- 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();
1424
- if (i) h.appendChild(d.documentElement);
1425
- else if (a && c) h.appendChild(d.head), h.appendChild(d.body);
1426
- else if (a) h.appendChild(d.head);
1427
- else if (c) h.appendChild(d.body);
1428
- else if (l) {
1429
- let f = d.querySelector("template").content.querySelector(l);
1430
- for (let m of f.childNodes)h.appendChild(m);
1431
- } else h = d.querySelector("template").content;
1432
- if (!t && (n === "outer" || n === "replace")) for (let f of h.children){
1433
- let m;
1434
- if (f instanceof HTMLHtmlElement) m = document.documentElement;
1435
- else if (f instanceof HTMLBodyElement) m = document.body;
1436
- else if (f instanceof HTMLHeadElement) m = document.head;
1437
- else if (m = document.getElementById(f.id), !m) {
1438
- console.warn(e("PatchElementsNoTargetsFound"), {
1439
- element: {
1440
- id: f.id
1441
- }
1442
- });
1443
- continue;
1444
- }
1445
- $t(n, f, [
1446
- m
1447
- ]);
1448
- }
1449
- else {
1450
- let f = document.querySelectorAll(t);
1451
- if (!f.length) {
1452
- console.warn(e("PatchElementsNoTargetsFound"), {
1453
- selector: t
1454
- });
1455
- return;
1456
- }
1457
- $t(n, h, f);
1458
- }
1459
- }, st = new WeakSet;
1460
- for (let e of document.querySelectorAll("script"))st.add(e);
1461
- var jt = (e)=>{
1462
- let t = e instanceof HTMLScriptElement ? [
1463
- e
1464
- ] : e.querySelectorAll("script");
1465
- for (let n of t)if (!st.has(n)) {
1466
- let r = document.createElement("script");
1467
- for (let { name: s, value: o } of n.attributes)r.setAttribute(s, o);
1468
- r.text = n.text, n.replaceWith(r), st.add(r);
1469
- }
1470
- }, Vt = (e, t, n)=>{
1471
- for (let r of e){
1472
- let s = t.cloneNode(!0);
1473
- jt(s), r[n](s);
1474
- }
1475
- }, $t = (e, t, n)=>{
1476
- switch(e){
1477
- case "remove":
1478
- for (let r of n)r.remove();
1479
- break;
1480
- case "outer":
1481
- case "inner":
1482
- for (let r of n)yn(r, t.cloneNode(!0), e), jt(r);
1483
- break;
1484
- case "replace":
1485
- Vt(n, t, "replaceWith");
1486
- break;
1487
- case "prepend":
1488
- case "append":
1489
- case "before":
1490
- case "after":
1491
- Vt(n, t, e);
1492
- }
1493
- }, H = new Map, ue = new Set, le = new Map, Se = new Set, fe = document.createElement("div");
1494
- fe.hidden = !0;
1495
- var Te = G("ignore-morph"), hn = `[${Te}]`, yn = (e, t, n = "outer")=>{
1496
- if (K(e) && K(t) && e.hasAttribute(Te) && t.hasAttribute(Te) || e.parentElement?.closest(hn)) return;
1497
- let r = document.createElement("div");
1498
- r.append(t), document.body.insertAdjacentElement("afterend", fe);
1499
- let s = e.querySelectorAll("[id]");
1500
- for (let { id: a, tagName: c } of s)le.has(a) ? Se.add(a) : le.set(a, c);
1501
- e instanceof Element && e.id && (le.has(e.id) ? Se.add(e.id) : le.set(e.id, e.tagName)), ue.clear();
1502
- let o = r.querySelectorAll("[id]");
1503
- for (let { id: a, tagName: c } of o)ue.has(a) ? Se.add(a) : le.get(a) === c && ue.add(a);
1504
- for (let a of Se)ue.delete(a);
1505
- le.clear(), Se.clear(), H.clear();
1506
- let i = n === "outer" ? e.parentElement : e;
1507
- qt(i, s), qt(r, o), Gt(i, r, n === "outer" ? e : null, e.nextSibling), fe.remove();
1508
- }, Gt = (e, t, n = null, r = null)=>{
1509
- e instanceof HTMLTemplateElement && t instanceof HTMLTemplateElement && (e = e.content, t = t.content), n ??= e.firstChild;
1510
- for (let s of t.childNodes){
1511
- if (n && n !== r) {
1512
- let o = bn(s, n, r);
1513
- if (o) {
1514
- if (o !== n) {
1515
- let i = n;
1516
- for(; i && i !== o;){
1517
- let a = i;
1518
- i = i.nextSibling, it(a);
1519
- }
1520
- }
1521
- rt(o, s), n = o.nextSibling;
1522
- continue;
1523
- }
1524
- }
1525
- if (s instanceof Element && ue.has(s.id)) {
1526
- let o = document.getElementById(s.id), i = o;
1527
- for(; i = i.parentNode;){
1528
- let a = H.get(i);
1529
- a && (a.delete(s.id), a.size || H.delete(i));
1530
- }
1531
- Bt(e, o, n), rt(o, s), n = o.nextSibling;
1532
- continue;
1533
- }
1534
- if (H.has(s)) {
1535
- let o = s.namespaceURI, i = s.tagName, a = o && o !== "http://www.w3.org/1999/xhtml" ? document.createElementNS(o, i) : document.createElement(i);
1536
- e.insertBefore(a, n), rt(a, s), n = a.nextSibling;
1537
- } else {
1538
- let o = document.importNode(s, !0);
1539
- e.insertBefore(o, n), n = o.nextSibling;
1540
- }
1541
- }
1542
- for(; n && n !== r;){
1543
- let s = n;
1544
- n = n.nextSibling, it(s);
1545
- }
1546
- }, bn = (e, t, n)=>{
1547
- let r = null, s = e.nextSibling, o = 0, i = 0, a = H.get(e)?.size || 0, c = t;
1548
- for(; c && c !== n;){
1549
- if (It(c, e)) {
1550
- let l = !1, u = H.get(c), d = H.get(e);
1551
- if (d && u) {
1552
- for (let h of u)if (d.has(h)) {
1553
- l = !0;
1554
- break;
1555
- }
1556
- }
1557
- if (l) return c;
1558
- if (!r && !H.has(c)) {
1559
- if (!a) return c;
1560
- r = c;
1561
- }
1562
- }
1563
- if (i += H.get(c)?.size || 0, i > a) break;
1564
- r === null && s && It(c, s) && (o++, s = s.nextSibling, o >= 2 && (r = void 0)), c = c.nextSibling;
1565
- }
1566
- return r || null;
1567
- }, It = (e, t)=>e.nodeType === t.nodeType && e.tagName === t.tagName && (!e.id || e.id === t.id), it = (e)=>{
1568
- H.has(e) ? Bt(fe, e, null) : e.parentNode?.removeChild(e);
1569
- }, Bt = it.call.bind(fe.moveBefore ?? fe.insertBefore), vn = G("preserve-attr"), rt = (e, t)=>{
1570
- let n = t.nodeType;
1571
- if (n === 1) {
1572
- let r = e, s = t, o = r.hasAttribute("data-scope-children");
1573
- if (r.hasAttribute(Te) && s.hasAttribute(Te)) return e;
1574
- 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));
1575
- let i = (t.getAttribute(vn) ?? "").split(" ");
1576
- for (let { name: a, value: c } of s.attributes)r.getAttribute(a) !== c && !i.includes(a) && r.setAttribute(a, c);
1577
- for(let a = r.attributes.length - 1; a >= 0; a--){
1578
- let { name: c } = r.attributes[a];
1579
- !s.hasAttribute(c) && !i.includes(c) && r.removeAttribute(c);
1580
- }
1581
- 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", {
1582
- bubbles: !1
1583
- }));
1584
- }
1585
- return (n === 8 || n === 3) && e.nodeValue !== t.nodeValue && (e.nodeValue = t.nodeValue), e;
1586
- }, qt = (e, t)=>{
1587
- for (let n of t)if (ue.has(n.id)) {
1588
- let r = n;
1589
- for(; r && r !== e;){
1590
- let s = H.get(r);
1591
- s || (s = new Set, H.set(r, s)), s.add(n.id), r = r.parentElement;
1592
- }
1593
- }
1594
- };
1595
- ve({
1596
- name: "datastar-patch-signals",
1597
- apply ({ error: e }, { signals: t, onlyIfMissing: n }) {
1598
- if (t) {
1599
- let r = n?.trim() === "true";
1600
- O(ae(t), {
1601
- ifMissing: r
1602
- });
1603
- } else throw e("PatchSignalsExpectedSignals");
1604
- }
1605
- });
1606
- 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 }; //# sourceMappingURL=datastar.js.map