@edifice.io/collect-frontend 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/lib/components/AppActionHeader.d.ts +1 -0
  2. package/lib/components/AppActionHeaderContext.d.ts +11 -0
  3. package/lib/components/AppHeaderCollection.d.ts +12 -0
  4. package/lib/components/CollectApp/CollectApp.d.ts +26 -0
  5. package/lib/components/CollectApp/CollectAppContext.d.ts +13 -0
  6. package/lib/components/CollectAppActionHeader.d.ts +4 -0
  7. package/lib/components/InstructionCard.d.ts +5 -0
  8. package/lib/components/SearchBarCollect.d.ts +3 -0
  9. package/lib/components/SubmissionCard.d.ts +7 -0
  10. package/lib/config/constants.d.ts +6 -0
  11. package/lib/features/collect-form/components/CollectForm.d.ts +24 -0
  12. package/lib/features/collect-form/components/index.d.ts +3 -0
  13. package/lib/features/collect-form/hooks/index.d.ts +2 -0
  14. package/lib/features/collect-form/hooks/useCreateCollectionForm.d.ts +20 -0
  15. package/lib/features/collect-form/index.d.ts +3 -0
  16. package/lib/features/collection-actions/components/CollectionActions.d.ts +4 -0
  17. package/lib/features/collection-list/components/CollectionListTable.d.ts +1 -0
  18. package/lib/features/collection-list/components/CollectionListTableBody.d.ts +4 -0
  19. package/lib/features/collection-list/components/CollectionListTableFooter.d.ts +12 -0
  20. package/lib/features/collection-list/components/CollectionListTableHead.d.ts +1 -0
  21. package/lib/features/collection-list/hooks/useCollectionListTableBody.d.ts +7 -0
  22. package/lib/features/collection-list/hooks/useCollectionListTableHead.d.ts +12 -0
  23. package/lib/features/collection-list/hooks/useCollectionPagination.d.ts +11 -0
  24. package/lib/features/collection-list/store/collectionListStore.d.ts +26 -0
  25. package/lib/features/collection-submissions-list/components/CollectionSubmissionsList.d.ts +4 -0
  26. package/lib/features/collection-submissions-list/components/CollectionSubmissionsListMobile.d.ts +4 -0
  27. package/lib/features/collection-submissions-list/components/CollectionSubmissionsListTr.d.ts +4 -0
  28. package/lib/features/collection-submissions-list/components/CollectionSubmissionsListView.d.ts +4 -0
  29. package/lib/features/collection-submissions-list/components/CollectionSubmissionsRender.d.ts +3 -0
  30. package/lib/features/collection-submissions-list/hooks/useCollectionSubmissionsList.d.ts +10 -0
  31. package/lib/features/collection-submissions-list/store/collectionSubmissionListStore.d.ts +16 -0
  32. package/lib/features/creation-wizard/CreationWizard.d.ts +2 -0
  33. package/lib/features/creation-wizard/components/FormCreate.d.ts +7 -0
  34. package/lib/features/creation-wizard/components/Members.d.ts +9 -0
  35. package/lib/features/creation-wizard/components/WizardContext.d.ts +8 -0
  36. package/lib/features/creation-wizard/components/WizardHeader.d.ts +3 -0
  37. package/lib/features/creation-wizard/components/WizardLayout.d.ts +3 -0
  38. package/lib/features/creation-wizard/hooks/useAddMember.d.ts +15 -0
  39. package/lib/features/creation-wizard/sharing.utils.d.ts +12 -0
  40. package/lib/features/creation-wizard/store/wizardStore.d.ts +15 -0
  41. package/lib/features/dropdown-actions/components/DropdownActionTable.d.ts +7 -0
  42. package/lib/features/dropdown-actions/hooks/useDropdownActionTable.d.ts +13 -0
  43. package/lib/features/menu/components/CollectMenu.d.ts +5 -0
  44. package/lib/features/menu/components/DesktopMenu.d.ts +1 -0
  45. package/lib/features/menu/components/MenuContext.d.ts +13 -0
  46. package/lib/features/menu/components/MobileMenu.d.ts +1 -0
  47. package/lib/features/menu/store/menuStore.d.ts +20 -0
  48. package/lib/features/modal/components/DeleteCollectionModal.d.ts +3 -0
  49. package/lib/features/modal/components/InstructionModal.d.ts +4 -0
  50. package/lib/features/modal/components/UpdateSubmissionModal.d.ts +9 -0
  51. package/lib/features/modal/hooks/useDeleteCollectionModal.d.ts +5 -0
  52. package/lib/features/submission/components/SubmissionEdit.d.ts +4 -0
  53. package/lib/features/submission/components/SubmissionView.d.ts +5 -0
  54. package/lib/features/submission-actions/components/SubmissionActions.d.ts +6 -0
  55. package/lib/features/submission-list/components/SubmissionFilter.d.ts +1 -0
  56. package/lib/features/submission-list/components/SubmissionsListView.d.ts +1 -0
  57. package/lib/features/submission-list/hooks/useSubmissionPagination.d.ts +7 -0
  58. package/lib/features/submission-list/store/submissionListStore.d.ts +24 -0
  59. package/lib/hooks/useGetStatusSubmission.d.ts +12 -0
  60. package/lib/hooks/useSearch.d.ts +18 -0
  61. package/lib/hooks/useStepNavigations.d.ts +5 -0
  62. package/lib/hooks/useSubmissionForm.d.ts +12 -0
  63. package/lib/hooks/useWizard.d.ts +13 -0
  64. package/lib/i18n.d.ts +2 -0
  65. package/lib/index.d.ts +14 -1
  66. package/lib/index.js +14676 -15
  67. package/lib/main.d.ts +0 -0
  68. package/lib/models/collect.d.ts +12 -0
  69. package/lib/models/menu.d.ts +5 -0
  70. package/lib/pages/Collection.d.ts +4 -0
  71. package/lib/pages/CollectionsLayout.d.ts +2 -0
  72. package/lib/pages/CollectionsList.d.ts +3 -0
  73. package/lib/pages/FormEdit.d.ts +4 -0
  74. package/lib/pages/MembersEdit.d.ts +4 -0
  75. package/lib/pages/MineSubmission.d.ts +6 -0
  76. package/lib/pages/NotFound.d.ts +1 -0
  77. package/lib/pages/PageError.d.ts +1 -0
  78. package/lib/pages/Root.d.ts +2 -0
  79. package/lib/pages/Submission.d.ts +4 -0
  80. package/lib/pages/SubmissionList.d.ts +3 -0
  81. package/lib/providers/index.d.ts +6 -0
  82. package/lib/routes/wizard/wizard.d.ts +2 -0
  83. package/lib/services/api/collection.service.d.ts +14 -0
  84. package/lib/services/api/submission.services.d.ts +8 -0
  85. package/lib/services/api/user.service.d.ts +77 -0
  86. package/lib/services/queries/collection.queries.d.ts +76 -0
  87. package/lib/services/queries/index.d.ts +1 -0
  88. package/lib/services/queries/submission.queries.d.ts +36 -0
  89. package/lib/services/queries/user.queries.d.ts +76 -0
  90. package/lib/store/collectionActionStore.d.ts +29 -0
  91. package/lib/store/createSelectors.d.ts +10 -0
  92. package/lib/store/submissionActionStore.d.ts +32 -0
  93. package/lib/store/userActionStore.d.ts +26 -0
  94. package/lib/style.css +1 -1
  95. package/package.json +7 -6
  96. package/lib/AppHeaderCollection-CnQ2pqtl.js +0 -172
  97. package/lib/CXEL7IU7-Dei8UEaR.js +0 -42
  98. package/lib/Collection-BcJujQH9.js +0 -472
  99. package/lib/CollectionsLayout-BWau0fFT.js +0 -41
  100. package/lib/CollectionsList-DoYvRzYy.js +0 -324
  101. package/lib/DeleteCollectionModal-C8NPFHjI.js +0 -71
  102. package/lib/DropdownActionTable-CJA3djIr.js +0 -84
  103. package/lib/FormEdit-DrlhrKl6.js +0 -102
  104. package/lib/HASRA6WW-Lcj-6-Jg.js +0 -9093
  105. package/lib/I3HPI4QX-BiqSZkoI.js +0 -33
  106. package/lib/MembersEdit--SFUJ5dS.js +0 -77
  107. package/lib/Root-4Xv-j-fs.js +0 -20
  108. package/lib/SearchBarCollect-DBKaVVDV.js +0 -23
  109. package/lib/Submission-Bi1puhNG.js +0 -257
  110. package/lib/SubmissionList-BUexy8AF.js +0 -197
  111. package/lib/emptyscreen-list-collection-CWGxO4Ss.js +0 -4
  112. package/lib/index-DPvhGf6m.js +0 -3485
  113. package/lib/submission.queries-rlTI0q9h.js +0 -86
  114. package/lib/useGetStatusSubmission-DxHmLPxr.js +0 -57
@@ -0,0 +1 @@
1
+ export declare function AppActionHeader(): false | import("react/jsx-runtime").JSX.Element | undefined;
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ interface AppActionHeaderContextType {
3
+ basePath: string;
4
+ }
5
+ export declare const AppActionHeaderContext: import('react').Context<AppActionHeaderContextType>;
6
+ export declare function AppActionHeaderProvider({ basePath, children, }: {
7
+ basePath?: string;
8
+ children: ReactNode;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ export declare const useAppActionHeaderContext: () => AppActionHeaderContextType;
11
+ export {};
@@ -0,0 +1,12 @@
1
+ import { CollectionDto, ContribSubmissionStatus } from '@edifice.io/collect-client-rest';
2
+ import { CollectionContext } from '../models/collect';
3
+ interface AppHeaderCollectProps {
4
+ collection: CollectionDto;
5
+ context: CollectionContext.COLLECTION | CollectionContext.SUBMISSION;
6
+ onClickBack: () => void;
7
+ handleUpdateSubmission?: ({ status, }: {
8
+ status: ContribSubmissionStatus;
9
+ }) => Promise<void>;
10
+ }
11
+ export declare const AppHeaderCollection: ({ collection, onClickBack, context, handleUpdateSubmission, }: AppHeaderCollectProps) => import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,26 @@
1
+ import { default as React } from 'react';
2
+ export interface CollectAppProps {
3
+ /**
4
+ * When true, displays the top app header.
5
+ * When false, runs in headless mode (for embedding in other apps).
6
+ * @default true
7
+ */
8
+ header?: boolean;
9
+ /**
10
+ * When true, displays the left/mobile navigation menu.
11
+ * @default true
12
+ */
13
+ showMenu?: boolean;
14
+ /** Additional CSS class name for the container. */
15
+ className?: string;
16
+ currentPath?: string;
17
+ }
18
+ /**
19
+ * CollectApp - Main component for the Collect application.
20
+ * Can be used standalone or embedded in another application.
21
+ *
22
+ * When embedded (e.g., in rack), pass header={false} and/or showMenu={false}
23
+ * to control Collect layout visibility.
24
+ */
25
+ declare const CollectApp: React.FC<CollectAppProps>;
26
+ export default CollectApp;
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ interface CollectAppContextType {
3
+ header: boolean;
4
+ showMenu: boolean;
5
+ }
6
+ export declare const CollectAppContext: import('react').Context<CollectAppContextType>;
7
+ export declare function CollectAppProvider({ header, showMenu, children, }: {
8
+ header?: boolean;
9
+ showMenu?: boolean;
10
+ children: ReactNode;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ export declare const useCollectAppContext: () => CollectAppContextType;
13
+ export {};
@@ -0,0 +1,4 @@
1
+ export interface CollectAppActionHeaderProps {
2
+ basePath?: string;
3
+ }
4
+ export declare const CollectAppActionHeader: ({ basePath, }: CollectAppActionHeaderProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { CollectionDto } from '@edifice.io/collect-client-rest';
2
+ export declare const InstructionCard: ({ collection, isMobile, }: {
3
+ collection: CollectionDto;
4
+ isMobile?: boolean;
5
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export declare const SearchBarCollect: ({ setSearch, }: {
2
+ setSearch: (value: string) => void;
3
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { CollectionSubmissionDto } from '@edifice.io/collect-client-rest';
2
+ type SubmissionCardProps = {
3
+ collectionToSubmit: CollectionSubmissionDto;
4
+ onClick: (event: React.MouseEvent<HTMLDivElement>) => void;
5
+ };
6
+ export declare const SubmissionCard: ({ collectionToSubmit, onClick, }: SubmissionCardProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,6 @@
1
+ export declare const COLLECTIONS_LIST_MAX_RESULTS_BY_PAGES = 100;
2
+ export declare const SUBMISSIONS_LIST_MAX_RESULTS_BY_PAGES = 100;
3
+ export declare const COLLECTION_TABLE_PAGE_SIZE = 100;
4
+ export declare const MAX_COLLECTION_NAME_LENGTH = 80;
5
+ export declare const WIZARD_STORAGE_KEY = "collect-wizard-data";
6
+ export declare const WIZARD_STEPS: string[];
@@ -0,0 +1,24 @@
1
+ import { CollectionDto } from '@edifice.io/collect-client-rest';
2
+ import { WizardData } from '../../../models/collect';
3
+ /**
4
+ * Reusable collection creation form component.
5
+ * This component can be used by other applications (e.g., community) to embed a collection creation form
6
+ * within their own modals or pages. It handles form state internally and exposes data changes via callbacks.
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * <CollectForm
11
+ * onDataChange={(data) => console.log(data)}
12
+ * onValidityChange={(isValid) => setIsValid(isValid)}
13
+ * />
14
+ * ```
15
+ */
16
+ export interface CollectFormProps {
17
+ initialData?: Partial<WizardData>;
18
+ collection?: CollectionDto;
19
+ onDataChange?: (data: WizardData) => void;
20
+ onValidityChange?: (isValid: boolean) => void;
21
+ i18nNamespace?: string;
22
+ }
23
+ declare const CollectForm: React.FC<CollectFormProps>;
24
+ export default CollectForm;
@@ -0,0 +1,3 @@
1
+ export { default as CollectForm } from './CollectForm';
2
+ export type { CollectFormProps } from './CollectForm';
3
+ export type { WizardData } from '../../../models/collect';
@@ -0,0 +1,2 @@
1
+ export { useCreateCollectionForm, useCreateCollection, } from './useCreateCollectionForm';
2
+ export type { UseCreateCollectionFormReturn, UseCreateCollectionProps, UseCreateCollectionReturn, } from './useCreateCollectionForm';
@@ -0,0 +1,20 @@
1
+ import { CollectionDto } from '@edifice.io/collect-client-rest';
2
+ import { WizardData } from '../../../models/collect';
3
+ export interface UseCreateCollectionFormReturn {
4
+ formData: WizardData;
5
+ updateFormData: (updates: Partial<WizardData>) => void;
6
+ resetFormData: () => void;
7
+ isDirty: boolean;
8
+ }
9
+ export declare const useCreateCollectionForm: () => UseCreateCollectionFormReturn;
10
+ export interface UseCreateCollectionProps {
11
+ onSuccess?: (collection: CollectionDto) => void;
12
+ onError?: (error: Error) => void;
13
+ }
14
+ export interface UseCreateCollectionReturn {
15
+ createCollection: (data: WizardData) => Promise<CollectionDto>;
16
+ isPending: boolean;
17
+ isError: boolean;
18
+ error: Error | null;
19
+ }
20
+ export declare const useCreateCollection: ({ onSuccess, onError, }: UseCreateCollectionProps) => UseCreateCollectionReturn;
@@ -0,0 +1,3 @@
1
+ export * from './components';
2
+ export * from './hooks';
3
+ export type * from './components';
@@ -0,0 +1,4 @@
1
+ import { CollectionDto } from '@edifice.io/collect-client-rest';
2
+ export declare const CollectionActions: ({ collection, }: {
3
+ collection: CollectionDto;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const CollectionListTable: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { CollectionDto } from '@edifice.io/collect-client-rest';
2
+ export declare const CollectionListTableBody: ({ collections, }: {
3
+ collections: CollectionDto[];
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ type CollectionListTableFooterProps = {
2
+ page: number;
3
+ totalPages: number;
4
+ canGoPrevious: boolean;
5
+ canGoNext: boolean;
6
+ isLoading?: boolean;
7
+ isFetchingNextPage?: boolean;
8
+ onPagePrevious: () => void;
9
+ onPageNext: () => void;
10
+ };
11
+ export declare const CollectionListTableFooter: ({ page, totalPages, canGoPrevious, canGoNext, isLoading, isFetchingNextPage, onPagePrevious, onPageNext, }: CollectionListTableFooterProps) => import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1 @@
1
+ export declare const CollectionListTableHead: () => import("react/jsx-runtime").JSX.Element[];
@@ -0,0 +1,7 @@
1
+ import { CollectionDto } from '@edifice.io/collect-client-rest';
2
+ export declare const useCollectionListTableBody: () => {
3
+ isHovered: (collection: CollectionDto) => boolean;
4
+ setHoveredCollectionId: import('react').Dispatch<import('react').SetStateAction<number | null>>;
5
+ getBgColor: (collection: CollectionDto) => string;
6
+ getColorByPercentage: (current: number, total: number) => "success" | "warning" | "danger" | "info";
7
+ };
@@ -0,0 +1,12 @@
1
+ import { CollectionSortField } from '@edifice.io/collect-client-rest';
2
+ interface CollectionTableHeader {
3
+ label: string;
4
+ sortField?: CollectionSortField;
5
+ }
6
+ export declare const useCollectionListTableHead: () => {
7
+ listHeads: CollectionTableHeader[];
8
+ getSortIcon: (tableHead: CollectionTableHeader) => import("react/jsx-runtime").JSX.Element;
9
+ handleSort: (sortField: CollectionSortField) => void;
10
+ isSortActive: (tableHead: CollectionTableHeader) => boolean | undefined;
11
+ };
12
+ export {};
@@ -0,0 +1,11 @@
1
+ export declare const useCollectionPagination: () => {
2
+ items: import('@edifice.io/collect-client-rest').CollectionDto[];
3
+ page: number;
4
+ totalPages: number;
5
+ isLoading: boolean;
6
+ isFetchingNextPage: boolean;
7
+ handlePagePrevious: () => void;
8
+ handlePageNext: () => Promise<void>;
9
+ canGoPrevious: boolean;
10
+ canGoNext: boolean;
11
+ };
@@ -0,0 +1,26 @@
1
+ import { CollectionSortField, SearchCollectionDto, SortDirection } from '@edifice.io/collect-client-rest';
2
+ interface CollectionListState extends SearchCollectionDto {
3
+ setSearch: (search: string) => void;
4
+ setFilters: (filters: Partial<SearchCollectionDto>) => void;
5
+ setSortCollectionList: (field: CollectionSortField, direction: SortDirection) => void;
6
+ }
7
+ export declare const useCollectionListStore: {
8
+ (): CollectionListState;
9
+ <U>(selector: (state: CollectionListState) => U): U;
10
+ <U>(selector: (state: CollectionListState) => U, equalityFn: (a: U, b: U) => boolean): U;
11
+ } & import('zustand').StoreApi<CollectionListState> & {
12
+ use: {
13
+ setSearch: () => (search: string) => void;
14
+ setFilters: () => (filters: Partial<SearchCollectionDto>) => void;
15
+ setSortCollectionList: () => (field: CollectionSortField, direction: SortDirection) => void;
16
+ search?: (() => string | undefined) | undefined;
17
+ ids?: (() => number[] | undefined) | undefined;
18
+ fields?: (() => "status"[] | undefined) | undefined;
19
+ sortBy?: (() => CollectionSortField | undefined) | undefined;
20
+ sortDirection?: (() => SortDirection | undefined) | undefined;
21
+ includeExpired?: (() => boolean | undefined) | undefined;
22
+ page?: (() => number | undefined) | undefined;
23
+ size?: (() => number | undefined) | undefined;
24
+ };
25
+ };
26
+ export {};
@@ -0,0 +1,4 @@
1
+ import { CollectionDto } from '@edifice.io/collect-client-rest';
2
+ export declare const CollectionSubmissionsList: ({ collection, }: {
3
+ collection: CollectionDto;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { CollectionDto } from '@edifice.io/collect-client-rest';
2
+ export declare const CollectionSubmissionsListMobile: ({ collection, }: {
3
+ collection: CollectionDto;
4
+ }) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,4 @@
1
+ import { SubmissionDto } from '@edifice.io/collect-client-rest';
2
+ export declare const CollectionSubmissionsListTr: ({ submission, }: {
3
+ submission: SubmissionDto;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { CollectionDto } from '@edifice.io/collect-client-rest';
2
+ export declare const CollectionSubmissionsListView: ({ collection, }: {
3
+ collection: CollectionDto;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export declare const CollectionSubmissionsRender: ({ collectionId, }: {
2
+ collectionId: number;
3
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { CollectionDto, SubmissionDto } from '@edifice.io/collect-client-rest';
2
+ export declare const useCollectionSubmissionsList: (collection: CollectionDto) => {
3
+ submissions: SubmissionDto[];
4
+ isLoading: boolean;
5
+ hasNextPage: boolean;
6
+ isHovered: (submission: SubmissionDto) => boolean;
7
+ setHoveredSubmissionId: import('react').Dispatch<import('react').SetStateAction<number | null>>;
8
+ getBgColor: (submission: SubmissionDto) => string;
9
+ fetchNextPage: (options?: import('@tanstack/react-query').FetchNextPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<import('@edifice.io/collect-client-rest').SearchSubmissionResponseDto, unknown>, Error>>;
10
+ };
@@ -0,0 +1,16 @@
1
+ import { SubmissionDto } from '@edifice.io/collect-client-rest';
2
+ interface CollectionSubmissionListState {
3
+ selectedSubmissionListMenu: SubmissionDto | null;
4
+ setSelectedSubmissionListMenu: (submission: SubmissionDto | null) => void;
5
+ }
6
+ export declare const useCollectionSubmissionListStore: {
7
+ (): CollectionSubmissionListState;
8
+ <U>(selector: (state: CollectionSubmissionListState) => U): U;
9
+ <U>(selector: (state: CollectionSubmissionListState) => U, equalityFn: (a: U, b: U) => boolean): U;
10
+ } & import('zustand').StoreApi<CollectionSubmissionListState> & {
11
+ use: {
12
+ selectedSubmissionListMenu: () => SubmissionDto | null;
13
+ setSelectedSubmissionListMenu: () => (submission: SubmissionDto | null) => void;
14
+ };
15
+ };
16
+ export {};
@@ -0,0 +1,2 @@
1
+ declare function CreationWizard(): import("react/jsx-runtime").JSX.Element;
2
+ export default CreationWizard;
@@ -0,0 +1,7 @@
1
+ import { CollectionDto } from '@edifice.io/collect-client-rest';
2
+ import { WizardData } from '../../../models/collect';
3
+ export declare const FormCreate: ({ wizardData, updateWizardData, collection, }: {
4
+ wizardData?: WizardData;
5
+ updateWizardData?: (data: WizardData) => void;
6
+ collection?: CollectionDto;
7
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { CollectionDto } from '@edifice.io/collect-client-rest';
2
+ import { SharingItem } from '@edifice.io/react';
3
+ import { WizardData } from '../../../models/collect';
4
+ export default function Members({ wizardData, updateWizardData, collection, onSharingsChange, }: {
5
+ wizardData?: WizardData;
6
+ updateWizardData?: (updates: Partial<WizardData>) => void;
7
+ collection?: CollectionDto;
8
+ onSharingsChange?: (sharings: SharingItem[]) => void;
9
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { useWizardProps } from '../../../hooks/useWizard';
2
+ type OmittedProps = Omit<useWizardProps, "triggerRef" | "menuRef">;
3
+ export interface WizardContextProps extends OmittedProps {
4
+ block?: boolean;
5
+ }
6
+ export declare const WizardContext: import('react').Context<WizardContextProps | null>;
7
+ export declare const useWizardContext: () => WizardContextProps;
8
+ export {};
@@ -0,0 +1,3 @@
1
+ export default function WizardHeader({ title }: {
2
+ title: string;
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export declare const WizardLayout: ({ children, }: {
2
+ children: React.ReactElement;
3
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import { BookmarkInput, SharingItem } from '@edifice.io/react';
2
+ export declare const useAddMember: ({ handleSearchSubmit, initialSharings, onSharingsChange, }: {
3
+ handleSearchSubmit: (model: Array<string | number>) => Promise<SharingItem[] | BookmarkInput[]>;
4
+ initialSharings?: SharingItem[];
5
+ onSharingsChange?: (sharings: SharingItem[]) => void;
6
+ }) => {
7
+ handleAddItems: (items: SharingItem[]) => void;
8
+ handleDeleteItems: (items: SharingItem[]) => void;
9
+ handleUpdateItems: (items: SharingItem[]) => void;
10
+ handleSearchResultsChange: (model: Array<string | number>) => Promise<void>;
11
+ setUsersCollection: (usersCollection: SharingItem[]) => void;
12
+ addUsersToAdd: (items: SharingItem[]) => void;
13
+ addUsersToDelete: (items: SharingItem[]) => void;
14
+ userRightsListRef: import('react').RefObject<import('@edifice.io/react').UserRightsListRef>;
15
+ };
@@ -0,0 +1,12 @@
1
+ import { CreateSharingDto, DeleteSharingDto, SharingDto, UpdateCollectionSharingDto } from '@edifice.io/collect-client-rest';
2
+ import { SharingItem } from '@edifice.io/react';
3
+ export declare const mapCollectionSharingToSharingItem: (sharing: SharingDto) => SharingItem;
4
+ export declare const mapSharingItemToCreateSharingDto: (sharing: SharingItem) => CreateSharingDto;
5
+ export declare const mapSharingItemToDeleteSharingDto: (sharing: SharingItem) => DeleteSharingDto;
6
+ export declare const buildUpdateCollectionSharingDto: (deleteSharings: SharingItem[], newSharings: SharingItem[]) => UpdateCollectionSharingDto;
7
+ export declare const enrichSharingsWithGroupNames: (sharings: SharingItem[], searchVisibleFn: (search: string) => Promise<Array<{
8
+ id: string;
9
+ displayName: string;
10
+ }>>) => Promise<(SharingItem & {
11
+ notVisible?: boolean;
12
+ })[]>;
@@ -0,0 +1,15 @@
1
+ interface WizardState {
2
+ isFormValid: boolean;
3
+ setIsFormValid: (isValid: boolean) => void;
4
+ }
5
+ export declare const useWizardStore: {
6
+ (): WizardState;
7
+ <U>(selector: (state: WizardState) => U): U;
8
+ <U>(selector: (state: WizardState) => U, equalityFn: (a: U, b: U) => boolean): U;
9
+ } & import('zustand').StoreApi<WizardState> & {
10
+ use: {
11
+ isFormValid: () => boolean;
12
+ setIsFormValid: () => (isValid: boolean) => void;
13
+ };
14
+ };
15
+ export {};
@@ -0,0 +1,7 @@
1
+ import { IconButtonProps } from '@edifice.io/react';
2
+ import { RefAttributes } from 'react';
3
+ export declare const DropdownActionTable: ({ collectionId, isCollection, children, }: {
4
+ collectionId: number;
5
+ isCollection?: boolean;
6
+ children: (triggerProps: JSX.IntrinsicAttributes & Omit<IconButtonProps, "ref"> & RefAttributes<HTMLButtonElement>) => React.ReactNode;
7
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ interface TableDropdownMenuOptions {
3
+ label: string;
4
+ action: () => void;
5
+ icon: ReactNode;
6
+ className?: string;
7
+ hidden?: boolean;
8
+ dataTestId?: string;
9
+ }
10
+ export declare const useDropdownActionTable: (collectionId: number, isCollection: boolean) => {
11
+ dropdownOptions: TableDropdownMenuOptions[];
12
+ };
13
+ export {};
@@ -0,0 +1,5 @@
1
+ export interface CollectMenuProps {
2
+ showMenu?: boolean;
3
+ basePath?: string;
4
+ }
5
+ export declare const CollectMenu: ({ showMenu, basePath }: CollectMenuProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const DesktopMenu: () => false | import("react/jsx-runtime").JSX.Element | undefined;
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ interface MenuContextType {
3
+ showMenu: boolean;
4
+ basePath: string;
5
+ }
6
+ export declare const MenuContext: import('react').Context<MenuContextType>;
7
+ export declare function MenuProvider({ showMenu, basePath, children, }: {
8
+ showMenu?: boolean;
9
+ basePath?: string;
10
+ children: ReactNode;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ export declare const useMenuContext: () => MenuContextType;
13
+ export {};
@@ -0,0 +1 @@
1
+ export declare const MobileMenu: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,20 @@
1
+ import { MenuFilter } from '../../../models/menu';
2
+ interface MenuState {
3
+ mobileMenuOpen: boolean;
4
+ setMobileMenuOpen: (open: boolean) => void;
5
+ selectedMenu: MenuFilter;
6
+ setSelectedMenu: (filter: MenuFilter) => void;
7
+ }
8
+ export declare const useMenuStore: {
9
+ (): MenuState;
10
+ <U>(selector: (state: MenuState) => U): U;
11
+ <U>(selector: (state: MenuState) => U, equalityFn: (a: U, b: U) => boolean): U;
12
+ } & import('zustand').StoreApi<MenuState> & {
13
+ use: {
14
+ mobileMenuOpen: () => boolean;
15
+ setMobileMenuOpen: () => (open: boolean) => void;
16
+ selectedMenu: () => MenuFilter;
17
+ setSelectedMenu: () => (filter: MenuFilter) => void;
18
+ };
19
+ };
20
+ export {};
@@ -0,0 +1,3 @@
1
+ export declare const DeleteCollectionModal: ({ onDeleteSuccess, }: {
2
+ onDeleteSuccess?: () => void;
3
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { CollectionDto } from '@edifice.io/collect-client-rest';
2
+ export declare const InstructionModal: ({ collection, }: {
3
+ collection: CollectionDto;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { ContribSubmissionStatus } from '@edifice.io/collect-client-rest';
2
+ export declare const UpdateSubmissionModal: ({ onClose, isOpen, handleUpdateSubmission, }: {
3
+ onClose: () => void;
4
+ isOpen: boolean;
5
+ handleUpdateSubmission: ({ status, isRedirect, }: {
6
+ status: ContribSubmissionStatus;
7
+ isRedirect?: boolean;
8
+ }) => Promise<void>;
9
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export declare const useDeleteCollectionModal: () => {
2
+ isOpen: boolean;
3
+ onClose: () => void;
4
+ handleDeleteCollection: (onDeleteSuccess?: () => void) => Promise<void>;
5
+ };
@@ -0,0 +1,4 @@
1
+ import { SubmissionDto } from '@edifice.io/collect-client-rest';
2
+ export declare const SubmissionEdit: ({ submission, }: {
3
+ submission: SubmissionDto;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { CollectionDto, SubmissionDto } from '@edifice.io/collect-client-rest';
2
+ export declare const SubmissionView: ({ collection, submission, }: {
3
+ collection: CollectionDto;
4
+ submission: SubmissionDto;
5
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { ContribSubmissionStatus } from '@edifice.io/collect-client-rest';
2
+ export declare const SubmissionActions: ({ handleUpdateSubmission, }: {
3
+ handleUpdateSubmission?: ({ status, }: {
4
+ status: ContribSubmissionStatus;
5
+ }) => Promise<void>;
6
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const SubmissionFilter: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const SubmissionsListView: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ export declare const useSubmissionPagination: () => {
2
+ collectionsToSubmit: import('@edifice.io/collect-client-rest').CollectionSubmissionDto[];
3
+ isLoading: boolean;
4
+ hasMoreResources: boolean;
5
+ hasData: boolean;
6
+ fetchNextPage: (options?: import('@tanstack/react-query').FetchNextPageOptions) => Promise<import('@tanstack/react-query').InfiniteQueryObserverResult<import('@tanstack/react-query').InfiniteData<import('@edifice.io/collect-client-rest').SearchCollectionStudentViewDto, unknown>, Error>>;
7
+ };
@@ -0,0 +1,24 @@
1
+ import { CollectionStatus, SearchCollectionToSubmitDto } from '@edifice.io/collect-client-rest';
2
+ interface SubmissionListState extends SearchCollectionToSubmitDto {
3
+ setSearchSubmission: (search: string) => void;
4
+ setFilter: (filter: CollectionStatus | undefined) => void;
5
+ }
6
+ export declare const useSubmissionListStore: {
7
+ (): SubmissionListState;
8
+ <U>(selector: (state: SubmissionListState) => U): U;
9
+ <U>(selector: (state: SubmissionListState) => U, equalityFn: (a: U, b: U) => boolean): U;
10
+ } & import('zustand').StoreApi<SubmissionListState> & {
11
+ use: {
12
+ setSearchSubmission: () => (search: string) => void;
13
+ setFilter: () => (filter: CollectionStatus | undefined) => void;
14
+ filter?: (() => CollectionStatus | undefined) | undefined;
15
+ search?: (() => string | undefined) | undefined;
16
+ ids?: (() => number[] | undefined) | undefined;
17
+ sortBy?: (() => import('@edifice.io/collect-client-rest').CollectionSortField | undefined) | undefined;
18
+ sortDirection?: (() => import('@edifice.io/collect-client-rest').SortDirection | undefined) | undefined;
19
+ includeExpired?: (() => boolean | undefined) | undefined;
20
+ page?: (() => number | undefined) | undefined;
21
+ size?: (() => number | undefined) | undefined;
22
+ };
23
+ };
24
+ export {};
@@ -0,0 +1,12 @@
1
+ import { SubmissionStatus } from '@edifice.io/collect-client-rest';
2
+ import { BadgeVariants } from '@edifice.io/react';
3
+ export default function useGetSubmissionStatus(): {
4
+ getSubmissionStatus: ({ status, isPastDeadline, isSubmissionCard, }: {
5
+ status: SubmissionStatus;
6
+ isPastDeadline: boolean;
7
+ isSubmissionCard?: boolean;
8
+ }) => {
9
+ text: string;
10
+ variant: BadgeVariants;
11
+ };
12
+ };
@@ -0,0 +1,18 @@
1
+ import { ChangeEvent } from 'react';
2
+ import { BookmarkInput, OptionListItemType, SharingItem } from '@edifice.io/react';
3
+ import { Visible } from '../services/queries/user.queries';
4
+ export declare const useSearch: () => {
5
+ state: {
6
+ searchInputValue: string;
7
+ searchResults: OptionListItemType[];
8
+ searchAPIResults: Visible[];
9
+ isSearching: boolean;
10
+ isAddingMembers: boolean;
11
+ };
12
+ searchMinLength: number;
13
+ isSearchLoading: boolean;
14
+ isAddingMembers: boolean;
15
+ hasSearchNoResults: boolean;
16
+ handleSearchInputChange: (event: ChangeEvent<HTMLInputElement>) => void;
17
+ handleSearchSubmit: (model: Array<string | number>) => Promise<SharingItem[] | BookmarkInput[]>;
18
+ };
@@ -0,0 +1,5 @@
1
+ export default function useStepNavigation(): {
2
+ currentStep: number;
3
+ nextStep: () => void;
4
+ backStep: () => void;
5
+ };