@carlonicora/nextjs-jsonapi 1.126.0 → 1.128.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/{BlockNoteEditor-ZW6OHTBH.js → BlockNoteEditor-LAH2RUGP.js} +9 -9
  2. package/dist/{BlockNoteEditor-ZW6OHTBH.js.map → BlockNoteEditor-LAH2RUGP.js.map} +1 -1
  3. package/dist/{BlockNoteEditor-SONASOXF.mjs → BlockNoteEditor-LJY3X6F6.mjs} +2 -2
  4. package/dist/billing/index.js +299 -299
  5. package/dist/billing/index.mjs +1 -1
  6. package/dist/{chunk-DUPLW72K.mjs → chunk-PJGAR5F3.mjs} +162 -134
  7. package/dist/chunk-PJGAR5F3.mjs.map +1 -0
  8. package/dist/{chunk-CI4D76N6.js → chunk-QVRFFC2Q.js} +152 -124
  9. package/dist/chunk-QVRFFC2Q.js.map +1 -0
  10. package/dist/client/index.js +2 -2
  11. package/dist/client/index.mjs +1 -1
  12. package/dist/components/index.d.mts +9 -1
  13. package/dist/components/index.d.ts +9 -1
  14. package/dist/components/index.js +2 -2
  15. package/dist/components/index.mjs +1 -1
  16. package/dist/contexts/index.js +2 -2
  17. package/dist/contexts/index.mjs +1 -1
  18. package/dist/features/help/index.js +30 -30
  19. package/dist/features/help/index.mjs +1 -1
  20. package/package.json +1 -1
  21. package/src/components/containers/RoundPageContainer.tsx +28 -4
  22. package/src/components/containers/RoundPageContainerTitle.tsx +9 -3
  23. package/src/components/tables/ContentListTable.tsx +16 -4
  24. package/src/components/tables/__tests__/ContentListTable.test.tsx +38 -2
  25. package/src/features/company/components/lists/CompaniesList.tsx +1 -1
  26. package/src/features/content/components/lists/ContentsListById.tsx +1 -1
  27. package/src/features/content/components/lists/RelevantContentsList.tsx +1 -1
  28. package/src/features/user/components/lists/AdminUsersList.tsx +1 -1
  29. package/dist/chunk-CI4D76N6.js.map +0 -1
  30. package/dist/chunk-DUPLW72K.mjs.map +0 -1
  31. /package/dist/{BlockNoteEditor-SONASOXF.mjs.map → BlockNoteEditor-LJY3X6F6.mjs.map} +0 -0
@@ -9972,7 +9972,7 @@ import { useRef as useRef17 } from "react";
9972
9972
  import dynamic from "next/dynamic";
9973
9973
  import React17 from "react";
9974
9974
  import { jsx as jsx82 } from "react/jsx-runtime";
9975
- var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-SONASOXF.mjs"), {
9975
+ var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-LJY3X6F6.mjs"), {
9976
9976
  ssr: false
9977
9977
  });
9978
9978
  var BlockNoteEditorContainer = React17.memo(/* @__PURE__ */ __name(function EditorContainer(props) {
@@ -11670,7 +11670,7 @@ function AdminUsersListInternal({ company }) {
11670
11670
  {
11671
11671
  title: t(`entities.users`, { count: 2 }),
11672
11672
  data,
11673
- fields: ["name" /* name */, "email" /* email */, "createdAt" /* createdAt */],
11673
+ fields: ["name" /* name */, "email" /* email */],
11674
11674
  tableGeneratorType: Modules.User,
11675
11675
  functions: /* @__PURE__ */ jsx112(UserEditor, { propagateChanges: data.refresh, adminCreated: true })
11676
11676
  }
@@ -12552,7 +12552,7 @@ function CompaniesList() {
12552
12552
  ContentListTable,
12553
12553
  {
12554
12554
  data,
12555
- fields: ["name" /* name */, "createdAt" /* createdAt */],
12555
+ fields: ["name" /* name */],
12556
12556
  tableGeneratorType: Modules.Company,
12557
12557
  functions,
12558
12558
  title: t(`entities.companies`, { count: 2 })
@@ -14565,16 +14565,20 @@ function RoundPageContainerTitle({
14565
14565
  }) {
14566
14566
  const { title } = useSharedContext();
14567
14567
  const isMobile = useIsMobile();
14568
- return /* @__PURE__ */ jsxs91("div", { className: cn(`flex w-full flex-row items-center border-b p-4`, isMobile ? `justify-end` : `justify-between`), children: [
14569
- !isMobile && /* @__PURE__ */ jsxs91("div", { className: "flex w-full gap-x-4", children: [
14568
+ return /* @__PURE__ */ jsxs91("div", { className: cn(`flex w-full flex-row items-center gap-x-2 border-b p-4 justify-between`), children: [
14569
+ !isMobile ? /* @__PURE__ */ jsxs91("div", { className: "flex w-full gap-x-4", children: [
14570
14570
  /* @__PURE__ */ jsxs91("div", { className: "text-muted-foreground flex items-center gap-x-2 text-lg font-light whitespace-nowrap", children: [
14571
14571
  title.titleActions,
14572
14572
  module && module.icon ? /* @__PURE__ */ jsx153(module.icon, { className: "text-primary h-6 w-6" }) : title.icon,
14573
14573
  title.type
14574
14574
  ] }),
14575
14575
  /* @__PURE__ */ jsx153("div", { className: cn("text-primary w-full text-xl font-semibold"), children: title.element })
14576
+ ] }) : /* @__PURE__ */ jsxs91("div", { className: "text-muted-foreground flex min-w-0 items-center gap-x-2 text-base font-light", children: [
14577
+ title.titleActions,
14578
+ module && module.icon ? /* @__PURE__ */ jsx153(module.icon, { className: "text-primary h-5 w-5 shrink-0" }) : title.icon,
14579
+ /* @__PURE__ */ jsx153("span", { className: "truncate", children: title.type })
14576
14580
  ] }),
14577
- (title.functions || details) && /* @__PURE__ */ jsxs91("div", { className: "flex items-center gap-x-2", children: [
14581
+ (title.functions || details) && /* @__PURE__ */ jsxs91("div", { className: "flex shrink-0 items-center gap-x-2", children: [
14578
14582
  title.functions,
14579
14583
  details && /* @__PURE__ */ jsxs91(Tooltip2, { children: [
14580
14584
  /* @__PURE__ */ jsx153(TooltipTrigger, { children: /* @__PURE__ */ jsx153(
@@ -14618,7 +14622,8 @@ function RoundPageContainer({
14618
14622
  fullWidth,
14619
14623
  forceHeader,
14620
14624
  header,
14621
- layout: layout2 = "tabs"
14625
+ layout: layout2 = "tabs",
14626
+ onSectionChange
14622
14627
  }) {
14623
14628
  const headerChildren = useHeaderChildren();
14624
14629
  const headerLeftContent = useHeaderLeftContent();
@@ -14652,9 +14657,14 @@ function RoundPageContainer({
14652
14657
  const handleTabChange = useCallback27(
14653
14658
  (key) => {
14654
14659
  setActiveTab(key);
14655
- if (module && id) rewriteUrl({ page: module, id, additionalParameters: { section: key } });
14660
+ if (module && id) {
14661
+ rewriteUrl({ page: module, id, additionalParameters: { section: key } });
14662
+ } else {
14663
+ rewriteUrl({ page: window.location.pathname, additionalParameters: { section: key } });
14664
+ }
14665
+ onSectionChange?.(key);
14656
14666
  },
14657
- [module, id, rewriteUrl]
14667
+ [module, id, rewriteUrl, onSectionChange]
14658
14668
  );
14659
14669
  const activeFillHeight = tabs?.find((t) => tabValue(t) === activeTab)?.fillHeight === true;
14660
14670
  const { ungrouped, groups } = useMemo20(() => partitionTabs(tabs ?? []), [tabs]);
@@ -14688,8 +14698,8 @@ function RoundPageContainer({
14688
14698
  {
14689
14699
  value: activeTab,
14690
14700
  onValueChange: handleTabChange,
14691
- orientation: "vertical",
14692
- className: "flex h-full min-w-0 grow overflow-hidden",
14701
+ orientation: "horizontal",
14702
+ className: "flex h-full min-w-0 grow overflow-hidden data-[orientation=horizontal]:flex-row",
14693
14703
  children: [
14694
14704
  /* @__PURE__ */ jsx154(
14695
14705
  "aside",
@@ -16197,6 +16207,7 @@ registerTableGenerator("companies", useCompanyTableStructure);
16197
16207
  // src/components/tables/ContentListTable.tsx
16198
16208
  import { flexRender, getCoreRowModel, getExpandedRowModel, useReactTable } from "@tanstack/react-table";
16199
16209
  import { ChevronLeft, ChevronRight } from "lucide-react";
16210
+ import { useTranslations as useTranslations58 } from "next-intl";
16200
16211
  import React28, { memo, useMemo as useMemo28, useState as useState59 } from "react";
16201
16212
 
16202
16213
  // src/components/tables/ContentTableSearch.tsx
@@ -16306,7 +16317,8 @@ function getGroupKeys(item, field) {
16306
16317
  }
16307
16318
  __name(getGroupKeys, "getGroupKeys");
16308
16319
  var ContentListTable = memo(/* @__PURE__ */ __name(function ContentListTable2(props) {
16309
- const { data, fields, checkedIds, toggleId, allowSearch, filters: _filters, fullWidth } = props;
16320
+ const { data, fields, checkedIds, toggleId, allowSearch, filters: _filters, fullWidth, onRowClick } = props;
16321
+ const t = useTranslations58();
16310
16322
  const [expanded, setExpanded] = useState59(
16311
16323
  props.defaultExpanded === true ? true : typeof props.defaultExpanded === "object" ? props.defaultExpanded : {}
16312
16324
  );
@@ -16412,14 +16424,30 @@ var ContentListTable = memo(/* @__PURE__ */ __name(function ContentListTable2(pr
16412
16424
  children: group.groupKey
16413
16425
  }
16414
16426
  ) }),
16415
- group.rows.map((row) => /* @__PURE__ */ jsx173(TableRow, { children: row.getVisibleCells().map((cell) => {
16416
- const meta = cell.column.columnDef.meta;
16417
- return /* @__PURE__ */ jsx173(TableCell, { className: meta?.className, children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id);
16418
- }) }, row.id))
16419
- ] }, group.groupKey)) : rowModel.rows.map((row) => /* @__PURE__ */ jsx173(TableRow, { children: row.getVisibleCells().map((cell) => {
16420
- const meta = cell.column.columnDef.meta;
16421
- return /* @__PURE__ */ jsx173(TableCell, { className: meta?.className, children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id);
16422
- }) }, row.id)) : /* @__PURE__ */ jsx173(TableRow, { children: /* @__PURE__ */ jsx173(TableCell, { colSpan: tableColumns.length, className: "h-24 text-center", children: props.emptyState ?? "No results." }) }) }),
16427
+ group.rows.map((row) => /* @__PURE__ */ jsx173(
16428
+ TableRow,
16429
+ {
16430
+ onClick: () => onRowClick?.(row.original.jsonApiData),
16431
+ className: `group ${onRowClick ? "hover:bg-muted/50 cursor-pointer" : ""}`,
16432
+ children: row.getVisibleCells().map((cell) => {
16433
+ const meta = cell.column.columnDef.meta;
16434
+ return /* @__PURE__ */ jsx173(TableCell, { className: meta?.className, children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id);
16435
+ })
16436
+ },
16437
+ row.id
16438
+ ))
16439
+ ] }, group.groupKey)) : rowModel.rows.map((row) => /* @__PURE__ */ jsx173(
16440
+ TableRow,
16441
+ {
16442
+ onClick: () => onRowClick?.(row.original.jsonApiData),
16443
+ className: `group ${onRowClick ? "hover:bg-muted/50 cursor-pointer" : ""}`,
16444
+ children: row.getVisibleCells().map((cell) => {
16445
+ const meta = cell.column.columnDef.meta;
16446
+ return /* @__PURE__ */ jsx173(TableCell, { className: meta?.className, children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id);
16447
+ })
16448
+ },
16449
+ row.id
16450
+ )) : /* @__PURE__ */ jsx173(TableRow, { children: /* @__PURE__ */ jsx173(TableCell, { colSpan: tableColumns.length, className: "h-24 text-center", children: props.emptyState ?? (t.has("ui.empty_states.no_results") ? t("ui.empty_states.no_results") : "No results.") }) }) }),
16423
16451
  showFooter && /* @__PURE__ */ jsx173(TableFooter, { children: /* @__PURE__ */ jsx173(TableRow, { children: /* @__PURE__ */ jsx173(TableCell, { colSpan: tableColumns.length, className: "bg-card py-4 text-right", children: /* @__PURE__ */ jsxs100("div", { className: "flex items-center justify-end space-x-2", children: [
16424
16452
  /* @__PURE__ */ jsx173(
16425
16453
  Button,
@@ -16552,12 +16580,12 @@ function validateItalianTaxCode(value, type) {
16552
16580
  __name(validateItalianTaxCode, "validateItalianTaxCode");
16553
16581
 
16554
16582
  // src/components/fiscal/ItalianFiscalData.tsx
16555
- import { useTranslations as useTranslations58 } from "next-intl";
16583
+ import { useTranslations as useTranslations59 } from "next-intl";
16556
16584
  import { forwardRef as forwardRef8, useCallback as useCallback36, useImperativeHandle as useImperativeHandle2, useRef as useRef32, useState as useState60 } from "react";
16557
16585
  import { z as z4 } from "zod";
16558
16586
  import { jsx as jsx175, jsxs as jsxs102 } from "react/jsx-runtime";
16559
16587
  var ItalianFiscalData = forwardRef8(/* @__PURE__ */ __name(function ItalianFiscalData2({ initialData }, ref) {
16560
- const t = useTranslations58();
16588
+ const t = useTranslations59();
16561
16589
  const initialRef = useRef32(initialData);
16562
16590
  const [fiscalData, setFiscalData] = useState60(initialData);
16563
16591
  const fiscalDataRef = useRef32(initialData);
@@ -16759,7 +16787,7 @@ import { createContext as createContext21, useContext as useContext22, useMemo a
16759
16787
  // src/features/auth/components/forms/Register.tsx
16760
16788
  import { zodResolver as zodResolver5 } from "@hookform/resolvers/zod";
16761
16789
  import { Loader2 as Loader23 } from "lucide-react";
16762
- import { useTranslations as useTranslations60 } from "next-intl";
16790
+ import { useTranslations as useTranslations61 } from "next-intl";
16763
16791
  import Image7 from "next/image";
16764
16792
  import { useSearchParams as useSearchParams2 } from "next/navigation";
16765
16793
  import { useEffect as useEffect51, useState as useState61 } from "react";
@@ -16768,14 +16796,14 @@ import { v4 as v45 } from "uuid";
16768
16796
  import { z as z5 } from "zod";
16769
16797
 
16770
16798
  // src/features/auth/components/GdprConsentSection.tsx
16771
- import { useTranslations as useTranslations59 } from "next-intl";
16799
+ import { useTranslations as useTranslations60 } from "next-intl";
16772
16800
  import { Fragment as Fragment29, jsx as jsx181, jsxs as jsxs106 } from "react/jsx-runtime";
16773
16801
  function GdprConsentSection({
16774
16802
  form,
16775
16803
  termsCheckboxId = "termsAccepted",
16776
16804
  marketingCheckboxId = "marketingConsent"
16777
16805
  }) {
16778
- const t = useTranslations59("auth.gdpr");
16806
+ const t = useTranslations60("auth.gdpr");
16779
16807
  const termsLabel = /* @__PURE__ */ jsxs106(Fragment29, { children: [
16780
16808
  t("terms_prefix"),
16781
16809
  " ",
@@ -16828,7 +16856,7 @@ function buildOAuthQueryParams(inviteCode, referralCode) {
16828
16856
  }
16829
16857
  __name(buildOAuthQueryParams, "buildOAuthQueryParams");
16830
16858
  function Register() {
16831
- const t = useTranslations60();
16859
+ const t = useTranslations61();
16832
16860
  const { setComponentType } = useAuthContext();
16833
16861
  const searchParams = useSearchParams2();
16834
16862
  const inviteCode = searchParams.get("invite");
@@ -17173,17 +17201,17 @@ __name(InnerAuthContainer, "InnerAuthContainer");
17173
17201
 
17174
17202
  // src/features/auth/components/two-factor/TwoFactorSettings.tsx
17175
17203
  import { ShieldAlert, ShieldCheck } from "lucide-react";
17176
- import { useTranslations as useTranslations67 } from "next-intl";
17204
+ import { useTranslations as useTranslations68 } from "next-intl";
17177
17205
  import { useCallback as useCallback37, useEffect as useEffect53, useState as useState70 } from "react";
17178
17206
  import { v4 as v48 } from "uuid";
17179
17207
 
17180
17208
  // src/features/auth/components/two-factor/BackupCodesDialog.tsx
17181
17209
  import { Copy, Download, RefreshCw as RefreshCw2 } from "lucide-react";
17182
- import { useTranslations as useTranslations61 } from "next-intl";
17210
+ import { useTranslations as useTranslations62 } from "next-intl";
17183
17211
  import { useState as useState63 } from "react";
17184
17212
  import { jsx as jsx185, jsxs as jsxs108 } from "react/jsx-runtime";
17185
17213
  function BackupCodesDialog({ remainingCodes, onRegenerate, trigger }) {
17186
- const t = useTranslations61();
17214
+ const t = useTranslations62();
17187
17215
  const [open, setOpen] = useState63(false);
17188
17216
  const [codes, setCodes] = useState63([]);
17189
17217
  const [isLoading, setIsLoading] = useState63(false);
@@ -17281,7 +17309,7 @@ Keep these codes safe. Each code can only be used once.`;
17281
17309
  __name(BackupCodesDialog, "BackupCodesDialog");
17282
17310
 
17283
17311
  // src/features/auth/components/two-factor/DisableTwoFactorDialog.tsx
17284
- import { useTranslations as useTranslations62 } from "next-intl";
17312
+ import { useTranslations as useTranslations63 } from "next-intl";
17285
17313
  import { useState as useState65 } from "react";
17286
17314
 
17287
17315
  // src/features/auth/components/two-factor/TotpInput.tsx
@@ -17351,7 +17379,7 @@ __name(TotpInput, "TotpInput");
17351
17379
  // src/features/auth/components/two-factor/DisableTwoFactorDialog.tsx
17352
17380
  import { jsx as jsx187, jsxs as jsxs110 } from "react/jsx-runtime";
17353
17381
  function DisableTwoFactorDialog({ onSuccess, trigger }) {
17354
- const t = useTranslations62();
17382
+ const t = useTranslations63();
17355
17383
  const [open, setOpen] = useState65(false);
17356
17384
  const [isLoading, setIsLoading] = useState65(false);
17357
17385
  const [error, setError] = useState65();
@@ -17394,11 +17422,11 @@ __name(DisableTwoFactorDialog, "DisableTwoFactorDialog");
17394
17422
 
17395
17423
  // src/features/auth/components/two-factor/PasskeyList.tsx
17396
17424
  import { Edit, Key, Trash2 } from "lucide-react";
17397
- import { useTranslations as useTranslations63 } from "next-intl";
17425
+ import { useTranslations as useTranslations64 } from "next-intl";
17398
17426
  import { useState as useState66 } from "react";
17399
17427
  import { Fragment as Fragment31, jsx as jsx188, jsxs as jsxs111 } from "react/jsx-runtime";
17400
17428
  function PasskeyList({ passkeys, onRefresh }) {
17401
- const t = useTranslations63();
17429
+ const t = useTranslations64();
17402
17430
  const [renameDialogOpen, setRenameDialogOpen] = useState66(false);
17403
17431
  const [selectedPasskey, setSelectedPasskey] = useState66(null);
17404
17432
  const [newName, setNewName] = useState66("");
@@ -17515,12 +17543,12 @@ __name(PasskeyList, "PasskeyList");
17515
17543
 
17516
17544
  // src/features/auth/components/two-factor/PasskeySetupDialog.tsx
17517
17545
  import { startRegistration } from "@simplewebauthn/browser";
17518
- import { useTranslations as useTranslations64 } from "next-intl";
17546
+ import { useTranslations as useTranslations65 } from "next-intl";
17519
17547
  import { useState as useState67 } from "react";
17520
17548
  import { v4 as v46 } from "uuid";
17521
17549
  import { jsx as jsx189, jsxs as jsxs112 } from "react/jsx-runtime";
17522
17550
  function PasskeySetupDialog({ open, onOpenChange, onSuccess }) {
17523
- const t = useTranslations64();
17551
+ const t = useTranslations65();
17524
17552
  const { currentUser } = useCurrentUserContext();
17525
17553
  const [name, setName] = useState67("");
17526
17554
  const [isLoading, setIsLoading] = useState67(false);
@@ -17586,11 +17614,11 @@ __name(PasskeySetupDialog, "PasskeySetupDialog");
17586
17614
 
17587
17615
  // src/features/auth/components/two-factor/TotpAuthenticatorList.tsx
17588
17616
  import { Smartphone, Trash2 as Trash22 } from "lucide-react";
17589
- import { useTranslations as useTranslations65 } from "next-intl";
17617
+ import { useTranslations as useTranslations66 } from "next-intl";
17590
17618
  import { useState as useState68 } from "react";
17591
17619
  import { jsx as jsx190, jsxs as jsxs113 } from "react/jsx-runtime";
17592
17620
  function TotpAuthenticatorList({ authenticators, onDelete }) {
17593
- const t = useTranslations65();
17621
+ const t = useTranslations66();
17594
17622
  const [deletingId, setDeletingId] = useState68(null);
17595
17623
  const handleDelete = /* @__PURE__ */ __name(async (id) => {
17596
17624
  setDeletingId(id);
@@ -17660,13 +17688,13 @@ function TotpAuthenticatorList({ authenticators, onDelete }) {
17660
17688
  __name(TotpAuthenticatorList, "TotpAuthenticatorList");
17661
17689
 
17662
17690
  // src/features/auth/components/two-factor/TotpSetupDialog.tsx
17663
- import { useTranslations as useTranslations66 } from "next-intl";
17691
+ import { useTranslations as useTranslations67 } from "next-intl";
17664
17692
  import { QRCodeSVG } from "qrcode.react";
17665
17693
  import { useState as useState69 } from "react";
17666
17694
  import { v4 as v47 } from "uuid";
17667
17695
  import { jsx as jsx191, jsxs as jsxs114 } from "react/jsx-runtime";
17668
17696
  function TotpSetupDialog({ onSuccess, trigger }) {
17669
- const t = useTranslations66();
17697
+ const t = useTranslations67();
17670
17698
  const { currentUser } = useCurrentUserContext();
17671
17699
  const [open, setOpen] = useState69(false);
17672
17700
  const [step, setStep] = useState69("name");
@@ -17771,7 +17799,7 @@ __name(TotpSetupDialog, "TotpSetupDialog");
17771
17799
  // src/features/auth/components/two-factor/TwoFactorSettings.tsx
17772
17800
  import { Fragment as Fragment32, jsx as jsx192, jsxs as jsxs115 } from "react/jsx-runtime";
17773
17801
  function TwoFactorSettings() {
17774
- const t = useTranslations67();
17802
+ const t = useTranslations68();
17775
17803
  const [status, setStatus] = useState70(null);
17776
17804
  const [authenticators, setAuthenticators] = useState70([]);
17777
17805
  const [passkeys, setPasskeys] = useState70([]);
@@ -17889,7 +17917,7 @@ function SecurityContainer() {
17889
17917
  __name(SecurityContainer, "SecurityContainer");
17890
17918
 
17891
17919
  // src/features/auth/components/details/LandingComponent.tsx
17892
- import { useTranslations as useTranslations68 } from "next-intl";
17920
+ import { useTranslations as useTranslations69 } from "next-intl";
17893
17921
  import Image9 from "next/image";
17894
17922
 
17895
17923
  // src/features/auth/components/buttons/GoogleSignInButton.tsx
@@ -17950,7 +17978,7 @@ __name(GoogleSignInButton, "GoogleSignInButton");
17950
17978
  // src/features/auth/components/details/LandingComponent.tsx
17951
17979
  import { Fragment as Fragment33, jsx as jsx195, jsxs as jsxs117 } from "react/jsx-runtime";
17952
17980
  function LandingComponent() {
17953
- const t = useTranslations68();
17981
+ const t = useTranslations69();
17954
17982
  const { setComponentType } = useAuthContext();
17955
17983
  return /* @__PURE__ */ jsxs117(Fragment33, { children: [
17956
17984
  /* @__PURE__ */ jsxs117(CardHeader, { className: "mb-4", "data-testid": "page-pre-login-container", children: [
@@ -17982,7 +18010,7 @@ __name(LandingComponent, "LandingComponent");
17982
18010
 
17983
18011
  // src/features/auth/components/forms/AcceptInvitation.tsx
17984
18012
  import { zodResolver as zodResolver6 } from "@hookform/resolvers/zod";
17985
- import { useTranslations as useTranslations69 } from "next-intl";
18013
+ import { useTranslations as useTranslations70 } from "next-intl";
17986
18014
  import Image10 from "next/image";
17987
18015
  import { useEffect as useEffect54, useState as useState71 } from "react";
17988
18016
  import { useForm as useForm6 } from "react-hook-form";
@@ -17992,7 +18020,7 @@ function AcceptInvitation() {
17992
18020
  const { setComponentType, params, setParams } = useAuthContext();
17993
18021
  const [showConfirmation, setShowConfirmation] = useState71(false);
17994
18022
  const [error, setError] = useState71(void 0);
17995
- const t = useTranslations69();
18023
+ const t = useTranslations70();
17996
18024
  useEffect54(() => {
17997
18025
  async function validateCode(code) {
17998
18026
  try {
@@ -18084,7 +18112,7 @@ function AcceptInvitation() {
18084
18112
  __name(AcceptInvitation, "AcceptInvitation");
18085
18113
 
18086
18114
  // src/features/auth/components/forms/ActivateAccount.tsx
18087
- import { useTranslations as useTranslations70 } from "next-intl";
18115
+ import { useTranslations as useTranslations71 } from "next-intl";
18088
18116
  import Image11 from "next/image";
18089
18117
  import { useEffect as useEffect55, useState as useState72 } from "react";
18090
18118
  import { Fragment as Fragment35, jsx as jsx197, jsxs as jsxs119 } from "react/jsx-runtime";
@@ -18092,7 +18120,7 @@ function ActivateAccount() {
18092
18120
  const { setComponentType, params, setParams } = useAuthContext();
18093
18121
  const [showConfirmation, setShowConfirmation] = useState72(false);
18094
18122
  const [error, setError] = useState72(void 0);
18095
- const t = useTranslations70();
18123
+ const t = useTranslations71();
18096
18124
  useEffect55(() => {
18097
18125
  async function ActivateAccount2(code) {
18098
18126
  try {
@@ -18160,14 +18188,14 @@ __name(Cookies, "Cookies");
18160
18188
 
18161
18189
  // src/features/auth/components/forms/ForgotPassword.tsx
18162
18190
  import { zodResolver as zodResolver7 } from "@hookform/resolvers/zod";
18163
- import { useTranslations as useTranslations71 } from "next-intl";
18191
+ import { useTranslations as useTranslations72 } from "next-intl";
18164
18192
  import Image12 from "next/image";
18165
18193
  import { useState as useState74 } from "react";
18166
18194
  import { useForm as useForm7 } from "react-hook-form";
18167
18195
  import { z as z7 } from "zod";
18168
18196
  import { Fragment as Fragment36, jsx as jsx198, jsxs as jsxs120 } from "react/jsx-runtime";
18169
18197
  function ForgotPassword() {
18170
- const t = useTranslations71();
18198
+ const t = useTranslations72();
18171
18199
  const { setComponentType } = useAuthContext();
18172
18200
  const [showConfirmation, setShowConfirmation] = useState74(false);
18173
18201
  const formSchema = z7.object({
@@ -18231,7 +18259,7 @@ __name(ForgotPassword, "ForgotPassword");
18231
18259
 
18232
18260
  // src/features/auth/components/forms/Login.tsx
18233
18261
  import { zodResolver as zodResolver8 } from "@hookform/resolvers/zod";
18234
- import { useTranslations as useTranslations72 } from "next-intl";
18262
+ import { useTranslations as useTranslations73 } from "next-intl";
18235
18263
  import Image13 from "next/image";
18236
18264
  import { useRouter, useSearchParams as useSearchParams3 } from "next/navigation";
18237
18265
  import { useEffect as useEffect57, useState as useState75 } from "react";
@@ -18239,7 +18267,7 @@ import { useForm as useForm8 } from "react-hook-form";
18239
18267
  import { z as z8 } from "zod";
18240
18268
  import { Fragment as Fragment37, jsx as jsx199, jsxs as jsxs121 } from "react/jsx-runtime";
18241
18269
  function Login() {
18242
- const t = useTranslations72();
18270
+ const t = useTranslations73();
18243
18271
  const { setUser } = useCurrentUserContext();
18244
18272
  const { setComponentType, setPendingTwoFactor } = useAuthContext();
18245
18273
  const generateUrl = usePageUrlGenerator();
@@ -18428,7 +18456,7 @@ __name(RefreshUser, "RefreshUser");
18428
18456
 
18429
18457
  // src/features/auth/components/forms/ResetPassword.tsx
18430
18458
  import { zodResolver as zodResolver9 } from "@hookform/resolvers/zod";
18431
- import { useTranslations as useTranslations73 } from "next-intl";
18459
+ import { useTranslations as useTranslations74 } from "next-intl";
18432
18460
  import Image14 from "next/image";
18433
18461
  import { useEffect as useEffect60, useState as useState76 } from "react";
18434
18462
  import { useForm as useForm9 } from "react-hook-form";
@@ -18438,7 +18466,7 @@ function ResetPassword() {
18438
18466
  const { setComponentType, params, setParams } = useAuthContext();
18439
18467
  const [showConfirmation, setShowConfirmation] = useState76(false);
18440
18468
  const [error, setError] = useState76(void 0);
18441
- const t = useTranslations73();
18469
+ const t = useTranslations74();
18442
18470
  useEffect60(() => {
18443
18471
  async function validateResetPasswordCode(code) {
18444
18472
  try {
@@ -18514,19 +18542,19 @@ function ResetPassword() {
18514
18542
  __name(ResetPassword, "ResetPassword");
18515
18543
 
18516
18544
  // src/features/auth/components/forms/TwoFactorChallenge.tsx
18517
- import { useTranslations as useTranslations75 } from "next-intl";
18545
+ import { useTranslations as useTranslations76 } from "next-intl";
18518
18546
  import { useRouter as useRouter2, useSearchParams as useSearchParams4 } from "next/navigation";
18519
18547
  import { useState as useState78 } from "react";
18520
18548
  import { v4 as v410 } from "uuid";
18521
18549
 
18522
18550
  // src/features/auth/components/two-factor/PasskeyButton.tsx
18523
18551
  import { startAuthentication } from "@simplewebauthn/browser";
18524
- import { useTranslations as useTranslations74 } from "next-intl";
18552
+ import { useTranslations as useTranslations75 } from "next-intl";
18525
18553
  import { useState as useState77 } from "react";
18526
18554
  import { v4 as v49 } from "uuid";
18527
18555
  import { jsx as jsx202 } from "react/jsx-runtime";
18528
18556
  function PasskeyButton({ pendingToken, onSuccess, onError, disabled = false }) {
18529
- const t = useTranslations74();
18557
+ const t = useTranslations75();
18530
18558
  const [isLoading, setIsLoading] = useState77(false);
18531
18559
  const handleClick = /* @__PURE__ */ __name(async () => {
18532
18560
  setIsLoading(true);
@@ -18564,7 +18592,7 @@ __name(PasskeyButton, "PasskeyButton");
18564
18592
  // src/features/auth/components/forms/TwoFactorChallenge.tsx
18565
18593
  import { Fragment as Fragment40, jsx as jsx203, jsxs as jsxs123 } from "react/jsx-runtime";
18566
18594
  function TwoFactorChallenge() {
18567
- const t = useTranslations75();
18595
+ const t = useTranslations76();
18568
18596
  const { setUser } = useCurrentUserContext();
18569
18597
  const { pendingTwoFactor, setPendingTwoFactor } = useAuthContext();
18570
18598
  const generateUrl = usePageUrlGenerator();
@@ -18701,10 +18729,10 @@ function TwoFactorChallenge() {
18701
18729
  __name(TwoFactorChallenge, "TwoFactorChallenge");
18702
18730
 
18703
18731
  // src/features/content/components/lists/ContentsList.tsx
18704
- import { useTranslations as useTranslations76 } from "next-intl";
18732
+ import { useTranslations as useTranslations77 } from "next-intl";
18705
18733
  import { jsx as jsx204, jsxs as jsxs124 } from "react/jsx-runtime";
18706
18734
  function ContentsList({ contentList }) {
18707
- const t = useTranslations76();
18735
+ const t = useTranslations77();
18708
18736
  return /* @__PURE__ */ jsxs124("div", { className: "flex min-h-0 w-full flex-col overflow-y-auto", children: [
18709
18737
  /* @__PURE__ */ jsx204("h2", { className: "text-xl font-semibold", children: t(`content.news`) }),
18710
18738
  /* @__PURE__ */ jsx204("div", { className: "flex flex-col", children: contentList.map((content) => /* @__PURE__ */ jsx204(ContentsListElement, { content }, content.id)) })
@@ -18732,10 +18760,10 @@ function ContentsListElement({ content }) {
18732
18760
  __name(ContentsListElement, "ContentsListElement");
18733
18761
 
18734
18762
  // src/features/content/components/lists/ContentsListById.tsx
18735
- import { useTranslations as useTranslations77 } from "next-intl";
18763
+ import { useTranslations as useTranslations78 } from "next-intl";
18736
18764
  import { jsx as jsx205 } from "react/jsx-runtime";
18737
18765
  function ContentsListById({ contentIds }) {
18738
- const t = useTranslations77();
18766
+ const t = useTranslations78();
18739
18767
  const data = useDataListRetriever({
18740
18768
  module: Modules.Content,
18741
18769
  retriever: /* @__PURE__ */ __name((params) => ContentService.findMany(params), "retriever"),
@@ -18745,7 +18773,7 @@ function ContentsListById({ contentIds }) {
18745
18773
  ContentListTable,
18746
18774
  {
18747
18775
  data,
18748
- fields: ["name" /* name */, "authors" /* authors */, "updatedAt" /* updatedAt */],
18776
+ fields: ["name" /* name */, "authors" /* authors */],
18749
18777
  tableGeneratorType: Modules.Content,
18750
18778
  title: t(`common.relevant`)
18751
18779
  }
@@ -18754,10 +18782,10 @@ function ContentsListById({ contentIds }) {
18754
18782
  __name(ContentsListById, "ContentsListById");
18755
18783
 
18756
18784
  // src/features/content/components/lists/RelevantContentsList.tsx
18757
- import { useTranslations as useTranslations78 } from "next-intl";
18785
+ import { useTranslations as useTranslations79 } from "next-intl";
18758
18786
  import { jsx as jsx206 } from "react/jsx-runtime";
18759
18787
  function RelevantContentsList({ id }) {
18760
- const t = useTranslations78();
18788
+ const t = useTranslations79();
18761
18789
  const data = useDataListRetriever({
18762
18790
  module: Modules.Content,
18763
18791
  retriever: /* @__PURE__ */ __name((params) => ContentService.findRelevant(params), "retriever"),
@@ -18767,7 +18795,7 @@ function RelevantContentsList({ id }) {
18767
18795
  ContentListTable,
18768
18796
  {
18769
18797
  data,
18770
- fields: ["name" /* name */, "authors" /* authors */, "relevance" /* relevance */, "updatedAt" /* updatedAt */],
18798
+ fields: ["name" /* name */, "authors" /* authors */, "relevance" /* relevance */],
18771
18799
  tableGeneratorType: Modules.Content,
18772
18800
  title: t(`common.relevant`)
18773
18801
  }
@@ -18777,12 +18805,12 @@ __name(RelevantContentsList, "RelevantContentsList");
18777
18805
 
18778
18806
  // src/features/how-to/components/containers/HowToCommand.tsx
18779
18807
  import { ArrowRight, LifeBuoyIcon } from "lucide-react";
18780
- import { useTranslations as useTranslations80 } from "next-intl";
18808
+ import { useTranslations as useTranslations81 } from "next-intl";
18781
18809
  import { useCallback as useCallback38, useEffect as useEffect61, useMemo as useMemo31, useRef as useRef34, useState as useState79 } from "react";
18782
18810
 
18783
18811
  // src/features/how-to/components/containers/HowToCommandViewer.tsx
18784
18812
  import { ArrowLeft, BookOpen, MessageSquare } from "lucide-react";
18785
- import { useTranslations as useTranslations79 } from "next-intl";
18813
+ import { useTranslations as useTranslations80 } from "next-intl";
18786
18814
  import { useMemo as useMemo30 } from "react";
18787
18815
 
18788
18816
  // src/features/how-to/utils/blocknote.ts
@@ -18854,7 +18882,7 @@ __name(extractHeadings, "extractHeadings");
18854
18882
  // src/features/how-to/components/containers/HowToCommandViewer.tsx
18855
18883
  import { jsx as jsx207, jsxs as jsxs125 } from "react/jsx-runtime";
18856
18884
  function HowToCommandViewer({ howTo, onBack, onStartChat }) {
18857
- const t = useTranslations79();
18885
+ const t = useTranslations80();
18858
18886
  const readingTime = useMemo30(() => calculateReadingTime(howTo.description), [howTo.description]);
18859
18887
  const headings = useMemo30(() => extractHeadings(howTo.description), [howTo.description]);
18860
18888
  return /* @__PURE__ */ jsxs125("div", { className: "flex h-full flex-col", children: [
@@ -18903,7 +18931,7 @@ function matchPage(pathname, pattern) {
18903
18931
  }
18904
18932
  __name(matchPage, "matchPage");
18905
18933
  function HowToCommand({ pathname, extraGroups, onStartChat }) {
18906
- const t = useTranslations80();
18934
+ const t = useTranslations81();
18907
18935
  const [dialogOpen, setDialogOpen] = useState79(false);
18908
18936
  const [selectedHowTo, setSelectedHowTo] = useState79(null);
18909
18937
  const searchTermRef = useRef34("");
@@ -19069,10 +19097,10 @@ function HowToContent() {
19069
19097
  __name(HowToContent, "HowToContent");
19070
19098
 
19071
19099
  // src/features/how-to/components/details/HowToDetails.tsx
19072
- import { useTranslations as useTranslations81 } from "next-intl";
19100
+ import { useTranslations as useTranslations82 } from "next-intl";
19073
19101
  import { jsx as jsx210, jsxs as jsxs127 } from "react/jsx-runtime";
19074
19102
  function HowToDetailsInternal({ howTo }) {
19075
- const t = useTranslations81();
19103
+ const t = useTranslations82();
19076
19104
  const { title } = useSharedContext();
19077
19105
  const pagesList = HowTo.parsePagesFromString(howTo.pages);
19078
19106
  return /* @__PURE__ */ jsxs127("div", { className: "flex w-full flex-col gap-y-4", children: [
@@ -19108,14 +19136,14 @@ function HowToContainer() {
19108
19136
  __name(HowToContainer, "HowToContainer");
19109
19137
 
19110
19138
  // src/features/how-to/components/lists/HowToList.tsx
19111
- import { useTranslations as useTranslations83 } from "next-intl";
19139
+ import { useTranslations as useTranslations84 } from "next-intl";
19112
19140
 
19113
19141
  // src/features/how-to/hooks/useHowToTableStructure.tsx
19114
- import { useTranslations as useTranslations82 } from "next-intl";
19142
+ import { useTranslations as useTranslations83 } from "next-intl";
19115
19143
  import { useMemo as useMemo32 } from "react";
19116
19144
  import { Fragment as Fragment42, jsx as jsx212 } from "react/jsx-runtime";
19117
19145
  var useHowToTableStructure = /* @__PURE__ */ __name((params) => {
19118
- const t = useTranslations82();
19146
+ const t = useTranslations83();
19119
19147
  const generateUrl = usePageUrlGenerator();
19120
19148
  const tableData = useMemo32(() => {
19121
19149
  return params.data.map((howTo) => {
@@ -19181,7 +19209,7 @@ registerTableGenerator("howtos", useHowToTableStructure);
19181
19209
  // src/features/how-to/components/lists/HowToList.tsx
19182
19210
  import { jsx as jsx213 } from "react/jsx-runtime";
19183
19211
  function HowToList({ fullWidth }) {
19184
- const t = useTranslations83();
19212
+ const t = useTranslations84();
19185
19213
  const data = useDataListRetriever({
19186
19214
  module: Modules.HowTo,
19187
19215
  retriever: /* @__PURE__ */ __name((params) => HowToService.findMany(params), "retriever"),
@@ -19215,7 +19243,7 @@ __name(HowToListContainer, "HowToListContainer");
19215
19243
 
19216
19244
  // src/features/how-to/components/forms/HowToSelector.tsx
19217
19245
  import { CircleX as CircleX3, RefreshCwIcon as RefreshCwIcon4, SearchIcon as SearchIcon7, XIcon as XIcon11 } from "lucide-react";
19218
- import { useTranslations as useTranslations84 } from "next-intl";
19246
+ import { useTranslations as useTranslations85 } from "next-intl";
19219
19247
  import { useCallback as useCallback39, useEffect as useEffect62, useRef as useRef35, useState as useState80 } from "react";
19220
19248
  import { Fragment as Fragment43, jsx as jsx215, jsxs as jsxs128 } from "react/jsx-runtime";
19221
19249
  function HowToSelector({
@@ -19226,7 +19254,7 @@ function HowToSelector({
19226
19254
  onChange,
19227
19255
  isRequired = false
19228
19256
  }) {
19229
- const t = useTranslations84();
19257
+ const t = useTranslations85();
19230
19258
  const [open, setOpen] = useState80(false);
19231
19259
  const searchTermRef = useRef35("");
19232
19260
  const [searchTerm, setSearchTerm] = useState80("");
@@ -19319,7 +19347,7 @@ function HowToSelector({
19319
19347
  __name(HowToSelector, "HowToSelector");
19320
19348
 
19321
19349
  // src/features/assistant/components/parts/AssistantSidebar.tsx
19322
- import { useTranslations as useTranslations85 } from "next-intl";
19350
+ import { useTranslations as useTranslations86 } from "next-intl";
19323
19351
  import { Plus as Plus2 } from "lucide-react";
19324
19352
 
19325
19353
  // src/features/assistant/utils/groupThreadsByBucket.ts
@@ -19345,7 +19373,7 @@ __name(groupThreadsByBucket, "groupThreadsByBucket");
19345
19373
  // src/features/assistant/components/parts/AssistantSidebar.tsx
19346
19374
  import { Fragment as Fragment44, jsx as jsx216, jsxs as jsxs129 } from "react/jsx-runtime";
19347
19375
  function AssistantSidebar({ threads, activeId, onSelect, onNew }) {
19348
- const t = useTranslations85();
19376
+ const t = useTranslations86();
19349
19377
  const groups = groupThreadsByBucket(threads);
19350
19378
  const renderSection = /* @__PURE__ */ __name((label, items) => {
19351
19379
  if (items.length === 0) return null;
@@ -19380,16 +19408,16 @@ __name(AssistantSidebar, "AssistantSidebar");
19380
19408
 
19381
19409
  // src/features/assistant/components/parts/AssistantEmptyState.tsx
19382
19410
  import { useState as useState82 } from "react";
19383
- import { useTranslations as useTranslations87 } from "next-intl";
19411
+ import { useTranslations as useTranslations88 } from "next-intl";
19384
19412
  import { Sparkles } from "lucide-react";
19385
19413
 
19386
19414
  // src/features/assistant/components/parts/AssistantComposer.tsx
19387
19415
  import { useState as useState81 } from "react";
19388
- import { useTranslations as useTranslations86 } from "next-intl";
19416
+ import { useTranslations as useTranslations87 } from "next-intl";
19389
19417
  import { ArrowUp } from "lucide-react";
19390
19418
  import { jsx as jsx217, jsxs as jsxs130 } from "react/jsx-runtime";
19391
19419
  function AssistantComposer({ onSend, disabled, value: controlled, onValueChange }) {
19392
- const t = useTranslations86();
19420
+ const t = useTranslations87();
19393
19421
  const [internal, setInternal] = useState81("");
19394
19422
  const value = controlled ?? internal;
19395
19423
  const setValue = onValueChange ?? setInternal;
@@ -19435,7 +19463,7 @@ __name(AssistantComposer, "AssistantComposer");
19435
19463
  import { jsx as jsx218, jsxs as jsxs131 } from "react/jsx-runtime";
19436
19464
  var STARTER_KEYS = ["a", "b", "c", "d"];
19437
19465
  function AssistantEmptyState({ onSend, operatorMode = false, onOperatorModeChange }) {
19438
- const t = useTranslations87();
19466
+ const t = useTranslations88();
19439
19467
  const [draft, setDraft] = useState82("");
19440
19468
  return /* @__PURE__ */ jsx218("div", { className: "flex h-full w-full items-center justify-center p-10", children: /* @__PURE__ */ jsxs131("div", { className: "flex w-full max-w-2xl flex-col gap-6", children: [
19441
19469
  /* @__PURE__ */ jsxs131("div", { className: "text-center", children: [
@@ -19475,10 +19503,10 @@ __name(AssistantEmptyState, "AssistantEmptyState");
19475
19503
 
19476
19504
  // src/features/assistant/components/parts/AssistantThreadHeader.tsx
19477
19505
  import { useState as useState83 } from "react";
19478
- import { useTranslations as useTranslations88 } from "next-intl";
19506
+ import { useTranslations as useTranslations89 } from "next-intl";
19479
19507
  import { jsx as jsx219, jsxs as jsxs132 } from "react/jsx-runtime";
19480
19508
  function AssistantThreadHeader({ assistant, onRename, onDelete }) {
19481
- const t = useTranslations88();
19509
+ const t = useTranslations89();
19482
19510
  const [renameValue, setRenameValue] = useState83(assistant.title);
19483
19511
  const [renameOpen, setRenameOpen] = useState83(false);
19484
19512
  const [deleteOpen, setDeleteOpen] = useState83(false);
@@ -19537,7 +19565,7 @@ __name(AssistantThreadHeader, "AssistantThreadHeader");
19537
19565
  import { useEffect as useEffect64, useRef as useRef36 } from "react";
19538
19566
 
19539
19567
  // src/features/assistant-message/components/MessageItem.tsx
19540
- import { useTranslations as useTranslations94 } from "next-intl";
19568
+ import { useTranslations as useTranslations95 } from "next-intl";
19541
19569
  import { Sparkles as Sparkles2, AlertCircle } from "lucide-react";
19542
19570
  import ReactMarkdown3 from "react-markdown";
19543
19571
  import remarkGfm3 from "remark-gfm";
@@ -19547,15 +19575,15 @@ import { useEffect as useEffect63, useMemo as useMemo34, useState as useState86
19547
19575
 
19548
19576
  // src/features/assistant-message/components/parts/MessageSourcesPanel.tsx
19549
19577
  import { useMemo as useMemo33, useState as useState85 } from "react";
19550
- import { useTranslations as useTranslations93 } from "next-intl";
19578
+ import { useTranslations as useTranslations94 } from "next-intl";
19551
19579
  import { ChevronDown as ChevronDown4, ChevronRight as ChevronRight2 } from "lucide-react";
19552
19580
 
19553
19581
  // src/features/assistant-message/components/parts/tabs/ReferencesTab.tsx
19554
- import { useTranslations as useTranslations89 } from "next-intl";
19582
+ import { useTranslations as useTranslations90 } from "next-intl";
19555
19583
  import Link4 from "next/link";
19556
19584
  import { jsx as jsx220, jsxs as jsxs133 } from "react/jsx-runtime";
19557
19585
  function ReferencesTab({ references }) {
19558
- const t = useTranslations89();
19586
+ const t = useTranslations90();
19559
19587
  const generate = usePageUrlGenerator();
19560
19588
  if (references.length === 0) return null;
19561
19589
  return /* @__PURE__ */ jsxs133(Table, { children: [
@@ -19584,7 +19612,7 @@ __name(ReferencesTab, "ReferencesTab");
19584
19612
 
19585
19613
  // src/features/assistant-message/components/parts/tabs/CitationsTab.tsx
19586
19614
  import { Fragment as Fragment45, useState as useState84 } from "react";
19587
- import { useTranslations as useTranslations90 } from "next-intl";
19615
+ import { useTranslations as useTranslations91 } from "next-intl";
19588
19616
  import { ChevronDown as ChevronDown3, HelpCircle } from "lucide-react";
19589
19617
  import ReactMarkdown2 from "react-markdown";
19590
19618
  import remarkGfm2 from "remark-gfm";
@@ -19621,7 +19649,7 @@ __name(RelevanceMeter, "RelevanceMeter");
19621
19649
  // src/features/assistant-message/components/parts/tabs/CitationsTab.tsx
19622
19650
  import { jsx as jsx222, jsxs as jsxs135 } from "react/jsx-runtime";
19623
19651
  function CitationsTab({ citations, sources }) {
19624
- const t = useTranslations90();
19652
+ const t = useTranslations91();
19625
19653
  const [expanded, setExpanded] = useState84(/* @__PURE__ */ new Set());
19626
19654
  if (citations.length === 0) return null;
19627
19655
  const sorted = [...citations].sort((a, b) => (b.relevance ?? 0) - (a.relevance ?? 0));
@@ -19679,11 +19707,11 @@ function CitationsTab({ citations, sources }) {
19679
19707
  __name(CitationsTab, "CitationsTab");
19680
19708
 
19681
19709
  // src/features/assistant-message/components/parts/tabs/ContentsTab.tsx
19682
- import { useTranslations as useTranslations91 } from "next-intl";
19710
+ import { useTranslations as useTranslations92 } from "next-intl";
19683
19711
  import Link5 from "next/link";
19684
19712
  import { jsx as jsx223, jsxs as jsxs136 } from "react/jsx-runtime";
19685
19713
  function ContentsTab({ citations, sources }) {
19686
- const t = useTranslations91();
19714
+ const t = useTranslations92();
19687
19715
  const generate = usePageUrlGenerator();
19688
19716
  const map = /* @__PURE__ */ new Map();
19689
19717
  for (const c of citations) {
@@ -19735,7 +19763,7 @@ function ContentsTab({ citations, sources }) {
19735
19763
  __name(ContentsTab, "ContentsTab");
19736
19764
 
19737
19765
  // src/features/assistant-message/components/parts/tabs/UsersTab.tsx
19738
- import { useTranslations as useTranslations92 } from "next-intl";
19766
+ import { useTranslations as useTranslations93 } from "next-intl";
19739
19767
  import Link6 from "next/link";
19740
19768
  import { jsx as jsx224, jsxs as jsxs137 } from "react/jsx-runtime";
19741
19769
  function getInitials2(name) {
@@ -19752,7 +19780,7 @@ function readAuthor(source) {
19752
19780
  }
19753
19781
  __name(readAuthor, "readAuthor");
19754
19782
  function UsersTab({ users, citations, sources }) {
19755
- const t = useTranslations92();
19783
+ const t = useTranslations93();
19756
19784
  const generate = usePageUrlGenerator();
19757
19785
  const userMap = /* @__PURE__ */ new Map();
19758
19786
  for (const u of users) {
@@ -19838,7 +19866,7 @@ __name(SuggestedQuestionsTab, "SuggestedQuestionsTab");
19838
19866
  // src/features/assistant-message/components/parts/MessageSourcesPanel.tsx
19839
19867
  import { jsx as jsx226, jsxs as jsxs138 } from "react/jsx-runtime";
19840
19868
  function MessageSourcesPanel({ message, isLatestAssistant, onSelectFollowUp, sources, users }) {
19841
- const t = useTranslations93();
19869
+ const t = useTranslations94();
19842
19870
  const visibleReferences = useMemo33(
19843
19871
  () => message.references.filter((ref) => {
19844
19872
  try {
@@ -20028,7 +20056,7 @@ function MessageItem({
20028
20056
  onRetry,
20029
20057
  renderApprovalAction
20030
20058
  }) {
20031
- const t = useTranslations94();
20059
+ const t = useTranslations95();
20032
20060
  const isUser = message.role === "user";
20033
20061
  const isFailed = isUser && !!failedMessageIds?.has(message.id);
20034
20062
  if (isUser) {
@@ -20087,11 +20115,11 @@ function MessageList({ messages, onSelectFollowUp, failedMessageIds, onRetry, re
20087
20115
  __name(MessageList, "MessageList");
20088
20116
 
20089
20117
  // src/features/assistant/components/parts/AssistantStatusLine.tsx
20090
- import { useTranslations as useTranslations95 } from "next-intl";
20118
+ import { useTranslations as useTranslations96 } from "next-intl";
20091
20119
  import { Loader2 as Loader24 } from "lucide-react";
20092
20120
  import { jsx as jsx230, jsxs as jsxs140 } from "react/jsx-runtime";
20093
20121
  function AssistantStatusLine({ status }) {
20094
- const t = useTranslations95();
20122
+ const t = useTranslations96();
20095
20123
  const text = status ?? t("features.assistant.thinking");
20096
20124
  return /* @__PURE__ */ jsxs140("div", { className: "text-muted-foreground flex items-center gap-2 px-4 py-2 text-sm", children: [
20097
20125
  /* @__PURE__ */ jsx230(Loader24, { className: "h-4 w-4 animate-spin" }),
@@ -20217,14 +20245,14 @@ var NotificationErrorBoundary = class extends Component {
20217
20245
  };
20218
20246
 
20219
20247
  // src/features/notification/components/containers/NotificationsListContainer.tsx
20220
- import { useTranslations as useTranslations97 } from "next-intl";
20248
+ import { useTranslations as useTranslations98 } from "next-intl";
20221
20249
 
20222
20250
  // src/features/notification/components/lists/NotificationsList.tsx
20223
20251
  import { ArchiveIcon } from "lucide-react";
20224
- import { useTranslations as useTranslations96 } from "next-intl";
20252
+ import { useTranslations as useTranslations97 } from "next-intl";
20225
20253
  import { Fragment as Fragment47, jsx as jsx234, jsxs as jsxs144 } from "react/jsx-runtime";
20226
20254
  function NotificationsList({ archived }) {
20227
- const t = useTranslations96();
20255
+ const t = useTranslations97();
20228
20256
  const generateUrl = usePageUrlGenerator();
20229
20257
  const data = useDataListRetriever({
20230
20258
  retriever: /* @__PURE__ */ __name((params) => NotificationService.findMany(params), "retriever"),
@@ -20282,7 +20310,7 @@ __name(NotificationsList, "NotificationsList");
20282
20310
  // src/features/notification/components/containers/NotificationsListContainer.tsx
20283
20311
  import { jsx as jsx235, jsxs as jsxs145 } from "react/jsx-runtime";
20284
20312
  function NotificationsListContainerContent() {
20285
- const t = useTranslations97();
20313
+ const t = useTranslations98();
20286
20314
  const { notifications: _notifications, isLoading: _isLoading, error } = useNotificationContext();
20287
20315
  if (error) {
20288
20316
  return /* @__PURE__ */ jsx235("div", { className: "flex items-center justify-center p-8 text-center", children: /* @__PURE__ */ jsxs145("div", { className: "text-destructive text-sm", children: [
@@ -20313,7 +20341,7 @@ __name(NotificationsListContainer, "NotificationsListContainer");
20313
20341
 
20314
20342
  // src/features/notification/components/modals/NotificationModal.tsx
20315
20343
  import { BellIcon } from "lucide-react";
20316
- import { useTranslations as useTranslations98 } from "next-intl";
20344
+ import { useTranslations as useTranslations99 } from "next-intl";
20317
20345
  import { Fragment as Fragment48, useCallback as useCallback40, useEffect as useEffect65, useMemo as useMemo35, useRef as useRef37, useState as useState87 } from "react";
20318
20346
  import { jsx as jsx236, jsxs as jsxs146 } from "react/jsx-runtime";
20319
20347
  function NotificationModalContent({ isOpen, setIsOpen }) {
@@ -20334,7 +20362,7 @@ function NotificationModalContent({ isOpen, setIsOpen }) {
20334
20362
  removeSocketNotification: _removeSocketNotification,
20335
20363
  clearSocketNotifications
20336
20364
  } = useSocketContext();
20337
- const t = useTranslations98();
20365
+ const t = useTranslations99();
20338
20366
  const generateUrl = usePageUrlGenerator();
20339
20367
  const [newNotifications, setNewNotifications] = useState87(false);
20340
20368
  const preventAutoClose = useRef37(false);
@@ -20788,11 +20816,11 @@ function ReferralDialog({
20788
20816
  __name(ReferralDialog, "ReferralDialog");
20789
20817
 
20790
20818
  // src/features/role/components/details/RoleDetails.tsx
20791
- import { useTranslations as useTranslations99 } from "next-intl";
20819
+ import { useTranslations as useTranslations100 } from "next-intl";
20792
20820
  import { jsx as jsx240 } from "react/jsx-runtime";
20793
20821
  function RoleDetails() {
20794
20822
  const { role } = useRoleContext();
20795
- const t = useTranslations99();
20823
+ const t = useTranslations100();
20796
20824
  if (!role) return null;
20797
20825
  return /* @__PURE__ */ jsx240(Card, { className: "w-full", children: /* @__PURE__ */ jsx240(CardContent, { className: "p-4", children: /* @__PURE__ */ jsx240(AttributeElement, { title: t(`role.fields.description.label`), value: role.description }) }) });
20798
20826
  }
@@ -20811,10 +20839,10 @@ function RoleContainer() {
20811
20839
  __name(RoleContainer, "RoleContainer");
20812
20840
 
20813
20841
  // src/features/role/components/forms/FormRoles.tsx
20814
- import { useTranslations as useTranslations100 } from "next-intl";
20842
+ import { useTranslations as useTranslations101 } from "next-intl";
20815
20843
  import { jsx as jsx242, jsxs as jsxs150 } from "react/jsx-runtime";
20816
20844
  function FormRoles({ form, id, name, roles }) {
20817
- const t = useTranslations100();
20845
+ const t = useTranslations101();
20818
20846
  const { hasAccesToFeature } = useCurrentUserContext();
20819
20847
  return /* @__PURE__ */ jsx242("div", { className: "flex w-full flex-col", children: /* @__PURE__ */ jsx242(FormFieldWrapper, { form, name: id, label: name, children: (field) => /* @__PURE__ */ jsx242("div", { className: "flex w-full flex-col gap-y-1", children: roles.filter((role) => role.isSelectable).sort((a, b) => a.name.localeCompare(b.name)).map((role) => {
20820
20848
  if (role.requiredFeature && !hasAccesToFeature(role.requiredFeature.id)) return null;
@@ -20846,13 +20874,13 @@ function FormRoles({ form, id, name, roles }) {
20846
20874
  __name(FormRoles, "FormRoles");
20847
20875
 
20848
20876
  // src/features/role/components/forms/RemoveUserFromRole.tsx
20849
- import { useTranslations as useTranslations101 } from "next-intl";
20877
+ import { useTranslations as useTranslations102 } from "next-intl";
20850
20878
  import { useEffect as useEffect68, useState as useState91 } from "react";
20851
20879
  import { Fragment as Fragment51, jsx as jsx243, jsxs as jsxs151 } from "react/jsx-runtime";
20852
20880
  function RemoveUserFromRole({ role, user, refresh }) {
20853
20881
  const [open, setOpen] = useState91(false);
20854
20882
  const [canRemove, setCanRemove] = useState91(false);
20855
- const t = useTranslations101();
20883
+ const t = useTranslations102();
20856
20884
  useEffect68(() => {
20857
20885
  async function checkCompanyAdminDeletability() {
20858
20886
  const roleUsers = await UserService.findAllUsersByRole({
@@ -20922,7 +20950,7 @@ __name(RemoveUserFromRole, "RemoveUserFromRole");
20922
20950
 
20923
20951
  // src/features/role/components/forms/UserRoleAdd.tsx
20924
20952
  import { PlusCircle as PlusCircle2 } from "lucide-react";
20925
- import { useTranslations as useTranslations102 } from "next-intl";
20953
+ import { useTranslations as useTranslations103 } from "next-intl";
20926
20954
  import { useCallback as useCallback42, useEffect as useEffect69, useRef as useRef39, useState as useState92 } from "react";
20927
20955
  import { Fragment as Fragment52, jsx as jsx244, jsxs as jsxs152 } from "react/jsx-runtime";
20928
20956
  function UserRoleAdd({ user, refresh }) {
@@ -20930,7 +20958,7 @@ function UserRoleAdd({ user, refresh }) {
20930
20958
  const inputRef = useRef39(null);
20931
20959
  const [searchTerm, setSearchTerm] = useState92("");
20932
20960
  const [roles, setRoles] = useState92([]);
20933
- const t = useTranslations102();
20961
+ const t = useTranslations103();
20934
20962
  const addUserToRole = /* @__PURE__ */ __name(async (role) => {
20935
20963
  await RoleService.addUserToRole({
20936
20964
  roleId: role.id,
@@ -21019,10 +21047,10 @@ function UserRoleAdd({ user, refresh }) {
21019
21047
  __name(UserRoleAdd, "UserRoleAdd");
21020
21048
 
21021
21049
  // src/features/role/components/lists/RolesList.tsx
21022
- import { useTranslations as useTranslations103 } from "next-intl";
21050
+ import { useTranslations as useTranslations104 } from "next-intl";
21023
21051
  import { jsx as jsx245 } from "react/jsx-runtime";
21024
21052
  function RolesList() {
21025
- const t = useTranslations103();
21053
+ const t = useTranslations104();
21026
21054
  const data = useDataListRetriever({
21027
21055
  retriever: /* @__PURE__ */ __name((params) => RoleService.findAllRoles(params), "retriever"),
21028
21056
  retrieverParams: {},
@@ -21041,10 +21069,10 @@ function RolesList() {
21041
21069
  __name(RolesList, "RolesList");
21042
21070
 
21043
21071
  // src/features/role/components/lists/UserRolesList.tsx
21044
- import { useTranslations as useTranslations104 } from "next-intl";
21072
+ import { useTranslations as useTranslations105 } from "next-intl";
21045
21073
  import { jsx as jsx246 } from "react/jsx-runtime";
21046
21074
  function UserRolesList({ user }) {
21047
- const t = useTranslations104();
21075
+ const t = useTranslations105();
21048
21076
  const data = useDataListRetriever({
21049
21077
  retriever: /* @__PURE__ */ __name((params) => RoleService.findAllRolesByUser(params), "retriever"),
21050
21078
  retrieverParams: { userId: user.id },
@@ -21849,7 +21877,7 @@ __name(OAuthConsentScreen, "OAuthConsentScreen");
21849
21877
  // src/features/waitlist/components/forms/WaitlistForm.tsx
21850
21878
  import { zodResolver as zodResolver10 } from "@hookform/resolvers/zod";
21851
21879
  import { CheckCircle, Mail as Mail2 } from "lucide-react";
21852
- import { useTranslations as useTranslations105 } from "next-intl";
21880
+ import { useTranslations as useTranslations106 } from "next-intl";
21853
21881
  import { useState as useState96 } from "react";
21854
21882
  import { useForm as useForm10 } from "react-hook-form";
21855
21883
  import { v4 as v411 } from "uuid";
@@ -21950,7 +21978,7 @@ __name(WaitlistQuestionnaireRenderer, "WaitlistQuestionnaireRenderer");
21950
21978
  // src/features/waitlist/components/forms/WaitlistForm.tsx
21951
21979
  import { Fragment as Fragment54, jsx as jsx259, jsxs as jsxs165 } from "react/jsx-runtime";
21952
21980
  function WaitlistForm({ onSuccess }) {
21953
- const t = useTranslations105();
21981
+ const t = useTranslations106();
21954
21982
  const [isSubmitting, setIsSubmitting] = useState96(false);
21955
21983
  const [isSuccess, setIsSuccess] = useState96(false);
21956
21984
  const config = getWaitlistConfig();
@@ -22115,10 +22143,10 @@ __name(WaitlistHeroSection, "WaitlistHeroSection");
22115
22143
 
22116
22144
  // src/features/waitlist/components/sections/WaitlistSuccessState.tsx
22117
22145
  import { CheckCircle as CheckCircle3 } from "lucide-react";
22118
- import { useTranslations as useTranslations106 } from "next-intl";
22146
+ import { useTranslations as useTranslations107 } from "next-intl";
22119
22147
  import { jsx as jsx261, jsxs as jsxs167 } from "react/jsx-runtime";
22120
22148
  function WaitlistSuccessState() {
22121
- const t = useTranslations106();
22149
+ const t = useTranslations107();
22122
22150
  return /* @__PURE__ */ jsxs167("div", { className: "flex flex-col items-center justify-center space-y-4 py-8 text-center", children: [
22123
22151
  /* @__PURE__ */ jsx261("div", { className: "bg-primary/10 rounded-full p-4", children: /* @__PURE__ */ jsx261(CheckCircle3, { className: "text-primary h-12 w-12" }) }),
22124
22152
  /* @__PURE__ */ jsx261("h2", { className: "text-2xl font-bold", children: t("waitlist.success.title") }),
@@ -22130,11 +22158,11 @@ __name(WaitlistSuccessState, "WaitlistSuccessState");
22130
22158
 
22131
22159
  // src/features/waitlist/components/sections/WaitlistConfirmation.tsx
22132
22160
  import { CheckCircle as CheckCircle4, Loader2 as Loader27, XCircle as XCircle2 } from "lucide-react";
22133
- import { useTranslations as useTranslations107 } from "next-intl";
22161
+ import { useTranslations as useTranslations108 } from "next-intl";
22134
22162
  import { useEffect as useEffect70, useState as useState97 } from "react";
22135
22163
  import { jsx as jsx262, jsxs as jsxs168 } from "react/jsx-runtime";
22136
22164
  function WaitlistConfirmation({ code }) {
22137
- const t = useTranslations107();
22165
+ const t = useTranslations108();
22138
22166
  const [state, setState] = useState97("loading");
22139
22167
  const [errorMessage, setErrorMessage] = useState97("");
22140
22168
  useEffect70(() => {
@@ -22176,12 +22204,12 @@ __name(WaitlistConfirmation, "WaitlistConfirmation");
22176
22204
  // src/features/waitlist/components/lists/WaitlistList.tsx
22177
22205
  import { flexRender as flexRender2, getCoreRowModel as getCoreRowModel2, useReactTable as useReactTable2 } from "@tanstack/react-table";
22178
22206
  import { RefreshCw as RefreshCw4, Users as Users2 } from "lucide-react";
22179
- import { useTranslations as useTranslations109 } from "next-intl";
22207
+ import { useTranslations as useTranslations110 } from "next-intl";
22180
22208
  import { useCallback as useCallback48, useEffect as useEffect71, useState as useState98 } from "react";
22181
22209
 
22182
22210
  // src/features/waitlist/hooks/useWaitlistTableStructure.tsx
22183
22211
  import { Send } from "lucide-react";
22184
- import { useTranslations as useTranslations108 } from "next-intl";
22212
+ import { useTranslations as useTranslations109 } from "next-intl";
22185
22213
  import { jsx as jsx263, jsxs as jsxs169 } from "react/jsx-runtime";
22186
22214
  function parseQuestionnaire(questionnaire) {
22187
22215
  if (!questionnaire) return null;
@@ -22195,7 +22223,7 @@ __name(parseQuestionnaire, "parseQuestionnaire");
22195
22223
  function useWaitlistTableStructure({
22196
22224
  onInvite
22197
22225
  }) {
22198
- const t = useTranslations108();
22226
+ const t = useTranslations109();
22199
22227
  const getStatusBadge = /* @__PURE__ */ __name((status) => {
22200
22228
  const variants = {
22201
22229
  pending: { variant: "secondary" },
@@ -22273,7 +22301,7 @@ __name(useWaitlistTableStructure, "useWaitlistTableStructure");
22273
22301
  // src/features/waitlist/components/lists/WaitlistList.tsx
22274
22302
  import { jsx as jsx264, jsxs as jsxs170 } from "react/jsx-runtime";
22275
22303
  function WaitlistList() {
22276
- const t = useTranslations109();
22304
+ const t = useTranslations110();
22277
22305
  const [entries, setEntries] = useState98([]);
22278
22306
  const [total, setTotal] = useState98(0);
22279
22307
  const [isLoading, setIsLoading] = useState98(true);
@@ -22346,7 +22374,7 @@ __name(WaitlistList, "WaitlistList");
22346
22374
 
22347
22375
  // src/features/rbac/components/RbacContainer.tsx
22348
22376
  import { Loader2Icon as Loader2Icon4 } from "lucide-react";
22349
- import { useTranslations as useTranslations111 } from "next-intl";
22377
+ import { useTranslations as useTranslations112 } from "next-intl";
22350
22378
  import { memo as memo2, useCallback as useCallback50, useEffect as useEffect73, useMemo as useMemo36, useRef as useRef40, useState as useState100 } from "react";
22351
22379
 
22352
22380
  // src/features/rbac/components/RbacPermissionCell.tsx
@@ -22427,7 +22455,7 @@ __name(RbacPermissionCell, "RbacPermissionCell");
22427
22455
  // src/features/rbac/components/RbacPermissionPicker.tsx
22428
22456
  import { Popover as PopoverPrimitive2 } from "@base-ui/react/popover";
22429
22457
  import { CheckIcon as CheckIcon10, MinusIcon as MinusIcon3, XIcon as XIcon13 } from "lucide-react";
22430
- import { useTranslations as useTranslations110 } from "next-intl";
22458
+ import { useTranslations as useTranslations111 } from "next-intl";
22431
22459
  import { useCallback as useCallback49, useEffect as useEffect72, useState as useState99 } from "react";
22432
22460
  import { Fragment as Fragment55, jsx as jsx266, jsxs as jsxs172 } from "react/jsx-runtime";
22433
22461
  function RbacPermissionPicker({
@@ -22440,7 +22468,7 @@ function RbacPermissionPicker({
22440
22468
  onClear,
22441
22469
  onClose
22442
22470
  }) {
22443
- const t = useTranslations110();
22471
+ const t = useTranslations111();
22444
22472
  const [customSegment, setCustomSegment] = useState99("");
22445
22473
  useEffect72(() => {
22446
22474
  if (!open) setCustomSegment("");
@@ -22638,7 +22666,7 @@ var ModuleEditor = memo2(/* @__PURE__ */ __name(function ModuleEditor2({
22638
22666
  roleNames,
22639
22667
  onOpenPicker
22640
22668
  }) {
22641
- const t = useTranslations111();
22669
+ const t = useTranslations112();
22642
22670
  const defaultTokens = block.default ?? [];
22643
22671
  return /* @__PURE__ */ jsxs173("div", { className: "rounded-lg border border-accent bg-card", children: [
22644
22672
  /* @__PURE__ */ jsxs173("div", { className: "flex items-center justify-between border-b px-4 py-2", children: [
@@ -22688,7 +22716,7 @@ var ModuleEditor = memo2(/* @__PURE__ */ __name(function ModuleEditor2({
22688
22716
  ] });
22689
22717
  }, "ModuleEditor"));
22690
22718
  function RbacContainer() {
22691
- const t = useTranslations111();
22719
+ const t = useTranslations112();
22692
22720
  const { matrix, modulePaths, loading, error, roleNames, moduleNames, updateCell, clearCell } = useRbacContext();
22693
22721
  const [selectedModuleId, setSelectedModuleId] = useState100(null);
22694
22722
  const [activePicker, setActivePicker] = useState100(null);
@@ -22801,7 +22829,7 @@ __name(RbacContainer, "RbacContainer");
22801
22829
 
22802
22830
  // src/features/rbac/components/RbacByRoleContainer.tsx
22803
22831
  import { Loader2Icon as Loader2Icon5 } from "lucide-react";
22804
- import { useTranslations as useTranslations112 } from "next-intl";
22832
+ import { useTranslations as useTranslations113 } from "next-intl";
22805
22833
  import { Fragment as Fragment56, memo as memo3, useCallback as useCallback51, useEffect as useEffect74, useMemo as useMemo37, useRef as useRef41, useState as useState101 } from "react";
22806
22834
  import { jsx as jsx268, jsxs as jsxs174 } from "react/jsx-runtime";
22807
22835
  function findToken2(tokens, action) {
@@ -22838,7 +22866,7 @@ var ACTION_LABELS2 = {
22838
22866
  delete: "Delete"
22839
22867
  };
22840
22868
  function RbacByRoleContainer() {
22841
- const t = useTranslations112();
22869
+ const t = useTranslations113();
22842
22870
  const { matrix, modulePaths, loading, error, roleNames, moduleNames, updateCell, clearCell } = useRbacContext();
22843
22871
  const [selectedRoleId, setSelectedRoleId] = useState101(null);
22844
22872
  const [activePicker, setActivePicker] = useState101(null);
@@ -23513,4 +23541,4 @@ export {
23513
23541
  useOAuthClients,
23514
23542
  useOAuthClient
23515
23543
  };
23516
- //# sourceMappingURL=chunk-DUPLW72K.mjs.map
23544
+ //# sourceMappingURL=chunk-PJGAR5F3.mjs.map