@instructure/platform-modules 1.15.0 → 1.16.1

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.
@@ -1,32 +1,33 @@
1
- import { keepPreviousData as Mn, useQuery as Tn, useQueryClient as Sn, QueryObserver as yo } from "@tanstack/react-query";
1
+ import { keepPreviousData as Mn, useQuery as Tn, useQueryClient as Sn, QueryObserver as Io } from "@tanstack/react-query";
2
2
  import kt from "p-limit";
3
- import { createContext as dt, useContext as Ke, useRef as _, useMemo as W, isValidElement as mt, useState as ne, useEffect as me, useCallback as R, memo as Io, Fragment as vn, cloneElement as Mo } from "react";
4
- import { BREAKPOINTS as To } from "@instructure/platform-with-breakpoints";
5
- import { jsx as l, jsxs as J } from "react/jsx-runtime";
6
- import { useTheme as wn } from "@instructure/emotion";
3
+ import { createContext as dt, useContext as Ye, useRef as A, useMemo as G, isValidElement as mt, useState as oe, useEffect as Se, useCallback as O, memo as Mo, Fragment as wn, cloneElement as To, useLayoutEffect as So } from "react";
4
+ import { BREAKPOINTS as wo } from "@instructure/platform-with-breakpoints";
5
+ import { jsx as l, jsxs as Y } from "react/jsx-runtime";
6
+ import { useTheme as vn } from "@instructure/emotion";
7
7
  import { ScreenReaderContent as En } from "@instructure/ui-a11y-content";
8
- import { Flex as U } from "@instructure/ui-flex/v11_7";
9
- import { PlugInstUIIcon as So, ExternalLinkInstUIIcon as vo, FileInstUIIcon as wo, FileTextInstUIIcon as Eo, MessagesSquareInstUIIcon as Po, RocketInstUIIcon as Co, FilePenLineInstUIIcon as _o, ClockInstUIIcon as Ao, CalendarInstUIIcon as pt, LockInstUIIcon as gt, CircleAlertInstUIIcon as Te, CircleCheckInstUIIcon as ft, ClockFadingInstUIIcon as ht, CircleDashedInstUIIcon as bt, CornerDownRightInstUIIcon as Do, IconArrowOpenStartLine as Lo, IconArrowOpenEndLine as xo } from "@instructure/ui-icons";
10
- import { Link as No } from "@instructure/ui-link/v11_7";
8
+ import { Flex as N } from "@instructure/ui-flex/v11_7";
9
+ import { PlugInstUIIcon as vo, ExternalLinkInstUIIcon as Eo, FileInstUIIcon as Po, FileTextInstUIIcon as Co, MessagesSquareInstUIIcon as _o, RocketInstUIIcon as Ao, FilePenLineInstUIIcon as Do, ClockInstUIIcon as Lo, CalendarInstUIIcon as pt, LockInstUIIcon as gt, CircleAlertInstUIIcon as Me, CircleCheckInstUIIcon as ft, ClockFadingInstUIIcon as ht, CircleDashedInstUIIcon as bt, CornerDownRightInstUIIcon as xo, IconArrowOpenStartLine as Ro, IconArrowOpenEndLine as No } from "@instructure/ui-icons";
10
+ import { Link as Oo } from "@instructure/ui-link/v11_7";
11
11
  import { Text as ue } from "@instructure/ui-text/v11_7";
12
- import { View as ie } from "@instructure/ui-view/v11_7";
13
- import { Pill as Ro } from "@instructure/ui-pill/v11_7";
12
+ import { View as ae } from "@instructure/ui-view/v11_7";
13
+ import { Pill as ko } from "@instructure/ui-pill/v11_7";
14
14
  import { IconButton as Ft } from "@instructure/ui-buttons/v11_7";
15
- import { Heading as Oo } from "@instructure/ui-heading/v11_7";
16
- import { Tooltip as ko } from "@instructure/ui-tooltip/v11_7";
15
+ import { Heading as Fo } from "@instructure/ui-heading/v11_7";
16
+ import { Tooltip as qo } from "@instructure/ui-tooltip/v11_7";
17
17
  import { z as a } from "zod";
18
- import { isValid as rt, colorToRGB as st, overlayColors as Fo, alpha as qo, color2hex as Pn, contrast as de, darken as zo, lighten as Uo } from "@instructure/ui-color-utils";
19
- const $o = a.object({
18
+ import { isValid as rt, colorToRGB as st, overlayColors as zo, alpha as Uo, color2hex as Pn, contrast as de, darken as $o, lighten as Bo } from "@instructure/ui-color-utils";
19
+ import { Tag as Cn } from "@instructure/ui-tag/v11_7";
20
+ const Wo = a.object({
20
21
  target: a.enum(["module", "item"]),
21
22
  field: a.string(),
22
23
  op: a.enum(["eq", "contains", "within"]),
23
24
  value: a.union([a.string(), a.boolean(), a.number()])
24
25
  }).strict();
25
- function Bo(e, t) {
26
+ function Go(e, t) {
26
27
  const n = e == null ? void 0 : e[t.target];
27
28
  return !n || !Object.prototype.hasOwnProperty.call(n, t.field) ? !1 : n[t.field].includes(t.op);
28
29
  }
29
- const Wo = a.enum([
30
+ const jo = a.enum([
30
31
  "assignment",
31
32
  "quiz",
32
33
  "discussion",
@@ -35,7 +36,7 @@ const Wo = a.enum([
35
36
  "external_url",
36
37
  "external_tool",
37
38
  "sub_header"
38
- ]), Go = a.enum(["not_started", "in_progress", "complete", "incomplete", "missing", "locked"]), jo = a.enum([
39
+ ]), Ho = a.enum(["not_started", "in_progress", "complete", "incomplete", "missing", "locked"]), Ko = a.enum([
39
40
  "not_started",
40
41
  "in_progress",
41
42
  "complete",
@@ -43,7 +44,7 @@ const Wo = a.enum([
43
44
  "incomplete",
44
45
  "missing_and_incomplete",
45
46
  "locked"
46
- ]), Ho = a.enum([
47
+ ]), Yo = a.enum([
47
48
  "must_view",
48
49
  "must_mark_done",
49
50
  "must_contribute",
@@ -51,61 +52,61 @@ const Wo = a.enum([
51
52
  "min_score",
52
53
  "min_percentage",
53
54
  "unknown"
54
- ]), Ko = a.object({
55
- status: jo.optional(),
55
+ ]), Qo = a.object({
56
+ status: Ko.optional(),
56
57
  requirementsMet: a.number(),
57
58
  requirementCount: a.number(),
58
59
  percentComplete: a.number().min(0).max(100),
59
60
  nextDueAt: a.string().nullish(),
60
61
  missingCount: a.number(),
61
62
  incompleteCount: a.number()
62
- }), Cn = a.object({
63
+ }), _n = a.object({
63
64
  itemId: a.string(),
64
- type: Ho,
65
+ type: Yo,
65
66
  minScore: a.number().nullish(),
66
67
  minPercentage: a.number().nullish()
67
- }), _n = a.object({
68
+ }), An = a.object({
68
69
  id: a.string(),
69
70
  moduleId: a.string(),
70
71
  title: a.string(),
71
- type: Wo,
72
+ type: jo,
72
73
  position: a.number(),
73
74
  itemNumber: a.number().optional(),
74
75
  indent: a.number(),
75
76
  published: a.boolean(),
76
77
  url: a.string().nullish(),
77
78
  newTab: a.boolean().nullish(),
78
- completionRequirement: Cn.nullish(),
79
+ completionRequirement: _n.nullish(),
79
80
  dueAt: a.string().nullish(),
80
- status: Go.optional(),
81
+ status: Ho.optional(),
81
82
  pointsPossible: a.number().nullish(),
82
83
  extensions: a.record(a.unknown()).optional()
83
- }), Yo = a.object({
84
+ }), Vo = a.object({
84
85
  id: a.string(),
85
86
  name: a.string()
86
- }), Qo = a.object({
87
+ }), Zo = a.object({
87
88
  id: a.string(),
88
89
  name: a.string(),
89
90
  position: a.number(),
90
91
  published: a.boolean(),
91
92
  itemCount: a.number(),
92
93
  estimatedDurationMinutes: a.number().optional(),
93
- items: a.array(_n).optional(),
94
+ items: a.array(An).optional(),
94
95
  unlockAt: a.string().nullish(),
95
- prerequisiteModules: a.array(Yo),
96
+ prerequisiteModules: a.array(Vo),
96
97
  requirementCount: a.number().nullish(),
97
98
  requireSequentialProgress: a.boolean(),
98
- completionRequirements: a.array(Cn).optional(),
99
- progress: Ko.optional(),
99
+ completionRequirements: a.array(_n).optional(),
100
+ progress: Qo.optional(),
100
101
  collapsed: a.boolean().nullish(),
101
102
  extensions: a.record(a.unknown()).optional()
102
- }), Cl = a.object({
103
+ }), xc = a.object({
103
104
  hasNextPage: a.boolean(),
104
105
  endCursor: a.string().nullable()
105
106
  }).refine((e) => !e.hasNextPage || e.endCursor !== null, {
106
107
  message: 'hasNextPage is true but endCursor is null: there is another page and no cursor to ask for it with, which renders a "Load more" that can never load.',
107
108
  path: ["endCursor"]
108
- }), An = a.object({
109
+ }), Dn = a.object({
109
110
  hasNextPage: a.boolean(),
110
111
  endCursor: a.string().nullable(),
111
112
  hasPreviousPage: a.boolean(),
@@ -115,60 +116,60 @@ const Wo = a.enum([
115
116
  }).refine((e) => !e.hasNextPage || e.endCursor !== null, {
116
117
  message: 'hasNextPage is true but endCursor is null: there is another page and no cursor to ask for it with, which renders a "Load more" that can never load.',
117
118
  path: ["endCursor"]
118
- }), _l = a.object({
119
- modules: a.array(Qo),
120
- pageInfo: An
121
- }), Al = a.object({
122
- items: a.array(_n),
123
- pageInfo: An
124
- }), Dn = "career.estimatedDurationMinutes";
125
- function Ln(e) {
119
+ }), Rc = a.object({
120
+ modules: a.array(Zo),
121
+ pageInfo: Dn
122
+ }), Nc = a.object({
123
+ items: a.array(An),
124
+ pageInfo: Dn
125
+ }), Ln = "career.estimatedDurationMinutes";
126
+ function xn(e) {
126
127
  var n;
127
- const t = (n = e.extensions) == null ? void 0 : n[Dn];
128
+ const t = (n = e.extensions) == null ? void 0 : n[Ln];
128
129
  return typeof t != "number" || !Number.isFinite(t) || t <= 0 ? null : t;
129
130
  }
130
- function Dl(e, t) {
131
- return t == null ? e : { ...e, [Dn]: t };
131
+ function Oc(e, t) {
132
+ return t == null ? e : { ...e, [Ln]: t };
132
133
  }
133
- const Vo = "modules.suppressItemNumbering";
134
- function Ll(e) {
134
+ const Xo = "modules.suppressItemNumbering";
135
+ function kc(e) {
135
136
  var t;
136
- return ((t = e.extensions) == null ? void 0 : t[Vo]) === !0;
137
+ return ((t = e.extensions) == null ? void 0 : t[Xo]) === !0;
137
138
  }
138
- const Zo = "organize.newPlacement", Xo = "organize.newModule", Jo = "organize.addedItemCount";
139
- function xl(e) {
139
+ const Jo = "organize.newPlacement", er = "organize.newModule", tr = "organize.addedItemCount";
140
+ function Fc(e) {
140
141
  var t;
141
- return ((t = e.extensions) == null ? void 0 : t[Zo]) === !0;
142
+ return ((t = e.extensions) == null ? void 0 : t[Jo]) === !0;
142
143
  }
143
- function Nl(e) {
144
+ function qc(e) {
144
145
  var t;
145
- return ((t = e.extensions) == null ? void 0 : t[Xo]) === !0;
146
+ return ((t = e.extensions) == null ? void 0 : t[er]) === !0;
146
147
  }
147
- function Rl(e) {
148
+ function zc(e) {
148
149
  var n;
149
- const t = (n = e.extensions) == null ? void 0 : n[Jo];
150
+ const t = (n = e.extensions) == null ? void 0 : n[tr];
150
151
  return typeof t != "number" || !Number.isInteger(t) || t < 0 ? 0 : t;
151
152
  }
152
- const xn = dt(null), er = () => {
153
+ const Rn = dt(null), nr = () => {
153
154
  };
154
- function Ol({
155
+ function Uc({
155
156
  host: e,
156
157
  onEvent: t,
157
158
  children: n
158
159
  }) {
159
- const o = _(t);
160
+ const o = A(t);
160
161
  o.current = t;
161
- const r = W(
162
+ const r = G(
162
163
  () => (s) => o.current({ event: s, host: e }),
163
164
  [e]
164
165
  );
165
- return /* @__PURE__ */ l(xn.Provider, { value: r, children: n });
166
+ return /* @__PURE__ */ l(Rn.Provider, { value: r, children: n });
166
167
  }
167
- function tr() {
168
- return Ke(xn) ?? er;
168
+ function or() {
169
+ return Ye(Rn) ?? nr;
169
170
  }
170
171
  const qt = 100, Nn = 2e3;
171
- class nr extends Error {
172
+ class rr extends Error {
172
173
  constructor(t, n) {
173
174
  super(
174
175
  `This in-memory adapter was built for course ${t} but was asked for course ${n}. A fixture serves exactly one course.`
@@ -179,7 +180,7 @@ const zt = (e) => `offset:${e}`, Ut = (e) => {
179
180
  if (!e) return 0;
180
181
  const t = Number.parseInt(e.replace("offset:", ""), 10);
181
182
  return Number.isFinite(t) && t >= 0 ? t : 0;
182
- }, ze = (e) => {
183
+ }, Ue = (e) => {
183
184
  if (e != null && e.aborted)
184
185
  throw new DOMException("The operation was aborted.", "AbortError");
185
186
  };
@@ -197,7 +198,7 @@ function $t(e, t, n) {
197
198
  }
198
199
  };
199
200
  }
200
- const or = /* @__PURE__ */ new Map([
201
+ const sr = /* @__PURE__ */ new Map([
201
202
  ["COMPLETED", (e) => {
202
203
  var t;
203
204
  return ((t = e.progress) == null ? void 0 : t.status) === "complete";
@@ -217,7 +218,7 @@ const or = /* @__PURE__ */ new Map([
217
218
  return ((t = e.progress) == null ? void 0 : t.status) !== "complete" && ((n = e.progress) == null ? void 0 : n.status) !== "in_progress";
218
219
  }
219
220
  ]
220
- ]), rr = /* @__PURE__ */ new Map([
221
+ ]), ir = /* @__PURE__ */ new Map([
221
222
  ["locked", (e) => {
222
223
  var t;
223
224
  return ((t = e.progress) == null ? void 0 : t.status) === "locked";
@@ -246,10 +247,10 @@ const or = /* @__PURE__ */ new Map([
246
247
  var t;
247
248
  return ((t = e.progress) == null ? void 0 : t.status) === "not_started";
248
249
  }]
249
- ]), sr = {
250
+ ]), ar = {
250
251
  module: { completionStatus: ["eq"], moduleStatus: ["eq"], dueWithinDays: ["within"] }
251
252
  };
252
- function ir(e) {
253
+ function lr(e) {
253
254
  const t = Date.parse(e.start), n = Date.parse(e.end);
254
255
  return (o) => {
255
256
  var i;
@@ -259,24 +260,24 @@ function ir(e) {
259
260
  return s >= t && s <= n;
260
261
  };
261
262
  }
262
- function ar(e, t) {
263
+ function cr(e, t) {
263
264
  if (e.target === "module" && e.field === "completionStatus" && e.op === "eq") {
264
- const n = typeof e.value == "string" ? or.get(e.value) : void 0;
265
+ const n = typeof e.value == "string" ? sr.get(e.value) : void 0;
265
266
  if (!n) throw new Error(`unknown completionStatus "${String(e.value)}"`);
266
267
  return n;
267
268
  }
268
269
  if (e.target === "module" && e.field === "moduleStatus" && e.op === "eq") {
269
- const n = typeof e.value == "string" ? rr.get(e.value) : void 0;
270
+ const n = typeof e.value == "string" ? ir.get(e.value) : void 0;
270
271
  if (!n) throw new Error(`unknown moduleStatus "${String(e.value)}"`);
271
272
  return n;
272
273
  }
273
274
  if (e.target === "module" && e.field === "dueWithinDays" && e.op === "within") {
274
275
  if (!t) throw new Error("A dueWithinDays clause needs a dueRange");
275
- return ir(t);
276
+ return lr(t);
276
277
  }
277
278
  throw new Error(`in-memory adapter cannot compile ${e.target}.${e.field} ${e.op}`);
278
279
  }
279
- function kl(e, t = {}) {
280
+ function $c(e, t = {}) {
280
281
  const n = (s) => e.itemsByModuleId[s] ?? [], o = (s) => {
281
282
  let i = 0;
282
283
  return n(s).map(
@@ -284,10 +285,10 @@ function kl(e, t = {}) {
284
285
  );
285
286
  }, r = (s) => {
286
287
  if (s !== e.courseId)
287
- throw new nr(e.courseId, s);
288
+ throw new rr(e.courseId, s);
288
289
  };
289
290
  return {
290
- capabilities: sr,
291
+ capabilities: ar,
291
292
  async listModules({
292
293
  courseId: s,
293
294
  page: i = { kind: "first" },
@@ -298,13 +299,13 @@ function kl(e, t = {}) {
298
299
  inlineItemsFirst: g,
299
300
  signal: f
300
301
  }) {
301
- var w;
302
- ze(f), r(s), (w = t.onRequest) == null || w.call(t, "listModules", { operation: "listModules", courseId: s });
303
- const M = p ? e.modules.filter(ar(p, h)) : e.modules, { slice: x, pageInfo: O } = $t(M, i, c), A = Math.min(g ?? qt, qt);
304
- return { modules: x.map((N) => {
305
- const D = n(N.id), E = d && D.length <= A;
306
- return { ...N, itemCount: D.length, items: E ? D : void 0 };
307
- }), pageInfo: O };
302
+ var v;
303
+ Ue(f), r(s), (v = t.onRequest) == null || v.call(t, "listModules", { operation: "listModules", courseId: s });
304
+ const I = p ? e.modules.filter(cr(p, h)) : e.modules, { slice: C, pageInfo: k } = $t(I, i, c), D = Math.min(g ?? qt, qt);
305
+ return { modules: C.map((R) => {
306
+ const L = n(R.id), E = d && L.length <= D;
307
+ return { ...R, itemCount: L.length, items: E ? L : void 0 };
308
+ }), pageInfo: k };
308
309
  },
309
310
  async listModuleItems({
310
311
  courseId: s,
@@ -314,7 +315,7 @@ function kl(e, t = {}) {
314
315
  signal: p
315
316
  }) {
316
317
  var f;
317
- ze(p), r(s), (f = t.onRequest) == null || f.call(t, "listModuleItems", { operation: "listModuleItems", courseId: s, moduleId: i });
318
+ Ue(p), r(s), (f = t.onRequest) == null || f.call(t, "listModuleItems", { operation: "listModuleItems", courseId: s, moduleId: i });
318
319
  const { slice: h, pageInfo: g } = $t(o(i), c, d);
319
320
  return { items: h, pageInfo: g };
320
321
  },
@@ -325,7 +326,7 @@ function kl(e, t = {}) {
325
326
  signal: d
326
327
  }) {
327
328
  var h;
328
- ze(d), r(s), (h = t.onRequest) == null || h.call(t, "setModuleCollapsed", {
329
+ Ue(d), r(s), (h = t.onRequest) == null || h.call(t, "setModuleCollapsed", {
329
330
  operation: "setModuleCollapsed",
330
331
  courseId: s,
331
332
  moduleId: i,
@@ -340,7 +341,7 @@ function kl(e, t = {}) {
340
341
  signal: c
341
342
  }) {
342
343
  var d;
343
- ze(c), r(s), (d = t.onRequest) == null || d.call(t, "setAllModulesCollapsed", {
344
+ Ue(c), r(s), (d = t.onRequest) == null || d.call(t, "setAllModulesCollapsed", {
344
345
  operation: "setAllModulesCollapsed",
345
346
  courseId: s,
346
347
  collapsed: i
@@ -348,27 +349,27 @@ function kl(e, t = {}) {
348
349
  }
349
350
  };
350
351
  }
351
- const Ie = ["platform-modules"], Ne = {
352
- all: Ie,
353
- course: (e) => [...Ie, e],
354
- list: (e, t = {}) => [...Ie, e, "list", t],
355
- items: (e, t, n = {}) => [...Ie, e, "module", t, "items", n]
352
+ const ye = ["platform-modules"], Ne = {
353
+ all: ye,
354
+ course: (e) => [...ye, e],
355
+ list: (e, t = {}) => [...ye, e, "list", t],
356
+ items: (e, t, n = {}) => [...ye, e, "module", t, "items", n]
356
357
  };
357
- function cr(e) {
358
- return [...Ie, e, "list"];
358
+ function ur(e) {
359
+ return [...ye, e, "list"];
359
360
  }
360
- function We(e, t) {
361
- return [...Ie, e, "module", t, "items"];
361
+ function Ge(e, t) {
362
+ return [...ye, e, "module", t, "items"];
362
363
  }
363
- function Fl(e, t, n, o) {
364
- const r = o ? Ne.items(t, n, o) : We(t, n);
364
+ function Bc(e, t, n, o) {
365
+ const r = o ? Ne.items(t, n, o) : Ge(t, n);
365
366
  return e.invalidateQueries({ queryKey: r });
366
367
  }
367
- function ql(e, t, n) {
368
- const o = n ? Ne.list(t, n) : cr(t);
368
+ function Wc(e, t, n) {
369
+ const o = n ? Ne.list(t, n) : ur(t);
369
370
  return e.invalidateQueries({ queryKey: o });
370
371
  }
371
- function zl(e, t) {
372
+ function Gc(e, t) {
372
373
  return e.invalidateQueries({ queryKey: Ne.course(t) });
373
374
  }
374
375
  const it = (e, t) => Object.prototype.hasOwnProperty.call(e, t);
@@ -376,206 +377,207 @@ function Bt(e, t) {
376
377
  const n = Object.entries(t ?? {}).filter(([, o]) => o !== void 0);
377
378
  return { ...e, ...Object.fromEntries(n) };
378
379
  }
379
- function Ul(e, t = {}) {
380
+ function jc(e, t = {}) {
380
381
  const n = Object.keys(e).map((r) => [
381
382
  r,
382
383
  Bt(e[r], it(t, r) ? t[r] : void 0)
383
384
  ]), o = Object.keys(t).filter((r) => !it(e, r)).sort().map((r) => [r, Bt({}, t[r])]);
384
385
  return Object.fromEntries([...n, ...o]);
385
386
  }
386
- function ve(e, t) {
387
+ function we(e, t) {
387
388
  if (!(!it(e, t) || e[t].hidden))
388
389
  return e[t];
389
390
  }
390
- function Rn(e) {
391
- return Object.keys(e).filter((t) => ve(e, t) !== void 0).map((t) => ({ ...e[t], key: t })).sort((t, n) => t.order - n.order);
392
- }
393
- const lr = "Page %{page} of %{pageCount}", ur = "First page", dr = "Previous page", mr = "Next page", pr = "Last page", gr = "Page %{page}", fr = "…", hr = "Expand all modules", br = "Collapse all modules", yr = { one: "Loading items in %{count} module…", other: "Loading items in %{count} modules…" }, Ir = "All items loaded", Mr = { one: "%{count} module expanded", other: "%{count} modules expanded" }, Tr = { one: "%{count} module collapsed", other: "%{count} modules collapsed" }, Sr = "Modules failed to load: %{message}", vr = "Loading modules", wr = "No modules available yet", Er = "Modules will appear here once your instructor publishes them. Check back soon or reach out to your instructor for more information.", Pr = "No matching results", Cr = "Adjust or clear your filters to see more items.", _r = "Clear filters", Ar = "Show:", Dr = "All", Lr = "Not started", xr = "In progress", Nr = "Complete", Rr = "Due soon", Or = "Missing", kr = "Locked until %{name} is completed.", Fr = "Locked until %{prerequisites} are completed.", qr = "%{count} prerequisites", zr = "%{label}. %{name}", Ur = "%{label} %{name}", $r = "%{name} progress", Br = { one: "%{loaded} of %{count} item loaded in %{name}", other: "%{loaded} of %{count} items loaded in %{name}" }, Wr = "Items failed to load: %{message}", Gr = "Loading items", jr = "Loading…", Hr = "No items.", Kr = "%{name} items pages", Yr = "Page %{page} of %{pageCount} in %{name}", Qr = "(unpublished)", Vr = "Collapse %{name}", Zr = "Expand %{name}", Xr = "Not started", Jr = "In progress", es = "All completed", ts = "%{count} Missing", ns = "%{count} Incomplete", os = "%{missing} & %{incomplete}", rs = "Locked", ss = "Due soon", is = "Not started", as = "In progress", cs = "Completed", ls = "Incomplete", us = "Missing", ds = "Locked", ms = "Due soon", ps = "Assignment", gs = "Quiz", fs = "Discussion", hs = "Page", bs = "File", ys = "External URL", Is = "External tool", Ms = "Text header", Ts = "Item type", Ss = "Due date", vs = "Points", ws = "Requirement", Es = "Estimated duration", Ps = "Publish state", Cs = "View the item", _s = "Submit the assignment", As = "Contribute to the page", Ds = "Mark as done", Ls = "Score at least the minimum", xs = "Score at least %{count}", Ns = "Score at least the minimum percentage", Rs = "Score at least %{count}%", Os = "Complete the requirement", ks = "today, %{time}", Fs = "yesterday, %{time}", qs = "tomorrow, %{time}", zs = "%{date}, %{time}", Us = "%{time} (%{zone})", $s = "Due %{when}", Bs = "Past due %{when}", Ws = "Will unlock on %{when}", Gs = "Unlocked on %{when}", js = "%{duration} to complete", Hs = "%{duration} remaining", Ks = "%{hours}h %{minutes}m", Ys = "%{count}h", Qs = "%{count}m", Vs = { one: "%{count} pt", other: "%{count} pts" }, Zs = "%{met} of %{count}", Xs = { one: "%{met} of %{count} requirement met", other: "%{met} of %{count} requirements met" }, Js = "%{percent}%", ei = { one: "%{completedModules} of %{totalModules} module complete", other: "%{completedModules} of %{totalModules} modules complete" }, ti = "(%{itemsSummary})", ni = { one: "%{completedItems} of %{totalItems} item", other: "%{completedItems} of %{totalItems} items" }, oi = "Module progress", ri = "Module progress pages", si = "Modules %{start}–%{end} of %{total}", ii = "%{name}: %{status}", ai = "%{count}min", ci = "%{count}hr", li = "%{hours}hr %{minutes}min", ui = "Unpublished", di = "Untitled item", mi = "opens in a new window", pi = "Organize with AI", gi = "Organize content into modules", fi = "Module progression", hi = "Set module prerequisites", bi = "Set item requirements per module", yi = "Close", Ii = "What should this do?", Mi = "Place new content only", Ti = "Reorganize the whole course", Si = "This rebuilds every module in the course. Existing modules can be renamed, refilled, or removed.", vi = "Content to organize", wi = "Anything else it should know? (optional)", Ei = "For example: keep the lab work together and put it last.", Pi = "%{used}/%{max}", Ci = "Choose at least one kind of content.", _i = "Organize", Ai = "Cancel", Di = "Start over", Li = "Regenerate", xi = "Apply", Ni = "Try again", Ri = "Organizing your content…", Oi = "Creating your modules…", ki = "Still working. Large courses take longer.", Fi = "Your proposal is ready to review.", qi = "Your modules were created.", zi = "Your content could not be organized: %{message}", Ui = "Your modules could not be created: %{message}", $i = "Proposed modules", Bi = "New module", Wi = { one: "%{count} item added", other: "%{count} items added" }, Gi = "New", ji = "New placement", Hi = { one: "%{count} item was not placed", other: "%{count} items were not placed" }, Ki = "You can still apply this. Anything left out stays where it is.", Yi = { one: "%{count} thing to know", other: "%{count} things to know" }, Qi = "No modules yet", Vi = "Modules you add to this course appear here.", Zi = { one: "%{count} item", other: "%{count} items" }, Xi = "Complete all required items in any order", Ji = "Complete all required items in order", ea = "Complete one required item", ta = "Required", na = "Optional", oa = "Move %{name}", ra = "draggable", sa = "To pick up a module or item, press Space or Enter. Use the arrow keys to move it. Press Space or Enter again to drop it, or press Escape to cancel.", ia = "Picked up %{name}.", aa = "%{name} is at position %{position} of %{count}.", ca = "%{name} is at position %{position} of %{count} in %{module}.", la = "%{name} is not over a drop position.", ua = "%{name} was dropped at position %{position} of %{count}.", da = "%{name} was dropped at position %{position} of %{count} in %{module}.", ma = "%{name} was dropped. It did not move.", pa = "Moving %{name} was canceled.", ga = {
394
- pageChangedAnnouncement: lr,
395
- paginationFirstPage: ur,
396
- paginationPreviousPage: dr,
397
- paginationNextPage: mr,
398
- paginationLastPage: pr,
399
- paginationPageLabel: gr,
400
- paginationEllipsis: fr,
401
- expandAllModules: hr,
402
- collapseAllModules: br,
403
- expandAllLoadingItems: yr,
404
- expandAllItemsLoaded: Ir,
405
- modulesExpandedAnnouncement: Mr,
406
- modulesCollapsedAnnouncement: Tr,
407
- modulesLoadErrorAlert: Sr,
408
- modulesLoadingSpinnerLabel: vr,
409
- noModulesEmptyStateTitle: wr,
410
- noModulesEmptyStateDescription: Er,
411
- filteredEmptyStateTitle: Pr,
412
- filteredEmptyStateDescription: Cr,
413
- clearFilters: _r,
414
- filterGroupLabel: Ar,
415
- filterAll: Dr,
416
- filterNotStarted: Lr,
417
- filterInProgress: xr,
418
- filterComplete: Nr,
419
- filterDueThisWeek: Rr,
420
- filterMissing: Or,
421
- lockedByPrerequisiteByline: kr,
422
- lockedByPrerequisitesByline: Fr,
423
- lockedByPrerequisitesCount: qr,
424
- moduleNameWithLabel: zr,
425
- itemNameWithLabel: Ur,
426
- moduleProgressScreenReaderLabel: $r,
427
- itemsLoadedAnnouncement: Br,
428
- itemsLoadErrorAlert: Wr,
429
- itemsLoadingSpinnerLabel: Gr,
430
- itemsLoadingText: jr,
431
- noItemsEmptyState: Hr,
432
- itemsPaginationLabel: Kr,
433
- itemsPageChangedAnnouncement: Yr,
434
- moduleUnpublishedBadge: Qr,
435
- collapseModule: Vr,
436
- expandModule: Zr,
437
- moduleStatusNotStarted: Xr,
438
- moduleStatusInProgress: Jr,
439
- moduleStatusComplete: es,
440
- moduleStatusMissing: ts,
441
- moduleStatusIncomplete: ns,
442
- moduleStatusMissingAndIncomplete: os,
443
- moduleStatusLocked: rs,
444
- moduleStatusDueSoon: ss,
445
- itemStatusNotStarted: is,
446
- itemStatusInProgress: as,
447
- itemStatusComplete: cs,
448
- itemStatusIncomplete: ls,
449
- itemStatusMissing: us,
450
- itemStatusLocked: ds,
451
- itemStatusDueSoon: ms,
452
- itemTypeAssignment: ps,
453
- itemTypeQuiz: gs,
454
- itemTypeDiscussion: fs,
455
- itemTypePage: hs,
456
- itemTypeFile: bs,
457
- itemTypeExternalUrl: ys,
458
- itemTypeExternalTool: Is,
459
- itemTypeSubHeader: Ms,
460
- metaFieldTypeLabel: Ts,
461
- metaFieldDueAtLabel: Ss,
462
- metaFieldPointsLabel: vs,
463
- metaFieldRequirementLabel: ws,
464
- metaFieldDurationLabel: Es,
465
- metaFieldPublishStateLabel: Ps,
466
- requirementMustView: Cs,
467
- requirementMustSubmit: _s,
468
- requirementMustContribute: As,
469
- requirementMustMarkDone: Ds,
470
- requirementMinScoreUnknown: Ls,
471
- requirementMinScore: xs,
472
- requirementMinPercentageUnknown: Ns,
473
- requirementMinPercentage: Rs,
474
- requirementUnknown: Os,
475
- dateTimeToday: ks,
476
- dateTimeYesterday: Fs,
477
- dateTimeTomorrow: qs,
478
- dateTimeWithDate: zs,
479
- timeWithZone: Us,
480
- dueByline: $s,
481
- pastDueByline: Bs,
482
- unlockByline: Ws,
483
- unlockedByline: Gs,
484
- estimatedDurationByline: js,
485
- remainingDurationByline: Hs,
486
- estimatedDurationHoursAndMinutes: Ks,
487
- estimatedDurationHours: Ys,
488
- estimatedDurationMinutesAbbreviated: Qs,
489
- pointsAbbreviated: Vs,
490
- progressSummary: Zs,
491
- progressScreenReaderValue: Xs,
492
- moduleProgressOverviewPercentLabel: Js,
493
- moduleProgressOverviewSummary: ei,
494
- moduleProgressOverviewDetail: ti,
495
- moduleProgressOverviewItemsSummary: ni,
496
- moduleProgressOverviewGroupLabel: oi,
497
- moduleProgressOverviewPaginationLabel: ri,
498
- moduleProgressOverviewPageRange: si,
499
- moduleProgressSegmentLabel: ii,
500
- durationMinutes: ai,
501
- durationHours: ci,
502
- durationHoursAndMinutes: li,
503
- itemUnpublishedLabel: ui,
504
- itemUntitled: di,
505
- opensInNewWindow: mi,
506
- organizeModulesTrigger: pi,
507
- organizeModalLabel: gi,
508
- organizeProgressionLegend: fi,
509
- organizeSetPrerequisites: hi,
510
- organizeSetRequirements: bi,
511
- organizeCloseModal: yi,
512
- organizeModeLegend: Ii,
513
- organizeModePlaceNew: Mi,
514
- organizeModeReorganizeAll: Ti,
515
- organizeReorganizeWarning: Si,
516
- organizeContentTypesLegend: vi,
517
- organizeDirectionLabel: wi,
518
- organizeDirectionPlaceholder: Ei,
519
- organizeDirectionCount: Pi,
520
- organizeErrorPickAContentType: Ci,
521
- organizeSubmit: _i,
522
- organizeCancel: Ai,
523
- organizeStartOver: Di,
524
- organizeRegenerate: Li,
525
- organizeApply: xi,
526
- organizeTryAgain: Ni,
527
- organizeLoadingLabel: Ri,
528
- organizeApplyingLabel: Oi,
529
- organizeStillWorking: ki,
530
- organizeProposalReadyAnnouncement: Fi,
531
- organizeAppliedAnnouncement: qi,
532
- organizeFailed: zi,
533
- organizeApplyFailed: Ui,
534
- organizePreviewHeading: $i,
535
- organizeNewModuleLabel: Bi,
536
- organizeItemsAddedLabel: Wi,
537
- organizeNewItemPill: Gi,
538
- metaFieldNewPlacementLabel: ji,
539
- organizeUnplacedHeading: Hi,
540
- organizeUnplacedExplanation: Ki,
541
- organizeWarningsHeading: Yi,
542
- editNoModulesTitle: Qi,
543
- editNoModulesDescription: Vi,
544
- moduleItemCount: Zi,
545
- moduleRequirementAll: Xi,
546
- moduleRequirementAllInOrder: Ji,
547
- moduleRequirementOne: ea,
548
- itemRequiredTag: ta,
549
- itemOptionalTag: na,
550
- dragHandleLabel: oa,
551
- dragRoleDescription: ra,
552
- dragInstructions: sa,
553
- dragPickedUp: ia,
554
- dragOverPosition: aa,
555
- dragOverPositionInModule: ca,
556
- dragOverNothing: la,
557
- dragDroppedPosition: ua,
558
- dragDroppedPositionInModule: da,
559
- dragDroppedNowhere: ma,
560
- dragCanceled: pa
561
- }, fa = /%\{(\w+)\}/g, ha = ga, ae = "en-US", ba = /* @__PURE__ */ new Map(), ya = /* @__PURE__ */ new Map();
562
- function On(e, t, n) {
391
+ function On(e) {
392
+ return Object.keys(e).filter((t) => we(e, t) !== void 0).map((t) => ({ ...e[t], key: t })).sort((t, n) => t.order - n.order);
393
+ }
394
+ const dr = "Page %{page} of %{pageCount}", mr = "First page", pr = "Previous page", gr = "Next page", fr = "Last page", hr = "Page %{page}", br = "…", yr = "Expand all modules", Ir = "Collapse all modules", Mr = { one: "Loading items in %{count} module…", other: "Loading items in %{count} modules…" }, Tr = "All items loaded", Sr = { one: "%{count} module expanded", other: "%{count} modules expanded" }, wr = { one: "%{count} module collapsed", other: "%{count} modules collapsed" }, vr = "Modules failed to load: %{message}", Er = "Loading modules", Pr = "No modules available yet", Cr = "Modules will appear here once your instructor publishes them. Check back soon or reach out to your instructor for more information.", _r = "No matching results", Ar = "Adjust or clear your filters to see more items.", Dr = "Clear filters", Lr = "Status", xr = "All", Rr = "Not started", Nr = "In progress", Or = "Complete", kr = "Due soon", Fr = "Missing", qr = "Locked until %{name} is completed.", zr = "Locked until %{prerequisites} are completed.", Ur = "%{count} prerequisites", $r = "%{label}. %{name}", Br = "%{label} %{name}", Wr = "%{name} progress", Gr = { one: "%{loaded} of %{count} item loaded in %{name}", other: "%{loaded} of %{count} items loaded in %{name}" }, jr = "Items failed to load: %{message}", Hr = "Loading items", Kr = "Loading…", Yr = "No items.", Qr = "%{name} items pages", Vr = "Page %{page} of %{pageCount} in %{name}", Zr = "(unpublished)", Xr = "Collapse %{name}", Jr = "Expand %{name}", es = "Not started", ts = "In progress", ns = "All completed", os = "%{count} Missing", rs = "%{count} Incomplete", ss = "%{missing} & %{incomplete}", is = "Locked", as = "Due soon", ls = "Not started", cs = "In progress", us = "Completed", ds = "Incomplete", ms = "Missing", ps = "Locked", gs = "Due soon", fs = "Assignment", hs = "Quiz", bs = "Discussion", ys = "Page", Is = "File", Ms = "External URL", Ts = "External tool", Ss = "Text header", ws = "Item type", vs = "Due date", Es = "Points", Ps = "Requirement", Cs = "Estimated duration", _s = "Publish state", As = "View the item", Ds = "Submit the assignment", Ls = "Contribute to the page", xs = "Mark as done", Rs = "Score at least the minimum", Ns = "Score at least %{count}", Os = "Score at least the minimum percentage", ks = "Score at least %{count}%", Fs = "Complete the requirement", qs = "today, %{time}", zs = "yesterday, %{time}", Us = "tomorrow, %{time}", $s = "%{date}, %{time}", Bs = "%{time} (%{zone})", Ws = "Due %{when}", Gs = "Past due %{when}", js = "Will unlock on %{when}", Hs = "Unlocked on %{when}", Ks = "%{duration} to complete", Ys = "%{duration} remaining", Qs = "%{hours}h %{minutes}m", Vs = "%{count}h", Zs = "%{count}m", Xs = { one: "%{count} pt", other: "%{count} pts" }, Js = "%{met} of %{count}", ei = { one: "%{met} of %{count} requirement met", other: "%{met} of %{count} requirements met" }, ti = "%{percent}%", ni = { one: "%{completedModules} of %{totalModules} module complete", other: "%{completedModules} of %{totalModules} modules complete" }, oi = "(%{itemsSummary})", ri = { one: "%{completedItems} of %{totalItems} item", other: "%{completedItems} of %{totalItems} items" }, si = "Module progress", ii = "Module progress pages", ai = "Modules %{start}–%{end} of %{total}", li = "%{name}: %{status}", ci = "%{count}min", ui = "%{count}hr", di = "%{hours}hr %{minutes}min", mi = "Unpublished", pi = "Untitled item", gi = "opens in a new window", fi = "Organize with AI", hi = "Organize content into modules", bi = "Module progression", yi = "Set module prerequisites", Ii = "Set item requirements per module", Mi = "Close", Ti = "What should this do?", Si = "Place new content only", wi = "Reorganize the whole course", vi = "This rebuilds every module in the course. Existing modules can be renamed, refilled, or removed.", Ei = "Content to organize", Pi = "Anything else it should know? (optional)", Ci = "For example: keep the lab work together and put it last.", _i = "%{used}/%{max}", Ai = "Choose at least one kind of content.", Di = "Organize", Li = "Cancel", xi = "Start over", Ri = "Regenerate", Ni = "Apply", Oi = "Try again", ki = "Organizing your content…", Fi = "Creating your modules…", qi = "Still working. Large courses take longer.", zi = "Your proposal is ready to review.", Ui = "Your modules were created.", $i = "Your content could not be organized: %{message}", Bi = "Your modules could not be created: %{message}", Wi = "Proposed modules", Gi = "New module", ji = { one: "%{count} item added", other: "%{count} items added" }, Hi = "New", Ki = "New placement", Yi = { one: "%{count} item was not placed", other: "%{count} items were not placed" }, Qi = "You can still apply this. Anything left out stays where it is.", Vi = { one: "%{count} thing to know", other: "%{count} things to know" }, Zi = "No modules yet", Xi = "Modules you add to this course appear here.", Ji = { one: "%{count} item", other: "%{count} items" }, ea = "Complete all required items in any order", ta = "Complete all required items in order", na = "Complete one required item", oa = "Required", ra = "Optional", sa = "Required", ia = "Move %{name}", aa = "draggable", la = "To pick up a module or item, press Space or Enter. Use the arrow keys to move it. Press Space or Enter again to drop it, or press Escape to cancel.", ca = "Picked up %{name}.", ua = "%{name} is at position %{position} of %{count}.", da = "%{name} is at position %{position} of %{count} in %{module}.", ma = "%{name} is not over a drop position.", pa = "%{name} was dropped at position %{position} of %{count}.", ga = "%{name} was dropped at position %{position} of %{count} in %{module}.", fa = "%{name} was dropped. It did not move.", ha = "Moving %{name} was canceled.", ba = {
395
+ pageChangedAnnouncement: dr,
396
+ paginationFirstPage: mr,
397
+ paginationPreviousPage: pr,
398
+ paginationNextPage: gr,
399
+ paginationLastPage: fr,
400
+ paginationPageLabel: hr,
401
+ paginationEllipsis: br,
402
+ expandAllModules: yr,
403
+ collapseAllModules: Ir,
404
+ expandAllLoadingItems: Mr,
405
+ expandAllItemsLoaded: Tr,
406
+ modulesExpandedAnnouncement: Sr,
407
+ modulesCollapsedAnnouncement: wr,
408
+ modulesLoadErrorAlert: vr,
409
+ modulesLoadingSpinnerLabel: Er,
410
+ noModulesEmptyStateTitle: Pr,
411
+ noModulesEmptyStateDescription: Cr,
412
+ filteredEmptyStateTitle: _r,
413
+ filteredEmptyStateDescription: Ar,
414
+ clearFilters: Dr,
415
+ filterGroupLabel: Lr,
416
+ filterAll: xr,
417
+ filterNotStarted: Rr,
418
+ filterInProgress: Nr,
419
+ filterComplete: Or,
420
+ filterDueThisWeek: kr,
421
+ filterMissing: Fr,
422
+ lockedByPrerequisiteByline: qr,
423
+ lockedByPrerequisitesByline: zr,
424
+ lockedByPrerequisitesCount: Ur,
425
+ moduleNameWithLabel: $r,
426
+ itemNameWithLabel: Br,
427
+ moduleProgressScreenReaderLabel: Wr,
428
+ itemsLoadedAnnouncement: Gr,
429
+ itemsLoadErrorAlert: jr,
430
+ itemsLoadingSpinnerLabel: Hr,
431
+ itemsLoadingText: Kr,
432
+ noItemsEmptyState: Yr,
433
+ itemsPaginationLabel: Qr,
434
+ itemsPageChangedAnnouncement: Vr,
435
+ moduleUnpublishedBadge: Zr,
436
+ collapseModule: Xr,
437
+ expandModule: Jr,
438
+ moduleStatusNotStarted: es,
439
+ moduleStatusInProgress: ts,
440
+ moduleStatusComplete: ns,
441
+ moduleStatusMissing: os,
442
+ moduleStatusIncomplete: rs,
443
+ moduleStatusMissingAndIncomplete: ss,
444
+ moduleStatusLocked: is,
445
+ moduleStatusDueSoon: as,
446
+ itemStatusNotStarted: ls,
447
+ itemStatusInProgress: cs,
448
+ itemStatusComplete: us,
449
+ itemStatusIncomplete: ds,
450
+ itemStatusMissing: ms,
451
+ itemStatusLocked: ps,
452
+ itemStatusDueSoon: gs,
453
+ itemTypeAssignment: fs,
454
+ itemTypeQuiz: hs,
455
+ itemTypeDiscussion: bs,
456
+ itemTypePage: ys,
457
+ itemTypeFile: Is,
458
+ itemTypeExternalUrl: Ms,
459
+ itemTypeExternalTool: Ts,
460
+ itemTypeSubHeader: Ss,
461
+ metaFieldTypeLabel: ws,
462
+ metaFieldDueAtLabel: vs,
463
+ metaFieldPointsLabel: Es,
464
+ metaFieldRequirementLabel: Ps,
465
+ metaFieldDurationLabel: Cs,
466
+ metaFieldPublishStateLabel: _s,
467
+ requirementMustView: As,
468
+ requirementMustSubmit: Ds,
469
+ requirementMustContribute: Ls,
470
+ requirementMustMarkDone: xs,
471
+ requirementMinScoreUnknown: Rs,
472
+ requirementMinScore: Ns,
473
+ requirementMinPercentageUnknown: Os,
474
+ requirementMinPercentage: ks,
475
+ requirementUnknown: Fs,
476
+ dateTimeToday: qs,
477
+ dateTimeYesterday: zs,
478
+ dateTimeTomorrow: Us,
479
+ dateTimeWithDate: $s,
480
+ timeWithZone: Bs,
481
+ dueByline: Ws,
482
+ pastDueByline: Gs,
483
+ unlockByline: js,
484
+ unlockedByline: Hs,
485
+ estimatedDurationByline: Ks,
486
+ remainingDurationByline: Ys,
487
+ estimatedDurationHoursAndMinutes: Qs,
488
+ estimatedDurationHours: Vs,
489
+ estimatedDurationMinutesAbbreviated: Zs,
490
+ pointsAbbreviated: Xs,
491
+ progressSummary: Js,
492
+ progressScreenReaderValue: ei,
493
+ moduleProgressOverviewPercentLabel: ti,
494
+ moduleProgressOverviewSummary: ni,
495
+ moduleProgressOverviewDetail: oi,
496
+ moduleProgressOverviewItemsSummary: ri,
497
+ moduleProgressOverviewGroupLabel: si,
498
+ moduleProgressOverviewPaginationLabel: ii,
499
+ moduleProgressOverviewPageRange: ai,
500
+ moduleProgressSegmentLabel: li,
501
+ durationMinutes: ci,
502
+ durationHours: ui,
503
+ durationHoursAndMinutes: di,
504
+ itemUnpublishedLabel: mi,
505
+ itemUntitled: pi,
506
+ opensInNewWindow: gi,
507
+ organizeModulesTrigger: fi,
508
+ organizeModalLabel: hi,
509
+ organizeProgressionLegend: bi,
510
+ organizeSetPrerequisites: yi,
511
+ organizeSetRequirements: Ii,
512
+ organizeCloseModal: Mi,
513
+ organizeModeLegend: Ti,
514
+ organizeModePlaceNew: Si,
515
+ organizeModeReorganizeAll: wi,
516
+ organizeReorganizeWarning: vi,
517
+ organizeContentTypesLegend: Ei,
518
+ organizeDirectionLabel: Pi,
519
+ organizeDirectionPlaceholder: Ci,
520
+ organizeDirectionCount: _i,
521
+ organizeErrorPickAContentType: Ai,
522
+ organizeSubmit: Di,
523
+ organizeCancel: Li,
524
+ organizeStartOver: xi,
525
+ organizeRegenerate: Ri,
526
+ organizeApply: Ni,
527
+ organizeTryAgain: Oi,
528
+ organizeLoadingLabel: ki,
529
+ organizeApplyingLabel: Fi,
530
+ organizeStillWorking: qi,
531
+ organizeProposalReadyAnnouncement: zi,
532
+ organizeAppliedAnnouncement: Ui,
533
+ organizeFailed: $i,
534
+ organizeApplyFailed: Bi,
535
+ organizePreviewHeading: Wi,
536
+ organizeNewModuleLabel: Gi,
537
+ organizeItemsAddedLabel: ji,
538
+ organizeNewItemPill: Hi,
539
+ metaFieldNewPlacementLabel: Ki,
540
+ organizeUnplacedHeading: Yi,
541
+ organizeUnplacedExplanation: Qi,
542
+ organizeWarningsHeading: Vi,
543
+ editNoModulesTitle: Zi,
544
+ editNoModulesDescription: Xi,
545
+ moduleItemCount: Ji,
546
+ moduleRequirementAll: ea,
547
+ moduleRequirementAllInOrder: ta,
548
+ moduleRequirementOne: na,
549
+ itemRequiredTag: oa,
550
+ itemOptionalTag: ra,
551
+ moduleRequiredPill: sa,
552
+ dragHandleLabel: ia,
553
+ dragRoleDescription: aa,
554
+ dragInstructions: la,
555
+ dragPickedUp: ca,
556
+ dragOverPosition: ua,
557
+ dragOverPositionInModule: da,
558
+ dragOverNothing: ma,
559
+ dragDroppedPosition: pa,
560
+ dragDroppedPositionInModule: ga,
561
+ dragDroppedNowhere: fa,
562
+ dragCanceled: ha
563
+ }, ya = /%\{(\w+)\}/g, Ia = ba, le = "en-US", Ma = /* @__PURE__ */ new Map(), Ta = /* @__PURE__ */ new Map();
564
+ function kn(e, t, n) {
563
565
  const o = e.get(t);
564
566
  if (o) return o;
565
567
  const r = n();
566
568
  return e.set(t, r), r;
567
569
  }
568
- function Ia(e, t, n) {
569
- return n ? e.replace(fa, (o, r) => {
570
+ function Sa(e, t, n) {
571
+ return n ? e.replace(ya, (o, r) => {
570
572
  if (!Object.prototype.hasOwnProperty.call(n, r)) return o;
571
573
  const s = n[r];
572
- return typeof s == "number" && Number.isFinite(s) ? On(ya, t, () => new Intl.NumberFormat(t)).format(s) : String(s);
574
+ return typeof s == "number" && Number.isFinite(s) ? kn(Ta, t, () => new Intl.NumberFormat(t)).format(s) : String(s);
573
575
  }) : e;
574
576
  }
575
- function Ma(e, t, n) {
577
+ function wa(e, t, n) {
576
578
  const o = n == null ? void 0 : n.count;
577
579
  if (typeof o == "number" && Number.isFinite(o)) {
578
- const r = On(ba, t, () => new Intl.PluralRules(t)).select(o), s = e[r];
580
+ const r = kn(Ma, t, () => new Intl.PluralRules(t)).select(o), s = e[r];
579
581
  if (typeof s == "string") return s;
580
582
  }
581
583
  return typeof e.other == "string" ? e.other : void 0;
@@ -583,35 +585,35 @@ function Ma(e, t, n) {
583
585
  function Wt(e, t, n) {
584
586
  if (typeof e == "string") return e;
585
587
  if (e !== null && typeof e == "object")
586
- return Ma(e, t, n);
588
+ return wa(e, t, n);
587
589
  }
588
590
  const Gt = /* @__PURE__ */ new Set();
589
- function Ta(e) {
591
+ function va(e) {
590
592
  Gt.has(e) || (Gt.add(e), console.warn(
591
593
  `[platform-modules] no translation for "${e}"; it will render as itself. Add it to the catalog passed to ModulesI18nProvider.`
592
594
  ));
593
595
  }
594
- function Sa(e, t, n, o, r) {
596
+ function Ea(e, t, n, o, r) {
595
597
  const s = Wt(e == null ? void 0 : e[t], n, r);
596
598
  if (typeof s == "string") return s;
597
- const i = Wt(ha[t], n, r);
598
- return typeof i == "string" ? i : (o && Ta(t), t);
599
+ const i = Wt(Ia[t], n, r);
600
+ return typeof i == "string" ? i : (o && va(t), t);
599
601
  }
600
- function kn(e, t = ae, n = !1) {
601
- return (o, r) => Ia(Sa(e, o, t, n, r), t, r);
602
+ function Fn(e, t = le, n = !1) {
603
+ return (o, r) => Sa(Ea(e, o, t, n, r), t, r);
602
604
  }
603
- const va = kn(), wa = { t: va, locale: ae }, at = dt(null);
604
- function $l({
605
+ const Pa = Fn(), Ca = { t: Pa, locale: le }, at = dt(null);
606
+ function Hc({
605
607
  translations: e,
606
608
  locale: t,
607
609
  timezone: n,
608
610
  warnOnMissingKey: o,
609
611
  children: r
610
612
  }) {
611
- const s = Ke(at), i = W(() => {
612
- const c = (s == null ? void 0 : s.translations) === void 0 ? e : { ...s.translations, ...e }, d = t ?? (s == null ? void 0 : s.locale) ?? ae;
613
+ const s = Ye(at), i = G(() => {
614
+ const c = (s == null ? void 0 : s.translations) === void 0 ? e : { ...s.translations, ...e }, d = t ?? (s == null ? void 0 : s.locale) ?? le;
613
615
  return {
614
- t: kn(c, d, o),
616
+ t: Fn(c, d, o),
615
617
  locale: d,
616
618
  timezone: n ?? (s == null ? void 0 : s.timezone),
617
619
  translations: c
@@ -619,11 +621,11 @@ function $l({
619
621
  }, [s, e, t, n, o]);
620
622
  return /* @__PURE__ */ l(at.Provider, { value: i, children: r });
621
623
  }
622
- function oe() {
623
- return Ke(at) ?? wa;
624
+ function X() {
625
+ return Ye(at) ?? Ca;
624
626
  }
625
- const ct = 864e5, lt = "en-US", jt = /* @__PURE__ */ new Map(), Ht = /* @__PURE__ */ new Map();
626
- function Ea(e) {
627
+ const lt = 864e5, ct = "en-US", jt = /* @__PURE__ */ new Map(), Ht = /* @__PURE__ */ new Map();
628
+ function _a(e) {
627
629
  const t = Ht.get(e);
628
630
  if (t) return t;
629
631
  const n = new Intl.NumberFormat(e, { useGrouping: !1 });
@@ -644,7 +646,7 @@ function Kt(e, t) {
644
646
  timeZone: t
645
647
  }),
646
648
  zone: t ? new Intl.DateTimeFormat(e, { timeZone: t, timeZoneName: "short" }) : void 0,
647
- civilDay: new Intl.DateTimeFormat(lt, {
649
+ civilDay: new Intl.DateTimeFormat(ct, {
648
650
  year: "numeric",
649
651
  month: "numeric",
650
652
  day: "numeric",
@@ -666,23 +668,23 @@ function yt(e, t) {
666
668
  return jt.set(o, s), s;
667
669
  }
668
670
  function Yt(e, t) {
669
- return new Date(Ge(e, t)).getUTCFullYear();
671
+ return new Date(je(e, t)).getUTCFullYear();
670
672
  }
671
- function Pa(e, t) {
673
+ function Aa(e, t) {
672
674
  var o;
673
675
  const n = (o = e.zone) == null ? void 0 : o.formatToParts(t).find((r) => r.type === "timeZoneName");
674
676
  return (n == null ? void 0 : n.value) ?? null;
675
677
  }
676
- function Fn(e, t) {
678
+ function qn(e, t) {
677
679
  var n;
678
680
  return Number((n = e.find((o) => o.type === t)) == null ? void 0 : n.value);
679
681
  }
680
- function Ge(e, t) {
681
- const n = e.civilDay.formatToParts(t), o = (r) => Fn(n, r);
682
+ function je(e, t) {
683
+ const n = e.civilDay.formatToParts(t), o = (r) => qn(n, r);
682
684
  return Date.UTC(o("year"), o("month") - 1, o("day"));
683
685
  }
684
- function Ca(e, t, n) {
685
- return Bn(yt(ae, n), e, t);
686
+ function Da(e, t, n) {
687
+ return Wn(yt(le, n), e, t);
686
688
  }
687
689
  const Qt = {
688
690
  hour12: !1,
@@ -693,19 +695,19 @@ const Qt = {
693
695
  minute: "numeric",
694
696
  second: "numeric"
695
697
  }, Vt = /* @__PURE__ */ new Map();
696
- function _a(e) {
698
+ function La(e) {
697
699
  const t = e || void 0, n = t ?? "", o = Vt.get(n);
698
700
  if (o) return o;
699
701
  let r;
700
702
  try {
701
- r = new Intl.DateTimeFormat(lt, { ...Qt, timeZone: t });
703
+ r = new Intl.DateTimeFormat(ct, { ...Qt, timeZone: t });
702
704
  } catch {
703
- r = new Intl.DateTimeFormat(lt, Qt);
705
+ r = new Intl.DateTimeFormat(ct, Qt);
704
706
  }
705
707
  return Vt.set(n, r), r;
706
708
  }
707
709
  function Zt(e, t) {
708
- const n = _a(e).formatToParts(t), o = (s) => Fn(n, s);
710
+ const n = La(e).formatToParts(t), o = (s) => qn(n, s);
709
711
  return Date.UTC(
710
712
  o("year"),
711
713
  o("month") - 1,
@@ -716,55 +718,55 @@ function Zt(e, t) {
716
718
  ) - Math.floor(t.getTime() / 1e3) * 1e3;
717
719
  }
718
720
  function Xt(e, t) {
719
- const n = Ge(yt(ae, t), e), o = new Date(n - Zt(t, e));
721
+ const n = je(yt(le, t), e), o = new Date(n - Zt(t, e));
720
722
  return n - Zt(t, o);
721
723
  }
722
- function Aa(e, t, n) {
723
- const o = Xt(e, n), r = new Date(o + t * ct + ct / 2);
724
+ function xa(e, t, n) {
725
+ const o = Xt(e, n), r = new Date(o + t * lt + lt / 2);
724
726
  return {
725
727
  start: e.toISOString(),
726
728
  end: new Date(Xt(r, n) - 1).toISOString()
727
729
  };
728
730
  }
729
- const qn = 7;
730
- function zn(e) {
731
+ const zn = 7;
732
+ function Un(e) {
731
733
  if (!e) return null;
732
734
  const t = new Date(e);
733
735
  return Number.isNaN(t.getTime()) ? null : t;
734
736
  }
735
- function Un(e, t, n) {
736
- const o = zn(e);
737
- return o === null || $n(e, t) ? !1 : Ca(o, t, n) < qn;
737
+ function $n(e, t, n) {
738
+ const o = Un(e);
739
+ return o === null || Bn(e, t) ? !1 : Da(o, t, n) < zn;
738
740
  }
739
- function $n(e, t) {
740
- const n = zn(e);
741
+ function Bn(e, t) {
742
+ const n = Un(e);
741
743
  return n !== null && n.getTime() < t.getTime();
742
744
  }
743
- function Bn(e, t, n) {
744
- return Math.round((Ge(e, t) - Ge(e, n)) / ct);
745
+ function Wn(e, t, n) {
746
+ return Math.round((je(e, t) - je(e, n)) / lt);
745
747
  }
746
- function Da(e, t, n, { locale: o = ae, timezone: r } = {}) {
748
+ function Ra(e, t, n, { locale: o = le, timezone: r } = {}) {
747
749
  const s = new Date(t);
748
750
  if (Number.isNaN(s.getTime())) return t;
749
- const i = yt(o, r), c = Pa(i, s), d = i.time.format(s), p = c ? e("timeWithZone", { time: d, zone: c }) : d, h = Bn(i, s, n);
751
+ const i = yt(o, r), c = Aa(i, s), d = i.time.format(s), p = c ? e("timeWithZone", { time: d, zone: c }) : d, h = Wn(i, s, n);
750
752
  if (h === 0) return e("dateTimeToday", { time: p });
751
753
  if (h === -1) return e("dateTimeYesterday", { time: p });
752
754
  if (h === 1) return e("dateTimeTomorrow", { time: p });
753
755
  const f = Yt(i, s) === Yt(i, n) ? i.day.format(s) : i.dayYear.format(s);
754
756
  return e("dateTimeWithDate", { date: f, time: p });
755
757
  }
756
- function Wn(e, t = ae) {
757
- return !Number.isInteger(e) || e < 1 ? null : Ea(t).format(e);
758
+ function Gn(e, t = le) {
759
+ return !Number.isInteger(e) || e < 1 ? null : _a(t).format(e);
758
760
  }
759
- function La(e, t, n = ae) {
761
+ function Na(e, t, n = le) {
760
762
  if (!e || t === void 0) return null;
761
- const o = Wn(t, n);
763
+ const o = Gn(t, n);
762
764
  return o === null ? null : `${e}.${o}`;
763
765
  }
764
- function xa(e, t) {
766
+ function Oa(e, t) {
765
767
  return t == null ? null : e("pointsAbbreviated", { count: t });
766
768
  }
767
- function Na(e, t) {
769
+ function ka(e, t) {
768
770
  switch (t.type) {
769
771
  case "must_view":
770
772
  return e("requirementMustView");
@@ -782,40 +784,40 @@ function Na(e, t) {
782
784
  return e("requirementUnknown");
783
785
  }
784
786
  }
785
- function Ra(e, t, n) {
787
+ function Fa(e, t, n) {
786
788
  return e("progressSummary", { met: t, count: n });
787
789
  }
788
- function Bl(e, t, n) {
790
+ function Kc(e, t, n) {
789
791
  return e("progressScreenReaderValue", { met: t, count: n });
790
792
  }
791
- function Oa(e) {
793
+ function qa(e) {
792
794
  if (!e) return null;
793
- const t = e.map((n) => Ln(n)).filter((n) => n !== null);
795
+ const t = e.map((n) => xn(n)).filter((n) => n !== null);
794
796
  return t.length === 0 ? null : t.reduce((n, o) => n + o, 0);
795
797
  }
796
- function Wl(e) {
798
+ function Yc(e) {
797
799
  if (!e) return null;
798
800
  const t = e.filter((n) => n.status !== void 0 && n.status !== "complete");
799
- return Oa(t);
801
+ return qa(t);
800
802
  }
801
- function Gn(e) {
803
+ function jn(e) {
802
804
  return { hours: Math.floor(e / 60), mins: e % 60 };
803
805
  }
804
- function jn(e, t) {
805
- const { hours: n, mins: o } = Gn(t);
806
+ function Hn(e, t) {
807
+ const { hours: n, mins: o } = jn(t);
806
808
  return n > 0 && o > 0 ? e("estimatedDurationHoursAndMinutes", { hours: n, minutes: o }) : n > 0 ? e("estimatedDurationHours", { count: n }) : e("estimatedDurationMinutesAbbreviated", { count: o });
807
809
  }
808
- function ka(e, t) {
809
- return e("estimatedDurationByline", { duration: jn(e, t) });
810
+ function za(e, t) {
811
+ return e("estimatedDurationByline", { duration: Hn(e, t) });
810
812
  }
811
- function Fa(e, t) {
812
- return e("remainingDurationByline", { duration: jn(e, t) });
813
+ function Ua(e, t) {
814
+ return e("remainingDurationByline", { duration: Hn(e, t) });
813
815
  }
814
- function qa(e, t) {
815
- const { hours: n, mins: o } = Gn(t);
816
+ function $a(e, t) {
817
+ const { hours: n, mins: o } = jn(t);
816
818
  return n > 0 && o > 0 ? e("durationHoursAndMinutes", { hours: n, minutes: o }) : n > 0 ? e("durationHours", { count: n }) : e("durationMinutes", { count: o });
817
819
  }
818
- const za = "all", Ua = qn, $a = {
820
+ const Ba = "all", Wa = zn, Ga = {
819
821
  all: {
820
822
  label: "filterAll",
821
823
  order: 10,
@@ -854,13 +856,13 @@ const za = "all", Ua = qn, $a = {
854
856
  order: 40,
855
857
  predicate: (e, { today: t, timezone: n }) => {
856
858
  var o;
857
- return Un((o = e.progress) == null ? void 0 : o.nextDueAt, t, n);
859
+ return $n((o = e.progress) == null ? void 0 : o.nextDueAt, t, n);
858
860
  },
859
861
  query: {
860
862
  target: "module",
861
863
  field: "dueWithinDays",
862
864
  op: "within",
863
- value: Ua
865
+ value: Wa
864
866
  }
865
867
  },
866
868
  missing: {
@@ -876,59 +878,59 @@ const za = "all", Ua = qn, $a = {
876
878
  function It(e) {
877
879
  return e == null ? void 0 : e.query;
878
880
  }
879
- function Hn(e) {
881
+ function Kn(e) {
880
882
  return (e == null ? void 0 : e.unfiltered) === !0;
881
883
  }
882
884
  function Jt(e) {
883
- return e !== void 0 && !Hn(e);
885
+ return e !== void 0 && !Kn(e);
884
886
  }
885
- function Ba(e) {
887
+ function ja(e) {
886
888
  return e !== void 0 && It(e) === void 0;
887
889
  }
888
- const Wa = {
889
- moduleLabel: (e, t, { locale: n }) => Wn(e, n),
890
- dateTime: (e, t, { t: n, locale: o, timezone: r }) => Da(n, e, t, { locale: o, timezone: r }),
891
- points: (e, { t }) => xa(t, e),
892
- progress: (e, t, n, { t: o }) => Ra(o, t, n)
893
- }, te = { size: "xs", color: "mutedColor" }, Ga = {
890
+ const Ha = {
891
+ moduleLabel: (e, t, { locale: n }) => Gn(e, n),
892
+ dateTime: (e, t, { t: n, locale: o, timezone: r }) => Ra(n, e, t, { locale: o, timezone: r }),
893
+ points: (e, { t }) => Oa(t, e),
894
+ progress: (e, t, n, { t: o }) => Fa(o, t, n)
895
+ }, ne = { size: "xs", color: "mutedColor" }, Ka = {
894
896
  assignment: {
895
897
  label: "itemTypeAssignment",
896
898
  order: 10,
897
- icon: /* @__PURE__ */ l(_o, { ...te })
899
+ icon: /* @__PURE__ */ l(Do, { ...ne })
898
900
  },
899
- quiz: { label: "itemTypeQuiz", order: 20, icon: /* @__PURE__ */ l(Co, { ...te }) },
901
+ quiz: { label: "itemTypeQuiz", order: 20, icon: /* @__PURE__ */ l(Ao, { ...ne }) },
900
902
  discussion: {
901
903
  label: "itemTypeDiscussion",
902
904
  order: 30,
903
- icon: /* @__PURE__ */ l(Po, { ...te })
905
+ icon: /* @__PURE__ */ l(_o, { ...ne })
904
906
  },
905
- page: { label: "itemTypePage", order: 40, icon: /* @__PURE__ */ l(Eo, { ...te }) },
906
- file: { label: "itemTypeFile", order: 50, icon: /* @__PURE__ */ l(wo, { ...te }) },
907
+ page: { label: "itemTypePage", order: 40, icon: /* @__PURE__ */ l(Co, { ...ne }) },
908
+ file: { label: "itemTypeFile", order: 50, icon: /* @__PURE__ */ l(Po, { ...ne }) },
907
909
  external_url: {
908
910
  label: "itemTypeExternalUrl",
909
911
  order: 60,
910
- icon: /* @__PURE__ */ l(vo, { ...te })
912
+ icon: /* @__PURE__ */ l(Eo, { ...ne })
911
913
  },
912
914
  external_tool: {
913
915
  label: "itemTypeExternalTool",
914
916
  order: 70,
915
- icon: /* @__PURE__ */ l(So, { ...te })
917
+ icon: /* @__PURE__ */ l(vo, { ...ne })
916
918
  },
917
919
  sub_header: { label: "itemTypeSubHeader", order: 80, icon: null }
918
- }, Gl = "type", ja = { fontSizeMedium: "inherit" }, en = /* @__PURE__ */ l(pt, { ...te });
920
+ }, Qc = "type", Ya = { fontSizeMedium: "inherit" }, en = /* @__PURE__ */ l(pt, { ...ne });
919
921
  function tn({ item: e, today: t }) {
920
- return e.status !== "complete" && e.status !== "locked" && $n(e.dueAt, t);
922
+ return e.status !== "complete" && e.status !== "locked" && Bn(e.dueAt, t);
921
923
  }
922
- const Ha = {
924
+ const Qa = {
923
925
  type: {
924
926
  label: "metaFieldTypeLabel",
925
927
  order: 10,
926
928
  renderIcon: ({ item: e, config: t }) => {
927
- const n = ve(t.itemTypes, e.type);
929
+ const n = we(t.itemTypes, e.type);
928
930
  return n ? n.renderIcon ? n.renderIcon({ item: e }) : n.icon : null;
929
931
  },
930
932
  render: ({ item: e, t, config: n }) => {
931
- const o = ve(n.itemTypes, e.type);
933
+ const o = we(n.itemTypes, e.type);
932
934
  return o ? t(o.label) : null;
933
935
  }
934
936
  },
@@ -940,7 +942,7 @@ const Ha = {
940
942
  requirement: {
941
943
  label: "metaFieldRequirementLabel",
942
944
  order: 30,
943
- render: ({ item: e, t }) => e.completionRequirement ? Na(t, e.completionRequirement) : null
945
+ render: ({ item: e, t }) => e.completionRequirement ? ka(t, e.completionRequirement) : null
944
946
  },
945
947
  dueAt: {
946
948
  label: "metaFieldDueAtLabel",
@@ -950,20 +952,20 @@ const Ha = {
950
952
  renderIcon: (e) => {
951
953
  var n;
952
954
  const t = (n = e.config.itemMeta.dueAt) == null ? void 0 : n.icon;
953
- return t !== en || !tn(e) ? t : /* @__PURE__ */ l(pt, { ...te, color: "errorColor" });
955
+ return t !== en || !tn(e) ? t : /* @__PURE__ */ l(pt, { ...ne, color: "errorColor" });
954
956
  },
955
957
  render: (e) => {
956
958
  const { item: t, today: n, formatters: o } = e;
957
- return t.dueAt ? tn(e) ? /* @__PURE__ */ l(ue, { color: "danger", themeOverride: ja, children: o.pastDueByline(t.dueAt, n) }) : o.dueByline(t.dueAt, n) : null;
959
+ return t.dueAt ? tn(e) ? /* @__PURE__ */ l(ue, { color: "danger", themeOverride: Ya, children: o.pastDueByline(t.dueAt, n) }) : o.dueByline(t.dueAt, n) : null;
958
960
  }
959
961
  },
960
962
  estimatedDuration: {
961
963
  label: "metaFieldDurationLabel",
962
964
  order: 50,
963
- icon: /* @__PURE__ */ l(Ao, { ...te }),
965
+ icon: /* @__PURE__ */ l(Lo, { ...ne }),
964
966
  render: ({ item: e, t }) => {
965
- const n = Ln(e);
966
- return n === null ? null : qa(t, n);
967
+ const n = xn(e);
968
+ return n === null ? null : $a(t, n);
967
969
  }
968
970
  },
969
971
  unpublished: {
@@ -972,11 +974,11 @@ const Ha = {
972
974
  render: ({ item: e, t }) => e.published ? null : t("itemUnpublishedLabel")
973
975
  }
974
976
  }, Mt = {
975
- formatters: Wa,
976
- itemTypes: Ga,
977
+ formatters: Ha,
978
+ itemTypes: Ka,
977
979
  itemStatuses: {},
978
- itemMeta: Ha,
979
- filters: $a,
980
+ itemMeta: Qa,
981
+ filters: Ga,
980
982
  moduleActions: {},
981
983
  itemActions: {},
982
984
  navigation: {},
@@ -988,18 +990,18 @@ for (const e of Object.values(Mt)) {
988
990
  Object.freeze(e);
989
991
  for (const t of Object.values(e ?? {})) Object.freeze(t);
990
992
  }
991
- function Ka(e, t) {
992
- return Rn(e).filter((n) => {
993
- if (Hn(n)) return !1;
993
+ function Va(e, t) {
994
+ return On(e).filter((n) => {
995
+ if (Kn(n)) return !1;
994
996
  const o = It(n);
995
- return o === void 0 ? !0 : !Bo(t, o);
997
+ return o === void 0 ? !0 : !Go(t, o);
996
998
  }).map((n) => n.key);
997
999
  }
998
1000
  function nn(e) {
999
1001
  return `[platform-modules] the adapter cannot serve filter(s): ${e.join(", ")}. Give the entry a query the adapter's capabilities declare, or mark it unfiltered.`;
1000
1002
  }
1001
- function Ya(e, t) {
1002
- const n = Ka(e, t);
1003
+ function Za(e, t) {
1004
+ const n = Va(e, t);
1003
1005
  if (n.length === 0) return e;
1004
1006
  if (process.env.NODE_ENV !== "production")
1005
1007
  throw new Error(nn(n));
@@ -1007,37 +1009,37 @@ function Ya(e, t) {
1007
1009
  const o = Object.fromEntries(n.map((r) => [r, { ...e[r], hidden: !0 }]));
1008
1010
  return { ...e, ...o };
1009
1011
  }
1010
- const Kn = dt(null);
1011
- function jl({ value: e, children: t }) {
1012
- return /* @__PURE__ */ l(Kn.Provider, { value: e, children: t });
1012
+ const Yn = dt(null);
1013
+ function Vc({ value: e, children: t }) {
1014
+ return /* @__PURE__ */ l(Yn.Provider, { value: e, children: t });
1013
1015
  }
1014
- function Ye() {
1015
- return Ke(Kn) ?? Mt;
1016
+ function Qe() {
1017
+ return Ye(Yn) ?? Mt;
1016
1018
  }
1017
- function Hl(e) {
1018
- return ve(Ye().itemMeta, e) !== void 0;
1019
+ function Zc(e) {
1020
+ return we(Qe().itemMeta, e) !== void 0;
1019
1021
  }
1020
- const Re = a.object({
1022
+ const Oe = a.object({
1021
1023
  label: a.string(),
1022
1024
  order: a.number(),
1023
1025
  hidden: a.boolean().optional()
1024
1026
  });
1025
- function ye(e) {
1027
+ function be(e) {
1026
1028
  return a.record(a.string(), e);
1027
1029
  }
1028
- const Qa = ye(Re.strict()), Tt = (e) => e == null || typeof e == "string" || typeof e == "number" || typeof e == "bigint" || typeof e == "boolean" || mt(e) || Array.isArray(e) && e.every(Tt), Yn = (e) => {
1030
+ const Xa = be(Oe.strict()), Tt = (e) => e == null || typeof e == "string" || typeof e == "number" || typeof e == "bigint" || typeof e == "boolean" || mt(e) || Array.isArray(e) && e.every(Tt), Qn = (e) => {
1029
1031
  var t;
1030
1032
  return e == null || typeof e == "function" && !((t = e.prototype) != null && t.isReactComponent);
1031
- }, Va = Re.extend({
1033
+ }, Ja = Oe.extend({
1032
1034
  icon: a.custom(Tt, { message: "icon must be a ReactNode" }),
1033
- renderIcon: a.custom(Yn, {
1035
+ renderIcon: a.custom(Qn, {
1034
1036
  message: "renderIcon must be a function of the item, not a React component"
1035
1037
  })
1036
- }).strict(), Qn = (e) => {
1038
+ }).strict(), Vn = (e) => {
1037
1039
  var t;
1038
1040
  return typeof e == "function" && !((t = e.prototype) != null && t.isReactComponent);
1039
- }, on = (e) => e == null || Qn(e), rn = Re.extend({
1040
- onSelect: a.custom(Qn, {
1041
+ }, on = (e) => e == null || Vn(e), rn = Oe.extend({
1042
+ onSelect: a.custom(Vn, {
1041
1043
  message: "onSelect must be a function taking an ActionContext"
1042
1044
  }),
1043
1045
  visible: a.custom(on, {
@@ -1047,31 +1049,31 @@ const Qa = ye(Re.strict()), Tt = (e) => e == null || typeof e == "string" || typ
1047
1049
  message: "renderModal must be a function taking an ActionContext, not a React component"
1048
1050
  })
1049
1051
  }).strict();
1050
- function Ue() {
1052
+ function $e() {
1051
1053
  return a.custom((e) => typeof e == "function", {
1052
1054
  message: "Expected a function"
1053
1055
  });
1054
1056
  }
1055
- const Za = Re.extend({
1057
+ const el = Oe.extend({
1056
1058
  render: a.custom((e) => typeof e == "function", {
1057
1059
  message: "render must be a function taking a MetaFieldContext"
1058
1060
  }),
1059
1061
  icon: a.custom(Tt, { message: "icon must be a ReactNode" }),
1060
- renderIcon: a.custom(Yn, {
1062
+ renderIcon: a.custom(Qn, {
1061
1063
  message: "renderIcon must be a function of the field context, not a React component"
1062
1064
  })
1063
- }).strict(), Xa = Re.extend({
1065
+ }).strict(), tl = Oe.extend({
1064
1066
  predicate: a.custom((e) => typeof e == "function", {
1065
1067
  message: "predicate must be a function of the module and a FilterContext"
1066
1068
  }),
1067
- query: $o.optional(),
1069
+ query: Wo.optional(),
1068
1070
  unfiltered: a.boolean().optional()
1069
- }).strict(), Le = () => a.custom((e) => typeof e == "function", { message: "Expected a function" }).optional(), Ja = a.object({
1070
- getItemHref: Le(),
1071
- getItemEditHref: Le(),
1072
- getModuleHref: Le(),
1073
- onItemClick: Le()
1074
- }).strict(), ec = a.object({
1071
+ }).strict(), xe = () => a.custom((e) => typeof e == "function", { message: "Expected a function" }).optional(), nl = a.object({
1072
+ getItemHref: xe(),
1073
+ getItemEditHref: xe(),
1074
+ getModuleHref: xe(),
1075
+ onItemClick: xe()
1076
+ }).strict(), ol = a.object({
1075
1077
  createModule: a.boolean().optional(),
1076
1078
  updateModule: a.boolean().optional(),
1077
1079
  deleteModule: a.boolean().optional(),
@@ -1081,26 +1083,26 @@ const Za = Re.extend({
1081
1083
  updateModuleItem: a.boolean().optional(),
1082
1084
  deleteModuleItem: a.boolean().optional(),
1083
1085
  reorderModuleItems: a.boolean().optional()
1084
- }).strict(), Kl = a.object({
1086
+ }).strict(), Xc = a.object({
1085
1087
  formatters: a.object({
1086
- moduleLabel: Ue(),
1087
- dateTime: Ue(),
1088
- points: Ue(),
1089
- progress: Ue()
1088
+ moduleLabel: $e(),
1089
+ dateTime: $e(),
1090
+ points: $e(),
1091
+ progress: $e()
1090
1092
  }).strict(),
1091
- itemTypes: ye(Va),
1092
- itemStatuses: Qa,
1093
- itemMeta: ye(Za),
1094
- filters: ye(Xa),
1095
- moduleActions: ye(rn),
1096
- itemActions: ye(rn),
1097
- navigation: Ja,
1098
- permissions: ec,
1099
- notify: Le()
1093
+ itemTypes: be(Ja),
1094
+ itemStatuses: Xa,
1095
+ itemMeta: be(el),
1096
+ filters: be(tl),
1097
+ moduleActions: be(rn),
1098
+ itemActions: be(rn),
1099
+ navigation: nl,
1100
+ permissions: ol,
1101
+ notify: xe()
1100
1102
  });
1101
- function Vn() {
1102
- const { formatters: e } = Ye(), { t, locale: n, timezone: o } = oe();
1103
- return W(() => {
1103
+ function Zn() {
1104
+ const { formatters: e } = Qe(), { t, locale: n, timezone: o } = X();
1105
+ return G(() => {
1104
1106
  const r = { t, locale: n, timezone: o }, s = (i, c) => e.dateTime(i, c, r);
1105
1107
  return {
1106
1108
  moduleLabel: (i, c) => e.moduleLabel(i, c, r) || null,
@@ -1108,15 +1110,15 @@ function Vn() {
1108
1110
  pastDueByline: (i, c) => t("pastDueByline", { when: s(i, c) }),
1109
1111
  unlockByline: (i, c) => t("unlockByline", { when: s(i, c) }),
1110
1112
  unlockedByline: (i, c) => t("unlockedByline", { when: s(i, c) }),
1111
- estimatedDurationByline: (i) => ka(t, i),
1112
- remainingDurationByline: (i) => Fa(t, i),
1113
+ estimatedDurationByline: (i) => za(t, i),
1114
+ remainingDurationByline: (i) => Ua(t, i),
1113
1115
  points: (i) => e.points(i, r),
1114
1116
  progress: (i, c, d) => e.progress(i, c, d, r)
1115
1117
  };
1116
1118
  }, [e, t, n, o]);
1117
1119
  }
1118
- const St = 10, tc = 4, nc = 20, Zn = 100, oc = 4, rc = 4, vt = 5 * 60 * 1e3, Xn = 20;
1119
- function Jn(e) {
1120
+ const St = 10, rl = 4, sl = 20, Xn = 100, il = 4, al = 4, wt = 5 * 60 * 1e3, Jn = 20;
1121
+ function eo(e) {
1120
1122
  const {
1121
1123
  courseId: t,
1122
1124
  adapter: n,
@@ -1134,7 +1136,7 @@ function Jn(e) {
1134
1136
  return {
1135
1137
  // `inlineItemsFirst`/`inlineFirst` are deliberately out of the key: derived from this list.
1136
1138
  queryKey: Ne.list(t, { view: h, pageSize: r, includeItems: s, filter: i, page: o }),
1137
- queryFn: ({ signal: M }) => n.listModules({
1139
+ queryFn: ({ signal: I }) => n.listModules({
1138
1140
  courseId: t,
1139
1141
  page: o,
1140
1142
  pageSize: r,
@@ -1143,14 +1145,14 @@ function Jn(e) {
1143
1145
  dueRange: c,
1144
1146
  inlineItemsFirst: d,
1145
1147
  inlineFirst: p,
1146
- signal: M
1148
+ signal: I
1147
1149
  }),
1148
1150
  enabled: f,
1149
1151
  staleTime: g,
1150
1152
  refetchOnWindowFocus: !1
1151
1153
  };
1152
1154
  }
1153
- function sc(e) {
1155
+ function ll(e) {
1154
1156
  const { courseId: t, moduleId: n, adapter: o, page: r, pageSize: s, view: i, staleTime: c, enabled: d, limit: p } = e;
1155
1157
  return {
1156
1158
  queryKey: Ne.items(t, n, { view: i, pageSize: s, page: r }),
@@ -1168,28 +1170,28 @@ function sc(e) {
1168
1170
  refetchOnWindowFocus: !1
1169
1171
  };
1170
1172
  }
1171
- const je = { request: { kind: "first" }, page: 1 };
1172
- function xe(e, t) {
1173
+ const He = { request: { kind: "first" }, page: 1 };
1174
+ function Re(e, t) {
1173
1175
  return e === null ? 1 : Math.max(1, Math.ceil(e / t));
1174
1176
  }
1175
- function ic(e, t, n, o) {
1177
+ function cl(e, t, n, o) {
1176
1178
  switch (e) {
1177
1179
  case "first":
1178
- return je;
1180
+ return He;
1179
1181
  case "previous":
1180
- return t === 2 ? je : n.hasPreviousPage && n.startCursor !== null ? { request: { kind: "before", cursor: n.startCursor }, page: t - 1 } : null;
1182
+ return t === 2 ? He : n.hasPreviousPage && n.startCursor !== null ? { request: { kind: "before", cursor: n.startCursor }, page: t - 1 } : null;
1181
1183
  case "next":
1182
1184
  return n.hasNextPage && n.endCursor !== null ? { request: { kind: "after", cursor: n.endCursor }, page: t + 1 } : null;
1183
1185
  case "last": {
1184
1186
  const r = n.totalCount;
1185
1187
  return r === null ? null : {
1186
1188
  request: { kind: "last", count: r % o || o },
1187
- page: xe(r, o)
1189
+ page: Re(r, o)
1188
1190
  };
1189
1191
  }
1190
1192
  }
1191
1193
  }
1192
- const tt = { kind: "first" }, ac = {
1194
+ const tt = { kind: "first" }, ul = {
1193
1195
  hasNextPage: !1,
1194
1196
  endCursor: null,
1195
1197
  hasPreviousPage: !1,
@@ -1197,8 +1199,8 @@ const tt = { kind: "first" }, ac = {
1197
1199
  totalCount: null,
1198
1200
  totalNrOfPages: null
1199
1201
  };
1200
- function cc(e) {
1201
- var Q, se, ce;
1202
+ function dl(e) {
1203
+ var J, se, ce;
1202
1204
  const {
1203
1205
  courseId: t,
1204
1206
  adapter: n,
@@ -1209,14 +1211,14 @@ function cc(e) {
1209
1211
  inlineItemsFirst: c,
1210
1212
  inlineFirst: d,
1211
1213
  view: p,
1212
- staleTime: h = vt,
1214
+ staleTime: h = wt,
1213
1215
  enabled: g = !0
1214
- } = e, [f, M] = ne(tt), [x, O] = ne(1), A = JSON.stringify([t, p, o, r, s]), S = _(A);
1215
- me(() => {
1216
- S.current !== A && (S.current = A, M(tt), O(1));
1217
- }, [A]);
1218
- const w = Tn({
1219
- ...Jn({
1216
+ } = e, [f, I] = oe(tt), [C, k] = oe(1), D = JSON.stringify([t, p, o, r, s]), S = A(D);
1217
+ Se(() => {
1218
+ S.current !== D && (S.current = D, I(tt), k(1));
1219
+ }, [D]);
1220
+ const v = Tn({
1221
+ ...eo({
1220
1222
  courseId: t,
1221
1223
  adapter: n,
1222
1224
  page: f,
@@ -1232,40 +1234,39 @@ function cc(e) {
1232
1234
  }),
1233
1235
  // `useItemsMode` shares `modulesQueryOptions`, and `inlineFirst` is out of that key.
1234
1236
  placeholderData: Mn
1235
- }), N = _(null);
1236
- ((Q = w.data) == null ? void 0 : Q.pageInfo.totalCount) != null && (N.current = w.data.pageInfo.totalCount);
1237
- const D = _(1);
1238
- w.isPlaceholderData || (D.current = x);
1239
- const E = D.current, v = ((se = w.data) == null ? void 0 : se.pageInfo) ?? ac, T = ((ce = w.data) == null ? void 0 : ce.modules) ?? [], L = v.totalCount, K = xe(L, o), G = R(() => {
1240
- M(tt), O(1);
1241
- }, []), j = v.hasPreviousPage, H = v.startCursor, I = R(() => {
1242
- !j || H === null || (M({ kind: "before", cursor: H }), O(E - 1));
1243
- }, [j, H, E]), k = v.hasNextPage, C = v.endCursor, re = R(() => {
1244
- !k || C === null || (M({ kind: "after", cursor: C }), O(E + 1));
1245
- }, [k, C, E]), $ = R(() => {
1246
- const V = N.current, Z = V !== null && V > 0 && V % o || o;
1247
- M({ kind: "last", count: Z }), O(K);
1248
- }, [o, K]);
1237
+ }), R = A(null);
1238
+ ((J = v.data) == null ? void 0 : J.pageInfo.totalCount) != null && (R.current = v.data.pageInfo.totalCount);
1239
+ const L = A(1);
1240
+ v.isPlaceholderData || (L.current = C);
1241
+ const E = L.current, w = ((se = v.data) == null ? void 0 : se.pageInfo) ?? ul, T = ((ce = v.data) == null ? void 0 : ce.modules) ?? [], x = w.totalCount, Q = Re(x, o), j = O(() => {
1242
+ I(tt), k(1);
1243
+ }, []), H = w.hasPreviousPage, K = w.startCursor, M = O(() => {
1244
+ !H || K === null || (I({ kind: "before", cursor: K }), k(E - 1));
1245
+ }, [H, K, E]), q = w.hasNextPage, _ = w.endCursor, re = O(() => {
1246
+ !q || _ === null || (I({ kind: "after", cursor: _ }), k(E + 1));
1247
+ }, [q, _, E]), $ = O(() => {
1248
+ const ee = R.current, V = ee !== null && ee > 0 && ee % o || o;
1249
+ I({ kind: "last", count: V }), k(Q);
1250
+ }, [o, Q]);
1249
1251
  return {
1250
1252
  modules: T,
1251
- pageInfo: v,
1253
+ pageInfo: w,
1252
1254
  page: E,
1253
- pageCount: K,
1254
- hasNextPage: k,
1255
- hasPreviousPage: j,
1256
- goToFirstPage: G,
1257
- goToPreviousPage: I,
1255
+ pageCount: Q,
1256
+ hasNextPage: q,
1257
+ hasPreviousPage: H,
1258
+ goToFirstPage: j,
1259
+ goToPreviousPage: M,
1258
1260
  goToNextPage: re,
1259
1261
  goToLastPage: $,
1260
- isLoading: w.isLoading,
1261
- isPending: w.isPending,
1262
- isPlaceholderData: w.isPlaceholderData,
1263
- error: w.error
1262
+ isLoading: v.isLoading,
1263
+ isPending: v.isPending,
1264
+ isPlaceholderData: v.isPlaceholderData,
1265
+ error: v.error
1264
1266
  };
1265
1267
  }
1266
- const lc = { kind: "first" };
1267
- function uc(e, t, n = Nn) {
1268
- if (e.pageInfo.hasNextPage) return "onDemand";
1268
+ const ml = { kind: "first" };
1269
+ function pl(e, t, n = Nn) {
1269
1270
  let o = 0, r = 0;
1270
1271
  for (const s of e.modules) {
1271
1272
  if (s.itemCount > t) return "onDemand";
@@ -1273,23 +1274,23 @@ function uc(e, t, n = Nn) {
1273
1274
  }
1274
1275
  return o > t * 2 ? "onDemand" : Math.max(e.modules.length, 1) * Math.max(r, 1) <= n ? "inline" : "onDemand";
1275
1276
  }
1276
- function dc(e) {
1277
+ function gl(e) {
1277
1278
  const {
1278
1279
  courseId: t,
1279
1280
  adapter: n,
1280
1281
  mode: o = "auto",
1281
- inlineThreshold: r = Zn,
1282
+ inlineThreshold: r = Xn,
1282
1283
  nodeBudget: s = n.inlineNodeBudget ?? Nn,
1283
1284
  pageSize: i = St,
1284
1285
  filter: c,
1285
1286
  dueRange: d,
1286
1287
  view: p,
1287
- staleTime: h = vt
1288
+ staleTime: h = wt
1288
1289
  } = e, g = o === "auto", f = Tn(
1289
- Jn({
1290
+ eo({
1290
1291
  courseId: t,
1291
1292
  adapter: n,
1292
- page: lc,
1293
+ page: ml,
1293
1294
  pageSize: i,
1294
1295
  includeItems: !1,
1295
1296
  filter: c,
@@ -1315,31 +1316,31 @@ function dc(e) {
1315
1316
  error: f.error,
1316
1317
  inlineShape: null
1317
1318
  };
1318
- const M = f.data;
1319
- return M ? {
1320
- resolvedMode: uc(M, r, s),
1319
+ const I = f.data;
1320
+ return I ? {
1321
+ resolvedMode: pl(I, r, s),
1321
1322
  isResolving: !1,
1322
1323
  probed: !0,
1323
1324
  error: null,
1324
- inlineShape: mc(M)
1325
+ inlineShape: fl(I)
1325
1326
  } : { resolvedMode: null, isResolving: !0, probed: !0, error: null, inlineShape: null };
1326
1327
  }
1327
- function mc(e) {
1328
+ function fl(e) {
1328
1329
  let t = 1;
1329
1330
  for (const n of e.modules)
1330
1331
  n.itemCount > t && (t = n.itemCount);
1331
1332
  return { moduleCount: Math.max(e.modules.length, 1), maxItemCount: t };
1332
1333
  }
1333
- const pc = `(max-width: ${To.mobileOnly.maxWidth})`;
1334
+ const hl = `(max-width: ${wo.mobileOnly.maxWidth})`;
1334
1335
  function sn() {
1335
- return typeof window > "u" || typeof window.matchMedia != "function" ? null : window.matchMedia(pc);
1336
+ return typeof window > "u" || typeof window.matchMedia != "function" ? null : window.matchMedia(hl);
1336
1337
  }
1337
- function gc() {
1338
- const [e, t] = ne(() => {
1338
+ function bl() {
1339
+ const [e, t] = oe(() => {
1339
1340
  var n;
1340
1341
  return ((n = sn()) == null ? void 0 : n.matches) ?? !1;
1341
1342
  });
1342
- return me(() => {
1343
+ return Se(() => {
1343
1344
  const n = sn();
1344
1345
  if (n === null) return;
1345
1346
  t(n.matches);
@@ -1347,146 +1348,146 @@ function gc() {
1347
1348
  return n.addEventListener("change", o), () => n.removeEventListener("change", o);
1348
1349
  }, []), e;
1349
1350
  }
1350
- const nt = "\0", fc = /* @__PURE__ */ new Map();
1351
- function hc(e, t, {
1351
+ const nt = "\0", yl = /* @__PURE__ */ new Map();
1352
+ function Il(e, t, {
1352
1353
  pageSize: n,
1353
- retainCollapsedLimit: o = Xn,
1354
+ retainCollapsedLimit: o = Jn,
1354
1355
  partition: r = ""
1355
1356
  }) {
1356
- const s = Sn(), i = _(/* @__PURE__ */ new Map()), c = _(/* @__PURE__ */ new Map()), d = `${n}${nt}${r}`, p = _(d), [h, g] = ne(fc), f = e.join(nt), M = W(() => f === "" ? [] : f.split(nt), [f]);
1357
- me(() => {
1358
- const S = i.current, w = c.current;
1359
- p.current !== d && (w.clear(), p.current = d);
1360
- const N = () => {
1357
+ const s = Sn(), i = A(/* @__PURE__ */ new Map()), c = A(/* @__PURE__ */ new Map()), d = `${n}${nt}${r}`, p = A(d), [h, g] = oe(yl), f = e.join(nt), I = G(() => f === "" ? [] : f.split(nt), [f]);
1358
+ Se(() => {
1359
+ const S = i.current, v = c.current;
1360
+ p.current !== d && (v.clear(), p.current = d);
1361
+ const R = () => {
1361
1362
  g((T) => {
1362
- const L = /* @__PURE__ */ new Map();
1363
- let K = T.size !== S.size;
1364
- for (const [G, j] of S) {
1365
- const H = j.getCurrentResult(), I = w.get(G), k = I ? H.isPlaceholderData ? I.shownPage : I.page : 1, C = T.get(G);
1366
- if (C && C.result === H && C.page === k) {
1367
- L.set(G, C);
1363
+ const x = /* @__PURE__ */ new Map();
1364
+ let Q = T.size !== S.size;
1365
+ for (const [j, H] of S) {
1366
+ const K = H.getCurrentResult(), M = v.get(j), q = M ? K.isPlaceholderData ? M.shownPage : M.page : 1, _ = T.get(j);
1367
+ if (_ && _.result === K && _.page === q) {
1368
+ x.set(j, _);
1368
1369
  continue;
1369
1370
  }
1370
- L.set(G, { result: H, page: k }), K = !0;
1371
+ x.set(j, { result: K, page: q }), Q = !0;
1371
1372
  }
1372
- return K ? L : T;
1373
+ return Q ? x : T;
1373
1374
  });
1374
- }, D = (T) => (w.get(T) ?? je).request, E = new Set(M);
1375
- for (const T of M) {
1375
+ }, L = (T) => (v.get(T) ?? He).request, E = new Set(I);
1376
+ for (const T of I) {
1376
1377
  if (S.has(T)) continue;
1377
- const L = new yo(
1378
+ const x = new Io(
1378
1379
  s,
1379
- t(T, !0, D(T))
1380
+ t(T, !0, L(T))
1380
1381
  );
1381
- S.set(T, L), L.subscribe(N);
1382
+ S.set(T, x), x.subscribe(R);
1382
1383
  }
1383
- for (const [T, L] of S)
1384
- L.setOptions(t(T, E.has(T), D(T)));
1385
- for (const T of M) {
1386
- const L = S.get(T);
1387
- L && (S.delete(T), S.set(T, L));
1384
+ for (const [T, x] of S)
1385
+ x.setOptions(t(T, E.has(T), L(T)));
1386
+ for (const T of I) {
1387
+ const x = S.get(T);
1388
+ x && (S.delete(T), S.set(T, x));
1388
1389
  }
1389
- let v = S.size - E.size;
1390
- if (v > o)
1391
- for (const [T, L] of S) {
1392
- if (v <= o) break;
1393
- E.has(T) || (L.destroy(), S.delete(T), w.delete(T), v -= 1);
1390
+ let w = S.size - E.size;
1391
+ if (w > o)
1392
+ for (const [T, x] of S) {
1393
+ if (w <= o) break;
1394
+ E.has(T) || (x.destroy(), S.delete(T), v.delete(T), w -= 1);
1394
1395
  }
1395
- N();
1396
- }, [s, t, M, o, d]), me(() => {
1396
+ R();
1397
+ }, [s, t, I, o, d]), Se(() => {
1397
1398
  const S = i.current;
1398
1399
  return () => {
1399
- for (const w of S.values()) w.destroy();
1400
+ for (const v of S.values()) v.destroy();
1400
1401
  S.clear();
1401
1402
  };
1402
1403
  }, []);
1403
- const x = _(n);
1404
- x.current = n;
1405
- const O = _(t);
1406
- O.current = t;
1407
- const A = R((S, w) => {
1408
- const N = i.current.get(S), D = N == null ? void 0 : N.getCurrentResult();
1409
- if (!N || !(D != null && D.data) || D.isPlaceholderData) return;
1410
- const E = c.current.get(S) ?? je, v = ic(w, E.page, D.data.pageInfo, x.current);
1411
- !v || v.page === E.page || (c.current.set(S, { ...v, shownPage: E.page }), N.setOptions(
1412
- O.current(S, N.options.enabled !== !1, v.request)
1404
+ const C = A(n);
1405
+ C.current = n;
1406
+ const k = A(t);
1407
+ k.current = t;
1408
+ const D = O((S, v) => {
1409
+ const R = i.current.get(S), L = R == null ? void 0 : R.getCurrentResult();
1410
+ if (!R || !(L != null && L.data) || L.isPlaceholderData) return;
1411
+ const E = c.current.get(S) ?? He, w = cl(v, E.page, L.data.pageInfo, C.current);
1412
+ !w || w.page === E.page || (c.current.set(S, { ...w, shownPage: E.page }), R.setOptions(
1413
+ k.current(S, R.options.enabled !== !1, w.request)
1413
1414
  ));
1414
1415
  }, []);
1415
- return { entries: h, goToPage: A };
1416
+ return { entries: h, goToPage: D };
1416
1417
  }
1417
- const bc = [];
1418
- function Yl(e) {
1418
+ const Ml = [];
1419
+ function Jc(e) {
1419
1420
  var Lt, xt;
1420
1421
  const {
1421
1422
  courseId: t,
1422
1423
  adapter: n,
1423
1424
  view: o,
1424
1425
  itemsMode: r = "auto",
1425
- inlineThreshold: s = Zn,
1426
+ inlineThreshold: s = Xn,
1426
1427
  pageSize: i = St,
1427
- mobilePageSize: c = tc,
1428
- itemPageSize: d = nc,
1429
- itemConcurrency: p = oc,
1430
- retainCollapsedLimit: h = Xn,
1431
- staleTime: g = vt,
1428
+ mobilePageSize: c = rl,
1429
+ itemPageSize: d = sl,
1430
+ itemConcurrency: p = il,
1431
+ retainCollapsedLimit: h = Jn,
1432
+ staleTime: g = wt,
1432
1433
  initialExpandedModuleIds: f,
1433
- initialFilter: M = za,
1434
- today: x
1435
- } = e, O = gc() ? c : i, A = Sn(), S = Ye(), [w, N] = ne(M), D = W(
1436
- () => Ya(S.filters, n.capabilities),
1434
+ initialFilter: I = Ba,
1435
+ today: C
1436
+ } = e, k = bl() ? c : i, D = Sn(), S = Qe(), [v, R] = oe(I), L = G(
1437
+ () => Za(S.filters, n.capabilities),
1437
1438
  [S.filters, n.capabilities]
1438
- ), E = ve(D, w), v = It(E), { timezone: T } = oe(), [L] = ne(() => /* @__PURE__ */ new Date()), K = x ?? L, G = W(
1439
- () => (v == null ? void 0 : v.op) === "within" ? Aa(K, Number(v.value), T) : void 0,
1440
- [v == null ? void 0 : v.op, v == null ? void 0 : v.value, K, T]
1441
- ), j = dc({
1439
+ ), E = we(L, v), w = It(E), { timezone: T } = X(), [x] = oe(() => /* @__PURE__ */ new Date()), Q = C ?? x, j = G(
1440
+ () => (w == null ? void 0 : w.op) === "within" ? xa(Q, Number(w.value), T) : void 0,
1441
+ [w == null ? void 0 : w.op, w == null ? void 0 : w.value, Q, T]
1442
+ ), H = gl({
1442
1443
  courseId: t,
1443
1444
  adapter: n,
1444
1445
  mode: r,
1445
1446
  inlineThreshold: s,
1446
- pageSize: O,
1447
- filter: v,
1448
- dueRange: G,
1447
+ pageSize: k,
1448
+ filter: w,
1449
+ dueRange: j,
1449
1450
  view: o,
1450
1451
  staleTime: g
1451
- }), H = j.resolvedMode, I = cc({
1452
+ }), K = H.resolvedMode, M = dl({
1452
1453
  courseId: t,
1453
1454
  adapter: n,
1454
- pageSize: O,
1455
- filter: v,
1456
- dueRange: G,
1455
+ pageSize: k,
1456
+ filter: w,
1457
+ dueRange: j,
1457
1458
  view: o,
1458
1459
  staleTime: g,
1459
- includeItems: H === "inline",
1460
- inlineItemsFirst: (Lt = j.inlineShape) == null ? void 0 : Lt.maxItemCount,
1461
- inlineFirst: (xt = j.inlineShape) == null ? void 0 : xt.moduleCount,
1462
- enabled: H !== null
1463
- }), [k, C] = ne(
1460
+ includeItems: K === "inline",
1461
+ inlineItemsFirst: (Lt = H.inlineShape) == null ? void 0 : Lt.maxItemCount,
1462
+ inlineFirst: (xt = H.inlineShape) == null ? void 0 : xt.moduleCount,
1463
+ enabled: K !== null
1464
+ }), [q, _] = oe(
1464
1465
  () => f ?? []
1465
- ), re = f === void 0, $ = _(!1), Q = Jt(E), se = _(Q);
1466
- se.current = Q;
1467
- const ce = _(I.hasNextPage);
1468
- ce.current = I.hasNextPage;
1469
- const V = _(I.isPlaceholderData);
1470
- V.current = I.isPlaceholderData, me(() => {
1471
- !re || $.current || Q || I.isPlaceholderData || C((u) => {
1466
+ ), re = f === void 0, $ = A(!1), J = Jt(E), se = A(J);
1467
+ se.current = J;
1468
+ const ce = A(M.hasNextPage);
1469
+ ce.current = M.hasNextPage;
1470
+ const ee = A(M.isPlaceholderData);
1471
+ ee.current = M.isPlaceholderData, Se(() => {
1472
+ !re || $.current || J || M.isPlaceholderData || _((u) => {
1472
1473
  const m = new Set(u), b = [...u];
1473
- for (const P of I.modules)
1474
+ for (const P of M.modules)
1474
1475
  P.collapsed === !1 && !m.has(P.id) && b.push(P.id);
1475
1476
  return b.length === u.length ? u : b;
1476
1477
  });
1477
- }, [I.modules, I.isPlaceholderData, re, Q]);
1478
- const Z = W(() => {
1478
+ }, [M.modules, M.isPlaceholderData, re, J]);
1479
+ const V = G(() => {
1479
1480
  const u = /* @__PURE__ */ new Map();
1480
- for (const m of I.modules) u.set(m.id, m);
1481
+ for (const m of M.modules) u.set(m.id, m);
1481
1482
  return u;
1482
- }, [I.modules]), pe = W(
1483
- () => k.filter((u) => {
1484
- const m = Z.get(u);
1483
+ }, [M.modules]), ie = G(
1484
+ () => q.filter((u) => {
1485
+ const m = V.get(u);
1485
1486
  return m !== void 0 && m.items === void 0;
1486
1487
  }),
1487
- [k, Z]
1488
- ), Oe = W(() => new Set(pe), [pe]), we = W(() => kt(p), [p]), ke = R(
1489
- (u, m, b) => sc({
1488
+ [q, V]
1489
+ ), ve = G(() => new Set(ie), [ie]), Ee = G(() => kt(p), [p]), ke = O(
1490
+ (u, m, b) => ll({
1490
1491
  courseId: t,
1491
1492
  moduleId: u,
1492
1493
  adapter: n,
@@ -1495,227 +1496,227 @@ function Yl(e) {
1495
1496
  view: o,
1496
1497
  staleTime: g,
1497
1498
  enabled: m,
1498
- limit: we
1499
+ limit: Ee
1499
1500
  }),
1500
- [t, n, d, o, g, we]
1501
- ), Ee = hc(pe, ke, {
1501
+ [t, n, d, o, g, Ee]
1502
+ ), Pe = Il(ie, ke, {
1502
1503
  pageSize: d,
1503
1504
  retainCollapsedLimit: h,
1504
1505
  partition: JSON.stringify([t, o])
1505
- }), y = W(() => kt(rc), []), [X, F] = ne(0), le = R((u) => (F((m) => m + 1), u.finally(() => F((m) => m - 1))), []), Pe = _(/* @__PURE__ */ new Map()), Ve = _(Promise.resolve()), ee = R(
1506
+ }), Ce = G(() => kt(al), []), [Fe, y] = oe(0), B = O((u) => (y((m) => m + 1), u.finally(() => y((m) => m - 1))), []), F = A(/* @__PURE__ */ new Map()), me = A(Promise.resolve()), te = O(
1506
1507
  (u, m, b) => {
1507
1508
  if (se.current) return;
1508
1509
  const P = n.setModuleCollapsed;
1509
1510
  if (!P) return;
1510
- const q = Promise.all([Ve.current, Pe.current.get(u)]).then(
1511
- () => y(() => P({ courseId: t, moduleId: u, collapsed: m }))
1512
- ), z = ((b == null ? void 0 : b.track) === !0 ? le(q) : q).catch((Y) => {
1511
+ const z = Promise.all([me.current, F.current.get(u)]).then(
1512
+ () => Ce(() => P({ courseId: t, moduleId: u, collapsed: m }))
1513
+ ), U = ((b == null ? void 0 : b.track) === !0 ? B(z) : z).catch((Z) => {
1513
1514
  console.warn(
1514
- `[platform-modules] failed to persist module ${u} collapsed=${m}: ${String(Y)}`
1515
+ `[platform-modules] failed to persist module ${u} collapsed=${m}: ${String(Z)}`
1515
1516
  );
1516
1517
  }).finally(() => {
1517
- Pe.current.get(u) === z && Pe.current.delete(u);
1518
+ F.current.get(u) === U && F.current.delete(u);
1518
1519
  });
1519
- Pe.current.set(u, z);
1520
+ F.current.set(u, U);
1520
1521
  },
1521
- [n, t, y, le]
1522
- ), Fe = R(
1522
+ [n, t, Ce, B]
1523
+ ), qe = O(
1523
1524
  (u, m) => {
1524
1525
  const b = n.setAllModulesCollapsed;
1525
- if (!(!se.current && !ce.current && !V.current && b !== void 0)) {
1526
- for (const z of m) ee(z, u, { track: !0 });
1526
+ if (!(!se.current && !ce.current && !ee.current && b !== void 0)) {
1527
+ for (const U of m) te(U, u, { track: !0 });
1527
1528
  return;
1528
1529
  }
1529
- const q = le(
1530
- Promise.all([Ve.current, ...Pe.current.values()]).then(
1530
+ const z = B(
1531
+ Promise.all([me.current, ...F.current.values()]).then(
1531
1532
  () => b({ courseId: t, collapsed: u })
1532
1533
  )
1533
- ).catch((z) => {
1534
+ ).catch((U) => {
1534
1535
  console.warn(
1535
- `[platform-modules] failed to persist all modules collapsed=${u}: ${String(z)}`
1536
+ `[platform-modules] failed to persist all modules collapsed=${u}: ${String(U)}`
1536
1537
  );
1537
1538
  });
1538
- Ve.current = q;
1539
+ me.current = z;
1539
1540
  },
1540
- [n, t, ee, le]
1541
- ), Ze = R(
1541
+ [n, t, te, B]
1542
+ ), Ze = O(
1542
1543
  (u, m) => {
1543
- $.current = !0, C(
1544
+ $.current = !0, _(
1544
1545
  (b) => b.includes(u) ? b : [...b, u]
1545
- ), (m == null ? void 0 : m.persist) !== !1 && ee(u, !1);
1546
+ ), (m == null ? void 0 : m.persist) !== !1 && te(u, !1);
1546
1547
  },
1547
- [ee]
1548
- ), Ce = R(
1548
+ [te]
1549
+ ), _e = O(
1549
1550
  (u, m) => {
1550
- $.current = !0, C((b) => b.filter((P) => P !== u)), A.cancelQueries({ queryKey: We(t, u) }), (m == null ? void 0 : m.persist) !== !1 && ee(u, !0);
1551
+ $.current = !0, _((b) => b.filter((P) => P !== u)), D.cancelQueries({ queryKey: Ge(t, u) }), (m == null ? void 0 : m.persist) !== !1 && te(u, !0);
1551
1552
  },
1552
- [A, t, ee]
1553
- ), co = R(
1553
+ [D, t, te]
1554
+ ), co = O(
1554
1555
  (u) => {
1555
- $.current = !0, C((m) => {
1556
- const b = new Set(m), P = u.filter((q) => !b.has(q));
1556
+ $.current = !0, _((m) => {
1557
+ const b = new Set(m), P = u.filter((z) => !b.has(z));
1557
1558
  return P.length === 0 ? m : [...m, ...P];
1558
1559
  });
1559
- for (const m of u) ee(m, !1, { track: !0 });
1560
+ for (const m of u) te(m, !1, { track: !0 });
1560
1561
  },
1561
- [ee]
1562
- ), lo = R(
1562
+ [te]
1563
+ ), uo = O(
1563
1564
  (u) => {
1564
1565
  $.current = !0;
1565
1566
  const m = new Set(u);
1566
- C((b) => {
1567
- const P = b.filter((q) => !m.has(q));
1567
+ _((b) => {
1568
+ const P = b.filter((z) => !m.has(z));
1568
1569
  return P.length === b.length ? b : P;
1569
1570
  });
1570
1571
  for (const b of m)
1571
- A.cancelQueries({ queryKey: We(t, b) }), ee(b, !0, { track: !0 });
1572
+ D.cancelQueries({ queryKey: Ge(t, b) }), te(b, !0, { track: !0 });
1572
1573
  },
1573
- [A, t, ee]
1574
- ), ge = _(k);
1575
- ge.current = k;
1576
- const uo = R(() => {
1574
+ [D, t, te]
1575
+ ), pe = A(q);
1576
+ pe.current = q;
1577
+ const mo = O(() => {
1577
1578
  $.current = !0;
1578
- const u = ge.current;
1579
+ const u = pe.current;
1579
1580
  if (u.length !== 0) {
1580
1581
  for (const m of u)
1581
- A.cancelQueries({ queryKey: We(t, m) });
1582
- C([]), Fe(!0, u);
1582
+ D.cancelQueries({ queryKey: Ge(t, m) });
1583
+ _([]), qe(!0, u);
1583
1584
  }
1584
- }, [A, t, Fe]), mo = R(() => {
1585
+ }, [D, t, qe]), po = O(() => {
1585
1586
  $.current = !0;
1586
- const u = I.modules.map((m) => m.id);
1587
- u.length !== 0 && (C(u), Fe(!1, u));
1588
- }, [I.modules, Fe]), Xe = _(w);
1589
- Xe.current = w;
1590
- const fe = _(null), po = R(
1587
+ const u = M.modules.map((m) => m.id);
1588
+ u.length !== 0 && (_(u), qe(!1, u));
1589
+ }, [M.modules, qe]), Xe = A(v);
1590
+ Xe.current = v;
1591
+ const ge = A(null), go = O(
1591
1592
  (u) => {
1592
1593
  if (u === Xe.current) return;
1593
- if (Xe.current = u, Jt(ve(D, u))) {
1594
- fe.current === null && (fe.current = ge.current);
1594
+ if (Xe.current = u, Jt(we(L, u))) {
1595
+ ge.current === null && (ge.current = pe.current);
1595
1596
  const b = $.current;
1596
- for (const P of ge.current) Ce(P, { persist: !1 });
1597
+ for (const P of pe.current) _e(P, { persist: !1 });
1597
1598
  $.current = b;
1598
- } else fe.current !== null && (C(fe.current), ge.current = fe.current, fe.current = null);
1599
- N(u);
1599
+ } else ge.current !== null && (_(ge.current), pe.current = ge.current, ge.current = null);
1600
+ R(u);
1600
1601
  },
1601
- [D, Ce]
1602
- ), go = R(
1602
+ [L, _e]
1603
+ ), fo = O(
1603
1604
  (u) => {
1604
- ge.current.includes(u) ? Ce(u) : Ze(u);
1605
+ pe.current.includes(u) ? _e(u) : Ze(u);
1605
1606
  },
1606
- [Ce, Ze]
1607
- ), Et = _(Z);
1608
- Et.current = Z;
1609
- const [Pt, fo] = ne(() => /* @__PURE__ */ new Map()), Ct = Ee.goToPage, he = R(
1607
+ [_e, Ze]
1608
+ ), Et = A(V);
1609
+ Et.current = V;
1610
+ const [Pt, ho] = oe(() => /* @__PURE__ */ new Map()), Ct = Pe.goToPage, fe = O(
1610
1611
  (u, m) => {
1611
- var q;
1612
- const b = (q = Et.current.get(u)) == null ? void 0 : q.items;
1612
+ var z;
1613
+ const b = (z = Et.current.get(u)) == null ? void 0 : z.items;
1613
1614
  if (b === void 0) {
1614
1615
  Ct(u, m);
1615
1616
  return;
1616
1617
  }
1617
- const P = xe(b.length, d);
1618
- fo((z) => {
1619
- const Y = Math.min(z.get(u) ?? 1, P), _e = m === "first" ? 1 : m === "last" ? P : Math.min(Math.max(Y + (m === "next" ? 1 : -1), 1), P);
1620
- return _e === Y ? z : new Map(z).set(u, _e);
1618
+ const P = Re(b.length, d);
1619
+ ho((U) => {
1620
+ const Z = Math.min(U.get(u) ?? 1, P), Ae = m === "first" ? 1 : m === "last" ? P : Math.min(Math.max(Z + (m === "next" ? 1 : -1), 1), P);
1621
+ return Ae === Z ? U : new Map(U).set(u, Ae);
1621
1622
  });
1622
1623
  },
1623
1624
  [Ct, d]
1624
- ), Je = W(() => /* @__PURE__ */ new Map(), [he]), _t = R(
1625
+ ), Je = G(() => /* @__PURE__ */ new Map(), [fe]), _t = O(
1625
1626
  (u) => {
1626
1627
  let m = Je.get(u);
1627
1628
  return m || (m = {
1628
- goToFirstPage: () => he(u, "first"),
1629
- goToPreviousPage: () => he(u, "previous"),
1630
- goToNextPage: () => he(u, "next"),
1631
- goToLastPage: () => he(u, "last")
1629
+ goToFirstPage: () => fe(u, "first"),
1630
+ goToPreviousPage: () => fe(u, "previous"),
1631
+ goToNextPage: () => fe(u, "next"),
1632
+ goToLastPage: () => fe(u, "last")
1632
1633
  }, Je.set(u, m)), m;
1633
1634
  },
1634
- [Je, he]
1635
- ), At = Ee.entries, Dt = _(/* @__PURE__ */ new Map()), ho = R(
1635
+ [Je, fe]
1636
+ ), At = Pe.entries, Dt = A(/* @__PURE__ */ new Map()), bo = O(
1636
1637
  (u) => {
1637
- var Nt, Rt;
1638
- const m = Z.get(u), b = At.get(u), P = Oe.has(u), q = Pt.get(u), z = _t(u), Y = Dt.current.get(u);
1639
- if (Y && Y.items === (m == null ? void 0 : m.items) && Y.entry === b && Y.active === P && Y.inlinePage === q && Y.navigation === z)
1640
- return Y.value;
1641
- const _e = (Ae) => (Dt.current.set(u, {
1638
+ var Rt, Nt;
1639
+ const m = V.get(u), b = At.get(u), P = ve.has(u), z = Pt.get(u), U = _t(u), Z = Dt.current.get(u);
1640
+ if (Z && Z.items === (m == null ? void 0 : m.items) && Z.entry === b && Z.active === P && Z.inlinePage === z && Z.navigation === U)
1641
+ return Z.value;
1642
+ const Ae = (De) => (Dt.current.set(u, {
1642
1643
  items: m == null ? void 0 : m.items,
1643
1644
  entry: b,
1644
1645
  active: P,
1645
- inlinePage: q,
1646
- navigation: z,
1647
- value: Ae
1648
- }), Ae);
1646
+ inlinePage: z,
1647
+ navigation: U,
1648
+ value: De
1649
+ }), De);
1649
1650
  if ((m == null ? void 0 : m.items) !== void 0) {
1650
- const Ae = xe(m.items.length, d), Ot = Math.min(q ?? 1, Ae), et = (Ot - 1) * d;
1651
- return _e({
1651
+ const De = Re(m.items.length, d), Ot = Math.min(z ?? 1, De), et = (Ot - 1) * d;
1652
+ return Ae({
1652
1653
  items: m.items.slice(et, et + d),
1653
1654
  page: Ot,
1654
- pageCount: Ae,
1655
- itemOffset: m.items.slice(0, et).filter((bo) => bo.type !== "sub_header").length,
1656
- ...z,
1655
+ pageCount: De,
1656
+ itemOffset: m.items.slice(0, et).filter((yo) => yo.type !== "sub_header").length,
1657
+ ...U,
1657
1658
  isLoading: !1,
1658
1659
  isRefreshing: !1,
1659
1660
  error: null,
1660
1661
  source: "inline"
1661
1662
  });
1662
1663
  }
1663
- const B = b == null ? void 0 : b.result, qe = (b == null ? void 0 : b.page) ?? 1, be = (Nt = B == null ? void 0 : B.data) == null ? void 0 : Nt.pageInfo;
1664
- return _e({
1665
- items: ((Rt = B == null ? void 0 : B.data) == null ? void 0 : Rt.items) ?? bc,
1666
- page: qe,
1664
+ const W = b == null ? void 0 : b.result, ze = (b == null ? void 0 : b.page) ?? 1, he = (Rt = W == null ? void 0 : W.data) == null ? void 0 : Rt.pageInfo;
1665
+ return Ae({
1666
+ items: ((Nt = W == null ? void 0 : W.data) == null ? void 0 : Nt.items) ?? Ml,
1667
+ page: ze,
1667
1668
  pageCount: Math.max(
1668
- xe((be == null ? void 0 : be.totalCount) ?? null, d),
1669
- be != null && be.hasNextPage ? qe + 1 : qe
1669
+ Re((he == null ? void 0 : he.totalCount) ?? null, d),
1670
+ he != null && he.hasNextPage ? ze + 1 : ze
1670
1671
  ),
1671
- itemOffset: (qe - 1) * d,
1672
- ...z,
1673
- isLoading: B ? B.isLoading : P,
1674
- isRefreshing: (B == null ? void 0 : B.isPlaceholderData) ?? !1,
1675
- error: (B == null ? void 0 : B.error) ?? null,
1672
+ itemOffset: (ze - 1) * d,
1673
+ ...U,
1674
+ isLoading: W ? W.isLoading : P,
1675
+ isRefreshing: (W == null ? void 0 : W.isPlaceholderData) ?? !1,
1676
+ error: (W == null ? void 0 : W.error) ?? null,
1676
1677
  source: "onDemand"
1677
1678
  });
1678
1679
  },
1679
- [Z, At, Oe, Pt, _t, d]
1680
+ [V, At, ve, Pt, _t, d]
1680
1681
  );
1681
1682
  return {
1682
- modules: I.modules,
1683
- pageInfo: I.pageInfo,
1684
- page: I.page,
1685
- pageCount: I.pageCount,
1686
- pageSize: O,
1687
- hasNextPage: I.hasNextPage,
1688
- hasPreviousPage: I.hasPreviousPage,
1689
- goToFirstPage: I.goToFirstPage,
1690
- goToPreviousPage: I.goToPreviousPage,
1691
- goToNextPage: I.goToNextPage,
1692
- goToLastPage: I.goToLastPage,
1693
- isLoading: (j.isResolving || I.isPending) && !I.isPlaceholderData,
1694
- isRefreshing: I.isPlaceholderData,
1695
- error: I.error ?? j.error,
1696
- itemsMode: H,
1697
- getItems: ho,
1683
+ modules: M.modules,
1684
+ pageInfo: M.pageInfo,
1685
+ page: M.page,
1686
+ pageCount: M.pageCount,
1687
+ pageSize: k,
1688
+ hasNextPage: M.hasNextPage,
1689
+ hasPreviousPage: M.hasPreviousPage,
1690
+ goToFirstPage: M.goToFirstPage,
1691
+ goToPreviousPage: M.goToPreviousPage,
1692
+ goToNextPage: M.goToNextPage,
1693
+ goToLastPage: M.goToLastPage,
1694
+ isLoading: (H.isResolving || M.isPending) && !M.isPlaceholderData,
1695
+ isRefreshing: M.isPlaceholderData,
1696
+ error: M.error ?? H.error,
1697
+ itemsMode: K,
1698
+ getItems: bo,
1698
1699
  expandModule: Ze,
1699
- collapseModule: Ce,
1700
+ collapseModule: _e,
1700
1701
  expandModules: co,
1701
- collapseModules: lo,
1702
- collapseAllModules: uo,
1703
- expandAllModules: mo,
1704
- toggleModule: go,
1705
- expandedModuleIds: k,
1706
- filter: w,
1707
- setFilter: po,
1702
+ collapseModules: uo,
1703
+ collapseAllModules: mo,
1704
+ expandAllModules: po,
1705
+ toggleModule: fo,
1706
+ expandedModuleIds: q,
1707
+ filter: v,
1708
+ setFilter: go,
1708
1709
  filterEntry: E,
1709
- filterPredicate: Ba(E) ? E == null ? void 0 : E.predicate : void 0,
1710
- isPersistingCollapsed: X > 0
1710
+ filterPredicate: ja(E) ? E == null ? void 0 : E.predicate : void 0,
1711
+ isPersistingCollapsed: Fe > 0
1711
1712
  };
1712
1713
  }
1713
- const yc = 20, Ic = 4.5, an = 7, Mc = 5, Tc = 20, eo = "#000000", to = "#FFFFFF", no = {
1714
+ const Tl = 20, Sl = 4.5, an = 7, wl = 5, vl = 20, to = "#000000", no = "#FFFFFF", oo = {
1714
1715
  primary: { semantic: "base", textKey: "baseTextColor", borderKey: "baseBorderColor" },
1715
1716
  info: { semantic: "info", textKey: "infoTextColor", borderKey: "infoBorderColor" },
1716
1717
  success: { semantic: "success", textKey: "successTextColor", borderKey: "successBorderColor" },
1717
1718
  warning: { semantic: "warning", textKey: "warningTextColor", borderKey: "warningBorderColor" }
1718
- }, Sc = {
1719
+ }, El = {
1719
1720
  card: {
1720
1721
  primary: { fill: "#E8EAEC", stroke: "#8D959F", text: "#273540" },
1721
1722
  info: { fill: "#D5E4F2", stroke: "#2B7ABC", text: "#23649A" },
@@ -1729,62 +1730,62 @@ const yc = 20, Ic = 4.5, an = 7, Mc = 5, Tc = 20, eo = "#000000", to = "#FFFFFF"
1729
1730
  warning: { fill: "#EBD2C4", stroke: "#CF4A00", text: "#A13900" }
1730
1731
  }
1731
1732
  };
1732
- function vc(e, t) {
1733
- const n = Fo(
1733
+ function Pl(e, t) {
1734
+ const n = zo(
1734
1735
  st(e),
1735
- st(qo(t, yc))
1736
+ st(Uo(t, Tl))
1736
1737
  );
1737
1738
  return Pn(n);
1738
1739
  }
1739
- function wc(e, t, n) {
1740
- const o = de(n, t) >= an ? an : Ic;
1741
- return Math.min(o, Math.max(de(e, eo), de(e, to)));
1740
+ function Cl(e, t, n) {
1741
+ const o = de(n, t) >= an ? an : Sl;
1742
+ return Math.min(o, Math.max(de(e, to), de(e, no)));
1742
1743
  }
1743
- function Ec(e, t, n) {
1744
- const o = wc(e, t, n);
1744
+ function _l(e, t, n) {
1745
+ const o = Cl(e, t, n);
1745
1746
  if (de(e, t) >= o) return t;
1746
- const r = de(e, eo) > de(e, to) ? zo : Uo;
1747
+ const r = de(e, to) > de(e, no) ? $o : Bo;
1747
1748
  let s = t;
1748
- for (let i = 0; i < Tc && de(e, s) < o; i++)
1749
- s = r(s, Mc);
1749
+ for (let i = 0; i < vl && de(e, s) < o; i++)
1750
+ s = r(s, wl);
1750
1751
  return Pn(s);
1751
1752
  }
1752
- function Pc(e) {
1753
+ function Al(e) {
1753
1754
  return rt(e) && st(e).a === 1;
1754
1755
  }
1755
- function cn(e, t) {
1756
+ function ln(e, t) {
1756
1757
  var n;
1757
1758
  return t === "card" ? (n = e == null ? void 0 : e.elevatedSurface) == null ? void 0 : n.base : e == null ? void 0 : e.muted;
1758
1759
  }
1759
- function ln(e, t, n, o) {
1760
+ function cn(e, t, n, o) {
1760
1761
  var i, c, d, p;
1761
- const r = Sc[n][e], s = t;
1762
+ const r = El[n][e], s = t;
1762
1763
  try {
1763
1764
  const h = s == null ? void 0 : s.newTheme, g = (i = h == null ? void 0 : h.semantics) == null ? void 0 : i.call(h, h.primitives);
1764
1765
  if (!g) return r;
1765
- const { semantic: f } = no[e], M = cn((p = (d = (c = s == null ? void 0 : s.themeOverride) == null ? void 0 : c.semantics) == null ? void 0 : d.color) == null ? void 0 : p.background, n) ?? cn(g.color.background, n) ?? "", x = o.stroke ?? g.color.stroke[f], O = o.label ?? g.color.text[f];
1766
- if (!Pc(M) || !rt(x) || !rt(O)) return r;
1767
- const A = vc(M, x);
1768
- return { fill: A, stroke: x, text: Ec(A, O, M) };
1766
+ const { semantic: f } = oo[e], I = ln((p = (d = (c = s == null ? void 0 : s.themeOverride) == null ? void 0 : c.semantics) == null ? void 0 : d.color) == null ? void 0 : p.background, n) ?? ln(g.color.background, n) ?? "", C = o.stroke ?? g.color.stroke[f], k = o.label ?? g.color.text[f];
1767
+ if (!Al(I) || !rt(C) || !rt(k)) return r;
1768
+ const D = Pl(I, C);
1769
+ return { fill: D, stroke: C, text: _l(D, k, I) };
1769
1770
  } catch {
1770
1771
  return r;
1771
1772
  }
1772
1773
  }
1773
1774
  const un = /* @__PURE__ */ new WeakMap();
1774
- function oo(e, t, n, o = {}) {
1775
+ function ro(e, t, n, o = {}) {
1775
1776
  if (typeof t != "object" || t === null)
1776
- return ln(e, t, n, o);
1777
+ return cn(e, t, n, o);
1777
1778
  let r = un.get(t);
1778
1779
  r === void 0 && (r = /* @__PURE__ */ new Map(), un.set(t, r));
1779
1780
  const s = `${n}:${e}:${o.stroke ?? ""}:${o.label ?? ""}`, i = r.get(s);
1780
1781
  if (i !== void 0) return i;
1781
- const c = ln(e, t, n, o);
1782
+ const c = cn(e, t, n, o);
1782
1783
  return r.set(s, c), c;
1783
1784
  }
1784
- function $e(e, t) {
1785
- const { textKey: n, borderKey: o } = no[e];
1785
+ function Be(e, t) {
1786
+ const { textKey: n, borderKey: o } = oo[e];
1786
1787
  return (r, s) => {
1787
- const i = r, { fill: c, stroke: d, text: p } = oo(e, s, t, {
1788
+ const i = r, { fill: c, stroke: d, text: p } = ro(e, s, t, {
1788
1789
  stroke: i == null ? void 0 : i[o],
1789
1790
  label: i == null ? void 0 : i[n]
1790
1791
  });
@@ -1793,50 +1794,50 @@ function $e(e, t) {
1793
1794
  }
1794
1795
  function dn(e) {
1795
1796
  return {
1796
- primary: $e("primary", e),
1797
- info: $e("info", e),
1798
- success: $e("success", e),
1799
- warning: $e("warning", e)
1797
+ primary: Be("primary", e),
1798
+ info: Be("info", e),
1799
+ success: Be("success", e),
1800
+ warning: Be("warning", e)
1800
1801
  };
1801
1802
  }
1802
- const Cc = {
1803
+ const Dl = {
1803
1804
  card: dn("card"),
1804
1805
  row: dn("row")
1805
- }, _c = "#9242B4", Ac = "#9E58BD";
1806
+ }, Ll = "#9242B4", xl = "#9E58BD";
1806
1807
  function mn(e) {
1807
1808
  return (t, n) => {
1808
1809
  var i, c, d, p;
1809
- const { fill: o, stroke: r, text: s } = oo("primary", n, e, {
1810
- stroke: ((c = (i = n.colors) == null ? void 0 : i.contrasts) == null ? void 0 : c.violet4570) ?? Ac,
1811
- label: ((p = (d = n.colors) == null ? void 0 : d.contrasts) == null ? void 0 : p.violet5790) ?? _c
1810
+ const { fill: o, stroke: r, text: s } = ro("primary", n, e, {
1811
+ stroke: ((c = (i = n.colors) == null ? void 0 : i.contrasts) == null ? void 0 : c.violet4570) ?? xl,
1812
+ label: ((p = (d = n.colors) == null ? void 0 : d.contrasts) == null ? void 0 : p.violet5790) ?? Ll
1812
1813
  });
1813
1814
  return { backgroundColor: o, baseTextColor: s, baseBorderColor: r };
1814
1815
  };
1815
1816
  }
1816
- const ro = {
1817
+ const so = {
1817
1818
  tone: "primary",
1818
1819
  icon: /* @__PURE__ */ l(pt, { size: "sm" }),
1819
1820
  themes: {
1820
1821
  card: mn("card"),
1821
1822
  row: mn("row")
1822
1823
  }
1823
- }, Dc = {
1824
+ }, Rl = {
1824
1825
  not_started: { tone: "primary", icon: /* @__PURE__ */ l(bt, { size: "sm" }) },
1825
1826
  in_progress: { tone: "info", icon: /* @__PURE__ */ l(ht, { size: "sm" }) },
1826
1827
  complete: { tone: "success", icon: /* @__PURE__ */ l(ft, { size: "sm" }) },
1827
- missing: { tone: "warning", icon: /* @__PURE__ */ l(Te, { size: "sm" }) },
1828
- incomplete: { tone: "warning", icon: /* @__PURE__ */ l(Te, { size: "sm" }) },
1829
- missing_and_incomplete: { tone: "warning", icon: /* @__PURE__ */ l(Te, { size: "sm" }) },
1828
+ missing: { tone: "warning", icon: /* @__PURE__ */ l(Me, { size: "sm" }) },
1829
+ incomplete: { tone: "warning", icon: /* @__PURE__ */ l(Me, { size: "sm" }) },
1830
+ missing_and_incomplete: { tone: "warning", icon: /* @__PURE__ */ l(Me, { size: "sm" }) },
1830
1831
  locked: { tone: "primary", icon: /* @__PURE__ */ l(gt, { size: "sm" }) }
1831
- }, Lc = {
1832
+ }, Nl = {
1832
1833
  not_started: { tone: "primary", icon: /* @__PURE__ */ l(bt, { size: "sm" }) },
1833
1834
  in_progress: { tone: "info", icon: /* @__PURE__ */ l(ht, { size: "sm" }) },
1834
1835
  complete: { tone: "success", icon: /* @__PURE__ */ l(ft, { size: "sm" }) },
1835
- incomplete: { tone: "warning", icon: /* @__PURE__ */ l(Te, { size: "sm" }) },
1836
- missing: { tone: "warning", icon: /* @__PURE__ */ l(Te, { size: "sm" }) },
1836
+ incomplete: { tone: "warning", icon: /* @__PURE__ */ l(Me, { size: "sm" }) },
1837
+ missing: { tone: "warning", icon: /* @__PURE__ */ l(Me, { size: "sm" }) },
1837
1838
  locked: { tone: "primary", icon: /* @__PURE__ */ l(gt, { size: "sm" }) }
1838
1839
  };
1839
- function so(e, t, n, o) {
1840
+ function io(e, t, n, o) {
1840
1841
  switch (t) {
1841
1842
  case "not_started":
1842
1843
  return e("moduleStatusNotStarted");
@@ -1857,7 +1858,7 @@ function so(e, t, n, o) {
1857
1858
  return e("moduleStatusLocked");
1858
1859
  }
1859
1860
  }
1860
- function xc(e, t) {
1861
+ function Ol(e, t) {
1861
1862
  switch (t) {
1862
1863
  case "not_started":
1863
1864
  return e("itemStatusNotStarted");
@@ -1873,115 +1874,123 @@ function xc(e, t) {
1873
1874
  return e("itemStatusLocked");
1874
1875
  }
1875
1876
  }
1876
- function Qe(e, t, n, o) {
1877
+ function Ve(e, t, n, o) {
1877
1878
  var r;
1878
1879
  return /* @__PURE__ */ l(
1879
- Ro,
1880
+ ko,
1880
1881
  {
1881
1882
  color: e.tone,
1882
1883
  renderIcon: e.icon,
1883
- themeOverride: ((r = e.themes) == null ? void 0 : r[o]) ?? Cc[o][e.tone],
1884
+ themeOverride: ((r = e.themes) == null ? void 0 : r[o]) ?? Dl[o][e.tone],
1884
1885
  "data-testid": n,
1885
1886
  children: t
1886
1887
  }
1887
1888
  );
1888
1889
  }
1889
- function Ql({
1890
+ function eu({
1890
1891
  status: e,
1891
1892
  missingCount: t,
1892
1893
  incompleteCount: n
1893
1894
  }) {
1894
- const { t: o } = oe();
1895
- return Qe(
1896
- Dc[e],
1897
- so(o, e, t, n),
1895
+ const { t: o } = X();
1896
+ return Ve(
1897
+ Rl[e],
1898
+ io(o, e, t, n),
1898
1899
  "module-status-pill",
1899
1900
  "card"
1900
1901
  );
1901
1902
  }
1902
- function Nc({ status: e }) {
1903
- const { t } = oe();
1904
- return Qe(
1905
- Lc[e],
1906
- xc(t, e),
1903
+ function kl({ status: e }) {
1904
+ const { t } = X();
1905
+ return Ve(
1906
+ Nl[e],
1907
+ Ol(t, e),
1907
1908
  "item-status-pill",
1908
1909
  "row"
1909
1910
  );
1910
1911
  }
1911
- function Vl() {
1912
- const { t: e } = oe();
1913
- return Qe(ro, e("moduleStatusDueSoon"), "module-due-soon-pill", "card");
1912
+ function tu() {
1913
+ const { t: e } = X();
1914
+ return Ve(so, e("moduleStatusDueSoon"), "module-due-soon-pill", "card");
1915
+ }
1916
+ function Fl() {
1917
+ const { t: e } = X();
1918
+ return Ve(so, e("itemStatusDueSoon"), "item-due-soon-pill", "row");
1914
1919
  }
1915
- function Rc() {
1916
- const { t: e } = oe();
1917
- return Qe(ro, e("itemStatusDueSoon"), "item-due-soon-pill", "row");
1920
+ function nu() {
1921
+ const { t: e } = X();
1922
+ return /* @__PURE__ */ l(Cn, { text: e("moduleRequiredPill"), size: "small", "data-testid": "module-required-pill" });
1918
1923
  }
1919
- function Oc() {
1920
- const e = wn();
1924
+ function ql() {
1925
+ const { t: e } = X();
1926
+ return /* @__PURE__ */ l(Cn, { text: e("itemRequiredTag"), size: "small", "data-testid": "item-required-pill" });
1927
+ }
1928
+ function zl() {
1929
+ const e = vn();
1921
1930
  return "key" in e && e.key === "canvas-high-contrast" ? "inline" : "standalone";
1922
1931
  }
1923
- const io = 2.75, kc = `${io}rem`, pn = "0.065em", Se = "0.8em", Fc = "0.28em", gn = "1px", qc = "0.57em", ao = {
1932
+ const ao = 2.75, Ul = `${ao}rem`, pn = "0.065em", Te = "0.8em", $l = "0.28em", gn = "1px", Bl = "0.57em", lo = {
1924
1933
  display: "inline-block",
1925
- paddingLeft: Se,
1926
- marginLeft: `-${Se}`,
1934
+ paddingLeft: Te,
1935
+ marginLeft: `-${Te}`,
1927
1936
  backgroundImage: `radial-gradient(circle, currentColor ${pn}, transparent ${pn})`,
1928
1937
  backgroundRepeat: "no-repeat",
1929
- backgroundSize: `${Se} 100%`,
1938
+ backgroundSize: `${Te} 100%`,
1930
1939
  backgroundPosition: "left center"
1931
- }, zc = {
1932
- ...ao,
1940
+ }, Wl = {
1941
+ ...lo,
1933
1942
  backgroundImage: "none",
1934
1943
  borderLeft: `${gn} solid`,
1935
- paddingLeft: `calc(${Se} / 2 - ${gn})`,
1936
- marginLeft: `calc(-${Se} / 2)`
1944
+ paddingLeft: `calc(${Te} / 2 - ${gn})`,
1945
+ marginLeft: `calc(-${Te} / 2)`
1937
1946
  };
1938
1947
  function fn() {
1939
1948
  return typeof window > "u" || typeof window.matchMedia != "function" ? null : window.matchMedia("(forced-colors: active)");
1940
1949
  }
1941
- function Uc() {
1942
- const [e, t] = ne(() => {
1950
+ function Gl() {
1951
+ const [e, t] = oe(() => {
1943
1952
  var n;
1944
1953
  return ((n = fn()) == null ? void 0 : n.matches) ?? !1;
1945
1954
  });
1946
- return me(() => {
1955
+ return Se(() => {
1947
1956
  const n = fn();
1948
1957
  if (n === null) return;
1949
1958
  t(n.matches);
1950
1959
  const o = (r) => t(r.matches);
1951
1960
  return n.addEventListener("change", o), () => n.removeEventListener("change", o);
1952
- }, []), e ? zc : ao;
1961
+ }, []), e ? Wl : lo;
1953
1962
  }
1954
- const $c = {
1963
+ const jl = {
1955
1964
  overflowX: "clip",
1956
1965
  overflowWrap: "anywhere",
1957
1966
  lineHeight: 0
1958
- }, Bc = "#6A7883", wt = 0.5, He = { display: "block" }, Wc = { ...He, marginTop: `${wt}rem` }, Gc = {
1959
- ...He,
1960
- marginTop: `-${wt}rem`
1961
- }, hn = { marginTop: `${wt}rem` }, bn = { display: "inline-block" }, jc = {
1967
+ }, Hl = "#6A7883", vt = 0.5, Ke = { display: "block" }, Kl = { ...Ke, marginTop: `${vt}rem` }, Yl = {
1968
+ ...Ke,
1969
+ marginTop: `-${vt}rem`
1970
+ }, hn = { marginTop: `${vt}rem` }, bn = { display: "inline-block" }, Ql = {
1962
1971
  display: "-webkit-box",
1963
1972
  WebkitLineClamp: 2,
1964
1973
  WebkitBoxOrient: "vertical",
1965
1974
  overflow: "hidden"
1966
- }, Hc = {
1967
- marginRight: `calc(${Se} - ${Fc})`
1968
- }, Kc = {
1975
+ }, Vl = {
1976
+ marginRight: `calc(${Te} - ${$l})`
1977
+ }, Zl = {
1969
1978
  display: "inline-flex",
1970
1979
  alignItems: "center",
1971
1980
  height: "1lh",
1972
1981
  verticalAlign: "top",
1973
- marginInlineEnd: qc
1982
+ marginInlineEnd: Bl
1974
1983
  };
1975
- function Me(e) {
1976
- return e == null || typeof e == "boolean" || e === "" ? !0 : Array.isArray(e) ? e.every(Me) : mt(e) && e.type === vn ? Me(e.props.children) : !1;
1984
+ function Ie(e) {
1985
+ return e == null || typeof e == "boolean" || e === "" ? !0 : Array.isArray(e) ? e.every(Ie) : mt(e) && e.type === wn ? Ie(e.props.children) : !1;
1977
1986
  }
1978
- const Yc = 1.5, Qc = 0.25, Vc = 0.5;
1979
- function Zc(e, t) {
1987
+ const Xl = 1.5, Jl = 0.25, ec = 0.5;
1988
+ function tc(e, t) {
1980
1989
  var o, r;
1981
- const n = wn();
1990
+ const n = vn();
1982
1991
  return ("colors" in n ? (r = (o = n.colors) == null ? void 0 : o.contrasts) == null ? void 0 : r[e] : void 0) ?? t;
1983
1992
  }
1984
- function Xc({
1993
+ function nc({
1985
1994
  item: e,
1986
1995
  today: t,
1987
1996
  attachedAbove: n,
@@ -1990,11 +1999,11 @@ function Xc({
1990
1999
  moduleLabel: s,
1991
2000
  itemNumber: i
1992
2001
  }) {
1993
- var Ee;
1994
- const { t: c, locale: d, timezone: p } = oe(), h = tr(), g = Oc(), f = Zc("grey4570", Bc), M = Uc(), x = _(null), O = Vn(), A = Ye(), { navigation: S } = A, w = W(() => Rn(A.itemMeta), [A.itemMeta]), N = e.title || c("itemUntitled");
2002
+ var Fe;
2003
+ const { t: c, locale: d, timezone: p } = X(), h = or(), g = zl(), f = tc("grey4570", Hl), I = Gl(), C = A(null), k = Zn(), D = Qe(), { navigation: S } = D, v = G(() => On(D.itemMeta), [D.itemMeta]), R = e.title || c("itemUntitled");
1995
2004
  if (e.type === "sub_header")
1996
2005
  return /* @__PURE__ */ l(
1997
- ie,
2006
+ ae,
1998
2007
  {
1999
2008
  as: "div",
2000
2009
  padding: r ? "x-small small" : "x-small mediumSmall",
@@ -2008,17 +2017,17 @@ function Xc({
2008
2017
  transform: "uppercase",
2009
2018
  "data-testid": "module-item-title",
2010
2019
  "data-sub-header": "true",
2011
- children: N
2020
+ children: R
2012
2021
  }
2013
2022
  )
2014
2023
  }
2015
2024
  );
2016
- const D = La(s, i, d), E = D ? c("itemNameWithLabel", { label: D, name: N }) : N, v = ((Ee = S.getItemHref) == null ? void 0 : Ee.call(S, e)) ?? e.url ?? null, T = e.status === "locked", L = T ? null : v, K = e.status !== void 0 && e.status !== "complete" && !T && Un(e.dueAt, t, p), G = S.onItemClick, j = (y) => {
2017
- h(`item-click-${e.type}`), G == null || G(e, y);
2018
- }, H = (y) => {
2025
+ const L = Na(s, i, d), E = L ? c("itemNameWithLabel", { label: L, name: R }) : R, w = ((Fe = S.getItemHref) == null ? void 0 : Fe.call(S, e)) ?? e.url ?? null, T = e.status === "locked", x = T ? null : w, Q = e.status !== void 0 && e.status !== "complete" && !T && $n(e.dueAt, t, p), j = S.onItemClick, H = (y) => {
2026
+ h(`item-click-${e.type}`), j == null || j(e, y);
2027
+ }, K = (y) => {
2019
2028
  var F;
2020
- const X = x.current;
2021
- !X || X.contains(y.target) || (F = window.getSelection()) != null && F.toString().trim() || X.dispatchEvent(
2029
+ const B = C.current;
2030
+ !B || B.contains(y.target) || (F = window.getSelection()) != null && F.toString().trim() || B.dispatchEvent(
2022
2031
  new window.MouseEvent("click", {
2023
2032
  bubbles: !0,
2024
2033
  cancelable: !0,
@@ -2028,115 +2037,121 @@ function Xc({
2028
2037
  altKey: y.altKey
2029
2038
  })
2030
2039
  );
2031
- }, I = { item: e, t: c, today: t, locale: d, timezone: p, formatters: O, config: A }, k = w.map((y) => ({
2040
+ }, M = { item: e, t: c, today: t, locale: d, timezone: p, formatters: k, config: D }, q = v.map((y) => ({
2032
2041
  key: y.key,
2033
- node: y.render(I),
2034
- icon: y.renderIcon ? y.renderIcon(I) : y.icon
2035
- })).filter((y) => !Me(y.node)), C = [];
2042
+ node: y.render(M),
2043
+ icon: y.renderIcon ? y.renderIcon(M) : y.icon
2044
+ })).filter((y) => !Ie(y.node)), _ = [];
2036
2045
  let re;
2037
- const $ = r ? k.find((y) => y.key === "dueAt" && !Me(y.icon)) : void 0, Q = $ && k.find((y) => y.key === "estimatedDuration");
2038
- for (const y of k)
2039
- if (y !== Q)
2040
- if (!Me(y.icon) && (r || !re)) {
2041
- const X = y === $ && Q ? [y, Q] : [y];
2042
- C.push(X), re ?? (re = X);
2043
- } else re ? re.push(y) : C.length === 0 ? C.push([y]) : C[0].push(y);
2044
- const se = r ? { ...bn, ...hn } : bn, ce = r ? { ...M, ...hn } : M, V = K || e.status ? /* @__PURE__ */ J(U, { alignItems: "center", gap: "x-small", wrap: r ? "wrap" : "no-wrap", children: [
2045
- K ? /* @__PURE__ */ l(U.Item, { children: /* @__PURE__ */ l(Rc, {}) }) : null,
2046
- e.status ? /* @__PURE__ */ l(U.Item, { children: /* @__PURE__ */ l(Nc, { status: e.status }) }) : null
2047
- ] }) : null, Z = r ? /* @__PURE__ */ l("span", { style: jc, "data-title-clamp": "", children: E }) : E, pe = {
2046
+ const $ = r ? q.find((y) => y.key === "dueAt" && !Ie(y.icon)) : void 0, J = $ && q.find((y) => y.key === "estimatedDuration");
2047
+ for (const y of q)
2048
+ if (y !== J)
2049
+ if (!Ie(y.icon) && (r || !re)) {
2050
+ const B = y === $ && J ? [y, J] : [y];
2051
+ _.push(B), re ?? (re = B);
2052
+ } else re ? re.push(y) : _.length === 0 ? _.push([y]) : _[0].push(y);
2053
+ const se = r ? { ...bn, ...hn } : bn, ce = r ? { ...I, ...hn } : I, ee = e.completionRequirement ? /* @__PURE__ */ l(ql, {}) : null, V = Q || e.status ? /* @__PURE__ */ Y(N, { alignItems: "center", gap: "x-small", wrap: r ? "wrap" : "no-wrap", children: [
2054
+ Q ? /* @__PURE__ */ l(N.Item, { children: /* @__PURE__ */ l(Fl, {}) }) : null,
2055
+ e.status ? /* @__PURE__ */ l(N.Item, { children: /* @__PURE__ */ l(kl, { status: e.status }) }) : null
2056
+ ] }) : null, ie = r && ee ? /* @__PURE__ */ Y(N, { direction: "column", alignItems: "start", gap: "x-small", children: [
2057
+ /* @__PURE__ */ l(N.Item, { children: ee }),
2058
+ V ? /* @__PURE__ */ l(N.Item, { children: V }) : null
2059
+ ] }) : V, ve = r ? /* @__PURE__ */ l("span", { style: Ql, "data-title-clamp": "", children: E }) : E, Ee = {
2048
2060
  weight: "bold",
2049
2061
  size: r ? "medium" : "small",
2050
2062
  lineHeight: "condensed",
2051
2063
  "data-testid": "module-item-title"
2052
- }, Oe = L ? /* @__PURE__ */ J(
2053
- No,
2064
+ }, ke = x ? /* @__PURE__ */ Y(
2065
+ Oo,
2054
2066
  {
2055
- href: L,
2067
+ href: x,
2056
2068
  elementRef: (y) => {
2057
- x.current = y;
2069
+ C.current = y;
2058
2070
  },
2059
- onClick: j,
2071
+ onClick: H,
2060
2072
  forceButtonRole: !1,
2061
2073
  variant: g,
2062
2074
  display: r ? "block" : void 0,
2063
2075
  target: e.newTab ? "_blank" : void 0,
2064
2076
  rel: e.newTab ? "noopener noreferrer" : void 0,
2065
2077
  children: [
2066
- /* @__PURE__ */ l(ue, { ...pe, color: "primary", children: Z }),
2078
+ /* @__PURE__ */ l(ue, { ...Ee, color: "primary", children: ve }),
2067
2079
  e.newTab ? /* @__PURE__ */ l(En, { children: ` ${c("opensInNewWindow")}` }) : null
2068
2080
  ]
2069
2081
  }
2070
2082
  ) : /* @__PURE__ */ l(
2071
2083
  ue,
2072
2084
  {
2073
- ...pe,
2085
+ ...Ee,
2074
2086
  color: T ? "secondary" : "primary",
2075
2087
  "data-locked": T ? "true" : void 0,
2076
- children: Z
2088
+ children: ve
2077
2089
  }
2078
- ), we = n ? "none" : "large", ke = o ? "none" : "large";
2090
+ ), Pe = n ? "none" : "large", Ce = o ? "none" : "large";
2079
2091
  return /* @__PURE__ */ l(
2080
- ie,
2092
+ ae,
2081
2093
  {
2082
2094
  as: "div",
2083
2095
  background: "secondary",
2084
- borderRadius: `${we} ${we} ${ke} ${ke}`,
2096
+ borderRadius: `${Pe} ${Pe} ${Ce} ${Ce}`,
2085
2097
  padding: r ? "small" : "mediumSmall",
2086
2098
  margin: n ? "0" : "x-small 0 0 0",
2087
- cursor: L ? "pointer" : void 0,
2088
- onClick: L ? H : void 0,
2099
+ cursor: x ? "pointer" : void 0,
2100
+ onClick: x ? K : void 0,
2089
2101
  "data-testid": `module-item-${e.id}`,
2090
- children: /* @__PURE__ */ l("div", { style: { paddingInlineStart: `${Math.max(e.indent - 1, 0) * io}rem` }, children: /* @__PURE__ */ J(U, { alignItems: "start", gap: "mediumSmall", children: [
2091
- /* @__PURE__ */ l(U.Item, { shouldGrow: !0, shouldShrink: !0, children: /* @__PURE__ */ J(U, { alignItems: "center", children: [
2102
+ children: /* @__PURE__ */ l("div", { style: { paddingInlineStart: `${Math.max(e.indent - 1, 0) * ao}rem` }, children: /* @__PURE__ */ Y(N, { alignItems: "start", gap: "mediumSmall", children: [
2103
+ /* @__PURE__ */ l(N.Item, { shouldGrow: !0, shouldShrink: !0, children: /* @__PURE__ */ Y(N, { alignItems: "center", children: [
2092
2104
  e.indent > 0 ? /* @__PURE__ */ l(
2093
- U.Item,
2105
+ N.Item,
2094
2106
  {
2095
- size: kc,
2107
+ size: Ul,
2096
2108
  textAlign: "center",
2097
2109
  "data-testid": "item-nest-arrow",
2098
- children: /* @__PURE__ */ l("span", { style: { color: f }, children: /* @__PURE__ */ l(Do, { size: "md", color: "inherit" }) })
2110
+ children: /* @__PURE__ */ l("span", { style: { color: f }, children: /* @__PURE__ */ l(xo, { size: "md", color: "inherit" }) })
2099
2111
  }
2100
2112
  ) : null,
2101
- /* @__PURE__ */ J(U.Item, { shouldGrow: !0, shouldShrink: !0, children: [
2113
+ /* @__PURE__ */ Y(N.Item, { shouldGrow: !0, shouldShrink: !0, children: [
2102
2114
  /* @__PURE__ */ l(
2103
2115
  "div",
2104
2116
  {
2105
2117
  style: {
2106
- lineHeight: r ? 0 : `${Yc}rem`,
2107
- marginBottom: k.length === 0 ? 0 : `${r ? Vc : Qc}rem`
2118
+ lineHeight: r ? 0 : `${Xl}rem`,
2119
+ marginBottom: q.length === 0 ? 0 : `${r ? ec : Jl}rem`
2108
2120
  },
2109
- children: Oe
2121
+ children: !r && ee ? /* @__PURE__ */ Y(N, { alignItems: "center", gap: "x-small", wrap: "wrap", children: [
2122
+ /* @__PURE__ */ l(N.Item, { shouldShrink: !0, children: ke }),
2123
+ /* @__PURE__ */ l(N.Item, { children: ee })
2124
+ ] }) : ke
2110
2125
  }
2111
2126
  ),
2112
- /* @__PURE__ */ l("div", { style: $c, children: /* @__PURE__ */ l(
2127
+ /* @__PURE__ */ l("div", { style: jl, children: /* @__PURE__ */ l(
2113
2128
  ue,
2114
2129
  {
2115
2130
  size: r ? "small" : "x-small",
2116
2131
  lineHeight: "default",
2117
2132
  color: "secondary",
2118
2133
  "data-testid": "module-item-meta",
2119
- children: C.map((y, X) => /* @__PURE__ */ l(
2134
+ children: _.map((y, B) => /* @__PURE__ */ l(
2120
2135
  "span",
2121
2136
  {
2122
- style: r ? X > 0 ? He : Gc : C.length > 1 ? X > 0 ? Wc : He : void 0,
2137
+ style: r ? B > 0 ? Ke : Yl : _.length > 1 ? B > 0 ? Kl : Ke : void 0,
2123
2138
  "data-testid": "meta-line",
2124
- children: y.map((F, le) => /* @__PURE__ */ J(vn, { children: [
2125
- le > 0 ? /* @__PURE__ */ l("span", { style: Hc, children: " " }) : null,
2126
- /* @__PURE__ */ J(
2139
+ children: y.map((F, me) => /* @__PURE__ */ Y(wn, { children: [
2140
+ me > 0 ? /* @__PURE__ */ l("span", { style: Vl, children: " " }) : null,
2141
+ /* @__PURE__ */ Y(
2127
2142
  "span",
2128
2143
  {
2129
- style: le > 0 ? ce : se,
2144
+ style: me > 0 ? ce : se,
2130
2145
  "data-testid": "meta-fact",
2131
2146
  "data-fact-key": F.key,
2132
2147
  children: [
2133
- Me(F.icon) ? null : /* @__PURE__ */ l(
2148
+ Ie(F.icon) ? null : /* @__PURE__ */ l(
2134
2149
  "span",
2135
2150
  {
2136
- style: Kc,
2151
+ style: Zl,
2137
2152
  "aria-hidden": "true",
2138
2153
  "data-testid": `meta-icon-${F.key}`,
2139
- children: r && mt(F.icon) && F.icon.props.size === "xs" ? Mo(F.icon, { size: "sm" }) : F.icon
2154
+ children: r && mt(F.icon) && F.icon.props.size === "xs" ? To(F.icon, { size: "sm" }) : F.icon
2140
2155
  }
2141
2156
  ),
2142
2157
  F.node
@@ -2149,16 +2164,16 @@ function Xc({
2149
2164
  ))
2150
2165
  }
2151
2166
  ) }),
2152
- r && V ? /* @__PURE__ */ l(ie, { as: "div", margin: "x-small 0 0 0", children: V }) : null
2167
+ r && ie ? /* @__PURE__ */ l(ae, { as: "div", margin: "x-small 0 0 0", children: ie }) : null
2153
2168
  ] })
2154
2169
  ] }) }),
2155
- !r && V ? /* @__PURE__ */ l(U.Item, { children: V }) : null
2170
+ !r && ie ? /* @__PURE__ */ l(N.Item, { children: ie }) : null
2156
2171
  ] }) })
2157
2172
  }
2158
2173
  );
2159
2174
  }
2160
- const Zl = Io(Xc);
2161
- function Jc(e) {
2175
+ const ou = Mo(nc);
2176
+ function oc(e) {
2162
2177
  switch (e) {
2163
2178
  case "complete":
2164
2179
  return "complete";
@@ -2183,12 +2198,12 @@ function ot(e) {
2183
2198
  };
2184
2199
  };
2185
2200
  }
2186
- const el = {
2201
+ const rc = {
2187
2202
  missing: {
2188
2203
  background: "primary-inverse",
2189
2204
  borderWidth: "none",
2190
2205
  themeOverride: ot("honey"),
2191
- icon: /* @__PURE__ */ l(Te, { size: "sm", color: "onColor" })
2206
+ icon: /* @__PURE__ */ l(Me, { size: "sm", color: "onColor" })
2192
2207
  },
2193
2208
  complete: {
2194
2209
  background: "primary-inverse",
@@ -2213,7 +2228,7 @@ const el = {
2213
2228
  icon: /* @__PURE__ */ l(gt, { size: "sm", color: "baseColor" })
2214
2229
  }
2215
2230
  };
2216
- function tl(e) {
2231
+ function sc(e) {
2217
2232
  var i, c, d;
2218
2233
  let t = 0, n = 0, o = 0;
2219
2234
  for (const p of e)
@@ -2227,29 +2242,29 @@ function tl(e) {
2227
2242
  percent: s
2228
2243
  };
2229
2244
  }
2230
- const ut = 32, nl = "4px", ol = 4, De = { none: 0, small: 1, medium: 2 }, rl = 6, sl = 8, yn = 2, Be = 3;
2231
- function il(e, t, n) {
2232
- const o = ol + n / 2, r = e ? ut / 2 : o, s = t ? ut / 2 : o;
2245
+ const ut = 32, ic = "4px", ac = 4, Le = { none: 0, small: 1, medium: 2 }, lc = 6, cc = 8, yn = 2, We = 3;
2246
+ function uc(e, t, n) {
2247
+ const o = ac + n / 2, r = e ? ut / 2 : o, s = t ? ut / 2 : o;
2233
2248
  return `${r}px ${s}px ${s}px ${r}px`;
2234
2249
  }
2235
- function al({
2250
+ function dc({
2236
2251
  module: e,
2237
2252
  isFirst: t,
2238
2253
  isLast: n,
2239
2254
  onClick: o
2240
2255
  }) {
2241
- var f, M, x;
2242
- const { t: r } = oe(), i = Vn().moduleLabel(e.position, e), c = i ? r("moduleNameWithLabel", { label: i, name: e.name }) : e.name, d = ((f = e.progress) == null ? void 0 : f.status) ?? "not_started", p = Jc(d), h = r("moduleProgressSegmentLabel", {
2256
+ var f, I, C;
2257
+ const { t: r } = X(), i = Zn().moduleLabel(e.position, e), c = i ? r("moduleNameWithLabel", { label: i, name: e.name }) : e.name, d = ((f = e.progress) == null ? void 0 : f.status) ?? "not_started", p = oc(d), h = r("moduleProgressSegmentLabel", {
2243
2258
  name: c,
2244
- status: so(
2259
+ status: io(
2245
2260
  r,
2246
2261
  d,
2247
- ((M = e.progress) == null ? void 0 : M.missingCount) ?? 0,
2248
- ((x = e.progress) == null ? void 0 : x.incompleteCount) ?? 0
2262
+ ((I = e.progress) == null ? void 0 : I.missingCount) ?? 0,
2263
+ ((C = e.progress) == null ? void 0 : C.incompleteCount) ?? 0
2249
2264
  )
2250
- }), g = el[p];
2251
- return /* @__PURE__ */ l(U.Item, { shouldGrow: !0, shouldShrink: !0, size: "0", children: /* @__PURE__ */ l(ko, { renderTip: c, children: () => /* @__PURE__ */ J(
2252
- ie,
2265
+ }), g = rc[p];
2266
+ return /* @__PURE__ */ l(N.Item, { shouldGrow: !0, shouldShrink: !0, size: "0", children: /* @__PURE__ */ l(qo, { renderTip: c, children: () => /* @__PURE__ */ Y(
2267
+ ae,
2253
2268
  {
2254
2269
  as: "button",
2255
2270
  type: "button",
@@ -2258,7 +2273,7 @@ function al({
2258
2273
  height: `${ut}px`,
2259
2274
  padding: "0",
2260
2275
  position: "relative",
2261
- borderRadius: il(t, n, De[g.borderWidth]),
2276
+ borderRadius: uc(t, n, Le[g.borderWidth]),
2262
2277
  borderWidth: g.borderWidth,
2263
2278
  borderColor: "secondary",
2264
2279
  background: g.background,
@@ -2267,7 +2282,7 @@ function al({
2267
2282
  onClick: o ? () => o(e.id) : void 0,
2268
2283
  "data-testid": `modules-progress-segment-${e.id}`,
2269
2284
  children: [
2270
- /* @__PURE__ */ l(U, { as: "span", height: "100%", justifyItems: "center", alignItems: "center", children: g.icon }),
2285
+ /* @__PURE__ */ l(N, { as: "span", height: "100%", justifyItems: "center", alignItems: "center", children: g.icon }),
2271
2286
  /* @__PURE__ */ l(En, { children: h }),
2272
2287
  /* @__PURE__ */ l(
2273
2288
  "span",
@@ -2276,10 +2291,10 @@ function al({
2276
2291
  "data-testid": `modules-progress-hit-area-${e.id}`,
2277
2292
  style: {
2278
2293
  position: "absolute",
2279
- top: `-${rl + De[g.borderWidth]}px`,
2280
- bottom: `-${sl + De[g.borderWidth]}px`,
2281
- left: `${yn - De[g.borderWidth]}px`,
2282
- right: `${yn - De[g.borderWidth]}px`
2294
+ top: `-${lc + Le[g.borderWidth]}px`,
2295
+ bottom: `-${cc + Le[g.borderWidth]}px`,
2296
+ left: `${yn - Le[g.borderWidth]}px`,
2297
+ right: `${yn - Le[g.borderWidth]}px`
2283
2298
  }
2284
2299
  }
2285
2300
  )
@@ -2287,7 +2302,7 @@ function al({
2287
2302
  }
2288
2303
  ) }) });
2289
2304
  }
2290
- function Xl({
2305
+ function ru({
2291
2306
  modules: e,
2292
2307
  onModuleClick: t,
2293
2308
  hasMoreModules: n = !1,
@@ -2295,7 +2310,7 @@ function Xl({
2295
2310
  continuesAfter: r = !1,
2296
2311
  pagination: s
2297
2312
  }) {
2298
- const { t: i } = oe(), c = W(() => tl(e), [e]);
2313
+ const { t: i } = X(), c = G(() => sc(e), [e]);
2299
2314
  if (!e.some((g) => g.progress !== void 0) || c.totalModules === 0) return null;
2300
2315
  const p = i("moduleProgressOverviewSummary", {
2301
2316
  count: c.totalModules,
@@ -2308,10 +2323,10 @@ function Xl({
2308
2323
  totalItems: c.totalItems
2309
2324
  })
2310
2325
  }) : null;
2311
- return /* @__PURE__ */ J(ie, { as: "div", margin: "0 0 small 0", "data-testid": "modules-progress-overview", children: [
2312
- n ? null : /* @__PURE__ */ l(U, { wrap: "wrap", children: /* @__PURE__ */ J(U.Item, { children: [
2313
- /* @__PURE__ */ l(ie, { as: "span", margin: "0 x-small 0 0", children: /* @__PURE__ */ l(
2314
- Oo,
2326
+ return /* @__PURE__ */ Y(ae, { as: "div", margin: "0 0 small 0", "data-testid": "modules-progress-overview", children: [
2327
+ n ? null : /* @__PURE__ */ l(N, { wrap: "wrap", children: /* @__PURE__ */ Y(N.Item, { children: [
2328
+ /* @__PURE__ */ l(ae, { as: "span", margin: "0 x-small 0 0", children: /* @__PURE__ */ l(
2329
+ Fo,
2315
2330
  {
2316
2331
  level: "reset",
2317
2332
  variant: "titleSection",
@@ -2321,15 +2336,15 @@ function Xl({
2321
2336
  ) }),
2322
2337
  /* @__PURE__ */ l(ue, { variant: "content", "data-testid": "modules-progress-overview-summary", children: h ? `${p} ${h}` : p })
2323
2338
  ] }) }),
2324
- /* @__PURE__ */ l(ie, { as: "div", margin: "xx-small 0 0 0", children: /* @__PURE__ */ l(
2325
- U,
2339
+ /* @__PURE__ */ l(ae, { as: "div", margin: "xx-small 0 0 0", children: /* @__PURE__ */ l(
2340
+ N,
2326
2341
  {
2327
- gap: nl,
2342
+ gap: ic,
2328
2343
  role: "group",
2329
2344
  "aria-label": i("moduleProgressOverviewGroupLabel"),
2330
2345
  "data-testid": "modules-progress-overview-segments",
2331
2346
  children: e.map((g, f) => /* @__PURE__ */ l(
2332
- al,
2347
+ dc,
2333
2348
  {
2334
2349
  module: g,
2335
2350
  isFirst: f === 0 && !o,
@@ -2340,7 +2355,7 @@ function Xl({
2340
2355
  ))
2341
2356
  }
2342
2357
  ) }),
2343
- s ? /* @__PURE__ */ l(cl, { pagination: s, shownCount: e.length }) : null
2358
+ s ? /* @__PURE__ */ l(mc, { pagination: s, shownCount: e.length }) : null
2344
2359
  ] });
2345
2360
  }
2346
2361
  function In({
@@ -2354,8 +2369,8 @@ function In({
2354
2369
  "data-testid": t,
2355
2370
  style: {
2356
2371
  display: "inline-flex",
2357
- padding: `0 ${Be}px ${Be}px`,
2358
- margin: `0 -${Be}px -${Be}px`
2372
+ padding: `0 ${We}px ${We}px`,
2373
+ margin: `0 -${We}px -${We}px`
2359
2374
  },
2360
2375
  onClick: (o) => {
2361
2376
  var r;
@@ -2365,22 +2380,24 @@ function In({
2365
2380
  }
2366
2381
  );
2367
2382
  }
2368
- function cl({
2383
+ function mc({
2369
2384
  pagination: e,
2370
2385
  shownCount: t
2371
2386
  }) {
2372
- const { t: n } = oe(), { rangeStart: o, totalCount: r, hasPreviousPage: s, hasNextPage: i, disabled: c = !1 } = e, d = _(null), p = _(null), h = _(null);
2373
- me(() => {
2374
- var M, x;
2375
- if (c) return;
2387
+ const { t: n } = X(), { rangeStart: o, totalCount: r, hasPreviousPage: s, hasNextPage: i, disabled: c = !1 } = e, d = A(null), p = A(null), h = A(null);
2388
+ So(() => {
2389
+ var I, C;
2376
2390
  const f = h.current;
2377
- h.current = null, f === "next" && !i && ((M = d.current) == null || M.focus()), f === "previous" && !s && ((x = p.current) == null || x.focus());
2378
- }, [c, i, s]);
2391
+ f !== null && (h.current = null, f === "next" && !i && ((I = d.current) == null || I.focus()), f === "previous" && !s && ((C = p.current) == null || C.focus()));
2392
+ }, [i, s]);
2379
2393
  const g = (f) => {
2380
- c || (h.current = f, f === "next" ? e.onNextPage() : e.onPreviousPage());
2394
+ if (c) return;
2395
+ h.current = f;
2396
+ const I = p.current, C = d.current;
2397
+ f === "next" ? e.onNextPage(I, C) : e.onPreviousPage(C, I);
2381
2398
  };
2382
- return /* @__PURE__ */ l(ie, { as: "div", margin: "x-small 0 0 0", children: /* @__PURE__ */ J(
2383
- U,
2399
+ return /* @__PURE__ */ l(ae, { as: "div", margin: "x-small 0 0 0", children: /* @__PURE__ */ Y(
2400
+ N,
2384
2401
  {
2385
2402
  as: "nav",
2386
2403
  justifyItems: "space-between",
@@ -2395,7 +2412,7 @@ function cl({
2395
2412
  size: "small",
2396
2413
  withBackground: !1,
2397
2414
  withBorder: !1,
2398
- renderIcon: /* @__PURE__ */ l(Lo, {}),
2415
+ renderIcon: /* @__PURE__ */ l(Ro, {}),
2399
2416
  screenReaderLabel: n("paginationPreviousPage"),
2400
2417
  interaction: s ? "enabled" : "disabled",
2401
2418
  elementRef: (f) => {
@@ -2415,7 +2432,7 @@ function cl({
2415
2432
  size: "small",
2416
2433
  withBackground: !1,
2417
2434
  withBorder: !1,
2418
- renderIcon: /* @__PURE__ */ l(xo, {}),
2435
+ renderIcon: /* @__PURE__ */ l(No, {}),
2419
2436
  screenReaderLabel: n("paginationNextPage"),
2420
2437
  interaction: i ? "enabled" : "disabled",
2421
2438
  elementRef: (f) => {
@@ -2430,103 +2447,104 @@ function cl({
2430
2447
  }
2431
2448
  export {
2432
2449
  Qo as $,
2433
- $c as A,
2434
- Hc as B,
2450
+ qa as A,
2451
+ jl as B,
2435
2452
  Vl as C,
2436
- ro as D,
2437
- Wl as E,
2438
- Bl as F,
2439
- Zl as G,
2440
- Vo as H,
2453
+ so as D,
2454
+ tu as E,
2455
+ Yc as F,
2456
+ Kc as G,
2457
+ ou as H,
2441
2458
  Nn as I,
2442
- Jo as J,
2443
- Xo as K,
2444
- Zo as L,
2445
- Al as M,
2446
- $l as N,
2447
- jl as O,
2448
- kl as P,
2449
- Yl as Q,
2450
- Xl as R,
2451
- za as S,
2452
- Cn as T,
2453
- Ho as U,
2454
- $o as V,
2455
- Bo as W,
2456
- _n as X,
2457
- Go as Y,
2458
- Wo as Z,
2459
- Ko as _,
2460
- _l as a,
2461
- An as a0,
2462
- jo as a1,
2463
- Cl as a2,
2464
- Yo as a3,
2465
- Dn as a4,
2459
+ Xo as J,
2460
+ tr as K,
2461
+ er as L,
2462
+ Nc as M,
2463
+ Jo as N,
2464
+ Hc as O,
2465
+ Vc as P,
2466
+ $c as Q,
2467
+ Jc as R,
2468
+ ru as S,
2469
+ Ba as T,
2470
+ _n as U,
2471
+ Yo as V,
2472
+ Wo as W,
2473
+ Go as X,
2474
+ An as Y,
2475
+ Ho as Z,
2476
+ jo as _,
2477
+ Rc as a,
2478
+ Zo as a0,
2479
+ Dn as a1,
2480
+ Ko as a2,
2481
+ xc as a3,
2482
+ Vo as a4,
2466
2483
  Ln as a5,
2467
- Ol as a6,
2468
- nr as a7,
2469
- rn as a8,
2470
- $a as a9,
2471
- Rc as aA,
2472
- xc as aB,
2473
- Nc as aC,
2474
- so as aD,
2475
- kn as aE,
2476
- ae as aF,
2477
- va as aG,
2478
- Me as aH,
2479
- io as aI,
2480
- ot as aJ,
2481
- Wa as aa,
2482
- Ua as ab,
2483
- It as ac,
2484
- Xa as ad,
2485
- Ya as ae,
2486
- Ba as af,
2487
- Va as ag,
2488
- Za as ah,
2489
- Re as ai,
2490
- ye as aj,
2491
- Gl as ak,
2492
- Ka as al,
2493
- Hl as am,
2494
- ve as an,
2495
- Zn as ao,
2496
- oc as ap,
2497
- nc as aq,
2498
- tc as ar,
2499
- St as as,
2500
- Xn as at,
2501
- vt as au,
2502
- cc as av,
2503
- zl as aw,
2504
- We as ax,
2505
- Ne as ay,
2506
- cr as az,
2484
+ xn as a6,
2485
+ Uc as a7,
2486
+ rr as a8,
2487
+ rn as a9,
2488
+ ur as aA,
2489
+ Fl as aB,
2490
+ Ol as aC,
2491
+ kl as aD,
2492
+ io as aE,
2493
+ Fn as aF,
2494
+ le as aG,
2495
+ Pa as aH,
2496
+ Ie as aI,
2497
+ ao as aJ,
2498
+ ot as aK,
2499
+ Ga as aa,
2500
+ Ha as ab,
2501
+ Wa as ac,
2502
+ It as ad,
2503
+ tl as ae,
2504
+ Za as af,
2505
+ ja as ag,
2506
+ Ja as ah,
2507
+ el as ai,
2508
+ Oe as aj,
2509
+ be as ak,
2510
+ Qc as al,
2511
+ Va as am,
2512
+ Zc as an,
2513
+ we as ao,
2514
+ Xn as ap,
2515
+ il as aq,
2516
+ sl as ar,
2517
+ rl as as,
2518
+ St as at,
2519
+ Jn as au,
2520
+ wt as av,
2521
+ dl as aw,
2522
+ Gc as ax,
2523
+ Ge as ay,
2524
+ Ne as az,
2507
2525
  qt as b,
2508
- Fl as c,
2509
- Kl as d,
2510
- Nl as e,
2511
- xl as f,
2512
- Rl as g,
2526
+ Bc as c,
2527
+ Xc as d,
2528
+ qc as e,
2529
+ Fc as f,
2530
+ zc as g,
2513
2531
  it as h,
2514
- ql as i,
2532
+ Wc as i,
2515
2533
  Mt as j,
2516
- Ye as k,
2517
- Dc as l,
2518
- Ul as m,
2519
- Kc as n,
2534
+ Qe as k,
2535
+ Rl as l,
2536
+ jc as m,
2537
+ Zl as n,
2520
2538
  Bt as o,
2521
- tr as p,
2522
- Vn as q,
2523
- Oc as r,
2524
- Ql as s,
2525
- Un as t,
2526
- oe as u,
2527
- Rn as v,
2528
- Dl as w,
2529
- Ll as x,
2530
- Uc as y,
2531
- Oa as z
2539
+ or as p,
2540
+ Zn as q,
2541
+ zl as r,
2542
+ nu as s,
2543
+ eu as t,
2544
+ X as u,
2545
+ On as v,
2546
+ Oc as w,
2547
+ $n as x,
2548
+ kc as y,
2549
+ Gl as z
2532
2550
  };