@carlonicora/nextjs-jsonapi 1.74.0 → 1.75.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/{BlockNoteEditor-KJZ7FGBA.mjs → BlockNoteEditor-NJMTHPO4.mjs} +2 -2
  2. package/dist/{BlockNoteEditor-A37P3FA7.js → BlockNoteEditor-SLT4VOLL.js} +6 -6
  3. package/dist/{BlockNoteEditor-A37P3FA7.js.map → BlockNoteEditor-SLT4VOLL.js.map} +1 -1
  4. package/dist/billing/index.js +299 -299
  5. package/dist/billing/index.mjs +1 -1
  6. package/dist/{chunk-XUTMY6K5.js → chunk-DTE6RZXF.js} +606 -526
  7. package/dist/chunk-DTE6RZXF.js.map +1 -0
  8. package/dist/{chunk-ZNODEBMI.mjs → chunk-Q7JKB777.mjs} +2380 -2300
  9. package/dist/chunk-Q7JKB777.mjs.map +1 -0
  10. package/dist/client/index.js +2 -2
  11. package/dist/client/index.mjs +1 -1
  12. package/dist/components/index.d.mts +29 -3
  13. package/dist/components/index.d.ts +29 -3
  14. package/dist/components/index.js +4 -2
  15. package/dist/components/index.js.map +1 -1
  16. package/dist/components/index.mjs +3 -1
  17. package/dist/contexts/index.js +2 -2
  18. package/dist/contexts/index.mjs +1 -1
  19. package/dist/scripts/generate-web-module/templates/components/multi-selector.template.d.ts.map +1 -1
  20. package/dist/scripts/generate-web-module/templates/components/multi-selector.template.js +14 -120
  21. package/dist/scripts/generate-web-module/templates/components/multi-selector.template.js.map +1 -1
  22. package/package.json +1 -1
  23. package/scripts/generate-web-module/templates/components/multi-selector.template.ts +14 -120
  24. package/src/components/forms/EntityMultiSelector.tsx +325 -0
  25. package/src/components/forms/index.ts +1 -0
  26. package/src/features/how-to/components/forms/HowToMultiSelector.tsx +14 -120
  27. package/src/features/user/components/forms/UserMultiSelect.tsx +34 -181
  28. package/dist/chunk-XUTMY6K5.js.map +0 -1
  29. package/dist/chunk-ZNODEBMI.mjs.map +0 -1
  30. /package/dist/{BlockNoteEditor-KJZ7FGBA.mjs.map → BlockNoteEditor-NJMTHPO4.mjs.map} +0 -0
@@ -7765,6 +7765,430 @@ _chunk7QVYU63Ejs.__name.call(void 0, UserEditor, "UserEditor");
7765
7765
  // src/features/user/components/forms/UserMultiSelect.tsx
7766
7766
 
7767
7767
 
7768
+ // src/components/forms/EntityMultiSelector.tsx
7769
+
7770
+
7771
+
7772
+
7773
+ // src/components/forms/FormFieldWrapper.tsx
7774
+
7775
+
7776
+
7777
+
7778
+ function FormFieldWrapper({
7779
+ form,
7780
+ name,
7781
+ label,
7782
+ description,
7783
+ isRequired,
7784
+ orientation = "vertical",
7785
+ children,
7786
+ testId
7787
+ }) {
7788
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7789
+ _reacthookform.Controller,
7790
+ {
7791
+ control: form.control,
7792
+ name,
7793
+ render: ({ field, fieldState }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Field, { orientation, "data-invalid": !!fieldState.error, "data-testid": testId, children: [
7794
+ label && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, FieldLabel, { children: [
7795
+ label,
7796
+ isRequired && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-destructive ml-1 font-semibold", children: "*" })
7797
+ ] }),
7798
+ children(field, fieldState),
7799
+ description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FieldDescription, { children: description }),
7800
+ fieldState.error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FieldError, { children: fieldState.error.message })
7801
+ ] })
7802
+ }
7803
+ );
7804
+ }
7805
+ _chunk7QVYU63Ejs.__name.call(void 0, FormFieldWrapper, "FormFieldWrapper");
7806
+
7807
+ // src/components/forms/EntityMultiSelector.tsx
7808
+
7809
+ var defaultFormValueLabel = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (v) => _nullishCoalesce(v.name, () => ( v.id)), "defaultFormValueLabel");
7810
+ function EntityMultiSelector({
7811
+ id,
7812
+ form,
7813
+ label,
7814
+ placeholder = "Search...",
7815
+ emptyText = "No results found.",
7816
+ isRequired = false,
7817
+ retriever,
7818
+ retrieverParams = {},
7819
+ module,
7820
+ getLabel,
7821
+ toFormValue,
7822
+ getFormValueLabel,
7823
+ excludeId,
7824
+ onChange,
7825
+ renderOption
7826
+ }) {
7827
+ const [open, setOpen] = _react.useState.call(void 0, false);
7828
+ const [searchTerm, setSearchTerm] = _react.useState.call(void 0, "");
7829
+ const [options, setOptions] = _react.useState.call(void 0, []);
7830
+ const searchInputRef = _react.useRef.call(void 0, null);
7831
+ const getLabelRef = _react.useRef.call(void 0, getLabel);
7832
+ const toFormValueRef = _react.useRef.call(void 0, toFormValue);
7833
+ const getFormValueLabelRef = _react.useRef.call(void 0, getFormValueLabel);
7834
+ const onChangeRef = _react.useRef.call(void 0, onChange);
7835
+ _react.useEffect.call(void 0, () => {
7836
+ getLabelRef.current = getLabel;
7837
+ }, [getLabel]);
7838
+ _react.useEffect.call(void 0, () => {
7839
+ toFormValueRef.current = toFormValue;
7840
+ }, [toFormValue]);
7841
+ _react.useEffect.call(void 0, () => {
7842
+ getFormValueLabelRef.current = getFormValueLabel;
7843
+ }, [getFormValueLabel]);
7844
+ _react.useEffect.call(void 0, () => {
7845
+ onChangeRef.current = onChange;
7846
+ }, [onChange]);
7847
+ const stableGetFormValueLabel = _react.useCallback.call(void 0, (v) => {
7848
+ const fn = getFormValueLabelRef.current;
7849
+ return fn ? fn(v) : defaultFormValueLabel(v);
7850
+ }, []);
7851
+ const stableToFormValue = _react.useCallback.call(void 0, (entity) => {
7852
+ const fn = toFormValueRef.current;
7853
+ return fn ? fn(entity) : { id: entity.id, name: getLabelRef.current(entity) };
7854
+ }, []);
7855
+ const selectedValues = _reacthookform.useWatch.call(void 0, { control: form.control, name: id }) || [];
7856
+ const selectedIds = _react.useMemo.call(void 0, () => new Set(selectedValues.map((v) => v.id)), [selectedValues]);
7857
+ const data = useDataListRetriever({
7858
+ retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => retriever(params), "retriever"),
7859
+ retrieverParams,
7860
+ ready: true,
7861
+ module
7862
+ });
7863
+ const updateSearch = _react.useCallback.call(void 0,
7864
+ (searchedTerm) => {
7865
+ if (searchedTerm.trim()) {
7866
+ data.addAdditionalParameter("search", searchedTerm.trim());
7867
+ } else {
7868
+ data.removeAdditionalParameter("search");
7869
+ }
7870
+ },
7871
+ [data]
7872
+ );
7873
+ const debouncedUpdateSearch = useDebounce2(updateSearch, 500);
7874
+ _react.useEffect.call(void 0, () => {
7875
+ debouncedUpdateSearch(searchTerm);
7876
+ }, [debouncedUpdateSearch, searchTerm]);
7877
+ _react.useEffect.call(void 0, () => {
7878
+ if (data.data) {
7879
+ const entities = data.data;
7880
+ const filtered = excludeId ? entities.filter((e) => e.id !== excludeId) : entities;
7881
+ const entityOptions = filtered.map((entity) => ({
7882
+ id: entity.id,
7883
+ label: getLabelRef.current(entity),
7884
+ entityData: entity
7885
+ }));
7886
+ const existingIds = new Set(entityOptions.map((o) => o.id));
7887
+ const missingOptions = selectedValues.filter((v) => !existingIds.has(v.id)).map((v) => ({
7888
+ id: v.id,
7889
+ label: stableGetFormValueLabel(v),
7890
+ entityData: v
7891
+ }));
7892
+ setOptions([...entityOptions, ...missingOptions]);
7893
+ }
7894
+ }, [data.data, excludeId, selectedValues, stableGetFormValueLabel]);
7895
+ _react.useEffect.call(void 0, () => {
7896
+ if (open) {
7897
+ setSearchTerm("");
7898
+ requestAnimationFrame(() => {
7899
+ _optionalChain([searchInputRef, 'access', _210 => _210.current, 'optionalAccess', _211 => _211.focus, 'call', _212 => _212()]);
7900
+ });
7901
+ }
7902
+ }, [open]);
7903
+ const toggleEntity = _react.useCallback.call(void 0,
7904
+ (option) => {
7905
+ const current = _nullishCoalesce(form.getValues(id), () => ( []));
7906
+ let next;
7907
+ if (selectedIds.has(option.id)) {
7908
+ next = current.filter((v) => v.id !== option.id);
7909
+ } else {
7910
+ const formValue = option.entityData ? stableToFormValue(option.entityData) : { id: option.id, name: option.label };
7911
+ next = [...current, formValue];
7912
+ }
7913
+ form.setValue(id, next, { shouldDirty: true, shouldTouch: true });
7914
+ const cb = onChangeRef.current;
7915
+ if (cb) {
7916
+ const fullData = next.map((v) => _optionalChain([options, 'access', _213 => _213.find, 'call', _214 => _214((opt) => opt.id === v.id), 'optionalAccess', _215 => _215.entityData])).filter(Boolean);
7917
+ cb(fullData);
7918
+ }
7919
+ },
7920
+ [form, id, selectedIds, options, stableToFormValue]
7921
+ );
7922
+ const removeEntity = _react.useCallback.call(void 0,
7923
+ (entityId) => {
7924
+ const current = _nullishCoalesce(form.getValues(id), () => ( []));
7925
+ const next = current.filter((v) => v.id !== entityId);
7926
+ form.setValue(id, next, { shouldDirty: true, shouldTouch: true });
7927
+ const cb = onChangeRef.current;
7928
+ if (cb) {
7929
+ const fullData = next.map((v) => _optionalChain([options, 'access', _216 => _216.find, 'call', _217 => _217((opt) => opt.id === v.id), 'optionalAccess', _218 => _218.entityData])).filter(Boolean);
7930
+ cb(fullData);
7931
+ }
7932
+ },
7933
+ [form, id, options]
7934
+ );
7935
+ const sortedOptions = _react.useMemo.call(void 0, () => {
7936
+ const filtered = searchTerm.trim() ? options.filter((o) => o.label.toLowerCase().includes(searchTerm.trim().toLowerCase())) : options;
7937
+ return [...filtered].sort((a, b) => {
7938
+ const aSelected = selectedIds.has(a.id) ? 0 : 1;
7939
+ const bSelected = selectedIds.has(b.id) ? 0 : 1;
7940
+ return aSelected - bSelected;
7941
+ });
7942
+ }, [options, selectedIds, searchTerm]);
7943
+ const triggerSummary = _react.useMemo.call(void 0, () => {
7944
+ if (selectedValues.length === 0) return null;
7945
+ return selectedValues.map((v) => stableGetFormValueLabel(v)).join(", ");
7946
+ }, [selectedValues, stableGetFormValueLabel]);
7947
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-col", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FormFieldWrapper, { form, name: id, label, isRequired, children: () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
7948
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Popover, { open, onOpenChange: setOpen, modal: true, children: [
7949
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-input/20 dark:bg-input/30 border-input flex min-h-7 w-full items-center gap-2 rounded-md border px-2 text-sm md:text-xs/relaxed", children: [
7950
+ selectedValues.length > 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
7951
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-foreground min-w-0 flex-1 truncate text-left", children: triggerSummary }),
7952
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "bg-primary/10 text-primary shrink-0 rounded-full px-1.5 py-0.5 text-[0.625rem] font-medium", children: selectedValues.length })
7953
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground flex-1 text-left", children: placeholder }),
7954
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronDownIcon, { className: "text-muted-foreground size-3.5 shrink-0" })
7955
+ ] }) }),
7956
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverContent, { className: "w-(--anchor-width) flex flex-col gap-0 p-0", align: "start", children: [
7957
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative p-1.5", children: [
7958
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.SearchIcon, { className: "text-muted-foreground pointer-events-none absolute top-1/2 left-3.5 size-3.5 -translate-y-1/2" }),
7959
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7960
+ Input,
7961
+ {
7962
+ ref: searchInputRef,
7963
+ placeholder,
7964
+ type: "text",
7965
+ className: "h-8 w-full pr-7 pl-7 text-xs",
7966
+ value: searchTerm,
7967
+ onChange: (e) => setSearchTerm(e.target.value)
7968
+ }
7969
+ ),
7970
+ searchTerm && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7971
+ "button",
7972
+ {
7973
+ type: "button",
7974
+ className: "text-muted-foreground hover:text-foreground absolute top-1/2 right-3.5 -translate-y-1/2",
7975
+ onClick: () => setSearchTerm(""),
7976
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.XIcon, { className: "size-3.5" })
7977
+ }
7978
+ )
7979
+ ] }),
7980
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "max-h-52 overflow-y-auto p-1", children: sortedOptions.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground py-4 text-center text-xs", children: emptyText }) : sortedOptions.map((option) => {
7981
+ const isSelected = selectedIds.has(option.id);
7982
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7983
+ "button",
7984
+ {
7985
+ type: "button",
7986
+ className: "hover:bg-muted flex w-full items-center gap-2.5 rounded-md px-2.5 py-1.5 text-left text-xs/relaxed",
7987
+ onClick: () => toggleEntity(option),
7988
+ children: renderOption && option.entityData ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
7989
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7990
+ "div",
7991
+ {
7992
+ className: `border-primary flex size-4 shrink-0 items-center justify-center rounded-sm border transition-colors ${isSelected ? "bg-primary text-primary-foreground" : "opacity-50"}`,
7993
+ children: isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CheckIcon, { className: "size-3" })
7994
+ }
7995
+ ),
7996
+ renderOption(option.entityData, isSelected)
7997
+ ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
7998
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7999
+ "div",
8000
+ {
8001
+ className: `border-primary flex size-4 shrink-0 items-center justify-center rounded-sm border transition-colors ${isSelected ? "bg-primary text-primary-foreground" : "opacity-50"}`,
8002
+ children: isSelected && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CheckIcon, { className: "size-3" })
8003
+ }
8004
+ ),
8005
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: isSelected ? "text-foreground" : "text-muted-foreground", children: option.label })
8006
+ ] })
8007
+ },
8008
+ option.id
8009
+ );
8010
+ }) })
8011
+ ] })
8012
+ ] }),
8013
+ selectedValues.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-1.5", children: selectedValues.map((value) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
8014
+ Badge,
8015
+ {
8016
+ variant: "outline",
8017
+ className: "h-auto gap-1.5 rounded-md px-2.5 py-1 pr-1.5 text-xs",
8018
+ children: [
8019
+ stableGetFormValueLabel(value),
8020
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8021
+ "button",
8022
+ {
8023
+ type: "button",
8024
+ className: "text-muted-foreground hover:text-foreground rounded-sm p-0.5 transition-colors",
8025
+ onClick: () => removeEntity(value.id),
8026
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.XIcon, { className: "size-3" })
8027
+ }
8028
+ )
8029
+ ]
8030
+ },
8031
+ value.id
8032
+ )) })
8033
+ ] }) }) });
8034
+ }
8035
+ _chunk7QVYU63Ejs.__name.call(void 0, EntityMultiSelector, "EntityMultiSelector");
8036
+
8037
+ // src/features/user/components/forms/UserMultiSelect.tsx
8038
+
8039
+ function UserAvatarIcon({ className, url, name }) {
8040
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Avatar, { className: `${className || "h-4 w-4"}`, children: [
8041
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { src: url }),
8042
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: name ? name.split(" ").map((n) => n.charAt(0).toUpperCase()).join("") : "U" })
8043
+ ] });
8044
+ }
8045
+ _chunk7QVYU63Ejs.__name.call(void 0, UserAvatarIcon, "UserAvatarIcon");
8046
+ function UserMultiSelect({
8047
+ id,
8048
+ form,
8049
+ currentUser,
8050
+ label,
8051
+ placeholder,
8052
+ onChange,
8053
+ isRequired = false
8054
+ }) {
8055
+ const t = _nextintl.useTranslations.call(void 0, );
8056
+ const { company } = useCurrentUserContext();
8057
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8058
+ EntityMultiSelector,
8059
+ {
8060
+ id,
8061
+ form,
8062
+ label,
8063
+ placeholder: placeholder || t("ui.search.button"),
8064
+ emptyText: t("ui.search.no_results", { type: t("entities.users", { count: 2 }) }),
8065
+ isRequired,
8066
+ retriever: (params) => _chunkFKLP4NEDjs.UserService.findAllUsers(params),
8067
+ retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _219 => _219.id]) },
8068
+ module: _chunkFKLP4NEDjs.Modules.User,
8069
+ getLabel: (user) => user.name,
8070
+ toFormValue: (user) => ({ id: user.id, name: user.name, avatar: user.avatar }),
8071
+ excludeId: _optionalChain([currentUser, 'optionalAccess', _220 => _220.id]),
8072
+ onChange,
8073
+ renderOption: (user) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
8074
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserAvatarIcon, { url: user.avatar, name: user.name }),
8075
+ user.name
8076
+ ] })
8077
+ }
8078
+ );
8079
+ }
8080
+ _chunk7QVYU63Ejs.__name.call(void 0, UserMultiSelect, "UserMultiSelect");
8081
+
8082
+ // src/features/user/components/forms/UserReactivator.tsx
8083
+
8084
+
8085
+
8086
+
8087
+ function UserReactivatorInterface({ user, propagateChanges }) {
8088
+ const [open, setOpen] = _react.useState.call(void 0, false);
8089
+ const t = _nextintl.useTranslations.call(void 0, );
8090
+ const reactivateUser = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async () => {
8091
+ try {
8092
+ const updatedUser = await _chunkFKLP4NEDjs.UserService.reactivate({ userId: user.id });
8093
+ setOpen(false);
8094
+ propagateChanges(updatedUser);
8095
+ } catch (error) {
8096
+ errorToast({ title: t(`common.errors.error`), error });
8097
+ }
8098
+ }, "reactivateUser");
8099
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Dialog, { open, onOpenChange: setOpen, children: [
8100
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogTrigger, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Button, { size: "sm", children: [
8101
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.UserCheckIcon, { className: "mr-3 h-3.5 w-3.5" }),
8102
+ t(`user.buttons.reactivate`)
8103
+ ] }) }),
8104
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogContent, { className: `flex max-h-[70vh] max-w-3xl flex-col overflow-y-auto`, children: [
8105
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogHeader, { children: [
8106
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogTitle, { children: t(`user.reactivate.title`) }),
8107
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogDescription, { children: t(`user.reactivate.subtitle`) })
8108
+ ] }),
8109
+ t(`user.reactivate.description`, { name: user.name }),
8110
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex justify-end", children: [
8111
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Button, { className: "mr-2", variant: "outline", type: `button`, onClick: () => setOpen(false), children: t(`ui.buttons.cancel`) }),
8112
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8113
+ Button,
8114
+ {
8115
+ type: "submit",
8116
+ onClick: (e) => {
8117
+ e.preventDefault();
8118
+ reactivateUser();
8119
+ },
8120
+ children: t(`user.buttons.reactivate`)
8121
+ }
8122
+ )
8123
+ ] })
8124
+ ] })
8125
+ ] });
8126
+ }
8127
+ _chunk7QVYU63Ejs.__name.call(void 0, UserReactivatorInterface, "UserReactivatorInterface");
8128
+ function UserReactivator(props) {
8129
+ const { hasPermissionToModule } = useCurrentUserContext();
8130
+ if (!hasPermissionToModule({ module: _chunkFKLP4NEDjs.Modules.User, action: "update" /* Update */, data: props.user })) return null;
8131
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserReactivatorInterface, { ...props });
8132
+ }
8133
+ _chunk7QVYU63Ejs.__name.call(void 0, UserReactivator, "UserReactivator");
8134
+
8135
+ // src/features/user/components/forms/UserResentInvitationEmail.tsx
8136
+
8137
+
8138
+
8139
+
8140
+ function UserResentInvitationEmailInternal({ user }) {
8141
+ const [open, setOpen] = _react.useState.call(void 0, false);
8142
+ const t = _nextintl.useTranslations.call(void 0, );
8143
+ const sendInvitationEmail = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async () => {
8144
+ try {
8145
+ await _chunkFKLP4NEDjs.UserService.sendInvitation({ userId: user.id, companyId: user.company.id });
8146
+ setOpen(false);
8147
+ _chunkFKLP4NEDjs.showToast.call(void 0, t(`user.resend_activation.email_sent`), {
8148
+ description: t(`user.resend_activation.email_sent_description`, { email: user.email })
8149
+ });
8150
+ } catch (error) {
8151
+ errorToast({ title: t(`common.errors.error`), error });
8152
+ }
8153
+ }, "sendInvitationEmail");
8154
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Dialog, { open, onOpenChange: setOpen, children: [
8155
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip2, { children: [
8156
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipTrigger, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogTrigger, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Button, { size: "sm", variant: `ghost`, className: "text-muted-foreground", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.MailIcon, {}) }) }) }),
8157
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: t(`user.buttons.resend_activation`) })
8158
+ ] }),
8159
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogContent, { className: `flex max-h-[70vh] max-w-3xl flex-col overflow-y-auto`, children: [
8160
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogHeader, { children: [
8161
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogTitle, { children: t(`user.resend_activation.title`) }),
8162
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogDescription, { children: t(`user.resend_activation.subtitle`) })
8163
+ ] }),
8164
+ t(`user.resend_activation.description`, { email: user.email }),
8165
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex justify-end", children: [
8166
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Button, { className: "mr-2", variant: "outline", type: `button`, onClick: () => setOpen(false), children: t(`ui.buttons.cancel`) }),
8167
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8168
+ Button,
8169
+ {
8170
+ type: "submit",
8171
+ onClick: (e) => {
8172
+ e.preventDefault();
8173
+ sendInvitationEmail();
8174
+ },
8175
+ children: t(`user.buttons.resend_activation`)
8176
+ }
8177
+ )
8178
+ ] })
8179
+ ] })
8180
+ ] });
8181
+ }
8182
+ _chunk7QVYU63Ejs.__name.call(void 0, UserResentInvitationEmailInternal, "UserResentInvitationEmailInternal");
8183
+ function UserResentInvitationEmail(props) {
8184
+ const { hasPermissionToModule } = useCurrentUserContext();
8185
+ if (!hasPermissionToModule({ module: _chunkFKLP4NEDjs.Modules.User, action: "update" /* Update */, data: props.user })) return null;
8186
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserResentInvitationEmailInternal, { ...props });
8187
+ }
8188
+ _chunk7QVYU63Ejs.__name.call(void 0, UserResentInvitationEmail, "UserResentInvitationEmail");
8189
+
8190
+ // src/features/user/components/forms/UserSelector.tsx
8191
+
7768
8192
 
7769
8193
 
7770
8194
 
@@ -7910,7 +8334,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, ErrorDetails, "ErrorDetails");
7910
8334
 
7911
8335
  // src/components/errors/errorToast.ts
7912
8336
  function errorToast(params) {
7913
- _chunkFKLP4NEDjs.showError.call(void 0, _nullishCoalesce(_optionalChain([params, 'optionalAccess', _210 => _210.title]), () => ( "Error")), {
8337
+ _chunkFKLP4NEDjs.showError.call(void 0, _nullishCoalesce(_optionalChain([params, 'optionalAccess', _221 => _221.title]), () => ( "Error")), {
7914
8338
  description: params.error instanceof Error ? params.error.message : String(params.error)
7915
8339
  });
7916
8340
  }
@@ -8073,21 +8497,21 @@ function useEditorDialog(isFormDirty, options) {
8073
8497
  const [open, setOpen] = _react.useState.call(void 0, false);
8074
8498
  const [showDiscardConfirm, setShowDiscardConfirm] = _react.useState.call(void 0, false);
8075
8499
  _react.useEffect.call(void 0, () => {
8076
- if (_optionalChain([options, 'optionalAccess', _211 => _211.dialogOpen]) !== void 0) {
8500
+ if (_optionalChain([options, 'optionalAccess', _222 => _222.dialogOpen]) !== void 0) {
8077
8501
  setOpen(options.dialogOpen);
8078
8502
  }
8079
- }, [_optionalChain([options, 'optionalAccess', _212 => _212.dialogOpen])]);
8503
+ }, [_optionalChain([options, 'optionalAccess', _223 => _223.dialogOpen])]);
8080
8504
  _react.useEffect.call(void 0, () => {
8081
- if (typeof _optionalChain([options, 'optionalAccess', _213 => _213.onDialogOpenChange]) === "function") {
8505
+ if (typeof _optionalChain([options, 'optionalAccess', _224 => _224.onDialogOpenChange]) === "function") {
8082
8506
  options.onDialogOpenChange(open);
8083
8507
  }
8084
- }, [open, _optionalChain([options, 'optionalAccess', _214 => _214.onDialogOpenChange])]);
8508
+ }, [open, _optionalChain([options, 'optionalAccess', _225 => _225.onDialogOpenChange])]);
8085
8509
  _react.useEffect.call(void 0, () => {
8086
- if (_optionalChain([options, 'optionalAccess', _215 => _215.forceShow])) setOpen(true);
8087
- }, [_optionalChain([options, 'optionalAccess', _216 => _216.forceShow])]);
8510
+ if (_optionalChain([options, 'optionalAccess', _226 => _226.forceShow])) setOpen(true);
8511
+ }, [_optionalChain([options, 'optionalAccess', _227 => _227.forceShow])]);
8088
8512
  _react.useEffect.call(void 0, () => {
8089
8513
  if (!open) {
8090
- if (_optionalChain([options, 'optionalAccess', _217 => _217.onClose])) options.onClose();
8514
+ if (_optionalChain([options, 'optionalAccess', _228 => _228.onClose])) options.onClose();
8091
8515
  }
8092
8516
  }, [open]);
8093
8517
  const handleOpenChange = _react.useCallback.call(void 0,
@@ -8174,7 +8598,7 @@ function EditorSheet({
8174
8598
  _react.useEffect.call(void 0, () => {
8175
8599
  if (!open) {
8176
8600
  form.reset(onReset());
8177
- _optionalChain([onClose, 'optionalCall', _218 => _218()]);
8601
+ _optionalChain([onClose, 'optionalCall', _229 => _229()]);
8178
8602
  }
8179
8603
  }, [open]);
8180
8604
  const wrappedOnSubmit = _react.useCallback.call(void 0,
@@ -8185,11 +8609,11 @@ function EditorSheet({
8185
8609
  if (onSuccess) {
8186
8610
  await onSuccess();
8187
8611
  } else if (result) {
8188
- _optionalChain([onRevalidate, 'optionalCall', _219 => _219(generateUrl({ page: module, id: result.id, language: "[locale]" }))]);
8612
+ _optionalChain([onRevalidate, 'optionalCall', _230 => _230(generateUrl({ page: module, id: result.id, language: "[locale]" }))]);
8189
8613
  if (isEdit && propagateChanges) {
8190
8614
  propagateChanges(result);
8191
8615
  } else {
8192
- _optionalChain([onNavigate, 'optionalCall', _220 => _220(generateUrl({ page: module, id: result.id }))]);
8616
+ _optionalChain([onNavigate, 'optionalCall', _231 => _231(generateUrl({ page: module, id: result.id }))]);
8193
8617
  }
8194
8618
  }
8195
8619
  } catch (error) {
@@ -8406,7 +8830,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
8406
8830
  const [open, setOpen] = _react.useState.call(void 0, false);
8407
8831
  const [prevRange, setPrevRange] = _react.useState.call(void 0, date);
8408
8832
  _react.useEffect.call(void 0, () => {
8409
- if (_optionalChain([date, 'optionalAccess', _221 => _221.from]) && _optionalChain([date, 'optionalAccess', _222 => _222.to]) && date.to > date.from && (_optionalChain([prevRange, 'optionalAccess', _223 => _223.from, 'optionalAccess', _224 => _224.getTime, 'call', _225 => _225()]) !== date.from.getTime() || _optionalChain([prevRange, 'optionalAccess', _226 => _226.to, 'optionalAccess', _227 => _227.getTime, 'call', _228 => _228()]) !== date.to.getTime())) {
8833
+ if (_optionalChain([date, 'optionalAccess', _232 => _232.from]) && _optionalChain([date, 'optionalAccess', _233 => _233.to]) && date.to > date.from && (_optionalChain([prevRange, 'optionalAccess', _234 => _234.from, 'optionalAccess', _235 => _235.getTime, 'call', _236 => _236()]) !== date.from.getTime() || _optionalChain([prevRange, 'optionalAccess', _237 => _237.to, 'optionalAccess', _238 => _238.getTime, 'call', _239 => _239()]) !== date.to.getTime())) {
8410
8834
  onDateChange(date);
8411
8835
  setPrevRange(date);
8412
8836
  setOpen(false);
@@ -8417,7 +8841,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
8417
8841
  setDate(void 0);
8418
8842
  return;
8419
8843
  }
8420
- if (range.from && (!_optionalChain([date, 'optionalAccess', _229 => _229.from]) || range.from.getTime() !== date.from.getTime())) {
8844
+ if (range.from && (!_optionalChain([date, 'optionalAccess', _240 => _240.from]) || range.from.getTime() !== date.from.getTime())) {
8421
8845
  setDate({ from: range.from, to: void 0 });
8422
8846
  } else {
8423
8847
  setDate(range);
@@ -8432,7 +8856,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
8432
8856
  className: _chunkFKLP4NEDjs.cn.call(void 0, "w-[300px] justify-start text-left font-normal", !date && "text-muted-foreground"),
8433
8857
  children: [
8434
8858
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CalendarIcon, {}),
8435
- _optionalChain([date, 'optionalAccess', _230 => _230.from]) ? date.to ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
8859
+ _optionalChain([date, 'optionalAccess', _241 => _241.from]) ? date.to ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
8436
8860
  _datefns.format.call(void 0, date.from, "LLL dd, y"),
8437
8861
  " - ",
8438
8862
  _datefns.format.call(void 0, date.to, "LLL dd, y")
@@ -8445,7 +8869,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
8445
8869
  Calendar,
8446
8870
  {
8447
8871
  mode: "range",
8448
- defaultMonth: _nullishCoalesce(_optionalChain([date, 'optionalAccess', _231 => _231.from]), () => ( (showPreviousMonth ? new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth() - 1, 1) : void 0))),
8872
+ defaultMonth: _nullishCoalesce(_optionalChain([date, 'optionalAccess', _242 => _242.from]), () => ( (showPreviousMonth ? new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth() - 1, 1) : void 0))),
8449
8873
  selected: date,
8450
8874
  onSelect: handleSelect,
8451
8875
  numberOfMonths: 2
@@ -8532,7 +8956,7 @@ var FileUploader = _react.forwardRef.call(void 0,
8532
8956
  movePrev();
8533
8957
  } else if (e.key === "Enter" || e.key === "Space") {
8534
8958
  if (activeIndex === -1) {
8535
- _optionalChain([dropzoneState, 'access', _232 => _232.inputRef, 'access', _233 => _233.current, 'optionalAccess', _234 => _234.click, 'call', _235 => _235()]);
8959
+ _optionalChain([dropzoneState, 'access', _243 => _243.inputRef, 'access', _244 => _244.current, 'optionalAccess', _245 => _245.click, 'call', _246 => _246()]);
8536
8960
  }
8537
8961
  } else if (e.key === "Delete" || e.key === "Backspace") {
8538
8962
  if (activeIndex !== -1) {
@@ -8570,13 +8994,13 @@ var FileUploader = _react.forwardRef.call(void 0,
8570
8994
  onValueChange(newValues);
8571
8995
  if (rejectedFiles.length > 0) {
8572
8996
  for (let i = 0; i < rejectedFiles.length; i++) {
8573
- if (_optionalChain([rejectedFiles, 'access', _236 => _236[i], 'access', _237 => _237.errors, 'access', _238 => _238[0], 'optionalAccess', _239 => _239.code]) === "file-too-large") {
8997
+ if (_optionalChain([rejectedFiles, 'access', _247 => _247[i], 'access', _248 => _248.errors, 'access', _249 => _249[0], 'optionalAccess', _250 => _250.code]) === "file-too-large") {
8574
8998
  _chunkFKLP4NEDjs.showError.call(void 0, t("common.errors.file"), {
8575
8999
  description: t(`common.errors.file_max`, { size: maxSize / 1024 / 1024 })
8576
9000
  });
8577
9001
  break;
8578
9002
  }
8579
- if (_optionalChain([rejectedFiles, 'access', _240 => _240[i], 'access', _241 => _241.errors, 'access', _242 => _242[0], 'optionalAccess', _243 => _243.message])) {
9003
+ if (_optionalChain([rejectedFiles, 'access', _251 => _251[i], 'access', _252 => _252.errors, 'access', _253 => _253[0], 'optionalAccess', _254 => _254.message])) {
8580
9004
  _chunkFKLP4NEDjs.showError.call(void 0, t(`common.errors.file`), {
8581
9005
  description: rejectedFiles[i].errors[0].message
8582
9006
  });
@@ -8712,71 +9136,37 @@ var FileInput = _react.forwardRef.call(void 0,
8712
9136
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8713
9137
  "div",
8714
9138
  {
8715
- className: _chunkFKLP4NEDjs.cn.call(void 0,
8716
- "w-full rounded-lg duration-300 ease-in-out",
8717
- // Simpler border logic: if parent is drag-active, it controls the border.
8718
- // Otherwise, FileInput can show its own accept/reject/default border.
8719
- {
8720
- "border-green-500": dropzoneState.isDragAccept && !parentIsDragActive,
8721
- "border-red-500": (dropzoneState.isDragReject || isFileTooBig) && !parentIsDragActive,
8722
- "border-gray-300": !dropzoneState.isDragAccept && !dropzoneState.isDragReject && !isFileTooBig && !parentIsDragActive
8723
- },
8724
- // className from props should be last to allow overrides if necessary
8725
- className
8726
- ),
8727
- ...rootProps,
8728
- children
8729
- }
8730
- ),
8731
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8732
- Input,
8733
- {
8734
- ref: dropzoneState.inputRef,
8735
- disabled: isLOF,
8736
- ...dropzoneState.getInputProps(),
8737
- className: `${isLOF ? "cursor-not-allowed" : ""}`
8738
- }
8739
- )
8740
- ]
8741
- }
8742
- );
8743
- }
8744
- );
8745
- FileInput.displayName = "FileInput";
8746
-
8747
- // src/components/forms/FormFieldWrapper.tsx
8748
-
8749
-
8750
-
8751
-
8752
- function FormFieldWrapper({
8753
- form,
8754
- name,
8755
- label,
8756
- description,
8757
- isRequired,
8758
- orientation = "vertical",
8759
- children,
8760
- testId
8761
- }) {
8762
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8763
- _reacthookform.Controller,
8764
- {
8765
- control: form.control,
8766
- name,
8767
- render: ({ field, fieldState }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Field, { orientation, "data-invalid": !!fieldState.error, "data-testid": testId, children: [
8768
- label && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, FieldLabel, { children: [
8769
- label,
8770
- isRequired && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-destructive ml-1 font-semibold", children: "*" })
8771
- ] }),
8772
- children(field, fieldState),
8773
- description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FieldDescription, { children: description }),
8774
- fieldState.error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FieldError, { children: fieldState.error.message })
8775
- ] })
8776
- }
8777
- );
8778
- }
8779
- _chunk7QVYU63Ejs.__name.call(void 0, FormFieldWrapper, "FormFieldWrapper");
9139
+ className: _chunkFKLP4NEDjs.cn.call(void 0,
9140
+ "w-full rounded-lg duration-300 ease-in-out",
9141
+ // Simpler border logic: if parent is drag-active, it controls the border.
9142
+ // Otherwise, FileInput can show its own accept/reject/default border.
9143
+ {
9144
+ "border-green-500": dropzoneState.isDragAccept && !parentIsDragActive,
9145
+ "border-red-500": (dropzoneState.isDragReject || isFileTooBig) && !parentIsDragActive,
9146
+ "border-gray-300": !dropzoneState.isDragAccept && !dropzoneState.isDragReject && !isFileTooBig && !parentIsDragActive
9147
+ },
9148
+ // className from props should be last to allow overrides if necessary
9149
+ className
9150
+ ),
9151
+ ...rootProps,
9152
+ children
9153
+ }
9154
+ ),
9155
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9156
+ Input,
9157
+ {
9158
+ ref: dropzoneState.inputRef,
9159
+ disabled: isLOF,
9160
+ ...dropzoneState.getInputProps(),
9161
+ className: `${isLOF ? "cursor-not-allowed" : ""}`
9162
+ }
9163
+ )
9164
+ ]
9165
+ }
9166
+ );
9167
+ }
9168
+ );
9169
+ FileInput.displayName = "FileInput";
8780
9170
 
8781
9171
  // src/components/forms/FormCheckbox.tsx
8782
9172
 
@@ -8806,7 +9196,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, FormCheckbox, "FormCheckbox");
8806
9196
  var _dynamic = require('next/dynamic'); var _dynamic2 = _interopRequireDefault(_dynamic);
8807
9197
 
8808
9198
 
8809
- var BlockNoteEditor = _dynamic2.default.call(void 0, () => Promise.resolve().then(() => _interopRequireWildcard(require("./BlockNoteEditor-A37P3FA7.js"))), {
9199
+ var BlockNoteEditor = _dynamic2.default.call(void 0, () => Promise.resolve().then(() => _interopRequireWildcard(require("./BlockNoteEditor-SLT4VOLL.js"))), {
8810
9200
  ssr: false
8811
9201
  });
8812
9202
  var BlockNoteEditorContainer = React.default.memo(/* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, function EditorContainer(props) {
@@ -8845,7 +9235,7 @@ function FormBlockNote({
8845
9235
  initialContent: field.value,
8846
9236
  onChange: (content, isEmpty) => {
8847
9237
  field.onChange(content);
8848
- _optionalChain([onEmptyChange, 'optionalCall', _244 => _244(isEmpty)]);
9238
+ _optionalChain([onEmptyChange, 'optionalCall', _255 => _255(isEmpty)]);
8849
9239
  },
8850
9240
  placeholder,
8851
9241
  bordered: true,
@@ -9359,11 +9749,11 @@ function FormPlaceAutocomplete({
9359
9749
  const data = await response.json();
9360
9750
  if (data.suggestions) {
9361
9751
  const formattedSuggestions = data.suggestions.map((suggestion) => ({
9362
- place_id: _optionalChain([suggestion, 'access', _245 => _245.placePrediction, 'optionalAccess', _246 => _246.placeId]) || "",
9363
- description: _optionalChain([suggestion, 'access', _247 => _247.placePrediction, 'optionalAccess', _248 => _248.text, 'optionalAccess', _249 => _249.text]) || "",
9752
+ place_id: _optionalChain([suggestion, 'access', _256 => _256.placePrediction, 'optionalAccess', _257 => _257.placeId]) || "",
9753
+ description: _optionalChain([suggestion, 'access', _258 => _258.placePrediction, 'optionalAccess', _259 => _259.text, 'optionalAccess', _260 => _260.text]) || "",
9364
9754
  structured_formatting: {
9365
- main_text: _optionalChain([suggestion, 'access', _250 => _250.placePrediction, 'optionalAccess', _251 => _251.structuredFormat, 'optionalAccess', _252 => _252.mainText, 'optionalAccess', _253 => _253.text]) || "",
9366
- secondary_text: _optionalChain([suggestion, 'access', _254 => _254.placePrediction, 'optionalAccess', _255 => _255.structuredFormat, 'optionalAccess', _256 => _256.secondaryText, 'optionalAccess', _257 => _257.text]) || ""
9755
+ main_text: _optionalChain([suggestion, 'access', _261 => _261.placePrediction, 'optionalAccess', _262 => _262.structuredFormat, 'optionalAccess', _263 => _263.mainText, 'optionalAccess', _264 => _264.text]) || "",
9756
+ secondary_text: _optionalChain([suggestion, 'access', _265 => _265.placePrediction, 'optionalAccess', _266 => _266.structuredFormat, 'optionalAccess', _267 => _267.secondaryText, 'optionalAccess', _268 => _268.text]) || ""
9367
9757
  }
9368
9758
  }));
9369
9759
  setSuggestions(formattedSuggestions);
@@ -9510,8 +9900,8 @@ function FormPlaceAutocomplete({
9510
9900
  className: "hover:bg-muted cursor-pointer px-3 py-2 text-sm",
9511
9901
  onClick: () => handleSuggestionSelect(suggestion),
9512
9902
  children: [
9513
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "font-medium", children: _optionalChain([suggestion, 'access', _258 => _258.structured_formatting, 'optionalAccess', _259 => _259.main_text]) }),
9514
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground", children: _optionalChain([suggestion, 'access', _260 => _260.structured_formatting, 'optionalAccess', _261 => _261.secondary_text]) })
9903
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "font-medium", children: _optionalChain([suggestion, 'access', _269 => _269.structured_formatting, 'optionalAccess', _270 => _270.main_text]) }),
9904
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground", children: _optionalChain([suggestion, 'access', _271 => _271.structured_formatting, 'optionalAccess', _272 => _272.secondary_text]) })
9515
9905
  ]
9516
9906
  },
9517
9907
  suggestion.place_id || index
@@ -9557,7 +9947,7 @@ function FormSelect({
9557
9947
  disabled,
9558
9948
  "data-testid": testId,
9559
9949
  children: [
9560
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectValue, { children: field.value ? _optionalChain([values, 'access', _262 => _262.find, 'call', _263 => _263((v) => v.id === field.value), 'optionalAccess', _264 => _264.text]) : _nullishCoalesce(placeholder, () => ( "")) }) }),
9950
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectValue, { children: field.value ? _optionalChain([values, 'access', _273 => _273.find, 'call', _274 => _274((v) => v.id === field.value), 'optionalAccess', _275 => _275.text]) : _nullishCoalesce(placeholder, () => ( "")) }) }),
9561
9951
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SelectContent, { children: [
9562
9952
  allowEmpty && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: EMPTY_VALUE, className: "text-muted-foreground", children: _nullishCoalesce(placeholder, () => ( "")) }),
9563
9953
  values.map((type) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: type.id, children: type.text }, type.id))
@@ -9713,251 +10103,6 @@ function FormFeatures({ form, name, features, featureField = "featureIds" }) {
9713
10103
  }
9714
10104
  _chunk7QVYU63Ejs.__name.call(void 0, FormFeatures, "FormFeatures");
9715
10105
 
9716
- // src/features/user/components/forms/UserMultiSelect.tsx
9717
-
9718
- function UserAvatarIcon({ className, url, name }) {
9719
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Avatar, { className: `${className || "h-4 w-4"}`, children: [
9720
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { src: url }),
9721
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: name ? name.split(" ").map((n) => n.charAt(0).toUpperCase()).join("") : "U" })
9722
- ] });
9723
- }
9724
- _chunk7QVYU63Ejs.__name.call(void 0, UserAvatarIcon, "UserAvatarIcon");
9725
- function UserMultiSelect({
9726
- id,
9727
- form,
9728
- currentUser,
9729
- label,
9730
- placeholder,
9731
- onChange,
9732
- maxCount = 3,
9733
- isRequired = false
9734
- }) {
9735
- const t = _nextintl.useTranslations.call(void 0, );
9736
- const { company } = useCurrentUserContext();
9737
- const searchTermRef = _react.useRef.call(void 0, "");
9738
- const [searchTerm, _setSearchTerm] = _react.useState.call(void 0, "");
9739
- const [isSearching, setIsSearching] = _react.useState.call(void 0, false);
9740
- const [userOptions, setUserOptions] = _react.useState.call(void 0, []);
9741
- const selectedUsers = _reacthookform.useWatch.call(void 0, { control: form.control, name: id }) || [];
9742
- const data = useDataListRetriever({
9743
- ready: !!company,
9744
- retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => {
9745
- return _chunkFKLP4NEDjs.UserService.findAllUsers(params);
9746
- }, "retriever"),
9747
- retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _265 => _265.id]) },
9748
- module: _chunkFKLP4NEDjs.Modules.User
9749
- });
9750
- _react.useEffect.call(void 0, () => {
9751
- if (company) data.setReady(true);
9752
- }, [company]);
9753
- const search = _react.useCallback.call(void 0,
9754
- async (searchedTerm) => {
9755
- try {
9756
- if (searchedTerm === searchTermRef.current) return;
9757
- setIsSearching(true);
9758
- searchTermRef.current = searchedTerm;
9759
- await data.search(searchedTerm);
9760
- } finally {
9761
- setIsSearching(false);
9762
- }
9763
- },
9764
- [searchTermRef, data]
9765
- );
9766
- const updateSearchTerm = useDebounce2(search, 500);
9767
- _react.useEffect.call(void 0, () => {
9768
- setIsSearching(true);
9769
- updateSearchTerm(searchTerm);
9770
- }, [updateSearchTerm, searchTerm]);
9771
- _react.useEffect.call(void 0, () => {
9772
- if (data.data && data.data.length > 0) {
9773
- const users = data.data;
9774
- const filteredUsers = users.filter((user) => user.id !== _optionalChain([currentUser, 'optionalAccess', _266 => _266.id]));
9775
- const options = filteredUsers.map((user) => ({
9776
- label: user.name,
9777
- value: user.id,
9778
- userData: user,
9779
- avatar: user.avatar
9780
- }));
9781
- const existingOptionIds = new Set(options.map((option) => option.value));
9782
- const missingOptions = selectedUsers.filter((user) => !existingOptionIds.has(user.id)).map((user) => ({
9783
- label: user.name,
9784
- value: user.id,
9785
- userData: user,
9786
- avatar: user.avatar
9787
- }));
9788
- setUserOptions([...options, ...missingOptions]);
9789
- }
9790
- }, [data.data, currentUser, selectedUsers]);
9791
- const selectedOptions = _react.useMemo.call(void 0, () => {
9792
- return selectedUsers.map((user) => ({
9793
- value: user.id,
9794
- label: user.name
9795
- }));
9796
- }, [selectedUsers]);
9797
- const handleChange = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (options) => {
9798
- const formValues = options.map((option) => {
9799
- const userOption = userOptions.find((opt) => opt.value === option.value);
9800
- return {
9801
- id: option.value,
9802
- name: option.label,
9803
- avatar: _optionalChain([userOption, 'optionalAccess', _267 => _267.avatar])
9804
- };
9805
- });
9806
- form.setValue(id, formValues, { shouldDirty: true, shouldTouch: true });
9807
- if (onChange) {
9808
- const fullUsers = options.map((option) => {
9809
- const userOption = userOptions.find((opt) => opt.value === option.value);
9810
- return _optionalChain([userOption, 'optionalAccess', _268 => _268.userData]);
9811
- }).filter(Boolean);
9812
- onChange(fullUsers);
9813
- }
9814
- }, "handleChange");
9815
- const renderOption = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (option) => {
9816
- const userOption = option;
9817
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2", children: [
9818
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserAvatarIcon, { url: userOption.avatar, name: option.label }),
9819
- option.label
9820
- ] });
9821
- }, "renderOption");
9822
- const handleSearchSync = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (search2) => {
9823
- _setSearchTerm(search2);
9824
- return userOptions;
9825
- }, "handleSearchSync");
9826
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-col", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FormFieldWrapper, { form, name: id, label, isRequired, children: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9827
- MultipleSelector,
9828
- {
9829
- value: selectedOptions,
9830
- onChange: handleChange,
9831
- options: userOptions,
9832
- placeholder,
9833
- maxDisplayCount: maxCount,
9834
- hideClearAllButton: true,
9835
- onSearchSync: handleSearchSync,
9836
- delay: 0,
9837
- renderOption,
9838
- loadingIndicator: isSearching ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-center py-2", children: [
9839
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-4 w-4 animate-spin text-muted-foreground" }),
9840
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "ml-2 text-sm text-muted-foreground", children: t("ui.search.button") })
9841
- ] }) : void 0,
9842
- emptyIndicator: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground", children: t("ui.search.no_results", { type: t("entities.users", { count: 2 }) }) })
9843
- }
9844
- ) }) });
9845
- }
9846
- _chunk7QVYU63Ejs.__name.call(void 0, UserMultiSelect, "UserMultiSelect");
9847
-
9848
- // src/features/user/components/forms/UserReactivator.tsx
9849
-
9850
-
9851
-
9852
-
9853
- function UserReactivatorInterface({ user, propagateChanges }) {
9854
- const [open, setOpen] = _react.useState.call(void 0, false);
9855
- const t = _nextintl.useTranslations.call(void 0, );
9856
- const reactivateUser = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async () => {
9857
- try {
9858
- const updatedUser = await _chunkFKLP4NEDjs.UserService.reactivate({ userId: user.id });
9859
- setOpen(false);
9860
- propagateChanges(updatedUser);
9861
- } catch (error) {
9862
- errorToast({ title: t(`common.errors.error`), error });
9863
- }
9864
- }, "reactivateUser");
9865
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Dialog, { open, onOpenChange: setOpen, children: [
9866
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogTrigger, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Button, { size: "sm", children: [
9867
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.UserCheckIcon, { className: "mr-3 h-3.5 w-3.5" }),
9868
- t(`user.buttons.reactivate`)
9869
- ] }) }),
9870
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogContent, { className: `flex max-h-[70vh] max-w-3xl flex-col overflow-y-auto`, children: [
9871
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogHeader, { children: [
9872
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogTitle, { children: t(`user.reactivate.title`) }),
9873
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogDescription, { children: t(`user.reactivate.subtitle`) })
9874
- ] }),
9875
- t(`user.reactivate.description`, { name: user.name }),
9876
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex justify-end", children: [
9877
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Button, { className: "mr-2", variant: "outline", type: `button`, onClick: () => setOpen(false), children: t(`ui.buttons.cancel`) }),
9878
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9879
- Button,
9880
- {
9881
- type: "submit",
9882
- onClick: (e) => {
9883
- e.preventDefault();
9884
- reactivateUser();
9885
- },
9886
- children: t(`user.buttons.reactivate`)
9887
- }
9888
- )
9889
- ] })
9890
- ] })
9891
- ] });
9892
- }
9893
- _chunk7QVYU63Ejs.__name.call(void 0, UserReactivatorInterface, "UserReactivatorInterface");
9894
- function UserReactivator(props) {
9895
- const { hasPermissionToModule } = useCurrentUserContext();
9896
- if (!hasPermissionToModule({ module: _chunkFKLP4NEDjs.Modules.User, action: "update" /* Update */, data: props.user })) return null;
9897
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserReactivatorInterface, { ...props });
9898
- }
9899
- _chunk7QVYU63Ejs.__name.call(void 0, UserReactivator, "UserReactivator");
9900
-
9901
- // src/features/user/components/forms/UserResentInvitationEmail.tsx
9902
-
9903
-
9904
-
9905
-
9906
- function UserResentInvitationEmailInternal({ user }) {
9907
- const [open, setOpen] = _react.useState.call(void 0, false);
9908
- const t = _nextintl.useTranslations.call(void 0, );
9909
- const sendInvitationEmail = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async () => {
9910
- try {
9911
- await _chunkFKLP4NEDjs.UserService.sendInvitation({ userId: user.id, companyId: user.company.id });
9912
- setOpen(false);
9913
- _chunkFKLP4NEDjs.showToast.call(void 0, t(`user.resend_activation.email_sent`), {
9914
- description: t(`user.resend_activation.email_sent_description`, { email: user.email })
9915
- });
9916
- } catch (error) {
9917
- errorToast({ title: t(`common.errors.error`), error });
9918
- }
9919
- }, "sendInvitationEmail");
9920
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Dialog, { open, onOpenChange: setOpen, children: [
9921
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip2, { children: [
9922
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipTrigger, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogTrigger, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Button, { size: "sm", variant: `ghost`, className: "text-muted-foreground", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.MailIcon, {}) }) }) }),
9923
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: t(`user.buttons.resend_activation`) })
9924
- ] }),
9925
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogContent, { className: `flex max-h-[70vh] max-w-3xl flex-col overflow-y-auto`, children: [
9926
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogHeader, { children: [
9927
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogTitle, { children: t(`user.resend_activation.title`) }),
9928
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogDescription, { children: t(`user.resend_activation.subtitle`) })
9929
- ] }),
9930
- t(`user.resend_activation.description`, { email: user.email }),
9931
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex justify-end", children: [
9932
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Button, { className: "mr-2", variant: "outline", type: `button`, onClick: () => setOpen(false), children: t(`ui.buttons.cancel`) }),
9933
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9934
- Button,
9935
- {
9936
- type: "submit",
9937
- onClick: (e) => {
9938
- e.preventDefault();
9939
- sendInvitationEmail();
9940
- },
9941
- children: t(`user.buttons.resend_activation`)
9942
- }
9943
- )
9944
- ] })
9945
- ] })
9946
- ] });
9947
- }
9948
- _chunk7QVYU63Ejs.__name.call(void 0, UserResentInvitationEmailInternal, "UserResentInvitationEmailInternal");
9949
- function UserResentInvitationEmail(props) {
9950
- const { hasPermissionToModule } = useCurrentUserContext();
9951
- if (!hasPermissionToModule({ module: _chunkFKLP4NEDjs.Modules.User, action: "update" /* Update */, data: props.user })) return null;
9952
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserResentInvitationEmailInternal, { ...props });
9953
- }
9954
- _chunk7QVYU63Ejs.__name.call(void 0, UserResentInvitationEmail, "UserResentInvitationEmail");
9955
-
9956
- // src/features/user/components/forms/UserSelector.tsx
9957
-
9958
-
9959
-
9960
-
9961
10106
  // src/features/user/components/widgets/UserAvatar.tsx
9962
10107
 
9963
10108
  function UserAvatar({ user, className, showFull, showLink, showTooltip = true }) {
@@ -9973,7 +10118,7 @@ function UserAvatar({ user, className, showFull, showLink, showTooltip = true })
9973
10118
  }, "getInitials");
9974
10119
  const getAvatar = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
9975
10120
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "*:ring-border *:ring-1", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Avatar, { className: `h-6 w-6 ${className}`, children: [
9976
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { className: "object-cover", src: _optionalChain([user, 'optionalAccess', _269 => _269.avatar]) }),
10121
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { className: "object-cover", src: _optionalChain([user, 'optionalAccess', _276 => _276.avatar]) }),
9977
10122
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: getInitials2(user.name) })
9978
10123
  ] }) });
9979
10124
  }, "getAvatar");
@@ -10071,10 +10216,10 @@ function UserSelector({ id, form, label, placeholder, onChange, isRequired = fal
10071
10216
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-row items-center justify-between", children: [
10072
10217
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-row items-center justify-start rounded-md", children: field.value ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-input/20 dark:bg-input/30 border-input flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed", children: [
10073
10218
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "*:ring-border *:ring-1", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Avatar, { className: `mr-2 h-4 w-4`, children: [
10074
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { src: _optionalChain([field, 'access', _270 => _270.value, 'optionalAccess', _271 => _271.avatar]) }),
10075
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: _optionalChain([field, 'access', _272 => _272.value, 'optionalAccess', _273 => _273.name]) ? _optionalChain([field, 'access', _274 => _274.value, 'optionalAccess', _275 => _275.name, 'access', _276 => _276.split, 'call', _277 => _277(" "), 'access', _278 => _278.map, 'call', _279 => _279((name) => name.charAt(0).toUpperCase())]) : "X" })
10219
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { src: _optionalChain([field, 'access', _277 => _277.value, 'optionalAccess', _278 => _278.avatar]) }),
10220
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: _optionalChain([field, 'access', _279 => _279.value, 'optionalAccess', _280 => _280.name]) ? _optionalChain([field, 'access', _281 => _281.value, 'optionalAccess', _282 => _282.name, 'access', _283 => _283.split, 'call', _284 => _284(" "), 'access', _285 => _285.map, 'call', _286 => _286((name) => name.charAt(0).toUpperCase())]) : "X" })
10076
10221
  ] }) }),
10077
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([field, 'access', _280 => _280.value, 'optionalAccess', _281 => _281.name]), () => ( "")) })
10222
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([field, 'access', _287 => _287.value, 'optionalAccess', _288 => _288.name]), () => ( "")) })
10078
10223
  ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-input/20 dark:bg-input/30 border-input text-muted-foreground flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed", children: _nullishCoalesce(placeholder, () => ( t(`ui.search.placeholder`, { type: t(`entities.users`, { count: 1 }) }))) }) }) }),
10079
10224
  field.value && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10080
10225
  _lucidereact.CircleX,
@@ -10405,7 +10550,7 @@ function CompanyUsersList({ isDeleted, fullWidth }) {
10405
10550
  const data = useDataListRetriever({
10406
10551
  ready: !!company,
10407
10552
  retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkFKLP4NEDjs.UserService.findAllUsers(params), "retriever"),
10408
- retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _282 => _282.id]), isDeleted },
10553
+ retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _289 => _289.id]), isDeleted },
10409
10554
  module: _chunkFKLP4NEDjs.Modules.User
10410
10555
  });
10411
10556
  _react.useEffect.call(void 0, () => {
@@ -10512,11 +10657,11 @@ function UserListInAdd({ data, existingUsers, setSelectedUser, setLevelOpen }) {
10512
10657
  className: "cursor-pointer hover:bg-muted data-selected:hover:bg-muted bg-transparent data-selected:bg-transparent",
10513
10658
  onClick: (_e) => {
10514
10659
  setSelectedUser(user);
10515
- _optionalChain([setLevelOpen, 'optionalCall', _283 => _283(true)]);
10660
+ _optionalChain([setLevelOpen, 'optionalCall', _290 => _290(true)]);
10516
10661
  },
10517
10662
  onSelect: (_e) => {
10518
10663
  setSelectedUser(user);
10519
- _optionalChain([setLevelOpen, 'optionalCall', _284 => _284(true)]);
10664
+ _optionalChain([setLevelOpen, 'optionalCall', _291 => _291(true)]);
10520
10665
  },
10521
10666
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-row items-center justify-between px-4 py-1", children: [
10522
10667
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserAvatar, { user }),
@@ -10647,7 +10792,7 @@ function CompanyContent({ company, actions }) {
10647
10792
  company.legal_address
10648
10793
  ] }),
10649
10794
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-y-1", children: [
10650
- _optionalChain([company, 'access', _285 => _285.configurations, 'optionalAccess', _286 => _286.country]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
10795
+ _optionalChain([company, 'access', _292 => _292.configurations, 'optionalAccess', _293 => _293.country]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
10651
10796
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "font-medium", children: [
10652
10797
  t("features.configuration.country"),
10653
10798
  ":"
@@ -10655,7 +10800,7 @@ function CompanyContent({ company, actions }) {
10655
10800
  " ",
10656
10801
  company.configurations.country
10657
10802
  ] }),
10658
- _optionalChain([company, 'access', _287 => _287.configurations, 'optionalAccess', _288 => _288.currency]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
10803
+ _optionalChain([company, 'access', _294 => _294.configurations, 'optionalAccess', _295 => _295.currency]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
10659
10804
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "font-medium", children: [
10660
10805
  t("features.configuration.currency"),
10661
10806
  ":"
@@ -11065,7 +11210,7 @@ function CompanyEditorInternal({
11065
11210
  const t = _nextintl.useTranslations.call(void 0, );
11066
11211
  const fiscalRef = _react.useRef.call(void 0, null);
11067
11212
  const addressComponentsRef = _react.useRef.call(void 0, {});
11068
- const canAccessFeatures = hasRole(_chunkOTZEXASKjs.getRoleId.call(void 0, ).Administrator) || hasRole(_chunkOTZEXASKjs.getRoleId.call(void 0, ).CompanyAdministrator) && _optionalChain([process, 'access', _289 => _289.env, 'access', _290 => _290.NEXT_PUBLIC_PRIVATE_INSTALLATION, 'optionalAccess', _291 => _291.toLowerCase, 'call', _292 => _292()]) === "true";
11213
+ const canAccessFeatures = hasRole(_chunkOTZEXASKjs.getRoleId.call(void 0, ).Administrator) || hasRole(_chunkOTZEXASKjs.getRoleId.call(void 0, ).CompanyAdministrator) && _optionalChain([process, 'access', _296 => _296.env, 'access', _297 => _297.NEXT_PUBLIC_PRIVATE_INSTALLATION, 'optionalAccess', _298 => _298.toLowerCase, 'call', _299 => _299()]) === "true";
11069
11214
  const handleDialogOpenChange = _react.useCallback.call(void 0,
11070
11215
  (open) => {
11071
11216
  if (open && features.length === 0 && canAccessFeatures) {
@@ -11080,7 +11225,7 @@ function CompanyEditorInternal({
11080
11225
  _chunk7QVYU63Ejs.__name.call(void 0, fetchFeatures, "fetchFeatures");
11081
11226
  fetchFeatures();
11082
11227
  }
11083
- _optionalChain([onDialogOpenChange, 'optionalCall', _293 => _293(open)]);
11228
+ _optionalChain([onDialogOpenChange, 'optionalCall', _300 => _300(open)]);
11084
11229
  },
11085
11230
  [features.length, canAccessFeatures, hasRole, onDialogOpenChange]
11086
11231
  );
@@ -11125,12 +11270,12 @@ function CompanyEditorInternal({
11125
11270
  );
11126
11271
  const getDefaultValues = _react.useCallback.call(void 0, () => {
11127
11272
  return {
11128
- id: _optionalChain([company, 'optionalAccess', _294 => _294.id]) || _uuid.v4.call(void 0, ),
11129
- name: _optionalChain([company, 'optionalAccess', _295 => _295.name]) || "",
11130
- featureIds: _optionalChain([company, 'optionalAccess', _296 => _296.features, 'access', _297 => _297.map, 'call', _298 => _298((feature) => feature.id)]) || [],
11131
- moduleIds: _optionalChain([company, 'optionalAccess', _299 => _299.modules, 'access', _300 => _300.map, 'call', _301 => _301((module) => module.id)]) || [],
11132
- logo: _optionalChain([company, 'optionalAccess', _302 => _302.logo]) || "",
11133
- legal_address: _optionalChain([company, 'optionalAccess', _303 => _303.legal_address]) || ""
11273
+ id: _optionalChain([company, 'optionalAccess', _301 => _301.id]) || _uuid.v4.call(void 0, ),
11274
+ name: _optionalChain([company, 'optionalAccess', _302 => _302.name]) || "",
11275
+ featureIds: _optionalChain([company, 'optionalAccess', _303 => _303.features, 'access', _304 => _304.map, 'call', _305 => _305((feature) => feature.id)]) || [],
11276
+ moduleIds: _optionalChain([company, 'optionalAccess', _306 => _306.modules, 'access', _307 => _307.map, 'call', _308 => _308((module) => module.id)]) || [],
11277
+ logo: _optionalChain([company, 'optionalAccess', _309 => _309.logo]) || "",
11278
+ legal_address: _optionalChain([company, 'optionalAccess', _310 => _310.legal_address]) || ""
11134
11279
  };
11135
11280
  }, [company]);
11136
11281
  const form = _reacthookform.useForm.call(void 0, {
@@ -11142,7 +11287,7 @@ function CompanyEditorInternal({
11142
11287
  {
11143
11288
  form,
11144
11289
  entityType: t(`entities.companies`, { count: 1 }),
11145
- entityName: _optionalChain([company, 'optionalAccess', _304 => _304.name]),
11290
+ entityName: _optionalChain([company, 'optionalAccess', _311 => _311.name]),
11146
11291
  isEdit: !!company,
11147
11292
  module: _chunkFKLP4NEDjs.Modules.Company,
11148
11293
  propagateChanges,
@@ -11167,7 +11312,7 @@ function CompanyEditorInternal({
11167
11312
  throw new Error("Fiscal data validation failed");
11168
11313
  }
11169
11314
  const payload = {
11170
- id: _nullishCoalesce(_optionalChain([company, 'optionalAccess', _305 => _305.id]), () => ( _uuid.v4.call(void 0, ))),
11315
+ id: _nullishCoalesce(_optionalChain([company, 'optionalAccess', _312 => _312.id]), () => ( _uuid.v4.call(void 0, ))),
11171
11316
  name: values.name,
11172
11317
  logo: files && contentType ? values.logo : void 0,
11173
11318
  featureIds: values.featureIds,
@@ -11198,10 +11343,10 @@ function CompanyEditorInternal({
11198
11343
  dialogOpen,
11199
11344
  onDialogOpenChange: handleDialogOpenChange,
11200
11345
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start justify-between gap-x-4", children: [
11201
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-96 flex-col justify-start gap-y-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FileUploader, { value: files, onValueChange: setFiles, dropzoneOptions: dropzone2, className: "w-full p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FileInput, { className: "text-neutral-300 outline-dashed", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-col items-center justify-center pt-3 pb-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-col items-center justify-center pt-3 pb-4", children: file || _optionalChain([company, 'optionalAccess', _306 => _306.logo]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11346
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-96 flex-col justify-start gap-y-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FileUploader, { value: files, onValueChange: setFiles, dropzoneOptions: dropzone2, className: "w-full p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FileInput, { className: "text-neutral-300 outline-dashed", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-col items-center justify-center pt-3 pb-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-col items-center justify-center pt-3 pb-4", children: file || _optionalChain([company, 'optionalAccess', _313 => _313.logo]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11202
11347
  _image2.default,
11203
11348
  {
11204
- src: file ? URL.createObjectURL(file) : _optionalChain([company, 'optionalAccess', _307 => _307.logo]) || "",
11349
+ src: file ? URL.createObjectURL(file) : _optionalChain([company, 'optionalAccess', _314 => _314.logo]) || "",
11205
11350
  alt: "Company Logo",
11206
11351
  width: 200,
11207
11352
  height: 200
@@ -11235,7 +11380,7 @@ function CompanyEditorInternal({
11235
11380
  }
11236
11381
  ),
11237
11382
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "mt-2 text-sm font-semibold", children: t(`company.sections.fiscal_data`) }),
11238
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ItalianFiscalData_default, { ref: fiscalRef, initialData: parseFiscalData(_optionalChain([company, 'optionalAccess', _308 => _308.fiscal_data])) })
11383
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ItalianFiscalData_default, { ref: fiscalRef, initialData: parseFiscalData(_optionalChain([company, 'optionalAccess', _315 => _315.fiscal_data])) })
11239
11384
  ] }),
11240
11385
  canAccessFeatures && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-96 flex-col justify-start gap-y-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollArea, { className: "h-max", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FormFeatures, { form, name: t(`company.features_and_modules`), features }) }) })
11241
11386
  ] })
@@ -11352,7 +11497,7 @@ function NotificationToast(notification, t, generateUrl, reouter) {
11352
11497
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
11353
11498
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
11354
11499
  strong: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (chunks) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: chunks }), "strong"),
11355
- actor: _nullishCoalesce(_optionalChain([data, 'access', _309 => _309.actor, 'optionalAccess', _310 => _310.name]), () => ( "")),
11500
+ actor: _nullishCoalesce(_optionalChain([data, 'access', _316 => _316.actor, 'optionalAccess', _317 => _317.name]), () => ( "")),
11356
11501
  title: data.title,
11357
11502
  message: _nullishCoalesce(notification.message, () => ( ""))
11358
11503
  }) }),
@@ -11381,7 +11526,7 @@ function NotificationMenuItem({ notification, closePopover }) {
11381
11526
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
11382
11527
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
11383
11528
  strong: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (chunks) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: chunks }), "strong"),
11384
- actor: _nullishCoalesce(_optionalChain([data, 'access', _311 => _311.actor, 'optionalAccess', _312 => _312.name]), () => ( "")),
11529
+ actor: _nullishCoalesce(_optionalChain([data, 'access', _318 => _318.actor, 'optionalAccess', _319 => _319.name]), () => ( "")),
11385
11530
  title: data.title,
11386
11531
  message: _nullishCoalesce(notification.message, () => ( ""))
11387
11532
  }) }),
@@ -11438,7 +11583,7 @@ var NotificationContextProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(v
11438
11583
  _react.useEffect.call(void 0, () => {
11439
11584
  if (hasInitiallyLoaded || !currentUser) return;
11440
11585
  if (_chunkOTZEXASKjs.isRolesConfigured.call(void 0, )) {
11441
- const isAdmin = _optionalChain([currentUser, 'access', _313 => _313.roles, 'optionalAccess', _314 => _314.some, 'call', _315 => _315((role) => role.id === _chunkOTZEXASKjs.getRoleId.call(void 0, ).Administrator)]);
11586
+ const isAdmin = _optionalChain([currentUser, 'access', _320 => _320.roles, 'optionalAccess', _321 => _321.some, 'call', _322 => _322((role) => role.id === _chunkOTZEXASKjs.getRoleId.call(void 0, ).Administrator)]);
11442
11587
  if (isAdmin) {
11443
11588
  setHasInitiallyLoaded(true);
11444
11589
  return;
@@ -11640,7 +11785,7 @@ function OnboardingProvider({
11640
11785
  let tourSteps = steps;
11641
11786
  if (!tourSteps) {
11642
11787
  const tour2 = tours.find((t) => t.id === tourId);
11643
- tourSteps = _optionalChain([tour2, 'optionalAccess', _316 => _316.steps]);
11788
+ tourSteps = _optionalChain([tour2, 'optionalAccess', _323 => _323.steps]);
11644
11789
  }
11645
11790
  if (!tourSteps || tourSteps.length === 0) {
11646
11791
  console.warn(`No steps found for tour: ${tourId}`);
@@ -11708,10 +11853,10 @@ function OnboardingProvider({
11708
11853
  when: {
11709
11854
  show: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
11710
11855
  setCurrentStepIndex(index);
11711
- _optionalChain([stepConfig, 'access', _317 => _317.onShow, 'optionalCall', _318 => _318()]);
11856
+ _optionalChain([stepConfig, 'access', _324 => _324.onShow, 'optionalCall', _325 => _325()]);
11712
11857
  }, "show"),
11713
11858
  hide: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
11714
- _optionalChain([stepConfig, 'access', _319 => _319.onHide, 'optionalCall', _320 => _320()]);
11859
+ _optionalChain([stepConfig, 'access', _326 => _326.onHide, 'optionalCall', _327 => _327()]);
11715
11860
  }, "hide")
11716
11861
  }
11717
11862
  });
@@ -11942,10 +12087,10 @@ function HowToEditorInternal({
11942
12087
  );
11943
12088
  const getDefaultValues = _react.useCallback.call(void 0,
11944
12089
  () => ({
11945
- id: _optionalChain([howTo, 'optionalAccess', _321 => _321.id]) || _uuid.v4.call(void 0, ),
11946
- name: _optionalChain([howTo, 'optionalAccess', _322 => _322.name]) || "",
11947
- description: _optionalChain([howTo, 'optionalAccess', _323 => _323.description]) || [],
11948
- pages: _chunkFKLP4NEDjs.HowTo.parsePagesFromString(_optionalChain([howTo, 'optionalAccess', _324 => _324.pages]))
12090
+ id: _optionalChain([howTo, 'optionalAccess', _328 => _328.id]) || _uuid.v4.call(void 0, ),
12091
+ name: _optionalChain([howTo, 'optionalAccess', _329 => _329.name]) || "",
12092
+ description: _optionalChain([howTo, 'optionalAccess', _330 => _330.description]) || [],
12093
+ pages: _chunkFKLP4NEDjs.HowTo.parsePagesFromString(_optionalChain([howTo, 'optionalAccess', _331 => _331.pages]))
11949
12094
  }),
11950
12095
  [howTo]
11951
12096
  );
@@ -11976,7 +12121,7 @@ function HowToEditorInternal({
11976
12121
  {
11977
12122
  form,
11978
12123
  entityType: t(`entities.howtos`, { count: 1 }),
11979
- entityName: _optionalChain([howTo, 'optionalAccess', _325 => _325.name]),
12124
+ entityName: _optionalChain([howTo, 'optionalAccess', _332 => _332.name]),
11980
12125
  isEdit: !!howTo,
11981
12126
  module: _chunkFKLP4NEDjs.Modules.HowTo,
11982
12127
  propagateChanges,
@@ -12268,7 +12413,7 @@ function EditableAvatar({
12268
12413
  }, [image, isUploading, patchImage, t]);
12269
12414
  const handleFileInputChange = _react.useCallback.call(void 0,
12270
12415
  (e) => {
12271
- const file = _optionalChain([e, 'access', _326 => _326.target, 'access', _327 => _327.files, 'optionalAccess', _328 => _328[0]]);
12416
+ const file = _optionalChain([e, 'access', _333 => _333.target, 'access', _334 => _334.files, 'optionalAccess', _335 => _335[0]]);
12272
12417
  if (file) handleFile(file);
12273
12418
  e.target.value = "";
12274
12419
  },
@@ -12277,7 +12422,7 @@ function EditableAvatar({
12277
12422
  const handleDrop = _react.useCallback.call(void 0,
12278
12423
  (e) => {
12279
12424
  e.preventDefault();
12280
- const file = _optionalChain([e, 'access', _329 => _329.dataTransfer, 'access', _330 => _330.files, 'optionalAccess', _331 => _331[0]]);
12425
+ const file = _optionalChain([e, 'access', _336 => _336.dataTransfer, 'access', _337 => _337.files, 'optionalAccess', _338 => _338[0]]);
12281
12426
  if (file && file.type.startsWith("image/")) {
12282
12427
  handleFile(file);
12283
12428
  }
@@ -12304,7 +12449,7 @@ function EditableAvatar({
12304
12449
  "button",
12305
12450
  {
12306
12451
  type: "button",
12307
- onClick: () => _optionalChain([fileInputRef, 'access', _332 => _332.current, 'optionalAccess', _333 => _333.click, 'call', _334 => _334()]),
12452
+ onClick: () => _optionalChain([fileInputRef, 'access', _339 => _339.current, 'optionalAccess', _340 => _340.click, 'call', _341 => _341()]),
12308
12453
  disabled: isUploading,
12309
12454
  className: "rounded-full p-2 text-white hover:bg-white/20 disabled:opacity-50",
12310
12455
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.PencilIcon, { className: "h-4 w-4" })
@@ -12651,7 +12796,7 @@ function RoundPageContainer({
12651
12796
  const searchParams = _navigation.useSearchParams.call(void 0, );
12652
12797
  const section = searchParams.get("section");
12653
12798
  const rewriteUrl = useUrlRewriter();
12654
- const initialValue = tabs ? (section && tabs.find((i) => (_nullishCoalesce(_optionalChain([i, 'access', _335 => _335.key, 'optionalAccess', _336 => _336.name]), () => ( i.label))) === section) ? section : null) || (_nullishCoalesce(_optionalChain([tabs, 'access', _337 => _337[0], 'access', _338 => _338.key, 'optionalAccess', _339 => _339.name]), () => ( tabs[0].label))) : void 0;
12799
+ const initialValue = tabs ? (section && tabs.find((i) => (_nullishCoalesce(_optionalChain([i, 'access', _342 => _342.key, 'optionalAccess', _343 => _343.name]), () => ( i.label))) === section) ? section : null) || (_nullishCoalesce(_optionalChain([tabs, 'access', _344 => _344[0], 'access', _345 => _345.key, 'optionalAccess', _346 => _346.name]), () => ( tabs[0].label))) : void 0;
12655
12800
  const [activeTab, setActiveTab] = _react.useState.call(void 0, initialValue);
12656
12801
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
12657
12802
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Header, { leftContent: headerLeftContent, className: "bg-sidebar border-0", children: headerChildren }),
@@ -12677,8 +12822,8 @@ function RoundPageContainer({
12677
12822
  if (module && id) rewriteUrl({ page: module, id, additionalParameters: { section: key } });
12678
12823
  },
12679
12824
  children: [
12680
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsList, { className: ``, children: tabs.map((tab) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsTrigger, { value: _nullishCoalesce(_optionalChain([tab, 'access', _340 => _340.key, 'optionalAccess', _341 => _341.name]), () => ( tab.label)), className: `px-4`, children: _nullishCoalesce(tab.contentLabel, () => ( tab.label)) }, tab.label)) }) }),
12681
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full overflow-y-auto px-4", children: tabs.map((tab) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: _nullishCoalesce(_optionalChain([tab, 'access', _342 => _342.key, 'optionalAccess', _343 => _343.name]), () => ( tab.label)), className: `pb-20`, children: tab.content }, tab.label)) })
12825
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsList, { className: ``, children: tabs.map((tab) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsTrigger, { value: _nullishCoalesce(_optionalChain([tab, 'access', _347 => _347.key, 'optionalAccess', _348 => _348.name]), () => ( tab.label)), className: `px-4`, children: _nullishCoalesce(tab.contentLabel, () => ( tab.label)) }, tab.label)) }) }),
12826
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full overflow-y-auto px-4", children: tabs.map((tab) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: _nullishCoalesce(_optionalChain([tab, 'access', _349 => _349.key, 'optionalAccess', _350 => _350.name]), () => ( tab.label)), className: `pb-20`, children: tab.content }, tab.label)) })
12682
12827
  ]
12683
12828
  }
12684
12829
  ) : children }) }),
@@ -12902,10 +13047,10 @@ var cellId = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => {
12902
13047
  cell: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ row }) => params.toggleId ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12903
13048
  Checkbox,
12904
13049
  {
12905
- checked: _optionalChain([params, 'access', _344 => _344.checkedIds, 'optionalAccess', _345 => _345.includes, 'call', _346 => _346(row.getValue(params.name))]) || false,
13050
+ checked: _optionalChain([params, 'access', _351 => _351.checkedIds, 'optionalAccess', _352 => _352.includes, 'call', _353 => _353(row.getValue(params.name))]) || false,
12906
13051
  onCheckedChange: (value) => {
12907
13052
  row.toggleSelected(!!value);
12908
- _optionalChain([params, 'access', _347 => _347.toggleId, 'optionalCall', _348 => _348(row.getValue(params.name))]);
13053
+ _optionalChain([params, 'access', _354 => _354.toggleId, 'optionalCall', _355 => _355(row.getValue(params.name))]);
12909
13054
  },
12910
13055
  "aria-label": "Select row"
12911
13056
  }
@@ -12964,7 +13109,7 @@ function useJsonApiGet(params) {
12964
13109
  const [response, setResponse] = _react.useState.call(void 0, null);
12965
13110
  const isMounted = _react.useRef.call(void 0, true);
12966
13111
  const fetchData = _react.useCallback.call(void 0, async () => {
12967
- if (_optionalChain([params, 'access', _349 => _349.options, 'optionalAccess', _350 => _350.enabled]) === false) return;
13112
+ if (_optionalChain([params, 'access', _356 => _356.options, 'optionalAccess', _357 => _357.enabled]) === false) return;
12968
13113
  setLoading(true);
12969
13114
  setError(null);
12970
13115
  try {
@@ -12991,9 +13136,9 @@ function useJsonApiGet(params) {
12991
13136
  setLoading(false);
12992
13137
  }
12993
13138
  }
12994
- }, [params.classKey, params.endpoint, params.companyId, _optionalChain([params, 'access', _351 => _351.options, 'optionalAccess', _352 => _352.enabled])]);
13139
+ }, [params.classKey, params.endpoint, params.companyId, _optionalChain([params, 'access', _358 => _358.options, 'optionalAccess', _359 => _359.enabled])]);
12995
13140
  const fetchNextPage = _react.useCallback.call(void 0, async () => {
12996
- if (!_optionalChain([response, 'optionalAccess', _353 => _353.nextPage])) return;
13141
+ if (!_optionalChain([response, 'optionalAccess', _360 => _360.nextPage])) return;
12997
13142
  setLoading(true);
12998
13143
  try {
12999
13144
  const nextResponse = await response.nextPage();
@@ -13014,7 +13159,7 @@ function useJsonApiGet(params) {
13014
13159
  }
13015
13160
  }, [response]);
13016
13161
  const fetchPreviousPage = _react.useCallback.call(void 0, async () => {
13017
- if (!_optionalChain([response, 'optionalAccess', _354 => _354.prevPage])) return;
13162
+ if (!_optionalChain([response, 'optionalAccess', _361 => _361.prevPage])) return;
13018
13163
  setLoading(true);
13019
13164
  try {
13020
13165
  const prevResponse = await response.prevPage();
@@ -13040,15 +13185,15 @@ function useJsonApiGet(params) {
13040
13185
  return () => {
13041
13186
  isMounted.current = false;
13042
13187
  };
13043
- }, [fetchData, ..._optionalChain([params, 'access', _355 => _355.options, 'optionalAccess', _356 => _356.deps]) || []]);
13188
+ }, [fetchData, ..._optionalChain([params, 'access', _362 => _362.options, 'optionalAccess', _363 => _363.deps]) || []]);
13044
13189
  return {
13045
13190
  data,
13046
13191
  loading,
13047
13192
  error,
13048
13193
  response,
13049
13194
  refetch: fetchData,
13050
- hasNextPage: !!_optionalChain([response, 'optionalAccess', _357 => _357.next]),
13051
- hasPreviousPage: !!_optionalChain([response, 'optionalAccess', _358 => _358.prev]),
13195
+ hasNextPage: !!_optionalChain([response, 'optionalAccess', _364 => _364.next]),
13196
+ hasPreviousPage: !!_optionalChain([response, 'optionalAccess', _365 => _365.prev]),
13052
13197
  fetchNextPage,
13053
13198
  fetchPreviousPage
13054
13199
  };
@@ -13126,17 +13271,17 @@ function useJsonApiMutation(config) {
13126
13271
  if (apiResponse.ok) {
13127
13272
  const resultData = apiResponse.data;
13128
13273
  setData(resultData);
13129
- _optionalChain([config, 'access', _359 => _359.onSuccess, 'optionalCall', _360 => _360(resultData)]);
13274
+ _optionalChain([config, 'access', _366 => _366.onSuccess, 'optionalCall', _367 => _367(resultData)]);
13130
13275
  return resultData;
13131
13276
  } else {
13132
13277
  setError(apiResponse.error);
13133
- _optionalChain([config, 'access', _361 => _361.onError, 'optionalCall', _362 => _362(apiResponse.error)]);
13278
+ _optionalChain([config, 'access', _368 => _368.onError, 'optionalCall', _369 => _369(apiResponse.error)]);
13134
13279
  return null;
13135
13280
  }
13136
13281
  } catch (err) {
13137
13282
  const errorMessage = err instanceof Error ? err.message : "Unknown error";
13138
13283
  setError(errorMessage);
13139
- _optionalChain([config, 'access', _363 => _363.onError, 'optionalCall', _364 => _364(errorMessage)]);
13284
+ _optionalChain([config, 'access', _370 => _370.onError, 'optionalCall', _371 => _371(errorMessage)]);
13140
13285
  return null;
13141
13286
  } finally {
13142
13287
  setLoading(false);
@@ -13209,7 +13354,7 @@ var useCompanyTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
13209
13354
  {
13210
13355
  href: hasRole(_chunkOTZEXASKjs.getRoleId.call(void 0, ).Administrator) ? generateUrl({
13211
13356
  page: "/administration",
13212
- id: _optionalChain([_chunkFKLP4NEDjs.Modules, 'access', _365 => _365.Company, 'access', _366 => _366.pageUrl, 'optionalAccess', _367 => _367.substring, 'call', _368 => _368(1)]),
13357
+ id: _optionalChain([_chunkFKLP4NEDjs.Modules, 'access', _372 => _372.Company, 'access', _373 => _373.pageUrl, 'optionalAccess', _374 => _374.substring, 'call', _375 => _375(1)]),
13213
13358
  childPage: company.id
13214
13359
  }) : generateUrl({ page: _chunkFKLP4NEDjs.Modules.Company, id: company.id }),
13215
13360
  children: row.getValue("name")
@@ -13225,7 +13370,7 @@ var useCompanyTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
13225
13370
  })
13226
13371
  };
13227
13372
  const columns = _react.useMemo.call(void 0, () => {
13228
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _369 => _369[field], 'optionalCall', _370 => _370()])).filter((col) => col !== void 0);
13373
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _376 => _376[field], 'optionalCall', _377 => _377()])).filter((col) => col !== void 0);
13229
13374
  }, [params.fields, fieldColumnMap, t, generateUrl, hasRole]);
13230
13375
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
13231
13376
  }, "useCompanyTableStructure");
@@ -13237,7 +13382,7 @@ var GRACE_DAYS = 3;
13237
13382
  var isAdministrator = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (currentUser) => {
13238
13383
  if (!currentUser || !_chunkOTZEXASKjs.isRolesConfigured.call(void 0, )) return false;
13239
13384
  const adminRoleId = _chunkOTZEXASKjs.getRoleId.call(void 0, ).Administrator;
13240
- return !!_optionalChain([currentUser, 'access', _371 => _371.roles, 'optionalAccess', _372 => _372.some, 'call', _373 => _373((role) => role.id === adminRoleId)]);
13385
+ return !!_optionalChain([currentUser, 'access', _378 => _378.roles, 'optionalAccess', _379 => _379.some, 'call', _380 => _380((role) => role.id === adminRoleId)]);
13241
13386
  }, "isAdministrator");
13242
13387
  function useSubscriptionStatus() {
13243
13388
  const { company, currentUser } = useCurrentUserContext();
@@ -13354,7 +13499,7 @@ var useRoleTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0,
13354
13499
  })
13355
13500
  };
13356
13501
  const columns = _react.useMemo.call(void 0, () => {
13357
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _374 => _374[field], 'optionalCall', _375 => _375()])).filter((col) => col !== void 0);
13502
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _381 => _381[field], 'optionalCall', _382 => _382()])).filter((col) => col !== void 0);
13358
13503
  }, [params.fields, fieldColumnMap, t, generateUrl]);
13359
13504
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
13360
13505
  }, "useRoleTableStructure");
@@ -13497,7 +13642,7 @@ var useUserTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0,
13497
13642
  })
13498
13643
  };
13499
13644
  const columns = _react.useMemo.call(void 0, () => {
13500
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _376 => _376[field], 'optionalCall', _377 => _377()])).filter((col) => col !== void 0);
13645
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _383 => _383[field], 'optionalCall', _384 => _384()])).filter((col) => col !== void 0);
13501
13646
  }, [params.fields, fieldColumnMap, t, generateUrl]);
13502
13647
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
13503
13648
  }, "useUserTableStructure");
@@ -13598,11 +13743,11 @@ var useContentTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
13598
13743
  return params.fields.map((field) => {
13599
13744
  const localHandler = fieldColumnMap[field];
13600
13745
  if (localHandler) return localHandler();
13601
- const customHandler = _optionalChain([params, 'access', _378 => _378.context, 'optionalAccess', _379 => _379.customCells, 'optionalAccess', _380 => _380[field]]);
13746
+ const customHandler = _optionalChain([params, 'access', _385 => _385.context, 'optionalAccess', _386 => _386.customCells, 'optionalAccess', _387 => _387[field]]);
13602
13747
  if (customHandler) return customHandler({ t });
13603
13748
  return void 0;
13604
13749
  }).filter((col) => col !== void 0);
13605
- }, [params.fields, fieldColumnMap, t, generateUrl, _optionalChain([params, 'access', _381 => _381.context, 'optionalAccess', _382 => _382.customCells])]);
13750
+ }, [params.fields, fieldColumnMap, t, generateUrl, _optionalChain([params, 'access', _388 => _388.context, 'optionalAccess', _389 => _389.customCells])]);
13606
13751
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
13607
13752
  }, "useContentTableStructure");
13608
13753
 
@@ -13928,7 +14073,7 @@ function rbacReducer(state, action) {
13928
14073
  }
13929
14074
  case "SET_FEATURE_IS_CORE": {
13930
14075
  const newMap = new Map(state.featureIsCore);
13931
- const originalFeature = _optionalChain([state, 'access', _383 => _383.original, 'optionalAccess', _384 => _384.features, 'access', _385 => _385.find, 'call', _386 => _386((f) => f.id === action.featureId)]);
14076
+ const originalFeature = _optionalChain([state, 'access', _390 => _390.original, 'optionalAccess', _391 => _391.features, 'access', _392 => _392.find, 'call', _393 => _393((f) => f.id === action.featureId)]);
13932
14077
  if (originalFeature && originalFeature.isCore === action.isCore) {
13933
14078
  newMap.delete(action.featureId);
13934
14079
  } else {
@@ -13939,7 +14084,7 @@ function rbacReducer(state, action) {
13939
14084
  case "SET_MODULE_DEFAULT_PERMISSION": {
13940
14085
  const newMap = new Map(state.modulePermissions);
13941
14086
  const originalModule = state.original ? findModule(state.original.features, action.moduleId) : void 0;
13942
- const current = _nullishCoalesce(newMap.get(action.moduleId), () => ( { ..._optionalChain([originalModule, 'optionalAccess', _387 => _387.permissions]) }));
14087
+ const current = _nullishCoalesce(newMap.get(action.moduleId), () => ( { ..._optionalChain([originalModule, 'optionalAccess', _394 => _394.permissions]) }));
13943
14088
  const updated = { ...current, [action.actionType]: action.value };
13944
14089
  newMap.set(action.moduleId, updated);
13945
14090
  return { ...state, modulePermissions: newMap };
@@ -14030,8 +14175,8 @@ function useRbacState() {
14030
14175
  const getFeatureIsCore = _react.useCallback.call(void 0,
14031
14176
  (featureId) => {
14032
14177
  if (state.featureIsCore.has(featureId)) return state.featureIsCore.get(featureId);
14033
- const feature = _optionalChain([state, 'access', _388 => _388.original, 'optionalAccess', _389 => _389.features, 'access', _390 => _390.find, 'call', _391 => _391((f) => f.id === featureId)]);
14034
- return _nullishCoalesce(_optionalChain([feature, 'optionalAccess', _392 => _392.isCore]), () => ( false));
14178
+ const feature = _optionalChain([state, 'access', _395 => _395.original, 'optionalAccess', _396 => _396.features, 'access', _397 => _397.find, 'call', _398 => _398((f) => f.id === featureId)]);
14179
+ return _nullishCoalesce(_optionalChain([feature, 'optionalAccess', _399 => _399.isCore]), () => ( false));
14035
14180
  },
14036
14181
  [state.featureIsCore, state.original]
14037
14182
  );
@@ -14041,7 +14186,7 @@ function useRbacState() {
14041
14186
  if (edited && edited[actionType] !== void 0) return edited[actionType];
14042
14187
  if (!state.original) return void 0;
14043
14188
  const mod = findModule(state.original.features, moduleId);
14044
- return _optionalChain([mod, 'optionalAccess', _393 => _393.permissions, 'access', _394 => _394[actionType]]);
14189
+ return _optionalChain([mod, 'optionalAccess', _400 => _400.permissions, 'access', _401 => _401[actionType]]);
14045
14190
  },
14046
14191
  [state.modulePermissions, state.original]
14047
14192
  );
@@ -14097,7 +14242,7 @@ function useRbacState() {
14097
14242
  }, [state]);
14098
14243
  const getModuleRelationshipPaths = _react.useCallback.call(void 0,
14099
14244
  (moduleId) => {
14100
- return _nullishCoalesce(_optionalChain([state, 'access', _395 => _395.original, 'optionalAccess', _396 => _396.moduleRelationshipPaths, 'access', _397 => _397.get, 'call', _398 => _398(moduleId)]), () => ( []));
14245
+ return _nullishCoalesce(_optionalChain([state, 'access', _402 => _402.original, 'optionalAccess', _403 => _403.moduleRelationshipPaths, 'access', _404 => _404.get, 'call', _405 => _405(moduleId)]), () => ( []));
14101
14246
  },
14102
14247
  [state.original]
14103
14248
  );
@@ -14308,7 +14453,7 @@ function ContentTableSearch({ data }) {
14308
14453
  const handleSearchIconClick = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
14309
14454
  if (!isExpanded) {
14310
14455
  setIsFocused(true);
14311
- setTimeout(() => _optionalChain([inputRef, 'access', _399 => _399.current, 'optionalAccess', _400 => _400.focus, 'call', _401 => _401()]), 50);
14456
+ setTimeout(() => _optionalChain([inputRef, 'access', _406 => _406.current, 'optionalAccess', _407 => _407.focus, 'call', _408 => _408()]), 50);
14312
14457
  }
14313
14458
  }, "handleSearchIconClick");
14314
14459
  const handleBlur = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
@@ -14374,7 +14519,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
14374
14519
  props.defaultExpanded === true ? true : typeof props.defaultExpanded === "object" ? props.defaultExpanded : {}
14375
14520
  );
14376
14521
  const { data: tableData, columns: tableColumns } = useTableGenerator(props.tableGeneratorType, {
14377
- data: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _402 => _402.data]), () => ( EMPTY_ARRAY)),
14522
+ data: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _409 => _409.data]), () => ( EMPTY_ARRAY)),
14378
14523
  fields,
14379
14524
  checkedIds,
14380
14525
  toggleId,
@@ -14443,12 +14588,12 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
14443
14588
  ) }),
14444
14589
  table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: headerGroup.headers.map((header) => {
14445
14590
  const meta = header.column.columnDef.meta;
14446
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableHead, { className: _optionalChain([meta, 'optionalAccess', _403 => _403.className]), children: header.isPlaceholder ? null : _reacttable.flexRender.call(void 0, header.column.columnDef.header, header.getContext()) }, header.id);
14591
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableHead, { className: _optionalChain([meta, 'optionalAccess', _410 => _410.className]), children: header.isPlaceholder ? null : _reacttable.flexRender.call(void 0, header.column.columnDef.header, header.getContext()) }, header.id);
14447
14592
  }) }, headerGroup.id))
14448
14593
  ] }),
14449
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableBody, { children: rowModel && _optionalChain([rowModel, 'access', _404 => _404.rows, 'optionalAccess', _405 => _405.length]) ? rowModel.rows.map((row) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: row.getVisibleCells().map((cell) => {
14594
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableBody, { children: rowModel && _optionalChain([rowModel, 'access', _411 => _411.rows, 'optionalAccess', _412 => _412.length]) ? rowModel.rows.map((row) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: row.getVisibleCells().map((cell) => {
14450
14595
  const meta = cell.column.columnDef.meta;
14451
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _406 => _406.className]), children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) }, cell.id);
14596
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _413 => _413.className]), children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) }, cell.id);
14452
14597
  }) }, row.id)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { colSpan: tableColumns.length, className: "h-24 text-center", children: "No results." }) }) }),
14453
14598
  showFooter && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableFooter, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { colSpan: tableColumns.length, className: "bg-card py-4 text-right", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end space-x-2", children: [
14454
14599
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -14458,7 +14603,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
14458
14603
  size: "sm",
14459
14604
  onClick: (e) => {
14460
14605
  e.preventDefault();
14461
- _optionalChain([data, 'access', _407 => _407.previous, 'optionalCall', _408 => _408(true)]);
14606
+ _optionalChain([data, 'access', _414 => _414.previous, 'optionalCall', _415 => _415(true)]);
14462
14607
  },
14463
14608
  disabled: !data.previous,
14464
14609
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" })
@@ -14472,7 +14617,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
14472
14617
  size: "sm",
14473
14618
  onClick: (e) => {
14474
14619
  e.preventDefault();
14475
- _optionalChain([data, 'access', _409 => _409.next, 'optionalCall', _410 => _410(true)]);
14620
+ _optionalChain([data, 'access', _416 => _416.next, 'optionalCall', _417 => _417(true)]);
14476
14621
  },
14477
14622
  disabled: !data.next,
14478
14623
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" })
@@ -15195,7 +15340,7 @@ function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
15195
15340
  newDigits[index] = digit;
15196
15341
  setDigits(newDigits);
15197
15342
  if (digit && index < 5) {
15198
- _optionalChain([inputRefs, 'access', _411 => _411.current, 'access', _412 => _412[index + 1], 'optionalAccess', _413 => _413.focus, 'call', _414 => _414()]);
15343
+ _optionalChain([inputRefs, 'access', _418 => _418.current, 'access', _419 => _419[index + 1], 'optionalAccess', _420 => _420.focus, 'call', _421 => _421()]);
15199
15344
  }
15200
15345
  const code = newDigits.join("");
15201
15346
  if (code.length === 6 && newDigits.every((d) => d !== "")) {
@@ -15204,7 +15349,7 @@ function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
15204
15349
  }, "handleChange");
15205
15350
  const handleKeyDown = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (index, e) => {
15206
15351
  if (e.key === "Backspace" && !digits[index] && index > 0) {
15207
- _optionalChain([inputRefs, 'access', _415 => _415.current, 'access', _416 => _416[index - 1], 'optionalAccess', _417 => _417.focus, 'call', _418 => _418()]);
15352
+ _optionalChain([inputRefs, 'access', _422 => _422.current, 'access', _423 => _423[index - 1], 'optionalAccess', _424 => _424.focus, 'call', _425 => _425()]);
15208
15353
  }
15209
15354
  }, "handleKeyDown");
15210
15355
  const handlePaste = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (e) => {
@@ -15213,7 +15358,7 @@ function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
15213
15358
  if (pastedData.length === 6) {
15214
15359
  const newDigits = pastedData.split("");
15215
15360
  setDigits(newDigits);
15216
- _optionalChain([inputRefs, 'access', _419 => _419.current, 'access', _420 => _420[5], 'optionalAccess', _421 => _421.focus, 'call', _422 => _422()]);
15361
+ _optionalChain([inputRefs, 'access', _426 => _426.current, 'access', _427 => _427[5], 'optionalAccess', _428 => _428.focus, 'call', _429 => _429()]);
15217
15362
  onComplete(pastedData);
15218
15363
  }
15219
15364
  }, "handlePaste");
@@ -15424,8 +15569,8 @@ function PasskeySetupDialog({ open, onOpenChange, onSuccess }) {
15424
15569
  try {
15425
15570
  const registrationData = await _chunkFKLP4NEDjs.TwoFactorService.getPasskeyRegistrationOptions({
15426
15571
  id: _uuid.v4.call(void 0, ),
15427
- userName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _423 => _423.email]), () => ( "")),
15428
- userDisplayName: _optionalChain([currentUser, 'optionalAccess', _424 => _424.name])
15572
+ userName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _430 => _430.email]), () => ( "")),
15573
+ userDisplayName: _optionalChain([currentUser, 'optionalAccess', _431 => _431.name])
15429
15574
  });
15430
15575
  const credential = await _browser.startRegistration.call(void 0, { optionsJSON: registrationData.options });
15431
15576
  await _chunkFKLP4NEDjs.TwoFactorService.verifyPasskeyRegistration({
@@ -15576,7 +15721,7 @@ function TotpSetupDialog({ onSuccess, trigger }) {
15576
15721
  const setup = await _chunkFKLP4NEDjs.TwoFactorService.setupTotp({
15577
15722
  id: _uuid.v4.call(void 0, ),
15578
15723
  name: name.trim(),
15579
- accountName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _425 => _425.email]), () => ( ""))
15724
+ accountName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _432 => _432.email]), () => ( ""))
15580
15725
  });
15581
15726
  setQrCodeUri(setup.qrCodeUri);
15582
15727
  setAuthenticatorId(setup.authenticatorId);
@@ -15710,7 +15855,7 @@ function TwoFactorSettings() {
15710
15855
  if (isLoading) {
15711
15856
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardContent, { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground", children: t("common.loading") }) }) });
15712
15857
  }
15713
- const isEnabled = _nullishCoalesce(_optionalChain([status, 'optionalAccess', _426 => _426.isEnabled]), () => ( false));
15858
+ const isEnabled = _nullishCoalesce(_optionalChain([status, 'optionalAccess', _433 => _433.isEnabled]), () => ( false));
15714
15859
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Card, { children: [
15715
15860
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
15716
15861
  isEnabled ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ShieldCheck, { className: "h-6 w-6 text-green-600" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ShieldAlert, { className: "h-6 w-6 text-yellow-600" }),
@@ -15748,7 +15893,7 @@ function TwoFactorSettings() {
15748
15893
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-medium", children: t("auth.two_factor.backup_codes") }),
15749
15894
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm text-muted-foreground", children: t("auth.two_factor.backup_codes_description") })
15750
15895
  ] }),
15751
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BackupCodesDialog, { remainingCodes: _nullishCoalesce(_optionalChain([status, 'optionalAccess', _427 => _427.backupCodesCount]), () => ( 0)), onRegenerate: handleRefresh })
15896
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BackupCodesDialog, { remainingCodes: _nullishCoalesce(_optionalChain([status, 'optionalAccess', _434 => _434.backupCodesCount]), () => ( 0)), onRegenerate: handleRefresh })
15752
15897
  ] }) }),
15753
15898
  !isEnabled && (authenticators.length > 0 || passkeys.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
15754
15899
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Separator, {}),
@@ -15926,9 +16071,9 @@ function AcceptInvitation() {
15926
16071
  });
15927
16072
  const onSubmit = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async (values) => {
15928
16073
  try {
15929
- if (!_optionalChain([params, 'optionalAccess', _428 => _428.code])) return;
16074
+ if (!_optionalChain([params, 'optionalAccess', _435 => _435.code])) return;
15930
16075
  const payload = {
15931
- code: _optionalChain([params, 'optionalAccess', _429 => _429.code]),
16076
+ code: _optionalChain([params, 'optionalAccess', _436 => _436.code]),
15932
16077
  password: values.password
15933
16078
  };
15934
16079
  await _chunkFKLP4NEDjs.AuthService.acceptInvitation(payload);
@@ -16278,7 +16423,7 @@ function Logout({ storageKeys }) {
16278
16423
  const generateUrl = usePageUrlGenerator();
16279
16424
  _react.useEffect.call(void 0, () => {
16280
16425
  const logOut = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async () => {
16281
- if (_optionalChain([storageKeys, 'optionalAccess', _430 => _430.length])) {
16426
+ if (_optionalChain([storageKeys, 'optionalAccess', _437 => _437.length])) {
16282
16427
  clearClientStorage(storageKeys);
16283
16428
  }
16284
16429
  await _chunkFKLP4NEDjs.AuthService.logout();
@@ -16301,14 +16446,14 @@ function RefreshUser() {
16301
16446
  setUser(fullUser);
16302
16447
  const token = {
16303
16448
  userId: fullUser.id,
16304
- companyId: _optionalChain([fullUser, 'access', _431 => _431.company, 'optionalAccess', _432 => _432.id]),
16449
+ companyId: _optionalChain([fullUser, 'access', _438 => _438.company, 'optionalAccess', _439 => _439.id]),
16305
16450
  roles: fullUser.roles.map((role) => role.id),
16306
- features: _nullishCoalesce(_optionalChain([fullUser, 'access', _433 => _433.company, 'optionalAccess', _434 => _434.features, 'optionalAccess', _435 => _435.map, 'call', _436 => _436((feature) => feature.id)]), () => ( [])),
16451
+ features: _nullishCoalesce(_optionalChain([fullUser, 'access', _440 => _440.company, 'optionalAccess', _441 => _441.features, 'optionalAccess', _442 => _442.map, 'call', _443 => _443((feature) => feature.id)]), () => ( [])),
16307
16452
  modules: fullUser.modules.map((module) => {
16308
16453
  return { id: module.id, permissions: module.permissions };
16309
16454
  })
16310
16455
  };
16311
- await _optionalChain([_chunkFKLP4NEDjs.getTokenHandler.call(void 0, ), 'optionalAccess', _437 => _437.updateToken, 'call', _438 => _438(token)]);
16456
+ await _optionalChain([_chunkFKLP4NEDjs.getTokenHandler.call(void 0, ), 'optionalAccess', _444 => _444.updateToken, 'call', _445 => _445(token)]);
16312
16457
  _cookiesnext.deleteCookie.call(void 0, "reloadData");
16313
16458
  }
16314
16459
  }, "loadFullUser");
@@ -16372,9 +16517,9 @@ function ResetPassword() {
16372
16517
  });
16373
16518
  const onSubmit = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async (values) => {
16374
16519
  try {
16375
- if (!_optionalChain([params, 'optionalAccess', _439 => _439.code])) return;
16520
+ if (!_optionalChain([params, 'optionalAccess', _446 => _446.code])) return;
16376
16521
  const payload = {
16377
- code: _optionalChain([params, 'optionalAccess', _440 => _440.code]),
16522
+ code: _optionalChain([params, 'optionalAccess', _447 => _447.code]),
16378
16523
  password: values.password
16379
16524
  };
16380
16525
  await _chunkFKLP4NEDjs.AuthService.resetPassword(payload);
@@ -16723,7 +16868,7 @@ function extractHeadings(blocks) {
16723
16868
  function processBlocks(blockArray) {
16724
16869
  for (const block of blockArray) {
16725
16870
  if (block.type === "heading") {
16726
- const level = _optionalChain([block, 'access', _441 => _441.props, 'optionalAccess', _442 => _442.level]) || 1;
16871
+ const level = _optionalChain([block, 'access', _448 => _448.props, 'optionalAccess', _449 => _449.level]) || 1;
16727
16872
  const text = extractTextFromContent(block.content);
16728
16873
  if (text.trim()) {
16729
16874
  headings.push({
@@ -17066,7 +17211,7 @@ var useHowToTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
17066
17211
  })
17067
17212
  };
17068
17213
  const columns = _react.useMemo.call(void 0, () => {
17069
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _443 => _443[field], 'optionalCall', _444 => _444()])).filter((col) => col !== void 0);
17214
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _450 => _450[field], 'optionalCall', _451 => _451()])).filter((col) => col !== void 0);
17070
17215
  }, [params.fields, fieldColumnMap, t, generateUrl]);
17071
17216
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
17072
17217
  }, "useHowToTableStructure");
@@ -17110,8 +17255,6 @@ _chunk7QVYU63Ejs.__name.call(void 0, HowToListContainer, "HowToListContainer");
17110
17255
  // src/features/how-to/components/forms/HowToMultiSelector.tsx
17111
17256
 
17112
17257
 
17113
-
17114
-
17115
17258
  function HowToMultiSelector({
17116
17259
  id,
17117
17260
  form,
@@ -17119,89 +17262,25 @@ function HowToMultiSelector({
17119
17262
  label,
17120
17263
  placeholder,
17121
17264
  onChange,
17122
- maxCount = 3,
17123
17265
  isRequired = false
17124
17266
  }) {
17125
17267
  const t = _nextintl.useTranslations.call(void 0, );
17126
- const [howToOptions, setHowToOptions] = _react.useState.call(void 0, []);
17127
- const [searchTerm, setSearchTerm] = _react.useState.call(void 0, "");
17128
- const selectedHowTos = _reacthookform.useWatch.call(void 0, { control: form.control, name: id }) || [];
17129
- const data = useDataListRetriever({
17130
- retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkFKLP4NEDjs.HowToService.findMany(params), "retriever"),
17131
- retrieverParams: {},
17132
- ready: true,
17133
- module: _chunkFKLP4NEDjs.Modules.HowTo
17134
- });
17135
- const updateSearch = _react.useCallback.call(void 0,
17136
- (searchedTerm) => {
17137
- if (searchedTerm.trim()) {
17138
- data.addAdditionalParameter("search", searchedTerm.trim());
17139
- } else {
17140
- data.removeAdditionalParameter("search");
17141
- }
17142
- },
17143
- [data]
17144
- );
17145
- const debouncedUpdateSearch = useDebounce2(updateSearch, 500);
17146
- _react.useEffect.call(void 0, () => {
17147
- debouncedUpdateSearch(searchTerm);
17148
- }, [debouncedUpdateSearch, searchTerm]);
17149
- _react.useEffect.call(void 0, () => {
17150
- if (data.data && data.data.length > 0) {
17151
- const howTos = data.data;
17152
- const filteredHowTos = howTos.filter((howTo) => howTo.id !== _optionalChain([currentHowTo, 'optionalAccess', _445 => _445.id]));
17153
- const options = filteredHowTos.map((howTo) => ({
17154
- label: howTo.name,
17155
- value: howTo.id,
17156
- howToData: howTo
17157
- }));
17158
- const existingOptionIds = new Set(options.map((option) => option.value));
17159
- const missingOptions = selectedHowTos.filter((howTo) => !existingOptionIds.has(howTo.id)).map((howTo) => ({
17160
- label: howTo.name,
17161
- value: howTo.id,
17162
- howToData: howTo
17163
- }));
17164
- setHowToOptions([...options, ...missingOptions]);
17165
- }
17166
- }, [data.data, currentHowTo, selectedHowTos]);
17167
- const selectedOptions = _react.useMemo.call(void 0, () => {
17168
- return selectedHowTos.map((howTo) => ({
17169
- value: howTo.id,
17170
- label: howTo.name
17171
- }));
17172
- }, [selectedHowTos]);
17173
- const handleChange = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (options) => {
17174
- const formValues = options.map((option) => ({
17175
- id: option.value,
17176
- name: option.label
17177
- }));
17178
- form.setValue(id, formValues, { shouldDirty: true, shouldTouch: true });
17179
- if (onChange) {
17180
- const fullData = options.map((option) => {
17181
- const howToOption = howToOptions.find((opt) => opt.value === option.value);
17182
- return _optionalChain([howToOption, 'optionalAccess', _446 => _446.howToData]);
17183
- }).filter(Boolean);
17184
- onChange(fullData);
17185
- }
17186
- }, "handleChange");
17187
- const handleSearchSync = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (search) => {
17188
- setSearchTerm(search);
17189
- return howToOptions;
17190
- }, "handleSearchSync");
17191
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-col", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FormFieldWrapper, { form, name: id, label, isRequired, children: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17192
- MultipleSelector,
17268
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17269
+ EntityMultiSelector,
17193
17270
  {
17194
- value: selectedOptions,
17195
- onChange: handleChange,
17196
- options: howToOptions,
17197
- placeholder,
17198
- maxDisplayCount: maxCount,
17199
- hideClearAllButton: true,
17200
- onSearchSync: handleSearchSync,
17201
- delay: 0,
17202
- emptyIndicator: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground", children: t("ui.search.no_results_generic") })
17271
+ id,
17272
+ form,
17273
+ label,
17274
+ placeholder: placeholder || t("ui.search.button"),
17275
+ emptyText: t("ui.search.no_results_generic"),
17276
+ isRequired,
17277
+ retriever: (params) => _chunkFKLP4NEDjs.HowToService.findMany(params),
17278
+ module: _chunkFKLP4NEDjs.Modules.HowTo,
17279
+ getLabel: (howTo) => howTo.name,
17280
+ excludeId: _optionalChain([currentHowTo, 'optionalAccess', _452 => _452.id]),
17281
+ onChange
17203
17282
  }
17204
- ) }) });
17283
+ );
17205
17284
  }
17206
17285
  _chunk7QVYU63Ejs.__name.call(void 0, HowToMultiSelector, "HowToMultiSelector");
17207
17286
 
@@ -17263,7 +17342,7 @@ function HowToSelector({
17263
17342
  }, "setHowTo");
17264
17343
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-col", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FormFieldWrapper, { form, name: id, label, isRequired, children: (field) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Popover, { open, onOpenChange: setOpen, modal: true, children: [
17265
17344
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-row items-center justify-between", children: [
17266
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-row items-center justify-start rounded-md", children: field.value ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-input/20 dark:bg-input/30 border-input flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([field, 'access', _447 => _447.value, 'optionalAccess', _448 => _448.name]), () => ( "")) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-input/20 dark:bg-input/30 border-input text-muted-foreground flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed", children: _nullishCoalesce(placeholder, () => ( t(`generic.search.placeholder`, { type: t(`entities.howtos`, { count: 1 }) }))) }) }) }),
17345
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full flex-row items-center justify-start rounded-md", children: field.value ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-input/20 dark:bg-input/30 border-input flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([field, 'access', _453 => _453.value, 'optionalAccess', _454 => _454.name]), () => ( "")) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-input/20 dark:bg-input/30 border-input text-muted-foreground flex h-7 w-full flex-row items-center justify-start rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed", children: _nullishCoalesce(placeholder, () => ( t(`generic.search.placeholder`, { type: t(`entities.howtos`, { count: 1 }) }))) }) }) }),
17267
17346
  field.value && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17268
17347
  _lucidereact.CircleX,
17269
17348
  {
@@ -17372,14 +17451,14 @@ function NotificationsList({ archived }) {
17372
17451
  ] }),
17373
17452
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Skeleton, { className: "h-8 w-20" })
17374
17453
  ] }) }) }, i)) }), "LoadingSkeleton");
17375
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: data.isLoaded ? _optionalChain([data, 'access', _449 => _449.data, 'optionalAccess', _450 => _450.map, 'call', _451 => _451((notification) => {
17454
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: data.isLoaded ? _optionalChain([data, 'access', _455 => _455.data, 'optionalAccess', _456 => _456.map, 'call', _457 => _457((notification) => {
17376
17455
  const notificationData = generateNotificationData({ notification, generateUrl });
17377
17456
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Card, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardContent, { className: "p-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex w-full flex-row items-center p-2`, children: [
17378
17457
  notificationData.actor ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-12 max-w-12 px-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Link, { href: generateUrl({ page: _chunkFKLP4NEDjs.Modules.User, id: notificationData.actor.id }), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserAvatar, { user: notificationData.actor, className: "h-8 w-8" }) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-14 max-w-14 px-2" }),
17379
17458
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
17380
17459
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
17381
17460
  strong: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (chunks) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: chunks }), "strong"),
17382
- actor: _nullishCoalesce(_optionalChain([notificationData, 'access', _452 => _452.actor, 'optionalAccess', _453 => _453.name]), () => ( "")),
17461
+ actor: _nullishCoalesce(_optionalChain([notificationData, 'access', _458 => _458.actor, 'optionalAccess', _459 => _459.name]), () => ( "")),
17383
17462
  title: notificationData.title
17384
17463
  }) }),
17385
17464
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground mt-1 w-full text-xs", children: new Date(notification.createdAt).toLocaleString() })
@@ -17729,7 +17808,7 @@ var DEFAULT_TRANSLATIONS = {
17729
17808
  invalidEmail: "Please enter a valid email address"
17730
17809
  };
17731
17810
  async function copyToClipboard(text) {
17732
- if (_optionalChain([navigator, 'access', _454 => _454.clipboard, 'optionalAccess', _455 => _455.writeText])) {
17811
+ if (_optionalChain([navigator, 'access', _460 => _460.clipboard, 'optionalAccess', _461 => _461.writeText])) {
17733
17812
  try {
17734
17813
  await navigator.clipboard.writeText(text);
17735
17814
  return true;
@@ -17771,7 +17850,7 @@ function ReferralWidget({
17771
17850
  const linkInputRef = _react.useRef.call(void 0, null);
17772
17851
  const config = _chunkOTZEXASKjs.getReferralConfig.call(void 0, );
17773
17852
  const baseUrl = config.referralUrlBase || (typeof window !== "undefined" ? window.location.origin : "");
17774
- const referralUrl = _optionalChain([stats, 'optionalAccess', _456 => _456.referralCode]) ? `${baseUrl}${config.referralPath}?${config.urlParamName}=${stats.referralCode}` : "";
17853
+ const referralUrl = _optionalChain([stats, 'optionalAccess', _462 => _462.referralCode]) ? `${baseUrl}${config.referralPath}?${config.urlParamName}=${stats.referralCode}` : "";
17775
17854
  if (!_chunkOTZEXASKjs.isReferralEnabled.call(void 0, )) {
17776
17855
  return null;
17777
17856
  }
@@ -17781,7 +17860,7 @@ function ReferralWidget({
17781
17860
  if (success) {
17782
17861
  setCopied(true);
17783
17862
  _chunkFKLP4NEDjs.showToast.call(void 0, t.copiedMessage);
17784
- _optionalChain([onLinkCopied, 'optionalCall', _457 => _457()]);
17863
+ _optionalChain([onLinkCopied, 'optionalCall', _463 => _463()]);
17785
17864
  setTimeout(() => setCopied(false), 2e3);
17786
17865
  } else {
17787
17866
  _chunkFKLP4NEDjs.showError.call(void 0, t.copyError);
@@ -17795,12 +17874,12 @@ function ReferralWidget({
17795
17874
  try {
17796
17875
  await sendInvite(email);
17797
17876
  _chunkFKLP4NEDjs.showToast.call(void 0, t.inviteSent);
17798
- _optionalChain([onInviteSent, 'optionalCall', _458 => _458(email)]);
17877
+ _optionalChain([onInviteSent, 'optionalCall', _464 => _464(email)]);
17799
17878
  setEmail("");
17800
17879
  } catch (err) {
17801
17880
  const error2 = err instanceof Error ? err : new Error(t.inviteError);
17802
17881
  _chunkFKLP4NEDjs.showError.call(void 0, error2.message);
17803
- _optionalChain([onInviteError, 'optionalCall', _459 => _459(error2)]);
17882
+ _optionalChain([onInviteError, 'optionalCall', _465 => _465(error2)]);
17804
17883
  }
17805
17884
  }, [email, sendInvite, t.inviteSent, t.inviteError, t.invalidEmail, onInviteSent, onInviteError]);
17806
17885
  const handleEmailKeyDown = _react.useCallback.call(void 0,
@@ -18554,7 +18633,7 @@ function OAuthClientList({
18554
18633
  OAuthClientCard,
18555
18634
  {
18556
18635
  client,
18557
- onClick: () => _optionalChain([onClientClick, 'optionalCall', _460 => _460(client)]),
18636
+ onClick: () => _optionalChain([onClientClick, 'optionalCall', _466 => _466(client)]),
18558
18637
  onEdit: onEditClick ? () => onEditClick(client) : void 0,
18559
18638
  onDelete: onDeleteClick ? () => onDeleteClick(client) : void 0
18560
18639
  },
@@ -18570,11 +18649,11 @@ _chunk7QVYU63Ejs.__name.call(void 0, OAuthClientList, "OAuthClientList");
18570
18649
  function OAuthClientForm({ client, onSubmit, onCancel, isLoading = false }) {
18571
18650
  const isEditMode = !!client;
18572
18651
  const [formState, setFormState] = _react.useState.call(void 0, {
18573
- name: _optionalChain([client, 'optionalAccess', _461 => _461.name]) || "",
18574
- description: _optionalChain([client, 'optionalAccess', _462 => _462.description]) || "",
18575
- redirectUris: _optionalChain([client, 'optionalAccess', _463 => _463.redirectUris, 'optionalAccess', _464 => _464.length]) ? client.redirectUris : [""],
18576
- allowedScopes: _optionalChain([client, 'optionalAccess', _465 => _465.allowedScopes]) || [],
18577
- isConfidential: _nullishCoalesce(_optionalChain([client, 'optionalAccess', _466 => _466.isConfidential]), () => ( true))
18652
+ name: _optionalChain([client, 'optionalAccess', _467 => _467.name]) || "",
18653
+ description: _optionalChain([client, 'optionalAccess', _468 => _468.description]) || "",
18654
+ redirectUris: _optionalChain([client, 'optionalAccess', _469 => _469.redirectUris, 'optionalAccess', _470 => _470.length]) ? client.redirectUris : [""],
18655
+ allowedScopes: _optionalChain([client, 'optionalAccess', _471 => _471.allowedScopes]) || [],
18656
+ isConfidential: _nullishCoalesce(_optionalChain([client, 'optionalAccess', _472 => _472.isConfidential]), () => ( true))
18578
18657
  });
18579
18658
  const [errors, setErrors] = _react.useState.call(void 0, {});
18580
18659
  const validate = _react.useCallback.call(void 0, () => {
@@ -18802,7 +18881,7 @@ function OAuthClientDetail({
18802
18881
  ] }),
18803
18882
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
18804
18883
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Label, { children: "Allowed Scopes" }),
18805
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2", children: client.allowedScopes.map((scope) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Badge, { variant: "secondary", children: _optionalChain([_chunkFKLP4NEDjs.OAUTH_SCOPE_DISPLAY, 'access', _467 => _467[scope], 'optionalAccess', _468 => _468.name]) || scope }, scope)) })
18884
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2", children: client.allowedScopes.map((scope) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Badge, { variant: "secondary", children: _optionalChain([_chunkFKLP4NEDjs.OAUTH_SCOPE_DISPLAY, 'access', _473 => _473[scope], 'optionalAccess', _474 => _474.name]) || scope }, scope)) })
18806
18885
  ] }),
18807
18886
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
18808
18887
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Label, { children: "Grant Types" }),
@@ -18946,7 +19025,7 @@ function OAuthConsentScreen({
18946
19025
  if (error || !clientInfo) {
18947
19026
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-screen flex items-center justify-center p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Card, { className: "w-full max-w-md", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardContent, { className: "py-8", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Alert, { variant: "destructive", children: [
18948
19027
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.AlertTriangle, { className: "h-4 w-4" }),
18949
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDescription, { children: _optionalChain([error, 'optionalAccess', _469 => _469.message]) || "Invalid authorization request. Please try again." })
19028
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDescription, { children: _optionalChain([error, 'optionalAccess', _475 => _475.message]) || "Invalid authorization request. Please try again." })
18950
19029
  ] }) }) }) });
18951
19030
  }
18952
19031
  const { client, scopes } = clientInfo;
@@ -19162,7 +19241,7 @@ function WaitlistForm({ onSuccess }) {
19162
19241
  questionnaire: values.questionnaire
19163
19242
  });
19164
19243
  setIsSuccess(true);
19165
- _optionalChain([onSuccess, 'optionalCall', _470 => _470()]);
19244
+ _optionalChain([onSuccess, 'optionalCall', _476 => _476()]);
19166
19245
  } catch (e) {
19167
19246
  errorToast({ error: e });
19168
19247
  } finally {
@@ -19785,7 +19864,7 @@ function RbacModuleTable({ module, roles, stateApi }) {
19785
19864
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-4 py-1 text-xs font-medium text-muted-foreground", children: role.name }),
19786
19865
  _chunkOTZEXASKjs.ACTION_TYPES.map((actionType) => {
19787
19866
  const roleValue = stateApi.getRolePermission(role.id, module.id, actionType);
19788
- const originalMapping = _optionalChain([stateApi, 'access', _471 => _471.original, 'optionalAccess', _472 => _472.permissionMappings, 'access', _473 => _473.find, 'call', _474 => _474(
19867
+ const originalMapping = _optionalChain([stateApi, 'access', _477 => _477.original, 'optionalAccess', _478 => _478.permissionMappings, 'access', _479 => _479.find, 'call', _480 => _480(
19789
19868
  (pm) => pm.roleId === role.id && pm.moduleId === module.id
19790
19869
  )]);
19791
19870
  const originalRoleValue = originalMapping ? _nullishCoalesce(originalMapping.permissions[actionType], () => ( null)) : void 0;
@@ -20423,5 +20502,6 @@ _chunk7QVYU63Ejs.__name.call(void 0, RbacContainer, "RbacContainer");
20423
20502
 
20424
20503
 
20425
20504
 
20426
- exports.JsonApiProvider = JsonApiProvider; exports.useJsonApiGet = useJsonApiGet; exports.useJsonApiMutation = useJsonApiMutation; exports.useRehydration = useRehydration; exports.useRehydrationList = useRehydrationList; exports.TableGeneratorRegistry = TableGeneratorRegistry; exports.tableGeneratorRegistry = tableGeneratorRegistry; exports.usePageUrlGenerator = usePageUrlGenerator; exports.useUrlRewriter = useUrlRewriter; exports.useDataListRetriever = useDataListRetriever; exports.useDebounce = useDebounce2; exports.registerTableGenerator = registerTableGenerator; exports.useTableGenerator = useTableGenerator; exports.useCustomD3Graph = useCustomD3Graph; exports.SocketContext = SocketContext; exports.SocketProvider = SocketProvider; exports.useSocketContext = useSocketContext; exports.CurrentUserProvider = CurrentUserProvider; exports.useCurrentUserContext = useCurrentUserContext; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AlertAction = AlertAction; exports.buttonVariants = buttonVariants; exports.Button = Button; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogMedia = AlertDialogMedia; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.Avatar = Avatar; exports.AvatarImage = AvatarImage; exports.AvatarFallback = AvatarFallback; exports.AvatarBadge = AvatarBadge; exports.AvatarGroup = AvatarGroup; exports.AvatarGroupCount = AvatarGroupCount; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.Calendar = Calendar; exports.CalendarDayButton = CalendarDayButton; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardAction = CardAction; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.useCarousel = useCarousel; exports.Carousel = Carousel; exports.CarouselContent = CarouselContent; exports.CarouselItem = CarouselItem; exports.CarouselPrevious = CarouselPrevious; exports.CarouselNext = CarouselNext; exports.ChartContainer = ChartContainer; exports.ChartStyle = ChartStyle; exports.ChartTooltip = ChartTooltip; exports.ChartTooltipContent = ChartTooltipContent; exports.ChartLegend = ChartLegend; exports.ChartLegendContent = ChartLegendContent; exports.Checkbox = Checkbox; exports.Collapsible = Collapsible; exports.CollapsibleTrigger = CollapsibleTrigger; exports.CollapsibleContent = CollapsibleContent; exports.Input = Input; exports.Textarea = Textarea; exports.InputGroup = InputGroup; exports.InputGroupAddon = InputGroupAddon; exports.InputGroupButton = InputGroupButton; exports.InputGroupText = InputGroupText; exports.InputGroupInput = InputGroupInput; exports.InputGroupTextarea = InputGroupTextarea; exports.Combobox = Combobox; exports.ComboboxValue = ComboboxValue; exports.ComboboxTrigger = ComboboxTrigger; exports.ComboboxInput = ComboboxInput; exports.ComboboxContent = ComboboxContent; exports.ComboboxList = ComboboxList; exports.ComboboxItem = ComboboxItem; exports.ComboboxGroup = ComboboxGroup; exports.ComboboxLabel = ComboboxLabel; exports.ComboboxCollection = ComboboxCollection; exports.ComboboxEmpty = ComboboxEmpty; exports.ComboboxSeparator = ComboboxSeparator; exports.ComboboxChips = ComboboxChips; exports.ComboboxChip = ComboboxChip; exports.ComboboxChipsInput = ComboboxChipsInput; exports.useComboboxAnchor = useComboboxAnchor; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.Command = Command; exports.CommandDialog = CommandDialog; exports.CommandInput = CommandInput; exports.CommandList = CommandList; exports.CommandEmpty = CommandEmpty; exports.CommandGroup = CommandGroup; exports.CommandSeparator = CommandSeparator; exports.CommandItem = CommandItem; exports.CommandShortcut = CommandShortcut; exports.ContextMenu = ContextMenu; exports.ContextMenuPortal = ContextMenuPortal; exports.ContextMenuTrigger = ContextMenuTrigger; exports.ContextMenuContent = ContextMenuContent; exports.ContextMenuGroup = ContextMenuGroup; exports.ContextMenuLabel = ContextMenuLabel; exports.ContextMenuItem = ContextMenuItem; exports.ContextMenuSub = ContextMenuSub; exports.ContextMenuSubTrigger = ContextMenuSubTrigger; exports.ContextMenuSubContent = ContextMenuSubContent; exports.ContextMenuCheckboxItem = ContextMenuCheckboxItem; exports.ContextMenuRadioGroup = ContextMenuRadioGroup; exports.ContextMenuRadioItem = ContextMenuRadioItem; exports.ContextMenuSeparator = ContextMenuSeparator; exports.ContextMenuShortcut = ContextMenuShortcut; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerPortal = DrawerPortal; exports.DrawerClose = DrawerClose; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerFooter = DrawerFooter; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DropdownMenu = DropdownMenu; exports.DropdownMenuPortal = DropdownMenuPortal; exports.DropdownMenuTrigger = DropdownMenuTrigger; exports.DropdownMenuContent = DropdownMenuContent; exports.DropdownMenuGroup = DropdownMenuGroup; exports.DropdownMenuLabel = DropdownMenuLabel; exports.DropdownMenuItem = DropdownMenuItem; exports.DropdownMenuSub = DropdownMenuSub; exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger; exports.DropdownMenuSubContent = DropdownMenuSubContent; exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem; exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup; exports.DropdownMenuRadioItem = DropdownMenuRadioItem; exports.DropdownMenuSeparator = DropdownMenuSeparator; exports.DropdownMenuShortcut = DropdownMenuShortcut; exports.Label = Label; exports.Separator = Separator; exports.FieldSet = FieldSet; exports.FieldLegend = FieldLegend; exports.FieldGroup = FieldGroup; exports.Field = Field; exports.FieldContent = FieldContent; exports.FieldLabel = FieldLabel; exports.FieldTitle = FieldTitle; exports.FieldDescription = FieldDescription; exports.FieldSeparator = FieldSeparator; exports.FieldError = FieldError; exports.Form = Form; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.InputOTP = InputOTP; exports.InputOTPGroup = InputOTPGroup; exports.InputOTPSlot = InputOTPSlot; exports.InputOTPSeparator = InputOTPSeparator; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuPositioner = NavigationMenuPositioner; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.Popover = Popover; exports.PopoverTrigger = PopoverTrigger; exports.PopoverContent = PopoverContent; exports.PopoverHeader = PopoverHeader; exports.PopoverTitle = PopoverTitle; exports.PopoverDescription = PopoverDescription; exports.Progress = Progress; exports.ProgressTrack = ProgressTrack; exports.ProgressIndicator = ProgressIndicator; exports.ProgressLabel = ProgressLabel; exports.ProgressValue = ProgressValue; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.ResizablePanelGroup = ResizablePanelGroup; exports.ResizablePanel = ResizablePanel; exports.ResizableHandle = ResizableHandle; exports.ScrollArea = ScrollArea; exports.ScrollBar = ScrollBar; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Skeleton = Skeleton; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip2; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.useSidebar = useSidebar; exports.SidebarProvider = SidebarProvider; exports.Sidebar = Sidebar; exports.SidebarTrigger = SidebarTrigger; exports.SidebarRail = SidebarRail; exports.SidebarInset = SidebarInset; exports.SidebarInput = SidebarInput; exports.SidebarHeader = SidebarHeader; exports.SidebarFooter = SidebarFooter; exports.SidebarSeparator = SidebarSeparator; exports.SidebarContent = SidebarContent; exports.SidebarGroup = SidebarGroup; exports.SidebarGroupLabel = SidebarGroupLabel; exports.SidebarGroupAction = SidebarGroupAction; exports.SidebarGroupContent = SidebarGroupContent; exports.SidebarMenu = SidebarMenu; exports.SidebarMenuItem = SidebarMenuItem; exports.SidebarMenuButton = SidebarMenuButton; exports.SidebarMenuAction = SidebarMenuAction; exports.SidebarMenuBadge = SidebarMenuBadge; exports.SidebarMenuSkeleton = SidebarMenuSkeleton; exports.SidebarMenuSub = SidebarMenuSub; exports.SidebarMenuSubItem = SidebarMenuSubItem; exports.SidebarMenuSubButton = SidebarMenuSubButton; exports.Slider = Slider; exports.Toaster = Toaster; exports.Switch = Switch; exports.Table = Table; exports.TableHeader = TableHeader; exports.TableBody = TableBody; exports.TableFooter = TableFooter; exports.TableRow = TableRow; exports.TableHead = TableHead; exports.TableCell = TableCell; exports.TableCaption = TableCaption; exports.Tabs = Tabs; exports.tabsListVariants = tabsListVariants; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.KanbanRoot = KanbanRoot; exports.KanbanBoard = KanbanBoard; exports.KanbanColumn = KanbanColumn; exports.KanbanColumnHandle = KanbanColumnHandle; exports.KanbanItem = KanbanItem; exports.KanbanItemHandle = KanbanItemHandle; exports.KanbanOverlay = KanbanOverlay; exports.Link = Link; exports.MultiSelect = MultiSelect; exports.useDebounce2 = useDebounce; exports.MultipleSelector = MultipleSelector; exports.EntityAvatar = EntityAvatar; exports.errorToast = errorToast; exports.EditableAvatar = EditableAvatar; exports.TableCellAvatar = TableCellAvatar; exports.HeaderChildrenProvider = HeaderChildrenProvider; exports.useHeaderChildren = useHeaderChildren; exports.HeaderLeftContentProvider = HeaderLeftContentProvider; exports.useHeaderLeftContent = useHeaderLeftContent; exports.BreadcrumbNavigation = BreadcrumbNavigation; exports.ContentTitle = ContentTitle; exports.SharedProvider = SharedProvider; exports.useSharedContext = useSharedContext; exports.Header = Header; exports.ModeToggleSwitch = ModeToggleSwitch; exports.PageSection = PageSection; exports.recentPagesAtom = recentPagesAtom; exports.RecentPagesNavigator = RecentPagesNavigator; exports.PageContainer = PageContainer; exports.ReactMarkdownContainer = ReactMarkdownContainer; exports.RoundPageContainerTitle = RoundPageContainerTitle; exports.RoundPageContainer = RoundPageContainer; exports.TabsContainer = TabsContainer; exports.AttributeElement = AttributeElement; exports.AllUsersListContainer = AllUsersListContainer; exports.UserContent = UserContent; exports.UserAvatar = UserAvatar; exports.UserAvatarList = UserAvatarList; exports.UserIndexDetails = UserIndexDetails; exports.UserStanadaloneDetails = UserStanadaloneDetails; exports.UserContainer = UserContainer; exports.UserIndexContainer = UserIndexContainer; exports.UsersListContainer = UsersListContainer; exports.AdminUsersList = AdminUsersList; exports.CompanyUsersList = CompanyUsersList; exports.ContributorsList = ContributorsList; exports.RelevantUsersList = RelevantUsersList; exports.RoleUsersList = RoleUsersList; exports.UserListInAdd = UserListInAdd; exports.UsersList = UsersList; exports.UsersListByContentIds = UsersListByContentIds; exports.AllowedUsersDetails = AllowedUsersDetails; exports.ErrorDetails = ErrorDetails; exports.BlockNoteEditorContainer = BlockNoteEditorContainer; exports.CommonAssociationTrigger = CommonAssociationTrigger; exports.CommonAssociationCommandDialog = CommonAssociationCommandDialog; exports.triggerAssociationToast = triggerAssociationToast; exports.CommonDeleter = CommonDeleter; exports.CommonEditorButtons = CommonEditorButtons; exports.CommonEditorHeader = CommonEditorHeader; exports.CommonEditorDiscardDialog = CommonEditorDiscardDialog; exports.CommonEditorTrigger = CommonEditorTrigger; exports.useEditorDialog = useEditorDialog; exports.EditorSheet = EditorSheet; exports.DatePickerPopover = DatePickerPopover; exports.DateRangeSelector = DateRangeSelector; exports.useFileUpload = useFileUpload; exports.FileUploader = FileUploader; exports.FileUploaderContent = FileUploaderContent; exports.FileUploaderItem = FileUploaderItem; exports.FileInput = FileInput; exports.FormFieldWrapper = FormFieldWrapper; exports.FormCheckbox = FormCheckbox; exports.FormBlockNote = FormBlockNote; exports.FormDate = FormDate; exports.FormDateTime = FormDateTime; exports.FormInput = FormInput; exports.PasswordInput = PasswordInput; exports.FormPassword = FormPassword; exports.FormPlaceAutocomplete = FormPlaceAutocomplete; exports.FormSelect = FormSelect; exports.FormSlider = FormSlider; exports.FormSwitch = FormSwitch; exports.FormTextarea = FormTextarea; exports.GdprConsentCheckbox = GdprConsentCheckbox; exports.FormFeatures = FormFeatures; exports.PageContainerContentDetails = PageContainerContentDetails; exports.PageContentContainer = PageContentContainer; exports.cellComponent = cellComponent; exports.cellDate = cellDate; exports.cellId = cellId; exports.cellLink = cellLink; exports.cellUrl = cellUrl; exports.ContentTableSearch = ContentTableSearch; exports.ContentListTable = ContentListTable; exports.ItalianFiscalData_default = ItalianFiscalData_default; exports.ItalianFiscalDataDisplay = ItalianFiscalDataDisplay; exports.parseFiscalData = parseFiscalData; exports.FiscalDataDisplay = FiscalDataDisplay; exports.GdprConsentSection = GdprConsentSection; exports.AuthContainer = AuthContainer; exports.BackupCodesDialog = BackupCodesDialog; exports.TotpInput = TotpInput; exports.DisableTwoFactorDialog = DisableTwoFactorDialog; exports.PasskeyList = PasskeyList; exports.PasskeySetupDialog = PasskeySetupDialog; exports.TotpAuthenticatorList = TotpAuthenticatorList; exports.TotpSetupDialog = TotpSetupDialog; exports.TwoFactorSettings = TwoFactorSettings; exports.SecurityContainer = SecurityContainer; exports.LandingComponent = LandingComponent; exports.AcceptInvitation = AcceptInvitation; exports.ActivateAccount = ActivateAccount; exports.Cookies = Cookies; exports.ForgotPassword = ForgotPassword; exports.Login = Login; exports.Logout = Logout; exports.RefreshUser = RefreshUser; exports.ResetPassword = ResetPassword; exports.PasskeyButton = PasskeyButton; exports.TwoFactorChallenge = TwoFactorChallenge; exports.CompanyContent = CompanyContent; exports.TokenStatusIndicator = TokenStatusIndicator; exports.CompanyDetails = CompanyDetails; exports.AdminCompanyContainer = AdminCompanyContainer; exports.CompanyContainer = CompanyContainer; exports.CompanyConfigurationEditor = CompanyConfigurationEditor; exports.CompanyDeleter = CompanyDeleter; exports.CompanyEditor = CompanyEditor; exports.CompaniesList = CompaniesList; exports.ContentsList = ContentsList; exports.ContentsListById = ContentsListById; exports.RelevantContentsList = RelevantContentsList; exports.HowToCommandViewer = HowToCommandViewer; exports.HowToCommand = HowToCommand; exports.HowToDeleter = HowToDeleter; exports.HowToEditor = HowToEditor; exports.HowToProvider = HowToProvider; exports.useHowToContext = useHowToContext; exports.HowToContent = HowToContent; exports.HowToDetails = HowToDetails; exports.HowToContainer = HowToContainer; exports.HowToList = HowToList; exports.HowToListContainer = HowToListContainer; exports.HowToMultiSelector = HowToMultiSelector; exports.HowToSelector = HowToSelector; exports.NotificationErrorBoundary = NotificationErrorBoundary; exports.generateNotificationData = generateNotificationData; exports.NotificationToast = NotificationToast; exports.NotificationMenuItem = NotificationMenuItem; exports.NotificationContextProvider = NotificationContextProvider; exports.useNotificationContext = useNotificationContext; exports.NotificationsList = NotificationsList; exports.NotificationsListContainer = NotificationsListContainer; exports.NotificationModal = NotificationModal; exports.PushNotificationProvider = PushNotificationProvider; exports.OnboardingCard = OnboardingCard; exports.ReferralCodeCapture = ReferralCodeCapture; exports.ReferralWidget = ReferralWidget; exports.ReferralDialog = ReferralDialog; exports.RoleProvider = RoleProvider; exports.useRoleContext = useRoleContext; exports.RoleDetails = RoleDetails; exports.RoleContainer = RoleContainer; exports.FormRoles = FormRoles; exports.RemoveUserFromRole = RemoveUserFromRole; exports.UserRoleAdd = UserRoleAdd; exports.useRoleTableStructure = useRoleTableStructure; exports.RolesList = RolesList; exports.UserRolesList = UserRolesList; exports.OAuthRedirectUriInput = OAuthRedirectUriInput; exports.OAuthScopeSelector = OAuthScopeSelector; exports.OAuthClientSecretDisplay = OAuthClientSecretDisplay; exports.OAuthClientCard = OAuthClientCard; exports.OAuthClientList = OAuthClientList; exports.OAuthClientForm = OAuthClientForm; exports.OAuthClientDetail = OAuthClientDetail; exports.OAuthConsentHeader = OAuthConsentHeader; exports.OAuthScopeList = OAuthScopeList; exports.OAuthConsentActions = OAuthConsentActions; exports.useOAuthConsent = useOAuthConsent; exports.OAuthConsentScreen = OAuthConsentScreen; exports.WaitlistQuestionnaireRenderer = WaitlistQuestionnaireRenderer; exports.WaitlistForm = WaitlistForm; exports.WaitlistHeroSection = WaitlistHeroSection; exports.WaitlistSuccessState = WaitlistSuccessState; exports.WaitlistConfirmation = WaitlistConfirmation; exports.WaitlistList = WaitlistList; exports.useRbacState = useRbacState; exports.generateMigrationFile = generateMigrationFile; exports.downloadMigrationFile = downloadMigrationFile; exports.RbacPermissionCell = RbacPermissionCell; exports.RbacPermissionPicker = RbacPermissionPicker; exports.RbacModuleTable = RbacModuleTable; exports.RbacFeatureSection = RbacFeatureSection; exports.RbacToolbar = RbacToolbar; exports.RbacContainer = RbacContainer; exports.AddUserToRole = AddUserToRole; exports.UserAvatarEditor = UserAvatarEditor; exports.UserDeleter = UserDeleter; exports.UserEditor = UserEditor; exports.UserMultiSelect = UserMultiSelect; exports.UserReactivator = UserReactivator; exports.UserResentInvitationEmail = UserResentInvitationEmail; exports.UserSelector = UserSelector; exports.UserProvider = UserProvider; exports.useUserContext = useUserContext; exports.CompanyProvider = CompanyProvider; exports.useCompanyContext = useCompanyContext; exports.DEFAULT_ONBOARDING_LABELS = DEFAULT_ONBOARDING_LABELS; exports.OnboardingProvider = OnboardingProvider; exports.useOnboarding = useOnboarding; exports.CommonProvider = CommonProvider; exports.useCommonContext = useCommonContext; exports.useNotificationSync = useNotificationSync; exports.usePageTracker = usePageTracker; exports.useSocket = useSocket; exports.useSubscriptionStatus = useSubscriptionStatus; exports.useUserSearch = useUserSearch; exports.useUserTableStructure = useUserTableStructure; exports.useContentTableStructure = useContentTableStructure; exports.useOAuthClients = useOAuthClients; exports.useOAuthClient = useOAuthClient;
20427
- //# sourceMappingURL=chunk-XUTMY6K5.js.map
20505
+
20506
+ exports.JsonApiProvider = JsonApiProvider; exports.useJsonApiGet = useJsonApiGet; exports.useJsonApiMutation = useJsonApiMutation; exports.useRehydration = useRehydration; exports.useRehydrationList = useRehydrationList; exports.TableGeneratorRegistry = TableGeneratorRegistry; exports.tableGeneratorRegistry = tableGeneratorRegistry; exports.usePageUrlGenerator = usePageUrlGenerator; exports.useUrlRewriter = useUrlRewriter; exports.useDataListRetriever = useDataListRetriever; exports.useDebounce = useDebounce2; exports.registerTableGenerator = registerTableGenerator; exports.useTableGenerator = useTableGenerator; exports.useCustomD3Graph = useCustomD3Graph; exports.SocketContext = SocketContext; exports.SocketProvider = SocketProvider; exports.useSocketContext = useSocketContext; exports.CurrentUserProvider = CurrentUserProvider; exports.useCurrentUserContext = useCurrentUserContext; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AlertAction = AlertAction; exports.buttonVariants = buttonVariants; exports.Button = Button; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogMedia = AlertDialogMedia; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.Avatar = Avatar; exports.AvatarImage = AvatarImage; exports.AvatarFallback = AvatarFallback; exports.AvatarBadge = AvatarBadge; exports.AvatarGroup = AvatarGroup; exports.AvatarGroupCount = AvatarGroupCount; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.Calendar = Calendar; exports.CalendarDayButton = CalendarDayButton; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardAction = CardAction; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.useCarousel = useCarousel; exports.Carousel = Carousel; exports.CarouselContent = CarouselContent; exports.CarouselItem = CarouselItem; exports.CarouselPrevious = CarouselPrevious; exports.CarouselNext = CarouselNext; exports.ChartContainer = ChartContainer; exports.ChartStyle = ChartStyle; exports.ChartTooltip = ChartTooltip; exports.ChartTooltipContent = ChartTooltipContent; exports.ChartLegend = ChartLegend; exports.ChartLegendContent = ChartLegendContent; exports.Checkbox = Checkbox; exports.Collapsible = Collapsible; exports.CollapsibleTrigger = CollapsibleTrigger; exports.CollapsibleContent = CollapsibleContent; exports.Input = Input; exports.Textarea = Textarea; exports.InputGroup = InputGroup; exports.InputGroupAddon = InputGroupAddon; exports.InputGroupButton = InputGroupButton; exports.InputGroupText = InputGroupText; exports.InputGroupInput = InputGroupInput; exports.InputGroupTextarea = InputGroupTextarea; exports.Combobox = Combobox; exports.ComboboxValue = ComboboxValue; exports.ComboboxTrigger = ComboboxTrigger; exports.ComboboxInput = ComboboxInput; exports.ComboboxContent = ComboboxContent; exports.ComboboxList = ComboboxList; exports.ComboboxItem = ComboboxItem; exports.ComboboxGroup = ComboboxGroup; exports.ComboboxLabel = ComboboxLabel; exports.ComboboxCollection = ComboboxCollection; exports.ComboboxEmpty = ComboboxEmpty; exports.ComboboxSeparator = ComboboxSeparator; exports.ComboboxChips = ComboboxChips; exports.ComboboxChip = ComboboxChip; exports.ComboboxChipsInput = ComboboxChipsInput; exports.useComboboxAnchor = useComboboxAnchor; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.Command = Command; exports.CommandDialog = CommandDialog; exports.CommandInput = CommandInput; exports.CommandList = CommandList; exports.CommandEmpty = CommandEmpty; exports.CommandGroup = CommandGroup; exports.CommandSeparator = CommandSeparator; exports.CommandItem = CommandItem; exports.CommandShortcut = CommandShortcut; exports.ContextMenu = ContextMenu; exports.ContextMenuPortal = ContextMenuPortal; exports.ContextMenuTrigger = ContextMenuTrigger; exports.ContextMenuContent = ContextMenuContent; exports.ContextMenuGroup = ContextMenuGroup; exports.ContextMenuLabel = ContextMenuLabel; exports.ContextMenuItem = ContextMenuItem; exports.ContextMenuSub = ContextMenuSub; exports.ContextMenuSubTrigger = ContextMenuSubTrigger; exports.ContextMenuSubContent = ContextMenuSubContent; exports.ContextMenuCheckboxItem = ContextMenuCheckboxItem; exports.ContextMenuRadioGroup = ContextMenuRadioGroup; exports.ContextMenuRadioItem = ContextMenuRadioItem; exports.ContextMenuSeparator = ContextMenuSeparator; exports.ContextMenuShortcut = ContextMenuShortcut; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerPortal = DrawerPortal; exports.DrawerClose = DrawerClose; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerFooter = DrawerFooter; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DropdownMenu = DropdownMenu; exports.DropdownMenuPortal = DropdownMenuPortal; exports.DropdownMenuTrigger = DropdownMenuTrigger; exports.DropdownMenuContent = DropdownMenuContent; exports.DropdownMenuGroup = DropdownMenuGroup; exports.DropdownMenuLabel = DropdownMenuLabel; exports.DropdownMenuItem = DropdownMenuItem; exports.DropdownMenuSub = DropdownMenuSub; exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger; exports.DropdownMenuSubContent = DropdownMenuSubContent; exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem; exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup; exports.DropdownMenuRadioItem = DropdownMenuRadioItem; exports.DropdownMenuSeparator = DropdownMenuSeparator; exports.DropdownMenuShortcut = DropdownMenuShortcut; exports.Label = Label; exports.Separator = Separator; exports.FieldSet = FieldSet; exports.FieldLegend = FieldLegend; exports.FieldGroup = FieldGroup; exports.Field = Field; exports.FieldContent = FieldContent; exports.FieldLabel = FieldLabel; exports.FieldTitle = FieldTitle; exports.FieldDescription = FieldDescription; exports.FieldSeparator = FieldSeparator; exports.FieldError = FieldError; exports.Form = Form; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.InputOTP = InputOTP; exports.InputOTPGroup = InputOTPGroup; exports.InputOTPSlot = InputOTPSlot; exports.InputOTPSeparator = InputOTPSeparator; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuPositioner = NavigationMenuPositioner; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.Popover = Popover; exports.PopoverTrigger = PopoverTrigger; exports.PopoverContent = PopoverContent; exports.PopoverHeader = PopoverHeader; exports.PopoverTitle = PopoverTitle; exports.PopoverDescription = PopoverDescription; exports.Progress = Progress; exports.ProgressTrack = ProgressTrack; exports.ProgressIndicator = ProgressIndicator; exports.ProgressLabel = ProgressLabel; exports.ProgressValue = ProgressValue; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.ResizablePanelGroup = ResizablePanelGroup; exports.ResizablePanel = ResizablePanel; exports.ResizableHandle = ResizableHandle; exports.ScrollArea = ScrollArea; exports.ScrollBar = ScrollBar; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Skeleton = Skeleton; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip2; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.useSidebar = useSidebar; exports.SidebarProvider = SidebarProvider; exports.Sidebar = Sidebar; exports.SidebarTrigger = SidebarTrigger; exports.SidebarRail = SidebarRail; exports.SidebarInset = SidebarInset; exports.SidebarInput = SidebarInput; exports.SidebarHeader = SidebarHeader; exports.SidebarFooter = SidebarFooter; exports.SidebarSeparator = SidebarSeparator; exports.SidebarContent = SidebarContent; exports.SidebarGroup = SidebarGroup; exports.SidebarGroupLabel = SidebarGroupLabel; exports.SidebarGroupAction = SidebarGroupAction; exports.SidebarGroupContent = SidebarGroupContent; exports.SidebarMenu = SidebarMenu; exports.SidebarMenuItem = SidebarMenuItem; exports.SidebarMenuButton = SidebarMenuButton; exports.SidebarMenuAction = SidebarMenuAction; exports.SidebarMenuBadge = SidebarMenuBadge; exports.SidebarMenuSkeleton = SidebarMenuSkeleton; exports.SidebarMenuSub = SidebarMenuSub; exports.SidebarMenuSubItem = SidebarMenuSubItem; exports.SidebarMenuSubButton = SidebarMenuSubButton; exports.Slider = Slider; exports.Toaster = Toaster; exports.Switch = Switch; exports.Table = Table; exports.TableHeader = TableHeader; exports.TableBody = TableBody; exports.TableFooter = TableFooter; exports.TableRow = TableRow; exports.TableHead = TableHead; exports.TableCell = TableCell; exports.TableCaption = TableCaption; exports.Tabs = Tabs; exports.tabsListVariants = tabsListVariants; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.KanbanRoot = KanbanRoot; exports.KanbanBoard = KanbanBoard; exports.KanbanColumn = KanbanColumn; exports.KanbanColumnHandle = KanbanColumnHandle; exports.KanbanItem = KanbanItem; exports.KanbanItemHandle = KanbanItemHandle; exports.KanbanOverlay = KanbanOverlay; exports.Link = Link; exports.MultiSelect = MultiSelect; exports.useDebounce2 = useDebounce; exports.MultipleSelector = MultipleSelector; exports.EntityAvatar = EntityAvatar; exports.errorToast = errorToast; exports.EditableAvatar = EditableAvatar; exports.TableCellAvatar = TableCellAvatar; exports.HeaderChildrenProvider = HeaderChildrenProvider; exports.useHeaderChildren = useHeaderChildren; exports.HeaderLeftContentProvider = HeaderLeftContentProvider; exports.useHeaderLeftContent = useHeaderLeftContent; exports.BreadcrumbNavigation = BreadcrumbNavigation; exports.ContentTitle = ContentTitle; exports.SharedProvider = SharedProvider; exports.useSharedContext = useSharedContext; exports.Header = Header; exports.ModeToggleSwitch = ModeToggleSwitch; exports.PageSection = PageSection; exports.recentPagesAtom = recentPagesAtom; exports.RecentPagesNavigator = RecentPagesNavigator; exports.PageContainer = PageContainer; exports.ReactMarkdownContainer = ReactMarkdownContainer; exports.RoundPageContainerTitle = RoundPageContainerTitle; exports.RoundPageContainer = RoundPageContainer; exports.TabsContainer = TabsContainer; exports.AttributeElement = AttributeElement; exports.AllUsersListContainer = AllUsersListContainer; exports.UserContent = UserContent; exports.UserAvatar = UserAvatar; exports.UserAvatarList = UserAvatarList; exports.UserIndexDetails = UserIndexDetails; exports.UserStanadaloneDetails = UserStanadaloneDetails; exports.UserContainer = UserContainer; exports.UserIndexContainer = UserIndexContainer; exports.UsersListContainer = UsersListContainer; exports.AdminUsersList = AdminUsersList; exports.CompanyUsersList = CompanyUsersList; exports.ContributorsList = ContributorsList; exports.RelevantUsersList = RelevantUsersList; exports.RoleUsersList = RoleUsersList; exports.UserListInAdd = UserListInAdd; exports.UsersList = UsersList; exports.UsersListByContentIds = UsersListByContentIds; exports.AllowedUsersDetails = AllowedUsersDetails; exports.ErrorDetails = ErrorDetails; exports.BlockNoteEditorContainer = BlockNoteEditorContainer; exports.CommonAssociationTrigger = CommonAssociationTrigger; exports.CommonAssociationCommandDialog = CommonAssociationCommandDialog; exports.triggerAssociationToast = triggerAssociationToast; exports.FormFieldWrapper = FormFieldWrapper; exports.EntityMultiSelector = EntityMultiSelector; exports.CommonDeleter = CommonDeleter; exports.CommonEditorButtons = CommonEditorButtons; exports.CommonEditorHeader = CommonEditorHeader; exports.CommonEditorDiscardDialog = CommonEditorDiscardDialog; exports.CommonEditorTrigger = CommonEditorTrigger; exports.useEditorDialog = useEditorDialog; exports.EditorSheet = EditorSheet; exports.DatePickerPopover = DatePickerPopover; exports.DateRangeSelector = DateRangeSelector; exports.useFileUpload = useFileUpload; exports.FileUploader = FileUploader; exports.FileUploaderContent = FileUploaderContent; exports.FileUploaderItem = FileUploaderItem; exports.FileInput = FileInput; exports.FormCheckbox = FormCheckbox; exports.FormBlockNote = FormBlockNote; exports.FormDate = FormDate; exports.FormDateTime = FormDateTime; exports.FormInput = FormInput; exports.PasswordInput = PasswordInput; exports.FormPassword = FormPassword; exports.FormPlaceAutocomplete = FormPlaceAutocomplete; exports.FormSelect = FormSelect; exports.FormSlider = FormSlider; exports.FormSwitch = FormSwitch; exports.FormTextarea = FormTextarea; exports.GdprConsentCheckbox = GdprConsentCheckbox; exports.FormFeatures = FormFeatures; exports.PageContainerContentDetails = PageContainerContentDetails; exports.PageContentContainer = PageContentContainer; exports.cellComponent = cellComponent; exports.cellDate = cellDate; exports.cellId = cellId; exports.cellLink = cellLink; exports.cellUrl = cellUrl; exports.ContentTableSearch = ContentTableSearch; exports.ContentListTable = ContentListTable; exports.ItalianFiscalData_default = ItalianFiscalData_default; exports.ItalianFiscalDataDisplay = ItalianFiscalDataDisplay; exports.parseFiscalData = parseFiscalData; exports.FiscalDataDisplay = FiscalDataDisplay; exports.GdprConsentSection = GdprConsentSection; exports.AuthContainer = AuthContainer; exports.BackupCodesDialog = BackupCodesDialog; exports.TotpInput = TotpInput; exports.DisableTwoFactorDialog = DisableTwoFactorDialog; exports.PasskeyList = PasskeyList; exports.PasskeySetupDialog = PasskeySetupDialog; exports.TotpAuthenticatorList = TotpAuthenticatorList; exports.TotpSetupDialog = TotpSetupDialog; exports.TwoFactorSettings = TwoFactorSettings; exports.SecurityContainer = SecurityContainer; exports.LandingComponent = LandingComponent; exports.AcceptInvitation = AcceptInvitation; exports.ActivateAccount = ActivateAccount; exports.Cookies = Cookies; exports.ForgotPassword = ForgotPassword; exports.Login = Login; exports.Logout = Logout; exports.RefreshUser = RefreshUser; exports.ResetPassword = ResetPassword; exports.PasskeyButton = PasskeyButton; exports.TwoFactorChallenge = TwoFactorChallenge; exports.CompanyContent = CompanyContent; exports.TokenStatusIndicator = TokenStatusIndicator; exports.CompanyDetails = CompanyDetails; exports.AdminCompanyContainer = AdminCompanyContainer; exports.CompanyContainer = CompanyContainer; exports.CompanyConfigurationEditor = CompanyConfigurationEditor; exports.CompanyDeleter = CompanyDeleter; exports.CompanyEditor = CompanyEditor; exports.CompaniesList = CompaniesList; exports.ContentsList = ContentsList; exports.ContentsListById = ContentsListById; exports.RelevantContentsList = RelevantContentsList; exports.HowToCommandViewer = HowToCommandViewer; exports.HowToCommand = HowToCommand; exports.HowToDeleter = HowToDeleter; exports.HowToEditor = HowToEditor; exports.HowToProvider = HowToProvider; exports.useHowToContext = useHowToContext; exports.HowToContent = HowToContent; exports.HowToDetails = HowToDetails; exports.HowToContainer = HowToContainer; exports.HowToList = HowToList; exports.HowToListContainer = HowToListContainer; exports.HowToMultiSelector = HowToMultiSelector; exports.HowToSelector = HowToSelector; exports.NotificationErrorBoundary = NotificationErrorBoundary; exports.generateNotificationData = generateNotificationData; exports.NotificationToast = NotificationToast; exports.NotificationMenuItem = NotificationMenuItem; exports.NotificationContextProvider = NotificationContextProvider; exports.useNotificationContext = useNotificationContext; exports.NotificationsList = NotificationsList; exports.NotificationsListContainer = NotificationsListContainer; exports.NotificationModal = NotificationModal; exports.PushNotificationProvider = PushNotificationProvider; exports.OnboardingCard = OnboardingCard; exports.ReferralCodeCapture = ReferralCodeCapture; exports.ReferralWidget = ReferralWidget; exports.ReferralDialog = ReferralDialog; exports.RoleProvider = RoleProvider; exports.useRoleContext = useRoleContext; exports.RoleDetails = RoleDetails; exports.RoleContainer = RoleContainer; exports.FormRoles = FormRoles; exports.RemoveUserFromRole = RemoveUserFromRole; exports.UserRoleAdd = UserRoleAdd; exports.useRoleTableStructure = useRoleTableStructure; exports.RolesList = RolesList; exports.UserRolesList = UserRolesList; exports.OAuthRedirectUriInput = OAuthRedirectUriInput; exports.OAuthScopeSelector = OAuthScopeSelector; exports.OAuthClientSecretDisplay = OAuthClientSecretDisplay; exports.OAuthClientCard = OAuthClientCard; exports.OAuthClientList = OAuthClientList; exports.OAuthClientForm = OAuthClientForm; exports.OAuthClientDetail = OAuthClientDetail; exports.OAuthConsentHeader = OAuthConsentHeader; exports.OAuthScopeList = OAuthScopeList; exports.OAuthConsentActions = OAuthConsentActions; exports.useOAuthConsent = useOAuthConsent; exports.OAuthConsentScreen = OAuthConsentScreen; exports.WaitlistQuestionnaireRenderer = WaitlistQuestionnaireRenderer; exports.WaitlistForm = WaitlistForm; exports.WaitlistHeroSection = WaitlistHeroSection; exports.WaitlistSuccessState = WaitlistSuccessState; exports.WaitlistConfirmation = WaitlistConfirmation; exports.WaitlistList = WaitlistList; exports.useRbacState = useRbacState; exports.generateMigrationFile = generateMigrationFile; exports.downloadMigrationFile = downloadMigrationFile; exports.RbacPermissionCell = RbacPermissionCell; exports.RbacPermissionPicker = RbacPermissionPicker; exports.RbacModuleTable = RbacModuleTable; exports.RbacFeatureSection = RbacFeatureSection; exports.RbacToolbar = RbacToolbar; exports.RbacContainer = RbacContainer; exports.AddUserToRole = AddUserToRole; exports.UserAvatarEditor = UserAvatarEditor; exports.UserDeleter = UserDeleter; exports.UserEditor = UserEditor; exports.UserMultiSelect = UserMultiSelect; exports.UserReactivator = UserReactivator; exports.UserResentInvitationEmail = UserResentInvitationEmail; exports.UserSelector = UserSelector; exports.UserProvider = UserProvider; exports.useUserContext = useUserContext; exports.CompanyProvider = CompanyProvider; exports.useCompanyContext = useCompanyContext; exports.DEFAULT_ONBOARDING_LABELS = DEFAULT_ONBOARDING_LABELS; exports.OnboardingProvider = OnboardingProvider; exports.useOnboarding = useOnboarding; exports.CommonProvider = CommonProvider; exports.useCommonContext = useCommonContext; exports.useNotificationSync = useNotificationSync; exports.usePageTracker = usePageTracker; exports.useSocket = useSocket; exports.useSubscriptionStatus = useSubscriptionStatus; exports.useUserSearch = useUserSearch; exports.useUserTableStructure = useUserTableStructure; exports.useContentTableStructure = useContentTableStructure; exports.useOAuthClients = useOAuthClients; exports.useOAuthClient = useOAuthClient;
20507
+ //# sourceMappingURL=chunk-DTE6RZXF.js.map