@instructure/platform-modules 1.6.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.
- package/README.md +72 -0
- package/dist/components/FilterChips.d.ts +1 -1
- package/dist/components/FilterChips.d.ts.map +1 -1
- package/dist/components/ModulesList.d.ts +7 -1
- package/dist/components/ModulesList.d.ts.map +1 -1
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/organizePreview.d.ts +8 -0
- package/dist/config/organizePreview.d.ts.map +1 -0
- package/dist/i18n.d.ts +6 -0
- package/dist/i18n.d.ts.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2157 -1612
- package/dist/organize/Organize.stories.d.ts +33 -0
- package/dist/organize/Organize.stories.d.ts.map +1 -0
- package/dist/organize/OrganizeForm.d.ts +11 -0
- package/dist/organize/OrganizeForm.d.ts.map +1 -0
- package/dist/organize/OrganizeModulesButton.d.ts +10 -0
- package/dist/organize/OrganizeModulesButton.d.ts.map +1 -0
- package/dist/organize/OrganizeModulesModal.d.ts +12 -0
- package/dist/organize/OrganizeModulesModal.d.ts.map +1 -0
- package/dist/organize/ProposalPreview.d.ts +7 -0
- package/dist/organize/ProposalPreview.d.ts.map +1 -0
- package/dist/organize/fixture.d.ts +5 -0
- package/dist/organize/fixture.d.ts.map +1 -0
- package/dist/organize/index.d.ts +9 -0
- package/dist/organize/index.d.ts.map +1 -0
- package/dist/organize/types.d.ts +64 -0
- package/dist/organize/types.d.ts.map +1 -0
- package/dist/organize/useOrganizeModules.d.ts +30 -0
- package/dist/organize/useOrganizeModules.d.ts.map +1 -0
- package/dist/organize/validation.d.ts +8 -0
- package/dist/organize/validation.d.ts.map +1 -0
- package/dist/types/extensions.d.ts +7 -1
- package/dist/types/extensions.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/locales/en.json +48 -3
- 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
|
|
@@ -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,
|
|
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,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,
|
|
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"}
|
package/dist/config/index.d.ts
CHANGED
|
@@ -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
|
package/dist/i18n.d.ts.map
CHANGED
|
@@ -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;
|
|
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,14 +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
4
|
export { ModulesAnalyticsProvider, type ModulesAnalyticsProviderProps, type ModulesAnalyticsEvent, type ModulesAnalyticsHost, type ModulesAnalyticsPayload, type TrackModulesEvent, useModulesAnalytics, } from './analytics';
|
|
5
5
|
export type { ListModuleItemsArgs, ListModulesArgs, ModulesDataAdapter } from './adapters';
|
|
6
6
|
export { createInMemoryAdapter, InMemoryCourseMismatchError, INLINE_ITEM_LIMIT, type InMemoryAdapterOptions, type InMemoryFixture, type InMemoryRequest, } from './adapters';
|
|
7
7
|
export { type CanvasGraphqlAdapterOptions, createCanvasGraphqlAdapter, INLINE_QUERY_NODE_BUDGET, type ExecuteQuery, GET_MODULE_ITEMS, GET_MODULES, PartialCanvasResponseError, type PartialResponseSubject, type UnsupportedModuleItem, } from './adapters/canvasGraphql';
|
|
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, 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';
|
|
9
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';
|
|
10
10
|
export { invalidateCourse, invalidateModuleItems, invalidateModuleList, moduleItemsPrefix, type ModuleItemsKeyOptions, modulesKeys, modulesListPrefix, type ModulesListKeyOptions, type ModulesView, } from './cache';
|
|
11
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';
|
|
12
12
|
export { createTranslate, DEFAULT_LOCALE, defaultTranslate, type ModulesI18n, ModulesI18nProvider, type ModulesI18nProviderProps, type ModulesTranslationKey, type ModulesTranslations, type PluralForms, type TranslateFunction, useModulesI18n, } from './i18n';
|
|
13
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';
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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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"}
|