@instructure/platform-modules 1.5.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +72 -0
  2. package/dist/analytics/context.d.ts +15 -0
  3. package/dist/analytics/context.d.ts.map +1 -0
  4. package/dist/analytics/index.d.ts +3 -0
  5. package/dist/analytics/index.d.ts.map +1 -0
  6. package/dist/analytics/types.d.ts +13 -0
  7. package/dist/analytics/types.d.ts.map +1 -0
  8. package/dist/components/FilterChips.d.ts +1 -1
  9. package/dist/components/FilterChips.d.ts.map +1 -1
  10. package/dist/components/ModuleCard.d.ts.map +1 -1
  11. package/dist/components/ModuleItemRow.d.ts.map +1 -1
  12. package/dist/components/ModulesList.d.ts +7 -1
  13. package/dist/components/ModulesList.d.ts.map +1 -1
  14. package/dist/config/index.d.ts +1 -0
  15. package/dist/config/index.d.ts.map +1 -1
  16. package/dist/config/organizePreview.d.ts +8 -0
  17. package/dist/config/organizePreview.d.ts.map +1 -0
  18. package/dist/i18n.d.ts +6 -0
  19. package/dist/i18n.d.ts.map +1 -1
  20. package/dist/index.d.ts +4 -2
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +2137 -1546
  23. package/dist/organize/Organize.stories.d.ts +33 -0
  24. package/dist/organize/Organize.stories.d.ts.map +1 -0
  25. package/dist/organize/OrganizeForm.d.ts +11 -0
  26. package/dist/organize/OrganizeForm.d.ts.map +1 -0
  27. package/dist/organize/OrganizeModulesButton.d.ts +10 -0
  28. package/dist/organize/OrganizeModulesButton.d.ts.map +1 -0
  29. package/dist/organize/OrganizeModulesModal.d.ts +12 -0
  30. package/dist/organize/OrganizeModulesModal.d.ts.map +1 -0
  31. package/dist/organize/ProposalPreview.d.ts +7 -0
  32. package/dist/organize/ProposalPreview.d.ts.map +1 -0
  33. package/dist/organize/fixture.d.ts +5 -0
  34. package/dist/organize/fixture.d.ts.map +1 -0
  35. package/dist/organize/index.d.ts +9 -0
  36. package/dist/organize/index.d.ts.map +1 -0
  37. package/dist/organize/types.d.ts +64 -0
  38. package/dist/organize/types.d.ts.map +1 -0
  39. package/dist/organize/useOrganizeModules.d.ts +30 -0
  40. package/dist/organize/useOrganizeModules.d.ts.map +1 -0
  41. package/dist/organize/validation.d.ts +8 -0
  42. package/dist/organize/validation.d.ts.map +1 -0
  43. package/dist/types/extensions.d.ts +7 -1
  44. package/dist/types/extensions.d.ts.map +1 -1
  45. package/dist/types/index.d.ts +1 -1
  46. package/dist/types/index.d.ts.map +1 -1
  47. package/locales/en.json +48 -3
  48. package/package.json +12 -2
package/README.md CHANGED
@@ -167,6 +167,78 @@ declared but not yet implemented throws at construction rather than rendering no
167
167
  `executeQuery` is a constructor argument, not a context read, so each host supplies its own
168
168
  endpoint and auth for the same documents.
169
169
 
170
+ ## Organizing content with AI
171
+
172
+ Optional, and off unless you wire it. Supply a `ModuleOrganizationActions` object and an AI
173
+ button appears in the list's toolbar; leave it out and nothing about `ModulesList` changes.
174
+
175
+ ```tsx
176
+ const organizationActions: ModuleOrganizationActions = useMemo(
177
+ () => ({
178
+ // Poll, retry and normalize here. Resolve only when the proposal is final.
179
+ organize: (input, signal) => requestProposal(courseId, input, signal),
180
+ apply: async (proposal, input, signal) => {
181
+ await writeProposal(courseId, proposal, input, signal)
182
+ await invalidateCourse(queryClient, courseId)
183
+ },
184
+ }),
185
+ [courseId, queryClient]
186
+ )
187
+
188
+ <ModulesList
189
+ data={data}
190
+ organizationActions={organizationActions}
191
+ organizationAiDisclosure={<CanvasAiInformation />}
192
+ />
193
+ ```
194
+
195
+ The package holds no URL, no polling and no job model — see
196
+ `docs/adr/0018-injected-module-organization-actions.md`. Both methods take an `AbortSignal`, which
197
+ Cancel and Regenerate use, so honor it or the request outlives the modal. `apply` resolves `void`,
198
+ which is your chance to invalidate before the modal closes.
199
+
200
+ There is no progress callback. The modal shows an indeterminate spinner and, once the request
201
+ outlives `ORGANIZE_SLOW_AFTER_MS`, one reassurance line, and it announces each step in the polite
202
+ live region. Every host gets the same behaviour without implementing anything.
203
+
204
+ `organizationAiDisclosure` is one more optional, host-supplied prop: any `ReactNode`, drawn in the
205
+ modal header. Pass your AI disclosure panel; the package renders it and knows nothing about its
206
+ content.
207
+
208
+ ### The two proposal flags
209
+
210
+ `setPrerequisites` and `setRequirements` are the "Module progression" checkbox pair. They default
211
+ to `true` and map to `set_prerequisites` / `set_requirements` on Canvas's generate call. Canvas honours them **at generation time only**:
212
+ apply writes whatever the proposal carries. Unticking a box means "propose none of these", not
213
+ "propose them and leave them out", so forward the same pair to both `organize` and `apply` — the
214
+ two calls have to agree about what the proposal contains.
215
+
216
+ ### What the package validates
217
+
218
+ `OrganizeInput` is `{ mode, contentTypes, setPrerequisites, setRequirements, direction }`, and the
219
+ package checks exactly two things: at least one content type, and a direction inside
220
+ `MAX_DIRECTION_CHARS`. It asserts nothing about how many modules to make or how many items each
221
+ should hold — add whatever sizing your backend wants to the request body you build in `organize`.
222
+
223
+ ### The proposal
224
+
225
+ `OrganizeProposal` is `modules`, `unplacedItems`, `warnings` and an optional `responseId`. Three
226
+ things to get right when you normalize your backend's response:
227
+
228
+ - **`ProposedModule.prerequisitePositions` names other modules by `position`, never by array
229
+ index.** Positions survive a server-side split or merge; indices do not. Two modules sharing a
230
+ position is malformed: the preview still draws both, and drops any prerequisite naming that
231
+ position rather than guessing which one it meant.
232
+ - **`warnings` are already in the reader's language.** The package renders them verbatim and
233
+ never interprets them.
234
+ - **`responseId` is optional and opaque.** Map your backend's `response_id` onto it if you want to
235
+ correlate a proposal back to the generation call; the package passes it through to `apply` and
236
+ never renders it.
237
+
238
+ The preview renders the proposal through the real `ModulesList`, inside its own `QueryClient` so
239
+ your page cache is untouched, with `organizePreviewConfig` layered onto your config. Items the
240
+ proposal could not place are flagged, and they do not block Apply.
241
+
170
242
  ## Development
171
243
 
172
244
  ```bash
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from 'react';
2
+ import { ModulesAnalyticsEvent, ModulesAnalyticsHost, ModulesAnalyticsPayload } from './types';
3
+ export type TrackModulesEvent = (event: ModulesAnalyticsEvent) => void;
4
+ export interface ModulesAnalyticsProviderProps {
5
+ host: ModulesAnalyticsHost;
6
+ onEvent: (payload: ModulesAnalyticsPayload) => void;
7
+ children: ReactNode;
8
+ }
9
+ export declare function ModulesAnalyticsProvider({ host, onEvent, children, }: ModulesAnalyticsProviderProps): ReactNode;
10
+ /**
11
+ * Unprovided, tracking is off. A host that wants no analytics mounts nothing, and every story
12
+ * and test renders the components bare.
13
+ */
14
+ export declare function useModulesAnalytics(): TrackModulesEvent;
15
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/analytics/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAA+B,MAAM,OAAO,CAAA;AAClF,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAEnG,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAA;AAMtE,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,oBAAoB,CAAA;IAC1B,OAAO,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAA;IACnD,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,wBAAwB,CAAC,EACvC,IAAI,EACJ,OAAO,EACP,QAAQ,GACT,EAAE,6BAA6B,GAAG,SAAS,CAU3C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,iBAAiB,CAEvD"}
@@ -0,0 +1,3 @@
1
+ export { ModulesAnalyticsProvider, type ModulesAnalyticsProviderProps, type TrackModulesEvent, useModulesAnalytics, } from './context';
2
+ export type { ModulesAnalyticsEvent, ModulesAnalyticsHost, ModulesAnalyticsPayload, } from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analytics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,KAAK,6BAA6B,EAClC,KAAK,iBAAiB,EACtB,mBAAmB,GACpB,MAAM,WAAW,CAAA;AAClB,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,SAAS,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { ModuleItemType } from '../types';
2
+ /**
3
+ * Which product the events came from. Mirrors `Account.appContext` in
4
+ * `@instructure/platform-provider` so a report can join modules events to anything else keyed
5
+ * on it, plus `foundation-lms` — the white-label host has no `appContext` value of its own.
6
+ */
7
+ export type ModulesAnalyticsHost = 'canvas-academic' | 'canvas-career' | 'canvas-uae' | 'foundation-lms';
8
+ export type ModulesAnalyticsEvent = 'module-expand' | 'module-collapse' | 'expand-all' | 'collapse-all' | 'load-more-modules' | 'load-more-items' | `item-click-${ModuleItemType}`;
9
+ export interface ModulesAnalyticsPayload {
10
+ event: ModulesAnalyticsEvent;
11
+ host: ModulesAnalyticsHost;
12
+ }
13
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/analytics/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE9C;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAC5B,iBAAiB,GACjB,eAAe,GACf,YAAY,GACZ,gBAAgB,CAAA;AAEpB,MAAM,MAAM,qBAAqB,GAC7B,eAAe,GACf,iBAAiB,GACjB,YAAY,GACZ,cAAc,GACd,mBAAmB,GACnB,iBAAiB,GACjB,cAAc,cAAc,EAAE,CAAA;AAElC,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,qBAAqB,CAAA;IAC5B,IAAI,EAAE,oBAAoB,CAAA;CAC3B"}
@@ -4,5 +4,5 @@ export interface FilterChipsProps {
4
4
  onChange: (filter: string) => void;
5
5
  describedBy?: string;
6
6
  }
7
- export declare function FilterChips({ value, onChange, describedBy }: FilterChipsProps): ReactElement;
7
+ export declare function FilterChips({ value, onChange, describedBy, }: FilterChipsProps): ReactElement | null;
8
8
  //# sourceMappingURL=FilterChips.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterChips.d.ts","sourceRoot":"","sources":["../../src/components/FilterChips.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAA;AAIzD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,gBAAgB,GAAG,YAAY,CA4C5F"}
1
+ {"version":3,"file":"FilterChips.d.ts","sourceRoot":"","sources":["../../src/components/FilterChips.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAA;AAIzD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,WAAW,GACZ,EAAE,gBAAgB,GAAG,YAAY,GAAG,IAAI,CA8CxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleCard.d.ts","sourceRoot":"","sources":["../../src/components/ModuleCard.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AAOzE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAK5D,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,oBAAoB,EAI1B,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,UAAU,CAAA;AAQlD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,UAAU,EAAE,gBAAgB,CAAA;IAC5B,KAAK,EAAE,IAAI,CAAA;IACX,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAgFD,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC,eAAe,CAQ/E,CAAA;AAsVF,eAAO,MAAM,UAAU,EAAE,oBAAoB,CAAC,eAAe,CAAwB,CAAA"}
1
+ {"version":3,"file":"ModuleCard.d.ts","sourceRoot":"","sources":["../../src/components/ModuleCard.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AAOzE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAK5D,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,oBAAoB,EAI1B,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,UAAU,CAAA;AASlD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,UAAU,EAAE,gBAAgB,CAAA;IAC5B,KAAK,EAAE,IAAI,CAAA;IACX,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAgFD,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC,eAAe,CAQ/E,CAAA;AA+VF,eAAO,MAAM,UAAU,EAAE,oBAAoB,CAAC,eAAe,CAAwB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleItemRow.d.ts","sourceRoot":"","sources":["../../src/components/ModuleItemRow.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,aAAa,EAKlB,KAAK,oBAAoB,EAI1B,MAAM,OAAO,CAAA;AASd,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAqB1C,eAAO,MAAM,oBAAoB;;CAA2B,CAAA;AAmB5D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,EAAE,IAAI,CAAA;IACX,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAOD,wBAAgB,mBAAmB,IAAI,aAAa,CAMnD;AAyLD,eAAO,MAAM,aAAa,EAAE,oBAAoB,CAAC,kBAAkB,CAA2B,CAAA"}
1
+ {"version":3,"file":"ModuleItemRow.d.ts","sourceRoot":"","sources":["../../src/components/ModuleItemRow.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,aAAa,EAKlB,KAAK,oBAAoB,EAK1B,MAAM,OAAO,CAAA;AASd,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAsB1C,eAAO,MAAM,oBAAoB;;CAA2B,CAAA;AAmB5D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,EAAE,IAAI,CAAA;IACX,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAOD,wBAAgB,mBAAmB,IAAI,aAAa,CAMnD;AAkND,eAAO,MAAM,aAAa,EAAE,oBAAoB,CAAC,kBAAkB,CAA2B,CAAA"}
@@ -1,5 +1,6 @@
1
- import { ComponentType } from 'react';
1
+ import { ComponentType, ReactNode } from 'react';
2
2
  import { UseModulesPageDataResult } from '../hooks';
3
+ import { ModuleOrganizationActions } from '../organize/types';
3
4
  export interface ModulesRequestCounts {
4
5
  listModules: number;
5
6
  listModuleItems: number;
@@ -13,6 +14,11 @@ export interface ModulesListProps {
13
14
  showDiagnostics?: boolean;
14
15
  as?: 'div' | 'main' | 'section';
15
16
  headingLevel?: 'h1' | 'h2' | 'h3';
17
+ /** Supplying these is the whole enablement switch for the AI organizer. */
18
+ organizationActions?: ModuleOrganizationActions;
19
+ onOrganizationApplied?: () => void;
20
+ /** The host's AI disclosure, drawn in the organizer's header. Ignored without actions. */
21
+ organizationAiDisclosure?: ReactNode;
16
22
  }
17
23
  export declare const ModulesList: ComponentType<ModulesListProps>;
18
24
  //# sourceMappingURL=ModulesList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModulesList.d.ts","sourceRoot":"","sources":["../../src/components/ModulesList.tsx"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,aAAa,EAQnB,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAoB,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAO1E,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,wBAAwB,CAAA;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,IAAI,CAAA;IACZ,aAAa,CAAC,EAAE,oBAAoB,CAAA;IACpC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;IAC/B,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;CAClC;AAucD,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAET,CAAA"}
1
+ {"version":3,"file":"ModulesList.d.ts","sourceRoot":"","sources":["../../src/components/ModulesList.tsx"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,SAAS,EAOf,MAAM,OAAO,CAAA;AAGd,OAAO,KAAK,EAAoB,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAE1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAOlE,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,wBAAwB,CAAA;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,IAAI,CAAA;IACZ,aAAa,CAAC,EAAE,oBAAoB,CAAA;IACpC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;IAC/B,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACjC,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,yBAAyB,CAAA;IAC/C,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAA;IAClC,0FAA0F;IAC1F,wBAAwB,CAAC,EAAE,SAAS,CAAA;CACrC;AAwdD,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAET,CAAA"}
@@ -5,6 +5,7 @@ export { hideUnservableFilters, unservableFilters } from './capabilities';
5
5
  export { TYPE_FIELD } from './itemMeta';
6
6
  export { ModulesConfigProvider, type ModulesConfigProviderProps, useFieldVisible, useModulesConfig, } from './context';
7
7
  export { defaultFormatters, type FormatterContext, type ModulesFormatters, } from './formatters';
8
+ export { NEW_PLACEMENT_FIELD, organizePreviewConfig } from './organizePreview';
8
9
  export { partialModulesConfig } from './partialModulesConfig';
9
10
  export { mergeRegistry, visibleEntries, visibleEntry, type Registry, type RegistryOverride, type VisibleEntry, } from './registry';
10
11
  export { resolveModulesConfig } from './resolve';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,cAAc,GACf,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EACL,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,iBAAiB,GAClB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EACL,qBAAqB,EACrB,KAAK,0BAA0B,EAC/B,eAAe,EACf,gBAAgB,GACjB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EACL,aAAa,EACb,cAAc,EACd,YAAY,EACZ,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,KAAK,aAAa,GACnB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,KAAK,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC9E,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AACtF,OAAO,EAAE,KAAK,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,cAAc,GACf,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EACL,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,iBAAiB,GAClB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EACL,qBAAqB,EACrB,KAAK,0BAA0B,EAC/B,eAAe,EACf,gBAAgB,GACjB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EACL,aAAa,EACb,cAAc,EACd,YAAY,EACZ,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,KAAK,aAAa,GACnB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,KAAK,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC9E,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AACtF,OAAO,EAAE,KAAK,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { ModulesConfig } from './types';
2
+ export declare const NEW_PLACEMENT_FIELD = "organizeNewPlacement";
3
+ /**
4
+ * A proposal carries no progressions, so every filter would sit inert over it, and a module
5
+ * number tells the teacher nothing they cannot count — what they need is what changed.
6
+ */
7
+ export declare const organizePreviewConfig: (base: ModulesConfig) => ModulesConfig;
8
+ //# sourceMappingURL=organizePreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organizePreview.d.ts","sourceRoot":"","sources":["../../src/config/organizePreview.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,eAAO,MAAM,mBAAmB,yBAAyB,CAAA;AAazD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,aAAa,KAAG,aAWxD,CAAA"}
package/dist/i18n.d.ts CHANGED
@@ -12,6 +12,8 @@ export interface ModulesI18n {
12
12
  t: TranslateFunction;
13
13
  locale: string;
14
14
  timezone?: string;
15
+ /** The catalog behind `t`, so a nested provider can add to it instead of replacing it. */
16
+ translations?: Partial<ModulesTranslations>;
15
17
  }
16
18
  export interface ModulesI18nProviderProps {
17
19
  translations?: Partial<ModulesTranslations>;
@@ -20,6 +22,10 @@ export interface ModulesI18nProviderProps {
20
22
  warnOnMissingKey?: boolean;
21
23
  children: ReactNode;
22
24
  }
25
+ /**
26
+ * Nesting composes rather than shadows: an inner provider that states three keys must not throw
27
+ * away a host's rebranding of the rest, or its locale.
28
+ */
23
29
  export declare function ModulesI18nProvider({ translations, locale, timezone, warnOnMissingKey, children, }: ModulesI18nProviderProps): ReactNode;
24
30
  export declare function useModulesI18n(): ModulesI18n;
25
31
  //# sourceMappingURL=i18n.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAA;AAC1E,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAEnC,MAAM,MAAM,qBAAqB,GAAG,MAAM,OAAO,EAAE,CAAA;AAEnD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,EAAE,CAAA;AAE5C,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAA;AAEtE,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC,qBAAqB,GAAG,kBAAkB,EAC1C,WAAW,GAAG,MAAM,CACrB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,GAAG,EAAE,qBAAqB,GAAG,kBAAkB,EAC/C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,MAAM,CAAA;AAMX,eAAO,MAAM,cAAc,UAAU,CAAA;AA4ErC,wBAAgB,eAAe,CAC7B,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,EAC3C,MAAM,GAAE,MAAuB,EAC/B,gBAAgB,UAAQ,GACvB,iBAAiB,CAGnB;AAED,eAAO,MAAM,gBAAgB,EAAE,iBAAqC,CAAA;AAEpE,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,iBAAiB,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAMD,MAAM,WAAW,wBAAwB;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,QAAQ,GACT,EAAE,wBAAwB,GAAG,SAAS,CAUtC;AAED,wBAAgB,cAAc,IAAI,WAAW,CAE5C"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAA;AAC1E,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAEnC,MAAM,MAAM,qBAAqB,GAAG,MAAM,OAAO,EAAE,CAAA;AAEnD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,EAAE,CAAA;AAE5C,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAA;AAEtE,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC,qBAAqB,GAAG,kBAAkB,EAC1C,WAAW,GAAG,MAAM,CACrB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,GAAG,EAAE,qBAAqB,GAAG,kBAAkB,EAC/C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,MAAM,CAAA;AAMX,eAAO,MAAM,cAAc,UAAU,CAAA;AA4ErC,wBAAgB,eAAe,CAC7B,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,EAC3C,MAAM,GAAE,MAAuB,EAC/B,gBAAgB,UAAQ,GACvB,iBAAiB,CAGnB;AAED,eAAO,MAAM,gBAAgB,EAAE,iBAAqC,CAAA;AAEpE,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,iBAAiB,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0FAA0F;IAC1F,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;CAC5C;AAMD,MAAM,WAAW,wBAAwB;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,QAAQ,GACT,EAAE,wBAAwB,GAAG,SAAS,CAgBtC;AAED,wBAAgB,cAAc,IAAI,WAAW,CAE5C"}
package/dist/index.d.ts CHANGED
@@ -1,13 +1,15 @@
1
1
  export type { CompletionRequirement, CompletionRequirementType, FilterCapabilities, FilterClause, FilterTarget, TargetCapabilities, Module, ModuleItem, ModuleItemsPage, ModuleItemStatus, ModuleItemType, ModuleProgress, ModulesPage, ModuleStatus, PageInfo, PrerequisiteModule, } from './types';
2
2
  export { CompletionRequirementSchema, CompletionRequirementTypeSchema, FilterClauseSchema, servesClause, ModuleItemSchema, ModuleItemsPageSchema, ModuleItemStatusSchema, ModuleItemTypeSchema, ModuleProgressSchema, ModuleSchema, ModulesPageSchema, ModuleStatusSchema, PageInfoSchema, PrerequisiteModuleSchema, } from './types';
3
- export { EXT_CAREER_ESTIMATED_DURATION_MINUTES, getEstimatedDurationMinutes, withEstimatedDurationMinutes, } from './types';
3
+ export { EXT_CAREER_ESTIMATED_DURATION_MINUTES, EXT_ORGANIZE_ADDED_ITEM_COUNT, EXT_ORGANIZE_NEW_MODULE, EXT_ORGANIZE_NEW_PLACEMENT, getAddedItemCount, getEstimatedDurationMinutes, isNewPlacement, isProposedNewModule, withEstimatedDurationMinutes, } from './types';
4
+ export { ModulesAnalyticsProvider, type ModulesAnalyticsProviderProps, type ModulesAnalyticsEvent, type ModulesAnalyticsHost, type ModulesAnalyticsPayload, type TrackModulesEvent, useModulesAnalytics, } from './analytics';
4
5
  export type { ListModuleItemsArgs, ListModulesArgs, ModulesDataAdapter } from './adapters';
5
6
  export { createInMemoryAdapter, InMemoryCourseMismatchError, INLINE_ITEM_LIMIT, type InMemoryAdapterOptions, type InMemoryFixture, type InMemoryRequest, } from './adapters';
6
7
  export { type CanvasGraphqlAdapterOptions, createCanvasGraphqlAdapter, INLINE_QUERY_NODE_BUDGET, type ExecuteQuery, GET_MODULE_ITEMS, GET_MODULES, PartialCanvasResponseError, type PartialResponseSubject, type UnsupportedModuleItem, } from './adapters/canvasGraphql';
7
- export { ACTION_ORDER_LTI_FLOOR, type ActionContext, type ActionEntry, ActionEntrySchema, ALL_FILTER, baseFilters, baseModulesConfig, type BoundFormatters, type BuildActionContext, createActionContext, type CreateActionContextOptions, defaultFormatters, DUE_THIS_WEEK_DAYS, filterClauseOf, type FilterContext, type FilterEntry, FilterEntrySchema, type FormatterContext, hideUnservableFilters, isPredicateServed, type ItemTypeContext, type ItemTypeEntry, ItemTypeEntrySchema, mergeRegistry, type MetaFieldContext, type MetaFieldEntry, MetaFieldEntrySchema, type ModulesConfig, type ModulesConfigOverride, ModulesConfigProvider, type ModulesConfigProviderProps, ModulesConfigSchema, type ModulesFormatters, type ModulesNavigation, partialModulesConfig, type Registry, type RegistryEntry, RegistryEntrySchema, type RegistryOverride, registrySchema, resolveModulesConfig, TYPE_FIELD, unservableFilters, useActionContext, useFieldVisible, useFormatters, useModulesConfig, visibleActions, visibleEntries, type VisibleEntry, visibleEntry, } from './config';
8
+ export { ACTION_ORDER_LTI_FLOOR, type ActionContext, type ActionEntry, ActionEntrySchema, ALL_FILTER, baseFilters, baseModulesConfig, type BoundFormatters, type BuildActionContext, createActionContext, type CreateActionContextOptions, defaultFormatters, DUE_THIS_WEEK_DAYS, filterClauseOf, type FilterContext, type FilterEntry, FilterEntrySchema, type FormatterContext, hideUnservableFilters, isPredicateServed, type ItemTypeContext, type ItemTypeEntry, ItemTypeEntrySchema, mergeRegistry, type MetaFieldContext, type MetaFieldEntry, MetaFieldEntrySchema, type ModulesConfig, type ModulesConfigOverride, ModulesConfigProvider, type ModulesConfigProviderProps, ModulesConfigSchema, type ModulesFormatters, type ModulesNavigation, NEW_PLACEMENT_FIELD, organizePreviewConfig, partialModulesConfig, type Registry, type RegistryEntry, RegistryEntrySchema, type RegistryOverride, registrySchema, resolveModulesConfig, TYPE_FIELD, unservableFilters, useActionContext, useFieldVisible, useFormatters, useModulesConfig, visibleActions, visibleEntries, type VisibleEntry, visibleEntry, } from './config';
8
9
  export { DEFAULT_INLINE_THRESHOLD, DEFAULT_ITEM_CONCURRENCY, DEFAULT_ITEM_PAGE_SIZE, DEFAULT_PAGE_SIZE, DEFAULT_RETAIN_COLLAPSED_LIMIT, DEFAULT_STALE_TIME_MS, type InlineQueryShape, type ItemsMode, type ModuleItemsSource, type ModuleItemsState, type ResolvedItemsMode, useModuleItems, type UseModuleItemsOptions, type UseModuleItemsResult, useModules, type UseModulesOptions, useModulesPageData, type UseModulesPageDataOptions, type UseModulesPageDataResult, type UseModulesResult, } from './hooks';
9
10
  export { invalidateCourse, invalidateModuleItems, invalidateModuleList, moduleItemsPrefix, type ModuleItemsKeyOptions, modulesKeys, modulesListPrefix, type ModulesListKeyOptions, type ModulesView, } from './cache';
10
11
  export { FilterChips, type FilterChipsProps, ItemDueSoonPill, ModuleCard, type ModuleCardProps, ModuleDueSoonPill, ModuleItemRow, type ModuleItemRowProps, moduleItemStatusLabel, ModuleItemStatusPill, type ModuleItemStatusPillProps, ModulesList, type ModulesListProps, ModulesProgressBar, type ModulesProgressBarProps, type ModulesRequestCounts, moduleStatusLabel, ModuleStatusPill, type ModuleStatusPillProps, } from './components';
11
12
  export { createTranslate, DEFAULT_LOCALE, defaultTranslate, type ModulesI18n, ModulesI18nProvider, type ModulesI18nProviderProps, type ModulesTranslationKey, type ModulesTranslations, type PluralForms, type TranslateFunction, useModulesI18n, } from './i18n';
12
13
  export { buildFixture, type BuildFixtureOptions, courseEmpty, courseFatModule, courseItemLinks, courseItemRowVariants, courseLarge, courseLockReasons, courseSmall, FIXTURE_COURSE_ID, type FixtureView, } from './fixtures';
14
+ export { defaultOrganizeInput, hasOrganizeInputErrors, MAX_DIRECTION_CHARS, type ModuleOrganizationActions, ORGANIZE_CONTENT_TYPES, ORGANIZE_MODES, ORGANIZE_SLOW_AFTER_MS, type OrganizeContentType, OrganizeForm, type OrganizeFormProps, type OrganizeInput, type OrganizeInputErrors, type OrganizeMode, OrganizeModulesButton, type OrganizeModulesButtonProps, OrganizeModulesModal, type OrganizeModulesModalProps, type OrganizeProposal, type OrganizeStatus, PROPOSAL_PREVIEW_COURSE_ID, ProposalPreview, type ProposalPreviewProps, proposalToFixture, type ProposedCompletionRequirement, type ProposedItem, type ProposedModule, type UnplacedItem, useOrganizeModules, type UseOrganizeModulesOptions, type UseOrganizeModulesResult, validateOrganizeInput, } from './organize';
13
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}