@carlonicora/nextjs-jsonapi 1.30.0 → 1.31.1

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 (49) hide show
  1. package/dist/{BlockNoteEditor-CEJE3YHQ.mjs → BlockNoteEditor-N5ODXWD2.mjs} +3 -3
  2. package/dist/{BlockNoteEditor-TUJ3VCS3.js → BlockNoteEditor-PJOOJ3LX.js} +13 -13
  3. package/dist/{BlockNoteEditor-TUJ3VCS3.js.map → BlockNoteEditor-PJOOJ3LX.js.map} +1 -1
  4. package/dist/billing/index.js +331 -331
  5. package/dist/billing/index.mjs +2 -2
  6. package/dist/{chunk-BHKXZF2I.js → chunk-6GVSJFRG.js} +528 -444
  7. package/dist/chunk-6GVSJFRG.js.map +1 -0
  8. package/dist/{chunk-XY6HEWHI.mjs → chunk-CQCHSJLC.mjs} +977 -893
  9. package/dist/chunk-CQCHSJLC.mjs.map +1 -0
  10. package/dist/{chunk-5KQXRLK3.js → chunk-KYG2PIRB.js} +16 -1
  11. package/dist/chunk-KYG2PIRB.js.map +1 -0
  12. package/dist/{chunk-WQ3KF6BG.mjs → chunk-YCP2OMFD.mjs} +16 -1
  13. package/dist/{chunk-WQ3KF6BG.mjs.map → chunk-YCP2OMFD.mjs.map} +1 -1
  14. package/dist/client/index.js +3 -3
  15. package/dist/client/index.mjs +2 -2
  16. package/dist/components/index.d.mts +17 -1
  17. package/dist/components/index.d.ts +17 -1
  18. package/dist/components/index.js +7 -3
  19. package/dist/components/index.js.map +1 -1
  20. package/dist/components/index.mjs +6 -2
  21. package/dist/contexts/index.js +3 -3
  22. package/dist/contexts/index.mjs +2 -2
  23. package/dist/core/index.d.mts +2 -2
  24. package/dist/core/index.d.ts +2 -2
  25. package/dist/core/index.js +2 -2
  26. package/dist/core/index.mjs +1 -1
  27. package/dist/index.d.mts +1 -1
  28. package/dist/index.d.ts +1 -1
  29. package/dist/index.js +2 -2
  30. package/dist/index.mjs +1 -1
  31. package/dist/{s3.service-DsXo9nop.d.ts → s3.service-CoC0k0iu.d.ts} +11 -0
  32. package/dist/{s3.service-BMT7W6KS.d.mts → s3.service-Duh9HW2n.d.mts} +11 -0
  33. package/dist/server/index.d.mts +1 -1
  34. package/dist/server/index.d.ts +1 -1
  35. package/dist/server/index.js +3 -3
  36. package/dist/server/index.mjs +1 -1
  37. package/package.json +1 -1
  38. package/src/components/forms/GdprConsentCheckbox.tsx +45 -0
  39. package/src/components/forms/index.ts +1 -0
  40. package/src/features/auth/components/GdprConsentSection.tsx +50 -0
  41. package/src/features/auth/components/forms/Register.tsx +11 -0
  42. package/src/features/auth/components/index.ts +1 -0
  43. package/src/features/auth/data/auth.interface.ts +3 -0
  44. package/src/features/auth/data/auth.service.ts +21 -0
  45. package/src/features/auth/data/auth.ts +3 -0
  46. package/dist/chunk-5KQXRLK3.js.map +0 -1
  47. package/dist/chunk-BHKXZF2I.js.map +0 -1
  48. package/dist/chunk-XY6HEWHI.mjs.map +0 -1
  49. /package/dist/{BlockNoteEditor-CEJE3YHQ.mjs.map → BlockNoteEditor-N5ODXWD2.mjs.map} +0 -0
@@ -39,7 +39,7 @@ import {
39
39
  showToast,
40
40
  useComposedRefs,
41
41
  useIsMobile
42
- } from "./chunk-WQ3KF6BG.mjs";
42
+ } from "./chunk-YCP2OMFD.mjs";
43
43
  import {
44
44
  JsonApiContext
45
45
  } from "./chunk-VOXD3ZLY.mjs";
@@ -8784,11 +8784,40 @@ function FormTextarea({
8784
8784
  }
8785
8785
  __name(FormTextarea, "FormTextarea");
8786
8786
 
8787
+ // src/components/forms/GdprConsentCheckbox.tsx
8788
+ import { jsx as jsx75, jsxs as jsxs43 } from "react/jsx-runtime";
8789
+ function GdprConsentCheckbox({
8790
+ form,
8791
+ id,
8792
+ label,
8793
+ description,
8794
+ required
8795
+ }) {
8796
+ return /* @__PURE__ */ jsx75(FormFieldWrapper, { form, name: id, orientation: "horizontal", children: (field) => /* @__PURE__ */ jsxs43("div", { className: "flex flex-row items-start space-x-3 space-y-0", children: [
8797
+ /* @__PURE__ */ jsx75(
8798
+ Checkbox,
8799
+ {
8800
+ checked: field.value,
8801
+ onCheckedChange: field.onChange,
8802
+ "aria-required": required
8803
+ }
8804
+ ),
8805
+ /* @__PURE__ */ jsxs43("div", { className: "space-y-1 leading-none", children: [
8806
+ /* @__PURE__ */ jsxs43("span", { className: "text-sm font-normal", children: [
8807
+ label,
8808
+ required && /* @__PURE__ */ jsx75("span", { className: "text-destructive ml-1", children: "*" })
8809
+ ] }),
8810
+ description && /* @__PURE__ */ jsx75(FieldDescription, { className: "text-xs", children: description })
8811
+ ] })
8812
+ ] }) });
8813
+ }
8814
+ __name(GdprConsentCheckbox, "GdprConsentCheckbox");
8815
+
8787
8816
  // src/components/forms/MultiFileUploader.tsx
8788
8817
  import { FileIcon, FileImageIcon, FileSpreadsheetIcon, FileTextIcon, UploadIcon as UploadIcon2, XIcon as XIcon4 } from "lucide-react";
8789
8818
  import Image3 from "next/image";
8790
8819
  import { useEffect as useEffect15, useState as useState19 } from "react";
8791
- import { jsx as jsx75, jsxs as jsxs43 } from "react/jsx-runtime";
8820
+ import { jsx as jsx76, jsxs as jsxs44 } from "react/jsx-runtime";
8792
8821
  var dropzone = {
8793
8822
  multiple: false,
8794
8823
  maxSize: 100 * 1024 * 1024,
@@ -8799,7 +8828,7 @@ var dropzone = {
8799
8828
  };
8800
8829
 
8801
8830
  // src/features/feature/components/forms/FormFeatures.tsx
8802
- import { jsx as jsx76, jsxs as jsxs44 } from "react/jsx-runtime";
8831
+ import { jsx as jsx77, jsxs as jsxs45 } from "react/jsx-runtime";
8803
8832
  function FormFeatures({ form, name, features, featureField = "featureIds" }) {
8804
8833
  const selectedFeatures = form.watch(featureField);
8805
8834
  const toggleFeature = /* @__PURE__ */ __name((feature, checked) => {
@@ -8814,10 +8843,10 @@ function FormFeatures({ form, name, features, featureField = "featureIds" }) {
8814
8843
  form.setValue(featureField, newFeatureIds);
8815
8844
  }, "toggleFeature");
8816
8845
  const isFeatureChecked = /* @__PURE__ */ __name((feature) => selectedFeatures.includes(feature.id), "isFeatureChecked");
8817
- return /* @__PURE__ */ jsxs44("div", { className: "flex w-full flex-col", children: [
8818
- name && /* @__PURE__ */ jsx76("h2", { className: "mb-4 border-b text-lg font-semibold", children: name }),
8819
- /* @__PURE__ */ jsx76(ScrollArea, { className: "h-[40vh]", children: /* @__PURE__ */ jsx76("div", { className: "flex flex-col gap-y-2 pr-4", children: features.filter((feature) => !feature.isCore).map((feature) => /* @__PURE__ */ jsxs44("div", { className: "flex items-center", children: [
8820
- /* @__PURE__ */ jsx76(
8846
+ return /* @__PURE__ */ jsxs45("div", { className: "flex w-full flex-col", children: [
8847
+ name && /* @__PURE__ */ jsx77("h2", { className: "mb-4 border-b text-lg font-semibold", children: name }),
8848
+ /* @__PURE__ */ jsx77(ScrollArea, { className: "h-[40vh]", children: /* @__PURE__ */ jsx77("div", { className: "flex flex-col gap-y-2 pr-4", children: features.filter((feature) => !feature.isCore).map((feature) => /* @__PURE__ */ jsxs45("div", { className: "flex items-center", children: [
8849
+ /* @__PURE__ */ jsx77(
8821
8850
  Checkbox,
8822
8851
  {
8823
8852
  id: feature.id,
@@ -8827,18 +8856,18 @@ function FormFeatures({ form, name, features, featureField = "featureIds" }) {
8827
8856
  }
8828
8857
  }
8829
8858
  ),
8830
- /* @__PURE__ */ jsx76(Label, { htmlFor: feature.id, className: "ml-3 cursor-pointer font-normal", children: feature.name })
8859
+ /* @__PURE__ */ jsx77(Label, { htmlFor: feature.id, className: "ml-3 cursor-pointer font-normal", children: feature.name })
8831
8860
  ] }, feature.id)) }) })
8832
8861
  ] });
8833
8862
  }
8834
8863
  __name(FormFeatures, "FormFeatures");
8835
8864
 
8836
8865
  // src/features/user/components/forms/UserMultiSelect.tsx
8837
- import { jsx as jsx77, jsxs as jsxs45 } from "react/jsx-runtime";
8866
+ import { jsx as jsx78, jsxs as jsxs46 } from "react/jsx-runtime";
8838
8867
  function UserAvatarIcon({ className, url, name }) {
8839
- return /* @__PURE__ */ jsxs45(Avatar, { className: `${className || "h-4 w-4"}`, children: [
8840
- /* @__PURE__ */ jsx77(AvatarImage, { src: url }),
8841
- /* @__PURE__ */ jsx77(AvatarFallback, { children: name ? name.split(" ").map((n) => n.charAt(0).toUpperCase()).join("") : "U" })
8868
+ return /* @__PURE__ */ jsxs46(Avatar, { className: `${className || "h-4 w-4"}`, children: [
8869
+ /* @__PURE__ */ jsx78(AvatarImage, { src: url }),
8870
+ /* @__PURE__ */ jsx78(AvatarFallback, { children: name ? name.split(" ").map((n) => n.charAt(0).toUpperCase()).join("") : "U" })
8842
8871
  ] });
8843
8872
  }
8844
8873
  __name(UserAvatarIcon, "UserAvatarIcon");
@@ -8894,7 +8923,7 @@ function UserMultiSelect({
8894
8923
  const options = filteredUsers.map((user) => ({
8895
8924
  label: user.name,
8896
8925
  value: user.id,
8897
- icon: /* @__PURE__ */ __name(({ className }) => /* @__PURE__ */ jsx77(UserAvatarIcon, { className, url: user.avatar, name: user.name }), "icon"),
8926
+ icon: /* @__PURE__ */ __name(({ className }) => /* @__PURE__ */ jsx78(UserAvatarIcon, { className, url: user.avatar, name: user.name }), "icon"),
8898
8927
  userData: user
8899
8928
  }));
8900
8929
  setUserOptions(options);
@@ -8906,7 +8935,7 @@ function UserMultiSelect({
8906
8935
  const missingOptions = selectedUsers.filter((user) => !existingOptionIds.has(user.id)).map((user) => ({
8907
8936
  label: user.name,
8908
8937
  value: user.id,
8909
- icon: /* @__PURE__ */ __name(({ className }) => /* @__PURE__ */ jsx77(UserAvatarIcon, { className, url: user.avatar, name: user.name }), "icon"),
8938
+ icon: /* @__PURE__ */ __name(({ className }) => /* @__PURE__ */ jsx78(UserAvatarIcon, { className, url: user.avatar, name: user.name }), "icon"),
8910
8939
  userData: user
8911
8940
  }));
8912
8941
  if (missingOptions.length > 0) {
@@ -8937,7 +8966,7 @@ function UserMultiSelect({
8937
8966
  }
8938
8967
  }, "handleValueChange");
8939
8968
  const selectedUserIds = selectedUsers.map((user) => user.id);
8940
- return /* @__PURE__ */ jsx77("div", { className: "flex w-full flex-col", children: /* @__PURE__ */ jsx77(FormFieldWrapper, { form, name: id, label, isRequired, children: () => /* @__PURE__ */ jsx77(
8969
+ return /* @__PURE__ */ jsx78("div", { className: "flex w-full flex-col", children: /* @__PURE__ */ jsx78(FormFieldWrapper, { form, name: id, label, isRequired, children: () => /* @__PURE__ */ jsx78(
8941
8970
  MultiSelect,
8942
8971
  {
8943
8972
  options: userOptions,
@@ -8955,7 +8984,7 @@ __name(UserMultiSelect, "UserMultiSelect");
8955
8984
  import { UserCheckIcon } from "lucide-react";
8956
8985
  import { useTranslations as useTranslations12 } from "next-intl";
8957
8986
  import { useState as useState21 } from "react";
8958
- import { jsx as jsx78, jsxs as jsxs46 } from "react/jsx-runtime";
8987
+ import { jsx as jsx79, jsxs as jsxs47 } from "react/jsx-runtime";
8959
8988
  function UserReactivatorInterface({ user, propagateChanges }) {
8960
8989
  const [open, setOpen] = useState21(false);
8961
8990
  const t = useTranslations12();
@@ -8968,20 +8997,20 @@ function UserReactivatorInterface({ user, propagateChanges }) {
8968
8997
  errorToast({ title: t(`common.errors.error`), error });
8969
8998
  }
8970
8999
  }, "reactivateUser");
8971
- return /* @__PURE__ */ jsxs46(Dialog, { open, onOpenChange: setOpen, children: [
8972
- /* @__PURE__ */ jsx78(DialogTrigger, { children: /* @__PURE__ */ jsxs46(Button, { size: "sm", children: [
8973
- /* @__PURE__ */ jsx78(UserCheckIcon, { className: "mr-3 h-3.5 w-3.5" }),
9000
+ return /* @__PURE__ */ jsxs47(Dialog, { open, onOpenChange: setOpen, children: [
9001
+ /* @__PURE__ */ jsx79(DialogTrigger, { children: /* @__PURE__ */ jsxs47(Button, { size: "sm", children: [
9002
+ /* @__PURE__ */ jsx79(UserCheckIcon, { className: "mr-3 h-3.5 w-3.5" }),
8974
9003
  t(`user.buttons.reactivate`)
8975
9004
  ] }) }),
8976
- /* @__PURE__ */ jsxs46(DialogContent, { className: `flex max-h-[70vh] max-w-3xl flex-col overflow-y-auto`, children: [
8977
- /* @__PURE__ */ jsxs46(DialogHeader, { children: [
8978
- /* @__PURE__ */ jsx78(DialogTitle, { children: t(`user.reactivate.title`) }),
8979
- /* @__PURE__ */ jsx78(DialogDescription, { children: t(`user.reactivate.subtitle`) })
9005
+ /* @__PURE__ */ jsxs47(DialogContent, { className: `flex max-h-[70vh] max-w-3xl flex-col overflow-y-auto`, children: [
9006
+ /* @__PURE__ */ jsxs47(DialogHeader, { children: [
9007
+ /* @__PURE__ */ jsx79(DialogTitle, { children: t(`user.reactivate.title`) }),
9008
+ /* @__PURE__ */ jsx79(DialogDescription, { children: t(`user.reactivate.subtitle`) })
8980
9009
  ] }),
8981
9010
  t(`user.reactivate.description`, { name: user.name }),
8982
- /* @__PURE__ */ jsxs46("div", { className: "flex justify-end", children: [
8983
- /* @__PURE__ */ jsx78(Button, { className: "mr-2", variant: "outline", type: `button`, onClick: () => setOpen(false), children: t(`ui.buttons.cancel`) }),
8984
- /* @__PURE__ */ jsx78(
9011
+ /* @__PURE__ */ jsxs47("div", { className: "flex justify-end", children: [
9012
+ /* @__PURE__ */ jsx79(Button, { className: "mr-2", variant: "outline", type: `button`, onClick: () => setOpen(false), children: t(`ui.buttons.cancel`) }),
9013
+ /* @__PURE__ */ jsx79(
8985
9014
  Button,
8986
9015
  {
8987
9016
  type: "submit",
@@ -9000,7 +9029,7 @@ __name(UserReactivatorInterface, "UserReactivatorInterface");
9000
9029
  function UserReactivator(props) {
9001
9030
  const { hasPermissionToModule } = useCurrentUserContext();
9002
9031
  if (!hasPermissionToModule({ module: Modules.User, action: "update" /* Update */, data: props.user })) return null;
9003
- return /* @__PURE__ */ jsx78(UserReactivatorInterface, { ...props });
9032
+ return /* @__PURE__ */ jsx79(UserReactivatorInterface, { ...props });
9004
9033
  }
9005
9034
  __name(UserReactivator, "UserReactivator");
9006
9035
 
@@ -9008,7 +9037,7 @@ __name(UserReactivator, "UserReactivator");
9008
9037
  import { MailIcon } from "lucide-react";
9009
9038
  import { useTranslations as useTranslations13 } from "next-intl";
9010
9039
  import { useState as useState22 } from "react";
9011
- import { jsx as jsx79, jsxs as jsxs47 } from "react/jsx-runtime";
9040
+ import { jsx as jsx80, jsxs as jsxs48 } from "react/jsx-runtime";
9012
9041
  function UserResentInvitationEmailInternal({ user }) {
9013
9042
  const [open, setOpen] = useState22(false);
9014
9043
  const t = useTranslations13();
@@ -9023,20 +9052,20 @@ function UserResentInvitationEmailInternal({ user }) {
9023
9052
  errorToast({ title: t(`common.errors.error`), error });
9024
9053
  }
9025
9054
  }, "sendInvitationEmail");
9026
- return /* @__PURE__ */ jsxs47(Dialog, { open, onOpenChange: setOpen, children: [
9027
- /* @__PURE__ */ jsxs47(Tooltip2, { children: [
9028
- /* @__PURE__ */ jsx79(TooltipTrigger, { children: /* @__PURE__ */ jsx79(DialogTrigger, { children: /* @__PURE__ */ jsx79(Button, { size: "sm", variant: `ghost`, className: "text-muted-foreground", children: /* @__PURE__ */ jsx79(MailIcon, {}) }) }) }),
9029
- /* @__PURE__ */ jsx79(TooltipContent, { children: t(`user.buttons.resend_activation`) })
9055
+ return /* @__PURE__ */ jsxs48(Dialog, { open, onOpenChange: setOpen, children: [
9056
+ /* @__PURE__ */ jsxs48(Tooltip2, { children: [
9057
+ /* @__PURE__ */ jsx80(TooltipTrigger, { children: /* @__PURE__ */ jsx80(DialogTrigger, { children: /* @__PURE__ */ jsx80(Button, { size: "sm", variant: `ghost`, className: "text-muted-foreground", children: /* @__PURE__ */ jsx80(MailIcon, {}) }) }) }),
9058
+ /* @__PURE__ */ jsx80(TooltipContent, { children: t(`user.buttons.resend_activation`) })
9030
9059
  ] }),
9031
- /* @__PURE__ */ jsxs47(DialogContent, { className: `flex max-h-[70vh] max-w-3xl flex-col overflow-y-auto`, children: [
9032
- /* @__PURE__ */ jsxs47(DialogHeader, { children: [
9033
- /* @__PURE__ */ jsx79(DialogTitle, { children: t(`user.resend_activation.title`) }),
9034
- /* @__PURE__ */ jsx79(DialogDescription, { children: t(`user.resend_activation.subtitle`) })
9060
+ /* @__PURE__ */ jsxs48(DialogContent, { className: `flex max-h-[70vh] max-w-3xl flex-col overflow-y-auto`, children: [
9061
+ /* @__PURE__ */ jsxs48(DialogHeader, { children: [
9062
+ /* @__PURE__ */ jsx80(DialogTitle, { children: t(`user.resend_activation.title`) }),
9063
+ /* @__PURE__ */ jsx80(DialogDescription, { children: t(`user.resend_activation.subtitle`) })
9035
9064
  ] }),
9036
9065
  t(`user.resend_activation.description`, { email: user.email }),
9037
- /* @__PURE__ */ jsxs47("div", { className: "flex justify-end", children: [
9038
- /* @__PURE__ */ jsx79(Button, { className: "mr-2", variant: "outline", type: `button`, onClick: () => setOpen(false), children: t(`ui.buttons.cancel`) }),
9039
- /* @__PURE__ */ jsx79(
9066
+ /* @__PURE__ */ jsxs48("div", { className: "flex justify-end", children: [
9067
+ /* @__PURE__ */ jsx80(Button, { className: "mr-2", variant: "outline", type: `button`, onClick: () => setOpen(false), children: t(`ui.buttons.cancel`) }),
9068
+ /* @__PURE__ */ jsx80(
9040
9069
  Button,
9041
9070
  {
9042
9071
  type: "submit",
@@ -9055,7 +9084,7 @@ __name(UserResentInvitationEmailInternal, "UserResentInvitationEmailInternal");
9055
9084
  function UserResentInvitationEmail(props) {
9056
9085
  const { hasPermissionToModule } = useCurrentUserContext();
9057
9086
  if (!hasPermissionToModule({ module: Modules.User, action: "update" /* Update */, data: props.user })) return null;
9058
- return /* @__PURE__ */ jsx79(UserResentInvitationEmailInternal, { ...props });
9087
+ return /* @__PURE__ */ jsx80(UserResentInvitationEmailInternal, { ...props });
9059
9088
  }
9060
9089
  __name(UserResentInvitationEmail, "UserResentInvitationEmail");
9061
9090
 
@@ -9065,7 +9094,7 @@ import { useTranslations as useTranslations14 } from "next-intl";
9065
9094
  import { useCallback as useCallback12, useEffect as useEffect17, useRef as useRef11, useState as useState23 } from "react";
9066
9095
 
9067
9096
  // src/features/user/components/widgets/UserAvatar.tsx
9068
- import { jsx as jsx80, jsxs as jsxs48 } from "react/jsx-runtime";
9097
+ import { jsx as jsx81, jsxs as jsxs49 } from "react/jsx-runtime";
9069
9098
  function UserAvatar({ user, className, showFull, showLink, showTooltip = true }) {
9070
9099
  const generateUrl = usePageUrlGenerator();
9071
9100
  const getInitial = /* @__PURE__ */ __name((param) => {
@@ -9078,41 +9107,41 @@ function UserAvatar({ user, className, showFull, showLink, showTooltip = true })
9078
9107
  return initials ?? "";
9079
9108
  }, "getInitials");
9080
9109
  const getAvatar = /* @__PURE__ */ __name(() => {
9081
- return /* @__PURE__ */ jsx80("div", { className: "*:ring-border *:ring-1", children: /* @__PURE__ */ jsxs48(Avatar, { className: `h-6 w-6 ${className}`, children: [
9082
- /* @__PURE__ */ jsx80(AvatarImage, { className: "object-cover", src: user?.avatar }),
9083
- /* @__PURE__ */ jsx80(AvatarFallback, { children: getInitials(user.name) })
9110
+ return /* @__PURE__ */ jsx81("div", { className: "*:ring-border *:ring-1", children: /* @__PURE__ */ jsxs49(Avatar, { className: `h-6 w-6 ${className}`, children: [
9111
+ /* @__PURE__ */ jsx81(AvatarImage, { className: "object-cover", src: user?.avatar }),
9112
+ /* @__PURE__ */ jsx81(AvatarFallback, { children: getInitials(user.name) })
9084
9113
  ] }) });
9085
9114
  }, "getAvatar");
9086
9115
  const content = showLink === false ? (
9087
9116
  // If showLink is explicitly false, never show a link
9088
- showFull ? /* @__PURE__ */ jsxs48("div", { className: cn(`mb-2 flex w-full flex-row items-center justify-start gap-x-2 text-sm`, className), children: [
9117
+ showFull ? /* @__PURE__ */ jsxs49("div", { className: cn(`mb-2 flex w-full flex-row items-center justify-start gap-x-2 text-sm`, className), children: [
9089
9118
  getAvatar(),
9090
9119
  user.name
9091
9120
  ] }) : getAvatar()
9092
- ) : showFull ? /* @__PURE__ */ jsx80(
9121
+ ) : showFull ? /* @__PURE__ */ jsx81(
9093
9122
  Link,
9094
9123
  {
9095
9124
  href: generateUrl({ page: Modules.User, id: user.id }),
9096
9125
  className: cn(`mb-2 flex w-full flex-row items-center justify-start gap-x-2 text-sm`, className),
9097
9126
  onClick: (e) => e.stopPropagation(),
9098
- children: /* @__PURE__ */ jsxs48("div", { className: "flex w-full flex-row items-center gap-x-2", children: [
9127
+ children: /* @__PURE__ */ jsxs49("div", { className: "flex w-full flex-row items-center gap-x-2", children: [
9099
9128
  getAvatar(),
9100
9129
  user.name
9101
9130
  ] })
9102
9131
  }
9103
- ) : showLink ? /* @__PURE__ */ jsx80(Link, { href: generateUrl({ page: Modules.User, id: user.id }), className, children: getAvatar() }) : getAvatar();
9132
+ ) : showLink ? /* @__PURE__ */ jsx81(Link, { href: generateUrl({ page: Modules.User, id: user.id }), className, children: getAvatar() }) : getAvatar();
9104
9133
  if (!showTooltip) {
9105
9134
  return content;
9106
9135
  }
9107
- return /* @__PURE__ */ jsxs48(Tooltip2, { children: [
9108
- /* @__PURE__ */ jsx80(TooltipTrigger, { children: content }),
9109
- /* @__PURE__ */ jsx80(TooltipContent, { children: user.name })
9136
+ return /* @__PURE__ */ jsxs49(Tooltip2, { children: [
9137
+ /* @__PURE__ */ jsx81(TooltipTrigger, { children: content }),
9138
+ /* @__PURE__ */ jsx81(TooltipContent, { children: user.name })
9110
9139
  ] });
9111
9140
  }
9112
9141
  __name(UserAvatar, "UserAvatar");
9113
9142
 
9114
9143
  // src/features/user/components/forms/UserSelector.tsx
9115
- import { Fragment as Fragment6, jsx as jsx81, jsxs as jsxs49 } from "react/jsx-runtime";
9144
+ import { Fragment as Fragment6, jsx as jsx82, jsxs as jsxs50 } from "react/jsx-runtime";
9116
9145
  function UserSelector({ id, form, label, placeholder, onChange, isRequired = false }) {
9117
9146
  const t = useTranslations14();
9118
9147
  const [open, setOpen] = useState23(false);
@@ -9157,16 +9186,16 @@ function UserSelector({ id, form, label, placeholder, onChange, isRequired = fal
9157
9186
  setOpen(false);
9158
9187
  }, 0);
9159
9188
  }, "setUser");
9160
- return /* @__PURE__ */ jsx81("div", { className: "flex w-full flex-col", children: /* @__PURE__ */ jsx81(FormFieldWrapper, { form, name: id, label, isRequired, children: (field) => /* @__PURE__ */ jsxs49(Popover, { open, onOpenChange: setOpen, modal: true, children: [
9161
- /* @__PURE__ */ jsxs49("div", { className: "flex w-full flex-row items-center justify-between", children: [
9162
- /* @__PURE__ */ jsx81(PopoverTrigger, { className: "w-full", children: /* @__PURE__ */ jsx81("div", { className: "flex w-full flex-row items-center justify-start rounded-md", children: field.value ? /* @__PURE__ */ jsx81(Fragment6, { children: /* @__PURE__ */ jsxs49("div", { className: "flex w-full flex-row items-center justify-start rounded-md border p-2", children: [
9163
- /* @__PURE__ */ jsx81("div", { className: "*:ring-border *:ring-1", children: /* @__PURE__ */ jsxs49(Avatar, { className: `mr-2 h-6 w-6`, children: [
9164
- /* @__PURE__ */ jsx81(AvatarImage, { src: field.value?.avatar }),
9165
- /* @__PURE__ */ jsx81(AvatarFallback, { children: field.value?.name ? field.value?.name.split(" ").map((name) => name.charAt(0).toUpperCase()) : "X" })
9189
+ return /* @__PURE__ */ jsx82("div", { className: "flex w-full flex-col", children: /* @__PURE__ */ jsx82(FormFieldWrapper, { form, name: id, label, isRequired, children: (field) => /* @__PURE__ */ jsxs50(Popover, { open, onOpenChange: setOpen, modal: true, children: [
9190
+ /* @__PURE__ */ jsxs50("div", { className: "flex w-full flex-row items-center justify-between", children: [
9191
+ /* @__PURE__ */ jsx82(PopoverTrigger, { className: "w-full", children: /* @__PURE__ */ jsx82("div", { className: "flex w-full flex-row items-center justify-start rounded-md", children: field.value ? /* @__PURE__ */ jsx82(Fragment6, { children: /* @__PURE__ */ jsxs50("div", { className: "flex w-full flex-row items-center justify-start rounded-md border p-2", children: [
9192
+ /* @__PURE__ */ jsx82("div", { className: "*:ring-border *:ring-1", children: /* @__PURE__ */ jsxs50(Avatar, { className: `mr-2 h-6 w-6`, children: [
9193
+ /* @__PURE__ */ jsx82(AvatarImage, { src: field.value?.avatar }),
9194
+ /* @__PURE__ */ jsx82(AvatarFallback, { children: field.value?.name ? field.value?.name.split(" ").map((name) => name.charAt(0).toUpperCase()) : "X" })
9166
9195
  ] }) }),
9167
- /* @__PURE__ */ jsx81("span", { className: "", children: field.value?.name ?? "" })
9168
- ] }) }) : /* @__PURE__ */ jsx81("div", { className: "text-muted-foreground mr-7 flex h-10 w-full flex-row items-center justify-start rounded-md border p-2 text-sm", children: placeholder ?? t(`ui.search.placeholder`, { type: t(`entities.users`, { count: 1 }) }) }) }) }),
9169
- field.value && /* @__PURE__ */ jsx81(
9196
+ /* @__PURE__ */ jsx82("span", { className: "", children: field.value?.name ?? "" })
9197
+ ] }) }) : /* @__PURE__ */ jsx82("div", { className: "text-muted-foreground mr-7 flex h-10 w-full flex-row items-center justify-start rounded-md border p-2 text-sm", children: placeholder ?? t(`ui.search.placeholder`, { type: t(`entities.users`, { count: 1 }) }) }) }) }),
9198
+ field.value && /* @__PURE__ */ jsx82(
9170
9199
  CircleX,
9171
9200
  {
9172
9201
  className: "text-muted hover:text-destructive ml-2 h-6 w-6 cursor-pointer",
@@ -9174,10 +9203,10 @@ function UserSelector({ id, form, label, placeholder, onChange, isRequired = fal
9174
9203
  }
9175
9204
  )
9176
9205
  ] }),
9177
- /* @__PURE__ */ jsx81(PopoverContent, { children: /* @__PURE__ */ jsxs49(Command, { shouldFilter: false, children: [
9178
- /* @__PURE__ */ jsxs49("div", { className: "relative mb-2 w-full", children: [
9179
- /* @__PURE__ */ jsx81(SearchIcon2, { className: "text-muted-foreground absolute top-2.5 left-2.5 h-4 w-4" }),
9180
- /* @__PURE__ */ jsx81(
9206
+ /* @__PURE__ */ jsx82(PopoverContent, { children: /* @__PURE__ */ jsxs50(Command, { shouldFilter: false, children: [
9207
+ /* @__PURE__ */ jsxs50("div", { className: "relative mb-2 w-full", children: [
9208
+ /* @__PURE__ */ jsx82(SearchIcon2, { className: "text-muted-foreground absolute top-2.5 left-2.5 h-4 w-4" }),
9209
+ /* @__PURE__ */ jsx82(
9181
9210
  Input,
9182
9211
  {
9183
9212
  placeholder: t(`ui.search.placeholder`, { type: t(`entities.users`, { count: 1 }) }),
@@ -9187,7 +9216,7 @@ function UserSelector({ id, form, label, placeholder, onChange, isRequired = fal
9187
9216
  value: searchTerm
9188
9217
  }
9189
9218
  ),
9190
- isSearching ? /* @__PURE__ */ jsx81(RefreshCwIcon, { className: "text-muted-foreground absolute top-2.5 right-2.5 h-4 w-4 animate-spin" }) : searchTermRef.current ? /* @__PURE__ */ jsx81(
9219
+ isSearching ? /* @__PURE__ */ jsx82(RefreshCwIcon, { className: "text-muted-foreground absolute top-2.5 right-2.5 h-4 w-4 animate-spin" }) : searchTermRef.current ? /* @__PURE__ */ jsx82(
9191
9220
  XIcon5,
9192
9221
  {
9193
9222
  className: `absolute top-2.5 right-2.5 h-4 w-4 ${searchTermRef.current ? "cursor-pointer" : "text-muted-foreground"}`,
@@ -9196,16 +9225,16 @@ function UserSelector({ id, form, label, placeholder, onChange, isRequired = fal
9196
9225
  search("");
9197
9226
  }
9198
9227
  }
9199
- ) : /* @__PURE__ */ jsx81(Fragment6, {})
9228
+ ) : /* @__PURE__ */ jsx82(Fragment6, {})
9200
9229
  ] }),
9201
- /* @__PURE__ */ jsx81(CommandList, { children: data.data && data.data.length > 0 && data.data.map((user) => /* @__PURE__ */ jsxs49(
9230
+ /* @__PURE__ */ jsx82(CommandList, { children: data.data && data.data.length > 0 && data.data.map((user) => /* @__PURE__ */ jsxs50(
9202
9231
  CommandItem,
9203
9232
  {
9204
9233
  className: "cursor-pointer hover:bg-muted data-selected:hover:bg-muted bg-transparent data-selected:bg-transparent",
9205
9234
  onSelect: () => setUser(user),
9206
9235
  children: [
9207
- /* @__PURE__ */ jsx81(UserAvatar, { user, className: `mr-2 h-4 w-4` }),
9208
- /* @__PURE__ */ jsx81("span", { className: "", children: user.name })
9236
+ /* @__PURE__ */ jsx82(UserAvatar, { user, className: `mr-2 h-4 w-4` }),
9237
+ /* @__PURE__ */ jsx82("span", { className: "", children: user.name })
9209
9238
  ]
9210
9239
  },
9211
9240
  user.id
@@ -9216,7 +9245,7 @@ function UserSelector({ id, form, label, placeholder, onChange, isRequired = fal
9216
9245
  __name(UserSelector, "UserSelector");
9217
9246
 
9218
9247
  // src/features/user/contexts/UserContext.tsx
9219
- import { jsx as jsx82 } from "react/jsx-runtime";
9248
+ import { jsx as jsx83 } from "react/jsx-runtime";
9220
9249
  var UserContext = createContext9(void 0);
9221
9250
  var UserProvider = /* @__PURE__ */ __name(({ children, dehydratedUser }) => {
9222
9251
  const generateUrl = usePageUrlGenerator();
@@ -9252,18 +9281,18 @@ var UserProvider = /* @__PURE__ */ __name(({ children, dehydratedUser }) => {
9252
9281
  if (user) {
9253
9282
  response.element = `${user.name}${user.isDeleted ? ` (${t(`user.deleted`)})` : ""}`;
9254
9283
  if (user.isDeleted) {
9255
- functions.push(/* @__PURE__ */ jsx82(UserReactivator, { user, propagateChanges: setUser }, `UserReactivator`));
9284
+ functions.push(/* @__PURE__ */ jsx83(UserReactivator, { user, propagateChanges: setUser }, `UserReactivator`));
9256
9285
  } else {
9257
9286
  if (!user.isActivated)
9258
- functions.push(/* @__PURE__ */ jsx82(UserResentInvitationEmail, { user }, `UserResentInvitationEmail`));
9259
- functions.push(/* @__PURE__ */ jsx82(UserDeleter, { user }, `UserDeleter`));
9287
+ functions.push(/* @__PURE__ */ jsx83(UserResentInvitationEmail, { user }, `UserResentInvitationEmail`));
9288
+ functions.push(/* @__PURE__ */ jsx83(UserDeleter, { user }, `UserDeleter`));
9260
9289
  }
9261
- functions.push(/* @__PURE__ */ jsx82(UserEditor, { user, propagateChanges: setUser }, `UserEditor`));
9290
+ functions.push(/* @__PURE__ */ jsx83(UserEditor, { user, propagateChanges: setUser }, `UserEditor`));
9262
9291
  }
9263
9292
  if (functions.length > 0) response.functions = functions;
9264
9293
  return response;
9265
9294
  }, "title");
9266
- return /* @__PURE__ */ jsx82(SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ jsx82(
9295
+ return /* @__PURE__ */ jsx83(SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ jsx83(
9267
9296
  UserContext.Provider,
9268
9297
  {
9269
9298
  value: {
@@ -9288,17 +9317,17 @@ import { useTranslations as useTranslations17 } from "next-intl";
9288
9317
  // src/features/user/components/details/UserDetails.tsx
9289
9318
  import { useTranslations as useTranslations16 } from "next-intl";
9290
9319
  import Image4 from "next/image";
9291
- import { Fragment as Fragment7, jsx as jsx83, jsxs as jsxs50 } from "react/jsx-runtime";
9320
+ import { Fragment as Fragment7, jsx as jsx84, jsxs as jsxs51 } from "react/jsx-runtime";
9292
9321
  function UserDetails({ user }) {
9293
9322
  const generateUrl = usePageUrlGenerator();
9294
9323
  const t = useTranslations16();
9295
9324
  const { title } = useSharedContext();
9296
- let roles = /* @__PURE__ */ jsx83(Fragment7, {});
9325
+ let roles = /* @__PURE__ */ jsx84(Fragment7, {});
9297
9326
  if (user.roles && user.roles.length > 0) {
9298
- roles = /* @__PURE__ */ jsx83("div", { className: "mb-4 w-full", children: /* @__PURE__ */ jsx83("div", { className: "flex flex-wrap gap-2", children: user.roles.map((role, index) => /* @__PURE__ */ jsx83(Link, { href: generateUrl({ page: Modules.Role, id: role.id }), children: /* @__PURE__ */ jsx83(Badge, { className: "mr-2", variant: `default`, children: t(`role.roles`, { role: role.id.replaceAll(`-`, ``) }) }) }, role.id)) }) });
9327
+ roles = /* @__PURE__ */ jsx84("div", { className: "mb-4 w-full", children: /* @__PURE__ */ jsx84("div", { className: "flex flex-wrap gap-2", children: user.roles.map((role, index) => /* @__PURE__ */ jsx84(Link, { href: generateUrl({ page: Modules.Role, id: role.id }), children: /* @__PURE__ */ jsx84(Badge, { className: "mr-2", variant: `default`, children: t(`role.roles`, { role: role.id.replaceAll(`-`, ``) }) }) }, role.id)) }) });
9299
9328
  }
9300
- return /* @__PURE__ */ jsxs50("div", { className: "flex w-full flex-col gap-y-2", children: [
9301
- user.avatar && /* @__PURE__ */ jsx83("div", { className: "relative aspect-auto w-full max-w-md overflow-hidden rounded-lg", children: /* @__PURE__ */ jsx83(
9329
+ return /* @__PURE__ */ jsxs51("div", { className: "flex w-full flex-col gap-y-2", children: [
9330
+ user.avatar && /* @__PURE__ */ jsx84("div", { className: "relative aspect-auto w-full max-w-md overflow-hidden rounded-lg", children: /* @__PURE__ */ jsx84(
9302
9331
  Image4,
9303
9332
  {
9304
9333
  src: user.avatar,
@@ -9308,86 +9337,86 @@ function UserDetails({ user }) {
9308
9337
  className: "h-auto w-full rounded-lg object-contain"
9309
9338
  }
9310
9339
  ) }),
9311
- /* @__PURE__ */ jsx83(ContentTitle, { module: Modules.User, type: title.type, element: title.element, functions: title.functions }),
9312
- user.isDeleted ? /* @__PURE__ */ jsx83("div", { children: /* @__PURE__ */ jsx83(Badge, { variant: "destructive", children: t(`user.errors.deleted`) }) }) : /* @__PURE__ */ jsx83(Fragment7, { children: !user.isActivated && /* @__PURE__ */ jsx83("div", { children: /* @__PURE__ */ jsx83(Badge, { variant: "destructive", children: t(`user.errors.inactive`) }) }) }),
9340
+ /* @__PURE__ */ jsx84(ContentTitle, { module: Modules.User, type: title.type, element: title.element, functions: title.functions }),
9341
+ user.isDeleted ? /* @__PURE__ */ jsx84("div", { children: /* @__PURE__ */ jsx84(Badge, { variant: "destructive", children: t(`user.errors.deleted`) }) }) : /* @__PURE__ */ jsx84(Fragment7, { children: !user.isActivated && /* @__PURE__ */ jsx84("div", { children: /* @__PURE__ */ jsx84(Badge, { variant: "destructive", children: t(`user.errors.inactive`) }) }) }),
9313
9342
  roles,
9314
- /* @__PURE__ */ jsx83(AttributeElement, { inline: true, title: t(`user.fields.title.label`), value: user.title }),
9315
- /* @__PURE__ */ jsx83(AttributeElement, { inline: true, title: t(`common.fields.email.label`), value: user.email }),
9316
- /* @__PURE__ */ jsx83(AttributeElement, { inline: false, title: t(`user.fields.bio.label`), value: user.bio })
9343
+ /* @__PURE__ */ jsx84(AttributeElement, { inline: true, title: t(`user.fields.title.label`), value: user.title }),
9344
+ /* @__PURE__ */ jsx84(AttributeElement, { inline: true, title: t(`common.fields.email.label`), value: user.email }),
9345
+ /* @__PURE__ */ jsx84(AttributeElement, { inline: false, title: t(`user.fields.bio.label`), value: user.bio })
9317
9346
  ] });
9318
9347
  }
9319
9348
  __name(UserDetails, "UserDetails");
9320
9349
 
9321
9350
  // src/features/user/components/details/UserIndexDetails.tsx
9322
- import { jsx as jsx84, jsxs as jsxs51 } from "react/jsx-runtime";
9351
+ import { jsx as jsx85, jsxs as jsxs52 } from "react/jsx-runtime";
9323
9352
  function UserIndexDetails() {
9324
9353
  const { user } = useUserContext();
9325
9354
  const { currentUser } = useCurrentUserContext();
9326
9355
  if (!user || !currentUser) return null;
9327
- return /* @__PURE__ */ jsx84("div", { className: "flex w-full flex-row gap-x-4", children: /* @__PURE__ */ jsx84(Card, { className: "min-h-96 w-96 flex-shrink-0 self-start p-2", children: /* @__PURE__ */ jsx84(CardContent, { className: "flex h-full flex-col gap-y-4 p-2", children: /* @__PURE__ */ jsxs51("div", { className: "flex w-full justify-start gap-x-4", children: [
9328
- user.avatar && /* @__PURE__ */ jsx84(UserAvatar, { user, className: "h-40 w-40" }),
9329
- /* @__PURE__ */ jsxs51("div", { className: "flex flex-col justify-start gap-y-2", children: [
9330
- /* @__PURE__ */ jsx84("div", { className: "text-primary text-2xl font-semibold", children: user.name }),
9331
- /* @__PURE__ */ jsx84("div", { className: "text-muted-foreground text-xs", children: user.bio ?? "" })
9356
+ return /* @__PURE__ */ jsx85("div", { className: "flex w-full flex-row gap-x-4", children: /* @__PURE__ */ jsx85(Card, { className: "min-h-96 w-96 flex-shrink-0 self-start p-2", children: /* @__PURE__ */ jsx85(CardContent, { className: "flex h-full flex-col gap-y-4 p-2", children: /* @__PURE__ */ jsxs52("div", { className: "flex w-full justify-start gap-x-4", children: [
9357
+ user.avatar && /* @__PURE__ */ jsx85(UserAvatar, { user, className: "h-40 w-40" }),
9358
+ /* @__PURE__ */ jsxs52("div", { className: "flex flex-col justify-start gap-y-2", children: [
9359
+ /* @__PURE__ */ jsx85("div", { className: "text-primary text-2xl font-semibold", children: user.name }),
9360
+ /* @__PURE__ */ jsx85("div", { className: "text-muted-foreground text-xs", children: user.bio ?? "" })
9332
9361
  ] })
9333
9362
  ] }) }) }) });
9334
9363
  }
9335
9364
  __name(UserIndexDetails, "UserIndexDetails");
9336
9365
 
9337
9366
  // src/features/user/components/containers/UserContainer.tsx
9338
- import { jsx as jsx85, jsxs as jsxs52 } from "react/jsx-runtime";
9367
+ import { jsx as jsx86, jsxs as jsxs53 } from "react/jsx-runtime";
9339
9368
  function UserContainer() {
9340
9369
  const { user } = useUserContext();
9341
9370
  if (!user) return null;
9342
9371
  const t = useTranslations17();
9343
- return /* @__PURE__ */ jsxs52("div", { className: "flex w-full gap-x-4", children: [
9344
- /* @__PURE__ */ jsx85("div", { className: "w-2xl flex h-[calc(100vh-theme(spacing.20))] flex-col justify-between border-r pr-4", children: /* @__PURE__ */ jsx85("div", { className: "flex h-full overflow-y-auto", children: /* @__PURE__ */ jsx85(UserDetails, { user }) }) }),
9345
- /* @__PURE__ */ jsx85("div", { className: "flex w-full flex-col gap-y-4" })
9372
+ return /* @__PURE__ */ jsxs53("div", { className: "flex w-full gap-x-4", children: [
9373
+ /* @__PURE__ */ jsx86("div", { className: "w-2xl flex h-[calc(100vh-theme(spacing.20))] flex-col justify-between border-r pr-4", children: /* @__PURE__ */ jsx86("div", { className: "flex h-full overflow-y-auto", children: /* @__PURE__ */ jsx86(UserDetails, { user }) }) }),
9374
+ /* @__PURE__ */ jsx86("div", { className: "flex w-full flex-col gap-y-4" })
9346
9375
  ] });
9347
9376
  }
9348
9377
  __name(UserContainer, "UserContainer");
9349
9378
 
9350
9379
  // src/features/user/components/containers/UserIndexContainer.tsx
9351
- import { jsx as jsx86 } from "react/jsx-runtime";
9380
+ import { jsx as jsx87 } from "react/jsx-runtime";
9352
9381
  function UserIndexContainer() {
9353
9382
  const { user } = useUserContext();
9354
9383
  if (!user) return null;
9355
- return /* @__PURE__ */ jsx86(PageContentContainer, { details: /* @__PURE__ */ jsx86(UserIndexDetails, {}) });
9384
+ return /* @__PURE__ */ jsx87(PageContentContainer, { details: /* @__PURE__ */ jsx87(UserIndexDetails, {}) });
9356
9385
  }
9357
9386
  __name(UserIndexContainer, "UserIndexContainer");
9358
9387
 
9359
9388
  // src/features/user/components/containers/UsersListContainer.tsx
9360
9389
  import { useTranslations as useTranslations18 } from "next-intl";
9361
- import { jsx as jsx87 } from "react/jsx-runtime";
9390
+ import { jsx as jsx88 } from "react/jsx-runtime";
9362
9391
  function UsersListContainerInternal() {
9363
9392
  const { hasPermissionToModule } = useCurrentUserContext();
9364
9393
  const t = useTranslations18();
9365
- if (!hasPermissionToModule({ module: Modules.User, action: "delete" /* Delete */ })) return /* @__PURE__ */ jsx87(CompanyUsersList, {});
9394
+ if (!hasPermissionToModule({ module: Modules.User, action: "delete" /* Delete */ })) return /* @__PURE__ */ jsx88(CompanyUsersList, {});
9366
9395
  const tabs = [
9367
9396
  {
9368
9397
  label: t(`entities.users`, { count: 2 }),
9369
- content: /* @__PURE__ */ jsx87(CompanyUsersList, {}),
9398
+ content: /* @__PURE__ */ jsx88(CompanyUsersList, {}),
9370
9399
  modules: [Modules.Company],
9371
9400
  action: "read" /* Read */
9372
9401
  },
9373
9402
  {
9374
9403
  label: t(`user.deleted`),
9375
- content: /* @__PURE__ */ jsx87(CompanyUsersList, { isDeleted: true }),
9404
+ content: /* @__PURE__ */ jsx88(CompanyUsersList, { isDeleted: true }),
9376
9405
  modules: [Modules.Company],
9377
9406
  action: "update" /* Update */
9378
9407
  }
9379
9408
  ];
9380
- return /* @__PURE__ */ jsx87(TabsContainer, { tabs });
9409
+ return /* @__PURE__ */ jsx88(TabsContainer, { tabs });
9381
9410
  }
9382
9411
  __name(UsersListContainerInternal, "UsersListContainerInternal");
9383
9412
  function UsersListContainer() {
9384
- return /* @__PURE__ */ jsx87(UsersListContainerInternal, {});
9413
+ return /* @__PURE__ */ jsx88(UsersListContainerInternal, {});
9385
9414
  }
9386
9415
  __name(UsersListContainer, "UsersListContainer");
9387
9416
 
9388
9417
  // src/features/user/components/lists/AdminUsersList.tsx
9389
9418
  import { useTranslations as useTranslations19 } from "next-intl";
9390
- import { jsx as jsx88 } from "react/jsx-runtime";
9419
+ import { jsx as jsx89 } from "react/jsx-runtime";
9391
9420
  function AdminUsersListInternal({ company }) {
9392
9421
  const t = useTranslations19();
9393
9422
  const data = useDataListRetriever({
@@ -9395,14 +9424,14 @@ function AdminUsersListInternal({ company }) {
9395
9424
  retrieverParams: { companyId: company.id },
9396
9425
  module: Modules.User
9397
9426
  });
9398
- return /* @__PURE__ */ jsx88(
9427
+ return /* @__PURE__ */ jsx89(
9399
9428
  ContentListTable,
9400
9429
  {
9401
9430
  title: t(`entities.users`, { count: 2 }),
9402
9431
  data,
9403
9432
  fields: ["name" /* name */, "email" /* email */, "createdAt" /* createdAt */],
9404
9433
  tableGeneratorType: Modules.User,
9405
- functions: /* @__PURE__ */ jsx88(UserEditor, { propagateChanges: data.refresh, adminCreated: true })
9434
+ functions: /* @__PURE__ */ jsx89(UserEditor, { propagateChanges: data.refresh, adminCreated: true })
9406
9435
  }
9407
9436
  );
9408
9437
  }
@@ -9410,14 +9439,14 @@ __name(AdminUsersListInternal, "AdminUsersListInternal");
9410
9439
  function AdminUsersList() {
9411
9440
  const { company } = useCompanyContext();
9412
9441
  if (!company) return null;
9413
- return /* @__PURE__ */ jsx88(AdminUsersListInternal, { company });
9442
+ return /* @__PURE__ */ jsx89(AdminUsersListInternal, { company });
9414
9443
  }
9415
9444
  __name(AdminUsersList, "AdminUsersList");
9416
9445
 
9417
9446
  // src/features/user/components/lists/CompanyUsersList.tsx
9418
9447
  import { useTranslations as useTranslations20 } from "next-intl";
9419
9448
  import { useEffect as useEffect18 } from "react";
9420
- import { jsx as jsx89 } from "react/jsx-runtime";
9449
+ import { jsx as jsx90 } from "react/jsx-runtime";
9421
9450
  function CompanyUsersList({ isDeleted }) {
9422
9451
  const { company } = useCurrentUserContext();
9423
9452
  const t = useTranslations20();
@@ -9431,9 +9460,9 @@ function CompanyUsersList({ isDeleted }) {
9431
9460
  if (company) data.setReady(true);
9432
9461
  }, [company]);
9433
9462
  const functions = [
9434
- isDeleted ? void 0 : /* @__PURE__ */ jsx89(UserEditor, { propagateChanges: data.refresh }, "create-user")
9463
+ isDeleted ? void 0 : /* @__PURE__ */ jsx90(UserEditor, { propagateChanges: data.refresh }, "create-user")
9435
9464
  ];
9436
- return /* @__PURE__ */ jsx89(
9465
+ return /* @__PURE__ */ jsx90(
9437
9466
  ContentListTable,
9438
9467
  {
9439
9468
  data,
@@ -9447,25 +9476,25 @@ function CompanyUsersList({ isDeleted }) {
9447
9476
  __name(CompanyUsersList, "CompanyUsersList");
9448
9477
 
9449
9478
  // src/features/user/components/lists/ContributorsList.tsx
9450
- import { jsx as jsx90, jsxs as jsxs53 } from "react/jsx-runtime";
9479
+ import { jsx as jsx91, jsxs as jsxs54 } from "react/jsx-runtime";
9451
9480
  function ContributorsList({ content }) {
9452
9481
  const generateUrl = usePageUrlGenerator();
9453
- return /* @__PURE__ */ jsxs53("div", { className: "flex flex-row items-center", children: [
9454
- /* @__PURE__ */ jsx90(
9482
+ return /* @__PURE__ */ jsxs54("div", { className: "flex flex-row items-center", children: [
9483
+ /* @__PURE__ */ jsx91(
9455
9484
  Link,
9456
9485
  {
9457
9486
  href: generateUrl({ page: Modules.User, id: content.author.id }),
9458
9487
  onClick: (e) => e.stopPropagation(),
9459
- children: /* @__PURE__ */ jsx90(UserAvatar, { user: content.author, className: "mr-1 h-6 w-6" })
9488
+ children: /* @__PURE__ */ jsx91(UserAvatar, { user: content.author, className: "mr-1 h-6 w-6" })
9460
9489
  },
9461
9490
  content.author.id
9462
9491
  ),
9463
- /* @__PURE__ */ jsx90("div", { className: "flex flex-row-reverse justify-end -space-x-1 space-x-reverse", children: content.editors.filter((editor) => editor.id !== content.author.id).map((editor) => /* @__PURE__ */ jsx90(
9492
+ /* @__PURE__ */ jsx91("div", { className: "flex flex-row-reverse justify-end -space-x-1 space-x-reverse", children: content.editors.filter((editor) => editor.id !== content.author.id).map((editor) => /* @__PURE__ */ jsx91(
9464
9493
  Link,
9465
9494
  {
9466
9495
  href: generateUrl({ page: Modules.User, id: editor.id }),
9467
9496
  onClick: (e) => e.stopPropagation(),
9468
- children: /* @__PURE__ */ jsx90(UserAvatar, { user: editor, className: "h-5 w-5" })
9497
+ children: /* @__PURE__ */ jsx91(UserAvatar, { user: editor, className: "h-5 w-5" })
9469
9498
  },
9470
9499
  editor.id
9471
9500
  )) })
@@ -9475,7 +9504,7 @@ __name(ContributorsList, "ContributorsList");
9475
9504
 
9476
9505
  // src/features/user/components/lists/RelevantUsersList.tsx
9477
9506
  import { useTranslations as useTranslations21 } from "next-intl";
9478
- import { jsx as jsx91 } from "react/jsx-runtime";
9507
+ import { jsx as jsx92 } from "react/jsx-runtime";
9479
9508
  function RelevantUsersList({ id }) {
9480
9509
  const t = useTranslations21();
9481
9510
  const data = useDataListRetriever({
@@ -9483,7 +9512,7 @@ function RelevantUsersList({ id }) {
9483
9512
  retriever: /* @__PURE__ */ __name((params) => UserService.findRelevant(params), "retriever"),
9484
9513
  retrieverParams: { id }
9485
9514
  });
9486
- return /* @__PURE__ */ jsx91(
9515
+ return /* @__PURE__ */ jsx92(
9487
9516
  ContentListTable,
9488
9517
  {
9489
9518
  data,
@@ -9497,7 +9526,7 @@ __name(RelevantUsersList, "RelevantUsersList");
9497
9526
 
9498
9527
  // src/features/user/components/lists/RoleUsersList.tsx
9499
9528
  import { useTranslations as useTranslations22 } from "next-intl";
9500
- import { jsx as jsx92 } from "react/jsx-runtime";
9529
+ import { jsx as jsx93 } from "react/jsx-runtime";
9501
9530
  function RoleUsersList({ role }) {
9502
9531
  const t = useTranslations22();
9503
9532
  const data = useDataListRetriever({
@@ -9505,7 +9534,7 @@ function RoleUsersList({ role }) {
9505
9534
  retrieverParams: { roleId: role.id },
9506
9535
  module: Modules.User
9507
9536
  });
9508
- return /* @__PURE__ */ jsx92(
9537
+ return /* @__PURE__ */ jsx93(
9509
9538
  ContentListTable,
9510
9539
  {
9511
9540
  data,
@@ -9519,12 +9548,12 @@ __name(RoleUsersList, "RoleUsersList");
9519
9548
 
9520
9549
  // src/features/user/components/lists/UserListInAdd.tsx
9521
9550
  import React13 from "react";
9522
- import { Fragment as Fragment8, jsx as jsx93, jsxs as jsxs54 } from "react/jsx-runtime";
9551
+ import { Fragment as Fragment8, jsx as jsx94, jsxs as jsxs55 } from "react/jsx-runtime";
9523
9552
  function UserListInAdd({ data, existingUsers, setSelectedUser, setLevelOpen }) {
9524
- return /* @__PURE__ */ jsx93(Fragment8, { children: data.data !== void 0 && data.data.filter(
9553
+ return /* @__PURE__ */ jsx94(Fragment8, { children: data.data !== void 0 && data.data.filter(
9525
9554
  (user) => existingUsers && !existingUsers.find((existingUser) => existingUser.id === user.id)
9526
9555
  ).map((user) => {
9527
- return /* @__PURE__ */ jsx93(React13.Fragment, { children: /* @__PURE__ */ jsx93(
9556
+ return /* @__PURE__ */ jsx94(React13.Fragment, { children: /* @__PURE__ */ jsx94(
9528
9557
  CommandItem,
9529
9558
  {
9530
9559
  className: "cursor-pointer hover:bg-muted data-selected:hover:bg-muted bg-transparent data-selected:bg-transparent",
@@ -9536,11 +9565,11 @@ function UserListInAdd({ data, existingUsers, setSelectedUser, setLevelOpen }) {
9536
9565
  setSelectedUser(user);
9537
9566
  setLevelOpen?.(true);
9538
9567
  },
9539
- children: /* @__PURE__ */ jsxs54("div", { className: "flex w-full flex-row items-center justify-between px-4 py-1", children: [
9540
- /* @__PURE__ */ jsx93(UserAvatar, { user }),
9541
- /* @__PURE__ */ jsxs54("div", { className: "ml-5 flex w-full flex-col", children: [
9542
- /* @__PURE__ */ jsx93("div", { className: "text-sm font-medium", children: user.name }),
9543
- /* @__PURE__ */ jsx93("div", { className: "text-xs font-normal", children: user.email })
9568
+ children: /* @__PURE__ */ jsxs55("div", { className: "flex w-full flex-row items-center justify-between px-4 py-1", children: [
9569
+ /* @__PURE__ */ jsx94(UserAvatar, { user }),
9570
+ /* @__PURE__ */ jsxs55("div", { className: "ml-5 flex w-full flex-col", children: [
9571
+ /* @__PURE__ */ jsx94("div", { className: "text-sm font-medium", children: user.name }),
9572
+ /* @__PURE__ */ jsx94("div", { className: "text-xs font-normal", children: user.email })
9544
9573
  ] })
9545
9574
  ] })
9546
9575
  },
@@ -9552,10 +9581,10 @@ __name(UserListInAdd, "UserListInAdd");
9552
9581
 
9553
9582
  // src/features/user/components/lists/UsersList.tsx
9554
9583
  import { useTranslations as useTranslations23 } from "next-intl";
9555
- import { jsx as jsx94 } from "react/jsx-runtime";
9584
+ import { jsx as jsx95 } from "react/jsx-runtime";
9556
9585
  function UsersList({ data, optionComponents, removeFunction, hideOptions, showRelevance }) {
9557
9586
  const t = useTranslations23();
9558
- return /* @__PURE__ */ jsx94(
9587
+ return /* @__PURE__ */ jsx95(
9559
9588
  ContentListTable,
9560
9589
  {
9561
9590
  data,
@@ -9569,7 +9598,7 @@ __name(UsersList, "UsersList");
9569
9598
 
9570
9599
  // src/features/user/components/lists/UsersListByContentIds.tsx
9571
9600
  import { useTranslations as useTranslations24 } from "next-intl";
9572
- import { jsx as jsx95 } from "react/jsx-runtime";
9601
+ import { jsx as jsx96 } from "react/jsx-runtime";
9573
9602
  function UsersListByContentIds({ contentIds }) {
9574
9603
  const t = useTranslations24();
9575
9604
  const data = useDataListRetriever({
@@ -9577,7 +9606,7 @@ function UsersListByContentIds({ contentIds }) {
9577
9606
  retriever: /* @__PURE__ */ __name((params) => UserService.findManyByContentIds(params), "retriever"),
9578
9607
  retrieverParams: { contentIds }
9579
9608
  });
9580
- return /* @__PURE__ */ jsx95(
9609
+ return /* @__PURE__ */ jsx96(
9581
9610
  ContentListTable,
9582
9611
  {
9583
9612
  data,
@@ -9592,43 +9621,43 @@ __name(UsersListByContentIds, "UsersListByContentIds");
9592
9621
  // src/features/company/components/details/CompanyDetails.tsx
9593
9622
  import { useTranslations as useTranslations25 } from "next-intl";
9594
9623
  import Image5 from "next/image";
9595
- import { jsx as jsx96, jsxs as jsxs55 } from "react/jsx-runtime";
9624
+ import { jsx as jsx97, jsxs as jsxs56 } from "react/jsx-runtime";
9596
9625
  function CompanyDetails() {
9597
9626
  const t = useTranslations25();
9598
9627
  const { title } = useSharedContext();
9599
9628
  const generateUrl = usePageUrlGenerator();
9600
9629
  const { company } = useCompanyContext();
9601
9630
  if (!company) return null;
9602
- return /* @__PURE__ */ jsxs55("div", { className: "flex w-full flex-col gap-y-2", children: [
9603
- /* @__PURE__ */ jsx96(ContentTitle, { module: Modules.Company, type: title.type, element: title.element, functions: title.functions }),
9604
- company.logo && /* @__PURE__ */ jsx96(Image5, { src: company.logo, alt: company.name, width: 150, height: 150, className: "mb-4 rounded-md" })
9631
+ return /* @__PURE__ */ jsxs56("div", { className: "flex w-full flex-col gap-y-2", children: [
9632
+ /* @__PURE__ */ jsx97(ContentTitle, { module: Modules.Company, type: title.type, element: title.element, functions: title.functions }),
9633
+ company.logo && /* @__PURE__ */ jsx97(Image5, { src: company.logo, alt: company.name, width: 150, height: 150, className: "mb-4 rounded-md" })
9605
9634
  ] });
9606
9635
  }
9607
9636
  __name(CompanyDetails, "CompanyDetails");
9608
9637
 
9609
9638
  // src/features/company/components/containers/AdminCompanyContainer.tsx
9610
- import { Fragment as Fragment9, jsx as jsx97, jsxs as jsxs56 } from "react/jsx-runtime";
9639
+ import { Fragment as Fragment9, jsx as jsx98, jsxs as jsxs57 } from "react/jsx-runtime";
9611
9640
  function AdminCompanyContainerInternal() {
9612
9641
  const { company } = useCompanyContext();
9613
9642
  const { hasRole } = useCurrentUserContext();
9614
9643
  if (!company || !hasRole(getRoleId().Administrator)) return null;
9615
- return /* @__PURE__ */ jsxs56(Fragment9, { children: [
9616
- /* @__PURE__ */ jsx97(CompanyDetails, {}),
9617
- /* @__PURE__ */ jsx97(AdminUsersList, {})
9644
+ return /* @__PURE__ */ jsxs57(Fragment9, { children: [
9645
+ /* @__PURE__ */ jsx98(CompanyDetails, {}),
9646
+ /* @__PURE__ */ jsx98(AdminUsersList, {})
9618
9647
  ] });
9619
9648
  }
9620
9649
  __name(AdminCompanyContainerInternal, "AdminCompanyContainerInternal");
9621
9650
  function AdminCompanyContainer() {
9622
- return /* @__PURE__ */ jsx97(AdminCompanyContainerInternal, {});
9651
+ return /* @__PURE__ */ jsx98(AdminCompanyContainerInternal, {});
9623
9652
  }
9624
9653
  __name(AdminCompanyContainer, "AdminCompanyContainer");
9625
9654
 
9626
9655
  // src/features/company/components/containers/CompanyContainer.tsx
9627
- import { jsx as jsx98 } from "react/jsx-runtime";
9656
+ import { jsx as jsx99 } from "react/jsx-runtime";
9628
9657
  function CompanyContainer() {
9629
9658
  const { currentUser } = useCurrentUserContext();
9630
9659
  if (!currentUser) return null;
9631
- return /* @__PURE__ */ jsx98(CompanyProvider, { dehydratedCompany: currentUser.company, children: /* @__PURE__ */ jsx98(CompanyDetails, {}) });
9660
+ return /* @__PURE__ */ jsx99(CompanyProvider, { dehydratedCompany: currentUser.company, children: /* @__PURE__ */ jsx99(CompanyDetails, {}) });
9632
9661
  }
9633
9662
  __name(CompanyContainer, "CompanyContainer");
9634
9663
 
@@ -9636,7 +9665,7 @@ __name(CompanyContainer, "CompanyContainer");
9636
9665
  import { Battery, BatteryFull, BatteryLow, BatteryMedium, PlusCircle } from "lucide-react";
9637
9666
  import Link2 from "next/link";
9638
9667
  import { useTranslations as useTranslations26 } from "next-intl";
9639
- import { jsx as jsx99, jsxs as jsxs57 } from "react/jsx-runtime";
9668
+ import { jsx as jsx100, jsxs as jsxs58 } from "react/jsx-runtime";
9640
9669
  function TokenStatusIndicator({ className, size = "md", showExtraPages = true }) {
9641
9670
  const { company } = useCurrentUserContext();
9642
9671
  const t = useTranslations26();
@@ -9665,13 +9694,13 @@ function TokenStatusIndicator({ className, size = "md", showExtraPages = true })
9665
9694
  const textSize = textSizeClasses[size];
9666
9695
  const getBatteryIcon = /* @__PURE__ */ __name(() => {
9667
9696
  if (percentage > 75) {
9668
- return /* @__PURE__ */ jsx99(BatteryFull, { className: cn(iconSize, "text-green-500") });
9697
+ return /* @__PURE__ */ jsx100(BatteryFull, { className: cn(iconSize, "text-green-500") });
9669
9698
  } else if (percentage >= 25) {
9670
- return /* @__PURE__ */ jsx99(BatteryMedium, { className: cn(iconSize, "text-yellow-500") });
9699
+ return /* @__PURE__ */ jsx100(BatteryMedium, { className: cn(iconSize, "text-yellow-500") });
9671
9700
  } else if (percentage >= 5) {
9672
- return /* @__PURE__ */ jsx99(BatteryLow, { className: cn(iconSize, "text-orange-500") });
9701
+ return /* @__PURE__ */ jsx100(BatteryLow, { className: cn(iconSize, "text-orange-500") });
9673
9702
  } else {
9674
- return /* @__PURE__ */ jsx99(Battery, { className: cn(iconSize, "text-destructive") });
9703
+ return /* @__PURE__ */ jsx100(Battery, { className: cn(iconSize, "text-destructive") });
9675
9704
  }
9676
9705
  }, "getBatteryIcon");
9677
9706
  const getStatusColor = /* @__PURE__ */ __name(() => {
@@ -9685,59 +9714,59 @@ function TokenStatusIndicator({ className, size = "md", showExtraPages = true })
9685
9714
  return "text-destructive";
9686
9715
  }
9687
9716
  }, "getStatusColor");
9688
- const tooltipContent = /* @__PURE__ */ jsxs57("div", { className: "flex flex-col gap-2 p-1", children: [
9689
- /* @__PURE__ */ jsx99("div", { className: "font-semibold text-sm", children: t("billing.tokens.status", { defaultValue: "Page Status" }) }),
9690
- /* @__PURE__ */ jsxs57("div", { className: "flex flex-col gap-1 text-xs", children: [
9691
- /* @__PURE__ */ jsxs57("div", { className: "flex items-center justify-between gap-4", children: [
9692
- /* @__PURE__ */ jsxs57("span", { className: "text-muted-foreground", children: [
9717
+ const tooltipContent = /* @__PURE__ */ jsxs58("div", { className: "flex flex-col gap-2 p-1", children: [
9718
+ /* @__PURE__ */ jsx100("div", { className: "font-semibold text-sm", children: t("billing.tokens.status", { defaultValue: "Page Status" }) }),
9719
+ /* @__PURE__ */ jsxs58("div", { className: "flex flex-col gap-1 text-xs", children: [
9720
+ /* @__PURE__ */ jsxs58("div", { className: "flex items-center justify-between gap-4", children: [
9721
+ /* @__PURE__ */ jsxs58("span", { className: "text-muted-foreground", children: [
9693
9722
  t("billing.tokens.monthly", { defaultValue: "Monthly Pages" }),
9694
9723
  ":"
9695
9724
  ] }),
9696
- /* @__PURE__ */ jsxs57("span", { className: cn("font-medium", getStatusColor()), children: [
9725
+ /* @__PURE__ */ jsxs58("span", { className: cn("font-medium", getStatusColor()), children: [
9697
9726
  availableMonthlyTokens,
9698
9727
  " / ",
9699
9728
  monthlyTokens
9700
9729
  ] })
9701
9730
  ] }),
9702
- /* @__PURE__ */ jsxs57("div", { className: "flex items-center justify-between gap-4", children: [
9703
- /* @__PURE__ */ jsxs57("span", { className: "text-muted-foreground", children: [
9731
+ /* @__PURE__ */ jsxs58("div", { className: "flex items-center justify-between gap-4", children: [
9732
+ /* @__PURE__ */ jsxs58("span", { className: "text-muted-foreground", children: [
9704
9733
  t("billing.tokens.available", { defaultValue: "Available" }),
9705
9734
  ":"
9706
9735
  ] }),
9707
- /* @__PURE__ */ jsxs57("span", { className: cn("font-medium", getStatusColor()), children: [
9736
+ /* @__PURE__ */ jsxs58("span", { className: cn("font-medium", getStatusColor()), children: [
9708
9737
  percentage.toFixed(0),
9709
9738
  "%"
9710
9739
  ] })
9711
9740
  ] }),
9712
- /* @__PURE__ */ jsx99(Link2, { href: "/settings/billing?action=subscribe", className: "w-full flex justify-end my-4", children: /* @__PURE__ */ jsx99(Button, { variant: "outline", size: "sm", children: t("billing.tokens.upgrade_plan", { defaultValue: "Upgrade plan" }) }) }),
9713
- /* @__PURE__ */ jsx99(Separator, {}),
9714
- /* @__PURE__ */ jsxs57("div", { className: "flex items-center justify-between gap-4 pt-1 mt-1", children: [
9715
- /* @__PURE__ */ jsxs57("span", { className: "text-muted-foreground", children: [
9741
+ /* @__PURE__ */ jsx100(Link2, { href: "/settings/billing?action=subscribe", className: "w-full flex justify-end my-4", children: /* @__PURE__ */ jsx100(Button, { variant: "outline", size: "sm", children: t("billing.tokens.upgrade_plan", { defaultValue: "Upgrade plan" }) }) }),
9742
+ /* @__PURE__ */ jsx100(Separator, {}),
9743
+ /* @__PURE__ */ jsxs58("div", { className: "flex items-center justify-between gap-4 pt-1 mt-1", children: [
9744
+ /* @__PURE__ */ jsxs58("span", { className: "text-muted-foreground", children: [
9716
9745
  t("billing.tokens.available_extra", { defaultValue: "Extra Pages" }),
9717
9746
  ":"
9718
9747
  ] }),
9719
- /* @__PURE__ */ jsx99("span", { className: "font-medium text-blue-500", children: availableExtraTokens })
9748
+ /* @__PURE__ */ jsx100("span", { className: "font-medium text-blue-500", children: availableExtraTokens })
9720
9749
  ] }),
9721
- /* @__PURE__ */ jsx99(Link2, { href: "/settings/billing?action=subscribe", className: "w-full flex justify-end my-4", children: /* @__PURE__ */ jsx99(Button, { variant: "outline", size: "sm", children: t("billing.tokens.purchase_extra", { defaultValue: "Purchase additional analysis" }) }) })
9750
+ /* @__PURE__ */ jsx100(Link2, { href: "/settings/billing?action=subscribe", className: "w-full flex justify-end my-4", children: /* @__PURE__ */ jsx100(Button, { variant: "outline", size: "sm", children: t("billing.tokens.purchase_extra", { defaultValue: "Purchase additional analysis" }) }) })
9722
9751
  ] })
9723
9752
  ] });
9724
- return /* @__PURE__ */ jsxs57(Tooltip2, { children: [
9725
- /* @__PURE__ */ jsx99(TooltipTrigger, { children: /* @__PURE__ */ jsxs57(
9753
+ return /* @__PURE__ */ jsxs58(Tooltip2, { children: [
9754
+ /* @__PURE__ */ jsx100(TooltipTrigger, { children: /* @__PURE__ */ jsxs58(
9726
9755
  "div",
9727
9756
  {
9728
9757
  className: cn("inline-flex items-center gap-1.5 cursor-default", className),
9729
9758
  "aria-label": t("billing.tokens.status", { defaultValue: "Page Status" }),
9730
9759
  children: [
9731
9760
  getBatteryIcon(),
9732
- /* @__PURE__ */ jsx99("span", { className: cn(textSize, "text-muted-foreground font-medium"), children: availableMonthlyTokens }),
9733
- showExtraPages && availableExtraTokens > 0 && /* @__PURE__ */ jsxs57("div", { className: "inline-flex items-center gap-0.5", children: [
9734
- /* @__PURE__ */ jsx99(PlusCircle, { className: cn(smallIconSize, "text-blue-500") }),
9735
- /* @__PURE__ */ jsx99("span", { className: cn(textSize, "text-blue-500 font-medium"), children: availableExtraTokens })
9761
+ /* @__PURE__ */ jsx100("span", { className: cn(textSize, "text-muted-foreground font-medium"), children: availableMonthlyTokens }),
9762
+ showExtraPages && availableExtraTokens > 0 && /* @__PURE__ */ jsxs58("div", { className: "inline-flex items-center gap-0.5", children: [
9763
+ /* @__PURE__ */ jsx100(PlusCircle, { className: cn(smallIconSize, "text-blue-500") }),
9764
+ /* @__PURE__ */ jsx100("span", { className: cn(textSize, "text-blue-500 font-medium"), children: availableExtraTokens })
9736
9765
  ] })
9737
9766
  ]
9738
9767
  }
9739
9768
  ) }),
9740
- /* @__PURE__ */ jsx99(TooltipContent, { side: "top", className: "max-w-xs", children: tooltipContent })
9769
+ /* @__PURE__ */ jsx100(TooltipContent, { side: "top", className: "max-w-xs", children: tooltipContent })
9741
9770
  ] });
9742
9771
  }
9743
9772
  __name(TokenStatusIndicator, "TokenStatusIndicator");
@@ -9752,7 +9781,7 @@ import z2 from "zod";
9752
9781
 
9753
9782
  // src/features/company/components/forms/CompanyConfigurationSecurityForm.tsx
9754
9783
  import { useTranslations as useTranslations27 } from "next-intl";
9755
- import { jsx as jsx100 } from "react/jsx-runtime";
9784
+ import { jsx as jsx101 } from "react/jsx-runtime";
9756
9785
  var providerConfig = {
9757
9786
  fields: ["isManagedKnowledge", "allowPublicBot"],
9758
9787
  defaults: {}
@@ -9779,7 +9808,7 @@ function CompanyConfigurationSecurityForm({ form }) {
9779
9808
  type = "checkbox";
9780
9809
  break;
9781
9810
  }
9782
- return /* @__PURE__ */ jsx100(
9811
+ return /* @__PURE__ */ jsx101(
9783
9812
  FormFieldWrapper,
9784
9813
  {
9785
9814
  form,
@@ -9788,7 +9817,7 @@ function CompanyConfigurationSecurityForm({ form }) {
9788
9817
  description: type === "checkbox" ? placeholder : void 0,
9789
9818
  isRequired,
9790
9819
  orientation: type === "checkbox" ? "horizontal" : "vertical",
9791
- children: (field) => type === "checkbox" ? /* @__PURE__ */ jsx100(
9820
+ children: (field) => type === "checkbox" ? /* @__PURE__ */ jsx101(
9792
9821
  Checkbox,
9793
9822
  {
9794
9823
  id: currentField,
@@ -9797,18 +9826,18 @@ function CompanyConfigurationSecurityForm({ form }) {
9797
9826
  return checked ? field.onChange(true) : field.onChange(false);
9798
9827
  }
9799
9828
  }
9800
- ) : /* @__PURE__ */ jsx100(Input, { type, placeholder, ...field })
9829
+ ) : /* @__PURE__ */ jsx101(Input, { type, placeholder, ...field })
9801
9830
  },
9802
9831
  currentField
9803
9832
  );
9804
9833
  });
9805
9834
  }, "renderProviderFields");
9806
- return /* @__PURE__ */ jsx100("div", { className: "space-y-4", children: /* @__PURE__ */ jsx100("div", { className: "space-y-4 border-t pt-4", children: renderProviderFields() }) });
9835
+ return /* @__PURE__ */ jsx101("div", { className: "space-y-4", children: /* @__PURE__ */ jsx101("div", { className: "space-y-4 border-t pt-4", children: renderProviderFields() }) });
9807
9836
  }
9808
9837
  __name(CompanyConfigurationSecurityForm, "CompanyConfigurationSecurityForm");
9809
9838
 
9810
9839
  // src/features/company/components/forms/CompanyConfigurationEditor.tsx
9811
- import { jsx as jsx101, jsxs as jsxs58 } from "react/jsx-runtime";
9840
+ import { jsx as jsx102, jsxs as jsxs59 } from "react/jsx-runtime";
9812
9841
  function CompanyConfigurationEditorInternal({ company }) {
9813
9842
  const [open, setOpen] = useState25(false);
9814
9843
  const t = useTranslations28();
@@ -9865,20 +9894,20 @@ function CompanyConfigurationEditorInternal({ company }) {
9865
9894
  });
9866
9895
  }
9867
9896
  }, "onSubmit");
9868
- return /* @__PURE__ */ jsxs58(Dialog, { open, onOpenChange: setOpen, children: [
9869
- /* @__PURE__ */ jsx101(DialogTrigger, { children: /* @__PURE__ */ jsx101(Button, { size: "sm", variant: `ghost`, className: "cursor-pointer", children: /* @__PURE__ */ jsx101(Settings2Icon, { className: "h-3.5 w-3.5" }) }) }),
9870
- /* @__PURE__ */ jsxs58(DialogContent, { className: `flex max-h-[70vh] max-w-4xl flex-col overflow-y-auto`, children: [
9871
- /* @__PURE__ */ jsxs58(DialogHeader, { children: [
9872
- /* @__PURE__ */ jsx101(DialogTitle, { children: t(`entities.configurations`, { count: 2 }) }),
9873
- /* @__PURE__ */ jsx101(DialogDescription, { className: "text-destructive", children: t(`features.configuration.warning_description`) })
9897
+ return /* @__PURE__ */ jsxs59(Dialog, { open, onOpenChange: setOpen, children: [
9898
+ /* @__PURE__ */ jsx102(DialogTrigger, { children: /* @__PURE__ */ jsx102(Button, { size: "sm", variant: `ghost`, className: "cursor-pointer", children: /* @__PURE__ */ jsx102(Settings2Icon, { className: "h-3.5 w-3.5" }) }) }),
9899
+ /* @__PURE__ */ jsxs59(DialogContent, { className: `flex max-h-[70vh] max-w-4xl flex-col overflow-y-auto`, children: [
9900
+ /* @__PURE__ */ jsxs59(DialogHeader, { children: [
9901
+ /* @__PURE__ */ jsx102(DialogTitle, { children: t(`entities.configurations`, { count: 2 }) }),
9902
+ /* @__PURE__ */ jsx102(DialogDescription, { className: "text-destructive", children: t(`features.configuration.warning_description`) })
9874
9903
  ] }),
9875
- /* @__PURE__ */ jsx101(Form, { ...form, children: /* @__PURE__ */ jsxs58("form", { onSubmit: form.handleSubmit(onSubmit), className: `flex w-full flex-col gap-y-4`, children: [
9876
- /* @__PURE__ */ jsx101("div", { className: `flex flex-row gap-x-4`, children: /* @__PURE__ */ jsx101("div", { className: `flex w-full flex-col justify-start gap-y-4`, children: /* @__PURE__ */ jsxs58(Tabs, { defaultValue: process.env.NEXT_PUBLIC_PRIVATE_INSTALLATION ? "security" : "ai", children: [
9877
- /* @__PURE__ */ jsx101(TabsList, { children: /* @__PURE__ */ jsx101(TabsTrigger, { value: "security", children: "Privacy & Security" }) }),
9878
- /* @__PURE__ */ jsx101(TabsContent, { value: "features", children: /* @__PURE__ */ jsx101("div", { className: "space-y-4", children: /* @__PURE__ */ jsx101("p", { className: "text-muted-foreground text-sm", children: "Feature configuration will be implemented in future updates." }) }) }),
9879
- /* @__PURE__ */ jsx101(TabsContent, { value: "security", children: /* @__PURE__ */ jsx101(CompanyConfigurationSecurityForm, { form }) })
9904
+ /* @__PURE__ */ jsx102(Form, { ...form, children: /* @__PURE__ */ jsxs59("form", { onSubmit: form.handleSubmit(onSubmit), className: `flex w-full flex-col gap-y-4`, children: [
9905
+ /* @__PURE__ */ jsx102("div", { className: `flex flex-row gap-x-4`, children: /* @__PURE__ */ jsx102("div", { className: `flex w-full flex-col justify-start gap-y-4`, children: /* @__PURE__ */ jsxs59(Tabs, { defaultValue: process.env.NEXT_PUBLIC_PRIVATE_INSTALLATION ? "security" : "ai", children: [
9906
+ /* @__PURE__ */ jsx102(TabsList, { children: /* @__PURE__ */ jsx102(TabsTrigger, { value: "security", children: "Privacy & Security" }) }),
9907
+ /* @__PURE__ */ jsx102(TabsContent, { value: "features", children: /* @__PURE__ */ jsx102("div", { className: "space-y-4", children: /* @__PURE__ */ jsx102("p", { className: "text-muted-foreground text-sm", children: "Feature configuration will be implemented in future updates." }) }) }),
9908
+ /* @__PURE__ */ jsx102(TabsContent, { value: "security", children: /* @__PURE__ */ jsx102(CompanyConfigurationSecurityForm, { form }) })
9880
9909
  ] }) }) }),
9881
- /* @__PURE__ */ jsx101(CommonEditorButtons, { form, setOpen, isEdit: true })
9910
+ /* @__PURE__ */ jsx102(CommonEditorButtons, { form, setOpen, isEdit: true })
9882
9911
  ] }) })
9883
9912
  ] })
9884
9913
  ] });
@@ -9886,8 +9915,8 @@ function CompanyConfigurationEditorInternal({ company }) {
9886
9915
  __name(CompanyConfigurationEditorInternal, "CompanyConfigurationEditorInternal");
9887
9916
  function CompanyConfigurationEditor(props) {
9888
9917
  const { hasRole } = useCurrentUserContext();
9889
- if (hasRole(getRoleId().Administrator)) return /* @__PURE__ */ jsx101(CompanyConfigurationEditorInternal, { ...props });
9890
- return /* @__PURE__ */ jsx101(CompanyConfigurationEditorInternal, { ...props });
9918
+ if (hasRole(getRoleId().Administrator)) return /* @__PURE__ */ jsx102(CompanyConfigurationEditorInternal, { ...props });
9919
+ return /* @__PURE__ */ jsx102(CompanyConfigurationEditorInternal, { ...props });
9891
9920
  }
9892
9921
  __name(CompanyConfigurationEditor, "CompanyConfigurationEditor");
9893
9922
 
@@ -9895,7 +9924,7 @@ __name(CompanyConfigurationEditor, "CompanyConfigurationEditor");
9895
9924
  import { LoaderCircleIcon as LoaderCircleIcon2, Trash2Icon as Trash2Icon2 } from "lucide-react";
9896
9925
  import { useTranslations as useTranslations29 } from "next-intl";
9897
9926
  import { useState as useState26 } from "react";
9898
- import { Fragment as Fragment10, jsx as jsx102, jsxs as jsxs59 } from "react/jsx-runtime";
9927
+ import { Fragment as Fragment10, jsx as jsx103, jsxs as jsxs60 } from "react/jsx-runtime";
9899
9928
  function CompanyDeleterInternal({ company }) {
9900
9929
  const t = useTranslations29();
9901
9930
  const router = useI18nRouter();
@@ -9912,25 +9941,25 @@ function CompanyDeleterInternal({ company }) {
9912
9941
  }
9913
9942
  setIsDeleting(false);
9914
9943
  }, "handleDelete");
9915
- return /* @__PURE__ */ jsxs59(AlertDialog, { open, onOpenChange: setOpen, children: [
9916
- /* @__PURE__ */ jsx102(AlertDialogTrigger, { children: /* @__PURE__ */ jsxs59(Button, { size: "sm", variant: "destructive", children: [
9917
- /* @__PURE__ */ jsx102(Trash2Icon2, { className: "mr-3 h-3.5 w-3.5" }),
9944
+ return /* @__PURE__ */ jsxs60(AlertDialog, { open, onOpenChange: setOpen, children: [
9945
+ /* @__PURE__ */ jsx103(AlertDialogTrigger, { children: /* @__PURE__ */ jsxs60(Button, { size: "sm", variant: "destructive", children: [
9946
+ /* @__PURE__ */ jsx103(Trash2Icon2, { className: "mr-3 h-3.5 w-3.5" }),
9918
9947
  t(`ui.buttons.delete`)
9919
9948
  ] }) }),
9920
- /* @__PURE__ */ jsxs59(AlertDialogContent, { className: `flex max-h-[70vh] max-w-3xl flex-col overflow-y-auto`, children: [
9921
- /* @__PURE__ */ jsxs59(AlertDialogHeader, { children: [
9922
- /* @__PURE__ */ jsx102(AlertDialogTitle, { children: t(`common.delete.title`, { type: t(`entities.companies`, { count: 1 }) }) }),
9923
- /* @__PURE__ */ jsx102(AlertDialogDescription, { children: t(`common.delete.subtitle`, { type: t(`entities.companies`, { count: 1 }) }) })
9949
+ /* @__PURE__ */ jsxs60(AlertDialogContent, { className: `flex max-h-[70vh] max-w-3xl flex-col overflow-y-auto`, children: [
9950
+ /* @__PURE__ */ jsxs60(AlertDialogHeader, { children: [
9951
+ /* @__PURE__ */ jsx103(AlertDialogTitle, { children: t(`common.delete.title`, { type: t(`entities.companies`, { count: 1 }) }) }),
9952
+ /* @__PURE__ */ jsx103(AlertDialogDescription, { children: t(`common.delete.subtitle`, { type: t(`entities.companies`, { count: 1 }) }) })
9924
9953
  ] }),
9925
- /* @__PURE__ */ jsx102("div", { className: "text-destructive p-4 text-sm", children: t(`common.delete.description`, { type: t(`entities.companies`, { count: 1 }) }) }),
9926
- /* @__PURE__ */ jsxs59("div", { className: "flex w-full flex-col gap-y-2", children: [
9927
- /* @__PURE__ */ jsx102("div", { children: t(`common.delete.confirmation`, { type: t(`entities.companies`, { count: 1 }) }) }),
9928
- /* @__PURE__ */ jsxs59("div", { className: "flex w-full flex-col", children: [
9929
- /* @__PURE__ */ jsxs59(Label, { className: "flex items-center", children: [
9954
+ /* @__PURE__ */ jsx103("div", { className: "text-destructive p-4 text-sm", children: t(`common.delete.description`, { type: t(`entities.companies`, { count: 1 }) }) }),
9955
+ /* @__PURE__ */ jsxs60("div", { className: "flex w-full flex-col gap-y-2", children: [
9956
+ /* @__PURE__ */ jsx103("div", { children: t(`common.delete.confirmation`, { type: t(`entities.companies`, { count: 1 }) }) }),
9957
+ /* @__PURE__ */ jsxs60("div", { className: "flex w-full flex-col", children: [
9958
+ /* @__PURE__ */ jsxs60(Label, { className: "flex items-center", children: [
9930
9959
  t(`company.fields.name.label`),
9931
- /* @__PURE__ */ jsx102("span", { className: "text-destructive ml-2 font-semibold", children: "*" })
9960
+ /* @__PURE__ */ jsx103("span", { className: "text-destructive ml-2 font-semibold", children: "*" })
9932
9961
  ] }),
9933
- /* @__PURE__ */ jsx102(
9962
+ /* @__PURE__ */ jsx103(
9934
9963
  Input,
9935
9964
  {
9936
9965
  className: `w-full`,
@@ -9940,8 +9969,8 @@ function CompanyDeleterInternal({ company }) {
9940
9969
  )
9941
9970
  ] })
9942
9971
  ] }),
9943
- /* @__PURE__ */ jsxs59("div", { className: "flex justify-end", children: [
9944
- /* @__PURE__ */ jsx102(
9972
+ /* @__PURE__ */ jsxs60("div", { className: "flex justify-end", children: [
9973
+ /* @__PURE__ */ jsx103(
9945
9974
  Button,
9946
9975
  {
9947
9976
  className: "mr-2",
@@ -9952,7 +9981,7 @@ function CompanyDeleterInternal({ company }) {
9952
9981
  children: t(`ui.buttons.cancel`)
9953
9982
  }
9954
9983
  ),
9955
- /* @__PURE__ */ jsx102(
9984
+ /* @__PURE__ */ jsx103(
9956
9985
  Button,
9957
9986
  {
9958
9987
  type: "submit",
@@ -9962,9 +9991,9 @@ function CompanyDeleterInternal({ company }) {
9962
9991
  },
9963
9992
  variant: "destructive",
9964
9993
  disabled: company.name !== companyName || isDeleting,
9965
- children: isDeleting ? /* @__PURE__ */ jsxs59(Fragment10, { children: [
9994
+ children: isDeleting ? /* @__PURE__ */ jsxs60(Fragment10, { children: [
9966
9995
  t(`ui.buttons.deleting`),
9967
- /* @__PURE__ */ jsx102(LoaderCircleIcon2, { className: "animate-spin-slow h-5 w-5" })
9996
+ /* @__PURE__ */ jsx103(LoaderCircleIcon2, { className: "animate-spin-slow h-5 w-5" })
9968
9997
  ] }) : t(`ui.buttons.delete`)
9969
9998
  }
9970
9999
  )
@@ -9977,7 +10006,7 @@ function CompanyDeleter({ company }) {
9977
10006
  const { hasPermissionToModule, hasRole } = useCurrentUserContext();
9978
10007
  if (!hasRole(getRoleId().Administrator) && !hasPermissionToModule({ module: Modules.Company, action: "delete" /* Delete */ }))
9979
10008
  return null;
9980
- return /* @__PURE__ */ jsx102(CompanyDeleterInternal, { company });
10009
+ return /* @__PURE__ */ jsx103(CompanyDeleterInternal, { company });
9981
10010
  }
9982
10011
  __name(CompanyDeleter, "CompanyDeleter");
9983
10012
 
@@ -9991,7 +10020,7 @@ import { useEffect as useEffect20, useState as useState27 } from "react";
9991
10020
  import { useForm as useForm3 } from "react-hook-form";
9992
10021
  import { v4 as v42 } from "uuid";
9993
10022
  import { z as z3 } from "zod";
9994
- import { Fragment as Fragment11, jsx as jsx103, jsxs as jsxs60 } from "react/jsx-runtime";
10023
+ import { Fragment as Fragment11, jsx as jsx104, jsxs as jsxs61 } from "react/jsx-runtime";
9995
10024
  function CompanyEditorInternal({ company, propagateChanges, onRevalidate }) {
9996
10025
  const { hasRole } = useCurrentUserContext();
9997
10026
  const router = useI18nRouter();
@@ -10106,17 +10135,17 @@ function CompanyEditorInternal({ company, propagateChanges, onRevalidate }) {
10106
10135
  };
10107
10136
  const canAccessFeatures = hasRole(getRoleId().Administrator) || hasRole(getRoleId().CompanyAdministrator) && process.env.NEXT_PUBLIC_PRIVATE_INSTALLATION?.toLowerCase() === "true";
10108
10137
  const isAdministrator = hasRole(getRoleId().Administrator);
10109
- return /* @__PURE__ */ jsxs60(Dialog, { open, onOpenChange: setOpen, children: [
10110
- /* @__PURE__ */ jsx103(CommonEditorTrigger, { isEdit: !!company }),
10111
- /* @__PURE__ */ jsxs60(
10138
+ return /* @__PURE__ */ jsxs61(Dialog, { open, onOpenChange: setOpen, children: [
10139
+ /* @__PURE__ */ jsx104(CommonEditorTrigger, { isEdit: !!company }),
10140
+ /* @__PURE__ */ jsxs61(
10112
10141
  DialogContent,
10113
10142
  {
10114
10143
  className: `flex max-h-[70vh] w-full ${isAdministrator || canAccessFeatures ? `max-w-5xl` : `max-w-4xl`} flex-col overflow-y-auto`,
10115
10144
  children: [
10116
- /* @__PURE__ */ jsx103(CommonEditorHeader, { type: t(`entities.companies`, { count: 1 }), name: company?.name }),
10117
- /* @__PURE__ */ jsx103(Form, { ...form, children: /* @__PURE__ */ jsxs60("form", { onSubmit: form.handleSubmit(onSubmit), className: `flex w-full flex-col gap-y-4`, children: [
10118
- /* @__PURE__ */ jsxs60("div", { className: "flex w-full items-start justify-between gap-x-4", children: [
10119
- /* @__PURE__ */ jsx103("div", { className: `flex w-96 flex-col justify-start gap-y-4`, children: /* @__PURE__ */ jsx103(FileUploader, { value: files, onValueChange: setFiles, dropzoneOptions: dropzone2, className: "w-full p-4", children: /* @__PURE__ */ jsx103(FileInput, { className: "text-neutral-300 outline-dashed", children: /* @__PURE__ */ jsx103("div", { className: "flex w-full flex-col items-center justify-center pt-3 pb-4", children: /* @__PURE__ */ jsx103("div", { className: "flex w-full flex-col items-center justify-center pt-3 pb-4", children: file || company?.logo ? /* @__PURE__ */ jsx103(
10145
+ /* @__PURE__ */ jsx104(CommonEditorHeader, { type: t(`entities.companies`, { count: 1 }), name: company?.name }),
10146
+ /* @__PURE__ */ jsx104(Form, { ...form, children: /* @__PURE__ */ jsxs61("form", { onSubmit: form.handleSubmit(onSubmit), className: `flex w-full flex-col gap-y-4`, children: [
10147
+ /* @__PURE__ */ jsxs61("div", { className: "flex w-full items-start justify-between gap-x-4", children: [
10148
+ /* @__PURE__ */ jsx104("div", { className: `flex w-96 flex-col justify-start gap-y-4`, children: /* @__PURE__ */ jsx104(FileUploader, { value: files, onValueChange: setFiles, dropzoneOptions: dropzone2, className: "w-full p-4", children: /* @__PURE__ */ jsx104(FileInput, { className: "text-neutral-300 outline-dashed", children: /* @__PURE__ */ jsx104("div", { className: "flex w-full flex-col items-center justify-center pt-3 pb-4", children: /* @__PURE__ */ jsx104("div", { className: "flex w-full flex-col items-center justify-center pt-3 pb-4", children: file || company?.logo ? /* @__PURE__ */ jsx104(
10120
10149
  Image6,
10121
10150
  {
10122
10151
  src: file ? URL.createObjectURL(file) : company?.logo || "",
@@ -10124,11 +10153,11 @@ function CompanyEditorInternal({ company, propagateChanges, onRevalidate }) {
10124
10153
  width: 200,
10125
10154
  height: 200
10126
10155
  }
10127
- ) : /* @__PURE__ */ jsxs60(Fragment11, { children: [
10128
- /* @__PURE__ */ jsx103(UploadIcon3, { className: "my-4 h-8 w-8" }),
10129
- /* @__PURE__ */ jsx103("p", { className: "mb-1 flex w-full text-center text-sm", children: t(`company.click_drag_logo`) })
10156
+ ) : /* @__PURE__ */ jsxs61(Fragment11, { children: [
10157
+ /* @__PURE__ */ jsx104(UploadIcon3, { className: "my-4 h-8 w-8" }),
10158
+ /* @__PURE__ */ jsx104("p", { className: "mb-1 flex w-full text-center text-sm", children: t(`company.click_drag_logo`) })
10130
10159
  ] }) }) }) }) }) }),
10131
- /* @__PURE__ */ jsx103("div", { className: `flex w-full flex-col justify-start gap-y-4`, children: /* @__PURE__ */ jsx103(
10160
+ /* @__PURE__ */ jsx104("div", { className: `flex w-full flex-col justify-start gap-y-4`, children: /* @__PURE__ */ jsx104(
10132
10161
  FormInput,
10133
10162
  {
10134
10163
  form,
@@ -10137,9 +10166,9 @@ function CompanyEditorInternal({ company, propagateChanges, onRevalidate }) {
10137
10166
  placeholder: t(`company.fields.name.placeholder`)
10138
10167
  }
10139
10168
  ) }),
10140
- canAccessFeatures && /* @__PURE__ */ jsx103("div", { className: `flex w-96 flex-col justify-start gap-y-4`, children: /* @__PURE__ */ jsx103(ScrollArea, { className: "h-max", children: /* @__PURE__ */ jsx103(FormFeatures, { form, name: t(`company.features_and_modules`), features }) }) })
10169
+ canAccessFeatures && /* @__PURE__ */ jsx104("div", { className: `flex w-96 flex-col justify-start gap-y-4`, children: /* @__PURE__ */ jsx104(ScrollArea, { className: "h-max", children: /* @__PURE__ */ jsx104(FormFeatures, { form, name: t(`company.features_and_modules`), features }) }) })
10141
10170
  ] }),
10142
- /* @__PURE__ */ jsx103(CommonEditorButtons, { form, setOpen, isEdit: !!company })
10171
+ /* @__PURE__ */ jsx104(CommonEditorButtons, { form, setOpen, isEdit: !!company })
10143
10172
  ] }) })
10144
10173
  ]
10145
10174
  }
@@ -10148,13 +10177,13 @@ function CompanyEditorInternal({ company, propagateChanges, onRevalidate }) {
10148
10177
  }
10149
10178
  __name(CompanyEditorInternal, "CompanyEditorInternal");
10150
10179
  function CompanyEditor(props) {
10151
- return /* @__PURE__ */ jsx103(CompanyEditorInternal, { ...props });
10180
+ return /* @__PURE__ */ jsx104(CompanyEditorInternal, { ...props });
10152
10181
  }
10153
10182
  __name(CompanyEditor, "CompanyEditor");
10154
10183
 
10155
10184
  // src/features/company/components/lists/CompaniesList.tsx
10156
10185
  import { useTranslations as useTranslations31 } from "next-intl";
10157
- import { jsx as jsx104 } from "react/jsx-runtime";
10186
+ import { jsx as jsx105 } from "react/jsx-runtime";
10158
10187
  function CompaniesList() {
10159
10188
  const t = useTranslations31();
10160
10189
  const data = useDataListRetriever({
@@ -10162,8 +10191,8 @@ function CompaniesList() {
10162
10191
  retrieverParams: {},
10163
10192
  module: Modules.Company
10164
10193
  });
10165
- const functions = [/* @__PURE__ */ jsx104(CompanyEditor, {}, "create-account")];
10166
- return /* @__PURE__ */ jsx104(
10194
+ const functions = [/* @__PURE__ */ jsx105(CompanyEditor, {}, "create-account")];
10195
+ return /* @__PURE__ */ jsx105(
10167
10196
  ContentListTable,
10168
10197
  {
10169
10198
  data,
@@ -10177,7 +10206,7 @@ function CompaniesList() {
10177
10206
  __name(CompaniesList, "CompaniesList");
10178
10207
 
10179
10208
  // src/features/company/contexts/CompanyContext.tsx
10180
- import { jsx as jsx105 } from "react/jsx-runtime";
10209
+ import { jsx as jsx106 } from "react/jsx-runtime";
10181
10210
  var CompanyContext = createContext10(void 0);
10182
10211
  var defaultContextValue2 = {
10183
10212
  company: void 0,
@@ -10207,14 +10236,14 @@ var CompanyProvider = /* @__PURE__ */ __name(({ children, dehydratedCompany }) =
10207
10236
  if (company) response.element = company.name;
10208
10237
  const functions = [];
10209
10238
  if (company && hasRole(getRoleId().Administrator) && hasPermissionToModule({ module: Modules.Company, action: "delete" /* Delete */ }))
10210
- functions.push(/* @__PURE__ */ jsx105(CompanyDeleter, { company }, "companyDeleter"));
10239
+ functions.push(/* @__PURE__ */ jsx106(CompanyDeleter, { company }, "companyDeleter"));
10211
10240
  if (hasRole(getRoleId().Administrator) || hasPermissionToModule({ module: Modules.Company, action: "update" /* Update */ })) {
10212
- functions.push(/* @__PURE__ */ jsx105(CompanyEditor, { company, propagateChanges: setCompany }, "companyEditor"));
10241
+ functions.push(/* @__PURE__ */ jsx106(CompanyEditor, { company, propagateChanges: setCompany }, "companyEditor"));
10213
10242
  }
10214
10243
  if (functions.length > 0) response.functions = functions;
10215
10244
  return response;
10216
10245
  }, "title");
10217
- return /* @__PURE__ */ jsx105(SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ jsx105(
10246
+ return /* @__PURE__ */ jsx106(SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ jsx106(
10218
10247
  CompanyContext.Provider,
10219
10248
  {
10220
10249
  value: {
@@ -10236,7 +10265,7 @@ import { createContext as createContext11, useCallback as useCallback13, useCont
10236
10265
  // src/features/notification/components/notifications/Notification.tsx
10237
10266
  import { useTranslations as useTranslations33 } from "next-intl";
10238
10267
  import { useEffect as useEffect21, useState as useState29 } from "react";
10239
- import { jsx as jsx106, jsxs as jsxs61 } from "react/jsx-runtime";
10268
+ import { jsx as jsx107, jsxs as jsxs62 } from "react/jsx-runtime";
10240
10269
  var generateNotificationData = /* @__PURE__ */ __name((params) => {
10241
10270
  const response = {};
10242
10271
  response.actor = params.notification.actor;
@@ -10249,16 +10278,16 @@ function NotificationToast(notification, t, generateUrl, reouter) {
10249
10278
  const data = generateNotificationData({ notification, generateUrl });
10250
10279
  return {
10251
10280
  title: t(`notification.${notification.notificationType}.title`),
10252
- description: /* @__PURE__ */ jsxs61("div", { className: `flex w-full flex-row items-center p-2`, children: [
10253
- data.actor ? /* @__PURE__ */ jsx106("div", { className: "flex w-12 max-w-12 px-2", children: /* @__PURE__ */ jsx106(UserAvatar, { user: data.actor, className: "h-8 w-8" }) }) : /* @__PURE__ */ jsx106("div", { className: "flex w-14 max-w-14 px-2" }),
10254
- /* @__PURE__ */ jsxs61("div", { className: "flex w-full flex-col", children: [
10255
- /* @__PURE__ */ jsx106("p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
10256
- strong: /* @__PURE__ */ __name((chunks) => /* @__PURE__ */ jsx106("strong", { children: chunks }), "strong"),
10281
+ description: /* @__PURE__ */ jsxs62("div", { className: `flex w-full flex-row items-center p-2`, children: [
10282
+ data.actor ? /* @__PURE__ */ jsx107("div", { className: "flex w-12 max-w-12 px-2", children: /* @__PURE__ */ jsx107(UserAvatar, { user: data.actor, className: "h-8 w-8" }) }) : /* @__PURE__ */ jsx107("div", { className: "flex w-14 max-w-14 px-2" }),
10283
+ /* @__PURE__ */ jsxs62("div", { className: "flex w-full flex-col", children: [
10284
+ /* @__PURE__ */ jsx107("p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
10285
+ strong: /* @__PURE__ */ __name((chunks) => /* @__PURE__ */ jsx107("strong", { children: chunks }), "strong"),
10257
10286
  actor: data.actor?.name ?? "",
10258
10287
  title: data.title,
10259
10288
  message: notification.message ?? ""
10260
10289
  }) }),
10261
- /* @__PURE__ */ jsx106("div", { className: "text-muted-foreground mt-1 w-full text-xs", children: new Date(notification.createdAt).toLocaleString() })
10290
+ /* @__PURE__ */ jsx107("div", { className: "text-muted-foreground mt-1 w-full text-xs", children: new Date(notification.createdAt).toLocaleString() })
10262
10291
  ] })
10263
10292
  ] }),
10264
10293
  action: data.url ? {
@@ -10278,25 +10307,25 @@ function NotificationMenuItem({ notification, closePopover }) {
10278
10307
  setIsRead(notification.isRead);
10279
10308
  }, []);
10280
10309
  const data = generateNotificationData({ notification, generateUrl });
10281
- const response = /* @__PURE__ */ jsxs61("div", { className: `flex w-full flex-row p-2 ${isRead ? "" : "bg-muted"} items-center`, children: [
10282
- data.actor ? /* @__PURE__ */ jsx106("div", { className: "flex w-12 max-w-12 px-2", children: /* @__PURE__ */ jsx106(UserAvatar, { user: data.actor, className: "h-8 w-8" }) }) : /* @__PURE__ */ jsx106("div", { className: "flex w-14 max-w-14 px-2" }),
10283
- /* @__PURE__ */ jsxs61("div", { className: "flex w-full flex-col", children: [
10284
- /* @__PURE__ */ jsx106("p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
10285
- strong: /* @__PURE__ */ __name((chunks) => /* @__PURE__ */ jsx106("strong", { children: chunks }), "strong"),
10310
+ const response = /* @__PURE__ */ jsxs62("div", { className: `flex w-full flex-row p-2 ${isRead ? "" : "bg-muted"} items-center`, children: [
10311
+ data.actor ? /* @__PURE__ */ jsx107("div", { className: "flex w-12 max-w-12 px-2", children: /* @__PURE__ */ jsx107(UserAvatar, { user: data.actor, className: "h-8 w-8" }) }) : /* @__PURE__ */ jsx107("div", { className: "flex w-14 max-w-14 px-2" }),
10312
+ /* @__PURE__ */ jsxs62("div", { className: "flex w-full flex-col", children: [
10313
+ /* @__PURE__ */ jsx107("p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
10314
+ strong: /* @__PURE__ */ __name((chunks) => /* @__PURE__ */ jsx107("strong", { children: chunks }), "strong"),
10286
10315
  actor: data.actor?.name ?? "",
10287
10316
  title: data.title,
10288
10317
  message: notification.message ?? ""
10289
10318
  }) }),
10290
- /* @__PURE__ */ jsx106("div", { className: "text-muted-foreground mt-1 w-full text-xs", children: new Date(notification.createdAt).toLocaleString() })
10319
+ /* @__PURE__ */ jsx107("div", { className: "text-muted-foreground mt-1 w-full text-xs", children: new Date(notification.createdAt).toLocaleString() })
10291
10320
  ] })
10292
10321
  ] });
10293
10322
  if (!data.url) return response;
10294
- return /* @__PURE__ */ jsx106(Link, { href: data.url, onClick: closePopover, children: response });
10323
+ return /* @__PURE__ */ jsx107(Link, { href: data.url, onClick: closePopover, children: response });
10295
10324
  }
10296
10325
  __name(NotificationMenuItem, "NotificationMenuItem");
10297
10326
 
10298
10327
  // src/features/notification/contexts/NotificationContext.tsx
10299
- import { jsx as jsx107 } from "react/jsx-runtime";
10328
+ import { jsx as jsx108 } from "react/jsx-runtime";
10300
10329
  var NotificationContext = createContext11(void 0);
10301
10330
  var NotificationContextProvider = /* @__PURE__ */ __name(({ children }) => {
10302
10331
  const t = useTranslations34();
@@ -10382,7 +10411,7 @@ var NotificationContextProvider = /* @__PURE__ */ __name(({ children }) => {
10382
10411
  return NotificationToast(notification, t2, generateUrl, router);
10383
10412
  }, "generateToastNotification");
10384
10413
  const generateNotification = /* @__PURE__ */ __name((notification, closePopover) => {
10385
- return /* @__PURE__ */ jsx107(NotificationMenuItem, { notification, closePopover });
10414
+ return /* @__PURE__ */ jsx108(NotificationMenuItem, { notification, closePopover });
10386
10415
  }, "generateNotification");
10387
10416
  const breadcrumb = /* @__PURE__ */ __name(() => {
10388
10417
  const response = [];
@@ -10397,7 +10426,7 @@ var NotificationContextProvider = /* @__PURE__ */ __name(({ children }) => {
10397
10426
  };
10398
10427
  return response;
10399
10428
  }, "title");
10400
- return /* @__PURE__ */ jsx107(SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ jsx107(
10429
+ return /* @__PURE__ */ jsx108(SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ jsx108(
10401
10430
  NotificationContext.Provider,
10402
10431
  {
10403
10432
  value: {
@@ -10429,7 +10458,7 @@ var useNotificationContext = /* @__PURE__ */ __name(() => {
10429
10458
  // src/features/role/contexts/RoleContext.tsx
10430
10459
  import { useTranslations as useTranslations35 } from "next-intl";
10431
10460
  import { createContext as createContext12, useContext as useContext13, useState as useState31 } from "react";
10432
- import { jsx as jsx108 } from "react/jsx-runtime";
10461
+ import { jsx as jsx109 } from "react/jsx-runtime";
10433
10462
  var RoleContext = createContext12(void 0);
10434
10463
  var RoleProvider = /* @__PURE__ */ __name(({ children, dehydratedRole }) => {
10435
10464
  const generateUrl = usePageUrlGenerator();
@@ -10461,7 +10490,7 @@ var RoleProvider = /* @__PURE__ */ __name(({ children, dehydratedRole }) => {
10461
10490
  if (functions.length > 0) response.functions = functions;
10462
10491
  return response;
10463
10492
  }, "title");
10464
- return /* @__PURE__ */ jsx108(SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ jsx108(
10493
+ return /* @__PURE__ */ jsx109(SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ jsx109(
10465
10494
  RoleContext.Provider,
10466
10495
  {
10467
10496
  value: {
@@ -10486,10 +10515,10 @@ import { createContext as createContext14, useContext as useContext15 } from "re
10486
10515
 
10487
10516
  // src/contexts/SharedContext.tsx
10488
10517
  import { createContext as createContext13, useContext as useContext14 } from "react";
10489
- import { jsx as jsx109 } from "react/jsx-runtime";
10518
+ import { jsx as jsx110 } from "react/jsx-runtime";
10490
10519
  var SharedContext = createContext13(null);
10491
10520
  var SharedProvider = /* @__PURE__ */ __name(({ children, value }) => {
10492
- return /* @__PURE__ */ jsx109(SharedContext.Provider, { value, children });
10521
+ return /* @__PURE__ */ jsx110(SharedContext.Provider, { value, children });
10493
10522
  }, "SharedProvider");
10494
10523
  var useSharedContext = /* @__PURE__ */ __name(() => {
10495
10524
  const context = useContext14(SharedContext);
@@ -10500,7 +10529,7 @@ var useSharedContext = /* @__PURE__ */ __name(() => {
10500
10529
  }, "useSharedContext");
10501
10530
 
10502
10531
  // src/contexts/CommonContext.tsx
10503
- import { jsx as jsx110 } from "react/jsx-runtime";
10532
+ import { jsx as jsx111 } from "react/jsx-runtime";
10504
10533
  var CommonContext = createContext14(void 0);
10505
10534
  var CommonProvider = /* @__PURE__ */ __name(({ children }) => {
10506
10535
  const { company } = useCurrentUserContext();
@@ -10516,7 +10545,7 @@ var CommonProvider = /* @__PURE__ */ __name(({ children }) => {
10516
10545
  if (company) response.element = company.name;
10517
10546
  return response;
10518
10547
  }, "title");
10519
- return /* @__PURE__ */ jsx110(SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ jsx110(CommonContext.Provider, { value: {}, children }) });
10548
+ return /* @__PURE__ */ jsx111(SharedProvider, { value: { breadcrumbs: breadcrumb(), title: title() }, children: /* @__PURE__ */ jsx111(CommonContext.Provider, { value: {}, children }) });
10520
10549
  }, "CommonProvider");
10521
10550
  var useCommonContext = /* @__PURE__ */ __name(() => {
10522
10551
  const context = useContext15(CommonContext);
@@ -10795,30 +10824,30 @@ function useSocket({ token }) {
10795
10824
  __name(useSocket, "useSocket");
10796
10825
 
10797
10826
  // src/components/navigations/Breadcrumb.tsx
10798
- import { Fragment as Fragment13, jsx as jsx111, jsxs as jsxs62 } from "react/jsx-runtime";
10827
+ import { Fragment as Fragment13, jsx as jsx112, jsxs as jsxs63 } from "react/jsx-runtime";
10799
10828
  var ITEMS_TO_DISPLAY = 3;
10800
10829
  function BreadcrumbNavigation({ items }) {
10801
10830
  const generateUrl = usePageUrlGenerator();
10802
10831
  const t = useTranslations37();
10803
10832
  const [open, setOpen] = useState33(false);
10804
- return /* @__PURE__ */ jsx111(Breadcrumb, { children: /* @__PURE__ */ jsxs62(BreadcrumbList, { children: [
10805
- /* @__PURE__ */ jsx111(BreadcrumbItem, { children: /* @__PURE__ */ jsx111(Link, { href: generateUrl({ page: `/` }), children: t(`common.home`) }) }),
10806
- items.length > 0 && /* @__PURE__ */ jsx111(BreadcrumbSeparator, {}),
10807
- items.length > ITEMS_TO_DISPLAY ? /* @__PURE__ */ jsxs62(Fragment13, { children: [
10808
- /* @__PURE__ */ jsx111(BreadcrumbItem, { children: items[0].href ? /* @__PURE__ */ jsx111(Link, { href: items[0].href, children: items[0].name }) : /* @__PURE__ */ jsx111(Fragment13, { children: items[0].name }) }),
10809
- /* @__PURE__ */ jsx111(BreadcrumbSeparator, {}),
10810
- /* @__PURE__ */ jsx111(BreadcrumbItem, { children: /* @__PURE__ */ jsxs62(DropdownMenu, { open, onOpenChange: setOpen, children: [
10811
- /* @__PURE__ */ jsx111(DropdownMenuTrigger, { className: "flex items-center gap-1", "aria-label": "Toggle menu", children: /* @__PURE__ */ jsx111(BreadcrumbEllipsis, { className: "h-4 w-4" }) }),
10812
- /* @__PURE__ */ jsx111(DropdownMenuContent, { align: "start", children: items.slice(1, -ITEMS_TO_DISPLAY + 1).map((item, index) => /* @__PURE__ */ jsx111(DropdownMenuItem, { children: /* @__PURE__ */ jsx111(Link, { href: item.href ? item.href : "#", children: item.name }) }, index)) })
10833
+ return /* @__PURE__ */ jsx112(Breadcrumb, { children: /* @__PURE__ */ jsxs63(BreadcrumbList, { children: [
10834
+ /* @__PURE__ */ jsx112(BreadcrumbItem, { children: /* @__PURE__ */ jsx112(Link, { href: generateUrl({ page: `/` }), children: t(`common.home`) }) }),
10835
+ items.length > 0 && /* @__PURE__ */ jsx112(BreadcrumbSeparator, {}),
10836
+ items.length > ITEMS_TO_DISPLAY ? /* @__PURE__ */ jsxs63(Fragment13, { children: [
10837
+ /* @__PURE__ */ jsx112(BreadcrumbItem, { children: items[0].href ? /* @__PURE__ */ jsx112(Link, { href: items[0].href, children: items[0].name }) : /* @__PURE__ */ jsx112(Fragment13, { children: items[0].name }) }),
10838
+ /* @__PURE__ */ jsx112(BreadcrumbSeparator, {}),
10839
+ /* @__PURE__ */ jsx112(BreadcrumbItem, { children: /* @__PURE__ */ jsxs63(DropdownMenu, { open, onOpenChange: setOpen, children: [
10840
+ /* @__PURE__ */ jsx112(DropdownMenuTrigger, { className: "flex items-center gap-1", "aria-label": "Toggle menu", children: /* @__PURE__ */ jsx112(BreadcrumbEllipsis, { className: "h-4 w-4" }) }),
10841
+ /* @__PURE__ */ jsx112(DropdownMenuContent, { align: "start", children: items.slice(1, -ITEMS_TO_DISPLAY + 1).map((item, index) => /* @__PURE__ */ jsx112(DropdownMenuItem, { children: /* @__PURE__ */ jsx112(Link, { href: item.href ? item.href : "#", children: item.name }) }, index)) })
10813
10842
  ] }) }),
10814
- /* @__PURE__ */ jsx111(BreadcrumbSeparator, {}),
10815
- items.slice(-ITEMS_TO_DISPLAY + 1).map((item, index) => /* @__PURE__ */ jsxs62(Fragment12, { children: [
10816
- /* @__PURE__ */ jsx111(BreadcrumbItem, { children: item.href ? /* @__PURE__ */ jsx111(Link, { href: item.href, children: item.name }) : /* @__PURE__ */ jsx111(Fragment13, { children: item.name }) }),
10817
- index < items.slice(-ITEMS_TO_DISPLAY + 1).length - 1 && /* @__PURE__ */ jsx111(BreadcrumbSeparator, {})
10843
+ /* @__PURE__ */ jsx112(BreadcrumbSeparator, {}),
10844
+ items.slice(-ITEMS_TO_DISPLAY + 1).map((item, index) => /* @__PURE__ */ jsxs63(Fragment12, { children: [
10845
+ /* @__PURE__ */ jsx112(BreadcrumbItem, { children: item.href ? /* @__PURE__ */ jsx112(Link, { href: item.href, children: item.name }) : /* @__PURE__ */ jsx112(Fragment13, { children: item.name }) }),
10846
+ index < items.slice(-ITEMS_TO_DISPLAY + 1).length - 1 && /* @__PURE__ */ jsx112(BreadcrumbSeparator, {})
10818
10847
  ] }, index))
10819
- ] }) : /* @__PURE__ */ jsx111(Fragment13, { children: items.map((item, index) => /* @__PURE__ */ jsxs62(Fragment12, { children: [
10820
- /* @__PURE__ */ jsx111(BreadcrumbItem, { children: item.href ? /* @__PURE__ */ jsx111(Link, { href: item.href, children: item.name }) : /* @__PURE__ */ jsx111(Fragment13, { children: item.name }) }),
10821
- index < items.length - 1 && /* @__PURE__ */ jsx111(BreadcrumbSeparator, {})
10848
+ ] }) : /* @__PURE__ */ jsx112(Fragment13, { children: items.map((item, index) => /* @__PURE__ */ jsxs63(Fragment12, { children: [
10849
+ /* @__PURE__ */ jsx112(BreadcrumbItem, { children: item.href ? /* @__PURE__ */ jsx112(Link, { href: item.href, children: item.name }) : /* @__PURE__ */ jsx112(Fragment13, { children: item.name }) }),
10850
+ index < items.length - 1 && /* @__PURE__ */ jsx112(BreadcrumbSeparator, {})
10822
10851
  ] }, index)) })
10823
10852
  ] }) });
10824
10853
  }
@@ -10826,7 +10855,7 @@ __name(BreadcrumbNavigation, "BreadcrumbNavigation");
10826
10855
 
10827
10856
  // src/components/navigations/ContentTitle.tsx
10828
10857
  import { useEffect as useEffect27, useState as useState34 } from "react";
10829
- import { jsx as jsx112, jsxs as jsxs63 } from "react/jsx-runtime";
10858
+ import { jsx as jsx113, jsxs as jsxs64 } from "react/jsx-runtime";
10830
10859
  function ContentTitle({ module, type, element, functions, className }) {
10831
10860
  const [clientFunctions, setClientFunctions] = useState34(null);
10832
10861
  const [isClient, setIsClient] = useState34(false);
@@ -10835,15 +10864,15 @@ function ContentTitle({ module, type, element, functions, className }) {
10835
10864
  setClientFunctions(functions);
10836
10865
  }, [functions]);
10837
10866
  if (!element) return null;
10838
- return /* @__PURE__ */ jsxs63("div", { className: cn(`mb-4 flex items-center justify-between gap-x-4 w-full`, className), children: [
10839
- /* @__PURE__ */ jsxs63("div", { className: "flex flex-col w-full", children: [
10840
- type && /* @__PURE__ */ jsxs63("div", { className: `text-muted-foreground text-xl font-light flex gap-x-2 items-center`, children: [
10841
- module && module.icon && /* @__PURE__ */ jsx112(module.icon, { className: "w-5 h-5 inline-block" }),
10867
+ return /* @__PURE__ */ jsxs64("div", { className: cn(`mb-4 flex items-center justify-between gap-x-4 w-full`, className), children: [
10868
+ /* @__PURE__ */ jsxs64("div", { className: "flex flex-col w-full", children: [
10869
+ type && /* @__PURE__ */ jsxs64("div", { className: `text-muted-foreground text-xl font-light flex gap-x-2 items-center`, children: [
10870
+ module && module.icon && /* @__PURE__ */ jsx113(module.icon, { className: "w-5 h-5 inline-block" }),
10842
10871
  type
10843
10872
  ] }),
10844
- /* @__PURE__ */ jsx112("div", { className: `text-primary w-full text-3xl font-semibold`, children: element })
10873
+ /* @__PURE__ */ jsx113("div", { className: `text-primary w-full text-3xl font-semibold`, children: element })
10845
10874
  ] }),
10846
- isClient && clientFunctions && /* @__PURE__ */ jsx112("div", { className: "flex flex-row items-center justify-start", children: clientFunctions })
10875
+ isClient && clientFunctions && /* @__PURE__ */ jsx113("div", { className: "flex flex-row items-center justify-start", children: clientFunctions })
10847
10876
  ] });
10848
10877
  }
10849
10878
  __name(ContentTitle, "ContentTitle");
@@ -10851,23 +10880,23 @@ __name(ContentTitle, "ContentTitle");
10851
10880
  // src/components/navigations/Header.tsx
10852
10881
  import { RefreshCwIcon as RefreshCwIcon2 } from "lucide-react";
10853
10882
  import { useTranslations as useTranslations38 } from "next-intl";
10854
- import { jsx as jsx113, jsxs as jsxs64 } from "react/jsx-runtime";
10883
+ import { jsx as jsx114, jsxs as jsxs65 } from "react/jsx-runtime";
10855
10884
  function Header({ children }) {
10856
10885
  const t = useTranslations38();
10857
10886
  const { breadcrumbs } = useSharedContext();
10858
10887
  const { company, hasRole, refreshUser, isRefreshing } = useCurrentUserContext();
10859
10888
  const showTokenStatus = !hasRole(getRoleId().Administrator) && company;
10860
- return /* @__PURE__ */ jsx113("header", { className: `sticky top-0 z-10 flex h-12 flex-col items-center justify-start gap-x-4 border-b`, children: /* @__PURE__ */ jsxs64("div", { className: "bg-sidebar flex h-12 w-full flex-row items-center justify-between pl-2 pr-4", children: [
10861
- /* @__PURE__ */ jsx113(SidebarTrigger, { "aria-label": "Toggle sidebar" }),
10862
- /* @__PURE__ */ jsx113("div", { className: "flex w-full flex-row items-center justify-start", children: /* @__PURE__ */ jsx113(BreadcrumbNavigation, { items: breadcrumbs }) }),
10863
- /* @__PURE__ */ jsx113("div", { className: "flex w-64 flex-row items-center justify-end gap-x-4 whitespace-nowrap", children: /* @__PURE__ */ jsxs64("div", { className: "flex flex-row items-center justify-end gap-x-4 whitespace-nowrap", children: [
10864
- showTokenStatus && /* @__PURE__ */ jsxs64("div", { className: "flex items-center gap-x-2", children: [
10865
- /* @__PURE__ */ jsx113(TokenStatusIndicator, { size: "sm", showExtraPages: true }),
10866
- /* @__PURE__ */ jsxs64(Tooltip2, { children: [
10867
- /* @__PURE__ */ jsx113(
10889
+ return /* @__PURE__ */ jsx114("header", { className: `sticky top-0 z-10 flex h-12 flex-col items-center justify-start gap-x-4 border-b`, children: /* @__PURE__ */ jsxs65("div", { className: "bg-sidebar flex h-12 w-full flex-row items-center justify-between pl-2 pr-4", children: [
10890
+ /* @__PURE__ */ jsx114(SidebarTrigger, { "aria-label": "Toggle sidebar" }),
10891
+ /* @__PURE__ */ jsx114("div", { className: "flex w-full flex-row items-center justify-start", children: /* @__PURE__ */ jsx114(BreadcrumbNavigation, { items: breadcrumbs }) }),
10892
+ /* @__PURE__ */ jsx114("div", { className: "flex w-64 flex-row items-center justify-end gap-x-4 whitespace-nowrap", children: /* @__PURE__ */ jsxs65("div", { className: "flex flex-row items-center justify-end gap-x-4 whitespace-nowrap", children: [
10893
+ showTokenStatus && /* @__PURE__ */ jsxs65("div", { className: "flex items-center gap-x-2", children: [
10894
+ /* @__PURE__ */ jsx114(TokenStatusIndicator, { size: "sm", showExtraPages: true }),
10895
+ /* @__PURE__ */ jsxs65(Tooltip2, { children: [
10896
+ /* @__PURE__ */ jsx114(
10868
10897
  TooltipTrigger,
10869
10898
  {
10870
- render: /* @__PURE__ */ jsx113(
10899
+ render: /* @__PURE__ */ jsx114(
10871
10900
  Button,
10872
10901
  {
10873
10902
  variant: "ghost",
@@ -10878,10 +10907,10 @@ function Header({ children }) {
10878
10907
  "aria-label": t("common.refresh", { defaultValue: "Refresh" })
10879
10908
  }
10880
10909
  ),
10881
- children: /* @__PURE__ */ jsx113(RefreshCwIcon2, { className: `h-3.5 w-3.5 ${isRefreshing ? "animate-spin" : ""}` })
10910
+ children: /* @__PURE__ */ jsx114(RefreshCwIcon2, { className: `h-3.5 w-3.5 ${isRefreshing ? "animate-spin" : ""}` })
10882
10911
  }
10883
10912
  ),
10884
- /* @__PURE__ */ jsx113(TooltipContent, { side: "bottom", children: t("common.refresh", { defaultValue: "Refresh" }) })
10913
+ /* @__PURE__ */ jsx114(TooltipContent, { side: "bottom", children: t("common.refresh", { defaultValue: "Refresh" }) })
10885
10914
  ] })
10886
10915
  ] }),
10887
10916
  children ? children : null
@@ -10893,13 +10922,13 @@ __name(Header, "Header");
10893
10922
  // src/components/navigations/ModeToggleSwitch.tsx
10894
10923
  import { MoonIcon, SunIcon } from "lucide-react";
10895
10924
  import { useTheme as useTheme2 } from "next-themes";
10896
- import { jsx as jsx114 } from "react/jsx-runtime";
10925
+ import { jsx as jsx115 } from "react/jsx-runtime";
10897
10926
  function ModeToggleSwitch() {
10898
10927
  const { theme, setTheme } = useTheme2();
10899
10928
  const handleToggle = /* @__PURE__ */ __name(() => {
10900
10929
  setTheme(theme === "light" ? "dark" : "light");
10901
10930
  }, "handleToggle");
10902
- return /* @__PURE__ */ jsx114("div", { className: "flex items-center", children: /* @__PURE__ */ jsx114(Switch, { checked: theme === "dark", onCheckedChange: handleToggle, className: "relative", children: theme === "dark" ? /* @__PURE__ */ jsx114(MoonIcon, { className: "text-primary-foreground h-4 w-4" }) : /* @__PURE__ */ jsx114(SunIcon, { className: "text-primary h-4 w-4" }) }) });
10931
+ return /* @__PURE__ */ jsx115("div", { className: "flex items-center", children: /* @__PURE__ */ jsx115(Switch, { checked: theme === "dark", onCheckedChange: handleToggle, className: "relative", children: theme === "dark" ? /* @__PURE__ */ jsx115(MoonIcon, { className: "text-primary-foreground h-4 w-4" }) : /* @__PURE__ */ jsx115(SunIcon, { className: "text-primary h-4 w-4" }) }) });
10903
10932
  }
10904
10933
  __name(ModeToggleSwitch, "ModeToggleSwitch");
10905
10934
 
@@ -10907,7 +10936,7 @@ __name(ModeToggleSwitch, "ModeToggleSwitch");
10907
10936
  import { ChevronDownIcon as ChevronDownIcon5, ChevronRightIcon as ChevronRightIcon6 } from "lucide-react";
10908
10937
  import { useEffect as useEffect28, useState as useState35 } from "react";
10909
10938
  import { v4 as v43 } from "uuid";
10910
- import { jsx as jsx115, jsxs as jsxs65 } from "react/jsx-runtime";
10939
+ import { jsx as jsx116, jsxs as jsxs66 } from "react/jsx-runtime";
10911
10940
  function PageSection({ children, title, options, open, small, onToggle }) {
10912
10941
  const [isOpen, setIsOpen] = useState35(open ?? true);
10913
10942
  const [shouldRender, setShouldRender] = useState35(open ?? true);
@@ -10925,26 +10954,26 @@ function PageSection({ children, title, options, open, small, onToggle }) {
10925
10954
  return () => clearTimeout(timer);
10926
10955
  }
10927
10956
  }, [isOpen]);
10928
- return /* @__PURE__ */ jsxs65(
10957
+ return /* @__PURE__ */ jsxs66(
10929
10958
  "section",
10930
10959
  {
10931
10960
  id: title ? title.toLowerCase().replaceAll(" ", "") : v43(),
10932
10961
  className: `${isOpen ? "mb-4" : "my-0"} flex w-full scroll-mt-40 flex-col`,
10933
10962
  children: [
10934
- title && /* @__PURE__ */ jsxs65(
10963
+ title && /* @__PURE__ */ jsxs66(
10935
10964
  "div",
10936
10965
  {
10937
10966
  className: `${isOpen ? "mb-4" : "mb-0"} flex w-full justify-between border-b ${small ? `border-muted` : `border-primary`} pb-1`,
10938
10967
  children: [
10939
- /* @__PURE__ */ jsxs65("div", { className: "flex w-full cursor-pointer items-center justify-start gap-x-2", onClick: toggleOpen, children: [
10940
- isOpen ? /* @__PURE__ */ jsx115(ChevronDownIcon5, { className: `text-primary h-4 w-4` }) : /* @__PURE__ */ jsx115(ChevronRightIcon6, { className: "text-primary h-4 w-4" }),
10941
- /* @__PURE__ */ jsx115("h2", { className: `flex w-full ${small === true ? `text-sm` : `text-lg`} text-primary font-semibold`, children: title })
10968
+ /* @__PURE__ */ jsxs66("div", { className: "flex w-full cursor-pointer items-center justify-start gap-x-2", onClick: toggleOpen, children: [
10969
+ isOpen ? /* @__PURE__ */ jsx116(ChevronDownIcon5, { className: `text-primary h-4 w-4` }) : /* @__PURE__ */ jsx116(ChevronRightIcon6, { className: "text-primary h-4 w-4" }),
10970
+ /* @__PURE__ */ jsx116("h2", { className: `flex w-full ${small === true ? `text-sm` : `text-lg`} text-primary font-semibold`, children: title })
10942
10971
  ] }),
10943
- options && /* @__PURE__ */ jsx115("div", { className: "flex gap-2", children: options })
10972
+ options && /* @__PURE__ */ jsx116("div", { className: "flex gap-2", children: options })
10944
10973
  ]
10945
10974
  }
10946
10975
  ),
10947
- /* @__PURE__ */ jsx115("div", { className: `overflow-hidden transition-all duration-300 ${isOpen ? "" : "max-h-0"}`, children: shouldRender && children })
10976
+ /* @__PURE__ */ jsx116("div", { className: `overflow-hidden transition-all duration-300 ${isOpen ? "" : "max-h-0"}`, children: shouldRender && children })
10948
10977
  ]
10949
10978
  }
10950
10979
  );
@@ -10955,7 +10984,7 @@ __name(PageSection, "PageSection");
10955
10984
  import { useAtomValue } from "jotai";
10956
10985
  import { HistoryIcon } from "lucide-react";
10957
10986
  import { useTranslations as useTranslations39 } from "next-intl";
10958
- import { jsx as jsx116, jsxs as jsxs66 } from "react/jsx-runtime";
10987
+ import { jsx as jsx117, jsxs as jsxs67 } from "react/jsx-runtime";
10959
10988
  function RecentPagesNavigator() {
10960
10989
  const recentPages = useAtomValue(recentPagesAtom);
10961
10990
  const t = useTranslations39();
@@ -10963,14 +10992,14 @@ function RecentPagesNavigator() {
10963
10992
  if (recentPages.length === 0) {
10964
10993
  return null;
10965
10994
  }
10966
- return /* @__PURE__ */ jsxs66(DropdownMenu, { children: [
10967
- /* @__PURE__ */ jsx116(DropdownMenuTrigger, { children: /* @__PURE__ */ jsx116("div", { className: "flex w-full cursor-pointer items-center gap-2", children: state === "collapsed" ? /* @__PURE__ */ jsx116(HistoryIcon, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx116("span", { children: t(`common.recent_pages`) }) }) }),
10968
- /* @__PURE__ */ jsxs66(DropdownMenuContent, { align: "start", className: "w-96", children: [
10969
- /* @__PURE__ */ jsx116(DropdownMenuLabel, { children: t(`common.recent_pages`) }),
10970
- /* @__PURE__ */ jsx116(DropdownMenuSeparator, {}),
10971
- recentPages.map((page, index) => /* @__PURE__ */ jsx116(DropdownMenuItem, { children: /* @__PURE__ */ jsx116(Link, { href: page.url, className: "flex items-center gap-2", children: /* @__PURE__ */ jsxs66("div", { className: "flex flex-col", children: [
10972
- /* @__PURE__ */ jsx116("div", { className: "truncate text-sm", children: page.title }),
10973
- /* @__PURE__ */ jsx116("div", { className: "text-muted-foreground text-xs font-normal", children: t(`entities.${page.moduleType}`, { count: 1 }) })
10995
+ return /* @__PURE__ */ jsxs67(DropdownMenu, { children: [
10996
+ /* @__PURE__ */ jsx117(DropdownMenuTrigger, { children: /* @__PURE__ */ jsx117("div", { className: "flex w-full cursor-pointer items-center gap-2", children: state === "collapsed" ? /* @__PURE__ */ jsx117(HistoryIcon, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx117("span", { children: t(`common.recent_pages`) }) }) }),
10997
+ /* @__PURE__ */ jsxs67(DropdownMenuContent, { align: "start", className: "w-96", children: [
10998
+ /* @__PURE__ */ jsx117(DropdownMenuLabel, { children: t(`common.recent_pages`) }),
10999
+ /* @__PURE__ */ jsx117(DropdownMenuSeparator, {}),
11000
+ recentPages.map((page, index) => /* @__PURE__ */ jsx117(DropdownMenuItem, { children: /* @__PURE__ */ jsx117(Link, { href: page.url, className: "flex items-center gap-2", children: /* @__PURE__ */ jsxs67("div", { className: "flex flex-col", children: [
11001
+ /* @__PURE__ */ jsx117("div", { className: "truncate text-sm", children: page.title }),
11002
+ /* @__PURE__ */ jsx117("div", { className: "text-muted-foreground text-xs font-normal", children: t(`entities.${page.moduleType}`, { count: 1 }) })
10974
11003
  ] }) }) }, `${page.url}-${index}`))
10975
11004
  ] })
10976
11005
  ] });
@@ -10978,12 +11007,12 @@ function RecentPagesNavigator() {
10978
11007
  __name(RecentPagesNavigator, "RecentPagesNavigator");
10979
11008
 
10980
11009
  // src/components/containers/PageContainer.tsx
10981
- import { jsx as jsx117, jsxs as jsxs67 } from "react/jsx-runtime";
11010
+ import { jsx as jsx118, jsxs as jsxs68 } from "react/jsx-runtime";
10982
11011
  function PageContainer({ children, testId, className }) {
10983
11012
  const headerChildren = useHeaderChildren();
10984
- return /* @__PURE__ */ jsxs67("div", { className: `flex h-full w-full flex-col`, "data-testid": testId, children: [
10985
- /* @__PURE__ */ jsx117(Header, { children: headerChildren }),
10986
- /* @__PURE__ */ jsx117("main", { className: cn(`flex w-full flex-1 flex-col gap-y-4 pt-4 pl-4 pr-4 pb-20`, className), children })
11013
+ return /* @__PURE__ */ jsxs68("div", { className: `flex h-full w-full flex-col`, "data-testid": testId, children: [
11014
+ /* @__PURE__ */ jsx118(Header, { children: headerChildren }),
11015
+ /* @__PURE__ */ jsx118("main", { className: cn(`flex w-full flex-1 flex-col gap-y-4 pt-4 pl-4 pr-4 pb-20`, className), children })
10987
11016
  ] });
10988
11017
  }
10989
11018
  __name(PageContainer, "PageContainer");
@@ -10994,7 +11023,7 @@ import { useTranslations as useTranslations40 } from "next-intl";
10994
11023
  import { useEffect as useEffect29, useRef as useRef13, useState as useState36 } from "react";
10995
11024
  import ReactMarkdown from "react-markdown";
10996
11025
  import remarkGfm from "remark-gfm";
10997
- import { jsx as jsx118, jsxs as jsxs68 } from "react/jsx-runtime";
11026
+ import { jsx as jsx119, jsxs as jsxs69 } from "react/jsx-runtime";
10998
11027
  function ReactMarkdownContainer({
10999
11028
  content,
11000
11029
  collapsible = false,
@@ -11020,46 +11049,46 @@ function ReactMarkdownContainer({
11020
11049
  WebkitBoxOrient: "vertical",
11021
11050
  overflow: "hidden"
11022
11051
  } : {};
11023
- return /* @__PURE__ */ jsxs68("div", { className: "flex flex-col", children: [
11024
- /* @__PURE__ */ jsxs68("div", { className: "relative", children: [
11025
- /* @__PURE__ */ jsx118("div", { ref: contentRef, style: clampStyle, className: "transition-all duration-300 ease-in-out", children: /* @__PURE__ */ jsx118(
11052
+ return /* @__PURE__ */ jsxs69("div", { className: "flex flex-col", children: [
11053
+ /* @__PURE__ */ jsxs69("div", { className: "relative", children: [
11054
+ /* @__PURE__ */ jsx119("div", { ref: contentRef, style: clampStyle, className: "transition-all duration-300 ease-in-out", children: /* @__PURE__ */ jsx119(
11026
11055
  ReactMarkdown,
11027
11056
  {
11028
11057
  remarkPlugins: [remarkGfm],
11029
11058
  components: {
11030
- p: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx118("p", { className: size === "small" ? "text-xs" : "", children }), "p"),
11031
- li: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx118("li", { className: size === "small" ? "text-xs" : "", children }), "li"),
11032
- table: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx118("table", { className: "w-full table-auto border-collapse border", children }), "table"),
11033
- th: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx118("th", { className: `border px-4 py-2 text-left ${size === "small" ? "px-2 py-1 text-xs" : ""}`, children }), "th"),
11034
- td: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx118("td", { className: `border px-4 py-2 ${size === "small" ? "px-2 py-1 text-xs" : ""}`, children }), "td"),
11035
- tr: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx118("tr", { className: "even:bg-gray-50", children }), "tr"),
11036
- ul: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx118("ul", { className: `list-disc ${size === "small" ? "pl-3" : "pl-4"}`, children }), "ul"),
11037
- ol: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx118("ol", { className: `list-decimal ${size === "small" ? "pl-3" : "pl-4"}`, children }), "ol"),
11038
- h1: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx118("h1", { className: size === "small" ? "my-1 mt-2 text-sm font-bold" : "my-2 mt-4 text-3xl font-medium", children }), "h1"),
11039
- h2: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx118(
11059
+ p: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx119("p", { className: size === "small" ? "text-xs" : "", children }), "p"),
11060
+ li: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx119("li", { className: size === "small" ? "text-xs" : "", children }), "li"),
11061
+ table: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx119("table", { className: "w-full table-auto border-collapse border", children }), "table"),
11062
+ th: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx119("th", { className: `border px-4 py-2 text-left ${size === "small" ? "px-2 py-1 text-xs" : ""}`, children }), "th"),
11063
+ td: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx119("td", { className: `border px-4 py-2 ${size === "small" ? "px-2 py-1 text-xs" : ""}`, children }), "td"),
11064
+ tr: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx119("tr", { className: "even:bg-gray-50", children }), "tr"),
11065
+ ul: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx119("ul", { className: `list-disc ${size === "small" ? "pl-3" : "pl-4"}`, children }), "ul"),
11066
+ ol: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx119("ol", { className: `list-decimal ${size === "small" ? "pl-3" : "pl-4"}`, children }), "ol"),
11067
+ h1: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx119("h1", { className: size === "small" ? "my-1 mt-2 text-sm font-bold" : "my-2 mt-4 text-3xl font-medium", children }), "h1"),
11068
+ h2: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx119(
11040
11069
  "h2",
11041
11070
  {
11042
11071
  className: size === "small" ? "my-1 mt-2 text-sm font-semibold" : "my-2 mt-4 text-2xl font-semibold",
11043
11072
  children
11044
11073
  }
11045
11074
  ), "h2"),
11046
- h3: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx118("h3", { className: size === "small" ? "my-1 mt-2 text-sm font-medium" : "my-2 mt-4 text-xl font-semibold", children }), "h3"),
11047
- h4: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx118("h4", { className: size === "small" ? "my-1 mt-2 text-sm font-medium" : "my-2 mt-4 text-lg font-semibold", children }), "h4")
11075
+ h3: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx119("h3", { className: size === "small" ? "my-1 mt-2 text-sm font-medium" : "my-2 mt-4 text-xl font-semibold", children }), "h3"),
11076
+ h4: /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ jsx119("h4", { className: size === "small" ? "my-1 mt-2 text-sm font-medium" : "my-2 mt-4 text-lg font-semibold", children }), "h4")
11048
11077
  },
11049
11078
  children: content
11050
11079
  }
11051
11080
  ) }),
11052
- collapsible && !isExpanded && showExpandButton && /* @__PURE__ */ jsx118("div", { className: "pointer-events-none absolute right-0 bottom-0 left-0 h-12 bg-gradient-to-t from-white to-transparent" })
11081
+ collapsible && !isExpanded && showExpandButton && /* @__PURE__ */ jsx119("div", { className: "pointer-events-none absolute right-0 bottom-0 left-0 h-12 bg-gradient-to-t from-white to-transparent" })
11053
11082
  ] }),
11054
- collapsible && showExpandButton && /* @__PURE__ */ jsx118("div", { className: "mt-2 flex justify-end", children: /* @__PURE__ */ jsxs68(
11083
+ collapsible && showExpandButton && /* @__PURE__ */ jsx119("div", { className: "mt-2 flex justify-end", children: /* @__PURE__ */ jsxs69(
11055
11084
  "button",
11056
11085
  {
11057
11086
  onClick: handleToggle,
11058
11087
  className: "flex items-center gap-1 rounded-md px-3 py-1.5 text-sm text-gray-600 transition-colors hover:bg-gray-100 hover:text-gray-900",
11059
11088
  "aria-label": isExpanded ? t("show_less") : t("show_more"),
11060
11089
  children: [
11061
- /* @__PURE__ */ jsx118("span", { children: isExpanded ? t("show_less") : t("show_more") }),
11062
- isExpanded ? /* @__PURE__ */ jsx118(ChevronUp, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx118(ChevronDown2, { className: "h-4 w-4" })
11090
+ /* @__PURE__ */ jsx119("span", { children: isExpanded ? t("show_less") : t("show_more") }),
11091
+ isExpanded ? /* @__PURE__ */ jsx119(ChevronUp, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx119(ChevronDown2, { className: "h-4 w-4" })
11063
11092
  ]
11064
11093
  }
11065
11094
  ) })
@@ -11068,7 +11097,7 @@ function ReactMarkdownContainer({
11068
11097
  __name(ReactMarkdownContainer, "ReactMarkdownContainer");
11069
11098
 
11070
11099
  // src/components/containers/TabsContainer.tsx
11071
- import { Fragment as Fragment14, jsx as jsx119, jsxs as jsxs69 } from "react/jsx-runtime";
11100
+ import { Fragment as Fragment14, jsx as jsx120, jsxs as jsxs70 } from "react/jsx-runtime";
11072
11101
  function TabsContainer({
11073
11102
  tabs,
11074
11103
  defaultTab,
@@ -11087,16 +11116,16 @@ function TabsContainer({
11087
11116
  if (validTabs.length === 1) {
11088
11117
  return validTabs[0].content;
11089
11118
  }
11090
- return /* @__PURE__ */ jsxs69(Tabs, { defaultValue, className: "w-full", children: [
11091
- /* @__PURE__ */ jsxs69("div", { className: "flex w-full items-center justify-between", children: [
11092
- /* @__PURE__ */ jsx119(
11119
+ return /* @__PURE__ */ jsxs70(Tabs, { defaultValue, className: "w-full", children: [
11120
+ /* @__PURE__ */ jsxs70("div", { className: "flex w-full items-center justify-between", children: [
11121
+ /* @__PURE__ */ jsx120(
11093
11122
  TabsList,
11094
11123
  {
11095
11124
  className: cn(
11096
11125
  `${style ? `my-4 flex w-full justify-start rounded-none border-b bg-transparent pb-0` : ``}`,
11097
11126
  tabsListClassName
11098
11127
  ),
11099
- children: validTabs.map((tab) => /* @__PURE__ */ jsx119(
11128
+ children: validTabs.map((tab) => /* @__PURE__ */ jsx120(
11100
11129
  TabsTrigger,
11101
11130
  {
11102
11131
  value: tab.label,
@@ -11112,29 +11141,29 @@ function TabsContainer({
11112
11141
  ),
11113
11142
  additionalComponent && additionalComponent
11114
11143
  ] }),
11115
- scrollAreaClassName ? /* @__PURE__ */ jsx119(ScrollArea, { className: scrollAreaClassName, children: validTabs.map((tab) => /* @__PURE__ */ jsx119(TabsContent, { value: tab.label, children: tab.content }, tab.label)) }) : /* @__PURE__ */ jsx119(Fragment14, { children: validTabs.map((tab) => /* @__PURE__ */ jsx119(TabsContent, { value: tab.label, children: tab.content }, tab.label)) })
11144
+ scrollAreaClassName ? /* @__PURE__ */ jsx120(ScrollArea, { className: scrollAreaClassName, children: validTabs.map((tab) => /* @__PURE__ */ jsx120(TabsContent, { value: tab.label, children: tab.content }, tab.label)) }) : /* @__PURE__ */ jsx120(Fragment14, { children: validTabs.map((tab) => /* @__PURE__ */ jsx120(TabsContent, { value: tab.label, children: tab.content }, tab.label)) })
11116
11145
  ] });
11117
11146
  }
11118
11147
  __name(TabsContainer, "TabsContainer");
11119
11148
 
11120
11149
  // src/components/contents/AttributeElement.tsx
11121
- import { jsx as jsx120, jsxs as jsxs70 } from "react/jsx-runtime";
11150
+ import { jsx as jsx121, jsxs as jsxs71 } from "react/jsx-runtime";
11122
11151
  function AttributeElement({ inline, title, value, className }) {
11123
- return /* @__PURE__ */ jsxs70("div", { className: cn(`flex ${inline === true ? "flex-row" : "flex-col"} my-1 justify-start`, className), children: [
11124
- title && /* @__PURE__ */ jsx120("div", { className: `${inline === true ? "min-w-48 pr-4" : "w-full"} text-sm font-semibold`, children: title }),
11125
- value && /* @__PURE__ */ jsx120("div", { className: "flex w-full flex-col text-sm", children: value })
11152
+ return /* @__PURE__ */ jsxs71("div", { className: cn(`flex ${inline === true ? "flex-row" : "flex-col"} my-1 justify-start`, className), children: [
11153
+ title && /* @__PURE__ */ jsx121("div", { className: `${inline === true ? "min-w-48 pr-4" : "w-full"} text-sm font-semibold`, children: title }),
11154
+ value && /* @__PURE__ */ jsx121("div", { className: "flex w-full flex-col text-sm", children: value })
11126
11155
  ] });
11127
11156
  }
11128
11157
  __name(AttributeElement, "AttributeElement");
11129
11158
 
11130
11159
  // src/components/details/AllowedUsersDetails.tsx
11131
11160
  import { useTranslations as useTranslations41 } from "next-intl";
11132
- import { jsx as jsx121, jsxs as jsxs71 } from "react/jsx-runtime";
11161
+ import { jsx as jsx122, jsxs as jsxs72 } from "react/jsx-runtime";
11133
11162
  function AllowedUsersDetails({ showTitle, content }) {
11134
11163
  const t = useTranslations41();
11135
- return /* @__PURE__ */ jsxs71("div", { className: "mb-2 flex w-full flex-col gap-y-2", children: [
11136
- showTitle && /* @__PURE__ */ jsx121("h3", { className: "text-xs font-semibold", children: t("common.permissions") }),
11137
- /* @__PURE__ */ jsx121("div", { className: "flex w-full items-center justify-start gap-x-4", children: /* @__PURE__ */ jsx121(ContributorsList, { content }) })
11164
+ return /* @__PURE__ */ jsxs72("div", { className: "mb-2 flex w-full flex-col gap-y-2", children: [
11165
+ showTitle && /* @__PURE__ */ jsx122("h3", { className: "text-xs font-semibold", children: t("common.permissions") }),
11166
+ /* @__PURE__ */ jsx122("div", { className: "flex w-full items-center justify-start gap-x-4", children: /* @__PURE__ */ jsx122(ContributorsList, { content }) })
11138
11167
  ] });
11139
11168
  }
11140
11169
  __name(AllowedUsersDetails, "AllowedUsersDetails");
@@ -11142,17 +11171,17 @@ __name(AllowedUsersDetails, "AllowedUsersDetails");
11142
11171
  // src/components/editors/BlockNoteEditorContainer.tsx
11143
11172
  import dynamic from "next/dynamic";
11144
11173
  import React15 from "react";
11145
- import { jsx as jsx122 } from "react/jsx-runtime";
11146
- var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-CEJE3YHQ.mjs"), {
11174
+ import { jsx as jsx123 } from "react/jsx-runtime";
11175
+ var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-N5ODXWD2.mjs"), {
11147
11176
  ssr: false
11148
11177
  });
11149
11178
  var BlockNoteEditorContainer = React15.memo(/* @__PURE__ */ __name(function EditorContainer(props) {
11150
- return /* @__PURE__ */ jsx122(BlockNoteEditor, { ...props });
11179
+ return /* @__PURE__ */ jsx123(BlockNoteEditor, { ...props });
11151
11180
  }, "EditorContainer"));
11152
11181
 
11153
11182
  // src/components/pages/PageContainerContentDetails.tsx
11154
11183
  import { useEffect as useEffect30, useRef as useRef14, useState as useState37 } from "react";
11155
- import { jsx as jsx123, jsxs as jsxs72 } from "react/jsx-runtime";
11184
+ import { jsx as jsx124, jsxs as jsxs73 } from "react/jsx-runtime";
11156
11185
  function PageContainerContentDetails({ items, section, module, id }) {
11157
11186
  const rewriteUrl = useUrlRewriter();
11158
11187
  const [isScrolled, setIsScrolled] = useState37(false);
@@ -11174,15 +11203,15 @@ function PageContainerContentDetails({ items, section, module, id }) {
11174
11203
  observer.disconnect();
11175
11204
  };
11176
11205
  }, []);
11177
- return /* @__PURE__ */ jsxs72(
11206
+ return /* @__PURE__ */ jsxs73(
11178
11207
  Tabs,
11179
11208
  {
11180
11209
  defaultValue: section || items[0].title,
11181
11210
  onValueChange: (a) => rewriteUrl({ page: module, id, childPage: a }),
11182
11211
  children: [
11183
- /* @__PURE__ */ jsx123("div", { ref: sentinelRef, className: "h-0" }),
11184
- /* @__PURE__ */ jsx123("div", { className: `bg-background sticky top-0 z-10 mb-2 pb-2 transition-shadow ${isScrolled ? "border-b" : ""}`, children: /* @__PURE__ */ jsx123(TabsList, { children: items.map((item) => /* @__PURE__ */ jsx123(TabsTrigger, { value: item.title, children: item.title }, item.title)) }) }),
11185
- /* @__PURE__ */ jsx123("div", { className: "pr-4", children: items.map((item) => /* @__PURE__ */ jsx123(TabsContent, { value: item.title, children: item.content }, item.title)) })
11212
+ /* @__PURE__ */ jsx124("div", { ref: sentinelRef, className: "h-0" }),
11213
+ /* @__PURE__ */ jsx124("div", { className: `bg-background sticky top-0 z-10 mb-2 pb-2 transition-shadow ${isScrolled ? "border-b" : ""}`, children: /* @__PURE__ */ jsx124(TabsList, { children: items.map((item) => /* @__PURE__ */ jsx124(TabsTrigger, { value: item.title, children: item.title }, item.title)) }) }),
11214
+ /* @__PURE__ */ jsx124("div", { className: "pr-4", children: items.map((item) => /* @__PURE__ */ jsx124(TabsContent, { value: item.title, children: item.content }, item.title)) })
11186
11215
  ]
11187
11216
  }
11188
11217
  );
@@ -11191,7 +11220,7 @@ __name(PageContainerContentDetails, "PageContainerContentDetails");
11191
11220
 
11192
11221
  // src/components/pages/PageContentContainer.tsx
11193
11222
  import { useEffect as useEffect31, useState as useState38 } from "react";
11194
- import { jsx as jsx124, jsxs as jsxs73 } from "react/jsx-runtime";
11223
+ import { jsx as jsx125, jsxs as jsxs74 } from "react/jsx-runtime";
11195
11224
  function PageContentContainer({ header, details, footer, content }) {
11196
11225
  const [mounted, setMounted] = useState38(false);
11197
11226
  const isMobile = useIsMobile();
@@ -11200,35 +11229,35 @@ function PageContentContainer({ header, details, footer, content }) {
11200
11229
  }, []);
11201
11230
  const isReady = mounted && isMobile !== void 0;
11202
11231
  if (!isReady) {
11203
- return /* @__PURE__ */ jsx124("div", { className: "flex h-[calc(100vh-4rem)] w-full flex-col" });
11232
+ return /* @__PURE__ */ jsx125("div", { className: "flex h-[calc(100vh-4rem)] w-full flex-col" });
11204
11233
  }
11205
- return /* @__PURE__ */ jsxs73("div", { className: "flex h-[calc(100vh-4rem)] w-full flex-col transition-opacity duration-150 animate-in fade-in", children: [
11206
- header && /* @__PURE__ */ jsx124("div", { className: "mb-4 flex w-full shrink-0 border-b", children: header }),
11207
- /* @__PURE__ */ jsx124("div", { className: "min-h-0 flex-1", children: details || footer ? /* @__PURE__ */ jsxs73(
11234
+ return /* @__PURE__ */ jsxs74("div", { className: "flex h-[calc(100vh-4rem)] w-full flex-col transition-opacity duration-150 animate-in fade-in", children: [
11235
+ header && /* @__PURE__ */ jsx125("div", { className: "mb-4 flex w-full shrink-0 border-b", children: header }),
11236
+ /* @__PURE__ */ jsx125("div", { className: "min-h-0 flex-1", children: details || footer ? /* @__PURE__ */ jsxs74(
11208
11237
  ResizablePanelGroup,
11209
11238
  {
11210
11239
  autoSaveId: `page-content-container-${isMobile ? "mobile" : "desktop"}`,
11211
11240
  direction: isMobile ? "vertical" : "horizontal",
11212
11241
  className: "h-full items-stretch",
11213
11242
  children: [
11214
- /* @__PURE__ */ jsx124(
11243
+ /* @__PURE__ */ jsx125(
11215
11244
  ResizablePanel,
11216
11245
  {
11217
11246
  id: "left-panel",
11218
11247
  defaultSize: isMobile ? 10 : 32,
11219
11248
  minSize: isMobile ? 10 : 20,
11220
11249
  maxSize: isMobile ? 90 : 40,
11221
- children: /* @__PURE__ */ jsxs73("div", { className: `@container flex h-full flex-col ${isMobile ? "pb-4" : "pr-4"}`, children: [
11222
- /* @__PURE__ */ jsx124("div", { className: "flex-1 overflow-y-auto", children: details }),
11223
- footer && /* @__PURE__ */ jsx124("div", { className: "flex flex-col gap-y-2 pt-2 pb-2", children: footer })
11250
+ children: /* @__PURE__ */ jsxs74("div", { className: `@container flex h-full flex-col ${isMobile ? "pb-4" : "pr-4"}`, children: [
11251
+ /* @__PURE__ */ jsx125("div", { className: "flex-1 overflow-y-auto", children: details }),
11252
+ footer && /* @__PURE__ */ jsx125("div", { className: "flex flex-col gap-y-2 pt-2 pb-2", children: footer })
11224
11253
  ] })
11225
11254
  }
11226
11255
  ),
11227
- /* @__PURE__ */ jsx124(ResizableHandle, { withHandle: true }),
11228
- /* @__PURE__ */ jsx124(ResizablePanel, { id: "right-panel", className: isMobile ? "pt-4" : "pl-4", children: /* @__PURE__ */ jsx124("div", { className: "h-full overflow-x-hidden overflow-y-auto p-2 pb-20", children: content }) })
11256
+ /* @__PURE__ */ jsx125(ResizableHandle, { withHandle: true }),
11257
+ /* @__PURE__ */ jsx125(ResizablePanel, { id: "right-panel", className: isMobile ? "pt-4" : "pl-4", children: /* @__PURE__ */ jsx125("div", { className: "h-full overflow-x-hidden overflow-y-auto p-2 pb-20", children: content }) })
11229
11258
  ]
11230
11259
  }
11231
- ) : /* @__PURE__ */ jsx124("div", { className: "h-full overflow-x-hidden overflow-y-auto p-2 pb-20", children: content }) })
11260
+ ) : /* @__PURE__ */ jsx125("div", { className: "h-full overflow-x-hidden overflow-y-auto p-2 pb-20", children: content }) })
11232
11261
  ] });
11233
11262
  }
11234
11263
  __name(PageContentContainer, "PageContentContainer");
@@ -11246,26 +11275,26 @@ var cellComponent = /* @__PURE__ */ __name((params) => {
11246
11275
  }, "cellComponent");
11247
11276
 
11248
11277
  // src/components/tables/cells/cell.date.tsx
11249
- import { jsx as jsx125 } from "react/jsx-runtime";
11278
+ import { jsx as jsx126 } from "react/jsx-runtime";
11250
11279
  var cellDate = /* @__PURE__ */ __name((params) => {
11251
11280
  return {
11252
11281
  id: params.name,
11253
11282
  accessorKey: params.name,
11254
11283
  header: params.title,
11255
- cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx125("span", { className: "text-muted-foreground text-xs", children: row.getValue(params.name).toLocaleDateString("en", { dateStyle: "medium" }) }), "cell"),
11284
+ cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx126("span", { className: "text-muted-foreground text-xs", children: row.getValue(params.name).toLocaleDateString("en", { dateStyle: "medium" }) }), "cell"),
11256
11285
  enableSorting: false,
11257
11286
  enableHiding: false
11258
11287
  };
11259
11288
  }, "cellDate");
11260
11289
 
11261
11290
  // src/components/tables/cells/cell.id.tsx
11262
- import { jsx as jsx126 } from "react/jsx-runtime";
11291
+ import { jsx as jsx127 } from "react/jsx-runtime";
11263
11292
  var cellId = /* @__PURE__ */ __name((params) => {
11264
11293
  return {
11265
11294
  id: params.name,
11266
11295
  accessorKey: params.name,
11267
11296
  header: "",
11268
- cell: /* @__PURE__ */ __name(({ row }) => params.toggleId ? /* @__PURE__ */ jsx126(
11297
+ cell: /* @__PURE__ */ __name(({ row }) => params.toggleId ? /* @__PURE__ */ jsx127(
11269
11298
  Checkbox,
11270
11299
  {
11271
11300
  checked: params.checkedIds?.includes(row.getValue(params.name)) || false,
@@ -11282,26 +11311,26 @@ var cellId = /* @__PURE__ */ __name((params) => {
11282
11311
  }, "cellId");
11283
11312
 
11284
11313
  // src/components/tables/cells/cell.link.tsx
11285
- import { jsx as jsx127 } from "react/jsx-runtime";
11314
+ import { jsx as jsx128 } from "react/jsx-runtime";
11286
11315
  var cellLink = /* @__PURE__ */ __name((params) => {
11287
11316
  return {
11288
11317
  id: params.name,
11289
11318
  accessorKey: params.name,
11290
11319
  header: params.title,
11291
- cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx127(Link, { href: params.generateUrl(row.getValue(params.id)), children: row.getValue(params.name) }), "cell"),
11320
+ cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx128(Link, { href: params.generateUrl(row.getValue(params.id)), children: row.getValue(params.name) }), "cell"),
11292
11321
  enableSorting: false,
11293
11322
  enableHiding: false
11294
11323
  };
11295
11324
  }, "cellLink");
11296
11325
 
11297
11326
  // src/components/tables/cells/cell.url.tsx
11298
- import { jsx as jsx128 } from "react/jsx-runtime";
11327
+ import { jsx as jsx129 } from "react/jsx-runtime";
11299
11328
  var cellUrl = /* @__PURE__ */ __name((params) => {
11300
11329
  return {
11301
11330
  id: params.name,
11302
11331
  accessorKey: params.name,
11303
11332
  header: params.title,
11304
- cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx128(Link, { href: row.getValue(params.name), children: row.getValue(params.name) }), "cell"),
11333
+ cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx129(Link, { href: row.getValue(params.name), children: row.getValue(params.name) }), "cell"),
11305
11334
  enableSorting: false,
11306
11335
  enableHiding: false
11307
11336
  };
@@ -11309,7 +11338,7 @@ var cellUrl = /* @__PURE__ */ __name((params) => {
11309
11338
 
11310
11339
  // src/client/context/JsonApiProvider.tsx
11311
11340
  import { useEffect as useEffect32, useMemo as useMemo12 } from "react";
11312
- import { jsx as jsx129 } from "react/jsx-runtime";
11341
+ import { jsx as jsx130 } from "react/jsx-runtime";
11313
11342
  function JsonApiProvider({ config, children }) {
11314
11343
  useEffect32(() => {
11315
11344
  if (config.bootstrapper) {
@@ -11317,7 +11346,7 @@ function JsonApiProvider({ config, children }) {
11317
11346
  }
11318
11347
  }, [config.bootstrapper]);
11319
11348
  const memoizedConfig = useMemo12(() => config, [config]);
11320
- return /* @__PURE__ */ jsx129(JsonApiContext.Provider, { value: memoizedConfig, children });
11349
+ return /* @__PURE__ */ jsx130(JsonApiContext.Provider, { value: memoizedConfig, children });
11321
11350
  }
11322
11351
  __name(JsonApiProvider, "JsonApiProvider");
11323
11352
 
@@ -11541,7 +11570,7 @@ __name(useRehydrationList, "useRehydrationList");
11541
11570
  // src/features/company/hooks/useCompanyTableStructure.tsx
11542
11571
  import { useTranslations as useTranslations42 } from "next-intl";
11543
11572
  import { useMemo as useMemo14 } from "react";
11544
- import { jsx as jsx130 } from "react/jsx-runtime";
11573
+ import { jsx as jsx131 } from "react/jsx-runtime";
11545
11574
  var useCompanyTableStructure = /* @__PURE__ */ __name((params) => {
11546
11575
  const t = useTranslations42();
11547
11576
  const generateUrl = usePageUrlGenerator();
@@ -11570,7 +11599,7 @@ var useCompanyTableStructure = /* @__PURE__ */ __name((params) => {
11570
11599
  header: t(`user.fields.name.label`),
11571
11600
  cell: /* @__PURE__ */ __name(({ row }) => {
11572
11601
  const company = row.original.jsonApiData;
11573
- return /* @__PURE__ */ jsx130(
11602
+ return /* @__PURE__ */ jsx131(
11574
11603
  Link,
11575
11604
  {
11576
11605
  href: hasRole(getRoleId().Administrator) ? generateUrl({
@@ -11650,7 +11679,7 @@ __name(useSubscriptionStatus, "useSubscriptionStatus");
11650
11679
  // src/features/role/hooks/useRoleTableStructure.tsx
11651
11680
  import { useTranslations as useTranslations43 } from "next-intl";
11652
11681
  import { useMemo as useMemo16 } from "react";
11653
- import { Fragment as Fragment15, jsx as jsx131 } from "react/jsx-runtime";
11682
+ import { Fragment as Fragment15, jsx as jsx132 } from "react/jsx-runtime";
11654
11683
  var useRoleTableStructure = /* @__PURE__ */ __name((params) => {
11655
11684
  const t = useTranslations43();
11656
11685
  const generateUrl = usePageUrlGenerator();
@@ -11678,7 +11707,7 @@ var useRoleTableStructure = /* @__PURE__ */ __name((params) => {
11678
11707
  header: t(`role.fields.name.label`),
11679
11708
  cell: /* @__PURE__ */ __name(({ row }) => {
11680
11709
  const role = row.original.jsonApiData;
11681
- return /* @__PURE__ */ jsx131(Link, { href: generateUrl({ page: Modules.Role, id: role.id }), children: row.getValue("name") });
11710
+ return /* @__PURE__ */ jsx132(Link, { href: generateUrl({ page: Modules.Role, id: role.id }), children: row.getValue("name") });
11682
11711
  }, "cell"),
11683
11712
  enableSorting: false,
11684
11713
  enableHiding: false
@@ -11687,7 +11716,7 @@ var useRoleTableStructure = /* @__PURE__ */ __name((params) => {
11687
11716
  id: "description",
11688
11717
  accessorKey: "description",
11689
11718
  header: t(`role.fields.description.label`),
11690
- cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx131(Fragment15, { children: row.getValue("description") }), "cell"),
11719
+ cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx132(Fragment15, { children: row.getValue("description") }), "cell"),
11691
11720
  enableSorting: false,
11692
11721
  enableHiding: false
11693
11722
  }),
@@ -11750,7 +11779,7 @@ var useUserSearch = /* @__PURE__ */ __name(() => {
11750
11779
  // src/features/user/hooks/useUserTableStructure.tsx
11751
11780
  import { useTranslations as useTranslations44 } from "next-intl";
11752
11781
  import { useMemo as useMemo17 } from "react";
11753
- import { Fragment as Fragment16, jsx as jsx132, jsxs as jsxs74 } from "react/jsx-runtime";
11782
+ import { Fragment as Fragment16, jsx as jsx133, jsxs as jsxs75 } from "react/jsx-runtime";
11754
11783
  var useUserTableStructure = /* @__PURE__ */ __name((params) => {
11755
11784
  const t = useTranslations44();
11756
11785
  const generateUrl = usePageUrlGenerator();
@@ -11778,7 +11807,7 @@ var useUserTableStructure = /* @__PURE__ */ __name((params) => {
11778
11807
  header: t(`user.fields.name.label`),
11779
11808
  cell: /* @__PURE__ */ __name(({ row }) => {
11780
11809
  const user = row.original.jsonApiData;
11781
- return /* @__PURE__ */ jsxs74(
11810
+ return /* @__PURE__ */ jsxs75(
11782
11811
  Link,
11783
11812
  {
11784
11813
  href: generateUrl({ page: Modules.User, id: user.id }),
@@ -11787,7 +11816,7 @@ var useUserTableStructure = /* @__PURE__ */ __name((params) => {
11787
11816
  user.isDeleted || !user.isActivated ? "text-muted-foreground italic" : ""
11788
11817
  ),
11789
11818
  children: [
11790
- /* @__PURE__ */ jsx132(UserAvatar, { user }),
11819
+ /* @__PURE__ */ jsx133(UserAvatar, { user }),
11791
11820
  user.name,
11792
11821
  user.isDeleted ? ` - ${t("user.errors.deleted")}` : "",
11793
11822
  !user.isActivated ? ` - ${t("user.errors.inactive")}` : ""
@@ -11802,7 +11831,7 @@ var useUserTableStructure = /* @__PURE__ */ __name((params) => {
11802
11831
  id: "email",
11803
11832
  accessorKey: "email",
11804
11833
  header: t(`common.fields.email.label`),
11805
- cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx132(Fragment16, { children: row.getValue("email") }), "cell"),
11834
+ cell: /* @__PURE__ */ __name(({ row }) => /* @__PURE__ */ jsx133(Fragment16, { children: row.getValue("email") }), "cell"),
11806
11835
  enableSorting: false,
11807
11836
  enableHiding: false
11808
11837
  }),
@@ -11812,17 +11841,17 @@ var useUserTableStructure = /* @__PURE__ */ __name((params) => {
11812
11841
  header: t(`common.relevance`),
11813
11842
  cell: /* @__PURE__ */ __name(({ row }) => {
11814
11843
  const user = row.original.jsonApiData;
11815
- if (!user.relevance) return /* @__PURE__ */ jsx132(Fragment16, {});
11844
+ if (!user.relevance) return /* @__PURE__ */ jsx133(Fragment16, {});
11816
11845
  const response = `${user.relevance.toFixed(0)}%`;
11817
- return /* @__PURE__ */ jsxs74("div", { className: "relative flex h-5 w-20 items-center justify-center overflow-hidden rounded border text-center", children: [
11818
- /* @__PURE__ */ jsx132(
11846
+ return /* @__PURE__ */ jsxs75("div", { className: "relative flex h-5 w-20 items-center justify-center overflow-hidden rounded border text-center", children: [
11847
+ /* @__PURE__ */ jsx133(
11819
11848
  "div",
11820
11849
  {
11821
11850
  className: `bg-accent absolute top-0 left-0 h-full opacity-${Math.round(user.relevance)}`,
11822
11851
  style: { width: `${user.relevance}%` }
11823
11852
  }
11824
11853
  ),
11825
- /* @__PURE__ */ jsx132(
11854
+ /* @__PURE__ */ jsx133(
11826
11855
  "span",
11827
11856
  {
11828
11857
  className: `relative text-xs ${user.relevance < 40 ? "text-muted-foreground" : "text-accent-foreground font-semibold"}`,
@@ -11848,7 +11877,7 @@ var useUserTableStructure = /* @__PURE__ */ __name((params) => {
11848
11877
  // src/features/content/hooks/useContentTableStructure.tsx
11849
11878
  import { useTranslations as useTranslations45 } from "next-intl";
11850
11879
  import { useMemo as useMemo18 } from "react";
11851
- import { Fragment as Fragment17, jsx as jsx133, jsxs as jsxs75 } from "react/jsx-runtime";
11880
+ import { Fragment as Fragment17, jsx as jsx134, jsxs as jsxs76 } from "react/jsx-runtime";
11852
11881
  var useContentTableStructure = /* @__PURE__ */ __name((params) => {
11853
11882
  const t = useTranslations45();
11854
11883
  const generateUrl = usePageUrlGenerator();
@@ -11878,12 +11907,12 @@ var useContentTableStructure = /* @__PURE__ */ __name((params) => {
11878
11907
  const content = row.original.jsonApiData;
11879
11908
  const contentModule = content.contentType ? Modules.findByModelName(content.contentType) : void 0;
11880
11909
  const link = contentModule ? generateUrl({ page: contentModule, id: content.id }) : "#";
11881
- return /* @__PURE__ */ jsxs75(Tooltip2, { children: [
11882
- /* @__PURE__ */ jsx133(TooltipTrigger, { className: "flex items-center justify-start space-x-2", children: /* @__PURE__ */ jsxs75(Fragment17, { children: [
11910
+ return /* @__PURE__ */ jsxs76(Tooltip2, { children: [
11911
+ /* @__PURE__ */ jsx134(TooltipTrigger, { className: "flex items-center justify-start space-x-2", children: /* @__PURE__ */ jsxs76(Fragment17, { children: [
11883
11912
  contentModule && getIconByModule({ module: contentModule, className: "h-4 w-4" }),
11884
- /* @__PURE__ */ jsx133(Link, { href: link, children: content.name })
11913
+ /* @__PURE__ */ jsx134(Link, { href: link, children: content.name })
11885
11914
  ] }) }),
11886
- /* @__PURE__ */ jsx133(TooltipContent, { children: content.tldr })
11915
+ /* @__PURE__ */ jsx134(TooltipContent, { children: content.tldr })
11887
11916
  ] });
11888
11917
  }, "cell"),
11889
11918
  enableSorting: false,
@@ -11895,17 +11924,17 @@ var useContentTableStructure = /* @__PURE__ */ __name((params) => {
11895
11924
  header: t(`common.relevance`),
11896
11925
  cell: /* @__PURE__ */ __name(({ row }) => {
11897
11926
  const content = row.original.jsonApiData;
11898
- if (!content.relevance) return /* @__PURE__ */ jsx133(Fragment17, {});
11927
+ if (!content.relevance) return /* @__PURE__ */ jsx134(Fragment17, {});
11899
11928
  const response = `${content.relevance.toFixed(0)}%`;
11900
- return /* @__PURE__ */ jsxs75("div", { className: "relative flex h-5 w-20 items-center justify-center overflow-hidden rounded border text-center", children: [
11901
- /* @__PURE__ */ jsx133(
11929
+ return /* @__PURE__ */ jsxs76("div", { className: "relative flex h-5 w-20 items-center justify-center overflow-hidden rounded border text-center", children: [
11930
+ /* @__PURE__ */ jsx134(
11902
11931
  "div",
11903
11932
  {
11904
11933
  className: `bg-accent absolute top-0 left-0 h-full opacity-${Math.round(content.relevance)}`,
11905
11934
  style: { width: `${content.relevance}%` }
11906
11935
  }
11907
11936
  ),
11908
- /* @__PURE__ */ jsx133(
11937
+ /* @__PURE__ */ jsx134(
11909
11938
  "span",
11910
11939
  {
11911
11940
  className: `relative text-xs ${content.relevance < 40 ? "text-muted-foreground" : "text-accent-foreground font-semibold"}`,
@@ -11923,7 +11952,7 @@ var useContentTableStructure = /* @__PURE__ */ __name((params) => {
11923
11952
  header: t(`common.relationships.author.label`),
11924
11953
  cell: /* @__PURE__ */ __name(({ row }) => {
11925
11954
  const content = row.original.jsonApiData;
11926
- return /* @__PURE__ */ jsx133(ContributorsList, { content });
11955
+ return /* @__PURE__ */ jsx134(ContributorsList, { content });
11927
11956
  }, "cell"),
11928
11957
  enableSorting: false,
11929
11958
  enableHiding: false
@@ -12251,7 +12280,7 @@ import { memo, useMemo as useMemo19 } from "react";
12251
12280
  import { RefreshCw, Search, X } from "lucide-react";
12252
12281
  import { useTranslations as useTranslations46 } from "next-intl";
12253
12282
  import { useCallback as useCallback20, useEffect as useEffect38, useRef as useRef17, useState as useState44 } from "react";
12254
- import { jsx as jsx134, jsxs as jsxs76 } from "react/jsx-runtime";
12283
+ import { jsx as jsx135, jsxs as jsxs77 } from "react/jsx-runtime";
12255
12284
  function ContentTableSearch({ data }) {
12256
12285
  const t = useTranslations46();
12257
12286
  const searchTermRef = useRef17("");
@@ -12293,19 +12322,19 @@ function ContentTableSearch({ data }) {
12293
12322
  search("");
12294
12323
  setIsFocused(false);
12295
12324
  }, "handleClear");
12296
- return /* @__PURE__ */ jsxs76(
12325
+ return /* @__PURE__ */ jsxs77(
12297
12326
  "div",
12298
12327
  {
12299
12328
  className: `relative flex h-6 items-center text-xs font-normal transition-all duration-300 ease-in-out ${isExpanded ? "w-64" : "w-6"}`,
12300
12329
  children: [
12301
- /* @__PURE__ */ jsx134(
12330
+ /* @__PURE__ */ jsx135(
12302
12331
  Search,
12303
12332
  {
12304
12333
  className: `absolute top-1 left-1 h-4 w-4 transition-colors ${isExpanded ? "text-muted-foreground" : "text-muted-foreground hover:text-foreground cursor-pointer"}`,
12305
12334
  onClick: handleSearchIconClick
12306
12335
  }
12307
12336
  ),
12308
- isExpanded && /* @__PURE__ */ jsx134(
12337
+ isExpanded && /* @__PURE__ */ jsx135(
12309
12338
  Input,
12310
12339
  {
12311
12340
  ref: inputRef,
@@ -12323,8 +12352,8 @@ function ContentTableSearch({ data }) {
12323
12352
  value: searchTerm
12324
12353
  }
12325
12354
  ),
12326
- isExpanded && isSearching && /* @__PURE__ */ jsx134(RefreshCw, { className: "text-muted-foreground absolute top-1 right-1 h-4 w-4 animate-spin" }),
12327
- isExpanded && !isSearching && searchTermRef.current && /* @__PURE__ */ jsx134(
12355
+ isExpanded && isSearching && /* @__PURE__ */ jsx135(RefreshCw, { className: "text-muted-foreground absolute top-1 right-1 h-4 w-4 animate-spin" }),
12356
+ isExpanded && !isSearching && searchTermRef.current && /* @__PURE__ */ jsx135(
12328
12357
  X,
12329
12358
  {
12330
12359
  className: "text-muted-foreground hover:text-foreground absolute top-1 right-1 h-4 w-4 cursor-pointer",
@@ -12338,7 +12367,7 @@ function ContentTableSearch({ data }) {
12338
12367
  __name(ContentTableSearch, "ContentTableSearch");
12339
12368
 
12340
12369
  // src/components/tables/ContentListTable.tsx
12341
- import { Fragment as Fragment18, jsx as jsx135, jsxs as jsxs77 } from "react/jsx-runtime";
12370
+ import { Fragment as Fragment18, jsx as jsx136, jsxs as jsxs78 } from "react/jsx-runtime";
12342
12371
  var EMPTY_ARRAY = [];
12343
12372
  var ContentListTable = memo(/* @__PURE__ */ __name(function ContentListTable2(props) {
12344
12373
  const { data, fields, checkedIds, toggleId, allowSearch, filters } = props;
@@ -12370,23 +12399,23 @@ var ContentListTable = memo(/* @__PURE__ */ __name(function ContentListTable2(pr
12370
12399
  });
12371
12400
  const rowModel = tableData ? table.getRowModel() : null;
12372
12401
  const showFooter = !!(props.functions || data.next || data.previous);
12373
- return /* @__PURE__ */ jsx135("div", { className: "flex w-full flex-col", children: /* @__PURE__ */ jsx135("div", { className: "overflow-hidden rounded-md border", children: /* @__PURE__ */ jsxs77(Table, { children: [
12374
- /* @__PURE__ */ jsxs77(TableHeader, { className: "bg-muted font-semibold", children: [
12375
- props.title && /* @__PURE__ */ jsx135(TableRow, { children: /* @__PURE__ */ jsx135(TableHead, { className: "bg-card text-primary p-4 text-left font-bold", colSpan: tableColumns.length, children: /* @__PURE__ */ jsxs77("div", { className: "flex w-full items-center justify-between gap-x-2", children: [
12376
- /* @__PURE__ */ jsx135("div", { className: "w-full", children: props.title }),
12377
- (props.functions || props.filters || allowSearch) && /* @__PURE__ */ jsxs77(Fragment18, { children: [
12402
+ return /* @__PURE__ */ jsx136("div", { className: "flex w-full flex-col", children: /* @__PURE__ */ jsx136("div", { className: "overflow-hidden rounded-md border", children: /* @__PURE__ */ jsxs78(Table, { children: [
12403
+ /* @__PURE__ */ jsxs78(TableHeader, { className: "bg-muted font-semibold", children: [
12404
+ props.title && /* @__PURE__ */ jsx136(TableRow, { children: /* @__PURE__ */ jsx136(TableHead, { className: "bg-card text-primary p-4 text-left font-bold", colSpan: tableColumns.length, children: /* @__PURE__ */ jsxs78("div", { className: "flex w-full items-center justify-between gap-x-2", children: [
12405
+ /* @__PURE__ */ jsx136("div", { className: "w-full", children: props.title }),
12406
+ (props.functions || props.filters || allowSearch) && /* @__PURE__ */ jsxs78(Fragment18, { children: [
12378
12407
  props.functions,
12379
12408
  props.filters,
12380
- /* @__PURE__ */ jsx135(ContentTableSearch, { data })
12409
+ /* @__PURE__ */ jsx136(ContentTableSearch, { data })
12381
12410
  ] })
12382
12411
  ] }) }) }),
12383
- table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx135(TableRow, { children: headerGroup.headers.map((header) => {
12384
- return /* @__PURE__ */ jsx135(TableHead, { children: header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext()) }, header.id);
12412
+ table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx136(TableRow, { children: headerGroup.headers.map((header) => {
12413
+ return /* @__PURE__ */ jsx136(TableHead, { children: header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext()) }, header.id);
12385
12414
  }) }, headerGroup.id))
12386
12415
  ] }),
12387
- /* @__PURE__ */ jsx135(TableBody, { children: rowModel && rowModel.rows?.length ? rowModel.rows.map((row) => /* @__PURE__ */ jsx135(TableRow, { children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx135(TableCell, { children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id)) }, row.id)) : /* @__PURE__ */ jsx135(TableRow, { children: /* @__PURE__ */ jsx135(TableCell, { colSpan: tableColumns.length, className: "h-24 text-center", children: "No results." }) }) }),
12388
- showFooter && /* @__PURE__ */ jsx135(TableFooter, { children: /* @__PURE__ */ jsx135(TableRow, { children: /* @__PURE__ */ jsx135(TableCell, { colSpan: tableColumns.length, className: "bg-card py-4 text-right", children: /* @__PURE__ */ jsxs77("div", { className: "flex items-center justify-end space-x-2", children: [
12389
- /* @__PURE__ */ jsx135(
12416
+ /* @__PURE__ */ jsx136(TableBody, { children: rowModel && rowModel.rows?.length ? rowModel.rows.map((row) => /* @__PURE__ */ jsx136(TableRow, { children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx136(TableCell, { children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id)) }, row.id)) : /* @__PURE__ */ jsx136(TableRow, { children: /* @__PURE__ */ jsx136(TableCell, { colSpan: tableColumns.length, className: "h-24 text-center", children: "No results." }) }) }),
12417
+ showFooter && /* @__PURE__ */ jsx136(TableFooter, { children: /* @__PURE__ */ jsx136(TableRow, { children: /* @__PURE__ */ jsx136(TableCell, { colSpan: tableColumns.length, className: "bg-card py-4 text-right", children: /* @__PURE__ */ jsxs78("div", { className: "flex items-center justify-end space-x-2", children: [
12418
+ /* @__PURE__ */ jsx136(
12390
12419
  Button,
12391
12420
  {
12392
12421
  variant: "outline",
@@ -12396,15 +12425,15 @@ var ContentListTable = memo(/* @__PURE__ */ __name(function ContentListTable2(pr
12396
12425
  data.previous?.(true);
12397
12426
  },
12398
12427
  disabled: !data.previous,
12399
- children: /* @__PURE__ */ jsx135(ChevronLeft, { className: "h-4 w-4" })
12428
+ children: /* @__PURE__ */ jsx136(ChevronLeft, { className: "h-4 w-4" })
12400
12429
  }
12401
12430
  ),
12402
- data.pageInfo && /* @__PURE__ */ jsxs77("span", { className: "text-muted-foreground text-xs", children: [
12431
+ data.pageInfo && /* @__PURE__ */ jsxs78("span", { className: "text-muted-foreground text-xs", children: [
12403
12432
  data.pageInfo.startItem,
12404
12433
  "-",
12405
12434
  data.pageInfo.endItem
12406
12435
  ] }),
12407
- /* @__PURE__ */ jsx135(
12436
+ /* @__PURE__ */ jsx136(
12408
12437
  Button,
12409
12438
  {
12410
12439
  variant: "outline",
@@ -12414,7 +12443,7 @@ var ContentListTable = memo(/* @__PURE__ */ __name(function ContentListTable2(pr
12414
12443
  data.next?.(true);
12415
12444
  },
12416
12445
  disabled: !data.next,
12417
- children: /* @__PURE__ */ jsx135(ChevronRight, { className: "h-4 w-4" })
12446
+ children: /* @__PURE__ */ jsx136(ChevronRight, { className: "h-4 w-4" })
12418
12447
  }
12419
12448
  )
12420
12449
  ] }) }) }) })
@@ -12429,15 +12458,58 @@ import { createContext as createContext15, useContext as useContext16, useMemo a
12429
12458
 
12430
12459
  // src/features/auth/components/forms/Register.tsx
12431
12460
  import { zodResolver as zodResolver4 } from "@hookform/resolvers/zod";
12432
- import { useTranslations as useTranslations47 } from "next-intl";
12461
+ import { useTranslations as useTranslations48 } from "next-intl";
12433
12462
  import Image7 from "next/image";
12434
12463
  import { useState as useState45 } from "react";
12435
12464
  import { useForm as useForm4 } from "react-hook-form";
12436
12465
  import { v4 as v44 } from "uuid";
12437
12466
  import { z as z4 } from "zod";
12438
- import { Fragment as Fragment19, jsx as jsx136, jsxs as jsxs78 } from "react/jsx-runtime";
12467
+
12468
+ // src/features/auth/components/GdprConsentSection.tsx
12469
+ import { useTranslations as useTranslations47 } from "next-intl";
12470
+ import { Fragment as Fragment19, jsx as jsx137, jsxs as jsxs79 } from "react/jsx-runtime";
12471
+ function GdprConsentSection({
12472
+ form,
12473
+ termsCheckboxId = "termsAccepted",
12474
+ marketingCheckboxId = "marketingConsent"
12475
+ }) {
12476
+ const t = useTranslations47("auth.gdpr");
12477
+ const termsLabel = /* @__PURE__ */ jsxs79(Fragment19, { children: [
12478
+ t("terms_prefix"),
12479
+ " ",
12480
+ /* @__PURE__ */ jsx137(Link, { href: "/terms", target: "_blank", rel: "noopener", className: "underline", children: t("terms_of_service") }),
12481
+ " ",
12482
+ t("and"),
12483
+ " ",
12484
+ /* @__PURE__ */ jsx137(Link, { href: "/privacy", target: "_blank", rel: "noopener", className: "underline", children: t("privacy_policy") })
12485
+ ] });
12486
+ return /* @__PURE__ */ jsxs79("div", { className: "space-y-4 py-4", children: [
12487
+ /* @__PURE__ */ jsx137(
12488
+ GdprConsentCheckbox,
12489
+ {
12490
+ form,
12491
+ id: termsCheckboxId,
12492
+ label: termsLabel,
12493
+ required: true
12494
+ }
12495
+ ),
12496
+ /* @__PURE__ */ jsx137(
12497
+ GdprConsentCheckbox,
12498
+ {
12499
+ form,
12500
+ id: marketingCheckboxId,
12501
+ label: t("marketing_consent"),
12502
+ description: t("marketing_description")
12503
+ }
12504
+ )
12505
+ ] });
12506
+ }
12507
+ __name(GdprConsentSection, "GdprConsentSection");
12508
+
12509
+ // src/features/auth/components/forms/Register.tsx
12510
+ import { Fragment as Fragment20, jsx as jsx138, jsxs as jsxs80 } from "react/jsx-runtime";
12439
12511
  function Register() {
12440
- const t = useTranslations47();
12512
+ const t = useTranslations48();
12441
12513
  const { setComponentType } = useAuthContext();
12442
12514
  const [showConfirmation, setShowConfirmation] = useState45(false);
12443
12515
  const formSchema = z4.object({
@@ -12452,7 +12524,11 @@ function Register() {
12452
12524
  }),
12453
12525
  password: z4.string().min(8, t(`auth.errors.password_too_short`)).regex(/^(?=.*[0-9])(?=.*[^a-zA-Z0-9]).*$/, {
12454
12526
  message: t(`auth.errors.password_invalid_format`)
12455
- })
12527
+ }),
12528
+ termsAccepted: z4.literal(true, {
12529
+ message: t("auth.gdpr.terms_required")
12530
+ }),
12531
+ marketingConsent: z4.boolean().optional()
12456
12532
  });
12457
12533
  const form = useForm4({
12458
12534
  resolver: zodResolver4(formSchema),
@@ -12460,7 +12536,9 @@ function Register() {
12460
12536
  company: "",
12461
12537
  name: "",
12462
12538
  email: "",
12463
- password: ""
12539
+ password: "",
12540
+ termsAccepted: false,
12541
+ marketingConsent: false
12464
12542
  }
12465
12543
  });
12466
12544
  const onSubmit = /* @__PURE__ */ __name(async (values) => {
@@ -12470,7 +12548,10 @@ function Register() {
12470
12548
  companyName: values.company,
12471
12549
  name: values.name,
12472
12550
  email: values.email,
12473
- password: values.password
12551
+ password: values.password,
12552
+ termsAcceptedAt: (/* @__PURE__ */ new Date()).toISOString(),
12553
+ marketingConsent: values.marketingConsent ?? false,
12554
+ marketingConsentAt: values.marketingConsent ? (/* @__PURE__ */ new Date()).toISOString() : null
12474
12555
  };
12475
12556
  await AuthService.register(payload);
12476
12557
  setShowConfirmation(true);
@@ -12478,17 +12559,17 @@ function Register() {
12478
12559
  errorToast({ error: e });
12479
12560
  }
12480
12561
  }, "onSubmit");
12481
- return /* @__PURE__ */ jsxs78(Fragment19, { children: [
12482
- /* @__PURE__ */ jsxs78(CardHeader, { children: [
12483
- /* @__PURE__ */ jsxs78(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
12484
- /* @__PURE__ */ jsx136(Image7, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
12562
+ return /* @__PURE__ */ jsxs80(Fragment20, { children: [
12563
+ /* @__PURE__ */ jsxs80(CardHeader, { children: [
12564
+ /* @__PURE__ */ jsxs80(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
12565
+ /* @__PURE__ */ jsx138(Image7, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
12485
12566
  t(`auth.buttons.register`)
12486
12567
  ] }),
12487
- /* @__PURE__ */ jsx136(CardDescription, { className: "text-sm", children: showConfirmation ? /* @__PURE__ */ jsx136(Fragment19, { children: " " }) : /* @__PURE__ */ jsx136(Fragment19, { children: t(`auth.register_description`) }) })
12568
+ /* @__PURE__ */ jsx138(CardDescription, { className: "text-sm", children: showConfirmation ? /* @__PURE__ */ jsx138(Fragment20, { children: " " }) : /* @__PURE__ */ jsx138(Fragment20, { children: t(`auth.register_description`) }) })
12488
12569
  ] }),
12489
- showConfirmation ? /* @__PURE__ */ jsx136(CardContent, { children: /* @__PURE__ */ jsx136(CardDescription, { className: "text-center text-xl", children: t("auth.register_confirmation") }) }) : /* @__PURE__ */ jsx136(Form, { ...form, children: /* @__PURE__ */ jsxs78("form", { onSubmit: form.handleSubmit(onSubmit), children: [
12490
- /* @__PURE__ */ jsxs78(CardContent, { children: [
12491
- /* @__PURE__ */ jsx136(
12570
+ showConfirmation ? /* @__PURE__ */ jsx138(CardContent, { children: /* @__PURE__ */ jsx138(CardDescription, { className: "text-center text-xl", children: t("auth.register_confirmation") }) }) : /* @__PURE__ */ jsx138(Form, { ...form, children: /* @__PURE__ */ jsxs80("form", { onSubmit: form.handleSubmit(onSubmit), children: [
12571
+ /* @__PURE__ */ jsxs80(CardContent, { children: [
12572
+ /* @__PURE__ */ jsx138(
12492
12573
  FormInput,
12493
12574
  {
12494
12575
  isRequired: true,
@@ -12498,7 +12579,7 @@ function Register() {
12498
12579
  placeholder: t(`company.fields.name.placeholder`)
12499
12580
  }
12500
12581
  ),
12501
- /* @__PURE__ */ jsx136(
12582
+ /* @__PURE__ */ jsx138(
12502
12583
  FormInput,
12503
12584
  {
12504
12585
  isRequired: true,
@@ -12508,7 +12589,7 @@ function Register() {
12508
12589
  placeholder: t(`user.fields.name.placeholder`)
12509
12590
  }
12510
12591
  ),
12511
- /* @__PURE__ */ jsx136(
12592
+ /* @__PURE__ */ jsx138(
12512
12593
  FormInput,
12513
12594
  {
12514
12595
  isRequired: true,
@@ -12518,7 +12599,7 @@ function Register() {
12518
12599
  placeholder: t(`common.fields.email.placeholder`)
12519
12600
  }
12520
12601
  ),
12521
- /* @__PURE__ */ jsx136(
12602
+ /* @__PURE__ */ jsx138(
12522
12603
  FormPassword,
12523
12604
  {
12524
12605
  isRequired: true,
@@ -12528,10 +12609,11 @@ function Register() {
12528
12609
  placeholder: t(`user.fields.password.placeholder`)
12529
12610
  }
12530
12611
  ),
12531
- /* @__PURE__ */ jsx136(Button, { className: "mt-4 w-full", type: "submit", children: t(`auth.buttons.register`) })
12612
+ /* @__PURE__ */ jsx138(GdprConsentSection, { form }),
12613
+ /* @__PURE__ */ jsx138(Button, { className: "mt-4 w-full", type: "submit", children: t(`auth.buttons.register`) })
12532
12614
  ] }),
12533
- /* @__PURE__ */ jsxs78(CardFooter, { className: "flex w-full flex-row justify-between", children: [
12534
- /* @__PURE__ */ jsx136(
12615
+ /* @__PURE__ */ jsxs80(CardFooter, { className: "flex w-full flex-row justify-between", children: [
12616
+ /* @__PURE__ */ jsx138(
12535
12617
  Link,
12536
12618
  {
12537
12619
  href: "#",
@@ -12540,7 +12622,7 @@ function Register() {
12540
12622
  children: t(`auth.buttons.login`)
12541
12623
  }
12542
12624
  ),
12543
- /* @__PURE__ */ jsx136(
12625
+ /* @__PURE__ */ jsx138(
12544
12626
  Link,
12545
12627
  {
12546
12628
  href: "#",
@@ -12556,7 +12638,7 @@ function Register() {
12556
12638
  __name(Register, "Register");
12557
12639
 
12558
12640
  // src/features/auth/contexts/AuthContext.tsx
12559
- import { jsx as jsx137 } from "react/jsx-runtime";
12641
+ import { jsx as jsx139 } from "react/jsx-runtime";
12560
12642
  var AuthContext = createContext15(void 0);
12561
12643
  var AuthContextProvider = /* @__PURE__ */ __name(({
12562
12644
  children,
@@ -12569,22 +12651,22 @@ var AuthContextProvider = /* @__PURE__ */ __name(({
12569
12651
  if (componentType === void 0) return null;
12570
12652
  switch (componentType) {
12571
12653
  case 0 /* Login */:
12572
- return /* @__PURE__ */ jsx137(Login, {});
12654
+ return /* @__PURE__ */ jsx139(Login, {});
12573
12655
  case 5 /* Register */:
12574
- return /* @__PURE__ */ jsx137(Register, {});
12656
+ return /* @__PURE__ */ jsx139(Register, {});
12575
12657
  case 1 /* ForgotPassword */:
12576
- return /* @__PURE__ */ jsx137(ForgotPassword, {});
12658
+ return /* @__PURE__ */ jsx139(ForgotPassword, {});
12577
12659
  case 3 /* ActivateAccount */:
12578
- return /* @__PURE__ */ jsx137(ActivateAccount, {});
12660
+ return /* @__PURE__ */ jsx139(ActivateAccount, {});
12579
12661
  case 2 /* ResetPassword */:
12580
- return /* @__PURE__ */ jsx137(ResetPassword, {});
12662
+ return /* @__PURE__ */ jsx139(ResetPassword, {});
12581
12663
  case 4 /* AcceptInvitation */:
12582
- return /* @__PURE__ */ jsx137(AcceptInvitation, {});
12664
+ return /* @__PURE__ */ jsx139(AcceptInvitation, {});
12583
12665
  default:
12584
- return /* @__PURE__ */ jsx137(LandingComponent, {});
12666
+ return /* @__PURE__ */ jsx139(LandingComponent, {});
12585
12667
  }
12586
12668
  }, [componentType]);
12587
- return /* @__PURE__ */ jsx137(
12669
+ return /* @__PURE__ */ jsx139(
12588
12670
  AuthContext.Provider,
12589
12671
  {
12590
12672
  value: {
@@ -12606,48 +12688,48 @@ var useAuthContext = /* @__PURE__ */ __name(() => {
12606
12688
  }, "useAuthContext");
12607
12689
 
12608
12690
  // src/features/auth/components/containers/AuthContainer.tsx
12609
- import { jsx as jsx138 } from "react/jsx-runtime";
12691
+ import { jsx as jsx140 } from "react/jsx-runtime";
12610
12692
  function AuthContainer({ componentType, params }) {
12611
- return /* @__PURE__ */ jsx138(AuthContextProvider, { initialComponentType: componentType, initialParams: params, children: /* @__PURE__ */ jsx138(InnerAuthContainer, {}) });
12693
+ return /* @__PURE__ */ jsx140(AuthContextProvider, { initialComponentType: componentType, initialParams: params, children: /* @__PURE__ */ jsx140(InnerAuthContainer, {}) });
12612
12694
  }
12613
12695
  __name(AuthContainer, "AuthContainer");
12614
12696
  function InnerAuthContainer() {
12615
12697
  const { activeComponent } = useAuthContext();
12616
12698
  if (activeComponent === null)
12617
- return /* @__PURE__ */ jsx138("div", { className: "max-w-sm", children: /* @__PURE__ */ jsx138(Image8, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, className: "animate-spin-slow", priority: true }) });
12618
- return /* @__PURE__ */ jsx138(Card, { className: "w-full max-w-md", children: activeComponent });
12699
+ return /* @__PURE__ */ jsx140("div", { className: "max-w-sm", children: /* @__PURE__ */ jsx140(Image8, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, className: "animate-spin-slow", priority: true }) });
12700
+ return /* @__PURE__ */ jsx140(Card, { className: "w-full max-w-md", children: activeComponent });
12619
12701
  }
12620
12702
  __name(InnerAuthContainer, "InnerAuthContainer");
12621
12703
 
12622
12704
  // src/features/auth/components/details/LandingComponent.tsx
12623
- import { useTranslations as useTranslations48 } from "next-intl";
12705
+ import { useTranslations as useTranslations49 } from "next-intl";
12624
12706
  import Image9 from "next/image";
12625
- import { Fragment as Fragment20, jsx as jsx139, jsxs as jsxs79 } from "react/jsx-runtime";
12707
+ import { Fragment as Fragment21, jsx as jsx141, jsxs as jsxs81 } from "react/jsx-runtime";
12626
12708
  function LandingComponent() {
12627
- const t = useTranslations48();
12709
+ const t = useTranslations49();
12628
12710
  const { setComponentType } = useAuthContext();
12629
- return /* @__PURE__ */ jsxs79(Fragment20, { children: [
12630
- /* @__PURE__ */ jsxs79(CardHeader, { className: "mb-4", "data-testid": "page-pre-login-container", children: [
12631
- /* @__PURE__ */ jsxs79(CardTitle, { className: "text-primary flex flex-col items-center gap-y-8 pb-8 text-4xl", children: [
12632
- /* @__PURE__ */ jsx139(Image9, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
12711
+ return /* @__PURE__ */ jsxs81(Fragment21, { children: [
12712
+ /* @__PURE__ */ jsxs81(CardHeader, { className: "mb-4", "data-testid": "page-pre-login-container", children: [
12713
+ /* @__PURE__ */ jsxs81(CardTitle, { className: "text-primary flex flex-col items-center gap-y-8 pb-8 text-4xl", children: [
12714
+ /* @__PURE__ */ jsx141(Image9, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
12633
12715
  t(`common.title`)
12634
12716
  ] }),
12635
- /* @__PURE__ */ jsx139(CardDescription, { className: "flex w-full justify-center text-center text-sm", children: t(`common.description`) })
12717
+ /* @__PURE__ */ jsx141(CardDescription, { className: "flex w-full justify-center text-center text-sm", children: t(`common.description`) })
12636
12718
  ] }),
12637
- /* @__PURE__ */ jsxs79(CardFooter, { className: "mt-4 flex w-full flex-col justify-between gap-y-4", children: [
12638
- isInternalAuthEnabled() && /* @__PURE__ */ jsxs79(Fragment20, { children: [
12639
- isRegistrationAllowed() && /* @__PURE__ */ jsx139(
12719
+ /* @__PURE__ */ jsxs81(CardFooter, { className: "mt-4 flex w-full flex-col justify-between gap-y-4", children: [
12720
+ isInternalAuthEnabled() && /* @__PURE__ */ jsxs81(Fragment21, { children: [
12721
+ isRegistrationAllowed() && /* @__PURE__ */ jsx141(
12640
12722
  Link,
12641
12723
  {
12642
12724
  href: "#",
12643
12725
  className: "flex w-full justify-start",
12644
12726
  onClick: () => setComponentType(5 /* Register */),
12645
- children: /* @__PURE__ */ jsx139(Button, { className: "w-full", variant: `default`, children: t(`auth.buttons.register`) })
12727
+ children: /* @__PURE__ */ jsx141(Button, { className: "w-full", variant: `default`, children: t(`auth.buttons.register`) })
12646
12728
  }
12647
12729
  ),
12648
- /* @__PURE__ */ jsx139(Link, { href: "#", className: "flex w-full justify-end", onClick: () => setComponentType(0 /* Login */), children: /* @__PURE__ */ jsx139(Button, { className: "w-full", variant: `outline`, "data-testid": "page-login-button-initial-login", children: t(`auth.buttons.login`) }) })
12730
+ /* @__PURE__ */ jsx141(Link, { href: "#", className: "flex w-full justify-end", onClick: () => setComponentType(0 /* Login */), children: /* @__PURE__ */ jsx141(Button, { className: "w-full", variant: `outline`, "data-testid": "page-login-button-initial-login", children: t(`auth.buttons.login`) }) })
12649
12731
  ] }),
12650
- isDiscordAuthEnabled() && /* @__PURE__ */ jsx139(Link, { href: `${getApiUrl()}auth/discord`, className: "flex w-full justify-end", children: /* @__PURE__ */ jsx139(Button, { className: "w-full", variant: `outline`, "data-testid": "page-login-button-initial-login", children: "Login with Discord" }) })
12732
+ isDiscordAuthEnabled() && /* @__PURE__ */ jsx141(Link, { href: `${getApiUrl()}auth/discord`, className: "flex w-full justify-end", children: /* @__PURE__ */ jsx141(Button, { className: "w-full", variant: `outline`, "data-testid": "page-login-button-initial-login", children: "Login with Discord" }) })
12651
12733
  ] })
12652
12734
  ] });
12653
12735
  }
@@ -12655,17 +12737,17 @@ __name(LandingComponent, "LandingComponent");
12655
12737
 
12656
12738
  // src/features/auth/components/forms/AcceptInvitation.tsx
12657
12739
  import { zodResolver as zodResolver5 } from "@hookform/resolvers/zod";
12658
- import { useTranslations as useTranslations49 } from "next-intl";
12740
+ import { useTranslations as useTranslations50 } from "next-intl";
12659
12741
  import Image10 from "next/image";
12660
12742
  import { useEffect as useEffect39, useState as useState47 } from "react";
12661
12743
  import { useForm as useForm5 } from "react-hook-form";
12662
12744
  import { z as z5 } from "zod";
12663
- import { Fragment as Fragment21, jsx as jsx140, jsxs as jsxs80 } from "react/jsx-runtime";
12745
+ import { Fragment as Fragment22, jsx as jsx142, jsxs as jsxs82 } from "react/jsx-runtime";
12664
12746
  function AcceptInvitation() {
12665
12747
  const { setComponentType, params, setParams } = useAuthContext();
12666
12748
  const [showConfirmation, setShowConfirmation] = useState47(false);
12667
12749
  const [error, setError] = useState47(void 0);
12668
- const t = useTranslations49();
12750
+ const t = useTranslations50();
12669
12751
  useEffect39(() => {
12670
12752
  async function validateCode(code) {
12671
12753
  try {
@@ -12723,16 +12805,16 @@ function AcceptInvitation() {
12723
12805
  errorToast({ title: t(`common.errors.error`), error });
12724
12806
  }
12725
12807
  }, "onSubmit");
12726
- return /* @__PURE__ */ jsxs80(Fragment21, { children: [
12727
- /* @__PURE__ */ jsxs80(CardHeader, { children: [
12728
- /* @__PURE__ */ jsxs80(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
12729
- /* @__PURE__ */ jsx140(Image10, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
12808
+ return /* @__PURE__ */ jsxs82(Fragment22, { children: [
12809
+ /* @__PURE__ */ jsxs82(CardHeader, { children: [
12810
+ /* @__PURE__ */ jsxs82(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
12811
+ /* @__PURE__ */ jsx142(Image10, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
12730
12812
  t("auth.accept_invitation")
12731
12813
  ] }),
12732
- /* @__PURE__ */ jsx140(CardDescription, { className: "text-center text-sm", children: error ? /* @__PURE__ */ jsx140(Fragment21, { children: t("auth.errors.activating_account") }) : /* @__PURE__ */ jsx140(Fragment21, { children: t("auth.select_password") }) })
12814
+ /* @__PURE__ */ jsx142(CardDescription, { className: "text-center text-sm", children: error ? /* @__PURE__ */ jsx142(Fragment22, { children: t("auth.errors.activating_account") }) : /* @__PURE__ */ jsx142(Fragment22, { children: t("auth.select_password") }) })
12733
12815
  ] }),
12734
- /* @__PURE__ */ jsx140(CardContent, { children: showConfirmation ? /* @__PURE__ */ jsx140(CardDescription, { className: "text-center text-xl", children: t("auth.activation_description") }) : error ? /* @__PURE__ */ jsx140(CardDescription, { className: "text-center text-xl", children: error }) : /* @__PURE__ */ jsx140(Form, { ...form, children: /* @__PURE__ */ jsxs80("form", { onSubmit: form.handleSubmit(onSubmit), children: [
12735
- /* @__PURE__ */ jsx140(
12816
+ /* @__PURE__ */ jsx142(CardContent, { children: showConfirmation ? /* @__PURE__ */ jsx142(CardDescription, { className: "text-center text-xl", children: t("auth.activation_description") }) : error ? /* @__PURE__ */ jsx142(CardDescription, { className: "text-center text-xl", children: error }) : /* @__PURE__ */ jsx142(Form, { ...form, children: /* @__PURE__ */ jsxs82("form", { onSubmit: form.handleSubmit(onSubmit), children: [
12817
+ /* @__PURE__ */ jsx142(
12736
12818
  FormPassword,
12737
12819
  {
12738
12820
  form,
@@ -12741,7 +12823,7 @@ function AcceptInvitation() {
12741
12823
  placeholder: t(`user.fields.password.placeholder`)
12742
12824
  }
12743
12825
  ),
12744
- /* @__PURE__ */ jsx140(
12826
+ /* @__PURE__ */ jsx142(
12745
12827
  FormPassword,
12746
12828
  {
12747
12829
  form,
@@ -12750,22 +12832,22 @@ function AcceptInvitation() {
12750
12832
  placeholder: t(`auth.fields.retype_password.placeholder`)
12751
12833
  }
12752
12834
  ),
12753
- /* @__PURE__ */ jsx140(Button, { className: "mt-4 w-full", type: "submit", children: t("auth.accept_invitation") })
12835
+ /* @__PURE__ */ jsx142(Button, { className: "mt-4 w-full", type: "submit", children: t("auth.accept_invitation") })
12754
12836
  ] }) }) })
12755
12837
  ] });
12756
12838
  }
12757
12839
  __name(AcceptInvitation, "AcceptInvitation");
12758
12840
 
12759
12841
  // src/features/auth/components/forms/ActivateAccount.tsx
12760
- import { useTranslations as useTranslations50 } from "next-intl";
12842
+ import { useTranslations as useTranslations51 } from "next-intl";
12761
12843
  import Image11 from "next/image";
12762
12844
  import { useEffect as useEffect40, useState as useState48 } from "react";
12763
- import { Fragment as Fragment22, jsx as jsx141, jsxs as jsxs81 } from "react/jsx-runtime";
12845
+ import { Fragment as Fragment23, jsx as jsx143, jsxs as jsxs83 } from "react/jsx-runtime";
12764
12846
  function ActivateAccount() {
12765
12847
  const { setComponentType, params, setParams } = useAuthContext();
12766
12848
  const [showConfirmation, setShowConfirmation] = useState48(false);
12767
12849
  const [error, setError] = useState48(void 0);
12768
- const t = useTranslations50();
12850
+ const t = useTranslations51();
12769
12851
  useEffect40(() => {
12770
12852
  async function ActivateAccount2(code) {
12771
12853
  try {
@@ -12793,15 +12875,15 @@ function ActivateAccount() {
12793
12875
  setError(t(`auth.errors.invalid_invitation_code`));
12794
12876
  }
12795
12877
  }, []);
12796
- return /* @__PURE__ */ jsxs81(Fragment22, { children: [
12797
- /* @__PURE__ */ jsxs81(CardHeader, { children: [
12798
- /* @__PURE__ */ jsxs81(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
12799
- /* @__PURE__ */ jsx141(Image11, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
12878
+ return /* @__PURE__ */ jsxs83(Fragment23, { children: [
12879
+ /* @__PURE__ */ jsxs83(CardHeader, { children: [
12880
+ /* @__PURE__ */ jsxs83(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
12881
+ /* @__PURE__ */ jsx143(Image11, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
12800
12882
  t("auth.accept_invitation")
12801
12883
  ] }),
12802
- /* @__PURE__ */ jsx141(CardDescription, { className: "text-center text-sm", children: error ? /* @__PURE__ */ jsx141(Fragment22, { children: t("auth.errors.activating_account") }) : /* @__PURE__ */ jsx141(Fragment22, { children: " " }) })
12884
+ /* @__PURE__ */ jsx143(CardDescription, { className: "text-center text-sm", children: error ? /* @__PURE__ */ jsx143(Fragment23, { children: t("auth.errors.activating_account") }) : /* @__PURE__ */ jsx143(Fragment23, { children: " " }) })
12803
12885
  ] }),
12804
- /* @__PURE__ */ jsx141(CardContent, { children: /* @__PURE__ */ jsx141(CardDescription, { className: "text-center text-xl", children: showConfirmation ? /* @__PURE__ */ jsx141(Fragment22, { children: t("auth.activation_description") }) : error ? /* @__PURE__ */ jsx141(Fragment22, { children: error }) : /* @__PURE__ */ jsx141(Fragment22, { children: t("auth.activation_wait") }) }) })
12886
+ /* @__PURE__ */ jsx143(CardContent, { children: /* @__PURE__ */ jsx143(CardDescription, { className: "text-center text-xl", children: showConfirmation ? /* @__PURE__ */ jsx143(Fragment23, { children: t("auth.activation_description") }) : error ? /* @__PURE__ */ jsx143(Fragment23, { children: error }) : /* @__PURE__ */ jsx143(Fragment23, { children: t("auth.activation_wait") }) }) })
12805
12887
  ] });
12806
12888
  }
12807
12889
  __name(ActivateAccount, "ActivateAccount");
@@ -12833,14 +12915,14 @@ __name(Cookies, "Cookies");
12833
12915
 
12834
12916
  // src/features/auth/components/forms/ForgotPassword.tsx
12835
12917
  import { zodResolver as zodResolver6 } from "@hookform/resolvers/zod";
12836
- import { useTranslations as useTranslations51 } from "next-intl";
12918
+ import { useTranslations as useTranslations52 } from "next-intl";
12837
12919
  import Image12 from "next/image";
12838
12920
  import { useState as useState50 } from "react";
12839
12921
  import { useForm as useForm6 } from "react-hook-form";
12840
12922
  import { z as z6 } from "zod";
12841
- import { Fragment as Fragment23, jsx as jsx142, jsxs as jsxs82 } from "react/jsx-runtime";
12923
+ import { Fragment as Fragment24, jsx as jsx144, jsxs as jsxs84 } from "react/jsx-runtime";
12842
12924
  function ForgotPassword() {
12843
- const t = useTranslations51();
12925
+ const t = useTranslations52();
12844
12926
  const { setComponentType } = useAuthContext();
12845
12927
  const [showConfirmation, setShowConfirmation] = useState50(false);
12846
12928
  const formSchema = z6.object({
@@ -12865,17 +12947,17 @@ function ForgotPassword() {
12865
12947
  errorToast({ error: e });
12866
12948
  }
12867
12949
  }, "onSubmit");
12868
- return /* @__PURE__ */ jsxs82(Fragment23, { children: [
12869
- /* @__PURE__ */ jsxs82(CardHeader, { "data-testid": "page-forgot-password-container", children: [
12870
- /* @__PURE__ */ jsxs82(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
12871
- /* @__PURE__ */ jsx142(Image12, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
12950
+ return /* @__PURE__ */ jsxs84(Fragment24, { children: [
12951
+ /* @__PURE__ */ jsxs84(CardHeader, { "data-testid": "page-forgot-password-container", children: [
12952
+ /* @__PURE__ */ jsxs84(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
12953
+ /* @__PURE__ */ jsx144(Image12, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
12872
12954
  t("auth.buttons.forgot_password")
12873
12955
  ] }),
12874
- /* @__PURE__ */ jsx142(CardDescription, { className: "text-sm", children: showConfirmation ? /* @__PURE__ */ jsx142(Fragment23, { children: " " }) : /* @__PURE__ */ jsx142(Fragment23, { children: t(`auth.add_email_to_reset`) }) })
12956
+ /* @__PURE__ */ jsx144(CardDescription, { className: "text-sm", children: showConfirmation ? /* @__PURE__ */ jsx144(Fragment24, { children: " " }) : /* @__PURE__ */ jsx144(Fragment24, { children: t(`auth.add_email_to_reset`) }) })
12875
12957
  ] }),
12876
- showConfirmation ? /* @__PURE__ */ jsx142(CardContent, { children: /* @__PURE__ */ jsx142(CardDescription, { className: "text-center text-xl", children: t(`auth.reset_confirmation`) }) }) : /* @__PURE__ */ jsx142(Form, { ...form, children: /* @__PURE__ */ jsxs82("form", { onSubmit: form.handleSubmit(onSubmit), children: [
12877
- /* @__PURE__ */ jsxs82(CardContent, { children: [
12878
- /* @__PURE__ */ jsx142(
12958
+ showConfirmation ? /* @__PURE__ */ jsx144(CardContent, { children: /* @__PURE__ */ jsx144(CardDescription, { className: "text-center text-xl", children: t(`auth.reset_confirmation`) }) }) : /* @__PURE__ */ jsx144(Form, { ...form, children: /* @__PURE__ */ jsxs84("form", { onSubmit: form.handleSubmit(onSubmit), children: [
12959
+ /* @__PURE__ */ jsxs84(CardContent, { children: [
12960
+ /* @__PURE__ */ jsx144(
12879
12961
  FormInput,
12880
12962
  {
12881
12963
  form,
@@ -12885,9 +12967,9 @@ function ForgotPassword() {
12885
12967
  testId: "form-forgot-password-input-email"
12886
12968
  }
12887
12969
  ),
12888
- /* @__PURE__ */ jsx142(Button, { className: "mt-4 w-full", type: "submit", "data-testid": "form-forgot-password-button-reset", children: t(`auth.buttons.reset_password`) })
12970
+ /* @__PURE__ */ jsx144(Button, { className: "mt-4 w-full", type: "submit", "data-testid": "form-forgot-password-button-reset", children: t(`auth.buttons.reset_password`) })
12889
12971
  ] }),
12890
- /* @__PURE__ */ jsx142(CardFooter, { className: "flex w-full flex-row justify-between", children: /* @__PURE__ */ jsx142(
12972
+ /* @__PURE__ */ jsx144(CardFooter, { className: "flex w-full flex-row justify-between", children: /* @__PURE__ */ jsx144(
12891
12973
  Link,
12892
12974
  {
12893
12975
  href: "#",
@@ -12904,13 +12986,13 @@ __name(ForgotPassword, "ForgotPassword");
12904
12986
 
12905
12987
  // src/features/auth/components/forms/Login.tsx
12906
12988
  import { zodResolver as zodResolver7 } from "@hookform/resolvers/zod";
12907
- import { useTranslations as useTranslations52 } from "next-intl";
12989
+ import { useTranslations as useTranslations53 } from "next-intl";
12908
12990
  import Image13 from "next/image";
12909
12991
  import { useForm as useForm7 } from "react-hook-form";
12910
12992
  import { z as z7 } from "zod";
12911
- import { Fragment as Fragment24, jsx as jsx143, jsxs as jsxs83 } from "react/jsx-runtime";
12993
+ import { Fragment as Fragment25, jsx as jsx145, jsxs as jsxs85 } from "react/jsx-runtime";
12912
12994
  function Login() {
12913
- const t = useTranslations52();
12995
+ const t = useTranslations53();
12914
12996
  const { setUser } = useCurrentUserContext();
12915
12997
  const { setComponentType } = useAuthContext();
12916
12998
  const generateUrl = usePageUrlGenerator();
@@ -12943,17 +13025,17 @@ function Login() {
12943
13025
  });
12944
13026
  }
12945
13027
  }, "onSubmit");
12946
- return /* @__PURE__ */ jsxs83(Fragment24, { children: [
12947
- /* @__PURE__ */ jsxs83(CardHeader, { "data-testid": "page-login-container", children: [
12948
- /* @__PURE__ */ jsxs83(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
12949
- /* @__PURE__ */ jsx143(Image13, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
13028
+ return /* @__PURE__ */ jsxs85(Fragment25, { children: [
13029
+ /* @__PURE__ */ jsxs85(CardHeader, { "data-testid": "page-login-container", children: [
13030
+ /* @__PURE__ */ jsxs85(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
13031
+ /* @__PURE__ */ jsx145(Image13, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
12950
13032
  t("auth.buttons.login")
12951
13033
  ] }),
12952
- /* @__PURE__ */ jsx143(CardDescription, { className: "text-sm", children: t(`auth.login_description`) })
13034
+ /* @__PURE__ */ jsx145(CardDescription, { className: "text-sm", children: t(`auth.login_description`) })
12953
13035
  ] }),
12954
- /* @__PURE__ */ jsx143(Form, { ...form, children: /* @__PURE__ */ jsxs83("form", { onSubmit: form.handleSubmit(onSubmit), children: [
12955
- /* @__PURE__ */ jsx143(CardContent, { children: isInternalAuthEnabled() && /* @__PURE__ */ jsxs83(Fragment24, { children: [
12956
- /* @__PURE__ */ jsx143(
13036
+ /* @__PURE__ */ jsx145(Form, { ...form, children: /* @__PURE__ */ jsxs85("form", { onSubmit: form.handleSubmit(onSubmit), children: [
13037
+ /* @__PURE__ */ jsx145(CardContent, { children: isInternalAuthEnabled() && /* @__PURE__ */ jsxs85(Fragment25, { children: [
13038
+ /* @__PURE__ */ jsx145(
12957
13039
  FormInput,
12958
13040
  {
12959
13041
  autoFocus: true,
@@ -12964,7 +13046,7 @@ function Login() {
12964
13046
  testId: "form-login-input-email"
12965
13047
  }
12966
13048
  ),
12967
- /* @__PURE__ */ jsx143(
13049
+ /* @__PURE__ */ jsx145(
12968
13050
  FormPassword,
12969
13051
  {
12970
13052
  form,
@@ -12974,12 +13056,12 @@ function Login() {
12974
13056
  testId: "form-login-input-password"
12975
13057
  }
12976
13058
  ),
12977
- /* @__PURE__ */ jsx143(Button, { className: "mt-4 w-full", type: "submit", "data-testid": "form-login-button-submit", children: t(`auth.buttons.login`) })
13059
+ /* @__PURE__ */ jsx145(Button, { className: "mt-4 w-full", type: "submit", "data-testid": "form-login-button-submit", children: t(`auth.buttons.login`) })
12978
13060
  ] }) }),
12979
- /* @__PURE__ */ jsxs83(CardFooter, { className: "flex w-full flex-col gap-y-4 mt-4", children: [
12980
- isDiscordAuthEnabled() && /* @__PURE__ */ jsx143(Link, { href: `${getApiUrl()}auth/discord`, className: "flex w-full justify-end", children: /* @__PURE__ */ jsx143(Button, { className: "w-full", variant: `outline`, "data-testid": "page-login-button-initial-login", children: "Login with Discord" }) }),
12981
- /* @__PURE__ */ jsxs83("div", { className: "flex w-full flex-row justify-between", children: [
12982
- /* @__PURE__ */ jsx143(
13061
+ /* @__PURE__ */ jsxs85(CardFooter, { className: "flex w-full flex-col gap-y-4 mt-4", children: [
13062
+ isDiscordAuthEnabled() && /* @__PURE__ */ jsx145(Link, { href: `${getApiUrl()}auth/discord`, className: "flex w-full justify-end", children: /* @__PURE__ */ jsx145(Button, { className: "w-full", variant: `outline`, "data-testid": "page-login-button-initial-login", children: "Login with Discord" }) }),
13063
+ /* @__PURE__ */ jsxs85("div", { className: "flex w-full flex-row justify-between", children: [
13064
+ /* @__PURE__ */ jsx145(
12983
13065
  Link,
12984
13066
  {
12985
13067
  href: "#",
@@ -12988,7 +13070,7 @@ function Login() {
12988
13070
  children: t(`auth.buttons.register`)
12989
13071
  }
12990
13072
  ),
12991
- /* @__PURE__ */ jsx143(
13073
+ /* @__PURE__ */ jsx145(
12992
13074
  Link,
12993
13075
  {
12994
13076
  href: "#",
@@ -13007,7 +13089,7 @@ __name(Login, "Login");
13007
13089
 
13008
13090
  // src/features/auth/components/forms/Logout.tsx
13009
13091
  import { useEffect as useEffect42 } from "react";
13010
- import { Fragment as Fragment25, jsx as jsx144 } from "react/jsx-runtime";
13092
+ import { Fragment as Fragment26, jsx as jsx146 } from "react/jsx-runtime";
13011
13093
  function Logout() {
13012
13094
  const generateUrl = usePageUrlGenerator();
13013
13095
  useEffect42(() => {
@@ -13017,7 +13099,7 @@ function Logout() {
13017
13099
  }, "logOut");
13018
13100
  logOut();
13019
13101
  }, []);
13020
- return /* @__PURE__ */ jsx144(Fragment25, {});
13102
+ return /* @__PURE__ */ jsx146(Fragment26, {});
13021
13103
  }
13022
13104
  __name(Logout, "Logout");
13023
13105
 
@@ -13053,17 +13135,17 @@ __name(RefreshUser, "RefreshUser");
13053
13135
 
13054
13136
  // src/features/auth/components/forms/ResetPassword.tsx
13055
13137
  import { zodResolver as zodResolver8 } from "@hookform/resolvers/zod";
13056
- import { useTranslations as useTranslations53 } from "next-intl";
13138
+ import { useTranslations as useTranslations54 } from "next-intl";
13057
13139
  import Image14 from "next/image";
13058
13140
  import { useEffect as useEffect44, useState as useState51 } from "react";
13059
13141
  import { useForm as useForm8 } from "react-hook-form";
13060
13142
  import { z as z8 } from "zod";
13061
- import { Fragment as Fragment26, jsx as jsx145, jsxs as jsxs84 } from "react/jsx-runtime";
13143
+ import { Fragment as Fragment27, jsx as jsx147, jsxs as jsxs86 } from "react/jsx-runtime";
13062
13144
  function ResetPassword() {
13063
13145
  const { setComponentType, params, setParams } = useAuthContext();
13064
13146
  const [showConfirmation, setShowConfirmation] = useState51(false);
13065
13147
  const [error, setError] = useState51(void 0);
13066
- const t = useTranslations53();
13148
+ const t = useTranslations54();
13067
13149
  useEffect44(() => {
13068
13150
  async function validateResetPasswordCode(code) {
13069
13151
  try {
@@ -13121,31 +13203,31 @@ function ResetPassword() {
13121
13203
  errorToast({ title: t(`common.errors.error`), error });
13122
13204
  }
13123
13205
  }, "onSubmit");
13124
- return /* @__PURE__ */ jsxs84(Fragment26, { children: [
13125
- /* @__PURE__ */ jsxs84(CardHeader, { children: [
13126
- /* @__PURE__ */ jsxs84(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
13127
- /* @__PURE__ */ jsx145(Image14, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
13206
+ return /* @__PURE__ */ jsxs86(Fragment27, { children: [
13207
+ /* @__PURE__ */ jsxs86(CardHeader, { children: [
13208
+ /* @__PURE__ */ jsxs86(CardTitle, { className: "text-primary flex flex-col items-center pb-10 text-4xl", children: [
13209
+ /* @__PURE__ */ jsx147(Image14, { src: "/logo.webp", alt: "Logo", width: 100, height: 100, priority: true }),
13128
13210
  t(`auth.password_reset`)
13129
13211
  ] }),
13130
- /* @__PURE__ */ jsx145(CardDescription, { className: "text-center text-sm", children: error ? /* @__PURE__ */ jsx145(Fragment26, { children: t(`auth.errors.password_reset_error`) }) : /* @__PURE__ */ jsx145(Fragment26, { children: t(`auth.reset_password`) }) })
13212
+ /* @__PURE__ */ jsx147(CardDescription, { className: "text-center text-sm", children: error ? /* @__PURE__ */ jsx147(Fragment27, { children: t(`auth.errors.password_reset_error`) }) : /* @__PURE__ */ jsx147(Fragment27, { children: t(`auth.reset_password`) }) })
13131
13213
  ] }),
13132
- /* @__PURE__ */ jsx145(CardContent, { children: showConfirmation ? /* @__PURE__ */ jsx145(CardDescription, { className: "text-center text-xl", children: t(`auth.reset_success_description`) }) : error ? /* @__PURE__ */ jsx145(CardDescription, { className: "text-center text-xl", children: error }) : /* @__PURE__ */ jsx145(Form, { ...form, children: /* @__PURE__ */ jsxs84("form", { onSubmit: form.handleSubmit(onSubmit), children: [
13133
- /* @__PURE__ */ jsx145(FormPassword, { form, id: "password", name: "Password" }),
13134
- /* @__PURE__ */ jsx145(FormPassword, { form, id: "passwordRetype", name: "Retype Password" }),
13135
- /* @__PURE__ */ jsx145(Button, { className: "mt-4 w-full", type: "submit", children: t(`auth.buttons.reset_password`) })
13214
+ /* @__PURE__ */ jsx147(CardContent, { children: showConfirmation ? /* @__PURE__ */ jsx147(CardDescription, { className: "text-center text-xl", children: t(`auth.reset_success_description`) }) : error ? /* @__PURE__ */ jsx147(CardDescription, { className: "text-center text-xl", children: error }) : /* @__PURE__ */ jsx147(Form, { ...form, children: /* @__PURE__ */ jsxs86("form", { onSubmit: form.handleSubmit(onSubmit), children: [
13215
+ /* @__PURE__ */ jsx147(FormPassword, { form, id: "password", name: "Password" }),
13216
+ /* @__PURE__ */ jsx147(FormPassword, { form, id: "passwordRetype", name: "Retype Password" }),
13217
+ /* @__PURE__ */ jsx147(Button, { className: "mt-4 w-full", type: "submit", children: t(`auth.buttons.reset_password`) })
13136
13218
  ] }) }) })
13137
13219
  ] });
13138
13220
  }
13139
13221
  __name(ResetPassword, "ResetPassword");
13140
13222
 
13141
13223
  // src/features/content/components/lists/ContentsList.tsx
13142
- import { useTranslations as useTranslations54 } from "next-intl";
13143
- import { jsx as jsx146, jsxs as jsxs85 } from "react/jsx-runtime";
13224
+ import { useTranslations as useTranslations55 } from "next-intl";
13225
+ import { jsx as jsx148, jsxs as jsxs87 } from "react/jsx-runtime";
13144
13226
  function ContentsList({ contentList }) {
13145
- const t = useTranslations54();
13146
- return /* @__PURE__ */ jsxs85("div", { className: "flex min-h-0 w-full flex-col overflow-y-auto", children: [
13147
- /* @__PURE__ */ jsx146("h2", { className: "text-xl font-semibold", children: t(`content.news`) }),
13148
- /* @__PURE__ */ jsx146("div", { className: "flex flex-col", children: contentList.map((content) => /* @__PURE__ */ jsx146(ContentsListElement, { content }, content.id)) })
13227
+ const t = useTranslations55();
13228
+ return /* @__PURE__ */ jsxs87("div", { className: "flex min-h-0 w-full flex-col overflow-y-auto", children: [
13229
+ /* @__PURE__ */ jsx148("h2", { className: "text-xl font-semibold", children: t(`content.news`) }),
13230
+ /* @__PURE__ */ jsx148("div", { className: "flex flex-col", children: contentList.map((content) => /* @__PURE__ */ jsx148(ContentsListElement, { content }, content.id)) })
13149
13231
  ] });
13150
13232
  }
13151
13233
  __name(ContentsList, "ContentsList");
@@ -13153,33 +13235,33 @@ function ContentsListElement({ content }) {
13153
13235
  const generateUrl = usePageUrlGenerator();
13154
13236
  const contentModule = content.contentType ? Modules.findByModelName(content.contentType) : void 0;
13155
13237
  const link = contentModule ? generateUrl({ page: contentModule, id: content.id }) : "#";
13156
- return /* @__PURE__ */ jsx146("div", { className: "hover:bg-muted flex w-full flex-col gap-y-2 border-b p-2 py-4", children: /* @__PURE__ */ jsxs85("div", { className: "flex w-full justify-between gap-x-2", children: [
13157
- /* @__PURE__ */ jsxs85(HoverCard, { children: [
13158
- /* @__PURE__ */ jsx146(HoverCardTrigger, { children: /* @__PURE__ */ jsxs85(Link, { href: link, className: "flex w-full items-center justify-start gap-2 font-semibold", children: [
13238
+ return /* @__PURE__ */ jsx148("div", { className: "hover:bg-muted flex w-full flex-col gap-y-2 border-b p-2 py-4", children: /* @__PURE__ */ jsxs87("div", { className: "flex w-full justify-between gap-x-2", children: [
13239
+ /* @__PURE__ */ jsxs87(HoverCard, { children: [
13240
+ /* @__PURE__ */ jsx148(HoverCardTrigger, { children: /* @__PURE__ */ jsxs87(Link, { href: link, className: "flex w-full items-center justify-start gap-2 font-semibold", children: [
13159
13241
  contentModule && getIconByModule({ module: contentModule, className: "h-4 w-4" }),
13160
13242
  content.name
13161
13243
  ] }) }),
13162
- /* @__PURE__ */ jsxs85(HoverCardContent, { className: "flex max-h-96 w-96 flex-col gap-y-4 overflow-y-auto", children: [
13163
- /* @__PURE__ */ jsx146(Link, { href: link, className: "font-semibold", children: content.name }),
13164
- /* @__PURE__ */ jsx146("div", { className: "text-xs", children: content.abstract })
13244
+ /* @__PURE__ */ jsxs87(HoverCardContent, { className: "flex max-h-96 w-96 flex-col gap-y-4 overflow-y-auto", children: [
13245
+ /* @__PURE__ */ jsx148(Link, { href: link, className: "font-semibold", children: content.name }),
13246
+ /* @__PURE__ */ jsx148("div", { className: "text-xs", children: content.abstract })
13165
13247
  ] })
13166
13248
  ] }),
13167
- /* @__PURE__ */ jsx146(ContributorsList, { content })
13249
+ /* @__PURE__ */ jsx148(ContributorsList, { content })
13168
13250
  ] }) });
13169
13251
  }
13170
13252
  __name(ContentsListElement, "ContentsListElement");
13171
13253
 
13172
13254
  // src/features/content/components/lists/ContentsListById.tsx
13173
- import { useTranslations as useTranslations55 } from "next-intl";
13174
- import { jsx as jsx147 } from "react/jsx-runtime";
13255
+ import { useTranslations as useTranslations56 } from "next-intl";
13256
+ import { jsx as jsx149 } from "react/jsx-runtime";
13175
13257
  function ContentsListById({ contentIds }) {
13176
- const t = useTranslations55();
13258
+ const t = useTranslations56();
13177
13259
  const data = useDataListRetriever({
13178
13260
  module: Modules.Content,
13179
13261
  retriever: /* @__PURE__ */ __name((params) => ContentService.findMany(params), "retriever"),
13180
13262
  retrieverParams: { contentIds }
13181
13263
  });
13182
- return /* @__PURE__ */ jsx147(
13264
+ return /* @__PURE__ */ jsx149(
13183
13265
  ContentListTable,
13184
13266
  {
13185
13267
  data,
@@ -13192,16 +13274,16 @@ function ContentsListById({ contentIds }) {
13192
13274
  __name(ContentsListById, "ContentsListById");
13193
13275
 
13194
13276
  // src/features/content/components/lists/RelevantContentsList.tsx
13195
- import { useTranslations as useTranslations56 } from "next-intl";
13196
- import { jsx as jsx148 } from "react/jsx-runtime";
13277
+ import { useTranslations as useTranslations57 } from "next-intl";
13278
+ import { jsx as jsx150 } from "react/jsx-runtime";
13197
13279
  function RelevantContentsList({ id }) {
13198
- const t = useTranslations56();
13280
+ const t = useTranslations57();
13199
13281
  const data = useDataListRetriever({
13200
13282
  module: Modules.Content,
13201
13283
  retriever: /* @__PURE__ */ __name((params) => ContentService.findRelevant(params), "retriever"),
13202
13284
  retrieverParams: { id }
13203
13285
  });
13204
- return /* @__PURE__ */ jsx148(
13286
+ return /* @__PURE__ */ jsx150(
13205
13287
  ContentListTable,
13206
13288
  {
13207
13289
  data,
@@ -13215,7 +13297,7 @@ __name(RelevantContentsList, "RelevantContentsList");
13215
13297
 
13216
13298
  // src/features/notification/components/common/NotificationErrorBoundary.tsx
13217
13299
  import { Component } from "react";
13218
- import { jsx as jsx149, jsxs as jsxs86 } from "react/jsx-runtime";
13300
+ import { jsx as jsx151, jsxs as jsxs88 } from "react/jsx-runtime";
13219
13301
  var NotificationErrorBoundary = class extends Component {
13220
13302
  static {
13221
13303
  __name(this, "NotificationErrorBoundary");
@@ -13232,9 +13314,9 @@ var NotificationErrorBoundary = class extends Component {
13232
13314
  }
13233
13315
  render() {
13234
13316
  if (this.state.hasError) {
13235
- return this.props.fallback || /* @__PURE__ */ jsx149("div", { className: "flex items-center justify-center p-4 text-center", children: /* @__PURE__ */ jsxs86("div", { className: "text-muted-foreground text-sm", children: [
13236
- /* @__PURE__ */ jsx149("p", { children: "Something went wrong with notifications." }),
13237
- /* @__PURE__ */ jsx149(
13317
+ return this.props.fallback || /* @__PURE__ */ jsx151("div", { className: "flex items-center justify-center p-4 text-center", children: /* @__PURE__ */ jsxs88("div", { className: "text-muted-foreground text-sm", children: [
13318
+ /* @__PURE__ */ jsx151("p", { children: "Something went wrong with notifications." }),
13319
+ /* @__PURE__ */ jsx151(
13238
13320
  "button",
13239
13321
  {
13240
13322
  onClick: () => this.setState({ hasError: false }),
@@ -13249,14 +13331,14 @@ var NotificationErrorBoundary = class extends Component {
13249
13331
  };
13250
13332
 
13251
13333
  // src/features/notification/components/containers/NotificationsListContainer.tsx
13252
- import { useTranslations as useTranslations58 } from "next-intl";
13334
+ import { useTranslations as useTranslations59 } from "next-intl";
13253
13335
 
13254
13336
  // src/features/notification/components/lists/NotificationsList.tsx
13255
13337
  import { ArchiveIcon } from "lucide-react";
13256
- import { useTranslations as useTranslations57 } from "next-intl";
13257
- import { Fragment as Fragment27, jsx as jsx150, jsxs as jsxs87 } from "react/jsx-runtime";
13338
+ import { useTranslations as useTranslations58 } from "next-intl";
13339
+ import { Fragment as Fragment28, jsx as jsx152, jsxs as jsxs89 } from "react/jsx-runtime";
13258
13340
  function NotificationsList({ archived }) {
13259
- const t = useTranslations57();
13341
+ const t = useTranslations58();
13260
13342
  const generateUrl = usePageUrlGenerator();
13261
13343
  const data = useDataListRetriever({
13262
13344
  retriever: /* @__PURE__ */ __name((params) => NotificationService.findMany(params), "retriever"),
@@ -13267,30 +13349,30 @@ function NotificationsList({ archived }) {
13267
13349
  await NotificationService.archive({ id: notification.id });
13268
13350
  data.removeElement(notification);
13269
13351
  }, "archiveNotification");
13270
- const LoadingSkeleton = /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx150("div", { className: "space-y-4", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsx150(Card, { children: /* @__PURE__ */ jsx150(CardContent, { className: "p-2", children: /* @__PURE__ */ jsxs87("div", { className: "flex w-full flex-row items-center", children: [
13271
- /* @__PURE__ */ jsx150(Skeleton, { className: "mr-4 h-8 w-8 rounded-full" }),
13272
- /* @__PURE__ */ jsxs87("div", { className: "flex-1 space-y-2", children: [
13273
- /* @__PURE__ */ jsx150(Skeleton, { className: "h-4 w-3/4" }),
13274
- /* @__PURE__ */ jsx150(Skeleton, { className: "h-3 w-1/2" })
13352
+ const LoadingSkeleton = /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx152("div", { className: "space-y-4", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsx152(Card, { children: /* @__PURE__ */ jsx152(CardContent, { className: "p-2", children: /* @__PURE__ */ jsxs89("div", { className: "flex w-full flex-row items-center", children: [
13353
+ /* @__PURE__ */ jsx152(Skeleton, { className: "mr-4 h-8 w-8 rounded-full" }),
13354
+ /* @__PURE__ */ jsxs89("div", { className: "flex-1 space-y-2", children: [
13355
+ /* @__PURE__ */ jsx152(Skeleton, { className: "h-4 w-3/4" }),
13356
+ /* @__PURE__ */ jsx152(Skeleton, { className: "h-3 w-1/2" })
13275
13357
  ] }),
13276
- /* @__PURE__ */ jsx150(Skeleton, { className: "h-8 w-20" })
13358
+ /* @__PURE__ */ jsx152(Skeleton, { className: "h-8 w-20" })
13277
13359
  ] }) }) }, i)) }), "LoadingSkeleton");
13278
- return /* @__PURE__ */ jsx150("div", { className: "space-y-4", children: data.isLoaded ? data.data?.map((notification) => {
13360
+ return /* @__PURE__ */ jsx152("div", { className: "space-y-4", children: data.isLoaded ? data.data?.map((notification) => {
13279
13361
  const notificationData = generateNotificationData({ notification, generateUrl });
13280
- return /* @__PURE__ */ jsx150(Card, { children: /* @__PURE__ */ jsx150(CardContent, { className: "p-0", children: /* @__PURE__ */ jsxs87("div", { className: `flex w-full flex-row items-center p-2`, children: [
13281
- notificationData.actor ? /* @__PURE__ */ jsx150("div", { className: "flex w-12 max-w-12 px-2", children: /* @__PURE__ */ jsx150(Link, { href: generateUrl({ page: Modules.User, id: notificationData.actor.id }), children: /* @__PURE__ */ jsx150(UserAvatar, { user: notificationData.actor, className: "h-8 w-8" }) }) }) : /* @__PURE__ */ jsx150("div", { className: "flex w-14 max-w-14 px-2" }),
13282
- /* @__PURE__ */ jsxs87("div", { className: "flex w-full flex-col", children: [
13283
- /* @__PURE__ */ jsx150("p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
13284
- strong: /* @__PURE__ */ __name((chunks) => /* @__PURE__ */ jsx150("strong", { children: chunks }), "strong"),
13362
+ return /* @__PURE__ */ jsx152(Card, { children: /* @__PURE__ */ jsx152(CardContent, { className: "p-0", children: /* @__PURE__ */ jsxs89("div", { className: `flex w-full flex-row items-center p-2`, children: [
13363
+ notificationData.actor ? /* @__PURE__ */ jsx152("div", { className: "flex w-12 max-w-12 px-2", children: /* @__PURE__ */ jsx152(Link, { href: generateUrl({ page: Modules.User, id: notificationData.actor.id }), children: /* @__PURE__ */ jsx152(UserAvatar, { user: notificationData.actor, className: "h-8 w-8" }) }) }) : /* @__PURE__ */ jsx152("div", { className: "flex w-14 max-w-14 px-2" }),
13364
+ /* @__PURE__ */ jsxs89("div", { className: "flex w-full flex-col", children: [
13365
+ /* @__PURE__ */ jsx152("p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
13366
+ strong: /* @__PURE__ */ __name((chunks) => /* @__PURE__ */ jsx152("strong", { children: chunks }), "strong"),
13285
13367
  actor: notificationData.actor?.name ?? "",
13286
13368
  title: notificationData.title
13287
13369
  }) }),
13288
- /* @__PURE__ */ jsx150("div", { className: "text-muted-foreground mt-1 w-full text-xs", children: new Date(notification.createdAt).toLocaleString() })
13370
+ /* @__PURE__ */ jsx152("div", { className: "text-muted-foreground mt-1 w-full text-xs", children: new Date(notification.createdAt).toLocaleString() })
13289
13371
  ] }),
13290
- /* @__PURE__ */ jsxs87("div", { className: "flex flex-row items-center", children: [
13291
- notificationData.url ? /* @__PURE__ */ jsx150(Link, { href: notificationData.url, children: /* @__PURE__ */ jsx150(Button, { variant: `outline`, size: `sm`, onClick: (e) => e.stopPropagation(), children: t(`notification.${notification.notificationType}.buttons.action`) }) }) : /* @__PURE__ */ jsx150(Fragment27, {}),
13292
- !archived && /* @__PURE__ */ jsxs87(Tooltip2, { children: [
13293
- /* @__PURE__ */ jsx150(TooltipTrigger, { children: /* @__PURE__ */ jsx150(
13372
+ /* @__PURE__ */ jsxs89("div", { className: "flex flex-row items-center", children: [
13373
+ notificationData.url ? /* @__PURE__ */ jsx152(Link, { href: notificationData.url, children: /* @__PURE__ */ jsx152(Button, { variant: `outline`, size: `sm`, onClick: (e) => e.stopPropagation(), children: t(`notification.${notification.notificationType}.buttons.action`) }) }) : /* @__PURE__ */ jsx152(Fragment28, {}),
13374
+ !archived && /* @__PURE__ */ jsxs89(Tooltip2, { children: [
13375
+ /* @__PURE__ */ jsx152(TooltipTrigger, { children: /* @__PURE__ */ jsx152(
13294
13376
  Button,
13295
13377
  {
13296
13378
  variant: `link`,
@@ -13300,54 +13382,54 @@ function NotificationsList({ archived }) {
13300
13382
  archiveNotification(notification);
13301
13383
  },
13302
13384
  className: "text-muted-foreground hover:text-destructive ml-2",
13303
- children: /* @__PURE__ */ jsx150(ArchiveIcon, { className: "h-4 w-4 cursor-pointer" })
13385
+ children: /* @__PURE__ */ jsx152(ArchiveIcon, { className: "h-4 w-4 cursor-pointer" })
13304
13386
  }
13305
13387
  ) }),
13306
- /* @__PURE__ */ jsx150(TooltipContent, { children: t(`notification.buttons.archive`) })
13388
+ /* @__PURE__ */ jsx152(TooltipContent, { children: t(`notification.buttons.archive`) })
13307
13389
  ] })
13308
13390
  ] })
13309
13391
  ] }) }) }, notification.id);
13310
- }) : /* @__PURE__ */ jsx150(LoadingSkeleton, {}) });
13392
+ }) : /* @__PURE__ */ jsx152(LoadingSkeleton, {}) });
13311
13393
  }
13312
13394
  __name(NotificationsList, "NotificationsList");
13313
13395
 
13314
13396
  // src/features/notification/components/containers/NotificationsListContainer.tsx
13315
- import { jsx as jsx151, jsxs as jsxs88 } from "react/jsx-runtime";
13397
+ import { jsx as jsx153, jsxs as jsxs90 } from "react/jsx-runtime";
13316
13398
  function NotificationsListContainerContent() {
13317
- const t = useTranslations58();
13399
+ const t = useTranslations59();
13318
13400
  const { notifications, isLoading, error } = useNotificationContext();
13319
13401
  if (error) {
13320
- return /* @__PURE__ */ jsx151("div", { className: "flex items-center justify-center p-8 text-center", children: /* @__PURE__ */ jsxs88("div", { className: "text-destructive text-sm", children: [
13321
- /* @__PURE__ */ jsxs88("p", { children: [
13402
+ return /* @__PURE__ */ jsx153("div", { className: "flex items-center justify-center p-8 text-center", children: /* @__PURE__ */ jsxs90("div", { className: "text-destructive text-sm", children: [
13403
+ /* @__PURE__ */ jsxs90("p", { children: [
13322
13404
  "Error loading notifications: ",
13323
13405
  error
13324
13406
  ] }),
13325
- /* @__PURE__ */ jsx151("p", { className: "text-muted-foreground mt-2", children: "Please try refreshing the page." })
13407
+ /* @__PURE__ */ jsx153("p", { className: "text-muted-foreground mt-2", children: "Please try refreshing the page." })
13326
13408
  ] }) });
13327
13409
  }
13328
13410
  const tabs = [
13329
13411
  {
13330
13412
  label: t(`notification.inbox`),
13331
- content: /* @__PURE__ */ jsx151(NotificationsList, { archived: false })
13413
+ content: /* @__PURE__ */ jsx153(NotificationsList, { archived: false })
13332
13414
  },
13333
13415
  {
13334
13416
  label: t(`notification.archived`),
13335
- content: /* @__PURE__ */ jsx151(NotificationsList, { archived: true })
13417
+ content: /* @__PURE__ */ jsx153(NotificationsList, { archived: true })
13336
13418
  }
13337
13419
  ];
13338
- return /* @__PURE__ */ jsx151(TabsContainer, { tabs });
13420
+ return /* @__PURE__ */ jsx153(TabsContainer, { tabs });
13339
13421
  }
13340
13422
  __name(NotificationsListContainerContent, "NotificationsListContainerContent");
13341
13423
  function NotificationsListContainer() {
13342
- return /* @__PURE__ */ jsx151(NotificationErrorBoundary, { children: /* @__PURE__ */ jsx151(NotificationsListContainerContent, {}) });
13424
+ return /* @__PURE__ */ jsx153(NotificationErrorBoundary, { children: /* @__PURE__ */ jsx153(NotificationsListContainerContent, {}) });
13343
13425
  }
13344
13426
  __name(NotificationsListContainer, "NotificationsListContainer");
13345
13427
 
13346
13428
  // src/features/notification/components/modals/NotificationModal.tsx
13347
13429
  import { BellIcon } from "lucide-react";
13348
- import { useTranslations as useTranslations59 } from "next-intl";
13349
- import { Fragment as Fragment28, useCallback as useCallback21, useEffect as useEffect45, useMemo as useMemo21, useRef as useRef18, useState as useState52 } from "react";
13350
- import { jsx as jsx152, jsxs as jsxs89 } from "react/jsx-runtime";
13430
+ import { useTranslations as useTranslations60 } from "next-intl";
13431
+ import { Fragment as Fragment29, useCallback as useCallback21, useEffect as useEffect45, useMemo as useMemo21, useRef as useRef18, useState as useState52 } from "react";
13432
+ import { jsx as jsx154, jsxs as jsxs91 } from "react/jsx-runtime";
13351
13433
  function NotificationModalContent({ isOpen, setIsOpen }) {
13352
13434
  const instanceId = useRef18(Math.random().toString(36).substr(2, 9));
13353
13435
  const {
@@ -13363,7 +13445,7 @@ function NotificationModalContent({ isOpen, setIsOpen }) {
13363
13445
  lastLoaded
13364
13446
  } = useNotificationContext();
13365
13447
  const { socketNotifications, removeSocketNotification, clearSocketNotifications } = useSocketContext();
13366
- const t = useTranslations59();
13448
+ const t = useTranslations60();
13367
13449
  const generateUrl = usePageUrlGenerator();
13368
13450
  const [newNotifications, setNewNotifications] = useState52(false);
13369
13451
  const preventAutoClose = useRef18(false);
@@ -13477,9 +13559,9 @@ function NotificationModalContent({ isOpen, setIsOpen }) {
13477
13559
  }
13478
13560
  }, "handleOpenChange");
13479
13561
  const unreadNotifications = newNotifications && unreadCount > 0;
13480
- return /* @__PURE__ */ jsxs89(Popover, { open: isOpen, onOpenChange: handleOpenChange, "data-testid": `sidebar-notification button`, children: [
13481
- /* @__PURE__ */ jsx152(PopoverTrigger, { children: /* @__PURE__ */ jsxs89(SidebarMenuButton, { render: /* @__PURE__ */ jsx152("div", {}), className: "text-muted-foreground h-6", disabled: isLoading, children: [
13482
- /* @__PURE__ */ jsx152(
13562
+ return /* @__PURE__ */ jsxs91(Popover, { open: isOpen, onOpenChange: handleOpenChange, "data-testid": `sidebar-notification button`, children: [
13563
+ /* @__PURE__ */ jsx154(PopoverTrigger, { children: /* @__PURE__ */ jsxs91(SidebarMenuButton, { render: /* @__PURE__ */ jsx154("div", {}), className: "text-muted-foreground h-6", disabled: isLoading, children: [
13564
+ /* @__PURE__ */ jsx154(
13483
13565
  BellIcon,
13484
13566
  {
13485
13567
  className: `h-5 w-5 cursor-pointer ${unreadNotifications ? "text-destructive" : ""} ${isLoading ? "animate-pulse" : ""}`
@@ -13487,67 +13569,67 @@ function NotificationModalContent({ isOpen, setIsOpen }) {
13487
13569
  ),
13488
13570
  t(`entities.notifications`, { count: 2 })
13489
13571
  ] }) }),
13490
- /* @__PURE__ */ jsx152(PopoverContent, { className: "relative left-10 w-80 border-0 p-0 shadow-none", children: /* @__PURE__ */ jsxs89(Card, { children: [
13491
- /* @__PURE__ */ jsxs89(CardHeader, { className: "p-4", children: [
13492
- /* @__PURE__ */ jsx152(CardTitle, { children: t(`entities.notifications`, { count: 2 }) }),
13493
- isLoading && /* @__PURE__ */ jsx152("div", { className: "text-muted-foreground text-xs", children: "Loading..." }),
13494
- error && /* @__PURE__ */ jsxs89("div", { className: "text-destructive text-xs", children: [
13572
+ /* @__PURE__ */ jsx154(PopoverContent, { className: "relative left-10 w-80 border-0 p-0 shadow-none", children: /* @__PURE__ */ jsxs91(Card, { children: [
13573
+ /* @__PURE__ */ jsxs91(CardHeader, { className: "p-4", children: [
13574
+ /* @__PURE__ */ jsx154(CardTitle, { children: t(`entities.notifications`, { count: 2 }) }),
13575
+ isLoading && /* @__PURE__ */ jsx154("div", { className: "text-muted-foreground text-xs", children: "Loading..." }),
13576
+ error && /* @__PURE__ */ jsxs91("div", { className: "text-destructive text-xs", children: [
13495
13577
  "Error: ",
13496
13578
  error
13497
13579
  ] })
13498
13580
  ] }),
13499
- /* @__PURE__ */ jsx152(Separator, {}),
13500
- /* @__PURE__ */ jsx152(ScrollArea, { className: "h-96", children: notifications.length > 0 ? notifications.map((notification) => /* @__PURE__ */ jsx152(Fragment28, { children: generateNotification(notification, () => setIsOpen(false)) }, notification.id)) : /* @__PURE__ */ jsx152("div", { className: "p-4 text-center text-sm text-gray-500", children: t(`notification.empty`) }) })
13581
+ /* @__PURE__ */ jsx154(Separator, {}),
13582
+ /* @__PURE__ */ jsx154(ScrollArea, { className: "h-96", children: notifications.length > 0 ? notifications.map((notification) => /* @__PURE__ */ jsx154(Fragment29, { children: generateNotification(notification, () => setIsOpen(false)) }, notification.id)) : /* @__PURE__ */ jsx154("div", { className: "p-4 text-center text-sm text-gray-500", children: t(`notification.empty`) }) })
13501
13583
  ] }) })
13502
13584
  ] });
13503
13585
  }
13504
13586
  __name(NotificationModalContent, "NotificationModalContent");
13505
13587
  function NotificationModal(props) {
13506
- return /* @__PURE__ */ jsx152(NotificationErrorBoundary, { children: /* @__PURE__ */ jsx152(NotificationModalContent, { ...props }) });
13588
+ return /* @__PURE__ */ jsx154(NotificationErrorBoundary, { children: /* @__PURE__ */ jsx154(NotificationModalContent, { ...props }) });
13507
13589
  }
13508
13590
  __name(NotificationModal, "NotificationModal");
13509
13591
 
13510
13592
  // src/features/notification/components/notifications/PushNotificationProvider.tsx
13511
- import { Fragment as Fragment29, jsx as jsx153 } from "react/jsx-runtime";
13593
+ import { Fragment as Fragment30, jsx as jsx155 } from "react/jsx-runtime";
13512
13594
  function PushNotificationProvider({ children }) {
13513
13595
  usePushNotifications();
13514
- return /* @__PURE__ */ jsx153(Fragment29, { children });
13596
+ return /* @__PURE__ */ jsx155(Fragment30, { children });
13515
13597
  }
13516
13598
  __name(PushNotificationProvider, "PushNotificationProvider");
13517
13599
 
13518
13600
  // src/features/role/components/details/RoleDetails.tsx
13519
- import { useTranslations as useTranslations60 } from "next-intl";
13520
- import { jsx as jsx154 } from "react/jsx-runtime";
13601
+ import { useTranslations as useTranslations61 } from "next-intl";
13602
+ import { jsx as jsx156 } from "react/jsx-runtime";
13521
13603
  function RoleDetails() {
13522
13604
  const { role } = useRoleContext();
13523
- const t = useTranslations60();
13605
+ const t = useTranslations61();
13524
13606
  if (!role) return null;
13525
- return /* @__PURE__ */ jsx154(Card, { className: "w-full", children: /* @__PURE__ */ jsx154(CardContent, { className: "p-4", children: /* @__PURE__ */ jsx154(AttributeElement, { title: t(`role.fields.description.label`), value: role.description }) }) });
13607
+ return /* @__PURE__ */ jsx156(Card, { className: "w-full", children: /* @__PURE__ */ jsx156(CardContent, { className: "p-4", children: /* @__PURE__ */ jsx156(AttributeElement, { title: t(`role.fields.description.label`), value: role.description }) }) });
13526
13608
  }
13527
13609
  __name(RoleDetails, "RoleDetails");
13528
13610
 
13529
13611
  // src/features/role/components/containers/RoleContainer.tsx
13530
- import { Fragment as Fragment30, jsx as jsx155, jsxs as jsxs90 } from "react/jsx-runtime";
13612
+ import { Fragment as Fragment31, jsx as jsx157, jsxs as jsxs92 } from "react/jsx-runtime";
13531
13613
  function RoleContainer() {
13532
13614
  const { role } = useRoleContext();
13533
13615
  if (!role) return null;
13534
- return /* @__PURE__ */ jsxs90(Fragment30, { children: [
13535
- /* @__PURE__ */ jsx155(RoleDetails, {}),
13536
- /* @__PURE__ */ jsx155(RoleUsersList, { role })
13616
+ return /* @__PURE__ */ jsxs92(Fragment31, { children: [
13617
+ /* @__PURE__ */ jsx157(RoleDetails, {}),
13618
+ /* @__PURE__ */ jsx157(RoleUsersList, { role })
13537
13619
  ] });
13538
13620
  }
13539
13621
  __name(RoleContainer, "RoleContainer");
13540
13622
 
13541
13623
  // src/features/role/components/forms/FormRoles.tsx
13542
- import { useTranslations as useTranslations61 } from "next-intl";
13543
- import { jsx as jsx156, jsxs as jsxs91 } from "react/jsx-runtime";
13624
+ import { useTranslations as useTranslations62 } from "next-intl";
13625
+ import { jsx as jsx158, jsxs as jsxs93 } from "react/jsx-runtime";
13544
13626
  function FormRoles({ form, id, name, roles }) {
13545
- const t = useTranslations61();
13627
+ const t = useTranslations62();
13546
13628
  const { hasAccesToFeature } = useCurrentUserContext();
13547
- return /* @__PURE__ */ jsx156("div", { className: "flex w-full flex-col", children: /* @__PURE__ */ jsx156(FormFieldWrapper, { form, name: id, label: name, children: (field) => /* @__PURE__ */ jsx156("div", { children: roles.filter((role) => role.isSelectable).sort((a, b) => a.name.localeCompare(b.name)).map((role) => {
13629
+ return /* @__PURE__ */ jsx158("div", { className: "flex w-full flex-col", children: /* @__PURE__ */ jsx158(FormFieldWrapper, { form, name: id, label: name, children: (field) => /* @__PURE__ */ jsx158("div", { children: roles.filter((role) => role.isSelectable).sort((a, b) => a.name.localeCompare(b.name)).map((role) => {
13548
13630
  if (role.requiredFeature && !hasAccesToFeature(role.requiredFeature.id)) return null;
13549
- return /* @__PURE__ */ jsxs91("div", { children: [
13550
- /* @__PURE__ */ jsx156(
13631
+ return /* @__PURE__ */ jsxs93("div", { children: [
13632
+ /* @__PURE__ */ jsx158(
13551
13633
  Checkbox,
13552
13634
  {
13553
13635
  defaultChecked: field.value.some((roleId) => roleId === role.id),
@@ -13563,9 +13645,9 @@ function FormRoles({ form, id, name, roles }) {
13563
13645
  }
13564
13646
  }
13565
13647
  ),
13566
- /* @__PURE__ */ jsxs91(Tooltip2, { children: [
13567
- /* @__PURE__ */ jsx156(TooltipTrigger, { children: /* @__PURE__ */ jsx156(FieldLabel, { className: "ml-3 font-normal", children: t(`role.roles`, { role: role.id.replaceAll(`-`, ``) }) }) }),
13568
- /* @__PURE__ */ jsx156(TooltipContent, { children: t(`role.roles_descriptions`, { role: role.id.replaceAll(`-`, ``) }) })
13648
+ /* @__PURE__ */ jsxs93(Tooltip2, { children: [
13649
+ /* @__PURE__ */ jsx158(TooltipTrigger, { children: /* @__PURE__ */ jsx158(FieldLabel, { className: "ml-3 font-normal", children: t(`role.roles`, { role: role.id.replaceAll(`-`, ``) }) }) }),
13650
+ /* @__PURE__ */ jsx158(TooltipContent, { children: t(`role.roles_descriptions`, { role: role.id.replaceAll(`-`, ``) }) })
13569
13651
  ] })
13570
13652
  ] }, role.id);
13571
13653
  }) }) }) });
@@ -13573,13 +13655,13 @@ function FormRoles({ form, id, name, roles }) {
13573
13655
  __name(FormRoles, "FormRoles");
13574
13656
 
13575
13657
  // src/features/role/components/forms/RemoveUserFromRole.tsx
13576
- import { useTranslations as useTranslations62 } from "next-intl";
13658
+ import { useTranslations as useTranslations63 } from "next-intl";
13577
13659
  import { useEffect as useEffect46, useState as useState53 } from "react";
13578
- import { Fragment as Fragment31, jsx as jsx157, jsxs as jsxs92 } from "react/jsx-runtime";
13660
+ import { Fragment as Fragment32, jsx as jsx159, jsxs as jsxs94 } from "react/jsx-runtime";
13579
13661
  function RemoveUserFromRole({ role, user, refresh }) {
13580
13662
  const [open, setOpen] = useState53(false);
13581
13663
  const [canRemove, setCanRemove] = useState53(false);
13582
- const t = useTranslations62();
13664
+ const t = useTranslations63();
13583
13665
  useEffect46(() => {
13584
13666
  async function checkCompanyAdminDeletability() {
13585
13667
  const roleUsers = await UserService.findAllUsersByRole({
@@ -13607,8 +13689,8 @@ function RemoveUserFromRole({ role, user, refresh }) {
13607
13689
  }
13608
13690
  }, "remove");
13609
13691
  const roleName = t(`role.roles`, { role: role.id.replaceAll(`-`, ``) });
13610
- return /* @__PURE__ */ jsxs92(Dialog, { open, onOpenChange: setOpen, children: [
13611
- /* @__PURE__ */ jsx157(
13692
+ return /* @__PURE__ */ jsxs94(Dialog, { open, onOpenChange: setOpen, children: [
13693
+ /* @__PURE__ */ jsx159(
13612
13694
  DialogTrigger,
13613
13695
  {
13614
13696
  onClick: (e) => {
@@ -13616,19 +13698,19 @@ function RemoveUserFromRole({ role, user, refresh }) {
13616
13698
  e.preventDefault();
13617
13699
  setOpen(true);
13618
13700
  },
13619
- children: /* @__PURE__ */ jsx157("span", { className: "hover:text-destructive cursor-pointer", children: t(`role.remove_user.title`) })
13701
+ children: /* @__PURE__ */ jsx159("span", { className: "hover:text-destructive cursor-pointer", children: t(`role.remove_user.title`) })
13620
13702
  }
13621
13703
  ),
13622
- /* @__PURE__ */ jsxs92(DialogContent, { className: `flex max-h-[70vh] max-w-3xl flex-col overflow-y-auto`, children: [
13623
- /* @__PURE__ */ jsxs92(DialogHeader, { children: [
13624
- /* @__PURE__ */ jsx157(DialogTitle, { children: t(`role.remove_user.title`) }),
13625
- /* @__PURE__ */ jsx157(DialogDescription, { children: canRemove ? t(`role.remove_user.subtitle_allowed`) : t(`role.remove_user.subtitle_not_allowed`) })
13704
+ /* @__PURE__ */ jsxs94(DialogContent, { className: `flex max-h-[70vh] max-w-3xl flex-col overflow-y-auto`, children: [
13705
+ /* @__PURE__ */ jsxs94(DialogHeader, { children: [
13706
+ /* @__PURE__ */ jsx159(DialogTitle, { children: t(`role.remove_user.title`) }),
13707
+ /* @__PURE__ */ jsx159(DialogDescription, { children: canRemove ? t(`role.remove_user.subtitle_allowed`) : t(`role.remove_user.subtitle_not_allowed`) })
13626
13708
  ] }),
13627
- canRemove ? /* @__PURE__ */ jsxs92(Fragment31, { children: [
13709
+ canRemove ? /* @__PURE__ */ jsxs94(Fragment32, { children: [
13628
13710
  t(`role.remove_user.description_allowed`, { role: roleName, user: user.name }),
13629
- /* @__PURE__ */ jsxs92("div", { className: "flex justify-end", children: [
13630
- /* @__PURE__ */ jsx157(Button, { className: "mr-2", variant: "outline", type: `button`, onClick: () => setOpen(false), children: t(`ui.buttons.cancel`) }),
13631
- /* @__PURE__ */ jsx157(
13711
+ /* @__PURE__ */ jsxs94("div", { className: "flex justify-end", children: [
13712
+ /* @__PURE__ */ jsx159(Button, { className: "mr-2", variant: "outline", type: `button`, onClick: () => setOpen(false), children: t(`ui.buttons.cancel`) }),
13713
+ /* @__PURE__ */ jsx159(
13632
13714
  Button,
13633
13715
  {
13634
13716
  type: "submit",
@@ -13641,7 +13723,7 @@ function RemoveUserFromRole({ role, user, refresh }) {
13641
13723
  }
13642
13724
  )
13643
13725
  ] })
13644
- ] }) : /* @__PURE__ */ jsx157(Fragment31, { children: t(`role.remove_user.description_not_allowed`, { role: roleName, user: user.name }) })
13726
+ ] }) : /* @__PURE__ */ jsx159(Fragment32, { children: t(`role.remove_user.description_not_allowed`, { role: roleName, user: user.name }) })
13645
13727
  ] })
13646
13728
  ] });
13647
13729
  }
@@ -13649,15 +13731,15 @@ __name(RemoveUserFromRole, "RemoveUserFromRole");
13649
13731
 
13650
13732
  // src/features/role/components/forms/UserRoleAdd.tsx
13651
13733
  import { PlusCircle as PlusCircle2 } from "lucide-react";
13652
- import { useTranslations as useTranslations63 } from "next-intl";
13734
+ import { useTranslations as useTranslations64 } from "next-intl";
13653
13735
  import { useCallback as useCallback22, useEffect as useEffect47, useRef as useRef19, useState as useState54 } from "react";
13654
- import { Fragment as Fragment32, jsx as jsx158, jsxs as jsxs93 } from "react/jsx-runtime";
13736
+ import { Fragment as Fragment33, jsx as jsx160, jsxs as jsxs95 } from "react/jsx-runtime";
13655
13737
  function UserRoleAdd({ user, refresh }) {
13656
13738
  const [open, setOpen] = useState54(false);
13657
13739
  const inputRef = useRef19(null);
13658
13740
  const [searchTerm, setSearchTerm] = useState54("");
13659
13741
  const [roles, setRoles] = useState54([]);
13660
- const t = useTranslations63();
13742
+ const t = useTranslations64();
13661
13743
  const addUserToRole = /* @__PURE__ */ __name(async (role) => {
13662
13744
  await RoleService.addUserToRole({
13663
13745
  roleId: role.id,
@@ -13698,26 +13780,26 @@ function UserRoleAdd({ user, refresh }) {
13698
13780
  useEffect47(() => {
13699
13781
  if (open) searchRoles("");
13700
13782
  }, [open]);
13701
- return /* @__PURE__ */ jsxs93(Fragment32, { children: [
13702
- /* @__PURE__ */ jsxs93(Button, { size: "sm", onClick: () => setOpen(true), children: [
13703
- /* @__PURE__ */ jsx158(PlusCircle2, { className: "mr-3 h-3.5 w-3.5" }),
13783
+ return /* @__PURE__ */ jsxs95(Fragment33, { children: [
13784
+ /* @__PURE__ */ jsxs95(Button, { size: "sm", onClick: () => setOpen(true), children: [
13785
+ /* @__PURE__ */ jsx160(PlusCircle2, { className: "mr-3 h-3.5 w-3.5" }),
13704
13786
  t(`common.association.label`, {
13705
13787
  source: t(`entities.roles`, { count: 1 }),
13706
13788
  destination: t(`entities.users`, { count: 1 })
13707
13789
  })
13708
13790
  ] }),
13709
- /* @__PURE__ */ jsxs93(CommandDialog, { open, onOpenChange: setOpen, children: [
13710
- /* @__PURE__ */ jsx158(DialogTitle, { children: t(`common.association.label`, {
13791
+ /* @__PURE__ */ jsxs95(CommandDialog, { open, onOpenChange: setOpen, children: [
13792
+ /* @__PURE__ */ jsx160(DialogTitle, { children: t(`common.association.label`, {
13711
13793
  source: t(`entities.roles`, { count: 1 }),
13712
13794
  destination: t(`entities.users`, { count: 1 })
13713
13795
  }) }),
13714
- /* @__PURE__ */ jsx158(DialogDescription, { children: t(`common.association.description`, {
13796
+ /* @__PURE__ */ jsx160(DialogDescription, { children: t(`common.association.description`, {
13715
13797
  source: t(`entities.roles`, { count: 1 }),
13716
13798
  destination: t(`entities.users`, { count: 1 }),
13717
13799
  destination_name: user.name
13718
13800
  }) }),
13719
- /* @__PURE__ */ jsxs93(Command, { shouldFilter: false, children: [
13720
- /* @__PURE__ */ jsx158(
13801
+ /* @__PURE__ */ jsxs95(Command, { shouldFilter: false, children: [
13802
+ /* @__PURE__ */ jsx160(
13721
13803
  CommandInput,
13722
13804
  {
13723
13805
  placeholder: t(`ui.search.placeholder`, { type: t(`entities.roles`, { count: 1 }) }),
@@ -13726,9 +13808,9 @@ function UserRoleAdd({ user, refresh }) {
13726
13808
  ref: inputRef
13727
13809
  }
13728
13810
  ),
13729
- /* @__PURE__ */ jsxs93(CommandList, { className: "mt-3 h-auto max-h-96 min-h-96 max-w-full overflow-x-hidden overflow-y-auto", children: [
13730
- /* @__PURE__ */ jsx158(CommandEmpty, { children: t(`ui.search.no_results`, { type: t(`entities.roles`, { count: 1 }) }) }),
13731
- roles.map((role) => /* @__PURE__ */ jsx158(
13811
+ /* @__PURE__ */ jsxs95(CommandList, { className: "mt-3 h-auto max-h-96 min-h-96 max-w-full overflow-x-hidden overflow-y-auto", children: [
13812
+ /* @__PURE__ */ jsx160(CommandEmpty, { children: t(`ui.search.no_results`, { type: t(`entities.roles`, { count: 1 }) }) }),
13813
+ roles.map((role) => /* @__PURE__ */ jsx160(
13732
13814
  CommandItem,
13733
13815
  {
13734
13816
  className: "cursor-pointer hover:bg-muted data-selected:hover:bg-muted bg-transparent data-selected:bg-transparent",
@@ -13746,16 +13828,16 @@ function UserRoleAdd({ user, refresh }) {
13746
13828
  __name(UserRoleAdd, "UserRoleAdd");
13747
13829
 
13748
13830
  // src/features/role/components/lists/RolesList.tsx
13749
- import { useTranslations as useTranslations64 } from "next-intl";
13750
- import { jsx as jsx159 } from "react/jsx-runtime";
13831
+ import { useTranslations as useTranslations65 } from "next-intl";
13832
+ import { jsx as jsx161 } from "react/jsx-runtime";
13751
13833
  function RolesList() {
13752
- const t = useTranslations64();
13834
+ const t = useTranslations65();
13753
13835
  const data = useDataListRetriever({
13754
13836
  retriever: /* @__PURE__ */ __name((params) => RoleService.findAllRoles(params), "retriever"),
13755
13837
  retrieverParams: {},
13756
13838
  module: Modules.Role
13757
13839
  });
13758
- return /* @__PURE__ */ jsx159(
13840
+ return /* @__PURE__ */ jsx161(
13759
13841
  ContentListTable,
13760
13842
  {
13761
13843
  data,
@@ -13768,16 +13850,16 @@ function RolesList() {
13768
13850
  __name(RolesList, "RolesList");
13769
13851
 
13770
13852
  // src/features/role/components/lists/UserRolesList.tsx
13771
- import { useTranslations as useTranslations65 } from "next-intl";
13772
- import { jsx as jsx160 } from "react/jsx-runtime";
13853
+ import { useTranslations as useTranslations66 } from "next-intl";
13854
+ import { jsx as jsx162 } from "react/jsx-runtime";
13773
13855
  function UserRolesList({ user }) {
13774
- const t = useTranslations65();
13856
+ const t = useTranslations66();
13775
13857
  const data = useDataListRetriever({
13776
13858
  retriever: /* @__PURE__ */ __name((params) => RoleService.findAllRolesByUser(params), "retriever"),
13777
13859
  retrieverParams: { userId: user.id },
13778
13860
  module: Modules.Role
13779
13861
  });
13780
- return /* @__PURE__ */ jsx160(
13862
+ return /* @__PURE__ */ jsx162(
13781
13863
  ContentListTable,
13782
13864
  {
13783
13865
  data,
@@ -13792,7 +13874,7 @@ __name(UserRolesList, "UserRolesList");
13792
13874
  // src/features/oauth/components/OAuthRedirectUriInput.tsx
13793
13875
  import { useCallback as useCallback23 } from "react";
13794
13876
  import { Plus, Trash2 } from "lucide-react";
13795
- import { jsx as jsx161, jsxs as jsxs94 } from "react/jsx-runtime";
13877
+ import { jsx as jsx163, jsxs as jsxs96 } from "react/jsx-runtime";
13796
13878
  function isValidRedirectUri(uri) {
13797
13879
  if (!uri.trim()) return false;
13798
13880
  if (uri.startsWith("http://localhost") || uri.startsWith("http://127.0.0.1")) {
@@ -13838,17 +13920,17 @@ function OAuthRedirectUriInput({
13838
13920
  },
13839
13921
  [value, onChange]
13840
13922
  );
13841
- return /* @__PURE__ */ jsxs94("div", { className: "space-y-2", children: [
13842
- /* @__PURE__ */ jsxs94(Label, { children: [
13923
+ return /* @__PURE__ */ jsxs96("div", { className: "space-y-2", children: [
13924
+ /* @__PURE__ */ jsxs96(Label, { children: [
13843
13925
  label,
13844
13926
  " *"
13845
13927
  ] }),
13846
- /* @__PURE__ */ jsx161("p", { className: "text-sm text-muted-foreground", children: "Enter the URIs where users will be redirected after authorization. Use https:// for production, or custom schemes for mobile apps." }),
13847
- /* @__PURE__ */ jsx161("div", { className: "space-y-2", children: value.map((uri, index) => {
13928
+ /* @__PURE__ */ jsx163("p", { className: "text-sm text-muted-foreground", children: "Enter the URIs where users will be redirected after authorization. Use https:// for production, or custom schemes for mobile apps." }),
13929
+ /* @__PURE__ */ jsx163("div", { className: "space-y-2", children: value.map((uri, index) => {
13848
13930
  const isValid3 = !uri || isValidRedirectUri(uri);
13849
- return /* @__PURE__ */ jsxs94("div", { className: "flex gap-2", children: [
13850
- /* @__PURE__ */ jsxs94("div", { className: "flex-1", children: [
13851
- /* @__PURE__ */ jsx161(
13931
+ return /* @__PURE__ */ jsxs96("div", { className: "flex gap-2", children: [
13932
+ /* @__PURE__ */ jsxs96("div", { className: "flex-1", children: [
13933
+ /* @__PURE__ */ jsx163(
13852
13934
  Input,
13853
13935
  {
13854
13936
  value: uri,
@@ -13858,9 +13940,9 @@ function OAuthRedirectUriInput({
13858
13940
  className: !isValid3 ? "border-destructive" : ""
13859
13941
  }
13860
13942
  ),
13861
- !isValid3 && /* @__PURE__ */ jsx161("p", { className: "text-xs text-destructive mt-1", children: "Must be https://, http://localhost, or a custom scheme (app://)" })
13943
+ !isValid3 && /* @__PURE__ */ jsx163("p", { className: "text-xs text-destructive mt-1", children: "Must be https://, http://localhost, or a custom scheme (app://)" })
13862
13944
  ] }),
13863
- /* @__PURE__ */ jsx161(
13945
+ /* @__PURE__ */ jsx163(
13864
13946
  Button,
13865
13947
  {
13866
13948
  type: "button",
@@ -13869,12 +13951,12 @@ function OAuthRedirectUriInput({
13869
13951
  onClick: () => handleRemove(index),
13870
13952
  disabled: disabled || value.length === 1,
13871
13953
  title: "Remove URI",
13872
- children: /* @__PURE__ */ jsx161(Trash2, { className: "h-4 w-4" })
13954
+ children: /* @__PURE__ */ jsx163(Trash2, { className: "h-4 w-4" })
13873
13955
  }
13874
13956
  )
13875
13957
  ] }, index);
13876
13958
  }) }),
13877
- /* @__PURE__ */ jsxs94(
13959
+ /* @__PURE__ */ jsxs96(
13878
13960
  Button,
13879
13961
  {
13880
13962
  type: "button",
@@ -13884,19 +13966,19 @@ function OAuthRedirectUriInput({
13884
13966
  disabled,
13885
13967
  className: "mt-2",
13886
13968
  children: [
13887
- /* @__PURE__ */ jsx161(Plus, { className: "h-4 w-4 mr-2" }),
13969
+ /* @__PURE__ */ jsx163(Plus, { className: "h-4 w-4 mr-2" }),
13888
13970
  "Add Redirect URI"
13889
13971
  ]
13890
13972
  }
13891
13973
  ),
13892
- error && /* @__PURE__ */ jsx161("p", { className: "text-sm text-destructive", children: error })
13974
+ error && /* @__PURE__ */ jsx163("p", { className: "text-sm text-destructive", children: error })
13893
13975
  ] });
13894
13976
  }
13895
13977
  __name(OAuthRedirectUriInput, "OAuthRedirectUriInput");
13896
13978
 
13897
13979
  // src/features/oauth/components/OAuthScopeSelector.tsx
13898
13980
  import { useCallback as useCallback24 } from "react";
13899
- import { jsx as jsx162, jsxs as jsxs95 } from "react/jsx-runtime";
13981
+ import { jsx as jsx164, jsxs as jsxs97 } from "react/jsx-runtime";
13900
13982
  function OAuthScopeSelector({
13901
13983
  value,
13902
13984
  onChange,
@@ -13924,25 +14006,25 @@ function OAuthScopeSelector({
13924
14006
  acc[groupName].push(scope);
13925
14007
  return acc;
13926
14008
  }, {});
13927
- return /* @__PURE__ */ jsxs95("div", { className: "space-y-4", children: [
13928
- /* @__PURE__ */ jsxs95("div", { children: [
13929
- /* @__PURE__ */ jsxs95(Label, { children: [
14009
+ return /* @__PURE__ */ jsxs97("div", { className: "space-y-4", children: [
14010
+ /* @__PURE__ */ jsxs97("div", { children: [
14011
+ /* @__PURE__ */ jsxs97(Label, { children: [
13930
14012
  label,
13931
14013
  " *"
13932
14014
  ] }),
13933
- /* @__PURE__ */ jsx162("p", { className: "text-sm text-muted-foreground", children: "Select the permissions your application needs." })
14015
+ /* @__PURE__ */ jsx164("p", { className: "text-sm text-muted-foreground", children: "Select the permissions your application needs." })
13934
14016
  ] }),
13935
- /* @__PURE__ */ jsx162("div", { className: "space-y-4", children: Object.entries(groupedScopes).map(([groupName, scopes]) => /* @__PURE__ */ jsxs95("div", { className: "space-y-2", children: [
13936
- /* @__PURE__ */ jsx162("h4", { className: "text-sm font-medium capitalize", children: groupName }),
13937
- /* @__PURE__ */ jsx162("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-2 pl-2", children: scopes.map((scopeInfo) => {
14017
+ /* @__PURE__ */ jsx164("div", { className: "space-y-4", children: Object.entries(groupedScopes).map(([groupName, scopes]) => /* @__PURE__ */ jsxs97("div", { className: "space-y-2", children: [
14018
+ /* @__PURE__ */ jsx164("h4", { className: "text-sm font-medium capitalize", children: groupName }),
14019
+ /* @__PURE__ */ jsx164("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-2 pl-2", children: scopes.map((scopeInfo) => {
13938
14020
  const isChecked = value.includes(scopeInfo.scope);
13939
14021
  const isAdmin = scopeInfo.scope === "admin";
13940
- return /* @__PURE__ */ jsxs95(
14022
+ return /* @__PURE__ */ jsxs97(
13941
14023
  "div",
13942
14024
  {
13943
14025
  className: `flex items-start space-x-3 p-2 rounded-md border ${isChecked ? "bg-primary/5 border-primary/20" : "border-transparent"} ${isAdmin ? "bg-destructive/5" : ""}`,
13944
14026
  children: [
13945
- /* @__PURE__ */ jsx162(
14027
+ /* @__PURE__ */ jsx164(
13946
14028
  Checkbox,
13947
14029
  {
13948
14030
  id: `scope-${scopeInfo.scope}`,
@@ -13951,19 +14033,19 @@ function OAuthScopeSelector({
13951
14033
  disabled
13952
14034
  }
13953
14035
  ),
13954
- /* @__PURE__ */ jsxs95("div", { className: "flex-1", children: [
13955
- /* @__PURE__ */ jsxs95(
14036
+ /* @__PURE__ */ jsxs97("div", { className: "flex-1", children: [
14037
+ /* @__PURE__ */ jsxs97(
13956
14038
  Label,
13957
14039
  {
13958
14040
  htmlFor: `scope-${scopeInfo.scope}`,
13959
14041
  className: "text-sm font-medium cursor-pointer",
13960
14042
  children: [
13961
14043
  scopeInfo.name,
13962
- isAdmin && /* @__PURE__ */ jsx162("span", { className: "ml-2 text-xs text-destructive", children: "(Dangerous)" })
14044
+ isAdmin && /* @__PURE__ */ jsx164("span", { className: "ml-2 text-xs text-destructive", children: "(Dangerous)" })
13963
14045
  ]
13964
14046
  }
13965
14047
  ),
13966
- /* @__PURE__ */ jsx162("p", { className: "text-xs text-muted-foreground", children: scopeInfo.description })
14048
+ /* @__PURE__ */ jsx164("p", { className: "text-xs text-muted-foreground", children: scopeInfo.description })
13967
14049
  ] })
13968
14050
  ]
13969
14051
  },
@@ -13971,7 +14053,7 @@ function OAuthScopeSelector({
13971
14053
  );
13972
14054
  }) })
13973
14055
  ] }, groupName)) }),
13974
- error && /* @__PURE__ */ jsx162("p", { className: "text-sm text-destructive", children: error })
14056
+ error && /* @__PURE__ */ jsx164("p", { className: "text-sm text-destructive", children: error })
13975
14057
  ] });
13976
14058
  }
13977
14059
  __name(OAuthScopeSelector, "OAuthScopeSelector");
@@ -13979,7 +14061,7 @@ __name(OAuthScopeSelector, "OAuthScopeSelector");
13979
14061
  // src/features/oauth/components/OAuthClientSecretDisplay.tsx
13980
14062
  import { useState as useState55, useCallback as useCallback25 } from "react";
13981
14063
  import { Copy, Check, AlertTriangle } from "lucide-react";
13982
- import { jsx as jsx163, jsxs as jsxs96 } from "react/jsx-runtime";
14064
+ import { jsx as jsx165, jsxs as jsxs98 } from "react/jsx-runtime";
13983
14065
  function OAuthClientSecretDisplay({
13984
14066
  secret,
13985
14067
  onDismiss,
@@ -14000,24 +14082,24 @@ function OAuthClientSecretDisplay({
14000
14082
  setCopied(false);
14001
14083
  onDismiss();
14002
14084
  }, [onDismiss]);
14003
- return /* @__PURE__ */ jsx163(Dialog, { open, onOpenChange: (isOpen) => !isOpen && handleDismiss(), children: /* @__PURE__ */ jsxs96(DialogContent, { className: "sm:max-w-md", children: [
14004
- /* @__PURE__ */ jsxs96(DialogHeader, { children: [
14005
- /* @__PURE__ */ jsxs96(DialogTitle, { className: "flex items-center gap-2", children: [
14006
- /* @__PURE__ */ jsx163(AlertTriangle, { className: "h-5 w-5 text-warning" }),
14085
+ return /* @__PURE__ */ jsx165(Dialog, { open, onOpenChange: (isOpen) => !isOpen && handleDismiss(), children: /* @__PURE__ */ jsxs98(DialogContent, { className: "sm:max-w-md", children: [
14086
+ /* @__PURE__ */ jsxs98(DialogHeader, { children: [
14087
+ /* @__PURE__ */ jsxs98(DialogTitle, { className: "flex items-center gap-2", children: [
14088
+ /* @__PURE__ */ jsx165(AlertTriangle, { className: "h-5 w-5 text-warning" }),
14007
14089
  "Save Your Client Secret"
14008
14090
  ] }),
14009
- /* @__PURE__ */ jsx163(DialogDescription, { children: clientName ? `Your client secret for "${clientName}" is shown below.` : "Your client secret is shown below." })
14091
+ /* @__PURE__ */ jsx165(DialogDescription, { children: clientName ? `Your client secret for "${clientName}" is shown below.` : "Your client secret is shown below." })
14010
14092
  ] }),
14011
- /* @__PURE__ */ jsxs96(Alert, { variant: "destructive", className: "my-4", children: [
14012
- /* @__PURE__ */ jsx163(AlertTriangle, { className: "h-4 w-4" }),
14013
- /* @__PURE__ */ jsxs96(AlertDescription, { children: [
14014
- /* @__PURE__ */ jsx163("strong", { children: "This is the only time your client secret will be displayed." }),
14015
- /* @__PURE__ */ jsx163("br", {}),
14093
+ /* @__PURE__ */ jsxs98(Alert, { variant: "destructive", className: "my-4", children: [
14094
+ /* @__PURE__ */ jsx165(AlertTriangle, { className: "h-4 w-4" }),
14095
+ /* @__PURE__ */ jsxs98(AlertDescription, { children: [
14096
+ /* @__PURE__ */ jsx165("strong", { children: "This is the only time your client secret will be displayed." }),
14097
+ /* @__PURE__ */ jsx165("br", {}),
14016
14098
  "Copy it now and store it securely. You will not be able to retrieve it later."
14017
14099
  ] })
14018
14100
  ] }),
14019
- /* @__PURE__ */ jsxs96("div", { className: "flex items-center space-x-2", children: [
14020
- /* @__PURE__ */ jsx163("div", { className: "flex-1", children: /* @__PURE__ */ jsx163(
14101
+ /* @__PURE__ */ jsxs98("div", { className: "flex items-center space-x-2", children: [
14102
+ /* @__PURE__ */ jsx165("div", { className: "flex-1", children: /* @__PURE__ */ jsx165(
14021
14103
  Input,
14022
14104
  {
14023
14105
  value: secret,
@@ -14026,7 +14108,7 @@ function OAuthClientSecretDisplay({
14026
14108
  onClick: (e) => e.currentTarget.select()
14027
14109
  }
14028
14110
  ) }),
14029
- /* @__PURE__ */ jsx163(
14111
+ /* @__PURE__ */ jsx165(
14030
14112
  Button,
14031
14113
  {
14032
14114
  type: "button",
@@ -14034,12 +14116,12 @@ function OAuthClientSecretDisplay({
14034
14116
  size: "icon",
14035
14117
  onClick: handleCopy,
14036
14118
  title: copied ? "Copied!" : "Copy to clipboard",
14037
- children: copied ? /* @__PURE__ */ jsx163(Check, { className: "h-4 w-4 text-green-600" }) : /* @__PURE__ */ jsx163(Copy, { className: "h-4 w-4" })
14119
+ children: copied ? /* @__PURE__ */ jsx165(Check, { className: "h-4 w-4 text-green-600" }) : /* @__PURE__ */ jsx165(Copy, { className: "h-4 w-4" })
14038
14120
  }
14039
14121
  )
14040
14122
  ] }),
14041
- copied && /* @__PURE__ */ jsx163("p", { className: "text-sm text-green-600 text-center", children: "Copied to clipboard!" }),
14042
- /* @__PURE__ */ jsx163(DialogFooter, { className: "mt-4", children: /* @__PURE__ */ jsx163(Button, { onClick: handleDismiss, className: "w-full", children: "I've Saved My Secret" }) })
14123
+ copied && /* @__PURE__ */ jsx165("p", { className: "text-sm text-green-600 text-center", children: "Copied to clipboard!" }),
14124
+ /* @__PURE__ */ jsx165(DialogFooter, { className: "mt-4", children: /* @__PURE__ */ jsx165(Button, { onClick: handleDismiss, className: "w-full", children: "I've Saved My Secret" }) })
14043
14125
  ] }) });
14044
14126
  }
14045
14127
  __name(OAuthClientSecretDisplay, "OAuthClientSecretDisplay");
@@ -14047,7 +14129,7 @@ __name(OAuthClientSecretDisplay, "OAuthClientSecretDisplay");
14047
14129
  // src/features/oauth/components/OAuthClientCard.tsx
14048
14130
  import { formatDistanceToNow } from "date-fns";
14049
14131
  import { Key, MoreVertical, Pencil, Trash2 as Trash22 } from "lucide-react";
14050
- import { jsx as jsx164, jsxs as jsxs97 } from "react/jsx-runtime";
14132
+ import { jsx as jsx166, jsxs as jsxs99 } from "react/jsx-runtime";
14051
14133
  function OAuthClientCard({
14052
14134
  client,
14053
14135
  onClick,
@@ -14056,31 +14138,31 @@ function OAuthClientCard({
14056
14138
  }) {
14057
14139
  const truncatedId = client.clientId.length > 12 ? `${client.clientId.slice(0, 8)}...${client.clientId.slice(-4)}` : client.clientId;
14058
14140
  const createdAgo = client.createdAt ? formatDistanceToNow(new Date(client.createdAt), { addSuffix: true }) : "Unknown";
14059
- return /* @__PURE__ */ jsxs97(
14141
+ return /* @__PURE__ */ jsxs99(
14060
14142
  Card,
14061
14143
  {
14062
14144
  className: `cursor-pointer transition-colors hover:bg-accent/50 ${!client.isActive ? "opacity-60" : ""}`,
14063
14145
  onClick,
14064
14146
  children: [
14065
- /* @__PURE__ */ jsxs97(CardHeader, { className: "pb-2", children: [
14066
- /* @__PURE__ */ jsxs97("div", { className: "flex items-start justify-between", children: [
14067
- /* @__PURE__ */ jsxs97("div", { className: "flex items-center gap-2", children: [
14068
- /* @__PURE__ */ jsx164(Key, { className: "h-5 w-5 text-muted-foreground" }),
14069
- /* @__PURE__ */ jsx164(CardTitle, { className: "text-lg", children: client.name })
14147
+ /* @__PURE__ */ jsxs99(CardHeader, { className: "pb-2", children: [
14148
+ /* @__PURE__ */ jsxs99("div", { className: "flex items-start justify-between", children: [
14149
+ /* @__PURE__ */ jsxs99("div", { className: "flex items-center gap-2", children: [
14150
+ /* @__PURE__ */ jsx166(Key, { className: "h-5 w-5 text-muted-foreground" }),
14151
+ /* @__PURE__ */ jsx166(CardTitle, { className: "text-lg", children: client.name })
14070
14152
  ] }),
14071
- /* @__PURE__ */ jsxs97("div", { className: "flex items-center gap-2", children: [
14072
- /* @__PURE__ */ jsx164(Badge, { variant: client.isActive ? "default" : "secondary", children: client.isActive ? "Active" : "Inactive" }),
14073
- (onEdit || onDelete) && /* @__PURE__ */ jsxs97(DropdownMenu, { children: [
14074
- /* @__PURE__ */ jsx164(DropdownMenuTrigger, { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsx164(Button, { render: /* @__PURE__ */ jsx164("div", {}), nativeButton: false, variant: "ghost", size: "icon", className: "h-8 w-8", children: /* @__PURE__ */ jsx164(MoreVertical, { className: "h-4 w-4" }) }) }),
14075
- /* @__PURE__ */ jsxs97(DropdownMenuContent, { align: "end", children: [
14076
- onEdit && /* @__PURE__ */ jsxs97(DropdownMenuItem, { onClick: (e) => {
14153
+ /* @__PURE__ */ jsxs99("div", { className: "flex items-center gap-2", children: [
14154
+ /* @__PURE__ */ jsx166(Badge, { variant: client.isActive ? "default" : "secondary", children: client.isActive ? "Active" : "Inactive" }),
14155
+ (onEdit || onDelete) && /* @__PURE__ */ jsxs99(DropdownMenu, { children: [
14156
+ /* @__PURE__ */ jsx166(DropdownMenuTrigger, { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsx166(Button, { render: /* @__PURE__ */ jsx166("div", {}), nativeButton: false, variant: "ghost", size: "icon", className: "h-8 w-8", children: /* @__PURE__ */ jsx166(MoreVertical, { className: "h-4 w-4" }) }) }),
14157
+ /* @__PURE__ */ jsxs99(DropdownMenuContent, { align: "end", children: [
14158
+ onEdit && /* @__PURE__ */ jsxs99(DropdownMenuItem, { onClick: (e) => {
14077
14159
  e.stopPropagation();
14078
14160
  onEdit();
14079
14161
  }, children: [
14080
- /* @__PURE__ */ jsx164(Pencil, { className: "h-4 w-4 mr-2" }),
14162
+ /* @__PURE__ */ jsx166(Pencil, { className: "h-4 w-4 mr-2" }),
14081
14163
  "Edit"
14082
14164
  ] }),
14083
- onDelete && /* @__PURE__ */ jsxs97(
14165
+ onDelete && /* @__PURE__ */ jsxs99(
14084
14166
  DropdownMenuItem,
14085
14167
  {
14086
14168
  onClick: (e) => {
@@ -14089,7 +14171,7 @@ function OAuthClientCard({
14089
14171
  },
14090
14172
  className: "text-destructive",
14091
14173
  children: [
14092
- /* @__PURE__ */ jsx164(Trash22, { className: "h-4 w-4 mr-2" }),
14174
+ /* @__PURE__ */ jsx166(Trash22, { className: "h-4 w-4 mr-2" }),
14093
14175
  "Delete"
14094
14176
  ]
14095
14177
  }
@@ -14098,15 +14180,15 @@ function OAuthClientCard({
14098
14180
  ] })
14099
14181
  ] })
14100
14182
  ] }),
14101
- client.description && /* @__PURE__ */ jsx164(CardDescription, { className: "line-clamp-2", children: client.description })
14183
+ client.description && /* @__PURE__ */ jsx166(CardDescription, { className: "line-clamp-2", children: client.description })
14102
14184
  ] }),
14103
- /* @__PURE__ */ jsx164(CardContent, { children: /* @__PURE__ */ jsxs97("div", { className: "flex flex-wrap gap-x-4 gap-y-1 text-sm text-muted-foreground", children: [
14104
- /* @__PURE__ */ jsx164("span", { className: "font-mono", children: truncatedId }),
14105
- /* @__PURE__ */ jsxs97("span", { children: [
14185
+ /* @__PURE__ */ jsx166(CardContent, { children: /* @__PURE__ */ jsxs99("div", { className: "flex flex-wrap gap-x-4 gap-y-1 text-sm text-muted-foreground", children: [
14186
+ /* @__PURE__ */ jsx166("span", { className: "font-mono", children: truncatedId }),
14187
+ /* @__PURE__ */ jsxs99("span", { children: [
14106
14188
  "Created ",
14107
14189
  createdAgo
14108
14190
  ] }),
14109
- /* @__PURE__ */ jsx164("span", { children: client.isConfidential ? "Confidential" : "Public" })
14191
+ /* @__PURE__ */ jsx166("span", { children: client.isConfidential ? "Confidential" : "Public" })
14110
14192
  ] }) })
14111
14193
  ]
14112
14194
  }
@@ -14116,7 +14198,7 @@ __name(OAuthClientCard, "OAuthClientCard");
14116
14198
 
14117
14199
  // src/features/oauth/components/OAuthClientList.tsx
14118
14200
  import { Plus as Plus2, Key as Key2 } from "lucide-react";
14119
- import { jsx as jsx165, jsxs as jsxs98 } from "react/jsx-runtime";
14201
+ import { jsx as jsx167, jsxs as jsxs100 } from "react/jsx-runtime";
14120
14202
  function OAuthClientList({
14121
14203
  clients,
14122
14204
  isLoading = false,
@@ -14129,49 +14211,49 @@ function OAuthClientList({
14129
14211
  title = "OAuth Applications"
14130
14212
  }) {
14131
14213
  if (isLoading && clients.length === 0) {
14132
- return /* @__PURE__ */ jsxs98("div", { className: "space-y-4", children: [
14133
- /* @__PURE__ */ jsxs98("div", { className: "flex items-center justify-between", children: [
14134
- /* @__PURE__ */ jsx165("h2", { className: "text-2xl font-bold", children: title }),
14135
- /* @__PURE__ */ jsx165(Skeleton, { className: "h-10 w-32" })
14214
+ return /* @__PURE__ */ jsxs100("div", { className: "space-y-4", children: [
14215
+ /* @__PURE__ */ jsxs100("div", { className: "flex items-center justify-between", children: [
14216
+ /* @__PURE__ */ jsx167("h2", { className: "text-2xl font-bold", children: title }),
14217
+ /* @__PURE__ */ jsx167(Skeleton, { className: "h-10 w-32" })
14136
14218
  ] }),
14137
- /* @__PURE__ */ jsx165("div", { className: "space-y-3", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsx165(Skeleton, { className: "h-32 w-full" }, i)) })
14219
+ /* @__PURE__ */ jsx167("div", { className: "space-y-3", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsx167(Skeleton, { className: "h-32 w-full" }, i)) })
14138
14220
  ] });
14139
14221
  }
14140
14222
  if (error) {
14141
- return /* @__PURE__ */ jsxs98("div", { className: "space-y-4", children: [
14142
- /* @__PURE__ */ jsx165("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsx165("h2", { className: "text-2xl font-bold", children: title }) }),
14143
- /* @__PURE__ */ jsx165("div", { className: "rounded-lg border border-destructive/50 bg-destructive/10 p-6 text-center", children: /* @__PURE__ */ jsx165("p", { className: "text-destructive", children: error.message }) })
14223
+ return /* @__PURE__ */ jsxs100("div", { className: "space-y-4", children: [
14224
+ /* @__PURE__ */ jsx167("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsx167("h2", { className: "text-2xl font-bold", children: title }) }),
14225
+ /* @__PURE__ */ jsx167("div", { className: "rounded-lg border border-destructive/50 bg-destructive/10 p-6 text-center", children: /* @__PURE__ */ jsx167("p", { className: "text-destructive", children: error.message }) })
14144
14226
  ] });
14145
14227
  }
14146
14228
  if (clients.length === 0) {
14147
- return /* @__PURE__ */ jsxs98("div", { className: "space-y-4", children: [
14148
- /* @__PURE__ */ jsxs98("div", { className: "flex items-center justify-between", children: [
14149
- /* @__PURE__ */ jsx165("h2", { className: "text-2xl font-bold", children: title }),
14150
- onCreateClick && /* @__PURE__ */ jsxs98(Button, { onClick: onCreateClick, children: [
14151
- /* @__PURE__ */ jsx165(Plus2, { className: "h-4 w-4 mr-2" }),
14229
+ return /* @__PURE__ */ jsxs100("div", { className: "space-y-4", children: [
14230
+ /* @__PURE__ */ jsxs100("div", { className: "flex items-center justify-between", children: [
14231
+ /* @__PURE__ */ jsx167("h2", { className: "text-2xl font-bold", children: title }),
14232
+ onCreateClick && /* @__PURE__ */ jsxs100(Button, { onClick: onCreateClick, children: [
14233
+ /* @__PURE__ */ jsx167(Plus2, { className: "h-4 w-4 mr-2" }),
14152
14234
  "New App"
14153
14235
  ] })
14154
14236
  ] }),
14155
- /* @__PURE__ */ jsxs98("div", { className: "rounded-lg border border-dashed p-12 text-center", children: [
14156
- /* @__PURE__ */ jsx165(Key2, { className: "h-12 w-12 mx-auto text-muted-foreground mb-4" }),
14157
- /* @__PURE__ */ jsx165("h3", { className: "text-lg font-medium mb-2", children: "No OAuth Applications" }),
14158
- /* @__PURE__ */ jsx165("p", { className: "text-muted-foreground mb-4", children: emptyStateMessage }),
14159
- onCreateClick && /* @__PURE__ */ jsxs98(Button, { onClick: onCreateClick, children: [
14160
- /* @__PURE__ */ jsx165(Plus2, { className: "h-4 w-4 mr-2" }),
14237
+ /* @__PURE__ */ jsxs100("div", { className: "rounded-lg border border-dashed p-12 text-center", children: [
14238
+ /* @__PURE__ */ jsx167(Key2, { className: "h-12 w-12 mx-auto text-muted-foreground mb-4" }),
14239
+ /* @__PURE__ */ jsx167("h3", { className: "text-lg font-medium mb-2", children: "No OAuth Applications" }),
14240
+ /* @__PURE__ */ jsx167("p", { className: "text-muted-foreground mb-4", children: emptyStateMessage }),
14241
+ onCreateClick && /* @__PURE__ */ jsxs100(Button, { onClick: onCreateClick, children: [
14242
+ /* @__PURE__ */ jsx167(Plus2, { className: "h-4 w-4 mr-2" }),
14161
14243
  "Create Application"
14162
14244
  ] })
14163
14245
  ] })
14164
14246
  ] });
14165
14247
  }
14166
- return /* @__PURE__ */ jsxs98("div", { className: "space-y-4", children: [
14167
- /* @__PURE__ */ jsxs98("div", { className: "flex items-center justify-between", children: [
14168
- /* @__PURE__ */ jsx165("h2", { className: "text-2xl font-bold", children: title }),
14169
- onCreateClick && /* @__PURE__ */ jsxs98(Button, { onClick: onCreateClick, children: [
14170
- /* @__PURE__ */ jsx165(Plus2, { className: "h-4 w-4 mr-2" }),
14248
+ return /* @__PURE__ */ jsxs100("div", { className: "space-y-4", children: [
14249
+ /* @__PURE__ */ jsxs100("div", { className: "flex items-center justify-between", children: [
14250
+ /* @__PURE__ */ jsx167("h2", { className: "text-2xl font-bold", children: title }),
14251
+ onCreateClick && /* @__PURE__ */ jsxs100(Button, { onClick: onCreateClick, children: [
14252
+ /* @__PURE__ */ jsx167(Plus2, { className: "h-4 w-4 mr-2" }),
14171
14253
  "New App"
14172
14254
  ] })
14173
14255
  ] }),
14174
- /* @__PURE__ */ jsx165("div", { className: "space-y-3", children: clients.map((client) => /* @__PURE__ */ jsx165(
14256
+ /* @__PURE__ */ jsx167("div", { className: "space-y-3", children: clients.map((client) => /* @__PURE__ */ jsx167(
14175
14257
  OAuthClientCard,
14176
14258
  {
14177
14259
  client,
@@ -14187,7 +14269,7 @@ __name(OAuthClientList, "OAuthClientList");
14187
14269
 
14188
14270
  // src/features/oauth/components/OAuthClientForm.tsx
14189
14271
  import { useState as useState56, useCallback as useCallback26 } from "react";
14190
- import { jsx as jsx166, jsxs as jsxs99 } from "react/jsx-runtime";
14272
+ import { jsx as jsx168, jsxs as jsxs101 } from "react/jsx-runtime";
14191
14273
  function OAuthClientForm({
14192
14274
  client,
14193
14275
  onSubmit,
@@ -14234,15 +14316,15 @@ function OAuthClientForm({
14234
14316
  },
14235
14317
  [formState, validate, onSubmit]
14236
14318
  );
14237
- return /* @__PURE__ */ jsx166(Card, { children: /* @__PURE__ */ jsxs99("form", { onSubmit: handleSubmit, children: [
14238
- /* @__PURE__ */ jsxs99(CardHeader, { children: [
14239
- /* @__PURE__ */ jsx166(CardTitle, { children: isEditMode ? "Edit Application" : "Create OAuth Application" }),
14240
- /* @__PURE__ */ jsx166(CardDescription, { children: isEditMode ? "Update your OAuth application settings." : "Register a new application to access the API." })
14319
+ return /* @__PURE__ */ jsx168(Card, { children: /* @__PURE__ */ jsxs101("form", { onSubmit: handleSubmit, children: [
14320
+ /* @__PURE__ */ jsxs101(CardHeader, { children: [
14321
+ /* @__PURE__ */ jsx168(CardTitle, { children: isEditMode ? "Edit Application" : "Create OAuth Application" }),
14322
+ /* @__PURE__ */ jsx168(CardDescription, { children: isEditMode ? "Update your OAuth application settings." : "Register a new application to access the API." })
14241
14323
  ] }),
14242
- /* @__PURE__ */ jsxs99(CardContent, { className: "space-y-6", children: [
14243
- /* @__PURE__ */ jsxs99("div", { className: "space-y-2", children: [
14244
- /* @__PURE__ */ jsx166(Label, { htmlFor: "name", children: "Application Name *" }),
14245
- /* @__PURE__ */ jsx166(
14324
+ /* @__PURE__ */ jsxs101(CardContent, { className: "space-y-6", children: [
14325
+ /* @__PURE__ */ jsxs101("div", { className: "space-y-2", children: [
14326
+ /* @__PURE__ */ jsx168(Label, { htmlFor: "name", children: "Application Name *" }),
14327
+ /* @__PURE__ */ jsx168(
14246
14328
  Input,
14247
14329
  {
14248
14330
  id: "name",
@@ -14253,11 +14335,11 @@ function OAuthClientForm({
14253
14335
  className: errors.name ? "border-destructive" : ""
14254
14336
  }
14255
14337
  ),
14256
- errors.name && /* @__PURE__ */ jsx166("p", { className: "text-sm text-destructive", children: errors.name })
14338
+ errors.name && /* @__PURE__ */ jsx168("p", { className: "text-sm text-destructive", children: errors.name })
14257
14339
  ] }),
14258
- /* @__PURE__ */ jsxs99("div", { className: "space-y-2", children: [
14259
- /* @__PURE__ */ jsx166(Label, { htmlFor: "description", children: "Description" }),
14260
- /* @__PURE__ */ jsx166(
14340
+ /* @__PURE__ */ jsxs101("div", { className: "space-y-2", children: [
14341
+ /* @__PURE__ */ jsx168(Label, { htmlFor: "description", children: "Description" }),
14342
+ /* @__PURE__ */ jsx168(
14261
14343
  Textarea,
14262
14344
  {
14263
14345
  id: "description",
@@ -14269,7 +14351,7 @@ function OAuthClientForm({
14269
14351
  }
14270
14352
  )
14271
14353
  ] }),
14272
- /* @__PURE__ */ jsx166(
14354
+ /* @__PURE__ */ jsx168(
14273
14355
  OAuthRedirectUriInput,
14274
14356
  {
14275
14357
  value: formState.redirectUris,
@@ -14278,7 +14360,7 @@ function OAuthClientForm({
14278
14360
  disabled: isLoading
14279
14361
  }
14280
14362
  ),
14281
- /* @__PURE__ */ jsx166(
14363
+ /* @__PURE__ */ jsx168(
14282
14364
  OAuthScopeSelector,
14283
14365
  {
14284
14366
  value: formState.allowedScopes,
@@ -14287,38 +14369,38 @@ function OAuthClientForm({
14287
14369
  disabled: isLoading
14288
14370
  }
14289
14371
  ),
14290
- /* @__PURE__ */ jsxs99("div", { className: "space-y-3", children: [
14291
- /* @__PURE__ */ jsx166(Label, { children: "Client Type" }),
14292
- /* @__PURE__ */ jsxs99(
14372
+ /* @__PURE__ */ jsxs101("div", { className: "space-y-3", children: [
14373
+ /* @__PURE__ */ jsx168(Label, { children: "Client Type" }),
14374
+ /* @__PURE__ */ jsxs101(
14293
14375
  RadioGroup,
14294
14376
  {
14295
14377
  value: formState.isConfidential ? "confidential" : "public",
14296
14378
  onValueChange: (v) => setFormState((s) => ({ ...s, isConfidential: v === "confidential" })),
14297
14379
  disabled: isLoading || isEditMode,
14298
14380
  children: [
14299
- /* @__PURE__ */ jsxs99("div", { className: "flex items-start space-x-3 p-3 rounded-md border", children: [
14300
- /* @__PURE__ */ jsx166(RadioGroupItem, { value: "confidential", id: "confidential", className: "mt-1" }),
14301
- /* @__PURE__ */ jsxs99("div", { children: [
14302
- /* @__PURE__ */ jsx166(Label, { htmlFor: "confidential", className: "font-medium cursor-pointer", children: "Confidential" }),
14303
- /* @__PURE__ */ jsx166("p", { className: "text-sm text-muted-foreground", children: "Server-side application that can securely store the client secret." })
14381
+ /* @__PURE__ */ jsxs101("div", { className: "flex items-start space-x-3 p-3 rounded-md border", children: [
14382
+ /* @__PURE__ */ jsx168(RadioGroupItem, { value: "confidential", id: "confidential", className: "mt-1" }),
14383
+ /* @__PURE__ */ jsxs101("div", { children: [
14384
+ /* @__PURE__ */ jsx168(Label, { htmlFor: "confidential", className: "font-medium cursor-pointer", children: "Confidential" }),
14385
+ /* @__PURE__ */ jsx168("p", { className: "text-sm text-muted-foreground", children: "Server-side application that can securely store the client secret." })
14304
14386
  ] })
14305
14387
  ] }),
14306
- /* @__PURE__ */ jsxs99("div", { className: "flex items-start space-x-3 p-3 rounded-md border", children: [
14307
- /* @__PURE__ */ jsx166(RadioGroupItem, { value: "public", id: "public", className: "mt-1" }),
14308
- /* @__PURE__ */ jsxs99("div", { children: [
14309
- /* @__PURE__ */ jsx166(Label, { htmlFor: "public", className: "font-medium cursor-pointer", children: "Public" }),
14310
- /* @__PURE__ */ jsx166("p", { className: "text-sm text-muted-foreground", children: "Mobile or desktop application. Requires PKCE for authorization." })
14388
+ /* @__PURE__ */ jsxs101("div", { className: "flex items-start space-x-3 p-3 rounded-md border", children: [
14389
+ /* @__PURE__ */ jsx168(RadioGroupItem, { value: "public", id: "public", className: "mt-1" }),
14390
+ /* @__PURE__ */ jsxs101("div", { children: [
14391
+ /* @__PURE__ */ jsx168(Label, { htmlFor: "public", className: "font-medium cursor-pointer", children: "Public" }),
14392
+ /* @__PURE__ */ jsx168("p", { className: "text-sm text-muted-foreground", children: "Mobile or desktop application. Requires PKCE for authorization." })
14311
14393
  ] })
14312
14394
  ] })
14313
14395
  ]
14314
14396
  }
14315
14397
  ),
14316
- isEditMode && /* @__PURE__ */ jsx166("p", { className: "text-sm text-muted-foreground", children: "Client type cannot be changed after creation." })
14398
+ isEditMode && /* @__PURE__ */ jsx168("p", { className: "text-sm text-muted-foreground", children: "Client type cannot be changed after creation." })
14317
14399
  ] })
14318
14400
  ] }),
14319
- /* @__PURE__ */ jsxs99(CardFooter, { className: "flex justify-end gap-3", children: [
14320
- /* @__PURE__ */ jsx166(Button, { type: "button", variant: "outline", onClick: onCancel, disabled: isLoading, children: "Cancel" }),
14321
- /* @__PURE__ */ jsx166(Button, { type: "submit", disabled: isLoading, children: isLoading ? "Saving..." : isEditMode ? "Save Changes" : "Create Application" })
14401
+ /* @__PURE__ */ jsxs101(CardFooter, { className: "flex justify-end gap-3", children: [
14402
+ /* @__PURE__ */ jsx168(Button, { type: "button", variant: "outline", onClick: onCancel, disabled: isLoading, children: "Cancel" }),
14403
+ /* @__PURE__ */ jsx168(Button, { type: "submit", disabled: isLoading, children: isLoading ? "Saving..." : isEditMode ? "Save Changes" : "Create Application" })
14322
14404
  ] })
14323
14405
  ] }) });
14324
14406
  }
@@ -14328,7 +14410,7 @@ __name(OAuthClientForm, "OAuthClientForm");
14328
14410
  import { useState as useState57, useCallback as useCallback27 } from "react";
14329
14411
  import { format as format2 } from "date-fns";
14330
14412
  import { Copy as Copy2, Check as Check2, RefreshCw as RefreshCw2, Pencil as Pencil2, Trash2 as Trash23, ExternalLink } from "lucide-react";
14331
- import { Fragment as Fragment33, jsx as jsx167, jsxs as jsxs100 } from "react/jsx-runtime";
14413
+ import { Fragment as Fragment34, jsx as jsx169, jsxs as jsxs102 } from "react/jsx-runtime";
14332
14414
  function OAuthClientDetail({
14333
14415
  client,
14334
14416
  isLoading = false,
@@ -14371,40 +14453,40 @@ function OAuthClientDetail({
14371
14453
  }
14372
14454
  }, [onRegenerateSecret]);
14373
14455
  const createdDate = client.createdAt ? format2(new Date(client.createdAt), "MMMM d, yyyy") : "Unknown";
14374
- return /* @__PURE__ */ jsxs100(Fragment33, { children: [
14375
- /* @__PURE__ */ jsxs100(Card, { children: [
14376
- /* @__PURE__ */ jsx167(CardHeader, { children: /* @__PURE__ */ jsxs100("div", { className: "flex items-start justify-between", children: [
14377
- /* @__PURE__ */ jsxs100("div", { children: [
14378
- /* @__PURE__ */ jsx167(CardTitle, { className: "text-2xl", children: client.name }),
14379
- client.description && /* @__PURE__ */ jsx167(CardDescription, { className: "mt-1", children: client.description })
14456
+ return /* @__PURE__ */ jsxs102(Fragment34, { children: [
14457
+ /* @__PURE__ */ jsxs102(Card, { children: [
14458
+ /* @__PURE__ */ jsx169(CardHeader, { children: /* @__PURE__ */ jsxs102("div", { className: "flex items-start justify-between", children: [
14459
+ /* @__PURE__ */ jsxs102("div", { children: [
14460
+ /* @__PURE__ */ jsx169(CardTitle, { className: "text-2xl", children: client.name }),
14461
+ client.description && /* @__PURE__ */ jsx169(CardDescription, { className: "mt-1", children: client.description })
14380
14462
  ] }),
14381
- /* @__PURE__ */ jsxs100("div", { className: "flex items-center gap-2", children: [
14382
- /* @__PURE__ */ jsx167(Badge, { variant: client.isActive ? "default" : "secondary", children: client.isActive ? "Active" : "Inactive" }),
14383
- /* @__PURE__ */ jsx167(Badge, { variant: "outline", children: client.isConfidential ? "Confidential" : "Public" })
14463
+ /* @__PURE__ */ jsxs102("div", { className: "flex items-center gap-2", children: [
14464
+ /* @__PURE__ */ jsx169(Badge, { variant: client.isActive ? "default" : "secondary", children: client.isActive ? "Active" : "Inactive" }),
14465
+ /* @__PURE__ */ jsx169(Badge, { variant: "outline", children: client.isConfidential ? "Confidential" : "Public" })
14384
14466
  ] })
14385
14467
  ] }) }),
14386
- /* @__PURE__ */ jsxs100(CardContent, { className: "space-y-6", children: [
14387
- /* @__PURE__ */ jsxs100("div", { className: "space-y-2", children: [
14388
- /* @__PURE__ */ jsx167(Label, { children: "Client ID" }),
14389
- /* @__PURE__ */ jsxs100("div", { className: "flex gap-2", children: [
14390
- /* @__PURE__ */ jsx167(Input, { value: client.clientId, readOnly: true, className: "font-mono" }),
14391
- /* @__PURE__ */ jsx167(
14468
+ /* @__PURE__ */ jsxs102(CardContent, { className: "space-y-6", children: [
14469
+ /* @__PURE__ */ jsxs102("div", { className: "space-y-2", children: [
14470
+ /* @__PURE__ */ jsx169(Label, { children: "Client ID" }),
14471
+ /* @__PURE__ */ jsxs102("div", { className: "flex gap-2", children: [
14472
+ /* @__PURE__ */ jsx169(Input, { value: client.clientId, readOnly: true, className: "font-mono" }),
14473
+ /* @__PURE__ */ jsx169(
14392
14474
  Button,
14393
14475
  {
14394
14476
  variant: "outline",
14395
14477
  size: "icon",
14396
14478
  onClick: () => copyToClipboard(client.clientId, "clientId"),
14397
14479
  title: "Copy Client ID",
14398
- children: copiedField === "clientId" ? /* @__PURE__ */ jsx167(Check2, { className: "h-4 w-4 text-green-600" }) : /* @__PURE__ */ jsx167(Copy2, { className: "h-4 w-4" })
14480
+ children: copiedField === "clientId" ? /* @__PURE__ */ jsx169(Check2, { className: "h-4 w-4 text-green-600" }) : /* @__PURE__ */ jsx169(Copy2, { className: "h-4 w-4" })
14399
14481
  }
14400
14482
  )
14401
14483
  ] })
14402
14484
  ] }),
14403
- /* @__PURE__ */ jsxs100("div", { className: "space-y-2", children: [
14404
- /* @__PURE__ */ jsx167(Label, { children: "Client Secret" }),
14405
- /* @__PURE__ */ jsxs100("div", { className: "flex gap-2", children: [
14406
- /* @__PURE__ */ jsx167(Input, { value: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022", readOnly: true, className: "font-mono" }),
14407
- onRegenerateSecret && /* @__PURE__ */ jsx167(
14485
+ /* @__PURE__ */ jsxs102("div", { className: "space-y-2", children: [
14486
+ /* @__PURE__ */ jsx169(Label, { children: "Client Secret" }),
14487
+ /* @__PURE__ */ jsxs102("div", { className: "flex gap-2", children: [
14488
+ /* @__PURE__ */ jsx169(Input, { value: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022", readOnly: true, className: "font-mono" }),
14489
+ onRegenerateSecret && /* @__PURE__ */ jsx169(
14408
14490
  Button,
14409
14491
  {
14410
14492
  variant: "outline",
@@ -14412,46 +14494,46 @@ function OAuthClientDetail({
14412
14494
  onClick: () => setShowRegenerateConfirm(true),
14413
14495
  title: "Regenerate Secret",
14414
14496
  disabled: isLoading,
14415
- children: /* @__PURE__ */ jsx167(RefreshCw2, { className: "h-4 w-4" })
14497
+ children: /* @__PURE__ */ jsx169(RefreshCw2, { className: "h-4 w-4" })
14416
14498
  }
14417
14499
  )
14418
14500
  ] }),
14419
- /* @__PURE__ */ jsx167("p", { className: "text-xs text-muted-foreground", children: "Regenerating will invalidate the current secret and all existing tokens." })
14501
+ /* @__PURE__ */ jsx169("p", { className: "text-xs text-muted-foreground", children: "Regenerating will invalidate the current secret and all existing tokens." })
14420
14502
  ] }),
14421
- /* @__PURE__ */ jsx167(Separator, {}),
14422
- /* @__PURE__ */ jsxs100("div", { className: "space-y-2", children: [
14423
- /* @__PURE__ */ jsx167(Label, { children: "Redirect URIs" }),
14424
- /* @__PURE__ */ jsx167("ul", { className: "space-y-1", children: client.redirectUris.map((uri, index) => /* @__PURE__ */ jsxs100("li", { className: "flex items-center gap-2 text-sm font-mono", children: [
14425
- /* @__PURE__ */ jsx167(ExternalLink, { className: "h-3 w-3 text-muted-foreground" }),
14503
+ /* @__PURE__ */ jsx169(Separator, {}),
14504
+ /* @__PURE__ */ jsxs102("div", { className: "space-y-2", children: [
14505
+ /* @__PURE__ */ jsx169(Label, { children: "Redirect URIs" }),
14506
+ /* @__PURE__ */ jsx169("ul", { className: "space-y-1", children: client.redirectUris.map((uri, index) => /* @__PURE__ */ jsxs102("li", { className: "flex items-center gap-2 text-sm font-mono", children: [
14507
+ /* @__PURE__ */ jsx169(ExternalLink, { className: "h-3 w-3 text-muted-foreground" }),
14426
14508
  uri
14427
14509
  ] }, index)) })
14428
14510
  ] }),
14429
- /* @__PURE__ */ jsxs100("div", { className: "space-y-2", children: [
14430
- /* @__PURE__ */ jsx167(Label, { children: "Allowed Scopes" }),
14431
- /* @__PURE__ */ jsx167("div", { className: "flex flex-wrap gap-2", children: client.allowedScopes.map((scope) => /* @__PURE__ */ jsx167(Badge, { variant: "secondary", children: OAUTH_SCOPE_DISPLAY[scope]?.name || scope }, scope)) })
14511
+ /* @__PURE__ */ jsxs102("div", { className: "space-y-2", children: [
14512
+ /* @__PURE__ */ jsx169(Label, { children: "Allowed Scopes" }),
14513
+ /* @__PURE__ */ jsx169("div", { className: "flex flex-wrap gap-2", children: client.allowedScopes.map((scope) => /* @__PURE__ */ jsx169(Badge, { variant: "secondary", children: OAUTH_SCOPE_DISPLAY[scope]?.name || scope }, scope)) })
14432
14514
  ] }),
14433
- /* @__PURE__ */ jsxs100("div", { className: "space-y-2", children: [
14434
- /* @__PURE__ */ jsx167(Label, { children: "Grant Types" }),
14435
- /* @__PURE__ */ jsx167("div", { className: "flex flex-wrap gap-2", children: client.allowedGrantTypes.map((grant) => /* @__PURE__ */ jsx167(Badge, { variant: "outline", children: grant.replace(/_/g, " ") }, grant)) })
14515
+ /* @__PURE__ */ jsxs102("div", { className: "space-y-2", children: [
14516
+ /* @__PURE__ */ jsx169(Label, { children: "Grant Types" }),
14517
+ /* @__PURE__ */ jsx169("div", { className: "flex flex-wrap gap-2", children: client.allowedGrantTypes.map((grant) => /* @__PURE__ */ jsx169(Badge, { variant: "outline", children: grant.replace(/_/g, " ") }, grant)) })
14436
14518
  ] }),
14437
- /* @__PURE__ */ jsx167(Separator, {}),
14438
- /* @__PURE__ */ jsx167("div", { className: "flex flex-wrap gap-x-6 gap-y-2 text-sm text-muted-foreground", children: /* @__PURE__ */ jsxs100("span", { children: [
14519
+ /* @__PURE__ */ jsx169(Separator, {}),
14520
+ /* @__PURE__ */ jsx169("div", { className: "flex flex-wrap gap-x-6 gap-y-2 text-sm text-muted-foreground", children: /* @__PURE__ */ jsxs102("span", { children: [
14439
14521
  "Created: ",
14440
14522
  createdDate
14441
14523
  ] }) }),
14442
- /* @__PURE__ */ jsxs100("div", { className: "flex gap-3 pt-4", children: [
14443
- onEdit && /* @__PURE__ */ jsxs100(Button, { variant: "outline", onClick: onEdit, disabled: isLoading, children: [
14444
- /* @__PURE__ */ jsx167(Pencil2, { className: "h-4 w-4 mr-2" }),
14524
+ /* @__PURE__ */ jsxs102("div", { className: "flex gap-3 pt-4", children: [
14525
+ onEdit && /* @__PURE__ */ jsxs102(Button, { variant: "outline", onClick: onEdit, disabled: isLoading, children: [
14526
+ /* @__PURE__ */ jsx169(Pencil2, { className: "h-4 w-4 mr-2" }),
14445
14527
  "Edit"
14446
14528
  ] }),
14447
- onDelete && /* @__PURE__ */ jsxs100(
14529
+ onDelete && /* @__PURE__ */ jsxs102(
14448
14530
  Button,
14449
14531
  {
14450
14532
  variant: "destructive",
14451
14533
  onClick: () => setShowDeleteConfirm(true),
14452
14534
  disabled: isLoading,
14453
14535
  children: [
14454
- /* @__PURE__ */ jsx167(Trash23, { className: "h-4 w-4 mr-2" }),
14536
+ /* @__PURE__ */ jsx169(Trash23, { className: "h-4 w-4 mr-2" }),
14455
14537
  "Delete"
14456
14538
  ]
14457
14539
  }
@@ -14459,18 +14541,18 @@ function OAuthClientDetail({
14459
14541
  ] })
14460
14542
  ] })
14461
14543
  ] }),
14462
- /* @__PURE__ */ jsx167(AlertDialog, { open: showDeleteConfirm, onOpenChange: setShowDeleteConfirm, children: /* @__PURE__ */ jsxs100(AlertDialogContent, { children: [
14463
- /* @__PURE__ */ jsxs100(AlertDialogHeader, { children: [
14464
- /* @__PURE__ */ jsx167(AlertDialogTitle, { children: "Delete OAuth Application?" }),
14465
- /* @__PURE__ */ jsxs100(AlertDialogDescription, { children: [
14544
+ /* @__PURE__ */ jsx169(AlertDialog, { open: showDeleteConfirm, onOpenChange: setShowDeleteConfirm, children: /* @__PURE__ */ jsxs102(AlertDialogContent, { children: [
14545
+ /* @__PURE__ */ jsxs102(AlertDialogHeader, { children: [
14546
+ /* @__PURE__ */ jsx169(AlertDialogTitle, { children: "Delete OAuth Application?" }),
14547
+ /* @__PURE__ */ jsxs102(AlertDialogDescription, { children: [
14466
14548
  'This will permanently delete "',
14467
14549
  client.name,
14468
14550
  '" and revoke all access tokens. This action cannot be undone.'
14469
14551
  ] })
14470
14552
  ] }),
14471
- /* @__PURE__ */ jsxs100(AlertDialogFooter, { children: [
14472
- /* @__PURE__ */ jsx167(AlertDialogCancel, { disabled: isDeleting, children: "Cancel" }),
14473
- /* @__PURE__ */ jsx167(
14553
+ /* @__PURE__ */ jsxs102(AlertDialogFooter, { children: [
14554
+ /* @__PURE__ */ jsx169(AlertDialogCancel, { disabled: isDeleting, children: "Cancel" }),
14555
+ /* @__PURE__ */ jsx169(
14474
14556
  AlertDialogAction,
14475
14557
  {
14476
14558
  onClick: handleDelete,
@@ -14481,14 +14563,14 @@ function OAuthClientDetail({
14481
14563
  )
14482
14564
  ] })
14483
14565
  ] }) }),
14484
- /* @__PURE__ */ jsx167(AlertDialog, { open: showRegenerateConfirm, onOpenChange: setShowRegenerateConfirm, children: /* @__PURE__ */ jsxs100(AlertDialogContent, { children: [
14485
- /* @__PURE__ */ jsxs100(AlertDialogHeader, { children: [
14486
- /* @__PURE__ */ jsx167(AlertDialogTitle, { children: "Regenerate Client Secret?" }),
14487
- /* @__PURE__ */ jsx167(AlertDialogDescription, { children: "This will generate a new client secret and invalidate the old one. All existing tokens will be revoked. You will need to update your application with the new secret." })
14566
+ /* @__PURE__ */ jsx169(AlertDialog, { open: showRegenerateConfirm, onOpenChange: setShowRegenerateConfirm, children: /* @__PURE__ */ jsxs102(AlertDialogContent, { children: [
14567
+ /* @__PURE__ */ jsxs102(AlertDialogHeader, { children: [
14568
+ /* @__PURE__ */ jsx169(AlertDialogTitle, { children: "Regenerate Client Secret?" }),
14569
+ /* @__PURE__ */ jsx169(AlertDialogDescription, { children: "This will generate a new client secret and invalidate the old one. All existing tokens will be revoked. You will need to update your application with the new secret." })
14488
14570
  ] }),
14489
- /* @__PURE__ */ jsxs100(AlertDialogFooter, { children: [
14490
- /* @__PURE__ */ jsx167(AlertDialogCancel, { disabled: isRegenerating, children: "Cancel" }),
14491
- /* @__PURE__ */ jsx167(AlertDialogAction, { onClick: handleRegenerateSecret, disabled: isRegenerating, children: isRegenerating ? "Regenerating..." : "Regenerate" })
14571
+ /* @__PURE__ */ jsxs102(AlertDialogFooter, { children: [
14572
+ /* @__PURE__ */ jsx169(AlertDialogCancel, { disabled: isRegenerating, children: "Cancel" }),
14573
+ /* @__PURE__ */ jsx169(AlertDialogAction, { onClick: handleRegenerateSecret, disabled: isRegenerating, children: isRegenerating ? "Regenerating..." : "Regenerate" })
14492
14574
  ] })
14493
14575
  ] }) })
14494
14576
  ] });
@@ -14497,28 +14579,28 @@ __name(OAuthClientDetail, "OAuthClientDetail");
14497
14579
 
14498
14580
  // src/features/oauth/components/consent/OAuthConsentHeader.tsx
14499
14581
  import { Shield } from "lucide-react";
14500
- import { jsx as jsx168, jsxs as jsxs101 } from "react/jsx-runtime";
14582
+ import { jsx as jsx170, jsxs as jsxs103 } from "react/jsx-runtime";
14501
14583
  function OAuthConsentHeader({
14502
14584
  client,
14503
14585
  logoUrl,
14504
14586
  appName = "Only35"
14505
14587
  }) {
14506
- return /* @__PURE__ */ jsxs101("div", { className: "text-center space-y-4", children: [
14507
- /* @__PURE__ */ jsx168("div", { className: "flex justify-center", children: logoUrl ? /* @__PURE__ */ jsx168(
14588
+ return /* @__PURE__ */ jsxs103("div", { className: "text-center space-y-4", children: [
14589
+ /* @__PURE__ */ jsx170("div", { className: "flex justify-center", children: logoUrl ? /* @__PURE__ */ jsx170(
14508
14590
  "img",
14509
14591
  {
14510
14592
  src: logoUrl,
14511
14593
  alt: appName,
14512
14594
  className: "h-12 w-auto"
14513
14595
  }
14514
- ) : /* @__PURE__ */ jsx168("div", { className: "h-12 w-12 rounded-full bg-primary flex items-center justify-center", children: /* @__PURE__ */ jsx168(Shield, { className: "h-6 w-6 text-primary-foreground" }) }) }),
14515
- /* @__PURE__ */ jsxs101("div", { className: "space-y-2", children: [
14516
- /* @__PURE__ */ jsxs101("h1", { className: "text-2xl font-bold", children: [
14596
+ ) : /* @__PURE__ */ jsx170("div", { className: "h-12 w-12 rounded-full bg-primary flex items-center justify-center", children: /* @__PURE__ */ jsx170(Shield, { className: "h-6 w-6 text-primary-foreground" }) }) }),
14597
+ /* @__PURE__ */ jsxs103("div", { className: "space-y-2", children: [
14598
+ /* @__PURE__ */ jsxs103("h1", { className: "text-2xl font-bold", children: [
14517
14599
  "Authorize ",
14518
14600
  client.name
14519
14601
  ] }),
14520
- /* @__PURE__ */ jsxs101("p", { className: "text-muted-foreground", children: [
14521
- /* @__PURE__ */ jsx168("span", { className: "font-medium text-foreground", children: client.name }),
14602
+ /* @__PURE__ */ jsxs103("p", { className: "text-muted-foreground", children: [
14603
+ /* @__PURE__ */ jsx170("span", { className: "font-medium text-foreground", children: client.name }),
14522
14604
  " ",
14523
14605
  "wants to access your ",
14524
14606
  appName,
@@ -14540,7 +14622,7 @@ import {
14540
14622
  User,
14541
14623
  Shield as Shield2
14542
14624
  } from "lucide-react";
14543
- import { jsx as jsx169, jsxs as jsxs102 } from "react/jsx-runtime";
14625
+ import { jsx as jsx171, jsxs as jsxs104 } from "react/jsx-runtime";
14544
14626
  var SCOPE_ICONS = {
14545
14627
  eye: Eye,
14546
14628
  pencil: Pencil3,
@@ -14555,19 +14637,19 @@ function OAuthScopeList({ scopes }) {
14555
14637
  if (scopes.length === 0) {
14556
14638
  return null;
14557
14639
  }
14558
- return /* @__PURE__ */ jsxs102("div", { className: "space-y-3", children: [
14559
- /* @__PURE__ */ jsx169("h2", { className: "text-sm font-medium text-muted-foreground uppercase tracking-wide", children: "This will allow the application to:" }),
14560
- /* @__PURE__ */ jsx169("ul", { className: "space-y-3", children: scopes.map((scope) => {
14640
+ return /* @__PURE__ */ jsxs104("div", { className: "space-y-3", children: [
14641
+ /* @__PURE__ */ jsx171("h2", { className: "text-sm font-medium text-muted-foreground uppercase tracking-wide", children: "This will allow the application to:" }),
14642
+ /* @__PURE__ */ jsx171("ul", { className: "space-y-3", children: scopes.map((scope) => {
14561
14643
  const IconComponent = scope.icon ? SCOPE_ICONS[scope.icon] : Eye;
14562
- return /* @__PURE__ */ jsxs102(
14644
+ return /* @__PURE__ */ jsxs104(
14563
14645
  "li",
14564
14646
  {
14565
14647
  className: "flex items-start gap-3 p-3 rounded-lg bg-muted/50",
14566
14648
  children: [
14567
- /* @__PURE__ */ jsx169("div", { className: "flex-shrink-0 mt-0.5", children: /* @__PURE__ */ jsx169("div", { className: "h-8 w-8 rounded-full bg-primary/10 flex items-center justify-center", children: IconComponent && /* @__PURE__ */ jsx169(IconComponent, { className: "h-4 w-4 text-primary" }) }) }),
14568
- /* @__PURE__ */ jsxs102("div", { className: "flex-1", children: [
14569
- /* @__PURE__ */ jsx169("p", { className: "font-medium", children: scope.name }),
14570
- /* @__PURE__ */ jsx169("p", { className: "text-sm text-muted-foreground", children: scope.description })
14649
+ /* @__PURE__ */ jsx171("div", { className: "flex-shrink-0 mt-0.5", children: /* @__PURE__ */ jsx171("div", { className: "h-8 w-8 rounded-full bg-primary/10 flex items-center justify-center", children: IconComponent && /* @__PURE__ */ jsx171(IconComponent, { className: "h-4 w-4 text-primary" }) }) }),
14650
+ /* @__PURE__ */ jsxs104("div", { className: "flex-1", children: [
14651
+ /* @__PURE__ */ jsx171("p", { className: "font-medium", children: scope.name }),
14652
+ /* @__PURE__ */ jsx171("p", { className: "text-sm text-muted-foreground", children: scope.description })
14571
14653
  ] })
14572
14654
  ]
14573
14655
  },
@@ -14579,14 +14661,14 @@ function OAuthScopeList({ scopes }) {
14579
14661
  __name(OAuthScopeList, "OAuthScopeList");
14580
14662
 
14581
14663
  // src/features/oauth/components/consent/OAuthConsentActions.tsx
14582
- import { jsx as jsx170, jsxs as jsxs103 } from "react/jsx-runtime";
14664
+ import { jsx as jsx172, jsxs as jsxs105 } from "react/jsx-runtime";
14583
14665
  function OAuthConsentActions({
14584
14666
  onApprove,
14585
14667
  onDeny,
14586
14668
  isLoading = false
14587
14669
  }) {
14588
- return /* @__PURE__ */ jsxs103("div", { className: "flex flex-col sm:flex-row gap-3", children: [
14589
- /* @__PURE__ */ jsx170(
14670
+ return /* @__PURE__ */ jsxs105("div", { className: "flex flex-col sm:flex-row gap-3", children: [
14671
+ /* @__PURE__ */ jsx172(
14590
14672
  Button,
14591
14673
  {
14592
14674
  variant: "outline",
@@ -14596,7 +14678,7 @@ function OAuthConsentActions({
14596
14678
  children: "Deny"
14597
14679
  }
14598
14680
  ),
14599
- /* @__PURE__ */ jsx170(
14681
+ /* @__PURE__ */ jsx172(
14600
14682
  Button,
14601
14683
  {
14602
14684
  onClick: onApprove,
@@ -14611,7 +14693,7 @@ __name(OAuthConsentActions, "OAuthConsentActions");
14611
14693
 
14612
14694
  // src/features/oauth/components/consent/OAuthConsentScreen.tsx
14613
14695
  import { ExternalLink as ExternalLink2, AlertTriangle as AlertTriangle2, Loader2 as Loader22 } from "lucide-react";
14614
- import { jsx as jsx171, jsxs as jsxs104 } from "react/jsx-runtime";
14696
+ import { jsx as jsx173, jsxs as jsxs106 } from "react/jsx-runtime";
14615
14697
  function OAuthConsentScreen({
14616
14698
  params,
14617
14699
  logoUrl,
@@ -14621,21 +14703,21 @@ function OAuthConsentScreen({
14621
14703
  }) {
14622
14704
  const { clientInfo, isLoading, error, approve, deny, isSubmitting } = useOAuthConsent(params);
14623
14705
  if (isLoading) {
14624
- return /* @__PURE__ */ jsx171("div", { className: "min-h-screen flex items-center justify-center p-4", children: /* @__PURE__ */ jsx171(Card, { className: "w-full max-w-md", children: /* @__PURE__ */ jsxs104(CardContent, { className: "flex flex-col items-center justify-center py-12", children: [
14625
- /* @__PURE__ */ jsx171(Loader22, { className: "h-8 w-8 animate-spin text-muted-foreground" }),
14626
- /* @__PURE__ */ jsx171("p", { className: "mt-4 text-muted-foreground", children: "Loading authorization request..." })
14706
+ return /* @__PURE__ */ jsx173("div", { className: "min-h-screen flex items-center justify-center p-4", children: /* @__PURE__ */ jsx173(Card, { className: "w-full max-w-md", children: /* @__PURE__ */ jsxs106(CardContent, { className: "flex flex-col items-center justify-center py-12", children: [
14707
+ /* @__PURE__ */ jsx173(Loader22, { className: "h-8 w-8 animate-spin text-muted-foreground" }),
14708
+ /* @__PURE__ */ jsx173("p", { className: "mt-4 text-muted-foreground", children: "Loading authorization request..." })
14627
14709
  ] }) }) });
14628
14710
  }
14629
14711
  if (error || !clientInfo) {
14630
- return /* @__PURE__ */ jsx171("div", { className: "min-h-screen flex items-center justify-center p-4", children: /* @__PURE__ */ jsx171(Card, { className: "w-full max-w-md", children: /* @__PURE__ */ jsx171(CardContent, { className: "py-8", children: /* @__PURE__ */ jsxs104(Alert, { variant: "destructive", children: [
14631
- /* @__PURE__ */ jsx171(AlertTriangle2, { className: "h-4 w-4" }),
14632
- /* @__PURE__ */ jsx171(AlertDescription, { children: error?.message || "Invalid authorization request. Please try again." })
14712
+ return /* @__PURE__ */ jsx173("div", { className: "min-h-screen flex items-center justify-center p-4", children: /* @__PURE__ */ jsx173(Card, { className: "w-full max-w-md", children: /* @__PURE__ */ jsx173(CardContent, { className: "py-8", children: /* @__PURE__ */ jsxs106(Alert, { variant: "destructive", children: [
14713
+ /* @__PURE__ */ jsx173(AlertTriangle2, { className: "h-4 w-4" }),
14714
+ /* @__PURE__ */ jsx173(AlertDescription, { children: error?.message || "Invalid authorization request. Please try again." })
14633
14715
  ] }) }) }) });
14634
14716
  }
14635
14717
  const { client, scopes } = clientInfo;
14636
- return /* @__PURE__ */ jsx171("div", { className: "min-h-screen flex items-center justify-center p-4 bg-muted/30", children: /* @__PURE__ */ jsxs104(Card, { className: "w-full max-w-md", children: [
14637
- /* @__PURE__ */ jsxs104(CardContent, { className: "pt-6 space-y-6", children: [
14638
- /* @__PURE__ */ jsx171(
14718
+ return /* @__PURE__ */ jsx173("div", { className: "min-h-screen flex items-center justify-center p-4 bg-muted/30", children: /* @__PURE__ */ jsxs106(Card, { className: "w-full max-w-md", children: [
14719
+ /* @__PURE__ */ jsxs106(CardContent, { className: "pt-6 space-y-6", children: [
14720
+ /* @__PURE__ */ jsx173(
14639
14721
  OAuthConsentHeader,
14640
14722
  {
14641
14723
  client,
@@ -14643,17 +14725,17 @@ function OAuthConsentScreen({
14643
14725
  appName
14644
14726
  }
14645
14727
  ),
14646
- /* @__PURE__ */ jsx171(Separator, {}),
14647
- /* @__PURE__ */ jsx171(OAuthScopeList, { scopes }),
14648
- /* @__PURE__ */ jsx171(Separator, {}),
14649
- /* @__PURE__ */ jsxs104("div", { className: "flex items-start gap-2 text-sm text-muted-foreground", children: [
14650
- /* @__PURE__ */ jsx171(ExternalLink2, { className: "h-4 w-4 mt-0.5 flex-shrink-0" }),
14651
- /* @__PURE__ */ jsxs104("div", { children: [
14652
- /* @__PURE__ */ jsx171("span", { children: "Authorizing will redirect you to:" }),
14653
- /* @__PURE__ */ jsx171("p", { className: "font-mono text-xs mt-1 break-all", children: params.redirectUri })
14728
+ /* @__PURE__ */ jsx173(Separator, {}),
14729
+ /* @__PURE__ */ jsx173(OAuthScopeList, { scopes }),
14730
+ /* @__PURE__ */ jsx173(Separator, {}),
14731
+ /* @__PURE__ */ jsxs106("div", { className: "flex items-start gap-2 text-sm text-muted-foreground", children: [
14732
+ /* @__PURE__ */ jsx173(ExternalLink2, { className: "h-4 w-4 mt-0.5 flex-shrink-0" }),
14733
+ /* @__PURE__ */ jsxs106("div", { children: [
14734
+ /* @__PURE__ */ jsx173("span", { children: "Authorizing will redirect you to:" }),
14735
+ /* @__PURE__ */ jsx173("p", { className: "font-mono text-xs mt-1 break-all", children: params.redirectUri })
14654
14736
  ] })
14655
14737
  ] }),
14656
- /* @__PURE__ */ jsx171(
14738
+ /* @__PURE__ */ jsx173(
14657
14739
  OAuthConsentActions,
14658
14740
  {
14659
14741
  onApprove: approve,
@@ -14662,14 +14744,14 @@ function OAuthConsentScreen({
14662
14744
  }
14663
14745
  )
14664
14746
  ] }),
14665
- /* @__PURE__ */ jsx171(CardFooter, { className: "justify-center", children: /* @__PURE__ */ jsxs104("p", { className: "text-xs text-center text-muted-foreground", children: [
14747
+ /* @__PURE__ */ jsx173(CardFooter, { className: "justify-center", children: /* @__PURE__ */ jsxs106("p", { className: "text-xs text-center text-muted-foreground", children: [
14666
14748
  "By authorizing, you agree to the app's",
14667
14749
  " ",
14668
- /* @__PURE__ */ jsx171("a", { href: termsUrl, className: "underline hover:text-foreground", target: "_blank", rel: "noopener", children: "Terms of Service" }),
14750
+ /* @__PURE__ */ jsx173("a", { href: termsUrl, className: "underline hover:text-foreground", target: "_blank", rel: "noopener", children: "Terms of Service" }),
14669
14751
  " ",
14670
14752
  "and",
14671
14753
  " ",
14672
- /* @__PURE__ */ jsx171("a", { href: privacyUrl, className: "underline hover:text-foreground", target: "_blank", rel: "noopener", children: "Privacy Policy" }),
14754
+ /* @__PURE__ */ jsx173("a", { href: privacyUrl, className: "underline hover:text-foreground", target: "_blank", rel: "noopener", children: "Privacy Policy" }),
14673
14755
  "."
14674
14756
  ] }) })
14675
14757
  ] }) });
@@ -15007,6 +15089,7 @@ export {
15007
15089
  FormSlider,
15008
15090
  FormSwitch,
15009
15091
  FormTextarea,
15092
+ GdprConsentCheckbox,
15010
15093
  FormFeatures,
15011
15094
  PageContainerContentDetails,
15012
15095
  PageContentContainer,
@@ -15017,6 +15100,7 @@ export {
15017
15100
  cellUrl,
15018
15101
  ContentTableSearch,
15019
15102
  ContentListTable,
15103
+ GdprConsentSection,
15020
15104
  AuthContainer,
15021
15105
  LandingComponent,
15022
15106
  AcceptInvitation,
@@ -15093,4 +15177,4 @@ export {
15093
15177
  useOAuthClients,
15094
15178
  useOAuthClient
15095
15179
  };
15096
- //# sourceMappingURL=chunk-XY6HEWHI.mjs.map
15180
+ //# sourceMappingURL=chunk-CQCHSJLC.mjs.map