@carlonicora/nextjs-jsonapi 1.117.1 → 1.119.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BlockNoteEditor-CEWZCORH.js → BlockNoteEditor-BPACLNMB.js} +20 -20
- package/dist/{BlockNoteEditor-CEWZCORH.js.map → BlockNoteEditor-BPACLNMB.js.map} +1 -1
- package/dist/{BlockNoteEditor-K4T6QOJO.mjs → BlockNoteEditor-CEDKBT67.mjs} +5 -5
- package/dist/JsonApiRequest-HE5LTEYK.js +26 -0
- package/dist/JsonApiRequest-HE5LTEYK.js.map +1 -0
- package/dist/{JsonApiRequest-IYL5RZ7I.mjs → JsonApiRequest-SN3DNFDR.mjs} +4 -2
- package/dist/billing/index.js +347 -347
- package/dist/billing/index.mjs +4 -4
- package/dist/{chunk-6D4GJHLK.mjs → chunk-4SPL6QH3.mjs} +277 -154
- package/dist/chunk-4SPL6QH3.mjs.map +1 -0
- package/dist/{chunk-6KLR3WJQ.js → chunk-55Q43DI5.js} +9 -9
- package/dist/{chunk-6KLR3WJQ.js.map → chunk-55Q43DI5.js.map} +1 -1
- package/dist/{chunk-WEPQD5MP.mjs → chunk-5U7QDGDQ.mjs} +3 -3
- package/dist/{chunk-S2PTWBN6.js → chunk-6P7MEU7Q.js} +64 -50
- package/dist/chunk-6P7MEU7Q.js.map +1 -0
- package/dist/{chunk-56QAXZKI.js → chunk-DXTOA7OO.js} +932 -809
- package/dist/chunk-DXTOA7OO.js.map +1 -0
- package/dist/{chunk-M7XAKLSP.mjs → chunk-FWOS6PC5.mjs} +38 -24
- package/dist/chunk-FWOS6PC5.mjs.map +1 -0
- package/dist/{chunk-J5LROFGL.js → chunk-RCMIVTVL.js} +14 -11
- package/dist/chunk-RCMIVTVL.js.map +1 -0
- package/dist/{chunk-KK7PYKVI.mjs → chunk-WC2BTKJP.mjs} +13 -10
- package/dist/{chunk-KK7PYKVI.mjs.map → chunk-WC2BTKJP.mjs.map} +1 -1
- package/dist/client/index.d.mts +15 -1
- package/dist/client/index.d.ts +15 -1
- package/dist/client/index.js +7 -5
- package/dist/client/index.js.map +1 -1
- package/dist/client/index.mjs +6 -4
- package/dist/components/index.d.mts +72 -30
- package/dist/components/index.d.ts +72 -30
- package/dist/components/index.js +7 -5
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +6 -4
- package/dist/contexts/index.js +5 -5
- package/dist/contexts/index.mjs +4 -4
- package/dist/core/index.d.mts +7 -2
- package/dist/core/index.d.ts +7 -2
- package/dist/core/index.js +3 -3
- package/dist/core/index.mjs +2 -2
- package/dist/features/help/index.js +37 -37
- package/dist/features/help/index.mjs +4 -4
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +4 -4
- package/dist/index.mjs +3 -3
- package/dist/{s3.service-CihgBy97.d.mts → s3.service-CBqyDZyz.d.mts} +7 -0
- package/dist/{s3.service-Cyvfk3qV.d.ts → s3.service-gcEjq8gF.d.ts} +7 -0
- package/dist/server/index.d.mts +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.js +12 -12
- package/dist/server/index.mjs +2 -2
- package/package.json +1 -1
- package/src/client/JsonApiClient.ts +23 -8
- package/src/client/__tests__/JsonApiClient.test.ts +31 -0
- package/src/components/containers/RoundPageContainer.tsx +197 -76
- package/src/components/containers/TabsContainer.tsx +14 -0
- package/src/components/containers/__tests__/partitionTabs.spec.ts +51 -0
- package/src/components/containers/index.ts +1 -0
- package/src/components/containers/partitionTabs.ts +43 -0
- package/src/components/forms/EditorSheet.tsx +7 -2
- package/src/core/abstracts/AbstractService.ts +13 -0
- package/src/core/abstracts/ClientAbstractService.ts +10 -0
- package/src/unified/JsonApiRequest.ts +22 -8
- package/src/unified/__tests__/JsonApiRequest.test.ts +29 -0
- package/dist/JsonApiRequest-OSGJ63XR.js +0 -24
- package/dist/JsonApiRequest-OSGJ63XR.js.map +0 -1
- package/dist/chunk-56QAXZKI.js.map +0 -1
- package/dist/chunk-6D4GJHLK.mjs.map +0 -1
- package/dist/chunk-J5LROFGL.js.map +0 -1
- package/dist/chunk-M7XAKLSP.mjs.map +0 -1
- package/dist/chunk-S2PTWBN6.js.map +0 -1
- /package/dist/{BlockNoteEditor-K4T6QOJO.mjs.map → BlockNoteEditor-CEDKBT67.mjs.map} +0 -0
- /package/dist/{JsonApiRequest-IYL5RZ7I.mjs.map → JsonApiRequest-SN3DNFDR.mjs.map} +0 -0
- /package/dist/{chunk-WEPQD5MP.mjs.map → chunk-5U7QDGDQ.mjs.map} +0 -0
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
useI18nLocale,
|
|
21
21
|
useI18nRouter,
|
|
22
22
|
useI18nTranslations
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-5U7QDGDQ.mjs";
|
|
24
24
|
import {
|
|
25
25
|
AVAILABLE_OAUTH_SCOPES,
|
|
26
26
|
AssistantMessage,
|
|
@@ -60,7 +60,7 @@ import {
|
|
|
60
60
|
showToast,
|
|
61
61
|
useComposedRefs,
|
|
62
62
|
useIsMobile
|
|
63
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-FWOS6PC5.mjs";
|
|
64
64
|
import {
|
|
65
65
|
JsonApiContext
|
|
66
66
|
} from "./chunk-VOXD3ZLY.mjs";
|
|
@@ -9072,7 +9072,14 @@ function EditorSheet({
|
|
|
9072
9072
|
);
|
|
9073
9073
|
return /* @__PURE__ */ jsxs41(Fragment9, { children: [
|
|
9074
9074
|
/* @__PURE__ */ jsxs41(Sheet, { open, onOpenChange: handleOpenChange, children: [
|
|
9075
|
-
dialogOpen === void 0 && forceShow === void 0 && (trigger ?
|
|
9075
|
+
dialogOpen === void 0 && forceShow === void 0 && (trigger ? (
|
|
9076
|
+
// Base UI: the trigger renders its own <button>. Pass the caller's
|
|
9077
|
+
// element via `render` (NOT as children) so it BECOMES the trigger
|
|
9078
|
+
// button — otherwise an interactive trigger (e.g. <Button>) nests a
|
|
9079
|
+
// <button> inside SheetTrigger's <button> (invalid HTML / hydration
|
|
9080
|
+
// error). `render` also preserves the element's native `disabled`.
|
|
9081
|
+
/* @__PURE__ */ jsx71(SheetTrigger, { render: trigger })
|
|
9082
|
+
) : /* @__PURE__ */ jsx71(SheetTrigger, { children: isEdit ? /* @__PURE__ */ jsx71(
|
|
9076
9083
|
Button,
|
|
9077
9084
|
{
|
|
9078
9085
|
render: /* @__PURE__ */ jsx71("div", {}),
|
|
@@ -9794,7 +9801,7 @@ import { useRef as useRef15 } from "react";
|
|
|
9794
9801
|
import dynamic from "next/dynamic";
|
|
9795
9802
|
import React17 from "react";
|
|
9796
9803
|
import { jsx as jsx77 } from "react/jsx-runtime";
|
|
9797
|
-
var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-
|
|
9804
|
+
var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-CEDKBT67.mjs"), {
|
|
9798
9805
|
ssr: false
|
|
9799
9806
|
});
|
|
9800
9807
|
var BlockNoteEditorContainer = React17.memo(/* @__PURE__ */ __name(function EditorContainer(props) {
|
|
@@ -14146,6 +14153,32 @@ function PageContainer({ children, testId, className }) {
|
|
|
14146
14153
|
}
|
|
14147
14154
|
__name(PageContainer, "PageContainer");
|
|
14148
14155
|
|
|
14156
|
+
// src/components/containers/partitionTabs.ts
|
|
14157
|
+
function partitionTabs(tabs) {
|
|
14158
|
+
const ungrouped = [];
|
|
14159
|
+
const groupMap = /* @__PURE__ */ new Map();
|
|
14160
|
+
const groupOrder = [];
|
|
14161
|
+
for (const tab of tabs) {
|
|
14162
|
+
if (!tab.group) {
|
|
14163
|
+
ungrouped.push(tab);
|
|
14164
|
+
continue;
|
|
14165
|
+
}
|
|
14166
|
+
if (!groupMap.has(tab.group)) {
|
|
14167
|
+
groupMap.set(tab.group, []);
|
|
14168
|
+
groupOrder.push(tab.group);
|
|
14169
|
+
}
|
|
14170
|
+
groupMap.get(tab.group).push(tab);
|
|
14171
|
+
}
|
|
14172
|
+
return {
|
|
14173
|
+
ungrouped,
|
|
14174
|
+
groups: groupOrder.map((label) => ({
|
|
14175
|
+
label,
|
|
14176
|
+
items: groupMap.get(label)
|
|
14177
|
+
}))
|
|
14178
|
+
};
|
|
14179
|
+
}
|
|
14180
|
+
__name(partitionTabs, "partitionTabs");
|
|
14181
|
+
|
|
14149
14182
|
// src/components/containers/ReactMarkdownContainer.tsx
|
|
14150
14183
|
import { ChevronDown as ChevronDown2, ChevronUp } from "lucide-react";
|
|
14151
14184
|
import { useTranslations as useTranslations52 } from "next-intl";
|
|
@@ -14266,10 +14299,18 @@ __name(RoundPageContainerTitle, "RoundPageContainerTitle");
|
|
|
14266
14299
|
|
|
14267
14300
|
// src/components/containers/RoundPageContainer.tsx
|
|
14268
14301
|
import { useSearchParams } from "next/navigation";
|
|
14269
|
-
import { useCallback as useCallback26, useEffect as useEffect39, useState as useState48 } from "react";
|
|
14270
|
-
import { Fragment as
|
|
14302
|
+
import { Fragment as Fragment22, useCallback as useCallback26, useEffect as useEffect39, useMemo as useMemo20, useState as useState48 } from "react";
|
|
14303
|
+
import { Fragment as Fragment23, jsx as jsx152, jsxs as jsxs90 } from "react/jsx-runtime";
|
|
14271
14304
|
var DETAILS_COOKIE_NAME = "round_page_details_state";
|
|
14272
14305
|
var DETAILS_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
14306
|
+
var railTriggerClass = cn(
|
|
14307
|
+
"flex w-full items-center justify-start rounded-md px-3 py-1.5 text-left text-sm leading-tight whitespace-normal",
|
|
14308
|
+
"text-muted-foreground",
|
|
14309
|
+
"hover:bg-muted hover:text-foreground",
|
|
14310
|
+
"data-[state=active]:bg-foreground data-[state=active]:text-background",
|
|
14311
|
+
"data-[state=active]:font-semibold data-[state=active]:shadow-none"
|
|
14312
|
+
);
|
|
14313
|
+
var tabValue = /* @__PURE__ */ __name((tab) => tab.sectionKey ?? tab.key?.name ?? tab.label, "tabValue");
|
|
14273
14314
|
function RoundPageContainer({
|
|
14274
14315
|
module,
|
|
14275
14316
|
id,
|
|
@@ -14278,7 +14319,8 @@ function RoundPageContainer({
|
|
|
14278
14319
|
children,
|
|
14279
14320
|
fullWidth,
|
|
14280
14321
|
forceHeader,
|
|
14281
|
-
header
|
|
14322
|
+
header,
|
|
14323
|
+
layout: layout2 = "tabs"
|
|
14282
14324
|
}) {
|
|
14283
14325
|
const headerChildren = useHeaderChildren();
|
|
14284
14326
|
const headerLeftContent = useHeaderLeftContent();
|
|
@@ -14299,11 +14341,11 @@ function RoundPageContainer({
|
|
|
14299
14341
|
const searchParams = useSearchParams();
|
|
14300
14342
|
const section = searchParams.get("section");
|
|
14301
14343
|
const rewriteUrl = useUrlRewriter();
|
|
14302
|
-
const initialValue = tabs ? (section && tabs.find((i) => (i
|
|
14344
|
+
const initialValue = tabs ? (section && tabs.find((i) => tabValue(i) === section) ? section : null) || tabValue(tabs[0]) : void 0;
|
|
14303
14345
|
const [activeTab, setActiveTab] = useState48(initialValue);
|
|
14304
14346
|
useEffect39(() => {
|
|
14305
14347
|
if (tabs && section) {
|
|
14306
|
-
const tab = tabs.find((i) => (i
|
|
14348
|
+
const tab = tabs.find((i) => tabValue(i) === section);
|
|
14307
14349
|
if (tab) {
|
|
14308
14350
|
setActiveTab(section);
|
|
14309
14351
|
}
|
|
@@ -14316,15 +14358,16 @@ function RoundPageContainer({
|
|
|
14316
14358
|
},
|
|
14317
14359
|
[module, id, rewriteUrl]
|
|
14318
14360
|
);
|
|
14319
|
-
const activeFillHeight = tabs?.find((t) => (t
|
|
14361
|
+
const activeFillHeight = tabs?.find((t) => tabValue(t) === activeTab)?.fillHeight === true;
|
|
14362
|
+
const { ungrouped, groups } = useMemo20(() => partitionTabs(tabs ?? []), [tabs]);
|
|
14320
14363
|
const isReady = mounted && isMobile !== void 0;
|
|
14321
14364
|
if (!isReady) {
|
|
14322
|
-
return /* @__PURE__ */ jsxs90(
|
|
14365
|
+
return /* @__PURE__ */ jsxs90(Fragment23, { children: [
|
|
14323
14366
|
/* @__PURE__ */ jsx152(Header, { leftContent: headerLeftContent, className: "bg-sidebar border-0", children: headerChildren }),
|
|
14324
14367
|
/* @__PURE__ */ jsx152("div", { className: cn("flex h-[calc(100vh-3rem)] w-full flex-col", isMobile ? "" : "p-2 pt-0 pl-0"), children: /* @__PURE__ */ jsx152("div", { className: cn("bg-background flex h-full w-full", isMobile ? "" : "rounded-lg border p-0"), children: /* @__PURE__ */ jsx152("div", { className: "flex w-full flex-col" }) }) })
|
|
14325
14368
|
] });
|
|
14326
14369
|
}
|
|
14327
|
-
return /* @__PURE__ */ jsxs90(
|
|
14370
|
+
return /* @__PURE__ */ jsxs90(Fragment23, { children: [
|
|
14328
14371
|
/* @__PURE__ */ jsx152(Header, { leftContent: headerLeftContent, className: "bg-sidebar border-0", children: headerChildren }),
|
|
14329
14372
|
/* @__PURE__ */ jsx152("div", { className: cn(`flex h-[calc(100vh-3rem)] w-full flex-col`, isMobile ? "p-1 pt-0" : "p-2 pt-0 pl-0"), children: /* @__PURE__ */ jsx152("div", { className: "bg-background flex h-full w-full rounded-lg border p-0", children: /* @__PURE__ */ jsxs90("div", { className: "flex w-full flex-col", children: [
|
|
14330
14373
|
(!fullWidth || forceHeader) && /* @__PURE__ */ jsx152(
|
|
@@ -14338,7 +14381,86 @@ function RoundPageContainer({
|
|
|
14338
14381
|
}
|
|
14339
14382
|
),
|
|
14340
14383
|
/* @__PURE__ */ jsxs90("div", { className: "flex h-full w-full overflow-hidden", children: [
|
|
14341
|
-
|
|
14384
|
+
layout2 === "rail" && tabs ? (
|
|
14385
|
+
// Rail layout: the vertical-tab navigation is a flush-left
|
|
14386
|
+
// sidebar of the card and the content fills the full remaining
|
|
14387
|
+
// width (like `fullWidth`) — NOT the centred max-w-6xl column.
|
|
14388
|
+
/* @__PURE__ */ jsxs90(
|
|
14389
|
+
Tabs,
|
|
14390
|
+
{
|
|
14391
|
+
value: activeTab,
|
|
14392
|
+
onValueChange: handleTabChange,
|
|
14393
|
+
orientation: "vertical",
|
|
14394
|
+
className: "flex h-full min-w-0 grow overflow-hidden",
|
|
14395
|
+
children: [
|
|
14396
|
+
/* @__PURE__ */ jsx152(
|
|
14397
|
+
"aside",
|
|
14398
|
+
{
|
|
14399
|
+
"data-testid": "round-page-rail",
|
|
14400
|
+
className: "hidden shrink-0 border-r p-4 md:flex md:w-56 md:flex-col md:overflow-y-auto",
|
|
14401
|
+
children: /* @__PURE__ */ jsxs90(TabsList, { className: "flex h-auto flex-col items-stretch gap-0.5 bg-transparent p-0", children: [
|
|
14402
|
+
ungrouped.map((tab) => /* @__PURE__ */ jsx152(TabsTrigger, { value: tabValue(tab), className: railTriggerClass, children: tab.contentLabel ?? tab.label }, tab.label)),
|
|
14403
|
+
groups.map((group) => /* @__PURE__ */ jsxs90(Fragment22, { children: [
|
|
14404
|
+
/* @__PURE__ */ jsx152(
|
|
14405
|
+
"div",
|
|
14406
|
+
{
|
|
14407
|
+
role: "presentation",
|
|
14408
|
+
className: "text-muted-foreground px-3 pt-3 pb-1 text-[10px] font-bold tracking-wider uppercase",
|
|
14409
|
+
children: group.label
|
|
14410
|
+
}
|
|
14411
|
+
),
|
|
14412
|
+
group.items.map((tab) => /* @__PURE__ */ jsx152(TabsTrigger, { value: tabValue(tab), className: railTriggerClass, children: tab.contentLabel ?? tab.label }, tab.label))
|
|
14413
|
+
] }, group.label))
|
|
14414
|
+
] })
|
|
14415
|
+
}
|
|
14416
|
+
),
|
|
14417
|
+
/* @__PURE__ */ jsxs90("div", { className: "flex min-w-0 grow flex-col overflow-hidden", children: [
|
|
14418
|
+
/* @__PURE__ */ jsx152("div", { "data-testid": "round-page-rail-select", className: "p-2 md:hidden", children: /* @__PURE__ */ jsxs90(
|
|
14419
|
+
Select,
|
|
14420
|
+
{
|
|
14421
|
+
value: activeTab,
|
|
14422
|
+
onValueChange: (value) => {
|
|
14423
|
+
if (value) handleTabChange(value);
|
|
14424
|
+
},
|
|
14425
|
+
children: [
|
|
14426
|
+
/* @__PURE__ */ jsx152(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx152(SelectValue, {}) }),
|
|
14427
|
+
/* @__PURE__ */ jsxs90(SelectContent, { children: [
|
|
14428
|
+
ungrouped.map((tab) => /* @__PURE__ */ jsx152(SelectItem, { value: tabValue(tab), children: tab.contentLabel ?? tab.label }, tab.label)),
|
|
14429
|
+
groups.map((group) => /* @__PURE__ */ jsxs90(SelectGroup, { children: [
|
|
14430
|
+
/* @__PURE__ */ jsx152(SelectLabel, { children: group.label }),
|
|
14431
|
+
group.items.map((tab) => /* @__PURE__ */ jsx152(SelectItem, { value: tabValue(tab), children: tab.contentLabel ?? tab.label }, tab.label))
|
|
14432
|
+
] }, group.label))
|
|
14433
|
+
] })
|
|
14434
|
+
]
|
|
14435
|
+
}
|
|
14436
|
+
) }),
|
|
14437
|
+
/* @__PURE__ */ jsxs90(
|
|
14438
|
+
"div",
|
|
14439
|
+
{
|
|
14440
|
+
className: cn(
|
|
14441
|
+
`min-w-0 grow`,
|
|
14442
|
+
activeFillHeight ? `flex flex-col overflow-hidden` : `overflow-y-auto`
|
|
14443
|
+
),
|
|
14444
|
+
children: [
|
|
14445
|
+
header,
|
|
14446
|
+
tabs.map((tab) => /* @__PURE__ */ jsx152(
|
|
14447
|
+
TabsContent,
|
|
14448
|
+
{
|
|
14449
|
+
value: tabValue(tab),
|
|
14450
|
+
className: tab.fillHeight ? `flex min-h-0 w-full flex-1 flex-col` : ``,
|
|
14451
|
+
children: tab.content
|
|
14452
|
+
},
|
|
14453
|
+
tab.label
|
|
14454
|
+
)),
|
|
14455
|
+
children && /* @__PURE__ */ jsx152("div", { className: "flex", children })
|
|
14456
|
+
]
|
|
14457
|
+
}
|
|
14458
|
+
)
|
|
14459
|
+
] })
|
|
14460
|
+
]
|
|
14461
|
+
}
|
|
14462
|
+
)
|
|
14463
|
+
) : /* @__PURE__ */ jsx152(
|
|
14342
14464
|
"div",
|
|
14343
14465
|
{
|
|
14344
14466
|
className: cn(
|
|
@@ -14357,7 +14479,7 @@ function RoundPageContainer({
|
|
|
14357
14479
|
),
|
|
14358
14480
|
children: [
|
|
14359
14481
|
header,
|
|
14360
|
-
tabs ? /* @__PURE__ */ jsxs90(
|
|
14482
|
+
tabs ? /* @__PURE__ */ jsxs90(Fragment23, { children: [
|
|
14361
14483
|
/* @__PURE__ */ jsxs90(
|
|
14362
14484
|
Tabs,
|
|
14363
14485
|
{
|
|
@@ -14374,10 +14496,10 @@ function RoundPageContainer({
|
|
|
14374
14496
|
},
|
|
14375
14497
|
children: [
|
|
14376
14498
|
/* @__PURE__ */ jsx152(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx152(SelectValue, {}) }),
|
|
14377
|
-
/* @__PURE__ */ jsx152(SelectContent, { children: tabs.map((tab) => /* @__PURE__ */ jsx152(SelectItem, { value: tab
|
|
14499
|
+
/* @__PURE__ */ jsx152(SelectContent, { children: tabs.map((tab) => /* @__PURE__ */ jsx152(SelectItem, { value: tabValue(tab), children: tab.contentLabel ?? tab.label }, tab.label)) })
|
|
14378
14500
|
]
|
|
14379
14501
|
}
|
|
14380
|
-
) }) : /* @__PURE__ */ jsx152("div", { className: "p-4", children: /* @__PURE__ */ jsx152(TabsList, { children: tabs.map((tab) => /* @__PURE__ */ jsx152(TabsTrigger, { value: tab
|
|
14502
|
+
) }) : /* @__PURE__ */ jsx152("div", { className: "p-4", children: /* @__PURE__ */ jsx152(TabsList, { children: tabs.map((tab) => /* @__PURE__ */ jsx152(TabsTrigger, { value: tabValue(tab), className: "px-4", children: tab.contentLabel ?? tab.label }, tab.label)) }) }),
|
|
14381
14503
|
/* @__PURE__ */ jsx152(
|
|
14382
14504
|
"div",
|
|
14383
14505
|
{
|
|
@@ -14389,7 +14511,7 @@ function RoundPageContainer({
|
|
|
14389
14511
|
children: tabs.map((tab) => /* @__PURE__ */ jsx152(
|
|
14390
14512
|
TabsContent,
|
|
14391
14513
|
{
|
|
14392
|
-
value: tab
|
|
14514
|
+
value: tabValue(tab),
|
|
14393
14515
|
className: tab.fillHeight ? `flex flex-1 min-h-0 w-full flex-col` : `pb-20`,
|
|
14394
14516
|
children: tab.content
|
|
14395
14517
|
},
|
|
@@ -14427,7 +14549,7 @@ function RoundPageContainer({
|
|
|
14427
14549
|
__name(RoundPageContainer, "RoundPageContainer");
|
|
14428
14550
|
|
|
14429
14551
|
// src/components/containers/TabsContainer.tsx
|
|
14430
|
-
import { Fragment as
|
|
14552
|
+
import { Fragment as Fragment24, jsx as jsx153, jsxs as jsxs91 } from "react/jsx-runtime";
|
|
14431
14553
|
function TabsContainer({
|
|
14432
14554
|
tabs,
|
|
14433
14555
|
defaultTab,
|
|
@@ -14471,7 +14593,7 @@ function TabsContainer({
|
|
|
14471
14593
|
),
|
|
14472
14594
|
additionalComponent && additionalComponent
|
|
14473
14595
|
] }),
|
|
14474
|
-
scrollAreaClassName ? /* @__PURE__ */ jsx153(ScrollArea, { className: scrollAreaClassName, children: validTabs.map((tab) => /* @__PURE__ */ jsx153(TabsContent, { value: tab.label, children: tab.content }, tab.label)) }) : /* @__PURE__ */ jsx153(
|
|
14596
|
+
scrollAreaClassName ? /* @__PURE__ */ jsx153(ScrollArea, { className: scrollAreaClassName, children: validTabs.map((tab) => /* @__PURE__ */ jsx153(TabsContent, { value: tab.label, children: tab.content }, tab.label)) }) : /* @__PURE__ */ jsx153(Fragment24, { children: validTabs.map((tab) => /* @__PURE__ */ jsx153(TabsContent, { value: tab.label, children: tab.content }, tab.label)) })
|
|
14475
14597
|
] });
|
|
14476
14598
|
}
|
|
14477
14599
|
__name(TabsContainer, "TabsContainer");
|
|
@@ -14653,7 +14775,7 @@ var createMentionInlineContentSpec = /* @__PURE__ */ __name((resolveFn, disableM
|
|
|
14653
14775
|
// src/components/editors/BlockNoteEditorSuggestionMenuController.tsx
|
|
14654
14776
|
import { SuggestionMenuController } from "@blocknote/react";
|
|
14655
14777
|
import { autoUpdate, flip, shift } from "@floating-ui/react";
|
|
14656
|
-
import React25, { useCallback as useCallback28, useMemo as
|
|
14778
|
+
import React25, { useCallback as useCallback28, useMemo as useMemo21 } from "react";
|
|
14657
14779
|
import { jsx as jsx157 } from "react/jsx-runtime";
|
|
14658
14780
|
var MentionInsertContext = React25.createContext(null);
|
|
14659
14781
|
var useMentionInsert = /* @__PURE__ */ __name(() => React25.useContext(MentionInsertContext), "useMentionInsert");
|
|
@@ -14705,7 +14827,7 @@ function BlockNoteEditorMentionSuggestionMenu({
|
|
|
14705
14827
|
},
|
|
14706
14828
|
[editor, mentionSearchFn, mentionSearchParams]
|
|
14707
14829
|
);
|
|
14708
|
-
const wrappedSuggestionMenuComponent =
|
|
14830
|
+
const wrappedSuggestionMenuComponent = useMemo21(() => {
|
|
14709
14831
|
if (!suggestionMenuComponent) return void 0;
|
|
14710
14832
|
const Component2 = suggestionMenuComponent;
|
|
14711
14833
|
const Wrapped = /* @__PURE__ */ __name((props) => {
|
|
@@ -14952,7 +15074,7 @@ var cellUrl = /* @__PURE__ */ __name((params) => {
|
|
|
14952
15074
|
}, "cellUrl");
|
|
14953
15075
|
|
|
14954
15076
|
// src/client/context/JsonApiProvider.tsx
|
|
14955
|
-
import { useEffect as useEffect43, useMemo as
|
|
15077
|
+
import { useEffect as useEffect43, useMemo as useMemo22 } from "react";
|
|
14956
15078
|
import { jsx as jsx166 } from "react/jsx-runtime";
|
|
14957
15079
|
function JsonApiProvider({ config, children }) {
|
|
14958
15080
|
useEffect43(() => {
|
|
@@ -14960,7 +15082,7 @@ function JsonApiProvider({ config, children }) {
|
|
|
14960
15082
|
config.bootstrapper();
|
|
14961
15083
|
}
|
|
14962
15084
|
}, [config.bootstrapper]);
|
|
14963
|
-
const memoizedConfig =
|
|
15085
|
+
const memoizedConfig = useMemo22(() => config, [config]);
|
|
14964
15086
|
return /* @__PURE__ */ jsx166(JsonApiContext.Provider, { value: memoizedConfig, children });
|
|
14965
15087
|
}
|
|
14966
15088
|
__name(JsonApiProvider, "JsonApiProvider");
|
|
@@ -14978,7 +15100,7 @@ function useJsonApiGet(params) {
|
|
|
14978
15100
|
setLoading(true);
|
|
14979
15101
|
setError(null);
|
|
14980
15102
|
try {
|
|
14981
|
-
const { JsonApiGet } = await import("./JsonApiRequest-
|
|
15103
|
+
const { JsonApiGet } = await import("./JsonApiRequest-SN3DNFDR.mjs");
|
|
14982
15104
|
const language = navigator.language.split("-")[0] || "en";
|
|
14983
15105
|
const apiResponse = await JsonApiGet({
|
|
14984
15106
|
classKey: params.classKey,
|
|
@@ -15083,7 +15205,7 @@ function useJsonApiMutation(config) {
|
|
|
15083
15205
|
setLoading(true);
|
|
15084
15206
|
setError(null);
|
|
15085
15207
|
try {
|
|
15086
|
-
const { JsonApiPost, JsonApiPut, JsonApiPatch, JsonApiDelete } = await import("./JsonApiRequest-
|
|
15208
|
+
const { JsonApiPost, JsonApiPut, JsonApiPatch, JsonApiDelete } = await import("./JsonApiRequest-SN3DNFDR.mjs");
|
|
15087
15209
|
const language = navigator.language.split("-")[0] || "en";
|
|
15088
15210
|
let apiResponse;
|
|
15089
15211
|
switch (config.method) {
|
|
@@ -15166,16 +15288,16 @@ function useJsonApiMutation(config) {
|
|
|
15166
15288
|
__name(useJsonApiMutation, "useJsonApiMutation");
|
|
15167
15289
|
|
|
15168
15290
|
// src/client/hooks/useRehydration.ts
|
|
15169
|
-
import { useMemo as
|
|
15291
|
+
import { useMemo as useMemo23 } from "react";
|
|
15170
15292
|
function useRehydration(classKey, data) {
|
|
15171
|
-
return
|
|
15293
|
+
return useMemo23(() => {
|
|
15172
15294
|
if (!data) return null;
|
|
15173
15295
|
return RehydrationFactory.rehydrate(classKey, data);
|
|
15174
15296
|
}, [classKey, data]);
|
|
15175
15297
|
}
|
|
15176
15298
|
__name(useRehydration, "useRehydration");
|
|
15177
15299
|
function useRehydrationList(classKey, data) {
|
|
15178
|
-
return
|
|
15300
|
+
return useMemo23(() => {
|
|
15179
15301
|
if (!data || data.length === 0) return [];
|
|
15180
15302
|
return RehydrationFactory.rehydrateList(classKey, data);
|
|
15181
15303
|
}, [classKey, data]);
|
|
@@ -15184,13 +15306,13 @@ __name(useRehydrationList, "useRehydrationList");
|
|
|
15184
15306
|
|
|
15185
15307
|
// src/features/company/hooks/useCompanyTableStructure.tsx
|
|
15186
15308
|
import { useTranslations as useTranslations54 } from "next-intl";
|
|
15187
|
-
import { useMemo as
|
|
15309
|
+
import { useMemo as useMemo24 } from "react";
|
|
15188
15310
|
import { jsx as jsx167 } from "react/jsx-runtime";
|
|
15189
15311
|
var useCompanyTableStructure = /* @__PURE__ */ __name((params) => {
|
|
15190
15312
|
const t = useTranslations54();
|
|
15191
15313
|
const generateUrl = usePageUrlGenerator();
|
|
15192
15314
|
const { hasRole } = useCurrentUserContext();
|
|
15193
|
-
const tableData =
|
|
15315
|
+
const tableData = useMemo24(() => {
|
|
15194
15316
|
return params.data.map((company) => {
|
|
15195
15317
|
const entry = {
|
|
15196
15318
|
jsonApiData: company
|
|
@@ -15234,14 +15356,14 @@ var useCompanyTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
15234
15356
|
title: t(`common.date.create`)
|
|
15235
15357
|
})
|
|
15236
15358
|
};
|
|
15237
|
-
const columns =
|
|
15359
|
+
const columns = useMemo24(() => {
|
|
15238
15360
|
return params.fields.map((field) => fieldColumnMap[field]?.()).filter((col) => col !== void 0);
|
|
15239
15361
|
}, [params.fields, fieldColumnMap, t, generateUrl, hasRole]);
|
|
15240
|
-
return
|
|
15362
|
+
return useMemo24(() => ({ data: tableData, columns }), [tableData, columns]);
|
|
15241
15363
|
}, "useCompanyTableStructure");
|
|
15242
15364
|
|
|
15243
15365
|
// src/features/company/hooks/useSubscriptionStatus.ts
|
|
15244
|
-
import { useMemo as
|
|
15366
|
+
import { useMemo as useMemo25 } from "react";
|
|
15245
15367
|
var TRIAL_DAYS = 14;
|
|
15246
15368
|
var GRACE_DAYS = 3;
|
|
15247
15369
|
var isAdministrator = /* @__PURE__ */ __name((currentUser) => {
|
|
@@ -15251,7 +15373,7 @@ var isAdministrator = /* @__PURE__ */ __name((currentUser) => {
|
|
|
15251
15373
|
}, "isAdministrator");
|
|
15252
15374
|
function useSubscriptionStatus() {
|
|
15253
15375
|
const { company, currentUser } = useCurrentUserContext();
|
|
15254
|
-
return
|
|
15376
|
+
return useMemo25(() => {
|
|
15255
15377
|
if (currentUser === null) {
|
|
15256
15378
|
return {
|
|
15257
15379
|
status: "loading",
|
|
@@ -15316,12 +15438,12 @@ __name(useSubscriptionStatus, "useSubscriptionStatus");
|
|
|
15316
15438
|
|
|
15317
15439
|
// src/features/role/hooks/useRoleTableStructure.tsx
|
|
15318
15440
|
import { useTranslations as useTranslations55 } from "next-intl";
|
|
15319
|
-
import { useMemo as
|
|
15320
|
-
import { Fragment as
|
|
15441
|
+
import { useMemo as useMemo26 } from "react";
|
|
15442
|
+
import { Fragment as Fragment25, jsx as jsx168 } from "react/jsx-runtime";
|
|
15321
15443
|
var useRoleTableStructure = /* @__PURE__ */ __name((params) => {
|
|
15322
15444
|
const t = useTranslations55();
|
|
15323
15445
|
const generateUrl = usePageUrlGenerator();
|
|
15324
|
-
const tableData =
|
|
15446
|
+
const tableData = useMemo26(() => {
|
|
15325
15447
|
return params.data.map((role) => {
|
|
15326
15448
|
const entry = {
|
|
15327
15449
|
jsonApiData: role
|
|
@@ -15354,7 +15476,7 @@ var useRoleTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
15354
15476
|
id: "description",
|
|
15355
15477
|
accessorKey: "description",
|
|
15356
15478
|
header: t(`role.fields.description.label`),
|
|
15357
|
-
cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx168(
|
|
15479
|
+
cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx168(Fragment25, { children: row.getValue("description") }), "cell"),
|
|
15358
15480
|
enableSorting: false,
|
|
15359
15481
|
enableHiding: false
|
|
15360
15482
|
}),
|
|
@@ -15363,20 +15485,20 @@ var useRoleTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
15363
15485
|
title: t(`common.date.create`)
|
|
15364
15486
|
})
|
|
15365
15487
|
};
|
|
15366
|
-
const columns =
|
|
15488
|
+
const columns = useMemo26(() => {
|
|
15367
15489
|
return params.fields.map((field) => fieldColumnMap[field]?.()).filter((col) => col !== void 0);
|
|
15368
15490
|
}, [params.fields, fieldColumnMap, t, generateUrl]);
|
|
15369
|
-
return
|
|
15491
|
+
return useMemo26(() => ({ data: tableData, columns }), [tableData, columns]);
|
|
15370
15492
|
}, "useRoleTableStructure");
|
|
15371
15493
|
|
|
15372
15494
|
// src/features/content/hooks/useContentTableStructure.tsx
|
|
15373
15495
|
import { useTranslations as useTranslations56 } from "next-intl";
|
|
15374
|
-
import { useMemo as
|
|
15375
|
-
import { Fragment as
|
|
15496
|
+
import { useMemo as useMemo27 } from "react";
|
|
15497
|
+
import { Fragment as Fragment26, jsx as jsx169, jsxs as jsxs96 } from "react/jsx-runtime";
|
|
15376
15498
|
var useContentTableStructure = /* @__PURE__ */ __name((params) => {
|
|
15377
15499
|
const t = useTranslations56();
|
|
15378
15500
|
const generateUrl = usePageUrlGenerator();
|
|
15379
|
-
const tableData =
|
|
15501
|
+
const tableData = useMemo27(() => {
|
|
15380
15502
|
return params.data.map((content) => {
|
|
15381
15503
|
const entry = {
|
|
15382
15504
|
jsonApiData: content
|
|
@@ -15403,7 +15525,7 @@ var useContentTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
15403
15525
|
const contentModule = content.contentType ? Modules.findByModelName(content.contentType) : void 0;
|
|
15404
15526
|
const link = contentModule ? generateUrl({ page: contentModule, id: content.id }) : "#";
|
|
15405
15527
|
return /* @__PURE__ */ jsxs96(Tooltip2, { children: [
|
|
15406
|
-
/* @__PURE__ */ jsx169(TooltipTrigger, { className: "flex items-center justify-start space-x-2", children: /* @__PURE__ */ jsxs96(
|
|
15528
|
+
/* @__PURE__ */ jsx169(TooltipTrigger, { className: "flex items-center justify-start space-x-2", children: /* @__PURE__ */ jsxs96(Fragment26, { children: [
|
|
15407
15529
|
contentModule && getIconByModule({ module: contentModule, className: "h-4 w-4" }),
|
|
15408
15530
|
/* @__PURE__ */ jsx169(Link, { href: link, children: content.name })
|
|
15409
15531
|
] }) }),
|
|
@@ -15419,7 +15541,7 @@ var useContentTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
15419
15541
|
header: t(`common.relevance`),
|
|
15420
15542
|
cell: /* @__PURE__ */ __name(({ row }) => {
|
|
15421
15543
|
const content = row.original.jsonApiData;
|
|
15422
|
-
if (!content.relevance) return /* @__PURE__ */ jsx169(
|
|
15544
|
+
if (!content.relevance) return /* @__PURE__ */ jsx169(Fragment26, {});
|
|
15423
15545
|
const response = `${content.relevance.toFixed(0)}%`;
|
|
15424
15546
|
return /* @__PURE__ */ jsxs96("div", { className: "relative flex h-5 w-20 items-center justify-center overflow-clip rounded border text-center", children: [
|
|
15425
15547
|
/* @__PURE__ */ jsx169(
|
|
@@ -15461,7 +15583,7 @@ var useContentTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
15461
15583
|
title: t(`common.date.update`)
|
|
15462
15584
|
})
|
|
15463
15585
|
};
|
|
15464
|
-
const columns =
|
|
15586
|
+
const columns = useMemo27(() => {
|
|
15465
15587
|
return params.fields.map((field) => {
|
|
15466
15588
|
const localHandler = fieldColumnMap[field];
|
|
15467
15589
|
if (localHandler) return localHandler();
|
|
@@ -15470,7 +15592,7 @@ var useContentTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
15470
15592
|
return void 0;
|
|
15471
15593
|
}).filter((col) => col !== void 0);
|
|
15472
15594
|
}, [params.fields, fieldColumnMap, t, generateUrl, params.context?.customCells]);
|
|
15473
|
-
return
|
|
15595
|
+
return useMemo27(() => ({ data: tableData, columns }), [tableData, columns]);
|
|
15474
15596
|
}, "useContentTableStructure");
|
|
15475
15597
|
|
|
15476
15598
|
// src/features/oauth/hooks/useOAuthClients.ts
|
|
@@ -15769,7 +15891,7 @@ registerTableGenerator("companies", useCompanyTableStructure);
|
|
|
15769
15891
|
// src/components/tables/ContentListTable.tsx
|
|
15770
15892
|
import { flexRender, getCoreRowModel, getExpandedRowModel, useReactTable } from "@tanstack/react-table";
|
|
15771
15893
|
import { ChevronLeft, ChevronRight } from "lucide-react";
|
|
15772
|
-
import React28, { memo, useMemo as
|
|
15894
|
+
import React28, { memo, useMemo as useMemo28, useState as useState57 } from "react";
|
|
15773
15895
|
|
|
15774
15896
|
// src/components/tables/ContentTableSearch.tsx
|
|
15775
15897
|
import { RefreshCw, Search, X as X3 } from "lucide-react";
|
|
@@ -15862,7 +15984,7 @@ function ContentTableSearch({ data }) {
|
|
|
15862
15984
|
__name(ContentTableSearch, "ContentTableSearch");
|
|
15863
15985
|
|
|
15864
15986
|
// src/components/tables/ContentListTable.tsx
|
|
15865
|
-
import { Fragment as
|
|
15987
|
+
import { Fragment as Fragment27, jsx as jsx171, jsxs as jsxs98 } from "react/jsx-runtime";
|
|
15866
15988
|
var EMPTY_ARRAY = [];
|
|
15867
15989
|
function getGroupKeys(item, field) {
|
|
15868
15990
|
const value = item.jsonApiData[field];
|
|
@@ -15888,7 +16010,7 @@ var ContentListTable = memo(/* @__PURE__ */ __name(function ContentListTable2(pr
|
|
|
15888
16010
|
dataRetriever: data,
|
|
15889
16011
|
context: props.context
|
|
15890
16012
|
});
|
|
15891
|
-
const columnVisibility =
|
|
16013
|
+
const columnVisibility = useMemo28(
|
|
15892
16014
|
() => fields.reduce(
|
|
15893
16015
|
(acc, columnId) => {
|
|
15894
16016
|
acc[columnId] = true;
|
|
@@ -15913,7 +16035,7 @@ var ContentListTable = memo(/* @__PURE__ */ __name(function ContentListTable2(pr
|
|
|
15913
16035
|
}
|
|
15914
16036
|
});
|
|
15915
16037
|
const rowModel = tableData ? table.getRowModel() : null;
|
|
15916
|
-
const groupedRows =
|
|
16038
|
+
const groupedRows = useMemo28(() => {
|
|
15917
16039
|
if (!props.groupBy || !rowModel?.rows?.length) return null;
|
|
15918
16040
|
const groupMap = /* @__PURE__ */ new Map();
|
|
15919
16041
|
for (const row of rowModel.rows) {
|
|
@@ -15960,7 +16082,7 @@ var ContentListTable = memo(/* @__PURE__ */ __name(function ContentListTable2(pr
|
|
|
15960
16082
|
]
|
|
15961
16083
|
}
|
|
15962
16084
|
) }),
|
|
15963
|
-
(props.functions || props.filters || allowSearch) && /* @__PURE__ */ jsxs98(
|
|
16085
|
+
(props.functions || props.filters || allowSearch) && /* @__PURE__ */ jsxs98(Fragment27, { children: [
|
|
15964
16086
|
props.functions,
|
|
15965
16087
|
props.filters,
|
|
15966
16088
|
/* @__PURE__ */ jsx171(ContentTableSearch, { data })
|
|
@@ -16024,7 +16146,7 @@ var ContentListTable = memo(/* @__PURE__ */ __name(function ContentListTable2(pr
|
|
|
16024
16146
|
|
|
16025
16147
|
// src/components/grids/ContentListGrid.tsx
|
|
16026
16148
|
import { useEffect as useEffect49, useRef as useRef29 } from "react";
|
|
16027
|
-
import { Fragment as
|
|
16149
|
+
import { Fragment as Fragment28, jsx as jsx172, jsxs as jsxs99 } from "react/jsx-runtime";
|
|
16028
16150
|
var DEFAULT_GRID_CLASSES = "grid grid-cols-2 gap-4 p-4 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5";
|
|
16029
16151
|
function ContentListGrid(props) {
|
|
16030
16152
|
const { data, ItemComponent, allowSearch, fullWidth, gridClassName } = props;
|
|
@@ -16055,7 +16177,7 @@ function ContentListGrid(props) {
|
|
|
16055
16177
|
]
|
|
16056
16178
|
}
|
|
16057
16179
|
) }),
|
|
16058
|
-
(props.functions || props.filters || allowSearch) && /* @__PURE__ */ jsxs99(
|
|
16180
|
+
(props.functions || props.filters || allowSearch) && /* @__PURE__ */ jsxs99(Fragment28, { children: [
|
|
16059
16181
|
props.functions,
|
|
16060
16182
|
props.filters,
|
|
16061
16183
|
allowSearch && /* @__PURE__ */ jsx172(ContentTableSearch, { data })
|
|
@@ -16236,7 +16358,7 @@ var ItalianFiscalData_default = ItalianFiscalData;
|
|
|
16236
16358
|
import Image8 from "next/image";
|
|
16237
16359
|
|
|
16238
16360
|
// src/features/auth/contexts/AuthContext.tsx
|
|
16239
|
-
import { createContext as createContext20, useContext as useContext21, useMemo as
|
|
16361
|
+
import { createContext as createContext20, useContext as useContext21, useMemo as useMemo29, useState as useState60 } from "react";
|
|
16240
16362
|
|
|
16241
16363
|
// src/features/auth/components/forms/Register.tsx
|
|
16242
16364
|
import { zodResolver as zodResolver5 } from "@hookform/resolvers/zod";
|
|
@@ -16251,14 +16373,14 @@ import { z as z5 } from "zod";
|
|
|
16251
16373
|
|
|
16252
16374
|
// src/features/auth/components/GdprConsentSection.tsx
|
|
16253
16375
|
import { useTranslations as useTranslations59 } from "next-intl";
|
|
16254
|
-
import { Fragment as
|
|
16376
|
+
import { Fragment as Fragment29, jsx as jsx174, jsxs as jsxs101 } from "react/jsx-runtime";
|
|
16255
16377
|
function GdprConsentSection({
|
|
16256
16378
|
form,
|
|
16257
16379
|
termsCheckboxId = "termsAccepted",
|
|
16258
16380
|
marketingCheckboxId = "marketingConsent"
|
|
16259
16381
|
}) {
|
|
16260
16382
|
const t = useTranslations59("auth.gdpr");
|
|
16261
|
-
const termsLabel = /* @__PURE__ */ jsxs101(
|
|
16383
|
+
const termsLabel = /* @__PURE__ */ jsxs101(Fragment29, { children: [
|
|
16262
16384
|
t("terms_prefix"),
|
|
16263
16385
|
" ",
|
|
16264
16386
|
/* @__PURE__ */ jsx174(Link, { href: "/terms", target: "_blank", rel: "noopener", className: "underline", children: t("terms_of_service") }),
|
|
@@ -16283,7 +16405,7 @@ function GdprConsentSection({
|
|
|
16283
16405
|
__name(GdprConsentSection, "GdprConsentSection");
|
|
16284
16406
|
|
|
16285
16407
|
// src/features/auth/components/forms/Register.tsx
|
|
16286
|
-
import { Fragment as
|
|
16408
|
+
import { Fragment as Fragment30, jsx as jsx175, jsxs as jsxs102 } from "react/jsx-runtime";
|
|
16287
16409
|
var REFERRAL_COOKIE_NAME = "referral_code";
|
|
16288
16410
|
function getReferralCode() {
|
|
16289
16411
|
if (typeof document === "undefined") return null;
|
|
@@ -16401,7 +16523,7 @@ function Register() {
|
|
|
16401
16523
|
}
|
|
16402
16524
|
}, "onSubmit");
|
|
16403
16525
|
if (registrationMode === "waitlist" && inviteCode && isValidatingInvite) {
|
|
16404
|
-
return /* @__PURE__ */ jsxs102(
|
|
16526
|
+
return /* @__PURE__ */ jsxs102(Fragment30, { children: [
|
|
16405
16527
|
/* @__PURE__ */ jsx175(CardHeader, { children: /* @__PURE__ */ jsxs102(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
|
|
16406
16528
|
/* @__PURE__ */ jsx175(Image7, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
16407
16529
|
t("waitlist.invite.validating_title")
|
|
@@ -16413,7 +16535,7 @@ function Register() {
|
|
|
16413
16535
|
] });
|
|
16414
16536
|
}
|
|
16415
16537
|
if (registrationMode === "waitlist" && inviteCode && inviteError) {
|
|
16416
|
-
return /* @__PURE__ */ jsxs102(
|
|
16538
|
+
return /* @__PURE__ */ jsxs102(Fragment30, { children: [
|
|
16417
16539
|
/* @__PURE__ */ jsx175(CardHeader, { children: /* @__PURE__ */ jsxs102(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
|
|
16418
16540
|
/* @__PURE__ */ jsx175(Image7, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
16419
16541
|
t("waitlist.invite.invalid_title")
|
|
@@ -16426,7 +16548,7 @@ function Register() {
|
|
|
16426
16548
|
] });
|
|
16427
16549
|
}
|
|
16428
16550
|
if (registrationMode === "waitlist" && !inviteCode) {
|
|
16429
|
-
return /* @__PURE__ */ jsxs102(
|
|
16551
|
+
return /* @__PURE__ */ jsxs102(Fragment30, { children: [
|
|
16430
16552
|
/* @__PURE__ */ jsx175(CardHeader, { children: /* @__PURE__ */ jsxs102(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
|
|
16431
16553
|
/* @__PURE__ */ jsx175(Image7, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
16432
16554
|
t("waitlist.invite.registration_title")
|
|
@@ -16439,13 +16561,13 @@ function Register() {
|
|
|
16439
16561
|
/* @__PURE__ */ jsx175(CardFooter, { className: "flex w-full flex-row justify-between", children: /* @__PURE__ */ jsx175(Link, { href: "#", className: "flex w-full justify-start", onClick: () => setComponentType(0 /* Login */), children: t("auth.buttons.login") }) })
|
|
16440
16562
|
] });
|
|
16441
16563
|
}
|
|
16442
|
-
return /* @__PURE__ */ jsxs102(
|
|
16564
|
+
return /* @__PURE__ */ jsxs102(Fragment30, { children: [
|
|
16443
16565
|
/* @__PURE__ */ jsxs102(CardHeader, { children: [
|
|
16444
16566
|
/* @__PURE__ */ jsxs102(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
|
|
16445
16567
|
/* @__PURE__ */ jsx175(Image7, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
16446
16568
|
t(`auth.buttons.register`)
|
|
16447
16569
|
] }),
|
|
16448
|
-
/* @__PURE__ */ jsx175(CardDescription, { className: "text-sm", children: showConfirmation ? /* @__PURE__ */ jsx175(
|
|
16570
|
+
/* @__PURE__ */ jsx175(CardDescription, { className: "text-sm", children: showConfirmation ? /* @__PURE__ */ jsx175(Fragment30, { children: " " }) : /* @__PURE__ */ jsx175(Fragment30, { children: t(`auth.register_description`) }) })
|
|
16449
16571
|
] }),
|
|
16450
16572
|
showConfirmation ? /* @__PURE__ */ jsx175(CardContent, { children: /* @__PURE__ */ jsx175(CardDescription, { className: "text-center text-xl", children: t("auth.register_confirmation") }) }) : /* @__PURE__ */ jsx175(Form, { ...form, children: /* @__PURE__ */ jsxs102("form", { onSubmit: form.handleSubmit(onSubmit), children: [
|
|
16451
16573
|
/* @__PURE__ */ jsxs102(CardContent, { children: [
|
|
@@ -16595,7 +16717,7 @@ var AuthContextProvider = /* @__PURE__ */ __name(({
|
|
|
16595
16717
|
const [componentType, setComponentType] = useState60(initialComponentType);
|
|
16596
16718
|
const [params, setParams] = useState60(initialParams);
|
|
16597
16719
|
const [pendingTwoFactor, setPendingTwoFactor] = useState60();
|
|
16598
|
-
const activeComponent =
|
|
16720
|
+
const activeComponent = useMemo29(() => {
|
|
16599
16721
|
if (componentType === void 0) return null;
|
|
16600
16722
|
switch (componentType) {
|
|
16601
16723
|
case 0 /* Login */:
|
|
@@ -16878,7 +17000,7 @@ __name(DisableTwoFactorDialog, "DisableTwoFactorDialog");
|
|
|
16878
17000
|
import { Edit, Key, Trash2 } from "lucide-react";
|
|
16879
17001
|
import { useTranslations as useTranslations63 } from "next-intl";
|
|
16880
17002
|
import { useState as useState64 } from "react";
|
|
16881
|
-
import { Fragment as
|
|
17003
|
+
import { Fragment as Fragment31, jsx as jsx181, jsxs as jsxs106 } from "react/jsx-runtime";
|
|
16882
17004
|
function PasskeyList({ passkeys, onRefresh }) {
|
|
16883
17005
|
const t = useTranslations63();
|
|
16884
17006
|
const [renameDialogOpen, setRenameDialogOpen] = useState64(false);
|
|
@@ -16934,7 +17056,7 @@ function PasskeyList({ passkeys, onRefresh }) {
|
|
|
16934
17056
|
if (passkeys.length === 0) {
|
|
16935
17057
|
return /* @__PURE__ */ jsx181("p", { className: "text-sm text-muted-foreground text-center py-4", children: t("auth.two_factor.no_passkeys") });
|
|
16936
17058
|
}
|
|
16937
|
-
return /* @__PURE__ */ jsxs106(
|
|
17059
|
+
return /* @__PURE__ */ jsxs106(Fragment31, { children: [
|
|
16938
17060
|
/* @__PURE__ */ jsx181("div", { className: "space-y-2", children: passkeys.map((passkey) => /* @__PURE__ */ jsxs106("div", { className: "flex items-center justify-between p-3 border rounded-lg", children: [
|
|
16939
17061
|
/* @__PURE__ */ jsxs106("div", { className: "flex items-center gap-3", children: [
|
|
16940
17062
|
/* @__PURE__ */ jsx181(Key, { className: "h-5 w-5 text-muted-foreground" }),
|
|
@@ -17251,7 +17373,7 @@ function TotpSetupDialog({ onSuccess, trigger }) {
|
|
|
17251
17373
|
__name(TotpSetupDialog, "TotpSetupDialog");
|
|
17252
17374
|
|
|
17253
17375
|
// src/features/auth/components/two-factor/TwoFactorSettings.tsx
|
|
17254
|
-
import { Fragment as
|
|
17376
|
+
import { Fragment as Fragment32, jsx as jsx185, jsxs as jsxs110 } from "react/jsx-runtime";
|
|
17255
17377
|
function TwoFactorSettings() {
|
|
17256
17378
|
const t = useTranslations67();
|
|
17257
17379
|
const [status, setStatus] = useState68(null);
|
|
@@ -17338,7 +17460,7 @@ function TwoFactorSettings() {
|
|
|
17338
17460
|
] }),
|
|
17339
17461
|
/* @__PURE__ */ jsx185(BackupCodesDialog, { remainingCodes: status?.backupCodesCount ?? 0, onRegenerate: handleRefresh })
|
|
17340
17462
|
] }) }),
|
|
17341
|
-
!isEnabled && (authenticators.length > 0 || passkeys.length > 0) && /* @__PURE__ */ jsxs110(
|
|
17463
|
+
!isEnabled && (authenticators.length > 0 || passkeys.length > 0) && /* @__PURE__ */ jsxs110(Fragment32, { children: [
|
|
17342
17464
|
/* @__PURE__ */ jsx185(Separator, {}),
|
|
17343
17465
|
/* @__PURE__ */ jsxs110("div", { className: "flex items-center justify-between", children: [
|
|
17344
17466
|
/* @__PURE__ */ jsxs110("div", { children: [
|
|
@@ -17348,7 +17470,7 @@ function TwoFactorSettings() {
|
|
|
17348
17470
|
/* @__PURE__ */ jsx185(Button, { onClick: handleEnable2FA, disabled: isEnabling, children: isEnabling ? t("common.loading") : t("auth.two_factor.enable_button") })
|
|
17349
17471
|
] })
|
|
17350
17472
|
] }),
|
|
17351
|
-
isEnabled && /* @__PURE__ */ jsxs110(
|
|
17473
|
+
isEnabled && /* @__PURE__ */ jsxs110(Fragment32, { children: [
|
|
17352
17474
|
/* @__PURE__ */ jsx185(Separator, {}),
|
|
17353
17475
|
/* @__PURE__ */ jsxs110("div", { className: "flex items-center justify-between", children: [
|
|
17354
17476
|
/* @__PURE__ */ jsxs110("div", { children: [
|
|
@@ -17430,11 +17552,11 @@ function GoogleSignInButton({ referralCode }) {
|
|
|
17430
17552
|
__name(GoogleSignInButton, "GoogleSignInButton");
|
|
17431
17553
|
|
|
17432
17554
|
// src/features/auth/components/details/LandingComponent.tsx
|
|
17433
|
-
import { Fragment as
|
|
17555
|
+
import { Fragment as Fragment33, jsx as jsx188, jsxs as jsxs112 } from "react/jsx-runtime";
|
|
17434
17556
|
function LandingComponent() {
|
|
17435
17557
|
const t = useTranslations68();
|
|
17436
17558
|
const { setComponentType } = useAuthContext();
|
|
17437
|
-
return /* @__PURE__ */ jsxs112(
|
|
17559
|
+
return /* @__PURE__ */ jsxs112(Fragment33, { children: [
|
|
17438
17560
|
/* @__PURE__ */ jsxs112(CardHeader, { className: "mb-4", "data-testid": "page-pre-login-container", children: [
|
|
17439
17561
|
/* @__PURE__ */ jsxs112(CardTitle, { className: "text-primary flex flex-col items-center gap-y-8 pb-8 text-4xl", children: [
|
|
17440
17562
|
/* @__PURE__ */ jsx188(Image9, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
@@ -17443,7 +17565,7 @@ function LandingComponent() {
|
|
|
17443
17565
|
/* @__PURE__ */ jsx188(CardDescription, { className: "flex w-full justify-center text-center text-sm", children: t(`common.description`) })
|
|
17444
17566
|
] }),
|
|
17445
17567
|
/* @__PURE__ */ jsxs112(CardFooter, { className: "mt-4 flex w-full flex-col justify-between gap-y-4", children: [
|
|
17446
|
-
isInternalAuthEnabled() && /* @__PURE__ */ jsxs112(
|
|
17568
|
+
isInternalAuthEnabled() && /* @__PURE__ */ jsxs112(Fragment33, { children: [
|
|
17447
17569
|
isRegistrationAllowed() && /* @__PURE__ */ jsx188(
|
|
17448
17570
|
Link,
|
|
17449
17571
|
{
|
|
@@ -17469,7 +17591,7 @@ import Image10 from "next/image";
|
|
|
17469
17591
|
import { useEffect as useEffect53, useState as useState69 } from "react";
|
|
17470
17592
|
import { useForm as useForm6 } from "react-hook-form";
|
|
17471
17593
|
import { z as z6 } from "zod";
|
|
17472
|
-
import { Fragment as
|
|
17594
|
+
import { Fragment as Fragment34, jsx as jsx189, jsxs as jsxs113 } from "react/jsx-runtime";
|
|
17473
17595
|
function AcceptInvitation() {
|
|
17474
17596
|
const { setComponentType, params, setParams } = useAuthContext();
|
|
17475
17597
|
const [showConfirmation, setShowConfirmation] = useState69(false);
|
|
@@ -17532,13 +17654,13 @@ function AcceptInvitation() {
|
|
|
17532
17654
|
errorToast({ title: t(`common.errors.error`), error });
|
|
17533
17655
|
}
|
|
17534
17656
|
}, "onSubmit");
|
|
17535
|
-
return /* @__PURE__ */ jsxs113(
|
|
17657
|
+
return /* @__PURE__ */ jsxs113(Fragment34, { children: [
|
|
17536
17658
|
/* @__PURE__ */ jsxs113(CardHeader, { children: [
|
|
17537
17659
|
/* @__PURE__ */ jsxs113(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
|
|
17538
17660
|
/* @__PURE__ */ jsx189(Image10, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
17539
17661
|
t("auth.accept_invitation")
|
|
17540
17662
|
] }),
|
|
17541
|
-
/* @__PURE__ */ jsx189(CardDescription, { className: "text-center text-sm", children: error ? /* @__PURE__ */ jsx189(
|
|
17663
|
+
/* @__PURE__ */ jsx189(CardDescription, { className: "text-center text-sm", children: error ? /* @__PURE__ */ jsx189(Fragment34, { children: t("auth.errors.activating_account") }) : /* @__PURE__ */ jsx189(Fragment34, { children: t("auth.select_password") }) })
|
|
17542
17664
|
] }),
|
|
17543
17665
|
/* @__PURE__ */ jsx189(CardContent, { children: showConfirmation ? /* @__PURE__ */ jsx189(CardDescription, { className: "text-center text-xl", children: t("auth.activation_description") }) : error ? /* @__PURE__ */ jsx189(CardDescription, { className: "text-center text-xl", children: error }) : /* @__PURE__ */ jsx189(Form, { ...form, children: /* @__PURE__ */ jsxs113("form", { onSubmit: form.handleSubmit(onSubmit), children: [
|
|
17544
17666
|
/* @__PURE__ */ jsx189(
|
|
@@ -17569,7 +17691,7 @@ __name(AcceptInvitation, "AcceptInvitation");
|
|
|
17569
17691
|
import { useTranslations as useTranslations70 } from "next-intl";
|
|
17570
17692
|
import Image11 from "next/image";
|
|
17571
17693
|
import { useEffect as useEffect54, useState as useState70 } from "react";
|
|
17572
|
-
import { Fragment as
|
|
17694
|
+
import { Fragment as Fragment35, jsx as jsx190, jsxs as jsxs114 } from "react/jsx-runtime";
|
|
17573
17695
|
function ActivateAccount() {
|
|
17574
17696
|
const { setComponentType, params, setParams } = useAuthContext();
|
|
17575
17697
|
const [showConfirmation, setShowConfirmation] = useState70(false);
|
|
@@ -17602,15 +17724,15 @@ function ActivateAccount() {
|
|
|
17602
17724
|
setError(t(`auth.errors.invalid_invitation_code`));
|
|
17603
17725
|
}
|
|
17604
17726
|
}, []);
|
|
17605
|
-
return /* @__PURE__ */ jsxs114(
|
|
17727
|
+
return /* @__PURE__ */ jsxs114(Fragment35, { children: [
|
|
17606
17728
|
/* @__PURE__ */ jsxs114(CardHeader, { children: [
|
|
17607
17729
|
/* @__PURE__ */ jsxs114(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
|
|
17608
17730
|
/* @__PURE__ */ jsx190(Image11, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
17609
17731
|
t("auth.accept_invitation")
|
|
17610
17732
|
] }),
|
|
17611
|
-
/* @__PURE__ */ jsx190(CardDescription, { className: "text-center text-sm", children: error ? /* @__PURE__ */ jsx190(
|
|
17733
|
+
/* @__PURE__ */ jsx190(CardDescription, { className: "text-center text-sm", children: error ? /* @__PURE__ */ jsx190(Fragment35, { children: t("auth.errors.activating_account") }) : /* @__PURE__ */ jsx190(Fragment35, { children: " " }) })
|
|
17612
17734
|
] }),
|
|
17613
|
-
/* @__PURE__ */ jsx190(CardContent, { children: /* @__PURE__ */ jsx190(CardDescription, { className: "text-center text-xl", children: showConfirmation ? /* @__PURE__ */ jsx190(
|
|
17735
|
+
/* @__PURE__ */ jsx190(CardContent, { children: /* @__PURE__ */ jsx190(CardDescription, { className: "text-center text-xl", children: showConfirmation ? /* @__PURE__ */ jsx190(Fragment35, { children: t("auth.activation_description") }) : error ? /* @__PURE__ */ jsx190(Fragment35, { children: error }) : /* @__PURE__ */ jsx190(Fragment35, { children: t("auth.activation_wait") }) }) })
|
|
17614
17736
|
] });
|
|
17615
17737
|
}
|
|
17616
17738
|
__name(ActivateAccount, "ActivateAccount");
|
|
@@ -17647,7 +17769,7 @@ import Image12 from "next/image";
|
|
|
17647
17769
|
import { useState as useState72 } from "react";
|
|
17648
17770
|
import { useForm as useForm7 } from "react-hook-form";
|
|
17649
17771
|
import { z as z7 } from "zod";
|
|
17650
|
-
import { Fragment as
|
|
17772
|
+
import { Fragment as Fragment36, jsx as jsx191, jsxs as jsxs115 } from "react/jsx-runtime";
|
|
17651
17773
|
function ForgotPassword() {
|
|
17652
17774
|
const t = useTranslations71();
|
|
17653
17775
|
const { setComponentType } = useAuthContext();
|
|
@@ -17674,13 +17796,13 @@ function ForgotPassword() {
|
|
|
17674
17796
|
errorToast({ error: e });
|
|
17675
17797
|
}
|
|
17676
17798
|
}, "onSubmit");
|
|
17677
|
-
return /* @__PURE__ */ jsxs115(
|
|
17799
|
+
return /* @__PURE__ */ jsxs115(Fragment36, { children: [
|
|
17678
17800
|
/* @__PURE__ */ jsxs115(CardHeader, { "data-testid": "page-forgot-password-container", children: [
|
|
17679
17801
|
/* @__PURE__ */ jsxs115(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
|
|
17680
17802
|
/* @__PURE__ */ jsx191(Image12, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
17681
17803
|
t("auth.buttons.forgot_password")
|
|
17682
17804
|
] }),
|
|
17683
|
-
/* @__PURE__ */ jsx191(CardDescription, { className: "text-sm", children: showConfirmation ? /* @__PURE__ */ jsx191(
|
|
17805
|
+
/* @__PURE__ */ jsx191(CardDescription, { className: "text-sm", children: showConfirmation ? /* @__PURE__ */ jsx191(Fragment36, { children: " " }) : /* @__PURE__ */ jsx191(Fragment36, { children: t(`auth.add_email_to_reset`) }) })
|
|
17684
17806
|
] }),
|
|
17685
17807
|
showConfirmation ? /* @__PURE__ */ jsx191(CardContent, { children: /* @__PURE__ */ jsx191(CardDescription, { className: "text-center text-xl", children: t(`auth.reset_confirmation`) }) }) : /* @__PURE__ */ jsx191(Form, { ...form, children: /* @__PURE__ */ jsxs115("form", { onSubmit: form.handleSubmit(onSubmit), children: [
|
|
17686
17808
|
/* @__PURE__ */ jsxs115(CardContent, { children: [
|
|
@@ -17719,7 +17841,7 @@ import { useRouter, useSearchParams as useSearchParams3 } from "next/navigation"
|
|
|
17719
17841
|
import { useEffect as useEffect56, useState as useState73 } from "react";
|
|
17720
17842
|
import { useForm as useForm8 } from "react-hook-form";
|
|
17721
17843
|
import { z as z8 } from "zod";
|
|
17722
|
-
import { Fragment as
|
|
17844
|
+
import { Fragment as Fragment37, jsx as jsx192, jsxs as jsxs116 } from "react/jsx-runtime";
|
|
17723
17845
|
function Login() {
|
|
17724
17846
|
const t = useTranslations72();
|
|
17725
17847
|
const { setUser } = useCurrentUserContext();
|
|
@@ -17785,7 +17907,7 @@ function Login() {
|
|
|
17785
17907
|
});
|
|
17786
17908
|
}
|
|
17787
17909
|
}, "onSubmit");
|
|
17788
|
-
return /* @__PURE__ */ jsxs116(
|
|
17910
|
+
return /* @__PURE__ */ jsxs116(Fragment37, { children: [
|
|
17789
17911
|
/* @__PURE__ */ jsxs116(CardHeader, { "data-testid": "page-login-container", children: [
|
|
17790
17912
|
/* @__PURE__ */ jsxs116(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
|
|
17791
17913
|
/* @__PURE__ */ jsx192(Image13, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
@@ -17794,7 +17916,7 @@ function Login() {
|
|
|
17794
17916
|
/* @__PURE__ */ jsx192(CardDescription, { className: "text-sm", children: t(`auth.login_description`) })
|
|
17795
17917
|
] }),
|
|
17796
17918
|
/* @__PURE__ */ jsx192(Form, { ...form, children: /* @__PURE__ */ jsxs116("form", { onSubmit: form.handleSubmit(onSubmit), children: [
|
|
17797
|
-
/* @__PURE__ */ jsx192(CardContent, { children: isInternalAuthEnabled() && /* @__PURE__ */ jsxs116(
|
|
17919
|
+
/* @__PURE__ */ jsx192(CardContent, { children: isInternalAuthEnabled() && /* @__PURE__ */ jsxs116(Fragment37, { children: [
|
|
17798
17920
|
/* @__PURE__ */ jsx192(
|
|
17799
17921
|
FormInput,
|
|
17800
17922
|
{
|
|
@@ -17861,7 +17983,7 @@ function clearClientStorage(keys) {
|
|
|
17861
17983
|
__name(clearClientStorage, "clearClientStorage");
|
|
17862
17984
|
|
|
17863
17985
|
// src/features/auth/components/forms/Logout.tsx
|
|
17864
|
-
import { Fragment as
|
|
17986
|
+
import { Fragment as Fragment38, jsx as jsx193 } from "react/jsx-runtime";
|
|
17865
17987
|
function Logout({ storageKeys }) {
|
|
17866
17988
|
const generateUrl = usePageUrlGenerator();
|
|
17867
17989
|
useEffect57(() => {
|
|
@@ -17874,7 +17996,7 @@ function Logout({ storageKeys }) {
|
|
|
17874
17996
|
}, "logOut");
|
|
17875
17997
|
logOut();
|
|
17876
17998
|
}, []);
|
|
17877
|
-
return /* @__PURE__ */ jsx193(
|
|
17999
|
+
return /* @__PURE__ */ jsx193(Fragment38, {});
|
|
17878
18000
|
}
|
|
17879
18001
|
__name(Logout, "Logout");
|
|
17880
18002
|
|
|
@@ -17915,7 +18037,7 @@ import Image14 from "next/image";
|
|
|
17915
18037
|
import { useEffect as useEffect59, useState as useState74 } from "react";
|
|
17916
18038
|
import { useForm as useForm9 } from "react-hook-form";
|
|
17917
18039
|
import { z as z9 } from "zod";
|
|
17918
|
-
import { Fragment as
|
|
18040
|
+
import { Fragment as Fragment39, jsx as jsx194, jsxs as jsxs117 } from "react/jsx-runtime";
|
|
17919
18041
|
function ResetPassword() {
|
|
17920
18042
|
const { setComponentType, params, setParams } = useAuthContext();
|
|
17921
18043
|
const [showConfirmation, setShowConfirmation] = useState74(false);
|
|
@@ -17978,13 +18100,13 @@ function ResetPassword() {
|
|
|
17978
18100
|
errorToast({ title: t(`common.errors.error`), error });
|
|
17979
18101
|
}
|
|
17980
18102
|
}, "onSubmit");
|
|
17981
|
-
return /* @__PURE__ */ jsxs117(
|
|
18103
|
+
return /* @__PURE__ */ jsxs117(Fragment39, { children: [
|
|
17982
18104
|
/* @__PURE__ */ jsxs117(CardHeader, { children: [
|
|
17983
18105
|
/* @__PURE__ */ jsxs117(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
|
|
17984
18106
|
/* @__PURE__ */ jsx194(Image14, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
|
|
17985
18107
|
t(`auth.password_reset`)
|
|
17986
18108
|
] }),
|
|
17987
|
-
/* @__PURE__ */ jsx194(CardDescription, { className: "text-center text-sm", children: error ? /* @__PURE__ */ jsx194(
|
|
18109
|
+
/* @__PURE__ */ jsx194(CardDescription, { className: "text-center text-sm", children: error ? /* @__PURE__ */ jsx194(Fragment39, { children: t(`auth.errors.password_reset_error`) }) : /* @__PURE__ */ jsx194(Fragment39, { children: t(`auth.reset_password`) }) })
|
|
17988
18110
|
] }),
|
|
17989
18111
|
/* @__PURE__ */ jsx194(CardContent, { children: showConfirmation ? /* @__PURE__ */ jsx194(CardDescription, { className: "text-center text-xl", children: t(`auth.reset_success_description`) }) : error ? /* @__PURE__ */ jsx194(CardDescription, { className: "text-center text-xl", children: error }) : /* @__PURE__ */ jsx194(Form, { ...form, children: /* @__PURE__ */ jsxs117("form", { onSubmit: form.handleSubmit(onSubmit), children: [
|
|
17990
18112
|
/* @__PURE__ */ jsx194(FormPassword, { form, id: "password", name: "Password" }),
|
|
@@ -18044,7 +18166,7 @@ function PasskeyButton({ pendingToken, onSuccess, onError, disabled = false }) {
|
|
|
18044
18166
|
__name(PasskeyButton, "PasskeyButton");
|
|
18045
18167
|
|
|
18046
18168
|
// src/features/auth/components/forms/TwoFactorChallenge.tsx
|
|
18047
|
-
import { Fragment as
|
|
18169
|
+
import { Fragment as Fragment40, jsx as jsx196, jsxs as jsxs118 } from "react/jsx-runtime";
|
|
18048
18170
|
function TwoFactorChallenge() {
|
|
18049
18171
|
const t = useTranslations75();
|
|
18050
18172
|
const { setUser } = useCurrentUserContext();
|
|
@@ -18124,7 +18246,7 @@ function TwoFactorChallenge() {
|
|
|
18124
18246
|
const hasTotp = availableMethods.includes("totp");
|
|
18125
18247
|
const hasPasskey = availableMethods.includes("passkey");
|
|
18126
18248
|
const hasBackup = availableMethods.includes("backup");
|
|
18127
|
-
return /* @__PURE__ */ jsxs118(
|
|
18249
|
+
return /* @__PURE__ */ jsxs118(Fragment40, { children: [
|
|
18128
18250
|
/* @__PURE__ */ jsxs118(CardHeader, { "data-testid": "page-2fa-challenge", children: [
|
|
18129
18251
|
/* @__PURE__ */ jsx196(CardTitle, { className: "text-primary text-2xl", children: t("auth.two_factor.verification_required") }),
|
|
18130
18252
|
/* @__PURE__ */ jsx196(CardDescription, { children: t("auth.two_factor.enter_verification_code") })
|
|
@@ -18260,12 +18382,12 @@ __name(RelevantContentsList, "RelevantContentsList");
|
|
|
18260
18382
|
// src/features/how-to/components/containers/HowToCommand.tsx
|
|
18261
18383
|
import { ArrowRight, LifeBuoyIcon } from "lucide-react";
|
|
18262
18384
|
import { useTranslations as useTranslations80 } from "next-intl";
|
|
18263
|
-
import { useCallback as useCallback37, useEffect as useEffect60, useMemo as
|
|
18385
|
+
import { useCallback as useCallback37, useEffect as useEffect60, useMemo as useMemo31, useRef as useRef32, useState as useState77 } from "react";
|
|
18264
18386
|
|
|
18265
18387
|
// src/features/how-to/components/containers/HowToCommandViewer.tsx
|
|
18266
18388
|
import { ArrowLeft, BookOpen, MessageSquare } from "lucide-react";
|
|
18267
18389
|
import { useTranslations as useTranslations79 } from "next-intl";
|
|
18268
|
-
import { useMemo as
|
|
18390
|
+
import { useMemo as useMemo30 } from "react";
|
|
18269
18391
|
|
|
18270
18392
|
// src/features/how-to/utils/blocknote.ts
|
|
18271
18393
|
function extractTextFromContent(content) {
|
|
@@ -18337,8 +18459,8 @@ __name(extractHeadings, "extractHeadings");
|
|
|
18337
18459
|
import { jsx as jsx200, jsxs as jsxs120 } from "react/jsx-runtime";
|
|
18338
18460
|
function HowToCommandViewer({ howTo, onBack, onStartChat }) {
|
|
18339
18461
|
const t = useTranslations79();
|
|
18340
|
-
const readingTime =
|
|
18341
|
-
const headings =
|
|
18462
|
+
const readingTime = useMemo30(() => calculateReadingTime(howTo.description), [howTo.description]);
|
|
18463
|
+
const headings = useMemo30(() => extractHeadings(howTo.description), [howTo.description]);
|
|
18342
18464
|
return /* @__PURE__ */ jsxs120("div", { className: "flex h-full flex-col", children: [
|
|
18343
18465
|
/* @__PURE__ */ jsxs120("div", { className: "flex items-center gap-3 border-b px-4 py-3", children: [
|
|
18344
18466
|
/* @__PURE__ */ jsxs120(Button, { variant: "ghost", size: "sm", onClick: onBack, className: "h-8 px-2", children: [
|
|
@@ -18373,7 +18495,7 @@ function HowToCommandViewer({ howTo, onBack, onStartChat }) {
|
|
|
18373
18495
|
__name(HowToCommandViewer, "HowToCommandViewer");
|
|
18374
18496
|
|
|
18375
18497
|
// src/features/how-to/components/containers/HowToCommand.tsx
|
|
18376
|
-
import { Fragment as
|
|
18498
|
+
import { Fragment as Fragment41, jsx as jsx201, jsxs as jsxs121 } from "react/jsx-runtime";
|
|
18377
18499
|
function matchPage(pathname, pattern) {
|
|
18378
18500
|
if (pattern.includes(":")) {
|
|
18379
18501
|
const pathSegments = pathname.split("/").filter(Boolean);
|
|
@@ -18397,7 +18519,7 @@ function HowToCommand({ pathname, extraGroups, onStartChat }) {
|
|
|
18397
18519
|
retrieverParams: {},
|
|
18398
18520
|
module: Modules.HowTo
|
|
18399
18521
|
});
|
|
18400
|
-
const { relevantHowTos, otherHowTos } =
|
|
18522
|
+
const { relevantHowTos, otherHowTos } = useMemo31(() => {
|
|
18401
18523
|
if (!data.data) return { relevantHowTos: [], otherHowTos: [] };
|
|
18402
18524
|
const relevant = [];
|
|
18403
18525
|
const other = [];
|
|
@@ -18445,7 +18567,7 @@ function HowToCommand({ pathname, extraGroups, onStartChat }) {
|
|
|
18445
18567
|
setSelectedHowTo(null);
|
|
18446
18568
|
if (onStartChat) onStartChat();
|
|
18447
18569
|
}, "handleStartChat");
|
|
18448
|
-
return /* @__PURE__ */ jsxs121(
|
|
18570
|
+
return /* @__PURE__ */ jsxs121(Fragment41, { children: [
|
|
18449
18571
|
/* @__PURE__ */ jsxs121(
|
|
18450
18572
|
SidebarMenuButton,
|
|
18451
18573
|
{
|
|
@@ -18594,12 +18716,12 @@ import { useTranslations as useTranslations83 } from "next-intl";
|
|
|
18594
18716
|
|
|
18595
18717
|
// src/features/how-to/hooks/useHowToTableStructure.tsx
|
|
18596
18718
|
import { useTranslations as useTranslations82 } from "next-intl";
|
|
18597
|
-
import { useMemo as
|
|
18598
|
-
import { Fragment as
|
|
18719
|
+
import { useMemo as useMemo32 } from "react";
|
|
18720
|
+
import { Fragment as Fragment42, jsx as jsx205 } from "react/jsx-runtime";
|
|
18599
18721
|
var useHowToTableStructure = /* @__PURE__ */ __name((params) => {
|
|
18600
18722
|
const t = useTranslations82();
|
|
18601
18723
|
const generateUrl = usePageUrlGenerator();
|
|
18602
|
-
const tableData =
|
|
18724
|
+
const tableData = useMemo32(() => {
|
|
18603
18725
|
return params.data.map((howTo) => {
|
|
18604
18726
|
const entry = {
|
|
18605
18727
|
jsonApiData: howTo
|
|
@@ -18632,7 +18754,7 @@ var useHowToTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
18632
18754
|
id: "description",
|
|
18633
18755
|
accessorKey: "description",
|
|
18634
18756
|
header: t(`howto.fields.description.label`),
|
|
18635
|
-
cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx205(
|
|
18757
|
+
cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx205(Fragment42, { children: row.getValue("description") }), "cell"),
|
|
18636
18758
|
enableSorting: false,
|
|
18637
18759
|
enableHiding: false
|
|
18638
18760
|
}),
|
|
@@ -18640,7 +18762,7 @@ var useHowToTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
18640
18762
|
id: "pages",
|
|
18641
18763
|
accessorKey: "pages",
|
|
18642
18764
|
header: t(`howto.fields.pages.label`),
|
|
18643
|
-
cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx205(
|
|
18765
|
+
cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx205(Fragment42, { children: row.getValue("pages") }), "cell"),
|
|
18644
18766
|
enableSorting: false,
|
|
18645
18767
|
enableHiding: false
|
|
18646
18768
|
}),
|
|
@@ -18653,10 +18775,10 @@ var useHowToTableStructure = /* @__PURE__ */ __name((params) => {
|
|
|
18653
18775
|
title: t(`common.date.update`)
|
|
18654
18776
|
})
|
|
18655
18777
|
};
|
|
18656
|
-
const columns =
|
|
18778
|
+
const columns = useMemo32(() => {
|
|
18657
18779
|
return params.fields.map((field) => fieldColumnMap[field]?.()).filter((col) => col !== void 0);
|
|
18658
18780
|
}, [params.fields, fieldColumnMap, t, generateUrl]);
|
|
18659
|
-
return
|
|
18781
|
+
return useMemo32(() => ({ data: tableData, columns }), [tableData, columns]);
|
|
18660
18782
|
}, "useHowToTableStructure");
|
|
18661
18783
|
registerTableGenerator("howtos", useHowToTableStructure);
|
|
18662
18784
|
|
|
@@ -18699,7 +18821,7 @@ __name(HowToListContainer, "HowToListContainer");
|
|
|
18699
18821
|
import { CircleX as CircleX2, RefreshCwIcon as RefreshCwIcon3, SearchIcon as SearchIcon6, XIcon as XIcon10 } from "lucide-react";
|
|
18700
18822
|
import { useTranslations as useTranslations84 } from "next-intl";
|
|
18701
18823
|
import { useCallback as useCallback38, useEffect as useEffect61, useRef as useRef33, useState as useState78 } from "react";
|
|
18702
|
-
import { Fragment as
|
|
18824
|
+
import { Fragment as Fragment43, jsx as jsx208, jsxs as jsxs123 } from "react/jsx-runtime";
|
|
18703
18825
|
function HowToSelector({
|
|
18704
18826
|
id,
|
|
18705
18827
|
form,
|
|
@@ -18784,7 +18906,7 @@ function HowToSelector({
|
|
|
18784
18906
|
search("");
|
|
18785
18907
|
}
|
|
18786
18908
|
}
|
|
18787
|
-
) : /* @__PURE__ */ jsx208(
|
|
18909
|
+
) : /* @__PURE__ */ jsx208(Fragment43, {})
|
|
18788
18910
|
] }),
|
|
18789
18911
|
/* @__PURE__ */ jsx208(CommandList, { children: data.data && data.data.length > 0 && data.data.map((howTo) => /* @__PURE__ */ jsx208(
|
|
18790
18912
|
CommandItem,
|
|
@@ -18825,7 +18947,7 @@ function groupThreadsByBucket(threads) {
|
|
|
18825
18947
|
__name(groupThreadsByBucket, "groupThreadsByBucket");
|
|
18826
18948
|
|
|
18827
18949
|
// src/features/assistant/components/parts/AssistantSidebar.tsx
|
|
18828
|
-
import { Fragment as
|
|
18950
|
+
import { Fragment as Fragment44, jsx as jsx209, jsxs as jsxs124 } from "react/jsx-runtime";
|
|
18829
18951
|
function AssistantSidebar({ threads, activeId, onSelect, onNew }) {
|
|
18830
18952
|
const t = useTranslations85();
|
|
18831
18953
|
const groups = groupThreadsByBucket(threads);
|
|
@@ -18851,7 +18973,7 @@ function AssistantSidebar({ threads, activeId, onSelect, onNew }) {
|
|
|
18851
18973
|
" ",
|
|
18852
18974
|
t("features.assistant.new")
|
|
18853
18975
|
] }) }),
|
|
18854
|
-
/* @__PURE__ */ jsx209("div", { className: "flex-1 overflow-y-auto p-2", children: threads.length === 0 ? /* @__PURE__ */ jsx209("div", { className: "text-muted-foreground mt-6 text-center text-xs", children: t("features.assistant.empty_sidebar") }) : /* @__PURE__ */ jsxs124(
|
|
18976
|
+
/* @__PURE__ */ jsx209("div", { className: "flex-1 overflow-y-auto p-2", children: threads.length === 0 ? /* @__PURE__ */ jsx209("div", { className: "text-muted-foreground mt-6 text-center text-xs", children: t("features.assistant.empty_sidebar") }) : /* @__PURE__ */ jsxs124(Fragment44, { children: [
|
|
18855
18977
|
renderSection(t("features.assistant.bucket_today"), groups.today),
|
|
18856
18978
|
renderSection(t("features.assistant.bucket_week"), groups.thisWeek),
|
|
18857
18979
|
renderSection(t("features.assistant.bucket_earlier"), groups.earlier)
|
|
@@ -19025,10 +19147,10 @@ import ReactMarkdown3 from "react-markdown";
|
|
|
19025
19147
|
import remarkGfm3 from "remark-gfm";
|
|
19026
19148
|
|
|
19027
19149
|
// src/features/assistant-message/components/parts/MessageSourcesContainer.tsx
|
|
19028
|
-
import { useEffect as useEffect62, useMemo as
|
|
19150
|
+
import { useEffect as useEffect62, useMemo as useMemo34, useState as useState84 } from "react";
|
|
19029
19151
|
|
|
19030
19152
|
// src/features/assistant-message/components/parts/MessageSourcesPanel.tsx
|
|
19031
|
-
import { useMemo as
|
|
19153
|
+
import { useMemo as useMemo33, useState as useState83 } from "react";
|
|
19032
19154
|
import { useTranslations as useTranslations93 } from "next-intl";
|
|
19033
19155
|
import { ChevronDown as ChevronDown4, ChevronRight as ChevronRight2 } from "lucide-react";
|
|
19034
19156
|
|
|
@@ -19065,7 +19187,7 @@ function ReferencesTab({ references }) {
|
|
|
19065
19187
|
__name(ReferencesTab, "ReferencesTab");
|
|
19066
19188
|
|
|
19067
19189
|
// src/features/assistant-message/components/parts/tabs/CitationsTab.tsx
|
|
19068
|
-
import { Fragment as
|
|
19190
|
+
import { Fragment as Fragment45, useState as useState82 } from "react";
|
|
19069
19191
|
import { useTranslations as useTranslations90 } from "next-intl";
|
|
19070
19192
|
import { ChevronDown as ChevronDown3, HelpCircle } from "lucide-react";
|
|
19071
19193
|
import ReactMarkdown2 from "react-markdown";
|
|
@@ -19125,7 +19247,7 @@ function CitationsTab({ citations, sources }) {
|
|
|
19125
19247
|
const resolved = chunk.nodeId ? sources?.get(chunk.nodeId) : void 0;
|
|
19126
19248
|
const fallbackName = chunk.nodeId ? `${chunk.nodeType ?? t("features.assistant.message.sources.source")} ${chunk.nodeId.slice(0, 8)}` : chunk.nodeType ?? t("features.assistant.message.sources.source");
|
|
19127
19249
|
const sourceName = resolved?.name ?? fallbackName;
|
|
19128
|
-
return /* @__PURE__ */ jsxs130(
|
|
19250
|
+
return /* @__PURE__ */ jsxs130(Fragment45, { children: [
|
|
19129
19251
|
/* @__PURE__ */ jsxs130(TableRow, { children: [
|
|
19130
19252
|
/* @__PURE__ */ jsx215(TableCell, { children: /* @__PURE__ */ jsxs130(
|
|
19131
19253
|
"div",
|
|
@@ -19321,7 +19443,7 @@ __name(SuggestedQuestionsTab, "SuggestedQuestionsTab");
|
|
|
19321
19443
|
import { jsx as jsx219, jsxs as jsxs133 } from "react/jsx-runtime";
|
|
19322
19444
|
function MessageSourcesPanel({ message, isLatestAssistant, onSelectFollowUp, sources, users }) {
|
|
19323
19445
|
const t = useTranslations93();
|
|
19324
|
-
const visibleReferences =
|
|
19446
|
+
const visibleReferences = useMemo33(
|
|
19325
19447
|
() => message.references.filter((ref) => {
|
|
19326
19448
|
try {
|
|
19327
19449
|
return !!ModuleRegistry.findByName(ref.type).pageUrl;
|
|
@@ -19334,7 +19456,7 @@ function MessageSourcesPanel({ message, isLatestAssistant, onSelectFollowUp, sou
|
|
|
19334
19456
|
const refsCount = visibleReferences.length;
|
|
19335
19457
|
const citationsCount = message.citations.length;
|
|
19336
19458
|
const suggestionsCount = isLatestAssistant ? message.suggestedQuestions.length : 0;
|
|
19337
|
-
const contentsCount =
|
|
19459
|
+
const contentsCount = useMemo33(() => {
|
|
19338
19460
|
const ids = /* @__PURE__ */ new Set();
|
|
19339
19461
|
for (const c of message.citations) {
|
|
19340
19462
|
if (!c.nodeId) continue;
|
|
@@ -19413,7 +19535,7 @@ var SourcesFetcher = class extends ClientAbstractService {
|
|
|
19413
19535
|
}
|
|
19414
19536
|
};
|
|
19415
19537
|
function MessageSourcesContainer({ message, isLatestAssistant, onSelectFollowUp }) {
|
|
19416
|
-
const groups =
|
|
19538
|
+
const groups = useMemo34(() => {
|
|
19417
19539
|
const map = /* @__PURE__ */ new Map();
|
|
19418
19540
|
for (const chunk of message.citations) {
|
|
19419
19541
|
if (!chunk.nodeType || !chunk.nodeId) continue;
|
|
@@ -19426,7 +19548,7 @@ function MessageSourcesContainer({ message, isLatestAssistant, onSelectFollowUp
|
|
|
19426
19548
|
}
|
|
19427
19549
|
return map;
|
|
19428
19550
|
}, [message.citations]);
|
|
19429
|
-
const groupsKey =
|
|
19551
|
+
const groupsKey = useMemo34(() => {
|
|
19430
19552
|
const parts = [];
|
|
19431
19553
|
for (const [nodeType, ids] of groups) {
|
|
19432
19554
|
parts.push(`${nodeType}:${Array.from(ids).sort().join(",")}`);
|
|
@@ -19468,12 +19590,12 @@ function MessageSourcesContainer({ message, isLatestAssistant, onSelectFollowUp
|
|
|
19468
19590
|
cancelled = true;
|
|
19469
19591
|
};
|
|
19470
19592
|
}, [groupsKey, groups]);
|
|
19471
|
-
const sources =
|
|
19593
|
+
const sources = useMemo34(() => {
|
|
19472
19594
|
const map = /* @__PURE__ */ new Map();
|
|
19473
19595
|
for (const entity of resolved) map.set(entity.id, entity);
|
|
19474
19596
|
return map;
|
|
19475
19597
|
}, [resolved]);
|
|
19476
|
-
const users =
|
|
19598
|
+
const users = useMemo34(() => {
|
|
19477
19599
|
const userMap = /* @__PURE__ */ new Map();
|
|
19478
19600
|
for (const entity of resolved) {
|
|
19479
19601
|
const author = entity._author ?? (() => {
|
|
@@ -19615,7 +19737,7 @@ function AssistantThread({
|
|
|
19615
19737
|
__name(AssistantThread, "AssistantThread");
|
|
19616
19738
|
|
|
19617
19739
|
// src/features/assistant/components/containers/AssistantContainer.tsx
|
|
19618
|
-
import { Fragment as
|
|
19740
|
+
import { Fragment as Fragment46, jsx as jsx225, jsxs as jsxs137 } from "react/jsx-runtime";
|
|
19619
19741
|
function AssistantContainer({ renderApprovalAction } = {}) {
|
|
19620
19742
|
const ctx = useAssistantContext();
|
|
19621
19743
|
const showThread = !!ctx.assistant || ctx.sending || ctx.messages.length > 0;
|
|
@@ -19636,7 +19758,7 @@ function AssistantContainer({ renderApprovalAction } = {}) {
|
|
|
19636
19758
|
operatorMode: ctx.operatorMode,
|
|
19637
19759
|
onOperatorModeChange: ctx.setOperatorMode
|
|
19638
19760
|
}
|
|
19639
|
-
) : /* @__PURE__ */ jsxs137(
|
|
19761
|
+
) : /* @__PURE__ */ jsxs137(Fragment46, { children: [
|
|
19640
19762
|
ctx.assistant ? /* @__PURE__ */ jsx225(
|
|
19641
19763
|
AssistantThreadHeader,
|
|
19642
19764
|
{
|
|
@@ -19704,7 +19826,7 @@ import { useTranslations as useTranslations97 } from "next-intl";
|
|
|
19704
19826
|
// src/features/notification/components/lists/NotificationsList.tsx
|
|
19705
19827
|
import { ArchiveIcon } from "lucide-react";
|
|
19706
19828
|
import { useTranslations as useTranslations96 } from "next-intl";
|
|
19707
|
-
import { Fragment as
|
|
19829
|
+
import { Fragment as Fragment47, jsx as jsx227, jsxs as jsxs139 } from "react/jsx-runtime";
|
|
19708
19830
|
function NotificationsList({ archived }) {
|
|
19709
19831
|
const t = useTranslations96();
|
|
19710
19832
|
const generateUrl = usePageUrlGenerator();
|
|
@@ -19738,7 +19860,7 @@ function NotificationsList({ archived }) {
|
|
|
19738
19860
|
/* @__PURE__ */ jsx227("div", { className: "text-muted-foreground mt-1 w-full text-xs", children: new Date(notification.createdAt).toLocaleString() })
|
|
19739
19861
|
] }),
|
|
19740
19862
|
/* @__PURE__ */ jsxs139("div", { className: "flex flex-row items-center", children: [
|
|
19741
|
-
notificationData.url ? /* @__PURE__ */ jsx227(Link, { href: notificationData.url, children: /* @__PURE__ */ jsx227(Button, { variant: `outline`, size: `sm`, onClick: (e) => e.stopPropagation(), children: t(`notification.${notification.notificationType}.buttons.action`) }) }) : /* @__PURE__ */ jsx227(
|
|
19863
|
+
notificationData.url ? /* @__PURE__ */ jsx227(Link, { href: notificationData.url, children: /* @__PURE__ */ jsx227(Button, { variant: `outline`, size: `sm`, onClick: (e) => e.stopPropagation(), children: t(`notification.${notification.notificationType}.buttons.action`) }) }) : /* @__PURE__ */ jsx227(Fragment47, {}),
|
|
19742
19864
|
!archived && /* @__PURE__ */ jsxs139(Tooltip2, { children: [
|
|
19743
19865
|
/* @__PURE__ */ jsx227(TooltipTrigger, { children: /* @__PURE__ */ jsx227(
|
|
19744
19866
|
Button,
|
|
@@ -19796,7 +19918,7 @@ __name(NotificationsListContainer, "NotificationsListContainer");
|
|
|
19796
19918
|
// src/features/notification/components/modals/NotificationModal.tsx
|
|
19797
19919
|
import { BellIcon } from "lucide-react";
|
|
19798
19920
|
import { useTranslations as useTranslations98 } from "next-intl";
|
|
19799
|
-
import { Fragment as
|
|
19921
|
+
import { Fragment as Fragment48, useCallback as useCallback39, useEffect as useEffect64, useMemo as useMemo35, useRef as useRef35, useState as useState85 } from "react";
|
|
19800
19922
|
import { jsx as jsx229, jsxs as jsxs141 } from "react/jsx-runtime";
|
|
19801
19923
|
function NotificationModalContent({ isOpen, setIsOpen }) {
|
|
19802
19924
|
const _instanceId = useRef35(Math.random().toString(36).substr(2, 9));
|
|
@@ -19840,7 +19962,7 @@ function NotificationModalContent({ isOpen, setIsOpen }) {
|
|
|
19840
19962
|
}
|
|
19841
19963
|
return !breaker.isOpen;
|
|
19842
19964
|
}, []);
|
|
19843
|
-
const { unreadCount, unreadIds } =
|
|
19965
|
+
const { unreadCount, unreadIds } = useMemo35(() => {
|
|
19844
19966
|
const unreadNotifications2 = notifications.filter((notif) => !notif.isRead);
|
|
19845
19967
|
return {
|
|
19846
19968
|
unreadCount: unreadNotifications2.length,
|
|
@@ -19947,7 +20069,7 @@ function NotificationModalContent({ isOpen, setIsOpen }) {
|
|
|
19947
20069
|
] })
|
|
19948
20070
|
] }),
|
|
19949
20071
|
/* @__PURE__ */ jsx229(Separator, {}),
|
|
19950
|
-
/* @__PURE__ */ jsx229(ScrollArea, { className: "h-96", children: notifications.length > 0 ? notifications.map((notification) => /* @__PURE__ */ jsx229(
|
|
20072
|
+
/* @__PURE__ */ jsx229(ScrollArea, { className: "h-96", children: notifications.length > 0 ? notifications.map((notification) => /* @__PURE__ */ jsx229(Fragment48, { children: generateNotification(notification, () => setIsOpen(false)) }, notification.id)) : /* @__PURE__ */ jsx229("div", { className: "p-4 text-center text-sm text-gray-500", children: t(`notification.empty`) }) })
|
|
19951
20073
|
] }) })
|
|
19952
20074
|
] });
|
|
19953
20075
|
}
|
|
@@ -19958,10 +20080,10 @@ function NotificationModal(props) {
|
|
|
19958
20080
|
__name(NotificationModal, "NotificationModal");
|
|
19959
20081
|
|
|
19960
20082
|
// src/features/notification/components/notifications/PushNotificationProvider.tsx
|
|
19961
|
-
import { Fragment as
|
|
20083
|
+
import { Fragment as Fragment49, jsx as jsx230 } from "react/jsx-runtime";
|
|
19962
20084
|
function PushNotificationProvider({ children }) {
|
|
19963
20085
|
usePushNotifications();
|
|
19964
|
-
return /* @__PURE__ */ jsx230(
|
|
20086
|
+
return /* @__PURE__ */ jsx230(Fragment49, { children });
|
|
19965
20087
|
}
|
|
19966
20088
|
__name(PushNotificationProvider, "PushNotificationProvider");
|
|
19967
20089
|
|
|
@@ -20281,11 +20403,11 @@ function RoleDetails() {
|
|
|
20281
20403
|
__name(RoleDetails, "RoleDetails");
|
|
20282
20404
|
|
|
20283
20405
|
// src/features/role/components/containers/RoleContainer.tsx
|
|
20284
|
-
import { Fragment as
|
|
20406
|
+
import { Fragment as Fragment50, jsx as jsx234, jsxs as jsxs144 } from "react/jsx-runtime";
|
|
20285
20407
|
function RoleContainer() {
|
|
20286
20408
|
const { role } = useRoleContext();
|
|
20287
20409
|
if (!role) return null;
|
|
20288
|
-
return /* @__PURE__ */ jsxs144(
|
|
20410
|
+
return /* @__PURE__ */ jsxs144(Fragment50, { children: [
|
|
20289
20411
|
/* @__PURE__ */ jsx234(RoleDetails, {}),
|
|
20290
20412
|
/* @__PURE__ */ jsx234(RoleUsersList, { role })
|
|
20291
20413
|
] });
|
|
@@ -20330,7 +20452,7 @@ __name(FormRoles, "FormRoles");
|
|
|
20330
20452
|
// src/features/role/components/forms/RemoveUserFromRole.tsx
|
|
20331
20453
|
import { useTranslations as useTranslations101 } from "next-intl";
|
|
20332
20454
|
import { useEffect as useEffect67, useState as useState89 } from "react";
|
|
20333
|
-
import { Fragment as
|
|
20455
|
+
import { Fragment as Fragment51, jsx as jsx236, jsxs as jsxs146 } from "react/jsx-runtime";
|
|
20334
20456
|
function RemoveUserFromRole({ role, user, refresh }) {
|
|
20335
20457
|
const [open, setOpen] = useState89(false);
|
|
20336
20458
|
const [canRemove, setCanRemove] = useState89(false);
|
|
@@ -20379,7 +20501,7 @@ function RemoveUserFromRole({ role, user, refresh }) {
|
|
|
20379
20501
|
/* @__PURE__ */ jsx236(DialogTitle, { children: t(`role.remove_user.title`) }),
|
|
20380
20502
|
/* @__PURE__ */ jsx236(DialogDescription, { children: canRemove ? t(`role.remove_user.subtitle_allowed`) : t(`role.remove_user.subtitle_not_allowed`) })
|
|
20381
20503
|
] }),
|
|
20382
|
-
canRemove ? /* @__PURE__ */ jsxs146(
|
|
20504
|
+
canRemove ? /* @__PURE__ */ jsxs146(Fragment51, { children: [
|
|
20383
20505
|
t(`role.remove_user.description_allowed`, { role: roleName, user: user.name }),
|
|
20384
20506
|
/* @__PURE__ */ jsxs146("div", { className: "flex justify-end", children: [
|
|
20385
20507
|
/* @__PURE__ */ jsx236(Button, { className: "mr-2", variant: "outline", type: `button`, onClick: () => setOpen(false), children: t(`ui.buttons.cancel`) }),
|
|
@@ -20396,7 +20518,7 @@ function RemoveUserFromRole({ role, user, refresh }) {
|
|
|
20396
20518
|
}
|
|
20397
20519
|
)
|
|
20398
20520
|
] })
|
|
20399
|
-
] }) : /* @__PURE__ */ jsx236(
|
|
20521
|
+
] }) : /* @__PURE__ */ jsx236(Fragment51, { children: t(`role.remove_user.description_not_allowed`, { role: roleName, user: user.name }) })
|
|
20400
20522
|
] })
|
|
20401
20523
|
] });
|
|
20402
20524
|
}
|
|
@@ -20406,7 +20528,7 @@ __name(RemoveUserFromRole, "RemoveUserFromRole");
|
|
|
20406
20528
|
import { PlusCircle as PlusCircle2 } from "lucide-react";
|
|
20407
20529
|
import { useTranslations as useTranslations102 } from "next-intl";
|
|
20408
20530
|
import { useCallback as useCallback41, useEffect as useEffect68, useRef as useRef37, useState as useState90 } from "react";
|
|
20409
|
-
import { Fragment as
|
|
20531
|
+
import { Fragment as Fragment52, jsx as jsx237, jsxs as jsxs147 } from "react/jsx-runtime";
|
|
20410
20532
|
function UserRoleAdd({ user, refresh }) {
|
|
20411
20533
|
const [open, setOpen] = useState90(false);
|
|
20412
20534
|
const inputRef = useRef37(null);
|
|
@@ -20453,7 +20575,7 @@ function UserRoleAdd({ user, refresh }) {
|
|
|
20453
20575
|
useEffect68(() => {
|
|
20454
20576
|
if (open) searchRoles("");
|
|
20455
20577
|
}, [open]);
|
|
20456
|
-
return /* @__PURE__ */ jsxs147(
|
|
20578
|
+
return /* @__PURE__ */ jsxs147(Fragment52, { children: [
|
|
20457
20579
|
/* @__PURE__ */ jsxs147(Button, { size: "sm", onClick: () => setOpen(true), children: [
|
|
20458
20580
|
/* @__PURE__ */ jsx237(PlusCircle2, { className: "mr-3 h-3.5 w-3.5" }),
|
|
20459
20581
|
t(`common.association.label`, {
|
|
@@ -21051,7 +21173,7 @@ __name(OAuthClientForm, "OAuthClientForm");
|
|
|
21051
21173
|
import { useState as useState93, useCallback as useCallback46 } from "react";
|
|
21052
21174
|
import { format as format2 } from "date-fns";
|
|
21053
21175
|
import { Copy as Copy4, Check as Check2, RefreshCw as RefreshCw3, Pencil as Pencil2, Trash2 as Trash25, ExternalLink } from "lucide-react";
|
|
21054
|
-
import { Fragment as
|
|
21176
|
+
import { Fragment as Fragment53, jsx as jsx246, jsxs as jsxs154 } from "react/jsx-runtime";
|
|
21055
21177
|
function OAuthClientDetail({
|
|
21056
21178
|
client,
|
|
21057
21179
|
isLoading = false,
|
|
@@ -21094,7 +21216,7 @@ function OAuthClientDetail({
|
|
|
21094
21216
|
}
|
|
21095
21217
|
}, [onRegenerateSecret]);
|
|
21096
21218
|
const createdDate = client.createdAt ? format2(new Date(client.createdAt), "MMMM d, yyyy") : "Unknown";
|
|
21097
|
-
return /* @__PURE__ */ jsxs154(
|
|
21219
|
+
return /* @__PURE__ */ jsxs154(Fragment53, { children: [
|
|
21098
21220
|
/* @__PURE__ */ jsxs154(Card, { children: [
|
|
21099
21221
|
/* @__PURE__ */ jsx246(CardHeader, { children: /* @__PURE__ */ jsxs154("div", { className: "flex items-start justify-between", children: [
|
|
21100
21222
|
/* @__PURE__ */ jsxs154("div", { children: [
|
|
@@ -21430,7 +21552,7 @@ function WaitlistQuestionnaireRenderer({
|
|
|
21430
21552
|
__name(WaitlistQuestionnaireRenderer, "WaitlistQuestionnaireRenderer");
|
|
21431
21553
|
|
|
21432
21554
|
// src/features/waitlist/components/forms/WaitlistForm.tsx
|
|
21433
|
-
import { Fragment as
|
|
21555
|
+
import { Fragment as Fragment54, jsx as jsx252, jsxs as jsxs160 } from "react/jsx-runtime";
|
|
21434
21556
|
function WaitlistForm({ onSuccess }) {
|
|
21435
21557
|
const t = useTranslations105();
|
|
21436
21558
|
const [isSubmitting, setIsSubmitting] = useState94(false);
|
|
@@ -21549,7 +21671,7 @@ function WaitlistForm({ onSuccess }) {
|
|
|
21549
21671
|
{
|
|
21550
21672
|
form,
|
|
21551
21673
|
id: "gdprConsent",
|
|
21552
|
-
label: /* @__PURE__ */ jsxs160(
|
|
21674
|
+
label: /* @__PURE__ */ jsxs160(Fragment54, { children: [
|
|
21553
21675
|
t("auth.gdpr.terms_prefix"),
|
|
21554
21676
|
/* @__PURE__ */ jsx252(Link, { href: "/terms", target: "_blank", rel: "noopener", className: "underline", children: t("auth.gdpr.terms_of_service") }),
|
|
21555
21677
|
t("auth.gdpr.and"),
|
|
@@ -21829,7 +21951,7 @@ __name(WaitlistList, "WaitlistList");
|
|
|
21829
21951
|
// src/features/rbac/components/RbacContainer.tsx
|
|
21830
21952
|
import { Loader2Icon as Loader2Icon4 } from "lucide-react";
|
|
21831
21953
|
import { useTranslations as useTranslations111 } from "next-intl";
|
|
21832
|
-
import { memo as memo2, useCallback as useCallback49, useEffect as useEffect72, useMemo as
|
|
21954
|
+
import { memo as memo2, useCallback as useCallback49, useEffect as useEffect72, useMemo as useMemo36, useRef as useRef38, useState as useState98 } from "react";
|
|
21833
21955
|
|
|
21834
21956
|
// src/features/rbac/components/RbacPermissionCell.tsx
|
|
21835
21957
|
import { CheckIcon as CheckIcon9, MinusIcon as MinusIcon2, XIcon as XIcon11 } from "lucide-react";
|
|
@@ -21911,7 +22033,7 @@ import { Popover as PopoverPrimitive2 } from "@base-ui/react/popover";
|
|
|
21911
22033
|
import { CheckIcon as CheckIcon10, MinusIcon as MinusIcon3, XIcon as XIcon12 } from "lucide-react";
|
|
21912
22034
|
import { useTranslations as useTranslations110 } from "next-intl";
|
|
21913
22035
|
import { useCallback as useCallback48, useEffect as useEffect71, useState as useState97 } from "react";
|
|
21914
|
-
import { Fragment as
|
|
22036
|
+
import { Fragment as Fragment55, jsx as jsx259, jsxs as jsxs167 } from "react/jsx-runtime";
|
|
21915
22037
|
function RbacPermissionPicker({
|
|
21916
22038
|
open,
|
|
21917
22039
|
anchor,
|
|
@@ -21997,7 +22119,7 @@ function RbacPermissionPicker({
|
|
|
21997
22119
|
)
|
|
21998
22120
|
] })
|
|
21999
22121
|
] }),
|
|
22000
|
-
isRoleColumn && onClear && /* @__PURE__ */ jsxs167(
|
|
22122
|
+
isRoleColumn && onClear && /* @__PURE__ */ jsxs167(Fragment55, { children: [
|
|
22001
22123
|
/* @__PURE__ */ jsx259(Separator, {}),
|
|
22002
22124
|
/* @__PURE__ */ jsxs167(
|
|
22003
22125
|
Button,
|
|
@@ -22184,11 +22306,11 @@ function RbacContainer() {
|
|
|
22184
22306
|
setSelectedModuleId(id);
|
|
22185
22307
|
setActivePicker(null);
|
|
22186
22308
|
}, []);
|
|
22187
|
-
const sortedModuleIds =
|
|
22309
|
+
const sortedModuleIds = useMemo36(() => {
|
|
22188
22310
|
if (!matrix) return [];
|
|
22189
22311
|
return Object.keys(matrix).sort((a, b) => (moduleNames?.[a] ?? a).localeCompare(moduleNames?.[b] ?? b));
|
|
22190
22312
|
}, [matrix, moduleNames]);
|
|
22191
|
-
const roleIds =
|
|
22313
|
+
const roleIds = useMemo36(() => {
|
|
22192
22314
|
if (roleNames) {
|
|
22193
22315
|
return Object.keys(roleNames).sort((a, b) => (roleNames[a] ?? a).localeCompare(roleNames[b] ?? b));
|
|
22194
22316
|
}
|
|
@@ -22206,14 +22328,14 @@ function RbacContainer() {
|
|
|
22206
22328
|
setSelectedModuleId(sortedModuleIds[0]);
|
|
22207
22329
|
}
|
|
22208
22330
|
}, [selectedModuleId, sortedModuleIds]);
|
|
22209
|
-
const activeValue =
|
|
22331
|
+
const activeValue = useMemo36(() => {
|
|
22210
22332
|
if (!activePicker || !matrix) return void 0;
|
|
22211
22333
|
const block = matrix[activePicker.moduleId];
|
|
22212
22334
|
if (!block) return void 0;
|
|
22213
22335
|
const tokens = activePicker.rowKey === "default" ? block.default : block[activePicker.rowKey];
|
|
22214
22336
|
return cellValue(tokens, activePicker.action);
|
|
22215
22337
|
}, [activePicker, matrix]);
|
|
22216
|
-
const activeSegments =
|
|
22338
|
+
const activeSegments = useMemo36(() => {
|
|
22217
22339
|
if (!activePicker) return [];
|
|
22218
22340
|
return modulePaths[activePicker.moduleId] ?? [];
|
|
22219
22341
|
}, [activePicker, modulePaths]);
|
|
@@ -22284,7 +22406,7 @@ __name(RbacContainer, "RbacContainer");
|
|
|
22284
22406
|
// src/features/rbac/components/RbacByRoleContainer.tsx
|
|
22285
22407
|
import { Loader2Icon as Loader2Icon5 } from "lucide-react";
|
|
22286
22408
|
import { useTranslations as useTranslations112 } from "next-intl";
|
|
22287
|
-
import { Fragment as
|
|
22409
|
+
import { Fragment as Fragment56, memo as memo3, useCallback as useCallback50, useEffect as useEffect73, useMemo as useMemo37, useRef as useRef39, useState as useState99 } from "react";
|
|
22288
22410
|
import { jsx as jsx261, jsxs as jsxs169 } from "react/jsx-runtime";
|
|
22289
22411
|
function findToken2(tokens, action) {
|
|
22290
22412
|
if (!tokens) return void 0;
|
|
@@ -22334,11 +22456,11 @@ function RbacByRoleContainer() {
|
|
|
22334
22456
|
setSelectedRoleId(id);
|
|
22335
22457
|
setActivePicker(null);
|
|
22336
22458
|
}, []);
|
|
22337
|
-
const sortedRoleIds =
|
|
22459
|
+
const sortedRoleIds = useMemo37(() => {
|
|
22338
22460
|
if (!roleNames) return [];
|
|
22339
22461
|
return Object.keys(roleNames).sort((a, b) => (roleNames[a] ?? a).localeCompare(roleNames[b] ?? b));
|
|
22340
22462
|
}, [roleNames]);
|
|
22341
|
-
const sortedModuleIds =
|
|
22463
|
+
const sortedModuleIds = useMemo37(() => {
|
|
22342
22464
|
if (!matrix) return [];
|
|
22343
22465
|
return Object.keys(matrix).sort((a, b) => (moduleNames?.[a] ?? a).localeCompare(moduleNames?.[b] ?? b));
|
|
22344
22466
|
}, [matrix, moduleNames]);
|
|
@@ -22347,14 +22469,14 @@ function RbacByRoleContainer() {
|
|
|
22347
22469
|
setSelectedRoleId(sortedRoleIds[0]);
|
|
22348
22470
|
}
|
|
22349
22471
|
}, [selectedRoleId, sortedRoleIds]);
|
|
22350
|
-
const activeValue =
|
|
22472
|
+
const activeValue = useMemo37(() => {
|
|
22351
22473
|
if (!activePicker || !matrix) return void 0;
|
|
22352
22474
|
const block = matrix[activePicker.moduleId];
|
|
22353
22475
|
if (!block) return void 0;
|
|
22354
22476
|
const tokens = activePicker.rowKey === "default" ? block.default : block[activePicker.rowKey];
|
|
22355
22477
|
return cellValue2(tokens, activePicker.action);
|
|
22356
22478
|
}, [activePicker, matrix]);
|
|
22357
|
-
const activeSegments =
|
|
22479
|
+
const activeSegments = useMemo37(() => {
|
|
22358
22480
|
if (!activePicker) return [];
|
|
22359
22481
|
return modulePaths[activePicker.moduleId] ?? [];
|
|
22360
22482
|
}, [activePicker, modulePaths]);
|
|
@@ -22410,7 +22532,7 @@ function RbacByRoleContainer() {
|
|
|
22410
22532
|
const defaultTokens = block.default ?? [];
|
|
22411
22533
|
const roleTokens = block[selectedRoleId];
|
|
22412
22534
|
const moduleLabel = moduleNames?.[moduleId] ?? moduleId;
|
|
22413
|
-
return /* @__PURE__ */ jsxs169(
|
|
22535
|
+
return /* @__PURE__ */ jsxs169(Fragment56, { children: [
|
|
22414
22536
|
/* @__PURE__ */ jsx261("tr", { className: "border-b bg-muted/40", children: /* @__PURE__ */ jsx261(
|
|
22415
22537
|
"td",
|
|
22416
22538
|
{
|
|
@@ -22770,6 +22892,7 @@ export {
|
|
|
22770
22892
|
recentPagesAtom,
|
|
22771
22893
|
RecentPagesNavigator,
|
|
22772
22894
|
PageContainer,
|
|
22895
|
+
partitionTabs,
|
|
22773
22896
|
ReactMarkdownContainer,
|
|
22774
22897
|
RoundPageContainerTitle,
|
|
22775
22898
|
RoundPageContainer,
|
|
@@ -22984,4 +23107,4 @@ export {
|
|
|
22984
23107
|
useOAuthClients,
|
|
22985
23108
|
useOAuthClient
|
|
22986
23109
|
};
|
|
22987
|
-
//# sourceMappingURL=chunk-
|
|
23110
|
+
//# sourceMappingURL=chunk-4SPL6QH3.mjs.map
|