@riverbankcms/sdk 0.7.2 → 0.7.4

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 (187) hide show
  1. package/README.md +54 -0
  2. package/dist/client/bookings.d.mts +2 -0
  3. package/dist/client/bookings.d.ts +2 -0
  4. package/dist/client/bookings.js +2956 -104
  5. package/dist/client/bookings.js.map +1 -1
  6. package/dist/client/bookings.mjs +2929 -70
  7. package/dist/client/bookings.mjs.map +1 -1
  8. package/dist/client/client.d.mts +2 -2
  9. package/dist/client/client.d.ts +2 -2
  10. package/dist/client/client.js +80 -11
  11. package/dist/client/client.js.map +1 -1
  12. package/dist/client/client.mjs +87 -11
  13. package/dist/client/client.mjs.map +1 -1
  14. package/dist/client/hooks.d.mts +2 -2
  15. package/dist/client/hooks.d.ts +2 -2
  16. package/dist/client/rendering/client.js +3070 -259
  17. package/dist/client/rendering/client.js.map +1 -1
  18. package/dist/client/rendering/client.mjs +3212 -395
  19. package/dist/client/rendering/client.mjs.map +1 -1
  20. package/dist/client/spam-protection.d.mts +55 -0
  21. package/dist/client/spam-protection.d.ts +55 -0
  22. package/dist/client/spam-protection.js +2915 -0
  23. package/dist/client/spam-protection.js.map +1 -0
  24. package/dist/client/spam-protection.mjs +2893 -0
  25. package/dist/client/spam-protection.mjs.map +1 -0
  26. package/dist/client/{usePage-Db9kzA41.d.ts → usePage-BYmJCCm1.d.ts} +14 -2
  27. package/dist/client/{usePage-C9tJpuKa.d.mts → usePage-DZtrWajy.d.mts} +14 -2
  28. package/dist/server/{Layout-Ce7PU9I5.d.ts → Layout-Yluyb6sK.d.ts} +1 -1
  29. package/dist/server/{Layout-WllR8Zug.d.mts → Layout-qWLdVm5-.d.mts} +1 -1
  30. package/dist/server/chunk-2IZ6S225.js +122 -0
  31. package/dist/server/chunk-2IZ6S225.js.map +1 -0
  32. package/dist/server/chunk-4CV4JOE5.js +27 -0
  33. package/dist/server/chunk-4CV4JOE5.js.map +1 -0
  34. package/dist/server/{chunk-AET56TQX.mjs → chunk-5LRR64Y6.mjs} +32 -5
  35. package/dist/server/chunk-5LRR64Y6.mjs.map +1 -0
  36. package/dist/server/{chunk-HMENX4Y7.js → chunk-6Z4MQG47.js} +370 -49
  37. package/dist/server/chunk-6Z4MQG47.js.map +1 -0
  38. package/dist/server/{chunk-5JT452F2.mjs → chunk-JNU7ZS2V.mjs} +340 -19
  39. package/dist/server/chunk-JNU7ZS2V.mjs.map +1 -0
  40. package/dist/server/{chunk-VODFQMUW.js → chunk-NBTRDLCM.js} +32 -5
  41. package/dist/server/chunk-NBTRDLCM.js.map +1 -0
  42. package/dist/server/chunk-NFEGQTCC.mjs +27 -0
  43. package/dist/server/chunk-PPHZV6YD.mjs +122 -0
  44. package/dist/server/chunk-PPHZV6YD.mjs.map +1 -0
  45. package/dist/server/{components-RPzRQve6.d.mts → components-DNHfSCML.d.mts} +3 -3
  46. package/dist/server/{components--LT61IKp.d.ts → components-Di5ME6He.d.ts} +3 -3
  47. package/dist/server/components.d.mts +5 -5
  48. package/dist/server/components.d.ts +5 -5
  49. package/dist/server/components.js +1 -0
  50. package/dist/server/components.js.map +1 -1
  51. package/dist/server/components.mjs +1 -0
  52. package/dist/server/config-validation.js +1 -0
  53. package/dist/server/config-validation.js.map +1 -1
  54. package/dist/server/config-validation.mjs +1 -0
  55. package/dist/server/config.js +1 -0
  56. package/dist/server/config.js.map +1 -1
  57. package/dist/server/config.mjs +1 -0
  58. package/dist/server/config.mjs.map +1 -1
  59. package/dist/server/data.d.mts +2 -2
  60. package/dist/server/data.d.ts +2 -2
  61. package/dist/server/data.js +1 -0
  62. package/dist/server/data.js.map +1 -1
  63. package/dist/server/data.mjs +1 -0
  64. package/dist/server/env.d.mts +91 -5
  65. package/dist/server/env.d.ts +91 -5
  66. package/dist/server/env.js +9 -2
  67. package/dist/server/env.js.map +1 -1
  68. package/dist/server/env.mjs +8 -1
  69. package/dist/server/{index-BL66CU6d.d.mts → index--Oyunk_B.d.mts} +2 -2
  70. package/dist/server/{index-CJk9iQQW.d.ts → index-C9Ra8dza.d.ts} +2 -2
  71. package/dist/server/{index-Bkva0WAj.d.mts → index-Clm3skz_.d.mts} +1 -1
  72. package/dist/server/{index-CSBWKA3r.d.ts → index-DLvNddi-.d.ts} +1 -1
  73. package/dist/server/index.d.mts +215 -4
  74. package/dist/server/index.d.ts +215 -4
  75. package/dist/server/index.js +301 -3
  76. package/dist/server/index.js.map +1 -1
  77. package/dist/server/index.mjs +301 -3
  78. package/dist/server/index.mjs.map +1 -1
  79. package/dist/server/{loadContent-CXUWMuzY.d.ts → loadContent-D7LQwI0o.d.ts} +3 -3
  80. package/dist/server/{loadContent-F_tAS0Nl.d.mts → loadContent-DVfuBLiZ.d.mts} +3 -3
  81. package/dist/server/{loadPage-6I7F6GRF.js → loadPage-AXNAERDS.js} +2 -1
  82. package/dist/server/loadPage-AXNAERDS.js.map +1 -0
  83. package/dist/server/{loadPage-i2r-X5b9.d.ts → loadPage-BmYJCe_V.d.ts} +2 -2
  84. package/dist/server/{loadPage-CxlYLe5K.d.mts → loadPage-BucnLHmE.d.mts} +2 -2
  85. package/dist/server/{loadPage-JI2SML4M.mjs → loadPage-XR7ORQ2E.mjs} +2 -1
  86. package/dist/server/loadPage-XR7ORQ2E.mjs.map +1 -0
  87. package/dist/server/metadata.d.mts +4 -4
  88. package/dist/server/metadata.d.ts +4 -4
  89. package/dist/server/metadata.js +1 -0
  90. package/dist/server/metadata.js.map +1 -1
  91. package/dist/server/metadata.mjs +1 -0
  92. package/dist/server/navigation.d.mts +2 -2
  93. package/dist/server/navigation.d.ts +2 -2
  94. package/dist/server/navigation.js +1 -0
  95. package/dist/server/navigation.js.map +1 -1
  96. package/dist/server/navigation.mjs +1 -0
  97. package/dist/server/next/revalidate.js +5 -4
  98. package/dist/server/next/revalidate.js.map +1 -1
  99. package/dist/server/next/revalidate.mjs +3 -2
  100. package/dist/server/next/revalidate.mjs.map +1 -1
  101. package/dist/server/next/tags.d.mts +3 -0
  102. package/dist/server/next/tags.d.ts +3 -0
  103. package/dist/server/next/tags.js +3 -1
  104. package/dist/server/next/tags.js.map +1 -1
  105. package/dist/server/next/tags.mjs +2 -0
  106. package/dist/server/next/tags.mjs.map +1 -1
  107. package/dist/server/next.d.mts +5 -5
  108. package/dist/server/next.d.ts +5 -5
  109. package/dist/server/next.js +5 -4
  110. package/dist/server/next.js.map +1 -1
  111. package/dist/server/next.mjs +3 -2
  112. package/dist/server/next.mjs.map +1 -1
  113. package/dist/server/rendering/server.d.mts +4 -4
  114. package/dist/server/rendering/server.d.ts +4 -4
  115. package/dist/server/rendering/server.js +1 -0
  116. package/dist/server/rendering/server.js.map +1 -1
  117. package/dist/server/rendering/server.mjs +1 -0
  118. package/dist/server/rendering.d.mts +7 -7
  119. package/dist/server/rendering.d.ts +7 -7
  120. package/dist/server/rendering.js +1 -0
  121. package/dist/server/rendering.js.map +1 -1
  122. package/dist/server/rendering.mjs +1 -0
  123. package/dist/server/routing.d.mts +3 -3
  124. package/dist/server/routing.d.ts +3 -3
  125. package/dist/server/routing.js +4 -2
  126. package/dist/server/routing.js.map +1 -1
  127. package/dist/server/routing.mjs +3 -1
  128. package/dist/server/routing.mjs.map +1 -1
  129. package/dist/server/server.d.mts +5 -5
  130. package/dist/server/server.d.ts +5 -5
  131. package/dist/server/server.js +3 -2
  132. package/dist/server/server.js.map +1 -1
  133. package/dist/server/server.mjs +2 -1
  134. package/dist/server/theme-bridge.js +1 -0
  135. package/dist/server/theme-bridge.js.map +1 -1
  136. package/dist/server/theme-bridge.mjs +1 -0
  137. package/dist/server/theme-bridge.mjs.map +1 -1
  138. package/dist/server/theme.js +3 -1
  139. package/dist/server/theme.js.map +1 -1
  140. package/dist/server/theme.mjs +2 -0
  141. package/dist/server/theme.mjs.map +1 -1
  142. package/dist/server/{types-DnkRh0UL.d.ts → types-BRQyLrQU.d.ts} +14 -2
  143. package/dist/server/{types-Dsu9wsUh.d.mts → types-BSV6Vc-P.d.mts} +2 -2
  144. package/dist/server/{types-MF2AWoKv.d.mts → types-C-LShyIg.d.mts} +14 -2
  145. package/dist/server/{types-CVykEqXN.d.ts → types-Dt98DeYa.d.ts} +2 -2
  146. package/dist/server/webhooks.d.mts +8 -2
  147. package/dist/server/webhooks.d.ts +8 -2
  148. package/dist/server/webhooks.js +3 -2
  149. package/dist/server/webhooks.js.map +1 -1
  150. package/dist/server/webhooks.mjs +2 -1
  151. package/package.json +7 -1
  152. package/dist/client/resolver-BhueZVxZ.d.mts +0 -61
  153. package/dist/client/resolver-BhueZVxZ.d.ts +0 -61
  154. package/dist/client/usePage--fGlyrgj.d.mts +0 -6439
  155. package/dist/client/usePage-BBcFCxOU.d.ts +0 -6297
  156. package/dist/client/usePage-BC8Q2E3t.d.mts +0 -6431
  157. package/dist/client/usePage-BTPnCuWC.d.mts +0 -6511
  158. package/dist/client/usePage-BXjk8BhD.d.mts +0 -6704
  159. package/dist/client/usePage-BafOS9UT.d.mts +0 -6512
  160. package/dist/client/usePage-BcjWPXvh.d.mts +0 -6388
  161. package/dist/client/usePage-BiOReg0_.d.ts +0 -6704
  162. package/dist/client/usePage-Bnx-kA6x.d.mts +0 -6670
  163. package/dist/client/usePage-BvKAa3Zw.d.mts +0 -366
  164. package/dist/client/usePage-BvKAa3Zw.d.ts +0 -366
  165. package/dist/client/usePage-BydHcMYB.d.mts +0 -6297
  166. package/dist/client/usePage-C3ZKNwY7.d.mts +0 -6393
  167. package/dist/client/usePage-CE7X5NcN.d.ts +0 -6439
  168. package/dist/client/usePage-CHEybPMD.d.ts +0 -6429
  169. package/dist/client/usePage-CrKw1H6Y.d.ts +0 -6338
  170. package/dist/client/usePage-CyYpOJud.d.ts +0 -6388
  171. package/dist/client/usePage-D4fxZbRR.d.mts +0 -6429
  172. package/dist/client/usePage-DMI8ImsU.d.mts +0 -6338
  173. package/dist/client/usePage-DoPI6b8V.d.ts +0 -6511
  174. package/dist/client/usePage-DpRNZUtP.d.ts +0 -6431
  175. package/dist/client/usePage-QNWArrVO.d.ts +0 -6670
  176. package/dist/client/usePage-fBgPB6Oq.d.ts +0 -6512
  177. package/dist/client/usePage-gpVaeWDy.d.ts +0 -6393
  178. package/dist/server/chunk-5JT452F2.mjs.map +0 -1
  179. package/dist/server/chunk-AET56TQX.mjs.map +0 -1
  180. package/dist/server/chunk-HMENX4Y7.js.map +0 -1
  181. package/dist/server/chunk-LQUKXIW7.mjs +0 -13
  182. package/dist/server/chunk-LQUKXIW7.mjs.map +0 -1
  183. package/dist/server/chunk-VODFQMUW.js.map +0 -1
  184. package/dist/server/chunk-WYNEYDXO.js +0 -13
  185. package/dist/server/chunk-WYNEYDXO.js.map +0 -1
  186. package/dist/server/loadPage-6I7F6GRF.js.map +0 -1
  187. /package/dist/server/{loadPage-JI2SML4M.mjs.map → chunk-NFEGQTCC.mjs.map} +0 -0
@@ -6,27 +6,2785 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
7
  var __getProtoOf = Object.getPrototypeOf;
8
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __esm = (fn2, res) => function __init() {
10
+ return fn2 && (res = (0, fn2[__getOwnPropNames(fn2)[0]])(fn2 = 0)), res;
11
+ };
9
12
  var __export = (target, all) => {
10
13
  for (var name in all)
11
14
  __defProp(target, name, { get: all[name], enumerable: true });
12
15
  };
13
- var __copyProps = (to, from, except, desc) => {
16
+ var __copyProps = (to2, from, except, desc) => {
14
17
  if (from && typeof from === "object" || typeof from === "function") {
15
18
  for (let key of __getOwnPropNames(from))
16
- if (!__hasOwnProp.call(to, key) && key !== except)
17
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
+ if (!__hasOwnProp.call(to2, key) && key !== except)
20
+ __defProp(to2, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
+ }
22
+ return to2;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
30
+ mod
31
+ ));
32
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
33
+
34
+ // ../../node_modules/.pnpm/altcha@1.5.1/node_modules/altcha/dist/altcha.js
35
+ var altcha_exports = {};
36
+ __export(altcha_exports, {
37
+ Altcha: () => ha
38
+ });
39
+ function Si(e) {
40
+ let t;
41
+ try {
42
+ if (t = qr && (self.URL || self.webkitURL).createObjectURL(qr), !t) throw "";
43
+ const r = new Worker(t, {
44
+ name: e == null ? void 0 : e.name
45
+ });
46
+ return r.addEventListener("error", () => {
47
+ (self.URL || self.webkitURL).revokeObjectURL(t);
48
+ }), r;
49
+ } catch {
50
+ return new Worker(
51
+ "data:text/javascript;charset=utf-8," + encodeURIComponent(ln),
52
+ {
53
+ name: e == null ? void 0 : e.name
54
+ }
55
+ );
56
+ } finally {
57
+ t && (self.URL || self.webkitURL).revokeObjectURL(t);
58
+ }
59
+ }
60
+ function un(e) {
61
+ throw new Error("https://svelte.dev/e/lifecycle_outside_component");
62
+ }
63
+ function hn(e) {
64
+ for (var t = 0; t < e.length; t++)
65
+ e[t]();
66
+ }
67
+ function Gi(e) {
68
+ throw new Error("https://svelte.dev/e/effect_in_teardown");
69
+ }
70
+ function Zi() {
71
+ throw new Error("https://svelte.dev/e/effect_in_unowned_derived");
72
+ }
73
+ function Ji(e) {
74
+ throw new Error("https://svelte.dev/e/effect_orphan");
75
+ }
76
+ function Ki() {
77
+ throw new Error("https://svelte.dev/e/effect_update_depth_exceeded");
78
+ }
79
+ function zi() {
80
+ throw new Error("https://svelte.dev/e/hydration_failed");
81
+ }
82
+ function Xi(e) {
83
+ throw new Error("https://svelte.dev/e/props_invalid_value");
84
+ }
85
+ function Qi() {
86
+ throw new Error("https://svelte.dev/e/state_descriptors_fixed");
87
+ }
88
+ function eo() {
89
+ throw new Error("https://svelte.dev/e/state_prototype_fixed");
90
+ }
91
+ function to() {
92
+ throw new Error("https://svelte.dev/e/state_unsafe_mutation");
93
+ }
94
+ function Tt(e) {
95
+ console.warn("https://svelte.dev/e/hydration_mismatch");
96
+ }
97
+ function Ze(e) {
98
+ L = e;
99
+ }
100
+ function Re(e) {
101
+ if (e === null)
102
+ throw Tt(), Je;
103
+ return P = e;
104
+ }
105
+ function ze() {
106
+ return Re(
107
+ /** @type {TemplateNode} */
108
+ /* @__PURE__ */ Te(P)
109
+ );
110
+ }
111
+ function z(e) {
112
+ if (L) {
113
+ if (/* @__PURE__ */ Te(P) !== null)
114
+ throw Tt(), Je;
115
+ P = e;
116
+ }
117
+ }
118
+ function ro() {
119
+ for (var e = 0, t = P; ; ) {
120
+ if (t.nodeType === 8) {
121
+ var r = (
122
+ /** @type {Comment} */
123
+ t.data
124
+ );
125
+ if (r === fn) {
126
+ if (e === 0) return t;
127
+ e -= 1;
128
+ } else (r === zt || r === sn) && (e += 1);
129
+ }
130
+ var i = (
131
+ /** @type {TemplateNode} */
132
+ /* @__PURE__ */ Te(t)
133
+ );
134
+ t.remove(), t = i;
135
+ }
136
+ }
137
+ function ke(e) {
138
+ if (typeof e != "object" || e === null || ut in e)
139
+ return e;
140
+ const t = dn(e);
141
+ if (t !== Bi && t !== qi)
142
+ return e;
143
+ var r = /* @__PURE__ */ new Map(), i = cn(e), o = /* @__PURE__ */ J(0), a = R, l = (s) => {
144
+ var f = R;
145
+ ve(a);
146
+ var d = s();
147
+ return ve(f), d;
148
+ };
149
+ return i && r.set("length", /* @__PURE__ */ J(
150
+ /** @type {any[]} */
151
+ e.length
152
+ )), new Proxy(
153
+ /** @type {any} */
154
+ e,
155
+ {
156
+ defineProperty(s, f, d) {
157
+ (!("value" in d) || d.configurable === false || d.enumerable === false || d.writable === false) && Qi();
158
+ var v = r.get(f);
159
+ return v === void 0 ? (v = l(() => /* @__PURE__ */ J(d.value)), r.set(f, v)) : D(
160
+ v,
161
+ l(() => ke(d.value))
162
+ ), true;
163
+ },
164
+ deleteProperty(s, f) {
165
+ var d = r.get(f);
166
+ if (d === void 0)
167
+ f in s && (r.set(
168
+ f,
169
+ l(() => /* @__PURE__ */ J(Z))
170
+ ), qt(o));
171
+ else {
172
+ if (i && typeof f == "string") {
173
+ var v = (
174
+ /** @type {Source<number>} */
175
+ r.get("length")
176
+ ), h = Number(f);
177
+ Number.isInteger(h) && h < v.v && D(v, h);
178
+ }
179
+ D(d, Z), qt(o);
180
+ }
181
+ return true;
182
+ },
183
+ get(s, f, d) {
184
+ var m;
185
+ if (f === ut)
186
+ return e;
187
+ var v = r.get(f), h = f in s;
188
+ if (v === void 0 && (!h || (m = Oe(s, f)) != null && m.writable) && (v = l(() => /* @__PURE__ */ J(ke(h ? s[f] : Z))), r.set(f, v)), v !== void 0) {
189
+ var g = c(v);
190
+ return g === Z ? void 0 : g;
191
+ }
192
+ return Reflect.get(s, f, d);
193
+ },
194
+ getOwnPropertyDescriptor(s, f) {
195
+ var d = Reflect.getOwnPropertyDescriptor(s, f);
196
+ if (d && "value" in d) {
197
+ var v = r.get(f);
198
+ v && (d.value = c(v));
199
+ } else if (d === void 0) {
200
+ var h = r.get(f), g = h == null ? void 0 : h.v;
201
+ if (h !== void 0 && g !== Z)
202
+ return {
203
+ enumerable: true,
204
+ configurable: true,
205
+ value: g,
206
+ writable: true
207
+ };
208
+ }
209
+ return d;
210
+ },
211
+ has(s, f) {
212
+ var g;
213
+ if (f === ut)
214
+ return true;
215
+ var d = r.get(f), v = d !== void 0 && d.v !== Z || Reflect.has(s, f);
216
+ if (d !== void 0 || I !== null && (!v || (g = Oe(s, f)) != null && g.writable)) {
217
+ d === void 0 && (d = l(() => /* @__PURE__ */ J(v ? ke(s[f]) : Z)), r.set(f, d));
218
+ var h = c(d);
219
+ if (h === Z)
220
+ return false;
221
+ }
222
+ return v;
223
+ },
224
+ set(s, f, d, v) {
225
+ var U;
226
+ var h = r.get(f), g = f in s;
227
+ if (i && f === "length")
228
+ for (var m = d; m < /** @type {Source<number>} */
229
+ h.v; m += 1) {
230
+ var k = r.get(m + "");
231
+ k !== void 0 ? D(k, Z) : m in s && (k = l(() => /* @__PURE__ */ J(Z)), r.set(m + "", k));
232
+ }
233
+ h === void 0 ? (!g || (U = Oe(s, f)) != null && U.writable) && (h = l(() => /* @__PURE__ */ J(void 0)), D(
234
+ h,
235
+ l(() => ke(d))
236
+ ), r.set(f, h)) : (g = h.v !== Z, D(
237
+ h,
238
+ l(() => ke(d))
239
+ ));
240
+ var N = Reflect.getOwnPropertyDescriptor(s, f);
241
+ if (N != null && N.set && N.set.call(v, d), !g) {
242
+ if (i && typeof f == "string") {
243
+ var F = (
244
+ /** @type {Source<number>} */
245
+ r.get("length")
246
+ ), V = Number(f);
247
+ Number.isInteger(V) && V >= F.v && D(F, V + 1);
248
+ }
249
+ qt(o);
250
+ }
251
+ return true;
252
+ },
253
+ ownKeys(s) {
254
+ c(o);
255
+ var f = Reflect.ownKeys(s).filter((h) => {
256
+ var g = r.get(h);
257
+ return g === void 0 || g.v !== Z;
258
+ });
259
+ for (var [d, v] of r)
260
+ v.v !== Z && !(d in s) && f.push(d);
261
+ return f;
262
+ },
263
+ setPrototypeOf() {
264
+ eo();
265
+ }
266
+ }
267
+ );
268
+ }
269
+ function qt(e, t = 1) {
270
+ D(e, e.v + t);
271
+ }
272
+ function Wt() {
273
+ if (Yr === void 0) {
274
+ Yr = window, mn = /Firefox/.test(navigator.userAgent);
275
+ var e = Element.prototype, t = Node.prototype, r = Text.prototype;
276
+ wn = Oe(t, "firstChild").get, pn = Oe(t, "nextSibling").get, Wr(e) && (e.__click = void 0, e.__className = void 0, e.__attributes = null, e.__style = void 0, e.__e = void 0), Wr(r) && (r.__t = void 0);
277
+ }
278
+ }
279
+ function er(e = "") {
280
+ return document.createTextNode(e);
281
+ }
282
+ // @__NO_SIDE_EFFECTS__
283
+ function ae(e) {
284
+ return wn.call(e);
285
+ }
286
+ // @__NO_SIDE_EFFECTS__
287
+ function Te(e) {
288
+ return pn.call(e);
289
+ }
290
+ function X(e, t) {
291
+ if (!L)
292
+ return /* @__PURE__ */ ae(e);
293
+ var r = (
294
+ /** @type {TemplateNode} */
295
+ /* @__PURE__ */ ae(P)
296
+ );
297
+ return r === null && (r = P.appendChild(er())), Re(r), r;
298
+ }
299
+ function Gr(e, t) {
300
+ if (!L) {
301
+ var r = (
302
+ /** @type {DocumentFragment} */
303
+ /* @__PURE__ */ ae(
304
+ /** @type {Node} */
305
+ e
306
+ )
307
+ );
308
+ return r instanceof Comment && r.data === "" ? /* @__PURE__ */ Te(r) : r;
309
+ }
310
+ return P;
311
+ }
312
+ function we(e, t = 1, r = false) {
313
+ let i = L ? P : e;
314
+ for (var o; t--; )
315
+ o = i, i = /** @type {TemplateNode} */
316
+ /* @__PURE__ */ Te(i);
317
+ if (!L)
318
+ return i;
319
+ var a = i == null ? void 0 : i.nodeType;
320
+ if (r && a !== 3) {
321
+ var l = er();
322
+ return i === null ? o == null || o.after(l) : i.before(l), Re(l), l;
323
+ }
324
+ return Re(i), /** @type {TemplateNode} */
325
+ i;
326
+ }
327
+ function io(e) {
328
+ e.textContent = "";
329
+ }
330
+ function bn(e) {
331
+ return e === this.v;
332
+ }
333
+ function oo(e, t) {
334
+ return e != e ? t == t : e !== t || e !== null && typeof e == "object" || typeof e == "function";
335
+ }
336
+ function yn(e) {
337
+ return !oo(e, this.v);
338
+ }
339
+ // @__NO_SIDE_EFFECTS__
340
+ function tr(e) {
341
+ var t = fe | he, r = R !== null && (R.f & fe) !== 0 ? (
342
+ /** @type {Derived} */
343
+ R
344
+ ) : null;
345
+ return I === null || r !== null && (r.f & ee) !== 0 ? t |= ee : I.f |= gn, {
346
+ ctx: W,
347
+ deps: null,
348
+ effects: null,
349
+ equals: bn,
350
+ f: t,
351
+ fn: e,
352
+ reactions: null,
353
+ rv: 0,
354
+ v: (
355
+ /** @type {V} */
356
+ null
357
+ ),
358
+ wv: 0,
359
+ parent: r ?? I
360
+ };
361
+ }
362
+ // @__NO_SIDE_EFFECTS__
363
+ function st(e) {
364
+ const t = /* @__PURE__ */ tr(e);
365
+ return On(t), t;
366
+ }
367
+ function En(e) {
368
+ var t = e.effects;
369
+ if (t !== null) {
370
+ e.effects = null;
371
+ for (var r = 0; r < t.length; r += 1)
372
+ Ie(
373
+ /** @type {Effect} */
374
+ t[r]
375
+ );
376
+ }
377
+ }
378
+ function ao(e) {
379
+ for (var t = e.parent; t !== null; ) {
380
+ if ((t.f & fe) === 0)
381
+ return (
382
+ /** @type {Effect} */
383
+ t
384
+ );
385
+ t = t.parent;
386
+ }
387
+ return null;
388
+ }
389
+ function xn(e) {
390
+ var t, r = I;
391
+ Se(ao(e));
392
+ try {
393
+ En(e), t = jn(e);
394
+ } finally {
395
+ Se(r);
396
+ }
397
+ return t;
398
+ }
399
+ function $n(e) {
400
+ var t = xn(e), r = (Ce || (e.f & ee) !== 0) && e.deps !== null ? Ue : K;
401
+ ue(e, r), e.equals(t) || (e.v = t, e.wv = Mn());
402
+ }
403
+ function lo(e) {
404
+ I === null && R === null && Ji(), R !== null && (R.f & ee) !== 0 && I === null && Zi(), gt && Gi();
405
+ }
406
+ function so(e, t) {
407
+ var r = t.last;
408
+ r === null ? t.last = t.first = e : (r.next = e, e.prev = r, t.last = e);
409
+ }
410
+ function je(e, t, r, i = true) {
411
+ var o = I, a = {
412
+ ctx: W,
413
+ deps: null,
414
+ nodes_start: null,
415
+ nodes_end: null,
416
+ f: e | he,
417
+ first: null,
418
+ fn: t,
419
+ last: null,
420
+ next: null,
421
+ parent: o,
422
+ prev: null,
423
+ teardown: null,
424
+ transitions: null,
425
+ wv: 0
426
+ };
427
+ if (r)
428
+ try {
429
+ ir(a), a.f |= Hi;
430
+ } catch (f) {
431
+ throw Ie(a), f;
432
+ }
433
+ else t !== null && Lt(a);
434
+ var l = r && a.deps === null && a.first === null && a.nodes_start === null && a.teardown === null && (a.f & (gn | xt)) === 0;
435
+ if (!l && i && (o !== null && so(a, o), R !== null && (R.f & fe) !== 0)) {
436
+ var s = (
437
+ /** @type {Derived} */
438
+ R
439
+ );
440
+ (s.effects ?? (s.effects = [])).push(a);
441
+ }
442
+ return a;
443
+ }
444
+ function kn(e) {
445
+ const t = je(It, null, false);
446
+ return ue(t, K), t.teardown = e, t;
447
+ }
448
+ function Yt(e) {
449
+ lo();
450
+ var t = I !== null && (I.f & be) !== 0 && W !== null && !W.m;
451
+ if (t) {
452
+ var r = (
453
+ /** @type {ComponentContext} */
454
+ W
455
+ );
456
+ (r.e ?? (r.e = [])).push({
457
+ fn: e,
458
+ effect: I,
459
+ reaction: R
460
+ });
461
+ } else {
462
+ var i = rr(e);
463
+ return i;
464
+ }
465
+ }
466
+ function fo(e) {
467
+ const t = je(Me, e, true);
468
+ return () => {
469
+ Ie(t);
470
+ };
471
+ }
472
+ function uo(e) {
473
+ const t = je(Me, e, true);
474
+ return (r = {}) => new Promise((i) => {
475
+ r.outro ? Zt(t, () => {
476
+ Ie(t), i(void 0);
477
+ }) : (Ie(t), i(void 0));
478
+ });
479
+ }
480
+ function rr(e) {
481
+ return je(vn, e, false);
482
+ }
483
+ function nr(e) {
484
+ return je(It, e, true);
485
+ }
486
+ function Pe(e, t = [], r = tr) {
487
+ const i = t.map(r);
488
+ return Cn(() => e(...i.map(c)));
489
+ }
490
+ function Cn(e, t = 0) {
491
+ return je(It | Xt | t, e, true);
492
+ }
493
+ function Gt(e, t = true) {
494
+ return je(It | be, e, true, t);
495
+ }
496
+ function An(e) {
497
+ var t = e.teardown;
498
+ if (t !== null) {
499
+ const r = gt, i = R;
500
+ Jr(true), ve(null);
501
+ try {
502
+ t.call(null);
503
+ } finally {
504
+ Jr(r), ve(i);
505
+ }
506
+ }
507
+ }
508
+ function Rn(e, t = false) {
509
+ var r = e.first;
510
+ for (e.first = e.last = null; r !== null; ) {
511
+ var i = r.next;
512
+ (r.f & Me) !== 0 ? r.parent = null : Ie(r, t), r = i;
513
+ }
514
+ }
515
+ function co(e) {
516
+ for (var t = e.first; t !== null; ) {
517
+ var r = t.next;
518
+ (t.f & be) === 0 && Ie(t), t = r;
519
+ }
520
+ }
521
+ function Ie(e, t = true) {
522
+ var r = false;
523
+ (t || (e.f & Wi) !== 0) && e.nodes_start !== null && (In(
524
+ e.nodes_start,
525
+ /** @type {TemplateNode} */
526
+ e.nodes_end
527
+ ), r = true), Rn(e, t && !r), Rt(e, 0), ue(e, St);
528
+ var i = e.transitions;
529
+ if (i !== null)
530
+ for (const a of i)
531
+ a.stop();
532
+ An(e);
533
+ var o = e.parent;
534
+ o !== null && o.first !== null && Sn(e), e.next = e.prev = e.teardown = e.ctx = e.deps = e.fn = e.nodes_start = e.nodes_end = null;
535
+ }
536
+ function In(e, t) {
537
+ for (; e !== null; ) {
538
+ var r = e === t ? null : (
539
+ /** @type {TemplateNode} */
540
+ /* @__PURE__ */ Te(e)
541
+ );
542
+ e.remove(), e = r;
543
+ }
544
+ }
545
+ function Sn(e) {
546
+ var t = e.parent, r = e.prev, i = e.next;
547
+ r !== null && (r.next = i), i !== null && (i.prev = r), t !== null && (t.first === e && (t.first = i), t.last === e && (t.last = r));
548
+ }
549
+ function Zt(e, t) {
550
+ var r = [];
551
+ Tn(e, r, true), ho(r, () => {
552
+ Ie(e), t && t();
553
+ });
554
+ }
555
+ function ho(e, t) {
556
+ var r = e.length;
557
+ if (r > 0) {
558
+ var i = () => --r || t();
559
+ for (var o of e)
560
+ o.out(i);
561
+ } else
562
+ t();
563
+ }
564
+ function Tn(e, t, r) {
565
+ if ((e.f & Ke) === 0) {
566
+ if (e.f ^= Ke, e.transitions !== null)
567
+ for (const l of e.transitions)
568
+ (l.is_global || r) && t.push(l);
569
+ for (var i = e.first; i !== null; ) {
570
+ var o = i.next, a = (i.f & Qt) !== 0 || (i.f & be) !== 0;
571
+ Tn(i, t, a ? r : false), i = o;
572
+ }
573
+ }
574
+ }
575
+ function Zr(e) {
576
+ Nn(e, true);
577
+ }
578
+ function Nn(e, t) {
579
+ if ((e.f & Ke) !== 0) {
580
+ e.f ^= Ke, (e.f & K) === 0 && (e.f ^= K), _t(e) && (ue(e, he), Lt(e));
581
+ for (var r = e.first; r !== null; ) {
582
+ var i = r.next, o = (r.f & Qt) !== 0 || (r.f & be) !== 0;
583
+ Nn(r, o ? t : false), r = i;
584
+ }
585
+ if (e.transitions !== null)
586
+ for (const a of e.transitions)
587
+ (a.is_global || t) && a.in();
588
+ }
589
+ }
590
+ function Ln() {
591
+ var e = dt;
592
+ dt = [], hn(e);
593
+ }
594
+ function Dn() {
595
+ var e = ht;
596
+ ht = [], hn(e);
597
+ }
598
+ function Pn(e) {
599
+ dt.length === 0 && queueMicrotask(Ln), dt.push(e);
600
+ }
601
+ function go(e) {
602
+ ht.length === 0 && vo(Dn), ht.push(e);
603
+ }
604
+ function _o() {
605
+ dt.length > 0 && Ln(), ht.length > 0 && Dn();
606
+ }
607
+ function Jr(e) {
608
+ gt = e;
609
+ }
610
+ function ve(e) {
611
+ R = e;
612
+ }
613
+ function Se(e) {
614
+ I = e;
615
+ }
616
+ function On(e) {
617
+ R !== null && R.f & Ht && (H === null ? H = [e] : H.push(e));
618
+ }
619
+ function mo(e) {
620
+ ie = e;
621
+ }
622
+ function Mn() {
623
+ return ++Fn;
624
+ }
625
+ function _t(e) {
626
+ var h;
627
+ var t = e.f;
628
+ if ((t & he) !== 0)
629
+ return true;
630
+ if ((t & Ue) !== 0) {
631
+ var r = e.deps, i = (t & ee) !== 0;
632
+ if (r !== null) {
633
+ var o, a, l = (t & $t) !== 0, s = i && I !== null && !Ce, f = r.length;
634
+ if (l || s) {
635
+ var d = (
636
+ /** @type {Derived} */
637
+ e
638
+ ), v = d.parent;
639
+ for (o = 0; o < f; o++)
640
+ a = r[o], (l || !((h = a == null ? void 0 : a.reactions) != null && h.includes(d))) && (a.reactions ?? (a.reactions = [])).push(d);
641
+ l && (d.f ^= $t), s && v !== null && (v.f & ee) === 0 && (d.f ^= ee);
642
+ }
643
+ for (o = 0; o < f; o++)
644
+ if (a = r[o], _t(
645
+ /** @type {Derived} */
646
+ a
647
+ ) && $n(
648
+ /** @type {Derived} */
649
+ a
650
+ ), a.wv > e.wv)
651
+ return true;
652
+ }
653
+ (!i || I !== null && !Ce) && ue(e, K);
654
+ }
655
+ return false;
656
+ }
657
+ function wo(e, t) {
658
+ for (var r = t; r !== null; ) {
659
+ if ((r.f & xt) !== 0)
660
+ try {
661
+ r.fn(e);
662
+ return;
663
+ } catch {
664
+ r.f ^= xt;
665
+ }
666
+ r = r.parent;
667
+ }
668
+ throw pt = false, e;
669
+ }
670
+ function Kr(e) {
671
+ return (e.f & St) === 0 && (e.parent === null || (e.parent.f & xt) === 0);
672
+ }
673
+ function Nt(e, t, r, i) {
674
+ if (pt) {
675
+ if (r === null && (pt = false), Kr(t))
676
+ throw e;
677
+ return;
678
+ }
679
+ if (r !== null && (pt = true), wo(e, t), Kr(t))
680
+ throw e;
681
+ }
682
+ function Un(e, t, r = true) {
683
+ var i = e.reactions;
684
+ if (i !== null)
685
+ for (var o = 0; o < i.length; o++) {
686
+ var a = i[o];
687
+ H != null && H.includes(e) || ((a.f & fe) !== 0 ? Un(
688
+ /** @type {Derived} */
689
+ a,
690
+ t,
691
+ false
692
+ ) : t === a && (r ? ue(a, he) : (a.f & K) !== 0 && ue(a, Ue), Lt(
693
+ /** @type {Effect} */
694
+ a
695
+ )));
696
+ }
697
+ }
698
+ function jn(e) {
699
+ var m;
700
+ var t = q, r = Q, i = ie, o = R, a = Ce, l = H, s = W, f = de, d = e.f;
701
+ q = /** @type {null | Value[]} */
702
+ null, Q = 0, ie = null, Ce = (d & ee) !== 0 && (de || !Fe || R === null), R = (d & (be | Me)) === 0 ? e : null, H = null, zr(e.ctx), de = false, At++, e.f |= Ht;
703
+ try {
704
+ var v = (
705
+ /** @type {Function} */
706
+ (0, e.fn)()
707
+ ), h = e.deps;
708
+ if (q !== null) {
709
+ var g;
710
+ if (Rt(e, Q), h !== null && Q > 0)
711
+ for (h.length = Q + q.length, g = 0; g < q.length; g++)
712
+ h[Q + g] = q[g];
713
+ else
714
+ e.deps = h = q;
715
+ if (!Ce)
716
+ for (g = Q; g < h.length; g++)
717
+ ((m = h[g]).reactions ?? (m.reactions = [])).push(e);
718
+ } else h !== null && Q < h.length && (Rt(e, Q), h.length = Q);
719
+ if (Gn() && ie !== null && !de && h !== null && (e.f & (fe | Ue | he)) === 0)
720
+ for (g = 0; g < /** @type {Source[]} */
721
+ ie.length; g++)
722
+ Un(
723
+ ie[g],
724
+ /** @type {Effect} */
725
+ e
726
+ );
727
+ return o !== null && o !== e && (At++, ie !== null && (i === null ? i = ie : i.push(.../** @type {Source[]} */
728
+ ie))), v;
729
+ } finally {
730
+ q = t, Q = r, ie = i, R = o, Ce = a, H = l, zr(s), de = f, e.f ^= Ht;
731
+ }
732
+ }
733
+ function po(e, t) {
734
+ let r = t.reactions;
735
+ if (r !== null) {
736
+ var i = Ui.call(r, e);
737
+ if (i !== -1) {
738
+ var o = r.length - 1;
739
+ o === 0 ? r = t.reactions = null : (r[i] = r[o], r.pop());
740
+ }
741
+ }
742
+ r === null && (t.f & fe) !== 0 && // Destroying a child effect while updating a parent effect can cause a dependency to appear
743
+ // to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`
744
+ // allows us to skip the expensive work of disconnecting and immediately reconnecting it
745
+ (q === null || !q.includes(t)) && (ue(t, Ue), (t.f & (ee | $t)) === 0 && (t.f ^= $t), En(
746
+ /** @type {Derived} **/
747
+ t
748
+ ), Rt(
749
+ /** @type {Derived} **/
750
+ t,
751
+ 0
752
+ ));
753
+ }
754
+ function Rt(e, t) {
755
+ var r = e.deps;
756
+ if (r !== null)
757
+ for (var i = t; i < r.length; i++)
758
+ po(e, r[i]);
759
+ }
760
+ function ir(e) {
761
+ var t = e.f;
762
+ if ((t & St) === 0) {
763
+ ue(e, K);
764
+ var r = I, i = W, o = Fe;
765
+ I = e, Fe = true;
766
+ try {
767
+ (t & Xt) !== 0 ? co(e) : Rn(e), An(e);
768
+ var a = jn(e);
769
+ e.teardown = typeof a == "function" ? a : null, e.wv = Fn;
770
+ var l = e.deps, s;
771
+ Hr && no && e.f & he;
772
+ } catch (f) {
773
+ Nt(f, e, r, i || e.ctx);
774
+ } finally {
775
+ Fe = o, I = r;
776
+ }
777
+ }
778
+ }
779
+ function bo() {
780
+ try {
781
+ Ki();
782
+ } catch (e) {
783
+ if (Ct !== null)
784
+ Nt(e, Ct, null);
785
+ else
786
+ throw e;
787
+ }
788
+ }
789
+ function Vn() {
790
+ var e = Fe;
791
+ try {
792
+ var t = 0;
793
+ for (Fe = true; ct.length > 0; ) {
794
+ t++ > 1e3 && bo();
795
+ var r = ct, i = r.length;
796
+ ct = [];
797
+ for (var o = 0; o < i; o++) {
798
+ var a = Eo(r[o]);
799
+ yo(a);
800
+ }
801
+ vt.clear();
802
+ }
803
+ } finally {
804
+ kt = false, Fe = e, Ct = null;
805
+ }
806
+ }
807
+ function yo(e) {
808
+ var t = e.length;
809
+ if (t !== 0)
810
+ for (var r = 0; r < t; r++) {
811
+ var i = e[r];
812
+ if ((i.f & (St | Ke)) === 0)
813
+ try {
814
+ _t(i) && (ir(i), i.deps === null && i.first === null && i.nodes_start === null && (i.teardown === null ? Sn(i) : i.fn = null));
815
+ } catch (o) {
816
+ Nt(o, i, null, i.ctx);
817
+ }
818
+ }
819
+ }
820
+ function Lt(e) {
821
+ kt || (kt = true, queueMicrotask(Vn));
822
+ for (var t = Ct = e; t.parent !== null; ) {
823
+ t = t.parent;
824
+ var r = t.f;
825
+ if ((r & (Me | be)) !== 0) {
826
+ if ((r & K) === 0) return;
827
+ t.f ^= K;
828
+ }
829
+ }
830
+ ct.push(t);
831
+ }
832
+ function Eo(e) {
833
+ for (var t = [], r = e; r !== null; ) {
834
+ var i = r.f, o = (i & (be | Me)) !== 0, a = o && (i & K) !== 0;
835
+ if (!a && (i & Ke) === 0) {
836
+ if ((i & vn) !== 0)
837
+ t.push(r);
838
+ else if (o)
839
+ r.f ^= K;
840
+ else
841
+ try {
842
+ _t(r) && ir(r);
843
+ } catch (f) {
844
+ Nt(f, r, null, r.ctx);
845
+ }
846
+ var l = r.first;
847
+ if (l !== null) {
848
+ r = l;
849
+ continue;
850
+ }
851
+ }
852
+ var s = r.parent;
853
+ for (r = r.next; r === null && s !== null; )
854
+ r = s.next, s = s.parent;
855
+ }
856
+ return t;
857
+ }
858
+ function $(e) {
859
+ for (var t; ; ) {
860
+ if (_o(), ct.length === 0)
861
+ return (
862
+ /** @type {T} */
863
+ t
864
+ );
865
+ kt = true, Vn();
866
+ }
867
+ }
868
+ async function xo() {
869
+ await Promise.resolve(), $();
870
+ }
871
+ function c(e) {
872
+ var t = e.f, r = (t & fe) !== 0;
873
+ if (R !== null && !de) {
874
+ if (!(H != null && H.includes(e))) {
875
+ var i = R.deps;
876
+ e.rv < At && (e.rv = At, q === null && i !== null && i[Q] === e ? Q++ : q === null ? q = [e] : (!Ce || !q.includes(e)) && q.push(e));
877
+ }
878
+ } else if (r && /** @type {Derived} */
879
+ e.deps === null && /** @type {Derived} */
880
+ e.effects === null) {
881
+ var o = (
882
+ /** @type {Derived} */
883
+ e
884
+ ), a = o.parent;
885
+ a !== null && (a.f & ee) === 0 && (o.f ^= ee);
886
+ }
887
+ return r && (o = /** @type {Derived} */
888
+ e, _t(o) && $n(o)), gt && vt.has(e) ? vt.get(e) : e.v;
889
+ }
890
+ function Xe(e) {
891
+ var t = de;
892
+ try {
893
+ return de = true, e();
894
+ } finally {
895
+ de = t;
896
+ }
897
+ }
898
+ function ue(e, t) {
899
+ e.f = e.f & $o | t;
900
+ }
901
+ function Bn(e, t) {
902
+ var r = {
903
+ f: 0,
904
+ // TODO ideally we could skip this altogether, but it causes type errors
905
+ v: e,
906
+ reactions: null,
907
+ equals: bn,
908
+ rv: 0,
909
+ wv: 0
910
+ };
911
+ return r;
912
+ }
913
+ // @__NO_SIDE_EFFECTS__
914
+ function J(e, t) {
915
+ const r = Bn(e);
916
+ return On(r), r;
917
+ }
918
+ // @__NO_SIDE_EFFECTS__
919
+ function qn(e, t = false) {
920
+ const r = Bn(e);
921
+ return t || (r.equals = yn), r;
922
+ }
923
+ function D(e, t, r = false) {
924
+ R !== null && !de && Gn() && (R.f & (fe | Xt)) !== 0 && !(H != null && H.includes(e)) && to();
925
+ let i = r ? ke(t) : t;
926
+ return ko(e, i);
927
+ }
928
+ function ko(e, t) {
929
+ if (!e.equals(t)) {
930
+ var r = e.v;
931
+ gt ? vt.set(e, t) : vt.set(e, r), e.v = t, (e.f & fe) !== 0 && ((e.f & he) !== 0 && xn(
932
+ /** @type {Derived} */
933
+ e
934
+ ), ue(e, (e.f & ee) === 0 ? K : Ue)), e.wv = Mn(), Hn(e, he), I !== null && (I.f & K) !== 0 && (I.f & (be | Me)) === 0 && (ie === null ? mo([e]) : ie.push(e));
935
+ }
936
+ return t;
937
+ }
938
+ function Hn(e, t) {
939
+ var r = e.reactions;
940
+ if (r !== null)
941
+ for (var i = r.length, o = 0; o < i; o++) {
942
+ var a = r[o], l = a.f;
943
+ (l & he) === 0 && (ue(a, t), (l & (K | ee)) !== 0 && ((l & fe) !== 0 ? Hn(
944
+ /** @type {Derived} */
945
+ a,
946
+ Ue
947
+ ) : Lt(
948
+ /** @type {Effect} */
949
+ a
950
+ )));
951
+ }
952
+ }
953
+ function zr(e) {
954
+ W = e;
955
+ }
956
+ function Wn(e, t = false, r) {
957
+ var i = W = {
958
+ p: W,
959
+ c: null,
960
+ d: false,
961
+ e: null,
962
+ m: false,
963
+ s: e,
964
+ x: null,
965
+ l: null
966
+ };
967
+ kn(() => {
968
+ i.d = true;
969
+ });
970
+ }
971
+ function Yn(e) {
972
+ const t = W;
973
+ if (t !== null) {
974
+ e !== void 0 && (t.x = e);
975
+ const l = t.e;
976
+ if (l !== null) {
977
+ var r = I, i = R;
978
+ t.e = null;
979
+ try {
980
+ for (var o = 0; o < l.length; o++) {
981
+ var a = l[o];
982
+ Se(a.effect), ve(a.reaction), rr(a.fn);
983
+ }
984
+ } finally {
985
+ Se(r), ve(i);
986
+ }
987
+ }
988
+ W = t.p, t.m = true;
989
+ }
990
+ return e || /** @type {T} */
991
+ {};
992
+ }
993
+ function Gn() {
994
+ return true;
995
+ }
996
+ function Ao(e) {
997
+ return Co.includes(e);
998
+ }
999
+ function Zn() {
1000
+ Xr || (Xr = true, document.addEventListener(
1001
+ "reset",
1002
+ (e) => {
1003
+ Promise.resolve().then(() => {
1004
+ var t;
1005
+ if (!e.defaultPrevented)
1006
+ for (
1007
+ const r of
1008
+ /**@type {HTMLFormElement} */
1009
+ e.target.elements
1010
+ )
1011
+ (t = r.__on_r) == null || t.call(r);
1012
+ });
1013
+ },
1014
+ // In the capture phase to guarantee we get noticed of it (no possiblity of stopPropagation)
1015
+ { capture: true }
1016
+ ));
1017
+ }
1018
+ function Jn(e) {
1019
+ var t = R, r = I;
1020
+ ve(null), Se(null);
1021
+ try {
1022
+ return e();
1023
+ } finally {
1024
+ ve(t), Se(r);
1025
+ }
1026
+ }
1027
+ function Ro(e, t, r, i = r) {
1028
+ e.addEventListener(t, () => Jn(r));
1029
+ const o = e.__on_r;
1030
+ o ? e.__on_r = () => {
1031
+ o(), i(true);
1032
+ } : e.__on_r = () => i(true), Zn();
1033
+ }
1034
+ function Io(e, t, r, i = {}) {
1035
+ function o(a) {
1036
+ if (i.capture || ft.call(t, a), !a.cancelBubble)
1037
+ return Jn(() => r == null ? void 0 : r.call(this, a));
1038
+ }
1039
+ return e.startsWith("pointer") || e.startsWith("touch") || e === "wheel" ? Pn(() => {
1040
+ t.addEventListener(e, o, i);
1041
+ }) : t.addEventListener(e, o, i), o;
1042
+ }
1043
+ function So(e, t, r, i, o) {
1044
+ var a = { capture: i, passive: o }, l = Io(e, t, r, a);
1045
+ (t === document.body || t === window || t === document) && kn(() => {
1046
+ t.removeEventListener(e, l, a);
1047
+ });
1048
+ }
1049
+ function To(e) {
1050
+ for (var t = 0; t < e.length; t++)
1051
+ Kn.add(e[t]);
1052
+ for (var r of Jt)
1053
+ r(e);
1054
+ }
1055
+ function ft(e) {
1056
+ var U;
1057
+ var t = this, r = (
1058
+ /** @type {Node} */
1059
+ t.ownerDocument
1060
+ ), i = e.type, o = ((U = e.composedPath) == null ? void 0 : U.call(e)) || [], a = (
1061
+ /** @type {null | Element} */
1062
+ o[0] || e.target
1063
+ ), l = 0, s = e.__root;
1064
+ if (s) {
1065
+ var f = o.indexOf(s);
1066
+ if (f !== -1 && (t === document || t === /** @type {any} */
1067
+ window)) {
1068
+ e.__root = t;
1069
+ return;
1070
+ }
1071
+ var d = o.indexOf(t);
1072
+ if (d === -1)
1073
+ return;
1074
+ f <= d && (l = f);
1075
+ }
1076
+ if (a = /** @type {Element} */
1077
+ o[l] || e.target, a !== t) {
1078
+ Et(e, "currentTarget", {
1079
+ configurable: true,
1080
+ get() {
1081
+ return a || r;
1082
+ }
1083
+ });
1084
+ var v = R, h = I;
1085
+ ve(null), Se(null);
1086
+ try {
1087
+ for (var g, m = []; a !== null; ) {
1088
+ var k = a.assignedSlot || a.parentNode || /** @type {any} */
1089
+ a.host || null;
1090
+ try {
1091
+ var N = a["__" + i];
1092
+ if (N != null && (!/** @type {any} */
1093
+ a.disabled || // DOM could've been updated already by the time this is reached, so we check this as well
1094
+ // -> the target could not have been disabled because it emits the event in the first place
1095
+ e.target === a))
1096
+ if (cn(N)) {
1097
+ var [F, ...V] = N;
1098
+ F.apply(a, [e, ...V]);
1099
+ } else
1100
+ N.call(a, e);
1101
+ } catch (Y) {
1102
+ g ? m.push(Y) : g = Y;
1103
+ }
1104
+ if (e.cancelBubble || k === t || k === null)
1105
+ break;
1106
+ a = k;
1107
+ }
1108
+ if (g) {
1109
+ for (let Y of m)
1110
+ queueMicrotask(() => {
1111
+ throw Y;
1112
+ });
1113
+ throw g;
1114
+ }
1115
+ } finally {
1116
+ e.__root = t, delete e.currentTarget, ve(v), Se(h);
1117
+ }
1118
+ }
1119
+ }
1120
+ function or(e) {
1121
+ var t = document.createElement("template");
1122
+ return t.innerHTML = e, t.content;
1123
+ }
1124
+ function Ae(e, t) {
1125
+ var r = (
1126
+ /** @type {Effect} */
1127
+ I
1128
+ );
1129
+ r.nodes_start === null && (r.nodes_start = e, r.nodes_end = t);
1130
+ }
1131
+ // @__NO_SIDE_EFFECTS__
1132
+ function ge(e, t) {
1133
+ var r = (t & Oi) !== 0, i = (t & Fi) !== 0, o, a = !e.startsWith("<!>");
1134
+ return () => {
1135
+ if (L)
1136
+ return Ae(P, null), P;
1137
+ o === void 0 && (o = or(a ? e : "<!>" + e), r || (o = /** @type {Node} */
1138
+ /* @__PURE__ */ ae(o)));
1139
+ var l = (
1140
+ /** @type {TemplateNode} */
1141
+ i || mn ? document.importNode(o, true) : o.cloneNode(true)
1142
+ );
1143
+ if (r) {
1144
+ var s = (
1145
+ /** @type {TemplateNode} */
1146
+ /* @__PURE__ */ ae(l)
1147
+ ), f = (
1148
+ /** @type {TemplateNode} */
1149
+ l.lastChild
1150
+ );
1151
+ Ae(s, f);
1152
+ } else
1153
+ Ae(l, l);
1154
+ return l;
1155
+ };
1156
+ }
1157
+ // @__NO_SIDE_EFFECTS__
1158
+ function No(e, t, r = "svg") {
1159
+ var i = !e.startsWith("<!>"), o = `<${r}>${i ? e : "<!>" + e}</${r}>`, a;
1160
+ return () => {
1161
+ if (L)
1162
+ return Ae(P, null), P;
1163
+ if (!a) {
1164
+ var l = (
1165
+ /** @type {DocumentFragment} */
1166
+ or(o)
1167
+ ), s = (
1168
+ /** @type {Element} */
1169
+ /* @__PURE__ */ ae(l)
1170
+ );
1171
+ a = /** @type {Element} */
1172
+ /* @__PURE__ */ ae(s);
1173
+ }
1174
+ var f = (
1175
+ /** @type {TemplateNode} */
1176
+ a.cloneNode(true)
1177
+ );
1178
+ return Ae(f, f), f;
1179
+ };
1180
+ }
1181
+ function ne(e, t) {
1182
+ if (L) {
1183
+ I.nodes_end = P, ze();
1184
+ return;
1185
+ }
1186
+ e !== null && e.before(
1187
+ /** @type {Node} */
1188
+ t
1189
+ );
1190
+ }
1191
+ function zn(e, t) {
1192
+ return Xn(e, t);
1193
+ }
1194
+ function Lo(e, t) {
1195
+ Wt(), t.intro = t.intro ?? false;
1196
+ const r = t.target, i = L, o = P;
1197
+ try {
1198
+ for (var a = (
1199
+ /** @type {TemplateNode} */
1200
+ /* @__PURE__ */ ae(r)
1201
+ ); a && (a.nodeType !== 8 || /** @type {Comment} */
1202
+ a.data !== zt); )
1203
+ a = /** @type {TemplateNode} */
1204
+ /* @__PURE__ */ Te(a);
1205
+ if (!a)
1206
+ throw Je;
1207
+ Ze(true), Re(
1208
+ /** @type {Comment} */
1209
+ a
1210
+ ), ze();
1211
+ const l = Xn(e, { ...t, anchor: a });
1212
+ if (P === null || P.nodeType !== 8 || /** @type {Comment} */
1213
+ P.data !== fn)
1214
+ throw Tt(), Je;
1215
+ return Ze(false), /** @type {Exports} */
1216
+ l;
1217
+ } catch (l) {
1218
+ if (l === Je)
1219
+ return t.recover === false && zi(), Wt(), io(r), Ze(false), zn(e, t);
1220
+ throw l;
1221
+ } finally {
1222
+ Ze(i), Re(o);
1223
+ }
1224
+ }
1225
+ function Xn(e, { target: t, anchor: r, props: i = {}, events: o, context: a, intro: l = true }) {
1226
+ Wt();
1227
+ var s = /* @__PURE__ */ new Set(), f = (h) => {
1228
+ for (var g = 0; g < h.length; g++) {
1229
+ var m = h[g];
1230
+ if (!s.has(m)) {
1231
+ s.add(m);
1232
+ var k = Ao(m);
1233
+ t.addEventListener(m, ft, { passive: k });
1234
+ var N = Ye.get(m);
1235
+ N === void 0 ? (document.addEventListener(m, ft, { passive: k }), Ye.set(m, 1)) : Ye.set(m, N + 1);
1236
+ }
1237
+ }
1238
+ };
1239
+ f(ji(Kn)), Jt.add(f);
1240
+ var d = void 0, v = uo(() => {
1241
+ var h = r ?? t.appendChild(er());
1242
+ return Gt(() => {
1243
+ if (a) {
1244
+ Wn({});
1245
+ var g = (
1246
+ /** @type {ComponentContext} */
1247
+ W
1248
+ );
1249
+ g.c = a;
1250
+ }
1251
+ o && (i.$$events = o), L && Ae(
1252
+ /** @type {TemplateNode} */
1253
+ h,
1254
+ null
1255
+ ), d = e(h, i) || {}, L && (I.nodes_end = P), a && Yn();
1256
+ }), () => {
1257
+ var k;
1258
+ for (var g of s) {
1259
+ t.removeEventListener(g, ft);
1260
+ var m = (
1261
+ /** @type {number} */
1262
+ Ye.get(g)
1263
+ );
1264
+ --m === 0 ? (document.removeEventListener(g, ft), Ye.delete(g)) : Ye.set(g, m);
1265
+ }
1266
+ Jt.delete(f), h !== r && ((k = h.parentNode) == null || k.removeChild(h));
1267
+ };
1268
+ });
1269
+ return Kt.set(d, v), d;
1270
+ }
1271
+ function Do(e, t) {
1272
+ const r = Kt.get(e);
1273
+ return r ? (Kt.delete(e), r(t)) : Promise.resolve();
1274
+ }
1275
+ function $e(e, t, [r, i] = [0, 0]) {
1276
+ L && r === 0 && ze();
1277
+ var o = e, a = null, l = null, s = Z, f = r > 0 ? Qt : 0, d = false;
1278
+ const v = (g, m = true) => {
1279
+ d = true, h(m, g);
1280
+ }, h = (g, m) => {
1281
+ if (s === (s = g)) return;
1282
+ let k = false;
1283
+ if (L && i !== -1) {
1284
+ if (r === 0) {
1285
+ const F = (
1286
+ /** @type {Comment} */
1287
+ o.data
1288
+ );
1289
+ F === zt ? i = 0 : F === sn ? i = 1 / 0 : (i = parseInt(F.substring(1)), i !== i && (i = s ? 1 / 0 : -1));
1290
+ }
1291
+ const N = i > r;
1292
+ !!s === N && (o = ro(), Re(o), Ze(false), k = true, i = -1);
1293
+ }
1294
+ s ? (a ? Zr(a) : m && (a = Gt(() => m(o))), l && Zt(l, () => {
1295
+ l = null;
1296
+ })) : (l ? Zr(l) : m && (l = Gt(() => m(o, [r + 1, i]))), a && Zt(a, () => {
1297
+ a = null;
1298
+ })), k && Ze(true);
1299
+ };
1300
+ Cn(() => {
1301
+ d = false, t(v), d || h(null, null);
1302
+ }, f), L && (o = P);
1303
+ }
1304
+ function Ge(e, t, r = false, i = false, o = false) {
1305
+ var a = e, l = "";
1306
+ Pe(() => {
1307
+ var s = (
1308
+ /** @type {Effect} */
1309
+ I
1310
+ );
1311
+ if (l === (l = t() ?? "")) {
1312
+ L && ze();
1313
+ return;
1314
+ }
1315
+ if (s.nodes_start !== null && (In(
1316
+ s.nodes_start,
1317
+ /** @type {TemplateNode} */
1318
+ s.nodes_end
1319
+ ), s.nodes_start = s.nodes_end = null), l !== "") {
1320
+ if (L) {
1321
+ P.data;
1322
+ for (var f = ze(), d = f; f !== null && (f.nodeType !== 8 || /** @type {Comment} */
1323
+ f.data !== ""); )
1324
+ d = f, f = /** @type {TemplateNode} */
1325
+ /* @__PURE__ */ Te(f);
1326
+ if (f === null)
1327
+ throw Tt(), Je;
1328
+ Ae(P, d), a = Re(f);
1329
+ return;
1330
+ }
1331
+ var v = l + "";
1332
+ r ? v = `<svg>${v}</svg>` : i && (v = `<math>${v}</math>`);
1333
+ var h = or(v);
1334
+ if ((r || i) && (h = /** @type {Element} */
1335
+ /* @__PURE__ */ ae(h)), Ae(
1336
+ /** @type {TemplateNode} */
1337
+ /* @__PURE__ */ ae(h),
1338
+ /** @type {TemplateNode} */
1339
+ h.lastChild
1340
+ ), r || i)
1341
+ for (; /* @__PURE__ */ ae(h); )
1342
+ a.before(
1343
+ /** @type {Node} */
1344
+ /* @__PURE__ */ ae(h)
1345
+ );
1346
+ else
1347
+ a.before(h);
1348
+ }
1349
+ });
1350
+ }
1351
+ function Po(e, t, r, i, o) {
1352
+ var s;
1353
+ L && ze();
1354
+ var a = (s = t.$$slots) == null ? void 0 : s[r], l = false;
1355
+ a === true && (a = t.children, l = true), a === void 0 || a(e, l ? () => i : i);
1356
+ }
1357
+ function Oo(e, t, r) {
1358
+ var i = "" + e;
1359
+ if (r) {
1360
+ for (var o in r)
1361
+ if (r[o])
1362
+ i = i ? i + " " + o : o;
1363
+ else if (i.length)
1364
+ for (var a = o.length, l = 0; (l = i.indexOf(o, l)) >= 0; ) {
1365
+ var s = l + a;
1366
+ (l === 0 || Qr.includes(i[l - 1])) && (s === i.length || Qr.includes(i[s])) ? i = (l === 0 ? "" : i.substring(0, l)) + i.substring(s + 1) : l = s;
1367
+ }
1368
+ }
1369
+ return i === "" ? null : i;
1370
+ }
1371
+ function Fo(e, t, r, i, o, a) {
1372
+ var l = e.__className;
1373
+ if (L || l !== r || l === void 0) {
1374
+ var s = Oo(r, i, a);
1375
+ (!L || s !== e.getAttribute("class")) && (s == null ? e.removeAttribute("class") : e.className = s), e.__className = r;
1376
+ } else if (a && o !== a)
1377
+ for (var f in a) {
1378
+ var d = !!a[f];
1379
+ (o == null || d !== !!o[f]) && e.classList.toggle(f, d);
1380
+ }
1381
+ return a;
1382
+ }
1383
+ function en(e) {
1384
+ if (L) {
1385
+ var t = false, r = () => {
1386
+ if (!t) {
1387
+ if (t = true, e.hasAttribute("value")) {
1388
+ var i = e.value;
1389
+ se(e, "value", null), e.value = i;
1390
+ }
1391
+ if (e.hasAttribute("checked")) {
1392
+ var o = e.checked;
1393
+ se(e, "checked", null), e.checked = o;
1394
+ }
1395
+ }
1396
+ };
1397
+ e.__on_r = r, go(r), Zn();
1398
+ }
1399
+ }
1400
+ function jo(e, t) {
1401
+ var r = Qn(e);
1402
+ r.value === (r.value = // treat null and undefined the same for the initial value
1403
+ t ?? void 0) || // @ts-expect-error
1404
+ // `progress` elements always need their value set when it's `0`
1405
+ e.value === t && (t !== 0 || e.nodeName !== "PROGRESS") || (e.value = t ?? "");
1406
+ }
1407
+ function se(e, t, r, i) {
1408
+ var o = Qn(e);
1409
+ L && (o[t] = e.getAttribute(t), t === "src" || t === "srcset" || t === "href" && e.nodeName === "LINK") || o[t] !== (o[t] = r) && (t === "loading" && (e[Yi] = r), r == null ? e.removeAttribute(t) : typeof r != "string" && Vo(e).includes(t) ? e[t] = r : e.setAttribute(t, r));
1410
+ }
1411
+ function Qn(e) {
1412
+ return (
1413
+ /** @type {Record<string | symbol, unknown>} **/
1414
+ // @ts-expect-error
1415
+ e.__attributes ?? (e.__attributes = {
1416
+ [Mo]: e.nodeName.includes("-"),
1417
+ [Uo]: e.namespaceURI === Mi
1418
+ })
1419
+ );
1420
+ }
1421
+ function Vo(e) {
1422
+ var t = tn.get(e.nodeName);
1423
+ if (t) return t;
1424
+ tn.set(e.nodeName, t = []);
1425
+ for (var r, i = e, o = Element.prototype; o !== i; ) {
1426
+ r = Vi(i);
1427
+ for (var a in r)
1428
+ r[a].set && t.push(a);
1429
+ i = dn(i);
1430
+ }
1431
+ return t;
1432
+ }
1433
+ function Bo(e, t, r = t) {
1434
+ Ro(e, "change", (i) => {
1435
+ var o = i ? e.defaultChecked : e.checked;
1436
+ r(o);
1437
+ }), // If we are hydrating and the value has since changed,
1438
+ // then use the update value from the input instead.
1439
+ (L && e.defaultChecked !== e.checked || // If defaultChecked is set, then checked == defaultChecked
1440
+ Xe(t) == null) && r(e.checked), nr(() => {
1441
+ var i = t();
1442
+ e.checked = !!i;
1443
+ });
1444
+ }
1445
+ function rn(e, t) {
1446
+ return e === t || (e == null ? void 0 : e[ut]) === t;
1447
+ }
1448
+ function nn(e = {}, t, r, i) {
1449
+ return rr(() => {
1450
+ var o, a;
1451
+ return nr(() => {
1452
+ o = a, a = [], Xe(() => {
1453
+ e !== r(...a) && (t(e, ...a), o && rn(r(...o), e) && t(null, ...o));
1454
+ });
1455
+ }), () => {
1456
+ Pn(() => {
1457
+ a && rn(r(...a), e) && t(null, ...a);
1458
+ });
1459
+ };
1460
+ }), e;
1461
+ }
1462
+ function ei(e) {
1463
+ W === null && un(), Yt(() => {
1464
+ const t = Xe(e);
1465
+ if (typeof t == "function") return (
1466
+ /** @type {() => void} */
1467
+ t
1468
+ );
1469
+ });
1470
+ }
1471
+ function qo(e) {
1472
+ W === null && un(), ei(() => () => Xe(e));
1473
+ }
1474
+ function Ho(e) {
1475
+ var t = wt;
1476
+ try {
1477
+ return wt = false, [e(), wt];
1478
+ } finally {
1479
+ wt = t;
1480
+ }
1481
+ }
1482
+ function on(e) {
1483
+ var t;
1484
+ return ((t = e.ctx) == null ? void 0 : t.d) ?? false;
1485
+ }
1486
+ function A(e, t, r, i) {
1487
+ var Ne;
1488
+ var o = (r & Ni) !== 0, a = true, l = (r & Di) !== 0, s = (r & Pi) !== 0, f = false, d;
1489
+ l ? [d, f] = Ho(() => (
1490
+ /** @type {V} */
1491
+ e[t]
1492
+ )) : d = /** @type {V} */
1493
+ e[t];
1494
+ var v = ut in e || _n in e, h = l && (((Ne = Oe(e, t)) == null ? void 0 : Ne.set) ?? (v && t in e && ((O) => e[t] = O))) || void 0, g = (
1495
+ /** @type {V} */
1496
+ i
1497
+ ), m = true, k = false, N = () => (k = true, m && (m = false, s ? g = Xe(
1498
+ /** @type {() => V} */
1499
+ i
1500
+ ) : g = /** @type {V} */
1501
+ i), g);
1502
+ d === void 0 && i !== void 0 && (h && a && Xi(), d = N(), h && h(d));
1503
+ var F;
1504
+ if (F = () => {
1505
+ var O = (
1506
+ /** @type {V} */
1507
+ e[t]
1508
+ );
1509
+ return O === void 0 ? N() : (m = true, k = false, O);
1510
+ }, (r & Li) === 0)
1511
+ return F;
1512
+ if (h) {
1513
+ var V = e.$$legacy;
1514
+ return function(O, j) {
1515
+ return arguments.length > 0 ? ((!j || V || f) && h(j ? F() : O), O) : F();
1516
+ };
1517
+ }
1518
+ var U = false, Y = /* @__PURE__ */ qn(d), M = /* @__PURE__ */ tr(() => {
1519
+ var O = F(), j = c(Y);
1520
+ return U ? (U = false, j) : Y.v = O;
1521
+ });
1522
+ return l && c(M), o || (M.equals = yn), function(O, j) {
1523
+ if (arguments.length > 0) {
1524
+ const _e = j ? c(M) : l ? ke(O) : O;
1525
+ if (!M.equals(_e)) {
1526
+ if (U = true, D(Y, _e), k && g !== void 0 && (g = _e), on(M))
1527
+ return O;
1528
+ Xe(() => c(M));
1529
+ }
1530
+ return O;
1531
+ }
1532
+ return on(M) ? M.v : c(M);
1533
+ };
1534
+ }
1535
+ function Wo(e) {
1536
+ return new Yo(e);
1537
+ }
1538
+ function bt(e, t, r, i) {
1539
+ var a;
1540
+ const o = (a = r[e]) == null ? void 0 : a.type;
1541
+ if (t = o === "Boolean" && typeof t != "boolean" ? t != null : t, !i || !r[e])
1542
+ return t;
1543
+ if (i === "toAttribute")
1544
+ switch (o) {
1545
+ case "Object":
1546
+ case "Array":
1547
+ return t == null ? null : JSON.stringify(t);
1548
+ case "Boolean":
1549
+ return t ? "" : null;
1550
+ case "Number":
1551
+ return t ?? null;
1552
+ default:
1553
+ return t;
1554
+ }
1555
+ else
1556
+ switch (o) {
1557
+ case "Object":
1558
+ case "Array":
1559
+ return t && JSON.parse(t);
1560
+ case "Boolean":
1561
+ return t;
1562
+ // conversion already handled above
1563
+ case "Number":
1564
+ return t != null ? +t : t;
1565
+ default:
1566
+ return t;
1567
+ }
1568
+ }
1569
+ function Go(e) {
1570
+ const t = {};
1571
+ return e.childNodes.forEach((r) => {
1572
+ t[
1573
+ /** @type {Element} node */
1574
+ r.slot || "default"
1575
+ ] = true;
1576
+ }), t;
1577
+ }
1578
+ function Zo(e, t, r, i, o, a) {
1579
+ let l = class extends ti {
1580
+ constructor() {
1581
+ super(e, r, o), this.$$p_d = t;
1582
+ }
1583
+ static get observedAttributes() {
1584
+ return yt(t).map(
1585
+ (s) => (t[s].attribute || s).toLowerCase()
1586
+ );
1587
+ }
1588
+ };
1589
+ return yt(t).forEach((s) => {
1590
+ Et(l.prototype, s, {
1591
+ get() {
1592
+ return this.$$c && s in this.$$c ? this.$$c[s] : this.$$d[s];
1593
+ },
1594
+ set(f) {
1595
+ var h;
1596
+ f = bt(s, f, t), this.$$d[s] = f;
1597
+ var d = this.$$c;
1598
+ if (d) {
1599
+ var v = (h = Oe(d, s)) == null ? void 0 : h.get;
1600
+ v ? d[s] = f : d.$set({ [s]: f });
1601
+ }
1602
+ }
1603
+ });
1604
+ }), i.forEach((s) => {
1605
+ Et(l.prototype, s, {
1606
+ get() {
1607
+ var f;
1608
+ return (f = this.$$c) == null ? void 0 : f[s];
1609
+ }
1610
+ });
1611
+ }), e.element = /** @type {any} */
1612
+ l, l;
1613
+ }
1614
+ function Jo(e) {
1615
+ return [...new Uint8Array(e)].map((t) => t.toString(16).padStart(2, "0")).join("");
1616
+ }
1617
+ async function Ko(e, t = "SHA-256", r = 1e5) {
1618
+ const i = Date.now().toString(16);
1619
+ e || (e = Math.round(Math.random() * r));
1620
+ const o = await ni(i, e, t);
1621
+ return {
1622
+ algorithm: t,
1623
+ challenge: o,
1624
+ salt: i,
1625
+ signature: ""
1626
+ };
1627
+ }
1628
+ async function ni(e, t, r) {
1629
+ if (typeof crypto > "u" || !("subtle" in crypto) || !("digest" in crypto.subtle))
1630
+ throw new Error("Web Crypto is not available. Secure context is required (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).");
1631
+ return Jo(
1632
+ await crypto.subtle.digest(
1633
+ r.toUpperCase(),
1634
+ ri.encode(e + t)
1635
+ )
1636
+ );
1637
+ }
1638
+ function zo(e, t, r = "SHA-256", i = 1e6, o = 0) {
1639
+ const a = new AbortController(), l = Date.now();
1640
+ return {
1641
+ promise: (async () => {
1642
+ for (let f = o; f <= i; f += 1) {
1643
+ if (a.signal.aborted)
1644
+ return null;
1645
+ if (await ni(t, f, r) === e)
1646
+ return {
1647
+ number: f,
1648
+ took: Date.now() - l
1649
+ };
1650
+ }
1651
+ return null;
1652
+ })(),
1653
+ controller: a
1654
+ };
1655
+ }
1656
+ function Xo() {
1657
+ try {
1658
+ return Intl.DateTimeFormat().resolvedOptions().timeZone;
1659
+ } catch {
1660
+ }
1661
+ }
1662
+ function Qo(e) {
1663
+ const t = atob(e), r = new Uint8Array(t.length);
1664
+ for (let i = 0; i < t.length; i++)
1665
+ r[i] = t.charCodeAt(i);
1666
+ return r;
1667
+ }
1668
+ function ea(e, t = 12) {
1669
+ const r = new Uint8Array(t);
1670
+ for (let i = 0; i < t; i++)
1671
+ r[i] = e % 256, e = Math.floor(e / 256);
1672
+ return r;
1673
+ }
1674
+ async function ta(e, t = "", r = 1e6, i = 0) {
1675
+ const o = "AES-GCM", a = new AbortController(), l = Date.now(), s = async () => {
1676
+ for (let v = i; v <= r; v += 1) {
1677
+ if (a.signal.aborted || !f || !d)
1678
+ return null;
1679
+ try {
1680
+ const h = await crypto.subtle.decrypt(
1681
+ {
1682
+ name: o,
1683
+ iv: ea(v)
1684
+ },
1685
+ f,
1686
+ d
1687
+ );
1688
+ if (h)
1689
+ return {
1690
+ clearText: new TextDecoder().decode(h),
1691
+ took: Date.now() - l
1692
+ };
1693
+ } catch {
1694
+ }
1695
+ }
1696
+ return null;
1697
+ };
1698
+ let f = null, d = null;
1699
+ try {
1700
+ d = Qo(e);
1701
+ const v = await crypto.subtle.digest(
1702
+ "SHA-256",
1703
+ ri.encode(t)
1704
+ );
1705
+ f = await crypto.subtle.importKey(
1706
+ "raw",
1707
+ v,
1708
+ o,
1709
+ false,
1710
+ ["decrypt"]
1711
+ );
1712
+ } catch {
1713
+ return {
1714
+ promise: Promise.reject(),
1715
+ controller: a
1716
+ };
1717
+ }
1718
+ return {
1719
+ promise: s(),
1720
+ controller: a
1721
+ };
1722
+ }
1723
+ function ha(e, t) {
1724
+ var Mr, Ur;
1725
+ Wn(t, true);
1726
+ let r = A(t, "auto", 7, void 0), i = A(t, "blockspam", 7, void 0), o = A(t, "challengeurl", 7, void 0), a = A(t, "challengejson", 7, void 0), l = A(t, "customfetch", 7, void 0), s = A(t, "debug", 7, false), f = A(t, "delay", 7, 0), d = A(t, "expire", 7, void 0), v = A(t, "floating", 7, void 0), h = A(t, "floatinganchor", 7, void 0), g = A(t, "floatingoffset", 7, void 0), m = A(t, "floatingpersist", 7, false), k = A(t, "hidefooter", 7, false), N = A(t, "hidelogo", 7, false), F = A(t, "id", 7, void 0), V = A(t, "name", 7, "altcha"), U = A(t, "maxnumber", 7, 1e6), Y = A(t, "mockerror", 7, false), M = A(t, "obfuscated", 7, void 0), Ne = A(t, "plugins", 7, void 0), O = A(t, "refetchonexpire", 7, true), j = A(t, "spamfilter", 7, false), _e = A(t, "strings", 7, void 0), te = A(t, "test", 7, false), ye = A(t, "verifyurl", 7, void 0), Ve = A(t, "workers", 23, () => Math.min(16, navigator.hardwareConcurrency || 8)), Qe = A(t, "workerurl", 7, void 0);
1727
+ const ar = ["SHA-256", "SHA-384", "SHA-512"], lr = "Visit Altcha.org", sr = "https://altcha.org/", et = (n, u) => {
1728
+ t.$$host.dispatchEvent(new CustomEvent(n, { detail: u }));
1729
+ }, fr = (Ur = (Mr = document.documentElement.lang) == null ? void 0 : Mr.split("-")) == null ? void 0 : Ur[0], Dt = /* @__PURE__ */ st(() => {
1730
+ var n;
1731
+ return o() && new URL(o(), location.origin).host.endsWith(".altcha.org") && !!((n = o()) != null && n.includes("apiKey=ckey_"));
1732
+ }), Pt = /* @__PURE__ */ st(() => a() ? Er(a()) : void 0), ur = /* @__PURE__ */ st(() => _e() ? Er(_e()) : {}), re = /* @__PURE__ */ st(() => {
1733
+ var n;
1734
+ return {
1735
+ ariaLinkLabel: lr,
1736
+ error: "Verification failed. Try again later.",
1737
+ expired: "Verification expired. Try again.",
1738
+ footer: `Protected by <a href="${sr}" target="_blank" aria-label="${((n = c(ur)) == null ? void 0 : n.ariaLinkLabel) || lr}">ALTCHA</a>`,
1739
+ label: "I'm not a robot",
1740
+ verified: "Verified",
1741
+ verifying: "Verifying...",
1742
+ waitAlert: "Verifying... please wait.",
1743
+ ...c(ur)
1744
+ };
1745
+ }), cr = /* @__PURE__ */ st(() => `${F() || V()}_checkbox`);
1746
+ let Be = /* @__PURE__ */ J(false), C = /* @__PURE__ */ J(ke(b.UNVERIFIED)), B = /* @__PURE__ */ J(void 0), tt = /* @__PURE__ */ J(null), qe = null, w = null, He = /* @__PURE__ */ J(null), ce = null, Ee = [], Le = /* @__PURE__ */ J(null);
1747
+ Yt(() => {
1748
+ ci(c(He));
1749
+ }), Yt(() => {
1750
+ di(c(C));
1751
+ }), qo(() => {
1752
+ ii(), w && (w.removeEventListener("submit", wr), w.removeEventListener("reset", pr), w.removeEventListener("focusin", mr), w = null), ce && (clearTimeout(ce), ce = null), document.removeEventListener("click", gr), document.removeEventListener("scroll", _r), window.removeEventListener("resize", yr);
1753
+ }), ei(() => {
1754
+ var n;
1755
+ S("mounted", "1.5.1"), S("workers", Ve()), fi(), S("plugins", Ee.length ? Ee.map((u) => u.constructor.pluginName).join(", ") : "none"), te() && S("using test mode"), d() && Ot(d()), r() !== void 0 && S("auto", r()), v() !== void 0 && xr(v()), w = (n = c(B)) == null ? void 0 : n.closest("form"), w && (w.addEventListener("submit", wr, { capture: true }), w.addEventListener("reset", pr), (r() === "onfocus" || m() === "focus") && w.addEventListener("focusin", mr)), r() === "onload" && (M() ? rt() : xe()), c(Dt) && (k() || N()) && S("Attributes hidefooter and hidelogo ignored because usage with free API Keys requires attribution."), requestAnimationFrame(() => {
1756
+ et("load");
1757
+ });
1758
+ });
1759
+ function dr(n, u) {
1760
+ return btoa(JSON.stringify({
1761
+ algorithm: n.algorithm,
1762
+ challenge: n.challenge,
1763
+ number: u.number,
1764
+ salt: n.salt,
1765
+ signature: n.signature,
1766
+ test: te() ? true : void 0,
1767
+ took: u.took
1768
+ }));
1769
+ }
1770
+ function ii() {
1771
+ for (const n of Ee)
1772
+ n.destroy();
1773
+ }
1774
+ function hr() {
1775
+ o() && O() && c(C) === b.VERIFIED ? xe() : it(b.EXPIRED, c(re).expired);
1776
+ }
1777
+ async function oi() {
1778
+ var n;
1779
+ if (Y())
1780
+ throw S("mocking error"), new Error("Mocked error.");
1781
+ if (c(Pt))
1782
+ return S("using provided json data"), c(Pt);
1783
+ if (te())
1784
+ return S("generating test challenge", { test: te() }), Ko(typeof te() != "boolean" ? +te() : void 0);
1785
+ {
1786
+ if (!o() && w) {
1787
+ const x = w.getAttribute("action");
1788
+ x != null && x.includes("/form/") && o(x + "/altcha");
1789
+ }
1790
+ if (!o())
1791
+ throw new Error("Attribute challengeurl not set.");
1792
+ S("fetching challenge from", o());
1793
+ const u = {
1794
+ headers: j() !== false ? { "x-altcha-spam-filter": "1" } : {}
1795
+ }, _ = await vr()(o(), u);
1796
+ if (!_ || !(_ instanceof Response))
1797
+ throw new Error("Fetch function did not return a response.");
1798
+ if (_.status !== 200)
1799
+ throw new Error(`Server responded with ${_.status}.`);
1800
+ const y = _.headers.get("X-Altcha-Config"), T = await _.json(), E = new URLSearchParams((n = T.salt.split("?")) == null ? void 0 : n[1]), p = E.get("expires") || E.get("expire");
1801
+ if (p) {
1802
+ const x = new Date(+p * 1e3), me = isNaN(x.getTime()) ? 0 : x.getTime() - Date.now();
1803
+ me > 0 && Ot(me);
1804
+ }
1805
+ if (y)
1806
+ try {
1807
+ const x = JSON.parse(y);
1808
+ x && typeof x == "object" && ("sentinel" in x ? alert("This version of the widget is not compatible with Sentinel. Upgrade to version 2.x.x.") : (x.verifyurl && (x.verifyurl = new URL(x.verifyurl, new URL(o())).toString()), Cr(x)));
1809
+ } catch (x) {
1810
+ S("unable to configure from X-Altcha-Config", x);
1811
+ }
1812
+ return T;
1813
+ }
1814
+ }
1815
+ function ai(n) {
1816
+ var _;
1817
+ const u = w == null ? void 0 : w.querySelector(typeof n == "string" ? `input[name="${n}"]` : 'input[type="email"]:not([data-no-spamfilter])');
1818
+ return ((_ = u == null ? void 0 : u.value) == null ? void 0 : _.slice(u.value.indexOf("@"))) || void 0;
18
1819
  }
19
- return to;
20
- };
21
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
- // If the importer is in node compatibility mode or this is not an ESM
23
- // file that has been converted to a CommonJS file using a Babel-
24
- // compatible transform (i.e. "__esModule" has not been set), then set
25
- // "default" to the CommonJS "module.exports" for node compatibility.
26
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
- mod
28
- ));
29
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1820
+ function vr() {
1821
+ let n = fetch;
1822
+ if (l())
1823
+ if (S("using customfetch"), typeof l() == "string") {
1824
+ if (n = globalThis[l()] || null, !n)
1825
+ throw new Error(`Custom fetch function not found: ${l()}`);
1826
+ } else
1827
+ n = l();
1828
+ return n;
1829
+ }
1830
+ function li() {
1831
+ return j() === "ipAddress" ? {
1832
+ blockedCountries: void 0,
1833
+ classifier: void 0,
1834
+ disableRules: void 0,
1835
+ email: false,
1836
+ expectedCountries: void 0,
1837
+ expectedLanguages: void 0,
1838
+ fields: false,
1839
+ ipAddress: void 0,
1840
+ text: void 0,
1841
+ timeZone: void 0
1842
+ } : typeof j() == "object" ? j() : {
1843
+ blockedCountries: void 0,
1844
+ classifier: void 0,
1845
+ disableRules: void 0,
1846
+ email: void 0,
1847
+ expectedCountries: void 0,
1848
+ expectedLanguages: void 0,
1849
+ fields: void 0,
1850
+ ipAddress: void 0,
1851
+ text: void 0,
1852
+ timeZone: void 0
1853
+ };
1854
+ }
1855
+ function si(n) {
1856
+ return [
1857
+ ...(w == null ? void 0 : w.querySelectorAll(n != null && n.length ? n.map((_) => `input[name="${_}"]`).join(", ") : 'input[type="text"]:not([data-no-spamfilter]), textarea:not([data-no-spamfilter])')) || []
1858
+ ].reduce(
1859
+ (_, y) => {
1860
+ const T = y.name, E = y.value;
1861
+ return T && E && (_[T] = /\n/.test(E) ? E.replace(new RegExp("(?<!\\r)\\n", "g"), `\r
1862
+ `) : E), _;
1863
+ },
1864
+ {}
1865
+ );
1866
+ }
1867
+ function fi() {
1868
+ const n = Ne() !== void 0 ? Ne().split(",") : void 0;
1869
+ for (const u of globalThis.altchaPlugins)
1870
+ (!n || n.includes(u.pluginName)) && Ee.push(new u({
1871
+ el: c(B),
1872
+ clarify: rt,
1873
+ dispatch: et,
1874
+ getConfiguration: Ar,
1875
+ getFloatingAnchor: Rr,
1876
+ getState: Ir,
1877
+ log: S,
1878
+ reset: it,
1879
+ solve: kr,
1880
+ setState: De,
1881
+ setFloatingAnchor: Tr,
1882
+ verify: xe
1883
+ }));
1884
+ }
1885
+ function S(...n) {
1886
+ (s() || n.some((u) => u instanceof Error)) && console[n[0] instanceof Error ? "error" : "log"]("ALTCHA", `[name=${V()}]`, ...n);
1887
+ }
1888
+ function ui() {
1889
+ [b.UNVERIFIED, b.ERROR, b.EXPIRED].includes(c(C)) ? j() !== false && (w == null ? void 0 : w.reportValidity()) === false ? D(Be, false) : M() ? rt() : xe() : D(Be, true);
1890
+ }
1891
+ function gr(n) {
1892
+ const u = n.target;
1893
+ v() && u && !c(B).contains(u) && (c(C) === b.VERIFIED && m() === false || c(C) === b.VERIFIED && m() === "focus" && !(w != null && w.matches(":focus-within")) || r() === "off" && c(C) === b.UNVERIFIED) && Sr();
1894
+ }
1895
+ function _r() {
1896
+ v() && c(C) !== b.UNVERIFIED && nt();
1897
+ }
1898
+ function ci(n) {
1899
+ for (const u of Ee)
1900
+ typeof u.onErrorChange == "function" && u.onErrorChange(c(He));
1901
+ }
1902
+ function mr(n) {
1903
+ c(C) === b.UNVERIFIED ? xe() : v() && m() === "focus" && c(C) === b.VERIFIED && Ft();
1904
+ }
1905
+ function wr(n) {
1906
+ w && r() === "onsubmit" ? c(C) === b.UNVERIFIED ? (n.preventDefault(), n.stopPropagation(), xe().then(() => {
1907
+ vi();
1908
+ })) : c(C) !== b.VERIFIED && (n.preventDefault(), n.stopPropagation(), c(C) === b.VERIFYING && br()) : w && v() && r() === "off" && c(C) === b.UNVERIFIED && (n.preventDefault(), n.stopPropagation(), Ft());
1909
+ }
1910
+ function pr() {
1911
+ it();
1912
+ }
1913
+ function br() {
1914
+ c(C) === b.VERIFYING && c(re).waitAlert && alert(c(re).waitAlert);
1915
+ }
1916
+ function di(n) {
1917
+ for (const u of Ee)
1918
+ typeof u.onStateChange == "function" && u.onStateChange(c(C));
1919
+ v() && c(C) !== b.UNVERIFIED && requestAnimationFrame(() => {
1920
+ nt();
1921
+ }), D(Be, c(C) === b.VERIFIED);
1922
+ }
1923
+ function yr() {
1924
+ v() && nt();
1925
+ }
1926
+ function Er(n) {
1927
+ return JSON.parse(n);
1928
+ }
1929
+ async function hi(n) {
1930
+ if (!ye())
1931
+ throw new Error("Attribute verifyurl not set.");
1932
+ S("requesting server verification from", ye());
1933
+ const u = { payload: n };
1934
+ if (j() !== false) {
1935
+ const {
1936
+ blockedCountries: T,
1937
+ classifier: E,
1938
+ disableRules: p,
1939
+ email: x,
1940
+ expectedLanguages: me,
1941
+ expectedCountries: jt,
1942
+ fields: at,
1943
+ ipAddress: lt,
1944
+ text: Ai,
1945
+ timeZone: jr
1946
+ } = li();
1947
+ u.blockedCountries = T, u.classifier = E, u.disableRules = p, u.email = x === false ? void 0 : ai(x), u.expectedCountries = jt, u.expectedLanguages = me || (fr ? [fr] : void 0), u.fields = at === false ? void 0 : si(at), u.ipAddress = lt === false ? void 0 : lt || "auto", u.text = Ai, u.timeZone = jr === false ? void 0 : jr || Xo();
1948
+ }
1949
+ const _ = await vr()(ye(), {
1950
+ body: JSON.stringify(u),
1951
+ headers: { "content-type": "application/json" },
1952
+ method: "POST"
1953
+ });
1954
+ if (!_ || !(_ instanceof Response))
1955
+ throw new Error("Fetch function did not return a response.");
1956
+ if (_.status !== 200)
1957
+ throw new Error(`Server responded with ${_.status}.`);
1958
+ const y = await _.json();
1959
+ if (y != null && y.payload && D(Le, y.payload, true), et("serververification", y), i() && y.classification === "BAD")
1960
+ throw new Error("SpamFilter returned negative classification.");
1961
+ }
1962
+ function vi() {
1963
+ w && "requestSubmit" in w ? w.requestSubmit() : w != null && w.reportValidity() && w.submit();
1964
+ }
1965
+ function Ot(n) {
1966
+ S("expire", n), ce && (clearTimeout(ce), ce = null), n < 1 ? hr() : ce = setTimeout(hr, n);
1967
+ }
1968
+ function xr(n) {
1969
+ S("floating", n), v() !== n && (c(B).style.left = "", c(B).style.top = ""), v(n === true || n === "" ? "auto" : n === false || n === "false" ? void 0 : v()), v() ? (r() || r("onsubmit"), document.addEventListener("scroll", _r), document.addEventListener("click", gr), window.addEventListener("resize", yr)) : r() === "onsubmit" && r(void 0);
1970
+ }
1971
+ function $r(n) {
1972
+ if (!n.algorithm)
1973
+ throw new Error("Invalid challenge. Property algorithm is missing.");
1974
+ if (n.signature === void 0)
1975
+ throw new Error("Invalid challenge. Property signature is missing.");
1976
+ if (!ar.includes(n.algorithm.toUpperCase()))
1977
+ throw new Error(`Unknown algorithm value. Allowed values: ${ar.join(", ")}`);
1978
+ if (!n.challenge || n.challenge.length < 40)
1979
+ throw new Error("Challenge is too short. Min. 40 chars.");
1980
+ if (!n.salt || n.salt.length < 10)
1981
+ throw new Error("Salt is too short. Min. 10 chars.");
1982
+ }
1983
+ async function kr(n) {
1984
+ let u = null;
1985
+ if ("Worker" in window) {
1986
+ try {
1987
+ u = await gi(n, n.maxNumber || n.maxnumber || U());
1988
+ } catch (_) {
1989
+ S(_);
1990
+ }
1991
+ if ((u == null ? void 0 : u.number) !== void 0 || "obfuscated" in n)
1992
+ return { data: n, solution: u };
1993
+ }
1994
+ if ("obfuscated" in n) {
1995
+ const _ = await ta(n.obfuscated, n.key, n.maxNumber || n.maxnumber);
1996
+ return { data: n, solution: await _.promise };
1997
+ }
1998
+ return {
1999
+ data: n,
2000
+ solution: await zo(n.challenge, n.salt, n.algorithm, n.maxNumber || n.maxnumber || U()).promise
2001
+ };
2002
+ }
2003
+ async function gi(n, u = typeof te() == "number" ? te() : n.maxNumber || n.maxnumber || U(), _ = Math.ceil(Ve())) {
2004
+ const y = [];
2005
+ _ = Math.min(16, u, Math.max(1, _));
2006
+ for (let p = 0; p < _; p++)
2007
+ y.push(altchaCreateWorker(Qe()));
2008
+ const T = Math.ceil(u / _), E = await Promise.all(y.map((p, x) => {
2009
+ const me = x * T;
2010
+ return new Promise((jt) => {
2011
+ p.addEventListener("message", (at) => {
2012
+ if (at.data)
2013
+ for (const lt of y)
2014
+ lt !== p && lt.postMessage({ type: "abort" });
2015
+ jt(at.data);
2016
+ }), p.postMessage({
2017
+ payload: n,
2018
+ max: me + T,
2019
+ start: me,
2020
+ type: "work"
2021
+ });
2022
+ });
2023
+ }));
2024
+ for (const p of y)
2025
+ p.terminate();
2026
+ return E.find((p) => !!p) || null;
2027
+ }
2028
+ async function rt() {
2029
+ if (!M()) {
2030
+ De(b.ERROR);
2031
+ return;
2032
+ }
2033
+ const n = Ee.find((u) => u.constructor.pluginName === "obfuscation");
2034
+ if (!n || !("clarify" in n)) {
2035
+ De(b.ERROR), S("Plugin `obfuscation` not found. Import `altcha/plugins/obfuscation` to load it.");
2036
+ return;
2037
+ }
2038
+ if ("clarify" in n && typeof n.clarify == "function")
2039
+ return n.clarify();
2040
+ }
2041
+ function Cr(n) {
2042
+ n.obfuscated !== void 0 && M(n.obfuscated), n.auto !== void 0 && (r(n.auto), r() === "onload" && (M() ? rt() : xe())), n.blockspam !== void 0 && i(!!n.blockspam), n.customfetch !== void 0 && l(n.customfetch), n.floatinganchor !== void 0 && h(n.floatinganchor), n.delay !== void 0 && f(n.delay), n.floatingoffset !== void 0 && g(n.floatingoffset), n.floating !== void 0 && xr(n.floating), n.expire !== void 0 && (Ot(n.expire), d(n.expire)), n.challenge && (a(typeof n.challenge == "string" ? n.challenge : JSON.stringify(n.challenge)), $r(c(Pt))), n.challengeurl !== void 0 && o(n.challengeurl), n.debug !== void 0 && s(!!n.debug), n.hidefooter !== void 0 && k(!!n.hidefooter), n.hidelogo !== void 0 && N(!!n.hidelogo), n.maxnumber !== void 0 && U(+n.maxnumber), n.mockerror !== void 0 && Y(!!n.mockerror), n.name !== void 0 && V(n.name), n.refetchonexpire !== void 0 && O(!!n.refetchonexpire), n.spamfilter !== void 0 && j(typeof n.spamfilter == "object" ? n.spamfilter : !!n.spamfilter), n.strings && _e(typeof n.strings == "string" ? n.strings : JSON.stringify(n.strings)), n.test !== void 0 && te(typeof n.test == "number" ? n.test : !!n.test), n.verifyurl !== void 0 && ye(n.verifyurl), n.workers !== void 0 && Ve(+n.workers), n.workerurl !== void 0 && Qe(n.workerurl);
2043
+ }
2044
+ function Ar() {
2045
+ return {
2046
+ auto: r(),
2047
+ blockspam: i(),
2048
+ challengeurl: o(),
2049
+ debug: s(),
2050
+ delay: f(),
2051
+ expire: d(),
2052
+ floating: v(),
2053
+ floatinganchor: h(),
2054
+ floatingoffset: g(),
2055
+ hidefooter: k(),
2056
+ hidelogo: N(),
2057
+ name: V(),
2058
+ maxnumber: U(),
2059
+ mockerror: Y(),
2060
+ obfuscated: M(),
2061
+ refetchonexpire: O(),
2062
+ spamfilter: j(),
2063
+ strings: c(re),
2064
+ test: te(),
2065
+ verifyurl: ye(),
2066
+ workers: Ve(),
2067
+ workerurl: Qe()
2068
+ };
2069
+ }
2070
+ function Rr() {
2071
+ return qe;
2072
+ }
2073
+ function _i(n) {
2074
+ return Ee.find((u) => u.constructor.pluginName === n);
2075
+ }
2076
+ function Ir() {
2077
+ return c(C);
2078
+ }
2079
+ function Sr() {
2080
+ c(B).style.display = "none";
2081
+ }
2082
+ function nt(n = 20) {
2083
+ if (c(B))
2084
+ if (qe || (qe = (h() ? document.querySelector(h()) : w == null ? void 0 : w.querySelector('input[type="submit"], button[type="submit"], button:not([type="button"]):not([type="reset"])')) || w), qe) {
2085
+ const u = parseInt(g(), 10) || 12, _ = qe.getBoundingClientRect(), y = c(B).getBoundingClientRect(), T = document.documentElement.clientHeight, E = document.documentElement.clientWidth, p = v() === "auto" ? _.bottom + y.height + u + n > T : v() === "top", x = Math.max(n, Math.min(E - n - y.width, _.left + _.width / 2 - y.width / 2));
2086
+ if (p ? c(B).style.top = `${_.top - (y.height + u)}px` : c(B).style.top = `${_.bottom + u}px`, c(B).style.left = `${x}px`, c(B).setAttribute("data-floating", p ? "top" : "bottom"), c(tt)) {
2087
+ const me = c(tt).getBoundingClientRect();
2088
+ c(tt).style.left = _.left - x + _.width / 2 - me.width / 2 + "px";
2089
+ }
2090
+ } else
2091
+ S("unable to find floating anchor element");
2092
+ }
2093
+ function it(n = b.UNVERIFIED, u = null) {
2094
+ ce && (clearTimeout(ce), ce = null), D(Be, false), D(Le, null), De(n, u);
2095
+ }
2096
+ function Tr(n) {
2097
+ qe = n;
2098
+ }
2099
+ function De(n, u = null) {
2100
+ D(C, n, true), D(He, u, true), et("statechange", {
2101
+ payload: c(Le),
2102
+ state: c(C)
2103
+ });
2104
+ }
2105
+ function Ft() {
2106
+ c(B).style.display = "block", v() && nt();
2107
+ }
2108
+ async function xe() {
2109
+ return it(b.VERIFYING), await new Promise((n) => setTimeout(n, f() || 0)), oi().then((n) => ($r(n), S("challenge", n), kr(n))).then(({ data: n, solution: u }) => {
2110
+ if (S("solution", u), !u || n && "challenge" in n && !("clearText" in u))
2111
+ if ((u == null ? void 0 : u.number) !== void 0 && "challenge" in n) {
2112
+ if (ye())
2113
+ return hi(dr(n, u));
2114
+ D(Le, dr(n, u), true), S("payload", c(Le));
2115
+ } else
2116
+ throw S("Unable to find a solution. Ensure that the 'maxnumber' attribute is greater than the randomly generated number."), new Error("Unexpected result returned.");
2117
+ }).then(() => {
2118
+ De(b.VERIFIED), S("verified"), xo().then(() => {
2119
+ et("verified", { payload: c(Le) });
2120
+ });
2121
+ }).catch((n) => {
2122
+ S(n), De(b.ERROR, n.message);
2123
+ });
2124
+ }
2125
+ var Nr = da(), Lr = Gr(Nr);
2126
+ Po(Lr, t, "default", {});
2127
+ var ot = we(Lr, 2), Mt = X(ot), Dr = X(Mt);
2128
+ {
2129
+ var mi = (n) => {
2130
+ var u = ra();
2131
+ ne(n, u);
2132
+ };
2133
+ $e(Dr, (n) => {
2134
+ c(C) === b.VERIFYING && n(mi);
2135
+ });
2136
+ }
2137
+ var mt = we(Dr, 2);
2138
+ let Pr;
2139
+ var We = X(mt);
2140
+ en(We), We.__change = ui, z(mt);
2141
+ var Ut = we(mt, 2), wi = X(Ut);
2142
+ {
2143
+ var pi = (n) => {
2144
+ var u = na(), _ = Gr(u), y = X(_);
2145
+ Ge(y, () => c(re).verified), z(_);
2146
+ var T = we(_, 2);
2147
+ en(T), Pe(() => {
2148
+ se(T, "name", V()), jo(T, c(Le));
2149
+ }), ne(n, u);
2150
+ }, bi = (n, u) => {
2151
+ {
2152
+ var _ = (T) => {
2153
+ var E = ia(), p = X(E);
2154
+ Ge(p, () => c(re).verifying), z(E), ne(T, E);
2155
+ }, y = (T) => {
2156
+ var E = oa(), p = X(E);
2157
+ Ge(p, () => c(re).label), z(E), Pe(() => se(E, "for", c(cr))), ne(T, E);
2158
+ };
2159
+ $e(
2160
+ n,
2161
+ (T) => {
2162
+ c(C) === b.VERIFYING ? T(_) : T(y, false);
2163
+ },
2164
+ u
2165
+ );
2166
+ }
2167
+ };
2168
+ $e(wi, (n) => {
2169
+ c(C) === b.VERIFIED ? n(pi) : n(bi, false);
2170
+ });
2171
+ }
2172
+ z(Ut);
2173
+ var yi = we(Ut, 2);
2174
+ {
2175
+ var Ei = (n) => {
2176
+ var u = aa(), _ = X(u);
2177
+ se(_, "href", sr), z(u), Pe(() => se(_, "aria-label", c(re).ariaLinkLabel)), ne(n, u);
2178
+ };
2179
+ $e(yi, (n) => {
2180
+ (N() !== true || c(Dt)) && n(Ei);
2181
+ });
2182
+ }
2183
+ z(Mt);
2184
+ var Or = we(Mt, 2);
2185
+ {
2186
+ var xi = (n) => {
2187
+ var u = fa(), _ = we(X(u), 2);
2188
+ {
2189
+ var y = (E) => {
2190
+ var p = la(), x = X(p);
2191
+ Ge(x, () => c(re).expired), z(p), Pe(() => se(p, "title", c(He))), ne(E, p);
2192
+ }, T = (E) => {
2193
+ var p = sa(), x = X(p);
2194
+ Ge(x, () => c(re).error), z(p), Pe(() => se(p, "title", c(He))), ne(E, p);
2195
+ };
2196
+ $e(_, (E) => {
2197
+ c(C) === b.EXPIRED ? E(y) : E(T, false);
2198
+ });
2199
+ }
2200
+ z(u), ne(n, u);
2201
+ };
2202
+ $e(Or, (n) => {
2203
+ (c(He) || c(C) === b.EXPIRED) && n(xi);
2204
+ });
2205
+ }
2206
+ var Fr = we(Or, 2);
2207
+ {
2208
+ var $i = (n) => {
2209
+ var u = ua(), _ = X(u), y = X(_);
2210
+ Ge(y, () => c(re).footer), z(_), z(u), ne(n, u);
2211
+ };
2212
+ $e(Fr, (n) => {
2213
+ c(re).footer && (k() !== true || c(Dt)) && n($i);
2214
+ });
2215
+ }
2216
+ var ki = we(Fr, 2);
2217
+ {
2218
+ var Ci = (n) => {
2219
+ var u = ca();
2220
+ nn(u, (_) => D(tt, _), () => c(tt)), ne(n, u);
2221
+ };
2222
+ $e(ki, (n) => {
2223
+ v() && n(Ci);
2224
+ });
2225
+ }
2226
+ return z(ot), nn(ot, (n) => D(B, n), () => c(B)), Pe(
2227
+ (n) => {
2228
+ se(ot, "data-state", c(C)), se(ot, "data-floating", v()), Pr = Fo(mt, 1, "altcha-checkbox", null, Pr, n), se(We, "id", c(cr)), We.required = r() !== "onsubmit" && (!v() || r() !== "off");
2229
+ },
2230
+ [
2231
+ () => ({
2232
+ "altcha-hidden": c(C) === b.VERIFYING
2233
+ })
2234
+ ]
2235
+ ), So("invalid", We, br), Bo(We, () => c(Be), (n) => D(Be, n)), ne(e, Nr), Yn({
2236
+ clarify: rt,
2237
+ configure: Cr,
2238
+ getConfiguration: Ar,
2239
+ getFloatingAnchor: Rr,
2240
+ getPlugin: _i,
2241
+ getState: Ir,
2242
+ hide: Sr,
2243
+ repositionFloating: nt,
2244
+ reset: it,
2245
+ setFloatingAnchor: Tr,
2246
+ setState: De,
2247
+ show: Ft,
2248
+ verify: xe,
2249
+ get auto() {
2250
+ return r();
2251
+ },
2252
+ set auto(n = void 0) {
2253
+ r(n), $();
2254
+ },
2255
+ get blockspam() {
2256
+ return i();
2257
+ },
2258
+ set blockspam(n = void 0) {
2259
+ i(n), $();
2260
+ },
2261
+ get challengeurl() {
2262
+ return o();
2263
+ },
2264
+ set challengeurl(n = void 0) {
2265
+ o(n), $();
2266
+ },
2267
+ get challengejson() {
2268
+ return a();
2269
+ },
2270
+ set challengejson(n = void 0) {
2271
+ a(n), $();
2272
+ },
2273
+ get customfetch() {
2274
+ return l();
2275
+ },
2276
+ set customfetch(n = void 0) {
2277
+ l(n), $();
2278
+ },
2279
+ get debug() {
2280
+ return s();
2281
+ },
2282
+ set debug(n = false) {
2283
+ s(n), $();
2284
+ },
2285
+ get delay() {
2286
+ return f();
2287
+ },
2288
+ set delay(n = 0) {
2289
+ f(n), $();
2290
+ },
2291
+ get expire() {
2292
+ return d();
2293
+ },
2294
+ set expire(n = void 0) {
2295
+ d(n), $();
2296
+ },
2297
+ get floating() {
2298
+ return v();
2299
+ },
2300
+ set floating(n = void 0) {
2301
+ v(n), $();
2302
+ },
2303
+ get floatinganchor() {
2304
+ return h();
2305
+ },
2306
+ set floatinganchor(n = void 0) {
2307
+ h(n), $();
2308
+ },
2309
+ get floatingoffset() {
2310
+ return g();
2311
+ },
2312
+ set floatingoffset(n = void 0) {
2313
+ g(n), $();
2314
+ },
2315
+ get floatingpersist() {
2316
+ return m();
2317
+ },
2318
+ set floatingpersist(n = false) {
2319
+ m(n), $();
2320
+ },
2321
+ get hidefooter() {
2322
+ return k();
2323
+ },
2324
+ set hidefooter(n = false) {
2325
+ k(n), $();
2326
+ },
2327
+ get hidelogo() {
2328
+ return N();
2329
+ },
2330
+ set hidelogo(n = false) {
2331
+ N(n), $();
2332
+ },
2333
+ get id() {
2334
+ return F();
2335
+ },
2336
+ set id(n = void 0) {
2337
+ F(n), $();
2338
+ },
2339
+ get name() {
2340
+ return V();
2341
+ },
2342
+ set name(n = "altcha") {
2343
+ V(n), $();
2344
+ },
2345
+ get maxnumber() {
2346
+ return U();
2347
+ },
2348
+ set maxnumber(n = 1e6) {
2349
+ U(n), $();
2350
+ },
2351
+ get mockerror() {
2352
+ return Y();
2353
+ },
2354
+ set mockerror(n = false) {
2355
+ Y(n), $();
2356
+ },
2357
+ get obfuscated() {
2358
+ return M();
2359
+ },
2360
+ set obfuscated(n = void 0) {
2361
+ M(n), $();
2362
+ },
2363
+ get plugins() {
2364
+ return Ne();
2365
+ },
2366
+ set plugins(n = void 0) {
2367
+ Ne(n), $();
2368
+ },
2369
+ get refetchonexpire() {
2370
+ return O();
2371
+ },
2372
+ set refetchonexpire(n = true) {
2373
+ O(n), $();
2374
+ },
2375
+ get spamfilter() {
2376
+ return j();
2377
+ },
2378
+ set spamfilter(n = false) {
2379
+ j(n), $();
2380
+ },
2381
+ get strings() {
2382
+ return _e();
2383
+ },
2384
+ set strings(n = void 0) {
2385
+ _e(n), $();
2386
+ },
2387
+ get test() {
2388
+ return te();
2389
+ },
2390
+ set test(n = false) {
2391
+ te(n), $();
2392
+ },
2393
+ get verifyurl() {
2394
+ return ye();
2395
+ },
2396
+ set verifyurl(n = void 0) {
2397
+ ye(n), $();
2398
+ },
2399
+ get workers() {
2400
+ return Ve();
2401
+ },
2402
+ set workers(n = Math.min(16, navigator.hardwareConcurrency || 8)) {
2403
+ Ve(n), $();
2404
+ },
2405
+ get workerurl() {
2406
+ return Qe();
2407
+ },
2408
+ set workerurl(n = void 0) {
2409
+ Qe(n), $();
2410
+ }
2411
+ });
2412
+ }
2413
+ function ga(e, t = "__altcha-css") {
2414
+ if (!document.getElementById(t)) {
2415
+ const r = document.createElement("style");
2416
+ r.id = t, r.textContent = e, document.head.appendChild(r);
2417
+ }
2418
+ }
2419
+ var Ri, Vr, Ii, le, Br, G, Vt, Bt, ln, qr, Ti, an, Ni, Li, Di, Pi, Oi, Fi, zt, sn, fn, Je, Z, Mi, Hr, cn, Ui, ji, yt, Et, Oe, Vi, Bi, qi, dn, Wr, fe, vn, It, Xt, be, Me, xt, ee, $t, K, he, Ue, Ke, St, Hi, Qt, Wi, gn, Ht, ut, _n, Yi, L, P, no, Yr, mn, wn, pn, vo, dt, ht, pt, kt, Ct, Fe, gt, ct, R, de, I, H, q, Q, ie, Fn, At, Ce, $o, vt, W, Co, Xr, Kn, Jt, Ye, Kt, Qr, Mo, Uo, tn, wt, pe, oe, Yo, ti, ri, b, ra, na, ia, oa, aa, la, sa, fa, ua, ca, da, va;
2420
+ var init_altcha = __esm({
2421
+ "../../node_modules/.pnpm/altcha@1.5.1/node_modules/altcha/dist/altcha.js"() {
2422
+ "use strict";
2423
+ Ri = Object.defineProperty;
2424
+ Vr = (e) => {
2425
+ throw TypeError(e);
2426
+ };
2427
+ Ii = (e, t, r) => t in e ? Ri(e, t, { enumerable: true, configurable: true, writable: true, value: r }) : e[t] = r;
2428
+ le = (e, t, r) => Ii(e, typeof t != "symbol" ? t + "" : t, r);
2429
+ Br = (e, t, r) => t.has(e) || Vr("Cannot " + r);
2430
+ G = (e, t, r) => (Br(e, t, "read from private field"), r ? r.call(e) : t.get(e));
2431
+ Vt = (e, t, r) => t.has(e) ? Vr("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r);
2432
+ Bt = (e, t, r, i) => (Br(e, t, "write to private field"), i ? i.call(e, r) : t.set(e, r), r);
2433
+ ln = `(function(){"use strict";const d=new TextEncoder;function p(e){return[...new Uint8Array(e)].map(t=>t.toString(16).padStart(2,"0")).join("")}async function b(e,t,r){if(typeof crypto>"u"||!("subtle"in crypto)||!("digest"in crypto.subtle))throw new Error("Web Crypto is not available. Secure context is required (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).");return p(await crypto.subtle.digest(r.toUpperCase(),d.encode(e+t)))}function w(e,t,r="SHA-256",n=1e6,s=0){const o=new AbortController,a=Date.now();return{promise:(async()=>{for(let c=s;c<=n;c+=1){if(o.signal.aborted)return null;if(await b(t,c,r)===e)return{number:c,took:Date.now()-a}}return null})(),controller:o}}function h(e){const t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function g(e,t=12){const r=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=e%256,e=Math.floor(e/256);return r}async function m(e,t="",r=1e6,n=0){const s="AES-GCM",o=new AbortController,a=Date.now(),l=async()=>{for(let u=n;u<=r;u+=1){if(o.signal.aborted||!c||!y)return null;try{const f=await crypto.subtle.decrypt({name:s,iv:g(u)},c,y);if(f)return{clearText:new TextDecoder().decode(f),took:Date.now()-a}}catch{}}return null};let c=null,y=null;try{y=h(e);const u=await crypto.subtle.digest("SHA-256",d.encode(t));c=await crypto.subtle.importKey("raw",u,s,!1,["decrypt"])}catch{return{promise:Promise.reject(),controller:o}}return{promise:l(),controller:o}}let i;onmessage=async e=>{const{type:t,payload:r,start:n,max:s}=e.data;let o=null;if(t==="abort")i==null||i.abort(),i=void 0;else if(t==="work"){if("obfuscated"in r){const{key:a,obfuscated:l}=r||{};o=await m(l,a,s,n)}else{const{algorithm:a,challenge:l,salt:c}=r||{};o=w(l,c,a,s,n)}i=o.controller,o.promise.then(a=>{self.postMessage(a&&{...a,worker:!0})})}}})();
2434
+ `;
2435
+ qr = typeof self < "u" && self.Blob && new Blob([ln], { type: "text/javascript;charset=utf-8" });
2436
+ Ti = "5";
2437
+ typeof window < "u" && ((an = window.__svelte ?? (window.__svelte = {})).v ?? (an.v = /* @__PURE__ */ new Set())).add(Ti);
2438
+ Ni = 1;
2439
+ Li = 4;
2440
+ Di = 8;
2441
+ Pi = 16;
2442
+ Oi = 1;
2443
+ Fi = 2;
2444
+ zt = "[";
2445
+ sn = "[!";
2446
+ fn = "]";
2447
+ Je = {};
2448
+ Z = Symbol();
2449
+ Mi = "http://www.w3.org/1999/xhtml";
2450
+ Hr = false;
2451
+ cn = Array.isArray;
2452
+ Ui = Array.prototype.indexOf;
2453
+ ji = Array.from;
2454
+ yt = Object.keys;
2455
+ Et = Object.defineProperty;
2456
+ Oe = Object.getOwnPropertyDescriptor;
2457
+ Vi = Object.getOwnPropertyDescriptors;
2458
+ Bi = Object.prototype;
2459
+ qi = Array.prototype;
2460
+ dn = Object.getPrototypeOf;
2461
+ Wr = Object.isExtensible;
2462
+ fe = 2;
2463
+ vn = 4;
2464
+ It = 8;
2465
+ Xt = 16;
2466
+ be = 32;
2467
+ Me = 64;
2468
+ xt = 128;
2469
+ ee = 256;
2470
+ $t = 512;
2471
+ K = 1024;
2472
+ he = 2048;
2473
+ Ue = 4096;
2474
+ Ke = 8192;
2475
+ St = 16384;
2476
+ Hi = 32768;
2477
+ Qt = 65536;
2478
+ Wi = 1 << 19;
2479
+ gn = 1 << 20;
2480
+ Ht = 1 << 21;
2481
+ ut = Symbol("$state");
2482
+ _n = Symbol("legacy props");
2483
+ Yi = Symbol("");
2484
+ L = false;
2485
+ no = false;
2486
+ vo = typeof requestIdleCallback > "u" ? (e) => setTimeout(e, 1) : requestIdleCallback;
2487
+ dt = [];
2488
+ ht = [];
2489
+ pt = false;
2490
+ kt = false;
2491
+ Ct = null;
2492
+ Fe = false;
2493
+ gt = false;
2494
+ ct = [];
2495
+ R = null;
2496
+ de = false;
2497
+ I = null;
2498
+ H = null;
2499
+ q = null;
2500
+ Q = 0;
2501
+ ie = null;
2502
+ Fn = 1;
2503
+ At = 0;
2504
+ Ce = false;
2505
+ $o = -7169;
2506
+ vt = /* @__PURE__ */ new Map();
2507
+ W = null;
2508
+ Co = ["touchstart", "touchmove"];
2509
+ Xr = false;
2510
+ Kn = /* @__PURE__ */ new Set();
2511
+ Jt = /* @__PURE__ */ new Set();
2512
+ Ye = /* @__PURE__ */ new Map();
2513
+ Kt = /* @__PURE__ */ new WeakMap();
2514
+ Qr = [...`
2515
+ \r\f\xA0\v\uFEFF`];
2516
+ Mo = Symbol("is custom element");
2517
+ Uo = Symbol("is html");
2518
+ tn = /* @__PURE__ */ new Map();
2519
+ wt = false;
2520
+ Yo = class {
2521
+ /**
2522
+ * @param {ComponentConstructorOptions & {
2523
+ * component: any;
2524
+ * }} options
2525
+ */
2526
+ constructor(t) {
2527
+ Vt(this, pe);
2528
+ Vt(this, oe);
2529
+ var a;
2530
+ var r = /* @__PURE__ */ new Map(), i = (l, s) => {
2531
+ var f = /* @__PURE__ */ qn(s);
2532
+ return r.set(l, f), f;
2533
+ };
2534
+ const o = new Proxy(
2535
+ { ...t.props || {}, $$events: {} },
2536
+ {
2537
+ get(l, s) {
2538
+ return c(r.get(s) ?? i(s, Reflect.get(l, s)));
2539
+ },
2540
+ has(l, s) {
2541
+ return s === _n ? true : (c(r.get(s) ?? i(s, Reflect.get(l, s))), Reflect.has(l, s));
2542
+ },
2543
+ set(l, s, f) {
2544
+ return D(r.get(s) ?? i(s, f), f), Reflect.set(l, s, f);
2545
+ }
2546
+ }
2547
+ );
2548
+ Bt(this, oe, (t.hydrate ? Lo : zn)(t.component, {
2549
+ target: t.target,
2550
+ anchor: t.anchor,
2551
+ props: o,
2552
+ context: t.context,
2553
+ intro: t.intro ?? false,
2554
+ recover: t.recover
2555
+ })), (!((a = t == null ? void 0 : t.props) != null && a.$$host) || t.sync === false) && $(), Bt(this, pe, o.$$events);
2556
+ for (const l of Object.keys(G(this, oe)))
2557
+ l === "$set" || l === "$destroy" || l === "$on" || Et(this, l, {
2558
+ get() {
2559
+ return G(this, oe)[l];
2560
+ },
2561
+ /** @param {any} value */
2562
+ set(s) {
2563
+ G(this, oe)[l] = s;
2564
+ },
2565
+ enumerable: true
2566
+ });
2567
+ G(this, oe).$set = /** @param {Record<string, any>} next */
2568
+ (l) => {
2569
+ Object.assign(o, l);
2570
+ }, G(this, oe).$destroy = () => {
2571
+ Do(G(this, oe));
2572
+ };
2573
+ }
2574
+ /** @param {Record<string, any>} props */
2575
+ $set(t) {
2576
+ G(this, oe).$set(t);
2577
+ }
2578
+ /**
2579
+ * @param {string} event
2580
+ * @param {(...args: any[]) => any} callback
2581
+ * @returns {any}
2582
+ */
2583
+ $on(t, r) {
2584
+ G(this, pe)[t] = G(this, pe)[t] || [];
2585
+ const i = (...o) => r.call(this, ...o);
2586
+ return G(this, pe)[t].push(i), () => {
2587
+ G(this, pe)[t] = G(this, pe)[t].filter(
2588
+ /** @param {any} fn */
2589
+ (o) => o !== i
2590
+ );
2591
+ };
2592
+ }
2593
+ $destroy() {
2594
+ G(this, oe).$destroy();
2595
+ }
2596
+ };
2597
+ pe = /* @__PURE__ */ new WeakMap(), oe = /* @__PURE__ */ new WeakMap();
2598
+ typeof HTMLElement == "function" && (ti = class extends HTMLElement {
2599
+ /**
2600
+ * @param {*} $$componentCtor
2601
+ * @param {*} $$slots
2602
+ * @param {*} use_shadow_dom
2603
+ */
2604
+ constructor(t, r, i) {
2605
+ super();
2606
+ le(this, "$$ctor");
2607
+ le(this, "$$s");
2608
+ le(this, "$$c");
2609
+ le(this, "$$cn", false);
2610
+ le(this, "$$d", {});
2611
+ le(this, "$$r", false);
2612
+ le(this, "$$p_d", {});
2613
+ le(this, "$$l", {});
2614
+ le(this, "$$l_u", /* @__PURE__ */ new Map());
2615
+ le(this, "$$me");
2616
+ this.$$ctor = t, this.$$s = r, i && this.attachShadow({ mode: "open" });
2617
+ }
2618
+ /**
2619
+ * @param {string} type
2620
+ * @param {EventListenerOrEventListenerObject} listener
2621
+ * @param {boolean | AddEventListenerOptions} [options]
2622
+ */
2623
+ addEventListener(t, r, i) {
2624
+ if (this.$$l[t] = this.$$l[t] || [], this.$$l[t].push(r), this.$$c) {
2625
+ const o = this.$$c.$on(t, r);
2626
+ this.$$l_u.set(r, o);
2627
+ }
2628
+ super.addEventListener(t, r, i);
2629
+ }
2630
+ /**
2631
+ * @param {string} type
2632
+ * @param {EventListenerOrEventListenerObject} listener
2633
+ * @param {boolean | AddEventListenerOptions} [options]
2634
+ */
2635
+ removeEventListener(t, r, i) {
2636
+ if (super.removeEventListener(t, r, i), this.$$c) {
2637
+ const o = this.$$l_u.get(r);
2638
+ o && (o(), this.$$l_u.delete(r));
2639
+ }
2640
+ }
2641
+ async connectedCallback() {
2642
+ if (this.$$cn = true, !this.$$c) {
2643
+ let t = function(o) {
2644
+ return (a) => {
2645
+ const l = document.createElement("slot");
2646
+ o !== "default" && (l.name = o), ne(a, l);
2647
+ };
2648
+ };
2649
+ if (await Promise.resolve(), !this.$$cn || this.$$c)
2650
+ return;
2651
+ const r = {}, i = Go(this);
2652
+ for (const o of this.$$s)
2653
+ o in i && (o === "default" && !this.$$d.children ? (this.$$d.children = t(o), r.default = true) : r[o] = t(o));
2654
+ for (const o of this.attributes) {
2655
+ const a = this.$$g_p(o.name);
2656
+ a in this.$$d || (this.$$d[a] = bt(a, o.value, this.$$p_d, "toProp"));
2657
+ }
2658
+ for (const o in this.$$p_d)
2659
+ !(o in this.$$d) && this[o] !== void 0 && (this.$$d[o] = this[o], delete this[o]);
2660
+ this.$$c = Wo({
2661
+ component: this.$$ctor,
2662
+ target: this.shadowRoot || this,
2663
+ props: {
2664
+ ...this.$$d,
2665
+ $$slots: r,
2666
+ $$host: this
2667
+ }
2668
+ }), this.$$me = fo(() => {
2669
+ nr(() => {
2670
+ var o;
2671
+ this.$$r = true;
2672
+ for (const a of yt(this.$$c)) {
2673
+ if (!((o = this.$$p_d[a]) != null && o.reflect)) continue;
2674
+ this.$$d[a] = this.$$c[a];
2675
+ const l = bt(
2676
+ a,
2677
+ this.$$d[a],
2678
+ this.$$p_d,
2679
+ "toAttribute"
2680
+ );
2681
+ l == null ? this.removeAttribute(this.$$p_d[a].attribute || a) : this.setAttribute(this.$$p_d[a].attribute || a, l);
2682
+ }
2683
+ this.$$r = false;
2684
+ });
2685
+ });
2686
+ for (const o in this.$$l)
2687
+ for (const a of this.$$l[o]) {
2688
+ const l = this.$$c.$on(o, a);
2689
+ this.$$l_u.set(a, l);
2690
+ }
2691
+ this.$$l = {};
2692
+ }
2693
+ }
2694
+ // We don't need this when working within Svelte code, but for compatibility of people using this outside of Svelte
2695
+ // and setting attributes through setAttribute etc, this is helpful
2696
+ /**
2697
+ * @param {string} attr
2698
+ * @param {string} _oldValue
2699
+ * @param {string} newValue
2700
+ */
2701
+ attributeChangedCallback(t, r, i) {
2702
+ var o;
2703
+ this.$$r || (t = this.$$g_p(t), this.$$d[t] = bt(t, i, this.$$p_d, "toProp"), (o = this.$$c) == null || o.$set({ [t]: this.$$d[t] }));
2704
+ }
2705
+ disconnectedCallback() {
2706
+ this.$$cn = false, Promise.resolve().then(() => {
2707
+ !this.$$cn && this.$$c && (this.$$c.$destroy(), this.$$me(), this.$$c = void 0);
2708
+ });
2709
+ }
2710
+ /**
2711
+ * @param {string} attribute_name
2712
+ */
2713
+ $$g_p(t) {
2714
+ return yt(this.$$p_d).find(
2715
+ (r) => this.$$p_d[r].attribute === t || !this.$$p_d[r].attribute && r.toLowerCase() === t
2716
+ ) || t;
2717
+ }
2718
+ });
2719
+ ri = new TextEncoder();
2720
+ b = /* @__PURE__ */ ((e) => (e.ERROR = "error", e.VERIFIED = "verified", e.VERIFYING = "verifying", e.UNVERIFIED = "unverified", e.EXPIRED = "expired", e))(b || {});
2721
+ ra = /* @__PURE__ */ No('<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" fill="currentColor" opacity=".25"></path><path d="M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z" fill="currentColor" class="altcha-spinner"></path></svg>');
2722
+ na = /* @__PURE__ */ ge('<span role="status" aria-live="polite"><!></span> <input type="hidden">', 1);
2723
+ ia = /* @__PURE__ */ ge('<span role="status" aria-live="polite"><!></span>');
2724
+ oa = /* @__PURE__ */ ge("<label><!></label>");
2725
+ aa = /* @__PURE__ */ ge('<div><a target="_blank" class="altcha-logo"><svg width="22" height="22" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.33955 16.4279C5.88954 20.6586 12.1971 21.2105 16.4279 17.6604C18.4699 15.947 19.6548 13.5911 19.9352 11.1365L17.9886 10.4279C17.8738 12.5624 16.909 14.6459 15.1423 16.1284C11.7577 18.9684 6.71167 18.5269 3.87164 15.1423C1.03163 11.7577 1.4731 6.71166 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577C16.9767 5.86872 17.5322 7.02798 17.804 8.2324L19.9522 9.01429C19.7622 7.07737 19.0059 5.17558 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956C-0.658625 5.88958 -1.21046 12.1971 2.33955 16.4279Z" fill="currentColor"></path><path d="M3.57212 2.33956C1.65755 3.94607 0.496389 6.11731 0.12782 8.40523L2.04639 9.13961C2.26047 7.15832 3.21057 5.25375 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577L13.8302 6.78606L19.9633 9.13364C19.7929 7.15555 19.0335 5.20847 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956Z" fill="currentColor"></path><path d="M7 10H5C5 12.7614 7.23858 15 10 15C12.7614 15 15 12.7614 15 10H13C13 11.6569 11.6569 13 10 13C8.3431 13 7 11.6569 7 10Z" fill="currentColor"></path></svg></a></div>');
2726
+ la = /* @__PURE__ */ ge("<div><!></div>");
2727
+ sa = /* @__PURE__ */ ge("<div><!></div>");
2728
+ fa = /* @__PURE__ */ ge('<div class="altcha-error"><svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path></svg> <!></div>');
2729
+ ua = /* @__PURE__ */ ge('<div class="altcha-footer"><div><!></div></div>');
2730
+ ca = /* @__PURE__ */ ge('<div class="altcha-anchor-arrow"></div>');
2731
+ da = /* @__PURE__ */ ge('<!> <div class="altcha"><div class="altcha-main"><!> <div><input type="checkbox"></div> <div class="altcha-label"><!></div> <!></div> <!> <!> <!></div>', 1);
2732
+ To(["change"]);
2733
+ customElements.define("altcha-widget", Zo(
2734
+ ha,
2735
+ {
2736
+ blockspam: { type: "Boolean" },
2737
+ debug: { type: "Boolean" },
2738
+ delay: { type: "Number" },
2739
+ expire: { type: "Number" },
2740
+ floatingoffset: { type: "Number" },
2741
+ hidefooter: { type: "Boolean" },
2742
+ hidelogo: { type: "Boolean" },
2743
+ maxnumber: { type: "Number" },
2744
+ mockerror: { type: "Boolean" },
2745
+ refetchonexpire: { type: "Boolean" },
2746
+ test: { type: "Boolean" },
2747
+ workers: { type: "Number" },
2748
+ auto: {},
2749
+ challengeurl: {},
2750
+ challengejson: {},
2751
+ customfetch: {},
2752
+ floating: {},
2753
+ floatinganchor: {},
2754
+ floatingpersist: {},
2755
+ id: {},
2756
+ name: {},
2757
+ obfuscated: {},
2758
+ plugins: {},
2759
+ spamfilter: {},
2760
+ strings: {},
2761
+ verifyurl: {},
2762
+ workerurl: {}
2763
+ },
2764
+ ["default"],
2765
+ [
2766
+ "clarify",
2767
+ "configure",
2768
+ "getConfiguration",
2769
+ "getFloatingAnchor",
2770
+ "getPlugin",
2771
+ "getState",
2772
+ "hide",
2773
+ "repositionFloating",
2774
+ "reset",
2775
+ "setFloatingAnchor",
2776
+ "setState",
2777
+ "show",
2778
+ "verify"
2779
+ ],
2780
+ false
2781
+ ));
2782
+ va = '@keyframes altcha-spinner{to{transform:rotate(360deg)}}.altcha{background:var(--altcha-color-base, transparent);border:var(--altcha-border-width, 1px) solid var(--altcha-color-border, #a0a0a0);border-radius:var(--altcha-border-radius, 3px);color:var(--altcha-color-text, currentColor);display:flex;flex-direction:column;max-width:var(--altcha-max-width, 260px);position:relative;text-align:left}.altcha:focus-within{border-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating]{background:var(--altcha-color-base, white);display:none;filter:drop-shadow(3px 3px 6px rgba(0,0,0,.2));left:-100%;position:fixed;top:-100%;width:var(--altcha-max-width, 260px);z-index:999999}.altcha[data-floating=top] .altcha-anchor-arrow{border-bottom-color:transparent;border-top-color:var(--altcha-color-border, #a0a0a0);bottom:-12px;top:auto}.altcha[data-floating=bottom]:focus-within::after{border-bottom-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating=top]:focus-within::after{border-top-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating]:not([data-state=unverified]){display:block}.altcha-anchor-arrow{border:6px solid transparent;border-bottom-color:var(--altcha-color-border, #a0a0a0);content:"";height:0;left:12px;position:absolute;top:-12px;width:0}.altcha-main{align-items:center;display:flex;gap:.4rem;padding:.7rem}.altcha-label{flex-grow:1}.altcha-label label{cursor:pointer}.altcha-logo{color:currentColor;opacity:.3}.altcha-footer:hover,.altcha-logo:hover{opacity:1}.altcha-error{color:var(--altcha-color-error-text, #f23939);display:flex;font-size:.85rem;gap:.3rem;padding:0 .7rem .7rem}.altcha-footer{align-items:center;background-color:var(--altcha-color-footer-bg, transparent);display:flex;font-size:.75rem;opacity:.4;padding:.2rem .7rem;text-align:right}.altcha-footer>:first-child{flex-grow:1}.altcha-footer a{color:currentColor}.altcha-checkbox{display:flex;align-items:center;height:24px;width:24px}.altcha-checkbox input{width:18px;height:18px;margin:0}.altcha-hidden{display:none}.altcha-spinner{animation:altcha-spinner .75s infinite linear;transform-origin:center}';
2783
+ globalThis.altchaCreateWorker = (e) => e ? new Worker(new URL(e)) : new Si();
2784
+ globalThis.altchaPlugins = globalThis.altchaPlugins || [];
2785
+ ga(va);
2786
+ }
2787
+ });
30
2788
 
31
2789
  // src/bookings/index.ts
32
2790
  var bookings_exports = {};
@@ -70,17 +2828,97 @@ function getCmsApiUrl() {
70
2828
  );
71
2829
  }
72
2830
 
2831
+ // ../altcha/dist/client.mjs
2832
+ var import_react = require("react");
2833
+ function AltchaWidget({
2834
+ challengeUrl,
2835
+ onSolutionChange,
2836
+ auto = true,
2837
+ hidelogo = false,
2838
+ className
2839
+ }) {
2840
+ const containerRef = (0, import_react.useRef)(null);
2841
+ const [isLoaded, setIsLoaded] = (0, import_react.useState)(false);
2842
+ (0, import_react.useEffect)(() => {
2843
+ if (typeof window === "undefined") return;
2844
+ let widget = null;
2845
+ Promise.resolve().then(() => (init_altcha(), altcha_exports)).then(() => {
2846
+ if (!containerRef.current) return;
2847
+ widget = document.createElement("altcha-widget");
2848
+ widget.setAttribute("challengeurl", challengeUrl);
2849
+ if (auto) {
2850
+ widget.setAttribute("auto", "onload");
2851
+ }
2852
+ if (hidelogo) {
2853
+ widget.setAttribute("hidelogo", "true");
2854
+ }
2855
+ widget.setAttribute("hidefooter", "true");
2856
+ if (className) {
2857
+ widget.className = className;
2858
+ }
2859
+ widget.addEventListener("statechange", ((event) => {
2860
+ const { state, payload } = event.detail;
2861
+ if (state === "verified" && payload) {
2862
+ onSolutionChange?.(payload);
2863
+ } else if (state === "error" || state === "expired") {
2864
+ onSolutionChange?.(null);
2865
+ }
2866
+ }));
2867
+ containerRef.current.appendChild(widget);
2868
+ setIsLoaded(true);
2869
+ }).catch((err) => {
2870
+ console.error("Failed to load ALTCHA widget:", err);
2871
+ });
2872
+ return () => {
2873
+ if (widget && containerRef.current) {
2874
+ containerRef.current.removeChild(widget);
2875
+ }
2876
+ };
2877
+ }, [challengeUrl, auto, hidelogo, className, onSolutionChange]);
2878
+ return /* @__PURE__ */ React.createElement("div", { ref: containerRef });
2879
+ }
2880
+ function isSpamProtectionEnabled() {
2881
+ return process.env.NEXT_PUBLIC_SPAM_PROTECTION_ENABLED === "true";
2882
+ }
2883
+
2884
+ // ../../node_modules/.pnpm/altcha-lib@1.4.1/node_modules/altcha-lib/dist/helpers.js
2885
+ var encoder = new TextEncoder();
2886
+
2887
+ // ../altcha/dist/index.mjs
2888
+ function getCmsApiUrl2() {
2889
+ const env = process.env.RIVERBANK_ENV;
2890
+ if (env) {
2891
+ const envKey = `RIVERBANK_${env.toUpperCase()}_DASHBOARD_URL`;
2892
+ const dashboardUrl2 = process.env[envKey];
2893
+ if (dashboardUrl2) {
2894
+ return `${dashboardUrl2.replace(/\/$/, "")}/api`;
2895
+ }
2896
+ }
2897
+ const dashboardUrl = process.env.NEXT_PUBLIC_DASHBOARD_URL;
2898
+ if (dashboardUrl) {
2899
+ return `${dashboardUrl.replace(/\/$/, "")}/api`;
2900
+ }
2901
+ const legacyApiUrl = process.env.NEXT_PUBLIC_CMS_API_URL;
2902
+ if (legacyApiUrl) {
2903
+ return legacyApiUrl.replace(/\/$/, "");
2904
+ }
2905
+ throw new Error("Dashboard URL not configured. Set NEXT_PUBLIC_DASHBOARD_URL");
2906
+ }
2907
+ function getChallengeUrl() {
2908
+ return `${getCmsApiUrl2()}/public/challenge`;
2909
+ }
2910
+
73
2911
  // ../blocks/src/system/runtime/nodes/booking-form.client.tsx
74
- var import_react11 = __toESM(require("react"));
2912
+ var import_react12 = __toESM(require("react"));
75
2913
 
76
2914
  // ../blocks/src/system/runtime/components/multi-step/MultiStepForm.tsx
77
- var import_react3 = require("react");
2915
+ var import_react4 = require("react");
78
2916
 
79
2917
  // ../blocks/src/system/runtime/components/multi-step/MultiStepContext.tsx
80
- var import_react = require("react");
81
- var MultiStepContext = (0, import_react.createContext)(null);
2918
+ var import_react2 = require("react");
2919
+ var MultiStepContext = (0, import_react2.createContext)(null);
82
2920
  function useMultiStepContext() {
83
- const context = (0, import_react.useContext)(MultiStepContext);
2921
+ const context = (0, import_react2.useContext)(MultiStepContext);
84
2922
  if (!context) {
85
2923
  throw new Error(
86
2924
  "useMultiStepContext must be used within a MultiStepForm component. Make sure your component is wrapped in <MultiStepForm>."
@@ -94,7 +2932,7 @@ function useMultiStepData() {
94
2932
  }
95
2933
 
96
2934
  // ../blocks/src/system/runtime/components/multi-step/useMultiStep.ts
97
- var import_react2 = require("react");
2935
+ var import_react3 = require("react");
98
2936
  function useMultiStep({
99
2937
  steps,
100
2938
  initialData = {},
@@ -103,12 +2941,12 @@ function useMultiStep({
103
2941
  onComplete,
104
2942
  persistToUrl = false
105
2943
  }) {
106
- const [data, setData] = (0, import_react2.useState)(initialData);
107
- const [currentStepIndex, setCurrentStepIndex] = (0, import_react2.useState)(0);
108
- const [errors, setErrors] = (0, import_react2.useState)({});
109
- const [isValidating, setIsValidating] = (0, import_react2.useState)(false);
110
- const [isSubmitting, setIsSubmitting] = (0, import_react2.useState)(false);
111
- const visibleSteps = (0, import_react2.useMemo)(() => {
2944
+ const [data, setData] = (0, import_react3.useState)(initialData);
2945
+ const [currentStepIndex, setCurrentStepIndex] = (0, import_react3.useState)(0);
2946
+ const [errors, setErrors] = (0, import_react3.useState)({});
2947
+ const [isValidating, setIsValidating] = (0, import_react3.useState)(false);
2948
+ const [isSubmitting, setIsSubmitting] = (0, import_react3.useState)(false);
2949
+ const visibleSteps = (0, import_react3.useMemo)(() => {
112
2950
  return steps.filter((step) => {
113
2951
  if (!step.condition) return true;
114
2952
  return step.condition(data);
@@ -116,14 +2954,14 @@ function useMultiStep({
116
2954
  }, [steps, data]);
117
2955
  const currentStep = visibleSteps[currentStepIndex];
118
2956
  const currentStepId = currentStep?.id || "";
119
- (0, import_react2.useEffect)(() => {
2957
+ (0, import_react3.useEffect)(() => {
120
2958
  if (persistToUrl && currentStep) {
121
2959
  const url = new URL(window.location.href);
122
2960
  url.searchParams.set("step", currentStep.id);
123
2961
  window.history.replaceState({}, "", url.toString());
124
2962
  }
125
2963
  }, [currentStepIndex, currentStep, persistToUrl]);
126
- (0, import_react2.useEffect)(() => {
2964
+ (0, import_react3.useEffect)(() => {
127
2965
  if (persistToUrl) {
128
2966
  const url = new URL(window.location.href);
129
2967
  const stepId = url.searchParams.get("step");
@@ -135,12 +2973,12 @@ function useMultiStep({
135
2973
  }
136
2974
  }
137
2975
  }, []);
138
- (0, import_react2.useEffect)(() => {
2976
+ (0, import_react3.useEffect)(() => {
139
2977
  if (onStepChange && currentStep) {
140
2978
  onStepChange(currentStep.id, currentStepIndex);
141
2979
  }
142
2980
  }, [currentStepIndex, currentStep, onStepChange]);
143
- const updateData = (0, import_react2.useCallback)(
2981
+ const updateData = (0, import_react3.useCallback)(
144
2982
  (updates) => {
145
2983
  setData((prev) => {
146
2984
  const newData = { ...prev, ...updates };
@@ -151,7 +2989,7 @@ function useMultiStep({
151
2989
  },
152
2990
  [onDataChange]
153
2991
  );
154
- const validateCurrentStep = (0, import_react2.useCallback)(async () => {
2992
+ const validateCurrentStep = (0, import_react3.useCallback)(async () => {
155
2993
  if (!currentStep?.validate) return true;
156
2994
  setIsValidating(true);
157
2995
  setErrors({});
@@ -171,7 +3009,7 @@ function useMultiStep({
171
3009
  setIsValidating(false);
172
3010
  }
173
3011
  }, [currentStep, data]);
174
- const goToNext = (0, import_react2.useCallback)(async () => {
3012
+ const goToNext = (0, import_react3.useCallback)(async () => {
175
3013
  const isValid = await validateCurrentStep();
176
3014
  if (!isValid) return;
177
3015
  if (currentStepIndex === visibleSteps.length - 1) {
@@ -191,11 +3029,11 @@ function useMultiStep({
191
3029
  setCurrentStepIndex((prev) => Math.min(prev + 1, visibleSteps.length - 1));
192
3030
  setErrors({});
193
3031
  }, [currentStepIndex, visibleSteps.length, validateCurrentStep, onComplete, data]);
194
- const goToPrevious = (0, import_react2.useCallback)(() => {
3032
+ const goToPrevious = (0, import_react3.useCallback)(() => {
195
3033
  setCurrentStepIndex((prev) => Math.max(prev - 1, 0));
196
3034
  setErrors({});
197
3035
  }, []);
198
- const goToStep = (0, import_react2.useCallback)(
3036
+ const goToStep = (0, import_react3.useCallback)(
199
3037
  (stepIndex) => {
200
3038
  if (stepIndex >= 0 && stepIndex < visibleSteps.length) {
201
3039
  setCurrentStepIndex(stepIndex);
@@ -204,7 +3042,7 @@ function useMultiStep({
204
3042
  },
205
3043
  [visibleSteps.length]
206
3044
  );
207
- const goToStepById = (0, import_react2.useCallback)(
3045
+ const goToStepById = (0, import_react3.useCallback)(
208
3046
  (stepId) => {
209
3047
  const stepIndex = visibleSteps.findIndex((s) => s.id === stepId);
210
3048
  if (stepIndex !== -1) {
@@ -213,7 +3051,7 @@ function useMultiStep({
213
3051
  },
214
3052
  [visibleSteps, goToStep]
215
3053
  );
216
- const reset = (0, import_react2.useCallback)(() => {
3054
+ const reset = (0, import_react3.useCallback)(() => {
217
3055
  setData(initialData);
218
3056
  setCurrentStepIndex(0);
219
3057
  setErrors({});
@@ -284,7 +3122,7 @@ function MultiStepForm({
284
3122
  if (!currentStep) {
285
3123
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-center py-12", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-muted-foreground", children: "No steps available" }) });
286
3124
  }
287
- const stepComponent = (0, import_react3.isValidElement)(currentStep.component) ? (0, import_react3.cloneElement)(currentStep.component, {
3125
+ const stepComponent = (0, import_react4.isValidElement)(currentStep.component) ? (0, import_react4.cloneElement)(currentStep.component, {
288
3126
  // Step components can access context via hooks, but we also pass key props
289
3127
  stepId: currentStep.id,
290
3128
  stepIndex: currentStepIndex
@@ -453,10 +3291,10 @@ var SuccessMessage = ({ message, className }) => {
453
3291
  };
454
3292
 
455
3293
  // ../blocks/src/system/runtime/hooks/useBookingSteps.ts
456
- var import_react9 = __toESM(require("react"));
3294
+ var import_react10 = __toESM(require("react"));
457
3295
 
458
3296
  // ../blocks/src/system/runtime/components/booking/ServiceResourceSelector.tsx
459
- var import_react4 = require("react");
3297
+ var import_react5 = require("react");
460
3298
  var import_jsx_runtime3 = require("react/jsx-runtime");
461
3299
  function ServiceResourceSelector({
462
3300
  siteId,
@@ -468,18 +3306,18 @@ function ServiceResourceSelector({
468
3306
  heading = "Select Service",
469
3307
  description = "Choose the service you'd like to book"
470
3308
  }) {
471
- const [selectedServiceId, setSelectedServiceId] = (0, import_react4.useState)(
3309
+ const [selectedServiceId, setSelectedServiceId] = (0, import_react5.useState)(
472
3310
  preSelectedServiceId
473
3311
  );
474
- const [selectedResourceId, setSelectedResourceId] = (0, import_react4.useState)(
3312
+ const [selectedResourceId, setSelectedResourceId] = (0, import_react5.useState)(
475
3313
  preSelectedResourceId
476
3314
  );
477
- const [resources, setResources] = (0, import_react4.useState)([]);
478
- const [isLoadingResources, setIsLoadingResources] = (0, import_react4.useState)(false);
479
- const [resourceError, setResourceError] = (0, import_react4.useState)(null);
3315
+ const [resources, setResources] = (0, import_react5.useState)([]);
3316
+ const [isLoadingResources, setIsLoadingResources] = (0, import_react5.useState)(false);
3317
+ const [resourceError, setResourceError] = (0, import_react5.useState)(null);
480
3318
  const showServiceSelect = !preSelectedServiceId && services.length > 1;
481
3319
  const showResourceSelect = resources.length > 1 && !preSelectedResourceId;
482
- const handleServiceChange = (0, import_react4.useCallback)(async (serviceId) => {
3320
+ const handleServiceChange = (0, import_react5.useCallback)(async (serviceId) => {
483
3321
  setSelectedServiceId(serviceId);
484
3322
  setSelectedResourceId(void 0);
485
3323
  setResourceError(null);
@@ -515,7 +3353,7 @@ function ServiceResourceSelector({
515
3353
  }
516
3354
  };
517
3355
  const canContinue = selectedServiceId && !isLoadingResources;
518
- (0, import_react4.useEffect)(() => {
3356
+ (0, import_react5.useEffect)(() => {
519
3357
  if (services.length === 1 && services[0] && !selectedServiceId) {
520
3358
  handleServiceChange(services[0].id);
521
3359
  }
@@ -673,7 +3511,7 @@ function ServiceSelectionStep({
673
3511
  }
674
3512
 
675
3513
  // ../blocks/src/system/runtime/components/booking/DateTimeSelectionStep.tsx
676
- var import_react7 = require("react");
3514
+ var import_react8 = require("react");
677
3515
 
678
3516
  // ../blocks/src/utils/date-formatting.ts
679
3517
  var BOOKING_FETCH_CHUNK_DAYS = 30;
@@ -800,7 +3638,7 @@ var TimeSlotSelector = ({
800
3638
  };
801
3639
 
802
3640
  // ../blocks/src/system/runtime/hooks/useAvailableSlots.ts
803
- var import_react5 = require("react");
3641
+ var import_react6 = require("react");
804
3642
  function useAvailableSlots({
805
3643
  siteId,
806
3644
  serviceId,
@@ -808,10 +3646,10 @@ function useAvailableSlots({
808
3646
  selectedDate,
809
3647
  timezone
810
3648
  }) {
811
- const [slots, setSlots] = (0, import_react5.useState)([]);
812
- const [isLoading, setIsLoading] = (0, import_react5.useState)(false);
813
- const [error, setError] = (0, import_react5.useState)(null);
814
- (0, import_react5.useEffect)(() => {
3649
+ const [slots, setSlots] = (0, import_react6.useState)([]);
3650
+ const [isLoading, setIsLoading] = (0, import_react6.useState)(false);
3651
+ const [error, setError] = (0, import_react6.useState)(null);
3652
+ (0, import_react6.useEffect)(() => {
815
3653
  if (!selectedDate || !serviceId) {
816
3654
  setSlots([]);
817
3655
  return;
@@ -856,7 +3694,7 @@ function useAvailableSlots({
856
3694
  }
857
3695
 
858
3696
  // ../blocks/src/system/runtime/hooks/useAvailableDates.ts
859
- var import_react6 = require("react");
3697
+ var import_react7 = require("react");
860
3698
  function useAvailableDates({
861
3699
  siteId,
862
3700
  serviceId,
@@ -864,14 +3702,14 @@ function useAvailableDates({
864
3702
  timezone = "UTC",
865
3703
  initialDays = 30
866
3704
  }) {
867
- const [availableDates, setAvailableDates] = (0, import_react6.useState)(/* @__PURE__ */ new Set());
868
- const [isLoading, setIsLoading] = (0, import_react6.useState)(false);
869
- const [error, setError] = (0, import_react6.useState)(null);
870
- const [hasMore, setHasMore] = (0, import_react6.useState)(false);
871
- const [loadedRange, setLoadedRange] = (0, import_react6.useState)(null);
872
- const nextStartDateRef = (0, import_react6.useRef)(null);
873
- const requestIdRef = (0, import_react6.useRef)(0);
874
- const fetchDates = (0, import_react6.useCallback)(
3705
+ const [availableDates, setAvailableDates] = (0, import_react7.useState)(/* @__PURE__ */ new Set());
3706
+ const [isLoading, setIsLoading] = (0, import_react7.useState)(false);
3707
+ const [error, setError] = (0, import_react7.useState)(null);
3708
+ const [hasMore, setHasMore] = (0, import_react7.useState)(false);
3709
+ const [loadedRange, setLoadedRange] = (0, import_react7.useState)(null);
3710
+ const nextStartDateRef = (0, import_react7.useRef)(null);
3711
+ const requestIdRef = (0, import_react7.useRef)(0);
3712
+ const fetchDates = (0, import_react7.useCallback)(
875
3713
  async (startDate, endDate, append = false) => {
876
3714
  if (!serviceId) {
877
3715
  console.log("[useAvailableDates] No serviceId, skipping fetch");
@@ -932,7 +3770,7 @@ function useAvailableDates({
932
3770
  },
933
3771
  [siteId, serviceId, resourceId, timezone]
934
3772
  );
935
- (0, import_react6.useEffect)(() => {
3773
+ (0, import_react7.useEffect)(() => {
936
3774
  if (!serviceId) {
937
3775
  setAvailableDates(/* @__PURE__ */ new Set());
938
3776
  setLoadedRange(null);
@@ -943,7 +3781,7 @@ function useAvailableDates({
943
3781
  const endDate = new Date(Date.now() + initialDays * 24 * 60 * 60 * 1e3).toISOString().split("T")[0] ?? "";
944
3782
  fetchDates(today, endDate, false);
945
3783
  }, [serviceId, fetchDates, initialDays]);
946
- const loadMore = (0, import_react6.useCallback)(() => {
3784
+ const loadMore = (0, import_react7.useCallback)(() => {
947
3785
  if (!nextStartDateRef.current || isLoading) return;
948
3786
  const start = nextStartDateRef.current;
949
3787
  const msPerDay = 24 * 60 * 60 * 1e3;
@@ -973,7 +3811,7 @@ function DateTimeSelectionStep({
973
3811
  const resourceId = data.resourceId || preSelectedResourceId;
974
3812
  const selectedDate = data.selectedDate || "";
975
3813
  const selectedSlot = data.selectedSlot || "";
976
- (0, import_react7.useEffect)(() => {
3814
+ (0, import_react8.useEffect)(() => {
977
3815
  if (preSelectedServiceId && !data.serviceId) {
978
3816
  updateData({ serviceId: preSelectedServiceId });
979
3817
  }
@@ -998,7 +3836,7 @@ function DateTimeSelectionStep({
998
3836
  selectedDate,
999
3837
  timezone: "UTC"
1000
3838
  });
1001
- const filteredDateOptions = (0, import_react7.useMemo)(() => {
3839
+ const filteredDateOptions = (0, import_react8.useMemo)(() => {
1002
3840
  if (isLoadingDates || availableDates.size === 0) {
1003
3841
  return [];
1004
3842
  }
@@ -1047,7 +3885,7 @@ function DateTimeSelectionStep({
1047
3885
  }
1048
3886
 
1049
3887
  // ../blocks/src/system/runtime/components/multi-step/DynamicFormFields.tsx
1050
- var import_react8 = require("react");
3888
+ var import_react9 = require("react");
1051
3889
  var import_jsx_runtime8 = require("react/jsx-runtime");
1052
3890
  function DynamicFormFields({
1053
3891
  fields,
@@ -1055,17 +3893,17 @@ function DynamicFormFields({
1055
3893
  className = ""
1056
3894
  }) {
1057
3895
  const { data, updateData } = useMultiStepData();
1058
- const [touched, setTouched] = (0, import_react8.useState)({});
1059
- const handleChange = (0, import_react8.useCallback)(
3896
+ const [touched, setTouched] = (0, import_react9.useState)({});
3897
+ const handleChange = (0, import_react9.useCallback)(
1060
3898
  (fieldId, value) => {
1061
3899
  updateData({ [fieldId]: value });
1062
3900
  },
1063
3901
  [updateData]
1064
3902
  );
1065
- const handleBlur = (0, import_react8.useCallback)((fieldId) => {
3903
+ const handleBlur = (0, import_react9.useCallback)((fieldId) => {
1066
3904
  setTouched((prev) => ({ ...prev, [fieldId]: true }));
1067
3905
  }, []);
1068
- const getFieldError = (0, import_react8.useCallback)(
3906
+ const getFieldError = (0, import_react9.useCallback)(
1069
3907
  (field) => {
1070
3908
  const value = data[field.id];
1071
3909
  const isTouched = touched[field.id];
@@ -1363,7 +4201,7 @@ function FieldInput({
1363
4201
 
1364
4202
  // ../blocks/src/system/runtime/hooks/useBookingSteps.ts
1365
4203
  function useBookingSteps(siteId, formConfig, services) {
1366
- return (0, import_react9.useMemo)(() => {
4204
+ return (0, import_react10.useMemo)(() => {
1367
4205
  if (!formConfig) return [];
1368
4206
  const stepsArray = [];
1369
4207
  const effectiveServiceId = formConfig.settings?.serviceId || (services.length === 1 ? services[0]?.id : void 0);
@@ -1372,7 +4210,7 @@ function useBookingSteps(siteId, formConfig, services) {
1372
4210
  stepsArray.push({
1373
4211
  id: "service-selection",
1374
4212
  title: "Select Service",
1375
- component: import_react9.default.createElement(ServiceSelectionStep, { siteId, services }),
4213
+ component: import_react10.default.createElement(ServiceSelectionStep, { siteId, services }),
1376
4214
  condition: () => needsServiceSelection,
1377
4215
  validate: (data) => {
1378
4216
  if (!data.serviceId) {
@@ -1386,7 +4224,7 @@ function useBookingSteps(siteId, formConfig, services) {
1386
4224
  stepsArray.push({
1387
4225
  id: "datetime-selection",
1388
4226
  title: "Select Date & Time",
1389
- component: import_react9.default.createElement(DateTimeSelectionStep, {
4227
+ component: import_react10.default.createElement(DateTimeSelectionStep, {
1390
4228
  siteId,
1391
4229
  preSelectedServiceId: effectiveServiceId,
1392
4230
  preSelectedResourceId: formConfig.settings?.resourceId,
@@ -1403,7 +4241,7 @@ function useBookingSteps(siteId, formConfig, services) {
1403
4241
  stepsArray.push({
1404
4242
  id: "custom-fields",
1405
4243
  title: "Your Information",
1406
- component: import_react9.default.createElement(DynamicFormFields, { fields: formConfig.schema.fields }),
4244
+ component: import_react10.default.createElement(DynamicFormFields, { fields: formConfig.schema.fields }),
1407
4245
  validate: (data) => {
1408
4246
  const errors = {};
1409
4247
  for (const field of formConfig.schema.fields) {
@@ -1423,11 +4261,11 @@ function useBookingSteps(siteId, formConfig, services) {
1423
4261
  }
1424
4262
 
1425
4263
  // ../blocks/src/system/runtime/hooks/useBookingSubmission.ts
1426
- var import_react10 = require("react");
4264
+ var import_react11 = require("react");
1427
4265
  function useBookingSubmission(_siteId) {
1428
- const [isSubmitting, setIsSubmitting] = (0, import_react10.useState)(false);
1429
- const [error, setError] = (0, import_react10.useState)(null);
1430
- const [isSuccess, setIsSuccess] = (0, import_react10.useState)(false);
4266
+ const [isSubmitting, setIsSubmitting] = (0, import_react11.useState)(false);
4267
+ const [error, setError] = (0, import_react11.useState)(null);
4268
+ const [isSuccess, setIsSuccess] = (0, import_react11.useState)(false);
1431
4269
  const submit = async (data) => {
1432
4270
  setIsSubmitting(true);
1433
4271
  setError(null);
@@ -1445,7 +4283,8 @@ function useBookingSubmission(_siteId) {
1445
4283
  startAt: data.startAt,
1446
4284
  endAt: data.endAt,
1447
4285
  customFields: data.customFields,
1448
- timezone: data.timezone
4286
+ timezone: data.timezone,
4287
+ altchaSolution: data.altchaSolution ?? null
1449
4288
  })
1450
4289
  });
1451
4290
  if (!response.ok) {
@@ -1470,11 +4309,14 @@ var BookingFormClient = ({
1470
4309
  formId,
1471
4310
  className,
1472
4311
  form,
1473
- services = []
4312
+ services = [],
4313
+ spamProtectionEnabled
1474
4314
  }) => {
1475
- const [isSuccess, setIsSuccess] = (0, import_react11.useState)(false);
4315
+ const [isSuccess, setIsSuccess] = (0, import_react12.useState)(false);
4316
+ const [altchaSolution, setAltchaSolution] = (0, import_react12.useState)(null);
4317
+ const showSpamProtection = spamProtectionEnabled ?? isSpamProtectionEnabled();
1476
4318
  const siteId = siteIdProp || form?.siteId || "";
1477
- import_react11.default.useEffect(() => {
4319
+ import_react12.default.useEffect(() => {
1478
4320
  if (!siteId) {
1479
4321
  console.error("[BookingFormClient] ERROR: siteId is missing!");
1480
4322
  }
@@ -1497,7 +4339,7 @@ var BookingFormClient = ({
1497
4339
  settings: form.settingsJson,
1498
4340
  schema: form.schemaJson
1499
4341
  } : null;
1500
- const normalizedServices = import_react11.default.useMemo(() => {
4342
+ const normalizedServices = import_react12.default.useMemo(() => {
1501
4343
  if (Array.isArray(services)) {
1502
4344
  return services;
1503
4345
  }
@@ -1551,8 +4393,9 @@ var BookingFormClient = ({
1551
4393
  startAt: data.selectedSlot,
1552
4394
  endAt: endDate.toISOString(),
1553
4395
  customFields,
1554
- timezone: "UTC"
4396
+ timezone: "UTC",
1555
4397
  // TODO: Get from resource or user preference
4398
+ altchaSolution
1556
4399
  });
1557
4400
  setIsSuccess(true);
1558
4401
  } catch (err) {
@@ -1564,31 +4407,40 @@ var BookingFormClient = ({
1564
4407
  const successMessage = formConfig?.settings?.successMessage || "Your appointment has been booked! Check your email for confirmation.";
1565
4408
  return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(SuccessMessage, { message: successMessage, className });
1566
4409
  }
1567
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1568
- MultiStepForm,
1569
- {
1570
- steps,
1571
- initialData: {
1572
- serviceId: formConfig?.settings?.serviceId,
1573
- resourceId: formConfig?.settings?.resourceId
1574
- },
1575
- onComplete: handleComplete,
1576
- progressStyle: "steps",
1577
- persistToUrl: false,
1578
- allowSkip: false
1579
- }
1580
- ) });
4410
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className, children: [
4411
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
4412
+ MultiStepForm,
4413
+ {
4414
+ steps,
4415
+ initialData: {
4416
+ serviceId: formConfig?.settings?.serviceId,
4417
+ resourceId: formConfig?.settings?.resourceId
4418
+ },
4419
+ onComplete: handleComplete,
4420
+ progressStyle: "steps",
4421
+ persistToUrl: false,
4422
+ allowSkip: false
4423
+ }
4424
+ ),
4425
+ showSpamProtection && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "mt-4", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
4426
+ AltchaWidget,
4427
+ {
4428
+ challengeUrl: getChallengeUrl(),
4429
+ onSolutionChange: setAltchaSolution
4430
+ }
4431
+ ) })
4432
+ ] });
1581
4433
  };
1582
4434
 
1583
4435
  // ../blocks/src/system/runtime/hooks/useBookingFormConfig.ts
1584
- var import_react12 = require("react");
4436
+ var import_react13 = require("react");
1585
4437
  var UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
1586
4438
  function useBookingFormConfig(siteId, formId) {
1587
- const [formConfig, setFormConfig] = (0, import_react12.useState)(null);
1588
- const [services, setServices] = (0, import_react12.useState)([]);
1589
- const [isLoading, setIsLoading] = (0, import_react12.useState)(true);
1590
- const [error, setError] = (0, import_react12.useState)(null);
1591
- (0, import_react12.useEffect)(() => {
4439
+ const [formConfig, setFormConfig] = (0, import_react13.useState)(null);
4440
+ const [services, setServices] = (0, import_react13.useState)([]);
4441
+ const [isLoading, setIsLoading] = (0, import_react13.useState)(true);
4442
+ const [error, setError] = (0, import_react13.useState)(null);
4443
+ (0, import_react13.useEffect)(() => {
1592
4444
  let mounted = true;
1593
4445
  async function loadFormAndServices() {
1594
4446
  try {