@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.
Files changed (61) hide show
  1. package/dist/esm/api/hooks/environment.mjs +111 -0
  2. package/dist/esm/api/hooks/environment.mjs.map +1 -0
  3. package/dist/esm/api/hooks/project.mjs +1 -102
  4. package/dist/esm/api/hooks/project.mjs.map +1 -1
  5. package/dist/esm/api/index.mjs +6 -5
  6. package/dist/esm/api/useAuth/useOAuth2.mjs +1 -1
  7. package/dist/esm/api/useAuth/useSession.mjs +1 -1
  8. package/dist/esm/api/useIntlayerAPI.mjs +6 -1
  9. package/dist/esm/api/useIntlayerAPI.mjs.map +1 -1
  10. package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs +1 -1
  11. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +2 -2
  12. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +3 -3
  13. package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +1 -1
  14. package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +1 -1
  15. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +1 -1
  16. package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs +1 -1
  17. package/dist/esm/components/Form/FormBase.mjs +11 -0
  18. package/dist/esm/components/Form/FormBase.mjs.map +1 -1
  19. package/dist/esm/components/Form/elements/OTPElement.mjs +1 -1
  20. package/dist/esm/components/Form/elements/SwitchSelectorElement.mjs +4 -0
  21. package/dist/esm/components/Form/elements/SwitchSelectorElement.mjs.map +1 -1
  22. package/dist/esm/components/Link/Link.mjs +7 -6
  23. package/dist/esm/components/Link/Link.mjs.map +1 -1
  24. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +1 -1
  25. package/dist/esm/components/Modal/Modal.mjs +2 -2
  26. package/dist/esm/components/Navbar/MobileNavbar.mjs +1 -1
  27. package/dist/esm/components/Pagination/Pagination.mjs +1 -1
  28. package/dist/esm/components/RightDrawer/RightDrawer.mjs +3 -3
  29. package/dist/esm/components/Steps/index.mjs +3 -1
  30. package/dist/esm/components/Steps/index.mjs.map +1 -1
  31. package/dist/esm/components/SwitchSelector/SwitchSelector.mjs +1 -0
  32. package/dist/esm/components/SwitchSelector/SwitchSelector.mjs.map +1 -1
  33. package/dist/esm/components/Tab/Tab.mjs +1 -1
  34. package/dist/esm/hooks/index.mjs +8 -8
  35. package/dist/esm/libs/auth.mjs +3 -3
  36. package/dist/esm/libs/auth.mjs.map +1 -1
  37. package/dist/esm/providers/ReactQueryProvider.mjs +1 -1
  38. package/dist/esm/providers/ReactQueryProvider.mjs.map +1 -1
  39. package/dist/types/api/hooks/environment.d.ts +10 -0
  40. package/dist/types/api/hooks/environment.d.ts.map +1 -0
  41. package/dist/types/api/hooks/project.d.ts +1 -7
  42. package/dist/types/api/hooks/project.d.ts.map +1 -1
  43. package/dist/types/api/index.d.ts +4 -3
  44. package/dist/types/api/useIntlayerAPI.d.ts +9 -7
  45. package/dist/types/api/useIntlayerAPI.d.ts.map +1 -1
  46. package/dist/types/components/Badge/index.d.ts +1 -1
  47. package/dist/types/components/Button/Button.d.ts +3 -3
  48. package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts +1 -1
  49. package/dist/types/components/Command/index.d.ts +2 -2
  50. package/dist/types/components/Container/index.d.ts +2 -2
  51. package/dist/types/components/Form/FormBase.d.ts.map +1 -1
  52. package/dist/types/components/Form/elements/SwitchSelectorElement.d.ts.map +1 -1
  53. package/dist/types/components/Input/Checkbox.d.ts +1 -1
  54. package/dist/types/components/Input/Radio.d.ts +1 -1
  55. package/dist/types/components/Link/Link.d.ts +2 -2
  56. package/dist/types/components/Link/Link.d.ts.map +1 -1
  57. package/dist/types/components/Steps/index.d.ts.map +1 -1
  58. package/dist/types/components/SwitchSelector/SwitchSelector.d.ts +1 -1
  59. package/dist/types/components/TabSelector/TabSelector.d.ts +1 -1
  60. package/dist/types/components/Tag/index.d.ts +1 -1
  61. 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 { useAddEnvironment, useAddNewAccessKey, useAddProject, useDeleteAccessKey, useDeleteEnvironment, useDeleteProject, useDeleteProjectById, useGetCIConfig, useGetProjects, useMigrateEnvironment, usePushCIConfig, usePushProjectConfiguration, useRefreshAccessKey, useResetToProductionEnvironment, useSelectEnvironment, useSelectProject, useTriggerBuild, useTriggerWebhook, useUnselectProject, useUpdateEnvironment, useUpdateMemberAccess, useUpdateProject, useUpdateProjectMembers };
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":";;;;;;;AAsBA,MAAa,kBACX,SACA,YACG;CACH,MAAM,aAAa,cAAc;CAEjC,OAAO,YAAY;EACjB,UAAU,CAAC,YAAY,OAAO;EAC9B,UAAU,EAAE,aAAa,WAAW,YAAY,SAAS,EAAE,OAAO,CAAC;EAEnE,aAAa;EACb,qBAAqB;EACrB,GAAG;CACL,CAAC;AACH;AAEA,MAAa,sBAAsB;CACjC,MAAM,aAAa,cAAc;CAEjC,OAAO,YAAY;EACjB,aAAa,CAAC,UAAU;EACxB,aAAa,SAAyB,WAAW,WAAW,IAAI;EAChE,MAAM,EACJ,mBAAmB,CAAC,CAAC,UAAU,CAAC,EAClC;CACF,CAAC;AACH;AAEA,MAAa,yBAAyB;CACpC,MAAM,aAAa,cAAc;CACjC,MAAM,cAAc,eAAe;CAEnC,OAAO,YAAY;EACjB,aAAa,CAAC,UAAU;EACxB,aAAa,SAA4B,WAAW,cAAc,IAAI;EACtE,MAAM,EACJ,mBAAmB,CAAC,CAAC,UAAU,CAAC,EAClC;EACA,YAAY,SAAS;GACnB,MAAM,UAAU,YAAY,aAAa,CAAC,SAAS,CAAC;GAEpD,YAAY,aAAa,CAAC,SAAS,GAAG;IACpC,GAAI,WAAW,CAAC;IAChB,SAAS,KAAK;GAChB,CAAC;EACH;CACF,CAAC;AACH;AAEA,MAAa,oCAAoC;CAC/C,MAAM,aAAa,cAAc;CACjC,MAAM,cAAc,eAAe;CAEnC,OAAO,YAAY;EACjB,aAAa,CAAC,WAAW,oBAAoB;EAC7C,aAAa,SACX,WAAW,yBAAyB,IAAI;EAC1C,YAAY,SAAS;GACnB,MAAM,UAAU,YAAY,aAAa,CAAC,SAAS,CAAC;GAEpD,YAAY,aAAa,CAAC,SAAS,GAAG;IACpC,GAAI,WAAW,CAAC;IAChB,SAAS,KAAK;GAChB,CAAC;EACH;CACF,CAAC;AACH;AAEA,MAAa,gCAAgC;CAC3C,MAAM,aAAa,cAAc;CAEjC,OAAO,YAAY;EACjB,aAAa,CAAC,UAAU;EACxB,aAAa,SACX,WAAW,qBAAqB,IAAI;EACtC,MAAM,EACJ,mBAAmB,CAAC,CAAC,UAAU,CAAC,EAClC;CACF,CAAC;AACH;AAEA,MAAa,yBAAyB;CACpC,MAAM,aAAa,cAAc;CAEjC,OAAO,YAAY;EACjB,aAAa,CAAC,UAAU;EACxB,kBAAkB,WAAW,cAAc;EAC3C,MAAM,EACJ,mBAAmB,CAAC,CAAC,UAAU,CAAC,EAClC;CACF,CAAC;AACH;AAEA,MAAa,6BAA6B;CACxC,MAAM,aAAa,cAAc;CAEjC,OAAO,YAAY;EACjB,aAAa,CAAC,UAAU;EACxB,aAAa,cACX,WAAW,uBAAuB,SAAS;EAC7C,MAAM,EACJ,mBAAmB,CAAC,CAAC,UAAU,CAAC,EAClC;CACF,CAAC;AACH;AAEA,MAAa,yBAAyB;CACpC,MAAM,aAAa,cAAc;CACjC,MAAM,cAAc,eAAe;CAEnC,OAAO,YAAY;EACjB,aAAa,CAAC,kBAAkB;EAChC,aAAa,SAA6B,WAAW,cAAc,IAAI;EACvE,MAAM,EACJ,mBAAmB;GACjB,CAAC,SAAS;GACV,CAAC,UAAU;GACX,CAAC,cAAc;GACf,CAAC,MAAM;GACP,CAAC,cAAc;GACf,CAAC,OAAO;EACV,EACF;EACA,YAAY,SAAS;GACnB,MAAM,UAAU,YAAY,aAAa,CAAC,SAAS,CAAC;GAEpD,YAAY,aAAa,CAAC,SAAS,GAAG;IACpC,GAAI,WAAW,CAAC;IAChB,SAAS,KAAK;GAChB,CAAC;EACH;CACF,CAAC;AACH;AAEA,MAAa,2BAA2B;CACtC,MAAM,aAAa,cAAc;CACjC,MAAM,cAAc,eAAe;CAEnC,OAAO,YAAY;EACjB,aAAa,CAAC,kBAAkB;EAChC,kBAAkB,WAAW,gBAAgB;EAC7C,MAAM,EACJ,cAAc;GACZ,CAAC,SAAS;GACV,CAAC,UAAU;GACX,CAAC,cAAc;GACf,CAAC,MAAM;GACP,CAAC,cAAc;GACf,CAAC,OAAO;EACV,EACF;EACA,iBAAiB;GACf,MAAM,UAAU,YAAY,aAAa,CAAC,SAAS,CAAC;GAEpD,YAAY,aAAa,CAAC,SAAS,GAAG;IACpC,GAAI,WAAW,CAAC;IAChB,SAAS;GACX,CAAC;EACH;CACF,CAAC;AACH;AAEA,MAAa,kBAAkB,YAAuC;CACpE,MAAM,aAAa,cAAc;CAEjC,OAAO,YAAY;EACjB,UAAU,CAAC,WAAW;EACtB,UAAU,EAAE,aAAa,WAAW,YAAY,EAAE,OAAO,CAAC;EAC1D,gBAAgB;EAChB,GAAG;CACL,CAAC;AACH;AAEA,MAAa,wBAAwB;CACnC,MAAM,aAAa,cAAc;CAEjC,OAAO,YAAY;EACjB,aAAa,CAAC,WAAW;EACzB,kBAAkB,WAAW,aAAa;EAC1C,MAAM,EACJ,mBAAmB,CAAC,CAAC,WAAW,CAAC,EACnC;CACF,CAAC;AACH;AAEA,MAAa,wBAAwB;CACnC,MAAM,aAAa,cAAc;CAEjC,OAAO,YAAY;EACjB,aAAa,CAAC,YAAY,OAAO;EACjC,kBAAkB,WAAW,aAAa;EAC1C,MAAM,EACJ,mBAAmB,CAAC,CAAC,UAAU,CAAC,EAClC;CACF,CAAC;AACH;AAEA,MAAa,0BAA0B;CACrC,MAAM,aAAa,cAAc;CAEjC,OAAO,YAAY;EACjB,aAAa,CAAC,YAAY,SAAS;EACnC,aAAa,iBACX,WAAW,eAAe,YAAY;EACxC,MAAM,EACJ,mBAAmB,CAAC,CAAC,UAAU,CAAC,EAClC;CACF,CAAC;AACH;AAEA,MAAa,2BAA2B;CACtC,MAAM,aAAa,cAAc;CAEjC,OAAO,YAAY;EACjB,aAAa,CAAC,WAAW,aAAa;EACtC,aAAa,SAA8B,WAAW,gBAAgB,IAAI;EAC1E,MAAM,EACJ,mBAAmB,CAAC,CAAC,SAAS,CAAC,EACjC;CACF,CAAC;AACH;AAEA,MAAa,2BAA2B;CACtC,MAAM,aAAa,cAAc;CAEjC,OAAO,YAAY;EACjB,aAAa,CAAC,WAAW,aAAa;EACtC,aAAa,SAA8B,WAAW,gBAAgB,IAAI;EAC1E,MAAM,EACJ,mBAAmB,CAAC,CAAC,SAAS,CAAC,EACjC;CACF,CAAC;AACH;AAEA,MAAa,4BAA4B;CACvC,MAAM,aAAa,cAAc;CAEjC,OAAO,YAAY;EACjB,aAAa,CAAC,WAAW,aAAa;EACtC,aAAa,SACX,WAAW,iBAAiB,IAAI;EAClC,MAAM,EACJ,mBAAmB,CAAC,CAAC,SAAS,CAAC,EACjC;CACF,CAAC;AACH;AAEA,MAAa,8BAA8B;CACzC,MAAM,aAAa,cAAc;CAEjC,OAAO,YAAY;EACjB,aAAa,CAAC,YAAY,eAAe;EACzC,aAAa,EACX,QACA,GAAG,WAEH,WAAW,mBAAmB,QAAQ,IAAI;EAC5C,MAAM,EACJ,mBAAmB,CAAC,CAAC,UAAU,GAAG,CAAC,SAAS,CAAC,EAC/C;CACF,CAAC;AACH"}
@@ -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 { useAddEnvironment, useAddNewAccessKey, useAddProject, useDeleteAccessKey, useDeleteEnvironment, useDeleteProject, useDeleteProjectById, useGetCIConfig, useGetProjects, useMigrateEnvironment, usePushCIConfig, usePushProjectConfiguration, useRefreshAccessKey, useResetToProductionEnvironment, useSelectEnvironment, useSelectProject, useTriggerBuild, useTriggerWebhook, useUnselectProject, useUpdateEnvironment, useUpdateMemberAccess, useUpdateProject, useUpdateProjectMembers } from "./hooks/project.mjs";
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":"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"}
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";
@@ -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";