@intlayer/design-system 7.5.0 → 7.5.2-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/components/Command/index.mjs +1 -1
- package/dist/esm/components/Command/index.mjs.map +1 -1
- package/dist/esm/components/Form/FormBase.mjs +1 -1
- package/dist/esm/components/Form/FormBase.mjs.map +1 -1
- package/dist/esm/components/SwitchSelector/index.mjs +26 -15
- package/dist/esm/components/SwitchSelector/index.mjs.map +1 -1
- package/dist/esm/hooks/index.mjs +2 -2
- package/dist/esm/hooks/reactQuery.mjs +30 -1
- package/dist/esm/hooks/reactQuery.mjs.map +1 -1
- package/dist/esm/hooks/usePersistedStore.mjs +14 -5
- package/dist/esm/hooks/usePersistedStore.mjs.map +1 -1
- package/dist/esm/libs/auth.mjs +10 -2
- package/dist/esm/libs/auth.mjs.map +1 -1
- package/dist/types/components/Badge/index.d.ts +2 -2
- package/dist/types/components/Breadcrumb/breadcrumb.content.d.ts +3 -3
- package/dist/types/components/Breadcrumb/breadcrumb.content.d.ts.map +1 -1
- package/dist/types/components/Breadcrumb/index.d.ts +2 -2
- package/dist/types/components/Breadcrumb/index.d.ts.map +1 -1
- package/dist/types/components/Browser/Browser.content.d.ts +11 -11
- package/dist/types/components/Browser/Browser.content.d.ts.map +1 -1
- package/dist/types/components/Button/Button.d.ts +6 -6
- package/dist/types/components/Button/Button.d.ts.map +1 -1
- package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts +4 -4
- package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts.map +1 -1
- package/dist/types/components/Command/index.d.ts +16 -16
- package/dist/types/components/Command/index.d.ts.map +1 -1
- package/dist/types/components/Container/index.d.ts +9 -9
- package/dist/types/components/Container/index.d.ts.map +1 -1
- package/dist/types/components/CopyButton/CopyButton.content.d.ts +3 -3
- package/dist/types/components/CopyButton/CopyButton.content.d.ts.map +1 -1
- package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts +25 -25
- package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts +9 -9
- package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts +33 -33
- package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts +25 -25
- package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts.map +1 -1
- package/dist/types/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts +25 -25
- package/dist/types/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +33 -33
- package/dist/types/components/DictionaryFieldEditor/StructureView/structureView.content.d.ts +9 -9
- package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts +7 -7
- package/dist/types/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts +5 -5
- package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts +31 -31
- package/dist/types/components/ExpandCollapse/expandCollapse.content.d.ts +3 -3
- package/dist/types/components/Form/FormBase.d.ts +2 -2
- package/dist/types/components/Form/FormBase.d.ts.map +1 -1
- package/dist/types/components/Form/FormField.d.ts +2 -2
- package/dist/types/components/Form/FormItem.d.ts +2 -2
- package/dist/types/components/Form/elements/EditableFieldInputElement.d.ts +2 -2
- package/dist/types/components/Form/elements/EditableFieldInputElement.d.ts.map +1 -1
- package/dist/types/components/Form/elements/EditableFieldTextAreaElement.d.ts +2 -2
- package/dist/types/components/Form/elements/EditableFieldTextAreaElement.d.ts.map +1 -1
- package/dist/types/components/Form/elements/FormElement.d.ts +2 -2
- package/dist/types/components/Form/elements/FormElement.d.ts.map +1 -1
- package/dist/types/components/Form/elements/MultiselectElement.d.ts +2 -2
- package/dist/types/components/Form/elements/MultiselectElement.d.ts.map +1 -1
- package/dist/types/components/Form/elements/OTPElement.d.ts +2 -2
- package/dist/types/components/Form/elements/OTPElement.d.ts.map +1 -1
- package/dist/types/components/Form/elements/SelectElement.d.ts +2 -2
- package/dist/types/components/Form/elements/SwitchSelectorElement.d.ts +2 -2
- package/dist/types/components/Form/elements/SwitchSelectorElement.d.ts.map +1 -1
- package/dist/types/components/IDE/CodeContext.d.ts +2 -2
- package/dist/types/components/IDE/FileTree.d.ts.map +1 -1
- package/dist/types/components/IDE/code.content.d.ts +5 -5
- package/dist/types/components/IDE/code.content.d.ts.map +1 -1
- package/dist/types/components/IDE/copyCode.content.d.ts +5 -5
- package/dist/types/components/IDE/copyCode.content.d.ts.map +1 -1
- package/dist/types/components/IDE/selectors.content.d.ts +7 -7
- package/dist/types/components/Input/Checkbox.d.ts +5 -5
- package/dist/types/components/Input/Checkbox.d.ts.map +1 -1
- package/dist/types/components/Input/Input.d.ts +3 -3
- package/dist/types/components/Input/Input.d.ts.map +1 -1
- package/dist/types/components/Input/OTPInput.d.ts +7 -7
- package/dist/types/components/Input/OTPInput.d.ts.map +1 -1
- package/dist/types/components/Input/SearchInput.d.ts +2 -2
- package/dist/types/components/Link/Link.d.ts +5 -5
- package/dist/types/components/Loader/index.content.d.ts +3 -3
- package/dist/types/components/Loader/index.content.d.ts.map +1 -1
- package/dist/types/components/Loader/spinner.d.ts +2 -2
- package/dist/types/components/Loader/spinner.d.ts.map +1 -1
- package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts +17 -17
- package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts.map +1 -1
- package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts +13 -13
- package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts.map +1 -1
- package/dist/types/components/MaxWidthSmoother/index.d.ts +2 -2
- package/dist/types/components/MaxWidthSmoother/index.d.ts.map +1 -1
- package/dist/types/components/Navbar/Burger.d.ts +2 -2
- package/dist/types/components/Navbar/DesktopNavbar.d.ts +2 -2
- package/dist/types/components/Navbar/index.d.ts +2 -2
- package/dist/types/components/Pagination/Pagination.d.ts +5 -5
- package/dist/types/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/types/components/Pagination/pagination.content.d.ts +11 -11
- package/dist/types/components/RightDrawer/useRightDrawerStore.d.ts +2 -2
- package/dist/types/components/Select/Select.d.ts +3 -3
- package/dist/types/components/Select/Select.d.ts.map +1 -1
- package/dist/types/components/SocialNetworks/index.d.ts +2 -2
- package/dist/types/components/SwitchSelector/index.d.ts +11 -8
- package/dist/types/components/SwitchSelector/index.d.ts.map +1 -1
- package/dist/types/components/Tab/Tab.d.ts +6 -6
- package/dist/types/components/Tab/TabContext.d.ts +2 -2
- package/dist/types/components/Tab/TabContext.d.ts.map +1 -1
- package/dist/types/components/TabSelector/TabSelector.d.ts +5 -5
- package/dist/types/components/TabSelector/TabSelector.d.ts.map +1 -1
- package/dist/types/components/Table/table.content.d.ts +3 -3
- package/dist/types/components/Tag/index.d.ts +5 -5
- package/dist/types/components/Terminal/terminal.content.d.ts +5 -5
- package/dist/types/components/Terminal/terminal.content.d.ts.map +1 -1
- package/dist/types/components/Toaster/Toast.d.ts +2 -2
- package/dist/types/components/Toaster/Toast.d.ts.map +1 -1
- package/dist/types/components/Toaster/Toaster.d.ts +2 -2
- package/dist/types/components/Toaster/Toaster.d.ts.map +1 -1
- package/dist/types/hooks/index.d.ts +2 -2
- package/dist/types/hooks/reactQuery.d.ts +4 -1
- package/dist/types/hooks/reactQuery.d.ts.map +1 -1
- package/dist/types/hooks/useDevice.d.ts.map +1 -1
- package/dist/types/hooks/usePersistedStore.d.ts +1 -1
- package/dist/types/hooks/useScrollBlockage/useScrollBlockageStore.d.ts +2 -2
- package/dist/types/libs/auth.d.ts +7 -2
- package/dist/types/libs/auth.d.ts.map +1 -1
- package/package.json +14 -14
|
@@ -8,7 +8,7 @@ import { Command as Command$1 } from "cmdk";
|
|
|
8
8
|
|
|
9
9
|
//#region src/components/Command/index.tsx
|
|
10
10
|
const CommandRoot = ({ className, ...props }) => /* @__PURE__ */ jsx(Command$1, {
|
|
11
|
-
className: cn("flex
|
|
11
|
+
className: cn("flex flex-col overflow-hidden rounded-md", className),
|
|
12
12
|
...props
|
|
13
13
|
});
|
|
14
14
|
const CommandDialog = ({ children, ...props }) => /* @__PURE__ */ jsx(Dialog, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["CommandRoot: FC<ComponentProps<typeof CommandPrimitive>>","CommandPrimitive","CommandDialog: FC<CommandDialogProps>","CommandInput: FC<ComponentProps<typeof CommandPrimitive.Input>>","CommandList: FC<ComponentProps<typeof CommandPrimitive.List>>","CommandEmpty: FC<ComponentProps<typeof CommandPrimitive.Empty>>","CommandGroup: FC<ComponentProps<typeof CommandPrimitive.Group>>","CommandSeparator: FC<\n ComponentProps<typeof CommandPrimitive.Separator>\n>","CommandItem: FC<ComponentProps<typeof CommandPrimitive.Item>>"],"sources":["../../../../src/components/Command/index.tsx"],"sourcesContent":["/* eslint-disable react/no-unknown-property */\n'use client';\n\nimport {\n Dialog,\n DialogContent,\n type DialogProps,\n} from '@radix-ui/react-dialog';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { Search } from 'lucide-react';\nimport type { ComponentProps, FC, HTMLAttributes } from 'react';\nimport { cn } from '../../utils/cn';\n\nexport const CommandRoot: FC<ComponentProps<typeof CommandPrimitive>> = ({\n className,\n ...props\n}) => (\n <CommandPrimitive\n className={cn(
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["CommandRoot: FC<ComponentProps<typeof CommandPrimitive>>","CommandPrimitive","CommandDialog: FC<CommandDialogProps>","CommandInput: FC<ComponentProps<typeof CommandPrimitive.Input>>","CommandList: FC<ComponentProps<typeof CommandPrimitive.List>>","CommandEmpty: FC<ComponentProps<typeof CommandPrimitive.Empty>>","CommandGroup: FC<ComponentProps<typeof CommandPrimitive.Group>>","CommandSeparator: FC<\n ComponentProps<typeof CommandPrimitive.Separator>\n>","CommandItem: FC<ComponentProps<typeof CommandPrimitive.Item>>"],"sources":["../../../../src/components/Command/index.tsx"],"sourcesContent":["/* eslint-disable react/no-unknown-property */\n'use client';\n\nimport {\n Dialog,\n DialogContent,\n type DialogProps,\n} from '@radix-ui/react-dialog';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { Search } from 'lucide-react';\nimport type { ComponentProps, FC, HTMLAttributes } from 'react';\nimport { cn } from '../../utils/cn';\n\nexport const CommandRoot: FC<ComponentProps<typeof CommandPrimitive>> = ({\n className,\n ...props\n}) => (\n <CommandPrimitive\n className={cn('flex flex-col overflow-hidden rounded-md', className)}\n {...props}\n />\n);\n\ntype CommandDialogProps = DialogProps;\n\nconst CommandDialog: FC<CommandDialogProps> = ({ children, ...props }) => (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0\">\n <CommandRoot className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:size-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]_svg]:size-5\">\n {children}\n </CommandRoot>\n </DialogContent>\n </Dialog>\n);\n\nconst CommandInput: FC<ComponentProps<typeof CommandPrimitive.Input>> = ({\n className,\n ...props\n}) => (\n <div className=\"flex w-full items-center\" cmdk-input-wrapper=\"\">\n <Search className=\"mr-2 size-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n className={cn(\n 'flex w-full rounded-md bg-transparent text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n {...props}\n />\n </div>\n);\n\nconst CommandList: FC<ComponentProps<typeof CommandPrimitive.List>> = ({\n className,\n ...props\n}) => (\n <CommandPrimitive.List\n className={cn('max-h-[300px] overflow-y-auto overflow-x-hidden', className)}\n {...props}\n />\n);\n\nconst CommandEmpty: FC<ComponentProps<typeof CommandPrimitive.Empty>> = (\n props\n) => <CommandPrimitive.Empty className=\"py-6 text-center text-sm\" {...props} />;\n\nconst CommandGroup: FC<ComponentProps<typeof CommandPrimitive.Group>> = ({\n className,\n ...props\n}) => (\n <CommandPrimitive.Group\n className={cn(\n 'overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group-heading]]:text-xs',\n className\n )}\n {...props}\n />\n);\n\nconst CommandSeparator: FC<\n ComponentProps<typeof CommandPrimitive.Separator>\n> = ({ className, ...props }) => (\n <CommandPrimitive.Separator\n className={cn('-mx-1 h-px bg-border', className)}\n {...props}\n />\n);\n\nconst CommandItem: FC<ComponentProps<typeof CommandPrimitive.Item>> = ({\n className,\n ...props\n}) => (\n <CommandPrimitive.Item\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50',\n className\n )}\n {...props}\n />\n);\n\nconst CommandShortcut = ({\n className,\n ...props\n}: HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n 'ml-auto text-muted-foreground text-xs tracking-widest',\n className\n )}\n {...props}\n />\n );\n};\n\n/**\n * Usage example:\n * ```jsx\n * <Command>\n * <Command.Trigger>\n * <Command.Input placeholder=\"Search...\" />\n * </Command.Trigger>\n * <Command.Dialog>\n * <Command.List>\n * <Command.Item>Item 1</Command.Item>\n * <Command.Item>Item 2</Command.Item>\n * <Command.Item>Item 3</Command.Item>\n * </Command.List>\n * </Command.Dialog>\n * </Command>\n * ```\n */\nexport const Command = {\n ...CommandRoot,\n Dialog: CommandDialog,\n Input: CommandInput,\n List: CommandList,\n Empty: CommandEmpty,\n Group: CommandGroup,\n Separator: CommandSeparator,\n Item: CommandItem,\n Shortcut: CommandShortcut,\n};\n"],"mappings":";;;;;;;;;AAaA,MAAaA,eAA4D,EACvE,WACA,GAAG,YAEH,oBAACC;CACC,WAAW,GAAG,4CAA4C,UAAU;CACpE,GAAI;EACJ;AAKJ,MAAMC,iBAAyC,EAAE,UAAU,GAAG,YAC5D,oBAAC;CAAO,GAAI;WACV,oBAAC;EAAc,WAAU;YACvB,oBAAC;GAAY,WAAU;GACpB;IACW;GACA;EACT;AAGX,MAAMC,gBAAmE,EACvE,WACA,GAAG,YAEH,qBAAC;CAAI,WAAU;CAA2B,sBAAmB;YAC3D,oBAAC,UAAO,WAAU,oCAAoC,EACtD,oBAACF,UAAiB;EAChB,WAAW,GACT,kJACA,UACD;EACD,GAAI;GACJ;EACE;AAGR,MAAMG,eAAiE,EACrE,WACA,GAAG,YAEH,oBAACH,UAAiB;CAChB,WAAW,GAAG,mDAAmD,UAAU;CAC3E,GAAI;EACJ;AAGJ,MAAMI,gBACJ,UACG,oBAACJ,UAAiB;CAAM,WAAU;CAA2B,GAAI;EAAS;AAE/E,MAAMK,gBAAmE,EACvE,WACA,GAAG,YAEH,oBAACL,UAAiB;CAChB,WAAW,GACT,0NACA,UACD;CACD,GAAI;EACJ;AAGJ,MAAMM,oBAED,EAAE,WAAW,GAAG,YACnB,oBAACN,UAAiB;CAChB,WAAW,GAAG,wBAAwB,UAAU;CAChD,GAAI;EACJ;AAGJ,MAAMO,eAAiE,EACrE,WACA,GAAG,YAEH,oBAACP,UAAiB;CAChB,WAAW,GACT,2PACA,UACD;CACD,GAAI;EACJ;AAGJ,MAAM,mBAAmB,EACvB,WACA,GAAG,YACkC;AACrC,QACE,oBAAC;EACC,WAAW,GACT,yDACA,UACD;EACD,GAAI;GACJ;;;;;;;;;;;;;;;;;;;AAqBN,MAAa,UAAU;CACrB,GAAG;CACH,QAAQ;CACR,OAAO;CACP,MAAM;CACN,OAAO;CACP,OAAO;CACP,WAAW;CACX,MAAM;CACN,UAAU;CACX"}
|
|
@@ -23,7 +23,7 @@ const Form = ({ schema, onSubmit: onSubmitProp, onSubmitSuccess: onSubmitSuccess
|
|
|
23
23
|
return /* @__PURE__ */ jsx(FormProvider, {
|
|
24
24
|
...props,
|
|
25
25
|
children: /* @__PURE__ */ jsx("form", {
|
|
26
|
-
className: cn("flex
|
|
26
|
+
className: cn("flex flex-col gap-y-6", className),
|
|
27
27
|
onSubmit: props.handleSubmit(onSubmit),
|
|
28
28
|
autoComplete: autoComplete ? "on" : "off",
|
|
29
29
|
noValidate: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormBase.mjs","names":["useFormReactHookForm"],"sources":["../../../../src/components/Form/FormBase.tsx"],"sourcesContent":["'use client';\n\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport type { HTMLAttributes } from 'react';\nimport {\n FormProvider,\n type FormProviderProps,\n type UseFormProps,\n useForm as useFormReactHookForm,\n useFormState,\n} from 'react-hook-form';\nimport type { ZodObject, z } from 'zod/v4';\nimport { cn } from '../../utils/cn';\n\ntype FormProps<T extends ZodObject> = HTMLAttributes<HTMLFormElement> &\n FormProviderProps<z.infer<T>> & {\n schema?: T;\n onSubmit?: (data: z.infer<T>) => void | Promise<void>;\n onSubmitSuccess?: (data: z.infer<T>) => void | Promise<void>;\n onSubmitError?: (error: Error) => void | Promise<void>;\n autoComplete?: boolean;\n };\n\nconst awaitFunction = async (fn: any) => {\n // Check if result is a Promise (Thenable)\n\n if (fn && typeof fn.then === 'function') {\n // It's a Promise, so wait for it to resolve\n return await fn;\n }\n // If not a Promise, it will just execute without awaiting\n return fn;\n};\n\nexport const Form = <T extends ZodObject>({\n schema,\n onSubmit: onSubmitProp,\n onSubmitSuccess: onSubmitSuccessProp,\n onSubmitError: onSubmitErrorProp,\n className,\n children,\n autoComplete,\n ...props\n}: FormProps<T>) => {\n const onSubmit = async (values: z.infer<T>) => {\n const parsedValues = schema?.safeParse(values) ?? {\n success: true,\n data: undefined,\n };\n\n // onSubmitProp?.(values);\n await awaitFunction(onSubmitProp?.(values));\n\n if (parsedValues.success) {\n await awaitFunction(onSubmitSuccessProp?.(parsedValues.data!));\n } else {\n await awaitFunction(\n onSubmitErrorProp?.(\n new Error(\n parsedValues.error.issues.map((error) => error.message).join(', ')\n )\n )\n );\n }\n };\n\n return (\n <FormProvider {...props}>\n <form\n className={cn('flex
|
|
1
|
+
{"version":3,"file":"FormBase.mjs","names":["useFormReactHookForm"],"sources":["../../../../src/components/Form/FormBase.tsx"],"sourcesContent":["'use client';\n\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport type { HTMLAttributes } from 'react';\nimport {\n FormProvider,\n type FormProviderProps,\n type UseFormProps,\n useForm as useFormReactHookForm,\n useFormState,\n} from 'react-hook-form';\nimport type { ZodObject, z } from 'zod/v4';\nimport { cn } from '../../utils/cn';\n\ntype FormProps<T extends ZodObject> = HTMLAttributes<HTMLFormElement> &\n FormProviderProps<z.infer<T>> & {\n schema?: T;\n onSubmit?: (data: z.infer<T>) => void | Promise<void>;\n onSubmitSuccess?: (data: z.infer<T>) => void | Promise<void>;\n onSubmitError?: (error: Error) => void | Promise<void>;\n autoComplete?: boolean;\n };\n\nconst awaitFunction = async (fn: any) => {\n // Check if result is a Promise (Thenable)\n\n if (fn && typeof fn.then === 'function') {\n // It's a Promise, so wait for it to resolve\n return await fn;\n }\n // If not a Promise, it will just execute without awaiting\n return fn;\n};\n\nexport const Form = <T extends ZodObject>({\n schema,\n onSubmit: onSubmitProp,\n onSubmitSuccess: onSubmitSuccessProp,\n onSubmitError: onSubmitErrorProp,\n className,\n children,\n autoComplete,\n ...props\n}: FormProps<T>) => {\n const onSubmit = async (values: z.infer<T>) => {\n const parsedValues = schema?.safeParse(values) ?? {\n success: true,\n data: undefined,\n };\n\n // onSubmitProp?.(values);\n await awaitFunction(onSubmitProp?.(values));\n\n if (parsedValues.success) {\n await awaitFunction(onSubmitSuccessProp?.(parsedValues.data!));\n } else {\n await awaitFunction(\n onSubmitErrorProp?.(\n new Error(\n parsedValues.error.issues.map((error) => error.message).join(', ')\n )\n )\n );\n }\n };\n\n return (\n <FormProvider {...props}>\n <form\n className={cn('flex flex-col gap-y-6', className)}\n onSubmit={props.handleSubmit(onSubmit)}\n autoComplete={autoComplete ? 'on' : 'off'}\n noValidate\n >\n {children}\n </form>\n </FormProvider>\n );\n};\n\nexport const useForm = <T extends ZodObject>(\n schema: T,\n props?: UseFormProps<z.infer<T>>\n) => {\n const form = useFormReactHookForm<z.infer<T>>({\n resolver: zodResolver(schema as any),\n ...props,\n });\n\n const { isSubmitting, isSubmitted, isLoading, isValid } = useFormState({\n control: form.control,\n });\n\n return {\n form,\n isSubmitting,\n isSubmitted,\n isLoading,\n isValid,\n };\n};\n"],"mappings":";;;;;;;;AAuBA,MAAM,gBAAgB,OAAO,OAAY;AAGvC,KAAI,MAAM,OAAO,GAAG,SAAS,WAE3B,QAAO,MAAM;AAGf,QAAO;;AAGT,MAAa,QAA6B,EACxC,QACA,UAAU,cACV,iBAAiB,qBACjB,eAAe,mBACf,WACA,UACA,cACA,GAAG,YACe;CAClB,MAAM,WAAW,OAAO,WAAuB;EAC7C,MAAM,eAAe,QAAQ,UAAU,OAAO,IAAI;GAChD,SAAS;GACT,MAAM;GACP;AAGD,QAAM,cAAc,eAAe,OAAO,CAAC;AAE3C,MAAI,aAAa,QACf,OAAM,cAAc,sBAAsB,aAAa,KAAM,CAAC;MAE9D,OAAM,cACJ,oBACE,IAAI,MACF,aAAa,MAAM,OAAO,KAAK,UAAU,MAAM,QAAQ,CAAC,KAAK,KAAK,CACnE,CACF,CACF;;AAIL,QACE,oBAAC;EAAa,GAAI;YAChB,oBAAC;GACC,WAAW,GAAG,yBAAyB,UAAU;GACjD,UAAU,MAAM,aAAa,SAAS;GACtC,cAAc,eAAe,OAAO;GACpC;GAEC;IACI;GACM;;AAInB,MAAa,WACX,QACA,UACG;CACH,MAAM,OAAOA,UAAiC;EAC5C,UAAU,YAAY,OAAc;EACpC,GAAG;EACJ,CAAC;CAEF,MAAM,EAAE,cAAc,aAAa,WAAW,YAAY,aAAa,EACrE,SAAS,KAAK,SACf,CAAC;AAEF,QAAO;EACL;EACA;EACA;EACA;EACA;EACD"}
|
|
@@ -25,16 +25,25 @@ let SwitchSelectorColor = /* @__PURE__ */ function(SwitchSelectorColor$1) {
|
|
|
25
25
|
return SwitchSelectorColor$1;
|
|
26
26
|
}({});
|
|
27
27
|
const switchSelectorVariant = cva("flex w-fit cursor-pointer flex-row gap-2 rounded-full border-[1.3px] p-[1.5px]", {
|
|
28
|
-
variants: {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
28
|
+
variants: {
|
|
29
|
+
color: {
|
|
30
|
+
[`${SwitchSelectorColor.PRIMARY}`]: "border-primary text-primary",
|
|
31
|
+
[`${SwitchSelectorColor.SECONDARY}`]: "border-secondary text-secondary",
|
|
32
|
+
[`${SwitchSelectorColor.DESTRUCTIVE}`]: "border-destructive bg-destructive text-destructive",
|
|
33
|
+
[`${SwitchSelectorColor.NEUTRAL}`]: "border-neutral text-neutral",
|
|
34
|
+
[`${SwitchSelectorColor.LIGHT}`]: "border-white text-white",
|
|
35
|
+
[`${SwitchSelectorColor.DARK}`]: "border-neutral-800 text-neutral-800",
|
|
36
|
+
[`${SwitchSelectorColor.TEXT}`]: "border-text text-text"
|
|
37
|
+
},
|
|
38
|
+
disabled: {
|
|
39
|
+
true: "cursor-not-allowed opacity-50",
|
|
40
|
+
false: ""
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
defaultVariants: {
|
|
44
|
+
color: `${SwitchSelectorColor.PRIMARY}`,
|
|
45
|
+
disabled: false
|
|
46
|
+
}
|
|
38
47
|
});
|
|
39
48
|
let SwitchSelectorSize = /* @__PURE__ */ function(SwitchSelectorSize$1) {
|
|
40
49
|
SwitchSelectorSize$1["SM"] = "sm";
|
|
@@ -76,7 +85,7 @@ const indicatorVariant = cva("absolute top-0 z-0 h-full w-auto rounded-full tran
|
|
|
76
85
|
* />
|
|
77
86
|
* ```
|
|
78
87
|
*/
|
|
79
|
-
const SwitchSelector = ({ choices = defaultChoices, value, defaultValue, onChange, color = SwitchSelectorColor.PRIMARY, size = SwitchSelectorSize.MD, className, hoverable = true }) => {
|
|
88
|
+
const SwitchSelector = ({ choices = defaultChoices, value, defaultValue, onChange, color = SwitchSelectorColor.PRIMARY, size = SwitchSelectorSize.MD, className, hoverable = true, disabled = false }) => {
|
|
80
89
|
const [valueState, setValue] = useState(value ?? defaultValue ?? choices[0].value);
|
|
81
90
|
const [hoveredIndex, setHoveredIndex] = useState(null);
|
|
82
91
|
const optionsRefs = useRef([]);
|
|
@@ -95,9 +104,11 @@ const SwitchSelector = ({ choices = defaultChoices, value, defaultValue, onChang
|
|
|
95
104
|
return /* @__PURE__ */ jsx("div", {
|
|
96
105
|
className: switchSelectorVariant({
|
|
97
106
|
color,
|
|
107
|
+
disabled,
|
|
98
108
|
className
|
|
99
109
|
}),
|
|
100
110
|
role: "tablist",
|
|
111
|
+
"aria-disabled": disabled ? "true" : void 0,
|
|
101
112
|
children: /* @__PURE__ */ jsxs("div", {
|
|
102
113
|
className: "relative flex size-full flex-row items-center justify-center",
|
|
103
114
|
children: [choices.map((choice, index) => {
|
|
@@ -107,19 +118,19 @@ const SwitchSelector = ({ choices = defaultChoices, value, defaultValue, onChang
|
|
|
107
118
|
const isIndicatorOwner = index === indicatorIndex;
|
|
108
119
|
return /* @__PURE__ */ createElement("button", {
|
|
109
120
|
...buttonProps,
|
|
110
|
-
className: cn(choiceVariant({ size })),
|
|
121
|
+
className: cn(choiceVariant({ size }), disabled && "cursor-not-allowed"),
|
|
111
122
|
key: isKeyOfKey ? value$1 : index,
|
|
112
123
|
role: "tab",
|
|
113
124
|
onClick: () => handleChange(value$1),
|
|
114
125
|
"aria-selected": isSelected ? "true" : void 0,
|
|
115
126
|
"data-indicator": isIndicatorOwner ? "true" : void 0,
|
|
116
|
-
disabled: isSelected,
|
|
127
|
+
disabled: disabled || isSelected,
|
|
117
128
|
tabIndex: isSelected ? 0 : -1,
|
|
118
129
|
ref: (el) => {
|
|
119
130
|
optionsRefs.current[index] = el;
|
|
120
131
|
},
|
|
121
|
-
onMouseEnter: () => setHoveredIndex(index),
|
|
122
|
-
onMouseLeave: () => setHoveredIndex(null)
|
|
132
|
+
onMouseEnter: () => !disabled && setHoveredIndex(index),
|
|
133
|
+
onMouseLeave: () => !disabled && setHoveredIndex(null)
|
|
123
134
|
}, content);
|
|
124
135
|
}), choiceIndicatorPosition && /* @__PURE__ */ jsx("div", {
|
|
125
136
|
className: cn(indicatorVariant({ color })),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["defaultChoices: SwitchSelectorChoices<boolean>","value"],"sources":["../../../../src/components/SwitchSelector/index.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport {\n type HTMLAttributes,\n type ReactNode,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { useItemSelector } from '../../hooks';\nimport { cn } from '../../utils/cn';\n\nexport type SwitchSelectorChoice<T = boolean> = {\n content: ReactNode;\n value: T;\n} & HTMLAttributes<HTMLButtonElement>;\nexport type SwitchSelectorChoices<T> = SwitchSelectorChoice<T>[];\n\nconst defaultChoices: SwitchSelectorChoices<boolean> = [\n { content: 'Off', value: false },\n { content: 'On', value: true },\n];\n\nexport type SwitchSelectorProps<T = boolean> = {\n choices?: SwitchSelectorChoices<T>;\n value?: T;\n defaultValue?: T;\n onChange?: (choice: T) => void;\n className?: string;\n hoverable?: boolean;\n} & VariantProps<typeof switchSelectorVariant> &\n VariantProps<typeof choiceVariant>;\n\nexport enum SwitchSelectorColor {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n DESTRUCTIVE = 'destructive',\n NEUTRAL = 'neutral',\n LIGHT = 'light',\n DARK = 'dark',\n TEXT = 'text',\n}\n\nconst switchSelectorVariant = cva(\n 'flex w-fit cursor-pointer flex-row gap-2 rounded-full border-[1.3px] p-[1.5px]',\n {\n variants: {\n color: {\n [`${SwitchSelectorColor.PRIMARY}`]: 'border-primary text-primary',\n [`${SwitchSelectorColor.SECONDARY}`]: 'border-secondary text-secondary',\n [`${SwitchSelectorColor.DESTRUCTIVE}`]:\n 'border-destructive bg-destructive text-destructive',\n [`${SwitchSelectorColor.NEUTRAL}`]: 'border-neutral text-neutral',\n [`${SwitchSelectorColor.LIGHT}`]: 'border-white text-white',\n [`${SwitchSelectorColor.DARK}`]: 'border-neutral-800 text-neutral-800',\n [`${SwitchSelectorColor.TEXT}`]: 'border-text text-text',\n },\n },\n defaultVariants: {\n color: `${SwitchSelectorColor.PRIMARY}`,\n },\n }\n);\n\nexport enum SwitchSelectorSize {\n SM = 'sm',\n MD = 'md',\n LG = 'lg',\n}\n\nconst choiceVariant = cva(\n 'z-1 w-full flex-1 cursor-pointer font-medium text-sm transition-all duration-300 ease-in-out aria-selected:cursor-default data-[indicator=true]:text-text-opposite motion-reduce:transition-none',\n {\n variants: {\n size: {\n [`${SwitchSelectorSize.SM}`]: 'px-2 py-1 text-xs',\n [`${SwitchSelectorSize.MD}`]: 'p-2 text-sm',\n [`${SwitchSelectorSize.LG}`]: 'p-4 text-base',\n },\n },\n defaultVariants: {\n size: `${SwitchSelectorSize.MD}`,\n },\n }\n);\n\nconst indicatorVariant = cva(\n 'absolute top-0 z-0 h-full w-auto rounded-full transition-[left,width] duration-300 ease-in-out motion-reduce:transition-none',\n {\n variants: {\n color: {\n [`${SwitchSelectorColor.PRIMARY}`]:\n 'bg-primary data-[indicator=true]:text-text',\n [`${SwitchSelectorColor.SECONDARY}`]:\n 'bg-secondary data-[indicator=true]:text-text',\n [`${SwitchSelectorColor.DESTRUCTIVE}`]:\n 'bg-destructive data-[indicator=true]:text-text',\n [`${SwitchSelectorColor.NEUTRAL}`]:\n 'bg-neutral data-[indicator=true]:text-white',\n [`${SwitchSelectorColor.LIGHT}`]:\n 'bg-white data-[indicator=true]:text-black',\n [`${SwitchSelectorColor.DARK}`]:\n 'bg-neutral-800 data-[indicator=true]:text-white',\n [`${SwitchSelectorColor.TEXT}`]:\n 'bg-text data-[indicator=true]:text-text-opposite',\n },\n },\n }\n);\n\n/**\n *\n * Component that allows the user to select one of the provided choices.\n *\n * Example:\n * ```jsx\n * <SwitchSelector\n * choices={[\n * { content: 'Option 1', value: 'option1' },\n * { content: 'Option 2', value: 'option2' },\n * { content: 'Option 3', value: 'option3' },\n * ]}\n * value=\"option1\"\n * onChange={(choice) => console.log(choice)}\n * />\n * ```\n */\nexport const SwitchSelector = <T,>({\n choices = defaultChoices as SwitchSelectorChoices<T>,\n value,\n defaultValue,\n onChange,\n color = SwitchSelectorColor.PRIMARY,\n size = SwitchSelectorSize.MD,\n className,\n hoverable = true,\n}: SwitchSelectorProps<T>) => {\n const [valueState, setValue] = useState<T>(\n value ?? defaultValue ?? choices[0].value\n );\n const [hoveredIndex, setHoveredIndex] = useState<number | null>(null);\n\n const optionsRefs = useRef<HTMLButtonElement[]>([]);\n const indicatorRef = useRef<HTMLDivElement | null>(null);\n const { choiceIndicatorPosition } = useItemSelector(optionsRefs, {\n isHoverable: hoverable,\n });\n\n const selectedIndex = choices.findIndex(\n (choice) => choice.value === valueState\n );\n\n // The indicator follows hover if hoverable, otherwise the selected option\n const indicatorIndex =\n hoverable && hoveredIndex !== null ? hoveredIndex : selectedIndex;\n\n const handleChange = (newValue: T) => {\n setValue(newValue);\n onChange?.(newValue);\n };\n\n useEffect(() => {\n if (value === undefined) return;\n setValue(value);\n }, [value]);\n\n return (\n <div\n className={switchSelectorVariant({\n color,\n className,\n })}\n role=\"tablist\"\n >\n <div className=\"relative flex size-full flex-row items-center justify-center\">\n {choices.map((choice, index) => {\n const { content, value, ...buttonProps } = choice;\n\n const isKeyOfKey =\n typeof value === 'string' || typeof value === 'number';\n\n const isSelected = index === selectedIndex;\n const isIndicatorOwner = index === indicatorIndex;\n\n return (\n <button\n {...buttonProps}\n className={cn(\n choiceVariant({\n size,\n })\n )}\n key={isKeyOfKey ? value : index}\n role=\"tab\"\n onClick={() => handleChange(value)}\n aria-selected={isSelected ? 'true' : undefined}\n data-indicator={isIndicatorOwner ? 'true' : undefined}\n disabled={isSelected}\n tabIndex={isSelected ? 0 : -1}\n ref={(el) => {\n optionsRefs.current[index] = el!;\n }}\n onMouseEnter={() => setHoveredIndex(index)}\n onMouseLeave={() => setHoveredIndex(null)}\n >\n {content}\n </button>\n );\n })}\n\n {choiceIndicatorPosition && (\n <div\n className={cn(\n indicatorVariant({\n color,\n })\n )}\n style={choiceIndicatorPosition}\n ref={indicatorRef}\n />\n )}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;AAmBA,MAAMA,iBAAiD,CACrD;CAAE,SAAS;CAAO,OAAO;CAAO,EAChC;CAAE,SAAS;CAAM,OAAO;CAAM,CAC/B;
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["defaultChoices: SwitchSelectorChoices<boolean>","value"],"sources":["../../../../src/components/SwitchSelector/index.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport {\n type HTMLAttributes,\n type ReactNode,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { useItemSelector } from '../../hooks';\nimport { cn } from '../../utils/cn';\n\nexport type SwitchSelectorChoice<T = boolean> = {\n content: ReactNode;\n value: T;\n} & HTMLAttributes<HTMLButtonElement>;\nexport type SwitchSelectorChoices<T> = SwitchSelectorChoice<T>[];\n\nconst defaultChoices: SwitchSelectorChoices<boolean> = [\n { content: 'Off', value: false },\n { content: 'On', value: true },\n];\n\nexport type SwitchSelectorProps<T = boolean> = {\n choices?: SwitchSelectorChoices<T>;\n value?: T;\n defaultValue?: T;\n onChange?: (choice: T) => void;\n className?: string;\n hoverable?: boolean;\n disabled?: boolean;\n} & VariantProps<typeof switchSelectorVariant> &\n VariantProps<typeof choiceVariant>;\n\nexport enum SwitchSelectorColor {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n DESTRUCTIVE = 'destructive',\n NEUTRAL = 'neutral',\n LIGHT = 'light',\n DARK = 'dark',\n TEXT = 'text',\n}\n\nconst switchSelectorVariant = cva(\n 'flex w-fit cursor-pointer flex-row gap-2 rounded-full border-[1.3px] p-[1.5px]',\n {\n variants: {\n color: {\n [`${SwitchSelectorColor.PRIMARY}`]: 'border-primary text-primary',\n [`${SwitchSelectorColor.SECONDARY}`]: 'border-secondary text-secondary',\n [`${SwitchSelectorColor.DESTRUCTIVE}`]:\n 'border-destructive bg-destructive text-destructive',\n [`${SwitchSelectorColor.NEUTRAL}`]: 'border-neutral text-neutral',\n [`${SwitchSelectorColor.LIGHT}`]: 'border-white text-white',\n [`${SwitchSelectorColor.DARK}`]: 'border-neutral-800 text-neutral-800',\n [`${SwitchSelectorColor.TEXT}`]: 'border-text text-text',\n },\n disabled: {\n true: 'cursor-not-allowed opacity-50',\n false: '',\n },\n },\n defaultVariants: {\n color: `${SwitchSelectorColor.PRIMARY}`,\n disabled: false,\n },\n }\n);\n\nexport enum SwitchSelectorSize {\n SM = 'sm',\n MD = 'md',\n LG = 'lg',\n}\n\nconst choiceVariant = cva(\n 'z-1 w-full flex-1 cursor-pointer font-medium text-sm transition-all duration-300 ease-in-out aria-selected:cursor-default data-[indicator=true]:text-text-opposite motion-reduce:transition-none',\n {\n variants: {\n size: {\n [`${SwitchSelectorSize.SM}`]: 'px-2 py-1 text-xs',\n [`${SwitchSelectorSize.MD}`]: 'p-2 text-sm',\n [`${SwitchSelectorSize.LG}`]: 'p-4 text-base',\n },\n },\n defaultVariants: {\n size: `${SwitchSelectorSize.MD}`,\n },\n }\n);\n\nconst indicatorVariant = cva(\n 'absolute top-0 z-0 h-full w-auto rounded-full transition-[left,width] duration-300 ease-in-out motion-reduce:transition-none',\n {\n variants: {\n color: {\n [`${SwitchSelectorColor.PRIMARY}`]:\n 'bg-primary data-[indicator=true]:text-text',\n [`${SwitchSelectorColor.SECONDARY}`]:\n 'bg-secondary data-[indicator=true]:text-text',\n [`${SwitchSelectorColor.DESTRUCTIVE}`]:\n 'bg-destructive data-[indicator=true]:text-text',\n [`${SwitchSelectorColor.NEUTRAL}`]:\n 'bg-neutral data-[indicator=true]:text-white',\n [`${SwitchSelectorColor.LIGHT}`]:\n 'bg-white data-[indicator=true]:text-black',\n [`${SwitchSelectorColor.DARK}`]:\n 'bg-neutral-800 data-[indicator=true]:text-white',\n [`${SwitchSelectorColor.TEXT}`]:\n 'bg-text data-[indicator=true]:text-text-opposite',\n },\n },\n }\n);\n\n/**\n *\n * Component that allows the user to select one of the provided choices.\n *\n * Example:\n * ```jsx\n * <SwitchSelector\n * choices={[\n * { content: 'Option 1', value: 'option1' },\n * { content: 'Option 2', value: 'option2' },\n * { content: 'Option 3', value: 'option3' },\n * ]}\n * value=\"option1\"\n * onChange={(choice) => console.log(choice)}\n * />\n * ```\n */\nexport const SwitchSelector = <T,>({\n choices = defaultChoices as SwitchSelectorChoices<T>,\n value,\n defaultValue,\n onChange,\n color = SwitchSelectorColor.PRIMARY,\n size = SwitchSelectorSize.MD,\n className,\n hoverable = true,\n disabled = false,\n}: SwitchSelectorProps<T>) => {\n const [valueState, setValue] = useState<T>(\n value ?? defaultValue ?? choices[0].value\n );\n const [hoveredIndex, setHoveredIndex] = useState<number | null>(null);\n\n const optionsRefs = useRef<HTMLButtonElement[]>([]);\n const indicatorRef = useRef<HTMLDivElement | null>(null);\n const { choiceIndicatorPosition } = useItemSelector(optionsRefs, {\n isHoverable: hoverable,\n });\n\n const selectedIndex = choices.findIndex(\n (choice) => choice.value === valueState\n );\n\n // The indicator follows hover if hoverable, otherwise the selected option\n const indicatorIndex =\n hoverable && hoveredIndex !== null ? hoveredIndex : selectedIndex;\n\n const handleChange = (newValue: T) => {\n setValue(newValue);\n onChange?.(newValue);\n };\n\n useEffect(() => {\n if (value === undefined) return;\n setValue(value);\n }, [value]);\n\n return (\n <div\n className={switchSelectorVariant({\n color,\n disabled,\n className,\n })}\n role=\"tablist\"\n aria-disabled={disabled ? 'true' : undefined}\n >\n <div className=\"relative flex size-full flex-row items-center justify-center\">\n {choices.map((choice, index) => {\n const { content, value, ...buttonProps } = choice;\n\n const isKeyOfKey =\n typeof value === 'string' || typeof value === 'number';\n\n const isSelected = index === selectedIndex;\n const isIndicatorOwner = index === indicatorIndex;\n\n return (\n <button\n {...buttonProps}\n className={cn(\n choiceVariant({\n size,\n }),\n disabled && 'cursor-not-allowed'\n )}\n key={isKeyOfKey ? value : index}\n role=\"tab\"\n onClick={() => handleChange(value)}\n aria-selected={isSelected ? 'true' : undefined}\n data-indicator={isIndicatorOwner ? 'true' : undefined}\n disabled={disabled || isSelected}\n tabIndex={isSelected ? 0 : -1}\n ref={(el) => {\n optionsRefs.current[index] = el!;\n }}\n onMouseEnter={() => !disabled && setHoveredIndex(index)}\n onMouseLeave={() => !disabled && setHoveredIndex(null)}\n >\n {content}\n </button>\n );\n })}\n\n {choiceIndicatorPosition && (\n <div\n className={cn(\n indicatorVariant({\n color,\n })\n )}\n style={choiceIndicatorPosition}\n ref={indicatorRef}\n />\n )}\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
|
package/dist/esm/hooks/index.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { useOAuth2 } from "./useAuth/useOAuth2.mjs";
|
|
|
2
2
|
import { useSession } from "./useAuth/useSession.mjs";
|
|
3
3
|
import { useAuth } from "./useAuth/useAuth.mjs";
|
|
4
4
|
import { useIntlayerAuth, useIntlayerOAuth } from "./useIntlayerAPI.mjs";
|
|
5
|
-
import { useAddDictionary, useAddNewAccessKey, useAddOrganization, useAddOrganizationMember, useAddPasskey, useAddProject, useAddTag, useAppQuery, useAskDocQuestion, useAskResetPassword, useAuditContentDeclaration, useAuditContentDeclarationField, useAuditContentDeclarationMetadata, useAuditTag, useAutocomplete, useCancelSubscription, useChangePassword, useCreateUser, useDeleteAccessKey, useDeleteDictionary, useDeleteOrganization, useDeletePasskey, useDeleteProject, useDeleteTag, useDeleteUser, useDisableTwoFactor, useEnableTwoFactor, useGetDictionaries, useGetDictionariesKeys, useGetDictionary, useGetDiscussions, useGetDiscussionsData, useGetEditorDictionaries, useGetNewsletterStatus, useGetOrganizations, useGetPricing, useGetProjects, useGetSubscription, useGetTags, useGetUserByAccount, useGetUserById, useGetUsers, useGetVerifyEmailStatus, useListPasskeys, useLogin, useLogout, usePushDictionaries, useQueryClient, useRefreshAccessKey, useRegister, useResetPassword, useSearchDoc, useSelectOrganization, useSelectProject, useSignInMagicLink, useSignInPasskey, useSignInSSO, useSubscribeToNewsletter, useTranslateJSONDeclaration, useUnselectOrganization, useUnselectProject, useUnsubscribeFromNewsletter, useUpdateDictionary, useUpdateOrganization, useUpdateOrganizationMembers, useUpdateOrganizationMembersById, useUpdateProject, useUpdateProjectMembers, useUpdateTag, useUpdateUser, useVerifyBackupCode, useVerifyEmail, useVerifyTotp, useWriteDictionary } from "./reactQuery.mjs";
|
|
5
|
+
import { useAddDictionary, useAddNewAccessKey, useAddOrganization, useAddOrganizationMember, useAddPasskey, useAddProject, useAddTag, useAppQuery, useAskDocQuestion, useAskResetPassword, useAuditContentDeclaration, useAuditContentDeclarationField, useAuditContentDeclarationMetadata, useAuditTag, useAutocomplete, useCancelSubscription, useChangePassword, useCreateUser, useDeleteAccessKey, useDeleteDictionary, useDeleteOrganization, useDeletePasskey, useDeleteProject, useDeleteSSOProvider, useDeleteTag, useDeleteUser, useDisableTwoFactor, useEnableTwoFactor, useGetDictionaries, useGetDictionariesKeys, useGetDictionary, useGetDiscussions, useGetDiscussionsData, useGetEditorDictionaries, useGetNewsletterStatus, useGetOrganizations, useGetPricing, useGetProjects, useGetSubscription, useGetTags, useGetUserByAccount, useGetUserById, useGetUsers, useGetVerifyEmailStatus, useListPasskeys, useListSSOProviders, useLogin, useLogout, usePushDictionaries, useQueryClient, useRefreshAccessKey, useRegister, useRegisterSSO, useResetPassword, useSearchDoc, useSelectOrganization, useSelectProject, useSignInMagicLink, useSignInPasskey, useSignInSSO, useSubscribeToNewsletter, useTranslateJSONDeclaration, useUnselectOrganization, useUnselectProject, useUnsubscribeFromNewsletter, useUpdateDictionary, useUpdateOrganization, useUpdateOrganizationMembers, useUpdateOrganizationMembersById, useUpdateProject, useUpdateProjectMembers, useUpdateTag, useUpdateUser, useVerifyBackupCode, useVerifyEmail, useVerifyTotp, useWriteDictionary } from "./reactQuery.mjs";
|
|
6
6
|
import { calculateIsMobile, checkIsIOS, checkIsIphoneOrSafariDevice, checkIsMac, checkIsMobileScreen, checkIsMobileUserAgent, getBreakpointFromSize, useDevice } from "./useDevice.mjs";
|
|
7
7
|
import { useGetElementById } from "./useGetElementById.mjs";
|
|
8
8
|
import { useGetElementOrWindow } from "./useGetElementOrWindow.mjs";
|
|
@@ -19,4 +19,4 @@ import { useScrollY } from "./useScrollY.mjs";
|
|
|
19
19
|
import { useSearch } from "./useSearch.mjs";
|
|
20
20
|
import { useUser } from "./useUser/index.mjs";
|
|
21
21
|
|
|
22
|
-
export { calculateIsMobile, checkIsIOS, checkIsIphoneOrSafariDevice, checkIsMac, checkIsMobileScreen, checkIsMobileUserAgent, getBreakpointFromSize, useAddDictionary, useAddNewAccessKey, useAddOrganization, useAddOrganizationMember, useAddPasskey, useAddProject, useAddTag, useAppQuery, useAskDocQuestion, useAskResetPassword, useAuditContentDeclaration, useAuditContentDeclarationField, useAuditContentDeclarationMetadata, useAuditTag, useAuth, useAutocomplete, useCancelSubscription, useChangePassword, useCreateUser, useDeleteAccessKey, useDeleteDictionary, useDeleteOrganization, useDeletePasskey, useDeleteProject, useDeleteTag, useDeleteUser, useDevice, useDisableTwoFactor, useEnableTwoFactor, useGetDictionaries, useGetDictionariesKeys, useGetDictionary, useGetDiscussions, useGetDiscussionsData, useGetEditorDictionaries, useGetElementById, useGetElementOrWindow, useGetNewsletterStatus, useGetOrganizations, useGetPricing, useGetProjects, useGetSubscription, useGetTags, useGetUserByAccount, useGetUserById, useGetUsers, useGetVerifyEmailStatus, useHorizontalSwipe, useIntlayerAuth, useIntlayerOAuth, useIsDarkMode, useIsMounted, useItemSelector, useKeyboardDetector, useListPasskeys, useLogin, useLogout, useOAuth2, usePersistedStore, usePushDictionaries, useQueryClient, useRefreshAccessKey, useRegister, useResetPassword, useScreenWidth, useScrollBlockage, useScrollDetection, useScrollY, useSearch, useSearchDoc, useSelectOrganization, useSelectProject, useSession, useSignInMagicLink, useSignInPasskey, useSignInSSO, useSubscribeToNewsletter, useTranslateJSONDeclaration, useUnselectOrganization, useUnselectProject, useUnsubscribeFromNewsletter, useUpdateDictionary, useUpdateOrganization, useUpdateOrganizationMembers, useUpdateOrganizationMembersById, useUpdateProject, useUpdateProjectMembers, useUpdateTag, useUpdateUser, useUser, useVerifyBackupCode, useVerifyEmail, useVerifyTotp, useWriteDictionary };
|
|
22
|
+
export { calculateIsMobile, checkIsIOS, checkIsIphoneOrSafariDevice, checkIsMac, checkIsMobileScreen, checkIsMobileUserAgent, getBreakpointFromSize, useAddDictionary, useAddNewAccessKey, useAddOrganization, useAddOrganizationMember, useAddPasskey, useAddProject, useAddTag, useAppQuery, useAskDocQuestion, useAskResetPassword, useAuditContentDeclaration, useAuditContentDeclarationField, useAuditContentDeclarationMetadata, useAuditTag, useAuth, useAutocomplete, useCancelSubscription, useChangePassword, useCreateUser, useDeleteAccessKey, useDeleteDictionary, useDeleteOrganization, useDeletePasskey, useDeleteProject, useDeleteSSOProvider, useDeleteTag, useDeleteUser, useDevice, useDisableTwoFactor, useEnableTwoFactor, useGetDictionaries, useGetDictionariesKeys, useGetDictionary, useGetDiscussions, useGetDiscussionsData, useGetEditorDictionaries, useGetElementById, useGetElementOrWindow, useGetNewsletterStatus, useGetOrganizations, useGetPricing, useGetProjects, useGetSubscription, useGetTags, useGetUserByAccount, useGetUserById, useGetUsers, useGetVerifyEmailStatus, useHorizontalSwipe, useIntlayerAuth, useIntlayerOAuth, useIsDarkMode, useIsMounted, useItemSelector, useKeyboardDetector, useListPasskeys, useListSSOProviders, useLogin, useLogout, useOAuth2, usePersistedStore, usePushDictionaries, useQueryClient, useRefreshAccessKey, useRegister, useRegisterSSO, useResetPassword, useScreenWidth, useScrollBlockage, useScrollDetection, useScrollY, useSearch, useSearchDoc, useSelectOrganization, useSelectProject, useSession, useSignInMagicLink, useSignInPasskey, useSignInSSO, useSubscribeToNewsletter, useTranslateJSONDeclaration, useUnselectOrganization, useUnselectProject, useUnsubscribeFromNewsletter, useUpdateDictionary, useUpdateOrganization, useUpdateOrganizationMembers, useUpdateOrganizationMembersById, useUpdateProject, useUpdateProjectMembers, useUpdateTag, useUpdateUser, useUser, useVerifyBackupCode, useVerifyEmail, useVerifyTotp, useWriteDictionary };
|
|
@@ -174,6 +174,17 @@ const useSignInMagicLink = () => {
|
|
|
174
174
|
mutationFn: (args) => intlayerAuth.signInMagicLink(args)
|
|
175
175
|
});
|
|
176
176
|
};
|
|
177
|
+
const useRegisterSSO = () => {
|
|
178
|
+
const intlayerAuth = useIntlayerAuth();
|
|
179
|
+
const queryClient = useQueryClient();
|
|
180
|
+
return useMutation({
|
|
181
|
+
mutationKey: ["registerSSO"],
|
|
182
|
+
mutationFn: (args) => intlayerAuth.registerSSO(args),
|
|
183
|
+
onSuccess: () => {
|
|
184
|
+
queryClient.invalidateQueries({ queryKey: ["ssoProviders"] });
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
};
|
|
177
188
|
const useSignInSSO = () => {
|
|
178
189
|
const intlayerAuth = useIntlayerAuth();
|
|
179
190
|
return useMutation({
|
|
@@ -181,6 +192,24 @@ const useSignInSSO = () => {
|
|
|
181
192
|
mutationFn: (args) => intlayerAuth.signInSSO(args)
|
|
182
193
|
});
|
|
183
194
|
};
|
|
195
|
+
const useListSSOProviders = () => {
|
|
196
|
+
const intlayerAuth = useIntlayerAuth();
|
|
197
|
+
return useQuery({
|
|
198
|
+
queryKey: ["ssoProviders"],
|
|
199
|
+
queryFn: () => intlayerAuth.listSSOProviders()
|
|
200
|
+
});
|
|
201
|
+
};
|
|
202
|
+
const useDeleteSSOProvider = () => {
|
|
203
|
+
const intlayerAuth = useIntlayerAuth();
|
|
204
|
+
const queryClient = useQueryClient();
|
|
205
|
+
return useMutation({
|
|
206
|
+
mutationKey: ["deleteSSOProvider"],
|
|
207
|
+
mutationFn: (args) => intlayerAuth.deleteSSOProvider(args),
|
|
208
|
+
onSuccess: () => {
|
|
209
|
+
queryClient.invalidateQueries({ queryKey: ["ssoProviders"] });
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
};
|
|
184
213
|
/**
|
|
185
214
|
* User
|
|
186
215
|
*/
|
|
@@ -711,5 +740,5 @@ const useWriteDictionary = () => {
|
|
|
711
740
|
};
|
|
712
741
|
|
|
713
742
|
//#endregion
|
|
714
|
-
export { useAddDictionary, useAddNewAccessKey, useAddOrganization, useAddOrganizationMember, useAddPasskey, useAddProject, useAddTag, useAppQuery, useAskDocQuestion, useAskResetPassword, useAuditContentDeclaration, useAuditContentDeclarationField, useAuditContentDeclarationMetadata, useAuditTag, useAutocomplete, useCancelSubscription, useChangePassword, useCreateUser, useDeleteAccessKey, useDeleteDictionary, useDeleteOrganization, useDeletePasskey, useDeleteProject, useDeleteTag, useDeleteUser, useDisableTwoFactor, useEnableTwoFactor, useGetDictionaries, useGetDictionariesKeys, useGetDictionary, useGetDiscussions, useGetDiscussionsData, useGetEditorDictionaries, useGetNewsletterStatus, useGetOrganizations, useGetPricing, useGetProjects, useGetSubscription, useGetTags, useGetUserByAccount, useGetUserById, useGetUsers, useGetVerifyEmailStatus, useListPasskeys, useLogin, useLogout, usePushDictionaries, useQueryClient, useRefreshAccessKey, useRegister, useResetPassword, useSearchDoc, useSelectOrganization, useSelectProject, useSignInMagicLink, useSignInPasskey, useSignInSSO, useSubscribeToNewsletter, useTranslateJSONDeclaration, useUnselectOrganization, useUnselectProject, useUnsubscribeFromNewsletter, useUpdateDictionary, useUpdateOrganization, useUpdateOrganizationMembers, useUpdateOrganizationMembersById, useUpdateProject, useUpdateProjectMembers, useUpdateTag, useUpdateUser, useVerifyBackupCode, useVerifyEmail, useVerifyTotp, useWriteDictionary };
|
|
743
|
+
export { useAddDictionary, useAddNewAccessKey, useAddOrganization, useAddOrganizationMember, useAddPasskey, useAddProject, useAddTag, useAppQuery, useAskDocQuestion, useAskResetPassword, useAuditContentDeclaration, useAuditContentDeclarationField, useAuditContentDeclarationMetadata, useAuditTag, useAutocomplete, useCancelSubscription, useChangePassword, useCreateUser, useDeleteAccessKey, useDeleteDictionary, useDeleteOrganization, useDeletePasskey, useDeleteProject, useDeleteSSOProvider, useDeleteTag, useDeleteUser, useDisableTwoFactor, useEnableTwoFactor, useGetDictionaries, useGetDictionariesKeys, useGetDictionary, useGetDiscussions, useGetDiscussionsData, useGetEditorDictionaries, useGetNewsletterStatus, useGetOrganizations, useGetPricing, useGetProjects, useGetSubscription, useGetTags, useGetUserByAccount, useGetUserById, useGetUsers, useGetVerifyEmailStatus, useListPasskeys, useListSSOProviders, useLogin, useLogout, usePushDictionaries, useQueryClient, useRefreshAccessKey, useRegister, useRegisterSSO, useResetPassword, useSearchDoc, useSelectOrganization, useSelectProject, useSignInMagicLink, useSignInPasskey, useSignInSSO, useSubscribeToNewsletter, useTranslateJSONDeclaration, useUnselectOrganization, useUnselectProject, useUnsubscribeFromNewsletter, useUpdateDictionary, useUpdateOrganization, useUpdateOrganizationMembers, useUpdateOrganizationMembersById, useUpdateProject, useUpdateProjectMembers, useUpdateTag, useUpdateUser, useVerifyBackupCode, useVerifyEmail, useVerifyTotp, useWriteDictionary };
|
|
715
744
|
//# sourceMappingURL=reactQuery.mjs.map
|
|
@@ -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';\nimport { useConfiguration } from '@intlayer/editor-react';\nimport {\n type UseQueryOptions,\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 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\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']],\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 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 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),\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),\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 * 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 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']],\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 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 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),\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),\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 * 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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"}
|
|
@@ -19,7 +19,7 @@ const usePersistedStore = (key, initialState) => {
|
|
|
19
19
|
});
|
|
20
20
|
useEffect(() => {
|
|
21
21
|
const persistedState = localStorage?.getItem(key);
|
|
22
|
-
if (persistedState && state === void 0) try {
|
|
22
|
+
if (persistedState && persistedState !== "undefined" && state === void 0) try {
|
|
23
23
|
setState(JSON.parse(persistedState));
|
|
24
24
|
} catch (e) {
|
|
25
25
|
console.error(e);
|
|
@@ -33,22 +33,31 @@ const usePersistedStore = (key, initialState) => {
|
|
|
33
33
|
const setStateWrapper = useCallback((valueOrUpdater) => {
|
|
34
34
|
setState((prev) => {
|
|
35
35
|
const newValue = typeof valueOrUpdater === "function" ? valueOrUpdater(prev) : valueOrUpdater;
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
if (newValue && newValue !== "undefined") {
|
|
37
|
+
localStorage?.setItem(key, JSON.stringify(newValue));
|
|
38
|
+
return newValue;
|
|
39
|
+
}
|
|
40
|
+
return prev;
|
|
38
41
|
});
|
|
39
42
|
}, [key, setState]);
|
|
40
43
|
const loadState = useCallback(() => {
|
|
41
44
|
const savedState = localStorage?.getItem(key);
|
|
42
45
|
if (savedState) setState(JSON.parse(savedState));
|
|
43
46
|
}, [key, setState]);
|
|
47
|
+
const clearState = useCallback(() => {
|
|
48
|
+
localStorage?.removeItem(key);
|
|
49
|
+
setState(void 0);
|
|
50
|
+
}, [key]);
|
|
44
51
|
return useMemo(() => [
|
|
45
52
|
state,
|
|
46
53
|
setStateWrapper,
|
|
47
|
-
loadState
|
|
54
|
+
loadState,
|
|
55
|
+
clearState
|
|
48
56
|
], [
|
|
49
57
|
state,
|
|
50
58
|
setStateWrapper,
|
|
51
|
-
loadState
|
|
59
|
+
loadState,
|
|
60
|
+
clearState
|
|
52
61
|
]);
|
|
53
62
|
};
|
|
54
63
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePersistedStore.mjs","names":["result: S","setStateWrapper: typeof setState","newValue: S"],"sources":["../../../src/hooks/usePersistedStore.ts"],"sourcesContent":["'use client';\n\nimport {\n type Dispatch,\n type SetStateAction,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react';\n\nexport const usePersistedStore = <S>(\n key: string,\n initialState?: S | (() => S)\n): [S, Dispatch<SetStateAction<S>>, () => void] => {\n const [state, setState] = useState<S>(() => {\n // If you have an initial value on the client, send a message out immediately\n if (initialState !== undefined) {\n const result: S =\n typeof initialState === 'function'\n ? (initialState as () => S)()\n : initialState;\n\n if (typeof window === 'undefined') return result;\n\n const persistedState = localStorage?.getItem(key);\n\n if (persistedState) {\n try {\n return JSON.parse(persistedState);\n } catch (e) {\n console.error(e);\n }\n }\n\n return result;\n }\n\n return undefined as S;\n });\n\n useEffect(() => {\n const persistedState = localStorage?.getItem(key);\n\n if (persistedState
|
|
1
|
+
{"version":3,"file":"usePersistedStore.mjs","names":["result: S","setStateWrapper: typeof setState","newValue: S"],"sources":["../../../src/hooks/usePersistedStore.ts"],"sourcesContent":["'use client';\n\nimport {\n type Dispatch,\n type SetStateAction,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react';\n\nexport const usePersistedStore = <S>(\n key: string,\n initialState?: S | (() => S)\n): [S, Dispatch<SetStateAction<S>>, () => void, () => void] => {\n const [state, setState] = useState<S>(() => {\n // If you have an initial value on the client, send a message out immediately\n if (initialState !== undefined) {\n const result: S =\n typeof initialState === 'function'\n ? (initialState as () => S)()\n : initialState;\n\n if (typeof window === 'undefined') return result;\n\n const persistedState = localStorage?.getItem(key);\n\n if (persistedState) {\n try {\n return JSON.parse(persistedState);\n } catch (e) {\n console.error(e);\n }\n }\n\n return result;\n }\n\n return undefined as S;\n });\n\n useEffect(() => {\n const persistedState = localStorage?.getItem(key);\n\n if (\n persistedState &&\n persistedState !== 'undefined' &&\n state === undefined\n ) {\n try {\n setState(JSON.parse(persistedState));\n } catch (e) {\n console.error(e);\n }\n } else if (initialState !== undefined && state === undefined) {\n setState(initialState);\n }\n }, [key, state]);\n\n /**\n * Allows setting state either directly or via a functional update.\n * If passed a function, we merge/update based on the previous state.\n */\n const setStateWrapper: typeof setState = useCallback(\n (valueOrUpdater: SetStateAction<S>) => {\n setState((prev) => {\n const newValue: S =\n typeof valueOrUpdater === 'function'\n ? (valueOrUpdater as (prevVal: S) => S)(prev)\n : valueOrUpdater;\n\n if (newValue && newValue !== 'undefined') {\n localStorage?.setItem(key, JSON.stringify(newValue));\n return newValue;\n }\n\n return prev;\n });\n },\n [key, setState]\n );\n\n const loadState = useCallback(() => {\n const savedState = localStorage?.getItem(key);\n if (savedState) {\n setState(JSON.parse(savedState));\n }\n }, [key, setState]);\n\n const clearState = useCallback(() => {\n localStorage?.removeItem(key);\n setState(undefined as S);\n }, [key]);\n\n return useMemo(\n () => [state, setStateWrapper, loadState, clearState],\n [state, setStateWrapper, loadState, clearState]\n );\n};\n"],"mappings":";;;;;AAWA,MAAa,qBACX,KACA,iBAC6D;CAC7D,MAAM,CAAC,OAAO,YAAY,eAAkB;AAE1C,MAAI,iBAAiB,QAAW;GAC9B,MAAMA,SACJ,OAAO,iBAAiB,aACnB,cAA0B,GAC3B;AAEN,OAAI,OAAO,WAAW,YAAa,QAAO;GAE1C,MAAM,iBAAiB,cAAc,QAAQ,IAAI;AAEjD,OAAI,eACF,KAAI;AACF,WAAO,KAAK,MAAM,eAAe;YAC1B,GAAG;AACV,YAAQ,MAAM,EAAE;;AAIpB,UAAO;;GAIT;AAEF,iBAAgB;EACd,MAAM,iBAAiB,cAAc,QAAQ,IAAI;AAEjD,MACE,kBACA,mBAAmB,eACnB,UAAU,OAEV,KAAI;AACF,YAAS,KAAK,MAAM,eAAe,CAAC;WAC7B,GAAG;AACV,WAAQ,MAAM,EAAE;;WAET,iBAAiB,UAAa,UAAU,OACjD,UAAS,aAAa;IAEvB,CAAC,KAAK,MAAM,CAAC;;;;;CAMhB,MAAMC,kBAAmC,aACtC,mBAAsC;AACrC,YAAU,SAAS;GACjB,MAAMC,WACJ,OAAO,mBAAmB,aACrB,eAAqC,KAAK,GAC3C;AAEN,OAAI,YAAY,aAAa,aAAa;AACxC,kBAAc,QAAQ,KAAK,KAAK,UAAU,SAAS,CAAC;AACpD,WAAO;;AAGT,UAAO;IACP;IAEJ,CAAC,KAAK,SAAS,CAChB;CAED,MAAM,YAAY,kBAAkB;EAClC,MAAM,aAAa,cAAc,QAAQ,IAAI;AAC7C,MAAI,WACF,UAAS,KAAK,MAAM,WAAW,CAAC;IAEjC,CAAC,KAAK,SAAS,CAAC;CAEnB,MAAM,aAAa,kBAAkB;AACnC,gBAAc,WAAW,IAAI;AAC7B,WAAS,OAAe;IACvB,CAAC,IAAI,CAAC;AAET,QAAO,cACC;EAAC;EAAO;EAAiB;EAAW;EAAW,EACrD;EAAC;EAAO;EAAiB;EAAW;EAAW,CAChD"}
|
package/dist/esm/libs/auth.mjs
CHANGED
|
@@ -123,8 +123,13 @@ const getAuthAPI = (intlayerConfig) => {
|
|
|
123
123
|
return client.signIn.magicLink(...args);
|
|
124
124
|
};
|
|
125
125
|
const signInSSO = async (...args) => {
|
|
126
|
-
return client.sso
|
|
126
|
+
return client.signIn.sso(...args);
|
|
127
127
|
};
|
|
128
|
+
const registerSSO = async (...args) => {
|
|
129
|
+
return client.sso.register(...args);
|
|
130
|
+
};
|
|
131
|
+
const listSSOProviders = async () => {};
|
|
132
|
+
const deleteSSOProvider = async (args) => {};
|
|
128
133
|
return {
|
|
129
134
|
getAuthClient: () => client,
|
|
130
135
|
signInEmail,
|
|
@@ -160,7 +165,10 @@ const getAuthAPI = (intlayerConfig) => {
|
|
|
160
165
|
deletePasskey,
|
|
161
166
|
listPasskeys,
|
|
162
167
|
signInMagicLink,
|
|
163
|
-
signInSSO
|
|
168
|
+
signInSSO,
|
|
169
|
+
registerSSO,
|
|
170
|
+
listSSOProviders,
|
|
171
|
+
deleteSSOProvider
|
|
164
172
|
};
|
|
165
173
|
};
|
|
166
174
|
|