@instructure/platform-rubrics 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/_internal/RubricAssignment/hooks/useAssignmentRubric.d.ts +1 -0
  2. package/dist/_internal/RubricAssignment/hooks/useAssignmentRubric.d.ts.map +1 -1
  3. package/dist/_internal/RubricAssignment/hooks/useAssignmentRubricState.d.ts +1 -0
  4. package/dist/_internal/RubricAssignment/hooks/useAssignmentRubricState.d.ts.map +1 -1
  5. package/dist/_internal/RubricForm/components/RubricGeneratorNutritionFacts.d.ts.map +1 -0
  6. package/dist/_internal/RubricForm/utils.d.ts +1 -0
  7. package/dist/_internal/RubricForm/utils.d.ts.map +1 -1
  8. package/dist/_internal/ViewRubrics/useRubricsQuery.d.ts.map +1 -1
  9. package/dist/_internal/ViewRubrics/useViewRubrics.d.ts.map +1 -1
  10. package/dist/_internal/constants/i18n.d.ts +14 -0
  11. package/dist/_internal/constants/i18n.d.ts.map +1 -1
  12. package/dist/_internal/utils/i18n.d.ts +14 -0
  13. package/dist/_internal/utils/i18n.d.ts.map +1 -1
  14. package/dist/canvas/RubricForm/components/RubricAssignmentSettings.d.ts.map +1 -1
  15. package/dist/canvas.js +4749 -8505
  16. package/dist/chunks/{errorPage-CYyehhNJ.js → errorPage-B145UIKY.js} +51 -37
  17. package/dist/chunks/useAssignmentRubricState-Cha3tHoC.js +8508 -0
  18. package/dist/foundation/RubricAssignmentBuilder/RubricAssignmentBuilder.d.ts +28 -0
  19. package/dist/foundation/RubricAssignmentBuilder/RubricAssignmentBuilder.d.ts.map +1 -0
  20. package/dist/foundation/RubricBuilder/RubricBuilder.d.ts +2 -2
  21. package/dist/foundation/RubricBuilder/RubricBuilder.d.ts.map +1 -1
  22. package/dist/foundation/RubricBuilder/components/AssignmentSettings.d.ts +8 -0
  23. package/dist/foundation/RubricBuilder/components/AssignmentSettings.d.ts.map +1 -0
  24. package/dist/foundation/RubricBuilder/components/CriteriaSection.d.ts +3 -1
  25. package/dist/foundation/RubricBuilder/components/CriteriaSection.d.ts.map +1 -1
  26. package/dist/foundation/RubricBuilder/components/RubricDetailsCard.d.ts +4 -1
  27. package/dist/foundation/RubricBuilder/components/RubricDetailsCard.d.ts.map +1 -1
  28. package/dist/foundation/RubricBuilder/components/generator/GenerateCriteriaForm.d.ts +14 -0
  29. package/dist/foundation/RubricBuilder/components/generator/GenerateCriteriaForm.d.ts.map +1 -0
  30. package/dist/foundation/RubricBuilder/components/generator/GeneratedCriteriaFeedback.d.ts +8 -0
  31. package/dist/foundation/RubricBuilder/components/generator/GeneratedCriteriaFeedback.d.ts.map +1 -0
  32. package/dist/foundation/RubricBuilder/components/generator/GeneratedCriteriaSummary.d.ts +11 -0
  33. package/dist/foundation/RubricBuilder/components/generator/GeneratedCriteriaSummary.d.ts.map +1 -0
  34. package/dist/foundation/RubricBuilder/components/generator/RegenerateCriteriaModal.d.ts +7 -0
  35. package/dist/foundation/RubricBuilder/components/generator/RegenerateCriteriaModal.d.ts.map +1 -0
  36. package/dist/foundation/RubricBuilder/components/generator/RubricGeneratorPanel.d.ts +9 -0
  37. package/dist/foundation/RubricBuilder/components/generator/RubricGeneratorPanel.d.ts.map +1 -0
  38. package/dist/foundation/RubricBuilder/components/generator/RubricGeneratorStatus.d.ts +9 -0
  39. package/dist/foundation/RubricBuilder/components/generator/RubricGeneratorStatus.d.ts.map +1 -0
  40. package/dist/foundation/RubricBuilder/useCriteriaGenerator.d.ts +44 -0
  41. package/dist/foundation/RubricBuilder/useCriteriaGenerator.d.ts.map +1 -0
  42. package/dist/foundation/index.d.ts +2 -0
  43. package/dist/foundation/index.d.ts.map +1 -1
  44. package/dist/foundation.js +1187 -535
  45. package/dist/index.js +1 -1
  46. package/locales/en.json +14 -0
  47. package/package.json +2 -2
  48. package/dist/canvas/RubricForm/components/AIGeneratedCriteria/RubricGeneratorNutritionFacts.d.ts.map +0 -1
  49. package/dist/chunks/ErrorShip-DnpTf4ze.js +0 -4722
  50. /package/dist/{canvas/RubricForm/components/AIGeneratedCriteria → _internal/RubricForm/components}/RubricGeneratorNutritionFacts.d.ts +0 -0
@@ -1,4722 +0,0 @@
1
- import q, { useRef as G, useCallback as M, useState as U, useMemo as J, useEffect as S, useLayoutEffect as Cn, createContext as ot, memo as bn, useReducer as mn, useContext as Ke } from "react";
2
- import { useQuery as KA, useQueryClient as Bn, useMutation as wn } from "@tanstack/react-query";
3
- import { usePlatformUi as yn } from "@instructure/platform-provider";
4
- import { u as wt } from "./errorPage-CYyehhNJ.js";
5
- import Oe from "graphql-tag";
6
- import { z as f } from "zod";
7
- import { canvasFetch as yt } from "@instructure/platform-canvas-fetch";
8
- import { unstable_batchedUpdates as dt, createPortal as Dn } from "react-dom";
9
- var vn = 20, En = 1, Se = 1e6, lA = 1e6, Rn = -7, Qn = 21, Fn = !1, it = "[big.js] ", Ge = it + "Invalid ", Dt = Ge + "decimal places", Kn = Ge + "rounding mode", SA = it + "Division by zero", Y = {}, ge = void 0, Sn = /^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;
10
- function GA() {
11
- function e(t) {
12
- var A = this;
13
- if (!(A instanceof e)) return t === ge ? GA() : new e(t);
14
- if (t instanceof e)
15
- A.s = t.s, A.e = t.e, A.c = t.c.slice();
16
- else {
17
- if (typeof t != "string") {
18
- if (e.strict === !0 && typeof t != "bigint")
19
- throw TypeError(Ge + "value");
20
- t = t === 0 && 1 / t < 0 ? "-0" : String(t);
21
- }
22
- Gn(A, t);
23
- }
24
- A.constructor = e;
25
- }
26
- return e.prototype = Y, e.DP = vn, e.RM = En, e.NE = Rn, e.PE = Qn, e.strict = Fn, e.roundDown = 0, e.roundHalfUp = 1, e.roundHalfEven = 2, e.roundUp = 3, e;
27
- }
28
- function Gn(e, t) {
29
- var A, n, r;
30
- if (!Sn.test(t))
31
- throw Error(Ge + "number");
32
- for (e.s = t.charAt(0) == "-" ? (t = t.slice(1), -1) : 1, (A = t.indexOf(".")) > -1 && (t = t.replace(".", "")), (n = t.search(/e/i)) > 0 ? (A < 0 && (A = n), A += +t.slice(n + 1), t = t.substring(0, n)) : A < 0 && (A = t.length), r = t.length, n = 0; n < r && t.charAt(n) == "0"; ) ++n;
33
- if (n == r)
34
- e.c = [e.e = 0];
35
- else {
36
- for (; r > 0 && t.charAt(--r) == "0"; ) ;
37
- for (e.e = A - n - 1, e.c = [], A = 0; n <= r; ) e.c[A++] = +t.charAt(n++);
38
- }
39
- return e;
40
- }
41
- function Ye(e, t, A, n) {
42
- var r = e.c;
43
- if (A === ge && (A = e.constructor.RM), A !== 0 && A !== 1 && A !== 2 && A !== 3)
44
- throw Error(Kn);
45
- if (t < 1)
46
- n = A === 3 && (n || !!r[0]) || t === 0 && (A === 1 && r[0] >= 5 || A === 2 && (r[0] > 5 || r[0] === 5 && (n || r[1] !== ge))), r.length = 1, n ? (e.e = e.e - t + 1, r[0] = 1) : r[0] = e.e = 0;
47
- else if (t < r.length) {
48
- if (n = A === 1 && r[t] >= 5 || A === 2 && (r[t] > 5 || r[t] === 5 && (n || r[t + 1] !== ge || r[t - 1] & 1)) || A === 3 && (n || !!r[0]), r.length = t, n) {
49
- for (; ++r[--t] > 9; )
50
- if (r[t] = 0, t === 0) {
51
- ++e.e, r.unshift(1);
52
- break;
53
- }
54
- }
55
- for (t = r.length; !r[--t]; ) r.pop();
56
- }
57
- return e;
58
- }
59
- function We(e, t, A) {
60
- var n = e.e, r = e.c.join(""), o = r.length;
61
- if (t)
62
- r = r.charAt(0) + (o > 1 ? "." + r.slice(1) : "") + (n < 0 ? "e" : "e+") + n;
63
- else if (n < 0) {
64
- for (; ++n; ) r = "0" + r;
65
- r = "0." + r;
66
- } else if (n > 0)
67
- if (++n > o)
68
- for (n -= o; n--; ) r += "0";
69
- else n < o && (r = r.slice(0, n) + "." + r.slice(n));
70
- else o > 1 && (r = r.charAt(0) + "." + r.slice(1));
71
- return e.s < 0 && A ? "-" + r : r;
72
- }
73
- Y.abs = function() {
74
- var e = new this.constructor(this);
75
- return e.s = 1, e;
76
- };
77
- Y.cmp = function(e) {
78
- var t, A = this, n = A.c, r = (e = new A.constructor(e)).c, o = A.s, s = e.s, i = A.e, c = e.e;
79
- if (!n[0] || !r[0]) return n[0] ? o : r[0] ? -s : 0;
80
- if (o != s) return o;
81
- if (t = o < 0, i != c) return i > c ^ t ? 1 : -1;
82
- for (s = (i = n.length) < (c = r.length) ? i : c, o = -1; ++o < s; )
83
- if (n[o] != r[o]) return n[o] > r[o] ^ t ? 1 : -1;
84
- return i == c ? 0 : i > c ^ t ? 1 : -1;
85
- };
86
- Y.div = function(e) {
87
- var t = this, A = t.constructor, n = t.c, r = (e = new A(e)).c, o = t.s == e.s ? 1 : -1, s = A.DP;
88
- if (s !== ~~s || s < 0 || s > Se)
89
- throw Error(Dt);
90
- if (!r[0])
91
- throw Error(SA);
92
- if (!n[0])
93
- return e.s = o, e.c = [e.e = 0], e;
94
- var i, c, a, u, l, g = r.slice(), d = i = r.length, p = n.length, h = n.slice(0, i), I = h.length, b = e, m = b.c = [], C = 0, B = s + (b.e = t.e - e.e) + 1;
95
- for (b.s = o, o = B < 0 ? 0 : B, g.unshift(0); I++ < i; ) h.push(0);
96
- do {
97
- for (a = 0; a < 10; a++) {
98
- if (i != (I = h.length))
99
- u = i > I ? 1 : -1;
100
- else
101
- for (l = -1, u = 0; ++l < i; )
102
- if (r[l] != h[l]) {
103
- u = r[l] > h[l] ? 1 : -1;
104
- break;
105
- }
106
- if (u < 0) {
107
- for (c = I == i ? r : g; I; ) {
108
- if (h[--I] < c[I]) {
109
- for (l = I; l && !h[--l]; ) h[l] = 9;
110
- --h[l], h[I] += 10;
111
- }
112
- h[I] -= c[I];
113
- }
114
- for (; !h[0]; ) h.shift();
115
- } else
116
- break;
117
- }
118
- m[C++] = u ? a : ++a, h[0] && u ? h[I] = n[d] || 0 : h = [n[d]];
119
- } while ((d++ < p || h[0] !== ge) && o--);
120
- return !m[0] && C != 1 && (m.shift(), b.e--, B--), C > B && Ye(b, B, A.RM, h[0] !== ge), b;
121
- };
122
- Y.eq = function(e) {
123
- return this.cmp(e) === 0;
124
- };
125
- Y.gt = function(e) {
126
- return this.cmp(e) > 0;
127
- };
128
- Y.gte = function(e) {
129
- return this.cmp(e) > -1;
130
- };
131
- Y.lt = function(e) {
132
- return this.cmp(e) < 0;
133
- };
134
- Y.lte = function(e) {
135
- return this.cmp(e) < 1;
136
- };
137
- Y.minus = Y.sub = function(e) {
138
- var t, A, n, r, o = this, s = o.constructor, i = o.s, c = (e = new s(e)).s;
139
- if (i != c)
140
- return e.s = -c, o.plus(e);
141
- var a = o.c.slice(), u = o.e, l = e.c, g = e.e;
142
- if (!a[0] || !l[0])
143
- return l[0] ? e.s = -c : a[0] ? e = new s(o) : e.s = 1, e;
144
- if (i = u - g) {
145
- for ((r = i < 0) ? (i = -i, n = a) : (g = u, n = l), n.reverse(), c = i; c--; ) n.push(0);
146
- n.reverse();
147
- } else
148
- for (A = ((r = a.length < l.length) ? a : l).length, i = c = 0; c < A; c++)
149
- if (a[c] != l[c]) {
150
- r = a[c] < l[c];
151
- break;
152
- }
153
- if (r && (n = a, a = l, l = n, e.s = -e.s), (c = (A = l.length) - (t = a.length)) > 0) for (; c--; ) a[t++] = 0;
154
- for (c = t; A > i; ) {
155
- if (a[--A] < l[A]) {
156
- for (t = A; t && !a[--t]; ) a[t] = 9;
157
- --a[t], a[A] += 10;
158
- }
159
- a[A] -= l[A];
160
- }
161
- for (; a[--c] === 0; ) a.pop();
162
- for (; a[0] === 0; )
163
- a.shift(), --g;
164
- return a[0] || (e.s = 1, a = [g = 0]), e.c = a, e.e = g, e;
165
- };
166
- Y.mod = function(e) {
167
- var t, A = this, n = A.constructor, r = A.s, o = (e = new n(e)).s;
168
- if (!e.c[0])
169
- throw Error(SA);
170
- return A.s = e.s = 1, t = e.cmp(A) == 1, A.s = r, e.s = o, t ? new n(A) : (r = n.DP, o = n.RM, n.DP = n.RM = 0, A = A.div(e), n.DP = r, n.RM = o, this.minus(A.times(e)));
171
- };
172
- Y.neg = function() {
173
- var e = new this.constructor(this);
174
- return e.s = -e.s, e;
175
- };
176
- Y.plus = Y.add = function(e) {
177
- var t, A, n, r = this, o = r.constructor;
178
- if (e = new o(e), r.s != e.s)
179
- return e.s = -e.s, r.minus(e);
180
- var s = r.e, i = r.c, c = e.e, a = e.c;
181
- if (!i[0] || !a[0])
182
- return a[0] || (i[0] ? e = new o(r) : e.s = r.s), e;
183
- if (i = i.slice(), t = s - c) {
184
- for (t > 0 ? (c = s, n = a) : (t = -t, n = i), n.reverse(); t--; ) n.push(0);
185
- n.reverse();
186
- }
187
- for (i.length - a.length < 0 && (n = a, a = i, i = n), t = a.length, A = 0; t; i[t] %= 10) A = (i[--t] = i[t] + a[t] + A) / 10 | 0;
188
- for (A && (i.unshift(A), ++c), t = i.length; i[--t] === 0; ) i.pop();
189
- return e.c = i, e.e = c, e;
190
- };
191
- Y.pow = function(e) {
192
- var t = this, A = new t.constructor("1"), n = A, r = e < 0;
193
- if (e !== ~~e || e < -lA || e > lA)
194
- throw Error(Ge + "exponent");
195
- for (r && (e = -e); e & 1 && (n = n.times(t)), e >>= 1, !!e; )
196
- t = t.times(t);
197
- return r ? A.div(n) : n;
198
- };
199
- Y.prec = function(e, t) {
200
- if (e !== ~~e || e < 1 || e > Se)
201
- throw Error(Ge + "precision");
202
- return Ye(new this.constructor(this), e, t);
203
- };
204
- Y.round = function(e, t) {
205
- if (e === ge) e = 0;
206
- else if (e !== ~~e || e < -Se || e > Se)
207
- throw Error(Dt);
208
- return Ye(new this.constructor(this), e + this.e + 1, t);
209
- };
210
- Y.sqrt = function() {
211
- var e, t, A, n = this, r = n.constructor, o = n.s, s = n.e, i = new r("0.5");
212
- if (!n.c[0]) return new r(n);
213
- if (o < 0)
214
- throw Error(it + "No square root");
215
- o = Math.sqrt(+We(n, !0, !0)), o === 0 || o === 1 / 0 ? (t = n.c.join(""), t.length + s & 1 || (t += "0"), o = Math.sqrt(t), s = ((s + 1) / 2 | 0) - (s < 0 || s & 1), e = new r((o == 1 / 0 ? "5e" : (o = o.toExponential()).slice(0, o.indexOf("e") + 1)) + s)) : e = new r(o + ""), s = e.e + (r.DP += 4);
216
- do
217
- A = e, e = i.times(A.plus(n.div(A)));
218
- while (A.c.slice(0, s).join("") !== e.c.slice(0, s).join(""));
219
- return Ye(e, (r.DP -= 4) + e.e + 1, r.RM);
220
- };
221
- Y.times = Y.mul = function(e) {
222
- var t, A = this, n = A.constructor, r = A.c, o = (e = new n(e)).c, s = r.length, i = o.length, c = A.e, a = e.e;
223
- if (e.s = A.s == e.s ? 1 : -1, !r[0] || !o[0])
224
- return e.c = [e.e = 0], e;
225
- for (e.e = c + a, s < i && (t = r, r = o, o = t, a = s, s = i, i = a), t = new Array(a = s + i); a--; ) t[a] = 0;
226
- for (c = i; c--; ) {
227
- for (i = 0, a = s + c; a > c; )
228
- i = t[a] + o[c] * r[a - c - 1] + i, t[a--] = i % 10, i = i / 10 | 0;
229
- t[a] = i;
230
- }
231
- for (i ? ++e.e : t.shift(), c = t.length; !t[--c]; ) t.pop();
232
- return e.c = t, e;
233
- };
234
- Y.toExponential = function(e, t) {
235
- var A = this, n = A.c[0];
236
- if (e !== ge) {
237
- if (e !== ~~e || e < 0 || e > Se)
238
- throw Error(Dt);
239
- for (A = Ye(new A.constructor(A), ++e, t); A.c.length < e; ) A.c.push(0);
240
- }
241
- return We(A, !0, !!n);
242
- };
243
- Y.toFixed = function(e, t) {
244
- var A = this, n = A.c[0];
245
- if (e !== ge) {
246
- if (e !== ~~e || e < 0 || e > Se)
247
- throw Error(Dt);
248
- for (A = Ye(new A.constructor(A), e + A.e + 1, t), e = e + A.e + 1; A.c.length < e; ) A.c.push(0);
249
- }
250
- return We(A, !1, !!n);
251
- };
252
- Y[Symbol.for("nodejs.util.inspect.custom")] = Y.toJSON = Y.toString = function() {
253
- var e = this, t = e.constructor;
254
- return We(e, e.e <= t.NE || e.e >= t.PE, !!e.c[0]);
255
- };
256
- Y.toNumber = function() {
257
- var e = +We(this, !0, !0);
258
- if (this.constructor.strict === !0 && !this.eq(e.toString()))
259
- throw Error(it + "Imprecise conversion");
260
- return e;
261
- };
262
- Y.toPrecision = function(e, t) {
263
- var A = this, n = A.constructor, r = A.c[0];
264
- if (e !== ge) {
265
- if (e !== ~~e || e < 1 || e > Se)
266
- throw Error(Ge + "precision");
267
- for (A = Ye(new n(A), e, t); A.c.length < e; ) A.c.push(0);
268
- }
269
- return We(A, e <= A.e || A.e <= n.NE || A.e >= n.PE, !!r);
270
- };
271
- Y.valueOf = function() {
272
- var e = this, t = e.constructor;
273
- if (t.strict === !0)
274
- throw Error(it + "valueOf disallowed");
275
- return We(e, e.e <= t.NE || e.e >= t.PE, !0);
276
- };
277
- var Yn = GA();
278
- function Wn(e, t) {
279
- return e === t || Number.isNaN(e) && Number.isNaN(t);
280
- }
281
- function uA(e) {
282
- return Object.getOwnPropertySymbols(e).filter((t) => Object.prototype.propertyIsEnumerable.call(e, t));
283
- }
284
- function dA(e) {
285
- return e == null ? e === void 0 ? "[object Undefined]" : "[object Null]" : Object.prototype.toString.call(e);
286
- }
287
- const Nn = "[object RegExp]", Jn = "[object String]", xn = "[object Number]", Zn = "[object Boolean]", gA = "[object Arguments]", Mn = "[object Symbol]", Hn = "[object Date]", Un = "[object Map]", kn = "[object Set]", On = "[object Array]", Xn = "[object Function]", Ln = "[object ArrayBuffer]", Yt = "[object Object]", jn = "[object Error]", Tn = "[object DataView]", Pn = "[object Uint8Array]", zn = "[object Uint8ClampedArray]", Vn = "[object Uint16Array]", _n = "[object Uint32Array]", qn = "[object BigUint64Array]", $n = "[object Int8Array]", er = "[object Int16Array]", tr = "[object Int32Array]", Ar = "[object BigInt64Array]", nr = "[object Float32Array]", rr = "[object Float64Array]";
288
- function hA(e) {
289
- if (!e || typeof e != "object")
290
- return !1;
291
- const t = Object.getPrototypeOf(e);
292
- return t === null || t === Object.prototype || Object.getPrototypeOf(t) === null ? Object.prototype.toString.call(e) === "[object Object]" : !1;
293
- }
294
- function or(e, t, A) {
295
- return _e(e, t, void 0, void 0, void 0, void 0, A);
296
- }
297
- function _e(e, t, A, n, r, o, s) {
298
- const i = s(e, t, A, n, r, o);
299
- if (i !== void 0)
300
- return i;
301
- if (typeof e == typeof t)
302
- switch (typeof e) {
303
- case "bigint":
304
- case "string":
305
- case "boolean":
306
- case "symbol":
307
- case "undefined":
308
- return e === t;
309
- case "number":
310
- return e === t || Object.is(e, t);
311
- case "function":
312
- return e === t;
313
- case "object":
314
- return qe(e, t, o, s);
315
- }
316
- return qe(e, t, o, s);
317
- }
318
- function qe(e, t, A, n) {
319
- if (Object.is(e, t))
320
- return !0;
321
- let r = dA(e), o = dA(t);
322
- if (r === gA && (r = Yt), o === gA && (o = Yt), r !== o)
323
- return !1;
324
- switch (r) {
325
- case Jn:
326
- return e.toString() === t.toString();
327
- case xn: {
328
- const c = e.valueOf(), a = t.valueOf();
329
- return Wn(c, a);
330
- }
331
- case Zn:
332
- case Hn:
333
- case Mn:
334
- return Object.is(e.valueOf(), t.valueOf());
335
- case Nn:
336
- return e.source === t.source && e.flags === t.flags;
337
- case Xn:
338
- return e === t;
339
- }
340
- A = A ?? /* @__PURE__ */ new Map();
341
- const s = A.get(e), i = A.get(t);
342
- if (s != null && i != null)
343
- return s === t;
344
- A.set(e, t), A.set(t, e);
345
- try {
346
- switch (r) {
347
- case Un: {
348
- if (e.size !== t.size)
349
- return !1;
350
- for (const [c, a] of e.entries())
351
- if (!t.has(c) || !_e(a, t.get(c), c, e, t, A, n))
352
- return !1;
353
- return !0;
354
- }
355
- case kn: {
356
- if (e.size !== t.size)
357
- return !1;
358
- const c = Array.from(e.values()), a = Array.from(t.values());
359
- for (let u = 0; u < c.length; u++) {
360
- const l = c[u], g = a.findIndex((d) => _e(l, d, void 0, e, t, A, n));
361
- if (g === -1)
362
- return !1;
363
- a.splice(g, 1);
364
- }
365
- return !0;
366
- }
367
- case On:
368
- case Pn:
369
- case zn:
370
- case Vn:
371
- case _n:
372
- case qn:
373
- case $n:
374
- case er:
375
- case tr:
376
- case Ar:
377
- case nr:
378
- case rr: {
379
- if (typeof Buffer < "u" && Buffer.isBuffer(e) !== Buffer.isBuffer(t) || e.length !== t.length)
380
- return !1;
381
- for (let c = 0; c < e.length; c++)
382
- if (!_e(e[c], t[c], c, e, t, A, n))
383
- return !1;
384
- return !0;
385
- }
386
- case Ln:
387
- return e.byteLength !== t.byteLength ? !1 : qe(new Uint8Array(e), new Uint8Array(t), A, n);
388
- case Tn:
389
- return e.byteLength !== t.byteLength || e.byteOffset !== t.byteOffset ? !1 : qe(new Uint8Array(e), new Uint8Array(t), A, n);
390
- case jn:
391
- return e.name === t.name && e.message === t.message;
392
- case Yt: {
393
- if (!(qe(e.constructor, t.constructor, A, n) || hA(e) && hA(t)))
394
- return !1;
395
- const a = [...Object.keys(e), ...uA(e)], u = [...Object.keys(t), ...uA(t)];
396
- if (a.length !== u.length)
397
- return !1;
398
- for (let l = 0; l < a.length; l++) {
399
- const g = a[l], d = e[g];
400
- if (!Object.hasOwn(t, g))
401
- return !1;
402
- const p = t[g];
403
- if (!_e(d, p, g, e, t, A, n))
404
- return !1;
405
- }
406
- return !0;
407
- }
408
- default:
409
- return !1;
410
- }
411
- } finally {
412
- A.delete(e), A.delete(t);
413
- }
414
- }
415
- function ir() {
416
- }
417
- function YA(e, t) {
418
- return or(e, t, ir);
419
- }
420
- const sr = (e) => {
421
- var t, A, n, r, o, s;
422
- return {
423
- associationType: ((t = e.rubricAssociationForContext) == null ? void 0 : t.associationType) ?? "Assignment",
424
- associationTypeId: (A = e.rubricAssociationForContext) == null ? void 0 : A.associationId,
425
- id: e.id,
426
- title: e.title ?? "",
427
- hasRubricAssociations: e.hasRubricAssociations ?? !1,
428
- hidePoints: ((n = e.rubricAssociationForContext) == null ? void 0 : n.hidePoints) ?? !1,
429
- criteria: e.criteria ?? [],
430
- pointsPossible: e.pointsPossible ?? 0,
431
- buttonDisplay: e.buttonDisplay ?? "numeric",
432
- ratingOrder: e.ratingOrder ?? "descending",
433
- unassessed: e.unassessed ?? !0,
434
- workflowState: e.workflowState ?? "active",
435
- freeFormCriterionComments: e.freeFormCriterionComments ?? !1,
436
- hideOutcomeResults: ((r = e.rubricAssociationForContext) == null ? void 0 : r.hideOutcomeResults) ?? !1,
437
- hideScoreTotal: ((o = e.rubricAssociationForContext) == null ? void 0 : o.hideScoreTotal) ?? !1,
438
- useForGrading: ((s = e.rubricAssociationForContext) == null ? void 0 : s.useForGrading) ?? !1,
439
- canUpdateRubric: e.canUpdateRubric ?? !1
440
- };
441
- }, cr = (e, t) => ({
442
- id: e.id,
443
- title: e.title ?? "",
444
- hasRubricAssociations: e.hasRubricAssociations ?? !1,
445
- hidePoints: t.hidePoints ?? !1,
446
- criteria: e.criteria ?? [],
447
- pointsPossible: e.pointsPossible ?? 0,
448
- buttonDisplay: e.buttonDisplay ?? "numeric",
449
- ratingOrder: e.ratingOrder ?? "descending",
450
- unassessed: e.unassessed ?? !0,
451
- workflowState: e.workflowState ?? "active",
452
- freeFormCriterionComments: e.freeFormCriterionComments ?? !1,
453
- hideOutcomeResults: t.hideOutcomeResults ?? !1,
454
- hideScoreTotal: t.hideScoreTotal ?? !1,
455
- useForGrading: t.useForGrading ?? !1,
456
- rubricAssociationId: t.id,
457
- associationType: t.associationType,
458
- associationTypeId: t.associationId,
459
- canUpdateRubric: e.canUpdateRubric ?? !1
460
- }), ar = ({ list: e, startIndex: t, endIndex: A }) => {
461
- const n = e.map((o) => ({ ...o })), [r] = n.splice(t, 1);
462
- return n.splice(A, 0, r), n;
463
- }, As = (e) => e == null ? void 0 : e.replace(/^<p>(.*)<\/p>$/, "$1"), lr = {
464
- "&": "&amp;",
465
- "<": "&lt;",
466
- ">": "&gt;",
467
- '"': "&quot;",
468
- "'": "&#39;"
469
- }, ns = (e) => ({
470
- __html: (e ?? "").replace(/[&<>"']/g, (t) => lr[t]).replace(/\n/g, "<br />")
471
- }), rs = ({ list: e, startIndex: t, endIndex: A }) => {
472
- const n = e.map((s) => ({ ...s })), r = JSON.parse(JSON.stringify(e)), [o] = n.splice(t, 1);
473
- return n.splice(A, 0, o), n.forEach((s, i) => {
474
- s.points = r[i].points;
475
- }), n;
476
- };
477
- function ur(e) {
478
- return Math.round(e * 100) / 100;
479
- }
480
- const os = (e, t) => {
481
- var r, o;
482
- const A = (r = e[t]) == null ? void 0 : r.points, n = (o = e[t + 1]) == null ? void 0 : o.points;
483
- if (!(A === n || A === 0))
484
- return ur(n ?? 0);
485
- }, is = (e, t) => {
486
- const A = e.map((s) => ({ ...s })), n = vt(e), r = t;
487
- let o = t;
488
- for (let s = 0; s < A.length; s++) {
489
- const i = A[s].points;
490
- let c = i / n * r;
491
- (Number.isNaN(i) || i === 0 && o > 0 && s < A.length - 1) && (c = o - Math.round(o / (A.length - s))), Number.isNaN(c) ? c = 0 : c > o && (c = o - 1), c = Math.max(0, c), o = c, A[s].points = Yn(c).round(2, 0).toNumber();
492
- }
493
- return A;
494
- }, fA = (e) => e.reduce((t, A) => t + (A.ignoreForScoring ? 0 : A.points), 0), vt = (e) => Math.max(...e.map((t) => t.points), 0), ss = (e) => {
495
- const t = !e;
496
- return {
497
- hidePoints: t,
498
- hideScoreTotal: !1,
499
- useForGrading: !1,
500
- ...t ? { buttonDisplay: "numeric" } : {}
501
- };
502
- }, kt = {
503
- title: "",
504
- hasRubricAssociations: !1,
505
- hidePoints: !1,
506
- criteria: [],
507
- pointsPossible: 0,
508
- buttonDisplay: "numeric",
509
- ratingOrder: "descending",
510
- unassessed: !0,
511
- workflowState: "active",
512
- freeFormCriterionComments: !1,
513
- hideOutcomeResults: !1,
514
- hideScoreTotal: !1,
515
- useForGrading: !1,
516
- canUpdateRubric: !1,
517
- associationType: "Assignment"
518
- }, dr = (e, t) => {
519
- const A = {
520
- title: e.title,
521
- criteria: e.criteria,
522
- pointsPossible: e.pointsPossible,
523
- ratingOrder: e.ratingOrder,
524
- freeFormCriterionComments: e.freeFormCriterionComments,
525
- hidePoints: e.hidePoints
526
- }, n = {
527
- title: t.title,
528
- criteria: t.criteria,
529
- pointsPossible: t.pointsPossible,
530
- ratingOrder: t.ratingOrder,
531
- freeFormCriterionComments: t.freeFormCriterionComments,
532
- hidePoints: t.hidePoints ?? !1
533
- };
534
- return !YA(A, n);
535
- }, gr = 255, hr = (e) => {
536
- const t = e.trim();
537
- if (t.length === 0) return "required";
538
- if (t.length > gr) return "tooLong";
539
- }, fr = (e) => e.criteria.length === kt.criteria.length && e.title === kt.title, Ir = [
540
- "title",
541
- "criteria",
542
- "pointsPossible",
543
- "buttonDisplay",
544
- "ratingOrder",
545
- "freeFormCriterionComments",
546
- "hidePoints",
547
- "hideScoreTotal",
548
- "hideOutcomeResults",
549
- "useForGrading"
550
- ], pr = (e, t) => Ir.some((A) => !YA(e[A], t[A])), Cr = (e, t) => {
551
- const A = [...e], n = A.findIndex((r) => r.id === t.id);
552
- return n < 0 ? A.push(t) : A[n] = t, A;
553
- }, cs = (e) => {
554
- const t = structuredClone(e);
555
- return {
556
- ...t,
557
- id: Date.now().toString(),
558
- outcome: void 0,
559
- learningOutcomeId: void 0,
560
- points: vt(t.ratings)
561
- };
562
- }, br = ({
563
- rubricForm: e,
564
- hasAssignment: t,
565
- assignmentPointsPossible: A
566
- }) => t && A != null && e.pointsPossible != null && !e.hidePoints && e.useForGrading && e.pointsPossible !== A, as = (e, t, A) => t === 0 ? null : `${new Intl.NumberFormat(A, { maximumFractionDigits: 0 }).format(
567
- e / t * 100
568
- )}%`, mr = ({
569
- rubricForm: e,
570
- hasAssignment: t,
571
- assignmentPointsPossible: A,
572
- rubric: n
573
- }) => br({ rubricForm: e, hasAssignment: t, assignmentPointsPossible: A }) ? "confirmPointsDifference" : n && t && dr(e, n) && !e.unassessed ? "confirmAssessedEdit" : e.unassessed ? "save" : "confirmSave", Br = (e, t) => e.length === 0 ? 0 : t === 0 ? e[0].points + 1 : t === e.length ? Math.max(e[t - 1].points - 1, 0) : Math.round((e[t].points + e[t - 1].points) / 2), ls = (e) => {
574
- const t = e.map((n) => ({ points: n.points, id: n.id })), A = e.map((n) => ({
575
- description: n.description,
576
- longDescription: n.longDescription
577
- }));
578
- return t.sort((n, r) => r.points - n.points).map((n, r) => ({
579
- id: n.id,
580
- points: n.points,
581
- description: A[r].description,
582
- longDescription: A[r].longDescription
583
- }));
584
- }, us = (e, t, A = Date.now().toString()) => {
585
- const n = {
586
- id: A,
587
- points: Br(e, t),
588
- description: "",
589
- longDescription: ""
590
- }, r = [...e];
591
- return r.splice(t, 0, n), r;
592
- }, ds = (e, t) => {
593
- const A = [...e];
594
- return A.splice(t, 1), A;
595
- }, gs = (e, t, A) => {
596
- const n = [...e];
597
- return n[t] = A, n;
598
- }, hs = (e, t) => ({
599
- ...e,
600
- ratings: t,
601
- points: vt(t)
602
- }), fs = (e, t = Date.now().toString()) => ({
603
- id: t,
604
- description: "",
605
- longDescription: "",
606
- ratings: e,
607
- points: vt(e),
608
- criterionUseRange: !1,
609
- ignoreForScoring: !1,
610
- masteryPoints: 0,
611
- learningOutcomeId: void 0
612
- }), WA = (e) => ({
613
- nameRequired: e.description.trim().length === 0,
614
- ratingNamesRequired: e.ratings.flatMap(
615
- (t, A) => t.description.trim().length === 0 ? [A] : []
616
- )
617
- }), NA = (e) => e.nameRequired || e.ratingNamesRequired.length > 0, Is = (e, t) => !NA(WA({ description: e, ratings: t })), wr = 5, ps = (e) => {
618
- const t = Number(e);
619
- return Number.isNaN(t) || t < 0 ? wr : t;
620
- }, Wt = (e, t) => e.id || `criterion-row-${t}`, Cs = (e, t) => e.id || `rating-row-${t}`;
621
- function JA() {
622
- const { executeQuery: e, currentUserId: t, locale: A, notify: n } = yn(), r = G(n);
623
- r.current = n;
624
- const o = M(
625
- (s) => r.current(s),
626
- []
627
- );
628
- return { executeQuery: e, currentUserId: t, locale: A, notify: o };
629
- }
630
- var Nt;
631
- const yr = /* @__PURE__ */ new Map([
632
- [0, 65533],
633
- // C1 Unicode control character reference replacements
634
- [128, 8364],
635
- [130, 8218],
636
- [131, 402],
637
- [132, 8222],
638
- [133, 8230],
639
- [134, 8224],
640
- [135, 8225],
641
- [136, 710],
642
- [137, 8240],
643
- [138, 352],
644
- [139, 8249],
645
- [140, 338],
646
- [142, 381],
647
- [145, 8216],
648
- [146, 8217],
649
- [147, 8220],
650
- [148, 8221],
651
- [149, 8226],
652
- [150, 8211],
653
- [151, 8212],
654
- [152, 732],
655
- [153, 8482],
656
- [154, 353],
657
- [155, 8250],
658
- [156, 339],
659
- [158, 382],
660
- [159, 376]
661
- ]), Dr = (
662
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, n/no-unsupported-features/es-builtins
663
- (Nt = String.fromCodePoint) !== null && Nt !== void 0 ? Nt : (e) => {
664
- let t = "";
665
- return e > 65535 && (e -= 65536, t += String.fromCharCode(e >>> 10 & 1023 | 55296), e = 56320 | e & 1023), t += String.fromCharCode(e), t;
666
- }
667
- );
668
- function vr(e) {
669
- var t;
670
- return e >= 55296 && e <= 57343 || e > 1114111 ? 65533 : (t = yr.get(e)) !== null && t !== void 0 ? t : e;
671
- }
672
- function Er(e) {
673
- const t = (
674
- // eslint-disable-next-line n/no-unsupported-features/node-builtins
675
- typeof atob == "function" ? (
676
- // Browser (and Node >=16)
677
- // eslint-disable-next-line n/no-unsupported-features/node-builtins
678
- atob(e)
679
- ) : (
680
- // Older Node versions (<16)
681
- // eslint-disable-next-line n/no-unsupported-features/node-builtins
682
- typeof Buffer.from == "function" ? (
683
- // eslint-disable-next-line n/no-unsupported-features/node-builtins
684
- Buffer.from(e, "base64").toString("binary")
685
- ) : (
686
- // eslint-disable-next-line unicorn/no-new-buffer, n/no-deprecated-api
687
- new Buffer(e, "base64").toString("binary")
688
- )
689
- )
690
- ), A = t.length & -2, n = new Uint16Array(A / 2);
691
- for (let r = 0, o = 0; r < A; r += 2) {
692
- const s = t.charCodeAt(r), i = t.charCodeAt(r + 1);
693
- n[o++] = s | i << 8;
694
- }
695
- return n;
696
- }
697
- const Rr = /* @__PURE__ */ Er("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");
698
- var V;
699
- (function(e) {
700
- e[e.VALUE_LENGTH = 49152] = "VALUE_LENGTH", e[e.FLAG13 = 8192] = "FLAG13", e[e.BRANCH_LENGTH = 8064] = "BRANCH_LENGTH", e[e.JUMP_TABLE = 127] = "JUMP_TABLE";
701
- })(V || (V = {}));
702
- var Z;
703
- (function(e) {
704
- e[e.NUM = 35] = "NUM", e[e.SEMI = 59] = "SEMI", e[e.EQUALS = 61] = "EQUALS", e[e.ZERO = 48] = "ZERO", e[e.NINE = 57] = "NINE", e[e.LOWER_A = 97] = "LOWER_A", e[e.LOWER_F = 102] = "LOWER_F", e[e.LOWER_X = 120] = "LOWER_X", e[e.LOWER_Z = 122] = "LOWER_Z", e[e.UPPER_A = 65] = "UPPER_A", e[e.UPPER_F = 70] = "UPPER_F", e[e.UPPER_Z = 90] = "UPPER_Z";
705
- })(Z || (Z = {}));
706
- const IA = 32;
707
- function Ot(e) {
708
- return e >= Z.ZERO && e <= Z.NINE;
709
- }
710
- function Qr(e) {
711
- return e >= Z.UPPER_A && e <= Z.UPPER_F || e >= Z.LOWER_A && e <= Z.LOWER_F;
712
- }
713
- function Fr(e) {
714
- return e >= Z.UPPER_A && e <= Z.UPPER_Z || e >= Z.LOWER_A && e <= Z.LOWER_Z || Ot(e);
715
- }
716
- function Kr(e) {
717
- return e === Z.EQUALS || Fr(e);
718
- }
719
- var O;
720
- (function(e) {
721
- e[e.EntityStart = 0] = "EntityStart", e[e.NumericStart = 1] = "NumericStart", e[e.NumericDecimal = 2] = "NumericDecimal", e[e.NumericHex = 3] = "NumericHex", e[e.NamedEntity = 4] = "NamedEntity";
722
- })(O || (O = {}));
723
- var De;
724
- (function(e) {
725
- e[e.Legacy = 0] = "Legacy", e[e.Strict = 1] = "Strict", e[e.Attribute = 2] = "Attribute";
726
- })(De || (De = {}));
727
- class Sr {
728
- constructor(t, A, n) {
729
- this.decodeTree = t, this.emitCodePoint = A, this.errors = n, this.state = O.EntityStart, this.consumed = 1, this.result = 0, this.treeIndex = 0, this.excess = 1, this.decodeMode = De.Strict;
730
- }
731
- /** Resets the instance to make it reusable. */
732
- startEntity(t) {
733
- this.decodeMode = t, this.state = O.EntityStart, this.result = 0, this.treeIndex = 0, this.excess = 1, this.consumed = 1;
734
- }
735
- /**
736
- * Write an entity to the decoder. This can be called multiple times with partial entities.
737
- * If the entity is incomplete, the decoder will return -1.
738
- *
739
- * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the
740
- * entity is incomplete, and resume when the next string is written.
741
- *
742
- * @param input The string containing the entity (or a continuation of the entity).
743
- * @param offset The offset at which the entity begins. Should be 0 if this is not the first call.
744
- * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
745
- */
746
- write(t, A) {
747
- switch (this.state) {
748
- case O.EntityStart:
749
- return t.charCodeAt(A) === Z.NUM ? (this.state = O.NumericStart, this.consumed += 1, this.stateNumericStart(t, A + 1)) : (this.state = O.NamedEntity, this.stateNamedEntity(t, A));
750
- case O.NumericStart:
751
- return this.stateNumericStart(t, A);
752
- case O.NumericDecimal:
753
- return this.stateNumericDecimal(t, A);
754
- case O.NumericHex:
755
- return this.stateNumericHex(t, A);
756
- case O.NamedEntity:
757
- return this.stateNamedEntity(t, A);
758
- }
759
- }
760
- /**
761
- * Switches between the numeric decimal and hexadecimal states.
762
- *
763
- * Equivalent to the `Numeric character reference state` in the HTML spec.
764
- *
765
- * @param input The string containing the entity (or a continuation of the entity).
766
- * @param offset The current offset.
767
- * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
768
- */
769
- stateNumericStart(t, A) {
770
- return A >= t.length ? -1 : (t.charCodeAt(A) | IA) === Z.LOWER_X ? (this.state = O.NumericHex, this.consumed += 1, this.stateNumericHex(t, A + 1)) : (this.state = O.NumericDecimal, this.stateNumericDecimal(t, A));
771
- }
772
- /**
773
- * Parses a hexadecimal numeric entity.
774
- *
775
- * Equivalent to the `Hexademical character reference state` in the HTML spec.
776
- *
777
- * @param input The string containing the entity (or a continuation of the entity).
778
- * @param offset The current offset.
779
- * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
780
- */
781
- stateNumericHex(t, A) {
782
- for (; A < t.length; ) {
783
- const n = t.charCodeAt(A);
784
- if (Ot(n) || Qr(n)) {
785
- const r = n <= Z.NINE ? n - Z.ZERO : (n | IA) - Z.LOWER_A + 10;
786
- this.result = this.result * 16 + r, this.consumed++, A++;
787
- } else
788
- return this.emitNumericEntity(n, 3);
789
- }
790
- return -1;
791
- }
792
- /**
793
- * Parses a decimal numeric entity.
794
- *
795
- * Equivalent to the `Decimal character reference state` in the HTML spec.
796
- *
797
- * @param input The string containing the entity (or a continuation of the entity).
798
- * @param offset The current offset.
799
- * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
800
- */
801
- stateNumericDecimal(t, A) {
802
- for (; A < t.length; ) {
803
- const n = t.charCodeAt(A);
804
- if (Ot(n))
805
- this.result = this.result * 10 + (n - Z.ZERO), this.consumed++, A++;
806
- else
807
- return this.emitNumericEntity(n, 2);
808
- }
809
- return -1;
810
- }
811
- /**
812
- * Validate and emit a numeric entity.
813
- *
814
- * Implements the logic from the `Hexademical character reference start
815
- * state` and `Numeric character reference end state` in the HTML spec.
816
- *
817
- * @param lastCp The last code point of the entity. Used to see if the
818
- * entity was terminated with a semicolon.
819
- * @param expectedLength The minimum number of characters that should be
820
- * consumed. Used to validate that at least one digit
821
- * was consumed.
822
- * @returns The number of characters that were consumed.
823
- */
824
- emitNumericEntity(t, A) {
825
- var n;
826
- if (this.consumed <= A)
827
- return (n = this.errors) === null || n === void 0 || n.absenceOfDigitsInNumericCharacterReference(this.consumed), 0;
828
- if (t === Z.SEMI)
829
- this.consumed += 1;
830
- else if (this.decodeMode === De.Strict)
831
- return 0;
832
- return this.emitCodePoint(vr(this.result), this.consumed), this.errors && (t !== Z.SEMI && this.errors.missingSemicolonAfterCharacterReference(), this.errors.validateNumericCharacterReference(this.result)), this.consumed;
833
- }
834
- /**
835
- * Parses a named entity.
836
- *
837
- * Equivalent to the `Named character reference state` in the HTML spec.
838
- *
839
- * @param input The string containing the entity (or a continuation of the entity).
840
- * @param offset The current offset.
841
- * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
842
- */
843
- stateNamedEntity(t, A) {
844
- const { decodeTree: n } = this;
845
- let r = n[this.treeIndex], o = (r & V.VALUE_LENGTH) >> 14;
846
- for (; A < t.length; ) {
847
- if (o === 0 && r & V.FLAG13) {
848
- const i = (r & V.BRANCH_LENGTH) >> 7, c = r & V.JUMP_TABLE;
849
- if (A + i > t.length)
850
- return -1;
851
- if (t.charCodeAt(A) !== c)
852
- return this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
853
- A++, this.excess++;
854
- const a = i - 1;
855
- for (let u = 1; u < i; u += 2) {
856
- const l = n[this.treeIndex + 1 + (u - 1 >> 1)], g = l & 255;
857
- if (t.charCodeAt(A) !== g)
858
- return this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
859
- A++, this.excess++;
860
- const d = l >> 8 & 255;
861
- if (u + 1 < i) {
862
- if (t.charCodeAt(A) !== d)
863
- return this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
864
- A++, this.excess++;
865
- }
866
- }
867
- this.treeIndex += 1 + (a + 1 >> 1), r = n[this.treeIndex], o = (r & V.VALUE_LENGTH) >> 14;
868
- }
869
- if (A >= t.length)
870
- break;
871
- const s = t.charCodeAt(A);
872
- if (s === Z.SEMI && o !== 0 && r & V.FLAG13)
873
- return this.emitNamedEntityData(this.treeIndex, o, this.consumed + this.excess);
874
- if (this.treeIndex = Yr(n, r, this.treeIndex + Math.max(1, o), s), this.treeIndex < 0)
875
- return this.result === 0 || // If we are parsing an attribute
876
- this.decodeMode === De.Attribute && // We shouldn't have consumed any characters after the entity,
877
- (o === 0 || // And there should be no invalid characters.
878
- Kr(s)) ? 0 : this.emitNotTerminatedNamedEntity();
879
- if (r = n[this.treeIndex], o = (r & V.VALUE_LENGTH) >> 14, o !== 0) {
880
- if (s === Z.SEMI)
881
- return this.emitNamedEntityData(this.treeIndex, o, this.consumed + this.excess);
882
- this.decodeMode !== De.Strict && !(r & V.FLAG13) && (this.result = this.treeIndex, this.consumed += this.excess, this.excess = 0);
883
- }
884
- A++, this.excess++;
885
- }
886
- return -1;
887
- }
888
- /**
889
- * Emit a named entity that was not terminated with a semicolon.
890
- *
891
- * @returns The number of characters consumed.
892
- */
893
- emitNotTerminatedNamedEntity() {
894
- var t;
895
- const { result: A, decodeTree: n } = this, r = (n[A] & V.VALUE_LENGTH) >> 14;
896
- return this.emitNamedEntityData(A, r, this.consumed), (t = this.errors) === null || t === void 0 || t.missingSemicolonAfterCharacterReference(), this.consumed;
897
- }
898
- /**
899
- * Emit a named entity.
900
- *
901
- * @param result The index of the entity in the decode tree.
902
- * @param valueLength The number of bytes in the entity.
903
- * @param consumed The number of characters consumed.
904
- *
905
- * @returns The number of characters consumed.
906
- */
907
- emitNamedEntityData(t, A, n) {
908
- const { decodeTree: r } = this;
909
- return this.emitCodePoint(A === 1 ? r[t] & ~(V.VALUE_LENGTH | V.FLAG13) : r[t + 1], n), A === 3 && this.emitCodePoint(r[t + 2], n), n;
910
- }
911
- /**
912
- * Signal to the parser that the end of the input was reached.
913
- *
914
- * Remaining data will be emitted and relevant errors will be produced.
915
- *
916
- * @returns The number of characters consumed.
917
- */
918
- end() {
919
- var t;
920
- switch (this.state) {
921
- case O.NamedEntity:
922
- return this.result !== 0 && (this.decodeMode !== De.Attribute || this.result === this.treeIndex) ? this.emitNotTerminatedNamedEntity() : 0;
923
- case O.NumericDecimal:
924
- return this.emitNumericEntity(0, 2);
925
- case O.NumericHex:
926
- return this.emitNumericEntity(0, 3);
927
- case O.NumericStart:
928
- return (t = this.errors) === null || t === void 0 || t.absenceOfDigitsInNumericCharacterReference(this.consumed), 0;
929
- case O.EntityStart:
930
- return 0;
931
- }
932
- }
933
- }
934
- function Gr(e) {
935
- let t = "";
936
- const A = new Sr(e, (n) => t += Dr(n));
937
- return function(r, o) {
938
- let s = 0, i = 0;
939
- for (; (i = r.indexOf("&", i)) >= 0; ) {
940
- t += r.slice(s, i), A.startEntity(o);
941
- const a = A.write(
942
- r,
943
- // Skip the "&"
944
- i + 1
945
- );
946
- if (a < 0) {
947
- s = i + A.end();
948
- break;
949
- }
950
- s = i + a, i = a === 0 ? s + 1 : s;
951
- }
952
- const c = t + r.slice(s);
953
- return t = "", c;
954
- };
955
- }
956
- function Yr(e, t, A, n) {
957
- const r = (t & V.BRANCH_LENGTH) >> 7, o = t & V.JUMP_TABLE;
958
- if (r === 0)
959
- return o !== 0 && n === o ? A : -1;
960
- if (o) {
961
- const a = n - o;
962
- return a < 0 || a >= r ? -1 : e[A + a] - 1;
963
- }
964
- const s = r + 1 >> 1;
965
- let i = 0, c = r - 1;
966
- for (; i <= c; ) {
967
- const a = i + c >>> 1, u = a >> 1, g = e[A + u] >> (a & 1) * 8 & 255;
968
- if (g < n)
969
- i = a + 1;
970
- else if (g > n)
971
- c = a - 1;
972
- else
973
- return e[A + s + a];
974
- }
975
- return -1;
976
- }
977
- const Wr = /* @__PURE__ */ Gr(Rr);
978
- function Nr(e, t = De.Legacy) {
979
- return Wr(e, t);
980
- }
981
- const xA = (e, t = []) => {
982
- const A = t.reduce(
983
- (n, r) => (n[r.id] = r.display_name, n),
984
- {}
985
- );
986
- return e.map((n) => {
987
- const r = n.learning_outcome_id === void 0 ? void 0 : String(n.learning_outcome_id);
988
- return {
989
- criterionUseRange: n.criterion_use_range,
990
- description: n.description,
991
- id: String(n.id),
992
- longDescription: n.long_description,
993
- learningOutcomeId: r,
994
- ignoreForScoring: n.ignore_for_scoring,
995
- points: n.points,
996
- masteryPoints: n.mastery_points,
997
- isGenerated: n.generated,
998
- outcome: r ? {
999
- displayName: A[r],
1000
- title: n.description
1001
- } : void 0,
1002
- ratings: n.ratings.map((o) => ({
1003
- criterionId: String(o.criterion_id),
1004
- description: o.description,
1005
- id: String(o.id),
1006
- longDescription: o.long_description,
1007
- points: o.points
1008
- }))
1009
- };
1010
- });
1011
- }, Jr = (e, t = []) => {
1012
- const A = e.criteria ?? e.data ?? [];
1013
- return {
1014
- title: e.title,
1015
- criteria: xA(A, t),
1016
- ratingOrder: e.rating_order,
1017
- freeFormCriterionComments: e.free_form_criterion_comments,
1018
- pointsPossible: e.points_possible,
1019
- public: e.public,
1020
- criteriaCount: A.length,
1021
- hidePoints: e.hide_points,
1022
- id: String(e.id),
1023
- buttonDisplay: e.button_display,
1024
- unassessed: e.unassessed,
1025
- workflowState: e.workflow_state,
1026
- canUpdateRubric: e.can_update
1027
- };
1028
- }, xr = (e) => Nr(e ?? ""), Zr = (e) => ({
1029
- associationType: e.association_type,
1030
- associationId: String(e.association_id),
1031
- id: String(e.id),
1032
- hideOutcomeResults: e.hide_outcome_results,
1033
- hidePoints: e.hide_points,
1034
- hideScoreTotal: e.hide_score_total ?? !1,
1035
- useForGrading: e.use_for_grading,
1036
- canUpdate: e.can_update,
1037
- canDelete: e.can_delete
1038
- }), bs = (e) => e.replace(/<br\s*\/?>\r?\n?/gi, `
1039
- `).replace(/\r\n?/g, `
1040
- `).replace(/\n/g, "<br />"), Mr = (e) => e.replace(/<br\s*\/?>\r?\n?/gi, `
1041
- `), Hr = (e) => e.outcome ? e.longDescription : Mr(xr(e.longDescription ?? "")), Ur = Hr, It = (e) => Object.fromEntries(e.map((t, A) => [A, t])), ZA = Oe`
1042
- fragment RubricFormRubric on Rubric {
1043
- id: _id
1044
- title
1045
- hasRubricAssociations
1046
- rubricAssociationForContext {
1047
- associationId
1048
- associationType
1049
- hidePoints
1050
- hideScoreTotal
1051
- hideOutcomeResults
1052
- id: _id
1053
- useForGrading
1054
- }
1055
- buttonDisplay
1056
- ratingOrder
1057
- freeFormCriterionComments
1058
- workflowState
1059
- pointsPossible
1060
- unassessed
1061
- canUpdateRubric
1062
- criteria {
1063
- id: _id
1064
- ratings {
1065
- description
1066
- longDescription
1067
- points
1068
- id: _id
1069
- }
1070
- outcome {
1071
- displayName
1072
- title
1073
- }
1074
- learningOutcomeId
1075
- ignoreForScoring
1076
- masteryPoints
1077
- points
1078
- longDescription
1079
- description
1080
- criterionUseRange
1081
- }
1082
- }
1083
- `, kr = Oe`
1084
- query SharedCourseRubricQuery($courseId: ID!, $rubricId: ID!) {
1085
- course(id: $courseId) {
1086
- rubricsConnection(id: $rubricId) {
1087
- nodes {
1088
- ...RubricFormRubric
1089
- }
1090
- }
1091
- }
1092
- }
1093
- ${ZA}
1094
- `, Or = Oe`
1095
- query SharedAccountRubricQuery($accountId: ID!, $rubricId: ID!) {
1096
- account(id: $accountId) {
1097
- rubricsConnection(id: $rubricId) {
1098
- nodes {
1099
- ...RubricFormRubric
1100
- }
1101
- }
1102
- }
1103
- }
1104
- ${ZA}
1105
- `, Xr = Oe`
1106
- mutation SubmitRubricGenerateFeedback(
1107
- $courseId: ID!
1108
- $feedbackType: AiFeedbackTypeEnum!
1109
- $responseId: String!
1110
- $comment: String
1111
- ) {
1112
- submitRubricGenerateFeedback(
1113
- input: {
1114
- courseId: $courseId
1115
- feedbackType: $feedbackType
1116
- responseId: $responseId
1117
- comment: $comment
1118
- }
1119
- ) {
1120
- responseId
1121
- errors {
1122
- message
1123
- attribute
1124
- }
1125
- }
1126
- }
1127
- `, Lr = Oe`
1128
- mutation SubmitRubricRegenerateCriteriaFeedback(
1129
- $courseId: ID!
1130
- $feedbackType: AiFeedbackTypeEnum!
1131
- $responseId: String!
1132
- $comment: String
1133
- ) {
1134
- submitRubricRegenerateCriteriaFeedback(
1135
- input: {
1136
- courseId: $courseId
1137
- feedbackType: $feedbackType
1138
- responseId: $responseId
1139
- comment: $comment
1140
- }
1141
- ) {
1142
- responseId
1143
- errors {
1144
- message
1145
- attribute
1146
- }
1147
- }
1148
- }
1149
- `, jr = Oe`
1150
- mutation SubmitRubricRegenerateCriterionFeedback(
1151
- $courseId: ID!
1152
- $feedbackType: AiFeedbackTypeEnum!
1153
- $responseId: String!
1154
- $comment: String
1155
- ) {
1156
- submitRubricRegenerateCriterionFeedback(
1157
- input: {
1158
- courseId: $courseId
1159
- feedbackType: $feedbackType
1160
- responseId: $responseId
1161
- comment: $comment
1162
- }
1163
- ) {
1164
- responseId
1165
- errors {
1166
- message
1167
- attribute
1168
- }
1169
- }
1170
- }
1171
- `, zt = f.object({
1172
- id: f.coerce.string(),
1173
- workflow_state: f.enum(["queued", "running", "failed", "completed"]),
1174
- message: f.string().nullable().optional(),
1175
- completion: f.number().nullable().optional(),
1176
- results: f.unknown().nullable().optional()
1177
- }), Tr = /* @__PURE__ */ new Set(["completed", "failed"]), Pr = (e) => Tr.has(e);
1178
- async function zr(e, t) {
1179
- const { data: A } = await yt(
1180
- { path: `/api/v1/progress/${e}`, signal: t },
1181
- zt
1182
- );
1183
- return A;
1184
- }
1185
- function ms({ progressId: e, pollIntervalMs: t = 1e3 }) {
1186
- return KA({
1187
- queryKey: ["rubrics-progress", e],
1188
- queryFn: ({ signal: A }) => zr(e, A),
1189
- enabled: e != null,
1190
- retry: 2,
1191
- refetchInterval: (A) => {
1192
- var r;
1193
- if (A.state.status === "error") return !1;
1194
- const n = (r = A.state.data) == null ? void 0 : r.workflow_state;
1195
- return n && Pr(n) ? !1 : t;
1196
- }
1197
- });
1198
- }
1199
- const Vr = f.object({
1200
- criterion_id: f.string(),
1201
- description: f.string(),
1202
- id: f.string(),
1203
- long_description: f.string(),
1204
- points: f.number()
1205
- }), pA = f.object({
1206
- criterion_use_range: f.boolean(),
1207
- description: f.string(),
1208
- id: f.string(),
1209
- learning_outcome_id: f.string().optional(),
1210
- long_description: f.string(),
1211
- ignore_for_scoring: f.boolean().optional(),
1212
- mastery_points: f.number().optional(),
1213
- points: f.number(),
1214
- generated: f.boolean().optional(),
1215
- ratings: f.array(Vr)
1216
- }), _r = f.object({
1217
- title: f.string(),
1218
- button_display: f.string(),
1219
- criteria: f.array(pA).optional(),
1220
- data: f.array(pA).optional(),
1221
- hide_points: f.boolean(),
1222
- id: f.coerce.string(),
1223
- rating_order: f.string(),
1224
- free_form_criterion_comments: f.boolean(),
1225
- points_possible: f.number(),
1226
- public: f.boolean(),
1227
- unassessed: f.boolean().optional(),
1228
- workflow_state: f.string(),
1229
- can_update: f.boolean().optional(),
1230
- permissions: f.object({ update: f.boolean().optional() }).optional(),
1231
- association_count: f.number().optional()
1232
- }), qr = f.object({
1233
- association_type: f.enum(["Assignment", "Account", "Course"]),
1234
- association_id: f.coerce.string(),
1235
- id: f.coerce.string(),
1236
- use_for_grading: f.boolean(),
1237
- hide_points: f.boolean(),
1238
- hide_score_total: f.boolean(),
1239
- hide_outcome_results: f.boolean(),
1240
- can_update: f.boolean().optional(),
1241
- can_delete: f.boolean().optional(),
1242
- permissions: f.object({ update: f.boolean().optional(), delete: f.boolean().optional() }).optional()
1243
- }), $r = f.object({
1244
- rubric: _r,
1245
- rubric_association: qr.optional(),
1246
- error: f.unknown().optional()
1247
- }), eo = async (e, t) => {
1248
- var F, K, j;
1249
- const {
1250
- id: A,
1251
- title: n,
1252
- hidePoints: r,
1253
- freeFormCriterionComments: o,
1254
- accountId: s,
1255
- courseId: i,
1256
- ratingOrder: c,
1257
- buttonDisplay: a,
1258
- workflowState: u,
1259
- hideOutcomeResults: l,
1260
- hideScoreTotal: g,
1261
- useForGrading: d,
1262
- rubricAssociationId: p,
1263
- skipUpdatingPointsPossible: h
1264
- } = e, b = `${s ? `/accounts/${s}` : `/courses/${i}`}/rubrics/${A ?? ""}`, m = e.associationType === "Assignment", C = A ? "PATCH" : "POST", B = It(
1265
- e.criteria.map((N) => {
1266
- var k, le;
1267
- return {
1268
- id: N.id,
1269
- description: N.description,
1270
- long_description: Ur(N),
1271
- points: N.points,
1272
- outcome: {
1273
- display_name: (k = N.outcome) == null ? void 0 : k.displayName,
1274
- title: (le = N.outcome) == null ? void 0 : le.title
1275
- },
1276
- learning_outcome_id: N.learningOutcomeId,
1277
- ignore_for_scoring: N.ignoreForScoring,
1278
- mastery_points: N.masteryPoints,
1279
- criterion_use_range: N.criterionUseRange,
1280
- generated: N.isGenerated,
1281
- ratings: It(
1282
- N.ratings.map((ie) => ({
1283
- description: ie.description,
1284
- long_description: ie.longDescription,
1285
- points: ie.points,
1286
- id: ie.id
1287
- }))
1288
- )
1289
- };
1290
- })
1291
- );
1292
- let D = e.associationTypeId;
1293
- if (D || (e.associationType === "Assignment" ? D = t : e.associationType === "Course" ? D = i : e.associationType === "Account" && (D = s)), !D)
1294
- throw new Error("Missing rubric association type ID");
1295
- const { data: R } = await yt(
1296
- {
1297
- path: b,
1298
- method: C,
1299
- params: m ? { rubric_association_id: p } : void 0,
1300
- body: {
1301
- _method: C,
1302
- rubric: {
1303
- title: n.trim(),
1304
- hide_points: r,
1305
- free_form_criterion_comments: o ? "1" : "0",
1306
- criteria: B,
1307
- button_display: a,
1308
- rating_order: c,
1309
- workflow_state: u
1310
- },
1311
- rubric_association_id: p,
1312
- rubric_association: {
1313
- id: p,
1314
- association_id: D,
1315
- association_type: e.associationType,
1316
- purpose: e.associationType === "Assignment" ? "grading" : "bookmark",
1317
- hide_points: r ? "1" : "0",
1318
- hide_outcome_results: l ? "1" : "0",
1319
- hide_score_total: g ? "1" : "0",
1320
- use_for_grading: d ? "1" : "0"
1321
- },
1322
- skip_updating_points_possible: h === void 0 ? void 0 : String(h)
1323
- }
1324
- },
1325
- $r
1326
- ), { rubric: w, rubric_association: y, error: W } = R;
1327
- if (W)
1328
- throw new Error("Failed to save rubric");
1329
- return {
1330
- rubric: {
1331
- ...Jr(w),
1332
- canUpdate: (F = w.permissions) == null ? void 0 : F.update,
1333
- association_count: w.association_count
1334
- },
1335
- rubricAssociation: y ? {
1336
- ...Zr(y),
1337
- canUpdate: (K = y.permissions) == null ? void 0 : K.update,
1338
- canDelete: (j = y.permissions) == null ? void 0 : j.delete
1339
- } : void 0
1340
- };
1341
- }, to = f.object({
1342
- criterion_id: f.string(),
1343
- description: f.string(),
1344
- id: f.string(),
1345
- long_description: f.string(),
1346
- points: f.number()
1347
- }), Ao = f.object({
1348
- criterion_use_range: f.boolean(),
1349
- description: f.string(),
1350
- id: f.string(),
1351
- learning_outcome_id: f.string().optional(),
1352
- long_description: f.string(),
1353
- ignore_for_scoring: f.boolean().optional(),
1354
- mastery_points: f.number().optional(),
1355
- points: f.number(),
1356
- generated: f.boolean().optional(),
1357
- ratings: f.array(to)
1358
- }), no = f.object({
1359
- criteria: f.array(Ao).optional(),
1360
- response_id: f.string().optional()
1361
- }), Bs = (e) => {
1362
- const t = no.parse(e);
1363
- return {
1364
- criteria: xA(t.criteria ?? []),
1365
- responseId: t.response_id ?? null
1366
- };
1367
- }, ws = async (e, t, A) => {
1368
- const { data: n } = await yt(
1369
- {
1370
- path: `/courses/${e}/rubrics/llm_criteria`,
1371
- method: "POST",
1372
- body: {
1373
- rubric_association: {
1374
- association_id: t,
1375
- association_type: "Assignment"
1376
- },
1377
- generate_options: {
1378
- criteria_count: A.criteriaCount,
1379
- rating_count: A.ratingCount,
1380
- total_points: A.totalPoints,
1381
- use_range: A.useRange,
1382
- additional_prompt_info: A.additionalPromptInfo,
1383
- grade_level: A.gradeLevel,
1384
- standard: A.standard
1385
- }
1386
- }
1387
- },
1388
- zt
1389
- );
1390
- return n;
1391
- }, ys = async (e, t, A, n, r, o) => {
1392
- const { data: s } = await yt(
1393
- {
1394
- path: `/courses/${e}/rubrics/llm_regenerate_criteria`,
1395
- method: "POST",
1396
- body: {
1397
- rubric_association: {
1398
- association_id: t,
1399
- association_type: "Assignment"
1400
- },
1401
- criteria: It(
1402
- A.map((i) => ({
1403
- id: i.id,
1404
- description: i.description,
1405
- long_description: i.longDescription,
1406
- points: i.points,
1407
- criterion_use_range: i.criterionUseRange,
1408
- learning_outcome_id: i.learningOutcomeId,
1409
- ignore_for_scoring: i.ignoreForScoring,
1410
- mastery_points: i.masteryPoints,
1411
- generated: i.isGenerated,
1412
- ratings: It(
1413
- i.ratings.map((c) => ({
1414
- id: c.id,
1415
- criterion_id: i.id,
1416
- description: c.description,
1417
- long_description: c.longDescription,
1418
- points: c.points
1419
- }))
1420
- )
1421
- }))
1422
- ),
1423
- generate_options: {
1424
- criteria_count: o == null ? void 0 : o.criteriaCount,
1425
- rating_count: o == null ? void 0 : o.ratingCount,
1426
- total_points: o == null ? void 0 : o.totalPoints,
1427
- use_range: o == null ? void 0 : o.useRange,
1428
- grade_level: o == null ? void 0 : o.gradeLevel,
1429
- standard: o == null ? void 0 : o.standard
1430
- },
1431
- regenerate_options: {
1432
- criterion_id: r,
1433
- additional_user_prompt: n
1434
- }
1435
- }
1436
- },
1437
- zt
1438
- );
1439
- return s;
1440
- }, Jt = {
1441
- GENERATE_CRITERIA: "generate-criteria",
1442
- REGENERATE_CRITERIA: "regenerate-criteria",
1443
- REGENERATE_CRITERION: "regenerate-criterion"
1444
- }, xt = { responseId: null, errors: null }, Ds = async (e, t, A) => {
1445
- const n = (r) => ({
1446
- responseId: r.responseId ?? null,
1447
- errors: r.errors ?? null
1448
- });
1449
- switch (t) {
1450
- case Jt.GENERATE_CRITERIA: {
1451
- const r = await e(
1452
- Xr,
1453
- A
1454
- );
1455
- return r.submitRubricGenerateFeedback ? n(r.submitRubricGenerateFeedback) : xt;
1456
- }
1457
- case Jt.REGENERATE_CRITERIA: {
1458
- const r = await e(
1459
- Lr,
1460
- A
1461
- );
1462
- return r.submitRubricRegenerateCriteriaFeedback ? n(r.submitRubricRegenerateCriteriaFeedback) : xt;
1463
- }
1464
- case Jt.REGENERATE_CRITERION: {
1465
- const r = await e(
1466
- jr,
1467
- A
1468
- );
1469
- return r.submitRubricRegenerateCriterionFeedback ? n(r.submitRubricRegenerateCriterionFeedback) : xt;
1470
- }
1471
- }
1472
- }, ro = async ({
1473
- executeQuery: e,
1474
- rubricId: t,
1475
- accountId: A,
1476
- courseId: n
1477
- }) => {
1478
- if (!t) return null;
1479
- if (!A && !n)
1480
- throw new Error("Missing context for fetching rubric");
1481
- return A ? await oo(e, A, t) : await io(e, n, t);
1482
- }, oo = async (e, t, A) => {
1483
- var r, o;
1484
- const { account: n } = await e(Or, {
1485
- accountId: t,
1486
- rubricId: A
1487
- });
1488
- return ((o = (r = n == null ? void 0 : n.rubricsConnection) == null ? void 0 : r.nodes) == null ? void 0 : o[0]) ?? null;
1489
- }, io = async (e, t, A) => {
1490
- var r, o;
1491
- const { course: n } = await e(kr, {
1492
- courseId: t,
1493
- rubricId: A
1494
- });
1495
- return ((o = (r = n == null ? void 0 : n.rubricsConnection) == null ? void 0 : r.nodes) == null ? void 0 : o[0]) ?? null;
1496
- }, so = ({ accountId: e, courseId: t }) => e ? ["accountRubrics", e] : ["courseRubrics", t], co = ({
1497
- accountId: e,
1498
- assignmentId: t,
1499
- courseId: A,
1500
- queryKey: n,
1501
- rubricId: r,
1502
- rubricForm: o,
1503
- handleSaveSuccess: s
1504
- }) => {
1505
- const { translations: i } = wt(), { notify: c } = JA(), a = Bn(), {
1506
- isPending: u,
1507
- isSuccess: l,
1508
- isError: g,
1509
- mutate: d
1510
- } = wn({
1511
- mutationFn: async (p = {}) => eo({ ...o, ...p }, t),
1512
- mutationKey: ["save-rubric"],
1513
- onSuccess: (p) => {
1514
- c({ type: "success", message: i.rubricSaveSuccess }), s(p);
1515
- const h = so({ accountId: e, courseId: A });
1516
- a.invalidateQueries({ queryKey: n }, { cancelRefetch: !0 }), a.refetchQueries({ queryKey: h, type: "all" }), a.invalidateQueries(
1517
- { queryKey: [`rubric-preview-${r}`] },
1518
- { cancelRefetch: !0 }
1519
- );
1520
- }
1521
- });
1522
- return {
1523
- savePending: u,
1524
- saveSuccess: l,
1525
- saveError: g,
1526
- saveRubricMutation: d
1527
- };
1528
- }, vs = ({
1529
- rubricId: e,
1530
- accountId: t,
1531
- assignmentId: A,
1532
- assignmentPointsPossible: n,
1533
- courseId: r,
1534
- canManageRubrics: o,
1535
- rubric: s,
1536
- rubricAssociation: i,
1537
- onLoadRubric: c,
1538
- onSaveRubric: a
1539
- }) => {
1540
- var Qe;
1541
- const { translations: u } = wt(), { executeQuery: l } = JA(), g = A ? "Assignment" : t ? "Account" : "Course", [d, p] = U({
1542
- ...kt,
1543
- accountId: t,
1544
- courseId: r,
1545
- associationType: g
1546
- }), [h, I] = U(d), [b, m] = U({}), [C, B] = U(), D = !!A && A !== "", R = !e && !(s != null && s.id), w = G(d.criteria), y = G(a);
1547
- y.current = a;
1548
- const W = M(
1549
- (Q, x) => {
1550
- if (Q === "title") {
1551
- const v = hr((x == null ? void 0 : x.toString()) ?? ""), Fe = v === "required" ? u.rubricNameRequired : v === "tooLong" ? u.rubricNameTooLong : void 0;
1552
- if (m((ne) => ({
1553
- ...ne,
1554
- [Q]: { message: Fe }
1555
- })), v)
1556
- return !1;
1557
- }
1558
- return !0;
1559
- },
1560
- [u.rubricNameRequired, u.rubricNameTooLong]
1561
- ), F = M(
1562
- (Q, x) => {
1563
- p((v) => ({ ...v, [Q]: x })), W(Q, x);
1564
- },
1565
- [W]
1566
- ), K = ["fetch-rubric", e ?? "", t ?? "", r ?? ""], j = !((Qe = b.title) != null && Qe.message) && d.criteria.length > 0, N = J(
1567
- () => d.criteria.map(WA),
1568
- [d.criteria]
1569
- ), { data: k, isLoading: le, isError: ie, error: z, isSuccess: Ne } = KA({
1570
- queryKey: K,
1571
- queryFn: () => ro({ executeQuery: l, rubricId: e, accountId: t, courseId: r }),
1572
- enabled: !!e && o && !s
1573
- }), { savePending: se, saveError: ve, saveRubricMutation: Ee } = co({
1574
- accountId: t,
1575
- assignmentId: A,
1576
- courseId: r,
1577
- queryKey: K,
1578
- rubricId: e,
1579
- rubricForm: d,
1580
- handleSaveSuccess: B
1581
- }), T = (Q) => {
1582
- const x = d.criteria.filter((v) => v.id !== Q.id);
1583
- F("pointsPossible", fA(x)), F("criteria", x);
1584
- }, ce = (Q) => {
1585
- const x = Cr(w.current, Q);
1586
- F("pointsPossible", fA(x)), F("criteria", x);
1587
- }, fe = (Q, x) => {
1588
- p((v) => ({
1589
- ...v,
1590
- criteria: ar({ list: v.criteria, startIndex: Q, endIndex: x })
1591
- }));
1592
- }, Re = () => {
1593
- W("title", d.title) && (F("workflowState", "draft"), Ee({ workflowState: "draft" }));
1594
- }, _ = (Q) => {
1595
- W("title", d.title) && (Q !== void 0 && F("skipUpdatingPointsPossible", Q), F("workflowState", "active"), Ee({
1596
- workflowState: "active",
1597
- ...Q !== void 0 ? { skipUpdatingPointsPossible: Q } : {}
1598
- }));
1599
- };
1600
- return S(() => {
1601
- w.current = d.criteria;
1602
- }, [d.criteria]), S(() => {
1603
- if (!e) {
1604
- c == null || c(u.createLabel);
1605
- return;
1606
- }
1607
- if (k) {
1608
- const Q = { ...sr(k), accountId: t, courseId: r };
1609
- p(Q), I(Q), c == null || c(Q.title);
1610
- }
1611
- }, [t, r, k, e, c, u.createLabel]), S(() => {
1612
- if (s && i) {
1613
- const Q = {
1614
- ...cr(s, i),
1615
- accountId: t,
1616
- courseId: r
1617
- };
1618
- p(Q), I(Q);
1619
- }
1620
- }, [t, r, s, i]), S(() => {
1621
- if (C) {
1622
- const Q = d.skipUpdatingPointsPossible === !1;
1623
- y.current(C, Q);
1624
- }
1625
- }, [C]), {
1626
- rubricForm: d,
1627
- setRubricFormField: F,
1628
- validateField: W,
1629
- validationErrors: b,
1630
- formValid: j,
1631
- /**
1632
- * Always holds the latest criteria, for async callbacks (such as AI
1633
- * generation) that would otherwise read a stale render's list.
1634
- */
1635
- criteriaRef: w,
1636
- isNewRubric: R,
1637
- hasAssignment: D,
1638
- load: { data: k, isLoading: le, isError: ie, error: z, isSuccess: Ne },
1639
- savePending: se,
1640
- saveError: ve,
1641
- saveCriterion: ce,
1642
- deleteCriterion: T,
1643
- reorderCriteria: fe,
1644
- save: _,
1645
- saveAsDraft: Re,
1646
- isPristine: fr(d),
1647
- isDirty: pr(h, d),
1648
- criteriaValidationErrors: N,
1649
- criteriaValid: !N.some(NA),
1650
- saveAction: mr({
1651
- rubricForm: d,
1652
- hasAssignment: D,
1653
- assignmentPointsPossible: n,
1654
- rubric: s
1655
- })
1656
- };
1657
- };
1658
- function Es() {
1659
- const { translations: e } = wt();
1660
- return M(
1661
- () => [
1662
- { id: "1", points: 4, description: e.ratingScaleExceeds, longDescription: "" },
1663
- { id: "2", points: 3, description: e.ratingScaleMastery, longDescription: "" },
1664
- { id: "3", points: 2, description: e.ratingScaleNear, longDescription: "" },
1665
- { id: "4", points: 1, description: e.ratingScaleBelow, longDescription: "" },
1666
- { id: "5", points: 0, description: e.ratingScaleNoEvidence, longDescription: "" }
1667
- ],
1668
- [
1669
- e.ratingScaleExceeds,
1670
- e.ratingScaleMastery,
1671
- e.ratingScaleNear,
1672
- e.ratingScaleBelow,
1673
- e.ratingScaleNoEvidence
1674
- ]
1675
- );
1676
- }
1677
- function ao() {
1678
- for (var e = arguments.length, t = new Array(e), A = 0; A < e; A++)
1679
- t[A] = arguments[A];
1680
- return J(
1681
- () => (n) => {
1682
- t.forEach((r) => r(n));
1683
- },
1684
- // eslint-disable-next-line react-hooks/exhaustive-deps
1685
- t
1686
- );
1687
- }
1688
- const Et = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u";
1689
- function Xe(e) {
1690
- const t = Object.prototype.toString.call(e);
1691
- return t === "[object Window]" || // In Electron context the Window object serializes to [object global]
1692
- t === "[object global]";
1693
- }
1694
- function Vt(e) {
1695
- return "nodeType" in e;
1696
- }
1697
- function $(e) {
1698
- var t, A;
1699
- return e ? Xe(e) ? e : Vt(e) && (t = (A = e.ownerDocument) == null ? void 0 : A.defaultView) != null ? t : window : window;
1700
- }
1701
- function _t(e) {
1702
- const {
1703
- Document: t
1704
- } = $(e);
1705
- return e instanceof t;
1706
- }
1707
- function st(e) {
1708
- return Xe(e) ? !1 : e instanceof $(e).HTMLElement;
1709
- }
1710
- function MA(e) {
1711
- return e instanceof $(e).SVGElement;
1712
- }
1713
- function Le(e) {
1714
- return e ? Xe(e) ? e.document : Vt(e) ? _t(e) ? e : st(e) || MA(e) ? e.ownerDocument : document : document : document;
1715
- }
1716
- const he = Et ? Cn : S;
1717
- function qt(e) {
1718
- const t = G(e);
1719
- return he(() => {
1720
- t.current = e;
1721
- }), M(function() {
1722
- for (var A = arguments.length, n = new Array(A), r = 0; r < A; r++)
1723
- n[r] = arguments[r];
1724
- return t.current == null ? void 0 : t.current(...n);
1725
- }, []);
1726
- }
1727
- function lo() {
1728
- const e = G(null), t = M((n, r) => {
1729
- e.current = setInterval(n, r);
1730
- }, []), A = M(() => {
1731
- e.current !== null && (clearInterval(e.current), e.current = null);
1732
- }, []);
1733
- return [t, A];
1734
- }
1735
- function At(e, t) {
1736
- t === void 0 && (t = [e]);
1737
- const A = G(e);
1738
- return he(() => {
1739
- A.current !== e && (A.current = e);
1740
- }, t), A;
1741
- }
1742
- function ct(e, t) {
1743
- const A = G();
1744
- return J(
1745
- () => {
1746
- const n = e(A.current);
1747
- return A.current = n, n;
1748
- },
1749
- // eslint-disable-next-line react-hooks/exhaustive-deps
1750
- [...t]
1751
- );
1752
- }
1753
- function pt(e) {
1754
- const t = qt(e), A = G(null), n = M(
1755
- (r) => {
1756
- r !== A.current && (t == null || t(r, A.current)), A.current = r;
1757
- },
1758
- //eslint-disable-next-line
1759
- []
1760
- );
1761
- return [A, n];
1762
- }
1763
- function Xt(e) {
1764
- const t = G();
1765
- return S(() => {
1766
- t.current = e;
1767
- }, [e]), t.current;
1768
- }
1769
- let Zt = {};
1770
- function at(e, t) {
1771
- return J(() => {
1772
- if (t)
1773
- return t;
1774
- const A = Zt[e] == null ? 0 : Zt[e] + 1;
1775
- return Zt[e] = A, e + "-" + A;
1776
- }, [e, t]);
1777
- }
1778
- function HA(e) {
1779
- return function(t) {
1780
- for (var A = arguments.length, n = new Array(A > 1 ? A - 1 : 0), r = 1; r < A; r++)
1781
- n[r - 1] = arguments[r];
1782
- return n.reduce((o, s) => {
1783
- const i = Object.entries(s);
1784
- for (const [c, a] of i) {
1785
- const u = o[c];
1786
- u != null && (o[c] = u + e * a);
1787
- }
1788
- return o;
1789
- }, {
1790
- ...t
1791
- });
1792
- };
1793
- }
1794
- const ke = /* @__PURE__ */ HA(1), nt = /* @__PURE__ */ HA(-1);
1795
- function uo(e) {
1796
- return "clientX" in e && "clientY" in e;
1797
- }
1798
- function $t(e) {
1799
- if (!e)
1800
- return !1;
1801
- const {
1802
- KeyboardEvent: t
1803
- } = $(e.target);
1804
- return t && e instanceof t;
1805
- }
1806
- function go(e) {
1807
- if (!e)
1808
- return !1;
1809
- const {
1810
- TouchEvent: t
1811
- } = $(e.target);
1812
- return t && e instanceof t;
1813
- }
1814
- function Lt(e) {
1815
- if (go(e)) {
1816
- if (e.touches && e.touches.length) {
1817
- const {
1818
- clientX: t,
1819
- clientY: A
1820
- } = e.touches[0];
1821
- return {
1822
- x: t,
1823
- y: A
1824
- };
1825
- } else if (e.changedTouches && e.changedTouches.length) {
1826
- const {
1827
- clientX: t,
1828
- clientY: A
1829
- } = e.changedTouches[0];
1830
- return {
1831
- x: t,
1832
- y: A
1833
- };
1834
- }
1835
- }
1836
- return uo(e) ? {
1837
- x: e.clientX,
1838
- y: e.clientY
1839
- } : null;
1840
- }
1841
- const Ct = /* @__PURE__ */ Object.freeze({
1842
- Translate: {
1843
- toString(e) {
1844
- if (!e)
1845
- return;
1846
- const {
1847
- x: t,
1848
- y: A
1849
- } = e;
1850
- return "translate3d(" + (t ? Math.round(t) : 0) + "px, " + (A ? Math.round(A) : 0) + "px, 0)";
1851
- }
1852
- },
1853
- Scale: {
1854
- toString(e) {
1855
- if (!e)
1856
- return;
1857
- const {
1858
- scaleX: t,
1859
- scaleY: A
1860
- } = e;
1861
- return "scaleX(" + t + ") scaleY(" + A + ")";
1862
- }
1863
- },
1864
- Transform: {
1865
- toString(e) {
1866
- if (e)
1867
- return [Ct.Translate.toString(e), Ct.Scale.toString(e)].join(" ");
1868
- }
1869
- },
1870
- Transition: {
1871
- toString(e) {
1872
- let {
1873
- property: t,
1874
- duration: A,
1875
- easing: n
1876
- } = e;
1877
- return t + " " + A + "ms " + n;
1878
- }
1879
- }
1880
- }), CA = "a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";
1881
- function ho(e) {
1882
- return e.matches(CA) ? e : e.querySelector(CA);
1883
- }
1884
- const fo = {
1885
- display: "none"
1886
- };
1887
- function Io(e) {
1888
- let {
1889
- id: t,
1890
- value: A
1891
- } = e;
1892
- return q.createElement("div", {
1893
- id: t,
1894
- style: fo
1895
- }, A);
1896
- }
1897
- function po(e) {
1898
- let {
1899
- id: t,
1900
- announcement: A,
1901
- ariaLiveType: n = "assertive"
1902
- } = e;
1903
- const r = {
1904
- position: "fixed",
1905
- top: 0,
1906
- left: 0,
1907
- width: 1,
1908
- height: 1,
1909
- margin: -1,
1910
- border: 0,
1911
- padding: 0,
1912
- overflow: "hidden",
1913
- clip: "rect(0 0 0 0)",
1914
- clipPath: "inset(100%)",
1915
- whiteSpace: "nowrap"
1916
- };
1917
- return q.createElement("div", {
1918
- id: t,
1919
- style: r,
1920
- role: "status",
1921
- "aria-live": n,
1922
- "aria-atomic": !0
1923
- }, A);
1924
- }
1925
- function Co() {
1926
- const [e, t] = U("");
1927
- return {
1928
- announce: M((n) => {
1929
- n != null && t(n);
1930
- }, []),
1931
- announcement: e
1932
- };
1933
- }
1934
- const UA = /* @__PURE__ */ ot(null);
1935
- function bo(e) {
1936
- const t = Ke(UA);
1937
- S(() => {
1938
- if (!t)
1939
- throw new Error("useDndMonitor must be used within a children of <DndContext>");
1940
- return t(e);
1941
- }, [e, t]);
1942
- }
1943
- function mo() {
1944
- const [e] = U(() => /* @__PURE__ */ new Set()), t = M((n) => (e.add(n), () => e.delete(n)), [e]);
1945
- return [M((n) => {
1946
- let {
1947
- type: r,
1948
- event: o
1949
- } = n;
1950
- e.forEach((s) => {
1951
- var i;
1952
- return (i = s[r]) == null ? void 0 : i.call(s, o);
1953
- });
1954
- }, [e]), t];
1955
- }
1956
- const Bo = {
1957
- draggable: `
1958
- To pick up a draggable item, press the space bar.
1959
- While dragging, use the arrow keys to move the item.
1960
- Press space again to drop the item in its new position, or press escape to cancel.
1961
- `
1962
- }, wo = {
1963
- onDragStart(e) {
1964
- let {
1965
- active: t
1966
- } = e;
1967
- return "Picked up draggable item " + t.id + ".";
1968
- },
1969
- onDragOver(e) {
1970
- let {
1971
- active: t,
1972
- over: A
1973
- } = e;
1974
- return A ? "Draggable item " + t.id + " was moved over droppable area " + A.id + "." : "Draggable item " + t.id + " is no longer over a droppable area.";
1975
- },
1976
- onDragEnd(e) {
1977
- let {
1978
- active: t,
1979
- over: A
1980
- } = e;
1981
- return A ? "Draggable item " + t.id + " was dropped over droppable area " + A.id : "Draggable item " + t.id + " was dropped.";
1982
- },
1983
- onDragCancel(e) {
1984
- let {
1985
- active: t
1986
- } = e;
1987
- return "Dragging was cancelled. Draggable item " + t.id + " was dropped.";
1988
- }
1989
- };
1990
- function yo(e) {
1991
- let {
1992
- announcements: t = wo,
1993
- container: A,
1994
- hiddenTextDescribedById: n,
1995
- screenReaderInstructions: r = Bo
1996
- } = e;
1997
- const {
1998
- announce: o,
1999
- announcement: s
2000
- } = Co(), i = at("DndLiveRegion"), [c, a] = U(!1);
2001
- if (S(() => {
2002
- a(!0);
2003
- }, []), bo(J(() => ({
2004
- onDragStart(l) {
2005
- let {
2006
- active: g
2007
- } = l;
2008
- o(t.onDragStart({
2009
- active: g
2010
- }));
2011
- },
2012
- onDragMove(l) {
2013
- let {
2014
- active: g,
2015
- over: d
2016
- } = l;
2017
- t.onDragMove && o(t.onDragMove({
2018
- active: g,
2019
- over: d
2020
- }));
2021
- },
2022
- onDragOver(l) {
2023
- let {
2024
- active: g,
2025
- over: d
2026
- } = l;
2027
- o(t.onDragOver({
2028
- active: g,
2029
- over: d
2030
- }));
2031
- },
2032
- onDragEnd(l) {
2033
- let {
2034
- active: g,
2035
- over: d
2036
- } = l;
2037
- o(t.onDragEnd({
2038
- active: g,
2039
- over: d
2040
- }));
2041
- },
2042
- onDragCancel(l) {
2043
- let {
2044
- active: g,
2045
- over: d
2046
- } = l;
2047
- o(t.onDragCancel({
2048
- active: g,
2049
- over: d
2050
- }));
2051
- }
2052
- }), [o, t])), !c)
2053
- return null;
2054
- const u = q.createElement(q.Fragment, null, q.createElement(Io, {
2055
- id: n,
2056
- value: r.draggable
2057
- }), q.createElement(po, {
2058
- id: i,
2059
- announcement: s
2060
- }));
2061
- return A ? Dn(u, A) : u;
2062
- }
2063
- var H;
2064
- (function(e) {
2065
- e.DragStart = "dragStart", e.DragMove = "dragMove", e.DragEnd = "dragEnd", e.DragCancel = "dragCancel", e.DragOver = "dragOver", e.RegisterDroppable = "registerDroppable", e.SetDroppableDisabled = "setDroppableDisabled", e.UnregisterDroppable = "unregisterDroppable";
2066
- })(H || (H = {}));
2067
- function bt() {
2068
- }
2069
- function Rs(e, t) {
2070
- return J(
2071
- () => ({
2072
- sensor: e,
2073
- options: t ?? {}
2074
- }),
2075
- // eslint-disable-next-line react-hooks/exhaustive-deps
2076
- [e, t]
2077
- );
2078
- }
2079
- function Qs() {
2080
- for (var e = arguments.length, t = new Array(e), A = 0; A < e; A++)
2081
- t[A] = arguments[A];
2082
- return J(
2083
- () => [...t].filter((n) => n != null),
2084
- // eslint-disable-next-line react-hooks/exhaustive-deps
2085
- [...t]
2086
- );
2087
- }
2088
- const ae = /* @__PURE__ */ Object.freeze({
2089
- x: 0,
2090
- y: 0
2091
- });
2092
- function Do(e, t) {
2093
- return Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2));
2094
- }
2095
- function vo(e, t) {
2096
- let {
2097
- data: {
2098
- value: A
2099
- }
2100
- } = e, {
2101
- data: {
2102
- value: n
2103
- }
2104
- } = t;
2105
- return A - n;
2106
- }
2107
- function Eo(e, t) {
2108
- let {
2109
- data: {
2110
- value: A
2111
- }
2112
- } = e, {
2113
- data: {
2114
- value: n
2115
- }
2116
- } = t;
2117
- return n - A;
2118
- }
2119
- function bA(e) {
2120
- let {
2121
- left: t,
2122
- top: A,
2123
- height: n,
2124
- width: r
2125
- } = e;
2126
- return [{
2127
- x: t,
2128
- y: A
2129
- }, {
2130
- x: t + r,
2131
- y: A
2132
- }, {
2133
- x: t,
2134
- y: A + n
2135
- }, {
2136
- x: t + r,
2137
- y: A + n
2138
- }];
2139
- }
2140
- function kA(e, t) {
2141
- if (!e || e.length === 0)
2142
- return null;
2143
- const [A] = e;
2144
- return A[t];
2145
- }
2146
- const Ro = (e) => {
2147
- let {
2148
- collisionRect: t,
2149
- droppableRects: A,
2150
- droppableContainers: n
2151
- } = e;
2152
- const r = bA(t), o = [];
2153
- for (const s of n) {
2154
- const {
2155
- id: i
2156
- } = s, c = A.get(i);
2157
- if (c) {
2158
- const a = bA(c), u = r.reduce((g, d, p) => g + Do(a[p], d), 0), l = Number((u / 4).toFixed(4));
2159
- o.push({
2160
- id: i,
2161
- data: {
2162
- droppableContainer: s,
2163
- value: l
2164
- }
2165
- });
2166
- }
2167
- }
2168
- return o.sort(vo);
2169
- };
2170
- function Qo(e, t) {
2171
- const A = Math.max(t.top, e.top), n = Math.max(t.left, e.left), r = Math.min(t.left + t.width, e.left + e.width), o = Math.min(t.top + t.height, e.top + e.height), s = r - n, i = o - A;
2172
- if (n < r && A < o) {
2173
- const c = t.width * t.height, a = e.width * e.height, u = s * i, l = u / (c + a - u);
2174
- return Number(l.toFixed(4));
2175
- }
2176
- return 0;
2177
- }
2178
- const Fo = (e) => {
2179
- let {
2180
- collisionRect: t,
2181
- droppableRects: A,
2182
- droppableContainers: n
2183
- } = e;
2184
- const r = [];
2185
- for (const o of n) {
2186
- const {
2187
- id: s
2188
- } = o, i = A.get(s);
2189
- if (i) {
2190
- const c = Qo(i, t);
2191
- c > 0 && r.push({
2192
- id: s,
2193
- data: {
2194
- droppableContainer: o,
2195
- value: c
2196
- }
2197
- });
2198
- }
2199
- }
2200
- return r.sort(Eo);
2201
- };
2202
- function Ko(e, t, A) {
2203
- return {
2204
- ...e,
2205
- scaleX: t && A ? t.width / A.width : 1,
2206
- scaleY: t && A ? t.height / A.height : 1
2207
- };
2208
- }
2209
- function OA(e, t) {
2210
- return e && t ? {
2211
- x: e.left - t.left,
2212
- y: e.top - t.top
2213
- } : ae;
2214
- }
2215
- function So(e) {
2216
- return function(A) {
2217
- for (var n = arguments.length, r = new Array(n > 1 ? n - 1 : 0), o = 1; o < n; o++)
2218
- r[o - 1] = arguments[o];
2219
- return r.reduce((s, i) => ({
2220
- ...s,
2221
- top: s.top + e * i.y,
2222
- bottom: s.bottom + e * i.y,
2223
- left: s.left + e * i.x,
2224
- right: s.right + e * i.x
2225
- }), {
2226
- ...A
2227
- });
2228
- };
2229
- }
2230
- const Go = /* @__PURE__ */ So(1);
2231
- function Yo(e) {
2232
- if (e.startsWith("matrix3d(")) {
2233
- const t = e.slice(9, -1).split(/, /);
2234
- return {
2235
- x: +t[12],
2236
- y: +t[13],
2237
- scaleX: +t[0],
2238
- scaleY: +t[5]
2239
- };
2240
- } else if (e.startsWith("matrix(")) {
2241
- const t = e.slice(7, -1).split(/, /);
2242
- return {
2243
- x: +t[4],
2244
- y: +t[5],
2245
- scaleX: +t[0],
2246
- scaleY: +t[3]
2247
- };
2248
- }
2249
- return null;
2250
- }
2251
- function Wo(e, t, A) {
2252
- const n = Yo(t);
2253
- if (!n)
2254
- return e;
2255
- const {
2256
- scaleX: r,
2257
- scaleY: o,
2258
- x: s,
2259
- y: i
2260
- } = n, c = e.left - s - (1 - r) * parseFloat(A), a = e.top - i - (1 - o) * parseFloat(A.slice(A.indexOf(" ") + 1)), u = r ? e.width / r : e.width, l = o ? e.height / o : e.height;
2261
- return {
2262
- width: u,
2263
- height: l,
2264
- top: a,
2265
- right: c + u,
2266
- bottom: a + l,
2267
- left: c
2268
- };
2269
- }
2270
- const No = {
2271
- ignoreTransform: !1
2272
- };
2273
- function je(e, t) {
2274
- t === void 0 && (t = No);
2275
- let A = e.getBoundingClientRect();
2276
- if (t.ignoreTransform) {
2277
- const {
2278
- transform: a,
2279
- transformOrigin: u
2280
- } = $(e).getComputedStyle(e);
2281
- a && (A = Wo(A, a, u));
2282
- }
2283
- const {
2284
- top: n,
2285
- left: r,
2286
- width: o,
2287
- height: s,
2288
- bottom: i,
2289
- right: c
2290
- } = A;
2291
- return {
2292
- top: n,
2293
- left: r,
2294
- width: o,
2295
- height: s,
2296
- bottom: i,
2297
- right: c
2298
- };
2299
- }
2300
- function mA(e) {
2301
- return je(e, {
2302
- ignoreTransform: !0
2303
- });
2304
- }
2305
- function Jo(e) {
2306
- const t = e.innerWidth, A = e.innerHeight;
2307
- return {
2308
- top: 0,
2309
- left: 0,
2310
- right: t,
2311
- bottom: A,
2312
- width: t,
2313
- height: A
2314
- };
2315
- }
2316
- function xo(e, t) {
2317
- return t === void 0 && (t = $(e).getComputedStyle(e)), t.position === "fixed";
2318
- }
2319
- function Zo(e, t) {
2320
- t === void 0 && (t = $(e).getComputedStyle(e));
2321
- const A = /(auto|scroll|overlay)/;
2322
- return ["overflow", "overflowX", "overflowY"].some((r) => {
2323
- const o = t[r];
2324
- return typeof o == "string" ? A.test(o) : !1;
2325
- });
2326
- }
2327
- function Rt(e, t) {
2328
- const A = [];
2329
- function n(r) {
2330
- if (t != null && A.length >= t || !r)
2331
- return A;
2332
- if (_t(r) && r.scrollingElement != null && !A.includes(r.scrollingElement))
2333
- return A.push(r.scrollingElement), A;
2334
- if (!st(r) || MA(r) || A.includes(r))
2335
- return A;
2336
- const o = $(e).getComputedStyle(r);
2337
- return r !== e && Zo(r, o) && A.push(r), xo(r, o) ? A : n(r.parentNode);
2338
- }
2339
- return e ? n(e) : A;
2340
- }
2341
- function XA(e) {
2342
- const [t] = Rt(e, 1);
2343
- return t ?? null;
2344
- }
2345
- function Mt(e) {
2346
- return !Et || !e ? null : Xe(e) ? e : Vt(e) ? _t(e) || e === Le(e).scrollingElement ? window : st(e) ? e : null : null;
2347
- }
2348
- function LA(e) {
2349
- return Xe(e) ? e.scrollX : e.scrollLeft;
2350
- }
2351
- function jA(e) {
2352
- return Xe(e) ? e.scrollY : e.scrollTop;
2353
- }
2354
- function jt(e) {
2355
- return {
2356
- x: LA(e),
2357
- y: jA(e)
2358
- };
2359
- }
2360
- var X;
2361
- (function(e) {
2362
- e[e.Forward = 1] = "Forward", e[e.Backward = -1] = "Backward";
2363
- })(X || (X = {}));
2364
- function TA(e) {
2365
- return !Et || !e ? !1 : e === document.scrollingElement;
2366
- }
2367
- function PA(e) {
2368
- const t = {
2369
- x: 0,
2370
- y: 0
2371
- }, A = TA(e) ? {
2372
- height: window.innerHeight,
2373
- width: window.innerWidth
2374
- } : {
2375
- height: e.clientHeight,
2376
- width: e.clientWidth
2377
- }, n = {
2378
- x: e.scrollWidth - A.width,
2379
- y: e.scrollHeight - A.height
2380
- }, r = e.scrollTop <= t.y, o = e.scrollLeft <= t.x, s = e.scrollTop >= n.y, i = e.scrollLeft >= n.x;
2381
- return {
2382
- isTop: r,
2383
- isLeft: o,
2384
- isBottom: s,
2385
- isRight: i,
2386
- maxScroll: n,
2387
- minScroll: t
2388
- };
2389
- }
2390
- const Mo = {
2391
- x: 0.2,
2392
- y: 0.2
2393
- };
2394
- function Ho(e, t, A, n, r) {
2395
- let {
2396
- top: o,
2397
- left: s,
2398
- right: i,
2399
- bottom: c
2400
- } = A;
2401
- n === void 0 && (n = 10), r === void 0 && (r = Mo);
2402
- const {
2403
- isTop: a,
2404
- isBottom: u,
2405
- isLeft: l,
2406
- isRight: g
2407
- } = PA(e), d = {
2408
- x: 0,
2409
- y: 0
2410
- }, p = {
2411
- x: 0,
2412
- y: 0
2413
- }, h = {
2414
- height: t.height * r.y,
2415
- width: t.width * r.x
2416
- };
2417
- return !a && o <= t.top + h.height ? (d.y = X.Backward, p.y = n * Math.abs((t.top + h.height - o) / h.height)) : !u && c >= t.bottom - h.height && (d.y = X.Forward, p.y = n * Math.abs((t.bottom - h.height - c) / h.height)), !g && i >= t.right - h.width ? (d.x = X.Forward, p.x = n * Math.abs((t.right - h.width - i) / h.width)) : !l && s <= t.left + h.width && (d.x = X.Backward, p.x = n * Math.abs((t.left + h.width - s) / h.width)), {
2418
- direction: d,
2419
- speed: p
2420
- };
2421
- }
2422
- function Uo(e) {
2423
- if (e === document.scrollingElement) {
2424
- const {
2425
- innerWidth: o,
2426
- innerHeight: s
2427
- } = window;
2428
- return {
2429
- top: 0,
2430
- left: 0,
2431
- right: o,
2432
- bottom: s,
2433
- width: o,
2434
- height: s
2435
- };
2436
- }
2437
- const {
2438
- top: t,
2439
- left: A,
2440
- right: n,
2441
- bottom: r
2442
- } = e.getBoundingClientRect();
2443
- return {
2444
- top: t,
2445
- left: A,
2446
- right: n,
2447
- bottom: r,
2448
- width: e.clientWidth,
2449
- height: e.clientHeight
2450
- };
2451
- }
2452
- function zA(e) {
2453
- return e.reduce((t, A) => ke(t, jt(A)), ae);
2454
- }
2455
- function ko(e) {
2456
- return e.reduce((t, A) => t + LA(A), 0);
2457
- }
2458
- function Oo(e) {
2459
- return e.reduce((t, A) => t + jA(A), 0);
2460
- }
2461
- function Xo(e, t) {
2462
- if (t === void 0 && (t = je), !e)
2463
- return;
2464
- const {
2465
- top: A,
2466
- left: n,
2467
- bottom: r,
2468
- right: o
2469
- } = t(e);
2470
- XA(e) && (r <= 0 || o <= 0 || A >= window.innerHeight || n >= window.innerWidth) && e.scrollIntoView({
2471
- block: "center",
2472
- inline: "center"
2473
- });
2474
- }
2475
- const Lo = [["x", ["left", "right"], ko], ["y", ["top", "bottom"], Oo]];
2476
- class eA {
2477
- constructor(t, A) {
2478
- this.rect = void 0, this.width = void 0, this.height = void 0, this.top = void 0, this.bottom = void 0, this.right = void 0, this.left = void 0;
2479
- const n = Rt(A), r = zA(n);
2480
- this.rect = {
2481
- ...t
2482
- }, this.width = t.width, this.height = t.height;
2483
- for (const [o, s, i] of Lo)
2484
- for (const c of s)
2485
- Object.defineProperty(this, c, {
2486
- get: () => {
2487
- const a = i(n), u = r[o] - a;
2488
- return this.rect[c] + u;
2489
- },
2490
- enumerable: !0
2491
- });
2492
- Object.defineProperty(this, "rect", {
2493
- enumerable: !1
2494
- });
2495
- }
2496
- }
2497
- class $e {
2498
- constructor(t) {
2499
- this.target = void 0, this.listeners = [], this.removeAll = () => {
2500
- this.listeners.forEach((A) => {
2501
- var n;
2502
- return (n = this.target) == null ? void 0 : n.removeEventListener(...A);
2503
- });
2504
- }, this.target = t;
2505
- }
2506
- add(t, A, n) {
2507
- var r;
2508
- (r = this.target) == null || r.addEventListener(t, A, n), this.listeners.push([t, A, n]);
2509
- }
2510
- }
2511
- function jo(e) {
2512
- const {
2513
- EventTarget: t
2514
- } = $(e);
2515
- return e instanceof t ? e : Le(e);
2516
- }
2517
- function Ht(e, t) {
2518
- const A = Math.abs(e.x), n = Math.abs(e.y);
2519
- return typeof t == "number" ? Math.sqrt(A ** 2 + n ** 2) > t : "x" in t && "y" in t ? A > t.x && n > t.y : "x" in t ? A > t.x : "y" in t ? n > t.y : !1;
2520
- }
2521
- var oe;
2522
- (function(e) {
2523
- e.Click = "click", e.DragStart = "dragstart", e.Keydown = "keydown", e.ContextMenu = "contextmenu", e.Resize = "resize", e.SelectionChange = "selectionchange", e.VisibilityChange = "visibilitychange";
2524
- })(oe || (oe = {}));
2525
- function BA(e) {
2526
- e.preventDefault();
2527
- }
2528
- function To(e) {
2529
- e.stopPropagation();
2530
- }
2531
- var E;
2532
- (function(e) {
2533
- e.Space = "Space", e.Down = "ArrowDown", e.Right = "ArrowRight", e.Left = "ArrowLeft", e.Up = "ArrowUp", e.Esc = "Escape", e.Enter = "Enter", e.Tab = "Tab";
2534
- })(E || (E = {}));
2535
- const VA = {
2536
- start: [E.Space, E.Enter],
2537
- cancel: [E.Esc],
2538
- end: [E.Space, E.Enter, E.Tab]
2539
- }, Po = (e, t) => {
2540
- let {
2541
- currentCoordinates: A
2542
- } = t;
2543
- switch (e.code) {
2544
- case E.Right:
2545
- return {
2546
- ...A,
2547
- x: A.x + 25
2548
- };
2549
- case E.Left:
2550
- return {
2551
- ...A,
2552
- x: A.x - 25
2553
- };
2554
- case E.Down:
2555
- return {
2556
- ...A,
2557
- y: A.y + 25
2558
- };
2559
- case E.Up:
2560
- return {
2561
- ...A,
2562
- y: A.y - 25
2563
- };
2564
- }
2565
- };
2566
- class _A {
2567
- constructor(t) {
2568
- this.props = void 0, this.autoScrollEnabled = !1, this.referenceCoordinates = void 0, this.listeners = void 0, this.windowListeners = void 0, this.props = t;
2569
- const {
2570
- event: {
2571
- target: A
2572
- }
2573
- } = t;
2574
- this.props = t, this.listeners = new $e(Le(A)), this.windowListeners = new $e($(A)), this.handleKeyDown = this.handleKeyDown.bind(this), this.handleCancel = this.handleCancel.bind(this), this.attach();
2575
- }
2576
- attach() {
2577
- this.handleStart(), this.windowListeners.add(oe.Resize, this.handleCancel), this.windowListeners.add(oe.VisibilityChange, this.handleCancel), setTimeout(() => this.listeners.add(oe.Keydown, this.handleKeyDown));
2578
- }
2579
- handleStart() {
2580
- const {
2581
- activeNode: t,
2582
- onStart: A
2583
- } = this.props, n = t.node.current;
2584
- n && Xo(n), A(ae);
2585
- }
2586
- handleKeyDown(t) {
2587
- if ($t(t)) {
2588
- const {
2589
- active: A,
2590
- context: n,
2591
- options: r
2592
- } = this.props, {
2593
- keyboardCodes: o = VA,
2594
- coordinateGetter: s = Po,
2595
- scrollBehavior: i = "smooth"
2596
- } = r, {
2597
- code: c
2598
- } = t;
2599
- if (o.end.includes(c)) {
2600
- this.handleEnd(t);
2601
- return;
2602
- }
2603
- if (o.cancel.includes(c)) {
2604
- this.handleCancel(t);
2605
- return;
2606
- }
2607
- const {
2608
- collisionRect: a
2609
- } = n.current, u = a ? {
2610
- x: a.left,
2611
- y: a.top
2612
- } : ae;
2613
- this.referenceCoordinates || (this.referenceCoordinates = u);
2614
- const l = s(t, {
2615
- active: A,
2616
- context: n.current,
2617
- currentCoordinates: u
2618
- });
2619
- if (l) {
2620
- const g = nt(l, u), d = {
2621
- x: 0,
2622
- y: 0
2623
- }, {
2624
- scrollableAncestors: p
2625
- } = n.current;
2626
- for (const h of p) {
2627
- const I = t.code, {
2628
- isTop: b,
2629
- isRight: m,
2630
- isLeft: C,
2631
- isBottom: B,
2632
- maxScroll: D,
2633
- minScroll: R
2634
- } = PA(h), w = Uo(h), y = {
2635
- x: Math.min(I === E.Right ? w.right - w.width / 2 : w.right, Math.max(I === E.Right ? w.left : w.left + w.width / 2, l.x)),
2636
- y: Math.min(I === E.Down ? w.bottom - w.height / 2 : w.bottom, Math.max(I === E.Down ? w.top : w.top + w.height / 2, l.y))
2637
- }, W = I === E.Right && !m || I === E.Left && !C, F = I === E.Down && !B || I === E.Up && !b;
2638
- if (W && y.x !== l.x) {
2639
- const K = h.scrollLeft + g.x, j = I === E.Right && K <= D.x || I === E.Left && K >= R.x;
2640
- if (j && !g.y) {
2641
- h.scrollTo({
2642
- left: K,
2643
- behavior: i
2644
- });
2645
- return;
2646
- }
2647
- j ? d.x = h.scrollLeft - K : d.x = I === E.Right ? h.scrollLeft - D.x : h.scrollLeft - R.x, d.x && h.scrollBy({
2648
- left: -d.x,
2649
- behavior: i
2650
- });
2651
- break;
2652
- } else if (F && y.y !== l.y) {
2653
- const K = h.scrollTop + g.y, j = I === E.Down && K <= D.y || I === E.Up && K >= R.y;
2654
- if (j && !g.x) {
2655
- h.scrollTo({
2656
- top: K,
2657
- behavior: i
2658
- });
2659
- return;
2660
- }
2661
- j ? d.y = h.scrollTop - K : d.y = I === E.Down ? h.scrollTop - D.y : h.scrollTop - R.y, d.y && h.scrollBy({
2662
- top: -d.y,
2663
- behavior: i
2664
- });
2665
- break;
2666
- }
2667
- }
2668
- this.handleMove(t, ke(nt(l, this.referenceCoordinates), d));
2669
- }
2670
- }
2671
- }
2672
- handleMove(t, A) {
2673
- const {
2674
- onMove: n
2675
- } = this.props;
2676
- t.preventDefault(), n(A);
2677
- }
2678
- handleEnd(t) {
2679
- const {
2680
- onEnd: A
2681
- } = this.props;
2682
- t.preventDefault(), this.detach(), A();
2683
- }
2684
- handleCancel(t) {
2685
- const {
2686
- onCancel: A
2687
- } = this.props;
2688
- t.preventDefault(), this.detach(), A();
2689
- }
2690
- detach() {
2691
- this.listeners.removeAll(), this.windowListeners.removeAll();
2692
- }
2693
- }
2694
- _A.activators = [{
2695
- eventName: "onKeyDown",
2696
- handler: (e, t, A) => {
2697
- let {
2698
- keyboardCodes: n = VA,
2699
- onActivation: r
2700
- } = t, {
2701
- active: o
2702
- } = A;
2703
- const {
2704
- code: s
2705
- } = e.nativeEvent;
2706
- if (n.start.includes(s)) {
2707
- const i = o.activatorNode.current;
2708
- return i && e.target !== i ? !1 : (e.preventDefault(), r == null || r({
2709
- event: e.nativeEvent
2710
- }), !0);
2711
- }
2712
- return !1;
2713
- }
2714
- }];
2715
- function wA(e) {
2716
- return !!(e && "distance" in e);
2717
- }
2718
- function yA(e) {
2719
- return !!(e && "delay" in e);
2720
- }
2721
- class tA {
2722
- constructor(t, A, n) {
2723
- var r;
2724
- n === void 0 && (n = jo(t.event.target)), this.props = void 0, this.events = void 0, this.autoScrollEnabled = !0, this.document = void 0, this.activated = !1, this.initialCoordinates = void 0, this.timeoutId = null, this.listeners = void 0, this.documentListeners = void 0, this.windowListeners = void 0, this.props = t, this.events = A;
2725
- const {
2726
- event: o
2727
- } = t, {
2728
- target: s
2729
- } = o;
2730
- this.props = t, this.events = A, this.document = Le(s), this.documentListeners = new $e(this.document), this.listeners = new $e(n), this.windowListeners = new $e($(s)), this.initialCoordinates = (r = Lt(o)) != null ? r : ae, this.handleStart = this.handleStart.bind(this), this.handleMove = this.handleMove.bind(this), this.handleEnd = this.handleEnd.bind(this), this.handleCancel = this.handleCancel.bind(this), this.handleKeydown = this.handleKeydown.bind(this), this.removeTextSelection = this.removeTextSelection.bind(this), this.attach();
2731
- }
2732
- attach() {
2733
- const {
2734
- events: t,
2735
- props: {
2736
- options: {
2737
- activationConstraint: A,
2738
- bypassActivationConstraint: n
2739
- }
2740
- }
2741
- } = this;
2742
- if (this.listeners.add(t.move.name, this.handleMove, {
2743
- passive: !1
2744
- }), this.listeners.add(t.end.name, this.handleEnd), t.cancel && this.listeners.add(t.cancel.name, this.handleCancel), this.windowListeners.add(oe.Resize, this.handleCancel), this.windowListeners.add(oe.DragStart, BA), this.windowListeners.add(oe.VisibilityChange, this.handleCancel), this.windowListeners.add(oe.ContextMenu, BA), this.documentListeners.add(oe.Keydown, this.handleKeydown), A) {
2745
- if (n != null && n({
2746
- event: this.props.event,
2747
- activeNode: this.props.activeNode,
2748
- options: this.props.options
2749
- }))
2750
- return this.handleStart();
2751
- if (yA(A)) {
2752
- this.timeoutId = setTimeout(this.handleStart, A.delay), this.handlePending(A);
2753
- return;
2754
- }
2755
- if (wA(A)) {
2756
- this.handlePending(A);
2757
- return;
2758
- }
2759
- }
2760
- this.handleStart();
2761
- }
2762
- detach() {
2763
- this.listeners.removeAll(), this.windowListeners.removeAll(), setTimeout(this.documentListeners.removeAll, 50), this.timeoutId !== null && (clearTimeout(this.timeoutId), this.timeoutId = null);
2764
- }
2765
- handlePending(t, A) {
2766
- const {
2767
- active: n,
2768
- onPending: r
2769
- } = this.props;
2770
- r(n, t, this.initialCoordinates, A);
2771
- }
2772
- handleStart() {
2773
- const {
2774
- initialCoordinates: t
2775
- } = this, {
2776
- onStart: A
2777
- } = this.props;
2778
- t && (this.activated = !0, this.documentListeners.add(oe.Click, To, {
2779
- capture: !0
2780
- }), this.removeTextSelection(), this.documentListeners.add(oe.SelectionChange, this.removeTextSelection), A(t));
2781
- }
2782
- handleMove(t) {
2783
- var A;
2784
- const {
2785
- activated: n,
2786
- initialCoordinates: r,
2787
- props: o
2788
- } = this, {
2789
- onMove: s,
2790
- options: {
2791
- activationConstraint: i
2792
- }
2793
- } = o;
2794
- if (!r)
2795
- return;
2796
- const c = (A = Lt(t)) != null ? A : ae, a = nt(r, c);
2797
- if (!n && i) {
2798
- if (wA(i)) {
2799
- if (i.tolerance != null && Ht(a, i.tolerance))
2800
- return this.handleCancel();
2801
- if (Ht(a, i.distance))
2802
- return this.handleStart();
2803
- }
2804
- if (yA(i) && Ht(a, i.tolerance))
2805
- return this.handleCancel();
2806
- this.handlePending(i, a);
2807
- return;
2808
- }
2809
- t.cancelable && t.preventDefault(), s(c);
2810
- }
2811
- handleEnd() {
2812
- const {
2813
- onAbort: t,
2814
- onEnd: A
2815
- } = this.props;
2816
- this.detach(), this.activated || t(this.props.active), A();
2817
- }
2818
- handleCancel() {
2819
- const {
2820
- onAbort: t,
2821
- onCancel: A
2822
- } = this.props;
2823
- this.detach(), this.activated || t(this.props.active), A();
2824
- }
2825
- handleKeydown(t) {
2826
- t.code === E.Esc && this.handleCancel();
2827
- }
2828
- removeTextSelection() {
2829
- var t;
2830
- (t = this.document.getSelection()) == null || t.removeAllRanges();
2831
- }
2832
- }
2833
- const zo = {
2834
- cancel: {
2835
- name: "pointercancel"
2836
- },
2837
- move: {
2838
- name: "pointermove"
2839
- },
2840
- end: {
2841
- name: "pointerup"
2842
- }
2843
- };
2844
- class qA extends tA {
2845
- constructor(t) {
2846
- const {
2847
- event: A
2848
- } = t, n = Le(A.target);
2849
- super(t, zo, n);
2850
- }
2851
- }
2852
- qA.activators = [{
2853
- eventName: "onPointerDown",
2854
- handler: (e, t) => {
2855
- let {
2856
- nativeEvent: A
2857
- } = e, {
2858
- onActivation: n
2859
- } = t;
2860
- return !A.isPrimary || A.button !== 0 ? !1 : (n == null || n({
2861
- event: A
2862
- }), !0);
2863
- }
2864
- }];
2865
- const Vo = {
2866
- move: {
2867
- name: "mousemove"
2868
- },
2869
- end: {
2870
- name: "mouseup"
2871
- }
2872
- };
2873
- var Tt;
2874
- (function(e) {
2875
- e[e.RightClick = 2] = "RightClick";
2876
- })(Tt || (Tt = {}));
2877
- class _o extends tA {
2878
- constructor(t) {
2879
- super(t, Vo, Le(t.event.target));
2880
- }
2881
- }
2882
- _o.activators = [{
2883
- eventName: "onMouseDown",
2884
- handler: (e, t) => {
2885
- let {
2886
- nativeEvent: A
2887
- } = e, {
2888
- onActivation: n
2889
- } = t;
2890
- return A.button === Tt.RightClick ? !1 : (n == null || n({
2891
- event: A
2892
- }), !0);
2893
- }
2894
- }];
2895
- const Ut = {
2896
- cancel: {
2897
- name: "touchcancel"
2898
- },
2899
- move: {
2900
- name: "touchmove"
2901
- },
2902
- end: {
2903
- name: "touchend"
2904
- }
2905
- };
2906
- class qo extends tA {
2907
- constructor(t) {
2908
- super(t, Ut);
2909
- }
2910
- static setup() {
2911
- return window.addEventListener(Ut.move.name, t, {
2912
- capture: !1,
2913
- passive: !1
2914
- }), function() {
2915
- window.removeEventListener(Ut.move.name, t);
2916
- };
2917
- function t() {
2918
- }
2919
- }
2920
- }
2921
- qo.activators = [{
2922
- eventName: "onTouchStart",
2923
- handler: (e, t) => {
2924
- let {
2925
- nativeEvent: A
2926
- } = e, {
2927
- onActivation: n
2928
- } = t;
2929
- const {
2930
- touches: r
2931
- } = A;
2932
- return r.length > 1 ? !1 : (n == null || n({
2933
- event: A
2934
- }), !0);
2935
- }
2936
- }];
2937
- var et;
2938
- (function(e) {
2939
- e[e.Pointer = 0] = "Pointer", e[e.DraggableRect = 1] = "DraggableRect";
2940
- })(et || (et = {}));
2941
- var mt;
2942
- (function(e) {
2943
- e[e.TreeOrder = 0] = "TreeOrder", e[e.ReversedTreeOrder = 1] = "ReversedTreeOrder";
2944
- })(mt || (mt = {}));
2945
- function $o(e) {
2946
- let {
2947
- acceleration: t,
2948
- activator: A = et.Pointer,
2949
- canScroll: n,
2950
- draggingRect: r,
2951
- enabled: o,
2952
- interval: s = 5,
2953
- order: i = mt.TreeOrder,
2954
- pointerCoordinates: c,
2955
- scrollableAncestors: a,
2956
- scrollableAncestorRects: u,
2957
- delta: l,
2958
- threshold: g
2959
- } = e;
2960
- const d = ti({
2961
- delta: l,
2962
- disabled: !o
2963
- }), [p, h] = lo(), I = G({
2964
- x: 0,
2965
- y: 0
2966
- }), b = G({
2967
- x: 0,
2968
- y: 0
2969
- }), m = J(() => {
2970
- switch (A) {
2971
- case et.Pointer:
2972
- return c ? {
2973
- top: c.y,
2974
- bottom: c.y,
2975
- left: c.x,
2976
- right: c.x
2977
- } : null;
2978
- case et.DraggableRect:
2979
- return r;
2980
- }
2981
- }, [A, r, c]), C = G(null), B = M(() => {
2982
- const R = C.current;
2983
- if (!R)
2984
- return;
2985
- const w = I.current.x * b.current.x, y = I.current.y * b.current.y;
2986
- R.scrollBy(w, y);
2987
- }, []), D = J(() => i === mt.TreeOrder ? [...a].reverse() : a, [i, a]);
2988
- S(
2989
- () => {
2990
- if (!o || !a.length || !m) {
2991
- h();
2992
- return;
2993
- }
2994
- for (const R of D) {
2995
- if ((n == null ? void 0 : n(R)) === !1)
2996
- continue;
2997
- const w = a.indexOf(R), y = u[w];
2998
- if (!y)
2999
- continue;
3000
- const {
3001
- direction: W,
3002
- speed: F
3003
- } = Ho(R, y, m, t, g);
3004
- for (const K of ["x", "y"])
3005
- d[K][W[K]] || (F[K] = 0, W[K] = 0);
3006
- if (F.x > 0 || F.y > 0) {
3007
- h(), C.current = R, p(B, s), I.current = F, b.current = W;
3008
- return;
3009
- }
3010
- }
3011
- I.current = {
3012
- x: 0,
3013
- y: 0
3014
- }, b.current = {
3015
- x: 0,
3016
- y: 0
3017
- }, h();
3018
- },
3019
- // eslint-disable-next-line react-hooks/exhaustive-deps
3020
- [
3021
- t,
3022
- B,
3023
- n,
3024
- h,
3025
- o,
3026
- s,
3027
- // eslint-disable-next-line react-hooks/exhaustive-deps
3028
- JSON.stringify(m),
3029
- // eslint-disable-next-line react-hooks/exhaustive-deps
3030
- JSON.stringify(d),
3031
- p,
3032
- a,
3033
- D,
3034
- u,
3035
- // eslint-disable-next-line react-hooks/exhaustive-deps
3036
- JSON.stringify(g)
3037
- ]
3038
- );
3039
- }
3040
- const ei = {
3041
- x: {
3042
- [X.Backward]: !1,
3043
- [X.Forward]: !1
3044
- },
3045
- y: {
3046
- [X.Backward]: !1,
3047
- [X.Forward]: !1
3048
- }
3049
- };
3050
- function ti(e) {
3051
- let {
3052
- delta: t,
3053
- disabled: A
3054
- } = e;
3055
- const n = Xt(t);
3056
- return ct((r) => {
3057
- if (A || !n || !r)
3058
- return ei;
3059
- const o = {
3060
- x: Math.sign(t.x - n.x),
3061
- y: Math.sign(t.y - n.y)
3062
- };
3063
- return {
3064
- x: {
3065
- [X.Backward]: r.x[X.Backward] || o.x === -1,
3066
- [X.Forward]: r.x[X.Forward] || o.x === 1
3067
- },
3068
- y: {
3069
- [X.Backward]: r.y[X.Backward] || o.y === -1,
3070
- [X.Forward]: r.y[X.Forward] || o.y === 1
3071
- }
3072
- };
3073
- }, [A, t, n]);
3074
- }
3075
- function Ai(e, t) {
3076
- const A = t != null ? e.get(t) : void 0, n = A ? A.node.current : null;
3077
- return ct((r) => {
3078
- var o;
3079
- return t == null ? null : (o = n ?? r) != null ? o : null;
3080
- }, [n, t]);
3081
- }
3082
- function ni(e, t) {
3083
- return J(() => e.reduce((A, n) => {
3084
- const {
3085
- sensor: r
3086
- } = n, o = r.activators.map((s) => ({
3087
- eventName: s.eventName,
3088
- handler: t(s.handler, n)
3089
- }));
3090
- return [...A, ...o];
3091
- }, []), [e, t]);
3092
- }
3093
- var rt;
3094
- (function(e) {
3095
- e[e.Always = 0] = "Always", e[e.BeforeDragging = 1] = "BeforeDragging", e[e.WhileDragging = 2] = "WhileDragging";
3096
- })(rt || (rt = {}));
3097
- var Pt;
3098
- (function(e) {
3099
- e.Optimized = "optimized";
3100
- })(Pt || (Pt = {}));
3101
- const DA = /* @__PURE__ */ new Map();
3102
- function ri(e, t) {
3103
- let {
3104
- dragging: A,
3105
- dependencies: n,
3106
- config: r
3107
- } = t;
3108
- const [o, s] = U(null), {
3109
- frequency: i,
3110
- measure: c,
3111
- strategy: a
3112
- } = r, u = G(e), l = I(), g = At(l), d = M(function(b) {
3113
- b === void 0 && (b = []), !g.current && s((m) => m === null ? b : m.concat(b.filter((C) => !m.includes(C))));
3114
- }, [g]), p = G(null), h = ct((b) => {
3115
- if (l && !A)
3116
- return DA;
3117
- if (!b || b === DA || u.current !== e || o != null) {
3118
- const m = /* @__PURE__ */ new Map();
3119
- for (let C of e) {
3120
- if (!C)
3121
- continue;
3122
- if (o && o.length > 0 && !o.includes(C.id) && C.rect.current) {
3123
- m.set(C.id, C.rect.current);
3124
- continue;
3125
- }
3126
- const B = C.node.current, D = B ? new eA(c(B), B) : null;
3127
- C.rect.current = D, D && m.set(C.id, D);
3128
- }
3129
- return m;
3130
- }
3131
- return b;
3132
- }, [e, o, A, l, c]);
3133
- return S(() => {
3134
- u.current = e;
3135
- }, [e]), S(
3136
- () => {
3137
- l || d();
3138
- },
3139
- // eslint-disable-next-line react-hooks/exhaustive-deps
3140
- [A, l]
3141
- ), S(
3142
- () => {
3143
- o && o.length > 0 && s(null);
3144
- },
3145
- //eslint-disable-next-line react-hooks/exhaustive-deps
3146
- [JSON.stringify(o)]
3147
- ), S(
3148
- () => {
3149
- l || typeof i != "number" || p.current !== null || (p.current = setTimeout(() => {
3150
- d(), p.current = null;
3151
- }, i));
3152
- },
3153
- // eslint-disable-next-line react-hooks/exhaustive-deps
3154
- [i, l, d, ...n]
3155
- ), {
3156
- droppableRects: h,
3157
- measureDroppableContainers: d,
3158
- measuringScheduled: o != null
3159
- };
3160
- function I() {
3161
- switch (a) {
3162
- case rt.Always:
3163
- return !1;
3164
- case rt.BeforeDragging:
3165
- return A;
3166
- default:
3167
- return !A;
3168
- }
3169
- }
3170
- }
3171
- function $A(e, t) {
3172
- return ct((A) => e ? A || (typeof t == "function" ? t(e) : e) : null, [t, e]);
3173
- }
3174
- function oi(e, t) {
3175
- return $A(e, t);
3176
- }
3177
- function ii(e) {
3178
- let {
3179
- callback: t,
3180
- disabled: A
3181
- } = e;
3182
- const n = qt(t), r = J(() => {
3183
- if (A || typeof window > "u" || typeof window.MutationObserver > "u")
3184
- return;
3185
- const {
3186
- MutationObserver: o
3187
- } = window;
3188
- return new o(n);
3189
- }, [n, A]);
3190
- return S(() => () => r == null ? void 0 : r.disconnect(), [r]), r;
3191
- }
3192
- function Qt(e) {
3193
- let {
3194
- callback: t,
3195
- disabled: A
3196
- } = e;
3197
- const n = qt(t), r = J(
3198
- () => {
3199
- if (A || typeof window > "u" || typeof window.ResizeObserver > "u")
3200
- return;
3201
- const {
3202
- ResizeObserver: o
3203
- } = window;
3204
- return new o(n);
3205
- },
3206
- // eslint-disable-next-line react-hooks/exhaustive-deps
3207
- [A]
3208
- );
3209
- return S(() => () => r == null ? void 0 : r.disconnect(), [r]), r;
3210
- }
3211
- function si(e) {
3212
- return new eA(je(e), e);
3213
- }
3214
- function vA(e, t, A) {
3215
- t === void 0 && (t = si);
3216
- const [n, r] = U(null);
3217
- function o() {
3218
- r((c) => {
3219
- if (!e)
3220
- return null;
3221
- if (e.isConnected === !1) {
3222
- var a;
3223
- return (a = c ?? A) != null ? a : null;
3224
- }
3225
- const u = t(e);
3226
- return JSON.stringify(c) === JSON.stringify(u) ? c : u;
3227
- });
3228
- }
3229
- const s = ii({
3230
- callback(c) {
3231
- if (e)
3232
- for (const a of c) {
3233
- const {
3234
- type: u,
3235
- target: l
3236
- } = a;
3237
- if (u === "childList" && l instanceof HTMLElement && l.contains(e)) {
3238
- o();
3239
- break;
3240
- }
3241
- }
3242
- }
3243
- }), i = Qt({
3244
- callback: o
3245
- });
3246
- return he(() => {
3247
- o(), e ? (i == null || i.observe(e), s == null || s.observe(document.body, {
3248
- childList: !0,
3249
- subtree: !0
3250
- })) : (i == null || i.disconnect(), s == null || s.disconnect());
3251
- }, [e]), n;
3252
- }
3253
- function ci(e) {
3254
- const t = $A(e);
3255
- return OA(e, t);
3256
- }
3257
- const EA = [];
3258
- function ai(e) {
3259
- const t = G(e), A = ct((n) => e ? n && n !== EA && e && t.current && e.parentNode === t.current.parentNode ? n : Rt(e) : EA, [e]);
3260
- return S(() => {
3261
- t.current = e;
3262
- }, [e]), A;
3263
- }
3264
- function li(e) {
3265
- const [t, A] = U(null), n = G(e), r = M((o) => {
3266
- const s = Mt(o.target);
3267
- s && A((i) => i ? (i.set(s, jt(s)), new Map(i)) : null);
3268
- }, []);
3269
- return S(() => {
3270
- const o = n.current;
3271
- if (e !== o) {
3272
- s(o);
3273
- const i = e.map((c) => {
3274
- const a = Mt(c);
3275
- return a ? (a.addEventListener("scroll", r, {
3276
- passive: !0
3277
- }), [a, jt(a)]) : null;
3278
- }).filter((c) => c != null);
3279
- A(i.length ? new Map(i) : null), n.current = e;
3280
- }
3281
- return () => {
3282
- s(e), s(o);
3283
- };
3284
- function s(i) {
3285
- i.forEach((c) => {
3286
- const a = Mt(c);
3287
- a == null || a.removeEventListener("scroll", r);
3288
- });
3289
- }
3290
- }, [r, e]), J(() => e.length ? t ? Array.from(t.values()).reduce((o, s) => ke(o, s), ae) : zA(e) : ae, [e, t]);
3291
- }
3292
- function RA(e, t) {
3293
- t === void 0 && (t = []);
3294
- const A = G(null);
3295
- return S(
3296
- () => {
3297
- A.current = null;
3298
- },
3299
- // eslint-disable-next-line react-hooks/exhaustive-deps
3300
- t
3301
- ), S(() => {
3302
- const n = e !== ae;
3303
- n && !A.current && (A.current = e), !n && A.current && (A.current = null);
3304
- }, [e]), A.current ? nt(e, A.current) : ae;
3305
- }
3306
- function ui(e) {
3307
- S(
3308
- () => {
3309
- if (!Et)
3310
- return;
3311
- const t = e.map((A) => {
3312
- let {
3313
- sensor: n
3314
- } = A;
3315
- return n.setup == null ? void 0 : n.setup();
3316
- });
3317
- return () => {
3318
- for (const A of t)
3319
- A == null || A();
3320
- };
3321
- },
3322
- // TO-DO: Sensors length could theoretically change which would not be a valid dependency
3323
- // eslint-disable-next-line react-hooks/exhaustive-deps
3324
- e.map((t) => {
3325
- let {
3326
- sensor: A
3327
- } = t;
3328
- return A;
3329
- })
3330
- );
3331
- }
3332
- function di(e, t) {
3333
- return J(() => e.reduce((A, n) => {
3334
- let {
3335
- eventName: r,
3336
- handler: o
3337
- } = n;
3338
- return A[r] = (s) => {
3339
- o(s, t);
3340
- }, A;
3341
- }, {}), [e, t]);
3342
- }
3343
- function en(e) {
3344
- return J(() => e ? Jo(e) : null, [e]);
3345
- }
3346
- const QA = [];
3347
- function gi(e, t) {
3348
- t === void 0 && (t = je);
3349
- const [A] = e, n = en(A ? $(A) : null), [r, o] = U(QA);
3350
- function s() {
3351
- o(() => e.length ? e.map((c) => TA(c) ? n : new eA(t(c), c)) : QA);
3352
- }
3353
- const i = Qt({
3354
- callback: s
3355
- });
3356
- return he(() => {
3357
- i == null || i.disconnect(), s(), e.forEach((c) => i == null ? void 0 : i.observe(c));
3358
- }, [e]), r;
3359
- }
3360
- function hi(e) {
3361
- if (!e)
3362
- return null;
3363
- if (e.children.length > 1)
3364
- return e;
3365
- const t = e.children[0];
3366
- return st(t) ? t : e;
3367
- }
3368
- function fi(e) {
3369
- let {
3370
- measure: t
3371
- } = e;
3372
- const [A, n] = U(null), r = M((a) => {
3373
- for (const {
3374
- target: u
3375
- } of a)
3376
- if (st(u)) {
3377
- n((l) => {
3378
- const g = t(u);
3379
- return l ? {
3380
- ...l,
3381
- width: g.width,
3382
- height: g.height
3383
- } : g;
3384
- });
3385
- break;
3386
- }
3387
- }, [t]), o = Qt({
3388
- callback: r
3389
- }), s = M((a) => {
3390
- const u = hi(a);
3391
- o == null || o.disconnect(), u && (o == null || o.observe(u)), n(u ? t(u) : null);
3392
- }, [t, o]), [i, c] = pt(s);
3393
- return J(() => ({
3394
- nodeRef: i,
3395
- rect: A,
3396
- setRef: c
3397
- }), [A, i, c]);
3398
- }
3399
- const Ii = [{
3400
- sensor: qA,
3401
- options: {}
3402
- }, {
3403
- sensor: _A,
3404
- options: {}
3405
- }], pi = {
3406
- current: {}
3407
- }, ft = {
3408
- draggable: {
3409
- measure: mA
3410
- },
3411
- droppable: {
3412
- measure: mA,
3413
- strategy: rt.WhileDragging,
3414
- frequency: Pt.Optimized
3415
- },
3416
- dragOverlay: {
3417
- measure: je
3418
- }
3419
- };
3420
- class tt extends Map {
3421
- get(t) {
3422
- var A;
3423
- return t != null && (A = super.get(t)) != null ? A : void 0;
3424
- }
3425
- toArray() {
3426
- return Array.from(this.values());
3427
- }
3428
- getEnabled() {
3429
- return this.toArray().filter((t) => {
3430
- let {
3431
- disabled: A
3432
- } = t;
3433
- return !A;
3434
- });
3435
- }
3436
- getNodeFor(t) {
3437
- var A, n;
3438
- return (A = (n = this.get(t)) == null ? void 0 : n.node.current) != null ? A : void 0;
3439
- }
3440
- }
3441
- const Ci = {
3442
- activatorEvent: null,
3443
- active: null,
3444
- activeNode: null,
3445
- activeNodeRect: null,
3446
- collisions: null,
3447
- containerNodeRect: null,
3448
- draggableNodes: /* @__PURE__ */ new Map(),
3449
- droppableRects: /* @__PURE__ */ new Map(),
3450
- droppableContainers: /* @__PURE__ */ new tt(),
3451
- over: null,
3452
- dragOverlay: {
3453
- nodeRef: {
3454
- current: null
3455
- },
3456
- rect: null,
3457
- setRef: bt
3458
- },
3459
- scrollableAncestors: [],
3460
- scrollableAncestorRects: [],
3461
- measuringConfiguration: ft,
3462
- measureDroppableContainers: bt,
3463
- windowRect: null,
3464
- measuringScheduled: !1
3465
- }, bi = {
3466
- activatorEvent: null,
3467
- activators: [],
3468
- active: null,
3469
- activeNodeRect: null,
3470
- ariaDescribedById: {
3471
- draggable: ""
3472
- },
3473
- dispatch: bt,
3474
- draggableNodes: /* @__PURE__ */ new Map(),
3475
- over: null,
3476
- measureDroppableContainers: bt
3477
- }, Ft = /* @__PURE__ */ ot(bi), tn = /* @__PURE__ */ ot(Ci);
3478
- function mi() {
3479
- return {
3480
- draggable: {
3481
- active: null,
3482
- initialCoordinates: {
3483
- x: 0,
3484
- y: 0
3485
- },
3486
- nodes: /* @__PURE__ */ new Map(),
3487
- translate: {
3488
- x: 0,
3489
- y: 0
3490
- }
3491
- },
3492
- droppable: {
3493
- containers: new tt()
3494
- }
3495
- };
3496
- }
3497
- function Bi(e, t) {
3498
- switch (t.type) {
3499
- case H.DragStart:
3500
- return {
3501
- ...e,
3502
- draggable: {
3503
- ...e.draggable,
3504
- initialCoordinates: t.initialCoordinates,
3505
- active: t.active
3506
- }
3507
- };
3508
- case H.DragMove:
3509
- return e.draggable.active == null ? e : {
3510
- ...e,
3511
- draggable: {
3512
- ...e.draggable,
3513
- translate: {
3514
- x: t.coordinates.x - e.draggable.initialCoordinates.x,
3515
- y: t.coordinates.y - e.draggable.initialCoordinates.y
3516
- }
3517
- }
3518
- };
3519
- case H.DragEnd:
3520
- case H.DragCancel:
3521
- return {
3522
- ...e,
3523
- draggable: {
3524
- ...e.draggable,
3525
- active: null,
3526
- initialCoordinates: {
3527
- x: 0,
3528
- y: 0
3529
- },
3530
- translate: {
3531
- x: 0,
3532
- y: 0
3533
- }
3534
- }
3535
- };
3536
- case H.RegisterDroppable: {
3537
- const {
3538
- element: A
3539
- } = t, {
3540
- id: n
3541
- } = A, r = new tt(e.droppable.containers);
3542
- return r.set(n, A), {
3543
- ...e,
3544
- droppable: {
3545
- ...e.droppable,
3546
- containers: r
3547
- }
3548
- };
3549
- }
3550
- case H.SetDroppableDisabled: {
3551
- const {
3552
- id: A,
3553
- key: n,
3554
- disabled: r
3555
- } = t, o = e.droppable.containers.get(A);
3556
- if (!o || n !== o.key)
3557
- return e;
3558
- const s = new tt(e.droppable.containers);
3559
- return s.set(A, {
3560
- ...o,
3561
- disabled: r
3562
- }), {
3563
- ...e,
3564
- droppable: {
3565
- ...e.droppable,
3566
- containers: s
3567
- }
3568
- };
3569
- }
3570
- case H.UnregisterDroppable: {
3571
- const {
3572
- id: A,
3573
- key: n
3574
- } = t, r = e.droppable.containers.get(A);
3575
- if (!r || n !== r.key)
3576
- return e;
3577
- const o = new tt(e.droppable.containers);
3578
- return o.delete(A), {
3579
- ...e,
3580
- droppable: {
3581
- ...e.droppable,
3582
- containers: o
3583
- }
3584
- };
3585
- }
3586
- default:
3587
- return e;
3588
- }
3589
- }
3590
- function wi(e) {
3591
- let {
3592
- disabled: t
3593
- } = e;
3594
- const {
3595
- active: A,
3596
- activatorEvent: n,
3597
- draggableNodes: r
3598
- } = Ke(Ft), o = Xt(n), s = Xt(A == null ? void 0 : A.id);
3599
- return S(() => {
3600
- if (!t && !n && o && s != null) {
3601
- if (!$t(o) || document.activeElement === o.target)
3602
- return;
3603
- const i = r.get(s);
3604
- if (!i)
3605
- return;
3606
- const {
3607
- activatorNode: c,
3608
- node: a
3609
- } = i;
3610
- if (!c.current && !a.current)
3611
- return;
3612
- requestAnimationFrame(() => {
3613
- for (const u of [c.current, a.current]) {
3614
- if (!u)
3615
- continue;
3616
- const l = ho(u);
3617
- if (l) {
3618
- l.focus();
3619
- break;
3620
- }
3621
- }
3622
- });
3623
- }
3624
- }, [n, t, r, s, o]), null;
3625
- }
3626
- function yi(e, t) {
3627
- let {
3628
- transform: A,
3629
- ...n
3630
- } = t;
3631
- return e != null && e.length ? e.reduce((r, o) => o({
3632
- transform: r,
3633
- ...n
3634
- }), A) : A;
3635
- }
3636
- function Di(e) {
3637
- return J(
3638
- () => ({
3639
- draggable: {
3640
- ...ft.draggable,
3641
- ...e == null ? void 0 : e.draggable
3642
- },
3643
- droppable: {
3644
- ...ft.droppable,
3645
- ...e == null ? void 0 : e.droppable
3646
- },
3647
- dragOverlay: {
3648
- ...ft.dragOverlay,
3649
- ...e == null ? void 0 : e.dragOverlay
3650
- }
3651
- }),
3652
- // eslint-disable-next-line react-hooks/exhaustive-deps
3653
- [e == null ? void 0 : e.draggable, e == null ? void 0 : e.droppable, e == null ? void 0 : e.dragOverlay]
3654
- );
3655
- }
3656
- function vi(e) {
3657
- let {
3658
- activeNode: t,
3659
- measure: A,
3660
- initialRect: n,
3661
- config: r = !0
3662
- } = e;
3663
- const o = G(!1), {
3664
- x: s,
3665
- y: i
3666
- } = typeof r == "boolean" ? {
3667
- x: r,
3668
- y: r
3669
- } : r;
3670
- he(() => {
3671
- if (!s && !i || !t) {
3672
- o.current = !1;
3673
- return;
3674
- }
3675
- if (o.current || !n)
3676
- return;
3677
- const a = t == null ? void 0 : t.node.current;
3678
- if (!a || a.isConnected === !1)
3679
- return;
3680
- const u = A(a), l = OA(u, n);
3681
- if (s || (l.x = 0), i || (l.y = 0), o.current = !0, Math.abs(l.x) > 0 || Math.abs(l.y) > 0) {
3682
- const g = XA(a);
3683
- g && g.scrollBy({
3684
- top: l.y,
3685
- left: l.x
3686
- });
3687
- }
3688
- }, [t, s, i, n, A]);
3689
- }
3690
- const An = /* @__PURE__ */ ot({
3691
- ...ae,
3692
- scaleX: 1,
3693
- scaleY: 1
3694
- });
3695
- var ye;
3696
- (function(e) {
3697
- e[e.Uninitialized = 0] = "Uninitialized", e[e.Initializing = 1] = "Initializing", e[e.Initialized = 2] = "Initialized";
3698
- })(ye || (ye = {}));
3699
- const Fs = /* @__PURE__ */ bn(function(t) {
3700
- var A, n, r, o;
3701
- let {
3702
- id: s,
3703
- accessibility: i,
3704
- autoScroll: c = !0,
3705
- children: a,
3706
- sensors: u = Ii,
3707
- collisionDetection: l = Fo,
3708
- measuring: g,
3709
- modifiers: d,
3710
- ...p
3711
- } = t;
3712
- const h = mn(Bi, void 0, mi), [I, b] = h, [m, C] = mo(), [B, D] = U(ye.Uninitialized), R = B === ye.Initialized, {
3713
- draggable: {
3714
- active: w,
3715
- nodes: y,
3716
- translate: W
3717
- },
3718
- droppable: {
3719
- containers: F
3720
- }
3721
- } = I, K = w != null ? y.get(w) : null, j = G({
3722
- initial: null,
3723
- translated: null
3724
- }), N = J(() => {
3725
- var P;
3726
- return w != null ? {
3727
- id: w,
3728
- // It's possible for the active node to unmount while dragging
3729
- data: (P = K == null ? void 0 : K.data) != null ? P : pi,
3730
- rect: j
3731
- } : null;
3732
- }, [w, K]), k = G(null), [le, ie] = U(null), [z, Ne] = U(null), se = At(p, Object.values(p)), ve = at("DndDescribedBy", s), Ee = J(() => F.getEnabled(), [F]), T = Di(g), {
3733
- droppableRects: ce,
3734
- measureDroppableContainers: fe,
3735
- measuringScheduled: Re
3736
- } = ri(Ee, {
3737
- dragging: R,
3738
- dependencies: [W.x, W.y],
3739
- config: T.droppable
3740
- }), _ = Ai(y, w), Qe = J(() => z ? Lt(z) : null, [z]), Q = pn(), x = oi(_, T.draggable.measure);
3741
- vi({
3742
- activeNode: w != null ? y.get(w) : null,
3743
- config: Q.layoutShiftCompensation,
3744
- initialRect: x,
3745
- measure: T.draggable.measure
3746
- });
3747
- const v = vA(_, T.draggable.measure, x), Fe = vA(_ ? _.parentElement : null), ne = G({
3748
- activatorEvent: null,
3749
- active: null,
3750
- activeNode: _,
3751
- collisionRect: null,
3752
- collisions: null,
3753
- droppableRects: ce,
3754
- draggableNodes: y,
3755
- draggingNode: null,
3756
- draggingNodeRect: null,
3757
- droppableContainers: F,
3758
- over: null,
3759
- scrollableAncestors: [],
3760
- scrollAdjustedTranslate: null
3761
- }), Je = F.getNodeFor((A = ne.current.over) == null ? void 0 : A.id), Ie = fi({
3762
- measure: T.dragOverlay.measure
3763
- }), xe = (n = Ie.nodeRef.current) != null ? n : _, Ze = R ? (r = Ie.rect) != null ? r : v : null, AA = !!(Ie.nodeRef.current && Ie.rect), nA = ci(AA ? null : v), Kt = en(xe ? $(xe) : null), Ce = ai(R ? Je ?? _ : null), lt = gi(Ce), ut = yi(d, {
3764
- transform: {
3765
- x: W.x - nA.x,
3766
- y: W.y - nA.y,
3767
- scaleX: 1,
3768
- scaleY: 1
3769
- },
3770
- activatorEvent: z,
3771
- active: N,
3772
- activeNodeRect: v,
3773
- containerNodeRect: Fe,
3774
- draggingNodeRect: Ze,
3775
- over: ne.current.over,
3776
- overlayNodeRect: Ie.rect,
3777
- scrollableAncestors: Ce,
3778
- scrollableAncestorRects: lt,
3779
- windowRect: Kt
3780
- }), rA = Qe ? ke(Qe, W) : null, oA = li(Ce), ln = RA(oA), un = RA(oA, [v]), Me = ke(ut, ln), He = Ze ? Go(Ze, ut) : null, Te = N && He ? l({
3781
- active: N,
3782
- collisionRect: He,
3783
- droppableRects: ce,
3784
- droppableContainers: Ee,
3785
- pointerCoordinates: rA
3786
- }) : null, iA = kA(Te, "id"), [be, sA] = U(null), dn = AA ? ut : ke(ut, un), gn = Ko(dn, (o = be == null ? void 0 : be.rect) != null ? o : null, v), St = G(null), cA = M(
3787
- (P, ee) => {
3788
- let {
3789
- sensor: te,
3790
- options: me
3791
- } = ee;
3792
- if (k.current == null)
3793
- return;
3794
- const re = y.get(k.current);
3795
- if (!re)
3796
- return;
3797
- const Ae = P.nativeEvent, ue = new te({
3798
- active: k.current,
3799
- activeNode: re,
3800
- event: Ae,
3801
- options: me,
3802
- // Sensors need to be instantiated with refs for arguments that change over time
3803
- // otherwise they are frozen in time with the stale arguments
3804
- context: ne,
3805
- onAbort(L) {
3806
- if (!y.get(L))
3807
- return;
3808
- const {
3809
- onDragAbort: de
3810
- } = se.current, pe = {
3811
- id: L
3812
- };
3813
- de == null || de(pe), m({
3814
- type: "onDragAbort",
3815
- event: pe
3816
- });
3817
- },
3818
- onPending(L, Be, de, pe) {
3819
- if (!y.get(L))
3820
- return;
3821
- const {
3822
- onDragPending: ze
3823
- } = se.current, we = {
3824
- id: L,
3825
- constraint: Be,
3826
- initialCoordinates: de,
3827
- offset: pe
3828
- };
3829
- ze == null || ze(we), m({
3830
- type: "onDragPending",
3831
- event: we
3832
- });
3833
- },
3834
- onStart(L) {
3835
- const Be = k.current;
3836
- if (Be == null)
3837
- return;
3838
- const de = y.get(Be);
3839
- if (!de)
3840
- return;
3841
- const {
3842
- onDragStart: pe
3843
- } = se.current, Pe = {
3844
- activatorEvent: Ae,
3845
- active: {
3846
- id: Be,
3847
- data: de.data,
3848
- rect: j
3849
- }
3850
- };
3851
- dt(() => {
3852
- pe == null || pe(Pe), D(ye.Initializing), b({
3853
- type: H.DragStart,
3854
- initialCoordinates: L,
3855
- active: Be
3856
- }), m({
3857
- type: "onDragStart",
3858
- event: Pe
3859
- }), ie(St.current), Ne(Ae);
3860
- });
3861
- },
3862
- onMove(L) {
3863
- b({
3864
- type: H.DragMove,
3865
- coordinates: L
3866
- });
3867
- },
3868
- onEnd: Ue(H.DragEnd),
3869
- onCancel: Ue(H.DragCancel)
3870
- });
3871
- St.current = ue;
3872
- function Ue(L) {
3873
- return async function() {
3874
- const {
3875
- active: de,
3876
- collisions: pe,
3877
- over: Pe,
3878
- scrollAdjustedTranslate: ze
3879
- } = ne.current;
3880
- let we = null;
3881
- if (de && ze) {
3882
- const {
3883
- cancelDrop: Ve
3884
- } = se.current;
3885
- we = {
3886
- activatorEvent: Ae,
3887
- active: de,
3888
- collisions: pe,
3889
- delta: ze,
3890
- over: Pe
3891
- }, L === H.DragEnd && typeof Ve == "function" && await Promise.resolve(Ve(we)) && (L = H.DragCancel);
3892
- }
3893
- k.current = null, dt(() => {
3894
- b({
3895
- type: L
3896
- }), D(ye.Uninitialized), sA(null), ie(null), Ne(null), St.current = null;
3897
- const Ve = L === H.DragEnd ? "onDragEnd" : "onDragCancel";
3898
- if (we) {
3899
- const Gt = se.current[Ve];
3900
- Gt == null || Gt(we), m({
3901
- type: Ve,
3902
- event: we
3903
- });
3904
- }
3905
- });
3906
- };
3907
- }
3908
- },
3909
- // eslint-disable-next-line react-hooks/exhaustive-deps
3910
- [y]
3911
- ), hn = M((P, ee) => (te, me) => {
3912
- const re = te.nativeEvent, Ae = y.get(me);
3913
- if (
3914
- // Another sensor is already instantiating
3915
- k.current !== null || // No active draggable
3916
- !Ae || // Event has already been captured
3917
- re.dndKit || re.defaultPrevented
3918
- )
3919
- return;
3920
- const ue = {
3921
- active: Ae
3922
- };
3923
- P(te, ee.options, ue) === !0 && (re.dndKit = {
3924
- capturedBy: ee.sensor
3925
- }, k.current = me, cA(te, ee));
3926
- }, [y, cA]), aA = ni(u, hn);
3927
- ui(u), he(() => {
3928
- v && B === ye.Initializing && D(ye.Initialized);
3929
- }, [v, B]), S(
3930
- () => {
3931
- const {
3932
- onDragMove: P
3933
- } = se.current, {
3934
- active: ee,
3935
- activatorEvent: te,
3936
- collisions: me,
3937
- over: re
3938
- } = ne.current;
3939
- if (!ee || !te)
3940
- return;
3941
- const Ae = {
3942
- active: ee,
3943
- activatorEvent: te,
3944
- collisions: me,
3945
- delta: {
3946
- x: Me.x,
3947
- y: Me.y
3948
- },
3949
- over: re
3950
- };
3951
- dt(() => {
3952
- P == null || P(Ae), m({
3953
- type: "onDragMove",
3954
- event: Ae
3955
- });
3956
- });
3957
- },
3958
- // eslint-disable-next-line react-hooks/exhaustive-deps
3959
- [Me.x, Me.y]
3960
- ), S(
3961
- () => {
3962
- const {
3963
- active: P,
3964
- activatorEvent: ee,
3965
- collisions: te,
3966
- droppableContainers: me,
3967
- scrollAdjustedTranslate: re
3968
- } = ne.current;
3969
- if (!P || k.current == null || !ee || !re)
3970
- return;
3971
- const {
3972
- onDragOver: Ae
3973
- } = se.current, ue = me.get(iA), Ue = ue && ue.rect.current ? {
3974
- id: ue.id,
3975
- rect: ue.rect.current,
3976
- data: ue.data,
3977
- disabled: ue.disabled
3978
- } : null, L = {
3979
- active: P,
3980
- activatorEvent: ee,
3981
- collisions: te,
3982
- delta: {
3983
- x: re.x,
3984
- y: re.y
3985
- },
3986
- over: Ue
3987
- };
3988
- dt(() => {
3989
- sA(Ue), Ae == null || Ae(L), m({
3990
- type: "onDragOver",
3991
- event: L
3992
- });
3993
- });
3994
- },
3995
- // eslint-disable-next-line react-hooks/exhaustive-deps
3996
- [iA]
3997
- ), he(() => {
3998
- ne.current = {
3999
- activatorEvent: z,
4000
- active: N,
4001
- activeNode: _,
4002
- collisionRect: He,
4003
- collisions: Te,
4004
- droppableRects: ce,
4005
- draggableNodes: y,
4006
- draggingNode: xe,
4007
- draggingNodeRect: Ze,
4008
- droppableContainers: F,
4009
- over: be,
4010
- scrollableAncestors: Ce,
4011
- scrollAdjustedTranslate: Me
4012
- }, j.current = {
4013
- initial: Ze,
4014
- translated: He
4015
- };
4016
- }, [N, _, Te, He, y, xe, Ze, ce, F, be, Ce, Me]), $o({
4017
- ...Q,
4018
- delta: W,
4019
- draggingRect: He,
4020
- pointerCoordinates: rA,
4021
- scrollableAncestors: Ce,
4022
- scrollableAncestorRects: lt
4023
- });
4024
- const fn = J(() => ({
4025
- active: N,
4026
- activeNode: _,
4027
- activeNodeRect: v,
4028
- activatorEvent: z,
4029
- collisions: Te,
4030
- containerNodeRect: Fe,
4031
- dragOverlay: Ie,
4032
- draggableNodes: y,
4033
- droppableContainers: F,
4034
- droppableRects: ce,
4035
- over: be,
4036
- measureDroppableContainers: fe,
4037
- scrollableAncestors: Ce,
4038
- scrollableAncestorRects: lt,
4039
- measuringConfiguration: T,
4040
- measuringScheduled: Re,
4041
- windowRect: Kt
4042
- }), [N, _, v, z, Te, Fe, Ie, y, F, ce, be, fe, Ce, lt, T, Re, Kt]), In = J(() => ({
4043
- activatorEvent: z,
4044
- activators: aA,
4045
- active: N,
4046
- activeNodeRect: v,
4047
- ariaDescribedById: {
4048
- draggable: ve
4049
- },
4050
- dispatch: b,
4051
- draggableNodes: y,
4052
- over: be,
4053
- measureDroppableContainers: fe
4054
- }), [z, aA, N, v, b, ve, y, be, fe]);
4055
- return q.createElement(UA.Provider, {
4056
- value: C
4057
- }, q.createElement(Ft.Provider, {
4058
- value: In
4059
- }, q.createElement(tn.Provider, {
4060
- value: fn
4061
- }, q.createElement(An.Provider, {
4062
- value: gn
4063
- }, a)), q.createElement(wi, {
4064
- disabled: (i == null ? void 0 : i.restoreFocus) === !1
4065
- })), q.createElement(yo, {
4066
- ...i,
4067
- hiddenTextDescribedById: ve
4068
- }));
4069
- function pn() {
4070
- const P = (le == null ? void 0 : le.autoScrollEnabled) === !1, ee = typeof c == "object" ? c.enabled === !1 : c === !1, te = R && !P && !ee;
4071
- return typeof c == "object" ? {
4072
- ...c,
4073
- enabled: te
4074
- } : {
4075
- enabled: te
4076
- };
4077
- }
4078
- }), Ei = /* @__PURE__ */ ot(null), FA = "button", Ri = "Draggable";
4079
- function Qi(e) {
4080
- let {
4081
- id: t,
4082
- data: A,
4083
- disabled: n = !1,
4084
- attributes: r
4085
- } = e;
4086
- const o = at(Ri), {
4087
- activators: s,
4088
- activatorEvent: i,
4089
- active: c,
4090
- activeNodeRect: a,
4091
- ariaDescribedById: u,
4092
- draggableNodes: l,
4093
- over: g
4094
- } = Ke(Ft), {
4095
- role: d = FA,
4096
- roleDescription: p = "draggable",
4097
- tabIndex: h = 0
4098
- } = r ?? {}, I = (c == null ? void 0 : c.id) === t, b = Ke(I ? An : Ei), [m, C] = pt(), [B, D] = pt(), R = di(s, t), w = At(A);
4099
- he(
4100
- () => (l.set(t, {
4101
- id: t,
4102
- key: o,
4103
- node: m,
4104
- activatorNode: B,
4105
- data: w
4106
- }), () => {
4107
- const W = l.get(t);
4108
- W && W.key === o && l.delete(t);
4109
- }),
4110
- // eslint-disable-next-line react-hooks/exhaustive-deps
4111
- [l, t]
4112
- );
4113
- const y = J(() => ({
4114
- role: d,
4115
- tabIndex: h,
4116
- "aria-disabled": n,
4117
- "aria-pressed": I && d === FA ? !0 : void 0,
4118
- "aria-roledescription": p,
4119
- "aria-describedby": u.draggable
4120
- }), [n, d, h, I, p, u.draggable]);
4121
- return {
4122
- active: c,
4123
- activatorEvent: i,
4124
- activeNodeRect: a,
4125
- attributes: y,
4126
- isDragging: I,
4127
- listeners: n ? void 0 : R,
4128
- node: m,
4129
- over: g,
4130
- setNodeRef: C,
4131
- setActivatorNodeRef: D,
4132
- transform: b
4133
- };
4134
- }
4135
- function Fi() {
4136
- return Ke(tn);
4137
- }
4138
- const Ki = "Droppable", Si = {
4139
- timeout: 25
4140
- };
4141
- function Gi(e) {
4142
- let {
4143
- data: t,
4144
- disabled: A = !1,
4145
- id: n,
4146
- resizeObserverConfig: r
4147
- } = e;
4148
- const o = at(Ki), {
4149
- active: s,
4150
- dispatch: i,
4151
- over: c,
4152
- measureDroppableContainers: a
4153
- } = Ke(Ft), u = G({
4154
- disabled: A
4155
- }), l = G(!1), g = G(null), d = G(null), {
4156
- disabled: p,
4157
- updateMeasurementsFor: h,
4158
- timeout: I
4159
- } = {
4160
- ...Si,
4161
- ...r
4162
- }, b = At(h ?? n), m = M(
4163
- () => {
4164
- if (!l.current) {
4165
- l.current = !0;
4166
- return;
4167
- }
4168
- d.current != null && clearTimeout(d.current), d.current = setTimeout(() => {
4169
- a(Array.isArray(b.current) ? b.current : [b.current]), d.current = null;
4170
- }, I);
4171
- },
4172
- //eslint-disable-next-line react-hooks/exhaustive-deps
4173
- [I]
4174
- ), C = Qt({
4175
- callback: m,
4176
- disabled: p || !s
4177
- }), B = M((y, W) => {
4178
- C && (W && (C.unobserve(W), l.current = !1), y && C.observe(y));
4179
- }, [C]), [D, R] = pt(B), w = At(t);
4180
- return S(() => {
4181
- !C || !D.current || (C.disconnect(), l.current = !1, C.observe(D.current));
4182
- }, [D, C]), S(
4183
- () => (i({
4184
- type: H.RegisterDroppable,
4185
- element: {
4186
- id: n,
4187
- key: o,
4188
- disabled: A,
4189
- node: D,
4190
- rect: g,
4191
- data: w
4192
- }
4193
- }), () => i({
4194
- type: H.UnregisterDroppable,
4195
- key: o,
4196
- id: n
4197
- })),
4198
- // eslint-disable-next-line react-hooks/exhaustive-deps
4199
- [n]
4200
- ), S(() => {
4201
- A !== u.current.disabled && (i({
4202
- type: H.SetDroppableDisabled,
4203
- id: n,
4204
- key: o,
4205
- disabled: A
4206
- }), u.current.disabled = A);
4207
- }, [n, o, A, i]), {
4208
- active: s,
4209
- rect: g,
4210
- isOver: (c == null ? void 0 : c.id) === n,
4211
- node: D,
4212
- over: c,
4213
- setNodeRef: R
4214
- };
4215
- }
4216
- function nn(e, t, A) {
4217
- const n = e.slice();
4218
- return n.splice(A < 0 ? n.length + A : A, 0, n.splice(t, 1)[0]), n;
4219
- }
4220
- function Yi(e, t) {
4221
- return e.reduce((A, n, r) => {
4222
- const o = t.get(n);
4223
- return o && (A[r] = o), A;
4224
- }, Array(e.length));
4225
- }
4226
- function gt(e) {
4227
- return e !== null && e >= 0;
4228
- }
4229
- function Wi(e, t) {
4230
- if (e === t)
4231
- return !0;
4232
- if (e.length !== t.length)
4233
- return !1;
4234
- for (let A = 0; A < e.length; A++)
4235
- if (e[A] !== t[A])
4236
- return !1;
4237
- return !0;
4238
- }
4239
- function Ni(e) {
4240
- return typeof e == "boolean" ? {
4241
- draggable: e,
4242
- droppable: e
4243
- } : e;
4244
- }
4245
- const rn = (e) => {
4246
- let {
4247
- rects: t,
4248
- activeIndex: A,
4249
- overIndex: n,
4250
- index: r
4251
- } = e;
4252
- const o = nn(t, n, A), s = t[r], i = o[r];
4253
- return !i || !s ? null : {
4254
- x: i.left - s.left,
4255
- y: i.top - s.top,
4256
- scaleX: i.width / s.width,
4257
- scaleY: i.height / s.height
4258
- };
4259
- }, ht = {
4260
- scaleX: 1,
4261
- scaleY: 1
4262
- }, Ks = (e) => {
4263
- var t;
4264
- let {
4265
- activeIndex: A,
4266
- activeNodeRect: n,
4267
- index: r,
4268
- rects: o,
4269
- overIndex: s
4270
- } = e;
4271
- const i = (t = o[A]) != null ? t : n;
4272
- if (!i)
4273
- return null;
4274
- if (r === A) {
4275
- const a = o[s];
4276
- return a ? {
4277
- x: 0,
4278
- y: A < s ? a.top + a.height - (i.top + i.height) : a.top - i.top,
4279
- ...ht
4280
- } : null;
4281
- }
4282
- const c = Ji(o, r, A);
4283
- return r > A && r <= s ? {
4284
- x: 0,
4285
- y: -i.height - c,
4286
- ...ht
4287
- } : r < A && r >= s ? {
4288
- x: 0,
4289
- y: i.height + c,
4290
- ...ht
4291
- } : {
4292
- x: 0,
4293
- y: 0,
4294
- ...ht
4295
- };
4296
- };
4297
- function Ji(e, t, A) {
4298
- const n = e[t], r = e[t - 1], o = e[t + 1];
4299
- return n ? A < t ? r ? n.top - (r.top + r.height) : o ? o.top - (n.top + n.height) : 0 : o ? o.top - (n.top + n.height) : r ? n.top - (r.top + r.height) : 0 : 0;
4300
- }
4301
- const on = "Sortable", sn = /* @__PURE__ */ q.createContext({
4302
- activeIndex: -1,
4303
- containerId: on,
4304
- disableTransforms: !1,
4305
- items: [],
4306
- overIndex: -1,
4307
- useDragOverlay: !1,
4308
- sortedRects: [],
4309
- strategy: rn,
4310
- disabled: {
4311
- draggable: !1,
4312
- droppable: !1
4313
- }
4314
- });
4315
- function Ss(e) {
4316
- let {
4317
- children: t,
4318
- id: A,
4319
- items: n,
4320
- strategy: r = rn,
4321
- disabled: o = !1
4322
- } = e;
4323
- const {
4324
- active: s,
4325
- dragOverlay: i,
4326
- droppableRects: c,
4327
- over: a,
4328
- measureDroppableContainers: u
4329
- } = Fi(), l = at(on, A), g = i.rect !== null, d = J(() => n.map((R) => typeof R == "object" && "id" in R ? R.id : R), [n]), p = s != null, h = s ? d.indexOf(s.id) : -1, I = a ? d.indexOf(a.id) : -1, b = G(d), m = !Wi(d, b.current), C = I !== -1 && h === -1 || m, B = Ni(o);
4330
- he(() => {
4331
- m && p && u(d);
4332
- }, [m, d, p, u]), S(() => {
4333
- b.current = d;
4334
- }, [d]);
4335
- const D = J(
4336
- () => ({
4337
- activeIndex: h,
4338
- containerId: l,
4339
- disabled: B,
4340
- disableTransforms: C,
4341
- items: d,
4342
- overIndex: I,
4343
- useDragOverlay: g,
4344
- sortedRects: Yi(d, c),
4345
- strategy: r
4346
- }),
4347
- // eslint-disable-next-line react-hooks/exhaustive-deps
4348
- [h, l, B.draggable, B.droppable, C, d, I, c, g, r]
4349
- );
4350
- return q.createElement(sn.Provider, {
4351
- value: D
4352
- }, t);
4353
- }
4354
- const xi = (e) => {
4355
- let {
4356
- id: t,
4357
- items: A,
4358
- activeIndex: n,
4359
- overIndex: r
4360
- } = e;
4361
- return nn(A, n, r).indexOf(t);
4362
- }, Zi = (e) => {
4363
- let {
4364
- containerId: t,
4365
- isSorting: A,
4366
- wasDragging: n,
4367
- index: r,
4368
- items: o,
4369
- newIndex: s,
4370
- previousItems: i,
4371
- previousContainerId: c,
4372
- transition: a
4373
- } = e;
4374
- return !a || !n || i !== o && r === s ? !1 : A ? !0 : s !== r && t === c;
4375
- }, Mi = {
4376
- duration: 200,
4377
- easing: "ease"
4378
- }, cn = "transform", Hi = /* @__PURE__ */ Ct.Transition.toString({
4379
- property: cn,
4380
- duration: 0,
4381
- easing: "linear"
4382
- }), Ui = {
4383
- roleDescription: "sortable"
4384
- };
4385
- function ki(e) {
4386
- let {
4387
- disabled: t,
4388
- index: A,
4389
- node: n,
4390
- rect: r
4391
- } = e;
4392
- const [o, s] = U(null), i = G(A);
4393
- return he(() => {
4394
- if (!t && A !== i.current && n.current) {
4395
- const c = r.current;
4396
- if (c) {
4397
- const a = je(n.current, {
4398
- ignoreTransform: !0
4399
- }), u = {
4400
- x: c.left - a.left,
4401
- y: c.top - a.top,
4402
- scaleX: c.width / a.width,
4403
- scaleY: c.height / a.height
4404
- };
4405
- (u.x || u.y) && s(u);
4406
- }
4407
- }
4408
- A !== i.current && (i.current = A);
4409
- }, [t, A, n, r]), S(() => {
4410
- o && s(null);
4411
- }, [o]), o;
4412
- }
4413
- function Gs(e) {
4414
- let {
4415
- animateLayoutChanges: t = Zi,
4416
- attributes: A,
4417
- disabled: n,
4418
- data: r,
4419
- getNewIndex: o = xi,
4420
- id: s,
4421
- strategy: i,
4422
- resizeObserverConfig: c,
4423
- transition: a = Mi
4424
- } = e;
4425
- const {
4426
- items: u,
4427
- containerId: l,
4428
- activeIndex: g,
4429
- disabled: d,
4430
- disableTransforms: p,
4431
- sortedRects: h,
4432
- overIndex: I,
4433
- useDragOverlay: b,
4434
- strategy: m
4435
- } = Ke(sn), C = Oi(n, d), B = u.indexOf(s), D = J(() => ({
4436
- sortable: {
4437
- containerId: l,
4438
- index: B,
4439
- items: u
4440
- },
4441
- ...r
4442
- }), [l, r, B, u]), R = J(() => u.slice(u.indexOf(s)), [u, s]), {
4443
- rect: w,
4444
- node: y,
4445
- isOver: W,
4446
- setNodeRef: F
4447
- } = Gi({
4448
- id: s,
4449
- data: D,
4450
- disabled: C.droppable,
4451
- resizeObserverConfig: {
4452
- updateMeasurementsFor: R,
4453
- ...c
4454
- }
4455
- }), {
4456
- active: K,
4457
- activatorEvent: j,
4458
- activeNodeRect: N,
4459
- attributes: k,
4460
- setNodeRef: le,
4461
- listeners: ie,
4462
- isDragging: z,
4463
- over: Ne,
4464
- setActivatorNodeRef: se,
4465
- transform: ve
4466
- } = Qi({
4467
- id: s,
4468
- data: D,
4469
- attributes: {
4470
- ...Ui,
4471
- ...A
4472
- },
4473
- disabled: C.draggable
4474
- }), Ee = ao(F, le), T = !!K, ce = T && !p && gt(g) && gt(I), fe = !b && z, Re = fe && ce ? ve : null, Qe = ce ? Re ?? (i ?? m)({
4475
- rects: h,
4476
- activeNodeRect: N,
4477
- activeIndex: g,
4478
- overIndex: I,
4479
- index: B
4480
- }) : null, Q = gt(g) && gt(I) ? o({
4481
- id: s,
4482
- items: u,
4483
- activeIndex: g,
4484
- overIndex: I
4485
- }) : B, x = K == null ? void 0 : K.id, v = G({
4486
- activeId: x,
4487
- items: u,
4488
- newIndex: Q,
4489
- containerId: l
4490
- }), Fe = u !== v.current.items, ne = t({
4491
- active: K,
4492
- containerId: l,
4493
- isDragging: z,
4494
- isSorting: T,
4495
- id: s,
4496
- index: B,
4497
- items: u,
4498
- newIndex: v.current.newIndex,
4499
- previousItems: v.current.items,
4500
- previousContainerId: v.current.containerId,
4501
- transition: a,
4502
- wasDragging: v.current.activeId != null
4503
- }), Je = ki({
4504
- disabled: !ne,
4505
- index: B,
4506
- node: y,
4507
- rect: w
4508
- });
4509
- return S(() => {
4510
- T && v.current.newIndex !== Q && (v.current.newIndex = Q), l !== v.current.containerId && (v.current.containerId = l), u !== v.current.items && (v.current.items = u);
4511
- }, [T, Q, l, u]), S(() => {
4512
- if (x === v.current.activeId)
4513
- return;
4514
- if (x != null && v.current.activeId == null) {
4515
- v.current.activeId = x;
4516
- return;
4517
- }
4518
- const xe = setTimeout(() => {
4519
- v.current.activeId = x;
4520
- }, 50);
4521
- return () => clearTimeout(xe);
4522
- }, [x]), {
4523
- active: K,
4524
- activeIndex: g,
4525
- attributes: k,
4526
- data: D,
4527
- rect: w,
4528
- index: B,
4529
- newIndex: Q,
4530
- items: u,
4531
- isOver: W,
4532
- isSorting: T,
4533
- isDragging: z,
4534
- listeners: ie,
4535
- node: y,
4536
- overIndex: I,
4537
- over: Ne,
4538
- setNodeRef: Ee,
4539
- setActivatorNodeRef: se,
4540
- setDroppableNodeRef: F,
4541
- setDraggableNodeRef: le,
4542
- transform: Je ?? Qe,
4543
- transition: Ie()
4544
- };
4545
- function Ie() {
4546
- if (
4547
- // Temporarily disable transitions for a single frame to set up derived transforms
4548
- Je || // Or to prevent items jumping to back to their "new" position when items change
4549
- Fe && v.current.newIndex === B
4550
- )
4551
- return Hi;
4552
- if (!(fe && !$t(j) || !a) && (T || ne))
4553
- return Ct.Transition.toString({
4554
- ...a,
4555
- property: cn
4556
- });
4557
- }
4558
- }
4559
- function Oi(e, t) {
4560
- var A, n;
4561
- return typeof e == "boolean" ? {
4562
- draggable: e,
4563
- // Backwards compatibility
4564
- droppable: !1
4565
- } : {
4566
- draggable: (A = e == null ? void 0 : e.draggable) != null ? A : t.draggable,
4567
- droppable: (n = e == null ? void 0 : e.droppable) != null ? n : t.droppable
4568
- };
4569
- }
4570
- function Bt(e) {
4571
- if (!e)
4572
- return !1;
4573
- const t = e.data.current;
4574
- return !!(t && "sortable" in t && typeof t.sortable == "object" && "containerId" in t.sortable && "items" in t.sortable && "index" in t.sortable);
4575
- }
4576
- const Xi = [E.Down, E.Right, E.Up, E.Left], Ys = (e, t) => {
4577
- let {
4578
- context: {
4579
- active: A,
4580
- collisionRect: n,
4581
- droppableRects: r,
4582
- droppableContainers: o,
4583
- over: s,
4584
- scrollableAncestors: i
4585
- }
4586
- } = t;
4587
- if (Xi.includes(e.code)) {
4588
- if (e.preventDefault(), !A || !n)
4589
- return;
4590
- const c = [];
4591
- o.getEnabled().forEach((l) => {
4592
- if (!l || l != null && l.disabled)
4593
- return;
4594
- const g = r.get(l.id);
4595
- if (g)
4596
- switch (e.code) {
4597
- case E.Down:
4598
- n.top < g.top && c.push(l);
4599
- break;
4600
- case E.Up:
4601
- n.top > g.top && c.push(l);
4602
- break;
4603
- case E.Left:
4604
- n.left > g.left && c.push(l);
4605
- break;
4606
- case E.Right:
4607
- n.left < g.left && c.push(l);
4608
- break;
4609
- }
4610
- });
4611
- const a = Ro({
4612
- collisionRect: n,
4613
- droppableRects: r,
4614
- droppableContainers: c
4615
- });
4616
- let u = kA(a, "id");
4617
- if (u === (s == null ? void 0 : s.id) && a.length > 1 && (u = a[1].id), u != null) {
4618
- const l = o.get(A.id), g = o.get(u), d = g ? r.get(g.id) : null, p = g == null ? void 0 : g.node.current;
4619
- if (p && d && l && g) {
4620
- const I = Rt(p).some((R, w) => i[w] !== R), b = an(l, g), m = Li(l, g), C = I || !b ? {
4621
- x: 0,
4622
- y: 0
4623
- } : {
4624
- x: m ? n.width - d.width : 0,
4625
- y: m ? n.height - d.height : 0
4626
- }, B = {
4627
- x: d.left,
4628
- y: d.top
4629
- };
4630
- return C.x && C.y ? B : nt(B, C);
4631
- }
4632
- }
4633
- }
4634
- };
4635
- function an(e, t) {
4636
- return !Bt(e) || !Bt(t) ? !1 : e.data.current.sortable.containerId === t.data.current.sortable.containerId;
4637
- }
4638
- function Li(e, t) {
4639
- return !Bt(e) || !Bt(t) || !an(e, t) ? !1 : e.data.current.sortable.index < t.data.current.sortable.index;
4640
- }
4641
- const ji = /^\d*[.,]?\d{0,2}$/, Ws = (e) => ji.test(e), Ti = (e) => Number.isNaN(e) || e < 0 ? 0 : e, Ns = (e) => Ti(Number(e.replace(",", "."))), Js = ({ criteria: e, onReorderCriteria: t }) => {
4642
- const { translate: A } = wt(), [n, r] = U(null), [o, s] = U(""), i = M(
4643
- (u, l) => {
4644
- r(u.id || null), s(A("criterionMovedAnnouncement", { position: l + 1 })), setTimeout(() => s(""), 1e3);
4645
- },
4646
- [A]
4647
- ), c = M(
4648
- (u, l) => {
4649
- const g = u + l;
4650
- g < 0 || g >= e.length || (i(e[u], g), t(u, g));
4651
- },
4652
- [e, t, i]
4653
- ), a = (u, l) => {
4654
- if (u === l) return;
4655
- const g = e.findIndex((p, h) => Wt(p, h) === u), d = e.findIndex((p, h) => Wt(p, h) === l);
4656
- g === -1 || d === -1 || (i(e[g], d), t(g, d));
4657
- };
4658
- return {
4659
- sortableIds: e.map(Wt),
4660
- movedCriterionId: n,
4661
- clearMovedCriterion: () => r(null),
4662
- srAnnouncement: o,
4663
- moveCriterion: c,
4664
- moveCriterionBySortableId: a
4665
- };
4666
- }, xs = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='Layer_1'%20viewBox='0%200%20282%20211'%3e%3cstyle%3e%20.st1{fill:%23c0c6cb}.st2{fill:%23243038}.st3{fill:%23e5e7e9}%20%3c/style%3e%3cpath%20fill='%237f8c97'%20d='M262.7%20210.6c-.5%200-1%200-1.5-.1l.1-2c.6%200%201.3.1%201.9%200l.1%202c-.2.1-.4.1-.6.1zm4.8-.5l-.5-1.9c.6-.1%201.2-.3%201.8-.5l.7%201.9c-.7.1-1.3.3-2%20.5zm-10.4-.2c-.7-.2-1.3-.4-2-.6l.6-1.9c.6.2%201.2.4%201.9.5l-.5%202zm-5.8-2.1c-.6-.3-1.2-.6-1.8-1l1-1.7c.6.3%201.1.6%201.7.9l-.9%201.8zm22-.3l-1.1-1.7c.5-.3%201-.7%201.5-1.1l1.3%201.5c-.6.5-1.1%201-1.7%201.3zm-27.3-2.9c-.5-.4-1.1-.8-1.6-1.3l1.3-1.5%201.5%201.2-1.2%201.6zm31.8-1.4l-1.6-1.2c.4-.5.7-1%201.1-1.6l1.7%201c-.3.7-.7%201.3-1.2%201.8zm-36.5-2.6c-.5-.5-.9-1-1.4-1.5l1.5-1.3c.4.5.9%201%201.3%201.4l-1.4%201.4zm39.6-2.9l-1.9-.7c.2-.5.4-1%20.5-1.5l1.9.6c-.1.6-.3%201.1-.5%201.6zm-43.6-1.8c-.4-.5-.8-1.1-1.2-1.7l1.7-1.1c.4.5.8%201.1%201.1%201.6l-1.6%201.2zm-3.3-5.1c-.3-.6-.7-1.2-1-1.8l1.8-.9c.3.6.6%201.2.9%201.7l-1.7%201zm-2.7-5.5c-.3-.6-.5-1.3-.7-1.9l1.9-.7c.2.6.5%201.2.7%201.8l-1.9.8z'/%3e%3cpath%20d='M73%20101.7c-3.5-6.3-8.6-11.1-14.5-14.3-1.5%201.4-3%202.6-4.2%202.9-3.7%201-7.7-2.3-11.3-3s-5.7%203-9.3%201.7c-1.9-.7-2.3-2.6-2.3-4.9-.3.1-.7.2-1%20.3-4.2%201.2-6.2%206.1-4%2010l28.9%2051.2c2.2%203.8%207.4%204.7%2010.6%201.7%2012.2-11.4%2015.7-30.3%207.1-45.6z'%20class='st1'/%3e%3cpath%20d='M61.1%20150c-.4%200-.8%200-1.3-.1-2.4-.4-4.4-1.8-5.6-3.9L25.4%2094.8c-1.2-2.1-1.3-4.6-.4-6.8s2.8-3.9%205.1-4.6c.3-.1.6-.2.8-.2l1.4-.4v1.3c.1%202.5.5%203.6%201.7%204%201.6.6%202.7%200%204.2-.7%201.4-.7%203-1.4%205-1%201.5.3%203%20.9%204.5%201.6%202.3%201%204.5%202%206.4%201.4.6-.2%201.7-.8%203.7-2.7l.5-.5.6.3c6.2%203.4%2011.4%208.5%2014.9%2014.7%208.7%2015.5%205.7%2034.7-7.4%2046.7-1.5%201.4-3.3%202.1-5.3%202.1zM30.4%2085.4c-1.6.5-2.9%201.7-3.6%203.3-.7%201.7-.6%203.5.3%205.1L56%20145c.9%201.6%202.4%202.6%204.2%202.9%201.8.3%203.6-.2%204.9-1.5%2012.4-11.4%2015.3-29.6%207-44.3-3.2-5.7-7.9-10.4-13.5-13.6-1.7%201.5-3%202.4-4%202.6-2.6.7-5.2-.4-7.8-1.5-1.4-.6-2.8-1.2-4-1.4-1.4-.3-2.5.3-3.8.9-1.6.7-3.4%201.6-5.7.7-2.1-.6-2.7-2.5-2.9-4.4z'%20class='st2'/%3e%3cpath%20d='M95.2%20141.2c-8.6-15.3-26.5-22.1-42.7-17.4-4.2%201.2-6.2%206.1-4%2010L77.3%20185c2.2%203.8%207.4%204.7%2010.6%201.7%2012.5-11.4%2015.9-30.2%207.3-45.5z'%20class='st1'/%3e%3cpath%20d='M83.3%20189.5c-.4%200-.8%200-1.3-.1-2.4-.4-4.4-1.8-5.6-3.9l-28.9-51.2c-1.2-2.1-1.3-4.6-.4-6.8s2.8-3.9%205.1-4.6c17.1-5%2035.1%202.3%2043.8%2017.9s5.7%2034.7-7.4%2046.7c-1.4%201.3-3.3%202-5.3%202zM63%20123.3c-3.4%200-6.8.5-10.2%201.5-1.7.5-3.1%201.7-3.8%203.4-.7%201.7-.6%203.5.3%205.1l28.9%2051.2c.9%201.6%202.4%202.6%204.2%202.9%201.8.3%203.5-.2%204.9-1.5%2012.4-11.4%2015.3-29.6%207-44.3-6.5-11.5-18.6-18.3-31.3-18.3z'%20class='st2'/%3e%3cpath%20d='M67%20166.6c16.8-4.2%2036.1-12%2055.5-22.9%2048.5-27.3%2079.6-64.1%2069.4-82.1-10.2-18-57.7-10.5-106.2%2016.8-19.4%2010.9-36.1%2023.4-48.4%2035.6L67%20166.6z'%20class='st3'/%3e%3cpath%20d='M66.5%20167.7l-30.4-53.9.5-.5c12.9-12.7%2029.7-25.1%2048.6-35.7C108.7%2064.2%20132.8%2055.1%20153%2052c20.5-3.2%2034.6%200%2039.7%209.1%205.1%209.1.6%2022.9-12.8%2038.7-13.2%2015.6-33.4%2031.5-57%2044.8-18.9%2010.6-38.2%2018.6-55.7%2023l-.7.1zm-27.9-53.6l28.9%2051.3c17.2-4.4%2036-12.2%2054.5-22.6%2023.3-13.2%2043.4-28.9%2056.4-44.3C191.2%2083.3%20195.7%2070.3%20191%2062c-4.7-8.3-18.1-11.2-37.7-8.1-19.9%203.2-43.8%2012.1-67.1%2025.3-18.5%2010.4-35%2022.5-47.6%2034.9z'%20class='st2'/%3e%3cpath%20d='M193.6%20137.9c-10.8-5.9-24-6.2-35-.5-3.9%202-4.9%207.2-2%2010.6l14.7%2017.1c5.9-8.8%2013.4-18%2022.3-27.2z'%20class='st1'/%3e%3cpath%20d='M171.3%20166.8l-15.5-18.1c-1.6-1.8-2.2-4.2-1.7-6.6.5-2.4%201.9-4.4%204.1-5.5%2011.3-5.9%2024.8-5.7%2036%20.5l1.1.6-.9.9c-8.7%209-16.2%2018.1-22.3%2027.1l-.8%201.1zm4.4-32.6c-5.7%200-11.4%201.4-16.6%204.1-1.6.8-2.7%202.3-3%204.1-.3%201.8.1%203.6%201.3%204.9l13.8%2016.1c5.8-8.4%2012.8-16.9%2020.9-25.3-5.3-2.5-10.9-3.9-16.4-3.9z'%20class='st2'/%3e%3cpath%20fill='%23d0d4d8'%20d='M45.9%20164.3l-17.6-31.1%2012.4-13.3%2022.9%2040.7z'/%3e%3cpath%20d='M45.4%20165.4L27.1%20133l13.8-14.8%2024.3%2043-19.8%204.2zm-15.8-32.1l16.8%2029.8%2015.7-3.3-21.6-38.3-10.9%2011.8z'%20class='st2'/%3e%3ccircle%20cx='106.4'%20cy='109.6'%20r='21.6'%20class='st1'/%3e%3cpath%20d='M106.5%20132.3c-7.9%200-15.6-4.1-19.7-11.5-3-5.3-3.7-11.4-2.1-17.2%201.6-5.8%205.4-10.7%2010.7-13.6%205.3-3%2011.4-3.7%2017.2-2.1%205.8%201.6%2010.7%205.4%2013.6%2010.7%206.1%2010.9%202.3%2024.7-8.6%2030.8-3.6%201.9-7.4%202.9-11.1%202.9zm-.1-43.3c-3.5%200-7%20.9-10.1%202.7-4.8%202.7-8.3%207.1-9.7%2012.4-1.5%205.3-.8%2010.9%201.9%2015.7%205.6%209.9%2018.2%2013.4%2028.1%207.8%209.9-5.6%2013.4-18.2%207.8-28.1-2.7-4.8-7.1-8.3-12.4-9.7-1.9-.5-3.7-.8-5.6-.8z'%20class='st2'/%3e%3ccircle%20cx='106.4'%20cy='109.6'%20r='15.1'%20fill='%239ad6f5'/%3e%3cpath%20d='M106.5%20125.7c-1.5%200-2.9-.2-4.4-.6-4.1-1.2-7.6-3.9-9.7-7.6-2.1-3.7-2.6-8.1-1.5-12.2s3.9-7.6%207.6-9.7%208.1-2.6%2012.2-1.5c4.1%201.2%207.6%203.9%209.7%207.6s2.6%208.1%201.5%2012.2-3.9%207.6-7.6%209.7c-2.4%201.4-5.1%202.1-7.8%202.1zm-.1-30.2c-2.4%200-4.8.6-6.9%201.8-3.3%201.8-5.6%204.9-6.7%208.5-1%203.6-.6%207.4%201.3%2010.7s4.9%205.6%208.5%206.7c3.6%201%207.4.6%2010.7-1.3%203.3-1.8%205.6-4.9%206.7-8.5%201-3.6.6-7.4-1.3-10.7-1.8-3.3-4.9-5.6-8.5-6.7-1.2-.3-2.5-.5-3.8-.5z'%20class='st2'/%3e%3cpath%20d='M153.8%2051.8h2v61.1h-2z'%20class='st2'%20transform='rotate(-29.402%20154.78%2082.402)'/%3e%3cpath%20d='M18.3%2065.9l-1.8-.8C9.4%2062%206.3%2053.7%209.4%2046.6l13-29.2c.4-1%201.6-1.5%202.6-1L48.8%2027c1%20.4%201.5%201.6%201%202.6l-13%2029.2c-3.1%207.1-11.4%2010.3-18.5%207.1z'%20class='st3'/%3e%3cpath%20d='M24%2068.1c-2.1%200-4.1-.4-6.1-1.3l-1.8-.8c-3.7-1.6-6.5-4.6-7.9-8.3-1.4-3.7-1.3-7.8.3-11.5l13-29.2c.3-.7.9-1.3%201.7-1.6.7-.3%201.6-.3%202.3.1L49.2%2026c.7.3%201.3.9%201.6%201.7.3.7.3%201.6-.1%202.3l-13%2029.2c-1.6%203.7-4.6%206.5-8.3%207.9-1.7.7-3.6%201-5.4%201zm.2-50.9c-.1%200-.2%200-.4.1s-.4.3-.6.5L10.3%2047c-1.4%203.2-1.5%206.7-.3%209.9s3.7%205.8%206.9%207.2l1.8.8c6.5%202.9%2014.2%200%2017.2-6.6l13-29.2c.1-.2.1-.5%200-.8-.1-.2-.3-.4-.5-.6L24.6%2017.3c-.1-.1-.2-.1-.4-.1z'%20class='st2'/%3e%3cpath%20fill='%23f99c9f'%20d='M23.5%2025.9h20v7h-20z'%20transform='rotate(23.964%2033.469%2029.414)'/%3e%3cpath%20d='M41.7%2038l-20.1-8.9%203.7-8.2%2020.1%208.9-3.7%208.2zM24.2%2028l16.4%207.3%202-4.6-16.4-7.3-2%204.6z'%20class='st2'/%3e%3cpath%20d='M28.9%2022.5h2v30h-2z'%20class='st2'%20transform='rotate(-66.034%2029.894%2037.456)'/%3e%3ccircle%20cx='41.3'%20cy='11.6'%20r='4'%20class='st3'/%3e%3cpath%20d='M41.3%2016.6c-.7%200-1.4-.1-2-.4-2.5-1.1-3.7-4.1-2.5-6.6%201-2.6%204-3.7%206.5-2.6s3.7%204.1%202.5%206.6c-.8%201.8-2.6%203-4.5%203zm0-8c-.4%200-.7.1-1.1.2-.7.3-1.3.8-1.7%201.6-.7%201.5%200%203.3%201.5%204%201.5.7%203.3%200%204-1.5.7-1.5%200-3.3-1.5-4-.4-.3-.8-.3-1.2-.3z'%20class='st2'/%3e%3cpath%20d='M34.8%2017.4h7v2h-7z'%20class='st2'%20transform='rotate(-66.039%2038.252%2018.406)'/%3e%3cpath%20d='M13.5%2037.5C1.5%2032.2-1.8%2023.9%203.4%2012.2l5.5%202.4C5%2023.3%206.9%2028%2015.9%2032l-2.4%205.5z'%20class='st3'/%3e%3cpath%20d='M14%2038.8l-.9-.4C6.8%2035.6%202.8%2032%201%2027.6c-1.8-4.4-1.3-9.7%201.4-15.8l.4-.9%207.3%203.2-.3.9c-1.9%204.2-2.3%207.2-1.3%209.6%201%202.4%203.5%204.5%207.8%206.4l.9.4-3.2%207.4zM3.9%2013.5c-2.2%205.2-2.5%209.6-1%2013.3%201.5%203.7%204.8%206.8%2010.1%209.3l1.6-3.7c-4.3-2-6.8-4.3-8-7.1-1.1-2.8-.8-6%20.9-10.3l-3.6-1.5z'%20class='st2'/%3e%3cpath%20d='M8.7%2015c-1%200-2.1-.2-3-.7-1.8-.8-3.2-2.3-4-4.2-.7-1.8-.6-3.8.2-5.7C3%201.9%205.4.2%208.2%200l.2%202c-2%20.2-3.8%201.4-4.6%203.3-.7%201.3-.7%202.8-.2%204.2s1.6%202.5%202.9%203.1c1.3.6%202.8.6%204.2.1%201.4-.5%202.5-1.6%203.1-2.9.9-2%20.5-4.4-1-6l1.5-1.4c2.1%202.2%202.6%205.4%201.4%208.2-.8%201.8-2.3%203.2-4.2%204-.9.2-1.8.4-2.8.4z'%20class='st2'/%3e%3cpath%20d='M13.5%2037.5c-.7-.3-1.3-.6-2-.9l2.7-5.3c.5.3%201.1.5%201.7.8l-2.4%205.4zm-5.8-3.3c-.6-.5-1.3-1-1.8-1.5l4.1-4.4c.4.4.8.7%201.3%201l-3.6%204.9zm-4.9-5.3c-.4-.7-.8-1.5-1-2.3l5.7-1.9c.1.4.3.9.5%201.3l-5.2%202.9zM7%2021.7l-6-.1c0-.8.1-1.6.2-2.4l5.9.9c0%20.6-.1%201.1-.1%201.6zm1-4.9l-5.7-2c.2-.7.5-1.4.8-2l5.5%202.3c-.2.6-.4%201.2-.6%201.7z'%20class='st2'/%3e%3cpath%20d='M43.5%2043.7C55.5%2049%2058.8%2057.3%2053.6%2069l-5.5-2.4c3.8-8.7%201.9-13.4-7.1-17.4l2.5-5.5z'%20class='st3'/%3e%3cpath%20d='M54.1%2070.3l-7.3-3.2.4-.9c3.6-8.2%202-12.2-6.5-16l-.9-.4%203.2-7.3.9.4c6.2%202.8%2010.3%206.4%2012%2010.8%201.8%204.4%201.3%209.7-1.4%2015.8l-.4.8zm-4.7-4.2l3.7%201.6c2.2-5.2%202.5-9.6%201-13.3-1.5-3.7-4.8-6.8-10.1-9.3l-1.6%203.7c8.4%203.9%2010.5%208.9%207%2017.3z'%20class='st2'/%3e%3cpath%20d='M48.8%2081.2l-.2-2c2-.2%203.8-1.4%204.6-3.3%201.2-2.8%200-6-2.8-7.3l.8-1.8c3.8%201.7%205.5%206.1%203.8%209.9-1%202.6-3.4%204.3-6.2%204.5z'%20class='st2'/%3e%3cpath%20d='M53.9%2068.4l-5.5-2.3c.2-.6.5-1.1.7-1.7l5.7%202c-.4.6-.6%201.3-.9%202zm1.9-6.4l-5.9-.9c.1-.5.1-1.1.1-1.6l6%20.1c0%20.7-.1%201.5-.2%202.4zm-6.2-5.4c-.2-.4-.4-.9-.6-1.3l5.2-3c.4.7.8%201.5%201%202.3l-5.6%202zM47%2052.9c-.4-.4-.8-.7-1.3-1l3.5-4.8c.6.5%201.3%201%201.8%201.5l-4%204.3zM42.7%2050c-.5-.3-1.1-.5-1.7-.8l2.4-5.5c.7.3%201.3.6%202%20.9L42.7%2050z'%20class='st2'/%3e%3cpath%20d='M57%2077.8c.9%202.6%203.2%204.5%206.1%204.6%202.9.1%205.4-1.6%206.4-4.1l-5.6-.3c-.6%200-1.1-.5-1.1-1.1l.1-2.4c0-.6.5-1.1%201.1-1.1l5.6.2c-.9-2.6-3.2-4.5-6.1-4.6-2.9-.1-5.4%201.6-6.4%204.1l-16.7-2.5c-1.3-.2-2.4.8-2.5%202.1l-.1%204.1c0%201.3%201.1%202.3%202.3%202.2L57%2077.8z'%20class='st3'/%3e%3cpath%20d='M63.3%2083.4H63c-2.9-.1-5.5-1.9-6.7-4.5l-16.1%201.3c-.9.1-1.8-.2-2.4-.9-.7-.6-1-1.5-1-2.4l.1-4.1c0-.9.4-1.8%201.1-2.3s1.6-.8%202.5-.7l16%202.4c1.4-2.5%204.1-4.1%207-4%203.2.1%206%202.2%207%205.2l.5%201.4-7-.2s-.1%200-.1.1l-.1%202.4s0%20.1.1.1l7%20.2-.5%201.3c-1.2%202.8-4%204.7-7.1%204.7zm-5.6-6.7l.2.7c.7%202.2%202.8%203.8%205.2%203.9%201.8.1%203.6-.8%204.7-2.2l-3.9-.1c-.6%200-1.1-.3-1.5-.7-.4-.4-.6-.9-.6-1.5l.1-2.4c0-.6.3-1.1.7-1.5.4-.4%201-.6%201.5-.6l3.9.1c-1-1.5-2.7-2.4-4.5-2.5-2.4-.1-4.5%201.3-5.4%203.5l-.3.7-17.5-2.6c-.3-.1-.7%200-.9.3s-.4.5-.4.9l-.1%204.1c0%20.3.1.7.4.9.2.2.6.4.9.3l17.5-1.3z'%20class='st2'/%3e%3cg%3e%3cpath%20d='M231.4%20182.3l-1.9.7c-7.2%202.9-15.3-.6-18.2-7.8l-11.9-29.7c-.4-1%20.1-2.2%201.1-2.6l24.1-9.7c1-.4%202.2.1%202.6%201.1l11.9%2029.7c2.9%207.3-.6%2015.4-7.7%2018.3z'%20class='st3'/%3e%3cpath%20d='M224.3%20185.1c-5.9%200-11.6-3.6-13.9-9.4l-12-29.7c-.6-1.5.1-3.3%201.7-3.9l24.1-9.7c.7-.3%201.6-.3%202.3%200%20.7.3%201.3.9%201.6%201.6l11.9%2029.7c3.1%207.7-.7%2016.4-8.3%2019.5l-1.9.7c-1.8.8-3.6%201.2-5.5%201.2zm1-50.9c-.1%200-.2%200-.4.1l-24.1%209.7c-.5.2-.8.8-.6%201.3l11.9%2029.7c1.3%203.2%203.8%205.7%207%207.1%203.2%201.4%206.7%201.4%209.9.1l1.9-.7c3.2-1.3%205.7-3.8%207.1-7%201.4-3.2%201.4-6.7.1-9.9l-11.9-29.7c-.1-.5-.5-.7-.9-.7z'%20class='st2'/%3e%3c/g%3e%3cg%3e%3cpath%20fill='%2399e1a2'%20d='M205.7%20142.5h20v7h-20z'%20transform='rotate(-21.89%20215.715%20146.055)'/%3e%3cpath%20d='M207.2%20154.3l-3.4-8.4%2020.4-8.2%203.4%208.4-20.4%208.2zm-.8-7.2l1.9%204.6L225%20145l-1.9-4.6-16.7%206.7z'%20class='st2'/%3e%3c/g%3e%3cpath%20d='M204%20153.2h30v2h-30z'%20class='st2'%20transform='rotate(-21.906%20218.97%20154.197)'/%3e%3cg%3e%3ccircle%20cx='208.3'%20cy='128'%20r='4'%20class='st3'/%3e%3cpath%20d='M208.3%20133c-.7%200-1.3-.1-2-.4-1.2-.5-2.2-1.5-2.7-2.7-.5-1.2-.5-2.6%200-3.8s1.5-2.2%202.7-2.7a5%205%200%200%201%203.8%200c1.2.5%202.2%201.5%202.7%202.7%201%202.6-.2%205.5-2.8%206.5-.4.3-1%20.4-1.7.4zm0-8c-.4%200-.8.1-1.1.2-.7.3-1.3.9-1.6%201.6s-.3%201.6%200%202.3c.3.7.9%201.3%201.6%201.6.7.3%201.6.3%202.3%200%201.5-.6%202.3-2.4%201.7-3.9-.3-.7-.9-1.3-1.6-1.6-.5-.1-.9-.2-1.3-.2z'%20class='st2'/%3e%3c/g%3e%3cpath%20d='M210.1%20131.4h2v7h-2z'%20class='st2'%20transform='rotate(-21.894%20211.14%20134.944)'/%3e%3cg%3e%3cpath%20d='M207.6%20166c-12.2%204.9-20.4%201.5-25.2-10.4l5.6-2.2c3.5%208.8%208.2%2010.7%2017.4%207l2.2%205.6z'%20class='st3'/%3e%3cpath%20d='M197.9%20169.2c-7.4%200-12.9-4.4-16.4-13.1l-.4-.9%207.4-3%20.4.9c1.7%204.2%203.6%206.7%206%207.6%202.4%201%205.6.6%2010-1.2l.9-.4%203%207.4-.9.4c-3.6%201.5-7%202.3-10%202.3zm-14.2-13c4.5%2010.3%2011.7%2013.3%2022.6%209.2l-1.5-3.7c-4.5%201.7-7.9%201.9-10.6.8-2.8-1.1-4.9-3.6-6.8-7.8l-3.7%201.5z'%20class='st2'/%3e%3c/g%3e%3cpath%20d='M182.8%20156c-3%200-5.8-1.8-7-4.7-1-2.6-.6-5.5%201.2-7.6l1.5%201.3c-1.3%201.6-1.6%203.7-.9%205.6.5%201.4%201.6%202.4%202.9%203%201.4.6%202.8.6%204.2%200%202.8-1.1%204.2-4.3%203.1-7.2-.2-.6-.5-1.1-.9-1.5l1.5-1.3c.5.6%201%201.3%201.3%202.1%201.5%203.8-.3%208.2-4.2%209.8-.9.3-1.8.5-2.7.5z'%20class='st2'/%3e%3cpath%20d='M198.9%20168.2l-.3-6c.5%200%201.1-.1%201.7-.2l1%205.9c-.9.1-1.7.2-2.4.3zm-4.9-.5c-.8-.2-1.6-.5-2.4-.9l2.6-5.4c.4.2.9.4%201.4.5l-1.6%205.8zm11.5-.9l-1.9-5.7c.6-.2%201.1-.4%201.7-.6l2.2%205.6c-.6.2-1.3.4-2%20.7zm-18-2.9c-.5-.5-1.1-1.2-1.6-1.8l4.8-3.7c.3.4.7.8%201.1%201.2l-4.3%204.3zm-3.9-5.6c-.3-.6-.6-1.3-.9-2l5.5-2.3c.2.6.5%201.1.8%201.6l-5.4%202.7z'%20class='st2'/%3e%3cg%3e%3cpath%20d='M233%20148.8c12.2-4.9%2020.4-1.5%2025.2%2010.4l-5.6%202.2c-3.5-8.8-8.2-10.7-17.4-7l-2.2-5.6z'%20class='st3'/%3e%3cpath%20d='M252%20162.7l-.4-.9c-3.3-8.3-7.4-10-16.1-6.5l-.9.4-3-7.4.9-.4c12.6-5.1%2021.5-1.4%2026.5%2010.9l.4.9-7.4%203zm-9.3-11.1c4.7%200%207.9%202.7%2010.4%208.5l3.7-1.5c-4.5-10.3-11.7-13.3-22.6-9.2l1.5%203.7c2.7-1%205-1.5%207-1.5z'%20class='st2'/%3e%3c/g%3e%3cpath%20d='M257.7%20173.8c-3-.1-5.7-1.9-6.8-4.7-1.5-3.8.3-8.2%204.2-9.8%203.8-1.5%208.2.3%209.8%204.2%201%202.6.6%205.5-1.2%207.6l-1.5-1.3c1.3-1.6%201.6-3.7.9-5.6-1.1-2.8-4.3-4.2-7.2-3.1-1.4.5-2.4%201.6-3%202.9-.6%201.4-.6%202.8%200%204.2.8%202.1%202.8%203.4%205%203.5l-.2%202.1z'%20class='st2'/%3e%3cpath%20d='M252.4%20160.9c-.2-.6-.5-1.1-.8-1.6l5.4-2.7c.3.6.6%201.3.9%202l-5.5%202.3zm-2.6-4.6c-.3-.4-.7-.8-1.1-1.2l4.2-4.2c.5.5%201.1%201.2%201.6%201.8l-4.7%203.6zm-14.6-1.9l-2.2-5.6c.7-.3%201.4-.5%202-.8l1.9%205.7c-.5.2-1.1.4-1.7.7zm11.2-1c-.4-.2-.9-.4-1.4-.5l1.5-5.8c.8.2%201.6.5%202.4.9l-2.5%205.4zm-6.1-.6l-1-5.9c.8-.1%201.6-.2%202.3-.3l.3%206c-.4.1-1%20.1-1.6.2zM42.8%2078.9c-2.1-2.2-2.6-5.4-1.4-8.2%201.7-3.8%206.1-5.5%209.9-3.8l-.8%201.8c-2.8-1.2-6%200-7.3%202.8-.9%202-.5%204.4%201%206l-1.4%201.4z'%20class='st2'/%3e%3c/svg%3e";
4667
- export {
4668
- YA as $,
4669
- cs as A,
4670
- fs as B,
4671
- Ct as C,
4672
- Fs as D,
4673
- bs as E,
4674
- Jr as F,
4675
- Zr as G,
4676
- ws as H,
4677
- ms as I,
4678
- Bs as J,
4679
- _A as K,
4680
- fA as L,
4681
- Pr as M,
4682
- As as N,
4683
- ys as O,
4684
- qA as P,
4685
- Ds as Q,
4686
- Jt as R,
4687
- Ss as S,
4688
- vt as T,
4689
- Is as U,
4690
- Mr as V,
4691
- xr as W,
4692
- ns as X,
4693
- It as Y,
4694
- Ur as Z,
4695
- so as _,
4696
- Gs as a,
4697
- Ns as b,
4698
- Ti as c,
4699
- Qs as d,
4700
- Rs as e,
4701
- os as f,
4702
- ds as g,
4703
- ls as h,
4704
- Ws as i,
4705
- gs as j,
4706
- us as k,
4707
- rs as l,
4708
- NA as m,
4709
- is as n,
4710
- Js as o,
4711
- ps as p,
4712
- as as q,
4713
- Cs as r,
4714
- Ys as s,
4715
- ss as t,
4716
- JA as u,
4717
- Ks as v,
4718
- hs as w,
4719
- vs as x,
4720
- Es as y,
4721
- xs as z
4722
- };