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