@intlayer/design-system 8.2.3 → 8.3.0-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/dist/esm/components/Accordion/Accordion.mjs +1 -1
  2. package/dist/esm/components/Avatar/index.mjs +1 -1
  3. package/dist/esm/components/Breadcrumb/index.mjs +1 -1
  4. package/dist/esm/components/Breadcrumb/index.mjs.map +1 -1
  5. package/dist/esm/components/Browser/Browser.mjs +1 -1
  6. package/dist/esm/components/Carousel/index.mjs +4 -4
  7. package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs +1 -1
  8. package/dist/esm/components/ContentEditor/ContentEditor.mjs +1 -1
  9. package/dist/esm/components/ContentEditor/ContentEditorInput.mjs +1 -1
  10. package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs +1 -1
  11. package/dist/esm/components/CopyButton/index.mjs +1 -1
  12. package/dist/esm/components/CopyToClipboard/index.mjs +1 -1
  13. package/dist/esm/components/DictionaryEditor/DictionaryEditor.mjs.map +1 -1
  14. package/dist/esm/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs +1 -1
  15. package/dist/esm/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs.map +1 -1
  16. package/dist/esm/components/DictionaryEditor/NodeWrapper/ConditionWrapper.mjs +1 -1
  17. package/dist/esm/components/DictionaryEditor/NodeWrapper/ConditionWrapper.mjs.map +1 -1
  18. package/dist/esm/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs +1 -1
  19. package/dist/esm/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs.map +1 -1
  20. package/dist/esm/components/DictionaryEditor/NodeWrapper/FileWrapper.mjs +1 -1
  21. package/dist/esm/components/DictionaryEditor/NodeWrapper/FileWrapper.mjs.map +1 -1
  22. package/dist/esm/components/DictionaryEditor/NodeWrapper/HtmlWrapper.mjs +1 -1
  23. package/dist/esm/components/DictionaryEditor/NodeWrapper/HtmlWrapper.mjs.map +1 -1
  24. package/dist/esm/components/DictionaryEditor/NodeWrapper/InsertionWrapper.mjs +1 -1
  25. package/dist/esm/components/DictionaryEditor/NodeWrapper/InsertionWrapper.mjs.map +1 -1
  26. package/dist/esm/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs +1 -1
  27. package/dist/esm/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs.map +1 -1
  28. package/dist/esm/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs +1 -1
  29. package/dist/esm/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs.map +1 -1
  30. package/dist/esm/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs +1 -1
  31. package/dist/esm/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs.map +1 -1
  32. package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs +1 -1
  33. package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs.map +1 -1
  34. package/dist/esm/components/DictionaryFieldEditor/ContentEditor.mjs.map +1 -1
  35. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +1 -1
  36. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs.map +1 -1
  37. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +1 -1
  38. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
  39. package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +1 -1
  40. package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
  41. package/dist/esm/components/DictionaryFieldEditor/JSONEditor.mjs.map +1 -1
  42. package/dist/esm/components/DictionaryFieldEditor/KeyPathBreadcrumb.mjs.map +1 -1
  43. package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +1 -1
  44. package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs.map +1 -1
  45. package/dist/esm/components/DictionaryFieldEditor/NodeTypeSelector.mjs +1 -1
  46. package/dist/esm/components/DictionaryFieldEditor/NodeTypeSelector.mjs.map +1 -1
  47. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +1 -1
  48. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  49. package/dist/esm/components/DictionaryFieldEditor/StructureEditor.mjs.map +1 -1
  50. package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs +1 -1
  51. package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs.map +1 -1
  52. package/dist/esm/components/DictionaryFieldEditor/getIsEditableSection.mjs +1 -1
  53. package/dist/esm/components/DictionaryFieldEditor/getIsEditableSection.mjs.map +1 -1
  54. package/dist/esm/components/EditableField/EditableFieldLayout.mjs +1 -1
  55. package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs +1 -1
  56. package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs.map +1 -1
  57. package/dist/esm/components/Flags/Flag.mjs +1 -1
  58. package/dist/esm/components/Flags/Flag.mjs.map +1 -1
  59. package/dist/esm/components/HTMLRender/HTMLRender.mjs.map +1 -1
  60. package/dist/esm/components/HideShow/index.mjs +1 -1
  61. package/dist/esm/components/IDE/CodeBlockClient.mjs.map +1 -1
  62. package/dist/esm/components/IDE/CodeBlockShiki.mjs +1 -1
  63. package/dist/esm/components/IDE/CodeBlockShiki.mjs.map +1 -1
  64. package/dist/esm/components/IDE/FileTree.mjs +1 -1
  65. package/dist/esm/components/Input/Input.mjs +1 -1
  66. package/dist/esm/components/Input/Input.mjs.map +1 -1
  67. package/dist/esm/components/Input/InputPassword.mjs +1 -1
  68. package/dist/esm/components/Input/OTPInput.mjs +2 -2
  69. package/dist/esm/components/Label/index.mjs +1 -1
  70. package/dist/esm/components/Label/index.mjs.map +1 -1
  71. package/dist/esm/components/LanguageBackground/index.mjs +1 -1
  72. package/dist/esm/components/LanguageBackground/index.mjs.map +1 -1
  73. package/dist/esm/components/Link/Link.mjs +1 -1
  74. package/dist/esm/components/Link/Link.mjs.map +1 -1
  75. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +1 -1
  76. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs.map +1 -1
  77. package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs +1 -1
  78. package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs.map +1 -1
  79. package/dist/esm/components/MarkDownRender/MarkDownRender.mjs +1 -1
  80. package/dist/esm/components/MarkDownRender/MarkDownRender.mjs.map +1 -1
  81. package/dist/esm/components/MarkDownRender/index.mjs +1 -1
  82. package/dist/esm/components/MaxHeightSmoother/index.mjs +1 -1
  83. package/dist/esm/components/MaxHeightSmoother/index.mjs.map +1 -1
  84. package/dist/esm/components/Modal/Modal.mjs +1 -1
  85. package/dist/esm/components/Pagination/Pagination.mjs +1 -1
  86. package/dist/esm/components/RightDrawer/RightDrawer.mjs +1 -1
  87. package/dist/esm/components/Select/Multiselect.mjs +1 -1
  88. package/dist/esm/components/Select/Select.mjs +1 -1
  89. package/dist/esm/components/Select/Select.mjs.map +1 -1
  90. package/dist/esm/components/Table/Table.mjs +1 -1
  91. package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs +1 -1
  92. package/dist/esm/components/ThemeSwitcherDropDown/MobileThemeSwitcher.mjs +1 -1
  93. package/dist/esm/components/Toaster/Toast.mjs +1 -1
  94. package/dist/esm/components/index.mjs +1 -1
  95. package/dist/esm/hooks/index.mjs +1 -1
  96. package/dist/esm/hooks/reactQuery.mjs +1 -1
  97. package/dist/esm/hooks/reactQuery.mjs.map +1 -1
  98. package/dist/esm/hooks/useAuth/useAuth.mjs.map +1 -1
  99. package/dist/esm/hooks/useAuth/useOAuth2.mjs +1 -1
  100. package/dist/esm/hooks/useAuth/useOAuth2.mjs.map +1 -1
  101. package/dist/esm/hooks/useAuth/useSession.mjs +1 -1
  102. package/dist/esm/hooks/useAuth/useSession.mjs.map +1 -1
  103. package/dist/esm/hooks/useIntlayerAPI.mjs.map +1 -1
  104. package/dist/esm/libs/auth.mjs +1 -1
  105. package/dist/esm/libs/auth.mjs.map +1 -1
  106. package/dist/esm/providers/ReactQueryProvider.mjs +1 -1
  107. package/dist/types/components/Badge/index.d.ts +1 -1
  108. package/dist/types/components/Breadcrumb/breadcrumb.content.d.ts +3 -3
  109. package/dist/types/components/Breadcrumb/index.d.ts +1 -1
  110. package/dist/types/components/Browser/Browser.content.d.ts +17 -17
  111. package/dist/types/components/Button/Button.d.ts +3 -3
  112. package/dist/types/components/Carousel/index.content.d.ts +7 -7
  113. package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts +2 -2
  114. package/dist/types/components/Command/index.d.ts +1 -1
  115. package/dist/types/components/Container/index.d.ts +5 -5
  116. package/dist/types/components/CopyButton/CopyButton.content.d.ts +3 -3
  117. package/dist/types/components/DictionaryEditor/DictionaryEditor.d.ts +2 -1
  118. package/dist/types/components/DictionaryEditor/DictionaryEditor.d.ts.map +1 -1
  119. package/dist/types/components/DictionaryEditor/NodeWrapper/ArrayWrapper.d.ts +1 -1
  120. package/dist/types/components/DictionaryEditor/NodeWrapper/ArrayWrapper.d.ts.map +1 -1
  121. package/dist/types/components/DictionaryEditor/NodeWrapper/ConditionWrapper.d.ts +1 -1
  122. package/dist/types/components/DictionaryEditor/NodeWrapper/ConditionWrapper.d.ts.map +1 -1
  123. package/dist/types/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.d.ts +1 -1
  124. package/dist/types/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.d.ts.map +1 -1
  125. package/dist/types/components/DictionaryEditor/NodeWrapper/FileWrapper.d.ts.map +1 -1
  126. package/dist/types/components/DictionaryEditor/NodeWrapper/HtmlWrapper.d.ts +1 -1
  127. package/dist/types/components/DictionaryEditor/NodeWrapper/HtmlWrapper.d.ts.map +1 -1
  128. package/dist/types/components/DictionaryEditor/NodeWrapper/InsertionWrapper.d.ts +1 -1
  129. package/dist/types/components/DictionaryEditor/NodeWrapper/InsertionWrapper.d.ts.map +1 -1
  130. package/dist/types/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.d.ts +1 -1
  131. package/dist/types/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.d.ts.map +1 -1
  132. package/dist/types/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.d.ts +1 -1
  133. package/dist/types/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.d.ts.map +1 -1
  134. package/dist/types/components/DictionaryEditor/NodeWrapper/TranslationWrapper.d.ts +1 -1
  135. package/dist/types/components/DictionaryEditor/NodeWrapper/TranslationWrapper.d.ts.map +1 -1
  136. package/dist/types/components/DictionaryEditor/NodeWrapper/index.d.ts +3 -1
  137. package/dist/types/components/DictionaryEditor/NodeWrapper/index.d.ts.map +1 -1
  138. package/dist/types/components/DictionaryFieldEditor/ContentEditor.d.ts +1 -1
  139. package/dist/types/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts +2 -1
  140. package/dist/types/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts.map +1 -1
  141. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts +25 -25
  142. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts +9 -9
  143. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.d.ts +1 -1
  144. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts +55 -55
  145. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts +33 -33
  146. package/dist/types/components/DictionaryFieldEditor/DictionaryFieldEditor.d.ts +1 -1
  147. package/dist/types/components/DictionaryFieldEditor/JSONEditor.d.ts +1 -1
  148. package/dist/types/components/DictionaryFieldEditor/KeyPathBreadcrumb.d.ts +2 -1
  149. package/dist/types/components/DictionaryFieldEditor/KeyPathBreadcrumb.d.ts.map +1 -1
  150. package/dist/types/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.d.ts +4 -4
  151. package/dist/types/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.d.ts.map +1 -1
  152. package/dist/types/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts +25 -25
  153. package/dist/types/components/DictionaryFieldEditor/NodeTypeSelector.d.ts +2 -1
  154. package/dist/types/components/DictionaryFieldEditor/NodeTypeSelector.d.ts.map +1 -1
  155. package/dist/types/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts +1 -1
  156. package/dist/types/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +33 -33
  157. package/dist/types/components/DictionaryFieldEditor/StructureEditor.d.ts +1 -1
  158. package/dist/types/components/DictionaryFieldEditor/StructureView/StructureView.d.ts +2 -1
  159. package/dist/types/components/DictionaryFieldEditor/StructureView/StructureView.d.ts.map +1 -1
  160. package/dist/types/components/DictionaryFieldEditor/StructureView/structureView.content.d.ts +9 -9
  161. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts +7 -7
  162. package/dist/types/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts +5 -5
  163. package/dist/types/components/DictionaryFieldEditor/getIsEditableSection.d.ts +1 -1
  164. package/dist/types/components/DictionaryFieldEditor/getIsEditableSection.d.ts.map +1 -1
  165. package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts +31 -31
  166. package/dist/types/components/ExpandCollapse/expandCollapse.content.d.ts +3 -3
  167. package/dist/types/components/Flags/Flag.d.ts +1 -1
  168. package/dist/types/components/Flags/Flag.d.ts.map +1 -1
  169. package/dist/types/components/HTMLRender/HTMLRender.d.ts +1 -1
  170. package/dist/types/components/IDE/CodeBlockClient.d.ts +2 -2
  171. package/dist/types/components/IDE/CodeBlockClient.d.ts.map +1 -1
  172. package/dist/types/components/IDE/CodeBlockShiki.d.ts.map +1 -1
  173. package/dist/types/components/IDE/code.content.d.ts +5 -5
  174. package/dist/types/components/IDE/copyCode.content.d.ts +5 -5
  175. package/dist/types/components/IDE/index.d.ts +2 -2
  176. package/dist/types/components/IDE/selectors.content.d.ts +13 -13
  177. package/dist/types/components/Input/Checkbox.d.ts +1 -1
  178. package/dist/types/components/LanguageBackground/index.d.ts.map +1 -1
  179. package/dist/types/components/Link/Link.d.ts +4 -4
  180. package/dist/types/components/Loader/index.content.d.ts +3 -3
  181. package/dist/types/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.d.ts.map +1 -1
  182. package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts +17 -17
  183. package/dist/types/components/LocaleSwitcherDropDown/LocaleSwitcher.d.ts +1 -1
  184. package/dist/types/components/LocaleSwitcherDropDown/LocaleSwitcher.d.ts.map +1 -1
  185. package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts +13 -13
  186. package/dist/types/components/MarkDownRender/MarkDownRender.d.ts +143 -15
  187. package/dist/types/components/MarkDownRender/MarkDownRender.d.ts.map +1 -1
  188. package/dist/types/components/MarkDownRender/index.d.ts +2 -2
  189. package/dist/types/components/Pagination/Pagination.d.ts +2 -2
  190. package/dist/types/components/Pagination/pagination.content.d.ts +11 -11
  191. package/dist/types/components/RightDrawer/rightDrawer.content.d.ts +5 -5
  192. package/dist/types/components/Select/Select.d.ts.map +1 -1
  193. package/dist/types/components/SwitchSelector/index.d.ts +1 -1
  194. package/dist/types/components/Tab/Tab.d.ts +2 -2
  195. package/dist/types/components/TabSelector/TabSelector.d.ts +1 -1
  196. package/dist/types/components/Table/table.content.d.ts +3 -3
  197. package/dist/types/components/Tag/index.d.ts +2 -2
  198. package/dist/types/components/Terminal/terminal.content.d.ts +5 -5
  199. package/dist/types/components/index.d.ts +3 -3
  200. package/dist/types/hooks/index.d.ts +3 -3
  201. package/dist/types/hooks/reactQuery.d.ts +11 -3
  202. package/dist/types/hooks/reactQuery.d.ts.map +1 -1
  203. package/dist/types/hooks/useAuth/useAuth.d.ts +1 -1
  204. package/dist/types/hooks/useAuth/useOAuth2.d.ts +1 -1
  205. package/dist/types/hooks/useAuth/useSession.d.ts +1 -1
  206. package/dist/types/hooks/useIntlayerAPI.d.ts +2 -2
  207. package/dist/types/hooks/useIntlayerAPI.d.ts.map +1 -1
  208. package/dist/types/libs/auth.d.ts +1 -1
  209. package/package.json +31 -29
@@ -1 +1 @@
1
- {"version":3,"file":"reactQuery.mjs","names":[],"sources":["../../../src/hooks/reactQuery.ts"],"sourcesContent":["'use client';\n\nimport type {} from '@better-fetch/fetch'; // Import for type inference\nimport type {\n GetRecursiveAuditStatusParams,\n ScanUrlBody,\n StartRecursiveAuditBody,\n} from '@intlayer/api';\nimport type {\n AddDictionaryBody,\n AddNewAccessKeyBody,\n AddOrganizationBody,\n AddOrganizationMemberBody,\n AddProjectBody,\n AddTagBody,\n AskDocQuestionBody,\n AuditContentDeclarationBody,\n AuditContentDeclarationFieldBody,\n AuditContentDeclarationMetadataBody,\n AuditTagBody,\n AutocompleteBody,\n CreateUserBody,\n DeleteAccessKeyBody,\n DeleteDictionaryParam,\n DeleteTagParams,\n GetCheckoutSessionBody,\n GetDictionariesParams,\n GetDictionaryParams,\n GetDictionaryQuery,\n GetOrganizationsParams,\n GetPricingBody,\n GetPricingResult,\n GetProjectsParams,\n GetTagsParams,\n GetUsersParams,\n NewsletterSubscriptionBody,\n NewsletterUnsubscriptionBody,\n PushDictionariesBody,\n RefreshAccessKeyBody,\n SearchDocUtilParams,\n SelectOrganizationParam,\n SelectProjectParam,\n TranslateJSONBody,\n UpdateDictionaryBody,\n UpdateOrganizationBody,\n UpdateOrganizationMembersBody,\n UpdateProjectBody,\n UpdateProjectMembersBody,\n UpdateUserBody,\n} from '@intlayer/backend';\n\nimport { useConfiguration } from '@intlayer/editor-react';\nimport {\n type UseQueryOptions,\n useInfiniteQuery,\n useMutation,\n useQuery,\n useQueryClient,\n} from '@tanstack/react-query';\nimport type {} from 'better-auth'; // Import for type inference\n// @ts-ignore\nimport type { WriteContentDeclarationBody } from 'intlayer-editor';\nimport type { AuthAPI } from '../libs/auth';\nimport { useAuth } from './useAuth';\nimport { useIntlayerAuth, useIntlayerOAuth } from './useIntlayerAPI';\n\nexport { useQueryClient };\n\ntype AuthEnableOptions = {\n requireUser?: boolean;\n requireProject?: boolean;\n requireOrganization?: boolean;\n};\n\n/**\n * Hook to enable authentication\n */\nconst useAuthEnable = ({\n requireUser,\n requireProject,\n requireOrganization,\n}: AuthEnableOptions) => {\n const configuration = useConfiguration();\n const { oAuth2AccessToken, session } = useAuth({\n intlayerConfiguration: configuration,\n });\n\n const user = session ? session.user : oAuth2AccessToken?.user;\n\n const organization = session\n ? session.organization\n : oAuth2AccessToken?.organization;\n\n const project = session ? session.project : oAuth2AccessToken?.project;\n\n const isUserEnabled = requireUser ? Boolean(user) : true;\n\n const isProjectEnabled = requireProject ? Boolean(project) : true;\n\n const isOrganizationEnabled = requireOrganization\n ? Boolean(organization)\n : true;\n\n const isEnabled = isUserEnabled && isProjectEnabled && isOrganizationEnabled;\n\n return {\n enable: isEnabled,\n };\n};\n\nexport const useAppQuery = (\n options: UseQueryOptions & {\n requireUser?: boolean;\n requireProject?: boolean;\n requireOrganization?: boolean;\n }\n) => {\n const { requireUser, requireProject, requireOrganization, ...rest } = options;\n const { enable } = useAuthEnable({\n requireUser,\n requireProject,\n requireOrganization,\n });\n\n const result = useQuery({\n enabled: rest?.enabled === false ? false : enable,\n ...rest,\n });\n\n return result;\n};\n\n// Removed unused useEditorMutation\n\n/**\n * Auth\n */\n\nexport const useLogin = () => {\n const intlayerAuth = useIntlayerAuth();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['login'],\n mutationFn: (args: Parameters<AuthAPI['signInEmail']>[0]) =>\n intlayerAuth.signInEmail(args),\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n\n if (session && data.data?.user) {\n queryClient.setQueryData(['session'], {\n ...session,\n user: data.data.user,\n });\n }\n },\n });\n};\n\nexport const useGetVerifyEmailStatus = () => {\n const intlayerAuth = useIntlayerAuth();\n\n return useMutation({\n mutationKey: ['getVerifyEmailStatus'],\n mutationFn: (args: Parameters<AuthAPI['verifyEmailSession']>) =>\n intlayerAuth.verifyEmailSession(...args),\n });\n};\n\nexport const useRegister = () => {\n const intlayerAuth = useIntlayerAuth();\n\n return useMutation({\n mutationKey: ['register'],\n mutationFn: (args: Parameters<AuthAPI['signUpEmail']>[0]) =>\n intlayerAuth.signUpEmail(args),\n meta: {\n resetQueries: [['session']],\n },\n });\n};\n\nexport const useLogout = () => {\n const intlayerAuth = useIntlayerAuth();\n\n return useMutation({\n mutationKey: ['logout'],\n mutationFn: () => intlayerAuth.signOut(),\n meta: {\n resetQueries: [\n ['session'],\n ['users'],\n ['organizations'],\n ['projects'],\n ['dictionaries'],\n ['tags'],\n ],\n },\n });\n};\n\nexport const useChangePassword = () => {\n const intlayerAuth = useIntlayerAuth();\n\n return useMutation({\n mutationKey: ['changePassword'],\n mutationFn: (args: Parameters<AuthAPI['changePasswordSession']>) =>\n intlayerAuth.changePasswordSession(...args),\n });\n};\n\nexport const useAskResetPassword = () => {\n const intlayerAuth = useIntlayerAuth();\n\n return useMutation({\n mutationKey: ['askResetPassword'],\n mutationFn: (args: Parameters<AuthAPI['requestPasswordResetSession']>[0]) =>\n intlayerAuth.requestPasswordResetSession(args),\n });\n};\n\nexport const useResetPassword = () => {\n const intlayerAuth = useIntlayerAuth();\n\n return useMutation({\n mutationKey: ['resetPassword'],\n mutationFn: (args: Parameters<AuthAPI['resetPassword']>[0]) =>\n intlayerAuth.resetPassword(args),\n });\n};\n\nexport const useVerifyEmail = () => {\n const intlayerAuth = useIntlayerAuth();\n\n return useMutation({\n mutationKey: ['verifyEmail'],\n mutationFn: (args: Parameters<AuthAPI['verifyEmailSession']>[0]) =>\n intlayerAuth.verifyEmailSession(args),\n });\n};\n\nexport const useGetUserByAccount = () => {\n const intlayerAuth = useIntlayerAuth();\n\n return useMutation({\n mutationKey: ['user'],\n mutationFn: (args: Parameters<AuthAPI['accountInfo']>[0]) =>\n intlayerAuth.accountInfo(args),\n });\n};\n\nexport const useEnableTwoFactor = () => {\n const intlayerAuth = useIntlayerAuth();\n return useMutation({\n mutationKey: ['enableTwoFactor'],\n mutationFn: (args: Parameters<AuthAPI['enableTwoFactor']>[0]) =>\n intlayerAuth.enableTwoFactor(args),\n });\n};\n\nexport const useDisableTwoFactor = () => {\n const intlayerAuth = useIntlayerAuth();\n return useMutation({\n mutationKey: ['disableTwoFactor'],\n mutationFn: (args: Parameters<AuthAPI['disableTwoFactor']>[0]) =>\n intlayerAuth.disableTwoFactor(args),\n });\n};\n\nexport const useVerifyTotp = () => {\n const intlayerAuth = useIntlayerAuth();\n return useMutation({\n mutationKey: ['verifyTotp'],\n mutationFn: (args: Parameters<AuthAPI['verifyTotp']>[0]) =>\n intlayerAuth.verifyTotp(args),\n });\n};\n\nexport const useVerifyBackupCode = () => {\n const intlayerAuth = useIntlayerAuth();\n return useMutation({\n mutationKey: ['verifyBackupCode'],\n mutationFn: (args: Parameters<AuthAPI['verifyBackupCode']>[0]) =>\n intlayerAuth.verifyBackupCode(args),\n });\n};\n\nexport const useAddPasskey = () => {\n const intlayerAuth = useIntlayerAuth();\n return useMutation({\n mutationKey: ['addPasskey'],\n mutationFn: (args: Parameters<AuthAPI['addPasskey']>[0]) =>\n intlayerAuth.addPasskey(args),\n });\n};\n\nexport const useSignInPasskey = () => {\n const intlayerAuth = useIntlayerAuth();\n return useMutation({\n mutationKey: ['signInPasskey'],\n mutationFn: (args?: Parameters<AuthAPI['signInPasskey']>[0]) =>\n intlayerAuth.signInPasskey(args),\n });\n};\n\nexport const useDeletePasskey = () => {\n const intlayerAuth = useIntlayerAuth();\n return useMutation({\n mutationKey: ['deletePasskey'],\n mutationFn: (args: Parameters<AuthAPI['deletePasskey']>[0]) =>\n intlayerAuth.deletePasskey(args),\n });\n};\n\nexport const useListPasskeys = () => {\n const intlayerAuth = useIntlayerAuth();\n return useQuery({\n queryKey: ['listPasskeys'],\n queryFn: () => intlayerAuth.listPasskeys(),\n });\n};\n\nexport const useSignInMagicLink = () => {\n const intlayerAuth = useIntlayerAuth();\n return useMutation({\n mutationKey: ['signInMagicLink'],\n mutationFn: (args?: any) => intlayerAuth.signInMagicLink(args),\n });\n};\n\nexport const useRegisterSSO = () => {\n const intlayerAuth = useIntlayerAuth();\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['registerSSO'],\n mutationFn: (args: Parameters<AuthAPI['registerSSO']>[0]) =>\n intlayerAuth.registerSSO(args),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['ssoProviders'] });\n },\n });\n};\n\nexport const useSignInSSO = () => {\n const intlayerAuth = useIntlayerAuth();\n return useMutation({\n mutationKey: ['signInSSO'],\n mutationFn: (args: Parameters<AuthAPI['signInSSO']>[0]) =>\n intlayerAuth.signInSSO(args),\n });\n};\n\nexport const useListSSOProviders = () => {\n const intlayerAuth = useIntlayerAuth();\n return useQuery({\n queryKey: ['ssoProviders'],\n queryFn: () => intlayerAuth.listSSOProviders(),\n });\n};\n\nexport const useDeleteSSOProvider = () => {\n const intlayerAuth = useIntlayerAuth();\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['deleteSSOProvider'],\n mutationFn: (args: Parameters<AuthAPI['deleteSSOProvider']>[0]) =>\n intlayerAuth.deleteSSOProvider(args),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['ssoProviders'] });\n },\n });\n};\n\n/**\n * User\n */\n\nexport const useGetUsers = (\n filters?: GetUsersParams,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['users', filters],\n queryFn: () => intlayerOAuth.user.getUsers(filters),\n requireUser: true,\n // placeholderData: keepPreviousData,\n ...options,\n });\n};\n\nexport const useGetUserById = (userId: string) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['users', userId],\n queryFn: () => intlayerOAuth.user.getUserById(userId),\n requireUser: true,\n });\n};\n\nexport const useCreateUser = () => {\n const intlayerAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['users'],\n mutationFn: (args: CreateUserBody) => intlayerAuth.user.createUser(args),\n });\n};\n\nexport const useUpdateUser = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['users'],\n mutationFn: (args: UpdateUserBody) => intlayerOAuth.user.updateUser(args),\n });\n};\n\nexport const useDeleteUser = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['users'],\n mutationFn: (args: string) => intlayerOAuth.user.deleteUser(args),\n meta: {\n invalidateQueries: [['users']],\n },\n });\n};\n\n/**\n * Organization\n */\n\nexport const useGetOrganizations = (filters?: GetOrganizationsParams) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['organizations', filters],\n queryFn: ({ signal }) =>\n intlayerOAuth.organization.getOrganizations(filters, { signal }),\n // placeholderData: keepPreviousData,\n requireUser: true,\n });\n};\n\nexport const useAddOrganization = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['organizations'],\n mutationFn: (args: AddOrganizationBody) =>\n intlayerOAuth.organization.addOrganization(args),\n meta: {\n invalidateQueries: [['organizations']],\n },\n });\n};\n\nexport const useUpdateOrganization = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['organizations'],\n mutationFn: (args: UpdateOrganizationBody) =>\n intlayerOAuth.organization.updateOrganization(args),\n });\n};\n\nexport const useUpdateOrganizationMembers = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['organizations'],\n mutationFn: (args: UpdateOrganizationMembersBody) =>\n intlayerOAuth.organization.updateOrganizationMembers(args),\n meta: {\n invalidateQueries: [['organizations'], ['users']],\n },\n });\n};\n\nexport const useUpdateOrganizationMembersById = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['organizations'],\n mutationFn: ({\n organizationId,\n ...body\n }: {\n organizationId: string;\n membersIds: string[];\n adminsIds?: string[];\n }) =>\n intlayerOAuth.organization.updateOrganizationMembersById(\n organizationId,\n body\n ),\n meta: {\n invalidateQueries: [['organizations'], ['users']],\n },\n });\n};\n\nexport const useAddOrganizationMember = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['organizations'],\n mutationFn: (args: AddOrganizationMemberBody) =>\n intlayerOAuth.organization.addOrganizationMember(args),\n meta: {\n invalidateQueries: [['organizations']],\n },\n });\n};\n\nexport const useDeleteOrganization = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['organizations'],\n mutationFn: () => intlayerOAuth.organization.deleteOrganization(),\n meta: {\n invalidateQueries: [['organizations'], ['session']],\n },\n });\n};\n\nexport const useSelectOrganization = () => {\n const intlayerOAuth = useIntlayerOAuth();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['session-organizations'],\n mutationFn: (args: SelectOrganizationParam) =>\n intlayerOAuth.organization.selectOrganization(args),\n meta: {\n invalidateQueries: [\n ['session'],\n ['organizations'],\n ['projects'],\n ['dictionaries'],\n ['tags'],\n ['subscription'],\n ['users'],\n ],\n },\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n\n if (session) {\n queryClient.setQueryData(['session'], {\n ...session,\n organization: data.data,\n });\n }\n },\n });\n};\n\nexport const useUnselectOrganization = () => {\n const intlayerOAuth = useIntlayerOAuth();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['session-organizations'],\n mutationFn: () => intlayerOAuth.organization.unselectOrganization(),\n meta: {\n resetQueries: [\n ['session'],\n ['organizations'],\n ['projects'],\n ['dictionaries'],\n ['tags'],\n ['subscription'],\n ['users'],\n ],\n },\n onSuccess: () => {\n const session = queryClient.getQueryData(['session']);\n\n if (session) {\n queryClient.setQueryData(['session'], {\n ...session,\n organization: null,\n project: null,\n });\n }\n },\n });\n};\n\n/**\n * Project\n */\n\nexport const useGetProjects = (\n filters?: GetProjectsParams,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['projects', filters],\n queryFn: ({ signal }) =>\n intlayerOAuth.project.getProjects(filters, { signal }),\n // placeholderData: keepPreviousData,\n requireUser: true,\n requireOrganization: true,\n ...options,\n });\n};\n\nexport const useAddProject = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (args: AddProjectBody) =>\n intlayerOAuth.project.addProject(args),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useUpdateProject = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (args: UpdateProjectBody) =>\n intlayerOAuth.project.updateProject(args),\n meta: {\n invalidateQueries: [['projects'], ['session']],\n },\n });\n};\n\nexport const useUpdateProjectMembers = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (args: UpdateProjectMembersBody) =>\n intlayerOAuth.project.updateProjectMembers(args),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useDeleteProject = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: () => intlayerOAuth.project.deleteProject(),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useSelectProject = () => {\n const intlayerOAuth = useIntlayerOAuth();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['session-projects'],\n mutationFn: (args: SelectProjectParam) =>\n intlayerOAuth.project.selectProject(args),\n meta: {\n invalidateQueries: [\n ['projects'],\n ['dictionaries'],\n ['tags'],\n ['subscription'],\n ['users'],\n ],\n },\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n\n if (session) {\n queryClient.setQueryData(['session'], {\n ...session,\n project: data.data,\n });\n }\n },\n });\n};\n\nexport const useUnselectProject = () => {\n const intlayerOAuth = useIntlayerOAuth();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['session-projects'],\n mutationFn: () => intlayerOAuth.project.unselectProject(),\n meta: {\n resetQueries: [\n ['projects'],\n ['dictionaries'],\n ['tags'],\n ['subscription'],\n ['users'],\n ],\n },\n onSuccess: () => {\n const session = queryClient.getQueryData(['session']);\n\n if (session) {\n queryClient.setQueryData(['session'], {\n ...session,\n project: null,\n });\n }\n },\n });\n};\n\nexport const useGetCIConfig = (options?: Partial<UseQueryOptions>) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['ci-config'],\n queryFn: ({ signal }) => intlayerOAuth.project.getCIConfig({ signal }),\n requireProject: true,\n ...options,\n });\n};\n\nexport const usePushCIConfig = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['ci-config'],\n mutationFn: () => intlayerOAuth.project.pushCIConfig(),\n meta: {\n invalidateQueries: [['ci-config']],\n },\n });\n};\n\nexport const useTriggerBuild = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['projects', 'build'],\n mutationFn: () => intlayerOAuth.project.triggerBuild(),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useTriggerWebhook = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['projects', 'webhook'],\n mutationFn: (webhookIndex: number) =>\n intlayerOAuth.project.triggerWebhook(webhookIndex),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useAddNewAccessKey = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (args: AddNewAccessKeyBody) =>\n intlayerOAuth.project.addNewAccessKey(args),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useDeleteAccessKey = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (args: DeleteAccessKeyBody) =>\n intlayerOAuth.project.deleteAccessKey(args),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useRefreshAccessKey = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (args: RefreshAccessKeyBody) =>\n intlayerOAuth.project.refreshAccessKey(args),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\n/**\n * Dictionary\n */\n\nexport const useGetDictionaries = (\n filters?: GetDictionariesParams,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['dictionaries', filters],\n queryFn: ({ signal }) =>\n intlayerOAuth.dictionary.getDictionaries(filters, { signal }),\n // placeholderData: keepPreviousData,\n requireUser: true,\n requireOrganization: true,\n requireProject: true,\n ...options,\n });\n};\n\nexport const useInfiniteGetDictionaries = (\n filters?: Omit<GetDictionariesParams, 'page'>,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n const { enable } = useAuthEnable({\n requireUser: true,\n requireOrganization: true,\n requireProject: true,\n });\n\n return useInfiniteQuery({\n queryKey: ['dictionaries', 'infinite', filters],\n queryFn: async ({ pageParam = 1, signal }) => {\n const res = await intlayerOAuth.dictionary.getDictionaries(\n { ...filters, page: pageParam },\n { signal }\n );\n return res;\n },\n getNextPageParam: (lastPage) => {\n if (lastPage.data.length === 0) return undefined;\n const currentPage = lastPage.page ?? 1;\n const totalPages = lastPage.total_pages ?? 1;\n return currentPage < totalPages ? currentPage + 1 : undefined;\n },\n initialPageParam: 1,\n enabled: options?.enabled === false ? false : enable,\n ...options,\n });\n};\n\nexport const useGetDictionariesKeys = (options?: Partial<UseQueryOptions>) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['dictionariesKeys'],\n queryFn: () => intlayerOAuth.dictionary.getDictionariesKeys(),\n requireUser: true,\n requireOrganization: true,\n requireProject: true,\n ...options,\n });\n};\n\nexport const useGetDictionary = (\n dictionaryKey: GetDictionaryParams['dictionaryKey'],\n version?: GetDictionaryQuery['version'],\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['dictionary', dictionaryKey],\n queryFn: ({ signal }) =>\n intlayerOAuth.dictionary.getDictionary(dictionaryKey, version, {\n signal,\n }),\n requireUser: true,\n requireOrganization: true,\n requireProject: true,\n ...options,\n });\n};\n\nexport const useAddDictionary = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['dictionaries'],\n mutationFn: (args: AddDictionaryBody) =>\n intlayerOAuth.dictionary.addDictionary(args),\n meta: {\n invalidateQueries: [['dictionaries'], ['dictionariesKeys']],\n },\n });\n};\n\nexport const usePushDictionaries = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['dictionaries'],\n mutationFn: (args: PushDictionariesBody) =>\n intlayerOAuth.dictionary.pushDictionaries(args.dictionaries),\n meta: {\n invalidateQueries: [['dictionaries'], ['dictionariesKeys']],\n },\n });\n};\n\nexport const useUpdateDictionary = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['dictionaries'],\n mutationFn: (args: UpdateDictionaryBody) =>\n intlayerOAuth.dictionary.updateDictionary(args),\n meta: {\n invalidateQueries: [['dictionaries'], ['dictionariesKeys']],\n },\n });\n};\n\nexport const useDeleteDictionary = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['dictionaries'],\n mutationFn: (args: DeleteDictionaryParam) =>\n intlayerOAuth.dictionary.deleteDictionary(args.dictionaryId),\n meta: {\n invalidateQueries: [['dictionaries'], ['dictionariesKeys']],\n },\n });\n};\n\n/**\n * Tag\n */\n\nexport const useGetTags = (\n filters?: GetTagsParams,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['tags', filters],\n queryFn: ({ signal }) => intlayerOAuth.tag.getTags(filters, { signal }),\n // placeholderData: keepPreviousData,\n requireUser: true,\n requireOrganization: true,\n requireProject: true,\n ...options,\n });\n};\n\nexport const useAddTag = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['tags'],\n mutationFn: (args: AddTagBody) => intlayerOAuth.tag.addTag(args),\n meta: {\n invalidateQueries: [['tags']],\n },\n });\n};\n\nexport const useUpdateTag = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['tags'],\n mutationFn: (v: { tagId: string; tag: any }) =>\n intlayerOAuth.tag.updateTag(v.tagId, v.tag),\n meta: {\n invalidateQueries: [['tags']],\n },\n });\n};\n\nexport const useDeleteTag = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['tags'],\n mutationFn: (args: DeleteTagParams) => intlayerOAuth.tag.deleteTag(args),\n meta: {\n invalidateQueries: [['tags']],\n },\n });\n};\n\n/**\n * Stripe\n */\n\nexport const useGetPricing = (\n body: GetPricingBody,\n options?: Partial<UseQueryOptions<GetPricingResult>>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useQuery({\n queryKey: ['pricing', body],\n queryFn: ({ signal }) => intlayerOAuth.stripe.getPricing(body, { signal }),\n ...options,\n });\n};\n\nexport const useGetSubscription = (\n body: GetCheckoutSessionBody,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['subscription', body],\n queryFn: ({ signal }) =>\n intlayerOAuth.stripe.getSubscription(body, { signal }),\n requireUser: true,\n requireOrganization: true,\n ...options,\n });\n};\n\nexport const useCancelSubscription = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['subscription'],\n mutationFn: () => intlayerOAuth.stripe.cancelSubscription(),\n meta: {\n invalidateQueries: [['session'], ['subscription']],\n },\n });\n};\n\n/**\n * AI\n */\n\nexport const useTranslateJSONDeclaration = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['ai-translateJSON'],\n mutationFn: (args: TranslateJSONBody) =>\n intlayerOAuth.ai.translateJSON(args),\n });\n};\n\nexport const useAuditContentDeclaration = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['ai-auditContentDeclaration'],\n mutationFn: (args: AuditContentDeclarationBody) =>\n intlayerOAuth.ai.auditContentDeclaration(args),\n });\n};\n\nexport const useAuditContentDeclarationMetadata = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['ai-auditContentDeclarationMetadata'],\n mutationFn: (args: AuditContentDeclarationMetadataBody) =>\n intlayerOAuth.ai.auditContentDeclarationMetadata(args),\n });\n};\n\nexport const useAuditContentDeclarationField = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['ai-auditContentDeclarationField'],\n mutationFn: (args: AuditContentDeclarationFieldBody) =>\n intlayerOAuth.ai.auditContentDeclarationField(args),\n });\n};\n\nexport const useAuditTag = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['ai-auditTag'],\n mutationFn: (args: AuditTagBody) => intlayerOAuth.ai.auditTag(args),\n });\n};\n\nexport const useAskDocQuestion = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: [],\n mutationFn: (args?: AskDocQuestionBody) =>\n intlayerOAuth.ai.askDocQuestion(args),\n });\n};\n\nexport const useAutocomplete = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['ai-autocomplete'],\n mutationFn: (args?: AutocompleteBody) =>\n intlayerOAuth.ai.autocomplete(args),\n });\n};\n\n/**\n * Audit\n */\n\nexport const useAuditScan = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['audit-scan'],\n mutationFn: (args: ScanUrlBody) => intlayerOAuth.audit.scanUrl(args),\n });\n};\n\nexport const useStartRecursiveAudit = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['audit-recursive-start'],\n mutationFn: (args: StartRecursiveAuditBody) =>\n intlayerOAuth.audit.startRecursiveAudit(args),\n });\n};\n\nexport const useGetRecursiveAuditStatus = (\n params?: GetRecursiveAuditStatusParams,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['audit-recursive-status', params?.jobId],\n queryFn: ({ signal }) =>\n intlayerOAuth.audit.getRecursiveAuditStatus(params, { signal }),\n enabled: Boolean(params?.jobId),\n ...options,\n });\n};\n\n/**\n * Discussions\n */\n\nexport const useGetDiscussions = (\n params?: Record<string, string | string[] | undefined>,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['discussions', params],\n queryFn: ({ signal }) =>\n intlayerOAuth.ai.getDiscussions(params, { signal, cache: 'no-store' }),\n requireUser: true,\n ...options,\n });\n};\n\nexport const useGetDiscussionsData = (\n params?: Record<string, string | string[] | undefined>,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['discussions-data', params],\n queryFn: ({ signal }) =>\n intlayerOAuth.ai.getDiscussions(\n { includeMessages: 'false', ...(params ?? {}) } as any,\n { signal, cache: 'no-store' }\n ),\n requireUser: true,\n ...options,\n });\n};\n\n/**\n * Search\n */\n\nexport const useSearchDoc = (params: SearchDocUtilParams) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useQuery({\n queryKey: ['search', params],\n queryFn: () => intlayerOAuth.search.searchDoc(params),\n enabled: (params?.input?.length ?? 0) > 3,\n });\n};\n\n/**\n * Newsletter\n */\n\nexport const useSubscribeToNewsletter = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['newsletter'],\n mutationFn: (args: NewsletterSubscriptionBody) =>\n intlayerOAuth.newsletter.subscribeToNewsletter(args),\n });\n};\n\nexport const useUnsubscribeFromNewsletter = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['newsletter'],\n mutationFn: (args: NewsletterUnsubscriptionBody) =>\n intlayerOAuth.newsletter.unsubscribeFromNewsletter(args),\n });\n};\n\nexport const useGetNewsletterStatus = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['newsletter'],\n mutationFn: () => intlayerOAuth.newsletter.getNewsletterStatus(),\n });\n};\n\n/**\n * GitHub\n */\n\nexport const useGithubGetAuthUrl = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['github', 'auth-url'],\n mutationFn: (redirectUri: string) =>\n intlayerOAuth.github.getAuthUrl(redirectUri),\n });\n};\n\nexport const useGithubAuth = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['github', 'auth'],\n mutationFn: (code: string) => intlayerOAuth.github.authenticate(code),\n });\n};\n\nexport const useGithubRepos = (enabled: boolean = true) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useQuery({\n queryKey: ['github', 'repos'],\n queryFn: () => intlayerOAuth.github.getRepositories(),\n enabled,\n });\n};\n\nexport const useGithubCheckConfig = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['github', 'check-config'],\n mutationFn: (args: {\n owner: string;\n repository: string;\n branch?: string;\n }) =>\n intlayerOAuth.github.checkIntlayerConfig(\n undefined,\n args.owner,\n args.repository,\n args.branch\n ),\n });\n};\n\nexport const useGithubGetConfigFile = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['github', 'get-config-file'],\n mutationFn: (args: {\n owner: string;\n repository: string;\n branch?: string;\n path?: string;\n }) =>\n intlayerOAuth.github.getConfigFile(\n undefined,\n args.owner,\n args.repository,\n args.branch,\n args.path\n ),\n });\n};\n\n/**\n * GitLab\n */\n\nexport const useGitlabAuth = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['gitlab', 'auth'],\n mutationFn: (args: {\n code: string;\n redirectUri: string;\n instanceUrl?: string;\n }) =>\n intlayerOAuth.gitlab.authenticate(\n args.code,\n args.redirectUri,\n args.instanceUrl\n ),\n });\n};\n\nexport const useGitlabProjects = (\n enabled: boolean = true,\n instanceUrl?: string\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useQuery({\n queryKey: ['gitlab', 'projects', instanceUrl],\n queryFn: () => intlayerOAuth.gitlab.getProjects(undefined, instanceUrl),\n enabled,\n });\n};\n\nexport const useGitlabCheckConfig = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['gitlab', 'check-config'],\n mutationFn: (args: {\n projectId: number;\n branch?: string;\n instanceUrl?: string;\n }) =>\n intlayerOAuth.gitlab.checkIntlayerConfig(\n undefined,\n args.projectId,\n args.branch,\n args.instanceUrl\n ),\n });\n};\n\nexport const useGitlabGetConfigFile = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['gitlab', 'get-config-file'],\n mutationFn: (args: {\n projectId: number;\n branch?: string;\n path?: string;\n instanceUrl?: string;\n }) =>\n intlayerOAuth.gitlab.getConfigFile(\n undefined,\n args.projectId,\n args.branch,\n args.path,\n args.instanceUrl\n ),\n });\n};\n\n/**\n * Bitbucket\n */\n\nexport const useBitbucketAuth = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['bitbucket', 'auth'],\n mutationFn: (code: string) => intlayerOAuth.bitbucket.authenticate(code),\n });\n};\n\nexport const useBitbucketRepos = (enabled: boolean = true) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useQuery({\n queryKey: ['bitbucket', 'repos'],\n queryFn: () => intlayerOAuth.bitbucket.getRepositories(),\n enabled,\n });\n};\n\nexport const useBitbucketCheckConfig = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['bitbucket', 'check-config'],\n mutationFn: (args: {\n workspace: string;\n repoSlug: string;\n branch?: string;\n }) =>\n intlayerOAuth.bitbucket.checkIntlayerConfig(\n undefined,\n args.workspace,\n args.repoSlug,\n args.branch\n ),\n });\n};\n\nexport const useBitbucketGetConfigFile = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['bitbucket', 'get-config-file'],\n mutationFn: (args: {\n workspace: string;\n repoSlug: string;\n branch?: string;\n path?: string;\n }) =>\n intlayerOAuth.bitbucket.getConfigFile(\n undefined,\n args.workspace,\n args.repoSlug,\n args.branch,\n args.path\n ),\n });\n};\n\n/**\n * Editor\n */\n\nexport const useGetEditorDictionaries = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useQuery({\n queryKey: ['editor', 'dictionaries'],\n queryFn: () => intlayerOAuth.editor.getDictionaries(),\n });\n};\n\nexport const useWriteDictionary = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['editor', 'dictionaries'],\n mutationFn: (args: WriteContentDeclarationBody) =>\n intlayerOAuth.editor.writeDictionary(args),\n });\n};\n\n/**\n * Showcase\n */\n\nexport const useToggleShowcaseLike = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['showcase', 'like'],\n mutationFn: (projectId: string) =>\n intlayerOAuth.showcaseProject.toggleShowcaseLike({ projectId }),\n });\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"reactQuery.mjs","names":[],"sources":["../../../src/hooks/reactQuery.ts"],"sourcesContent":["'use client';\n\nimport type {} from '@better-fetch/fetch'; // Import for type inference\nimport type {\n GetRecursiveAuditStatusParams,\n ScanUrlBody,\n StartRecursiveAuditBody,\n} from '@intlayer/api';\nimport type {\n AddDictionaryBody,\n AddNewAccessKeyBody,\n AddOrganizationBody,\n AddOrganizationMemberBody,\n AddProjectBody,\n AddTagBody,\n AskDocQuestionBody,\n AuditContentDeclarationBody,\n AuditContentDeclarationFieldBody,\n AuditContentDeclarationMetadataBody,\n AuditTagBody,\n AutocompleteBody,\n CreateUserBody,\n DeleteAccessKeyBody,\n DeleteDictionaryParam,\n DeleteTagParams,\n GetCheckoutSessionBody,\n GetDictionariesParams,\n GetDictionaryParams,\n GetDictionaryQuery,\n GetOrganizationsParams,\n GetPricingBody,\n GetPricingResult,\n GetProjectsParams,\n GetShowcaseProjectByIdParams,\n GetShowcaseProjectsResult,\n GetTagsParams,\n GetUsersParams,\n NewsletterSubscriptionBody,\n NewsletterUnsubscriptionBody,\n OtherShowcaseProjectsQuery,\n PushDictionariesBody,\n RefreshAccessKeyBody,\n SearchDocUtilParams,\n SelectOrganizationParam,\n SelectProjectParam,\n ShowcaseProjectsQuery,\n SubmitShowcaseProjectBody,\n TranslateJSONBody,\n UpdateDictionaryBody,\n UpdateOrganizationBody,\n UpdateOrganizationMembersBody,\n UpdateProjectBody,\n UpdateProjectMembersBody,\n UpdateUserBody,\n} from '@intlayer/backend';\n\nimport { useConfiguration } from '@intlayer/editor-react';\nimport {\n type UseQueryOptions,\n useInfiniteQuery,\n useMutation,\n useQuery,\n useQueryClient,\n} from '@tanstack/react-query';\nimport type {} from 'better-auth'; // Import for type inference\n// @ts-ignore\nimport type { WriteContentDeclarationBody } from 'intlayer-editor';\nimport type { AuthAPI } from '../libs/auth';\nimport { useAuth } from './useAuth';\nimport {\n type UseIntlayerAuthProps,\n useIntlayerAuth,\n useIntlayerOAuth,\n} from './useIntlayerAPI';\n\nexport { useQueryClient };\n\ntype AuthEnableOptions = {\n requireUser?: boolean;\n requireProject?: boolean;\n requireOrganization?: boolean;\n};\n\n/**\n * Hook to enable authentication\n */\nconst useAuthEnable = ({\n requireUser,\n requireProject,\n requireOrganization,\n}: AuthEnableOptions) => {\n const configuration = useConfiguration();\n const { oAuth2AccessToken, session } = useAuth({\n intlayerConfiguration: configuration,\n });\n\n const user = session ? session.user : oAuth2AccessToken?.user;\n\n const organization = session\n ? session.organization\n : oAuth2AccessToken?.organization;\n\n const project = session ? session.project : oAuth2AccessToken?.project;\n\n const isUserEnabled = requireUser ? Boolean(user) : true;\n\n const isProjectEnabled = requireProject ? Boolean(project) : true;\n\n const isOrganizationEnabled = requireOrganization\n ? Boolean(organization)\n : true;\n\n const isEnabled = isUserEnabled && isProjectEnabled && isOrganizationEnabled;\n\n return {\n enable: isEnabled,\n };\n};\n\nexport const useAppQuery = (\n options: UseQueryOptions & {\n requireUser?: boolean;\n requireProject?: boolean;\n requireOrganization?: boolean;\n }\n) => {\n const { requireUser, requireProject, requireOrganization, ...rest } = options;\n const { enable } = useAuthEnable({\n requireUser,\n requireProject,\n requireOrganization,\n });\n\n const result = useQuery({\n enabled: rest?.enabled === false ? false : enable,\n ...rest,\n });\n\n return result;\n};\n\n// Removed unused useEditorMutation\n\n/**\n * Auth\n */\n\nexport const useLogin = () => {\n const intlayerAuth = useIntlayerAuth();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['login'],\n mutationFn: (args: Parameters<AuthAPI['signInEmail']>[0]) =>\n intlayerAuth.signInEmail(args),\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n\n if (session && data.data?.user) {\n queryClient.setQueryData(['session'], {\n ...session,\n user: data.data.user,\n });\n }\n },\n });\n};\n\nexport const useGetVerifyEmailStatus = () => {\n const intlayerAuth = useIntlayerAuth();\n\n return useMutation({\n mutationKey: ['getVerifyEmailStatus'],\n mutationFn: (args: Parameters<AuthAPI['verifyEmailSession']>) =>\n intlayerAuth.verifyEmailSession(...args),\n });\n};\n\nexport const useRegister = () => {\n const intlayerAuth = useIntlayerAuth();\n\n return useMutation({\n mutationKey: ['register'],\n mutationFn: (args: Parameters<AuthAPI['signUpEmail']>[0]) =>\n intlayerAuth.signUpEmail(args),\n meta: {\n resetQueries: [['session']],\n },\n });\n};\n\nexport const useLogout = () => {\n const intlayerAuth = useIntlayerAuth();\n\n return useMutation({\n mutationKey: ['logout'],\n mutationFn: () => intlayerAuth.signOut(),\n meta: {\n resetQueries: [\n ['session'],\n ['users'],\n ['organizations'],\n ['projects'],\n ['dictionaries'],\n ['tags'],\n ],\n },\n });\n};\n\nexport const useChangePassword = () => {\n const intlayerAuth = useIntlayerAuth();\n\n return useMutation({\n mutationKey: ['changePassword'],\n mutationFn: (args: Parameters<AuthAPI['changePasswordSession']>) =>\n intlayerAuth.changePasswordSession(...args),\n });\n};\n\nexport const useAskResetPassword = () => {\n const intlayerAuth = useIntlayerAuth();\n\n return useMutation({\n mutationKey: ['askResetPassword'],\n mutationFn: (args: Parameters<AuthAPI['requestPasswordResetSession']>[0]) =>\n intlayerAuth.requestPasswordResetSession(args),\n });\n};\n\nexport const useResetPassword = () => {\n const intlayerAuth = useIntlayerAuth();\n\n return useMutation({\n mutationKey: ['resetPassword'],\n mutationFn: (args: Parameters<AuthAPI['resetPassword']>[0]) =>\n intlayerAuth.resetPassword(args),\n });\n};\n\nexport const useVerifyEmail = () => {\n const intlayerAuth = useIntlayerAuth();\n\n return useMutation({\n mutationKey: ['verifyEmail'],\n mutationFn: (args: Parameters<AuthAPI['verifyEmailSession']>[0]) =>\n intlayerAuth.verifyEmailSession(args),\n });\n};\n\nexport const useGetUserByAccount = () => {\n const intlayerAuth = useIntlayerAuth();\n\n return useMutation({\n mutationKey: ['user'],\n mutationFn: (args: Parameters<AuthAPI['accountInfo']>[0]) =>\n intlayerAuth.accountInfo(args),\n });\n};\n\nexport const useEnableTwoFactor = () => {\n const intlayerAuth = useIntlayerAuth();\n return useMutation({\n mutationKey: ['enableTwoFactor'],\n mutationFn: (args: Parameters<AuthAPI['enableTwoFactor']>[0]) =>\n intlayerAuth.enableTwoFactor(args),\n });\n};\n\nexport const useDisableTwoFactor = () => {\n const intlayerAuth = useIntlayerAuth();\n return useMutation({\n mutationKey: ['disableTwoFactor'],\n mutationFn: (args: Parameters<AuthAPI['disableTwoFactor']>[0]) =>\n intlayerAuth.disableTwoFactor(args),\n });\n};\n\nexport const useVerifyTotp = () => {\n const intlayerAuth = useIntlayerAuth();\n return useMutation({\n mutationKey: ['verifyTotp'],\n mutationFn: (args: Parameters<AuthAPI['verifyTotp']>[0]) =>\n intlayerAuth.verifyTotp(args),\n });\n};\n\nexport const useVerifyBackupCode = () => {\n const intlayerAuth = useIntlayerAuth();\n return useMutation({\n mutationKey: ['verifyBackupCode'],\n mutationFn: (args: Parameters<AuthAPI['verifyBackupCode']>[0]) =>\n intlayerAuth.verifyBackupCode(args),\n });\n};\n\nexport const useAddPasskey = () => {\n const intlayerAuth = useIntlayerAuth();\n return useMutation({\n mutationKey: ['addPasskey'],\n mutationFn: (args: Parameters<AuthAPI['addPasskey']>[0]) =>\n intlayerAuth.addPasskey(args),\n });\n};\n\nexport const useSignInPasskey = () => {\n const intlayerAuth = useIntlayerAuth();\n return useMutation({\n mutationKey: ['signInPasskey'],\n mutationFn: (args?: Parameters<AuthAPI['signInPasskey']>[0]) =>\n intlayerAuth.signInPasskey(args),\n });\n};\n\nexport const useDeletePasskey = () => {\n const intlayerAuth = useIntlayerAuth();\n return useMutation({\n mutationKey: ['deletePasskey'],\n mutationFn: (args: Parameters<AuthAPI['deletePasskey']>[0]) =>\n intlayerAuth.deletePasskey(args),\n });\n};\n\nexport const useListPasskeys = () => {\n const intlayerAuth = useIntlayerAuth();\n return useQuery({\n queryKey: ['listPasskeys'],\n queryFn: () => intlayerAuth.listPasskeys(),\n });\n};\n\nexport const useSignInMagicLink = () => {\n const intlayerAuth = useIntlayerAuth();\n return useMutation({\n mutationKey: ['signInMagicLink'],\n mutationFn: (args?: any) => intlayerAuth.signInMagicLink(args),\n });\n};\n\nexport const useRegisterSSO = () => {\n const intlayerAuth = useIntlayerAuth();\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['registerSSO'],\n mutationFn: (args: Parameters<AuthAPI['registerSSO']>[0]) =>\n intlayerAuth.registerSSO(args),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['ssoProviders'] });\n },\n });\n};\n\nexport const useSignInSSO = () => {\n const intlayerAuth = useIntlayerAuth();\n return useMutation({\n mutationKey: ['signInSSO'],\n mutationFn: (args: Parameters<AuthAPI['signInSSO']>[0]) =>\n intlayerAuth.signInSSO(args),\n });\n};\n\nexport const useListSSOProviders = () => {\n const intlayerAuth = useIntlayerAuth();\n return useQuery({\n queryKey: ['ssoProviders'],\n queryFn: () => intlayerAuth.listSSOProviders(),\n });\n};\n\nexport const useDeleteSSOProvider = () => {\n const intlayerAuth = useIntlayerAuth();\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['deleteSSOProvider'],\n mutationFn: (args: Parameters<AuthAPI['deleteSSOProvider']>[0]) =>\n intlayerAuth.deleteSSOProvider(args),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['ssoProviders'] });\n },\n });\n};\n\n/**\n * User\n */\n\nexport const useGetUsers = (\n filters?: GetUsersParams,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['users', filters],\n queryFn: () => intlayerOAuth.user.getUsers(filters),\n requireUser: true,\n // placeholderData: keepPreviousData,\n ...options,\n });\n};\n\nexport const useGetUserById = (userId: string) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['users', userId],\n queryFn: () => intlayerOAuth.user.getUserById(userId),\n requireUser: true,\n });\n};\n\nexport const useCreateUser = () => {\n const intlayerAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['users'],\n mutationFn: (args: CreateUserBody) => intlayerAuth.user.createUser(args),\n });\n};\n\nexport const useUpdateUser = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['users'],\n mutationFn: (args: UpdateUserBody) => intlayerOAuth.user.updateUser(args),\n });\n};\n\nexport const useDeleteUser = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['users'],\n mutationFn: (args: string) => intlayerOAuth.user.deleteUser(args),\n meta: {\n invalidateQueries: [['users']],\n },\n });\n};\n\n/**\n * Organization\n */\n\nexport const useGetOrganizations = (filters?: GetOrganizationsParams) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['organizations', filters],\n queryFn: ({ signal }) =>\n intlayerOAuth.organization.getOrganizations(filters, { signal }),\n // placeholderData: keepPreviousData,\n requireUser: true,\n });\n};\n\nexport const useAddOrganization = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['organizations'],\n mutationFn: (args: AddOrganizationBody) =>\n intlayerOAuth.organization.addOrganization(args),\n meta: {\n invalidateQueries: [['organizations']],\n },\n });\n};\n\nexport const useUpdateOrganization = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['organizations'],\n mutationFn: (args: UpdateOrganizationBody) =>\n intlayerOAuth.organization.updateOrganization(args),\n });\n};\n\nexport const useUpdateOrganizationMembers = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['organizations'],\n mutationFn: (args: UpdateOrganizationMembersBody) =>\n intlayerOAuth.organization.updateOrganizationMembers(args),\n meta: {\n invalidateQueries: [['organizations'], ['users']],\n },\n });\n};\n\nexport const useUpdateOrganizationMembersById = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['organizations'],\n mutationFn: ({\n organizationId,\n ...body\n }: {\n organizationId: string;\n membersIds: string[];\n adminsIds?: string[];\n }) =>\n intlayerOAuth.organization.updateOrganizationMembersById(\n organizationId,\n body\n ),\n meta: {\n invalidateQueries: [['organizations'], ['users']],\n },\n });\n};\n\nexport const useAddOrganizationMember = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['organizations'],\n mutationFn: (args: AddOrganizationMemberBody) =>\n intlayerOAuth.organization.addOrganizationMember(args),\n meta: {\n invalidateQueries: [['organizations']],\n },\n });\n};\n\nexport const useDeleteOrganization = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['organizations'],\n mutationFn: () => intlayerOAuth.organization.deleteOrganization(),\n meta: {\n invalidateQueries: [['organizations'], ['session']],\n },\n });\n};\n\nexport const useSelectOrganization = () => {\n const intlayerOAuth = useIntlayerOAuth();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['session-organizations'],\n mutationFn: (args: SelectOrganizationParam) =>\n intlayerOAuth.organization.selectOrganization(args),\n meta: {\n invalidateQueries: [\n ['session'],\n ['organizations'],\n ['projects'],\n ['dictionaries'],\n ['tags'],\n ['subscription'],\n ['users'],\n ],\n },\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n\n if (session) {\n queryClient.setQueryData(['session'], {\n ...session,\n organization: data.data,\n });\n }\n },\n });\n};\n\nexport const useUnselectOrganization = () => {\n const intlayerOAuth = useIntlayerOAuth();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['session-organizations'],\n mutationFn: () => intlayerOAuth.organization.unselectOrganization(),\n meta: {\n resetQueries: [\n ['session'],\n ['organizations'],\n ['projects'],\n ['dictionaries'],\n ['tags'],\n ['subscription'],\n ['users'],\n ],\n },\n onSuccess: () => {\n const session = queryClient.getQueryData(['session']);\n\n if (session) {\n queryClient.setQueryData(['session'], {\n ...session,\n organization: null,\n project: null,\n });\n }\n },\n });\n};\n\n/**\n * Project\n */\n\nexport const useGetProjects = (\n filters?: GetProjectsParams,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['projects', filters],\n queryFn: ({ signal }) =>\n intlayerOAuth.project.getProjects(filters, { signal }),\n // placeholderData: keepPreviousData,\n requireUser: true,\n requireOrganization: true,\n ...options,\n });\n};\n\nexport const useAddProject = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (args: AddProjectBody) =>\n intlayerOAuth.project.addProject(args),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useUpdateProject = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (args: UpdateProjectBody) =>\n intlayerOAuth.project.updateProject(args),\n meta: {\n invalidateQueries: [['projects'], ['session']],\n },\n });\n};\n\nexport const useUpdateProjectMembers = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (args: UpdateProjectMembersBody) =>\n intlayerOAuth.project.updateProjectMembers(args),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useDeleteProject = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: () => intlayerOAuth.project.deleteProject(),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useSelectProject = () => {\n const intlayerOAuth = useIntlayerOAuth();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['session-projects'],\n mutationFn: (args: SelectProjectParam) =>\n intlayerOAuth.project.selectProject(args),\n meta: {\n invalidateQueries: [\n ['projects'],\n ['dictionaries'],\n ['tags'],\n ['subscription'],\n ['users'],\n ],\n },\n onSuccess: (data) => {\n const session = queryClient.getQueryData(['session']);\n\n if (session) {\n queryClient.setQueryData(['session'], {\n ...session,\n project: data.data,\n });\n }\n },\n });\n};\n\nexport const useUnselectProject = () => {\n const intlayerOAuth = useIntlayerOAuth();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['session-projects'],\n mutationFn: () => intlayerOAuth.project.unselectProject(),\n meta: {\n resetQueries: [\n ['projects'],\n ['dictionaries'],\n ['tags'],\n ['subscription'],\n ['users'],\n ],\n },\n onSuccess: () => {\n const session = queryClient.getQueryData(['session']);\n\n if (session) {\n queryClient.setQueryData(['session'], {\n ...session,\n project: null,\n });\n }\n },\n });\n};\n\nexport const useGetCIConfig = (options?: Partial<UseQueryOptions>) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['ci-config'],\n queryFn: ({ signal }) => intlayerOAuth.project.getCIConfig({ signal }),\n requireProject: true,\n ...options,\n });\n};\n\nexport const usePushCIConfig = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['ci-config'],\n mutationFn: () => intlayerOAuth.project.pushCIConfig(),\n meta: {\n invalidateQueries: [['ci-config']],\n },\n });\n};\n\nexport const useTriggerBuild = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['projects', 'build'],\n mutationFn: () => intlayerOAuth.project.triggerBuild(),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useTriggerWebhook = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['projects', 'webhook'],\n mutationFn: (webhookIndex: number) =>\n intlayerOAuth.project.triggerWebhook(webhookIndex),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useAddNewAccessKey = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (args: AddNewAccessKeyBody) =>\n intlayerOAuth.project.addNewAccessKey(args),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useDeleteAccessKey = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (args: DeleteAccessKeyBody) =>\n intlayerOAuth.project.deleteAccessKey(args),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\nexport const useRefreshAccessKey = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['projects'],\n mutationFn: (args: RefreshAccessKeyBody) =>\n intlayerOAuth.project.refreshAccessKey(args),\n meta: {\n invalidateQueries: [['projects']],\n },\n });\n};\n\n/**\n * Dictionary\n */\n\nexport const useGetDictionaries = (\n filters?: GetDictionariesParams,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['dictionaries', filters],\n queryFn: ({ signal }) =>\n intlayerOAuth.dictionary.getDictionaries(filters, { signal }),\n // placeholderData: keepPreviousData,\n requireUser: true,\n requireOrganization: true,\n requireProject: true,\n ...options,\n });\n};\n\nexport const useInfiniteGetDictionaries = (\n filters?: Omit<GetDictionariesParams, 'page'>,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n const { enable } = useAuthEnable({\n requireUser: true,\n requireOrganization: true,\n requireProject: true,\n });\n\n return useInfiniteQuery({\n queryKey: ['dictionaries', 'infinite', filters],\n queryFn: async ({ pageParam = 1, signal }) => {\n const res = await intlayerOAuth.dictionary.getDictionaries(\n { ...filters, page: pageParam },\n { signal }\n );\n return res;\n },\n getNextPageParam: (lastPage) => {\n if (lastPage.data.length === 0) return undefined;\n const currentPage = lastPage.page ?? 1;\n const totalPages = lastPage.total_pages ?? 1;\n return currentPage < totalPages ? currentPage + 1 : undefined;\n },\n initialPageParam: 1,\n enabled: options?.enabled === false ? false : enable,\n ...options,\n });\n};\n\nexport const useGetDictionariesKeys = (options?: Partial<UseQueryOptions>) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['dictionariesKeys'],\n queryFn: () => intlayerOAuth.dictionary.getDictionariesKeys(),\n requireUser: true,\n requireOrganization: true,\n requireProject: true,\n ...options,\n });\n};\n\nexport const useGetDictionary = (\n dictionaryKey: GetDictionaryParams['dictionaryKey'],\n version?: GetDictionaryQuery['version'],\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['dictionary', dictionaryKey],\n queryFn: ({ signal }) =>\n intlayerOAuth.dictionary.getDictionary(dictionaryKey, version, {\n signal,\n }),\n requireUser: true,\n requireOrganization: true,\n requireProject: true,\n ...options,\n });\n};\n\nexport const useAddDictionary = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['dictionaries'],\n mutationFn: (args: AddDictionaryBody) =>\n intlayerOAuth.dictionary.addDictionary(args),\n meta: {\n invalidateQueries: [['dictionaries'], ['dictionariesKeys']],\n },\n });\n};\n\nexport const usePushDictionaries = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['dictionaries'],\n mutationFn: (args: PushDictionariesBody) =>\n intlayerOAuth.dictionary.pushDictionaries(args.dictionaries),\n meta: {\n invalidateQueries: [['dictionaries'], ['dictionariesKeys']],\n },\n });\n};\n\nexport const useUpdateDictionary = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['dictionaries'],\n mutationFn: (args: UpdateDictionaryBody) =>\n intlayerOAuth.dictionary.updateDictionary(args),\n meta: {\n invalidateQueries: [['dictionaries'], ['dictionariesKeys']],\n },\n });\n};\n\nexport const useDeleteDictionary = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['dictionaries'],\n mutationFn: (args: DeleteDictionaryParam) =>\n intlayerOAuth.dictionary.deleteDictionary(args.dictionaryId),\n meta: {\n invalidateQueries: [['dictionaries'], ['dictionariesKeys']],\n },\n });\n};\n\n/**\n * Tag\n */\n\nexport const useGetTags = (\n filters?: GetTagsParams,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['tags', filters],\n queryFn: ({ signal }) => intlayerOAuth.tag.getTags(filters, { signal }),\n // placeholderData: keepPreviousData,\n requireUser: true,\n requireOrganization: true,\n requireProject: true,\n ...options,\n });\n};\n\nexport const useAddTag = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['tags'],\n mutationFn: (args: AddTagBody) => intlayerOAuth.tag.addTag(args),\n meta: {\n invalidateQueries: [['tags']],\n },\n });\n};\n\nexport const useUpdateTag = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['tags'],\n mutationFn: (v: { tagId: string; tag: any }) =>\n intlayerOAuth.tag.updateTag(v.tagId, v.tag),\n meta: {\n invalidateQueries: [['tags']],\n },\n });\n};\n\nexport const useDeleteTag = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['tags'],\n mutationFn: (args: DeleteTagParams) => intlayerOAuth.tag.deleteTag(args),\n meta: {\n invalidateQueries: [['tags']],\n },\n });\n};\n\n/**\n * Stripe\n */\n\nexport const useGetPricing = (\n body: GetPricingBody,\n options?: Partial<UseQueryOptions<GetPricingResult>>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useQuery({\n queryKey: ['pricing', body],\n queryFn: ({ signal }) => intlayerOAuth.stripe.getPricing(body, { signal }),\n ...options,\n });\n};\n\nexport const useGetSubscription = (\n body: GetCheckoutSessionBody,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['subscription', body],\n queryFn: ({ signal }) =>\n intlayerOAuth.stripe.getSubscription(body, { signal }),\n requireUser: true,\n requireOrganization: true,\n ...options,\n });\n};\n\nexport const useCancelSubscription = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['subscription'],\n mutationFn: () => intlayerOAuth.stripe.cancelSubscription(),\n meta: {\n invalidateQueries: [['session'], ['subscription']],\n },\n });\n};\n\n/**\n * AI\n */\n\nexport const useTranslateJSONDeclaration = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['ai-translateJSON'],\n mutationFn: (args: TranslateJSONBody) =>\n intlayerOAuth.ai.translateJSON(args),\n });\n};\n\nexport const useAuditContentDeclaration = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['ai-auditContentDeclaration'],\n mutationFn: (args: AuditContentDeclarationBody) =>\n intlayerOAuth.ai.auditContentDeclaration(args),\n });\n};\n\nexport const useAuditContentDeclarationMetadata = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['ai-auditContentDeclarationMetadata'],\n mutationFn: (args: AuditContentDeclarationMetadataBody) =>\n intlayerOAuth.ai.auditContentDeclarationMetadata(args),\n });\n};\n\nexport const useAuditContentDeclarationField = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['ai-auditContentDeclarationField'],\n mutationFn: (args: AuditContentDeclarationFieldBody) =>\n intlayerOAuth.ai.auditContentDeclarationField(args),\n });\n};\n\nexport const useAuditTag = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['ai-auditTag'],\n mutationFn: (args: AuditTagBody) => intlayerOAuth.ai.auditTag(args),\n });\n};\n\nexport const useAskDocQuestion = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: [],\n mutationFn: (args?: AskDocQuestionBody) =>\n intlayerOAuth.ai.askDocQuestion(args),\n });\n};\n\nexport const useAutocomplete = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['ai-autocomplete'],\n mutationFn: (args?: AutocompleteBody) =>\n intlayerOAuth.ai.autocomplete(args),\n });\n};\n\n/**\n * Audit\n */\n\nexport const useAuditScan = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['audit-scan'],\n mutationFn: (args: ScanUrlBody) => intlayerOAuth.audit.scanUrl(args),\n });\n};\n\nexport const useStartRecursiveAudit = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['audit-recursive-start'],\n mutationFn: (args: StartRecursiveAuditBody) =>\n intlayerOAuth.audit.startRecursiveAudit(args),\n });\n};\n\nexport const useGetRecursiveAuditStatus = (\n params?: GetRecursiveAuditStatusParams,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['audit-recursive-status', params?.jobId],\n queryFn: ({ signal }) =>\n intlayerOAuth.audit.getRecursiveAuditStatus(params, { signal }),\n enabled: Boolean(params?.jobId),\n ...options,\n });\n};\n\n/**\n * Discussions\n */\n\nexport const useGetDiscussions = (\n params?: Record<string, string | string[] | undefined>,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['discussions', params],\n queryFn: ({ signal }) =>\n intlayerOAuth.ai.getDiscussions(params, { signal, cache: 'no-store' }),\n requireUser: true,\n ...options,\n });\n};\n\nexport const useGetDiscussionsData = (\n params?: Record<string, string | string[] | undefined>,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useAppQuery({\n queryKey: ['discussions-data', params],\n queryFn: ({ signal }) =>\n intlayerOAuth.ai.getDiscussions(\n { includeMessages: 'false', ...(params ?? {}) } as any,\n { signal, cache: 'no-store' }\n ),\n requireUser: true,\n ...options,\n });\n};\n\n/**\n * Search\n */\n\nexport const useSearchDoc = (params: SearchDocUtilParams) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useQuery({\n queryKey: ['search', params],\n queryFn: () => intlayerOAuth.search.searchDoc(params),\n enabled: (params?.input?.length ?? 0) > 3,\n });\n};\n\n/**\n * Newsletter\n */\n\nexport const useSubscribeToNewsletter = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['newsletter'],\n mutationFn: (args: NewsletterSubscriptionBody) =>\n intlayerOAuth.newsletter.subscribeToNewsletter(args),\n });\n};\n\nexport const useUnsubscribeFromNewsletter = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['newsletter'],\n mutationFn: (args: NewsletterUnsubscriptionBody) =>\n intlayerOAuth.newsletter.unsubscribeFromNewsletter(args),\n });\n};\n\nexport const useGetNewsletterStatus = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['newsletter'],\n mutationFn: () => intlayerOAuth.newsletter.getNewsletterStatus(),\n });\n};\n\n/**\n * GitHub\n */\n\nexport const useGithubGetAuthUrl = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['github', 'auth-url'],\n mutationFn: (redirectUri: string) =>\n intlayerOAuth.github.getAuthUrl(redirectUri),\n });\n};\n\nexport const useGithubAuth = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['github', 'auth'],\n mutationFn: (code: string) => intlayerOAuth.github.authenticate(code),\n });\n};\n\nexport const useGithubRepos = (enabled: boolean = true) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useQuery({\n queryKey: ['github', 'repos'],\n queryFn: () => intlayerOAuth.github.getRepositories(),\n enabled,\n });\n};\n\nexport const useGithubCheckConfig = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['github', 'check-config'],\n mutationFn: (args: {\n owner: string;\n repository: string;\n branch?: string;\n }) =>\n intlayerOAuth.github.checkIntlayerConfig(\n undefined,\n args.owner,\n args.repository,\n args.branch\n ),\n });\n};\n\nexport const useGithubGetConfigFile = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['github', 'get-config-file'],\n mutationFn: (args: {\n owner: string;\n repository: string;\n branch?: string;\n path?: string;\n }) =>\n intlayerOAuth.github.getConfigFile(\n undefined,\n args.owner,\n args.repository,\n args.branch,\n args.path\n ),\n });\n};\n\n/**\n * GitLab\n */\n\nexport const useGitlabAuth = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['gitlab', 'auth'],\n mutationFn: (args: {\n code: string;\n redirectUri: string;\n instanceUrl?: string;\n }) =>\n intlayerOAuth.gitlab.authenticate(\n args.code,\n args.redirectUri,\n args.instanceUrl\n ),\n });\n};\n\nexport const useGitlabProjects = (\n enabled: boolean = true,\n instanceUrl?: string\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useQuery({\n queryKey: ['gitlab', 'projects', instanceUrl],\n queryFn: () => intlayerOAuth.gitlab.getProjects(undefined, instanceUrl),\n enabled,\n });\n};\n\nexport const useGitlabCheckConfig = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['gitlab', 'check-config'],\n mutationFn: (args: {\n projectId: number;\n branch?: string;\n instanceUrl?: string;\n }) =>\n intlayerOAuth.gitlab.checkIntlayerConfig(\n undefined,\n args.projectId,\n args.branch,\n args.instanceUrl\n ),\n });\n};\n\nexport const useGitlabGetConfigFile = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['gitlab', 'get-config-file'],\n mutationFn: (args: {\n projectId: number;\n branch?: string;\n path?: string;\n instanceUrl?: string;\n }) =>\n intlayerOAuth.gitlab.getConfigFile(\n undefined,\n args.projectId,\n args.branch,\n args.path,\n args.instanceUrl\n ),\n });\n};\n\n/**\n * Bitbucket\n */\n\nexport const useBitbucketAuth = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['bitbucket', 'auth'],\n mutationFn: (code: string) => intlayerOAuth.bitbucket.authenticate(code),\n });\n};\n\nexport const useBitbucketRepos = (enabled: boolean = true) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useQuery({\n queryKey: ['bitbucket', 'repos'],\n queryFn: () => intlayerOAuth.bitbucket.getRepositories(),\n enabled,\n });\n};\n\nexport const useBitbucketCheckConfig = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['bitbucket', 'check-config'],\n mutationFn: (args: {\n workspace: string;\n repoSlug: string;\n branch?: string;\n }) =>\n intlayerOAuth.bitbucket.checkIntlayerConfig(\n undefined,\n args.workspace,\n args.repoSlug,\n args.branch\n ),\n });\n};\n\nexport const useBitbucketGetConfigFile = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['bitbucket', 'get-config-file'],\n mutationFn: (args: {\n workspace: string;\n repoSlug: string;\n branch?: string;\n path?: string;\n }) =>\n intlayerOAuth.bitbucket.getConfigFile(\n undefined,\n args.workspace,\n args.repoSlug,\n args.branch,\n args.path\n ),\n });\n};\n\n/**\n * Editor\n */\n\nexport const useGetEditorDictionaries = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useQuery({\n queryKey: ['editor', 'dictionaries'],\n queryFn: () => intlayerOAuth.editor.getDictionaries(),\n });\n};\n\nexport const useWriteDictionary = () => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useMutation({\n mutationKey: ['editor', 'dictionaries'],\n mutationFn: (args: WriteContentDeclarationBody) =>\n intlayerOAuth.editor.writeDictionary(args),\n });\n};\n\n/**\n * Showcase\n */\n\nexport const useGetShowcaseProjects = (\n query?: ShowcaseProjectsQuery,\n options?: Partial<UseQueryOptions<GetShowcaseProjectsResult>>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useQuery({\n queryKey: ['showcase', 'projects', query],\n queryFn: ({ signal }) =>\n intlayerOAuth.showcaseProject.getShowcaseProjects(query, { signal }),\n ...options,\n });\n};\n\nexport const useGetShowcaseProjectById = (\n projectId: GetShowcaseProjectByIdParams['projectId'],\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useQuery({\n queryKey: ['showcase', 'project', projectId],\n queryFn: ({ signal }) =>\n intlayerOAuth.showcaseProject.getShowcaseProjectById(projectId, {\n signal,\n }),\n enabled: Boolean(projectId),\n ...options,\n });\n};\n\nexport const useGetOtherShowcaseProjects = (\n query: OtherShowcaseProjectsQuery,\n options?: Partial<UseQueryOptions>\n) => {\n const intlayerOAuth = useIntlayerOAuth();\n\n return useQuery({\n queryKey: ['showcase', 'other-projects', query],\n queryFn: ({ signal }) =>\n intlayerOAuth.showcaseProject.getOtherShowcaseProjects(query, {\n signal,\n }),\n enabled: Boolean(query.excludeId),\n ...options,\n });\n};\n\nexport const useSubmitShowcaseProject = (props?: UseIntlayerAuthProps) => {\n const intlayerOAuth = useIntlayerOAuth(props);\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['showcase', 'submit'],\n mutationFn: (body: SubmitShowcaseProjectBody) =>\n intlayerOAuth.showcaseProject.submitShowcaseProject(body),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['showcase'] });\n },\n });\n};\n\nexport const useDeleteShowcaseProject = (props?: UseIntlayerAuthProps) => {\n const intlayerOAuth = useIntlayerOAuth(props);\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['showcase', 'delete'],\n mutationFn: (projectId: string) =>\n intlayerOAuth.showcaseProject.deleteShowcaseProject(projectId),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['showcase'] });\n },\n });\n};\n\nexport const useToggleShowcaseUpvote = (props?: UseIntlayerAuthProps) => {\n const intlayerOAuth = useIntlayerOAuth(props);\n\n return useMutation({\n mutationKey: ['showcase', 'upvote'],\n mutationFn: (projectId: string) =>\n intlayerOAuth.showcaseProject.toggleShowcaseUpvote({ projectId }),\n });\n};\n\nexport const useToggleShowcaseDownvote = (props?: UseIntlayerAuthProps) => {\n const intlayerOAuth = useIntlayerOAuth(props);\n\n return useMutation({\n mutationKey: ['showcase', 'downvote'],\n mutationFn: (projectId: string) =>\n intlayerOAuth.showcaseProject.toggleShowcaseDownvote({ projectId }),\n });\n};\n\nexport const useUpdateShowcaseProject = (props?: UseIntlayerAuthProps) => {\n const intlayerOAuth = useIntlayerOAuth(props);\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationKey: ['showcase', 'update'],\n mutationFn: ({\n projectId,\n ...body\n }: {\n projectId: string;\n name?: string;\n url?: string;\n githubUrl?: string;\n tagline?: string;\n description?: string;\n useCases?: string[];\n }) => intlayerOAuth.showcaseProject.updateShowcaseProject(projectId, body),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['showcase'] });\n },\n });\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAuth.mjs","names":[],"sources":["../../../../src/hooks/useAuth/useAuth.ts"],"sourcesContent":["'use client';\n\nimport type { OAuth2Token, SessionAPI } from '@intlayer/backend';\nimport type { IntlayerConfig } from '@intlayer/types';\nimport { useOAuth2 } from './useOAuth2';\nimport { useSession } from './useSession';\n\ntype SessionContextProps = {\n session: SessionAPI | null | undefined;\n setSession: (session: SessionAPI | null) => void;\n fetchSession: () => Promise<SessionAPI | null | undefined>;\n revalidateSession: () => Promise<SessionAPI | null | undefined>;\n isAuthenticated: boolean;\n oAuth2AccessToken: OAuth2Token | null | undefined;\n};\n\nexport const useAuth = ({\n session: sessionProp,\n intlayerConfiguration,\n}: {\n session?: SessionAPI | null;\n intlayerConfiguration?: IntlayerConfig;\n} = {}): SessionContextProps => {\n const { session, fetchSession, revalidateSession, setSession } = useSession(\n sessionProp,\n intlayerConfiguration\n );\n const { oAuth2AccessToken } = useOAuth2(intlayerConfiguration);\n\n return {\n session,\n fetchSession,\n setSession,\n revalidateSession,\n oAuth2AccessToken,\n isAuthenticated: Boolean(session?.user || oAuth2AccessToken),\n };\n};\n"],"mappings":"uGAgBA,MAAa,GAAW,CACtB,QAAS,EACT,yBAIE,EAAE,GAA0B,CAC9B,GAAM,CAAE,UAAS,eAAc,oBAAmB,cAAe,EAC/D,EACA,EACD,CACK,CAAE,qBAAsB,EAAU,EAAsB,CAE9D,MAAO,CACL,UACA,eACA,aACA,oBACA,oBACA,gBAAiB,GAAQ,GAAS,MAAQ,GAC3C"}
1
+ {"version":3,"file":"useAuth.mjs","names":[],"sources":["../../../../src/hooks/useAuth/useAuth.ts"],"sourcesContent":["'use client';\n\nimport type { OAuth2Token, SessionAPI } from '@intlayer/backend';\nimport type { IntlayerConfig } from '@intlayer/types/config';\nimport { useOAuth2 } from './useOAuth2';\nimport { useSession } from './useSession';\n\ntype SessionContextProps = {\n session: SessionAPI | null | undefined;\n setSession: (session: SessionAPI | null) => void;\n fetchSession: () => Promise<SessionAPI | null | undefined>;\n revalidateSession: () => Promise<SessionAPI | null | undefined>;\n isAuthenticated: boolean;\n oAuth2AccessToken: OAuth2Token | null | undefined;\n};\n\nexport const useAuth = ({\n session: sessionProp,\n intlayerConfiguration,\n}: {\n session?: SessionAPI | null;\n intlayerConfiguration?: IntlayerConfig;\n} = {}): SessionContextProps => {\n const { session, fetchSession, revalidateSession, setSession } = useSession(\n sessionProp,\n intlayerConfiguration\n );\n const { oAuth2AccessToken } = useOAuth2(intlayerConfiguration);\n\n return {\n session,\n fetchSession,\n setSession,\n revalidateSession,\n oAuth2AccessToken,\n isAuthenticated: Boolean(session?.user || oAuth2AccessToken),\n };\n};\n"],"mappings":"uGAgBA,MAAa,GAAW,CACtB,QAAS,EACT,yBAIE,EAAE,GAA0B,CAC9B,GAAM,CAAE,UAAS,eAAc,oBAAmB,cAAe,EAC/D,EACA,EACD,CACK,CAAE,qBAAsB,EAAU,EAAsB,CAE9D,MAAO,CACL,UACA,eACA,aACA,oBACA,oBACA,gBAAiB,GAAQ,GAAS,MAAQ,GAC3C"}
@@ -1,2 +1,2 @@
1
- "use client";import{useConfiguration as e}from"@intlayer/editor-react";import{useQuery as t}from"@tanstack/react-query";import{getOAuthAPI as n}from"@intlayer/api";import r from"@intlayer/config/built";const i=i=>{let a=e(),o=i??a??r,{data:s}=t({queryKey:[`oAuth2AccessToken`],queryFn:n(o).getOAuth2AccessToken,enabled:!!(o.editor.clientId&&o.editor.clientSecret),staleTime:0,gcTime:0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1,refetchInterval:!1,refetchIntervalInBackground:!1});return{oAuth2AccessToken:s?.data}};export{i as useOAuth2};
1
+ "use client";import e from"@intlayer/config/built";import{useQuery as t}from"@tanstack/react-query";import{useConfiguration as n}from"@intlayer/editor-react";import{getOAuthAPI as r}from"@intlayer/api";const i=i=>{let a=n(),o=i??a??e,{data:s}=t({queryKey:[`oAuth2AccessToken`],queryFn:r(o).getOAuth2AccessToken,enabled:!!(o.editor.clientId&&o.editor.clientSecret),staleTime:0,gcTime:0,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1,refetchInterval:!1,refetchIntervalInBackground:!1});return{oAuth2AccessToken:s?.data}};export{i as useOAuth2};
2
2
  //# sourceMappingURL=useOAuth2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useOAuth2.mjs","names":["configuration","defaultConfiguration"],"sources":["../../../../src/hooks/useAuth/useOAuth2.ts"],"sourcesContent":["'use client';\n\nimport { getOAuthAPI } from '@intlayer/api';\nimport defaultConfiguration from '@intlayer/config/built';\nimport { useConfiguration } from '@intlayer/editor-react';\nimport type { IntlayerConfig } from '@intlayer/types';\nimport { useQuery } from '@tanstack/react-query';\n\nexport const useOAuth2 = (intlayerConfiguration?: IntlayerConfig) => {\n const configuration = useConfiguration();\n const config = intlayerConfiguration ?? configuration ?? defaultConfiguration;\n const intlayerAPI = getOAuthAPI(config);\n\n const { data } = useQuery({\n queryKey: ['oAuth2AccessToken'],\n queryFn: intlayerAPI.getOAuth2AccessToken,\n enabled: !!(config.editor.clientId && config.editor.clientSecret),\n staleTime: 0,\n gcTime: 0,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n refetchOnReconnect: false,\n refetchInterval: false,\n refetchIntervalInBackground: false,\n });\n\n const oAuth2AccessToken = data?.data;\n\n return {\n oAuth2AccessToken,\n };\n};\n"],"mappings":"0MAQA,MAAa,EAAa,GAA2C,CACnE,IAAMA,EAAgB,GAAkB,CAClC,EAAS,GAAyBA,GAAiBC,EAGnD,CAAE,QAAS,EAAS,CACxB,SAAU,CAAC,oBAAoB,CAC/B,QAJkB,EAAY,EAAO,CAIhB,qBACrB,QAAS,CAAC,EAAE,EAAO,OAAO,UAAY,EAAO,OAAO,cACpD,UAAW,EACX,OAAQ,EACR,qBAAsB,GACtB,eAAgB,GAChB,mBAAoB,GACpB,gBAAiB,GACjB,4BAA6B,GAC9B,CAAC,CAIF,MAAO,CACL,kBAHwB,GAAM,KAI/B"}
1
+ {"version":3,"file":"useOAuth2.mjs","names":["configuration","defaultConfiguration"],"sources":["../../../../src/hooks/useAuth/useOAuth2.ts"],"sourcesContent":["'use client';\n\nimport { getOAuthAPI } from '@intlayer/api';\nimport defaultConfiguration from '@intlayer/config/built';\nimport { useConfiguration } from '@intlayer/editor-react';\nimport type { IntlayerConfig } from '@intlayer/types/config';\nimport { useQuery } from '@tanstack/react-query';\n\nexport const useOAuth2 = (intlayerConfiguration?: IntlayerConfig) => {\n const configuration = useConfiguration();\n const config = intlayerConfiguration ?? configuration ?? defaultConfiguration;\n const intlayerAPI = getOAuthAPI(config);\n\n const { data } = useQuery({\n queryKey: ['oAuth2AccessToken'],\n queryFn: intlayerAPI.getOAuth2AccessToken,\n enabled: !!(config.editor.clientId && config.editor.clientSecret),\n staleTime: 0,\n gcTime: 0,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n refetchOnReconnect: false,\n refetchInterval: false,\n refetchIntervalInBackground: false,\n });\n\n const oAuth2AccessToken = data?.data;\n\n return {\n oAuth2AccessToken,\n };\n};\n"],"mappings":"0MAQA,MAAa,EAAa,GAA2C,CACnE,IAAMA,EAAgB,GAAkB,CAClC,EAAS,GAAyBA,GAAiBC,EAGnD,CAAE,QAAS,EAAS,CACxB,SAAU,CAAC,oBAAoB,CAC/B,QAJkB,EAAY,EAAO,CAIhB,qBACrB,QAAS,CAAC,EAAE,EAAO,OAAO,UAAY,EAAO,OAAO,cACpD,UAAW,EACX,OAAQ,EACR,qBAAsB,GACtB,eAAgB,GAChB,mBAAoB,GACpB,gBAAiB,GACjB,4BAA6B,GAC9B,CAAC,CAIF,MAAO,CACL,kBAHwB,GAAM,KAI/B"}
@@ -1,2 +1,2 @@
1
- "use client";import{getAuthAPI as e}from"../../libs/auth.mjs";import{useQueryClient as t}from"../reactQuery.mjs";import{useConfiguration as n}from"@intlayer/editor-react";import{useQuery as r}from"@tanstack/react-query";import i from"@intlayer/config/built";const a=(a,o)=>{let s=n(),c=o??s??i,l=t(),{data:u,isFetched:d,refetch:f}=r({queryKey:[`session`],queryFn:async()=>(await e(c).getSession()).data,staleTime:60*1e3,gcTime:300*1e3,refetchOnMount:!0,refetchOnWindowFocus:!1,refetchOnReconnect:!1,enabled:!a}),p=u??(d?null:void 0),m=e=>{l.setQueryData([`session`],e)},h=async()=>(await f()).data;return{session:p,fetchSession:h,revalidateSession:h,setSession:m}};export{a as useSession};
1
+ "use client";import{getAuthAPI as e}from"../../libs/auth.mjs";import{useQueryClient as t}from"../reactQuery.mjs";import n from"@intlayer/config/built";import{useQuery as r}from"@tanstack/react-query";import{useConfiguration as i}from"@intlayer/editor-react";const a=(a,o)=>{let s=i(),c=o??s??n,l=t(),{data:u,isFetched:d,refetch:f}=r({queryKey:[`session`],queryFn:async()=>(await e(c).getSession()).data,staleTime:60*1e3,gcTime:300*1e3,refetchOnMount:!0,refetchOnWindowFocus:!1,refetchOnReconnect:!1,enabled:!a}),p=u??(d?null:void 0),m=e=>{l.setQueryData([`session`],e)},h=async()=>(await f()).data;return{session:p,fetchSession:h,revalidateSession:h,setSession:m}};export{a as useSession};
2
2
  //# sourceMappingURL=useSession.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSession.mjs","names":["configuration","defaultConfiguration"],"sources":["../../../../src/hooks/useAuth/useSession.ts"],"sourcesContent":["'use client';\n\nimport { useQueryClient } from '@hooks/reactQuery';\nimport type { SessionAPI } from '@intlayer/backend';\nimport defaultConfiguration from '@intlayer/config/built';\nimport { useConfiguration } from '@intlayer/editor-react';\nimport type { IntlayerConfig } from '@intlayer/types';\nimport { getAuthAPI } from '@libs/auth';\nimport { useQuery } from '@tanstack/react-query';\n\nexport type UseSessionResult = {\n /** The current session: `undefined` while loading, `null` if fetched and no session, otherwise the session. */\n session: SessionAPI | null | undefined;\n /** Refetches the session and returns it (undefined while loading). */\n fetchSession: () => Promise<SessionAPI | null | undefined>;\n /** Alias of `fetchSession` for ergonomics. */\n revalidateSession: () => Promise<SessionAPI | null | undefined>;\n /** Manually set the session cache. */\n setSession: (nextSession: SessionAPI | null) => void;\n};\n\nexport const useSession = (\n sessionProp?: SessionAPI | null,\n intlayerConfiguration?: IntlayerConfig\n): UseSessionResult => {\n const configuration = useConfiguration();\n const config = intlayerConfiguration ?? configuration ?? defaultConfiguration;\n\n const queryClient = useQueryClient();\n\n // Keep TanStack generics internal so they don't leak into the d.ts\n const { data, isFetched, refetch } = useQuery({\n queryKey: ['session'],\n queryFn: async () => {\n const intlayerAPI = getAuthAPI(config);\n const result = await intlayerAPI.getSession();\n // Narrow to the public shape we want to expose\n return result.data as unknown as SessionAPI;\n },\n // Session data rarely changes during navigation, so keep it fresh for 1 minute\n // This prevents unnecessary refetches when navigating between pages\n staleTime: 60 * 1000,\n gcTime: 5 * 60 * 1000,\n // Only refetch if data is stale (not on every mount)\n refetchOnMount: true,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n enabled: !sessionProp,\n });\n\n const session = data ?? (isFetched ? null : undefined);\n\n const setSession = (nextSession: SessionAPI | null) => {\n queryClient.setQueryData(['session'], nextSession);\n };\n\n const fetchSession = async (): Promise<SessionAPI | null | undefined> => {\n const res = await refetch();\n return res.data as SessionAPI | null | undefined;\n };\n\n const revalidateSession = fetchSession;\n\n return {\n session,\n fetchSession,\n revalidateSession,\n setSession,\n };\n};\n"],"mappings":"kQAqBA,MAAa,GACX,EACA,IACqB,CACrB,IAAMA,EAAgB,GAAkB,CAClC,EAAS,GAAyBA,GAAiBC,EAEnD,EAAc,GAAgB,CAG9B,CAAE,OAAM,YAAW,WAAY,EAAS,CAC5C,SAAU,CAAC,UAAU,CACrB,QAAS,UAEQ,MADK,EAAW,EAAO,CACL,YAAY,EAE/B,KAIhB,UAAW,GAAK,IAChB,OAAQ,IAAS,IAEjB,eAAgB,GAChB,qBAAsB,GACtB,mBAAoB,GACpB,QAAS,CAAC,EACX,CAAC,CAEI,EAAU,IAAS,EAAY,KAAO,IAAA,IAEtC,EAAc,GAAmC,CACrD,EAAY,aAAa,CAAC,UAAU,CAAE,EAAY,EAG9C,EAAe,UACP,MAAM,GAAS,EAChB,KAKb,MAAO,CACL,UACA,eACA,kBALwB,EAMxB,aACD"}
1
+ {"version":3,"file":"useSession.mjs","names":["configuration","defaultConfiguration"],"sources":["../../../../src/hooks/useAuth/useSession.ts"],"sourcesContent":["'use client';\n\nimport { useQueryClient } from '@hooks/reactQuery';\nimport type { SessionAPI } from '@intlayer/backend';\nimport defaultConfiguration from '@intlayer/config/built';\nimport { useConfiguration } from '@intlayer/editor-react';\nimport type { IntlayerConfig } from '@intlayer/types/config';\nimport { getAuthAPI } from '@libs/auth';\nimport { useQuery } from '@tanstack/react-query';\n\nexport type UseSessionResult = {\n /** The current session: `undefined` while loading, `null` if fetched and no session, otherwise the session. */\n session: SessionAPI | null | undefined;\n /** Refetches the session and returns it (undefined while loading). */\n fetchSession: () => Promise<SessionAPI | null | undefined>;\n /** Alias of `fetchSession` for ergonomics. */\n revalidateSession: () => Promise<SessionAPI | null | undefined>;\n /** Manually set the session cache. */\n setSession: (nextSession: SessionAPI | null) => void;\n};\n\nexport const useSession = (\n sessionProp?: SessionAPI | null,\n intlayerConfiguration?: IntlayerConfig\n): UseSessionResult => {\n const configuration = useConfiguration();\n const config = intlayerConfiguration ?? configuration ?? defaultConfiguration;\n\n const queryClient = useQueryClient();\n\n // Keep TanStack generics internal so they don't leak into the d.ts\n const { data, isFetched, refetch } = useQuery({\n queryKey: ['session'],\n queryFn: async () => {\n const intlayerAPI = getAuthAPI(config);\n const result = await intlayerAPI.getSession();\n // Narrow to the public shape we want to expose\n return result.data as unknown as SessionAPI;\n },\n // Session data rarely changes during navigation, so keep it fresh for 1 minute\n // This prevents unnecessary refetches when navigating between pages\n staleTime: 60 * 1000,\n gcTime: 5 * 60 * 1000,\n // Only refetch if data is stale (not on every mount)\n refetchOnMount: true,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n enabled: !sessionProp,\n });\n\n const session = data ?? (isFetched ? null : undefined);\n\n const setSession = (nextSession: SessionAPI | null) => {\n queryClient.setQueryData(['session'], nextSession);\n };\n\n const fetchSession = async (): Promise<SessionAPI | null | undefined> => {\n const res = await refetch();\n return res.data as SessionAPI | null | undefined;\n };\n\n const revalidateSession = fetchSession;\n\n return {\n session,\n fetchSession,\n revalidateSession,\n setSession,\n };\n};\n"],"mappings":"kQAqBA,MAAa,GACX,EACA,IACqB,CACrB,IAAMA,EAAgB,GAAkB,CAClC,EAAS,GAAyBA,GAAiBC,EAEnD,EAAc,GAAgB,CAG9B,CAAE,OAAM,YAAW,WAAY,EAAS,CAC5C,SAAU,CAAC,UAAU,CACrB,QAAS,UAEQ,MADK,EAAW,EAAO,CACL,YAAY,EAE/B,KAIhB,UAAW,GAAK,IAChB,OAAQ,IAAS,IAEjB,eAAgB,GAChB,qBAAsB,GACtB,mBAAoB,GACpB,QAAS,CAAC,EACX,CAAC,CAEI,EAAU,IAAS,EAAY,KAAO,IAAA,IAEtC,EAAc,GAAmC,CACrD,EAAY,aAAa,CAAC,UAAU,CAAE,EAAY,EAG9C,EAAe,UACP,MAAM,GAAS,EAChB,KAKb,MAAO,CACL,UACA,eACA,kBALwB,EAMxB,aACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIntlayerAPI.mjs","names":[],"sources":["../../../src/hooks/useIntlayerAPI.ts"],"sourcesContent":["import {\n type FetcherOptions,\n getIntlayerAPI,\n type IntlayerAPI,\n} from '@intlayer/api';\nimport { useConfiguration } from '@intlayer/editor-react';\nimport type { IntlayerConfig } from '@intlayer/types';\nimport { type AuthAPI, getAuthAPI } from '../libs/auth';\nimport { useAuth } from './useAuth';\n\ntype UseIntlayerAuthProps = {\n options?: FetcherOptions;\n intlayerConfiguration?: IntlayerConfig;\n};\n\nexport const useIntlayerOAuth = (props?: UseIntlayerAuthProps): IntlayerAPI => {\n const configuration = useConfiguration();\n const { oAuth2AccessToken } = useAuth();\n\n return getIntlayerAPI(\n {\n ...(oAuth2AccessToken && {\n headers: {\n Authorization: `Bearer ${oAuth2AccessToken.accessToken}`,\n },\n }),\n ...(props?.options ?? {}),\n },\n props?.intlayerConfiguration ?? configuration\n );\n};\n\nexport const useIntlayerAuth = (props?: UseIntlayerAuthProps): AuthAPI => {\n const configuration = useConfiguration();\n\n return getAuthAPI(props?.intlayerConfiguration ?? configuration);\n};\n"],"mappings":"uMAeA,MAAa,EAAoB,GAA8C,CAC7E,IAAM,EAAgB,GAAkB,CAClC,CAAE,qBAAsB,GAAS,CAEvC,OAAO,EACL,CACE,GAAI,GAAqB,CACvB,QAAS,CACP,cAAe,UAAU,EAAkB,cAC5C,CACF,CACD,GAAI,GAAO,SAAW,EAAE,CACzB,CACD,GAAO,uBAAyB,EACjC,EAGU,EAAmB,GAA0C,CACxE,IAAM,EAAgB,GAAkB,CAExC,OAAO,EAAW,GAAO,uBAAyB,EAAc"}
1
+ {"version":3,"file":"useIntlayerAPI.mjs","names":[],"sources":["../../../src/hooks/useIntlayerAPI.ts"],"sourcesContent":["import {\n type FetcherOptions,\n getIntlayerAPI,\n type IntlayerAPI,\n} from '@intlayer/api';\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 useIntlayerOAuth = (props?: UseIntlayerAuthProps): IntlayerAPI => {\n const configuration = useConfiguration();\n const { oAuth2AccessToken } = useAuth();\n\n return getIntlayerAPI(\n {\n ...(oAuth2AccessToken && {\n headers: {\n Authorization: `Bearer ${oAuth2AccessToken.accessToken}`,\n },\n }),\n ...(props?.options ?? {}),\n },\n props?.intlayerConfiguration ?? configuration\n );\n};\n\nexport const useIntlayerAuth = (props?: UseIntlayerAuthProps): AuthAPI => {\n const configuration = useConfiguration();\n\n return getAuthAPI(props?.intlayerConfiguration ?? configuration);\n};\n"],"mappings":"uMAeA,MAAa,EAAoB,GAA8C,CAC7E,IAAM,EAAgB,GAAkB,CAClC,CAAE,qBAAsB,GAAS,CAEvC,OAAO,EACL,CACE,GAAI,GAAqB,CACvB,QAAS,CACP,cAAe,UAAU,EAAkB,cAC5C,CACF,CACD,GAAI,GAAO,SAAW,EAAE,CACzB,CACD,GAAO,uBAAyB,EACjC,EAGU,EAAmB,GAA0C,CACxE,IAAM,EAAgB,GAAkB,CAExC,OAAO,EAAW,GAAO,uBAAyB,EAAc"}
@@ -1,2 +1,2 @@
1
- import e from"@intlayer/config/built";import{passkeyClient as t}from"@better-auth/passkey/client";import{ssoClient as n}from"@better-auth/sso/client";import{createAuthClient as r}from"better-auth/client";import{magicLinkClient as i,twoFactorClient as a}from"better-auth/client/plugins";const o=e=>r({baseURL:e,withCredentials:!0,plugins:[a({onTwoFactorRedirect:()=>{let e=new URLSearchParams(window.location.search).get(`redirect_url`),t=e?`/auth/2fa?redirect_url=${encodeURIComponent(e)}`:`/auth/2fa`;window.location.href=t}}),t(),i(),n()]}),s=t=>{let n=t?.editor?.backendURL??e?.editor?.backendURL;if(!n)throw Error(`Backend URL is not defined in the Intlayer configuration.`);let r=o(n);return{getAuthClient:()=>r,signInEmail:async(...e)=>r.signIn.email(...e),signUpEmail:async(...e)=>r.signUp.email(...e),signOut:async(...e)=>r.signOut(...e),signInSocial:async(...e)=>r.signIn.social(...e),linkSocial:async(...e)=>r.linkSocial(...e),changePasswordSession:async(...e)=>r.changePassword(...e),requestPasswordResetSession:async(...e)=>r.requestPasswordReset(...e),resetPassword:async(...e)=>r.resetPassword(...e),verifyEmailSession:async(...e)=>r.verifyEmail(...e),getSession:async(...e)=>r.getSession(...e),forgetPassword:async(...e)=>r.requestPasswordReset(...e),sendVerificationEmail:async(...e)=>r.sendVerificationEmail(...e),changeEmail:async(...e)=>r.changeEmail(...e),deleteUser:async(...e)=>r.deleteUser(...e),revokeSession:async(...e)=>r.revokeSession(...e),revokeSessions:async(...e)=>r.revokeSessions(...e),revokeOtherSessions:async(...e)=>r.revokeOtherSessions(...e),listAccounts:async(...e)=>r.listAccounts(...e),unlinkAccount:async(...e)=>r.unlinkAccount(...e),refreshToken:async(...e)=>r.refreshToken(...e),getAccessToken:async(...e)=>r.getAccessToken(...e),accountInfo:async(...e)=>r.accountInfo(...e),updateUser:async(...e)=>r.updateUser(...e),listSessions:async(...e)=>r.listSessions(...e),enableTwoFactor:async(...e)=>r.twoFactor.enable(...e),disableTwoFactor:async(...e)=>r.twoFactor.disable(...e),verifyTotp:async(...e)=>r.twoFactor.verifyTotp(...e),verifyBackupCode:async(...e)=>r.twoFactor.verifyBackupCode(...e),addPasskey:async(...e)=>r.passkey.addPasskey(...e),signInPasskey:async(...e)=>r.signIn.passkey(...e),deletePasskey:async(...e)=>r.passkey.deletePasskey(...e),listPasskeys:async()=>r.$fetch(`/passkey/list-user-passkeys`,{method:`GET`}),signInMagicLink:async(...e)=>r.signIn.magicLink(...e),signInSSO:async(...e)=>r.signIn.sso(...e),registerSSO:async(...e)=>r.sso.register(...e),listSSOProviders:async()=>{},deleteSSOProvider:async e=>{}}};export{s as getAuthAPI};
1
+ import{passkeyClient as e}from"@better-auth/passkey/client";import{ssoClient as t}from"@better-auth/sso/client";import n from"@intlayer/config/built";import{createAuthClient as r}from"better-auth/client";import{magicLinkClient as i,twoFactorClient as a}from"better-auth/client/plugins";const o=n=>r({baseURL:n,withCredentials:!0,plugins:[a({onTwoFactorRedirect:()=>{let e=new URLSearchParams(window.location.search).get(`redirect_url`),t=e?`/auth/2fa?redirect_url=${encodeURIComponent(e)}`:`/auth/2fa`;window.location.href=t}}),e(),i(),t()]}),s=e=>{let t=e?.editor?.backendURL??n?.editor?.backendURL;if(!t)throw Error(`Backend URL is not defined in the Intlayer configuration.`);let r=o(t);return{getAuthClient:()=>r,signInEmail:async(...e)=>r.signIn.email(...e),signUpEmail:async(...e)=>r.signUp.email(...e),signOut:async(...e)=>r.signOut(...e),signInSocial:async(...e)=>r.signIn.social(...e),linkSocial:async(...e)=>r.linkSocial(...e),changePasswordSession:async(...e)=>r.changePassword(...e),requestPasswordResetSession:async(...e)=>r.requestPasswordReset(...e),resetPassword:async(...e)=>r.resetPassword(...e),verifyEmailSession:async(...e)=>r.verifyEmail(...e),getSession:async(...e)=>r.getSession(...e),forgetPassword:async(...e)=>r.requestPasswordReset(...e),sendVerificationEmail:async(...e)=>r.sendVerificationEmail(...e),changeEmail:async(...e)=>r.changeEmail(...e),deleteUser:async(...e)=>r.deleteUser(...e),revokeSession:async(...e)=>r.revokeSession(...e),revokeSessions:async(...e)=>r.revokeSessions(...e),revokeOtherSessions:async(...e)=>r.revokeOtherSessions(...e),listAccounts:async(...e)=>r.listAccounts(...e),unlinkAccount:async(...e)=>r.unlinkAccount(...e),refreshToken:async(...e)=>r.refreshToken(...e),getAccessToken:async(...e)=>r.getAccessToken(...e),accountInfo:async(...e)=>r.accountInfo(...e),updateUser:async(...e)=>r.updateUser(...e),listSessions:async(...e)=>r.listSessions(...e),enableTwoFactor:async(...e)=>r.twoFactor.enable(...e),disableTwoFactor:async(...e)=>r.twoFactor.disable(...e),verifyTotp:async(...e)=>r.twoFactor.verifyTotp(...e),verifyBackupCode:async(...e)=>r.twoFactor.verifyBackupCode(...e),addPasskey:async(...e)=>r.passkey.addPasskey(...e),signInPasskey:async(...e)=>r.signIn.passkey(...e),deletePasskey:async(...e)=>r.passkey.deletePasskey(...e),listPasskeys:async()=>r.$fetch(`/passkey/list-user-passkeys`,{method:`GET`}),signInMagicLink:async(...e)=>r.signIn.magicLink(...e),signInSSO:async(...e)=>r.signIn.sso(...e),registerSSO:async(...e)=>r.sso.register(...e),listSSOProviders:async()=>{},deleteSSOProvider:async e=>{}}};export{s as getAuthAPI};
2
2
  //# sourceMappingURL=auth.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.mjs","names":[],"sources":["../../../src/libs/auth.ts"],"sourcesContent":["import { passkeyClient } from '@better-auth/passkey/client';\nimport { ssoClient } from '@better-auth/sso/client';\nimport configuration from '@intlayer/config/built';\nimport type { IntlayerConfig } from '@intlayer/types';\nimport { createAuthClient } from 'better-auth/client';\nimport { magicLinkClient, twoFactorClient } from 'better-auth/client/plugins';\n\nconst getAuthClient = (backendURL: string) =>\n createAuthClient({\n baseURL: backendURL,\n withCredentials: true, // makes fetch forward cookies\n plugins: [\n twoFactorClient({\n onTwoFactorRedirect: () => {\n // Preserve redirect_url when redirecting to 2FA\n const searchParams = new URLSearchParams(window.location.search);\n const redirectUrl = searchParams.get('redirect_url');\n const twoFaUrl = redirectUrl\n ? `/auth/2fa?redirect_url=${encodeURIComponent(redirectUrl)}`\n : '/auth/2fa';\n window.location.href = twoFaUrl;\n },\n }),\n passkeyClient(),\n magicLinkClient() as never,\n ssoClient(),\n ],\n });\n\ntype AuthClient = ReturnType<typeof getAuthClient>;\n\nexport interface AuthAPI {\n getAuthClient: () => AuthClient;\n signInEmail: AuthClient['signIn']['email'];\n signUpEmail: AuthClient['signUp']['email'];\n signOut: AuthClient['signOut'];\n signInSocial: AuthClient['signIn']['social'];\n linkSocial: AuthClient['linkSocial'];\n changePasswordSession: AuthClient['changePassword'];\n requestPasswordResetSession: AuthClient['requestPasswordReset'];\n resetPassword: AuthClient['resetPassword'];\n verifyEmailSession: AuthClient['verifyEmail'];\n getSession: AuthClient['getSession'];\n forgetPassword: AuthClient['requestPasswordReset'];\n sendVerificationEmail: AuthClient['sendVerificationEmail'];\n changeEmail: AuthClient['changeEmail'];\n deleteUser: AuthClient['deleteUser'];\n revokeSession: AuthClient['revokeSession'];\n revokeSessions: AuthClient['revokeSessions'];\n revokeOtherSessions: AuthClient['revokeOtherSessions'];\n listAccounts: AuthClient['listAccounts'];\n unlinkAccount: AuthClient['unlinkAccount'];\n refreshToken: AuthClient['refreshToken'];\n getAccessToken: AuthClient['getAccessToken'];\n accountInfo: AuthClient['accountInfo'];\n updateUser: AuthClient['updateUser'];\n listSessions: AuthClient['listSessions'];\n enableTwoFactor: AuthClient['twoFactor']['enable'];\n disableTwoFactor: AuthClient['twoFactor']['disable'];\n verifyTotp: AuthClient['twoFactor']['verifyTotp'];\n verifyBackupCode: AuthClient['twoFactor']['verifyBackupCode'];\n addPasskey: AuthClient['passkey']['addPasskey'];\n signInPasskey: AuthClient['signIn']['passkey'];\n deletePasskey: AuthClient['passkey']['deletePasskey'];\n listPasskeys: () => Promise<any>;\n signInMagicLink: (\n // Redeclare it because of type inference issues\n input: { email: string; callbackURL: string }\n ) => any;\n registerSSO: AuthClient['sso']['register'];\n listSSOProviders: () => Promise<any>;\n deleteSSOProvider: (args: { providerId: string }) => Promise<any>;\n signInSSO: AuthClient['signIn']['sso'];\n}\n\nexport const getAuthAPI = (intlayerConfig?: IntlayerConfig): AuthAPI => {\n const backendURL =\n intlayerConfig?.editor?.backendURL ?? configuration?.editor?.backendURL;\n\n if (!backendURL) {\n throw new Error(\n 'Backend URL is not defined in the Intlayer configuration.'\n );\n }\n\n const client = getAuthClient(backendURL);\n\n const signInEmail: AuthClient['signIn']['email'] = async (...args) => {\n return client.signIn.email(...args);\n };\n\n const signInSocial: AuthClient['signIn']['social'] = async (...args) => {\n return client.signIn.social(...args);\n };\n\n const signUpEmail: AuthClient['signUp']['email'] = async (...args) => {\n return client.signUp.email(...args);\n };\n\n const signOut: AuthClient['signOut'] = async (...args) => {\n return client.signOut(...args);\n };\n\n const changePasswordSession: AuthClient['changePassword'] = async (\n ...args\n ) => {\n return client.changePassword(...args);\n };\n\n const requestPasswordResetSession: AuthClient['requestPasswordReset'] =\n async (...args) => {\n return client.requestPasswordReset(...args);\n };\n\n // @ts-ignore - resetPassword is not typed\n const resetPassword: AuthClient['resetPassword'] = async (...args) => {\n return client.resetPassword(...args);\n };\n\n const verifyEmailSession: AuthClient['verifyEmail'] = async (...args) => {\n return client.verifyEmail(...args);\n };\n\n const getSession: AuthClient['getSession'] = async (...args) => {\n return client.getSession(...args);\n };\n\n const forgetPassword: AuthClient['requestPasswordReset'] = async (\n ...args\n ) => {\n return client.requestPasswordReset(...args);\n };\n\n const sendVerificationEmail: AuthClient['sendVerificationEmail'] = async (\n ...args\n ) => {\n return client.sendVerificationEmail(...args);\n };\n\n const changeEmail: AuthClient['changeEmail'] = async (...args) => {\n return client.changeEmail(...args);\n };\n\n // @ts-ignore - deleteUser is not typed\n const deleteUser: AuthClient['deleteUser'] = async (...args) => {\n return client.deleteUser(...args);\n };\n\n const revokeSession: AuthClient['revokeSession'] = async (...args) => {\n return client.revokeSession(...args);\n };\n\n const revokeSessions: AuthClient['revokeSessions'] = async (...args) => {\n return client.revokeSessions(...args);\n };\n\n const revokeOtherSessions: AuthClient['revokeOtherSessions'] = async (\n ...args\n ) => {\n return client.revokeOtherSessions(...args);\n };\n\n const linkSocial: AuthClient['linkSocial'] = async (...args) => {\n return client.linkSocial(...args);\n };\n\n const listAccounts: AuthClient['listAccounts'] = async (...args) => {\n return client.listAccounts(...args);\n };\n\n const unlinkAccount: AuthClient['unlinkAccount'] = async (...args) => {\n return client.unlinkAccount(...args);\n };\n\n const refreshToken: AuthClient['refreshToken'] = async (...args) => {\n return client.refreshToken(...args);\n };\n\n const getAccessToken: AuthClient['getAccessToken'] = async (...args) => {\n return client.getAccessToken(...args);\n };\n\n const accountInfo: AuthClient['accountInfo'] = async (...args) => {\n return client.accountInfo(...args);\n };\n\n const updateUser: AuthClient['updateUser'] = async (...args) => {\n return client.updateUser(...args);\n };\n\n const listSessions: AuthClient['listSessions'] = async (...args) => {\n return client.listSessions(...args);\n };\n\n const enableTwoFactor: AuthClient['twoFactor']['enable'] = async (\n ...args\n ) => {\n return client.twoFactor.enable(...args) as ReturnType<\n AuthClient['twoFactor']['enable']\n >;\n };\n\n const disableTwoFactor: AuthClient['twoFactor']['disable'] = async (\n ...args\n ) => {\n return client.twoFactor.disable(...args) as ReturnType<\n AuthClient['twoFactor']['disable']\n >;\n };\n\n const verifyTotp: AuthClient['twoFactor']['verifyTotp'] = async (...args) => {\n return client.twoFactor.verifyTotp(...args) as ReturnType<\n AuthClient['twoFactor']['verifyTotp']\n >;\n };\n\n const verifyBackupCode: AuthClient['twoFactor']['verifyBackupCode'] = async (\n ...args\n ) => {\n return client.twoFactor.verifyBackupCode(...args) as ReturnType<\n AuthClient['twoFactor']['verifyBackupCode']\n >;\n };\n\n const addPasskey: AuthClient['passkey']['addPasskey'] = async (...args) => {\n return client.passkey.addPasskey(...args);\n };\n\n const signInPasskey: AuthClient['signIn']['passkey'] = async (...args) => {\n return client.signIn.passkey(...args);\n };\n\n const deletePasskey: AuthClient['passkey']['deletePasskey'] = async (\n ...args\n ) => {\n return client.passkey.deletePasskey(...args);\n };\n\n const listPasskeys = async () => {\n // @ts-ignore - listPasskeys may not be typed yet\n return client.$fetch('/passkey/list-user-passkeys', {\n method: 'GET',\n });\n };\n\n const signInMagicLink: any = async (...args: any[]) => {\n return (client.signIn as any).magicLink(...args);\n };\n\n const signInSSO: AuthClient['signIn']['sso'] = async (...args) => {\n return client.signIn.sso(...args);\n };\n\n const registerSSO: AuthClient['sso']['register'] = async (...args) => {\n return client.sso.register(...args);\n };\n\n const listSSOProviders = async () => {\n // Not implemented yet\n };\n\n const deleteSSOProvider = async (args: { providerId: string }) => {\n // Not implemented yet\n };\n\n return {\n getAuthClient: () => client,\n signInEmail,\n signUpEmail,\n signOut,\n signInSocial,\n linkSocial,\n changePasswordSession,\n requestPasswordResetSession,\n resetPassword,\n verifyEmailSession,\n getSession,\n forgetPassword,\n sendVerificationEmail,\n changeEmail,\n deleteUser,\n revokeSession,\n revokeSessions,\n revokeOtherSessions,\n listAccounts,\n unlinkAccount,\n refreshToken,\n getAccessToken,\n accountInfo,\n updateUser,\n listSessions,\n enableTwoFactor,\n disableTwoFactor,\n verifyTotp,\n verifyBackupCode,\n addPasskey,\n signInPasskey,\n deletePasskey,\n listPasskeys,\n signInMagicLink,\n signInSSO,\n registerSSO,\n listSSOProviders,\n deleteSSOProvider,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"auth.mjs","names":[],"sources":["../../../src/libs/auth.ts"],"sourcesContent":["import { passkeyClient } from '@better-auth/passkey/client';\nimport { ssoClient } from '@better-auth/sso/client';\nimport configuration from '@intlayer/config/built';\nimport type { IntlayerConfig } from '@intlayer/types/config';\nimport { createAuthClient } from 'better-auth/client';\nimport { magicLinkClient, twoFactorClient } from 'better-auth/client/plugins';\n\nconst getAuthClient = (backendURL: string) =>\n createAuthClient({\n baseURL: backendURL,\n withCredentials: true, // makes fetch forward cookies\n plugins: [\n twoFactorClient({\n onTwoFactorRedirect: () => {\n // Preserve redirect_url when redirecting to 2FA\n const searchParams = new URLSearchParams(window.location.search);\n const redirectUrl = searchParams.get('redirect_url');\n const twoFaUrl = redirectUrl\n ? `/auth/2fa?redirect_url=${encodeURIComponent(redirectUrl)}`\n : '/auth/2fa';\n window.location.href = twoFaUrl;\n },\n }),\n passkeyClient(),\n magicLinkClient() as never,\n ssoClient(),\n ],\n });\n\ntype AuthClient = ReturnType<typeof getAuthClient>;\n\nexport interface AuthAPI {\n getAuthClient: () => AuthClient;\n signInEmail: AuthClient['signIn']['email'];\n signUpEmail: AuthClient['signUp']['email'];\n signOut: AuthClient['signOut'];\n signInSocial: AuthClient['signIn']['social'];\n linkSocial: AuthClient['linkSocial'];\n changePasswordSession: AuthClient['changePassword'];\n requestPasswordResetSession: AuthClient['requestPasswordReset'];\n resetPassword: AuthClient['resetPassword'];\n verifyEmailSession: AuthClient['verifyEmail'];\n getSession: AuthClient['getSession'];\n forgetPassword: AuthClient['requestPasswordReset'];\n sendVerificationEmail: AuthClient['sendVerificationEmail'];\n changeEmail: AuthClient['changeEmail'];\n deleteUser: AuthClient['deleteUser'];\n revokeSession: AuthClient['revokeSession'];\n revokeSessions: AuthClient['revokeSessions'];\n revokeOtherSessions: AuthClient['revokeOtherSessions'];\n listAccounts: AuthClient['listAccounts'];\n unlinkAccount: AuthClient['unlinkAccount'];\n refreshToken: AuthClient['refreshToken'];\n getAccessToken: AuthClient['getAccessToken'];\n accountInfo: AuthClient['accountInfo'];\n updateUser: AuthClient['updateUser'];\n listSessions: AuthClient['listSessions'];\n enableTwoFactor: AuthClient['twoFactor']['enable'];\n disableTwoFactor: AuthClient['twoFactor']['disable'];\n verifyTotp: AuthClient['twoFactor']['verifyTotp'];\n verifyBackupCode: AuthClient['twoFactor']['verifyBackupCode'];\n addPasskey: AuthClient['passkey']['addPasskey'];\n signInPasskey: AuthClient['signIn']['passkey'];\n deletePasskey: AuthClient['passkey']['deletePasskey'];\n listPasskeys: () => Promise<any>;\n signInMagicLink: (\n // Redeclare it because of type inference issues\n input: { email: string; callbackURL: string }\n ) => any;\n registerSSO: AuthClient['sso']['register'];\n listSSOProviders: () => Promise<any>;\n deleteSSOProvider: (args: { providerId: string }) => Promise<any>;\n signInSSO: AuthClient['signIn']['sso'];\n}\n\nexport const getAuthAPI = (intlayerConfig?: IntlayerConfig): AuthAPI => {\n const backendURL =\n intlayerConfig?.editor?.backendURL ?? configuration?.editor?.backendURL;\n\n if (!backendURL) {\n throw new Error(\n 'Backend URL is not defined in the Intlayer configuration.'\n );\n }\n\n const client = getAuthClient(backendURL);\n\n const signInEmail: AuthClient['signIn']['email'] = async (...args) => {\n return client.signIn.email(...args);\n };\n\n const signInSocial: AuthClient['signIn']['social'] = async (...args) => {\n return client.signIn.social(...args);\n };\n\n const signUpEmail: AuthClient['signUp']['email'] = async (...args) => {\n return client.signUp.email(...args);\n };\n\n const signOut: AuthClient['signOut'] = async (...args) => {\n return client.signOut(...args);\n };\n\n const changePasswordSession: AuthClient['changePassword'] = async (\n ...args\n ) => {\n return client.changePassword(...args);\n };\n\n const requestPasswordResetSession: AuthClient['requestPasswordReset'] =\n async (...args) => {\n return client.requestPasswordReset(...args);\n };\n\n // @ts-ignore - resetPassword is not typed\n const resetPassword: AuthClient['resetPassword'] = async (...args) => {\n return client.resetPassword(...args);\n };\n\n const verifyEmailSession: AuthClient['verifyEmail'] = async (...args) => {\n return client.verifyEmail(...args);\n };\n\n const getSession: AuthClient['getSession'] = async (...args) => {\n return client.getSession(...args);\n };\n\n const forgetPassword: AuthClient['requestPasswordReset'] = async (\n ...args\n ) => {\n return client.requestPasswordReset(...args);\n };\n\n const sendVerificationEmail: AuthClient['sendVerificationEmail'] = async (\n ...args\n ) => {\n return client.sendVerificationEmail(...args);\n };\n\n const changeEmail: AuthClient['changeEmail'] = async (...args) => {\n return client.changeEmail(...args);\n };\n\n // @ts-ignore - deleteUser is not typed\n const deleteUser: AuthClient['deleteUser'] = async (...args) => {\n return client.deleteUser(...args);\n };\n\n const revokeSession: AuthClient['revokeSession'] = async (...args) => {\n return client.revokeSession(...args);\n };\n\n const revokeSessions: AuthClient['revokeSessions'] = async (...args) => {\n return client.revokeSessions(...args);\n };\n\n const revokeOtherSessions: AuthClient['revokeOtherSessions'] = async (\n ...args\n ) => {\n return client.revokeOtherSessions(...args);\n };\n\n const linkSocial: AuthClient['linkSocial'] = async (...args) => {\n return client.linkSocial(...args);\n };\n\n const listAccounts: AuthClient['listAccounts'] = async (...args) => {\n return client.listAccounts(...args);\n };\n\n const unlinkAccount: AuthClient['unlinkAccount'] = async (...args) => {\n return client.unlinkAccount(...args);\n };\n\n const refreshToken: AuthClient['refreshToken'] = async (...args) => {\n return client.refreshToken(...args);\n };\n\n const getAccessToken: AuthClient['getAccessToken'] = async (...args) => {\n return client.getAccessToken(...args);\n };\n\n const accountInfo: AuthClient['accountInfo'] = async (...args) => {\n return client.accountInfo(...args);\n };\n\n const updateUser: AuthClient['updateUser'] = async (...args) => {\n return client.updateUser(...args);\n };\n\n const listSessions: AuthClient['listSessions'] = async (...args) => {\n return client.listSessions(...args);\n };\n\n const enableTwoFactor: AuthClient['twoFactor']['enable'] = async (\n ...args\n ) => {\n return client.twoFactor.enable(...args) as ReturnType<\n AuthClient['twoFactor']['enable']\n >;\n };\n\n const disableTwoFactor: AuthClient['twoFactor']['disable'] = async (\n ...args\n ) => {\n return client.twoFactor.disable(...args) as ReturnType<\n AuthClient['twoFactor']['disable']\n >;\n };\n\n const verifyTotp: AuthClient['twoFactor']['verifyTotp'] = async (...args) => {\n return client.twoFactor.verifyTotp(...args) as ReturnType<\n AuthClient['twoFactor']['verifyTotp']\n >;\n };\n\n const verifyBackupCode: AuthClient['twoFactor']['verifyBackupCode'] = async (\n ...args\n ) => {\n return client.twoFactor.verifyBackupCode(...args) as ReturnType<\n AuthClient['twoFactor']['verifyBackupCode']\n >;\n };\n\n const addPasskey: AuthClient['passkey']['addPasskey'] = async (...args) => {\n return client.passkey.addPasskey(...args);\n };\n\n const signInPasskey: AuthClient['signIn']['passkey'] = async (...args) => {\n return client.signIn.passkey(...args);\n };\n\n const deletePasskey: AuthClient['passkey']['deletePasskey'] = async (\n ...args\n ) => {\n return client.passkey.deletePasskey(...args);\n };\n\n const listPasskeys = async () => {\n // @ts-ignore - listPasskeys may not be typed yet\n return client.$fetch('/passkey/list-user-passkeys', {\n method: 'GET',\n });\n };\n\n const signInMagicLink: any = async (...args: any[]) => {\n return (client.signIn as any).magicLink(...args);\n };\n\n const signInSSO: AuthClient['signIn']['sso'] = async (...args) => {\n return client.signIn.sso(...args);\n };\n\n const registerSSO: AuthClient['sso']['register'] = async (...args) => {\n return client.sso.register(...args);\n };\n\n const listSSOProviders = async () => {\n // Not implemented yet\n };\n\n const deleteSSOProvider = async (_args: { providerId: string }) => {\n // Not implemented yet\n };\n\n return {\n getAuthClient: () => client,\n signInEmail,\n signUpEmail,\n signOut,\n signInSocial,\n linkSocial,\n changePasswordSession,\n requestPasswordResetSession,\n resetPassword,\n verifyEmailSession,\n getSession,\n forgetPassword,\n sendVerificationEmail,\n changeEmail,\n deleteUser,\n revokeSession,\n revokeSessions,\n revokeOtherSessions,\n listAccounts,\n unlinkAccount,\n refreshToken,\n getAccessToken,\n accountInfo,\n updateUser,\n listSessions,\n enableTwoFactor,\n disableTwoFactor,\n verifyTotp,\n verifyBackupCode,\n addPasskey,\n signInPasskey,\n deletePasskey,\n listPasskeys,\n signInMagicLink,\n signInSSO,\n registerSSO,\n listSSOProviders,\n deleteSSOProvider,\n };\n};\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use client";import{useToast as e}from"../components/Toaster/useToast.mjs";import{useRef as t}from"react";import{jsx as n}from"react/jsx-runtime";import{MutationCache as r,QueryClient as i,QueryClientProvider as a}from"@tanstack/react-query";const o={queries:{retry:1,staleTime:30*1e3,gcTime:300*1e3,refetchOnMount:!0,refetchOnWindowFocus:!1,refetchOnReconnect:!1},mutations:{retry:0}},s=e=>e.split(`_`).join(` `),c=()=>{let{toast:t}=e();return{onError:e=>{[(()=>{try{if(typeof e==`string`)return JSON.parse(e)}catch{}return e})()].flat().forEach(e=>{let n=e?.error??e;t({title:s(n?.title??e?.title??`Error`),description:n?.message??e?.message??String(n??`An error occurred`),variant:`error`})})},onSuccess:e=>{e?.error&&t({title:s(e.error.title??e.error.code??`Error`),description:e.error.message??e.error.code??`An error occurred`,variant:`error`}),e?.message&&t({title:e.message,description:e.description,variant:`success`})}}},l=({children:e})=>{let{onError:s,onSuccess:l}=c(),u=t(null);if(!u.current){let e=new i({defaultOptions:o,mutationCache:new r({onSuccess:l,onError:s,onSettled:(t,n,r,i,a)=>{a.meta?.invalidateQueries&&a.meta.invalidateQueries.forEach(t=>{e.invalidateQueries({queryKey:t})}),a.meta?.resetQueries&&a.meta.resetQueries.forEach(t=>{e.resetQueries({queryKey:t})})}})});u.current=e}return n(a,{client:u.current,children:e})};export{l as ReactQueryProvider};
1
+ "use client";import{useToast as e}from"../components/Toaster/useToast.mjs";import{MutationCache as t,QueryClient as n,QueryClientProvider as r}from"@tanstack/react-query";import{useRef as i}from"react";import{jsx as a}from"react/jsx-runtime";const o={queries:{retry:1,staleTime:30*1e3,gcTime:300*1e3,refetchOnMount:!0,refetchOnWindowFocus:!1,refetchOnReconnect:!1},mutations:{retry:0}},s=e=>e.split(`_`).join(` `),c=()=>{let{toast:t}=e();return{onError:e=>{[(()=>{try{if(typeof e==`string`)return JSON.parse(e)}catch{}return e})()].flat().forEach(e=>{let n=e?.error??e;t({title:s(n?.title??e?.title??`Error`),description:n?.message??e?.message??String(n??`An error occurred`),variant:`error`})})},onSuccess:e=>{e?.error&&t({title:s(e.error.title??e.error.code??`Error`),description:e.error.message??e.error.code??`An error occurred`,variant:`error`}),e?.message&&t({title:e.message,description:e.description,variant:`success`})}}},l=({children:e})=>{let{onError:s,onSuccess:l}=c(),u=i(null);if(!u.current){let e=new n({defaultOptions:o,mutationCache:new t({onSuccess:l,onError:s,onSettled:(t,n,r,i,a)=>{a.meta?.invalidateQueries&&a.meta.invalidateQueries.forEach(t=>{e.invalidateQueries({queryKey:t})}),a.meta?.resetQueries&&a.meta.resetQueries.forEach(t=>{e.resetQueries({queryKey:t})})}})});u.current=e}return a(r,{client:u.current,children:e})};export{l as ReactQueryProvider};
2
2
  //# sourceMappingURL=ReactQueryProvider.mjs.map
@@ -43,7 +43,7 @@ declare enum BadgeSize {
43
43
  * @description Defines the styling variants for different badge combinations
44
44
  */
45
45
  declare const badgeVariants: (props?: {
46
- color?: "text" | "primary" | "secondary" | "destructive" | "neutral" | "light" | "dark" | "error" | "success" | "custom";
46
+ color?: "primary" | "secondary" | "destructive" | "success" | "error" | "neutral" | "light" | "dark" | "text" | "custom";
47
47
  variant?: "none" | "default" | "outline" | "hoverable";
48
48
  size?: "sm" | "md" | "lg";
49
49
  } & class_variance_authority_types0.ClassProp) => string;
@@ -1,10 +1,10 @@
1
- import * as _intlayer_types0 from "@intlayer/types";
1
+ import * as _intlayer_types_nodeType0 from "@intlayer/types/nodeType";
2
2
 
3
3
  //#region src/components/Breadcrumb/breadcrumb.content.d.ts
4
4
  declare const breadCrumbContent: {
5
5
  key: string;
6
6
  content: {
7
- linkLabel: _intlayer_types0.TypedNodeModel<_intlayer_types0.NodeType.Translation, {
7
+ linkLabel: _intlayer_types_nodeType0.TypedNodeModel<_intlayer_types_nodeType0.NodeType.Translation, {
8
8
  en: string;
9
9
  fr: string;
10
10
  es: string;
@@ -24,7 +24,7 @@ declare const breadCrumbContent: {
24
24
  vi: string;
25
25
  uk: string;
26
26
  }, {
27
- nodeType: "translation" | _intlayer_types0.NodeType.Translation;
27
+ nodeType: _intlayer_types_nodeType0.NodeType.Translation | "translation";
28
28
  } & {
29
29
  translation: {
30
30
  en: string;
@@ -2,7 +2,7 @@ import { LinkColor } from "../Link/Link.js";
2
2
  import { FC, HTMLAttributes, ReactNode } from "react";
3
3
  import * as class_variance_authority_types0 from "class-variance-authority/types";
4
4
  import { VariantProps } from "class-variance-authority";
5
- import { LocalesValues } from "@intlayer/types";
5
+ import { LocalesValues } from "@intlayer/types/module_augmentation";
6
6
 
7
7
  //#region src/components/Breadcrumb/index.d.ts
8
8
  /**