@instructure/platform-institutional-tagging 2.0.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 +86 -0
- package/dist/App.d.ts +3 -0
- package/dist/App.d.ts.map +1 -0
- package/dist/__tests__/helpers.d.ts +7 -0
- package/dist/__tests__/helpers.d.ts.map +1 -0
- package/dist/__tests__/i18n.test.d.ts +2 -0
- package/dist/__tests__/i18n.test.d.ts.map +1 -0
- package/dist/__tests__/layout.test.d.ts +2 -0
- package/dist/__tests__/layout.test.d.ts.map +1 -0
- package/dist/__tests__/server.d.ts +10 -0
- package/dist/__tests__/server.d.ts.map +1 -0
- package/dist/__tests__/setup.d.ts +1 -0
- package/dist/__tests__/setup.d.ts.map +1 -0
- package/dist/__tests__/useArchiveTag.test.d.ts +2 -0
- package/dist/__tests__/useArchiveTag.test.d.ts.map +1 -0
- package/dist/__tests__/useMoveTag.test.d.ts +2 -0
- package/dist/__tests__/useMoveTag.test.d.ts.map +1 -0
- package/dist/__tests__/usePagination.test.d.ts +2 -0
- package/dist/__tests__/usePagination.test.d.ts.map +1 -0
- package/dist/__tests__/useSkeletons.test.d.ts +2 -0
- package/dist/__tests__/useSkeletons.test.d.ts.map +1 -0
- package/dist/__tests__/utils.test.d.ts +2 -0
- package/dist/__tests__/utils.test.d.ts.map +1 -0
- package/dist/api/client.d.ts +9 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/constants.d.ts +4 -0
- package/dist/api/constants.d.ts.map +1 -0
- package/dist/api/index.d.ts +5 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/types.d.ts +18 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/utils.d.ts +2 -0
- package/dist/api/utils.d.ts.map +1 -0
- package/dist/components/Alert/AlertProvider.d.ts +5 -0
- package/dist/components/Alert/AlertProvider.d.ts.map +1 -0
- package/dist/components/Alert/index.d.ts +2 -0
- package/dist/components/Alert/index.d.ts.map +1 -0
- package/dist/components/Alert/styles.d.ts +3 -0
- package/dist/components/Alert/styles.d.ts.map +1 -0
- package/dist/components/AppContainer/AppContainerProvider.d.ts +4 -0
- package/dist/components/AppContainer/AppContainerProvider.d.ts.map +1 -0
- package/dist/components/AppContainer/GenericStoryWrapper.d.ts +8 -0
- package/dist/components/AppContainer/GenericStoryWrapper.d.ts.map +1 -0
- package/dist/components/AppContainer/index.d.ts +2 -0
- package/dist/components/AppContainer/index.d.ts.map +1 -0
- package/dist/components/AppContainer/styles.d.ts +2 -0
- package/dist/components/AppContainer/styles.d.ts.map +1 -0
- package/dist/components/Category/BottomSection.d.ts +4 -0
- package/dist/components/Category/BottomSection.d.ts.map +1 -0
- package/dist/components/Category/Category.d.ts +4 -0
- package/dist/components/Category/Category.d.ts.map +1 -0
- package/dist/components/Category/CategoryInfoPills.d.ts +4 -0
- package/dist/components/Category/CategoryInfoPills.d.ts.map +1 -0
- package/dist/components/Category/CategoryList.d.ts +4 -0
- package/dist/components/Category/CategoryList.d.ts.map +1 -0
- package/dist/components/Category/CategoryListItem.d.ts +4 -0
- package/dist/components/Category/CategoryListItem.d.ts.map +1 -0
- package/dist/components/Category/TagArea.d.ts +4 -0
- package/dist/components/Category/TagArea.d.ts.map +1 -0
- package/dist/components/Category/TopSection.d.ts +5 -0
- package/dist/components/Category/TopSection.d.ts.map +1 -0
- package/dist/components/Category/constants.d.ts +3 -0
- package/dist/components/Category/constants.d.ts.map +1 -0
- package/dist/components/Category/index.d.ts +4 -0
- package/dist/components/Category/index.d.ts.map +1 -0
- package/dist/components/Category/styles.d.ts +30 -0
- package/dist/components/Category/styles.d.ts.map +1 -0
- package/dist/components/Category/types.d.ts +55 -0
- package/dist/components/Category/types.d.ts.map +1 -0
- package/dist/components/Layout/Layout.d.ts +2 -0
- package/dist/components/Layout/Layout.d.ts.map +1 -0
- package/dist/components/Layout/index.d.ts +2 -0
- package/dist/components/Layout/index.d.ts.map +1 -0
- package/dist/components/Layout/styles.d.ts +2 -0
- package/dist/components/Layout/styles.d.ts.map +1 -0
- package/dist/components/SearchAndFilterSection/SearchAndFilterSection.d.ts +8 -0
- package/dist/components/SearchAndFilterSection/SearchAndFilterSection.d.ts.map +1 -0
- package/dist/components/SearchAndFilterSection/index.d.ts +2 -0
- package/dist/components/SearchAndFilterSection/index.d.ts.map +1 -0
- package/dist/components/SearchAndFilterSection/styles.d.ts +6 -0
- package/dist/components/SearchAndFilterSection/styles.d.ts.map +1 -0
- package/dist/components/Select/Select.d.ts +19 -0
- package/dist/components/Select/Select.d.ts.map +1 -0
- package/dist/components/Select/index.d.ts +3 -0
- package/dist/components/Select/index.d.ts.map +1 -0
- package/dist/components/Tag/Tag.d.ts +14 -0
- package/dist/components/Tag/Tag.d.ts.map +1 -0
- package/dist/components/Tag/index.d.ts +2 -0
- package/dist/components/Tag/index.d.ts.map +1 -0
- package/dist/components/Tag/styles.d.ts +15 -0
- package/dist/components/Tag/styles.d.ts.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/constants/app.d.ts +2 -0
- package/dist/constants/app.d.ts.map +1 -0
- package/dist/constants/i18n.d.ts +84 -0
- package/dist/constants/i18n.d.ts.map +1 -0
- package/dist/constants/index.d.ts +5 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/layout.d.ts +2 -0
- package/dist/constants/layout.d.ts.map +1 -0
- package/dist/constants/pagination.d.ts +2 -0
- package/dist/constants/pagination.d.ts.map +1 -0
- package/dist/constants/viewport.d.ts +4 -0
- package/dist/constants/viewport.d.ts.map +1 -0
- package/dist/contexts/AlertContext.d.ts +14 -0
- package/dist/contexts/AlertContext.d.ts.map +1 -0
- package/dist/contexts/AppContainerContext.d.ts +5 -0
- package/dist/contexts/AppContainerContext.d.ts.map +1 -0
- package/dist/contexts/CategoryContext.d.ts +12 -0
- package/dist/contexts/CategoryContext.d.ts.map +1 -0
- package/dist/contexts/ModalContext.d.ts +10 -0
- package/dist/contexts/ModalContext.d.ts.map +1 -0
- package/dist/contexts/index.d.ts +2 -0
- package/dist/contexts/index.d.ts.map +1 -0
- package/dist/hooks/useAccountTagsScreen.d.ts +12 -0
- package/dist/hooks/useAccountTagsScreen.d.ts.map +1 -0
- package/dist/hooks/useArchiveTag.d.ts +4 -0
- package/dist/hooks/useArchiveTag.d.ts.map +1 -0
- package/dist/hooks/useFetchTagsForCategory.d.ts +8 -0
- package/dist/hooks/useFetchTagsForCategory.d.ts.map +1 -0
- package/dist/hooks/useMoveTag.d.ts +10 -0
- package/dist/hooks/useMoveTag.d.ts.map +1 -0
- package/dist/hooks/usePagination.d.ts +15 -0
- package/dist/hooks/usePagination.d.ts.map +1 -0
- package/dist/hooks/useSkeletons.d.ts +2 -0
- package/dist/hooks/useSkeletons.d.ts.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16757 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/modals/GenericModal/GenericModal.d.ts +27 -0
- package/dist/modals/GenericModal/GenericModal.d.ts.map +1 -0
- package/dist/modals/GenericModal/ModalProvider.d.ts +5 -0
- package/dist/modals/GenericModal/ModalProvider.d.ts.map +1 -0
- package/dist/modals/GenericModal/styles.d.ts +3 -0
- package/dist/modals/GenericModal/styles.d.ts.map +1 -0
- package/dist/modals/MoveTagModal/MoveTagModal.d.ts +12 -0
- package/dist/modals/MoveTagModal/MoveTagModal.d.ts.map +1 -0
- package/dist/modals/MoveTagModal/index.d.ts +2 -0
- package/dist/modals/MoveTagModal/index.d.ts.map +1 -0
- package/dist/modals/MoveTagModal/styles.d.ts +2 -0
- package/dist/modals/MoveTagModal/styles.d.ts.map +1 -0
- package/dist/modals/TagModal/CreateTagModal.d.ts +10 -0
- package/dist/modals/TagModal/CreateTagModal.d.ts.map +1 -0
- package/dist/modals/TagModal/EditTagModal.d.ts +11 -0
- package/dist/modals/TagModal/EditTagModal.d.ts.map +1 -0
- package/dist/modals/TagModal/fields/CategoryField.d.ts +16 -0
- package/dist/modals/TagModal/fields/CategoryField.d.ts.map +1 -0
- package/dist/modals/TagModal/fields/TagDetailsFields.d.ts +12 -0
- package/dist/modals/TagModal/fields/TagDetailsFields.d.ts.map +1 -0
- package/dist/modals/TagModal/fields/index.d.ts +3 -0
- package/dist/modals/TagModal/fields/index.d.ts.map +1 -0
- package/dist/modals/TagModal/hooks/index.d.ts +5 -0
- package/dist/modals/TagModal/hooks/index.d.ts.map +1 -0
- package/dist/modals/TagModal/hooks/useCategoryFormFields.d.ts +21 -0
- package/dist/modals/TagModal/hooks/useCategoryFormFields.d.ts.map +1 -0
- package/dist/modals/TagModal/hooks/useCreateTagForm.d.ts +23 -0
- package/dist/modals/TagModal/hooks/useCreateTagForm.d.ts.map +1 -0
- package/dist/modals/TagModal/hooks/useEditTagForm.d.ts +25 -0
- package/dist/modals/TagModal/hooks/useEditTagForm.d.ts.map +1 -0
- package/dist/modals/TagModal/hooks/useTagFormFields.d.ts +16 -0
- package/dist/modals/TagModal/hooks/useTagFormFields.d.ts.map +1 -0
- package/dist/modals/TagModal/styles.d.ts +4 -0
- package/dist/modals/TagModal/styles.d.ts.map +1 -0
- package/dist/screens/AccountTags/AccountTags.d.ts +3 -0
- package/dist/screens/AccountTags/AccountTags.d.ts.map +1 -0
- package/dist/screens/AccountTags/index.d.ts +2 -0
- package/dist/screens/AccountTags/index.d.ts.map +1 -0
- package/dist/screens/AccountTags/styles.d.ts +2 -0
- package/dist/screens/AccountTags/styles.d.ts.map +1 -0
- package/dist/screens/Home.d.ts +3 -0
- package/dist/screens/Home.d.ts.map +1 -0
- package/dist/services/association.d.ts +6 -0
- package/dist/services/association.d.ts.map +1 -0
- package/dist/services/category.d.ts +14 -0
- package/dist/services/category.d.ts.map +1 -0
- package/dist/services/tag.d.ts +24 -0
- package/dist/services/tag.d.ts.map +1 -0
- package/dist/services/users.d.ts +12 -0
- package/dist/services/users.d.ts.map +1 -0
- package/dist/skeletons/CategorySkeleton.d.ts +3 -0
- package/dist/skeletons/CategorySkeleton.d.ts.map +1 -0
- package/dist/skeletons/TagSkeleton.d.ts +3 -0
- package/dist/skeletons/TagSkeleton.d.ts.map +1 -0
- package/dist/skeletons/styles.d.ts +17 -0
- package/dist/skeletons/styles.d.ts.map +1 -0
- package/dist/stories/Category.stories.d.ts +12 -0
- package/dist/stories/Category.stories.d.ts.map +1 -0
- package/dist/stories/Tag.stories.d.ts +10 -0
- package/dist/stories/Tag.stories.d.ts.map +1 -0
- package/dist/stories/mocks/application.d.ts +3 -0
- package/dist/stories/mocks/application.d.ts.map +1 -0
- package/dist/stories/mocks/category.d.ts +3 -0
- package/dist/stories/mocks/category.d.ts.map +1 -0
- package/dist/stories/mocks/tag.d.ts +4 -0
- package/dist/stories/mocks/tag.d.ts.map +1 -0
- package/dist/types/application.d.ts +13 -0
- package/dist/types/application.d.ts.map +1 -0
- package/dist/types/category.d.ts +14 -0
- package/dist/types/category.d.ts.map +1 -0
- package/dist/types/context.d.ts +16 -0
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/i18n.d.ts +54 -0
- package/dist/types/i18n.d.ts.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/layout.d.ts +6 -0
- package/dist/types/layout.d.ts.map +1 -0
- package/dist/types/state.d.ts +9 -0
- package/dist/types/state.d.ts.map +1 -0
- package/dist/types/tag.d.ts +15 -0
- package/dist/types/tag.d.ts.map +1 -0
- package/dist/types/viewport.d.ts +21 -0
- package/dist/types/viewport.d.ts.map +1 -0
- package/dist/utils/category.d.ts +4 -0
- package/dist/utils/category.d.ts.map +1 -0
- package/dist/utils/i18n.d.ts +6 -0
- package/dist/utils/i18n.d.ts.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/layout.d.ts +3 -0
- package/dist/utils/layout.d.ts.map +1 -0
- package/dist/utils/skeleton.d.ts +6 -0
- package/dist/utils/skeleton.d.ts.map +1 -0
- package/locales/en.json +83 -0
- package/package.json +96 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { i18nKeys } from '../constants/i18n';
|
|
2
|
+
import { default as React } from 'react';
|
|
3
|
+
export type TranslateFunction<T> = (key: keyof T, options?: Record<string, unknown>) => string;
|
|
4
|
+
export type InstTaggingTranslations = typeof i18nKeys;
|
|
5
|
+
type I18nKey = keyof InstTaggingTranslations;
|
|
6
|
+
type ExtractVars<S extends string> = S extends `${string}%{${infer Var}}${infer Rest}` ? Var | ExtractVars<Rest> : never;
|
|
7
|
+
type PluralKeys = {
|
|
8
|
+
[K in I18nKey]: InstTaggingTranslations[K] extends {
|
|
9
|
+
readonly one: string;
|
|
10
|
+
readonly other: string;
|
|
11
|
+
} ? K : never;
|
|
12
|
+
}[I18nKey];
|
|
13
|
+
type StringI18nKey = Exclude<I18nKey, PluralKeys>;
|
|
14
|
+
type ExtractPluralVars<K extends PluralKeys> = InstTaggingTranslations[K] extends {
|
|
15
|
+
readonly one: infer O extends string;
|
|
16
|
+
readonly other: infer P extends string;
|
|
17
|
+
} ? ExtractVars<O> | ExtractVars<P> : never;
|
|
18
|
+
type StringKeysWithVars = {
|
|
19
|
+
[K in StringI18nKey]: ExtractVars<InstTaggingTranslations[K] & string> extends never ? never : K;
|
|
20
|
+
}[StringI18nKey];
|
|
21
|
+
type KeysWithVars = StringKeysWithVars | PluralKeys;
|
|
22
|
+
type I18nStringTokenWithVars = {
|
|
23
|
+
[K in StringKeysWithVars]: {
|
|
24
|
+
key: K;
|
|
25
|
+
vars: Record<ExtractVars<InstTaggingTranslations[K] & string>, string | number>;
|
|
26
|
+
};
|
|
27
|
+
}[StringKeysWithVars];
|
|
28
|
+
type I18nPluralToken = {
|
|
29
|
+
[K in PluralKeys]: ExtractPluralVars<K> extends never ? {
|
|
30
|
+
key: K;
|
|
31
|
+
count: number;
|
|
32
|
+
} : {
|
|
33
|
+
key: K;
|
|
34
|
+
count: number;
|
|
35
|
+
vars: Record<ExtractPluralVars<K>, string | number>;
|
|
36
|
+
};
|
|
37
|
+
}[PluralKeys];
|
|
38
|
+
type I18nTokenWithVars = I18nStringTokenWithVars | I18nPluralToken;
|
|
39
|
+
export type I18nToken = Exclude<I18nKey, KeysWithVars> | I18nTokenWithVars;
|
|
40
|
+
export type ResolveTokenFunction = (token: I18nToken) => string;
|
|
41
|
+
export interface InstTaggingContext {
|
|
42
|
+
translations: InstTaggingTranslations;
|
|
43
|
+
translate: TranslateFunction<InstTaggingTranslations>;
|
|
44
|
+
}
|
|
45
|
+
export interface UseTranslationsResult extends InstTaggingContext {
|
|
46
|
+
resolveToken: ResolveTokenFunction;
|
|
47
|
+
}
|
|
48
|
+
export interface TranslationsProviderProps {
|
|
49
|
+
translations: InstTaggingTranslations;
|
|
50
|
+
translate: TranslateFunction<InstTaggingTranslations>;
|
|
51
|
+
children: React.ReactNode;
|
|
52
|
+
}
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=i18n.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/types/i18n.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type * from './application';
|
|
2
|
+
export type * from './category';
|
|
3
|
+
export type * from './context';
|
|
4
|
+
export type * from './i18n';
|
|
5
|
+
export type * from './state';
|
|
6
|
+
export type * from './tag';
|
|
7
|
+
export type * from './viewport';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,eAAe,CAAA;AAClC,mBAAmB,YAAY,CAAA;AAC/B,mBAAmB,WAAW,CAAA;AAC9B,mBAAmB,QAAQ,CAAA;AAC3B,mBAAmB,SAAS,CAAA;AAC5B,mBAAmB,OAAO,CAAA;AAC1B,mBAAmB,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/types/layout.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,MAAM,IAAI;IACV,WAAW,IAAI;IACf,OAAO,IAAI;CACZ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/types/state.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { WorkflowState } from './state';
|
|
2
|
+
export interface TagType {
|
|
3
|
+
id: number;
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
sis_source_id?: string | null;
|
|
7
|
+
category_id: number;
|
|
8
|
+
account_id: number;
|
|
9
|
+
root_account_id: number;
|
|
10
|
+
associations_count?: number;
|
|
11
|
+
workflow_state: WorkflowState;
|
|
12
|
+
created_at?: string;
|
|
13
|
+
updated_at?: string;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=tag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/types/tag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,cAAc,EAAE,aAAa,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare enum Sizes {
|
|
2
|
+
Large = "large",
|
|
3
|
+
Medium = "medium",
|
|
4
|
+
Small = "small"
|
|
5
|
+
}
|
|
6
|
+
export declare enum InstUiBreakpoints {
|
|
7
|
+
Large = 992,
|
|
8
|
+
Medium = 768,
|
|
9
|
+
Small = 480
|
|
10
|
+
}
|
|
11
|
+
export interface AppContainerProviderProps {
|
|
12
|
+
ignoreContainerSize?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface ContainerSizeProps {
|
|
15
|
+
width: number;
|
|
16
|
+
isMobile: boolean;
|
|
17
|
+
isTablet: boolean;
|
|
18
|
+
isTabletOrMobile: boolean;
|
|
19
|
+
isLargeScreen: boolean;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=viewport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../src/types/viewport.ts"],"names":[],"mappings":"AAAA,oBAAY,KAAK;IACf,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,oBAAY,iBAAiB;IAC3B,KAAK,MAAM;IACX,MAAM,MAAM;IACZ,KAAK,MAAM;CACZ;AAED,MAAM,WAAW,yBAAyB;IACxC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,OAAO,CAAA;IACzB,aAAa,EAAE,OAAO,CAAA;CACvB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { SelectOption } from '../components/Select';
|
|
2
|
+
import { CategoryType } from '../types/category';
|
|
3
|
+
export declare const createCategorySelectOptions: (categories: CategoryType[], sourceCategoryId?: number) => SelectOption<number>[];
|
|
4
|
+
//# sourceMappingURL=category.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"category.d.ts","sourceRoot":"","sources":["../../src/utils/category.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,eAAO,MAAM,2BAA2B,GACtC,YAAY,YAAY,EAAE,EAC1B,mBAAmB,MAAM,KACxB,YAAY,CAAC,MAAM,CAAC,EAItB,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { I18nToken, InstTaggingTranslations, TranslateFunction, TranslationsProviderProps, UseTranslationsResult } from '../types/i18n';
|
|
2
|
+
export declare function TranslationsProvider({ translations, translate, children, }: TranslationsProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare function useTranslations(): UseTranslationsResult;
|
|
4
|
+
export declare const resolveI18nToken: (token: I18nToken, translate: TranslateFunction<InstTaggingTranslations>) => string;
|
|
5
|
+
export declare const translate: (key: keyof InstTaggingTranslations, options?: Record<string, unknown>) => string;
|
|
6
|
+
//# sourceMappingURL=i18n.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/utils/i18n.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EAET,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,aAAa,CAAA;AAKpB,wBAAgB,oBAAoB,CAAC,EACnC,YAAY,EACZ,SAAS,EACT,QAAQ,GACT,EAAE,yBAAyB,2CAG3B;AAED,wBAAgB,eAAe,IAAI,qBAAqB,CAUvD;AAED,eAAO,MAAM,gBAAgB,GAC3B,OAAO,SAAS,EAChB,WAAW,iBAAiB,CAAC,uBAAuB,CAAC,KACpD,MAOF,CAAA;AAED,eAAO,MAAM,SAAS,GACpB,KAAK,MAAM,uBAAuB,EAClC,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAChC,MAkBF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,eAAe,GAChB,MAAM,QAAQ,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/utils/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,eAAO,MAAM,wBAAwB,GAAI,YAAY,MAAM,GAAG,IAAI,aAejE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../src/utils/skeleton.ts"],"names":[],"mappings":"AAAA,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAA;CACX;AAED,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,KAAK,CAAC,cAAc,CACvB,CAAA"}
|
package/locales/en.json
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"accountTags": "Account tags",
|
|
3
|
+
"active": "Active",
|
|
4
|
+
"archive": "Archive",
|
|
5
|
+
"cancel": "Cancel",
|
|
6
|
+
"close": "Close",
|
|
7
|
+
"createdAt": "Created: %{date}",
|
|
8
|
+
"edit": "Edit",
|
|
9
|
+
"loadingData": "Loading data",
|
|
10
|
+
"moreOptions": "More options",
|
|
11
|
+
"move": "Move",
|
|
12
|
+
"nextPage": "Next page",
|
|
13
|
+
"people": "People",
|
|
14
|
+
"peopleManagement": "People management",
|
|
15
|
+
"permissions": "Permissions",
|
|
16
|
+
"previousPage": "Previous page",
|
|
17
|
+
"save": "Save",
|
|
18
|
+
"search": "Search",
|
|
19
|
+
"title": "Institutional Tagging",
|
|
20
|
+
"view": "View",
|
|
21
|
+
"archiveTagFailed": "Failed to archive tag.",
|
|
22
|
+
"archiveTagNotFound": "Tag not found or already archived.",
|
|
23
|
+
"archiveTagUnprocessable": "This tag cannot be archived in its current state.",
|
|
24
|
+
"categoryNameRequired": "Category name is required.",
|
|
25
|
+
"categoryRequired": "Category is required.",
|
|
26
|
+
"loadCategories": "Failed to load categories: %{errorMessage}",
|
|
27
|
+
"tagAlreadyExists": "This tag name already exists.",
|
|
28
|
+
"tagMoveConflict": "A tag with this name already exists in the selected category.",
|
|
29
|
+
"tagMoveFailed": "Failed to move the tag. Please try again.",
|
|
30
|
+
"tagMoveInvalidState": "This tag cannot be moved.",
|
|
31
|
+
"tagMoveNotFound": "Tag not found.",
|
|
32
|
+
"tagNameRequired": "Tag name is required.",
|
|
33
|
+
"tagArchived": "Tag archived",
|
|
34
|
+
"tagDeleted": "Tag deleted",
|
|
35
|
+
"tagSaved": "Tag saved",
|
|
36
|
+
"tagUpdated": "Tag changes saved",
|
|
37
|
+
"addTag": "Add tag",
|
|
38
|
+
"addTags": "Add tags",
|
|
39
|
+
"archiveTag": "Archive tag",
|
|
40
|
+
"archiveTagConfirmation": "Archiving this tag means it will no longer be active or available for use. You can restore it later if needed.",
|
|
41
|
+
"assignTag": "Assign people to tag",
|
|
42
|
+
"editTag": "Edit tag",
|
|
43
|
+
"moveTags": "Move tags",
|
|
44
|
+
"newTag": "New tag",
|
|
45
|
+
"restoreTag": "Restore tag",
|
|
46
|
+
"tagActions": "Tag actions",
|
|
47
|
+
"tagDescriptionLabel": "Tag description",
|
|
48
|
+
"tagDescriptionPlaceholder": "Briefly describe this tag",
|
|
49
|
+
"tagFieldGroupLabel": "Tag details",
|
|
50
|
+
"tagNameLabel": "Tag name",
|
|
51
|
+
"tagNamePlaceholder": "Name this tag",
|
|
52
|
+
"viewTagDetails": "View tag details",
|
|
53
|
+
"category": "Category",
|
|
54
|
+
"categoryArchived": "Archived",
|
|
55
|
+
"categoryDescriptionLabel": "Category description",
|
|
56
|
+
"categoryMenuLabel": "Actions for %{category}",
|
|
57
|
+
"categoryNameLabel": "Category name",
|
|
58
|
+
"categoryPlaceholder": "Select a category",
|
|
59
|
+
"createNewCategoryOption": "Create new category",
|
|
60
|
+
"expandCategory": "Expand category",
|
|
61
|
+
"expendAll": "Expand all",
|
|
62
|
+
"newCategory": "New category",
|
|
63
|
+
"searchResults": "%{resultCount} results found",
|
|
64
|
+
"selectCategoryToMove": "Select a new category to move",
|
|
65
|
+
"sortCategories": "Sort categories",
|
|
66
|
+
"assignPeopleToTags": "Assign people to tags",
|
|
67
|
+
"clearSelection": "Clear selection",
|
|
68
|
+
"moveTo": "Move to",
|
|
69
|
+
"moveToSubtitle": "Select category",
|
|
70
|
+
"multiSelectOff": "Multi-select off",
|
|
71
|
+
"multiSelectOn": "Multi-select on",
|
|
72
|
+
"multiTagActions": "Actions",
|
|
73
|
+
"totalTags": "%{totalTagCount} tags",
|
|
74
|
+
"viewAllPeople": "View all people",
|
|
75
|
+
"tagMoved": {
|
|
76
|
+
"one": "Tag moved to %{categoryName}",
|
|
77
|
+
"other": "Tags moved to %{categoryName}"
|
|
78
|
+
},
|
|
79
|
+
"tagsSelected": {
|
|
80
|
+
"one": "%{count} tag selected",
|
|
81
|
+
"other": "%{count} tags selected"
|
|
82
|
+
}
|
|
83
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@instructure/platform-institutional-tagging",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"module": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./locales/en.json": "./locales/en.json"
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist",
|
|
17
|
+
"locales"
|
|
18
|
+
],
|
|
19
|
+
"peerDependencies": {
|
|
20
|
+
"@instructure/emotion": "^10.0.0",
|
|
21
|
+
"@instructure/ui-alerts": "^10.0.0",
|
|
22
|
+
"@instructure/ui-badge": "^10.0.0",
|
|
23
|
+
"@instructure/ui-buttons": "^10.0.0",
|
|
24
|
+
"@instructure/ui-drilldown": "^10.0.0",
|
|
25
|
+
"@instructure/ui-flex": "^10.0.0",
|
|
26
|
+
"@instructure/ui-form-field": "^10.30.0",
|
|
27
|
+
"@instructure/ui-heading": "^10.0.0",
|
|
28
|
+
"@instructure/ui-icons": "^10.0.0",
|
|
29
|
+
"@instructure/ui-menu": "^10.0.0",
|
|
30
|
+
"@instructure/ui-modal": "^10.0.0",
|
|
31
|
+
"@instructure/ui-pagination": "^10.0.0",
|
|
32
|
+
"@instructure/ui-pill": "^10.0.0",
|
|
33
|
+
"@instructure/ui-simple-select": "^10.0.0",
|
|
34
|
+
"@instructure/ui-text": "^10.0.0",
|
|
35
|
+
"@instructure/ui-text-input": "^10.0.0",
|
|
36
|
+
"@instructure/ui-themes": "^10.0.0",
|
|
37
|
+
"@instructure/ui-truncate-text": "^10.0.0",
|
|
38
|
+
"@tanstack/react-query": "^5.0.0",
|
|
39
|
+
"react": "^18.0.0",
|
|
40
|
+
"react-dom": "^18.0.0",
|
|
41
|
+
"react-router-dom": "^6.0.0",
|
|
42
|
+
"@instructure/platform-provider": "0.3.0"
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@instructure/ui-form-field": "^10.30.0",
|
|
46
|
+
"@storybook/react": "^10.0.8",
|
|
47
|
+
"@stylelint/postcss-css-in-js": "^0.38.0",
|
|
48
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
49
|
+
"@testing-library/react": "^16.3.0",
|
|
50
|
+
"@testing-library/user-event": "^14.0.0",
|
|
51
|
+
"@types/lodash": "^4.17.24",
|
|
52
|
+
"@types/luxon": "^3.7.1",
|
|
53
|
+
"@types/node": "^18.18.0",
|
|
54
|
+
"@types/react": "^18.3.0",
|
|
55
|
+
"@types/react-dom": "^18.3.0",
|
|
56
|
+
"@vitejs/plugin-react": "^4.2.0",
|
|
57
|
+
"@vitest/coverage-istanbul": "4.0.17",
|
|
58
|
+
"concurrently": "^9.2.1",
|
|
59
|
+
"graphql": "^16.9.0",
|
|
60
|
+
"jsdom": "^25.0.0",
|
|
61
|
+
"json-schema-faker": "^0.6.0",
|
|
62
|
+
"msw": "^2.0.0",
|
|
63
|
+
"nodemon": "^3.1.14",
|
|
64
|
+
"stylelint": "^15.11.0",
|
|
65
|
+
"stylelint-config-standard": "^34.0.0",
|
|
66
|
+
"stylelint-config-styled-components": "^0.1.1",
|
|
67
|
+
"typescript": "^5.3.0",
|
|
68
|
+
"vite": "^6.0.0",
|
|
69
|
+
"vite-plugin-dts": "^4.0.0"
|
|
70
|
+
},
|
|
71
|
+
"dependencies": {
|
|
72
|
+
"axios": "^1.13.6",
|
|
73
|
+
"lodash": "^4.17.23",
|
|
74
|
+
"luxon": "^3.7.2",
|
|
75
|
+
"styled-components": "^6.3.11"
|
|
76
|
+
},
|
|
77
|
+
"scripts": {
|
|
78
|
+
"build": "vite build",
|
|
79
|
+
"dev": "vite",
|
|
80
|
+
"dev:mock": "concurrently --names \"web-app,mock-server,locales\" \"pnpm dev\" \"pnpm mock-server\" \"pnpm locales:watch\"",
|
|
81
|
+
"dev:build": "vite build --watch",
|
|
82
|
+
"lint": "biome check . && ast-grep scan . --report-style=short && stylelint 'src/**/*.ts'",
|
|
83
|
+
"lint:fix": "biome check --write . && stylelint --fix 'src/**/*.ts'",
|
|
84
|
+
"type-check": "tsgo -p tsconfig.check.json",
|
|
85
|
+
"storybook": "start-storybook -p 6006",
|
|
86
|
+
"pack:tarball": "pnpm build && pnpm pack",
|
|
87
|
+
"locales:generate": "node scripts/generate-locales.mjs && pnpm locales:validate",
|
|
88
|
+
"locales:watch": "nodemon --exec 'node scripts/generate-locales.mjs --quiet && pnpm locales:validate' --watch src/constants/i18n.ts --name locales",
|
|
89
|
+
"locales:sort": "node scripts/sort-locales.mjs",
|
|
90
|
+
"aliases:validate": "node scripts/validate-aliases.mjs",
|
|
91
|
+
"locales:validate": "node scripts/validate-locales.mjs",
|
|
92
|
+
"mock-server": "nodemon scripts/mock-server.mjs",
|
|
93
|
+
"test": "vitest run",
|
|
94
|
+
"test:coverage": "vitest run --coverage"
|
|
95
|
+
}
|
|
96
|
+
}
|