@instructure/platform-modules 1.11.0 → 1.13.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 -23
- package/dist/adapters/canvasGraphql/index.d.ts.map +1 -1
- package/dist/adapters/canvasGraphql/normalize.d.ts +2 -1
- package/dist/adapters/canvasGraphql/normalize.d.ts.map +1 -1
- package/dist/adapters/canvasGraphql/queries.d.ts +9 -2
- package/dist/adapters/canvasGraphql/queries.d.ts.map +1 -1
- package/dist/adapters/inMemory.d.ts +2 -0
- package/dist/adapters/inMemory.d.ts.map +1 -1
- package/dist/adapters/types.d.ts +6 -1
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/analytics/types.d.ts +1 -1
- package/dist/analytics/types.d.ts.map +1 -1
- package/dist/cache/keys.d.ts +1 -0
- package/dist/cache/keys.d.ts.map +1 -1
- package/dist/chunks/useModulesPageData-BFCZuChP.js +1639 -0
- package/dist/components/FilterSelect.d.ts +1 -2
- package/dist/components/FilterSelect.d.ts.map +1 -1
- package/dist/components/ModuleCard.d.ts.map +1 -1
- package/dist/components/ModuleCard.stories.d.ts +1 -0
- package/dist/components/ModuleCard.stories.d.ts.map +1 -1
- package/dist/components/ModuleItemRow.d.ts +8 -5
- package/dist/components/ModuleItemRow.d.ts.map +1 -1
- package/dist/components/ModulesList.d.ts +0 -1
- package/dist/components/ModulesList.d.ts.map +1 -1
- package/dist/components/ModulesList.stories.d.ts +3 -2
- package/dist/components/ModulesList.stories.d.ts.map +1 -1
- package/dist/components/ModulesProgressBar.d.ts +20 -1
- package/dist/components/ModulesProgressBar.d.ts.map +1 -1
- package/dist/components/ModulesProgressBar.stories.d.ts +1 -0
- package/dist/components/ModulesProgressBar.stories.d.ts.map +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/labels.d.ts +9 -0
- package/dist/components/labels.d.ts.map +1 -1
- package/dist/config/base.d.ts.map +1 -1
- package/dist/config/capabilities.d.ts.map +1 -1
- package/dist/config/filters.d.ts +2 -1
- package/dist/config/filters.d.ts.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/itemMeta.d.ts.map +1 -1
- package/dist/config/itemTypes.d.ts +1 -1
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/schemas.d.ts +2 -2
- package/dist/config/schemas.d.ts.map +1 -1
- package/dist/config/types.d.ts +22 -2
- package/dist/config/types.d.ts.map +1 -1
- package/dist/edit/adapter/inMemoryEdit.d.ts +5 -0
- package/dist/edit/adapter/inMemoryEdit.d.ts.map +1 -0
- package/dist/edit/adapter/types.d.ts +90 -0
- package/dist/edit/adapter/types.d.ts.map +1 -0
- package/dist/edit/hooks/useModulesEditData.d.ts +28 -0
- package/dist/edit/hooks/useModulesEditData.d.ts.map +1 -0
- package/dist/edit/index.d.ts +5 -0
- package/dist/edit/index.d.ts.map +1 -0
- package/dist/edit.js +189 -0
- package/dist/hooks/constants.d.ts +3 -3
- package/dist/hooks/constants.d.ts.map +1 -1
- package/dist/hooks/index.d.ts +2 -3
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/pageSteps.d.ts +12 -0
- package/dist/hooks/pageSteps.d.ts.map +1 -0
- package/dist/hooks/queryOptions.d.ts +5 -3
- package/dist/hooks/queryOptions.d.ts.map +1 -1
- package/dist/hooks/useIsMobileViewport.d.ts +3 -0
- package/dist/hooks/useIsMobileViewport.d.ts.map +1 -0
- package/dist/hooks/useItemsMode.d.ts +2 -0
- package/dist/hooks/useItemsMode.d.ts.map +1 -1
- package/dist/hooks/useModuleItemQueries.d.ts +19 -8
- package/dist/hooks/useModuleItemQueries.d.ts.map +1 -1
- package/dist/hooks/useModules.d.ts +2 -0
- package/dist/hooks/useModules.d.ts.map +1 -1
- package/dist/hooks/useModulesPageData.d.ts +16 -7
- package/dist/hooks/useModulesPageData.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1663 -2867
- package/dist/organize/Organize.stories.d.ts +2 -1
- package/dist/organize/Organize.stories.d.ts.map +1 -1
- package/dist/organize/OrganizeModulesModal.d.ts.map +1 -1
- package/dist/organize/ProposalPreview.d.ts.map +1 -1
- package/dist/types/domain.d.ts +3 -1
- package/dist/types/domain.d.ts.map +1 -1
- package/dist/types/filterClause.d.ts +2 -2
- package/dist/types/filterClause.d.ts.map +1 -1
- package/dist/types/schemas.d.ts.map +1 -1
- package/locales/en.json +6 -9
- package/package.json +8 -1
- package/dist/hooks/useModuleItems.d.ts +0 -25
- package/dist/hooks/useModuleItems.d.ts.map +0 -1
|
@@ -2,8 +2,7 @@ import { ReactElement } from 'react';
|
|
|
2
2
|
export interface FilterSelectProps {
|
|
3
3
|
value: string;
|
|
4
4
|
onChange: (filter: string) => void;
|
|
5
|
-
describedBy?: string;
|
|
6
5
|
interaction?: 'enabled' | 'disabled';
|
|
7
6
|
}
|
|
8
|
-
export declare function FilterSelect({ value, onChange,
|
|
7
|
+
export declare function FilterSelect({ value, onChange, interaction, }: FilterSelectProps): ReactElement | null;
|
|
9
8
|
//# sourceMappingURL=FilterSelect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterSelect.d.ts","sourceRoot":"","sources":["../../src/components/FilterSelect.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"FilterSelect.d.ts","sourceRoot":"","sources":["../../src/components/FilterSelect.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAA;AAMzD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,WAAW,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;CACrC;AAkBD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,WAAuB,GACxB,EAAE,iBAAiB,GAAG,YAAY,GAAG,IAAI,CAyCzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleCard.d.ts","sourceRoot":"","sources":["../../src/components/ModuleCard.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ModuleCard.d.ts","sourceRoot":"","sources":["../../src/components/ModuleCard.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AAczE,OAAO,EAIL,KAAK,oBAAoB,EAI1B,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,UAAU,CAAA;AAoBlD,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;IACzB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAA;CAC1E;AA2gBD,eAAO,MAAM,UAAU,EAAE,oBAAoB,CAAC,eAAe,CAAwB,CAAA"}
|
|
@@ -17,6 +17,7 @@ export declare const NoLabel: Story;
|
|
|
17
17
|
export declare const ExpandedWithStatusPills: Story;
|
|
18
18
|
export declare const ExpandedNonGradableItems: Story;
|
|
19
19
|
export declare const ExpandedLockedModule: Story;
|
|
20
|
+
export declare const PaginatedItems: Story;
|
|
20
21
|
export declare const ExpandedUntouchedModule: Story;
|
|
21
22
|
export declare const ProgressNotStarted: Story;
|
|
22
23
|
export declare const ProgressPartial: Story;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleCard.stories.d.ts","sourceRoot":"","sources":["../../src/components/ModuleCard.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"ModuleCard.stories.d.ts","sourceRoot":"","sources":["../../src/components/ModuleCard.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,KAAK,cAAc,EAA+B,MAAM,OAAO,CAAA;AAOxE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAe,KAAK,SAAS,EAAoB,MAAM,eAAe,CAAA;AAE7E,KAAK,mBAAmB,GAAG,cAAc,CAAC,OAAO,UAAU,CAAC,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAA;AAgCnF,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAgBnC,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAA;AAEhC,eAAO,MAAM,MAAM,EAAE,KAIpB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAE9B,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAEpB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAEvB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAErB,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,KAErC,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,KAWtC,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAElC,CAAA;AAyBD,eAAO,MAAM,cAAc,EAAE,KAG5B,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,KAErC,CAAA;AAmBD,eAAO,MAAM,kBAAkB,EAAE,KAEhC,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAE7B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAE9B,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,KAEpC,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAE5B,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,KAEtC,CAAA;AAaD,eAAO,MAAM,uBAAuB,EAAE,KAOrC,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,KAUvC,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAE5B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAgB/B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAE9B,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAiBzB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAE/B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAc9B,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAgB7B,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAO5B,CAAA;AAQD,eAAO,MAAM,iBAAiB,EAAE,KAU/B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAM3B,CAAA"}
|
|
@@ -3,14 +3,17 @@ import { ModuleItem } from '../types';
|
|
|
3
3
|
export declare const META_DIVIDED_FACT: CSSProperties;
|
|
4
4
|
export declare const META_DIVIDED_FACT_FORCED_COLORS: CSSProperties;
|
|
5
5
|
export declare function useDividedFactStyle(): CSSProperties;
|
|
6
|
-
/**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
/**
|
|
7
|
+
* `break-word` does not shrink min-content, which sizes these boxes. `anywhere` does.
|
|
8
|
+
* With `lineHeight: 0`, each Text inside must set its own line height.
|
|
9
|
+
*/
|
|
10
|
+
export declare const META_BOX: CSSProperties;
|
|
11
11
|
export declare const META_FACT_WORD_BREAK: CSSProperties;
|
|
12
12
|
/** Use a margin, not a space: a space lets the icon wrap away from its fact. */
|
|
13
13
|
export declare const META_ICON: CSSProperties;
|
|
14
|
+
export declare const WEIGHT_700: {
|
|
15
|
+
fontWeightBold: number;
|
|
16
|
+
};
|
|
14
17
|
export interface ModuleItemRowProps {
|
|
15
18
|
item: ModuleItem;
|
|
16
19
|
today: Date;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleItemRow.d.ts","sourceRoot":"","sources":["../../src/components/ModuleItemRow.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"ModuleItemRow.d.ts","sourceRoot":"","sources":["../../src/components/ModuleItemRow.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,aAAa,EAMlB,KAAK,oBAAoB,EAO1B,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAkB1C,eAAO,MAAM,iBAAiB,EAAE,aAQ/B,CAAA;AAED,eAAO,MAAM,+BAA+B,EAAE,aAM7C,CAAA;AAOD,wBAAgB,mBAAmB,IAAI,aAAa,CAanD;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,aAItB,CAAA;AAwBD,eAAO,MAAM,oBAAoB,EAAE,aAElC,CAAA;AAED,gFAAgF;AAChF,eAAO,MAAM,SAAS,EAAE,aAMvB,CAAA;AAqCD,eAAO,MAAM,UAAU;;CAA0B,CAAA;AAEjD,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;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AA0SD,eAAO,MAAM,aAAa,EAAE,oBAAoB,CAAC,kBAAkB,CAA2B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModulesList.d.ts","sourceRoot":"","sources":["../../src/components/ModulesList.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ModulesList.d.ts","sourceRoot":"","sources":["../../src/components/ModulesList.tsx"],"names":[],"mappings":"AAUA,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,SAAS,EAMf,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,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;AAofD,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAET,CAAA"}
|
|
@@ -15,8 +15,7 @@ interface ModulesListStoryProps {
|
|
|
15
15
|
initialExpandedModuleIds: string[];
|
|
16
16
|
i18n: 'none' | 'pseudo' | 'rebranded' | 'partial';
|
|
17
17
|
timezone: 'none' | 'America/Denver' | 'America/Los_Angeles' | 'Australia/Sydney';
|
|
18
|
-
|
|
19
|
-
navigation: 'none' | 'rewritten' | 'intercepted' | 'moduleLinks' | 'breadcrumb';
|
|
18
|
+
navigation: 'none' | 'rewritten' | 'intercepted' | 'moduleLinks';
|
|
20
19
|
config: HostConfigName;
|
|
21
20
|
theme: ThemeName;
|
|
22
21
|
showDiagnostics: boolean;
|
|
@@ -33,6 +32,7 @@ export declare const SavedCollapseState: Story;
|
|
|
33
32
|
export declare const SavedCollapseStateNoneSaved: Story;
|
|
34
33
|
export declare const FatModuleInlineFallback: Story;
|
|
35
34
|
export declare const ItemTitleLinks: Story;
|
|
35
|
+
export declare const OnDemandDurationByline: Story;
|
|
36
36
|
export declare const ItemRowVariants: Story;
|
|
37
37
|
export declare const ItemTitleLinksRewritten: Story;
|
|
38
38
|
export declare const ItemTitleLinksIntercepted: Story;
|
|
@@ -40,6 +40,7 @@ export declare const LockReasons: Story;
|
|
|
40
40
|
export declare const ModuleTitleLinks: Story;
|
|
41
41
|
export declare const EmptyCourse: Story;
|
|
42
42
|
export declare const TeacherViewNoProgress: Story;
|
|
43
|
+
export declare const FilterNotStarted: Story;
|
|
43
44
|
export declare const FilterInProgress: Story;
|
|
44
45
|
export declare const FilterComplete: Story;
|
|
45
46
|
export declare const FilterDueThisWeek: Story;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModulesList.stories.d.ts","sourceRoot":"","sources":["../../src/components/ModulesList.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAItD,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,OAAO,CAAA;AAE5D,OAAO,EAaL,KAAK,eAAe,EACpB,KAAK,SAAS,EASf,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAe,KAAK,SAAS,EAAgC,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"ModulesList.stories.d.ts","sourceRoot":"","sources":["../../src/components/ModulesList.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,25 @@ import { Module } from '../types';
|
|
|
3
3
|
export interface ModulesProgressBarProps {
|
|
4
4
|
modules: Module[];
|
|
5
5
|
onModuleClick?: (moduleId: string) => void;
|
|
6
|
+
/** Hides the percent and summary. Set it when `modules` is only the start of the course. */
|
|
7
|
+
hasMoreModules?: boolean;
|
|
8
|
+
/** Gives the first segment the smaller corner radius because earlier pages hold more modules. */
|
|
9
|
+
continuesBefore?: boolean;
|
|
10
|
+
/** Gives the last segment the smaller corner radius because later pages hold more modules. */
|
|
11
|
+
continuesAfter?: boolean;
|
|
12
|
+
/** Renders previous/next controls under the segments. Omit it when every module fits on one page. */
|
|
13
|
+
pagination?: ModulesProgressBarPagination;
|
|
6
14
|
}
|
|
7
|
-
export
|
|
15
|
+
export interface ModulesProgressBarPagination {
|
|
16
|
+
/** 1-indexed position of `modules[0]` in the course. */
|
|
17
|
+
rangeStart: number;
|
|
18
|
+
totalCount: number | null;
|
|
19
|
+
hasPreviousPage: boolean;
|
|
20
|
+
hasNextPage: boolean;
|
|
21
|
+
onPreviousPage: () => void;
|
|
22
|
+
onNextPage: () => void;
|
|
23
|
+
/** Ignores presses while a page loads; the buttons stay focusable. */
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export declare function ModulesProgressBar({ modules, onModuleClick, hasMoreModules, continuesBefore, continuesAfter, pagination, }: ModulesProgressBarProps): ReactElement | null;
|
|
8
27
|
//# sourceMappingURL=ModulesProgressBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModulesProgressBar.d.ts","sourceRoot":"","sources":["../../src/components/ModulesProgressBar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ModulesProgressBar.d.ts","sourceRoot":"","sources":["../../src/components/ModulesProgressBar.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,OAAO,CAAA;AAGzD,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,UAAU,CAAA;AAIpD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,4FAA4F;IAC5F,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,iGAAiG;IACjG,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,8FAA8F;IAC9F,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,qGAAqG;IACrG,UAAU,CAAC,EAAE,4BAA4B,CAAA;CAC1C;AAED,MAAM,WAAW,4BAA4B;IAC3C,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,eAAe,EAAE,OAAO,CAAA;IACxB,WAAW,EAAE,OAAO,CAAA;IACpB,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AA2LD,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,aAAa,EACb,cAAsB,EACtB,eAAuB,EACvB,cAAsB,EACtB,UAAU,GACX,EAAE,uBAAuB,GAAG,YAAY,GAAG,IAAI,CAkE/C"}
|
|
@@ -9,6 +9,7 @@ declare const meta: Meta<ModulesProgressBarStoryArgs>;
|
|
|
9
9
|
export default meta;
|
|
10
10
|
type Story = StoryObj<typeof meta>;
|
|
11
11
|
export declare const Default: Story;
|
|
12
|
+
export declare const EveryState: Story;
|
|
12
13
|
export declare const LargeCourse: Story;
|
|
13
14
|
export declare const AllComplete: Story;
|
|
14
15
|
export declare const AllNotStarted: Story;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModulesProgressBar.stories.d.ts","sourceRoot":"","sources":["../../src/components/ModulesProgressBar.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"ModulesProgressBar.stories.d.ts","sourceRoot":"","sources":["../../src/components/ModulesProgressBar.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,OAAO,CAAA;AAIzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAe,KAAK,SAAS,EAAgC,MAAM,eAAe,CAAA;AAEzF,KAAK,2BAA2B,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,GAAG;IAC7E,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AAgBD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,2BAA2B,CAa3C,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAA;AAehC,eAAO,MAAM,UAAU,EAAE,KAIxB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAazB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAEzB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAE3B,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAEvB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAE1B,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAGlC,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { FilterSelect, type FilterSelectProps } from './FilterSelect';
|
|
2
|
-
export { calendarDayDiff, type DateFormatOptions, DUE_SOON_WINDOW_DAYS, formatDateTime, formatModuleNumber, formatPoints, isDueSoon, isPastDue, progressScreenReaderValue, progressSummary, requirementLabel, } from './labels';
|
|
2
|
+
export { calendarDayDiff, type DateFormatOptions, type DueRange, DUE_SOON_WINDOW_DAYS, formatDateTime, formatModuleNumber, formatPoints, isDueSoon, isPastDue, progressScreenReaderValue, progressSummary, requirementLabel, } from './labels';
|
|
3
3
|
export { ModuleCard, type ModuleCardProps } from './ModuleCard';
|
|
4
4
|
export { ModuleItemRow, type ModuleItemRowProps } from './ModuleItemRow';
|
|
5
5
|
export { ModulesList, type ModulesListProps, type ModulesRequestCounts } from './ModulesList';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,EACtB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,SAAS,EACT,yBAAyB,EACzB,eAAe,EACf,gBAAgB,GACjB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAC7F,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACvF,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,yBAAyB,EAC9B,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,MAAM,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,SAAS,EACT,yBAAyB,EACzB,eAAe,EACf,gBAAgB,GACjB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAC7F,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACvF,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,yBAAyB,EAC9B,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,MAAM,cAAc,CAAA"}
|
|
@@ -5,6 +5,15 @@ export interface DateFormatOptions {
|
|
|
5
5
|
timezone?: string;
|
|
6
6
|
}
|
|
7
7
|
export declare function calendarDayDiff(a: Date, b: Date, timezone?: string): number;
|
|
8
|
+
export interface DueRange {
|
|
9
|
+
start: string;
|
|
10
|
+
end: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The instants `isDueSoon` accepts: now through the last millisecond before the
|
|
14
|
+
* start of the day `days` later, in the viewer's zone.
|
|
15
|
+
*/
|
|
16
|
+
export declare function dueWindow(today: Date, days: number, timezone?: string): DueRange;
|
|
8
17
|
/** Due today through six days out counts as soon; the seventh day does not. */
|
|
9
18
|
export declare const DUE_SOON_WINDOW_DAYS = 7;
|
|
10
19
|
/** Callers guard on status; a module rollup passes `progress.nextDueAt`, which carries none. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../src/components/labels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAOjE,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;
|
|
1
|
+
{"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../src/components/labels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAOjE,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAuFD,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ;AAmDD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAOhF;AAED,+EAA+E;AAC/E,eAAO,MAAM,oBAAoB,IAAI,CAAA;AASrC,gGAAgG;AAChG,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,KAAK,EAAE,IAAI,EACX,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAIT;AAED,8FAA8F;AAC9F,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAGhF;AAMD,wBAAgB,cAAc,CAC5B,CAAC,EAAE,iBAAiB,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,IAAI,EACX,EAAE,MAAuB,EAAE,QAAQ,EAAE,GAAE,iBAAsB,GAC5D,MAAM,CAiBR;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAAuB,GAC9B,MAAM,GAAG,IAAI,CAGf;AAED,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACtC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,MAAM,GAAE,MAAuB,GAC9B,MAAM,GAAG,IAAI,CAIf;AAED,wBAAgB,YAAY,CAC1B,CAAC,EAAE,iBAAiB,EACpB,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACxC,MAAM,GAAG,IAAI,CAGf;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,iBAAiB,EAAE,WAAW,EAAE,qBAAqB,GAAG,MAAM,CAqBjG;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAExF;AAED,wBAAgB,yBAAyB,CACvC,CAAC,EAAE,iBAAiB,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,MAAM,CAER;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,GACvC,MAAM,GAAG,IAAI,CAOf;AAED,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,GACvC,MAAM,GAAG,IAAI,CAIf;AAgBD,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAErF;AAED,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAErF;AAED,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAQ9E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/config/base.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/config/base.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,eAAO,MAAM,iBAAiB,EAAE,aAW/B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/config/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAgB,MAAM,UAAU,CAAA;AAEhE,OAAO,EAAE,KAAK,QAAQ,EAAkB,MAAM,YAAY,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC9B,YAAY,EAAE,kBAAkB,GAAG,SAAS,GAC3C,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/config/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAgB,MAAM,UAAU,CAAA;AAEhE,OAAO,EAAE,KAAK,QAAQ,EAAkB,MAAM,YAAY,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC9B,YAAY,EAAE,kBAAkB,GAAG,SAAS,GAC3C,MAAM,EAAE,CASV;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAKvE;AAED,wFAAwF;AACxF,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC9B,YAAY,EAAE,kBAAkB,GAAG,SAAS,GAC3C,QAAQ,CAAC,WAAW,CAAC,CAWvB"}
|
package/dist/config/filters.d.ts
CHANGED
|
@@ -9,7 +9,8 @@ export declare const DUE_THIS_WEEK_DAYS: number;
|
|
|
9
9
|
* Read `module.progress` only. A collapsed module has no items in `onDemand` mode.
|
|
10
10
|
*/
|
|
11
11
|
export declare const baseFilters: Registry<FilterEntry>;
|
|
12
|
-
/** `clientOnly` is the only way to un-write an inherited clause. */
|
|
13
12
|
export declare function filterClauseOf(entry: FilterEntry | undefined): FilterClause | undefined;
|
|
13
|
+
export declare function isUnfiltered(entry: FilterEntry | undefined): boolean;
|
|
14
|
+
export declare function narrowsResults(entry: FilterEntry | undefined): boolean;
|
|
14
15
|
export declare function isPredicateServed(entry: FilterEntry | undefined): boolean;
|
|
15
16
|
//# sourceMappingURL=filters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/config/filters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,UAAU,QAAQ,CAAA;AAE/B,8BAA8B;AAC9B,eAAO,MAAM,kBAAkB,EAAE,MAA6B,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/config/filters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,UAAU,QAAQ,CAAA;AAE/B,8BAA8B;AAC9B,eAAO,MAAM,kBAAkB,EAAE,MAA6B,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,WAAW,CAgD4B,CAAA;AAE1E,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAEvF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAEpE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAEtE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAEzE"}
|
package/dist/config/index.d.ts
CHANGED
|
@@ -11,6 +11,6 @@ export { mergeRegistry, visibleEntries, visibleEntry, type Registry, type Regist
|
|
|
11
11
|
export { resolveModulesConfig } from './resolve';
|
|
12
12
|
export { type ActionContext, type ActionEntry, ActionEntrySchema, type FilterContext, type FilterEntry, FilterEntrySchema, type ItemTypeContext, type ItemTypeEntry, ItemTypeEntrySchema, type MetaFieldContext, type MetaFieldEntry, MetaFieldEntrySchema, ModulesConfigSchema, registrySchema, RegistryEntrySchema, type RegistryEntry, } from './schemas';
|
|
13
13
|
export { type BuildActionContext, useActionContext } from './useActionContext';
|
|
14
|
-
export type { ModulesConfig, ModulesConfigOverride, ModulesNavigation } from './types';
|
|
14
|
+
export type { ModulesConfig, ModulesConfigOverride, ModulesNavigation, ModulesNotice, ModulesNotify, ModulesPermissions, } from './types';
|
|
15
15
|
export { type BoundFormatters, useFormatters } from './useFormatters';
|
|
16
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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,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,
|
|
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,EACV,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,KAAK,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"itemMeta.d.ts","sourceRoot":"","sources":["../../src/config/itemMeta.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,YAAY,CAAA;AACxD,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,WAAW,CAAA;AAEjE,eAAO,MAAM,UAAU,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"itemMeta.d.ts","sourceRoot":"","sources":["../../src/config/itemMeta.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,YAAY,CAAA;AACxD,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,WAAW,CAAA;AAEjE,eAAO,MAAM,UAAU,SAAS,CAAA;AAUhC,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,cAAc,CAiE2B,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ModuleItemType } from '../types';
|
|
2
2
|
import { ItemTypeEntry } from './schemas';
|
|
3
3
|
export declare const ITEM_ICON_PROPS: {
|
|
4
|
-
readonly size: "
|
|
4
|
+
readonly size: "xs";
|
|
5
5
|
readonly color: "mutedColor";
|
|
6
6
|
};
|
|
7
7
|
export declare const baseItemTypes: Record<ModuleItemType, ItemTypeEntry>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAEnE,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,aAAa,EACnB,QAAQ,GAAE,qBAA0B,GACnC,aAAa,
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAEnE,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,aAAa,EACnB,QAAQ,GAAE,qBAA0B,GACnC,aAAa,CAyBf"}
|
package/dist/config/schemas.d.ts
CHANGED
|
@@ -58,8 +58,8 @@ export interface FilterEntry extends RegistryEntry {
|
|
|
58
58
|
/** Runs over loaded pages only. */
|
|
59
59
|
predicate: (module: Module, context: FilterContext) => boolean;
|
|
60
60
|
query?: FilterClause;
|
|
61
|
-
/**
|
|
62
|
-
|
|
61
|
+
/** Asks for no filter at all, so it needs no `query`. */
|
|
62
|
+
unfiltered?: boolean;
|
|
63
63
|
}
|
|
64
64
|
export declare const FilterEntrySchema: z.ZodType<FilterEntry>;
|
|
65
65
|
export declare const ModulesConfigSchema: z.ZodType<ModulesConfig>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/config/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,KAAK,YAAY,EAAsB,KAAK,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AAE9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/config/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/config/types.d.ts
CHANGED
|
@@ -4,12 +4,28 @@ import { ModulesFormatters } from './formatters';
|
|
|
4
4
|
import { Registry, RegistryOverride } from './registry';
|
|
5
5
|
import { ActionEntry, FilterEntry, ItemTypeEntry, MetaFieldEntry } from './schemas';
|
|
6
6
|
export interface ModulesNavigation {
|
|
7
|
-
getCoursesHref?: () => string | null | undefined;
|
|
8
|
-
getCourseHref?: () => string | null | undefined;
|
|
9
7
|
getItemHref?: (item: ModuleItem) => string | null | undefined;
|
|
8
|
+
getItemEditHref?: (item: ModuleItem) => string | null | undefined;
|
|
10
9
|
getModuleHref?: (module: Module) => string | null | undefined;
|
|
11
10
|
onItemClick?: (item: ModuleItem, event: MouseEvent<HTMLAnchorElement>) => void;
|
|
12
11
|
}
|
|
12
|
+
/** Omitted means allowed, so by default the adapter alone decides what a teacher can change. */
|
|
13
|
+
export interface ModulesPermissions {
|
|
14
|
+
createModule?: boolean;
|
|
15
|
+
updateModule?: boolean;
|
|
16
|
+
deleteModule?: boolean;
|
|
17
|
+
reorderModules?: boolean;
|
|
18
|
+
setModulesPublished?: boolean;
|
|
19
|
+
createModuleItem?: boolean;
|
|
20
|
+
updateModuleItem?: boolean;
|
|
21
|
+
deleteModuleItem?: boolean;
|
|
22
|
+
reorderModuleItems?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export interface ModulesNotice {
|
|
25
|
+
variant: 'success' | 'error';
|
|
26
|
+
message: string;
|
|
27
|
+
}
|
|
28
|
+
export type ModulesNotify = (notice: ModulesNotice) => void;
|
|
13
29
|
export interface ModulesConfig {
|
|
14
30
|
formatters: ModulesFormatters;
|
|
15
31
|
itemTypes: Registry<ItemTypeEntry>;
|
|
@@ -19,6 +35,8 @@ export interface ModulesConfig {
|
|
|
19
35
|
moduleActions: Registry<ActionEntry>;
|
|
20
36
|
itemActions: Registry<ActionEntry>;
|
|
21
37
|
navigation: ModulesNavigation;
|
|
38
|
+
permissions: ModulesPermissions;
|
|
39
|
+
notify?: ModulesNotify;
|
|
22
40
|
}
|
|
23
41
|
export interface ModulesConfigOverride {
|
|
24
42
|
formatters?: Partial<ModulesFormatters>;
|
|
@@ -29,5 +47,7 @@ export interface ModulesConfigOverride {
|
|
|
29
47
|
moduleActions?: RegistryOverride<ActionEntry>;
|
|
30
48
|
itemActions?: RegistryOverride<ActionEntry>;
|
|
31
49
|
navigation?: Partial<ModulesNavigation>;
|
|
50
|
+
permissions?: ModulesPermissions;
|
|
51
|
+
notify?: ModulesNotify;
|
|
32
52
|
}
|
|
33
53
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAExF,MAAM,WAAW,iBAAiB;IAChC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAExF,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAC7D,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAC7D,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAA;CAC/E;AAED,gGAAgG;AAChG,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,SAAS,GAAG,OAAO,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAA;AAE3D,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,iBAAiB,CAAA;IAC7B,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;IAClC,YAAY,EAAE,QAAQ,CAAA;IACtB,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAA;IAClC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IAC9B,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IACpC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IAClC,UAAU,EAAE,iBAAiB,CAAA;IAC7B,WAAW,EAAE,kBAAkB,CAAA;IAC/B,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACvC,SAAS,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;IAC3C,YAAY,CAAC,EAAE,gBAAgB,CAAA;IAC/B,QAAQ,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAA;IAC3C,OAAO,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAA;IACvC,aAAa,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAA;IAC7C,WAAW,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAA;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACvC,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { InMemoryAdapterOptions, InMemoryFixture } from '../../adapters/inMemory';
|
|
2
|
+
import { ModulesEditAdapter } from './types';
|
|
3
|
+
/** Writes land on `fixture` in place, so the reads it shares with `createInMemoryAdapter` see them. */
|
|
4
|
+
export declare function createInMemoryEditAdapter(fixture: InMemoryFixture, options?: InMemoryAdapterOptions): ModulesEditAdapter;
|
|
5
|
+
//# sourceMappingURL=inMemoryEdit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inMemoryEdit.d.ts","sourceRoot":"","sources":["../../../src/edit/adapter/inMemoryEdit.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAgBjD,uGAAuG;AACvG,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,sBAA2B,GACnC,kBAAkB,CAuIpB"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { ModulesDataAdapter } from '../../adapters/types';
|
|
2
|
+
import { ModulesPermissions } from '../../config/types';
|
|
3
|
+
import { Module, ModuleItem, ModuleItemType } from '../../types/domain';
|
|
4
|
+
export interface ModulePatch {
|
|
5
|
+
name?: string;
|
|
6
|
+
published?: boolean;
|
|
7
|
+
unlockAt?: string | null;
|
|
8
|
+
prerequisiteModuleIds?: string[];
|
|
9
|
+
requireSequentialProgress?: boolean;
|
|
10
|
+
requirementCount?: number | null;
|
|
11
|
+
/** 1-indexed, as Canvas numbers them. */
|
|
12
|
+
position?: number;
|
|
13
|
+
}
|
|
14
|
+
/** Moving an item to another module is a `moduleId` and a `position` in one patch. */
|
|
15
|
+
export interface ModuleItemPatch {
|
|
16
|
+
title?: string;
|
|
17
|
+
published?: boolean;
|
|
18
|
+
moduleId?: string;
|
|
19
|
+
/** 1-indexed within the item's module after the patch applies. */
|
|
20
|
+
position?: number;
|
|
21
|
+
indent?: number;
|
|
22
|
+
}
|
|
23
|
+
export interface CreateModuleArgs {
|
|
24
|
+
courseId: string;
|
|
25
|
+
name: string;
|
|
26
|
+
position?: number;
|
|
27
|
+
}
|
|
28
|
+
export interface UpdateModuleArgs {
|
|
29
|
+
courseId: string;
|
|
30
|
+
moduleId: string;
|
|
31
|
+
patch: ModulePatch;
|
|
32
|
+
}
|
|
33
|
+
export interface DeleteModuleArgs {
|
|
34
|
+
courseId: string;
|
|
35
|
+
moduleId: string;
|
|
36
|
+
}
|
|
37
|
+
export interface ReorderModulesArgs {
|
|
38
|
+
courseId: string;
|
|
39
|
+
moduleIds: string[];
|
|
40
|
+
}
|
|
41
|
+
export interface SetModulesPublishedArgs {
|
|
42
|
+
courseId: string;
|
|
43
|
+
moduleIds: string[] | 'all';
|
|
44
|
+
published: boolean;
|
|
45
|
+
includeItems: boolean;
|
|
46
|
+
}
|
|
47
|
+
export interface CreateModuleItemArgs {
|
|
48
|
+
courseId: string;
|
|
49
|
+
moduleId: string;
|
|
50
|
+
type: ModuleItemType;
|
|
51
|
+
title: string;
|
|
52
|
+
position?: number;
|
|
53
|
+
indent?: number;
|
|
54
|
+
/** What the item points at is host-specific, so it travels here rather than as a field. */
|
|
55
|
+
extensions?: Record<string, unknown>;
|
|
56
|
+
}
|
|
57
|
+
export interface UpdateModuleItemArgs {
|
|
58
|
+
courseId: string;
|
|
59
|
+
/** The module the item is in now, not the one a `patch.moduleId` moves it to. */
|
|
60
|
+
moduleId: string;
|
|
61
|
+
itemId: string;
|
|
62
|
+
patch: ModuleItemPatch;
|
|
63
|
+
}
|
|
64
|
+
export interface DeleteModuleItemArgs {
|
|
65
|
+
courseId: string;
|
|
66
|
+
moduleId: string;
|
|
67
|
+
itemId: string;
|
|
68
|
+
}
|
|
69
|
+
export interface ReorderModuleItemsArgs {
|
|
70
|
+
courseId: string;
|
|
71
|
+
moduleId: string;
|
|
72
|
+
itemIds: string[];
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Every write is optional: a method the adapter leaves out turns its control off. There is no
|
|
76
|
+
* `signal` on any of these, because an abort cancels a read, never a write.
|
|
77
|
+
*/
|
|
78
|
+
export interface ModulesEditAdapter extends ModulesDataAdapter {
|
|
79
|
+
createModule?(args: CreateModuleArgs): Promise<Module>;
|
|
80
|
+
updateModule?(args: UpdateModuleArgs): Promise<Module>;
|
|
81
|
+
deleteModule?(args: DeleteModuleArgs): Promise<void>;
|
|
82
|
+
reorderModules?(args: ReorderModulesArgs): Promise<void>;
|
|
83
|
+
setModulesPublished?(args: SetModulesPublishedArgs): Promise<void>;
|
|
84
|
+
createModuleItem?(args: CreateModuleItemArgs): Promise<ModuleItem>;
|
|
85
|
+
updateModuleItem?(args: UpdateModuleItemArgs): Promise<ModuleItem>;
|
|
86
|
+
deleteModuleItem?(args: DeleteModuleItemArgs): Promise<void>;
|
|
87
|
+
reorderModuleItems?(args: ReorderModuleItemsArgs): Promise<void>;
|
|
88
|
+
}
|
|
89
|
+
export type ModulesEditCapability = keyof ModulesPermissions;
|
|
90
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/edit/adapter/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { UseMutationResult } from '@tanstack/react-query';
|
|
2
|
+
import { UseModulesPageDataOptions, UseModulesPageDataResult } from '../../hooks/useModulesPageData';
|
|
3
|
+
import { Module, ModuleItem } from '../../types/domain';
|
|
4
|
+
import { CreateModuleArgs, CreateModuleItemArgs, DeleteModuleArgs, DeleteModuleItemArgs, ModulesEditAdapter, ModulesEditCapability, ReorderModuleItemsArgs, ReorderModulesArgs, SetModulesPublishedArgs, UpdateModuleArgs, UpdateModuleItemArgs } from '../adapter/types';
|
|
5
|
+
export interface UseModulesEditDataOptions extends Omit<UseModulesPageDataOptions, 'adapter' | 'view'> {
|
|
6
|
+
adapter: ModulesEditAdapter;
|
|
7
|
+
}
|
|
8
|
+
export type ModulesEditCan = Readonly<Record<ModulesEditCapability, boolean>>;
|
|
9
|
+
type Write<A, D> = UseMutationResult<D, Error, Omit<A, 'courseId'>>;
|
|
10
|
+
export interface ModulesEditMutations {
|
|
11
|
+
createModule: Write<CreateModuleArgs, Module>;
|
|
12
|
+
updateModule: Write<UpdateModuleArgs, Module>;
|
|
13
|
+
deleteModule: Write<DeleteModuleArgs, void>;
|
|
14
|
+
reorderModules: Write<ReorderModulesArgs, void>;
|
|
15
|
+
setModulesPublished: Write<SetModulesPublishedArgs, void>;
|
|
16
|
+
createModuleItem: Write<CreateModuleItemArgs, ModuleItem>;
|
|
17
|
+
updateModuleItem: Write<UpdateModuleItemArgs, ModuleItem>;
|
|
18
|
+
deleteModuleItem: Write<DeleteModuleItemArgs, void>;
|
|
19
|
+
reorderModuleItems: Write<ReorderModuleItemsArgs, void>;
|
|
20
|
+
}
|
|
21
|
+
export interface UseModulesEditDataResult extends UseModulesPageDataResult {
|
|
22
|
+
/** True only when the adapter has the write and `permissions` does not turn it off. */
|
|
23
|
+
can: ModulesEditCan;
|
|
24
|
+
mutations: ModulesEditMutations;
|
|
25
|
+
}
|
|
26
|
+
export declare function useModulesEditData(options: UseModulesEditDataOptions): UseModulesEditDataResult;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=useModulesEditData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useModulesEditData.d.ts","sourceRoot":"","sources":["../../../src/edit/hooks/useModulesEditData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAA+B,MAAM,uBAAuB,CAAA;AAQ3F,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAE9B,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,kBAAkB,CAAA;AAEzB,MAAM,WAAW,yBACf,SAAQ,IAAI,CAAC,yBAAyB,EAAE,SAAS,GAAG,MAAM,CAAC;IAC3D,OAAO,EAAE,kBAAkB,CAAA;CAC5B;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC,CAAA;AAE7E,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAA;AAEnE,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;IAC7C,YAAY,EAAE,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;IAC7C,YAAY,EAAE,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAA;IAC3C,cAAc,EAAE,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAA;IAC/C,mBAAmB,EAAE,KAAK,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAA;IACzD,gBAAgB,EAAE,KAAK,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAA;IACzD,gBAAgB,EAAE,KAAK,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAA;IACzD,gBAAgB,EAAE,KAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAA;IACnD,kBAAkB,EAAE,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAA;CACxD;AAED,MAAM,WAAW,wBAAyB,SAAQ,wBAAwB;IACxE,uFAAuF;IACvF,GAAG,EAAE,cAAc,CAAA;IACnB,SAAS,EAAE,oBAAoB,CAAA;CAChC;AAiCD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,wBAAwB,CA0E/F"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type { CreateModuleArgs, CreateModuleItemArgs, DeleteModuleArgs, DeleteModuleItemArgs, ModuleItemPatch, ModulePatch, ModulesEditAdapter, ModulesEditCapability, ReorderModuleItemsArgs, ReorderModulesArgs, SetModulesPublishedArgs, UpdateModuleArgs, UpdateModuleItemArgs, } from './adapter/types';
|
|
2
|
+
export { createInMemoryEditAdapter } from './adapter/inMemoryEdit';
|
|
3
|
+
export { type ModulesEditCan, type ModulesEditMutations, useModulesEditData, type UseModulesEditDataOptions, type UseModulesEditDataResult, } from './hooks/useModulesEditData';
|
|
4
|
+
export type { ModulesNotice, ModulesNotify, ModulesPermissions } from '../config/types';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/edit/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,4BAA4B,CAAA;AACnC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA"}
|