@intlayer/design-system 8.1.0 → 8.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/components/RightDrawer/RightDrawer.mjs +8 -4
- package/dist/esm/components/RightDrawer/RightDrawer.mjs.map +1 -1
- package/dist/esm/hooks/reactQuery.mjs +5 -2
- package/dist/esm/hooks/reactQuery.mjs.map +1 -1
- package/dist/esm/hooks/useAuth/useSession.mjs +2 -2
- package/dist/esm/hooks/useAuth/useSession.mjs.map +1 -1
- package/dist/esm/providers/ReactQueryProvider.mjs +1 -1
- package/dist/esm/providers/ReactQueryProvider.mjs.map +1 -1
- package/dist/types/components/Button/Button.d.ts +3 -3
- package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts +1 -1
- package/dist/types/components/Command/index.d.ts +2 -2
- package/dist/types/components/Input/Checkbox.d.ts +1 -1
- package/dist/types/components/Input/Input.d.ts +1 -1
- package/dist/types/components/Link/Link.d.ts +2 -2
- package/dist/types/components/Pagination/Pagination.d.ts +1 -1
- package/dist/types/components/RightDrawer/RightDrawer.d.ts +5 -0
- package/dist/types/components/RightDrawer/RightDrawer.d.ts.map +1 -1
- package/dist/types/components/SwitchSelector/index.d.ts +1 -1
- package/dist/types/components/Tab/Tab.d.ts +1 -1
- package/dist/types/components/Tag/index.d.ts +2 -2
- package/dist/types/components/Toaster/Toast.d.ts +1 -1
- package/dist/types/hooks/reactQuery.d.ts.map +1 -1
- package/dist/types/hooks/useAuth/useSession.d.ts +1 -1
- package/dist/types/hooks/useAuth/useSession.d.ts.map +1 -1
- package/dist/types/providers/ReactQueryProvider.d.ts.map +1 -1
- package/package.json +17 -17
|
@@ -5,21 +5,24 @@ import { Button, ButtonColor, ButtonSize, ButtonVariant } from "../Button/Button
|
|
|
5
5
|
import { useDevice } from "../../hooks/useDevice.mjs";
|
|
6
6
|
import { KeyboardShortcut } from "../KeyboardShortcut/KeyboardShortcut.mjs";
|
|
7
7
|
import { Popover } from "../Popover/dynamic.mjs";
|
|
8
|
+
import { useGetElementOrWindow } from "../../hooks/useGetElementOrWindow.mjs";
|
|
8
9
|
import { useScrollBlockage } from "../../hooks/useScrollBlockage/index.mjs";
|
|
9
10
|
import { MaxWidthSmoother } from "../MaxWidthSmoother/index.mjs";
|
|
10
11
|
import { isElementAtTopAndNotCovered } from "./isElementAtTopAndNotCovered.mjs";
|
|
11
12
|
import { useRightDrawer } from "./useRightDrawer.mjs";
|
|
12
13
|
import { ChevronLeft, X } from "lucide-react";
|
|
13
14
|
import { useEffect, useRef } from "react";
|
|
14
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
15
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
15
16
|
import { useIntlayer } from "react-intlayer";
|
|
17
|
+
import { createPortal } from "react-dom";
|
|
16
18
|
|
|
17
19
|
//#region src/components/RightDrawer/RightDrawer.tsx
|
|
18
|
-
const RightDrawer = ({ title, identifier, children, header, footer, closeOnOutsideClick = true, backButton, isOpen: isOpenProp, onClose }) => {
|
|
20
|
+
const RightDrawer = ({ title, identifier, children, header, footer, closeOnOutsideClick = true, backButton, isOpen: isOpenProp, onClose, container }) => {
|
|
19
21
|
const content = useIntlayer("right-drawer");
|
|
20
22
|
const { isMobile } = useDevice("md");
|
|
21
23
|
const panelRef = useRef(null);
|
|
22
24
|
const childrenContainerRef = useRef(null);
|
|
25
|
+
const containerElement = useGetElementOrWindow(container);
|
|
23
26
|
const { open: openDrawer, close: closeDrawer, isOpen: checkIsOpen } = useRightDrawer();
|
|
24
27
|
const storeIsOpen = checkIsOpen(identifier);
|
|
25
28
|
const isOpen = storeIsOpen;
|
|
@@ -88,7 +91,8 @@ const RightDrawer = ({ title, identifier, children, header, footer, closeOnOutsi
|
|
|
88
91
|
}
|
|
89
92
|
}
|
|
90
93
|
};
|
|
91
|
-
return /* @__PURE__ */ jsx(
|
|
94
|
+
if (!containerElement) return /* @__PURE__ */ jsx(Fragment$1, {});
|
|
95
|
+
return createPortal(/* @__PURE__ */ jsx("div", {
|
|
92
96
|
className: "fixed top-0 right-0 z-50 flex h-full justify-end",
|
|
93
97
|
children: /* @__PURE__ */ jsx(MaxWidthSmoother, {
|
|
94
98
|
isHidden: !isOpen,
|
|
@@ -168,7 +172,7 @@ const RightDrawer = ({ title, identifier, children, header, footer, closeOnOutsi
|
|
|
168
172
|
]
|
|
169
173
|
})
|
|
170
174
|
})
|
|
171
|
-
});
|
|
175
|
+
}), containerElement);
|
|
172
176
|
};
|
|
173
177
|
|
|
174
178
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RightDrawer.mjs","names":[],"sources":["../../../../src/components/RightDrawer/RightDrawer.tsx"],"sourcesContent":["'use client';\n\nimport { useDevice } from '@hooks/useDevice';\nimport { useScrollBlockage } from '@hooks/useScrollBlockage';\nimport { ChevronLeft, X } from 'lucide-react';\nimport {\n type FC,\n type KeyboardEventHandler,\n type MouseEventHandler,\n type ReactNode,\n useEffect,\n useRef,\n} from 'react';\nimport { useIntlayer } from 'react-intlayer';\nimport { Button, ButtonColor, ButtonSize, ButtonVariant } from '../Button';\nimport { Container } from '../Container';\nimport { KeyboardShortcut } from '../KeyboardShortcut';\nimport { MaxWidthSmoother } from '../MaxWidthSmoother/index';\nimport { Popover } from '../Popover';\nimport { isElementAtTopAndNotCovered } from './isElementAtTopAndNotCovered';\nimport { useRightDrawer } from './useRightDrawer';\n\n/**\n * Configuration for the back button functionality in the RightDrawer\n *\n * @interface BackButtonProps\n */\ntype BackButtonProps = {\n /** Callback function triggered when the back button is clicked */\n onBack: () => void;\n /** Optional custom text for the back buttoDefaults to \"Go back\" if not provided */\n text?: string;\n};\n\n/**\n * Props configuration for the RightDrawer component\n *\n * @interface RightDrawerProps\n */\ntype RightDrawerProps = {\n /**\n * Title displayed in the drawer header\n */\n title?: ReactNode;\n\n /**\n * Unique identifier for the drawer instancRequired for store management\n */\n identifier: string;\n\n /** The content to be displayed inside the drawer */\n children?: ReactNode;\n\n /**\n * Optional header content displayed below the title\n */\n header?: ReactNode;\n\n /**\n * Optional footer content pinned to the bottom of the drawer\n */\n footer?: ReactNode;\n\n /**\n * Whether the drawer should close when clicking outside of it\n * @default true\n */\n closeOnOutsideClick?: boolean;\n\n /**\n * Configuration for an optional back button in the drawer header\n */\n backButton?: BackButtonProps;\n\n /**\n * External control for the open statWhen provided, overrides internal store state\n */\n isOpen?: boolean;\n\n /**\n * Callback function triggered when the drawer is closed\n */\n onClose?: () => void;\n};\n\nexport const RightDrawer: FC<RightDrawerProps> = ({\n title,\n identifier,\n children,\n header,\n footer,\n closeOnOutsideClick = true,\n backButton,\n isOpen: isOpenProp,\n onClose,\n}) => {\n const content = useIntlayer('right-drawer');\n const { isMobile } = useDevice('md');\n const panelRef = useRef<HTMLDivElement>(null);\n const childrenContainerRef = useRef<HTMLDivElement>(null);\n\n const {\n open: openDrawer,\n close: closeDrawer,\n isOpen: checkIsOpen,\n } = useRightDrawer();\n const storeIsOpen = checkIsOpen(identifier);\n const isOpen = storeIsOpen;\n\n useScrollBlockage({\n disableScroll: isOpen,\n key: identifier ? `right_drawer_${identifier}` : 'right_drawer',\n });\n\n // Handle Click Outside\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n try {\n if (!panelRef.current) return;\n\n const isClickAble = isOpen && closeOnOutsideClick;\n const isClickOutside =\n event.target && !panelRef.current.contains(event.target as Node);\n const isAtTopAndVisible = isElementAtTopAndNotCovered(panelRef.current);\n\n if (\n (isClickAble && isClickOutside && isAtTopAndVisible) ||\n !event.target\n ) {\n closeDrawer(identifier);\n onClose?.();\n }\n } catch (_e) {\n closeDrawer(identifier);\n onClose?.();\n }\n };\n\n window.addEventListener('mousedown', handleClickOutside);\n return () => window.removeEventListener('mousedown', handleClickOutside);\n }, [isOpen, closeDrawer, onClose, closeOnOutsideClick, identifier]);\n\n const onCloseRef = useRef(onClose);\n useEffect(() => {\n onCloseRef.current = onClose;\n }, [onClose]);\n\n useEffect(() => {\n if (isOpenProp === undefined) return;\n if (isOpenProp === storeIsOpen) return;\n\n if (isOpenProp) {\n openDrawer(identifier);\n } else {\n closeDrawer(identifier);\n onCloseRef.current?.();\n }\n }, [isOpenProp, storeIsOpen, identifier, openDrawer, closeDrawer]);\n\n const handleSpareSpaceClick: MouseEventHandler<HTMLDivElement> = (e) => {\n if (e.target !== e.currentTarget) {\n return;\n }\n if (isMobile) {\n closeDrawer(identifier);\n onClose?.();\n }\n };\n\n // Handle Keyboard on Spare Space (Linter Fix)\n const handleSpareSpaceKeyDown: KeyboardEventHandler<HTMLDivElement> = (e) => {\n if (e.target !== e.currentTarget) return;\n\n // Allow closing via Enter or Space if focused on the spare area\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n if (isMobile) {\n closeDrawer(identifier);\n onClose?.();\n }\n }\n };\n\n return (\n <div className=\"fixed top-0 right-0 z-50 flex h-full justify-end\">\n <MaxWidthSmoother isHidden={!isOpen} align=\"right\">\n <Container\n className=\"relative flex h-screen w-screen flex-col text-text md:w-[400px]\"\n ref={panelRef}\n roundedSize=\"none\"\n >\n {/* Header */}\n <div className=\"flex shrink-0 flex-col gap-3 px-6 pt-6\">\n <div className=\"flex justify-between gap-3\">\n <div>\n {backButton && (\n <Button\n variant={ButtonVariant.HOVERABLE}\n color={ButtonColor.TEXT}\n label={backButton.text ?? content.goBack.value}\n onClick={backButton.onBack}\n Icon={ChevronLeft}\n >\n {backButton?.text}\n </Button>\n )}\n </div>\n <div>\n <Popover identifier=\"close-drawer\">\n <Button\n variant={ButtonVariant.HOVERABLE}\n color={ButtonColor.TEXT}\n label=\"Close\"\n className=\"ml-auto\"\n onClick={() => {\n closeDrawer(identifier);\n onClose?.();\n }}\n Icon={X}\n size={ButtonSize.ICON_MD}\n />\n\n <Popover.Detail identifier=\"close-drawer\">\n <div className=\"flex items-center gap-2 p-2\">\n <span className=\"whitespace-nowrap text-neutral text-xs\">\n {content.closeDrawer}\n </span>\n <KeyboardShortcut\n shortcut=\"Escape\"\n size=\"sm\"\n onTriggered={() => {\n closeDrawer(identifier);\n onClose?.();\n }}\n />\n </div>\n </Popover.Detail>\n </Popover>\n </div>\n </div>\n {title && (\n <h2 className=\"flex items-center justify-center font-bold text-lg\">\n {title}\n </h2>\n )}\n {header}\n </div>\n\n {/* Body */}\n <div className=\"flex min-h-0 flex-1 flex-col overflow-y-auto p-2\">\n {/** biome-ignore lint/a11y/useSemanticElements: This div is used to handle the spare space click and keydown events */}\n <div\n className=\"flex flex-1 flex-col outline-none\"\n onClick={handleSpareSpaceClick}\n onKeyDown={handleSpareSpaceKeyDown}\n ref={childrenContainerRef}\n role=\"button\" // Semantically acts as a button area\n tabIndex={0} // Makes it focusable to receive key events\n >\n {children}\n </div>\n </div>\n\n {/* Footer */}\n {footer && <div className=\"shrink-0\">{footer}</div>}\n </Container>\n </MaxWidthSmoother>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RightDrawer.mjs","names":[],"sources":["../../../../src/components/RightDrawer/RightDrawer.tsx"],"sourcesContent":["'use client';\n\nimport { useGetElementOrWindow } from '@hooks/index';\nimport { useDevice } from '@hooks/useDevice';\nimport { useScrollBlockage } from '@hooks/useScrollBlockage';\nimport { ChevronLeft, X } from 'lucide-react';\nimport {\n type FC,\n type KeyboardEventHandler,\n type MouseEventHandler,\n type ReactNode,\n useEffect,\n useRef,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { useIntlayer } from 'react-intlayer';\nimport { Button, ButtonColor, ButtonSize, ButtonVariant } from '../Button';\nimport { Container } from '../Container';\nimport { KeyboardShortcut } from '../KeyboardShortcut';\nimport { MaxWidthSmoother } from '../MaxWidthSmoother/index';\nimport { Popover } from '../Popover';\nimport { isElementAtTopAndNotCovered } from './isElementAtTopAndNotCovered';\nimport { useRightDrawer } from './useRightDrawer';\n\n/**\n * Configuration for the back button functionality in the RightDrawer\n *\n * @interface BackButtonProps\n */\ntype BackButtonProps = {\n /** Callback function triggered when the back button is clicked */\n onBack: () => void;\n /** Optional custom text for the back buttoDefaults to \"Go back\" if not provided */\n text?: string;\n};\n\n/**\n * Props configuration for the RightDrawer component\n *\n * @interface RightDrawerProps\n */\ntype RightDrawerProps = {\n /**\n * Title displayed in the drawer header\n */\n title?: ReactNode;\n\n /**\n * Unique identifier for the drawer instancRequired for store management\n */\n identifier: string;\n\n /** The content to be displayed inside the drawer */\n children?: ReactNode;\n\n /**\n * Optional header content displayed below the title\n */\n header?: ReactNode;\n\n /**\n * Optional footer content pinned to the bottom of the drawer\n */\n footer?: ReactNode;\n\n /**\n * Whether the drawer should close when clicking outside of it\n * @default true\n */\n closeOnOutsideClick?: boolean;\n\n /**\n * Configuration for an optional back button in the drawer header\n */\n backButton?: BackButtonProps;\n\n /**\n * External control for the open statWhen provided, overrides internal store state\n */\n isOpen?: boolean;\n\n /**\n * Callback function triggered when the drawer is closed\n */\n onClose?: () => void;\n\n /**\n * Optional container to render the drawer into.\n * If not provided, it will be rendered into the body.\n */\n container?: HTMLElement;\n};\n\nexport const RightDrawer: FC<RightDrawerProps> = ({\n title,\n identifier,\n children,\n header,\n footer,\n closeOnOutsideClick = true,\n backButton,\n isOpen: isOpenProp,\n onClose,\n container,\n}) => {\n const content = useIntlayer('right-drawer');\n const { isMobile } = useDevice('md');\n const panelRef = useRef<HTMLDivElement>(null);\n const childrenContainerRef = useRef<HTMLDivElement>(null);\n const containerElement = useGetElementOrWindow(container);\n\n const {\n open: openDrawer,\n close: closeDrawer,\n isOpen: checkIsOpen,\n } = useRightDrawer();\n const storeIsOpen = checkIsOpen(identifier);\n const isOpen = storeIsOpen;\n\n useScrollBlockage({\n disableScroll: isOpen,\n key: identifier ? `right_drawer_${identifier}` : 'right_drawer',\n });\n\n // Handle Click Outside\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n try {\n if (!panelRef.current) return;\n\n const isClickAble = isOpen && closeOnOutsideClick;\n const isClickOutside =\n event.target && !panelRef.current.contains(event.target as Node);\n const isAtTopAndVisible = isElementAtTopAndNotCovered(panelRef.current);\n\n if (\n (isClickAble && isClickOutside && isAtTopAndVisible) ||\n !event.target\n ) {\n closeDrawer(identifier);\n onClose?.();\n }\n } catch (_e) {\n closeDrawer(identifier);\n onClose?.();\n }\n };\n\n window.addEventListener('mousedown', handleClickOutside);\n return () => window.removeEventListener('mousedown', handleClickOutside);\n }, [isOpen, closeDrawer, onClose, closeOnOutsideClick, identifier]);\n\n const onCloseRef = useRef(onClose);\n useEffect(() => {\n onCloseRef.current = onClose;\n }, [onClose]);\n\n useEffect(() => {\n if (isOpenProp === undefined) return;\n if (isOpenProp === storeIsOpen) return;\n\n if (isOpenProp) {\n openDrawer(identifier);\n } else {\n closeDrawer(identifier);\n onCloseRef.current?.();\n }\n }, [isOpenProp, storeIsOpen, identifier, openDrawer, closeDrawer]);\n\n const handleSpareSpaceClick: MouseEventHandler<HTMLDivElement> = (e) => {\n if (e.target !== e.currentTarget) {\n return;\n }\n if (isMobile) {\n closeDrawer(identifier);\n onClose?.();\n }\n };\n\n // Handle Keyboard on Spare Space (Linter Fix)\n const handleSpareSpaceKeyDown: KeyboardEventHandler<HTMLDivElement> = (e) => {\n if (e.target !== e.currentTarget) return;\n\n // Allow closing via Enter or Space if focused on the spare area\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n if (isMobile) {\n closeDrawer(identifier);\n onClose?.();\n }\n }\n };\n\n if (!containerElement) return <></>;\n\n return createPortal(\n <div className=\"fixed top-0 right-0 z-50 flex h-full justify-end\">\n <MaxWidthSmoother isHidden={!isOpen} align=\"right\">\n <Container\n className=\"relative flex h-screen w-screen flex-col text-text md:w-[400px]\"\n ref={panelRef}\n roundedSize=\"none\"\n >\n {/* Header */}\n <div className=\"flex shrink-0 flex-col gap-3 px-6 pt-6\">\n <div className=\"flex justify-between gap-3\">\n <div>\n {backButton && (\n <Button\n variant={ButtonVariant.HOVERABLE}\n color={ButtonColor.TEXT}\n label={backButton.text ?? content.goBack.value}\n onClick={backButton.onBack}\n Icon={ChevronLeft}\n >\n {backButton?.text}\n </Button>\n )}\n </div>\n <div>\n <Popover identifier=\"close-drawer\">\n <Button\n variant={ButtonVariant.HOVERABLE}\n color={ButtonColor.TEXT}\n label=\"Close\"\n className=\"ml-auto\"\n onClick={() => {\n closeDrawer(identifier);\n onClose?.();\n }}\n Icon={X}\n size={ButtonSize.ICON_MD}\n />\n\n <Popover.Detail identifier=\"close-drawer\">\n <div className=\"flex items-center gap-2 p-2\">\n <span className=\"whitespace-nowrap text-neutral text-xs\">\n {content.closeDrawer}\n </span>\n <KeyboardShortcut\n shortcut=\"Escape\"\n size=\"sm\"\n onTriggered={() => {\n closeDrawer(identifier);\n onClose?.();\n }}\n />\n </div>\n </Popover.Detail>\n </Popover>\n </div>\n </div>\n {title && (\n <h2 className=\"flex items-center justify-center font-bold text-lg\">\n {title}\n </h2>\n )}\n {header}\n </div>\n\n {/* Body */}\n <div className=\"flex min-h-0 flex-1 flex-col overflow-y-auto p-2\">\n {/** biome-ignore lint/a11y/useSemanticElements: This div is used to handle the spare space click and keydown events */}\n <div\n className=\"flex flex-1 flex-col outline-none\"\n onClick={handleSpareSpaceClick}\n onKeyDown={handleSpareSpaceKeyDown}\n ref={childrenContainerRef}\n role=\"button\" // Semantically acts as a button area\n tabIndex={0} // Makes it focusable to receive key events\n >\n {children}\n </div>\n </div>\n\n {/* Footer */}\n {footer && <div className=\"shrink-0\">{footer}</div>}\n </Container>\n </MaxWidthSmoother>\n </div>,\n containerElement\n );\n};\n"],"mappings":"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"}
|
|
@@ -267,7 +267,8 @@ const useAddOrganization = () => {
|
|
|
267
267
|
const intlayerOAuth = useIntlayerOAuth();
|
|
268
268
|
return useMutation({
|
|
269
269
|
mutationKey: ["organizations"],
|
|
270
|
-
mutationFn: (args) => intlayerOAuth.organization.addOrganization(args)
|
|
270
|
+
mutationFn: (args) => intlayerOAuth.organization.addOrganization(args),
|
|
271
|
+
meta: { invalidateQueries: [["organizations"]] }
|
|
271
272
|
});
|
|
272
273
|
};
|
|
273
274
|
const useUpdateOrganization = () => {
|
|
@@ -306,7 +307,7 @@ const useDeleteOrganization = () => {
|
|
|
306
307
|
return useMutation({
|
|
307
308
|
mutationKey: ["organizations"],
|
|
308
309
|
mutationFn: () => intlayerOAuth.organization.deleteOrganization(),
|
|
309
|
-
meta: { invalidateQueries: [["organizations"]] }
|
|
310
|
+
meta: { invalidateQueries: [["organizations"], ["session"]] }
|
|
310
311
|
});
|
|
311
312
|
};
|
|
312
313
|
const useSelectOrganization = () => {
|
|
@@ -316,6 +317,7 @@ const useSelectOrganization = () => {
|
|
|
316
317
|
mutationKey: ["session-organizations"],
|
|
317
318
|
mutationFn: (args) => intlayerOAuth.organization.selectOrganization(args),
|
|
318
319
|
meta: { invalidateQueries: [
|
|
320
|
+
["session"],
|
|
319
321
|
["organizations"],
|
|
320
322
|
["projects"],
|
|
321
323
|
["dictionaries"],
|
|
@@ -339,6 +341,7 @@ const useUnselectOrganization = () => {
|
|
|
339
341
|
mutationKey: ["session-organizations"],
|
|
340
342
|
mutationFn: () => intlayerOAuth.organization.unselectOrganization(),
|
|
341
343
|
meta: { resetQueries: [
|
|
344
|
+
["session"],
|
|
342
345
|
["organizations"],
|
|
343
346
|
["projects"],
|
|
344
347
|
["dictionaries"],
|
|
@@ -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 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 });\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']],\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 ['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 ['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 * 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"],"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 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 * 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"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { useQuery } from "@tanstack/react-query";
|
|
|
7
7
|
import configuration from "@intlayer/config/built";
|
|
8
8
|
|
|
9
9
|
//#region src/hooks/useAuth/useSession.ts
|
|
10
|
-
|
|
10
|
+
const useSession = (sessionProp, intlayerConfiguration) => {
|
|
11
11
|
const configuration$1 = useConfiguration();
|
|
12
12
|
const config = intlayerConfiguration ?? configuration$1 ?? configuration;
|
|
13
13
|
const queryClient = useQueryClient();
|
|
@@ -36,7 +36,7 @@ function useSession(sessionProp, intlayerConfiguration) {
|
|
|
36
36
|
revalidateSession: fetchSession,
|
|
37
37
|
setSession
|
|
38
38
|
};
|
|
39
|
-
}
|
|
39
|
+
};
|
|
40
40
|
|
|
41
41
|
//#endregion
|
|
42
42
|
export { useSession };
|
|
@@ -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
|
|
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":";;;;;;;;;AAqBA,MAAa,cACX,aACA,0BACqB;CACrB,MAAMA,kBAAgB,kBAAkB;CACxC,MAAM,SAAS,yBAAyBA,mBAAiBC;CAEzD,MAAM,cAAc,gBAAgB;CAGpC,MAAM,EAAE,MAAM,WAAW,YAAY,SAAS;EAC5C,UAAU,CAAC,UAAU;EACrB,SAAS,YAAY;AAInB,WAFe,MADK,WAAW,OAAO,CACL,YAAY,EAE/B;;EAIhB,WAAW,KAAK;EAChB,QAAQ,MAAS;EAEjB,gBAAgB;EAChB,sBAAsB;EACtB,oBAAoB;EACpB,SAAS,CAAC;EACX,CAAC;CAEF,MAAM,UAAU,SAAS,YAAY,OAAO;CAE5C,MAAM,cAAc,gBAAmC;AACrD,cAAY,aAAa,CAAC,UAAU,EAAE,YAAY;;CAGpD,MAAM,eAAe,YAAoD;AAEvE,UADY,MAAM,SAAS,EAChB;;AAKb,QAAO;EACL;EACA;EACA,mBALwB;EAMxB;EACD"}
|
|
@@ -32,7 +32,7 @@ const useToastEvents = () => {
|
|
|
32
32
|
})()].flat().forEach((err) => {
|
|
33
33
|
const apiError = err?.error ?? err;
|
|
34
34
|
toast({
|
|
35
|
-
title: formatErrorCode(
|
|
35
|
+
title: formatErrorCode(apiError?.title ?? err?.title ?? "Error"),
|
|
36
36
|
description: apiError?.message ?? err?.message ?? String(apiError ?? "An error occurred"),
|
|
37
37
|
variant: "error"
|
|
38
38
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactQueryProvider.mjs","names":[],"sources":["../../../src/providers/ReactQueryProvider.tsx"],"sourcesContent":["'use client';\n\nimport {\n type DefaultOptions,\n MutationCache,\n QueryClient,\n QueryClientProvider,\n type QueryKey,\n type UseMutationOptions,\n} from '@tanstack/react-query';\nimport { type FC, type PropsWithChildren, useRef } from 'react';\nimport { useToast } from '../components/Toaster';\n\nconst defaultQueryOptions: DefaultOptions = {\n queries: {\n retry: 1,\n // Keep data fresh for 30 seconds to avoid unnecessary refetches during navigation\n staleTime: 30 * 1000,\n // Give the cache a little breathing room across route transitions:\n gcTime: 5 * 60 * 1000, // e.g. 5 minutes\n // Only refetch on mount if data is stale (not every single mount)\n refetchOnMount: true,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n },\n mutations: {\n retry: 0,\n },\n};\n\ndeclare module '@tanstack/react-query' {\n interface Register {\n mutationMeta: {\n onSuccess?: UseMutationOptions['onSuccess'];\n onError?: UseMutationOptions['onError'];\n invalidateQueries?: QueryKey[];\n resetQueries?: QueryKey[];\n };\n }\n}\n\nconst formatErrorCode = (errorCode: string) => errorCode.split('_').join(' ');\n\n/**\n * Hook to handle error logging and toast notifications\n */\nconst useToastEvents = () => {\n const { toast } = useToast();\n\n const onError: MutationCache['config']['onError'] = (error: any) => {\n const parsed = (() => {\n try {\n if (typeof error === 'string') return JSON.parse(error);\n } catch (_) {}\n return error;\n })();\n\n [parsed].flat().forEach((err: any) => {\n // Check for nested error object (standard in your API responses: { statusCode, error: { ... } })\n const apiError = err?.error ?? err;\n\n toast({\n title: formatErrorCode(\n
|
|
1
|
+
{"version":3,"file":"ReactQueryProvider.mjs","names":[],"sources":["../../../src/providers/ReactQueryProvider.tsx"],"sourcesContent":["'use client';\n\nimport {\n type DefaultOptions,\n MutationCache,\n QueryClient,\n QueryClientProvider,\n type QueryKey,\n type UseMutationOptions,\n} from '@tanstack/react-query';\nimport { type FC, type PropsWithChildren, useRef } from 'react';\nimport { useToast } from '../components/Toaster';\n\nconst defaultQueryOptions: DefaultOptions = {\n queries: {\n retry: 1,\n // Keep data fresh for 30 seconds to avoid unnecessary refetches during navigation\n staleTime: 30 * 1000,\n // Give the cache a little breathing room across route transitions:\n gcTime: 5 * 60 * 1000, // e.g. 5 minutes\n // Only refetch on mount if data is stale (not every single mount)\n refetchOnMount: true,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n },\n mutations: {\n retry: 0,\n },\n};\n\nconst SHOW_ERROR_CODE = false;\n\ndeclare module '@tanstack/react-query' {\n interface Register {\n mutationMeta: {\n onSuccess?: UseMutationOptions['onSuccess'];\n onError?: UseMutationOptions['onError'];\n invalidateQueries?: QueryKey[];\n resetQueries?: QueryKey[];\n };\n }\n}\n\nconst formatErrorCode = (errorCode: string) => errorCode.split('_').join(' ');\n\n/**\n * Hook to handle error logging and toast notifications\n */\nconst useToastEvents = () => {\n const { toast } = useToast();\n\n const onError: MutationCache['config']['onError'] = (error: any) => {\n const parsed = (() => {\n try {\n if (typeof error === 'string') return JSON.parse(error);\n } catch (_) {}\n return error;\n })();\n\n [parsed].flat().forEach((err: any) => {\n // Check for nested error object (standard in your API responses: { statusCode, error: { ... } })\n const apiError = err?.error ?? err;\n\n toast({\n title: formatErrorCode(\n SHOW_ERROR_CODE\n ? (apiError?.code ?? err?.code)\n : (apiError?.title ?? err?.title ?? 'Error')\n ),\n description:\n apiError?.message ??\n err?.message ??\n String(apiError ?? 'An error occurred'),\n variant: 'error',\n });\n });\n };\n\n const onSuccess: MutationCache['config']['onSuccess'] = (data: any) => {\n if (data?.error) {\n toast({\n title: formatErrorCode(data.error.title ?? data.error.code ?? 'Error'),\n description:\n data.error.message ?? data.error.code ?? 'An error occurred',\n variant: 'error',\n });\n }\n\n if (data?.message) {\n toast({\n title: data.message,\n description: data.description,\n variant: 'success',\n });\n }\n };\n\n return {\n onError,\n onSuccess,\n };\n};\n\nexport const ReactQueryProvider: FC<PropsWithChildren> = ({ children }) => {\n const { onError, onSuccess } = useToastEvents();\n const clientRef = useRef<QueryClient>(null);\n\n if (!clientRef.current) {\n const mutationCache = new MutationCache({\n onSuccess,\n onError,\n onSettled: (_data, _error, _variables, _context, mutation) => {\n if (mutation.meta?.invalidateQueries) {\n mutation.meta.invalidateQueries.forEach((queryKey) => {\n queryClient.invalidateQueries({\n queryKey,\n });\n });\n }\n\n if (mutation.meta?.resetQueries) {\n mutation.meta.resetQueries.forEach((queryKey) => {\n queryClient.resetQueries({\n queryKey,\n });\n });\n }\n },\n });\n\n const queryClient = new QueryClient({\n defaultOptions: defaultQueryOptions,\n mutationCache,\n });\n clientRef.current = queryClient;\n }\n\n return (\n <QueryClientProvider client={clientRef.current}>\n {children}\n </QueryClientProvider>\n );\n};\n"],"mappings":";;;;;;;;AAaA,MAAM,sBAAsC;CAC1C,SAAS;EACP,OAAO;EAEP,WAAW,KAAK;EAEhB,QAAQ,MAAS;EAEjB,gBAAgB;EAChB,sBAAsB;EACtB,oBAAoB;EACrB;CACD,WAAW,EACT,OAAO,GACR;CACF;AAeD,MAAM,mBAAmB,cAAsB,UAAU,MAAM,IAAI,CAAC,KAAK,IAAI;;;;AAK7E,MAAM,uBAAuB;CAC3B,MAAM,EAAE,UAAU,UAAU;CAE5B,MAAM,WAA+C,UAAe;AAQlE,UAPsB;AACpB,OAAI;AACF,QAAI,OAAO,UAAU,SAAU,QAAO,KAAK,MAAM,MAAM;YAChD,GAAG;AACZ,UAAO;MACL,CAEI,CAAC,MAAM,CAAC,SAAS,QAAa;GAEpC,MAAM,WAAW,KAAK,SAAS;AAE/B,SAAM;IACJ,OAAO,gBAGA,UAAU,SAAS,KAAK,SAAS,QACvC;IACD,aACE,UAAU,WACV,KAAK,WACL,OAAO,YAAY,oBAAoB;IACzC,SAAS;IACV,CAAC;IACF;;CAGJ,MAAM,aAAmD,SAAc;AACrE,MAAI,MAAM,MACR,OAAM;GACJ,OAAO,gBAAgB,KAAK,MAAM,SAAS,KAAK,MAAM,QAAQ,QAAQ;GACtE,aACE,KAAK,MAAM,WAAW,KAAK,MAAM,QAAQ;GAC3C,SAAS;GACV,CAAC;AAGJ,MAAI,MAAM,QACR,OAAM;GACJ,OAAO,KAAK;GACZ,aAAa,KAAK;GAClB,SAAS;GACV,CAAC;;AAIN,QAAO;EACL;EACA;EACD;;AAGH,MAAa,sBAA6C,EAAE,eAAe;CACzE,MAAM,EAAE,SAAS,cAAc,gBAAgB;CAC/C,MAAM,YAAY,OAAoB,KAAK;AAE3C,KAAI,CAAC,UAAU,SAAS;EAuBtB,MAAM,cAAc,IAAI,YAAY;GAClC,gBAAgB;GAChB,eAxBoB,IAAI,cAAc;IACtC;IACA;IACA,YAAY,OAAO,QAAQ,YAAY,UAAU,aAAa;AAC5D,SAAI,SAAS,MAAM,kBACjB,UAAS,KAAK,kBAAkB,SAAS,aAAa;AACpD,kBAAY,kBAAkB,EAC5B,UACD,CAAC;OACF;AAGJ,SAAI,SAAS,MAAM,aACjB,UAAS,KAAK,aAAa,SAAS,aAAa;AAC/C,kBAAY,aAAa,EACvB,UACD,CAAC;OACF;;IAGP,CAAC;GAKD,CAAC;AACF,YAAU,UAAU;;AAGtB,QACE,oBAAC;EAAoB,QAAQ,UAAU;EACpC;GACmB"}
|
|
@@ -60,10 +60,10 @@ declare enum ButtonTextAlign {
|
|
|
60
60
|
* Enhanced button variants with improved accessibility and focus states
|
|
61
61
|
*/
|
|
62
62
|
declare const buttonVariants: (props?: {
|
|
63
|
-
size?: "
|
|
63
|
+
size?: "sm" | "md" | "lg" | "xl" | "icon-sm" | "icon-md" | "icon-lg" | "icon-xl";
|
|
64
64
|
color?: "primary" | "secondary" | "destructive" | "neutral" | "card" | "light" | "dark" | "text" | "current" | "text-inverse" | "error" | "success" | "custom";
|
|
65
|
-
roundedSize?: "
|
|
66
|
-
variant?: "
|
|
65
|
+
roundedSize?: "sm" | "md" | "lg" | "xl" | "none" | "2xl" | "3xl" | "4xl" | "5xl" | "full";
|
|
66
|
+
variant?: "none" | "default" | "outline" | "link" | "invisible-link" | "hoverable" | "fade" | "input";
|
|
67
67
|
textAlign?: "left" | "center" | "right";
|
|
68
68
|
isFullWidth?: boolean;
|
|
69
69
|
} & class_variance_authority_types0.ClassProp) => string;
|
|
@@ -5,7 +5,7 @@ import { VariantProps } from "class-variance-authority";
|
|
|
5
5
|
//#region src/components/CollapsibleTable/CollapsibleTable.d.ts
|
|
6
6
|
declare const collapsibleTableVariants: (props?: {
|
|
7
7
|
size?: "sm" | "md" | "lg" | "xl" | "full";
|
|
8
|
-
variant?: "
|
|
8
|
+
variant?: "dark" | "default" | "ghost" | "outlined";
|
|
9
9
|
spacing?: "sm" | "md" | "lg" | "none" | "auto";
|
|
10
10
|
} & class_variance_authority_types0.ClassProp) => string;
|
|
11
11
|
interface CollapsibleTableProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'>, VariantProps<typeof collapsibleTableVariants> {
|
|
@@ -29,7 +29,7 @@ declare const Command: {
|
|
|
29
29
|
ref?: React.Ref<HTMLInputElement>;
|
|
30
30
|
} & {
|
|
31
31
|
asChild?: boolean;
|
|
32
|
-
}, "key" | keyof react.InputHTMLAttributes<HTMLInputElement> | "asChild">, "
|
|
32
|
+
}, "key" | keyof react.InputHTMLAttributes<HTMLInputElement> | "asChild">, "onChange" | "value" | "type"> & {
|
|
33
33
|
value?: string;
|
|
34
34
|
onValueChange?: (search: string) => void;
|
|
35
35
|
} & react.RefAttributes<HTMLInputElement>>;
|
|
@@ -73,7 +73,7 @@ declare const Command: {
|
|
|
73
73
|
ref?: React.Ref<HTMLDivElement>;
|
|
74
74
|
} & {
|
|
75
75
|
asChild?: boolean;
|
|
76
|
-
}, "key" | keyof HTMLAttributes<HTMLDivElement> | "asChild">, "disabled" | "
|
|
76
|
+
}, "key" | keyof HTMLAttributes<HTMLDivElement> | "asChild">, "disabled" | "onSelect" | "value"> & {
|
|
77
77
|
disabled?: boolean;
|
|
78
78
|
onSelect?: (value: string) => void;
|
|
79
79
|
value?: string;
|
|
@@ -7,7 +7,7 @@ declare const checkboxVariants: (props?: {
|
|
|
7
7
|
variant?: "default";
|
|
8
8
|
size?: "sm" | "md" | "lg";
|
|
9
9
|
color?: "primary" | "secondary" | "destructive" | "neutral" | "light" | "dark" | "text" | "error" | "success" | "custom";
|
|
10
|
-
validationStyleEnabled?: "
|
|
10
|
+
validationStyleEnabled?: "enabled" | "disabled";
|
|
11
11
|
} & class_variance_authority_types0.ClassProp) => string;
|
|
12
12
|
declare enum CheckboxSize {
|
|
13
13
|
SM = "sm",
|
|
@@ -6,7 +6,7 @@ import { VariantProps } from "class-variance-authority";
|
|
|
6
6
|
declare const inputVariants: (props?: {
|
|
7
7
|
variant?: "default" | "invisible";
|
|
8
8
|
size?: "sm" | "md" | "lg";
|
|
9
|
-
validationStyleEnabled?: "
|
|
9
|
+
validationStyleEnabled?: "enabled" | "disabled";
|
|
10
10
|
} & class_variance_authority_types0.ClassProp) => string;
|
|
11
11
|
declare enum InputVariant {
|
|
12
12
|
DEFAULT = "default",
|
|
@@ -54,9 +54,9 @@ declare enum LinkUnderlined {
|
|
|
54
54
|
}
|
|
55
55
|
declare const linkVariants: (props?: {
|
|
56
56
|
variant?: "default" | "invisible-link" | "hoverable" | "button" | "button-outlined";
|
|
57
|
-
roundedSize?: "
|
|
57
|
+
roundedSize?: "sm" | "md" | "lg" | "xl" | "none" | "2xl" | "3xl" | "full";
|
|
58
58
|
color?: "primary" | "secondary" | "destructive" | "neutral" | "light" | "dark" | "text" | "text-inverse" | "error" | "success" | "custom";
|
|
59
|
-
size?: "
|
|
59
|
+
size?: "sm" | "md" | "lg" | "xl" | "custom";
|
|
60
60
|
underlined?: boolean | LinkUnderlined.DEFAULT;
|
|
61
61
|
} & class_variance_authority_types0.ClassProp) => string;
|
|
62
62
|
type LinkProps = DetailedHTMLProps<AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement> & VariantProps<typeof linkVariants> & {
|
|
@@ -6,7 +6,7 @@ import { VariantProps } from "class-variance-authority";
|
|
|
6
6
|
declare const paginationVariants: (props?: {
|
|
7
7
|
size?: "sm" | "md" | "lg";
|
|
8
8
|
color?: "primary" | "secondary" | "destructive" | "neutral" | "text";
|
|
9
|
-
variant?: "default" | "
|
|
9
|
+
variant?: "default" | "bordered" | "ghost";
|
|
10
10
|
} & class_variance_authority_types0.ClassProp) => string;
|
|
11
11
|
declare enum PaginationSize {
|
|
12
12
|
SM = "sm",
|
|
@@ -50,6 +50,11 @@ type RightDrawerProps = {
|
|
|
50
50
|
* Callback function triggered when the drawer is closed
|
|
51
51
|
*/
|
|
52
52
|
onClose?: () => void;
|
|
53
|
+
/**
|
|
54
|
+
* Optional container to render the drawer into.
|
|
55
|
+
* If not provided, it will be rendered into the body.
|
|
56
|
+
*/
|
|
57
|
+
container?: HTMLElement;
|
|
53
58
|
};
|
|
54
59
|
declare const RightDrawer: FC<RightDrawerProps>;
|
|
55
60
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RightDrawer.d.ts","names":[],"sources":["../../../../src/components/RightDrawer/RightDrawer.tsx"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"RightDrawer.d.ts","names":[],"sources":["../../../../src/components/RightDrawer/RightDrawer.tsx"],"mappings":";;;;;AAae;;;KAgBV,eAAA;EAIC,kEAFJ,MAAA,cAUmB;EARnB,IAAA;AAAA;;;;;;KAQG,gBAAA;EAiDoB;;;EA7CvB,KAAA,GAAQ,SAAA;EAQR;;;EAHA,UAAA,UAaA;EAVA,QAAA,GAAW,SAAA;EAgBX;;;EAXA,MAAA,GAAS,SAAA;EA0BT;;;EArBA,MAAA,GAAS,SAAA;EA2Bc;AAGzB;;;EAxBE,mBAAA;EAwB2C;;;EAnB3C,UAAA,GAAa,eAAA;;;;EAKb,MAAA;;;;EAKA,OAAA;;;;;EAMA,SAAA,GAAY,WAAA;AAAA;AAAA,cAGD,WAAA,EAAa,EAAA,CAAG,gBAAA"}
|
|
@@ -6,7 +6,7 @@ import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
|
6
6
|
//#region src/components/Tab/Tab.d.ts
|
|
7
7
|
declare const tabContainerVariant: (props?: {
|
|
8
8
|
background?: "with" | "without";
|
|
9
|
-
variant?: "default" | "
|
|
9
|
+
variant?: "default" | "bordered" | "ghost";
|
|
10
10
|
} & class_variance_authority_types0.ClassProp) => string;
|
|
11
11
|
type TabProps = HTMLAttributes<HTMLDivElement> & VariantProps<typeof tabContainerVariant> & {
|
|
12
12
|
defaultTab?: string;
|
|
@@ -185,9 +185,9 @@ declare enum TagBackground {
|
|
|
185
185
|
WITH = "with"
|
|
186
186
|
}
|
|
187
187
|
declare const containerVariants: (props?: {
|
|
188
|
-
roundedSize?: "
|
|
188
|
+
roundedSize?: "sm" | "md" | "lg" | "xl" | "none" | "2xl" | "3xl" | "full";
|
|
189
189
|
color?: "primary" | "neutral" | "text" | "error" | "success" | "warning" | "blue" | "yellow" | "green" | "red" | "orange" | "purple" | "pink" | "brown" | "gray" | "black" | "white";
|
|
190
|
-
size?: "
|
|
190
|
+
size?: "sm" | "md" | "lg" | "xl" | "xs";
|
|
191
191
|
border?: "none" | "with";
|
|
192
192
|
background?: "none" | "with";
|
|
193
193
|
} & class_variance_authority_types0.ClassProp) => string;
|
|
@@ -25,7 +25,7 @@ declare const ToastViewport: FC<ComponentProps<typeof ToastPrimitives.Viewport>>
|
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
27
|
declare const toastVariants: (props?: {
|
|
28
|
-
variant?: "
|
|
28
|
+
variant?: "error" | "success" | "default";
|
|
29
29
|
} & class_variance_authority_types0.ClassProp) => string;
|
|
30
30
|
/**
|
|
31
31
|
* Toast Component
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactQuery.d.ts","names":[],"sources":["../../../src/hooks/reactQuery.ts"],"mappings":";;;;cAyGa,WAAA,GACX,OAAA,EAAS,eAAA;EACP,WAAA;EACA,cAAA;EACA,mBAAA;AAAA,MACD,mBAAA,CAAA,KAAA,EAAA,MAAA;;;;cAuBU,QAAA;AAAA,cAqBA,uBAAA;AAAA,cAUA,WAAA;AAAA,cAaA,SAAA;AAAA,cAmBA,iBAAA;AAAA,cAUA,mBAAA;AAAA,cAUA,gBAAA;AAAA,cAUA,cAAA;AAAA,cAUA,mBAAA;AAAA,cAUA,kBAAA;AAAA,cASA,mBAAA;AAAA,cASA,aAAA;AAAA,cASA,mBAAA;AAAA,cASA,aAAA;AAAA,cASA,gBAAA;AAAA,cASA,gBAAA;AAAA,cASA,eAAA,QAAe,mBAAA,CAAA,KAAA,EAAA,MAAA;AAAA,cAQf,kBAAA;AAAA,cAQA,cAAA;AAAA,cAaA,YAAA;AAAA,cASA,mBAAA,QAAmB,mBAAA,CAAA,KAAA,EAAA,MAAA;AAAA,cAQnB,oBAAA;AA/Lb;;;AAAA,cAgNa,WAAA,GACX,OAAA,GAAU,cAAA,EACV,OAAA,GAAU,OAAA,CAAQ,eAAA,MAAgB,mBAAA,CAAA,KAAA,EAAA,MAAA;AAAA,cAavB,cAAA,GAAkB,MAAA,aAAc,mBAAA,CAAA,KAAA,EAAA,MAAA;AAAA,cAUhC,aAAA;AAAA,cASA,aAAA;AAAA,cASA,aAAA;;;AA3Nb;cA2Oa,mBAAA,GAAuB,OAAA,GAAU,sBAAA,KAAsB,mBAAA,CAAA,KAAA,EAAA,MAAA;AAAA,cAYvD,kBAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"reactQuery.d.ts","names":[],"sources":["../../../src/hooks/reactQuery.ts"],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ type UseSessionResult = {
|
|
|
8
8
|
revalidateSession: () => Promise<SessionAPI | null | undefined>; /** Manually set the session cache. */
|
|
9
9
|
setSession: (nextSession: SessionAPI | null) => void;
|
|
10
10
|
};
|
|
11
|
-
declare
|
|
11
|
+
declare const useSession: (sessionProp?: SessionAPI | null, intlayerConfiguration?: IntlayerConfig) => UseSessionResult;
|
|
12
12
|
//#endregion
|
|
13
13
|
export { UseSessionResult, useSession };
|
|
14
14
|
//# sourceMappingURL=useSession.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSession.d.ts","names":[],"sources":["../../../../src/hooks/useAuth/useSession.ts"],"mappings":";;;;KAUY,gBAAA;iHAEV,OAAA,EAAS,UAAA,qBAFiB;EAI1B,YAAA,QAAoB,OAAA,CAAQ,UAAA,sBAFnB;EAIT,iBAAA,QAAyB,OAAA,CAAQ,UAAA,sBAFb;EAIpB,UAAA,GAAa,WAAA,EAAa,UAAA;AAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"useSession.d.ts","names":[],"sources":["../../../../src/hooks/useAuth/useSession.ts"],"mappings":";;;;KAUY,gBAAA;iHAEV,OAAA,EAAS,UAAA,qBAFiB;EAI1B,YAAA,QAAoB,OAAA,CAAQ,UAAA,sBAFnB;EAIT,iBAAA,QAAyB,OAAA,CAAQ,UAAA,sBAFb;EAIpB,UAAA,GAAa,WAAA,EAAa,UAAA;AAAA;AAAA,cAGf,UAAA,GACX,WAAA,GAAc,UAAA,SACd,qBAAA,GAAwB,cAAA,KACvB,gBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactQueryProvider.d.ts","names":[],"sources":["../../../src/providers/ReactQueryProvider.tsx"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"ReactQueryProvider.d.ts","names":[],"sources":["../../../src/providers/ReactQueryProvider.tsx"],"mappings":";;;;;YAiCY,QAAA;IACR,YAAA;MACE,SAAA,GAAY,kBAAA;MACZ,OAAA,GAAU,kBAAA;MACV,iBAAA,GAAoB,QAAA;MACpB,YAAA,GAAe,QAAA;IAAA;EAAA;AAAA;AAAA,cAiER,kBAAA,EAAoB,EAAA,CAAG,iBAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intlayer/design-system",
|
|
3
|
-
"version": "8.1.
|
|
3
|
+
"version": "8.1.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Intlayer design system, including UI components used in the Intlayer editor, website, and visual editor/CMS.",
|
|
6
6
|
"keywords": [
|
|
@@ -105,12 +105,12 @@
|
|
|
105
105
|
"dependencies": {
|
|
106
106
|
"@better-auth/passkey": "1.4.18",
|
|
107
107
|
"@better-auth/sso": "1.4.18",
|
|
108
|
-
"@intlayer/api": "8.1.
|
|
109
|
-
"@intlayer/config": "8.1.
|
|
110
|
-
"@intlayer/core": "8.1.
|
|
111
|
-
"@intlayer/dictionaries-entry": "8.1.
|
|
112
|
-
"@intlayer/editor-react": "8.1.
|
|
113
|
-
"@intlayer/types": "8.1.
|
|
108
|
+
"@intlayer/api": "8.1.2",
|
|
109
|
+
"@intlayer/config": "8.1.2",
|
|
110
|
+
"@intlayer/core": "8.1.2",
|
|
111
|
+
"@intlayer/dictionaries-entry": "8.1.2",
|
|
112
|
+
"@intlayer/editor-react": "8.1.2",
|
|
113
|
+
"@intlayer/types": "8.1.2",
|
|
114
114
|
"@radix-ui/react-dialog": "1.1.15",
|
|
115
115
|
"@radix-ui/react-select": "2.2.6",
|
|
116
116
|
"@radix-ui/react-slot": "1.2.4",
|
|
@@ -119,12 +119,12 @@
|
|
|
119
119
|
"bun": "1.3.2",
|
|
120
120
|
"class-variance-authority": "0.7.1",
|
|
121
121
|
"cmdk": "1.1.1",
|
|
122
|
-
"react-intlayer": "8.1.
|
|
122
|
+
"react-intlayer": "8.1.2",
|
|
123
123
|
"rollup-preserve-directives": "1.1.3",
|
|
124
124
|
"zod": "4.3.6"
|
|
125
125
|
},
|
|
126
126
|
"devDependencies": {
|
|
127
|
-
"@intlayer/backend": "8.1.
|
|
127
|
+
"@intlayer/backend": "8.1.2",
|
|
128
128
|
"@shikijs/transformers": "3.22.0",
|
|
129
129
|
"@storybook/addon-a11y": "8.6.14",
|
|
130
130
|
"@storybook/addon-essentials": "8.6.14",
|
|
@@ -154,14 +154,14 @@
|
|
|
154
154
|
"@utils/ts-config": "1.0.4",
|
|
155
155
|
"@utils/ts-config-types": "1.0.4",
|
|
156
156
|
"fast-glob": "3.3.3",
|
|
157
|
-
"intlayer": "8.1.
|
|
158
|
-
"rimraf": "6.1.
|
|
157
|
+
"intlayer": "8.1.2",
|
|
158
|
+
"rimraf": "6.1.3",
|
|
159
159
|
"shiki": "3.22.0",
|
|
160
160
|
"storybook": "8.6.14",
|
|
161
161
|
"tsdown": "0.20.3",
|
|
162
162
|
"typescript": "5.9.3",
|
|
163
163
|
"vite": "7.3.1",
|
|
164
|
-
"vite-intlayer": "8.1.
|
|
164
|
+
"vite-intlayer": "8.1.2",
|
|
165
165
|
"vite-plugin-dts": "4.5.4",
|
|
166
166
|
"vite-tsconfig-paths": "6.1.1",
|
|
167
167
|
"vitest": "4.0.18"
|
|
@@ -169,7 +169,7 @@
|
|
|
169
169
|
"peerDependencies": {
|
|
170
170
|
"@better-fetch/fetch": "1.1.21",
|
|
171
171
|
"@hookform/resolvers": "5.2.2",
|
|
172
|
-
"@intlayer/backend": "8.1.
|
|
172
|
+
"@intlayer/backend": "8.1.2",
|
|
173
173
|
"@monaco-editor/react": "4.7.0",
|
|
174
174
|
"@shikijs/transformers": "3.22.0",
|
|
175
175
|
"@tanstack/react-query": "5.90.21",
|
|
@@ -177,14 +177,14 @@
|
|
|
177
177
|
"clsx": "2.1.1",
|
|
178
178
|
"framer-motion": "12.34.0",
|
|
179
179
|
"fuse.js": "7.1.0",
|
|
180
|
-
"intlayer": "8.1.
|
|
181
|
-
"lucide-react": "0.
|
|
180
|
+
"intlayer": "8.1.2",
|
|
181
|
+
"lucide-react": "0.566.0",
|
|
182
182
|
"react": ">=16.0.0",
|
|
183
183
|
"react-dom": ">=16.0.0",
|
|
184
184
|
"react-hook-form": "7.71.1",
|
|
185
|
-
"react-intlayer": "8.1.
|
|
185
|
+
"react-intlayer": "8.1.2",
|
|
186
186
|
"shiki": "3.22.0",
|
|
187
|
-
"tailwind-merge": "3.4.
|
|
187
|
+
"tailwind-merge": "3.4.1",
|
|
188
188
|
"tailwindcss": "4.1.18"
|
|
189
189
|
},
|
|
190
190
|
"peerDependenciesMeta": {
|