@getmicdrop/venue-calendar 4.3.13 → 4.3.15

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 (31) hide show
  1. package/dist/{CalendarFoundryView-SSWhFFtK.js → CalendarFoundryView-8W0A4tl0.js} +2566 -2538
  2. package/dist/CropImage-BOT2Fojj.js +547 -0
  3. package/dist/venue-calendar.es.js +2 -2
  4. package/dist/venue-calendar.iife.js +25 -25
  5. package/dist/venue-calendar.umd.js +53 -53
  6. package/package.json +220 -220
  7. package/dist/CropImage-4WcoXkHt.js +0 -537
  8. /package/dist/locales/{4.3.13 → 4.3.15}/flow/de.js +0 -0
  9. /package/dist/locales/{4.3.13 → 4.3.15}/flow/es.js +0 -0
  10. /package/dist/locales/{4.3.13 → 4.3.15}/flow/fr.js +0 -0
  11. /package/dist/locales/{4.3.13 → 4.3.15}/flow/id.js +0 -0
  12. /package/dist/locales/{4.3.13 → 4.3.15}/flow/it.js +0 -0
  13. /package/dist/locales/{4.3.13 → 4.3.15}/flow/ja.js +0 -0
  14. /package/dist/locales/{4.3.13 → 4.3.15}/flow/ko.js +0 -0
  15. /package/dist/locales/{4.3.13 → 4.3.15}/flow/nl.js +0 -0
  16. /package/dist/locales/{4.3.13 → 4.3.15}/flow/pl.js +0 -0
  17. /package/dist/locales/{4.3.13 → 4.3.15}/flow/pt-br.js +0 -0
  18. /package/dist/locales/{4.3.13 → 4.3.15}/flow/tr.js +0 -0
  19. /package/dist/locales/{4.3.13 → 4.3.15}/flow/zh.js +0 -0
  20. /package/dist/locales/{4.3.13 → 4.3.15}/main/de.js +0 -0
  21. /package/dist/locales/{4.3.13 → 4.3.15}/main/es.js +0 -0
  22. /package/dist/locales/{4.3.13 → 4.3.15}/main/fr.js +0 -0
  23. /package/dist/locales/{4.3.13 → 4.3.15}/main/id.js +0 -0
  24. /package/dist/locales/{4.3.13 → 4.3.15}/main/it.js +0 -0
  25. /package/dist/locales/{4.3.13 → 4.3.15}/main/ja.js +0 -0
  26. /package/dist/locales/{4.3.13 → 4.3.15}/main/ko.js +0 -0
  27. /package/dist/locales/{4.3.13 → 4.3.15}/main/nl.js +0 -0
  28. /package/dist/locales/{4.3.13 → 4.3.15}/main/pl.js +0 -0
  29. /package/dist/locales/{4.3.13 → 4.3.15}/main/pt-br.js +0 -0
  30. /package/dist/locales/{4.3.13 → 4.3.15}/main/tr.js +0 -0
  31. /package/dist/locales/{4.3.13 → 4.3.15}/main/zh.js +0 -0
@@ -0,0 +1,547 @@
1
+ import { A as e, C as t, E as n, O as r, T as i, t as a } from "./Button-vmWb6wKc.js";
2
+ import { t as o } from "./CloseOutline-qpVa62mu.js";
3
+ import { a as s, i as c, o as l, r as u, t as d } from "./imageOptimizer-Ba8P7ZEJ.js";
4
+ import { t as f } from "./LiveRegion-D9Me4kBs.js";
5
+ import { a as p, i as m, n as h, o as g, r as _, t as v } from "./ModalFooter-CSoG_uic.js";
6
+ import { t as y } from "./ModalHeader-DpKxDJT_.js";
7
+ import "svelte/internal/disclose-version";
8
+ import * as b from "svelte/internal/client";
9
+ import { MediaQuery as x } from "svelte/reactivity";
10
+ import { onDestroy as S, onMount as ee } from "svelte";
11
+ //#region node_modules/@getmicdrop/svelte-components/dist/primitives/Icons/MinusOutline.svelte
12
+ var C = b.from_svg("<svg aria-hidden=\"true\" fill=\"none\" stroke-width=\"2\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 12h-15\"></path></svg>");
13
+ function w(e, t) {
14
+ let n = b.prop(t, "size", 3, "24"), r = b.prop(t, "color", 3, "currentColor"), i = b.prop(t, "class", 3, "");
15
+ var a = C();
16
+ b.template_effect(() => {
17
+ b.set_class(a, 0, b.clsx(i())), b.set_attribute(a, "width", n()), b.set_attribute(a, "height", n()), b.set_attribute(a, "stroke", r());
18
+ }), b.append(e, a);
19
+ }
20
+ //#endregion
21
+ //#region node_modules/@getmicdrop/svelte-components/dist/primitives/Modal/ModalClose.svelte
22
+ function T(t, n) {
23
+ b.push(n, !0);
24
+ let i = { close: "Close" }, s = b.prop(n, "disabled", 3, !1), c = b.prop(n, "labels", 19, () => ({})), l = g(), u = b.derived(() => r(i, c()));
25
+ {
26
+ let r = b.derived(() => e(n.class));
27
+ a(t, {
28
+ variant: "icon",
29
+ size: "xs",
30
+ get disabled() {
31
+ return s();
32
+ },
33
+ get class() {
34
+ return b.get(r);
35
+ },
36
+ get "aria-label"() {
37
+ return b.get(u).close;
38
+ },
39
+ onclick: () => l.resetModal(),
40
+ children: (e, t) => {
41
+ o(e, { class: "w-3 h-3" });
42
+ },
43
+ $$slots: { default: !0 }
44
+ });
45
+ }
46
+ b.pop();
47
+ }
48
+ //#endregion
49
+ //#region node_modules/svelte-easy-crop/dist/helpers.js
50
+ function E(e, t, n) {
51
+ return e >= t * n ? {
52
+ width: t * n,
53
+ height: t
54
+ } : {
55
+ width: e,
56
+ height: e / n
57
+ };
58
+ }
59
+ function D(e, t, n, r) {
60
+ return {
61
+ x: O(e.x, t.width, n.width, r),
62
+ y: O(e.y, t.height, n.height, r)
63
+ };
64
+ }
65
+ function O(e, t, n, r) {
66
+ let i = Math.abs(t * r / 2 - n / 2);
67
+ return Math.min(i, Math.max(e, -i));
68
+ }
69
+ function k(e, t) {
70
+ return Math.sqrt((e.y - t.y) ** 2 + (e.x - t.x) ** 2);
71
+ }
72
+ function A(e, t, n, r, i, a = !0) {
73
+ let o = a ? j : M, s = {
74
+ x: o(100, ((t.width - n.width / i) / 2 - e.x / i) / t.width * 100),
75
+ y: o(100, ((t.height - n.height / i) / 2 - e.y / i) / t.height * 100),
76
+ width: o(100, n.width / t.width * 100 / i),
77
+ height: o(100, n.height / t.height * 100 / i)
78
+ }, c = o(t.naturalWidth, s.width * t.naturalWidth / 100, !0), l = o(t.naturalHeight, s.height * t.naturalHeight / 100, !0), u = t.naturalWidth >= t.naturalHeight * r ? {
79
+ width: Math.round(l * r),
80
+ height: l
81
+ } : {
82
+ width: c,
83
+ height: Math.round(c / r)
84
+ };
85
+ return {
86
+ croppedAreaPercentages: s,
87
+ croppedAreaPixels: {
88
+ ...u,
89
+ x: o(t.naturalWidth - u.width, s.x * t.naturalWidth / 100, !0),
90
+ y: o(t.naturalHeight - u.height, s.y * t.naturalHeight / 100, !0)
91
+ }
92
+ };
93
+ }
94
+ function j(e, t, n = !1) {
95
+ return Math.min(e, Math.max(0, n ? Math.round(t) : t));
96
+ }
97
+ function M(e, t) {
98
+ return t;
99
+ }
100
+ function N(e, t) {
101
+ return {
102
+ x: (t.x + e.x) / 2,
103
+ y: (t.y + e.y) / 2
104
+ };
105
+ }
106
+ //#endregion
107
+ //#region node_modules/svelte-easy-crop/dist/Cropper.svelte
108
+ var P = b.from_html("<div data-testid=\"cropper\"></div>"), F = b.from_html("<div class=\"svelte-easy-crop-container svelte-1yetlj5\" role=\"button\" data-testid=\"container\"><img class=\"svelte-easy-crop-image svelte-1yetlj5\" alt=\"\"/> <!></div>");
109
+ function I(e, t) {
110
+ b.push(t, !0);
111
+ let n = b.prop(t, "crop", 31, () => b.proxy({
112
+ x: 0,
113
+ y: 0
114
+ })), r = b.prop(t, "zoom", 15, 1), i = b.prop(t, "minZoom", 11, 1), a = b.prop(t, "maxZoom", 11, 3), o = b.prop(t, "aspect", 3, 4 / 3), s = b.prop(t, "cropSize", 3, null), c = b.prop(t, "cropShape", 3, "rect"), l = b.prop(t, "showGrid", 3, !0), u = b.prop(t, "zoomSpeed", 3, 1), d = b.prop(t, "crossOrigin", 3, null), f = b.prop(t, "restrictPosition", 3, !0), p = b.prop(t, "tabindex", 3, void 0), m = b.state(null), h = b.state(b.proxy({
115
+ width: 0,
116
+ height: 0,
117
+ naturalWidth: 0,
118
+ naturalHeight: 0
119
+ })), g = b.state(null), _ = b.state(null), v = b.state(null), y = b.state(b.proxy({
120
+ x: 0,
121
+ y: 0
122
+ })), x = b.state(b.proxy({
123
+ x: 0,
124
+ y: 0
125
+ })), C = b.state(0), w = b.state(null), T = b.state(null);
126
+ ee(() => {
127
+ b.get(v) && b.get(v).complete && M(), b.get(g) && (b.get(g).addEventListener("gesturestart", O), b.get(g).addEventListener("gesturechange", O));
128
+ }), S(() => {
129
+ b.get(g) && (b.get(g).removeEventListener("gesturestart", O), b.get(g).removeEventListener("gesturechange", O)), j();
130
+ });
131
+ let O = (e) => e.preventDefault(), j = () => {
132
+ typeof document < "u" && (document.removeEventListener("mousemove", V), document.removeEventListener("mouseup", G), document.removeEventListener("touchmove", te), document.removeEventListener("touchend", G));
133
+ }, M = () => {
134
+ L(), Z();
135
+ }, I = () => s() ? s().width / s().height : o(), L = () => {
136
+ b.get(v) && (b.set(h, {
137
+ width: b.get(v).width,
138
+ height: b.get(v).height,
139
+ naturalWidth: b.get(v).naturalWidth,
140
+ naturalHeight: b.get(v).naturalHeight
141
+ }, !0), b.set(m, s() ? s() : E(b.get(v).width, b.get(v).height, o()), !0)), b.get(g) && b.set(_, b.get(g).getBoundingClientRect(), !0);
142
+ }, R = (e) => ({
143
+ x: Number(e.clientX),
144
+ y: Number(e.clientY)
145
+ }), z = (e) => ({
146
+ x: Number(e.clientX),
147
+ y: Number(e.clientY)
148
+ }), B = (e) => {
149
+ e.preventDefault(), document.addEventListener("mousemove", V), document.addEventListener("mouseup", G), U(R(e));
150
+ }, V = (e) => W(R(e)), H = (e) => {
151
+ e.preventDefault(), document.addEventListener("touchmove", te, { passive: !1 }), document.addEventListener("touchend", G), e.touches.length === 2 ? K(e) : e.touches.length === 1 && U(z(e.touches[0]));
152
+ }, te = (e) => {
153
+ e.preventDefault(), e.touches.length === 2 ? q(e) : e.touches.length === 1 && W(z(e.touches[0]));
154
+ }, U = ({ x: e, y: t }) => {
155
+ b.set(y, {
156
+ x: e,
157
+ y: t
158
+ }, !0), b.set(x, {
159
+ x: n().x,
160
+ y: n().y
161
+ }, !0);
162
+ }, W = ({ x: e, y: t }) => {
163
+ b.get(w) && window.cancelAnimationFrame(b.get(w)), b.set(w, window.requestAnimationFrame(() => {
164
+ if (e === void 0 || t === void 0 || !b.get(m)) return;
165
+ let i = e - b.get(y).x, a = t - b.get(y).y, o = {
166
+ x: b.get(x).x + i,
167
+ y: b.get(x).y + a
168
+ };
169
+ n(f() ? D(o, b.get(h), b.get(m), r()) : o);
170
+ }), !0);
171
+ }, G = () => {
172
+ j(), Z();
173
+ }, K = (e) => {
174
+ let t = z(e.touches[0]), n = z(e.touches[1]);
175
+ b.set(C, k(t, n), !0), U(N(t, n));
176
+ }, q = (e) => {
177
+ let t = z(e.touches[0]), n = z(e.touches[1]), i = N(t, n);
178
+ W(i), b.get(T) && window.cancelAnimationFrame(b.get(T)), b.set(T, window.requestAnimationFrame(() => {
179
+ let e = k(t, n), a = r() * (e / b.get(C));
180
+ X(a, i), b.set(C, e, !0);
181
+ }), !0);
182
+ }, J = (e) => {
183
+ e.preventDefault();
184
+ let t = R(e), n = r() - e.deltaY * u() / 200;
185
+ X(n, t);
186
+ }, ne = ({ x: e, y: t }) => {
187
+ if (!b.get(_)) throw Error("The Cropper is not mounted");
188
+ return {
189
+ x: b.get(_).width / 2 - (e - b.get(_).left),
190
+ y: b.get(_).height / 2 - (t - b.get(_).top)
191
+ };
192
+ }, Y = ({ x: e, y: t }) => ({
193
+ x: (e + n().x) / r(),
194
+ y: (t + n().y) / r()
195
+ }), X = (e, t) => {
196
+ if (!b.get(m)) return;
197
+ let o = ne(t), s = Y(o);
198
+ r(Math.min(a(), Math.max(e, i())));
199
+ let c = {
200
+ x: s.x * r() - o.x,
201
+ y: s.y * r() - o.y
202
+ };
203
+ n(f() ? D(c, b.get(h), b.get(m), r()) : c);
204
+ }, Z = () => {
205
+ if (!b.get(m) || b.get(m).width === 0) return;
206
+ let { croppedAreaPercentages: e, croppedAreaPixels: i } = A(f() ? D(n(), b.get(h), b.get(m), r()) : n(), b.get(h), b.get(m), I(), r(), f());
207
+ t.oncropcomplete?.({
208
+ percent: e,
209
+ pixels: i
210
+ });
211
+ };
212
+ b.user_effect(() => {
213
+ b.get(v) && b.set(m, s() ? s() : E(b.get(v).width, b.get(v).height, o()), !0);
214
+ }), b.user_effect(() => {
215
+ r() && Z();
216
+ });
217
+ let re = (e) => {
218
+ b.user_effect(() => (e.addEventListener("touchstart", H), e.addEventListener("mousedown", B), e.addEventListener("wheel", J, { passive: !1 }), () => {
219
+ e.removeEventListener("touchstart", H), e.removeEventListener("mousedown", B), e.removeEventListener("wheel", J);
220
+ }));
221
+ };
222
+ var Q = F();
223
+ b.event("resize", b.window, L);
224
+ var $ = b.child(Q);
225
+ b.bind_this($, (e) => b.set(v, e), () => b.get(v));
226
+ var ie = b.sibling($, 2), ae = (e) => {
227
+ var t = P();
228
+ let n;
229
+ b.template_effect(() => {
230
+ n = b.set_class(t, 1, "svelte-easy-crop-area svelte-1yetlj5", null, n, {
231
+ "svelte-easy-crop-round": c() === "round",
232
+ "svelte-easy-crop-grid": l()
233
+ }), b.set_style(t, `width: ${b.get(m).width ?? ""}px; height: ${b.get(m).height ?? ""}px;`);
234
+ }), b.append(e, t);
235
+ };
236
+ b.if(ie, (e) => {
237
+ b.get(m) && e(ae);
238
+ }), b.reset(Q), b.bind_this(Q, (e) => b.set(g, e), () => b.get(g)), b.action(Q, (e) => re?.(e)), b.template_effect(() => {
239
+ b.set_attribute(Q, "tabindex", p()), b.set_attribute($, "src", t.image), b.set_style($, `transform: translate(${n().x ?? ""}px, ${n().y ?? ""}px) scale(${r() ?? ""});`), b.set_attribute($, "crossorigin", d());
240
+ }), b.event("load", $, M), b.replay_events($), b.append(e, Q), b.pop();
241
+ }
242
+ //#endregion
243
+ //#region node_modules/svelte-easy-crop/dist/index.js
244
+ var L = I, R = b.from_html("<div class=\"absolute inset-0 flex items-center justify-center bg-bg-tertiary z-sticky\"><span> </span></div>"), z = b.from_html("<p> </p>"), B = b.from_html("<div><!> <!></div> <div class=\"flex-1\"><p> </p> <div class=\"flex items-center justify-center gap-3 max-w-xs mx-auto\"><!> <input type=\"range\" min=\"1\" max=\"3\" step=\"0.1\" class=\"flex-1 w-full h-2 bg-bg-tertiary rounded-lg appearance-none cursor-pointer accent-primary\" data-purpose=\"ui-only\"/> <!></div> <!></div>", 1), V = b.from_html("<!> <!>", 1), H = b.from_html("<div class=\"flex gap-3\"><!></div>"), te = b.from_html("<div class=\"flex flex-col gap-4 landscape:flex-row landscape:items-center landscape:gap-6\"><!></div>"), U = b.from_html("<!> <!> <!>", 1);
245
+ function W(e, o) {
246
+ b.push(o, !0);
247
+ let g = (e, n = b.noop) => {
248
+ var r = B(), i = b.first_child(r), o = b.child(i), s = (e) => {
249
+ var n = R(), r = b.child(n), i = b.child(r, !0);
250
+ b.reset(r), b.reset(n), b.template_effect(() => {
251
+ b.set_class(r, 1, b.clsx(t.smMuted)), b.set_text(i, b.get(P).loading);
252
+ }), b.append(e, n);
253
+ };
254
+ b.if(o, (e) => {
255
+ b.get(G) && e(s);
256
+ }), L(b.sibling(o, 2), {
257
+ get image() {
258
+ return O();
259
+ },
260
+ aspect: 1,
261
+ minZoom: 1,
262
+ maxZoom: 3,
263
+ showGrid: !0,
264
+ oncropcomplete: J,
265
+ get crop() {
266
+ return b.get(F);
267
+ },
268
+ set crop(e) {
269
+ b.set(F, e, !0);
270
+ },
271
+ get zoom() {
272
+ return b.get(I);
273
+ },
274
+ set zoom(e) {
275
+ b.set(I, e, !0);
276
+ }
277
+ }), b.reset(i);
278
+ var c = b.sibling(i, 2), u = b.child(c), d = b.child(u, !0);
279
+ b.reset(u);
280
+ var p = b.sibling(u, 2), m = b.child(p);
281
+ a(m, {
282
+ variant: "outline",
283
+ size: "sm",
284
+ class: "rounded-full! w-9! h-9! p-0! shrink-0",
285
+ onclick: () => b.set(I, Math.max(1, b.get(I) - .2), !0),
286
+ get "aria-label"() {
287
+ return b.get(P).zoomOut;
288
+ },
289
+ children: (e, t) => {
290
+ w(e, { class: "w-4 h-4" });
291
+ },
292
+ $$slots: { default: !0 }
293
+ });
294
+ var h = b.sibling(m, 2);
295
+ b.remove_input_defaults(h);
296
+ var g = b.sibling(h, 2);
297
+ a(g, {
298
+ variant: "outline",
299
+ size: "sm",
300
+ class: "rounded-full! w-9! h-9! p-0! shrink-0",
301
+ onclick: () => b.set(I, Math.min(3, b.get(I) + .2), !0),
302
+ get "aria-label"() {
303
+ return b.get(P).zoomIn;
304
+ },
305
+ children: (e, t) => {
306
+ l(e, { class: "w-4 h-4" });
307
+ },
308
+ $$slots: { default: !0 }
309
+ }), b.reset(p);
310
+ var _ = b.sibling(p, 2);
311
+ f(_, {
312
+ role: "alert",
313
+ politeness: "assertive",
314
+ visible: !0,
315
+ children: (e, n) => {
316
+ var r = b.comment(), i = b.first_child(r), a = (e) => {
317
+ var n = z(), r = b.child(n, !0);
318
+ b.reset(n), b.template_effect(() => {
319
+ b.set_class(n, 1, `${t.body} text-accent-danger text-center mt-4`), b.set_text(r, A());
320
+ }), b.append(e, n);
321
+ };
322
+ b.if(i, (e) => {
323
+ A() && e(a);
324
+ }), b.append(e, r);
325
+ },
326
+ $$slots: { default: !0 }
327
+ }), b.reset(c), b.template_effect(() => {
328
+ b.set_class(i, 1, b.clsx(n())), b.set_class(u, 1, `${t.smMuted} text-center mb-4`), b.set_text(d, b.get(P).dragToPosition), b.set_attribute(h, "aria-label", b.get(P).zoomLevel);
329
+ }), b.bind_value(h, () => b.get(I), (e) => b.set(I, e)), b.append(e, r);
330
+ }, S = (e, t = b.noop) => {
331
+ var n = V(), r = b.first_child(n);
332
+ {
333
+ let e = b.derived(() => b.get(K) || k());
334
+ a(r, {
335
+ type: "button",
336
+ variant: "alternative",
337
+ size: "md",
338
+ get class() {
339
+ return t();
340
+ },
341
+ onclick: Y,
342
+ get disabled() {
343
+ return b.get(e);
344
+ },
345
+ children: (e, t) => {
346
+ b.next();
347
+ var n = b.text();
348
+ b.template_effect(() => b.set_text(n, b.get(P).cancel)), b.append(e, n);
349
+ },
350
+ $$slots: { default: !0 }
351
+ });
352
+ }
353
+ var i = b.sibling(r, 2);
354
+ {
355
+ let e = b.derived(() => b.get(G) || b.get(K) || k());
356
+ a(i, {
357
+ type: "button",
358
+ size: "md",
359
+ get class() {
360
+ return t();
361
+ },
362
+ onclick: ne,
363
+ get disabled() {
364
+ return b.get(e);
365
+ },
366
+ children: (e, t) => {
367
+ var n = b.comment(), r = b.first_child(n), i = (e) => {
368
+ var t = b.text();
369
+ b.template_effect(() => b.set_text(t, b.get(P).uploading)), b.append(e, t);
370
+ }, a = (e) => {
371
+ var t = b.text();
372
+ b.template_effect(() => b.set_text(t, b.get(P).save)), b.append(e, t);
373
+ };
374
+ b.if(r, (e) => {
375
+ b.get(K) || k() ? e(i) : e(a, -1);
376
+ }), b.append(e, n);
377
+ },
378
+ $$slots: { default: !0 }
379
+ });
380
+ }
381
+ b.append(e, n);
382
+ }, ee = n("CropImage"), C = new x("(max-width: 767px), (max-height: 500px)", !1), E = {
383
+ cropImageTitle: "Crop image",
384
+ loading: "Loading...",
385
+ dragToPosition: "Drag to position. Pinch or use slider to zoom.",
386
+ cancel: "Cancel",
387
+ uploading: "Uploading...",
388
+ save: "Save",
389
+ closeModal: "Close modal",
390
+ zoomOut: "Zoom out",
391
+ zoomIn: "Zoom in",
392
+ zoomLevel: "Zoom level",
393
+ cropFailed: "Couldn't read that photo. Please try a different one."
394
+ }, D = b.prop(o, "showModal", 15, !1), O = b.prop(o, "imageSrc", 15, ""), k = b.prop(o, "isUploadingImage", 3, !1), A = b.prop(o, "error", 15, ""), j = b.prop(o, "labels", 19, () => ({}));
395
+ o.onSave && !o.onsave && i("CropImage: prop \"onSave\" is deprecated. Use \"onsave\" instead."), o.onCancel && !o.oncancel && i("CropImage: prop \"onCancel\" is deprecated. Use \"oncancel\" instead.");
396
+ let M = b.derived(() => o.onsave ?? o.onSave ?? (() => {})), N = b.derived(() => o.oncancel ?? o.onCancel ?? (() => {})), P = b.derived(() => r(E, j())), F = b.state(b.proxy({
397
+ x: 0,
398
+ y: 0
399
+ })), I = b.state(1), W = b.state(null), G = b.state(!0), K = b.state(!1), q = O();
400
+ b.user_effect(() => {
401
+ D() && O() && (b.set(F, {
402
+ x: 0,
403
+ y: 0
404
+ }, !0), b.set(I, 1), b.set(W, null), b.set(G, !0), b.set(K, !1), O() !== q && (q = O(), A("")));
405
+ });
406
+ function J(e) {
407
+ b.set(W, e.pixels, !0), b.set(G, !1);
408
+ }
409
+ async function ne() {
410
+ if (!(!b.get(W) || b.get(K))) {
411
+ b.set(K, !0), A("");
412
+ try {
413
+ let e = await X(O(), b.get(W));
414
+ b.get(M)(e);
415
+ } catch (e) {
416
+ b.set(K, !1), A(b.get(P).cropFailed), ee.error("Crop failed:", e);
417
+ }
418
+ }
419
+ }
420
+ function Y() {
421
+ D(!1), O(""), b.set(F, {
422
+ x: 0,
423
+ y: 0
424
+ }, !0), b.set(I, 1), b.set(W, null), b.set(K, !1), A(""), b.get(N)();
425
+ }
426
+ async function X(e, t) {
427
+ let n = await d(e), r = document.createElement("canvas"), i = r.getContext("2d"), a = 1e3;
428
+ r.width = a, r.height = a, i.imageSmoothingEnabled = !0, i.imageSmoothingQuality = "high", i.drawImage(n, t.x, t.y, t.width, t.height, 0, 0, a, a);
429
+ let o = u(), s = o ? "image/webp" : "image/jpeg", c = o ? .8 : .85, l = o ? "webp" : "jpg";
430
+ return new Promise((e) => {
431
+ r.toBlob((t) => {
432
+ e(new File([t], `cropped-image.${l}`, { type: s }));
433
+ }, s, c);
434
+ });
435
+ }
436
+ var Z = b.comment(), re = b.first_child(Z), Q = (e) => {
437
+ s(e, {
438
+ get open() {
439
+ return D();
440
+ },
441
+ get title() {
442
+ return b.get(P).cropImageTitle;
443
+ },
444
+ alwaysSheet: !0,
445
+ get "data-testid"() {
446
+ return o["data-testid"];
447
+ },
448
+ onclose: () => {
449
+ !b.get(K) && !k() && Y();
450
+ },
451
+ actions: (e) => {
452
+ var t = H(), n = b.child(t);
453
+ S(n, () => "flex-1"), b.reset(t), b.append(e, t);
454
+ },
455
+ children: (e, t) => {
456
+ var n = te(), r = b.child(n);
457
+ g(r, () => "relative w-full max-w-[50dvh] landscape:max-w-[35dvh] shrink-0 mx-auto aspect-square bg-bg-secondary rounded-lg overflow-hidden"), b.reset(n), b.append(e, n);
458
+ },
459
+ $$slots: {
460
+ actions: !0,
461
+ default: !0
462
+ }
463
+ });
464
+ }, $ = (e) => {
465
+ {
466
+ let n = b.derived(() => b.get(K) || k());
467
+ p(e, {
468
+ get open() {
469
+ return D();
470
+ },
471
+ variant: "dialog",
472
+ get persistent() {
473
+ return b.get(n);
474
+ },
475
+ get "data-testid"() {
476
+ return o["data-testid"];
477
+ },
478
+ oncancel: Y,
479
+ children: (e, n) => {
480
+ var r = V(), i = b.first_child(r);
481
+ m(i, {});
482
+ var a = b.sibling(i, 2);
483
+ _(a, {
484
+ class: "max-w-lg",
485
+ children: (e, n) => {
486
+ var r = U(), i = b.first_child(r);
487
+ y(i, {
488
+ class: "flex items-center justify-between gap-3 border-b border-border pb-4",
489
+ children: (e, n) => {
490
+ var r = V(), i = b.first_child(r);
491
+ c(i, {
492
+ get class() {
493
+ return t.h2;
494
+ },
495
+ children: (e, t) => {
496
+ b.next();
497
+ var n = b.text();
498
+ b.template_effect(() => b.set_text(n, b.get(P).cropImageTitle)), b.append(e, n);
499
+ },
500
+ $$slots: { default: !0 }
501
+ });
502
+ var a = b.sibling(i, 2);
503
+ {
504
+ let e = b.derived(() => b.get(K) || k()), t = b.derived(() => ({ close: b.get(P).closeModal }));
505
+ T(a, {
506
+ get disabled() {
507
+ return b.get(e);
508
+ },
509
+ get labels() {
510
+ return b.get(t);
511
+ }
512
+ });
513
+ }
514
+ b.append(e, r);
515
+ },
516
+ $$slots: { default: !0 }
517
+ });
518
+ var a = b.sibling(i, 2);
519
+ h(a, {
520
+ class: "space-y-4",
521
+ children: (e, t) => {
522
+ g(e, () => "relative w-full aspect-square sm:aspect-[4/3] max-h-80 sm:max-h-96 bg-bg-secondary rounded-lg overflow-hidden");
523
+ },
524
+ $$slots: { default: !0 }
525
+ });
526
+ var o = b.sibling(a, 2);
527
+ v(o, {
528
+ class: "border-t border-border pt-4",
529
+ children: (e, t) => {
530
+ S(e, () => "");
531
+ },
532
+ $$slots: { default: !0 }
533
+ }), b.append(e, r);
534
+ },
535
+ $$slots: { default: !0 }
536
+ }), b.append(e, r);
537
+ },
538
+ $$slots: { default: !0 }
539
+ });
540
+ }
541
+ };
542
+ b.if(re, (e) => {
543
+ C.current ? e(Q) : e($, -1);
544
+ }), b.append(e, Z), b.pop();
545
+ }
546
+ //#endregion
547
+ export { W as default };
@@ -1727,7 +1727,7 @@ function Cr(t, n) {
1727
1727
  Wt({
1728
1728
  widgetId: le(),
1729
1729
  treatmentShare: typeof e == "number" ? e : void 0
1730
- }) === "treatment" && import("./CalendarFoundryView-SSWhFFtK.js").then((e) => {
1730
+ }) === "treatment" && import("./CalendarFoundryView-8W0A4tl0.js").then((e) => {
1731
1731
  K.get(V) && (K.set(st, e.default, !0), K.set(ot, !0));
1732
1732
  }).catch((e) => hr.error("Foundry calendar load failed:", e));
1733
1733
  }
@@ -3221,7 +3221,7 @@ if (typeof window < "u" && typeof HTMLElement < "u") {
3221
3221
  }
3222
3222
  //#endregion
3223
3223
  //#region src/lib/VenueCalendar.js
3224
- var Xr = "4.3.13", Zr = t("VenueCalendar"), Qr = null;
3224
+ var Xr = "4.3.15", Zr = t("VenueCalendar"), Qr = null;
3225
3225
  function $r(e = {}) {
3226
3226
  typeof e.onError == "function" && (Qr = e.onError, oe({ onError: (t) => {
3227
3227
  try {