@carlonicora/nextjs-jsonapi 3.5.6 → 3.5.8
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/{BlockNoteEditor-HGVFKRAX.mjs → BlockNoteEditor-5LH6CCQF.mjs} +4 -4
- package/dist/{BlockNoteEditor-5T5NB53C.js → BlockNoteEditor-J27BAKEF.js} +19 -19
- package/dist/{BlockNoteEditor-5T5NB53C.js.map → BlockNoteEditor-J27BAKEF.js.map} +1 -1
- package/dist/billing/index.js +398 -398
- package/dist/billing/index.mjs +3 -3
- package/dist/{chunk-X2MQ3WHX.js → chunk-B2OB3HQO.js} +7 -7
- package/dist/{chunk-X2MQ3WHX.js.map → chunk-B2OB3HQO.js.map} +1 -1
- package/dist/{chunk-RZDY4CIF.mjs → chunk-DK5ZOPVF.mjs} +2 -2
- package/dist/{chunk-YMFHT4AP.js → chunk-G2PQN6HK.js} +1053 -965
- package/dist/chunk-G2PQN6HK.js.map +1 -0
- package/dist/{chunk-G6B7RZWJ.mjs → chunk-H37WRSBU.mjs} +2 -2
- package/dist/chunk-H37WRSBU.mjs.map +1 -0
- package/dist/{chunk-6T6QB6K2.js → chunk-PGA2VC3S.js} +6 -6
- package/dist/chunk-PGA2VC3S.js.map +1 -0
- package/dist/{chunk-2ONZSSDW.mjs → chunk-Q2QO5XYN.mjs} +272 -184
- package/dist/chunk-Q2QO5XYN.mjs.map +1 -0
- package/dist/client/index.js +4 -4
- package/dist/client/index.mjs +3 -3
- package/dist/components/index.d.mts +21 -1
- package/dist/components/index.d.ts +21 -1
- package/dist/components/index.js +6 -4
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +5 -3
- package/dist/contexts/index.js +4 -4
- package/dist/contexts/index.mjs +3 -3
- package/dist/core/index.js +2 -2
- package/dist/core/index.mjs +1 -1
- package/dist/features/help/index.js +37 -37
- package/dist/features/help/index.mjs +3 -3
- package/dist/features/tokenusage/index.js +101 -101
- package/dist/features/tokenusage/index.mjs +3 -3
- package/dist/index.js +3 -3
- package/dist/index.mjs +2 -2
- package/dist/server/index.js +3 -3
- package/dist/server/index.mjs +1 -1
- package/package.json +1 -1
- package/src/components/forms/EditorSheet.tsx +16 -5
- package/src/components/forms/EntityMultiSelector.tsx +14 -10
- package/src/components/forms/FileUploader.tsx +18 -2
- package/src/components/forms/MultiFileUploader.tsx +23 -5
- package/src/components/forms/index.ts +1 -1
- package/src/features/how-to/components/containers/HowToContainer.tsx +2 -7
- package/src/features/how-to/components/forms/HowToDeleter.tsx +0 -2
- package/src/utils/italian-validators.ts +1 -1
- package/dist/chunk-2ONZSSDW.mjs.map +0 -1
- package/dist/chunk-6T6QB6K2.js.map +0 -1
- package/dist/chunk-G6B7RZWJ.mjs.map +0 -1
- package/dist/chunk-YMFHT4AP.js.map +0 -1
- /package/dist/{BlockNoteEditor-HGVFKRAX.mjs.map → BlockNoteEditor-5LH6CCQF.mjs.map} +0 -0
- /package/dist/{chunk-RZDY4CIF.mjs.map → chunk-DK5ZOPVF.mjs.map} +0 -0
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
useI18nLocale,
|
|
21
21
|
useI18nRouter,
|
|
22
22
|
useI18nTranslations
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-DK5ZOPVF.mjs";
|
|
24
24
|
import {
|
|
25
25
|
AVAILABLE_OAUTH_SCOPES,
|
|
26
26
|
AiConnectionService,
|
|
@@ -71,7 +71,7 @@ import {
|
|
|
71
71
|
useIsMobile,
|
|
72
72
|
validateItalianTaxCode,
|
|
73
73
|
validatePartitaIva
|
|
74
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-H37WRSBU.mjs";
|
|
75
75
|
import {
|
|
76
76
|
ENV
|
|
77
77
|
} from "./chunk-RVASYIQG.mjs";
|
|
@@ -6515,7 +6515,7 @@ function useHeaderLogo() {
|
|
|
6515
6515
|
__name(useHeaderLogo, "useHeaderLogo");
|
|
6516
6516
|
|
|
6517
6517
|
// src/components/navigations/Breadcrumb.tsx
|
|
6518
|
-
import { useTranslations as
|
|
6518
|
+
import { useTranslations as useTranslations51 } from "next-intl";
|
|
6519
6519
|
import { Fragment as Fragment20, useState as useState47 } from "react";
|
|
6520
6520
|
import { ChevronDownIcon as ChevronDownIcon8 } from "lucide-react";
|
|
6521
6521
|
|
|
@@ -8517,11 +8517,11 @@ function EntityMultiSelector({
|
|
|
8517
8517
|
return selectedValues.map((v) => stableGetFormValueLabel(v)).join(", ");
|
|
8518
8518
|
}, [selectedValues, stableGetFormValueLabel]);
|
|
8519
8519
|
return /* @__PURE__ */ jsx68("div", { className: "flex w-full flex-col", children: /* @__PURE__ */ jsx68(FormFieldWrapper, { form, name: id, label, isRequired, description, children: () => /* @__PURE__ */ jsxs33("div", { className: "flex flex-col gap-2", children: [
|
|
8520
|
-
/* @__PURE__ */ jsxs33(Popover, { open, onOpenChange: setOpen, modal: true, children: [
|
|
8521
|
-
/* @__PURE__ */ jsx68(PopoverTrigger, { className: "w-full", children: /* @__PURE__ */ jsxs33(
|
|
8520
|
+
/* @__PURE__ */ jsxs33(Popover, { open: disabled ? false : open, onOpenChange: disabled ? void 0 : setOpen, modal: true, children: [
|
|
8521
|
+
/* @__PURE__ */ jsx68(PopoverTrigger, { className: "w-full", disabled, children: /* @__PURE__ */ jsxs33(
|
|
8522
8522
|
"div",
|
|
8523
8523
|
{
|
|
8524
|
-
className: `bg-input/20 dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/30 focus-visible:ring-[2px] flex min-h-7 w-full items-center gap-2 rounded-md border px-2 text-sm md:text-xs/relaxed`,
|
|
8524
|
+
className: `bg-input/20 dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/30 focus-visible:ring-[2px] flex min-h-7 w-full items-center gap-2 rounded-md border px-2 text-sm md:text-xs/relaxed ${disabled ? "cursor-not-allowed opacity-50" : ""}`,
|
|
8525
8525
|
children: [
|
|
8526
8526
|
selectedValues.length > 0 ? /* @__PURE__ */ jsxs33(Fragment7, { children: [
|
|
8527
8527
|
/* @__PURE__ */ jsx68("span", { className: "text-foreground min-w-0 flex-1 truncate text-start", children: triggerSummary }),
|
|
@@ -8595,7 +8595,7 @@ function EntityMultiSelector({
|
|
|
8595
8595
|
className: "h-auto gap-1.5 rounded-md px-2.5 py-1 pe-1.5 text-xs",
|
|
8596
8596
|
children: [
|
|
8597
8597
|
stableGetFormValueLabel(value),
|
|
8598
|
-
/* @__PURE__ */ jsx68(
|
|
8598
|
+
!disabled && /* @__PURE__ */ jsx68(
|
|
8599
8599
|
"button",
|
|
8600
8600
|
{
|
|
8601
8601
|
type: "button",
|
|
@@ -9638,12 +9638,13 @@ function resolveTriggerIsNativeButton(trigger) {
|
|
|
9638
9638
|
return true;
|
|
9639
9639
|
}
|
|
9640
9640
|
__name(resolveTriggerIsNativeButton, "resolveTriggerIsNativeButton");
|
|
9641
|
+
var fullWidthOnMobile = "data-[side=right]:w-full data-[side=left]:w-full";
|
|
9641
9642
|
var sizeClasses = {
|
|
9642
|
-
sm:
|
|
9643
|
-
md:
|
|
9644
|
-
lg:
|
|
9645
|
-
xl:
|
|
9646
|
-
"2xl":
|
|
9643
|
+
sm: `${fullWidthOnMobile} data-[side=right]:sm:max-w-2xl data-[side=left]:sm:max-w-2xl`,
|
|
9644
|
+
md: `${fullWidthOnMobile} data-[side=right]:sm:max-w-3xl data-[side=left]:sm:max-w-3xl`,
|
|
9645
|
+
lg: `${fullWidthOnMobile} data-[side=right]:sm:max-w-5xl data-[side=left]:sm:max-w-5xl`,
|
|
9646
|
+
xl: `${fullWidthOnMobile} data-[side=right]:sm:max-w-7xl data-[side=left]:sm:max-w-7xl`,
|
|
9647
|
+
"2xl": `${fullWidthOnMobile} data-[side=right]:sm:!max-w-[min(96rem,90vw)] data-[side=left]:sm:!max-w-[min(96rem,90vw)]`
|
|
9647
9648
|
};
|
|
9648
9649
|
function EditorSheet({
|
|
9649
9650
|
form,
|
|
@@ -10045,9 +10046,21 @@ var FileUploader = forwardRef6(
|
|
|
10045
10046
|
);
|
|
10046
10047
|
const handleKeyDown = useCallback18(
|
|
10047
10048
|
(e) => {
|
|
10049
|
+
if (!value) return;
|
|
10050
|
+
const handledKeys = [
|
|
10051
|
+
"ArrowLeft",
|
|
10052
|
+
"ArrowRight",
|
|
10053
|
+
"ArrowUp",
|
|
10054
|
+
"ArrowDown",
|
|
10055
|
+
"Enter",
|
|
10056
|
+
"Space",
|
|
10057
|
+
"Delete",
|
|
10058
|
+
"Backspace",
|
|
10059
|
+
"Escape"
|
|
10060
|
+
];
|
|
10061
|
+
if (!handledKeys.includes(e.key)) return;
|
|
10048
10062
|
e.preventDefault();
|
|
10049
10063
|
e.stopPropagation();
|
|
10050
|
-
if (!value) return;
|
|
10051
10064
|
const moveNext = /* @__PURE__ */ __name(() => {
|
|
10052
10065
|
const nextIndex = activeIndex + 1;
|
|
10053
10066
|
setActiveIndex(nextIndex > value.length - 1 ? 0 : nextIndex);
|
|
@@ -10314,7 +10327,7 @@ import { useRef as useRef17 } from "react";
|
|
|
10314
10327
|
import dynamic from "next/dynamic";
|
|
10315
10328
|
import React18 from "react";
|
|
10316
10329
|
import { jsx as jsx89 } from "react/jsx-runtime";
|
|
10317
|
-
var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-
|
|
10330
|
+
var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-5LH6CCQF.mjs"), {
|
|
10318
10331
|
ssr: false
|
|
10319
10332
|
});
|
|
10320
10333
|
var BlockNoteEditorContainer = React18.memo(/* @__PURE__ */ __name(function EditorContainer(props) {
|
|
@@ -11376,13 +11389,89 @@ import Image3 from "next/image";
|
|
|
11376
11389
|
import { useEffect as useEffect21, useState as useState29 } from "react";
|
|
11377
11390
|
import { jsx as jsx104, jsxs as jsxs62 } from "react/jsx-runtime";
|
|
11378
11391
|
var dropzone = {
|
|
11379
|
-
multiple: false,
|
|
11380
11392
|
maxSize: 100 * 1024 * 1024,
|
|
11381
11393
|
preventDropOnDocument: false,
|
|
11382
11394
|
accept: {
|
|
11383
11395
|
"application/images": [".jpg", ".jpeg", ".png", ".gif", ".webp", ".svg", ".docx", ".xslx", ".pdf", ".txt", ".md"]
|
|
11384
11396
|
}
|
|
11385
11397
|
};
|
|
11398
|
+
function MultiFileUploader({ files, setFiles, multiple = false, className }) {
|
|
11399
|
+
const uploadFiles = /* @__PURE__ */ __name((newFiles) => {
|
|
11400
|
+
if (!newFiles) return;
|
|
11401
|
+
setFiles([...files, ...newFiles]);
|
|
11402
|
+
}, "uploadFiles");
|
|
11403
|
+
const handleRemoveFile = /* @__PURE__ */ __name((indexToRemove) => {
|
|
11404
|
+
setFiles(files.filter((_, index) => index !== indexToRemove));
|
|
11405
|
+
}, "handleRemoveFile");
|
|
11406
|
+
return /* @__PURE__ */ jsxs62(
|
|
11407
|
+
"div",
|
|
11408
|
+
{
|
|
11409
|
+
className: cn(
|
|
11410
|
+
"grid w-full grid-cols-1 gap-4 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 2xl:grid-cols-6",
|
|
11411
|
+
className
|
|
11412
|
+
),
|
|
11413
|
+
children: [
|
|
11414
|
+
/* @__PURE__ */ jsx104(
|
|
11415
|
+
FileUploader,
|
|
11416
|
+
{
|
|
11417
|
+
value: files,
|
|
11418
|
+
onValueChange: uploadFiles,
|
|
11419
|
+
dropzoneOptions: { ...dropzone, multiple },
|
|
11420
|
+
className: "text-muted-foreground hover:text-primary relative aspect-square h-full cursor-pointer overflow-hidden rounded-lg border",
|
|
11421
|
+
children: /* @__PURE__ */ jsx104(FileInput, { className: cn("text-muted-foreground flex h-full w-full flex-col items-center justify-center"), children: /* @__PURE__ */ jsx104(UploadIcon2, { className: "my-4 h-8 w-8" }) })
|
|
11422
|
+
}
|
|
11423
|
+
),
|
|
11424
|
+
files.map((file, index) => /* @__PURE__ */ jsx104(FilePreviewItem, { file, onRemoveClick: () => handleRemoveFile(index) }, file.name + "-" + index))
|
|
11425
|
+
]
|
|
11426
|
+
}
|
|
11427
|
+
);
|
|
11428
|
+
}
|
|
11429
|
+
__name(MultiFileUploader, "MultiFileUploader");
|
|
11430
|
+
var FilePreviewItem = /* @__PURE__ */ __name(({ file, onRemoveClick }) => {
|
|
11431
|
+
const [objectUrl, setObjectUrl] = useState29(null);
|
|
11432
|
+
useEffect21(() => {
|
|
11433
|
+
if (file.type.startsWith("image/")) {
|
|
11434
|
+
const url = URL.createObjectURL(file);
|
|
11435
|
+
setObjectUrl(url);
|
|
11436
|
+
return () => URL.revokeObjectURL(url);
|
|
11437
|
+
}
|
|
11438
|
+
setObjectUrl(null);
|
|
11439
|
+
}, [file]);
|
|
11440
|
+
const getFileIcon = /* @__PURE__ */ __name(() => {
|
|
11441
|
+
const extension = file.name.split(".").pop()?.toLowerCase();
|
|
11442
|
+
if (file.type.startsWith("image/")) {
|
|
11443
|
+
return /* @__PURE__ */ jsx104(FileImageIcon, { className: "text-muted h-10 w-10 sm:h-12 sm:w-12" });
|
|
11444
|
+
}
|
|
11445
|
+
if (file.type === "application/pdf") {
|
|
11446
|
+
return /* @__PURE__ */ jsx104(FileTextIcon, { className: "text-destructive h-10 w-10 sm:h-12 sm:w-12" });
|
|
11447
|
+
}
|
|
11448
|
+
if (file.type.includes("wordprocessingml") || extension === "docx" || extension === "doc") {
|
|
11449
|
+
return /* @__PURE__ */ jsx104(FileTextIcon, { className: "text-primary h-10 w-10 sm:h-12 sm:w-12" });
|
|
11450
|
+
}
|
|
11451
|
+
if (file.type.includes("spreadsheetml") || extension === "xlsx" || extension === "xls") {
|
|
11452
|
+
return /* @__PURE__ */ jsx104(FileSpreadsheetIcon, { className: "text-secondary h-10 w-10 sm:h-12 sm:w-12" });
|
|
11453
|
+
}
|
|
11454
|
+
if (file.type.startsWith("text/")) {
|
|
11455
|
+
return /* @__PURE__ */ jsx104(FileTextIcon, { className: "h-10 w-10 sm:h-12 sm:w-12" });
|
|
11456
|
+
}
|
|
11457
|
+
return /* @__PURE__ */ jsx104(FileIcon, { className: "text-muted h-10 w-10 sm:h-12 sm:w-12" });
|
|
11458
|
+
}, "getFileIcon");
|
|
11459
|
+
return /* @__PURE__ */ jsxs62("div", { className: "text-muted-foreground group relative aspect-square h-full overflow-hidden rounded-lg border", children: [
|
|
11460
|
+
/* @__PURE__ */ jsx104(
|
|
11461
|
+
"button",
|
|
11462
|
+
{
|
|
11463
|
+
onClick: onRemoveClick,
|
|
11464
|
+
className: "absolute top-1.5 end-1.5 z-20 rounded-full bg-black/60 p-1 text-white opacity-0 transition-all duration-200 ease-in-out group-hover:opacity-100 hover:bg-red-600 focus:outline-none",
|
|
11465
|
+
"aria-label": "Remove file",
|
|
11466
|
+
children: /* @__PURE__ */ jsx104(XIcon7, { className: "h-3.5 w-3.5" })
|
|
11467
|
+
}
|
|
11468
|
+
),
|
|
11469
|
+
objectUrl ? /* @__PURE__ */ jsx104(Image3, { src: objectUrl, alt: file.name, className: "h-full w-full object-cover", width: 200, height: 200 }) : /* @__PURE__ */ jsxs62("div", { className: "bg-muted/30 flex h-full w-full flex-col items-center justify-center p-2", children: [
|
|
11470
|
+
getFileIcon(),
|
|
11471
|
+
/* @__PURE__ */ jsx104("span", { className: "text-foreground/80 mt-2 w-full truncate px-1 text-center text-xs sm:text-xs", children: file.name })
|
|
11472
|
+
] })
|
|
11473
|
+
] });
|
|
11474
|
+
}, "FilePreviewItem");
|
|
11386
11475
|
|
|
11387
11476
|
// src/features/user/components/widgets/UserAvatar.tsx
|
|
11388
11477
|
import { jsx as jsx105, jsxs as jsxs63 } from "react/jsx-runtime";
|
|
@@ -13501,10 +13590,8 @@ var useRoleContext = /* @__PURE__ */ __name(() => {
|
|
|
13501
13590
|
}, "useRoleContext");
|
|
13502
13591
|
|
|
13503
13592
|
// src/features/how-to/components/forms/HowToDeleter.tsx
|
|
13504
|
-
import { useTranslations as useTranslations45 } from "next-intl";
|
|
13505
13593
|
import { jsx as jsx147 } from "react/jsx-runtime";
|
|
13506
13594
|
function HowToDeleterInternal({ howTo }) {
|
|
13507
|
-
const t = useTranslations45();
|
|
13508
13595
|
const generateUrl = usePageUrlGenerator();
|
|
13509
13596
|
if (!howTo) return null;
|
|
13510
13597
|
return /* @__PURE__ */ jsx147(
|
|
@@ -13525,14 +13612,14 @@ __name(HowToDeleter, "HowToDeleter");
|
|
|
13525
13612
|
// src/features/how-to/components/forms/HowToEditor.tsx
|
|
13526
13613
|
import { zodResolver as zodResolver4 } from "@hookform/resolvers/zod";
|
|
13527
13614
|
import { PlusIcon, SearchIcon as SearchIcon6, XIcon as XIcon10 } from "lucide-react";
|
|
13528
|
-
import { useTranslations as
|
|
13615
|
+
import { useTranslations as useTranslations46 } from "next-intl";
|
|
13529
13616
|
import { useCallback as useCallback24, useEffect as useEffect30, useMemo as useMemo18, useRef as useRef24, useState as useState41 } from "react";
|
|
13530
13617
|
import { useForm as useForm4 } from "react-hook-form";
|
|
13531
13618
|
import { v4 as v43 } from "uuid";
|
|
13532
13619
|
import { z as z3 } from "zod";
|
|
13533
13620
|
|
|
13534
13621
|
// src/features/how-to/components/forms/HowToMultiSelector.tsx
|
|
13535
|
-
import { useTranslations as
|
|
13622
|
+
import { useTranslations as useTranslations45 } from "next-intl";
|
|
13536
13623
|
import { jsx as jsx148 } from "react/jsx-runtime";
|
|
13537
13624
|
function HowToMultiSelector({
|
|
13538
13625
|
id,
|
|
@@ -13543,7 +13630,7 @@ function HowToMultiSelector({
|
|
|
13543
13630
|
onChange,
|
|
13544
13631
|
isRequired = false
|
|
13545
13632
|
}) {
|
|
13546
|
-
const t =
|
|
13633
|
+
const t = useTranslations45();
|
|
13547
13634
|
return /* @__PURE__ */ jsx148(
|
|
13548
13635
|
EntityMultiSelector,
|
|
13549
13636
|
{
|
|
@@ -13644,7 +13731,7 @@ function HowToEditorInternal({
|
|
|
13644
13731
|
onDialogOpenChange
|
|
13645
13732
|
}) {
|
|
13646
13733
|
const router = useI18nRouter();
|
|
13647
|
-
const t =
|
|
13734
|
+
const t = useTranslations46();
|
|
13648
13735
|
const formSchema = useMemo18(
|
|
13649
13736
|
() => z3.object({
|
|
13650
13737
|
id: z3.string().uuid(),
|
|
@@ -13888,13 +13975,13 @@ function HowToEditor(props) {
|
|
|
13888
13975
|
__name(HowToEditor, "HowToEditor");
|
|
13889
13976
|
|
|
13890
13977
|
// src/features/how-to/contexts/HowToContext.tsx
|
|
13891
|
-
import { useTranslations as
|
|
13978
|
+
import { useTranslations as useTranslations47 } from "next-intl";
|
|
13892
13979
|
import { createContext as createContext20, useContext as useContext21, useState as useState42 } from "react";
|
|
13893
13980
|
import { jsx as jsx150 } from "react/jsx-runtime";
|
|
13894
13981
|
var HowToContext = createContext20(void 0);
|
|
13895
13982
|
var HowToProvider = /* @__PURE__ */ __name(({ children, dehydratedHowTo }) => {
|
|
13896
13983
|
const generateUrl = usePageUrlGenerator();
|
|
13897
|
-
const t =
|
|
13984
|
+
const t = useTranslations47();
|
|
13898
13985
|
const [howTo, setHowTo] = useState42(
|
|
13899
13986
|
dehydratedHowTo ? rehydrate(Modules.HowTo, dehydratedHowTo) : void 0
|
|
13900
13987
|
);
|
|
@@ -13953,7 +14040,7 @@ var useHowToContext = /* @__PURE__ */ __name(() => {
|
|
|
13953
14040
|
|
|
13954
14041
|
// src/features/rbac/contexts/RbacContext.tsx
|
|
13955
14042
|
import { DownloadIcon, Loader2Icon as Loader2Icon3 } from "lucide-react";
|
|
13956
|
-
import { useTranslations as
|
|
14043
|
+
import { useTranslations as useTranslations48 } from "next-intl";
|
|
13957
14044
|
import { createContext as createContext21, useCallback as useCallback25, useContext as useContext22, useEffect as useEffect31, useMemo as useMemo19, useState as useState43 } from "react";
|
|
13958
14045
|
import { jsx as jsx151, jsxs as jsxs84 } from "react/jsx-runtime";
|
|
13959
14046
|
var DEFAULT_OUTPUT_PATH = "apps/api/src/rbac/permissions.ts";
|
|
@@ -13976,7 +14063,7 @@ var RbacProvider = /* @__PURE__ */ __name(({
|
|
|
13976
14063
|
outputPath = DEFAULT_OUTPUT_PATH
|
|
13977
14064
|
}) => {
|
|
13978
14065
|
const generateUrl = usePageUrlGenerator();
|
|
13979
|
-
const t =
|
|
14066
|
+
const t = useTranslations48();
|
|
13980
14067
|
const [matrix, setMatrix] = useState43(null);
|
|
13981
14068
|
const [modulePaths, setModulePaths] = useState43({});
|
|
13982
14069
|
const [loading, setLoading] = useState43(true);
|
|
@@ -14088,7 +14175,7 @@ var useRbacContext = /* @__PURE__ */ __name(() => {
|
|
|
14088
14175
|
}, "useRbacContext");
|
|
14089
14176
|
|
|
14090
14177
|
// src/features/assistant/contexts/AssistantContext.tsx
|
|
14091
|
-
import { useTranslations as
|
|
14178
|
+
import { useTranslations as useTranslations49 } from "next-intl";
|
|
14092
14179
|
import { createContext as createContext22, useCallback as useCallback26, useContext as useContext23, useEffect as useEffect32, useMemo as useMemo20, useState as useState44 } from "react";
|
|
14093
14180
|
import { jsx as jsx152 } from "react/jsx-runtime";
|
|
14094
14181
|
var AssistantContext = createContext22(void 0);
|
|
@@ -14121,7 +14208,7 @@ function AssistantProvider({
|
|
|
14121
14208
|
scope,
|
|
14122
14209
|
threadUrl
|
|
14123
14210
|
}) {
|
|
14124
|
-
const t =
|
|
14211
|
+
const t = useTranslations49();
|
|
14125
14212
|
const generateUrl = usePageUrlGenerator();
|
|
14126
14213
|
const resolveThreadUrl = useCallback26(
|
|
14127
14214
|
(id) => threadUrl ? threadUrl(id) : id ? `/assistants/${id}` : "/assistants",
|
|
@@ -14334,13 +14421,13 @@ function useAssistantContext() {
|
|
|
14334
14421
|
__name(useAssistantContext, "useAssistantContext");
|
|
14335
14422
|
|
|
14336
14423
|
// src/contexts/CommonContext.tsx
|
|
14337
|
-
import { useTranslations as
|
|
14424
|
+
import { useTranslations as useTranslations50 } from "next-intl";
|
|
14338
14425
|
import { createContext as createContext23, useContext as useContext24 } from "react";
|
|
14339
14426
|
import { jsx as jsx153 } from "react/jsx-runtime";
|
|
14340
14427
|
var CommonContext = createContext23(void 0);
|
|
14341
14428
|
var CommonProvider = /* @__PURE__ */ __name(({ children }) => {
|
|
14342
14429
|
const { company } = useCurrentUserContext();
|
|
14343
|
-
const t =
|
|
14430
|
+
const t = useTranslations50();
|
|
14344
14431
|
const breadcrumb = /* @__PURE__ */ __name(() => {
|
|
14345
14432
|
const response = [];
|
|
14346
14433
|
return response;
|
|
@@ -14766,7 +14853,7 @@ function BreadcrumbMobile({
|
|
|
14766
14853
|
__name(BreadcrumbMobile, "BreadcrumbMobile");
|
|
14767
14854
|
function BreadcrumbNavigation({ items, rootLabel }) {
|
|
14768
14855
|
const generateUrl = usePageUrlGenerator();
|
|
14769
|
-
const t =
|
|
14856
|
+
const t = useTranslations51();
|
|
14770
14857
|
const isMobile = useIsMobile();
|
|
14771
14858
|
const root = rootLabel?.trim() ? rootLabel : t(`common.home`);
|
|
14772
14859
|
if (isMobile) {
|
|
@@ -14978,12 +15065,12 @@ __name(PageSection, "PageSection");
|
|
|
14978
15065
|
// src/components/navigations/RecentPagesNavigator.tsx
|
|
14979
15066
|
import { useAtomValue } from "jotai";
|
|
14980
15067
|
import { HistoryIcon } from "lucide-react";
|
|
14981
|
-
import { useTranslations as
|
|
15068
|
+
import { useTranslations as useTranslations52 } from "next-intl";
|
|
14982
15069
|
import { usePathname as usePathname4 } from "next/navigation";
|
|
14983
15070
|
import { jsx as jsx162, jsxs as jsxs90 } from "react/jsx-runtime";
|
|
14984
15071
|
function RecentPagesNavigator() {
|
|
14985
15072
|
const recentPages = useAtomValue(recentPagesAtom);
|
|
14986
|
-
const t =
|
|
15073
|
+
const t = useTranslations52();
|
|
14987
15074
|
const { isMobile } = useSidebar();
|
|
14988
15075
|
const pathname = usePathname4();
|
|
14989
15076
|
const isCurrentPage = /* @__PURE__ */ __name((url) => !!pathname && (pathname === url || pathname.startsWith(`${url}/`)), "isCurrentPage");
|
|
@@ -15068,7 +15155,7 @@ __name(partitionTabs, "partitionTabs");
|
|
|
15068
15155
|
|
|
15069
15156
|
// src/components/containers/ReactMarkdownContainer.tsx
|
|
15070
15157
|
import { ChevronDown as ChevronDown2, ChevronUp } from "lucide-react";
|
|
15071
|
-
import { useTranslations as
|
|
15158
|
+
import { useTranslations as useTranslations53 } from "next-intl";
|
|
15072
15159
|
import { useEffect as useEffect40, useRef as useRef27, useState as useState50 } from "react";
|
|
15073
15160
|
import ReactMarkdown from "react-markdown";
|
|
15074
15161
|
import remarkGfm from "remark-gfm";
|
|
@@ -15079,7 +15166,7 @@ function ReactMarkdownContainer({
|
|
|
15079
15166
|
initialLines = 4,
|
|
15080
15167
|
size = "normal"
|
|
15081
15168
|
}) {
|
|
15082
|
-
const t =
|
|
15169
|
+
const t = useTranslations53("ui.buttons");
|
|
15083
15170
|
const [isExpanded, setIsExpanded] = useState50(false);
|
|
15084
15171
|
const [showExpandButton, setShowExpandButton] = useState50(false);
|
|
15085
15172
|
const contentRef = useRef27(null);
|
|
@@ -15638,10 +15725,10 @@ function TabsContainer({
|
|
|
15638
15725
|
__name(TabsContainer, "TabsContainer");
|
|
15639
15726
|
|
|
15640
15727
|
// src/components/details/AllowedUsersDetails.tsx
|
|
15641
|
-
import { useTranslations as
|
|
15728
|
+
import { useTranslations as useTranslations54 } from "next-intl";
|
|
15642
15729
|
import { jsx as jsx168, jsxs as jsxs96 } from "react/jsx-runtime";
|
|
15643
15730
|
function AllowedUsersDetails({ showTitle, content }) {
|
|
15644
|
-
const t =
|
|
15731
|
+
const t = useTranslations54();
|
|
15645
15732
|
return /* @__PURE__ */ jsxs96("div", { className: "mb-2 flex w-full flex-col gap-y-2", children: [
|
|
15646
15733
|
showTitle && /* @__PURE__ */ jsx168("h3", { className: "text-xs font-semibold", children: t("common.permissions") }),
|
|
15647
15734
|
/* @__PURE__ */ jsx168("div", { className: "flex w-full items-center justify-start gap-x-4", children: /* @__PURE__ */ jsx168(ContributorsList, { content }) })
|
|
@@ -16348,11 +16435,11 @@ function useRehydrationList(classKey, data) {
|
|
|
16348
16435
|
__name(useRehydrationList, "useRehydrationList");
|
|
16349
16436
|
|
|
16350
16437
|
// src/features/company/hooks/useCompanyTableStructure.tsx
|
|
16351
|
-
import { useTranslations as
|
|
16438
|
+
import { useTranslations as useTranslations55 } from "next-intl";
|
|
16352
16439
|
import { useMemo as useMemo26 } from "react";
|
|
16353
16440
|
import { jsx as jsx181 } from "react/jsx-runtime";
|
|
16354
16441
|
var useCompanyTableStructure = /* @__PURE__ */ __name((params) => {
|
|
16355
|
-
const t =
|
|
16442
|
+
const t = useTranslations55();
|
|
16356
16443
|
const generateUrl = usePageUrlGenerator();
|
|
16357
16444
|
const { hasRole } = useCurrentUserContext();
|
|
16358
16445
|
const tableData = useMemo26(() => {
|
|
@@ -16481,11 +16568,11 @@ function useSubscriptionStatus() {
|
|
|
16481
16568
|
__name(useSubscriptionStatus, "useSubscriptionStatus");
|
|
16482
16569
|
|
|
16483
16570
|
// src/features/role/hooks/useRoleTableStructure.tsx
|
|
16484
|
-
import { useTranslations as
|
|
16571
|
+
import { useTranslations as useTranslations56 } from "next-intl";
|
|
16485
16572
|
import { useMemo as useMemo28 } from "react";
|
|
16486
16573
|
import { Fragment as Fragment26, jsx as jsx182 } from "react/jsx-runtime";
|
|
16487
16574
|
var useRoleTableStructure = /* @__PURE__ */ __name((params) => {
|
|
16488
|
-
const t =
|
|
16575
|
+
const t = useTranslations56();
|
|
16489
16576
|
const generateUrl = usePageUrlGenerator();
|
|
16490
16577
|
const tableData = useMemo28(() => {
|
|
16491
16578
|
return params.data.map((role) => {
|
|
@@ -16536,7 +16623,7 @@ var useRoleTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
16536
16623
|
}, "useRoleTableStructure");
|
|
16537
16624
|
|
|
16538
16625
|
// src/features/billing/stripe-price/hooks/useStripePriceTableStructure.tsx
|
|
16539
|
-
import { useTranslations as
|
|
16626
|
+
import { useTranslations as useTranslations57 } from "next-intl";
|
|
16540
16627
|
import { useMemo as useMemo29 } from "react";
|
|
16541
16628
|
|
|
16542
16629
|
// src/features/billing/components/utils/currency.ts
|
|
@@ -16572,7 +16659,7 @@ __name(formatCurrency, "formatCurrency");
|
|
|
16572
16659
|
// src/features/billing/stripe-price/hooks/useStripePriceTableStructure.tsx
|
|
16573
16660
|
import { jsx as jsx183, jsxs as jsxs100 } from "react/jsx-runtime";
|
|
16574
16661
|
var useStripePriceTableStructure = /* @__PURE__ */ __name((params) => {
|
|
16575
|
-
const t =
|
|
16662
|
+
const t = useTranslations57();
|
|
16576
16663
|
const generateUrl = usePageUrlGenerator();
|
|
16577
16664
|
const tableData = useMemo29(() => {
|
|
16578
16665
|
return params.data.map((price) => {
|
|
@@ -16653,11 +16740,11 @@ var useStripePriceTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
16653
16740
|
registerTableGenerator("stripe-prices", useStripePriceTableStructure);
|
|
16654
16741
|
|
|
16655
16742
|
// src/features/billing/stripe-product/hooks/useStripeProductTableStructure.tsx
|
|
16656
|
-
import { useTranslations as
|
|
16743
|
+
import { useTranslations as useTranslations58 } from "next-intl";
|
|
16657
16744
|
import { useMemo as useMemo30 } from "react";
|
|
16658
16745
|
import { jsx as jsx184 } from "react/jsx-runtime";
|
|
16659
16746
|
var useStripeProductTableStructure = /* @__PURE__ */ __name((params) => {
|
|
16660
|
-
const t =
|
|
16747
|
+
const t = useTranslations58();
|
|
16661
16748
|
const generateUrl = usePageUrlGenerator();
|
|
16662
16749
|
const tableData = useMemo30(() => {
|
|
16663
16750
|
return params.data.map((product) => {
|
|
@@ -16712,11 +16799,11 @@ var useStripeProductTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
16712
16799
|
registerTableGenerator("stripe-products", useStripeProductTableStructure);
|
|
16713
16800
|
|
|
16714
16801
|
// src/features/content/hooks/useContentTableStructure.tsx
|
|
16715
|
-
import { useTranslations as
|
|
16802
|
+
import { useTranslations as useTranslations59 } from "next-intl";
|
|
16716
16803
|
import { useMemo as useMemo31 } from "react";
|
|
16717
16804
|
import { Fragment as Fragment27, jsx as jsx185, jsxs as jsxs101 } from "react/jsx-runtime";
|
|
16718
16805
|
var useContentTableStructure = /* @__PURE__ */ __name((params) => {
|
|
16719
|
-
const t =
|
|
16806
|
+
const t = useTranslations59();
|
|
16720
16807
|
const generateUrl = usePageUrlGenerator();
|
|
16721
16808
|
const tableData = useMemo31(() => {
|
|
16722
16809
|
return params.data.map((content) => {
|
|
@@ -17113,16 +17200,16 @@ registerTableGenerator("stripe-prices", useStripePriceTableStructure);
|
|
|
17113
17200
|
// src/components/tables/ContentListTable.tsx
|
|
17114
17201
|
import { flexRender, getCoreRowModel, getExpandedRowModel, useReactTable } from "@tanstack/react-table";
|
|
17115
17202
|
import { ChevronLeft, ChevronRight, Loader2 as Loader23 } from "lucide-react";
|
|
17116
|
-
import { useTranslations as
|
|
17203
|
+
import { useTranslations as useTranslations61 } from "next-intl";
|
|
17117
17204
|
import React31, { memo, useMemo as useMemo32, useState as useState60 } from "react";
|
|
17118
17205
|
|
|
17119
17206
|
// src/components/tables/ContentTableSearch.tsx
|
|
17120
17207
|
import { RefreshCw, Search, X as X3 } from "lucide-react";
|
|
17121
|
-
import { useTranslations as
|
|
17208
|
+
import { useTranslations as useTranslations60 } from "next-intl";
|
|
17122
17209
|
import { useCallback as useCallback35, useEffect as useEffect50, useRef as useRef31, useState as useState59 } from "react";
|
|
17123
17210
|
import { jsx as jsx186, jsxs as jsxs102 } from "react/jsx-runtime";
|
|
17124
17211
|
function ContentTableSearch({ data }) {
|
|
17125
|
-
const t =
|
|
17212
|
+
const t = useTranslations60();
|
|
17126
17213
|
const searchTermRef = useRef31("");
|
|
17127
17214
|
const inputRef = useRef31(null);
|
|
17128
17215
|
const [searchTerm, setSearchTerm] = useState59("");
|
|
@@ -17236,7 +17323,7 @@ function getGroupKeys(item, field) {
|
|
|
17236
17323
|
__name(getGroupKeys, "getGroupKeys");
|
|
17237
17324
|
var ContentListTable = memo(/* @__PURE__ */ __name(function ContentListTable2(props) {
|
|
17238
17325
|
const { data, fields, checkedIds, toggleId, allowSearch, filters: _filters, fullWidth, onRowClick } = props;
|
|
17239
|
-
const t =
|
|
17326
|
+
const t = useTranslations61();
|
|
17240
17327
|
const [expanded, setExpanded] = useState60(
|
|
17241
17328
|
props.defaultExpanded === true ? true : typeof props.defaultExpanded === "object" ? props.defaultExpanded : {}
|
|
17242
17329
|
);
|
|
@@ -17458,12 +17545,12 @@ function ContentListGrid(props) {
|
|
|
17458
17545
|
__name(ContentListGrid, "ContentListGrid");
|
|
17459
17546
|
|
|
17460
17547
|
// src/components/fiscal/ItalianFiscalData.tsx
|
|
17461
|
-
import { useTranslations as
|
|
17548
|
+
import { useTranslations as useTranslations62 } from "next-intl";
|
|
17462
17549
|
import { forwardRef as forwardRef8, useCallback as useCallback36, useImperativeHandle as useImperativeHandle2, useRef as useRef33, useState as useState61 } from "react";
|
|
17463
17550
|
import { z as z4 } from "zod";
|
|
17464
17551
|
import { jsx as jsx189, jsxs as jsxs105 } from "react/jsx-runtime";
|
|
17465
17552
|
var ItalianFiscalData = forwardRef8(/* @__PURE__ */ __name(function ItalianFiscalData2({ initialData }, ref) {
|
|
17466
|
-
const t =
|
|
17553
|
+
const t = useTranslations62();
|
|
17467
17554
|
const initialRef = useRef33(initialData);
|
|
17468
17555
|
const [fiscalData, setFiscalData] = useState61(initialData);
|
|
17469
17556
|
const fiscalDataRef = useRef33(initialData);
|
|
@@ -17665,7 +17752,7 @@ import { createContext as createContext25, useContext as useContext26, useMemo a
|
|
|
17665
17752
|
// src/features/auth/components/forms/Register.tsx
|
|
17666
17753
|
import { zodResolver as zodResolver5 } from "@hookform/resolvers/zod";
|
|
17667
17754
|
import { Loader2 as Loader24 } from "lucide-react";
|
|
17668
|
-
import { useTranslations as
|
|
17755
|
+
import { useTranslations as useTranslations64 } from "next-intl";
|
|
17669
17756
|
import Image7 from "next/image";
|
|
17670
17757
|
import { useSearchParams as useSearchParams2 } from "next/navigation";
|
|
17671
17758
|
import { useEffect as useEffect52, useState as useState62 } from "react";
|
|
@@ -17674,14 +17761,14 @@ import { v4 as v45 } from "uuid";
|
|
|
17674
17761
|
import { z as z5 } from "zod";
|
|
17675
17762
|
|
|
17676
17763
|
// src/features/auth/components/GdprConsentSection.tsx
|
|
17677
|
-
import { useTranslations as
|
|
17764
|
+
import { useTranslations as useTranslations63 } from "next-intl";
|
|
17678
17765
|
import { Fragment as Fragment30, jsx as jsx195, jsxs as jsxs109 } from "react/jsx-runtime";
|
|
17679
17766
|
function GdprConsentSection({
|
|
17680
17767
|
form,
|
|
17681
17768
|
termsCheckboxId = "termsAccepted",
|
|
17682
17769
|
marketingCheckboxId = "marketingConsent"
|
|
17683
17770
|
}) {
|
|
17684
|
-
const t =
|
|
17771
|
+
const t = useTranslations63("auth.gdpr");
|
|
17685
17772
|
const termsLabel = /* @__PURE__ */ jsxs109(Fragment30, { children: [
|
|
17686
17773
|
t("terms_prefix"),
|
|
17687
17774
|
" ",
|
|
@@ -17734,7 +17821,7 @@ function buildOAuthQueryParams(inviteCode, referralCode) {
|
|
|
17734
17821
|
}
|
|
17735
17822
|
__name(buildOAuthQueryParams, "buildOAuthQueryParams");
|
|
17736
17823
|
function Register() {
|
|
17737
|
-
const t =
|
|
17824
|
+
const t = useTranslations64();
|
|
17738
17825
|
const { setComponentType } = useAuthContext();
|
|
17739
17826
|
const searchParams = useSearchParams2();
|
|
17740
17827
|
const inviteCode = searchParams.get("invite");
|
|
@@ -18079,17 +18166,17 @@ __name(InnerAuthContainer, "InnerAuthContainer");
|
|
|
18079
18166
|
|
|
18080
18167
|
// src/features/auth/components/two-factor/TwoFactorSettings.tsx
|
|
18081
18168
|
import { ShieldAlert, ShieldCheck } from "lucide-react";
|
|
18082
|
-
import { useTranslations as
|
|
18169
|
+
import { useTranslations as useTranslations71 } from "next-intl";
|
|
18083
18170
|
import { useCallback as useCallback37, useEffect as useEffect54, useState as useState71 } from "react";
|
|
18084
18171
|
import { v4 as v48 } from "uuid";
|
|
18085
18172
|
|
|
18086
18173
|
// src/features/auth/components/two-factor/BackupCodesDialog.tsx
|
|
18087
18174
|
import { Copy, Download, RefreshCw as RefreshCw2 } from "lucide-react";
|
|
18088
|
-
import { useTranslations as
|
|
18175
|
+
import { useTranslations as useTranslations65 } from "next-intl";
|
|
18089
18176
|
import { useState as useState64 } from "react";
|
|
18090
18177
|
import { jsx as jsx199, jsxs as jsxs111 } from "react/jsx-runtime";
|
|
18091
18178
|
function BackupCodesDialog({ remainingCodes, onRegenerate, trigger }) {
|
|
18092
|
-
const t =
|
|
18179
|
+
const t = useTranslations65();
|
|
18093
18180
|
const [open, setOpen] = useState64(false);
|
|
18094
18181
|
const [codes, setCodes] = useState64([]);
|
|
18095
18182
|
const [isLoading, setIsLoading] = useState64(false);
|
|
@@ -18187,7 +18274,7 @@ Keep these codes safe. Each code can only be used once.`;
|
|
|
18187
18274
|
__name(BackupCodesDialog, "BackupCodesDialog");
|
|
18188
18275
|
|
|
18189
18276
|
// src/features/auth/components/two-factor/DisableTwoFactorDialog.tsx
|
|
18190
|
-
import { useTranslations as
|
|
18277
|
+
import { useTranslations as useTranslations66 } from "next-intl";
|
|
18191
18278
|
import { useState as useState66 } from "react";
|
|
18192
18279
|
|
|
18193
18280
|
// src/features/auth/components/two-factor/TotpInput.tsx
|
|
@@ -18257,7 +18344,7 @@ __name(TotpInput, "TotpInput");
|
|
|
18257
18344
|
// src/features/auth/components/two-factor/DisableTwoFactorDialog.tsx
|
|
18258
18345
|
import { jsx as jsx201, jsxs as jsxs113 } from "react/jsx-runtime";
|
|
18259
18346
|
function DisableTwoFactorDialog({ onSuccess, trigger }) {
|
|
18260
|
-
const t =
|
|
18347
|
+
const t = useTranslations66();
|
|
18261
18348
|
const [open, setOpen] = useState66(false);
|
|
18262
18349
|
const [isLoading, setIsLoading] = useState66(false);
|
|
18263
18350
|
const [error, setError] = useState66();
|
|
@@ -18300,11 +18387,11 @@ __name(DisableTwoFactorDialog, "DisableTwoFactorDialog");
|
|
|
18300
18387
|
|
|
18301
18388
|
// src/features/auth/components/two-factor/PasskeyList.tsx
|
|
18302
18389
|
import { Edit, Key, Trash2 } from "lucide-react";
|
|
18303
|
-
import { useTranslations as
|
|
18390
|
+
import { useTranslations as useTranslations67 } from "next-intl";
|
|
18304
18391
|
import { useState as useState67 } from "react";
|
|
18305
18392
|
import { Fragment as Fragment32, jsx as jsx202, jsxs as jsxs114 } from "react/jsx-runtime";
|
|
18306
18393
|
function PasskeyList({ passkeys, onRefresh }) {
|
|
18307
|
-
const t =
|
|
18394
|
+
const t = useTranslations67();
|
|
18308
18395
|
const [renameDialogOpen, setRenameDialogOpen] = useState67(false);
|
|
18309
18396
|
const [selectedPasskey, setSelectedPasskey] = useState67(null);
|
|
18310
18397
|
const [newName, setNewName] = useState67("");
|
|
@@ -18421,12 +18508,12 @@ __name(PasskeyList, "PasskeyList");
|
|
|
18421
18508
|
|
|
18422
18509
|
// src/features/auth/components/two-factor/PasskeySetupDialog.tsx
|
|
18423
18510
|
import { startRegistration } from "@simplewebauthn/browser";
|
|
18424
|
-
import { useTranslations as
|
|
18511
|
+
import { useTranslations as useTranslations68 } from "next-intl";
|
|
18425
18512
|
import { useState as useState68 } from "react";
|
|
18426
18513
|
import { v4 as v46 } from "uuid";
|
|
18427
18514
|
import { jsx as jsx203, jsxs as jsxs115 } from "react/jsx-runtime";
|
|
18428
18515
|
function PasskeySetupDialog({ open, onOpenChange, onSuccess }) {
|
|
18429
|
-
const t =
|
|
18516
|
+
const t = useTranslations68();
|
|
18430
18517
|
const { currentUser } = useCurrentUserContext();
|
|
18431
18518
|
const [name, setName] = useState68("");
|
|
18432
18519
|
const [isLoading, setIsLoading] = useState68(false);
|
|
@@ -18492,11 +18579,11 @@ __name(PasskeySetupDialog, "PasskeySetupDialog");
|
|
|
18492
18579
|
|
|
18493
18580
|
// src/features/auth/components/two-factor/TotpAuthenticatorList.tsx
|
|
18494
18581
|
import { Smartphone, Trash2 as Trash22 } from "lucide-react";
|
|
18495
|
-
import { useTranslations as
|
|
18582
|
+
import { useTranslations as useTranslations69 } from "next-intl";
|
|
18496
18583
|
import { useState as useState69 } from "react";
|
|
18497
18584
|
import { jsx as jsx204, jsxs as jsxs116 } from "react/jsx-runtime";
|
|
18498
18585
|
function TotpAuthenticatorList({ authenticators, onDelete }) {
|
|
18499
|
-
const t =
|
|
18586
|
+
const t = useTranslations69();
|
|
18500
18587
|
const [deletingId, setDeletingId] = useState69(null);
|
|
18501
18588
|
const handleDelete = /* @__PURE__ */ __name(async (id) => {
|
|
18502
18589
|
setDeletingId(id);
|
|
@@ -18566,13 +18653,13 @@ function TotpAuthenticatorList({ authenticators, onDelete }) {
|
|
|
18566
18653
|
__name(TotpAuthenticatorList, "TotpAuthenticatorList");
|
|
18567
18654
|
|
|
18568
18655
|
// src/features/auth/components/two-factor/TotpSetupDialog.tsx
|
|
18569
|
-
import { useTranslations as
|
|
18656
|
+
import { useTranslations as useTranslations70 } from "next-intl";
|
|
18570
18657
|
import { QRCodeSVG } from "qrcode.react";
|
|
18571
18658
|
import { useState as useState70 } from "react";
|
|
18572
18659
|
import { v4 as v47 } from "uuid";
|
|
18573
18660
|
import { jsx as jsx205, jsxs as jsxs117 } from "react/jsx-runtime";
|
|
18574
18661
|
function TotpSetupDialog({ onSuccess, trigger }) {
|
|
18575
|
-
const t =
|
|
18662
|
+
const t = useTranslations70();
|
|
18576
18663
|
const { currentUser } = useCurrentUserContext();
|
|
18577
18664
|
const [open, setOpen] = useState70(false);
|
|
18578
18665
|
const [step, setStep] = useState70("name");
|
|
@@ -18677,7 +18764,7 @@ __name(TotpSetupDialog, "TotpSetupDialog");
|
|
|
18677
18764
|
// src/features/auth/components/two-factor/TwoFactorSettings.tsx
|
|
18678
18765
|
import { Fragment as Fragment33, jsx as jsx206, jsxs as jsxs118 } from "react/jsx-runtime";
|
|
18679
18766
|
function TwoFactorSettings() {
|
|
18680
|
-
const t =
|
|
18767
|
+
const t = useTranslations71();
|
|
18681
18768
|
const [status, setStatus] = useState71(null);
|
|
18682
18769
|
const [authenticators, setAuthenticators] = useState71([]);
|
|
18683
18770
|
const [passkeys, setPasskeys] = useState71([]);
|
|
@@ -18795,7 +18882,7 @@ function SecurityContainer() {
|
|
|
18795
18882
|
__name(SecurityContainer, "SecurityContainer");
|
|
18796
18883
|
|
|
18797
18884
|
// src/features/auth/components/details/LandingComponent.tsx
|
|
18798
|
-
import { useTranslations as
|
|
18885
|
+
import { useTranslations as useTranslations72 } from "next-intl";
|
|
18799
18886
|
import Image9 from "next/image";
|
|
18800
18887
|
|
|
18801
18888
|
// src/features/auth/components/buttons/GoogleSignInButton.tsx
|
|
@@ -18856,7 +18943,7 @@ __name(GoogleSignInButton, "GoogleSignInButton");
|
|
|
18856
18943
|
// src/features/auth/components/details/LandingComponent.tsx
|
|
18857
18944
|
import { Fragment as Fragment34, jsx as jsx209, jsxs as jsxs120 } from "react/jsx-runtime";
|
|
18858
18945
|
function LandingComponent() {
|
|
18859
|
-
const t =
|
|
18946
|
+
const t = useTranslations72();
|
|
18860
18947
|
const { setComponentType } = useAuthContext();
|
|
18861
18948
|
return /* @__PURE__ */ jsxs120(Fragment34, { children: [
|
|
18862
18949
|
/* @__PURE__ */ jsxs120(CardHeader, { className: "mb-4", "data-testid": "page-pre-login-container", children: [
|
|
@@ -18888,7 +18975,7 @@ __name(LandingComponent, "LandingComponent");
|
|
|
18888
18975
|
|
|
18889
18976
|
// src/features/auth/components/forms/AcceptInvitation.tsx
|
|
18890
18977
|
import { zodResolver as zodResolver6 } from "@hookform/resolvers/zod";
|
|
18891
|
-
import { useTranslations as
|
|
18978
|
+
import { useTranslations as useTranslations73 } from "next-intl";
|
|
18892
18979
|
import Image10 from "next/image";
|
|
18893
18980
|
import { useEffect as useEffect55, useState as useState72 } from "react";
|
|
18894
18981
|
import { useForm as useForm6 } from "react-hook-form";
|
|
@@ -18898,7 +18985,7 @@ function AcceptInvitation() {
|
|
|
18898
18985
|
const { setComponentType, params, setParams } = useAuthContext();
|
|
18899
18986
|
const [showConfirmation, setShowConfirmation] = useState72(false);
|
|
18900
18987
|
const [error, setError] = useState72(void 0);
|
|
18901
|
-
const t =
|
|
18988
|
+
const t = useTranslations73();
|
|
18902
18989
|
useEffect55(() => {
|
|
18903
18990
|
async function validateCode(code) {
|
|
18904
18991
|
try {
|
|
@@ -18990,7 +19077,7 @@ function AcceptInvitation() {
|
|
|
18990
19077
|
__name(AcceptInvitation, "AcceptInvitation");
|
|
18991
19078
|
|
|
18992
19079
|
// src/features/auth/components/forms/ActivateAccount.tsx
|
|
18993
|
-
import { useTranslations as
|
|
19080
|
+
import { useTranslations as useTranslations74 } from "next-intl";
|
|
18994
19081
|
import Image11 from "next/image";
|
|
18995
19082
|
import { useEffect as useEffect56, useState as useState73 } from "react";
|
|
18996
19083
|
import { Fragment as Fragment36, jsx as jsx211, jsxs as jsxs122 } from "react/jsx-runtime";
|
|
@@ -18998,7 +19085,7 @@ function ActivateAccount() {
|
|
|
18998
19085
|
const { setComponentType, params, setParams } = useAuthContext();
|
|
18999
19086
|
const [showConfirmation, setShowConfirmation] = useState73(false);
|
|
19000
19087
|
const [error, setError] = useState73(void 0);
|
|
19001
|
-
const t =
|
|
19088
|
+
const t = useTranslations74();
|
|
19002
19089
|
useEffect56(() => {
|
|
19003
19090
|
async function ActivateAccount2(code) {
|
|
19004
19091
|
try {
|
|
@@ -19066,14 +19153,14 @@ __name(Cookies, "Cookies");
|
|
|
19066
19153
|
|
|
19067
19154
|
// src/features/auth/components/forms/ForgotPassword.tsx
|
|
19068
19155
|
import { zodResolver as zodResolver7 } from "@hookform/resolvers/zod";
|
|
19069
|
-
import { useTranslations as
|
|
19156
|
+
import { useTranslations as useTranslations75 } from "next-intl";
|
|
19070
19157
|
import Image12 from "next/image";
|
|
19071
19158
|
import { useState as useState75 } from "react";
|
|
19072
19159
|
import { useForm as useForm7 } from "react-hook-form";
|
|
19073
19160
|
import { z as z7 } from "zod";
|
|
19074
19161
|
import { Fragment as Fragment37, jsx as jsx212, jsxs as jsxs123 } from "react/jsx-runtime";
|
|
19075
19162
|
function ForgotPassword() {
|
|
19076
|
-
const t =
|
|
19163
|
+
const t = useTranslations75();
|
|
19077
19164
|
const { setComponentType } = useAuthContext();
|
|
19078
19165
|
const [showConfirmation, setShowConfirmation] = useState75(false);
|
|
19079
19166
|
const formSchema = z7.object({
|
|
@@ -19137,7 +19224,7 @@ __name(ForgotPassword, "ForgotPassword");
|
|
|
19137
19224
|
|
|
19138
19225
|
// src/features/auth/components/forms/Login.tsx
|
|
19139
19226
|
import { zodResolver as zodResolver8 } from "@hookform/resolvers/zod";
|
|
19140
|
-
import { useTranslations as
|
|
19227
|
+
import { useTranslations as useTranslations76 } from "next-intl";
|
|
19141
19228
|
import Image13 from "next/image";
|
|
19142
19229
|
import { useRouter, useSearchParams as useSearchParams3 } from "next/navigation";
|
|
19143
19230
|
import { useEffect as useEffect58, useState as useState76 } from "react";
|
|
@@ -19145,7 +19232,7 @@ import { useForm as useForm8 } from "react-hook-form";
|
|
|
19145
19232
|
import { z as z8 } from "zod";
|
|
19146
19233
|
import { Fragment as Fragment38, jsx as jsx213, jsxs as jsxs124 } from "react/jsx-runtime";
|
|
19147
19234
|
function Login() {
|
|
19148
|
-
const t =
|
|
19235
|
+
const t = useTranslations76();
|
|
19149
19236
|
const { setUser } = useCurrentUserContext();
|
|
19150
19237
|
const { setComponentType, setPendingTwoFactor } = useAuthContext();
|
|
19151
19238
|
const generateUrl = usePageUrlGenerator();
|
|
@@ -19332,7 +19419,7 @@ __name(RefreshUser, "RefreshUser");
|
|
|
19332
19419
|
|
|
19333
19420
|
// src/features/auth/components/forms/ResetPassword.tsx
|
|
19334
19421
|
import { zodResolver as zodResolver9 } from "@hookform/resolvers/zod";
|
|
19335
|
-
import { useTranslations as
|
|
19422
|
+
import { useTranslations as useTranslations77 } from "next-intl";
|
|
19336
19423
|
import Image14 from "next/image";
|
|
19337
19424
|
import { useEffect as useEffect61, useState as useState77 } from "react";
|
|
19338
19425
|
import { useForm as useForm9 } from "react-hook-form";
|
|
@@ -19342,7 +19429,7 @@ function ResetPassword() {
|
|
|
19342
19429
|
const { setComponentType, params, setParams } = useAuthContext();
|
|
19343
19430
|
const [showConfirmation, setShowConfirmation] = useState77(false);
|
|
19344
19431
|
const [error, setError] = useState77(void 0);
|
|
19345
|
-
const t =
|
|
19432
|
+
const t = useTranslations77();
|
|
19346
19433
|
useEffect61(() => {
|
|
19347
19434
|
async function validateResetPasswordCode(code) {
|
|
19348
19435
|
try {
|
|
@@ -19418,19 +19505,19 @@ function ResetPassword() {
|
|
|
19418
19505
|
__name(ResetPassword, "ResetPassword");
|
|
19419
19506
|
|
|
19420
19507
|
// src/features/auth/components/forms/TwoFactorChallenge.tsx
|
|
19421
|
-
import { useTranslations as
|
|
19508
|
+
import { useTranslations as useTranslations79 } from "next-intl";
|
|
19422
19509
|
import { useRouter as useRouter2, useSearchParams as useSearchParams4 } from "next/navigation";
|
|
19423
19510
|
import { useState as useState79 } from "react";
|
|
19424
19511
|
import { v4 as v410 } from "uuid";
|
|
19425
19512
|
|
|
19426
19513
|
// src/features/auth/components/two-factor/PasskeyButton.tsx
|
|
19427
19514
|
import { startAuthentication } from "@simplewebauthn/browser";
|
|
19428
|
-
import { useTranslations as
|
|
19515
|
+
import { useTranslations as useTranslations78 } from "next-intl";
|
|
19429
19516
|
import { useState as useState78 } from "react";
|
|
19430
19517
|
import { v4 as v49 } from "uuid";
|
|
19431
19518
|
import { jsx as jsx216 } from "react/jsx-runtime";
|
|
19432
19519
|
function PasskeyButton({ pendingToken, onSuccess, onError, disabled = false }) {
|
|
19433
|
-
const t =
|
|
19520
|
+
const t = useTranslations78();
|
|
19434
19521
|
const [isLoading, setIsLoading] = useState78(false);
|
|
19435
19522
|
const handleClick = /* @__PURE__ */ __name(async () => {
|
|
19436
19523
|
setIsLoading(true);
|
|
@@ -19468,7 +19555,7 @@ __name(PasskeyButton, "PasskeyButton");
|
|
|
19468
19555
|
// src/features/auth/components/forms/TwoFactorChallenge.tsx
|
|
19469
19556
|
import { Fragment as Fragment41, jsx as jsx217, jsxs as jsxs126 } from "react/jsx-runtime";
|
|
19470
19557
|
function TwoFactorChallenge() {
|
|
19471
|
-
const t =
|
|
19558
|
+
const t = useTranslations79();
|
|
19472
19559
|
const { setUser } = useCurrentUserContext();
|
|
19473
19560
|
const { pendingTwoFactor, setPendingTwoFactor } = useAuthContext();
|
|
19474
19561
|
const generateUrl = usePageUrlGenerator();
|
|
@@ -19606,7 +19693,7 @@ __name(TwoFactorChallenge, "TwoFactorChallenge");
|
|
|
19606
19693
|
|
|
19607
19694
|
// src/features/administration/components/AdminIndexContainer.tsx
|
|
19608
19695
|
import { Building2Icon, CoinsIcon, CreditCardIcon, PlugZapIcon, ShieldCheckIcon, UsersIcon } from "lucide-react";
|
|
19609
|
-
import { useTranslations as
|
|
19696
|
+
import { useTranslations as useTranslations80 } from "next-intl";
|
|
19610
19697
|
import { jsx as jsx218, jsxs as jsxs127 } from "react/jsx-runtime";
|
|
19611
19698
|
var PLATFORM_SECTIONS = [
|
|
19612
19699
|
{
|
|
@@ -19656,7 +19743,7 @@ var BILLING_SECTION = {
|
|
|
19656
19743
|
href: "/administration/products"
|
|
19657
19744
|
};
|
|
19658
19745
|
function AdminIndexGrid({ additionalGroups = [], hiddenSections = [] }) {
|
|
19659
|
-
const t =
|
|
19746
|
+
const t = useTranslations80();
|
|
19660
19747
|
const available = getStripePublishableKey() ? [...PLATFORM_SECTIONS, BILLING_SECTION] : PLATFORM_SECTIONS;
|
|
19661
19748
|
const platformGroup = {
|
|
19662
19749
|
key: "platform",
|
|
@@ -19764,7 +19851,7 @@ var AI_CONNECTIONS_I18N_KEYS = [
|
|
|
19764
19851
|
];
|
|
19765
19852
|
|
|
19766
19853
|
// src/features/ai-connection/contexts/AiConnectionsContext.tsx
|
|
19767
|
-
import { useTranslations as
|
|
19854
|
+
import { useTranslations as useTranslations81 } from "next-intl";
|
|
19768
19855
|
import { createContext as createContext26, useCallback as useCallback38, useContext as useContext27, useEffect as useEffect62, useMemo as useMemo34, useState as useState80 } from "react";
|
|
19769
19856
|
import { jsx as jsx219 } from "react/jsx-runtime";
|
|
19770
19857
|
var AI_CONNECTIONS_ADMIN_PAGE_URL = "/administration/ai-connections";
|
|
@@ -19781,7 +19868,7 @@ var defaultContextValue3 = {
|
|
|
19781
19868
|
};
|
|
19782
19869
|
var AiConnectionsContext = createContext26(void 0);
|
|
19783
19870
|
var AiConnectionsProvider = /* @__PURE__ */ __name(({ children }) => {
|
|
19784
|
-
const t =
|
|
19871
|
+
const t = useTranslations81();
|
|
19785
19872
|
const generateUrl = usePageUrlGenerator();
|
|
19786
19873
|
const [connections, setConnections] = useState80([]);
|
|
19787
19874
|
const [providerRegistry, setProviderRegistry] = useState80({});
|
|
@@ -19825,21 +19912,21 @@ var AiConnectionsProvider = /* @__PURE__ */ __name(({ children }) => {
|
|
|
19825
19912
|
var useAiConnections = /* @__PURE__ */ __name(() => useContext27(AiConnectionsContext) ?? defaultContextValue3, "useAiConnections");
|
|
19826
19913
|
|
|
19827
19914
|
// src/features/ai-connection/components/containers/AiConnectionsContainer.tsx
|
|
19828
|
-
import { useTranslations as
|
|
19915
|
+
import { useTranslations as useTranslations85 } from "next-intl";
|
|
19829
19916
|
import { useEffect as useEffect64, useMemo as useMemo37, useState as useState82 } from "react";
|
|
19830
19917
|
|
|
19831
19918
|
// src/features/ai-connection/components/lists/AiConnectionTypeCard.tsx
|
|
19832
19919
|
import { ChevronDownIcon as ChevronDownIcon10, ChevronUpIcon as ChevronUpIcon3, PlusIcon as PlusIcon2 } from "lucide-react";
|
|
19833
|
-
import { useTranslations as
|
|
19920
|
+
import { useTranslations as useTranslations84 } from "next-intl";
|
|
19834
19921
|
import { useMemo as useMemo36 } from "react";
|
|
19835
19922
|
|
|
19836
19923
|
// src/features/ai-connection/components/forms/AiConnectionDeleter.tsx
|
|
19837
19924
|
import { TrashIcon } from "lucide-react";
|
|
19838
|
-
import { useTranslations as
|
|
19925
|
+
import { useTranslations as useTranslations82 } from "next-intl";
|
|
19839
19926
|
import { useState as useState81 } from "react";
|
|
19840
19927
|
import { Fragment as Fragment42, jsx as jsx220, jsxs as jsxs128 } from "react/jsx-runtime";
|
|
19841
19928
|
function AiConnectionDeleter({ connection }) {
|
|
19842
|
-
const t =
|
|
19929
|
+
const t = useTranslations82();
|
|
19843
19930
|
const { refresh } = useAiConnections();
|
|
19844
19931
|
const [open, setOpen] = useState81(false);
|
|
19845
19932
|
return /* @__PURE__ */ jsxs128(Fragment42, { children: [
|
|
@@ -19881,7 +19968,7 @@ __name(AiConnectionDeleter, "AiConnectionDeleter");
|
|
|
19881
19968
|
|
|
19882
19969
|
// src/features/ai-connection/components/forms/AiConnectionEditor.tsx
|
|
19883
19970
|
import { zodResolver as zodResolver10 } from "@hookform/resolvers/zod";
|
|
19884
|
-
import { useTranslations as
|
|
19971
|
+
import { useTranslations as useTranslations83 } from "next-intl";
|
|
19885
19972
|
import { useCallback as useCallback39, useEffect as useEffect63, useMemo as useMemo35 } from "react";
|
|
19886
19973
|
import { useForm as useForm10 } from "react-hook-form";
|
|
19887
19974
|
import { v4 as v411 } from "uuid";
|
|
@@ -19903,7 +19990,7 @@ function AiConnectionEditor({
|
|
|
19903
19990
|
forceShow,
|
|
19904
19991
|
onClose
|
|
19905
19992
|
}) {
|
|
19906
|
-
const t =
|
|
19993
|
+
const t = useTranslations83();
|
|
19907
19994
|
const { providerRegistry, refresh } = useAiConnections();
|
|
19908
19995
|
const isEdit = !!connection;
|
|
19909
19996
|
const registryRows = useMemo35(() => providerRegistry[connectionType] ?? [], [providerRegistry, connectionType]);
|
|
@@ -20153,7 +20240,7 @@ function toInput(connection, overrides) {
|
|
|
20153
20240
|
}
|
|
20154
20241
|
__name(toInput, "toInput");
|
|
20155
20242
|
function AiConnectionTypeCard({ connectionType }) {
|
|
20156
|
-
const t =
|
|
20243
|
+
const t = useTranslations84();
|
|
20157
20244
|
const { connections, envDefaults, scopeCompanyId, refresh } = useAiConnections();
|
|
20158
20245
|
const rows = useMemo36(
|
|
20159
20246
|
() => connections.filter(
|
|
@@ -20308,7 +20395,7 @@ function AiConnectionsContainer() {
|
|
|
20308
20395
|
}
|
|
20309
20396
|
__name(AiConnectionsContainer, "AiConnectionsContainer");
|
|
20310
20397
|
function AiConnectionsBody() {
|
|
20311
|
-
const t =
|
|
20398
|
+
const t = useTranslations85();
|
|
20312
20399
|
const { scopeCompanyId, setScopeCompanyId } = useAiConnections();
|
|
20313
20400
|
const [companies, setCompanies] = useState82([]);
|
|
20314
20401
|
useEffect64(() => {
|
|
@@ -20351,10 +20438,10 @@ function AiConnectionsBody() {
|
|
|
20351
20438
|
__name(AiConnectionsBody, "AiConnectionsBody");
|
|
20352
20439
|
|
|
20353
20440
|
// src/features/content/components/lists/ContentsList.tsx
|
|
20354
|
-
import { useTranslations as
|
|
20441
|
+
import { useTranslations as useTranslations86 } from "next-intl";
|
|
20355
20442
|
import { jsx as jsx224, jsxs as jsxs132 } from "react/jsx-runtime";
|
|
20356
20443
|
function ContentsList({ contentList }) {
|
|
20357
|
-
const t =
|
|
20444
|
+
const t = useTranslations86();
|
|
20358
20445
|
return /* @__PURE__ */ jsxs132("div", { className: "flex min-h-0 w-full flex-col overflow-y-auto", children: [
|
|
20359
20446
|
/* @__PURE__ */ jsx224(SectionHeader, { level: 2, children: t(`content.news`) }),
|
|
20360
20447
|
/* @__PURE__ */ jsx224("div", { className: "flex flex-col", children: contentList.map((content) => /* @__PURE__ */ jsx224(ContentsListElement, { content }, content.id)) })
|
|
@@ -20382,10 +20469,10 @@ function ContentsListElement({ content }) {
|
|
|
20382
20469
|
__name(ContentsListElement, "ContentsListElement");
|
|
20383
20470
|
|
|
20384
20471
|
// src/features/content/components/lists/ContentsListById.tsx
|
|
20385
|
-
import { useTranslations as
|
|
20472
|
+
import { useTranslations as useTranslations87 } from "next-intl";
|
|
20386
20473
|
import { jsx as jsx225 } from "react/jsx-runtime";
|
|
20387
20474
|
function ContentsListById({ contentIds }) {
|
|
20388
|
-
const t =
|
|
20475
|
+
const t = useTranslations87();
|
|
20389
20476
|
const data = useDataListRetriever({
|
|
20390
20477
|
module: Modules.Content,
|
|
20391
20478
|
retriever: /* @__PURE__ */ __name((params) => ContentService.findMany(params), "retriever"),
|
|
@@ -20404,10 +20491,10 @@ function ContentsListById({ contentIds }) {
|
|
|
20404
20491
|
__name(ContentsListById, "ContentsListById");
|
|
20405
20492
|
|
|
20406
20493
|
// src/features/content/components/lists/RelevantContentsList.tsx
|
|
20407
|
-
import { useTranslations as
|
|
20494
|
+
import { useTranslations as useTranslations88 } from "next-intl";
|
|
20408
20495
|
import { jsx as jsx226 } from "react/jsx-runtime";
|
|
20409
20496
|
function RelevantContentsList({ id }) {
|
|
20410
|
-
const t =
|
|
20497
|
+
const t = useTranslations88();
|
|
20411
20498
|
const data = useDataListRetriever({
|
|
20412
20499
|
module: Modules.Content,
|
|
20413
20500
|
retriever: /* @__PURE__ */ __name((params) => ContentService.findRelevant(params), "retriever"),
|
|
@@ -20427,12 +20514,12 @@ __name(RelevantContentsList, "RelevantContentsList");
|
|
|
20427
20514
|
|
|
20428
20515
|
// src/features/how-to/components/containers/HowToCommand.tsx
|
|
20429
20516
|
import { ArrowRight, LifeBuoyIcon } from "lucide-react";
|
|
20430
|
-
import { useTranslations as
|
|
20517
|
+
import { useTranslations as useTranslations90 } from "next-intl";
|
|
20431
20518
|
import { useCallback as useCallback40, useEffect as useEffect65, useMemo as useMemo39, useRef as useRef35, useState as useState83 } from "react";
|
|
20432
20519
|
|
|
20433
20520
|
// src/features/how-to/components/containers/HowToCommandViewer.tsx
|
|
20434
20521
|
import { ArrowLeft, BookOpen, MessageSquare } from "lucide-react";
|
|
20435
|
-
import { useTranslations as
|
|
20522
|
+
import { useTranslations as useTranslations89 } from "next-intl";
|
|
20436
20523
|
import { useMemo as useMemo38 } from "react";
|
|
20437
20524
|
|
|
20438
20525
|
// src/features/how-to/utils/blocknote.ts
|
|
@@ -20504,7 +20591,7 @@ __name(extractHeadings, "extractHeadings");
|
|
|
20504
20591
|
// src/features/how-to/components/containers/HowToCommandViewer.tsx
|
|
20505
20592
|
import { jsx as jsx227, jsxs as jsxs133 } from "react/jsx-runtime";
|
|
20506
20593
|
function HowToCommandViewer({ howTo, onBack, onStartChat }) {
|
|
20507
|
-
const t =
|
|
20594
|
+
const t = useTranslations89();
|
|
20508
20595
|
const readingTime = useMemo38(() => calculateReadingTime(howTo.description), [howTo.description]);
|
|
20509
20596
|
const headings = useMemo38(() => extractHeadings(howTo.description), [howTo.description]);
|
|
20510
20597
|
return /* @__PURE__ */ jsxs133("div", { className: "flex h-full flex-col", children: [
|
|
@@ -20553,7 +20640,7 @@ function matchPage(pathname, pattern) {
|
|
|
20553
20640
|
}
|
|
20554
20641
|
__name(matchPage, "matchPage");
|
|
20555
20642
|
function HowToCommand({ pathname, extraGroups, onStartChat }) {
|
|
20556
|
-
const t =
|
|
20643
|
+
const t = useTranslations90();
|
|
20557
20644
|
const [dialogOpen, setDialogOpen] = useState83(false);
|
|
20558
20645
|
const [selectedHowTo, setSelectedHowTo] = useState83(null);
|
|
20559
20646
|
const searchTermRef = useRef35("");
|
|
@@ -20719,10 +20806,10 @@ function HowToContent() {
|
|
|
20719
20806
|
__name(HowToContent, "HowToContent");
|
|
20720
20807
|
|
|
20721
20808
|
// src/features/how-to/components/details/HowToDetails.tsx
|
|
20722
|
-
import { useTranslations as
|
|
20809
|
+
import { useTranslations as useTranslations91 } from "next-intl";
|
|
20723
20810
|
import { jsx as jsx230, jsxs as jsxs135 } from "react/jsx-runtime";
|
|
20724
20811
|
function HowToDetailsInternal({ howTo }) {
|
|
20725
|
-
const t =
|
|
20812
|
+
const t = useTranslations91();
|
|
20726
20813
|
const { title } = useSharedContext();
|
|
20727
20814
|
const pagesList = HowTo.parsePagesFromString(howTo.pages);
|
|
20728
20815
|
return /* @__PURE__ */ jsxs135("div", { className: "flex w-full flex-col gap-y-4", children: [
|
|
@@ -20746,26 +20833,26 @@ __name(HowToDetails, "HowToDetails");
|
|
|
20746
20833
|
|
|
20747
20834
|
// src/features/how-to/components/containers/HowToContainer.tsx
|
|
20748
20835
|
import { jsx as jsx231 } from "react/jsx-runtime";
|
|
20749
|
-
function HowToContainerInternal(
|
|
20836
|
+
function HowToContainerInternal() {
|
|
20750
20837
|
return /* @__PURE__ */ jsx231(RoundPageContainer, { module: Modules.HowTo, details: /* @__PURE__ */ jsx231(HowToDetails, {}), children: /* @__PURE__ */ jsx231(HowToContent, {}) });
|
|
20751
20838
|
}
|
|
20752
20839
|
__name(HowToContainerInternal, "HowToContainerInternal");
|
|
20753
20840
|
function HowToContainer() {
|
|
20754
20841
|
const { howTo } = useHowToContext();
|
|
20755
20842
|
if (!howTo) return null;
|
|
20756
|
-
return /* @__PURE__ */ jsx231(HowToContainerInternal, {
|
|
20843
|
+
return /* @__PURE__ */ jsx231(HowToContainerInternal, {});
|
|
20757
20844
|
}
|
|
20758
20845
|
__name(HowToContainer, "HowToContainer");
|
|
20759
20846
|
|
|
20760
20847
|
// src/features/how-to/components/lists/HowToList.tsx
|
|
20761
|
-
import { useTranslations as
|
|
20848
|
+
import { useTranslations as useTranslations93 } from "next-intl";
|
|
20762
20849
|
|
|
20763
20850
|
// src/features/how-to/hooks/useHowToTableStructure.tsx
|
|
20764
|
-
import { useTranslations as
|
|
20851
|
+
import { useTranslations as useTranslations92 } from "next-intl";
|
|
20765
20852
|
import { useMemo as useMemo40 } from "react";
|
|
20766
20853
|
import { Fragment as Fragment45, jsx as jsx232 } from "react/jsx-runtime";
|
|
20767
20854
|
var useHowToTableStructure = /* @__PURE__ */ __name((params) => {
|
|
20768
|
-
const t =
|
|
20855
|
+
const t = useTranslations92();
|
|
20769
20856
|
const generateUrl = usePageUrlGenerator();
|
|
20770
20857
|
const tableData = useMemo40(() => {
|
|
20771
20858
|
return params.data.map((howTo) => {
|
|
@@ -20831,7 +20918,7 @@ registerTableGenerator("howtos", useHowToTableStructure);
|
|
|
20831
20918
|
// src/features/how-to/components/lists/HowToList.tsx
|
|
20832
20919
|
import { jsx as jsx233 } from "react/jsx-runtime";
|
|
20833
20920
|
function HowToList({ fullWidth }) {
|
|
20834
|
-
const t =
|
|
20921
|
+
const t = useTranslations93();
|
|
20835
20922
|
const data = useDataListRetriever({
|
|
20836
20923
|
module: Modules.HowTo,
|
|
20837
20924
|
retriever: /* @__PURE__ */ __name((params) => HowToService.findMany(params), "retriever"),
|
|
@@ -20865,7 +20952,7 @@ __name(HowToListContainer, "HowToListContainer");
|
|
|
20865
20952
|
|
|
20866
20953
|
// src/features/how-to/components/forms/HowToSelector.tsx
|
|
20867
20954
|
import { CircleX as CircleX3, RefreshCwIcon as RefreshCwIcon4, SearchIcon as SearchIcon7, XIcon as XIcon11 } from "lucide-react";
|
|
20868
|
-
import { useTranslations as
|
|
20955
|
+
import { useTranslations as useTranslations94 } from "next-intl";
|
|
20869
20956
|
import { useCallback as useCallback41, useEffect as useEffect66, useRef as useRef36, useState as useState84 } from "react";
|
|
20870
20957
|
import { Fragment as Fragment46, jsx as jsx235, jsxs as jsxs136 } from "react/jsx-runtime";
|
|
20871
20958
|
function HowToSelector({
|
|
@@ -20876,7 +20963,7 @@ function HowToSelector({
|
|
|
20876
20963
|
onChange,
|
|
20877
20964
|
isRequired = false
|
|
20878
20965
|
}) {
|
|
20879
|
-
const t =
|
|
20966
|
+
const t = useTranslations94();
|
|
20880
20967
|
const [open, setOpen] = useState84(false);
|
|
20881
20968
|
const searchTermRef = useRef36("");
|
|
20882
20969
|
const [searchTerm, setSearchTerm] = useState84("");
|
|
@@ -20969,7 +21056,7 @@ function HowToSelector({
|
|
|
20969
21056
|
__name(HowToSelector, "HowToSelector");
|
|
20970
21057
|
|
|
20971
21058
|
// src/features/assistant/components/parts/AssistantSidebar.tsx
|
|
20972
|
-
import { useTranslations as
|
|
21059
|
+
import { useTranslations as useTranslations95 } from "next-intl";
|
|
20973
21060
|
import { Plus as Plus2 } from "lucide-react";
|
|
20974
21061
|
|
|
20975
21062
|
// src/features/assistant/utils/groupThreadsByBucket.ts
|
|
@@ -20995,7 +21082,7 @@ __name(groupThreadsByBucket, "groupThreadsByBucket");
|
|
|
20995
21082
|
// src/features/assistant/components/parts/AssistantSidebar.tsx
|
|
20996
21083
|
import { Fragment as Fragment47, jsx as jsx236, jsxs as jsxs137 } from "react/jsx-runtime";
|
|
20997
21084
|
function AssistantSidebar({ threads, activeId, onSelect, onNew }) {
|
|
20998
|
-
const t =
|
|
21085
|
+
const t = useTranslations95();
|
|
20999
21086
|
const groups = groupThreadsByBucket(threads);
|
|
21000
21087
|
const renderSection = /* @__PURE__ */ __name((label, items) => {
|
|
21001
21088
|
if (items.length === 0) return null;
|
|
@@ -21030,16 +21117,16 @@ __name(AssistantSidebar, "AssistantSidebar");
|
|
|
21030
21117
|
|
|
21031
21118
|
// src/features/assistant/components/parts/AssistantEmptyState.tsx
|
|
21032
21119
|
import { useState as useState86 } from "react";
|
|
21033
|
-
import { useTranslations as
|
|
21120
|
+
import { useTranslations as useTranslations97 } from "next-intl";
|
|
21034
21121
|
import { Sparkles } from "lucide-react";
|
|
21035
21122
|
|
|
21036
21123
|
// src/features/assistant/components/parts/AssistantComposer.tsx
|
|
21037
21124
|
import { useState as useState85 } from "react";
|
|
21038
|
-
import { useTranslations as
|
|
21125
|
+
import { useTranslations as useTranslations96 } from "next-intl";
|
|
21039
21126
|
import { ArrowUp } from "lucide-react";
|
|
21040
21127
|
import { jsx as jsx237, jsxs as jsxs138 } from "react/jsx-runtime";
|
|
21041
21128
|
function AssistantComposer({ onSend, disabled, value: controlled, onValueChange }) {
|
|
21042
|
-
const t =
|
|
21129
|
+
const t = useTranslations96();
|
|
21043
21130
|
const [internal, setInternal] = useState85("");
|
|
21044
21131
|
const value = controlled ?? internal;
|
|
21045
21132
|
const setValue = onValueChange ?? setInternal;
|
|
@@ -21085,7 +21172,7 @@ __name(AssistantComposer, "AssistantComposer");
|
|
|
21085
21172
|
import { jsx as jsx238, jsxs as jsxs139 } from "react/jsx-runtime";
|
|
21086
21173
|
var STARTER_KEYS = ["a", "b", "c", "d"];
|
|
21087
21174
|
function AssistantEmptyState({ onSend, operatorMode = false, onOperatorModeChange }) {
|
|
21088
|
-
const t =
|
|
21175
|
+
const t = useTranslations97();
|
|
21089
21176
|
const [draft, setDraft] = useState86("");
|
|
21090
21177
|
return /* @__PURE__ */ jsx238("div", { className: "flex h-full w-full items-center justify-center p-10", children: /* @__PURE__ */ jsxs139("div", { className: "flex w-full max-w-2xl flex-col gap-6", children: [
|
|
21091
21178
|
/* @__PURE__ */ jsxs139("div", { className: "text-center", children: [
|
|
@@ -21125,10 +21212,10 @@ __name(AssistantEmptyState, "AssistantEmptyState");
|
|
|
21125
21212
|
|
|
21126
21213
|
// src/features/assistant/components/parts/AssistantThreadHeader.tsx
|
|
21127
21214
|
import { useState as useState87 } from "react";
|
|
21128
|
-
import { useTranslations as
|
|
21215
|
+
import { useTranslations as useTranslations98 } from "next-intl";
|
|
21129
21216
|
import { jsx as jsx239, jsxs as jsxs140 } from "react/jsx-runtime";
|
|
21130
21217
|
function AssistantThreadHeader({ assistant, onRename, onDelete }) {
|
|
21131
|
-
const t =
|
|
21218
|
+
const t = useTranslations98();
|
|
21132
21219
|
const [renameValue, setRenameValue] = useState87(assistant.title);
|
|
21133
21220
|
const [renameOpen, setRenameOpen] = useState87(false);
|
|
21134
21221
|
const [deleteOpen, setDeleteOpen] = useState87(false);
|
|
@@ -21187,7 +21274,7 @@ __name(AssistantThreadHeader, "AssistantThreadHeader");
|
|
|
21187
21274
|
import { useEffect as useEffect68, useRef as useRef37 } from "react";
|
|
21188
21275
|
|
|
21189
21276
|
// src/features/assistant-message/components/MessageItem.tsx
|
|
21190
|
-
import { useTranslations as
|
|
21277
|
+
import { useTranslations as useTranslations105 } from "next-intl";
|
|
21191
21278
|
import { Sparkles as Sparkles2, AlertCircle } from "lucide-react";
|
|
21192
21279
|
import { useMemo as useMemo43 } from "react";
|
|
21193
21280
|
import ReactMarkdown3, { defaultUrlTransform } from "react-markdown";
|
|
@@ -21198,18 +21285,18 @@ import { useEffect as useEffect67, useMemo as useMemo42, useState as useState90
|
|
|
21198
21285
|
|
|
21199
21286
|
// src/features/assistant-message/components/parts/MessageSourcesPanel.tsx
|
|
21200
21287
|
import { useMemo as useMemo41, useState as useState89 } from "react";
|
|
21201
|
-
import { useTranslations as
|
|
21288
|
+
import { useTranslations as useTranslations104 } from "next-intl";
|
|
21202
21289
|
import { ChevronDown as ChevronDown4, ChevronRight as ChevronRight2 } from "lucide-react";
|
|
21203
21290
|
|
|
21204
21291
|
// src/features/assistant-message/components/parts/tabs/ReferencesTab.tsx
|
|
21205
|
-
import { useTranslations as
|
|
21292
|
+
import { useTranslations as useTranslations100 } from "next-intl";
|
|
21206
21293
|
import Link4 from "next/link";
|
|
21207
21294
|
|
|
21208
21295
|
// src/features/assistant-message/components/parts/tabs/useEntityLabel.ts
|
|
21209
|
-
import { useTranslations as
|
|
21296
|
+
import { useTranslations as useTranslations99 } from "next-intl";
|
|
21210
21297
|
import { useCallback as useCallback42 } from "react";
|
|
21211
21298
|
function useEntityLabel() {
|
|
21212
|
-
const t =
|
|
21299
|
+
const t = useTranslations99();
|
|
21213
21300
|
return useCallback42(
|
|
21214
21301
|
(type) => {
|
|
21215
21302
|
const key = `entities.${type}`;
|
|
@@ -21228,7 +21315,7 @@ __name(useEntityLabel, "useEntityLabel");
|
|
|
21228
21315
|
// src/features/assistant-message/components/parts/tabs/ReferencesTab.tsx
|
|
21229
21316
|
import { jsx as jsx240, jsxs as jsxs141 } from "react/jsx-runtime";
|
|
21230
21317
|
function ReferencesTab({ references }) {
|
|
21231
|
-
const t =
|
|
21318
|
+
const t = useTranslations100();
|
|
21232
21319
|
const generate = usePageUrlGenerator();
|
|
21233
21320
|
const entityLabel = useEntityLabel();
|
|
21234
21321
|
if (references.length === 0) return null;
|
|
@@ -21258,7 +21345,7 @@ __name(ReferencesTab, "ReferencesTab");
|
|
|
21258
21345
|
|
|
21259
21346
|
// src/features/assistant-message/components/parts/tabs/CitationsTab.tsx
|
|
21260
21347
|
import { Fragment as Fragment48, useState as useState88 } from "react";
|
|
21261
|
-
import { useTranslations as
|
|
21348
|
+
import { useTranslations as useTranslations101 } from "next-intl";
|
|
21262
21349
|
import { ChevronDown as ChevronDown3, HelpCircle } from "lucide-react";
|
|
21263
21350
|
import ReactMarkdown2 from "react-markdown";
|
|
21264
21351
|
import remarkGfm2 from "remark-gfm";
|
|
@@ -21295,7 +21382,7 @@ __name(RelevanceMeter, "RelevanceMeter");
|
|
|
21295
21382
|
// src/features/assistant-message/components/parts/tabs/CitationsTab.tsx
|
|
21296
21383
|
import { jsx as jsx242, jsxs as jsxs143 } from "react/jsx-runtime";
|
|
21297
21384
|
function CitationsTab({ citations, sources }) {
|
|
21298
|
-
const t =
|
|
21385
|
+
const t = useTranslations101();
|
|
21299
21386
|
const entityLabel = useEntityLabel();
|
|
21300
21387
|
const [expanded, setExpanded] = useState88(/* @__PURE__ */ new Set());
|
|
21301
21388
|
if (citations.length === 0) return null;
|
|
@@ -21355,11 +21442,11 @@ function CitationsTab({ citations, sources }) {
|
|
|
21355
21442
|
__name(CitationsTab, "CitationsTab");
|
|
21356
21443
|
|
|
21357
21444
|
// src/features/assistant-message/components/parts/tabs/ContentsTab.tsx
|
|
21358
|
-
import { useTranslations as
|
|
21445
|
+
import { useTranslations as useTranslations102 } from "next-intl";
|
|
21359
21446
|
import Link5 from "next/link";
|
|
21360
21447
|
import { jsx as jsx243, jsxs as jsxs144 } from "react/jsx-runtime";
|
|
21361
21448
|
function ContentsTab({ citations, sources }) {
|
|
21362
|
-
const t =
|
|
21449
|
+
const t = useTranslations102();
|
|
21363
21450
|
const entityLabel = useEntityLabel();
|
|
21364
21451
|
const generate = usePageUrlGenerator();
|
|
21365
21452
|
const map = /* @__PURE__ */ new Map();
|
|
@@ -21412,7 +21499,7 @@ function ContentsTab({ citations, sources }) {
|
|
|
21412
21499
|
__name(ContentsTab, "ContentsTab");
|
|
21413
21500
|
|
|
21414
21501
|
// src/features/assistant-message/components/parts/tabs/UsersTab.tsx
|
|
21415
|
-
import { useTranslations as
|
|
21502
|
+
import { useTranslations as useTranslations103 } from "next-intl";
|
|
21416
21503
|
import Link6 from "next/link";
|
|
21417
21504
|
import { jsx as jsx244, jsxs as jsxs145 } from "react/jsx-runtime";
|
|
21418
21505
|
function getInitials2(name) {
|
|
@@ -21429,7 +21516,7 @@ function readAuthor(source) {
|
|
|
21429
21516
|
}
|
|
21430
21517
|
__name(readAuthor, "readAuthor");
|
|
21431
21518
|
function UsersTab({ users, citations, sources }) {
|
|
21432
|
-
const t =
|
|
21519
|
+
const t = useTranslations103();
|
|
21433
21520
|
const generate = usePageUrlGenerator();
|
|
21434
21521
|
const userMap = /* @__PURE__ */ new Map();
|
|
21435
21522
|
for (const u of users) {
|
|
@@ -21515,7 +21602,7 @@ __name(SuggestedQuestionsTab, "SuggestedQuestionsTab");
|
|
|
21515
21602
|
// src/features/assistant-message/components/parts/MessageSourcesPanel.tsx
|
|
21516
21603
|
import { jsx as jsx246, jsxs as jsxs146 } from "react/jsx-runtime";
|
|
21517
21604
|
function MessageSourcesPanel({ message, isLatestAssistant, onSelectFollowUp, sources, users }) {
|
|
21518
|
-
const t =
|
|
21605
|
+
const t = useTranslations104();
|
|
21519
21606
|
const visibleReferences = useMemo41(
|
|
21520
21607
|
() => message.references.filter((ref) => {
|
|
21521
21608
|
try {
|
|
@@ -21714,7 +21801,7 @@ function MessageItem({
|
|
|
21714
21801
|
renderApprovalAction,
|
|
21715
21802
|
renderMention
|
|
21716
21803
|
}) {
|
|
21717
|
-
const t =
|
|
21804
|
+
const t = useTranslations105();
|
|
21718
21805
|
const isUser = message.role === "user";
|
|
21719
21806
|
const isFailed = isUser && !!failedMessageIds?.has(message.id);
|
|
21720
21807
|
const markdownComponents = useMemo43(
|
|
@@ -21797,11 +21884,11 @@ function MessageList({
|
|
|
21797
21884
|
__name(MessageList, "MessageList");
|
|
21798
21885
|
|
|
21799
21886
|
// src/features/assistant/components/parts/AssistantStatusLine.tsx
|
|
21800
|
-
import { useTranslations as
|
|
21887
|
+
import { useTranslations as useTranslations106 } from "next-intl";
|
|
21801
21888
|
import { Loader2 as Loader25 } from "lucide-react";
|
|
21802
21889
|
import { jsx as jsx250, jsxs as jsxs148 } from "react/jsx-runtime";
|
|
21803
21890
|
function AssistantStatusLine({ status }) {
|
|
21804
|
-
const t =
|
|
21891
|
+
const t = useTranslations106();
|
|
21805
21892
|
const text = status ?? t("features.assistant.thinking");
|
|
21806
21893
|
return /* @__PURE__ */ jsxs148("div", { className: "text-muted-foreground flex items-center gap-2 px-4 py-2 text-sm", children: [
|
|
21807
21894
|
/* @__PURE__ */ jsx250(Loader25, { className: "h-4 w-4 animate-spin" }),
|
|
@@ -21895,11 +21982,11 @@ __name(AssistantContainer, "AssistantContainer");
|
|
|
21895
21982
|
|
|
21896
21983
|
// src/features/assistant/components/containers/AssistantPageContainer.tsx
|
|
21897
21984
|
import { Sparkles as Sparkles3 } from "lucide-react";
|
|
21898
|
-
import { useTranslations as
|
|
21985
|
+
import { useTranslations as useTranslations108 } from "next-intl";
|
|
21899
21986
|
|
|
21900
21987
|
// src/features/assistant/components/parts/AssistantBlockNoteComposer.tsx
|
|
21901
21988
|
import { ArrowUp as ArrowUp2 } from "lucide-react";
|
|
21902
|
-
import { useTranslations as
|
|
21989
|
+
import { useTranslations as useTranslations107 } from "next-intl";
|
|
21903
21990
|
import { useCallback as useCallback43, useId as useId3, useState as useState91 } from "react";
|
|
21904
21991
|
import { jsx as jsx253, jsxs as jsxs151 } from "react/jsx-runtime";
|
|
21905
21992
|
function flattenBlocks(blocks) {
|
|
@@ -21936,7 +22023,7 @@ function AssistantBlockNoteComposer({
|
|
|
21936
22023
|
mentionResolveFn,
|
|
21937
22024
|
suggestionMenuComponent
|
|
21938
22025
|
}) {
|
|
21939
|
-
const t =
|
|
22026
|
+
const t = useTranslations107();
|
|
21940
22027
|
const editorId = useId3().replace(/[^a-zA-Z0-9]/g, "");
|
|
21941
22028
|
const [blocks, setBlocks] = useState91([]);
|
|
21942
22029
|
const [isEmpty, setIsEmpty] = useState91(true);
|
|
@@ -22005,7 +22092,7 @@ function AssistantPageContainer({
|
|
|
22005
22092
|
detailsIcon,
|
|
22006
22093
|
disabled
|
|
22007
22094
|
}) {
|
|
22008
|
-
const t =
|
|
22095
|
+
const t = useTranslations108();
|
|
22009
22096
|
const ctx = useAssistantContext();
|
|
22010
22097
|
const showThread = !!ctx.assistant || ctx.sending || ctx.messages.length > 0;
|
|
22011
22098
|
return /* @__PURE__ */ jsx254(
|
|
@@ -22077,7 +22164,7 @@ __name(AssistantPageContainer, "AssistantPageContainer");
|
|
|
22077
22164
|
|
|
22078
22165
|
// src/features/assistant-action/components/ApprovalActionCard.tsx
|
|
22079
22166
|
import { ShieldAlert as ShieldAlert2 } from "lucide-react";
|
|
22080
|
-
import { useTranslations as
|
|
22167
|
+
import { useTranslations as useTranslations109 } from "next-intl";
|
|
22081
22168
|
import { useEffect as useEffect69, useState as useState92 } from "react";
|
|
22082
22169
|
import { jsx as jsx255, jsxs as jsxs153 } from "react/jsx-runtime";
|
|
22083
22170
|
var STATUS_VARIANT = {
|
|
@@ -22097,7 +22184,7 @@ var STATUS_LABEL_KEY = {
|
|
|
22097
22184
|
expired: "features.assistant.approval.status.expired"
|
|
22098
22185
|
};
|
|
22099
22186
|
function ApprovalActionCard({ actionId, summary, onResolved }) {
|
|
22100
|
-
const t =
|
|
22187
|
+
const t = useTranslations109();
|
|
22101
22188
|
const [status, setStatus] = useState92(void 0);
|
|
22102
22189
|
const [actionSummary, setActionSummary] = useState92(void 0);
|
|
22103
22190
|
const [busy, setBusy] = useState92(false);
|
|
@@ -22199,14 +22286,14 @@ var NotificationErrorBoundary = class extends Component {
|
|
|
22199
22286
|
};
|
|
22200
22287
|
|
|
22201
22288
|
// src/features/notification/components/containers/NotificationsListContainer.tsx
|
|
22202
|
-
import { useTranslations as
|
|
22289
|
+
import { useTranslations as useTranslations111 } from "next-intl";
|
|
22203
22290
|
|
|
22204
22291
|
// src/features/notification/components/lists/NotificationsList.tsx
|
|
22205
22292
|
import { ArchiveIcon } from "lucide-react";
|
|
22206
|
-
import { useTranslations as
|
|
22293
|
+
import { useTranslations as useTranslations110 } from "next-intl";
|
|
22207
22294
|
import { Fragment as Fragment52, jsx as jsx258, jsxs as jsxs155 } from "react/jsx-runtime";
|
|
22208
22295
|
function NotificationsList({ archived }) {
|
|
22209
|
-
const t =
|
|
22296
|
+
const t = useTranslations110();
|
|
22210
22297
|
const generateUrl = usePageUrlGenerator();
|
|
22211
22298
|
const data = useDataListRetriever({
|
|
22212
22299
|
retriever: /* @__PURE__ */ __name((params) => NotificationService.findMany(params), "retriever"),
|
|
@@ -22264,7 +22351,7 @@ __name(NotificationsList, "NotificationsList");
|
|
|
22264
22351
|
// src/features/notification/components/containers/NotificationsListContainer.tsx
|
|
22265
22352
|
import { jsx as jsx259, jsxs as jsxs156 } from "react/jsx-runtime";
|
|
22266
22353
|
function NotificationsListContainerContent() {
|
|
22267
|
-
const t =
|
|
22354
|
+
const t = useTranslations111();
|
|
22268
22355
|
const { notifications: _notifications, isLoading: _isLoading, error } = useNotificationContext();
|
|
22269
22356
|
if (error) {
|
|
22270
22357
|
return /* @__PURE__ */ jsx259("div", { className: "flex items-center justify-center p-8 text-center", children: /* @__PURE__ */ jsxs156("div", { className: "text-destructive text-xs/relaxed", children: [
|
|
@@ -22295,7 +22382,7 @@ __name(NotificationsListContainer, "NotificationsListContainer");
|
|
|
22295
22382
|
|
|
22296
22383
|
// src/features/notification/components/modals/NotificationModal.tsx
|
|
22297
22384
|
import { BellIcon } from "lucide-react";
|
|
22298
|
-
import { useTranslations as
|
|
22385
|
+
import { useTranslations as useTranslations112 } from "next-intl";
|
|
22299
22386
|
import { Fragment as Fragment53, useCallback as useCallback44, useEffect as useEffect70, useMemo as useMemo44, useRef as useRef38, useState as useState93 } from "react";
|
|
22300
22387
|
import { jsx as jsx260, jsxs as jsxs157 } from "react/jsx-runtime";
|
|
22301
22388
|
function NotificationModalContent({ isOpen, setIsOpen }) {
|
|
@@ -22316,7 +22403,7 @@ function NotificationModalContent({ isOpen, setIsOpen }) {
|
|
|
22316
22403
|
removeSocketNotification: _removeSocketNotification,
|
|
22317
22404
|
clearSocketNotifications
|
|
22318
22405
|
} = useSocketContext();
|
|
22319
|
-
const t =
|
|
22406
|
+
const t = useTranslations112();
|
|
22320
22407
|
const generateUrl = usePageUrlGenerator();
|
|
22321
22408
|
const [newNotifications, setNewNotifications] = useState93(false);
|
|
22322
22409
|
const preventAutoClose = useRef38(false);
|
|
@@ -22770,11 +22857,11 @@ function ReferralDialog({
|
|
|
22770
22857
|
__name(ReferralDialog, "ReferralDialog");
|
|
22771
22858
|
|
|
22772
22859
|
// src/features/role/components/details/RoleDetails.tsx
|
|
22773
|
-
import { useTranslations as
|
|
22860
|
+
import { useTranslations as useTranslations113 } from "next-intl";
|
|
22774
22861
|
import { jsx as jsx264 } from "react/jsx-runtime";
|
|
22775
22862
|
function RoleDetails() {
|
|
22776
22863
|
const { role } = useRoleContext();
|
|
22777
|
-
const t =
|
|
22864
|
+
const t = useTranslations113();
|
|
22778
22865
|
if (!role) return null;
|
|
22779
22866
|
return /* @__PURE__ */ jsx264(Card, { className: "w-full", children: /* @__PURE__ */ jsx264(CardContent, { className: "p-4", children: /* @__PURE__ */ jsx264(AttributeElement, { title: t(`role.fields.description.label`), value: role.description }) }) });
|
|
22780
22867
|
}
|
|
@@ -22793,10 +22880,10 @@ function RoleContainer() {
|
|
|
22793
22880
|
__name(RoleContainer, "RoleContainer");
|
|
22794
22881
|
|
|
22795
22882
|
// src/features/role/components/forms/FormRoles.tsx
|
|
22796
|
-
import { useTranslations as
|
|
22883
|
+
import { useTranslations as useTranslations114 } from "next-intl";
|
|
22797
22884
|
import { jsx as jsx266, jsxs as jsxs161 } from "react/jsx-runtime";
|
|
22798
22885
|
function FormRoles({ form, id, name, roles }) {
|
|
22799
|
-
const t =
|
|
22886
|
+
const t = useTranslations114();
|
|
22800
22887
|
const { hasAccesToFeature } = useCurrentUserContext();
|
|
22801
22888
|
return /* @__PURE__ */ jsx266("div", { className: "flex w-full flex-col", children: /* @__PURE__ */ jsx266(FormFieldWrapper, { form, name: id, label: name, children: (field) => /* @__PURE__ */ jsx266("div", { className: "flex w-full flex-col gap-y-1", children: roles.filter((role) => role.isSelectable).sort((a, b) => a.name.localeCompare(b.name)).map((role) => {
|
|
22802
22889
|
if (role.requiredFeature && !hasAccesToFeature(role.requiredFeature.id)) return null;
|
|
@@ -22828,13 +22915,13 @@ function FormRoles({ form, id, name, roles }) {
|
|
|
22828
22915
|
__name(FormRoles, "FormRoles");
|
|
22829
22916
|
|
|
22830
22917
|
// src/features/role/components/forms/RemoveUserFromRole.tsx
|
|
22831
|
-
import { useTranslations as
|
|
22918
|
+
import { useTranslations as useTranslations115 } from "next-intl";
|
|
22832
22919
|
import { useEffect as useEffect73, useState as useState97 } from "react";
|
|
22833
22920
|
import { Fragment as Fragment56, jsx as jsx267, jsxs as jsxs162 } from "react/jsx-runtime";
|
|
22834
22921
|
function RemoveUserFromRole({ role, user, refresh }) {
|
|
22835
22922
|
const [open, setOpen] = useState97(false);
|
|
22836
22923
|
const [canRemove, setCanRemove] = useState97(false);
|
|
22837
|
-
const t =
|
|
22924
|
+
const t = useTranslations115();
|
|
22838
22925
|
useEffect73(() => {
|
|
22839
22926
|
async function checkCompanyAdminDeletability() {
|
|
22840
22927
|
const roleUsers = await UserService.findAllUsersByRole({
|
|
@@ -22904,7 +22991,7 @@ __name(RemoveUserFromRole, "RemoveUserFromRole");
|
|
|
22904
22991
|
|
|
22905
22992
|
// src/features/role/components/forms/UserRoleAdd.tsx
|
|
22906
22993
|
import { PlusCircle as PlusCircle2 } from "lucide-react";
|
|
22907
|
-
import { useTranslations as
|
|
22994
|
+
import { useTranslations as useTranslations116 } from "next-intl";
|
|
22908
22995
|
import { useCallback as useCallback46, useEffect as useEffect74, useRef as useRef40, useState as useState98 } from "react";
|
|
22909
22996
|
import { Fragment as Fragment57, jsx as jsx268, jsxs as jsxs163 } from "react/jsx-runtime";
|
|
22910
22997
|
function UserRoleAdd({ user, refresh }) {
|
|
@@ -22912,7 +22999,7 @@ function UserRoleAdd({ user, refresh }) {
|
|
|
22912
22999
|
const inputRef = useRef40(null);
|
|
22913
23000
|
const [searchTerm, setSearchTerm] = useState98("");
|
|
22914
23001
|
const [roles, setRoles] = useState98([]);
|
|
22915
|
-
const t =
|
|
23002
|
+
const t = useTranslations116();
|
|
22916
23003
|
const addUserToRole = /* @__PURE__ */ __name(async (role) => {
|
|
22917
23004
|
await RoleService.addUserToRole({
|
|
22918
23005
|
roleId: role.id,
|
|
@@ -23001,10 +23088,10 @@ function UserRoleAdd({ user, refresh }) {
|
|
|
23001
23088
|
__name(UserRoleAdd, "UserRoleAdd");
|
|
23002
23089
|
|
|
23003
23090
|
// src/features/role/components/lists/RolesList.tsx
|
|
23004
|
-
import { useTranslations as
|
|
23091
|
+
import { useTranslations as useTranslations117 } from "next-intl";
|
|
23005
23092
|
import { jsx as jsx269 } from "react/jsx-runtime";
|
|
23006
23093
|
function RolesList() {
|
|
23007
|
-
const t =
|
|
23094
|
+
const t = useTranslations117();
|
|
23008
23095
|
const data = useDataListRetriever({
|
|
23009
23096
|
retriever: /* @__PURE__ */ __name((params) => RoleService.findAllRoles(params), "retriever"),
|
|
23010
23097
|
retrieverParams: {},
|
|
@@ -23023,10 +23110,10 @@ function RolesList() {
|
|
|
23023
23110
|
__name(RolesList, "RolesList");
|
|
23024
23111
|
|
|
23025
23112
|
// src/features/role/components/lists/UserRolesList.tsx
|
|
23026
|
-
import { useTranslations as
|
|
23113
|
+
import { useTranslations as useTranslations118 } from "next-intl";
|
|
23027
23114
|
import { jsx as jsx270 } from "react/jsx-runtime";
|
|
23028
23115
|
function UserRolesList({ user }) {
|
|
23029
|
-
const t =
|
|
23116
|
+
const t = useTranslations118();
|
|
23030
23117
|
const data = useDataListRetriever({
|
|
23031
23118
|
retriever: /* @__PURE__ */ __name((params) => RoleService.findAllRolesByUser(params), "retriever"),
|
|
23032
23119
|
retrieverParams: { userId: user.id },
|
|
@@ -23831,7 +23918,7 @@ __name(OAuthConsentScreen, "OAuthConsentScreen");
|
|
|
23831
23918
|
// src/features/waitlist/components/forms/WaitlistForm.tsx
|
|
23832
23919
|
import { zodResolver as zodResolver11 } from "@hookform/resolvers/zod";
|
|
23833
23920
|
import { CheckCircle, Mail as Mail2 } from "lucide-react";
|
|
23834
|
-
import { useTranslations as
|
|
23921
|
+
import { useTranslations as useTranslations119 } from "next-intl";
|
|
23835
23922
|
import { useState as useState102 } from "react";
|
|
23836
23923
|
import { useForm as useForm11 } from "react-hook-form";
|
|
23837
23924
|
import { v4 as v412 } from "uuid";
|
|
@@ -23932,7 +24019,7 @@ __name(WaitlistQuestionnaireRenderer, "WaitlistQuestionnaireRenderer");
|
|
|
23932
24019
|
// src/features/waitlist/components/forms/WaitlistForm.tsx
|
|
23933
24020
|
import { Fragment as Fragment59, jsx as jsx283, jsxs as jsxs176 } from "react/jsx-runtime";
|
|
23934
24021
|
function WaitlistForm({ onSuccess }) {
|
|
23935
|
-
const t =
|
|
24022
|
+
const t = useTranslations119();
|
|
23936
24023
|
const [isSubmitting, setIsSubmitting] = useState102(false);
|
|
23937
24024
|
const [isSuccess, setIsSuccess] = useState102(false);
|
|
23938
24025
|
const config = getWaitlistConfig();
|
|
@@ -24097,10 +24184,10 @@ __name(WaitlistHeroSection, "WaitlistHeroSection");
|
|
|
24097
24184
|
|
|
24098
24185
|
// src/features/waitlist/components/sections/WaitlistSuccessState.tsx
|
|
24099
24186
|
import { CheckCircle as CheckCircle3 } from "lucide-react";
|
|
24100
|
-
import { useTranslations as
|
|
24187
|
+
import { useTranslations as useTranslations120 } from "next-intl";
|
|
24101
24188
|
import { jsx as jsx285, jsxs as jsxs178 } from "react/jsx-runtime";
|
|
24102
24189
|
function WaitlistSuccessState() {
|
|
24103
|
-
const t =
|
|
24190
|
+
const t = useTranslations120();
|
|
24104
24191
|
return /* @__PURE__ */ jsxs178("div", { className: "flex flex-col items-center justify-center space-y-4 py-8 text-center", children: [
|
|
24105
24192
|
/* @__PURE__ */ jsx285("div", { className: "bg-primary/10 rounded-full p-4", children: /* @__PURE__ */ jsx285(CheckCircle3, { className: "text-primary h-12 w-12" }) }),
|
|
24106
24193
|
/* @__PURE__ */ jsx285(SectionHeader, { level: 2, children: t("waitlist.success.title") }),
|
|
@@ -24112,11 +24199,11 @@ __name(WaitlistSuccessState, "WaitlistSuccessState");
|
|
|
24112
24199
|
|
|
24113
24200
|
// src/features/waitlist/components/sections/WaitlistConfirmation.tsx
|
|
24114
24201
|
import { CheckCircle as CheckCircle4, Loader2 as Loader28, XCircle as XCircle2 } from "lucide-react";
|
|
24115
|
-
import { useTranslations as
|
|
24202
|
+
import { useTranslations as useTranslations121 } from "next-intl";
|
|
24116
24203
|
import { useEffect as useEffect75, useState as useState103 } from "react";
|
|
24117
24204
|
import { jsx as jsx286, jsxs as jsxs179 } from "react/jsx-runtime";
|
|
24118
24205
|
function WaitlistConfirmation({ code }) {
|
|
24119
|
-
const t =
|
|
24206
|
+
const t = useTranslations121();
|
|
24120
24207
|
const [state, setState] = useState103("loading");
|
|
24121
24208
|
const [errorMessage, setErrorMessage] = useState103("");
|
|
24122
24209
|
useEffect75(() => {
|
|
@@ -24158,12 +24245,12 @@ __name(WaitlistConfirmation, "WaitlistConfirmation");
|
|
|
24158
24245
|
// src/features/waitlist/components/lists/WaitlistList.tsx
|
|
24159
24246
|
import { flexRender as flexRender2, getCoreRowModel as getCoreRowModel2, useReactTable as useReactTable2 } from "@tanstack/react-table";
|
|
24160
24247
|
import { RefreshCw as RefreshCw4, Users as Users2 } from "lucide-react";
|
|
24161
|
-
import { useTranslations as
|
|
24248
|
+
import { useTranslations as useTranslations123 } from "next-intl";
|
|
24162
24249
|
import { useCallback as useCallback52, useEffect as useEffect76, useMemo as useMemo45, useState as useState104 } from "react";
|
|
24163
24250
|
|
|
24164
24251
|
// src/features/waitlist/hooks/useWaitlistTableStructure.tsx
|
|
24165
24252
|
import { Send } from "lucide-react";
|
|
24166
|
-
import { useTranslations as
|
|
24253
|
+
import { useTranslations as useTranslations122 } from "next-intl";
|
|
24167
24254
|
import { jsx as jsx287, jsxs as jsxs180 } from "react/jsx-runtime";
|
|
24168
24255
|
function parseQuestionnaire(questionnaire) {
|
|
24169
24256
|
if (!questionnaire) return null;
|
|
@@ -24177,7 +24264,7 @@ __name(parseQuestionnaire, "parseQuestionnaire");
|
|
|
24177
24264
|
function useWaitlistTableStructure({
|
|
24178
24265
|
onInvite
|
|
24179
24266
|
}) {
|
|
24180
|
-
const t =
|
|
24267
|
+
const t = useTranslations122();
|
|
24181
24268
|
const getStatusBadge = /* @__PURE__ */ __name((status) => {
|
|
24182
24269
|
const variants = {
|
|
24183
24270
|
pending: { variant: "secondary" },
|
|
@@ -24255,7 +24342,7 @@ __name(useWaitlistTableStructure, "useWaitlistTableStructure");
|
|
|
24255
24342
|
// src/features/waitlist/components/lists/WaitlistList.tsx
|
|
24256
24343
|
import { jsx as jsx288, jsxs as jsxs181 } from "react/jsx-runtime";
|
|
24257
24344
|
function WaitlistList() {
|
|
24258
|
-
const t =
|
|
24345
|
+
const t = useTranslations123();
|
|
24259
24346
|
const [entries, setEntries] = useState104([]);
|
|
24260
24347
|
const [total, setTotal] = useState104(0);
|
|
24261
24348
|
const [isLoading, setIsLoading] = useState104(true);
|
|
@@ -24338,7 +24425,7 @@ __name(WaitlistList, "WaitlistList");
|
|
|
24338
24425
|
|
|
24339
24426
|
// src/features/rbac/components/RbacContainer.tsx
|
|
24340
24427
|
import { Loader2Icon as Loader2Icon4 } from "lucide-react";
|
|
24341
|
-
import { useTranslations as
|
|
24428
|
+
import { useTranslations as useTranslations125 } from "next-intl";
|
|
24342
24429
|
import { memo as memo2, useCallback as useCallback54, useEffect as useEffect78, useMemo as useMemo46, useRef as useRef41, useState as useState106 } from "react";
|
|
24343
24430
|
|
|
24344
24431
|
// src/features/rbac/components/RbacPermissionCell.tsx
|
|
@@ -24419,7 +24506,7 @@ __name(RbacPermissionCell, "RbacPermissionCell");
|
|
|
24419
24506
|
// src/features/rbac/components/RbacPermissionPicker.tsx
|
|
24420
24507
|
import { Popover as PopoverPrimitive2 } from "@base-ui/react/popover";
|
|
24421
24508
|
import { CheckIcon as CheckIcon10, MinusIcon as MinusIcon3, XIcon as XIcon13 } from "lucide-react";
|
|
24422
|
-
import { useTranslations as
|
|
24509
|
+
import { useTranslations as useTranslations124 } from "next-intl";
|
|
24423
24510
|
import { useCallback as useCallback53, useEffect as useEffect77, useState as useState105 } from "react";
|
|
24424
24511
|
import { Fragment as Fragment60, jsx as jsx290, jsxs as jsxs183 } from "react/jsx-runtime";
|
|
24425
24512
|
function RbacPermissionPicker({
|
|
@@ -24432,7 +24519,7 @@ function RbacPermissionPicker({
|
|
|
24432
24519
|
onClear,
|
|
24433
24520
|
onClose
|
|
24434
24521
|
}) {
|
|
24435
|
-
const t =
|
|
24522
|
+
const t = useTranslations124();
|
|
24436
24523
|
const [customSegment, setCustomSegment] = useState105("");
|
|
24437
24524
|
useEffect77(() => {
|
|
24438
24525
|
if (!open) setCustomSegment("");
|
|
@@ -24630,7 +24717,7 @@ var ModuleEditor = memo2(/* @__PURE__ */ __name(function ModuleEditor2({
|
|
|
24630
24717
|
roleNames,
|
|
24631
24718
|
onOpenPicker
|
|
24632
24719
|
}) {
|
|
24633
|
-
const t =
|
|
24720
|
+
const t = useTranslations125();
|
|
24634
24721
|
const defaultTokens = block.default ?? [];
|
|
24635
24722
|
return /* @__PURE__ */ jsxs184("div", { className: "rounded-lg border border-accent bg-card", children: [
|
|
24636
24723
|
/* @__PURE__ */ jsxs184("div", { className: "flex items-center justify-between border-b px-4 py-2", children: [
|
|
@@ -24680,7 +24767,7 @@ var ModuleEditor = memo2(/* @__PURE__ */ __name(function ModuleEditor2({
|
|
|
24680
24767
|
] });
|
|
24681
24768
|
}, "ModuleEditor"));
|
|
24682
24769
|
function RbacContainer() {
|
|
24683
|
-
const t =
|
|
24770
|
+
const t = useTranslations125();
|
|
24684
24771
|
const { matrix, modulePaths, loading, error, roleNames, moduleNames, updateCell, clearCell } = useRbacContext();
|
|
24685
24772
|
const [selectedModuleId, setSelectedModuleId] = useState106(null);
|
|
24686
24773
|
const [activePicker, setActivePicker] = useState106(null);
|
|
@@ -24793,7 +24880,7 @@ __name(RbacContainer, "RbacContainer");
|
|
|
24793
24880
|
|
|
24794
24881
|
// src/features/rbac/components/RbacByRoleContainer.tsx
|
|
24795
24882
|
import { Loader2Icon as Loader2Icon5 } from "lucide-react";
|
|
24796
|
-
import { useTranslations as
|
|
24883
|
+
import { useTranslations as useTranslations126 } from "next-intl";
|
|
24797
24884
|
import { Fragment as Fragment61, memo as memo3, useCallback as useCallback55, useEffect as useEffect79, useMemo as useMemo47, useRef as useRef42, useState as useState107 } from "react";
|
|
24798
24885
|
import { jsx as jsx292, jsxs as jsxs185 } from "react/jsx-runtime";
|
|
24799
24886
|
function findToken2(tokens, action) {
|
|
@@ -24830,7 +24917,7 @@ var ACTION_LABELS2 = {
|
|
|
24830
24917
|
delete: "Delete"
|
|
24831
24918
|
};
|
|
24832
24919
|
function RbacByRoleContainer() {
|
|
24833
|
-
const t =
|
|
24920
|
+
const t = useTranslations126();
|
|
24834
24921
|
const { matrix, modulePaths, loading, error, roleNames, moduleNames, updateCell, clearCell } = useRbacContext();
|
|
24835
24922
|
const [selectedRoleId, setSelectedRoleId] = useState107(null);
|
|
24836
24923
|
const [activePicker, setActivePicker] = useState107(null);
|
|
@@ -25374,6 +25461,7 @@ export {
|
|
|
25374
25461
|
FormSwitch,
|
|
25375
25462
|
FormTextarea,
|
|
25376
25463
|
GdprConsentCheckbox,
|
|
25464
|
+
MultiFileUploader,
|
|
25377
25465
|
PageContainerContentDetails,
|
|
25378
25466
|
PageContentContainer,
|
|
25379
25467
|
cellComponent,
|
|
@@ -25543,4 +25631,4 @@ export {
|
|
|
25543
25631
|
useOAuthClients,
|
|
25544
25632
|
useOAuthClient
|
|
25545
25633
|
};
|
|
25546
|
-
//# sourceMappingURL=chunk-
|
|
25634
|
+
//# sourceMappingURL=chunk-Q2QO5XYN.mjs.map
|