@intlayer/design-system 8.12.1 → 8.12.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.
- package/dist/esm/api/hooks/environment.mjs +111 -0
- package/dist/esm/api/hooks/environment.mjs.map +1 -0
- package/dist/esm/api/hooks/project.mjs +1 -102
- package/dist/esm/api/hooks/project.mjs.map +1 -1
- package/dist/esm/api/index.mjs +6 -5
- package/dist/esm/api/useAuth/useOAuth2.mjs +1 -1
- package/dist/esm/api/useAuth/useSession.mjs +1 -1
- package/dist/esm/api/useIntlayerAPI.mjs +6 -1
- package/dist/esm/api/useIntlayerAPI.mjs.map +1 -1
- package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs +1 -1
- package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +2 -2
- package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +3 -3
- package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +1 -1
- package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +1 -1
- package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +1 -1
- package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs +1 -1
- package/dist/esm/components/Form/FormBase.mjs +11 -0
- package/dist/esm/components/Form/FormBase.mjs.map +1 -1
- package/dist/esm/components/Form/elements/OTPElement.mjs +1 -1
- package/dist/esm/components/Form/elements/SwitchSelectorElement.mjs +4 -0
- package/dist/esm/components/Form/elements/SwitchSelectorElement.mjs.map +1 -1
- package/dist/esm/components/Link/Link.mjs +7 -6
- package/dist/esm/components/Link/Link.mjs.map +1 -1
- package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +1 -1
- package/dist/esm/components/Modal/Modal.mjs +2 -2
- package/dist/esm/components/Navbar/MobileNavbar.mjs +1 -1
- package/dist/esm/components/Pagination/Pagination.mjs +1 -1
- package/dist/esm/components/RightDrawer/RightDrawer.mjs +3 -3
- package/dist/esm/components/Steps/index.mjs +3 -1
- package/dist/esm/components/Steps/index.mjs.map +1 -1
- package/dist/esm/components/SwitchSelector/SwitchSelector.mjs +1 -0
- package/dist/esm/components/SwitchSelector/SwitchSelector.mjs.map +1 -1
- package/dist/esm/components/Tab/Tab.mjs +1 -1
- package/dist/esm/hooks/index.mjs +8 -8
- package/dist/esm/libs/auth.mjs +3 -3
- package/dist/esm/libs/auth.mjs.map +1 -1
- package/dist/esm/providers/ReactQueryProvider.mjs +1 -1
- package/dist/esm/providers/ReactQueryProvider.mjs.map +1 -1
- package/dist/types/api/hooks/environment.d.ts +10 -0
- package/dist/types/api/hooks/environment.d.ts.map +1 -0
- package/dist/types/api/hooks/project.d.ts +1 -7
- package/dist/types/api/hooks/project.d.ts.map +1 -1
- package/dist/types/api/index.d.ts +4 -3
- package/dist/types/api/useIntlayerAPI.d.ts +9 -7
- package/dist/types/api/useIntlayerAPI.d.ts.map +1 -1
- package/dist/types/components/Badge/index.d.ts +1 -1
- package/dist/types/components/Button/Button.d.ts +3 -3
- package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts +1 -1
- package/dist/types/components/Command/index.d.ts +2 -2
- package/dist/types/components/Container/index.d.ts +2 -2
- package/dist/types/components/Form/FormBase.d.ts.map +1 -1
- package/dist/types/components/Form/elements/SwitchSelectorElement.d.ts.map +1 -1
- package/dist/types/components/Input/Checkbox.d.ts +1 -1
- package/dist/types/components/Input/Radio.d.ts +1 -1
- package/dist/types/components/Link/Link.d.ts +2 -2
- package/dist/types/components/Link/Link.d.ts.map +1 -1
- package/dist/types/components/Steps/index.d.ts.map +1 -1
- package/dist/types/components/SwitchSelector/SwitchSelector.d.ts +1 -1
- package/dist/types/components/TabSelector/TabSelector.d.ts +1 -1
- package/dist/types/components/Tag/index.d.ts +1 -1
- package/package.json +17 -17
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useEnvironmentAPI } from "../useIntlayerAPI.mjs";
|
|
4
|
+
import { useMutation, useQueryClient } from "@tanstack/react-query";
|
|
5
|
+
|
|
6
|
+
//#region src/api/hooks/environment.ts
|
|
7
|
+
const useAddEnvironment = () => {
|
|
8
|
+
const environmentAPI = useEnvironmentAPI();
|
|
9
|
+
const queryClient = useQueryClient();
|
|
10
|
+
return useMutation({
|
|
11
|
+
mutationKey: ["projects", "environments"],
|
|
12
|
+
mutationFn: (args) => environmentAPI.addEnvironment(args),
|
|
13
|
+
onSuccess: (data) => {
|
|
14
|
+
const session = queryClient.getQueryData(["session"]);
|
|
15
|
+
queryClient.setQueryData(["session"], {
|
|
16
|
+
...session ?? {},
|
|
17
|
+
project: {
|
|
18
|
+
...session?.project ?? {},
|
|
19
|
+
environments: data.data
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
queryClient.invalidateQueries({ queryKey: ["projects"] });
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
const useUpdateEnvironment = () => {
|
|
27
|
+
const environmentAPI = useEnvironmentAPI();
|
|
28
|
+
const queryClient = useQueryClient();
|
|
29
|
+
return useMutation({
|
|
30
|
+
mutationKey: ["projects", "environments"],
|
|
31
|
+
mutationFn: ({ environmentId, ...body }) => environmentAPI.updateEnvironment(environmentId, body),
|
|
32
|
+
onSuccess: (data) => {
|
|
33
|
+
const session = queryClient.getQueryData(["session"]);
|
|
34
|
+
queryClient.setQueryData(["session"], {
|
|
35
|
+
...session ?? {},
|
|
36
|
+
project: {
|
|
37
|
+
...session?.project ?? {},
|
|
38
|
+
environments: data.data
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
queryClient.invalidateQueries({ queryKey: ["projects"] });
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
const useDeleteEnvironment = () => {
|
|
46
|
+
const environmentAPI = useEnvironmentAPI();
|
|
47
|
+
const queryClient = useQueryClient();
|
|
48
|
+
return useMutation({
|
|
49
|
+
mutationKey: ["projects", "environments"],
|
|
50
|
+
mutationFn: (environmentId) => environmentAPI.deleteEnvironment(environmentId),
|
|
51
|
+
onSuccess: (data) => {
|
|
52
|
+
const session = queryClient.getQueryData(["session"]);
|
|
53
|
+
queryClient.setQueryData(["session"], {
|
|
54
|
+
...session ?? {},
|
|
55
|
+
project: {
|
|
56
|
+
...session?.project ?? {},
|
|
57
|
+
environments: data.data
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
queryClient.invalidateQueries({ queryKey: ["projects", "dictionaries"] });
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
const useSelectEnvironment = () => {
|
|
65
|
+
const environmentAPI = useEnvironmentAPI();
|
|
66
|
+
const queryClient = useQueryClient();
|
|
67
|
+
return useMutation({
|
|
68
|
+
mutationKey: ["session-environment"],
|
|
69
|
+
mutationFn: (environmentId) => environmentAPI.selectEnvironment(environmentId),
|
|
70
|
+
onSuccess: (data) => {
|
|
71
|
+
const session = queryClient.getQueryData(["session"]);
|
|
72
|
+
queryClient.setQueryData(["session"], {
|
|
73
|
+
...session ?? {},
|
|
74
|
+
environment: data.data
|
|
75
|
+
});
|
|
76
|
+
queryClient.invalidateQueries({ queryKey: ["dictionaries"] });
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
const useResetToProductionEnvironment = () => {
|
|
81
|
+
const environmentAPI = useEnvironmentAPI();
|
|
82
|
+
const queryClient = useQueryClient();
|
|
83
|
+
return useMutation({
|
|
84
|
+
mutationKey: ["session-environment"],
|
|
85
|
+
mutationFn: () => environmentAPI.resetToProductionEnvironment(),
|
|
86
|
+
onSuccess: (data) => {
|
|
87
|
+
const session = queryClient.getQueryData(["session"]);
|
|
88
|
+
queryClient.setQueryData(["session"], {
|
|
89
|
+
...session ?? {},
|
|
90
|
+
environment: data.data
|
|
91
|
+
});
|
|
92
|
+
queryClient.invalidateQueries({ queryKey: ["dictionaries"] });
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
const useMigrateEnvironment = () => {
|
|
97
|
+
const environmentAPI = useEnvironmentAPI();
|
|
98
|
+
return useMutation({
|
|
99
|
+
mutationKey: [
|
|
100
|
+
"projects",
|
|
101
|
+
"environments",
|
|
102
|
+
"migrate"
|
|
103
|
+
],
|
|
104
|
+
mutationFn: (args) => environmentAPI.migrateEnvironment(args),
|
|
105
|
+
meta: { invalidateQueries: [["dictionaries"]] }
|
|
106
|
+
});
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
//#endregion
|
|
110
|
+
export { useAddEnvironment, useDeleteEnvironment, useMigrateEnvironment, useResetToProductionEnvironment, useSelectEnvironment, useUpdateEnvironment };
|
|
111
|
+
//# sourceMappingURL=environment.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.mjs","names":[],"sources":["../../../../src/api/hooks/environment.ts"],"sourcesContent":["'use client';\n\nimport type {\n AddEnvironmentBody,\n MigrateEnvironmentBody,\n UpdateEnvironmentBody,\n} from '@intlayer/backend';\nimport { useMutation, useQueryClient } from '@tanstack/react-query';\nimport { useEnvironmentAPI } from '../useIntlayerAPI';\n\nexport const useAddEnvironment = () => {\n const environmentAPI = useEnvironmentAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['projects', 'environments'],\n mutationFn: (args: AddEnvironmentBody) =>\n environmentAPI.addEnvironment(args),\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n queryClient.setQueryData(['session'], {\n ...(session ?? {}),\n project: {\n ...((session as any)?.project ?? {}),\n environments: data.data,\n },\n });\n queryClient.invalidateQueries({ queryKey: ['projects'] });\n },\n });\n};\n\nexport const useUpdateEnvironment = () => {\n const environmentAPI = useEnvironmentAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['projects', 'environments'],\n mutationFn: ({\n environmentId,\n ...body\n }: UpdateEnvironmentBody & { environmentId: string }) =>\n environmentAPI.updateEnvironment(environmentId, body),\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n queryClient.setQueryData(['session'], {\n ...(session ?? {}),\n project: {\n ...((session as any)?.project ?? {}),\n environments: data.data,\n },\n });\n queryClient.invalidateQueries({ queryKey: ['projects'] });\n },\n });\n};\n\nexport const useDeleteEnvironment = () => {\n const environmentAPI = useEnvironmentAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['projects', 'environments'],\n mutationFn: (environmentId: string) =>\n environmentAPI.deleteEnvironment(environmentId),\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n queryClient.setQueryData(['session'], {\n ...(session ?? {}),\n project: {\n ...((session as any)?.project ?? {}),\n environments: data.data,\n },\n });\n queryClient.invalidateQueries({\n queryKey: ['projects', 'dictionaries'],\n });\n },\n });\n};\n\nexport const useSelectEnvironment = () => {\n const environmentAPI = useEnvironmentAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['session-environment'],\n mutationFn: (environmentId: string) =>\n environmentAPI.selectEnvironment(environmentId),\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n queryClient.setQueryData(['session'], {\n ...(session ?? {}),\n environment: data.data,\n });\n queryClient.invalidateQueries({ queryKey: ['dictionaries'] });\n },\n });\n};\n\nexport const useResetToProductionEnvironment = () => {\n const environmentAPI = useEnvironmentAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['session-environment'],\n mutationFn: () => environmentAPI.resetToProductionEnvironment(),\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n queryClient.setQueryData(['session'], {\n ...(session ?? {}),\n environment: data.data,\n });\n queryClient.invalidateQueries({ queryKey: ['dictionaries'] });\n },\n });\n};\n\nexport const useMigrateEnvironment = () => {\n const environmentAPI = useEnvironmentAPI();\n\n return useMutation({\n mutationKey: ['projects', 'environments', 'migrate'],\n mutationFn: (args: MigrateEnvironmentBody) =>\n environmentAPI.migrateEnvironment(args),\n meta: {\n invalidateQueries: [['dictionaries']],\n },\n });\n};\n"],"mappings":"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"}
|
|
@@ -157,107 +157,6 @@ const useTriggerWebhook = () => {
|
|
|
157
157
|
meta: { invalidateQueries: [["projects"]] }
|
|
158
158
|
});
|
|
159
159
|
};
|
|
160
|
-
const useAddEnvironment = () => {
|
|
161
|
-
const projectAPI = useProjectAPI();
|
|
162
|
-
const queryClient = useQueryClient();
|
|
163
|
-
return useMutation({
|
|
164
|
-
mutationKey: ["projects", "environments"],
|
|
165
|
-
mutationFn: (args) => projectAPI.addEnvironment(args),
|
|
166
|
-
onSuccess: (data) => {
|
|
167
|
-
const session = queryClient.getQueryData(["session"]);
|
|
168
|
-
queryClient.setQueryData(["session"], {
|
|
169
|
-
...session ?? {},
|
|
170
|
-
project: {
|
|
171
|
-
...session?.project ?? {},
|
|
172
|
-
environments: data.data
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
queryClient.invalidateQueries({ queryKey: ["projects"] });
|
|
176
|
-
}
|
|
177
|
-
});
|
|
178
|
-
};
|
|
179
|
-
const useUpdateEnvironment = () => {
|
|
180
|
-
const projectAPI = useProjectAPI();
|
|
181
|
-
const queryClient = useQueryClient();
|
|
182
|
-
return useMutation({
|
|
183
|
-
mutationKey: ["projects", "environments"],
|
|
184
|
-
mutationFn: ({ environmentId, ...body }) => projectAPI.updateEnvironment(environmentId, body),
|
|
185
|
-
onSuccess: (data) => {
|
|
186
|
-
const session = queryClient.getQueryData(["session"]);
|
|
187
|
-
queryClient.setQueryData(["session"], {
|
|
188
|
-
...session ?? {},
|
|
189
|
-
project: {
|
|
190
|
-
...session?.project ?? {},
|
|
191
|
-
environments: data.data
|
|
192
|
-
}
|
|
193
|
-
});
|
|
194
|
-
queryClient.invalidateQueries({ queryKey: ["projects"] });
|
|
195
|
-
}
|
|
196
|
-
});
|
|
197
|
-
};
|
|
198
|
-
const useDeleteEnvironment = () => {
|
|
199
|
-
const projectAPI = useProjectAPI();
|
|
200
|
-
const queryClient = useQueryClient();
|
|
201
|
-
return useMutation({
|
|
202
|
-
mutationKey: ["projects", "environments"],
|
|
203
|
-
mutationFn: (environmentId) => projectAPI.deleteEnvironment(environmentId),
|
|
204
|
-
onSuccess: (data) => {
|
|
205
|
-
const session = queryClient.getQueryData(["session"]);
|
|
206
|
-
queryClient.setQueryData(["session"], {
|
|
207
|
-
...session ?? {},
|
|
208
|
-
project: {
|
|
209
|
-
...session?.project ?? {},
|
|
210
|
-
environments: data.data
|
|
211
|
-
}
|
|
212
|
-
});
|
|
213
|
-
queryClient.invalidateQueries({ queryKey: ["projects", "dictionaries"] });
|
|
214
|
-
}
|
|
215
|
-
});
|
|
216
|
-
};
|
|
217
|
-
const useSelectEnvironment = () => {
|
|
218
|
-
const projectAPI = useProjectAPI();
|
|
219
|
-
const queryClient = useQueryClient();
|
|
220
|
-
return useMutation({
|
|
221
|
-
mutationKey: ["session-environment"],
|
|
222
|
-
mutationFn: (environmentId) => projectAPI.selectEnvironment(environmentId),
|
|
223
|
-
onSuccess: (data) => {
|
|
224
|
-
const session = queryClient.getQueryData(["session"]);
|
|
225
|
-
queryClient.setQueryData(["session"], {
|
|
226
|
-
...session ?? {},
|
|
227
|
-
environment: data.data
|
|
228
|
-
});
|
|
229
|
-
queryClient.invalidateQueries({ queryKey: ["dictionaries"] });
|
|
230
|
-
}
|
|
231
|
-
});
|
|
232
|
-
};
|
|
233
|
-
const useResetToProductionEnvironment = () => {
|
|
234
|
-
const projectAPI = useProjectAPI();
|
|
235
|
-
const queryClient = useQueryClient();
|
|
236
|
-
return useMutation({
|
|
237
|
-
mutationKey: ["session-environment"],
|
|
238
|
-
mutationFn: () => projectAPI.resetToProductionEnvironment(),
|
|
239
|
-
onSuccess: (data) => {
|
|
240
|
-
const session = queryClient.getQueryData(["session"]);
|
|
241
|
-
queryClient.setQueryData(["session"], {
|
|
242
|
-
...session ?? {},
|
|
243
|
-
environment: data.data
|
|
244
|
-
});
|
|
245
|
-
queryClient.invalidateQueries({ queryKey: ["dictionaries"] });
|
|
246
|
-
}
|
|
247
|
-
});
|
|
248
|
-
};
|
|
249
|
-
const useMigrateEnvironment = () => {
|
|
250
|
-
const projectAPI = useProjectAPI();
|
|
251
|
-
return useMutation({
|
|
252
|
-
mutationKey: [
|
|
253
|
-
"projects",
|
|
254
|
-
"environments",
|
|
255
|
-
"migrate"
|
|
256
|
-
],
|
|
257
|
-
mutationFn: (args) => projectAPI.migrateEnvironment(args),
|
|
258
|
-
meta: { invalidateQueries: [["dictionaries"]] }
|
|
259
|
-
});
|
|
260
|
-
};
|
|
261
160
|
const useAddNewAccessKey = () => {
|
|
262
161
|
const projectAPI = useProjectAPI();
|
|
263
162
|
return useMutation({
|
|
@@ -292,5 +191,5 @@ const useUpdateMemberAccess = () => {
|
|
|
292
191
|
};
|
|
293
192
|
|
|
294
193
|
//#endregion
|
|
295
|
-
export {
|
|
194
|
+
export { useAddNewAccessKey, useAddProject, useDeleteAccessKey, useDeleteProject, useDeleteProjectById, useGetCIConfig, useGetProjects, usePushCIConfig, usePushProjectConfiguration, useRefreshAccessKey, useSelectProject, useTriggerBuild, useTriggerWebhook, useUnselectProject, useUpdateMemberAccess, useUpdateProject, useUpdateProjectMembers };
|
|
296
195
|
//# sourceMappingURL=project.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.mjs","names":[],"sources":["../../../../src/api/hooks/project.ts"],"sourcesContent":["'use client';\n\nimport type {\n AddEnvironmentBody,\n AddNewAccessKeyBody,\n AddProjectBody,\n DeleteAccessKeyBody,\n GetProjectsParams,\n MigrateEnvironmentBody,\n PushProjectConfigurationBody,\n RefreshAccessKeyBody,\n SelectProjectParam,\n UpdateEnvironmentBody,\n UpdateMemberAccessBody,\n UpdateProjectBody,\n UpdateProjectMembersBody,\n} from '@intlayer/backend';\nimport {\n type UseQueryOptions,\n useMutation,\n useQueryClient,\n} from '@tanstack/react-query';\nimport { useProjectAPI } from '../useIntlayerAPI';\nimport { useAppQuery } from './utils';\n\nexport const useGetProjects = (\n filters?: GetProjectsParams,\n options?: Partial<UseQueryOptions>\n) => {\n const projectAPI = useProjectAPI();\n\n return useAppQuery({\n queryKey: ['projects', filters],\n queryFn: ({ signal }) => projectAPI.getProjects(filters, { signal }),\n // placeholderData: keepPreviousData,\n requireUser: true,\n requireOrganization: true,\n ...options,\n });\n};\n\nexport const useAddProject = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (args: AddProjectBody) => projectAPI.addProject(args),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useUpdateProject = () => {\n const projectAPI = useProjectAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (args: UpdateProjectBody) => projectAPI.updateProject(args),\n meta: {\n invalidateQueries: [['projects']],\n },\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n\n queryClient.setQueryData(['session'], {\n ...(session ?? {}),\n project: data.data,\n });\n },\n });\n};\n\nexport const usePushProjectConfiguration = () => {\n const projectAPI = useProjectAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['project', 'push-configuration'],\n mutationFn: (args: PushProjectConfigurationBody) =>\n projectAPI.pushProjectConfiguration(args),\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n\n queryClient.setQueryData(['session'], {\n ...(session ?? {}),\n project: data.data,\n });\n },\n });\n};\n\nexport const useUpdateProjectMembers = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (args: UpdateProjectMembersBody) =>\n projectAPI.updateProjectMembers(args),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useDeleteProject = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: () => projectAPI.deleteProject(),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useDeleteProjectById = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (projectId: string) =>\n projectAPI.deleteProjectByIdAdmin(projectId),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useSelectProject = () => {\n const projectAPI = useProjectAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['session-projects'],\n mutationFn: (args: SelectProjectParam) => projectAPI.selectProject(args),\n meta: {\n invalidateQueries: [\n ['session'],\n ['projects'],\n ['dictionaries'],\n ['tags'],\n ['subscription'],\n ['users'],\n ],\n },\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n\n queryClient.setQueryData(['session'], {\n ...(session ?? {}),\n project: data.data,\n });\n },\n });\n};\n\nexport const useUnselectProject = () => {\n const projectAPI = useProjectAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['session-projects'],\n mutationFn: () => projectAPI.unselectProject(),\n meta: {\n resetQueries: [\n ['session'],\n ['projects'],\n ['dictionaries'],\n ['tags'],\n ['subscription'],\n ['users'],\n ],\n },\n onSuccess: () => {\n const session = queryClient.getQueryData(['session']);\n\n queryClient.setQueryData(['session'], {\n ...(session ?? {}),\n project: null,\n });\n },\n });\n};\n\nexport const useGetCIConfig = (options?: Partial<UseQueryOptions>) => {\n const projectAPI = useProjectAPI();\n\n return useAppQuery({\n queryKey: ['ci-config'],\n queryFn: ({ signal }) => projectAPI.getCIConfig({ signal }),\n requireProject: true,\n ...options,\n });\n};\n\nexport const usePushCIConfig = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['ci-config'],\n mutationFn: () => projectAPI.pushCIConfig(),\n meta: {\n invalidateQueries: [['ci-config']],\n },\n });\n};\n\nexport const useTriggerBuild = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['projects', 'build'],\n mutationFn: () => projectAPI.triggerBuild(),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useTriggerWebhook = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['projects', 'webhook'],\n mutationFn: (webhookIndex: number) =>\n projectAPI.triggerWebhook(webhookIndex),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useAddEnvironment = () => {\n const projectAPI = useProjectAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['projects', 'environments'],\n mutationFn: (args: AddEnvironmentBody) => projectAPI.addEnvironment(args),\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n queryClient.setQueryData(['session'], {\n ...(session ?? {}),\n project: {\n ...((session as any)?.project ?? {}),\n environments: data.data,\n },\n });\n queryClient.invalidateQueries({ queryKey: ['projects'] });\n },\n });\n};\n\nexport const useUpdateEnvironment = () => {\n const projectAPI = useProjectAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['projects', 'environments'],\n mutationFn: ({\n environmentId,\n ...body\n }: UpdateEnvironmentBody & { environmentId: string }) =>\n projectAPI.updateEnvironment(environmentId, body),\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n queryClient.setQueryData(['session'], {\n ...(session ?? {}),\n project: {\n ...((session as any)?.project ?? {}),\n environments: data.data,\n },\n });\n queryClient.invalidateQueries({ queryKey: ['projects'] });\n },\n });\n};\n\nexport const useDeleteEnvironment = () => {\n const projectAPI = useProjectAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['projects', 'environments'],\n mutationFn: (environmentId: string) =>\n projectAPI.deleteEnvironment(environmentId),\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n queryClient.setQueryData(['session'], {\n ...(session ?? {}),\n project: {\n ...((session as any)?.project ?? {}),\n environments: data.data,\n },\n });\n queryClient.invalidateQueries({ queryKey: ['projects', 'dictionaries'] });\n },\n });\n};\n\nexport const useSelectEnvironment = () => {\n const projectAPI = useProjectAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['session-environment'],\n mutationFn: (environmentId: string) =>\n projectAPI.selectEnvironment(environmentId),\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n queryClient.setQueryData(['session'], {\n ...(session ?? {}),\n environment: data.data,\n });\n queryClient.invalidateQueries({ queryKey: ['dictionaries'] });\n },\n });\n};\n\nexport const useResetToProductionEnvironment = () => {\n const projectAPI = useProjectAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['session-environment'],\n mutationFn: () => projectAPI.resetToProductionEnvironment(),\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n queryClient.setQueryData(['session'], {\n ...(session ?? {}),\n environment: data.data,\n });\n queryClient.invalidateQueries({ queryKey: ['dictionaries'] });\n },\n });\n};\n\nexport const useMigrateEnvironment = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['projects', 'environments', 'migrate'],\n mutationFn: (args: MigrateEnvironmentBody) =>\n projectAPI.migrateEnvironment(args),\n meta: {\n invalidateQueries: [['dictionaries']],\n },\n });\n};\n\nexport const useAddNewAccessKey = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['session', 'access-keys'],\n mutationFn: (args: AddNewAccessKeyBody) => projectAPI.addNewAccessKey(args),\n meta: {\n invalidateQueries: [['session']],\n },\n });\n};\n\nexport const useDeleteAccessKey = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['session', 'access-keys'],\n mutationFn: (args: DeleteAccessKeyBody) => projectAPI.deleteAccessKey(args),\n meta: {\n invalidateQueries: [['session']],\n },\n });\n};\n\nexport const useRefreshAccessKey = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['session', 'access-keys'],\n mutationFn: (args: RefreshAccessKeyBody) =>\n projectAPI.refreshAccessKey(args),\n meta: {\n invalidateQueries: [['session']],\n },\n });\n};\n\nexport const useUpdateMemberAccess = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['projects', 'member-access'],\n mutationFn: ({\n userId,\n ...body\n }: UpdateMemberAccessBody & { userId: string }) =>\n projectAPI.updateMemberAccess(userId, body),\n meta: {\n invalidateQueries: [['projects'], ['session']],\n },\n });\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project.mjs","names":[],"sources":["../../../../src/api/hooks/project.ts"],"sourcesContent":["'use client';\n\nimport type {\n AddNewAccessKeyBody,\n AddProjectBody,\n DeleteAccessKeyBody,\n GetProjectsParams,\n PushProjectConfigurationBody,\n RefreshAccessKeyBody,\n SelectProjectParam,\n UpdateMemberAccessBody,\n UpdateProjectBody,\n UpdateProjectMembersBody,\n} from '@intlayer/backend';\nimport {\n type UseQueryOptions,\n useMutation,\n useQueryClient,\n} from '@tanstack/react-query';\nimport { useProjectAPI } from '../useIntlayerAPI';\nimport { useAppQuery } from './utils';\n\nexport const useGetProjects = (\n filters?: GetProjectsParams,\n options?: Partial<UseQueryOptions>\n) => {\n const projectAPI = useProjectAPI();\n\n return useAppQuery({\n queryKey: ['projects', filters],\n queryFn: ({ signal }) => projectAPI.getProjects(filters, { signal }),\n // placeholderData: keepPreviousData,\n requireUser: true,\n requireOrganization: true,\n ...options,\n });\n};\n\nexport const useAddProject = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (args: AddProjectBody) => projectAPI.addProject(args),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useUpdateProject = () => {\n const projectAPI = useProjectAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (args: UpdateProjectBody) => projectAPI.updateProject(args),\n meta: {\n invalidateQueries: [['projects']],\n },\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n\n queryClient.setQueryData(['session'], {\n ...(session ?? {}),\n project: data.data,\n });\n },\n });\n};\n\nexport const usePushProjectConfiguration = () => {\n const projectAPI = useProjectAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['project', 'push-configuration'],\n mutationFn: (args: PushProjectConfigurationBody) =>\n projectAPI.pushProjectConfiguration(args),\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n\n queryClient.setQueryData(['session'], {\n ...(session ?? {}),\n project: data.data,\n });\n },\n });\n};\n\nexport const useUpdateProjectMembers = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (args: UpdateProjectMembersBody) =>\n projectAPI.updateProjectMembers(args),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useDeleteProject = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: () => projectAPI.deleteProject(),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useDeleteProjectById = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (projectId: string) =>\n projectAPI.deleteProjectByIdAdmin(projectId),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useSelectProject = () => {\n const projectAPI = useProjectAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['session-projects'],\n mutationFn: (args: SelectProjectParam) => projectAPI.selectProject(args),\n meta: {\n invalidateQueries: [\n ['session'],\n ['projects'],\n ['dictionaries'],\n ['tags'],\n ['subscription'],\n ['users'],\n ],\n },\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n\n queryClient.setQueryData(['session'], {\n ...(session ?? {}),\n project: data.data,\n });\n },\n });\n};\n\nexport const useUnselectProject = () => {\n const projectAPI = useProjectAPI();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['session-projects'],\n mutationFn: () => projectAPI.unselectProject(),\n meta: {\n resetQueries: [\n ['session'],\n ['projects'],\n ['dictionaries'],\n ['tags'],\n ['subscription'],\n ['users'],\n ],\n },\n onSuccess: () => {\n const session = queryClient.getQueryData(['session']);\n\n queryClient.setQueryData(['session'], {\n ...(session ?? {}),\n project: null,\n });\n },\n });\n};\n\nexport const useGetCIConfig = (options?: Partial<UseQueryOptions>) => {\n const projectAPI = useProjectAPI();\n\n return useAppQuery({\n queryKey: ['ci-config'],\n queryFn: ({ signal }) => projectAPI.getCIConfig({ signal }),\n requireProject: true,\n ...options,\n });\n};\n\nexport const usePushCIConfig = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['ci-config'],\n mutationFn: () => projectAPI.pushCIConfig(),\n meta: {\n invalidateQueries: [['ci-config']],\n },\n });\n};\n\nexport const useTriggerBuild = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['projects', 'build'],\n mutationFn: () => projectAPI.triggerBuild(),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useTriggerWebhook = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['projects', 'webhook'],\n mutationFn: (webhookIndex: number) =>\n projectAPI.triggerWebhook(webhookIndex),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useAddNewAccessKey = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['session', 'access-keys'],\n mutationFn: (args: AddNewAccessKeyBody) => projectAPI.addNewAccessKey(args),\n meta: {\n invalidateQueries: [['session']],\n },\n });\n};\n\nexport const useDeleteAccessKey = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['session', 'access-keys'],\n mutationFn: (args: DeleteAccessKeyBody) => projectAPI.deleteAccessKey(args),\n meta: {\n invalidateQueries: [['session']],\n },\n });\n};\n\nexport const useRefreshAccessKey = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['session', 'access-keys'],\n mutationFn: (args: RefreshAccessKeyBody) =>\n projectAPI.refreshAccessKey(args),\n meta: {\n invalidateQueries: [['session']],\n },\n });\n};\n\nexport const useUpdateMemberAccess = () => {\n const projectAPI = useProjectAPI();\n\n return useMutation({\n mutationKey: ['projects', 'member-access'],\n mutationFn: ({\n userId,\n ...body\n }: UpdateMemberAccessBody & { userId: string }) =>\n projectAPI.updateMemberAccess(userId, body),\n meta: {\n invalidateQueries: [['projects'], ['session']],\n },\n });\n};\n"],"mappings":"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"}
|
package/dist/esm/api/index.mjs
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { useOAuth2 } from "./useAuth/useOAuth2.mjs";
|
|
2
2
|
import { useSession } from "./useAuth/useSession.mjs";
|
|
3
3
|
import { useAuth } from "./useAuth/useAuth.mjs";
|
|
4
|
-
import { useAiAPI, useAuditAPI, useBitbucketAPI, useDictionaryAPI, useEditorAPI, useGithubAPI, useGitlabAPI, useIntlayerAuth, useIntlayerOAuth, useIntlayerOAuthOptions, useNewsletterAPI, useOAuthAPI, useOrganizationAPI, useProjectAPI, useReviewerAPI, useSearchAPI, useShowcaseProjectAPI, useStripeAPI, useTagAPI, useTranslateAPI, useUserAPI } from "./useIntlayerAPI.mjs";
|
|
5
|
-
import { useAddPasskey, useAskResetPassword, useChangePassword, useDeletePasskey, useDeleteSSOProvider, useDisableTwoFactor, useEnableTwoFactor, useGetUserByAccount, useGetVerifyEmailStatus, useLinkSocial, useListAccounts, useListPasskeys, useListSSOProviders, useLogin, useLogout, useRegister, useRegisterSSO, useResetPassword, useSignInMagicLink, useSignInPasskey, useSignInSSO, useUnlinkAccount, useVerifyBackupCode, useVerifyEmail, useVerifyTotp } from "./hooks/auth.mjs";
|
|
6
|
-
import { useUser } from "./useUser/index.mjs";
|
|
4
|
+
import { useAiAPI, useAuditAPI, useBitbucketAPI, useDictionaryAPI, useEditorAPI, useEnvironmentAPI, useGithubAPI, useGitlabAPI, useIntlayerAuth, useIntlayerOAuth, useIntlayerOAuthOptions, useNewsletterAPI, useOAuthAPI, useOrganizationAPI, useProjectAPI, useReviewerAPI, useSearchAPI, useShowcaseProjectAPI, useStripeAPI, useTagAPI, useTranslateAPI, useUserAPI } from "./useIntlayerAPI.mjs";
|
|
7
5
|
import { useAskDocQuestion, useAuditContentDeclaration, useAuditContentDeclarationField, useAuditContentDeclarationMetadata, useAuditTag, useAutocomplete, useChat, useTranslateJSONDeclaration } from "./hooks/ai.mjs";
|
|
8
6
|
import { useAuditScan, useGetRecursiveAuditStatus, useStartRecursiveAudit } from "./hooks/audit.mjs";
|
|
7
|
+
import { useAddPasskey, useAskResetPassword, useChangePassword, useDeletePasskey, useDeleteSSOProvider, useDisableTwoFactor, useEnableTwoFactor, useGetUserByAccount, useGetVerifyEmailStatus, useLinkSocial, useListAccounts, useListPasskeys, useListSSOProviders, useLogin, useLogout, useRegister, useRegisterSSO, useResetPassword, useSignInMagicLink, useSignInPasskey, useSignInSSO, useUnlinkAccount, useVerifyBackupCode, useVerifyEmail, useVerifyTotp } from "./hooks/auth.mjs";
|
|
9
8
|
import { useBitbucketAuth, useBitbucketCheckConfig, useBitbucketGetConfigFile, useBitbucketRepos } from "./hooks/bitbucket.mjs";
|
|
10
9
|
import { useAddDictionary, useDeleteDictionary, useGetDictionaries, useGetDictionariesKeys, useGetDictionary, useInfiniteGetDictionaries, usePushDictionaries, useUpdateDictionary } from "./hooks/dictionary.mjs";
|
|
11
10
|
import { useGetDiscussions, useGetDiscussionsData } from "./hooks/discussions.mjs";
|
|
12
11
|
import { useGetEditorDictionaries, useWriteDictionary } from "./hooks/editor.mjs";
|
|
12
|
+
import { useAddEnvironment, useDeleteEnvironment, useMigrateEnvironment, useResetToProductionEnvironment, useSelectEnvironment, useUpdateEnvironment } from "./hooks/environment.mjs";
|
|
13
13
|
import { useGithubAuth, useGithubCheckConfig, useGithubGetAuthUrl, useGithubGetConfigFile, useGithubRepos, useGithubToken } from "./hooks/github.mjs";
|
|
14
14
|
import { useGitlabAuth, useGitlabCheckConfig, useGitlabGetConfigFile, useGitlabProjects } from "./hooks/gitlab.mjs";
|
|
15
15
|
import { useGetNewsletterStatus, useSubscribeToNewsletter, useUnsubscribeFromNewsletter } from "./hooks/newsletter.mjs";
|
|
16
16
|
import { useAddOrganization, useAddOrganizationMember, useDeleteOrganization, useDeleteOrganizationById, useGetOrganizations, useSelectOrganization, useUnselectOrganization, useUpdateOrganization, useUpdateOrganizationMembers, useUpdateOrganizationMembersById } from "./hooks/organization.mjs";
|
|
17
|
-
import {
|
|
17
|
+
import { useAddNewAccessKey, useAddProject, useDeleteAccessKey, useDeleteProject, useDeleteProjectById, useGetCIConfig, useGetProjects, usePushCIConfig, usePushProjectConfiguration, useRefreshAccessKey, useSelectProject, useTriggerBuild, useTriggerWebhook, useUnselectProject, useUpdateMemberAccess, useUpdateProject, useUpdateProjectMembers } from "./hooks/project.mjs";
|
|
18
18
|
import { useContactReviewer, useCreateMission, useDeleteReviewerProfile, useEstimateMission, useGetAdminReviewers, useGetChatHistory, useGetMissionById, useGetMyMissions, useGetMyReviewerProfile, useGetReviewerById, useGetReviewerMarketplace, useGetReviewerPriceDistribution, useGetReviewerReviews, useRegisterAsReviewer, useSendReviewerMessage, useSubmitReview, useUpdateMissionStatus, useUpdateReviewerProfile, useUploadReviewerCoverPicture, useUploadReviewerMainPicture, useValidateReviewerProfile } from "./hooks/reviewer.mjs";
|
|
19
19
|
import { useSearchDoc } from "./hooks/search.mjs";
|
|
20
20
|
import { useDeleteShowcaseProject, useGetOtherShowcaseProjects, useGetShowcaseProjectById, useGetShowcaseProjects, useSubmitShowcaseProject, useToggleShowcaseDownvote, useToggleShowcaseUpvote, useUpdateShowcaseProject } from "./hooks/showcaseProject.mjs";
|
|
@@ -22,5 +22,6 @@ import { useAcceptAffiliateInvitation, useCancelSubscription, useCreatePortalSes
|
|
|
22
22
|
import { useAddTag, useDeleteTag, useGetTags, useUpdateTag } from "./hooks/tag.mjs";
|
|
23
23
|
import { useFillAllTranslations, usePauseTranslationJob, useResumeTranslationJob, useStopTranslationJob } from "./hooks/translate.mjs";
|
|
24
24
|
import { useCreateUser, useDeleteUser, useGetUserById, useGetUsers, useUpdateUser, useUploadUserAvatar } from "./hooks/user.mjs";
|
|
25
|
+
import { useUser } from "./useUser/index.mjs";
|
|
25
26
|
|
|
26
|
-
export { useAcceptAffiliateInvitation, useAddDictionary, useAddEnvironment, useAddNewAccessKey, useAddOrganization, useAddOrganizationMember, useAddPasskey, useAddProject, useAddTag, useAiAPI, useAskDocQuestion, useAskResetPassword, useAuditAPI, useAuditContentDeclaration, useAuditContentDeclarationField, useAuditContentDeclarationMetadata, useAuditScan, useAuditTag, useAuth, useAutocomplete, useBitbucketAPI, useBitbucketAuth, useBitbucketCheckConfig, useBitbucketGetConfigFile, useBitbucketRepos, useCancelSubscription, useChangePassword, useChat, useContactReviewer, useCreateMission, useCreatePortalSession, useCreatePromoCode, useCreateUser, useDeleteAccessKey, useDeleteDictionary, useDeleteEnvironment, useDeleteOrganization, useDeleteOrganizationById, useDeletePasskey, useDeleteProject, useDeleteProjectById, useDeletePromoCode, useDeleteReviewerProfile, useDeleteSSOProvider, useDeleteShowcaseProject, useDeleteTag, useDeleteUser, useDictionaryAPI, useDisableTwoFactor, useEditorAPI, useEnableTwoFactor, useEstimateMission, useFillAllTranslations, useGetAdminReviewers, useGetAffiliate, useGetAffiliateAccountSession, useGetAffiliateById, useGetAffiliateInvitation, useGetAffiliateInvitations, useGetAffiliateOnboardingLink, useGetAffiliatePromoCode, useGetAffiliateStats, useGetAffiliates, useGetCIConfig, useGetChatHistory, useGetDictionaries, useGetDictionariesKeys, useGetDictionary, useGetDiscussions, useGetDiscussionsData, useGetEditorDictionaries, useGetInvoices, useGetMissionById, useGetMyMissions, useGetMyReviewerProfile, useGetNewsletterStatus, useGetOrganizations, useGetOtherShowcaseProjects, useGetPaymentMethod, useGetPricing, useGetProjects, useGetPromoCodeById, useGetPromoCodes, useGetRecursiveAuditStatus, useGetReviewerById, useGetReviewerMarketplace, useGetReviewerPriceDistribution, useGetReviewerReviews, useGetShowcaseProjectById, useGetShowcaseProjects, useGetSubscription, useGetTags, useGetUserByAccount, useGetUserById, useGetUsers, useGetVerifyEmailStatus, useGithubAPI, useGithubAuth, useGithubCheckConfig, useGithubGetAuthUrl, useGithubGetConfigFile, useGithubRepos, useGithubToken, useGitlabAPI, useGitlabAuth, useGitlabCheckConfig, useGitlabGetConfigFile, useGitlabProjects, useGrantAffiliateAccess, useInfiniteGetDictionaries, useIntlayerAuth, useIntlayerOAuth, useIntlayerOAuthOptions, useLinkSocial, useListAccounts, useListPasskeys, useListSSOProviders, useLogin, useLogout, useMigrateEnvironment, useNewsletterAPI, useOAuth2, useOAuthAPI, useOrganizationAPI, usePauseTranslationJob, useProjectAPI, usePushCIConfig, usePushDictionaries, usePushProjectConfiguration, useRefreshAccessKey, useRegister, useRegisterAsReviewer, useRegisterSSO, useResetPassword, useResetToProductionEnvironment, useResumeTranslationJob, useReviewerAPI, useSearchAPI, useSearchDoc, useSelectEnvironment, useSelectOrganization, useSelectProject, useSendAffiliateInvitation, useSendReviewerMessage, useSession, useShowcaseProjectAPI, useSignInMagicLink, useSignInPasskey, useSignInSSO, useStartRecursiveAudit, useStopTranslationJob, useStripeAPI, useSubmitReview, useSubmitShowcaseProject, useSubscribeToNewsletter, useTagAPI, useToggleShowcaseDownvote, useToggleShowcaseUpvote, useTranslateAPI, useTranslateJSONDeclaration, useTriggerBuild, useTriggerWebhook, useUnlinkAccount, useUnselectOrganization, useUnselectProject, useUnsubscribeFromNewsletter, useUpdateAffiliateStatus, useUpdateDictionary, useUpdateEnvironment, useUpdateMemberAccess, useUpdateMissionStatus, useUpdateOrganization, useUpdateOrganizationMembers, useUpdateOrganizationMembersById, useUpdateProject, useUpdateProjectMembers, useUpdatePromoCode, useUpdateReviewerProfile, useUpdateShowcaseProject, useUpdateTag, useUpdateUser, useUploadReviewerCoverPicture, useUploadReviewerMainPicture, useUploadUserAvatar, useUser, useUserAPI, useValidateReviewerProfile, useVerifyBackupCode, useVerifyEmail, useVerifyTotp, useWriteDictionary };
|
|
27
|
+
export { useAcceptAffiliateInvitation, useAddDictionary, useAddEnvironment, useAddNewAccessKey, useAddOrganization, useAddOrganizationMember, useAddPasskey, useAddProject, useAddTag, useAiAPI, useAskDocQuestion, useAskResetPassword, useAuditAPI, useAuditContentDeclaration, useAuditContentDeclarationField, useAuditContentDeclarationMetadata, useAuditScan, useAuditTag, useAuth, useAutocomplete, useBitbucketAPI, useBitbucketAuth, useBitbucketCheckConfig, useBitbucketGetConfigFile, useBitbucketRepos, useCancelSubscription, useChangePassword, useChat, useContactReviewer, useCreateMission, useCreatePortalSession, useCreatePromoCode, useCreateUser, useDeleteAccessKey, useDeleteDictionary, useDeleteEnvironment, useDeleteOrganization, useDeleteOrganizationById, useDeletePasskey, useDeleteProject, useDeleteProjectById, useDeletePromoCode, useDeleteReviewerProfile, useDeleteSSOProvider, useDeleteShowcaseProject, useDeleteTag, useDeleteUser, useDictionaryAPI, useDisableTwoFactor, useEditorAPI, useEnableTwoFactor, useEnvironmentAPI, useEstimateMission, useFillAllTranslations, useGetAdminReviewers, useGetAffiliate, useGetAffiliateAccountSession, useGetAffiliateById, useGetAffiliateInvitation, useGetAffiliateInvitations, useGetAffiliateOnboardingLink, useGetAffiliatePromoCode, useGetAffiliateStats, useGetAffiliates, useGetCIConfig, useGetChatHistory, useGetDictionaries, useGetDictionariesKeys, useGetDictionary, useGetDiscussions, useGetDiscussionsData, useGetEditorDictionaries, useGetInvoices, useGetMissionById, useGetMyMissions, useGetMyReviewerProfile, useGetNewsletterStatus, useGetOrganizations, useGetOtherShowcaseProjects, useGetPaymentMethod, useGetPricing, useGetProjects, useGetPromoCodeById, useGetPromoCodes, useGetRecursiveAuditStatus, useGetReviewerById, useGetReviewerMarketplace, useGetReviewerPriceDistribution, useGetReviewerReviews, useGetShowcaseProjectById, useGetShowcaseProjects, useGetSubscription, useGetTags, useGetUserByAccount, useGetUserById, useGetUsers, useGetVerifyEmailStatus, useGithubAPI, useGithubAuth, useGithubCheckConfig, useGithubGetAuthUrl, useGithubGetConfigFile, useGithubRepos, useGithubToken, useGitlabAPI, useGitlabAuth, useGitlabCheckConfig, useGitlabGetConfigFile, useGitlabProjects, useGrantAffiliateAccess, useInfiniteGetDictionaries, useIntlayerAuth, useIntlayerOAuth, useIntlayerOAuthOptions, useLinkSocial, useListAccounts, useListPasskeys, useListSSOProviders, useLogin, useLogout, useMigrateEnvironment, useNewsletterAPI, useOAuth2, useOAuthAPI, useOrganizationAPI, usePauseTranslationJob, useProjectAPI, usePushCIConfig, usePushDictionaries, usePushProjectConfiguration, useRefreshAccessKey, useRegister, useRegisterAsReviewer, useRegisterSSO, useResetPassword, useResetToProductionEnvironment, useResumeTranslationJob, useReviewerAPI, useSearchAPI, useSearchDoc, useSelectEnvironment, useSelectOrganization, useSelectProject, useSendAffiliateInvitation, useSendReviewerMessage, useSession, useShowcaseProjectAPI, useSignInMagicLink, useSignInPasskey, useSignInSSO, useStartRecursiveAudit, useStopTranslationJob, useStripeAPI, useSubmitReview, useSubmitShowcaseProject, useSubscribeToNewsletter, useTagAPI, useToggleShowcaseDownvote, useToggleShowcaseUpvote, useTranslateAPI, useTranslateJSONDeclaration, useTriggerBuild, useTriggerWebhook, useUnlinkAccount, useUnselectOrganization, useUnselectProject, useUnsubscribeFromNewsletter, useUpdateAffiliateStatus, useUpdateDictionary, useUpdateEnvironment, useUpdateMemberAccess, useUpdateMissionStatus, useUpdateOrganization, useUpdateOrganizationMembers, useUpdateOrganizationMembersById, useUpdateProject, useUpdateProjectMembers, useUpdatePromoCode, useUpdateReviewerProfile, useUpdateShowcaseProject, useUpdateTag, useUpdateUser, useUploadReviewerCoverPicture, useUploadReviewerMainPicture, useUploadUserAvatar, useUser, useUserAPI, useValidateReviewerProfile, useVerifyBackupCode, useVerifyEmail, useVerifyTotp, useWriteDictionary };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { editor } from "@intlayer/config/built";
|
|
4
3
|
import { useQuery } from "@tanstack/react-query";
|
|
4
|
+
import { editor } from "@intlayer/config/built";
|
|
5
5
|
import { getOAuthAPI } from "@intlayer/api";
|
|
6
6
|
import { useConfiguration } from "@intlayer/editor-react";
|
|
7
7
|
import { defu } from "defu";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { getAuthAPI } from "../../libs/auth.mjs";
|
|
4
|
-
import { editor } from "@intlayer/config/built";
|
|
5
4
|
import { useQuery, useQueryClient } from "@tanstack/react-query";
|
|
5
|
+
import { editor } from "@intlayer/config/built";
|
|
6
6
|
import { useConfiguration } from "@intlayer/editor-react";
|
|
7
7
|
|
|
8
8
|
//#region src/api/useAuth/useSession.ts
|
|
@@ -8,6 +8,7 @@ import { getAuditAPI } from "@intlayer/api/audit";
|
|
|
8
8
|
import { getBitbucketAPI } from "@intlayer/api/bitbucket";
|
|
9
9
|
import { getDictionaryAPI } from "@intlayer/api/dictionary";
|
|
10
10
|
import { getEditorAPI } from "@intlayer/api/editor";
|
|
11
|
+
import { getEnvironmentAPI } from "@intlayer/api/environment";
|
|
11
12
|
import { getGithubAPI } from "@intlayer/api/github";
|
|
12
13
|
import { getGitlabAPI } from "@intlayer/api/gitlab";
|
|
13
14
|
import { getNewsletterAPI } from "@intlayer/api/newsletter";
|
|
@@ -117,7 +118,11 @@ const useReviewerAPI = (props) => {
|
|
|
117
118
|
const { options, resolvedConfig } = useIntlayerOAuthOptions(props);
|
|
118
119
|
return getReviewerAPI(options, resolvedConfig);
|
|
119
120
|
};
|
|
121
|
+
const useEnvironmentAPI = (props) => {
|
|
122
|
+
const { options, resolvedConfig } = useIntlayerOAuthOptions(props);
|
|
123
|
+
return getEnvironmentAPI(options, resolvedConfig);
|
|
124
|
+
};
|
|
120
125
|
|
|
121
126
|
//#endregion
|
|
122
|
-
export { useAiAPI, useAuditAPI, useBitbucketAPI, useDictionaryAPI, useEditorAPI, useGithubAPI, useGitlabAPI, useIntlayerAuth, useIntlayerOAuth, useIntlayerOAuthOptions, useNewsletterAPI, useOAuthAPI, useOrganizationAPI, useProjectAPI, useReviewerAPI, useSearchAPI, useShowcaseProjectAPI, useStripeAPI, useTagAPI, useTranslateAPI, useUserAPI };
|
|
127
|
+
export { useAiAPI, useAuditAPI, useBitbucketAPI, useDictionaryAPI, useEditorAPI, useEnvironmentAPI, useGithubAPI, useGitlabAPI, useIntlayerAuth, useIntlayerOAuth, useIntlayerOAuthOptions, useNewsletterAPI, useOAuthAPI, useOrganizationAPI, useProjectAPI, useReviewerAPI, useSearchAPI, useShowcaseProjectAPI, useStripeAPI, useTagAPI, useTranslateAPI, useUserAPI };
|
|
123
128
|
//# sourceMappingURL=useIntlayerAPI.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIntlayerAPI.mjs","names":["getOAuthAPI"],"sources":["../../../src/api/useIntlayerAPI.ts"],"sourcesContent":["'use client';\n\nimport {\n type FetcherOptions,\n getIntlayerAPI,\n type IntlayerAPI,\n} from '@intlayer/api';\nimport { getAiAPI } from '@intlayer/api/ai';\nimport { getAuditAPI } from '@intlayer/api/audit';\nimport { getBitbucketAPI } from '@intlayer/api/bitbucket';\nimport { getDictionaryAPI } from '@intlayer/api/dictionary';\nimport { getEditorAPI } from '@intlayer/api/editor';\nimport { getGithubAPI } from '@intlayer/api/github';\nimport { getGitlabAPI } from '@intlayer/api/gitlab';\nimport { getNewsletterAPI } from '@intlayer/api/newsletter';\nimport { getOAuthAPI } from '@intlayer/api/oAuth';\nimport { getOrganizationAPI } from '@intlayer/api/organization';\nimport { getProjectAPI } from '@intlayer/api/project';\nimport { getReviewerAPI } from '@intlayer/api/reviewer';\nimport { getSearchAPI } from '@intlayer/api/search';\nimport { getShowcaseProjectAPI } from '@intlayer/api/showcaseProject';\nimport { getStripeAPI } from '@intlayer/api/stripe';\nimport { getTagAPI } from '@intlayer/api/tag';\nimport { getTranslateAPI } from '@intlayer/api/translate';\nimport { getUserAPI } from '@intlayer/api/user';\nimport { useConfiguration } from '@intlayer/editor-react';\nimport type { IntlayerConfig } from '@intlayer/types/config';\nimport { type AuthAPI, getAuthAPI } from '../libs/auth';\nimport { useAuth } from './useAuth';\n\nexport type UseIntlayerAuthProps = {\n options?: FetcherOptions;\n intlayerConfiguration?: IntlayerConfig;\n};\n\nexport const useIntlayerOAuthOptions = (props?: UseIntlayerAuthProps) => {\n const configuration = useConfiguration();\n const { oAuth2AccessToken } = useAuth();\n\n const options = {\n ...(oAuth2AccessToken && {\n headers: {\n Authorization: `Bearer ${oAuth2AccessToken.accessToken}`,\n },\n }),\n ...(props?.options ?? {}),\n };\n\n const rawConfig = props?.intlayerConfiguration ?? configuration;\n // Only use the config if it's fully populated; an empty object (e.g. while\n // the session is still loading) has no `editor` key and would crash API\n // getters that do `intlayerConfig.editor.backendURL`.\n const resolvedConfig = rawConfig?.editor ? rawConfig : undefined;\n\n return { options, resolvedConfig };\n};\n\nexport const useIntlayerOAuth = (props?: UseIntlayerAuthProps): IntlayerAPI => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getIntlayerAPI(options, resolvedConfig);\n};\n\nexport const useIntlayerAuth = (props?: UseIntlayerAuthProps): AuthAPI => {\n const configuration = useConfiguration();\n\n return getAuthAPI(props?.intlayerConfiguration ?? configuration);\n};\n\nexport const useOrganizationAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getOrganizationAPI(options, resolvedConfig);\n};\n\nexport const useProjectAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getProjectAPI(options, resolvedConfig);\n};\n\nexport const useUserAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getUserAPI(options, resolvedConfig);\n};\n\nexport const useOAuthAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getOAuthAPI(options, resolvedConfig);\n};\n\nexport const useDictionaryAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getDictionaryAPI(options, resolvedConfig);\n};\n\nexport const useStripeAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getStripeAPI(options, resolvedConfig);\n};\n\nexport const useAiAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getAiAPI(options, resolvedConfig);\n};\n\nexport const useAuditAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getAuditAPI(options, resolvedConfig);\n};\n\nexport const useTagAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getTagAPI(options, resolvedConfig);\n};\n\nexport const useSearchAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getSearchAPI(options, resolvedConfig);\n};\n\nexport const useEditorAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getEditorAPI(options, resolvedConfig);\n};\n\nexport const useNewsletterAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getNewsletterAPI(options, resolvedConfig);\n};\n\nexport const useGithubAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getGithubAPI(options, resolvedConfig);\n};\n\nexport const useGitlabAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getGitlabAPI(options, resolvedConfig);\n};\n\nexport const useBitbucketAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getBitbucketAPI(options, resolvedConfig);\n};\n\nexport const useShowcaseProjectAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getShowcaseProjectAPI(options, resolvedConfig);\n};\n\nexport const useTranslateAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getTranslateAPI(options, resolvedConfig);\n};\n\nexport const useReviewerAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getReviewerAPI(options, resolvedConfig);\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useIntlayerAPI.mjs","names":["getOAuthAPI"],"sources":["../../../src/api/useIntlayerAPI.ts"],"sourcesContent":["'use client';\n\nimport {\n type FetcherOptions,\n getIntlayerAPI,\n type IntlayerAPI,\n} from '@intlayer/api';\nimport { getAiAPI } from '@intlayer/api/ai';\nimport { getAuditAPI } from '@intlayer/api/audit';\nimport { getBitbucketAPI } from '@intlayer/api/bitbucket';\nimport { getDictionaryAPI } from '@intlayer/api/dictionary';\nimport { getEditorAPI } from '@intlayer/api/editor';\nimport { getEnvironmentAPI } from '@intlayer/api/environment';\nimport { getGithubAPI } from '@intlayer/api/github';\nimport { getGitlabAPI } from '@intlayer/api/gitlab';\nimport { getNewsletterAPI } from '@intlayer/api/newsletter';\nimport { getOAuthAPI } from '@intlayer/api/oAuth';\nimport { getOrganizationAPI } from '@intlayer/api/organization';\nimport { getProjectAPI } from '@intlayer/api/project';\nimport { getReviewerAPI } from '@intlayer/api/reviewer';\nimport { getSearchAPI } from '@intlayer/api/search';\nimport { getShowcaseProjectAPI } from '@intlayer/api/showcaseProject';\nimport { getStripeAPI } from '@intlayer/api/stripe';\nimport { getTagAPI } from '@intlayer/api/tag';\nimport { getTranslateAPI } from '@intlayer/api/translate';\nimport { getUserAPI } from '@intlayer/api/user';\nimport { useConfiguration } from '@intlayer/editor-react';\nimport type { IntlayerConfig } from '@intlayer/types/config';\nimport { type AuthAPI, getAuthAPI } from '../libs/auth';\nimport { useAuth } from './useAuth';\n\nexport type UseIntlayerAuthProps = {\n options?: FetcherOptions;\n intlayerConfiguration?: IntlayerConfig;\n};\n\nexport const useIntlayerOAuthOptions = (props?: UseIntlayerAuthProps) => {\n const configuration = useConfiguration();\n const { oAuth2AccessToken } = useAuth();\n\n const options = {\n ...(oAuth2AccessToken && {\n headers: {\n Authorization: `Bearer ${oAuth2AccessToken.accessToken}`,\n },\n }),\n ...(props?.options ?? {}),\n };\n\n const rawConfig = props?.intlayerConfiguration ?? configuration;\n // Only use the config if it's fully populated; an empty object (e.g. while\n // the session is still loading) has no `editor` key and would crash API\n // getters that do `intlayerConfig.editor.backendURL`.\n const resolvedConfig = rawConfig?.editor ? rawConfig : undefined;\n\n return { options, resolvedConfig };\n};\n\nexport const useIntlayerOAuth = (props?: UseIntlayerAuthProps): IntlayerAPI => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getIntlayerAPI(options, resolvedConfig);\n};\n\nexport const useIntlayerAuth = (props?: UseIntlayerAuthProps): AuthAPI => {\n const configuration = useConfiguration();\n\n return getAuthAPI(props?.intlayerConfiguration ?? configuration);\n};\n\nexport const useOrganizationAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getOrganizationAPI(options, resolvedConfig);\n};\n\nexport const useProjectAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getProjectAPI(options, resolvedConfig);\n};\n\nexport const useUserAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getUserAPI(options, resolvedConfig);\n};\n\nexport const useOAuthAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getOAuthAPI(options, resolvedConfig);\n};\n\nexport const useDictionaryAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getDictionaryAPI(options, resolvedConfig);\n};\n\nexport const useStripeAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getStripeAPI(options, resolvedConfig);\n};\n\nexport const useAiAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getAiAPI(options, resolvedConfig);\n};\n\nexport const useAuditAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getAuditAPI(options, resolvedConfig);\n};\n\nexport const useTagAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getTagAPI(options, resolvedConfig);\n};\n\nexport const useSearchAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getSearchAPI(options, resolvedConfig);\n};\n\nexport const useEditorAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getEditorAPI(options, resolvedConfig);\n};\n\nexport const useNewsletterAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getNewsletterAPI(options, resolvedConfig);\n};\n\nexport const useGithubAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getGithubAPI(options, resolvedConfig);\n};\n\nexport const useGitlabAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getGitlabAPI(options, resolvedConfig);\n};\n\nexport const useBitbucketAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getBitbucketAPI(options, resolvedConfig);\n};\n\nexport const useShowcaseProjectAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getShowcaseProjectAPI(options, resolvedConfig);\n};\n\nexport const useTranslateAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getTranslateAPI(options, resolvedConfig);\n};\n\nexport const useReviewerAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getReviewerAPI(options, resolvedConfig);\n};\n\nexport const useEnvironmentAPI = (props?: UseIntlayerAuthProps) => {\n const { options, resolvedConfig } = useIntlayerOAuthOptions(props);\n return getEnvironmentAPI(options, resolvedConfig);\n};\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { Button } from "../Button/Button.mjs";
|
|
4
3
|
import { useUser } from "../../api/useUser/index.mjs";
|
|
4
|
+
import { Button } from "../Button/Button.mjs";
|
|
5
5
|
import { AutoCompleteTextarea } from "../TextArea/AutocompleteTextArea.mjs";
|
|
6
6
|
import { useEffect, useState } from "react";
|
|
7
7
|
import { Check, X } from "lucide-react";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
+
import { useAuditContentDeclarationField } from "../../../api/hooks/ai.mjs";
|
|
3
4
|
import { Loader } from "../../Loader/index.mjs";
|
|
4
5
|
import { Button } from "../../Button/Button.mjs";
|
|
5
6
|
import { Accordion } from "../../Accordion/Accordion.mjs";
|
|
@@ -8,7 +9,6 @@ import { ContentEditorInput as ContentEditorInput$1 } from "../../ContentEditor/
|
|
|
8
9
|
import { ContentEditorTextArea as ContentEditorTextArea$1 } from "../../ContentEditor/ContentEditorTextArea.mjs";
|
|
9
10
|
import { SwitchSelector } from "../../SwitchSelector/SwitchSelector.mjs";
|
|
10
11
|
import { useLocaleSwitcherContent } from "../../LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs";
|
|
11
|
-
import { useAuditContentDeclarationField } from "../../../api/hooks/ai.mjs";
|
|
12
12
|
import { renameKey } from "./object.mjs";
|
|
13
13
|
import { Label } from "../../Label/index.mjs";
|
|
14
14
|
import { EnumKeyInput } from "../EnumKeyInput.mjs";
|
|
@@ -16,9 +16,9 @@ import { SafeHtmlRenderer } from "./SafeHtmlRenderer.mjs";
|
|
|
16
16
|
import { Fragment, Suspense, lazy, memo, useState } from "react";
|
|
17
17
|
import { Plus, Trash, WandSparkles } from "lucide-react";
|
|
18
18
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
19
|
+
import { useConfiguration, useEditedContent } from "@intlayer/editor-react";
|
|
19
20
|
import { useIntlayer, useLocale } from "react-intlayer";
|
|
20
21
|
import { getLocaleName } from "@intlayer/core/localization";
|
|
21
|
-
import { useConfiguration, useEditedContent } from "@intlayer/editor-react";
|
|
22
22
|
import { getEmptyNode, getNodeType } from "@intlayer/core/dictionaryManipulator";
|
|
23
23
|
import * as NodeTypes from "@intlayer/types/nodeType";
|
|
24
24
|
import { camelCaseToSentence } from "@intlayer/config/client";
|
package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { Loader } from "../../Loader/index.mjs";
|
|
4
|
-
import { Checkbox } from "../../Input/Checkbox.mjs";
|
|
5
3
|
import { useSession } from "../../../api/useAuth/useSession.mjs";
|
|
6
4
|
import { useAuditContentDeclarationMetadata } from "../../../api/hooks/ai.mjs";
|
|
7
5
|
import { useGetProjects } from "../../../api/hooks/project.mjs";
|
|
8
6
|
import { useGetTags } from "../../../api/hooks/tag.mjs";
|
|
7
|
+
import { Loader } from "../../Loader/index.mjs";
|
|
8
|
+
import { Checkbox } from "../../Input/Checkbox.mjs";
|
|
9
9
|
import { MultiSelect } from "../../Select/Multiselect.mjs";
|
|
10
10
|
import { Select } from "../../Select/Select.mjs";
|
|
11
11
|
import { useForm as useForm$1 } from "../../Form/FormBase.mjs";
|
|
@@ -14,8 +14,8 @@ import { useDictionaryDetailsSchema } from "./useDictionaryDetailsSchema.mjs";
|
|
|
14
14
|
import { useEffect } from "react";
|
|
15
15
|
import { WandSparkles } from "lucide-react";
|
|
16
16
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
17
|
-
import { useIntlayer } from "react-intlayer";
|
|
18
17
|
import { useEditedContent } from "@intlayer/editor-react";
|
|
18
|
+
import { useIntlayer } from "react-intlayer";
|
|
19
19
|
import { useWatch } from "react-hook-form";
|
|
20
20
|
import { AnimatePresence, motion } from "framer-motion";
|
|
21
21
|
|
|
@@ -13,8 +13,8 @@ import { StructureEditor } from "./StructureEditor.mjs";
|
|
|
13
13
|
import { useEffect, useState } from "react";
|
|
14
14
|
import { ArrowLeft } from "lucide-react";
|
|
15
15
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
16
|
-
import { useIntlayer } from "react-intlayer";
|
|
17
16
|
import { useConfiguration, useDictionariesRecordActions, useFocusUnmergedDictionary } from "@intlayer/editor-react";
|
|
17
|
+
import { useIntlayer } from "react-intlayer";
|
|
18
18
|
|
|
19
19
|
//#region src/components/DictionaryFieldEditor/DictionaryFieldEditor.tsx
|
|
20
20
|
const DictionaryFieldEditor = ({ dictionary, onClickDictionaryList, isDarkMode, mode, onDelete, onSave, showReturnButton = true }) => {
|
|
@@ -5,8 +5,8 @@ import { getIsEditableSection } from "../getIsEditableSection.mjs";
|
|
|
5
5
|
import { useState } from "react";
|
|
6
6
|
import { ChevronRight, Plus } from "lucide-react";
|
|
7
7
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
-
import { useIntlayer } from "react-intlayer";
|
|
9
8
|
import { useEditedContentActions, useEditorLocale, useFocusUnmergedDictionary } from "@intlayer/editor-react";
|
|
9
|
+
import { useIntlayer } from "react-intlayer";
|
|
10
10
|
import { getContentNodeByKeyPath, getEmptyNode, getNodeType } from "@intlayer/core/dictionaryManipulator";
|
|
11
11
|
import * as NodeTypes from "@intlayer/types/nodeType";
|
|
12
12
|
import { isSameKeyPath } from "@intlayer/core/utils";
|
|
@@ -9,8 +9,8 @@ import { Modal } from "../../Modal/Modal.mjs";
|
|
|
9
9
|
import { useState } from "react";
|
|
10
10
|
import { ArrowUpFromLine, Download, RotateCcw, Save, Trash } from "lucide-react";
|
|
11
11
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
-
import { useIntlayer } from "react-intlayer";
|
|
13
12
|
import { useDictionariesRecordActions, useEditedContent } from "@intlayer/editor-react";
|
|
13
|
+
import { useIntlayer } from "react-intlayer";
|
|
14
14
|
|
|
15
15
|
//#region src/components/DictionaryFieldEditor/SaveForm/SaveForm.tsx
|
|
16
16
|
const SaveForm = ({ dictionary, mode, className, onDelete, onSave, ...props }) => {
|
|
@@ -6,8 +6,8 @@ import { EditableFieldInput } from "../../EditableField/EditableFieldInput.mjs";
|
|
|
6
6
|
import { NodeTypeSelector } from "../NodeTypeSelector.mjs";
|
|
7
7
|
import { Plus, Trash } from "lucide-react";
|
|
8
8
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
-
import { useIntlayer } from "react-intlayer";
|
|
10
9
|
import { useConfiguration, useEditedContentActions, useFocusUnmergedDictionary } from "@intlayer/editor-react";
|
|
10
|
+
import { useIntlayer } from "react-intlayer";
|
|
11
11
|
import { getDefaultNode, getNodeChildren, getNodeType } from "@intlayer/core/dictionaryManipulator";
|
|
12
12
|
import * as NodeTypes from "@intlayer/types/nodeType";
|
|
13
13
|
import { isSameKeyPath } from "@intlayer/core/utils";
|
|
@@ -20,11 +20,22 @@ const Form = ({ schema, onSubmit: onSubmitProp, onSubmitSuccess: onSubmitSuccess
|
|
|
20
20
|
if (parsedValues.success) await awaitFunction(onSubmitSuccessProp?.(parsedValues.data));
|
|
21
21
|
else await awaitFunction(onSubmitErrorProp?.(new Error(parsedValues.error.issues.map((error) => error.message).join(", "))));
|
|
22
22
|
};
|
|
23
|
+
const handleKeyDown = (e) => {
|
|
24
|
+
if (e.key !== "Enter") return;
|
|
25
|
+
const target = e.target;
|
|
26
|
+
if (target.tagName !== "INPUT") return;
|
|
27
|
+
e.preventDefault();
|
|
28
|
+
const formEl = e.currentTarget;
|
|
29
|
+
const focusable = Array.from(formEl.querySelectorAll("input:not([disabled]):not([type=\"hidden\"]), textarea:not([disabled])"));
|
|
30
|
+
const idx = focusable.indexOf(target);
|
|
31
|
+
if (idx >= 0 && idx < focusable.length - 1) focusable[idx + 1]?.focus();
|
|
32
|
+
};
|
|
23
33
|
return /* @__PURE__ */ jsx(FormProvider, {
|
|
24
34
|
...props,
|
|
25
35
|
children: /* @__PURE__ */ jsx("form", {
|
|
26
36
|
className: cn("flex flex-col gap-y-6", className),
|
|
27
37
|
onSubmit: props.handleSubmit(onSubmit),
|
|
38
|
+
onKeyDown: handleKeyDown,
|
|
28
39
|
autoComplete: autoComplete ? "on" : "off",
|
|
29
40
|
noValidate: true,
|
|
30
41
|
method,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormBase.mjs","names":["useFormReactHookForm"],"sources":["../../../../src/components/Form/FormBase.tsx"],"sourcesContent":["'use client';\n\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { cn } from '@utils/cn';\nimport type { HTMLAttributes } from 'react';\nimport {\n FormProvider,\n type FormProviderProps,\n type UseFormProps,\n useForm as useFormReactHookForm,\n useFormState,\n} from 'react-hook-form';\nimport type { ZodObject, z } from 'zod/v4';\n\ntype FormProps<T extends ZodObject> = HTMLAttributes<HTMLFormElement> &\n FormProviderProps<z.infer<T>> & {\n schema?: T;\n onSubmit?: (data: z.infer<T>) => void | Promise<void>;\n onSubmitSuccess?: (data: z.infer<T>) => void | Promise<void>;\n onSubmitError?: (error: Error) => void | Promise<void>;\n autoComplete?: boolean;\n };\n\nconst awaitFunction = async (fn: any) => {\n // Check if result is a Promise (Thenable)\n\n if (fn && typeof fn.then === 'function') {\n // It's a Promise, so wait for it to resolve\n return await fn;\n }\n // If not a Promise, it will just execute without awaiting\n return fn;\n};\n\nexport const Form = <T extends ZodObject>({\n schema,\n onSubmit: onSubmitProp,\n onSubmitSuccess: onSubmitSuccessProp,\n onSubmitError: onSubmitErrorProp,\n className,\n children,\n autoComplete,\n method,\n ...props\n}: FormProps<T> & { method?: string }) => {\n const onSubmit = async (values: z.infer<T>) => {\n const parsedValues = schema?.safeParse(values) ?? {\n success: true,\n data: undefined,\n };\n\n // onSubmitProp?.(values);\n await awaitFunction(onSubmitProp?.(values));\n\n if (parsedValues.success) {\n await awaitFunction(onSubmitSuccessProp?.(parsedValues.data!));\n } else {\n await awaitFunction(\n onSubmitErrorProp?.(\n new Error(\n parsedValues.error.issues.map((error) => error.message).join(', ')\n )\n )\n );\n }\n };\n\n return (\n <FormProvider {...props}>\n <form\n className={cn('flex flex-col gap-y-6', className)}\n onSubmit={props.handleSubmit(onSubmit)}\n autoComplete={autoComplete ? 'on' : 'off'}\n noValidate\n method={method}\n >\n {children}\n </form>\n </FormProvider>\n );\n};\n\nexport const useForm = <T extends ZodObject>(\n schema: T,\n props?: UseFormProps<z.infer<T>>\n) => {\n const form = useFormReactHookForm<z.infer<T>>({\n resolver: zodResolver(schema as any),\n ...props,\n });\n\n const { isSubmitting, isSubmitted, isLoading, isValid } = useFormState({\n control: form.control,\n });\n\n return {\n form,\n isSubmitting,\n isSubmitted,\n isLoading,\n isValid,\n };\n};\n"],"mappings":";;;;;;;;AAuBA,MAAM,gBAAgB,OAAO,OAAY;CAGvC,IAAI,MAAM,OAAO,GAAG,SAAS,YAE3B,OAAO,MAAM;CAGf,OAAO;AACT;AAEA,MAAa,QAA6B,EACxC,QACA,UAAU,cACV,iBAAiB,qBACjB,eAAe,mBACf,WACA,UACA,cACA,QACA,GAAG,YACqC;CACxC,MAAM,WAAW,OAAO,WAAuB;EAC7C,MAAM,eAAe,QAAQ,UAAU,MAAM,KAAK;GAChD,SAAS;GACT,MAAM;EACR;EAGA,MAAM,cAAc,eAAe,MAAM,CAAC;EAE1C,IAAI,aAAa,SACf,MAAM,cAAc,sBAAsB,aAAa,IAAK,CAAC;OAE7D,MAAM,cACJ,oBACE,IAAI,MACF,aAAa,MAAM,OAAO,KAAK,UAAU,MAAM,OAAO,EAAE,KAAK,IAAI,CACnE,CACF,CACF;CAEJ;CAEA,OACE,oBAAC,cAAD;EAAc,GAAI;YAChB,oBAAC,QAAD;GACE,WAAW,GAAG,yBAAyB,SAAS;GAChD,UAAU,MAAM,aAAa,QAAQ;GACrC,cAAc,eAAe,OAAO;GACpC;GACQ;GAEP;EACG;CACM;AAElB;AAEA,MAAa,WACX,QACA,UACG;CACH,MAAM,OAAOA,UAAiC;EAC5C,UAAU,YAAY,MAAa;EACnC,GAAG;CACL,CAAC;CAED,MAAM,EAAE,cAAc,aAAa,WAAW,YAAY,aAAa,EACrE,SAAS,KAAK,QAChB,CAAC;CAED,OAAO;EACL;EACA;EACA;EACA;EACA;CACF;AACF"}
|
|
1
|
+
{"version":3,"file":"FormBase.mjs","names":["useFormReactHookForm"],"sources":["../../../../src/components/Form/FormBase.tsx"],"sourcesContent":["'use client';\n\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { cn } from '@utils/cn';\nimport type { HTMLAttributes, KeyboardEvent } from 'react';\nimport {\n FormProvider,\n type FormProviderProps,\n type UseFormProps,\n useForm as useFormReactHookForm,\n useFormState,\n} from 'react-hook-form';\nimport type { ZodObject, z } from 'zod/v4';\n\ntype FormProps<T extends ZodObject> = HTMLAttributes<HTMLFormElement> &\n FormProviderProps<z.infer<T>> & {\n schema?: T;\n onSubmit?: (data: z.infer<T>) => void | Promise<void>;\n onSubmitSuccess?: (data: z.infer<T>) => void | Promise<void>;\n onSubmitError?: (error: Error) => void | Promise<void>;\n autoComplete?: boolean;\n };\n\nconst awaitFunction = async (fn: any) => {\n // Check if result is a Promise (Thenable)\n\n if (fn && typeof fn.then === 'function') {\n // It's a Promise, so wait for it to resolve\n return await fn;\n }\n // If not a Promise, it will just execute without awaiting\n return fn;\n};\n\nexport const Form = <T extends ZodObject>({\n schema,\n onSubmit: onSubmitProp,\n onSubmitSuccess: onSubmitSuccessProp,\n onSubmitError: onSubmitErrorProp,\n className,\n children,\n autoComplete,\n method,\n ...props\n}: FormProps<T> & { method?: string }) => {\n const onSubmit = async (values: z.infer<T>) => {\n const parsedValues = schema?.safeParse(values) ?? {\n success: true,\n data: undefined,\n };\n\n // onSubmitProp?.(values);\n await awaitFunction(onSubmitProp?.(values));\n\n if (parsedValues.success) {\n await awaitFunction(onSubmitSuccessProp?.(parsedValues.data!));\n } else {\n await awaitFunction(\n onSubmitErrorProp?.(\n new Error(\n parsedValues.error.issues.map((error) => error.message).join(', ')\n )\n )\n );\n }\n };\n\n const handleKeyDown = (e: KeyboardEvent<HTMLFormElement>) => {\n if (e.key !== 'Enter') return;\n const target = e.target as HTMLElement;\n if (target.tagName !== 'INPUT') return;\n e.preventDefault();\n const formEl = e.currentTarget;\n const focusable = Array.from(\n formEl.querySelectorAll<HTMLElement>(\n 'input:not([disabled]):not([type=\"hidden\"]), textarea:not([disabled])'\n )\n );\n const idx = focusable.indexOf(target);\n if (idx >= 0 && idx < focusable.length - 1) {\n focusable[idx + 1]?.focus();\n }\n };\n\n return (\n <FormProvider {...props}>\n <form\n className={cn('flex flex-col gap-y-6', className)}\n onSubmit={props.handleSubmit(onSubmit)}\n onKeyDown={handleKeyDown}\n autoComplete={autoComplete ? 'on' : 'off'}\n noValidate\n method={method}\n >\n {children}\n </form>\n </FormProvider>\n );\n};\n\nexport const useForm = <T extends ZodObject>(\n schema: T,\n props?: UseFormProps<z.infer<T>>\n) => {\n const form = useFormReactHookForm<z.infer<T>>({\n resolver: zodResolver(schema as any),\n ...props,\n });\n\n const { isSubmitting, isSubmitted, isLoading, isValid } = useFormState({\n control: form.control,\n });\n\n return {\n form,\n isSubmitting,\n isSubmitted,\n isLoading,\n isValid,\n };\n};\n"],"mappings":";;;;;;;;AAuBA,MAAM,gBAAgB,OAAO,OAAY;CAGvC,IAAI,MAAM,OAAO,GAAG,SAAS,YAE3B,OAAO,MAAM;CAGf,OAAO;AACT;AAEA,MAAa,QAA6B,EACxC,QACA,UAAU,cACV,iBAAiB,qBACjB,eAAe,mBACf,WACA,UACA,cACA,QACA,GAAG,YACqC;CACxC,MAAM,WAAW,OAAO,WAAuB;EAC7C,MAAM,eAAe,QAAQ,UAAU,MAAM,KAAK;GAChD,SAAS;GACT,MAAM;EACR;EAGA,MAAM,cAAc,eAAe,MAAM,CAAC;EAE1C,IAAI,aAAa,SACf,MAAM,cAAc,sBAAsB,aAAa,IAAK,CAAC;OAE7D,MAAM,cACJ,oBACE,IAAI,MACF,aAAa,MAAM,OAAO,KAAK,UAAU,MAAM,OAAO,EAAE,KAAK,IAAI,CACnE,CACF,CACF;CAEJ;CAEA,MAAM,iBAAiB,MAAsC;EAC3D,IAAI,EAAE,QAAQ,SAAS;EACvB,MAAM,SAAS,EAAE;EACjB,IAAI,OAAO,YAAY,SAAS;EAChC,EAAE,eAAe;EACjB,MAAM,SAAS,EAAE;EACjB,MAAM,YAAY,MAAM,KACtB,OAAO,iBACL,wEACF,CACF;EACA,MAAM,MAAM,UAAU,QAAQ,MAAM;EACpC,IAAI,OAAO,KAAK,MAAM,UAAU,SAAS,GACvC,UAAU,MAAM,IAAI,MAAM;CAE9B;CAEA,OACE,oBAAC,cAAD;EAAc,GAAI;YAChB,oBAAC,QAAD;GACE,WAAW,GAAG,yBAAyB,SAAS;GAChD,UAAU,MAAM,aAAa,QAAQ;GACrC,WAAW;GACX,cAAc,eAAe,OAAO;GACpC;GACQ;GAEP;EACG;CACM;AAElB;AAEA,MAAa,WACX,QACA,UACG;CACH,MAAM,OAAOA,UAAiC;EAC5C,UAAU,YAAY,MAAa;EACnC,GAAG;CACL,CAAC;CAED,MAAM,EAAE,cAAc,aAAa,WAAW,YAAY,aAAa,EACrE,SAAS,KAAK,QAChB,CAAC;CAED,OAAO;EACL;EACA;EACA;EACA;EACA;CACF;AACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { useItemSelector } from "../../../hooks/useItemSelector.mjs";
|
|
4
3
|
import { InputIndicator, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot } from "../../Input/OTPInput.mjs";
|
|
4
|
+
import { useItemSelector } from "../../../hooks/useItemSelector.mjs";
|
|
5
5
|
import { useFormField } from "../FormField.mjs";
|
|
6
6
|
import { FormItemLayout } from "../layout/FormItemLayout.mjs";
|
|
7
7
|
import { Form } from "../Form.mjs";
|