analytica-frontend-lib 1.2.35 → 1.2.37
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/dist/ActivityFilters/index.d.ts +6 -19
- package/dist/ActivityFilters/index.d.ts.map +1 -1
- package/dist/ActivityFilters/index.js +566 -52
- package/dist/ActivityFilters/index.js.map +1 -1
- package/dist/ActivityFilters/index.mjs +566 -52
- package/dist/ActivityFilters/index.mjs.map +1 -1
- package/dist/hooks/useActivityFiltersData.d.ts +76 -0
- package/dist/hooks/useActivityFiltersData.d.ts.map +1 -0
- package/dist/hooks/useQuestionsList/index.d.ts +57 -0
- package/dist/hooks/useQuestionsList/index.d.ts.map +1 -0
- package/dist/hooks/useQuestionsList/index.js +139 -0
- package/dist/hooks/useQuestionsList/index.js.map +1 -0
- package/dist/hooks/useQuestionsList/index.mjs +113 -0
- package/dist/hooks/useQuestionsList/index.mjs.map +1 -0
- package/dist/hooks/useQuestionsList.d.ts +57 -0
- package/dist/hooks/useQuestionsList.d.ts.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +960 -303
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +927 -275
- package/dist/index.mjs.map +1 -1
- package/dist/store/questionFiltersStore.d.ts +13 -0
- package/dist/store/questionFiltersStore.d.ts.map +1 -0
- package/dist/types/api.d.ts +22 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/notifications.d.ts +3 -13
- package/dist/types/notifications.d.ts.map +1 -1
- package/dist/types/questions.d.ts +47 -0
- package/dist/types/questions.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { BaseApiClient } from '../types/api';
|
|
2
|
+
import type { CategoryConfig } from '../components/CheckBoxGroup/CheckBoxGroup';
|
|
3
|
+
import type { KnowledgeStructureState, Bank, BankYear, KnowledgeArea } from '../types/activityFilters';
|
|
4
|
+
import { QUESTION_TYPE } from '../components/Quiz/useQuizStore';
|
|
5
|
+
/**
|
|
6
|
+
* Configuration options for the useActivityFiltersData hook
|
|
7
|
+
*/
|
|
8
|
+
export interface UseActivityFiltersDataOptions {
|
|
9
|
+
/**
|
|
10
|
+
* Selected subjects for loading knowledge structure
|
|
11
|
+
*/
|
|
12
|
+
selectedSubjects: string[];
|
|
13
|
+
/**
|
|
14
|
+
* Institution ID for loading question types (optional)
|
|
15
|
+
*/
|
|
16
|
+
institutionId?: string | null;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Return type for the useActivityFiltersData hook
|
|
20
|
+
*/
|
|
21
|
+
export interface UseActivityFiltersDataReturn {
|
|
22
|
+
banks: Bank[];
|
|
23
|
+
bankYears: BankYear[];
|
|
24
|
+
loadingBanks: boolean;
|
|
25
|
+
banksError: string | null;
|
|
26
|
+
loadBanks: () => Promise<void>;
|
|
27
|
+
knowledgeAreas: KnowledgeArea[];
|
|
28
|
+
loadingSubjects: boolean;
|
|
29
|
+
subjectsError: string | null;
|
|
30
|
+
loadKnowledgeAreas: () => Promise<void>;
|
|
31
|
+
knowledgeStructure: KnowledgeStructureState;
|
|
32
|
+
knowledgeCategories: CategoryConfig[];
|
|
33
|
+
handleCategoriesChange: (updatedCategories: CategoryConfig[]) => void;
|
|
34
|
+
selectedKnowledgeSummary: {
|
|
35
|
+
topics: string[];
|
|
36
|
+
subtopics: string[];
|
|
37
|
+
contents: string[];
|
|
38
|
+
};
|
|
39
|
+
enableSummary: boolean;
|
|
40
|
+
loadTopics: (subjectIds: string[]) => Promise<void>;
|
|
41
|
+
loadSubtopics: (topicIds: string[], options?: {
|
|
42
|
+
forceApi?: boolean;
|
|
43
|
+
}) => Promise<void>;
|
|
44
|
+
loadContents: (subtopicIds: string[]) => Promise<void>;
|
|
45
|
+
questionTypes: QUESTION_TYPE[];
|
|
46
|
+
loadingQuestionTypes: boolean;
|
|
47
|
+
questionTypesError: string | null;
|
|
48
|
+
loadQuestionTypes: () => Promise<void>;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Create an activity filters data hook with API client injection.
|
|
52
|
+
* @param apiClient - API client instance
|
|
53
|
+
*/
|
|
54
|
+
export declare const createUseActivityFiltersData: (apiClient: BaseApiClient) => (options: UseActivityFiltersDataOptions) => UseActivityFiltersDataReturn;
|
|
55
|
+
/**
|
|
56
|
+
* Create a pre-configured activity filters data hook
|
|
57
|
+
* This is a convenience function that returns a hook ready to use
|
|
58
|
+
*
|
|
59
|
+
* @param apiClient - API client instance
|
|
60
|
+
* @returns Pre-configured useActivityFiltersData hook
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* // In your app setup
|
|
64
|
+
* import { createActivityFiltersDataHook } from 'analytica-frontend-lib';
|
|
65
|
+
* import api from './services/api';
|
|
66
|
+
*
|
|
67
|
+
* export const useActivityFiltersData = createActivityFiltersDataHook(api);
|
|
68
|
+
*
|
|
69
|
+
* // Then use directly in components
|
|
70
|
+
* const { banks, knowledgeAreas, loadBanks } = useActivityFiltersData({
|
|
71
|
+
* selectedSubjects: [],
|
|
72
|
+
* institutionId: 'institution-id',
|
|
73
|
+
* });
|
|
74
|
+
*/
|
|
75
|
+
export declare const createActivityFiltersDataHook: (apiClient: BaseApiClient) => (options: UseActivityFiltersDataOptions) => UseActivityFiltersDataReturn;
|
|
76
|
+
//# sourceMappingURL=useActivityFiltersData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useActivityFiltersData.d.ts","sourceRoot":"","sources":["../../src/hooks/useActivityFiltersData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,KAAK,EAEV,uBAAuB,EACvB,IAAI,EACJ,QAAQ,EACR,aAAa,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AA2EhE;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAMD;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAE3C,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAG/B,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAGxC,kBAAkB,EAAE,uBAAuB,CAAC;IAC5C,mBAAmB,EAAE,cAAc,EAAE,CAAC;IACtC,sBAAsB,EAAE,CAAC,iBAAiB,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IACtE,wBAAwB,EAAE;QACxB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,aAAa,EAAE,CACb,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAGvD,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAsqBD;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GAAI,WAAW,aAAa,MAEjE,SAAS,6BAA6B,KACrC,4BAEJ,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,6BAA6B,GAAI,WAAW,aAAa,eAzBzD,6BAA6B,KACrC,4BA0BJ,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { BaseApiClient } from '../types/api';
|
|
2
|
+
import type { QuestionsFilterBody, Question, Pagination } from '../types/questions';
|
|
3
|
+
/**
|
|
4
|
+
* Hook state interface
|
|
5
|
+
*/
|
|
6
|
+
interface UseQuestionsListState {
|
|
7
|
+
questions: Question[];
|
|
8
|
+
pagination: Pagination | null;
|
|
9
|
+
loading: boolean;
|
|
10
|
+
loadingMore: boolean;
|
|
11
|
+
error: string | null;
|
|
12
|
+
currentFilters: Partial<QuestionsFilterBody> | null;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Hook return type
|
|
16
|
+
*/
|
|
17
|
+
export interface UseQuestionsListReturn extends UseQuestionsListState {
|
|
18
|
+
fetchQuestions: (filters?: Partial<QuestionsFilterBody>, append?: boolean) => Promise<void>;
|
|
19
|
+
loadMore: () => Promise<void>;
|
|
20
|
+
reset: () => void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Create a questions list hook with API client injection.
|
|
24
|
+
* @param apiClient - API client instance
|
|
25
|
+
* @returns Pre-configured useQuestionsList hook
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* // In your app setup
|
|
29
|
+
* import { createUseQuestionsList } from 'analytica-frontend-lib';
|
|
30
|
+
* import api from './services/api';
|
|
31
|
+
*
|
|
32
|
+
* export const useQuestionsList = createUseQuestionsList(api);
|
|
33
|
+
*
|
|
34
|
+
* // Then use directly in components
|
|
35
|
+
* const { questions, fetchQuestions, loadMore } = useQuestionsList();
|
|
36
|
+
*/
|
|
37
|
+
export declare const createUseQuestionsList: (apiClient: BaseApiClient) => () => UseQuestionsListReturn;
|
|
38
|
+
/**
|
|
39
|
+
* Create a pre-configured questions list hook
|
|
40
|
+
* This is a convenience function that returns a hook ready to use
|
|
41
|
+
*
|
|
42
|
+
* @param apiClient - API client instance
|
|
43
|
+
* @returns Pre-configured useQuestionsList hook
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* // In your app setup
|
|
47
|
+
* import { createQuestionsListHook } from 'analytica-frontend-lib';
|
|
48
|
+
* import api from './services/api';
|
|
49
|
+
*
|
|
50
|
+
* export const useQuestionsList = createQuestionsListHook(api);
|
|
51
|
+
*
|
|
52
|
+
* // Then use directly in components
|
|
53
|
+
* const { questions, fetchQuestions, loadMore } = useQuestionsList();
|
|
54
|
+
*/
|
|
55
|
+
export declare const createQuestionsListHook: (apiClient: BaseApiClient) => () => UseQuestionsListReturn;
|
|
56
|
+
export {};
|
|
57
|
+
//# sourceMappingURL=useQuestionsList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useQuestionsList.d.ts","sourceRoot":"","sources":["../../src/hooks/useQuestionsList.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EACV,mBAAmB,EAEnB,QAAQ,EACR,UAAU,EACX,MAAM,oBAAoB,CAAC;AAM5B;;GAEG;AACH,UAAU,qBAAqB;IAC7B,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;CACrD;AAMD;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,cAAc,EAAE,CACd,OAAO,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,EACtC,MAAM,CAAC,EAAE,OAAO,KACb,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAgJD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,GAAI,WAAW,aAAa,WAClD,sBACZ,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,uBAAuB,GAAI,WAAW,aAAa,WApBnD,sBAsBZ,CAAC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/hooks/useQuestionsList.ts
|
|
21
|
+
var useQuestionsList_exports = {};
|
|
22
|
+
__export(useQuestionsList_exports, {
|
|
23
|
+
createQuestionsListHook: () => createQuestionsListHook,
|
|
24
|
+
createUseQuestionsList: () => createUseQuestionsList
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(useQuestionsList_exports);
|
|
27
|
+
var import_react = require("react");
|
|
28
|
+
var useQuestionsListImpl = (apiClient) => {
|
|
29
|
+
const [state, setState] = (0, import_react.useState)({
|
|
30
|
+
questions: [],
|
|
31
|
+
pagination: null,
|
|
32
|
+
loading: false,
|
|
33
|
+
loadingMore: false,
|
|
34
|
+
error: null,
|
|
35
|
+
currentFilters: null
|
|
36
|
+
});
|
|
37
|
+
const updateState = (0, import_react.useCallback)((updates) => {
|
|
38
|
+
setState((prev) => ({ ...prev, ...updates }));
|
|
39
|
+
}, []);
|
|
40
|
+
const handleError = (0, import_react.useCallback)(
|
|
41
|
+
(error) => {
|
|
42
|
+
console.error("Erro ao carregar quest\xF5es:", error);
|
|
43
|
+
let errorMessage = "Erro ao carregar quest\xF5es";
|
|
44
|
+
if (error && typeof error === "object" && "response" in error) {
|
|
45
|
+
const axiosError = error;
|
|
46
|
+
errorMessage = axiosError?.response?.data?.message || axiosError?.message || errorMessage;
|
|
47
|
+
} else if (error instanceof Error) {
|
|
48
|
+
errorMessage = error.message;
|
|
49
|
+
}
|
|
50
|
+
updateState({
|
|
51
|
+
loading: false,
|
|
52
|
+
loadingMore: false,
|
|
53
|
+
error: errorMessage
|
|
54
|
+
});
|
|
55
|
+
},
|
|
56
|
+
[updateState]
|
|
57
|
+
);
|
|
58
|
+
const fetchQuestions = (0, import_react.useCallback)(
|
|
59
|
+
async (filters, append = false) => {
|
|
60
|
+
if (append) {
|
|
61
|
+
setState((prev) => ({ ...prev, loadingMore: true, error: null }));
|
|
62
|
+
} else {
|
|
63
|
+
updateState({ loading: true, error: null, questions: [] });
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
const validatedFilters = {
|
|
67
|
+
...filters
|
|
68
|
+
};
|
|
69
|
+
const response = await apiClient.post(
|
|
70
|
+
"/questions/list",
|
|
71
|
+
validatedFilters
|
|
72
|
+
);
|
|
73
|
+
setState((prev) => ({
|
|
74
|
+
loading: false,
|
|
75
|
+
loadingMore: false,
|
|
76
|
+
questions: append ? [...prev.questions, ...response.data.data.questions] : response.data.data.questions,
|
|
77
|
+
pagination: response.data.data.pagination,
|
|
78
|
+
error: null,
|
|
79
|
+
currentFilters: validatedFilters
|
|
80
|
+
}));
|
|
81
|
+
} catch (error) {
|
|
82
|
+
setState((prev) => ({
|
|
83
|
+
...prev,
|
|
84
|
+
loading: false,
|
|
85
|
+
loadingMore: false
|
|
86
|
+
}));
|
|
87
|
+
handleError(error);
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
[apiClient, updateState, handleError]
|
|
91
|
+
);
|
|
92
|
+
const loadMore = (0, import_react.useCallback)(async () => {
|
|
93
|
+
setState((prev) => {
|
|
94
|
+
const { currentFilters, pagination, loadingMore: isLoadingMore } = prev;
|
|
95
|
+
if (isLoadingMore || !currentFilters || !pagination?.hasNext) {
|
|
96
|
+
return prev;
|
|
97
|
+
}
|
|
98
|
+
const nextPageFilters = {
|
|
99
|
+
...currentFilters,
|
|
100
|
+
page: pagination.page + 1
|
|
101
|
+
};
|
|
102
|
+
fetchQuestions(nextPageFilters, true).catch((error) => {
|
|
103
|
+
console.error("Erro ao carregar mais quest\xF5es:", error);
|
|
104
|
+
});
|
|
105
|
+
return {
|
|
106
|
+
...prev,
|
|
107
|
+
loadingMore: true
|
|
108
|
+
};
|
|
109
|
+
});
|
|
110
|
+
}, [fetchQuestions]);
|
|
111
|
+
const reset = (0, import_react.useCallback)(() => {
|
|
112
|
+
setState({
|
|
113
|
+
questions: [],
|
|
114
|
+
pagination: null,
|
|
115
|
+
loading: false,
|
|
116
|
+
loadingMore: false,
|
|
117
|
+
error: null,
|
|
118
|
+
currentFilters: null
|
|
119
|
+
});
|
|
120
|
+
}, []);
|
|
121
|
+
return {
|
|
122
|
+
...state,
|
|
123
|
+
fetchQuestions,
|
|
124
|
+
loadMore,
|
|
125
|
+
reset
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
var createUseQuestionsList = (apiClient) => {
|
|
129
|
+
return () => useQuestionsListImpl(apiClient);
|
|
130
|
+
};
|
|
131
|
+
var createQuestionsListHook = (apiClient) => {
|
|
132
|
+
return createUseQuestionsList(apiClient);
|
|
133
|
+
};
|
|
134
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
135
|
+
0 && (module.exports = {
|
|
136
|
+
createQuestionsListHook,
|
|
137
|
+
createUseQuestionsList
|
|
138
|
+
});
|
|
139
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/useQuestionsList.ts"],"sourcesContent":["import { useState, useCallback } from 'react';\nimport type { BaseApiClient } from '../types/api';\nimport type {\n QuestionsFilterBody,\n QuestionsListResponse,\n Question,\n Pagination,\n} from '../types/questions';\n\n// ============================================================================\n// Hook State Types\n// ============================================================================\n\n/**\n * Hook state interface\n */\ninterface UseQuestionsListState {\n questions: Question[];\n pagination: Pagination | null;\n loading: boolean;\n loadingMore: boolean;\n error: string | null;\n currentFilters: Partial<QuestionsFilterBody> | null;\n}\n\n// ============================================================================\n// Hook Return Type\n// ============================================================================\n\n/**\n * Hook return type\n */\nexport interface UseQuestionsListReturn extends UseQuestionsListState {\n fetchQuestions: (\n filters?: Partial<QuestionsFilterBody>,\n append?: boolean\n ) => Promise<void>;\n loadMore: () => Promise<void>;\n reset: () => void;\n}\n\n// ============================================================================\n// Main Hook Implementation\n// ============================================================================\n\nconst useQuestionsListImpl = (\n apiClient: BaseApiClient\n): UseQuestionsListReturn => {\n const [state, setState] = useState<UseQuestionsListState>({\n questions: [],\n pagination: null,\n loading: false,\n loadingMore: false,\n error: null,\n currentFilters: null,\n });\n\n const updateState = useCallback((updates: Partial<UseQuestionsListState>) => {\n setState((prev) => ({ ...prev, ...updates }));\n }, []);\n\n const handleError = useCallback(\n (error: unknown) => {\n console.error('Erro ao carregar questões:', error);\n let errorMessage = 'Erro ao carregar questões';\n\n if (error && typeof error === 'object' && 'response' in error) {\n const axiosError = error as {\n response?: { data?: { message?: string } };\n message?: string;\n };\n errorMessage =\n axiosError?.response?.data?.message ||\n axiosError?.message ||\n errorMessage;\n } else if (error instanceof Error) {\n errorMessage = error.message;\n }\n\n updateState({\n loading: false,\n loadingMore: false,\n error: errorMessage,\n });\n },\n [updateState]\n );\n\n /**\n * Fetch questions from API with filters\n * @param filters - Filters to apply\n * @param append - If true, appends results to existing questions; if false, replaces them\n */\n const fetchQuestions = useCallback(\n async (filters?: Partial<QuestionsFilterBody>, append: boolean = false) => {\n if (append) {\n setState((prev) => ({ ...prev, loadingMore: true, error: null }));\n } else {\n updateState({ loading: true, error: null, questions: [] });\n }\n\n try {\n const validatedFilters: QuestionsFilterBody = {\n ...filters,\n };\n\n const response = await apiClient.post<QuestionsListResponse>(\n '/questions/list',\n validatedFilters\n );\n\n setState((prev) => ({\n loading: false,\n loadingMore: false,\n questions: append\n ? [...prev.questions, ...response.data.data.questions]\n : response.data.data.questions,\n pagination: response.data.data.pagination,\n error: null,\n currentFilters: validatedFilters,\n }));\n } catch (error) {\n setState((prev) => ({\n ...prev,\n loading: false,\n loadingMore: false,\n }));\n handleError(error);\n }\n },\n [apiClient, updateState, handleError]\n );\n\n const loadMore = useCallback(async () => {\n setState((prev) => {\n const { currentFilters, pagination, loadingMore: isLoadingMore } = prev;\n\n if (isLoadingMore || !currentFilters || !pagination?.hasNext) {\n return prev;\n }\n\n const nextPageFilters = {\n ...currentFilters,\n page: pagination.page + 1,\n };\n\n fetchQuestions(nextPageFilters, true).catch((error) => {\n console.error('Erro ao carregar mais questões:', error);\n });\n\n return {\n ...prev,\n loadingMore: true,\n };\n });\n }, [fetchQuestions]);\n\n /**\n * Reset questions list\n */\n const reset = useCallback(() => {\n setState({\n questions: [],\n pagination: null,\n loading: false,\n loadingMore: false,\n error: null,\n currentFilters: null,\n });\n }, []);\n\n return {\n ...state,\n fetchQuestions,\n loadMore,\n reset,\n };\n};\n\n// ============================================================================\n// Hook Factory\n// ============================================================================\n\n/**\n * Create a questions list hook with API client injection.\n * @param apiClient - API client instance\n * @returns Pre-configured useQuestionsList hook\n *\n * @example\n * // In your app setup\n * import { createUseQuestionsList } from 'analytica-frontend-lib';\n * import api from './services/api';\n *\n * export const useQuestionsList = createUseQuestionsList(api);\n *\n * // Then use directly in components\n * const { questions, fetchQuestions, loadMore } = useQuestionsList();\n */\nexport const createUseQuestionsList = (apiClient: BaseApiClient) => {\n return (): UseQuestionsListReturn => useQuestionsListImpl(apiClient);\n};\n\n/**\n * Create a pre-configured questions list hook\n * This is a convenience function that returns a hook ready to use\n *\n * @param apiClient - API client instance\n * @returns Pre-configured useQuestionsList hook\n *\n * @example\n * // In your app setup\n * import { createQuestionsListHook } from 'analytica-frontend-lib';\n * import api from './services/api';\n *\n * export const useQuestionsList = createQuestionsListHook(api);\n *\n * // Then use directly in components\n * const { questions, fetchQuestions, loadMore } = useQuestionsList();\n */\nexport const createQuestionsListHook = (apiClient: BaseApiClient) => {\n return createUseQuestionsList(apiClient);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsC;AA6CtC,IAAM,uBAAuB,CAC3B,cAC2B;AAC3B,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAAgC;AAAA,IACxD,WAAW,CAAC;AAAA,IACZ,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,aAAa;AAAA,IACb,OAAO;AAAA,IACP,gBAAgB;AAAA,EAClB,CAAC;AAED,QAAM,kBAAc,0BAAY,CAAC,YAA4C;AAC3E,aAAS,CAAC,UAAU,EAAE,GAAG,MAAM,GAAG,QAAQ,EAAE;AAAA,EAC9C,GAAG,CAAC,CAAC;AAEL,QAAM,kBAAc;AAAA,IAClB,CAAC,UAAmB;AAClB,cAAQ,MAAM,iCAA8B,KAAK;AACjD,UAAI,eAAe;AAEnB,UAAI,SAAS,OAAO,UAAU,YAAY,cAAc,OAAO;AAC7D,cAAM,aAAa;AAInB,uBACE,YAAY,UAAU,MAAM,WAC5B,YAAY,WACZ;AAAA,MACJ,WAAW,iBAAiB,OAAO;AACjC,uBAAe,MAAM;AAAA,MACvB;AAEA,kBAAY;AAAA,QACV,SAAS;AAAA,QACT,aAAa;AAAA,QACb,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA,CAAC,WAAW;AAAA,EACd;AAOA,QAAM,qBAAiB;AAAA,IACrB,OAAO,SAAwC,SAAkB,UAAU;AACzE,UAAI,QAAQ;AACV,iBAAS,CAAC,UAAU,EAAE,GAAG,MAAM,aAAa,MAAM,OAAO,KAAK,EAAE;AAAA,MAClE,OAAO;AACL,oBAAY,EAAE,SAAS,MAAM,OAAO,MAAM,WAAW,CAAC,EAAE,CAAC;AAAA,MAC3D;AAEA,UAAI;AACF,cAAM,mBAAwC;AAAA,UAC5C,GAAG;AAAA,QACL;AAEA,cAAM,WAAW,MAAM,UAAU;AAAA,UAC/B;AAAA,UACA;AAAA,QACF;AAEA,iBAAS,CAAC,UAAU;AAAA,UAClB,SAAS;AAAA,UACT,aAAa;AAAA,UACb,WAAW,SACP,CAAC,GAAG,KAAK,WAAW,GAAG,SAAS,KAAK,KAAK,SAAS,IACnD,SAAS,KAAK,KAAK;AAAA,UACvB,YAAY,SAAS,KAAK,KAAK;AAAA,UAC/B,OAAO;AAAA,UACP,gBAAgB;AAAA,QAClB,EAAE;AAAA,MACJ,SAAS,OAAO;AACd,iBAAS,CAAC,UAAU;AAAA,UAClB,GAAG;AAAA,UACH,SAAS;AAAA,UACT,aAAa;AAAA,QACf,EAAE;AACF,oBAAY,KAAK;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,WAAW,aAAa,WAAW;AAAA,EACtC;AAEA,QAAM,eAAW,0BAAY,YAAY;AACvC,aAAS,CAAC,SAAS;AACjB,YAAM,EAAE,gBAAgB,YAAY,aAAa,cAAc,IAAI;AAEnE,UAAI,iBAAiB,CAAC,kBAAkB,CAAC,YAAY,SAAS;AAC5D,eAAO;AAAA,MACT;AAEA,YAAM,kBAAkB;AAAA,QACtB,GAAG;AAAA,QACH,MAAM,WAAW,OAAO;AAAA,MAC1B;AAEA,qBAAe,iBAAiB,IAAI,EAAE,MAAM,CAAC,UAAU;AACrD,gBAAQ,MAAM,sCAAmC,KAAK;AAAA,MACxD,CAAC;AAED,aAAO;AAAA,QACL,GAAG;AAAA,QACH,aAAa;AAAA,MACf;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,cAAc,CAAC;AAKnB,QAAM,YAAQ,0BAAY,MAAM;AAC9B,aAAS;AAAA,MACP,WAAW,CAAC;AAAA,MACZ,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,OAAO;AAAA,MACP,gBAAgB;AAAA,IAClB,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAqBO,IAAM,yBAAyB,CAAC,cAA6B;AAClE,SAAO,MAA8B,qBAAqB,SAAS;AACrE;AAmBO,IAAM,0BAA0B,CAAC,cAA6B;AACnE,SAAO,uBAAuB,SAAS;AACzC;","names":[]}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
// src/hooks/useQuestionsList.ts
|
|
2
|
+
import { useState, useCallback } from "react";
|
|
3
|
+
var useQuestionsListImpl = (apiClient) => {
|
|
4
|
+
const [state, setState] = useState({
|
|
5
|
+
questions: [],
|
|
6
|
+
pagination: null,
|
|
7
|
+
loading: false,
|
|
8
|
+
loadingMore: false,
|
|
9
|
+
error: null,
|
|
10
|
+
currentFilters: null
|
|
11
|
+
});
|
|
12
|
+
const updateState = useCallback((updates) => {
|
|
13
|
+
setState((prev) => ({ ...prev, ...updates }));
|
|
14
|
+
}, []);
|
|
15
|
+
const handleError = useCallback(
|
|
16
|
+
(error) => {
|
|
17
|
+
console.error("Erro ao carregar quest\xF5es:", error);
|
|
18
|
+
let errorMessage = "Erro ao carregar quest\xF5es";
|
|
19
|
+
if (error && typeof error === "object" && "response" in error) {
|
|
20
|
+
const axiosError = error;
|
|
21
|
+
errorMessage = axiosError?.response?.data?.message || axiosError?.message || errorMessage;
|
|
22
|
+
} else if (error instanceof Error) {
|
|
23
|
+
errorMessage = error.message;
|
|
24
|
+
}
|
|
25
|
+
updateState({
|
|
26
|
+
loading: false,
|
|
27
|
+
loadingMore: false,
|
|
28
|
+
error: errorMessage
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
[updateState]
|
|
32
|
+
);
|
|
33
|
+
const fetchQuestions = useCallback(
|
|
34
|
+
async (filters, append = false) => {
|
|
35
|
+
if (append) {
|
|
36
|
+
setState((prev) => ({ ...prev, loadingMore: true, error: null }));
|
|
37
|
+
} else {
|
|
38
|
+
updateState({ loading: true, error: null, questions: [] });
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
const validatedFilters = {
|
|
42
|
+
...filters
|
|
43
|
+
};
|
|
44
|
+
const response = await apiClient.post(
|
|
45
|
+
"/questions/list",
|
|
46
|
+
validatedFilters
|
|
47
|
+
);
|
|
48
|
+
setState((prev) => ({
|
|
49
|
+
loading: false,
|
|
50
|
+
loadingMore: false,
|
|
51
|
+
questions: append ? [...prev.questions, ...response.data.data.questions] : response.data.data.questions,
|
|
52
|
+
pagination: response.data.data.pagination,
|
|
53
|
+
error: null,
|
|
54
|
+
currentFilters: validatedFilters
|
|
55
|
+
}));
|
|
56
|
+
} catch (error) {
|
|
57
|
+
setState((prev) => ({
|
|
58
|
+
...prev,
|
|
59
|
+
loading: false,
|
|
60
|
+
loadingMore: false
|
|
61
|
+
}));
|
|
62
|
+
handleError(error);
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
[apiClient, updateState, handleError]
|
|
66
|
+
);
|
|
67
|
+
const loadMore = useCallback(async () => {
|
|
68
|
+
setState((prev) => {
|
|
69
|
+
const { currentFilters, pagination, loadingMore: isLoadingMore } = prev;
|
|
70
|
+
if (isLoadingMore || !currentFilters || !pagination?.hasNext) {
|
|
71
|
+
return prev;
|
|
72
|
+
}
|
|
73
|
+
const nextPageFilters = {
|
|
74
|
+
...currentFilters,
|
|
75
|
+
page: pagination.page + 1
|
|
76
|
+
};
|
|
77
|
+
fetchQuestions(nextPageFilters, true).catch((error) => {
|
|
78
|
+
console.error("Erro ao carregar mais quest\xF5es:", error);
|
|
79
|
+
});
|
|
80
|
+
return {
|
|
81
|
+
...prev,
|
|
82
|
+
loadingMore: true
|
|
83
|
+
};
|
|
84
|
+
});
|
|
85
|
+
}, [fetchQuestions]);
|
|
86
|
+
const reset = useCallback(() => {
|
|
87
|
+
setState({
|
|
88
|
+
questions: [],
|
|
89
|
+
pagination: null,
|
|
90
|
+
loading: false,
|
|
91
|
+
loadingMore: false,
|
|
92
|
+
error: null,
|
|
93
|
+
currentFilters: null
|
|
94
|
+
});
|
|
95
|
+
}, []);
|
|
96
|
+
return {
|
|
97
|
+
...state,
|
|
98
|
+
fetchQuestions,
|
|
99
|
+
loadMore,
|
|
100
|
+
reset
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
var createUseQuestionsList = (apiClient) => {
|
|
104
|
+
return () => useQuestionsListImpl(apiClient);
|
|
105
|
+
};
|
|
106
|
+
var createQuestionsListHook = (apiClient) => {
|
|
107
|
+
return createUseQuestionsList(apiClient);
|
|
108
|
+
};
|
|
109
|
+
export {
|
|
110
|
+
createQuestionsListHook,
|
|
111
|
+
createUseQuestionsList
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/useQuestionsList.ts"],"sourcesContent":["import { useState, useCallback } from 'react';\nimport type { BaseApiClient } from '../types/api';\nimport type {\n QuestionsFilterBody,\n QuestionsListResponse,\n Question,\n Pagination,\n} from '../types/questions';\n\n// ============================================================================\n// Hook State Types\n// ============================================================================\n\n/**\n * Hook state interface\n */\ninterface UseQuestionsListState {\n questions: Question[];\n pagination: Pagination | null;\n loading: boolean;\n loadingMore: boolean;\n error: string | null;\n currentFilters: Partial<QuestionsFilterBody> | null;\n}\n\n// ============================================================================\n// Hook Return Type\n// ============================================================================\n\n/**\n * Hook return type\n */\nexport interface UseQuestionsListReturn extends UseQuestionsListState {\n fetchQuestions: (\n filters?: Partial<QuestionsFilterBody>,\n append?: boolean\n ) => Promise<void>;\n loadMore: () => Promise<void>;\n reset: () => void;\n}\n\n// ============================================================================\n// Main Hook Implementation\n// ============================================================================\n\nconst useQuestionsListImpl = (\n apiClient: BaseApiClient\n): UseQuestionsListReturn => {\n const [state, setState] = useState<UseQuestionsListState>({\n questions: [],\n pagination: null,\n loading: false,\n loadingMore: false,\n error: null,\n currentFilters: null,\n });\n\n const updateState = useCallback((updates: Partial<UseQuestionsListState>) => {\n setState((prev) => ({ ...prev, ...updates }));\n }, []);\n\n const handleError = useCallback(\n (error: unknown) => {\n console.error('Erro ao carregar questões:', error);\n let errorMessage = 'Erro ao carregar questões';\n\n if (error && typeof error === 'object' && 'response' in error) {\n const axiosError = error as {\n response?: { data?: { message?: string } };\n message?: string;\n };\n errorMessage =\n axiosError?.response?.data?.message ||\n axiosError?.message ||\n errorMessage;\n } else if (error instanceof Error) {\n errorMessage = error.message;\n }\n\n updateState({\n loading: false,\n loadingMore: false,\n error: errorMessage,\n });\n },\n [updateState]\n );\n\n /**\n * Fetch questions from API with filters\n * @param filters - Filters to apply\n * @param append - If true, appends results to existing questions; if false, replaces them\n */\n const fetchQuestions = useCallback(\n async (filters?: Partial<QuestionsFilterBody>, append: boolean = false) => {\n if (append) {\n setState((prev) => ({ ...prev, loadingMore: true, error: null }));\n } else {\n updateState({ loading: true, error: null, questions: [] });\n }\n\n try {\n const validatedFilters: QuestionsFilterBody = {\n ...filters,\n };\n\n const response = await apiClient.post<QuestionsListResponse>(\n '/questions/list',\n validatedFilters\n );\n\n setState((prev) => ({\n loading: false,\n loadingMore: false,\n questions: append\n ? [...prev.questions, ...response.data.data.questions]\n : response.data.data.questions,\n pagination: response.data.data.pagination,\n error: null,\n currentFilters: validatedFilters,\n }));\n } catch (error) {\n setState((prev) => ({\n ...prev,\n loading: false,\n loadingMore: false,\n }));\n handleError(error);\n }\n },\n [apiClient, updateState, handleError]\n );\n\n const loadMore = useCallback(async () => {\n setState((prev) => {\n const { currentFilters, pagination, loadingMore: isLoadingMore } = prev;\n\n if (isLoadingMore || !currentFilters || !pagination?.hasNext) {\n return prev;\n }\n\n const nextPageFilters = {\n ...currentFilters,\n page: pagination.page + 1,\n };\n\n fetchQuestions(nextPageFilters, true).catch((error) => {\n console.error('Erro ao carregar mais questões:', error);\n });\n\n return {\n ...prev,\n loadingMore: true,\n };\n });\n }, [fetchQuestions]);\n\n /**\n * Reset questions list\n */\n const reset = useCallback(() => {\n setState({\n questions: [],\n pagination: null,\n loading: false,\n loadingMore: false,\n error: null,\n currentFilters: null,\n });\n }, []);\n\n return {\n ...state,\n fetchQuestions,\n loadMore,\n reset,\n };\n};\n\n// ============================================================================\n// Hook Factory\n// ============================================================================\n\n/**\n * Create a questions list hook with API client injection.\n * @param apiClient - API client instance\n * @returns Pre-configured useQuestionsList hook\n *\n * @example\n * // In your app setup\n * import { createUseQuestionsList } from 'analytica-frontend-lib';\n * import api from './services/api';\n *\n * export const useQuestionsList = createUseQuestionsList(api);\n *\n * // Then use directly in components\n * const { questions, fetchQuestions, loadMore } = useQuestionsList();\n */\nexport const createUseQuestionsList = (apiClient: BaseApiClient) => {\n return (): UseQuestionsListReturn => useQuestionsListImpl(apiClient);\n};\n\n/**\n * Create a pre-configured questions list hook\n * This is a convenience function that returns a hook ready to use\n *\n * @param apiClient - API client instance\n * @returns Pre-configured useQuestionsList hook\n *\n * @example\n * // In your app setup\n * import { createQuestionsListHook } from 'analytica-frontend-lib';\n * import api from './services/api';\n *\n * export const useQuestionsList = createQuestionsListHook(api);\n *\n * // Then use directly in components\n * const { questions, fetchQuestions, loadMore } = useQuestionsList();\n */\nexport const createQuestionsListHook = (apiClient: BaseApiClient) => {\n return createUseQuestionsList(apiClient);\n};\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { BaseApiClient } from '../types/api';
|
|
2
|
+
import type { QuestionsFilterBody, Question, Pagination } from '../types/questions';
|
|
3
|
+
/**
|
|
4
|
+
* Hook state interface
|
|
5
|
+
*/
|
|
6
|
+
interface UseQuestionsListState {
|
|
7
|
+
questions: Question[];
|
|
8
|
+
pagination: Pagination | null;
|
|
9
|
+
loading: boolean;
|
|
10
|
+
loadingMore: boolean;
|
|
11
|
+
error: string | null;
|
|
12
|
+
currentFilters: Partial<QuestionsFilterBody> | null;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Hook return type
|
|
16
|
+
*/
|
|
17
|
+
export interface UseQuestionsListReturn extends UseQuestionsListState {
|
|
18
|
+
fetchQuestions: (filters?: Partial<QuestionsFilterBody>, append?: boolean) => Promise<void>;
|
|
19
|
+
loadMore: () => Promise<void>;
|
|
20
|
+
reset: () => void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Create a questions list hook with API client injection.
|
|
24
|
+
* @param apiClient - API client instance
|
|
25
|
+
* @returns Pre-configured useQuestionsList hook
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* // In your app setup
|
|
29
|
+
* import { createUseQuestionsList } from 'analytica-frontend-lib';
|
|
30
|
+
* import api from './services/api';
|
|
31
|
+
*
|
|
32
|
+
* export const useQuestionsList = createUseQuestionsList(api);
|
|
33
|
+
*
|
|
34
|
+
* // Then use directly in components
|
|
35
|
+
* const { questions, fetchQuestions, loadMore } = useQuestionsList();
|
|
36
|
+
*/
|
|
37
|
+
export declare const createUseQuestionsList: (apiClient: BaseApiClient) => () => UseQuestionsListReturn;
|
|
38
|
+
/**
|
|
39
|
+
* Create a pre-configured questions list hook
|
|
40
|
+
* This is a convenience function that returns a hook ready to use
|
|
41
|
+
*
|
|
42
|
+
* @param apiClient - API client instance
|
|
43
|
+
* @returns Pre-configured useQuestionsList hook
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* // In your app setup
|
|
47
|
+
* import { createQuestionsListHook } from 'analytica-frontend-lib';
|
|
48
|
+
* import api from './services/api';
|
|
49
|
+
*
|
|
50
|
+
* export const useQuestionsList = createQuestionsListHook(api);
|
|
51
|
+
*
|
|
52
|
+
* // Then use directly in components
|
|
53
|
+
* const { questions, fetchQuestions, loadMore } = useQuestionsList();
|
|
54
|
+
*/
|
|
55
|
+
export declare const createQuestionsListHook: (apiClient: BaseApiClient) => () => UseQuestionsListReturn;
|
|
56
|
+
export {};
|
|
57
|
+
//# sourceMappingURL=useQuestionsList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useQuestionsList.d.ts","sourceRoot":"","sources":["../../src/hooks/useQuestionsList.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EACV,mBAAmB,EAEnB,QAAQ,EACR,UAAU,EACX,MAAM,oBAAoB,CAAC;AAM5B;;GAEG;AACH,UAAU,qBAAqB;IAC7B,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;CACrD;AAMD;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,cAAc,EAAE,CACd,OAAO,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,EACtC,MAAM,CAAC,EAAE,OAAO,KACb,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAgJD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,GAAI,WAAW,aAAa,WAClD,sBACZ,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,uBAAuB,GAAI,WAAW,aAAa,WApBnD,sBAsBZ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -54,6 +54,12 @@ export { NotificationEntityType } from './types/notifications';
|
|
|
54
54
|
export { questionTypeLabels } from './types/questionTypes';
|
|
55
55
|
export type { Notification, NotificationType, BackendNotification, BackendNotificationsResponse, NotificationsResponse, FetchNotificationsParams, NotificationApiClient, } from './types/notifications';
|
|
56
56
|
export type { NotificationState, NotificationActions, NotificationStore, } from './store/notificationStore';
|
|
57
|
+
export { createUseActivityFiltersData, createActivityFiltersDataHook, } from './hooks/useActivityFiltersData';
|
|
58
|
+
export type { UseActivityFiltersDataReturn, UseActivityFiltersDataOptions, } from './hooks/useActivityFiltersData';
|
|
59
|
+
export { createUseQuestionsList, createQuestionsListHook, } from './hooks/useQuestionsList';
|
|
60
|
+
export type { UseQuestionsListReturn } from './hooks/useQuestionsList';
|
|
61
|
+
export type { Question as QuestionListItem, Pagination, QuestionsFilterBody, QuestionsListResponse, } from './types/questions';
|
|
62
|
+
export type { BaseApiClient } from './types/api';
|
|
57
63
|
export { useThemeStore } from './store/themeStore';
|
|
58
64
|
export type { ThemeStore, ThemeState, ThemeActions } from './store/themeStore';
|
|
59
65
|
export { default as DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, ProfileMenuTrigger, ProfileMenuFooter, ProfileMenuHeader, ProfileMenuInfo, ProfileMenuSection, MenuLabel, DropdownMenuSeparator, ProfileToggleTheme, } from './components/DropdownMenu/DropdownMenu';
|
|
@@ -114,6 +120,8 @@ export { useAppContent } from './hooks/useAppContent';
|
|
|
114
120
|
export { useInstitutionId } from './hooks/useInstitution';
|
|
115
121
|
export { useAuthStore } from './store/authStore';
|
|
116
122
|
export { useAppStore } from './store/appStore';
|
|
123
|
+
export { useQuestionFiltersStore } from './store/questionFiltersStore';
|
|
124
|
+
export type { QuestionFiltersState } from './store/questionFiltersStore';
|
|
117
125
|
export type { AuthState } from './store/authStore';
|
|
118
126
|
export { ActivityCardQuestionBanks } from './components/ActivityCardQuestionBanks/ActivityCardQuestionBanks';
|
|
119
127
|
export { cn, getSubjectColorWithOpacity, syncDropdownState, getSelectedIdsFromCategories, toggleArrayItem, toggleSingleValue, } from './utils/utils';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|