@carlonicora/nextjs-jsonapi 1.123.2 → 1.124.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.
@@ -8247,7 +8247,10 @@ function EntityMultiSelector({
8247
8247
  getFormValueLabel,
8248
8248
  excludeId,
8249
8249
  onChange,
8250
- renderOption
8250
+ renderOption,
8251
+ ready = true,
8252
+ description,
8253
+ disabled = false
8251
8254
  }) {
8252
8255
  const [open, setOpen] = _react.useState.call(void 0, false);
8253
8256
  const [searchTerm, setSearchTerm] = _react.useState.call(void 0, "");
@@ -8282,9 +8285,12 @@ function EntityMultiSelector({
8282
8285
  const data = useDataListRetriever({
8283
8286
  retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => retriever(params), "retriever"),
8284
8287
  retrieverParams,
8285
- ready: true,
8288
+ ready,
8286
8289
  module
8287
8290
  });
8291
+ _react.useEffect.call(void 0, () => {
8292
+ if (ready) data.setReady(true);
8293
+ }, [ready]);
8288
8294
  const updateSearch = _react.useCallback.call(void 0,
8289
8295
  (searchedTerm) => {
8290
8296
  if (searchedTerm.trim()) {
@@ -8369,15 +8375,21 @@ function EntityMultiSelector({
8369
8375
  if (selectedValues.length === 0) return null;
8370
8376
  return selectedValues.map((v) => stableGetFormValueLabel(v)).join(", ");
8371
8377
  }, [selectedValues, stableGetFormValueLabel]);
8372
- 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: [
8378
+ 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, description, children: () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
8373
8379
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Popover, { open, onOpenChange: setOpen, modal: true, children: [
8374
- /* @__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: [
8375
- selectedValues.length > 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
8376
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-foreground min-w-0 flex-1 truncate text-left", children: triggerSummary }),
8377
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "bg-primary/10 text-primary shrink-0 rounded-full px-1.5 py-0.5 text-xs font-medium", children: selectedValues.length })
8378
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground flex-1 text-left", children: placeholder }),
8379
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronDownIcon, { className: "text-muted-foreground size-3.5 shrink-0" })
8380
- ] }) }),
8380
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
8381
+ "div",
8382
+ {
8383
+ className: `bg-input/20 dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/30 focus-visible:ring-[2px] flex min-h-7 w-full items-center gap-2 rounded-md border px-2 text-sm md:text-xs/relaxed`,
8384
+ children: [
8385
+ selectedValues.length > 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
8386
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-foreground min-w-0 flex-1 truncate text-left", children: triggerSummary }),
8387
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "bg-primary/10 text-primary shrink-0 rounded-full px-1.5 py-0.5 text-xs font-medium", children: selectedValues.length })
8388
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground flex-1 text-left", children: placeholder }),
8389
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronDownIcon, { className: "text-muted-foreground size-3.5 shrink-0" })
8390
+ ]
8391
+ }
8392
+ ) }),
8381
8393
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, PopoverContent, { className: "w-(--anchor-width) flex flex-col gap-0 p-0", align: "start", children: [
8382
8394
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative p-1.5", children: [
8383
8395
  /* @__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" }),
@@ -8617,6 +8629,41 @@ _chunk7QVYU63Ejs.__name.call(void 0, UserResentInvitationEmail, "UserResentInvit
8617
8629
 
8618
8630
 
8619
8631
 
8632
+ // src/features/feature/components/forms/FormFeatures.tsx
8633
+
8634
+ function FormFeatures({ form, name, features, featureField = "featureIds" }) {
8635
+ const selectedFeatures = form.watch(featureField);
8636
+ const toggleFeature = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (feature, checked) => {
8637
+ let newFeatureIds = [...selectedFeatures];
8638
+ if (checked) {
8639
+ if (!newFeatureIds.includes(feature.id)) {
8640
+ newFeatureIds.push(feature.id);
8641
+ }
8642
+ } else {
8643
+ newFeatureIds = newFeatureIds.filter((id) => id !== feature.id);
8644
+ }
8645
+ form.setValue(featureField, newFeatureIds);
8646
+ }, "toggleFeature");
8647
+ const isFeatureChecked = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (feature) => selectedFeatures.includes(feature.id), "isFeatureChecked");
8648
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
8649
+ name && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "mb-4 border-b text-lg font-semibold", children: name }),
8650
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollArea, { className: "h-[40vh]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-y-2 pr-4", children: features.filter((feature) => !feature.isCore).map((feature) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center", children: [
8651
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8652
+ Checkbox,
8653
+ {
8654
+ id: feature.id,
8655
+ checked: isFeatureChecked(feature),
8656
+ onCheckedChange: (val) => {
8657
+ toggleFeature(feature, val === true);
8658
+ }
8659
+ }
8660
+ ),
8661
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Label, { htmlFor: feature.id, className: "ml-3 cursor-pointer font-normal", children: feature.name })
8662
+ ] }, feature.id)) }) })
8663
+ ] });
8664
+ }
8665
+ _chunk7QVYU63Ejs.__name.call(void 0, FormFeatures, "FormFeatures");
8666
+
8620
8667
  // src/components/forms/CommonAssociationForm.tsx
8621
8668
 
8622
8669
 
@@ -8887,6 +8934,24 @@ function CommonEditorButtons({
8887
8934
  }
8888
8935
  _chunk7QVYU63Ejs.__name.call(void 0, CommonEditorButtons, "CommonEditorButtons");
8889
8936
 
8937
+ // src/components/forms/CommonEditorDiscardDialog.tsx
8938
+
8939
+
8940
+ function CommonEditorDiscardDialog({ open, onOpenChange, onDiscard }) {
8941
+ const t = _nextintl.useTranslations.call(void 0, );
8942
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDialog, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, AlertDialogContent, { children: [
8943
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, AlertDialogHeader, { children: [
8944
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDialogTitle, { children: t(`ui.dialogs.unsaved_changes_title`) }),
8945
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDialogDescription, { children: t(`ui.dialogs.unsaved_changes_description`) })
8946
+ ] }),
8947
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, AlertDialogFooter, { children: [
8948
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDialogCancel, { children: t(`ui.buttons.cancel`) }),
8949
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDialogAction, { variant: "destructive", onClick: onDiscard, children: t(`ui.dialogs.unsaved_changes_discard`) })
8950
+ ] })
8951
+ ] }) });
8952
+ }
8953
+ _chunk7QVYU63Ejs.__name.call(void 0, CommonEditorDiscardDialog, "CommonEditorDiscardDialog");
8954
+
8890
8955
  // src/components/forms/CommonEditorHeader.tsx
8891
8956
 
8892
8957
 
@@ -8906,24 +8971,6 @@ function CommonEditorHeader({ type, name, title, description }) {
8906
8971
  }
8907
8972
  _chunk7QVYU63Ejs.__name.call(void 0, CommonEditorHeader, "CommonEditorHeader");
8908
8973
 
8909
- // src/components/forms/CommonEditorDiscardDialog.tsx
8910
-
8911
-
8912
- function CommonEditorDiscardDialog({ open, onOpenChange, onDiscard }) {
8913
- const t = _nextintl.useTranslations.call(void 0, );
8914
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDialog, { open, onOpenChange, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, AlertDialogContent, { children: [
8915
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, AlertDialogHeader, { children: [
8916
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDialogTitle, { children: t(`ui.dialogs.unsaved_changes_title`) }),
8917
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDialogDescription, { children: t(`ui.dialogs.unsaved_changes_description`) })
8918
- ] }),
8919
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, AlertDialogFooter, { children: [
8920
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDialogCancel, { children: t(`ui.buttons.cancel`) }),
8921
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDialogAction, { variant: "destructive", onClick: onDiscard, children: t(`ui.dialogs.unsaved_changes_discard`) })
8922
- ] })
8923
- ] }) });
8924
- }
8925
- _chunk7QVYU63Ejs.__name.call(void 0, CommonEditorDiscardDialog, "CommonEditorDiscardDialog");
8926
-
8927
8974
  // src/components/forms/CommonEditorTrigger.tsx
8928
8975
 
8929
8976
 
@@ -8950,221 +8997,86 @@ var CommonAddTrigger = React.default.forwardRef(
8950
8997
  );
8951
8998
  CommonAddTrigger.displayName = "CommonAddTrigger";
8952
8999
 
8953
- // src/components/forms/useEditorDialog.ts
9000
+ // src/components/forms/CurrencyInput.tsx
8954
9001
 
8955
- function useEditorDialog(isFormDirty, options) {
8956
- const [open, setOpen] = _react.useState.call(void 0, false);
8957
- const [showDiscardConfirm, setShowDiscardConfirm] = _react.useState.call(void 0, false);
8958
- _react.useEffect.call(void 0, () => {
8959
- if (_optionalChain([options, 'optionalAccess', _250 => _250.dialogOpen]) !== void 0) {
8960
- setOpen(options.dialogOpen);
8961
- }
8962
- }, [_optionalChain([options, 'optionalAccess', _251 => _251.dialogOpen])]);
8963
- _react.useEffect.call(void 0, () => {
8964
- if (typeof _optionalChain([options, 'optionalAccess', _252 => _252.onDialogOpenChange]) === "function") {
8965
- options.onDialogOpenChange(open);
8966
- }
8967
- }, [open, _optionalChain([options, 'optionalAccess', _253 => _253.onDialogOpenChange])]);
8968
- _react.useEffect.call(void 0, () => {
8969
- if (_optionalChain([options, 'optionalAccess', _254 => _254.forceShow])) setOpen(true);
8970
- }, [_optionalChain([options, 'optionalAccess', _255 => _255.forceShow])]);
8971
- _react.useEffect.call(void 0, () => {
8972
- if (!open) {
8973
- if (_optionalChain([options, 'optionalAccess', _256 => _256.onClose])) options.onClose();
8974
- }
8975
- }, [open]);
8976
- const handleOpenChange = _react.useCallback.call(void 0,
8977
- (nextOpen) => {
8978
- if (!nextOpen && isFormDirty()) {
8979
- setShowDiscardConfirm(true);
8980
- return;
8981
- }
8982
- setOpen(nextOpen);
8983
- },
8984
- [isFormDirty]
8985
- );
8986
- _react.useEffect.call(void 0, () => {
8987
- const handleKeyDown = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (event) => {
8988
- if (event.key === "Escape" && open) {
8989
- event.preventDefault();
8990
- event.stopPropagation();
8991
- handleOpenChange(false);
8992
- }
8993
- }, "handleKeyDown");
8994
- if (open) {
8995
- document.addEventListener("keydown", handleKeyDown, true);
8996
- }
8997
- return () => {
8998
- document.removeEventListener("keydown", handleKeyDown, true);
8999
- };
9000
- }, [open, handleOpenChange]);
9001
- const discardDialogProps = {
9002
- open: showDiscardConfirm,
9003
- onOpenChange: setShowDiscardConfirm,
9004
- onDiscard: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
9005
- setShowDiscardConfirm(false);
9006
- setOpen(false);
9007
- }, "onDiscard")
9002
+
9003
+ function centsToInput(cents) {
9004
+ return (cents / 100).toFixed(2);
9005
+ }
9006
+ _chunk7QVYU63Ejs.__name.call(void 0, centsToInput, "centsToInput");
9007
+ function parseInput(raw) {
9008
+ if (!raw || raw.trim() === "") return 0;
9009
+ const trimmed = raw.trim();
9010
+ const lastComma = trimmed.lastIndexOf(",");
9011
+ const lastDot = trimmed.lastIndexOf(".");
9012
+ let normalized;
9013
+ if (lastComma > lastDot) {
9014
+ normalized = trimmed.replace(/\./g, "").replace(",", ".");
9015
+ } else if (lastDot > lastComma) {
9016
+ normalized = trimmed.replace(/,/g, "");
9017
+ } else {
9018
+ normalized = trimmed.replace(",", ".");
9019
+ }
9020
+ const parsed = parseFloat(normalized);
9021
+ if (Number.isNaN(parsed)) return 0;
9022
+ return Math.round(parsed * 100);
9023
+ }
9024
+ _chunk7QVYU63Ejs.__name.call(void 0, parseInput, "parseInput");
9025
+ function sanitizeKeystroke(raw) {
9026
+ let value = raw.replace(/[^0-9.,-]/g, "");
9027
+ const firstSep = value.search(/[.,]/);
9028
+ if (firstSep !== -1) {
9029
+ const sep = value[firstSep];
9030
+ const before = value.slice(0, firstSep);
9031
+ const after = value.slice(firstSep + 1).replace(/[.,]/g, "");
9032
+ value = before + sep + after;
9033
+ }
9034
+ return value;
9035
+ }
9036
+ _chunk7QVYU63Ejs.__name.call(void 0, sanitizeKeystroke, "sanitizeKeystroke");
9037
+ function CurrencyInput({
9038
+ valueCents,
9039
+ onChange,
9040
+ currencySymbol = "\u20AC",
9041
+ readOnly,
9042
+ disabled,
9043
+ placeholder,
9044
+ className,
9045
+ testId
9046
+ }) {
9047
+ const [draft, setDraft] = _react.useState.call(void 0, null);
9048
+ const display = draft !== null ? draft : centsToInput(valueCents);
9049
+ const handleChange = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (e) => {
9050
+ setDraft(sanitizeKeystroke(e.target.value));
9051
+ }, "handleChange");
9052
+ const handleBlur = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
9053
+ if (draft === null) return;
9054
+ onChange(parseInput(draft));
9055
+ setDraft(null);
9056
+ }, "handleBlur");
9057
+ const sharedProps = {
9058
+ type: "text",
9059
+ inputMode: "decimal",
9060
+ value: display,
9061
+ readOnly,
9062
+ disabled,
9063
+ placeholder,
9064
+ onChange: handleChange,
9065
+ onBlur: handleBlur,
9066
+ "data-testid": testId
9008
9067
  };
9009
- return { open, setOpen, handleOpenChange, discardDialogProps };
9068
+ if (!currencySymbol) {
9069
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Input, { ...sharedProps, className: `text-end ${_nullishCoalesce(className, () => ( ""))}`.trim() });
9070
+ }
9071
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, InputGroup, { children: [
9072
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InputGroupAddon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InputGroupText, { children: currencySymbol }) }),
9073
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InputGroupInput, { ...sharedProps, className: `text-end ${_nullishCoalesce(className, () => ( ""))}`.trim() })
9074
+ ] });
9010
9075
  }
9011
- _chunk7QVYU63Ejs.__name.call(void 0, useEditorDialog, "useEditorDialog");
9012
-
9013
- // src/components/forms/EditorSheet.tsx
9076
+ _chunk7QVYU63Ejs.__name.call(void 0, CurrencyInput, "CurrencyInput");
9014
9077
 
9015
-
9016
-
9017
-
9018
- var sizeClasses = {
9019
- sm: "data-[side=right]:sm:max-w-2xl",
9020
- md: "data-[side=right]:sm:max-w-3xl",
9021
- lg: "data-[side=right]:sm:max-w-5xl",
9022
- xl: "data-[side=right]:sm:max-w-7xl",
9023
- "2xl": "data-[side=right]:sm:!max-w-[min(96rem,90vw)]"
9024
- };
9025
- function EditorSheet({
9026
- form,
9027
- onSubmit,
9028
- onReset,
9029
- isFormDirty: isFormDirtyProp,
9030
- entityType,
9031
- entityName,
9032
- title: titleOverride,
9033
- description: descriptionOverride,
9034
- isEdit,
9035
- module,
9036
- propagateChanges,
9037
- onSuccess,
9038
- onRevalidate,
9039
- onNavigate,
9040
- onSaved,
9041
- size = "xl",
9042
- disabled,
9043
- hideSubmit,
9044
- centerButtons,
9045
- trigger,
9046
- forceShow,
9047
- onClose,
9048
- dialogOpen,
9049
- onDialogOpenChange,
9050
- renderFooter,
9051
- actions,
9052
- children
9053
- }) {
9054
- const t = _nextintl.useTranslations.call(void 0, );
9055
- const generateUrl = usePageUrlGenerator();
9056
- const defaultIsFormDirty = _react.useCallback.call(void 0, () => {
9057
- return Object.keys(form.formState.dirtyFields).length > 0;
9058
- }, [form.formState.dirtyFields]);
9059
- const { open, setOpen, handleOpenChange, discardDialogProps } = useEditorDialog(
9060
- _nullishCoalesce(isFormDirtyProp, () => ( defaultIsFormDirty)),
9061
- { dialogOpen, onDialogOpenChange, forceShow }
9062
- );
9063
- const hasBeenOpen = _react.useRef.call(void 0, false);
9064
- _react.useEffect.call(void 0, () => {
9065
- if (open) {
9066
- hasBeenOpen.current = true;
9067
- } else if (hasBeenOpen.current) {
9068
- form.reset(onReset());
9069
- _optionalChain([onClose, 'optionalCall', _257 => _257()]);
9070
- }
9071
- }, [open]);
9072
- const wrappedOnSubmit = _react.useCallback.call(void 0,
9073
- async (values) => {
9074
- try {
9075
- const result = await onSubmit(values);
9076
- setOpen(false);
9077
- if (result && onSaved) {
9078
- onSaved(result, entityType);
9079
- }
9080
- if (onSuccess) {
9081
- await onSuccess();
9082
- } else if (result) {
9083
- _optionalChain([onRevalidate, 'optionalCall', _258 => _258(generateUrl({ page: module, id: result.id, language: "[locale]" }))]);
9084
- if (isEdit && propagateChanges) {
9085
- propagateChanges(result);
9086
- } else {
9087
- _optionalChain([onNavigate, 'optionalCall', _259 => _259(generateUrl({ page: module, id: result.id }))]);
9088
- }
9089
- }
9090
- } catch (error) {
9091
- errorToast({
9092
- title: isEdit ? t("generic.errors.update") : t("generic.errors.create"),
9093
- error
9094
- });
9095
- }
9096
- },
9097
- [onSubmit, setOpen, onSuccess, onSaved, onRevalidate, onNavigate, generateUrl, module, isEdit, propagateChanges, t]
9098
- );
9099
- const headerTitle = _nullishCoalesce(titleOverride, () => ( (isEdit ? t("common.edit.update.title", { type: entityType }) : t("common.edit.create.title", { type: entityType }))));
9100
- const headerDescription = _nullishCoalesce(descriptionOverride, () => ( (isEdit ? t("common.edit.update.description", { type: entityType, name: _nullishCoalesce(entityName, () => ( "")) }) : t("common.edit.create.description", { type: entityType }))));
9101
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
9102
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Sheet, { open, onOpenChange: handleOpenChange, children: [
9103
- dialogOpen === void 0 && forceShow === void 0 && (trigger ? (
9104
- // Base UI: the trigger renders its own <button>. Pass the caller's
9105
- // element via `render` (NOT as children) so it BECOMES the trigger
9106
- // button — otherwise an interactive trigger (e.g. <Button>) nests a
9107
- // <button> inside SheetTrigger's <button> (invalid HTML / hydration
9108
- // error). `render` also preserves the element's native `disabled`.
9109
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetTrigger, { render: trigger })
9110
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetTrigger, { children: isEdit ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9111
- Button,
9112
- {
9113
- render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", {}),
9114
- nativeButton: false,
9115
- size: "sm",
9116
- variant: "ghost",
9117
- className: "text-muted-foreground",
9118
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.PencilIcon, {})
9119
- }
9120
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Button, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", {}), nativeButton: false, size: "sm", variant: "outline", children: t("ui.buttons.create") }) })),
9121
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SheetContent, { side: "right", className: sizeClasses[size], children: [
9122
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetHeader, { className: "border-b px-6 py-4", children: actions ? (
9123
- // pr-10 clears the SheetContent close button (absolute top-4 right-4).
9124
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between gap-x-4 pr-10", children: [
9125
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col gap-y-1.5", children: [
9126
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetTitle, { children: headerTitle }),
9127
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetDescription, { children: headerDescription })
9128
- ] }),
9129
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center gap-x-2", children: actions })
9130
- ] })
9131
- ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
9132
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetTitle, { children: headerTitle }),
9133
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetDescription, { children: headerDescription })
9134
- ] }) }),
9135
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Form, { ...form, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
9136
- "form",
9137
- {
9138
- onSubmit: (e) => {
9139
- e.stopPropagation();
9140
- return form.handleSubmit(wrappedOnSubmit)(e);
9141
- },
9142
- className: "flex min-h-0 flex-1 flex-col",
9143
- children: [
9144
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 overflow-y-auto px-6 py-4", children }),
9145
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetFooter, { className: "shrink-0 border-t px-6 py-4", children: renderFooter ? renderFooter({ form, isEdit, setOpen: handleOpenChange, closeWithoutConfirm: setOpen }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9146
- CommonEditorButtons,
9147
- {
9148
- form,
9149
- setOpen: handleOpenChange,
9150
- isEdit,
9151
- disabled,
9152
- hideSubmit,
9153
- centerButtons
9154
- }
9155
- ) })
9156
- ]
9157
- }
9158
- ) })
9159
- ] })
9160
- ] }),
9161
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CommonEditorDiscardDialog, { ...discardDialogProps })
9162
- ] });
9163
- }
9164
- _chunk7QVYU63Ejs.__name.call(void 0, EditorSheet, "EditorSheet");
9165
-
9166
- // src/components/forms/DatePickerPopover.tsx
9167
- var _datefns = require('date-fns');
9078
+ // src/components/forms/DatePickerPopover.tsx
9079
+ var _datefns = require('date-fns');
9168
9080
 
9169
9081
 
9170
9082
 
@@ -9345,7 +9257,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
9345
9257
  }, []);
9346
9258
  const [prevRange, setPrevRange] = _react.useState.call(void 0, date);
9347
9259
  _react.useEffect.call(void 0, () => {
9348
- if (_optionalChain([date, 'optionalAccess', _260 => _260.from]) && _optionalChain([date, 'optionalAccess', _261 => _261.to]) && date.to > date.from && (_optionalChain([prevRange, 'optionalAccess', _262 => _262.from, 'optionalAccess', _263 => _263.getTime, 'call', _264 => _264()]) !== date.from.getTime() || _optionalChain([prevRange, 'optionalAccess', _265 => _265.to, 'optionalAccess', _266 => _266.getTime, 'call', _267 => _267()]) !== date.to.getTime())) {
9260
+ if (_optionalChain([date, 'optionalAccess', _250 => _250.from]) && _optionalChain([date, 'optionalAccess', _251 => _251.to]) && date.to > date.from && (_optionalChain([prevRange, 'optionalAccess', _252 => _252.from, 'optionalAccess', _253 => _253.getTime, 'call', _254 => _254()]) !== date.from.getTime() || _optionalChain([prevRange, 'optionalAccess', _255 => _255.to, 'optionalAccess', _256 => _256.getTime, 'call', _257 => _257()]) !== date.to.getTime())) {
9349
9261
  onDateChange(date);
9350
9262
  setPrevRange(date);
9351
9263
  setOpen(false);
@@ -9356,7 +9268,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
9356
9268
  setDate(void 0);
9357
9269
  return;
9358
9270
  }
9359
- if (range.from && (!_optionalChain([date, 'optionalAccess', _268 => _268.from]) || range.from.getTime() !== date.from.getTime())) {
9271
+ if (range.from && (!_optionalChain([date, 'optionalAccess', _258 => _258.from]) || range.from.getTime() !== date.from.getTime())) {
9360
9272
  setDate({ from: range.from, to: void 0 });
9361
9273
  } else {
9362
9274
  setDate(range);
@@ -9371,7 +9283,7 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
9371
9283
  className: _chunkPQBKPWBYjs.cn.call(void 0, "w-[300px] justify-start text-left font-normal", !date && "text-muted-foreground"),
9372
9284
  children: [
9373
9285
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CalendarIcon, {}),
9374
- _optionalChain([date, 'optionalAccess', _269 => _269.from]) ? date.to ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
9286
+ _optionalChain([date, 'optionalAccess', _259 => _259.from]) ? date.to ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
9375
9287
  _datefns.format.call(void 0, date.from, "LLL dd, y"),
9376
9288
  " - ",
9377
9289
  _datefns.format.call(void 0, date.to, "LLL dd, y")
@@ -9391,48 +9303,456 @@ function DateRangeSelector({ onDateChange, avoidSettingDates, showPreviousMonth
9391
9303
  variant: "outline",
9392
9304
  className: _chunkPQBKPWBYjs.cn.call(void 0, "w-[300px] justify-start text-left font-normal", !date && "text-muted-foreground")
9393
9305
  }
9394
- ),
9395
- children: [
9396
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CalendarIcon, {}),
9397
- _optionalChain([date, 'optionalAccess', _270 => _270.from]) ? date.to ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
9398
- _datefns.format.call(void 0, date.from, "LLL dd, y"),
9399
- " - ",
9400
- _datefns.format.call(void 0, date.to, "LLL dd, y")
9401
- ] }) : _datefns.format.call(void 0, date.from, "LLL dd, y") : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: t("ui.labels.pick_a_date") })
9402
- ]
9403
- }
9404
- ),
9405
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverContent, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2 p-2", children: [
9406
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9407
- Calendar,
9408
- {
9409
- mode: "range",
9410
- defaultMonth: _nullishCoalesce(_optionalChain([date, 'optionalAccess', _271 => _271.from]), () => ( (showPreviousMonth ? new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth() - 1, 1) : void 0))),
9411
- selected: date,
9412
- onSelect: handleSelect,
9413
- numberOfMonths: 2
9414
- }
9415
- ),
9416
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9417
- Button,
9418
- {
9419
- variant: "secondary",
9420
- type: "button",
9421
- onClick: () => {
9422
- setDate(void 0);
9423
- setPrevRange(void 0);
9424
- onDateChange(void 0);
9425
- setOpen(false);
9426
- },
9427
- className: "cursor-pointer",
9428
- disabled: !date,
9429
- children: t("ui.buttons.clear")
9430
- }
9431
- )
9432
- ] }) })
9433
- ] }) });
9306
+ ),
9307
+ children: [
9308
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CalendarIcon, {}),
9309
+ _optionalChain([date, 'optionalAccess', _260 => _260.from]) ? date.to ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
9310
+ _datefns.format.call(void 0, date.from, "LLL dd, y"),
9311
+ " - ",
9312
+ _datefns.format.call(void 0, date.to, "LLL dd, y")
9313
+ ] }) : _datefns.format.call(void 0, date.from, "LLL dd, y") : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: t("ui.labels.pick_a_date") })
9314
+ ]
9315
+ }
9316
+ ),
9317
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverContent, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2 p-2", children: [
9318
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9319
+ Calendar,
9320
+ {
9321
+ mode: "range",
9322
+ defaultMonth: _nullishCoalesce(_optionalChain([date, 'optionalAccess', _261 => _261.from]), () => ( (showPreviousMonth ? new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth() - 1, 1) : void 0))),
9323
+ selected: date,
9324
+ onSelect: handleSelect,
9325
+ numberOfMonths: 2
9326
+ }
9327
+ ),
9328
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9329
+ Button,
9330
+ {
9331
+ variant: "secondary",
9332
+ type: "button",
9333
+ onClick: () => {
9334
+ setDate(void 0);
9335
+ setPrevRange(void 0);
9336
+ onDateChange(void 0);
9337
+ setOpen(false);
9338
+ },
9339
+ className: "cursor-pointer",
9340
+ disabled: !date,
9341
+ children: t("ui.buttons.clear")
9342
+ }
9343
+ )
9344
+ ] }) })
9345
+ ] }) });
9346
+ }
9347
+ _chunk7QVYU63Ejs.__name.call(void 0, DateRangeSelector, "DateRangeSelector");
9348
+
9349
+ // src/components/forms/EditorSheet.tsx
9350
+
9351
+
9352
+
9353
+
9354
+ // src/components/forms/useEditorDialog.ts
9355
+
9356
+ function useEditorDialog(isFormDirty, options) {
9357
+ const [open, setOpen] = _react.useState.call(void 0, false);
9358
+ const [showDiscardConfirm, setShowDiscardConfirm] = _react.useState.call(void 0, false);
9359
+ const syncingFromProp = _react.useRef.call(void 0, false);
9360
+ _react.useEffect.call(void 0, () => {
9361
+ if (_optionalChain([options, 'optionalAccess', _262 => _262.dialogOpen]) !== void 0 && options.dialogOpen !== open) {
9362
+ syncingFromProp.current = true;
9363
+ setOpen(options.dialogOpen);
9364
+ }
9365
+ }, [_optionalChain([options, 'optionalAccess', _263 => _263.dialogOpen])]);
9366
+ _react.useEffect.call(void 0, () => {
9367
+ if (syncingFromProp.current) {
9368
+ syncingFromProp.current = false;
9369
+ return;
9370
+ }
9371
+ if (typeof _optionalChain([options, 'optionalAccess', _264 => _264.onDialogOpenChange]) === "function") {
9372
+ options.onDialogOpenChange(open);
9373
+ }
9374
+ }, [open, _optionalChain([options, 'optionalAccess', _265 => _265.onDialogOpenChange])]);
9375
+ _react.useEffect.call(void 0, () => {
9376
+ if (_optionalChain([options, 'optionalAccess', _266 => _266.forceShow])) setOpen(true);
9377
+ }, [_optionalChain([options, 'optionalAccess', _267 => _267.forceShow])]);
9378
+ _react.useEffect.call(void 0, () => {
9379
+ if (!open) {
9380
+ if (_optionalChain([options, 'optionalAccess', _268 => _268.onClose])) options.onClose();
9381
+ }
9382
+ }, [open]);
9383
+ const handleOpenChange = _react.useCallback.call(void 0,
9384
+ (nextOpen) => {
9385
+ if (!nextOpen && isFormDirty()) {
9386
+ setShowDiscardConfirm(true);
9387
+ return;
9388
+ }
9389
+ setOpen(nextOpen);
9390
+ },
9391
+ [isFormDirty]
9392
+ );
9393
+ _react.useEffect.call(void 0, () => {
9394
+ const handleKeyDown = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (event) => {
9395
+ if (event.key === "Escape" && open) {
9396
+ event.preventDefault();
9397
+ event.stopPropagation();
9398
+ handleOpenChange(false);
9399
+ }
9400
+ }, "handleKeyDown");
9401
+ if (open) {
9402
+ document.addEventListener("keydown", handleKeyDown, true);
9403
+ }
9404
+ return () => {
9405
+ document.removeEventListener("keydown", handleKeyDown, true);
9406
+ };
9407
+ }, [open, handleOpenChange]);
9408
+ const discardDialogProps = {
9409
+ open: showDiscardConfirm,
9410
+ onOpenChange: setShowDiscardConfirm,
9411
+ onDiscard: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
9412
+ setShowDiscardConfirm(false);
9413
+ setOpen(false);
9414
+ }, "onDiscard")
9415
+ };
9416
+ return { open, setOpen, handleOpenChange, discardDialogProps };
9417
+ }
9418
+ _chunk7QVYU63Ejs.__name.call(void 0, useEditorDialog, "useEditorDialog");
9419
+
9420
+ // src/components/forms/EditorSheet.tsx
9421
+
9422
+ var sizeClasses = {
9423
+ sm: "data-[side=right]:sm:max-w-2xl",
9424
+ md: "data-[side=right]:sm:max-w-3xl",
9425
+ lg: "data-[side=right]:sm:max-w-5xl",
9426
+ xl: "data-[side=right]:sm:max-w-7xl",
9427
+ "2xl": "data-[side=right]:sm:!max-w-[min(96rem,90vw)]"
9428
+ };
9429
+ function EditorSheet({
9430
+ form,
9431
+ onSubmit,
9432
+ onReset,
9433
+ isFormDirty: isFormDirtyProp,
9434
+ entityType,
9435
+ entityName,
9436
+ title: titleOverride,
9437
+ description: descriptionOverride,
9438
+ isEdit,
9439
+ module,
9440
+ propagateChanges,
9441
+ onSuccess,
9442
+ onRevalidate,
9443
+ onNavigate,
9444
+ onSaved,
9445
+ size = "xl",
9446
+ disabled,
9447
+ hideSubmit,
9448
+ centerButtons,
9449
+ trigger,
9450
+ forceShow,
9451
+ onClose,
9452
+ dialogOpen,
9453
+ onDialogOpenChange,
9454
+ renderFooter,
9455
+ actions,
9456
+ children
9457
+ }) {
9458
+ const t = _nextintl.useTranslations.call(void 0, );
9459
+ const generateUrl = usePageUrlGenerator();
9460
+ const defaultIsFormDirty = _react.useCallback.call(void 0, () => {
9461
+ return Object.keys(form.formState.dirtyFields).length > 0;
9462
+ }, [form.formState.dirtyFields]);
9463
+ const { open, setOpen, handleOpenChange, discardDialogProps } = useEditorDialog(
9464
+ _nullishCoalesce(isFormDirtyProp, () => ( defaultIsFormDirty)),
9465
+ { dialogOpen, onDialogOpenChange, forceShow }
9466
+ );
9467
+ const hasBeenOpen = _react.useRef.call(void 0, false);
9468
+ _react.useEffect.call(void 0, () => {
9469
+ if (open) {
9470
+ hasBeenOpen.current = true;
9471
+ } else if (hasBeenOpen.current) {
9472
+ form.reset(onReset());
9473
+ _optionalChain([onClose, 'optionalCall', _269 => _269()]);
9474
+ }
9475
+ }, [open]);
9476
+ const wrappedOnSubmit = _react.useCallback.call(void 0,
9477
+ async (values) => {
9478
+ try {
9479
+ const result = await onSubmit(values);
9480
+ setOpen(false);
9481
+ if (result && onSaved) {
9482
+ onSaved(result, entityType);
9483
+ }
9484
+ if (onSuccess) {
9485
+ await onSuccess();
9486
+ } else if (result) {
9487
+ _optionalChain([onRevalidate, 'optionalCall', _270 => _270(generateUrl({ page: module, id: result.id, language: "[locale]" }))]);
9488
+ if (isEdit && propagateChanges) {
9489
+ propagateChanges(result);
9490
+ } else {
9491
+ _optionalChain([onNavigate, 'optionalCall', _271 => _271(generateUrl({ page: module, id: result.id }))]);
9492
+ }
9493
+ }
9494
+ } catch (error) {
9495
+ errorToast({
9496
+ title: isEdit ? t("generic.errors.update") : t("generic.errors.create"),
9497
+ error
9498
+ });
9499
+ }
9500
+ },
9501
+ [onSubmit, setOpen, onSuccess, onSaved, onRevalidate, onNavigate, generateUrl, module, isEdit, propagateChanges, t]
9502
+ );
9503
+ const headerTitle = _nullishCoalesce(titleOverride, () => ( (isEdit ? t("common.edit.update.title", { type: entityType }) : t("common.edit.create.title", { type: entityType }))));
9504
+ const headerDescription = _nullishCoalesce(descriptionOverride, () => ( (isEdit ? t("common.edit.update.description", { type: entityType, name: _nullishCoalesce(entityName, () => ( "")) }) : t("common.edit.create.description", { type: entityType }))));
9505
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
9506
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Sheet, { open, onOpenChange: handleOpenChange, children: [
9507
+ dialogOpen === void 0 && forceShow === void 0 && (trigger ? (
9508
+ // Base UI: the trigger renders its own <button>. Pass the caller's
9509
+ // element via `render` (NOT as children) so it BECOMES the trigger
9510
+ // button — otherwise an interactive trigger (e.g. <Button>) nests a
9511
+ // <button> inside SheetTrigger's <button> (invalid HTML / hydration
9512
+ // error). `render` also preserves the element's native `disabled`.
9513
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetTrigger, { render: trigger })
9514
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetTrigger, { children: isEdit ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9515
+ Button,
9516
+ {
9517
+ render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", {}),
9518
+ nativeButton: false,
9519
+ size: "sm",
9520
+ variant: "ghost",
9521
+ className: "text-muted-foreground",
9522
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.PencilIcon, {})
9523
+ }
9524
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Button, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", {}), nativeButton: false, size: "sm", variant: "outline", children: t("ui.buttons.create") }) })),
9525
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SheetContent, { side: "right", className: sizeClasses[size], children: [
9526
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetHeader, { className: "border-b px-6 py-4", children: actions ? (
9527
+ // pr-10 clears the SheetContent close button (absolute top-4 right-4).
9528
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start justify-between gap-x-4 pr-10", children: [
9529
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col gap-y-1.5", children: [
9530
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetTitle, { children: headerTitle }),
9531
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetDescription, { children: headerDescription })
9532
+ ] }),
9533
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center gap-x-2", children: actions })
9534
+ ] })
9535
+ ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
9536
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetTitle, { children: headerTitle }),
9537
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetDescription, { children: headerDescription })
9538
+ ] }) }),
9539
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Form, { ...form, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
9540
+ "form",
9541
+ {
9542
+ onSubmit: (e) => {
9543
+ e.stopPropagation();
9544
+ return form.handleSubmit(wrappedOnSubmit)(e);
9545
+ },
9546
+ className: "flex min-h-0 flex-1 flex-col",
9547
+ children: [
9548
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 overflow-y-auto px-6 py-4", children }),
9549
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetFooter, { className: "shrink-0 border-t px-6 py-4", children: renderFooter ? renderFooter({ form, isEdit, setOpen: handleOpenChange, closeWithoutConfirm: setOpen }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9550
+ CommonEditorButtons,
9551
+ {
9552
+ form,
9553
+ setOpen: handleOpenChange,
9554
+ isEdit,
9555
+ disabled,
9556
+ hideSubmit,
9557
+ centerButtons
9558
+ }
9559
+ ) })
9560
+ ]
9561
+ }
9562
+ ) })
9563
+ ] })
9564
+ ] }),
9565
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CommonEditorDiscardDialog, { ...discardDialogProps })
9566
+ ] });
9567
+ }
9568
+ _chunk7QVYU63Ejs.__name.call(void 0, EditorSheet, "EditorSheet");
9569
+
9570
+ // src/components/forms/EntitySelector.tsx
9571
+
9572
+
9573
+
9574
+ function EntitySelector({
9575
+ id,
9576
+ form,
9577
+ module,
9578
+ retriever,
9579
+ retrieverParams,
9580
+ ready = true,
9581
+ getLabel = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (entity) => entity.name, "getLabel"),
9582
+ label,
9583
+ placeholder = "Search...",
9584
+ emptyText,
9585
+ isRequired = false,
9586
+ disabled = false,
9587
+ description,
9588
+ onChange,
9589
+ onCreateNew,
9590
+ createNewLabel,
9591
+ toFormValue = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (entity) => ({ id: entity.id, name: entity.name }), "toFormValue"),
9592
+ getSelectedItemDisplay,
9593
+ renderOption,
9594
+ filterData,
9595
+ renderAfter,
9596
+ autoSelectSingle = false,
9597
+ useFormWatch: shouldUseFormWatch = false
9598
+ }) {
9599
+ const [open, setOpen] = _react.useState.call(void 0, false);
9600
+ const searchTermRef = _react.useRef.call(void 0, "");
9601
+ const [searchTerm, setSearchTerm] = _react.useState.call(void 0, "");
9602
+ const [isSearching, setIsSearching] = _react.useState.call(void 0, false);
9603
+ const [isCreating, setIsCreating] = _react.useState.call(void 0, false);
9604
+ const [selectedEntity, setSelectedEntity] = _react.useState.call(void 0, void 0);
9605
+ const watchedValue = shouldUseFormWatch ? form.watch(id) : void 0;
9606
+ const data = useDataListRetriever({
9607
+ retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => retriever(params), "retriever"),
9608
+ retrieverParams: _nullishCoalesce(retrieverParams, () => ( {})),
9609
+ ready,
9610
+ module
9611
+ });
9612
+ _react.useEffect.call(void 0, () => {
9613
+ if (ready) data.setReady(true);
9614
+ }, [ready]);
9615
+ const search = _react.useCallback.call(void 0,
9616
+ async (searchedTerm) => {
9617
+ try {
9618
+ if (searchedTerm === searchTermRef.current) return;
9619
+ setIsSearching(true);
9620
+ searchTermRef.current = searchedTerm;
9621
+ await data.search(searchedTerm);
9622
+ } finally {
9623
+ setIsSearching(false);
9624
+ }
9625
+ },
9626
+ [searchTermRef, data]
9627
+ );
9628
+ const updateSearchTerm = useDebounce2(search, 500);
9629
+ _react.useEffect.call(void 0, () => {
9630
+ setIsSearching(true);
9631
+ updateSearchTerm(searchTerm);
9632
+ }, [updateSearchTerm, searchTerm]);
9633
+ _react.useEffect.call(void 0, () => {
9634
+ if (autoSelectSingle && data.isLoaded && data.data && data.data.length === 1 && searchTerm === "" && !form.getValues(id)) {
9635
+ const entity = data.data[0];
9636
+ form.setValue(id, toFormValue(entity));
9637
+ setSelectedEntity(entity);
9638
+ }
9639
+ }, [data.isLoaded, data.data, searchTerm, form, id, autoSelectSingle, toFormValue]);
9640
+ const handleSelect = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (entity) => {
9641
+ setSelectedEntity(entity);
9642
+ if (onChange) onChange(entity);
9643
+ if (!entity) {
9644
+ form.setValue(id, void 0);
9645
+ setOpen(false);
9646
+ return;
9647
+ }
9648
+ form.setValue(id, toFormValue(entity));
9649
+ setOpen(false);
9650
+ setTimeout(() => setOpen(false), 0);
9651
+ }, "handleSelect");
9652
+ const handleCreateNew = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async () => {
9653
+ if (!onCreateNew) return;
9654
+ const trimmed = searchTerm.trim();
9655
+ if (!trimmed || isCreating) return;
9656
+ setIsCreating(true);
9657
+ try {
9658
+ const created = await onCreateNew(trimmed);
9659
+ if (created) {
9660
+ handleSelect(created);
9661
+ setSearchTerm("");
9662
+ searchTermRef.current = "";
9663
+ }
9664
+ } finally {
9665
+ setIsCreating(false);
9666
+ }
9667
+ }, "handleCreateNew");
9668
+ const displayData = filterData ? filterData(_nullishCoalesce(data.data, () => ( []))) : _nullishCoalesce(data.data, () => ( []));
9669
+ const hasValue = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (value) => {
9670
+ if (value == null) return false;
9671
+ if (typeof value === "object") return !!value.id;
9672
+ return !!value;
9673
+ }, "hasValue");
9674
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
9675
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FormFieldWrapper, { form, name: id, label, isRequired, description, children: (field) => {
9676
+ const effectiveValue = shouldUseFormWatch ? watchedValue : field.value;
9677
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Popover, { open: disabled ? false : open, onOpenChange: disabled ? void 0 : setOpen, modal: true, children: [
9678
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverTrigger, { className: "w-full", disabled, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
9679
+ "div",
9680
+ {
9681
+ className: `bg-input/20 dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/30 focus-visible:ring-[2px] flex min-h-7 w-full items-center gap-2 rounded-md border px-2 py-0.5 text-sm md:text-xs/relaxed ${hasValue(effectiveValue) ? "" : "text-muted-foreground"} ${disabled ? "cursor-not-allowed opacity-50" : ""}`,
9682
+ children: [
9683
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1 truncate text-left", children: hasValue(effectiveValue) ? getSelectedItemDisplay ? getSelectedItemDisplay(effectiveValue) : _nullishCoalesce(_optionalChain([effectiveValue, 'optionalAccess', _272 => _272.name]), () => ( "")) : placeholder }),
9684
+ hasValue(effectiveValue) && !disabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9685
+ _lucidereact.CircleX,
9686
+ {
9687
+ className: "text-muted hover:text-destructive ml-auto h-4 w-4 shrink-0 cursor-pointer",
9688
+ onClick: (e) => {
9689
+ e.stopPropagation();
9690
+ e.preventDefault();
9691
+ handleSelect();
9692
+ }
9693
+ }
9694
+ )
9695
+ ]
9696
+ }
9697
+ ) }),
9698
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverContent, { align: "start", className: "w-(--anchor-width) pointer-events-auto", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Command, { shouldFilter: false, children: [
9699
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative mb-2 w-full", children: [
9700
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.SearchIcon, { className: "text-muted-foreground absolute top-2.5 left-2.5 h-4 w-4" }),
9701
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9702
+ Input,
9703
+ {
9704
+ placeholder,
9705
+ type: "text",
9706
+ className: "w-full pr-8 pl-8",
9707
+ onChange: (e) => setSearchTerm(e.target.value),
9708
+ value: searchTerm
9709
+ }
9710
+ ),
9711
+ isSearching ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.RefreshCwIcon, { className: "text-muted-foreground absolute top-2.5 right-2.5 h-4 w-4 animate-spin" }) : searchTermRef.current ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9712
+ _lucidereact.XIcon,
9713
+ {
9714
+ className: "absolute top-2.5 right-2.5 h-4 w-4 cursor-pointer",
9715
+ onClick: () => {
9716
+ setSearchTerm("");
9717
+ search("");
9718
+ }
9719
+ }
9720
+ ) : null
9721
+ ] }),
9722
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, CommandList, { children: [
9723
+ onCreateNew && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
9724
+ CommandItem,
9725
+ {
9726
+ value: "__create_new__",
9727
+ className: `cursor-pointer ${!searchTerm.trim() || isCreating ? "opacity-50 pointer-events-none" : ""}`,
9728
+ disabled: !searchTerm.trim() || isCreating,
9729
+ onSelect: handleCreateNew,
9730
+ children: [
9731
+ isCreating ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.RefreshCwIcon, { className: "mr-2 h-4 w-4 animate-spin" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "mr-2 h-4 w-4" }),
9732
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: createNewLabel ? createNewLabel(searchTerm) : searchTerm.trim() || "" })
9733
+ ]
9734
+ },
9735
+ "__create_new__"
9736
+ ),
9737
+ renderOption ? displayData.map((entity) => renderOption(entity, () => handleSelect(entity))) : displayData.map((entity) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9738
+ CommandItem,
9739
+ {
9740
+ className: "cursor-pointer bg-transparent data-selected:bg-transparent hover:bg-muted data-selected:hover:bg-muted",
9741
+ value: entity.id,
9742
+ onSelect: () => handleSelect(entity),
9743
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: getLabel(entity) })
9744
+ },
9745
+ entity.id
9746
+ )),
9747
+ emptyText && displayData.length === 0 && !onCreateNew && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground py-6 text-center text-xs", children: emptyText })
9748
+ ] })
9749
+ ] }) })
9750
+ ] });
9751
+ } }),
9752
+ renderAfter && renderAfter({ form, selectedEntity })
9753
+ ] });
9434
9754
  }
9435
- _chunk7QVYU63Ejs.__name.call(void 0, DateRangeSelector, "DateRangeSelector");
9755
+ _chunk7QVYU63Ejs.__name.call(void 0, EntitySelector, "EntitySelector");
9436
9756
 
9437
9757
  // src/components/forms/FileUploader.tsx
9438
9758
 
@@ -9495,7 +9815,7 @@ var FileUploader = _react.forwardRef.call(void 0,
9495
9815
  movePrev();
9496
9816
  } else if (e.key === "Enter" || e.key === "Space") {
9497
9817
  if (activeIndex === -1) {
9498
- _optionalChain([dropzoneState, 'access', _272 => _272.inputRef, 'access', _273 => _273.current, 'optionalAccess', _274 => _274.click, 'call', _275 => _275()]);
9818
+ _optionalChain([dropzoneState, 'access', _273 => _273.inputRef, 'access', _274 => _274.current, 'optionalAccess', _275 => _275.click, 'call', _276 => _276()]);
9499
9819
  }
9500
9820
  } else if (e.key === "Delete" || e.key === "Backspace") {
9501
9821
  if (activeIndex !== -1) {
@@ -9533,13 +9853,13 @@ var FileUploader = _react.forwardRef.call(void 0,
9533
9853
  onValueChange(newValues);
9534
9854
  if (rejectedFiles.length > 0) {
9535
9855
  for (let i = 0; i < rejectedFiles.length; i++) {
9536
- if (_optionalChain([rejectedFiles, 'access', _276 => _276[i], 'access', _277 => _277.errors, 'access', _278 => _278[0], 'optionalAccess', _279 => _279.code]) === "file-too-large") {
9856
+ if (_optionalChain([rejectedFiles, 'access', _277 => _277[i], 'access', _278 => _278.errors, 'access', _279 => _279[0], 'optionalAccess', _280 => _280.code]) === "file-too-large") {
9537
9857
  _chunkPQBKPWBYjs.showError.call(void 0, t("common.errors.file"), {
9538
9858
  description: t(`common.errors.file_max`, { size: maxSize / 1024 / 1024 })
9539
9859
  });
9540
9860
  break;
9541
9861
  }
9542
- if (_optionalChain([rejectedFiles, 'access', _280 => _280[i], 'access', _281 => _281.errors, 'access', _282 => _282[0], 'optionalAccess', _283 => _283.message])) {
9862
+ if (_optionalChain([rejectedFiles, 'access', _281 => _281[i], 'access', _282 => _282.errors, 'access', _283 => _283[0], 'optionalAccess', _284 => _284.message])) {
9543
9863
  _chunkPQBKPWBYjs.showError.call(void 0, t(`common.errors.file`), {
9544
9864
  description: rejectedFiles[i].errors[0].message
9545
9865
  });
@@ -9729,108 +10049,6 @@ var FileInput = _react.forwardRef.call(void 0,
9729
10049
  );
9730
10050
  FileInput.displayName = "FileInput";
9731
10051
 
9732
- // src/components/forms/CurrencyInput.tsx
9733
-
9734
-
9735
- function centsToInput(cents) {
9736
- return (cents / 100).toFixed(2);
9737
- }
9738
- _chunk7QVYU63Ejs.__name.call(void 0, centsToInput, "centsToInput");
9739
- function parseInput(raw) {
9740
- if (!raw || raw.trim() === "") return 0;
9741
- const trimmed = raw.trim();
9742
- const lastComma = trimmed.lastIndexOf(",");
9743
- const lastDot = trimmed.lastIndexOf(".");
9744
- let normalized;
9745
- if (lastComma > lastDot) {
9746
- normalized = trimmed.replace(/\./g, "").replace(",", ".");
9747
- } else if (lastDot > lastComma) {
9748
- normalized = trimmed.replace(/,/g, "");
9749
- } else {
9750
- normalized = trimmed.replace(",", ".");
9751
- }
9752
- const parsed = parseFloat(normalized);
9753
- if (Number.isNaN(parsed)) return 0;
9754
- return Math.round(parsed * 100);
9755
- }
9756
- _chunk7QVYU63Ejs.__name.call(void 0, parseInput, "parseInput");
9757
- function sanitizeKeystroke(raw) {
9758
- let value = raw.replace(/[^0-9.,-]/g, "");
9759
- const firstSep = value.search(/[.,]/);
9760
- if (firstSep !== -1) {
9761
- const sep = value[firstSep];
9762
- const before = value.slice(0, firstSep);
9763
- const after = value.slice(firstSep + 1).replace(/[.,]/g, "");
9764
- value = before + sep + after;
9765
- }
9766
- return value;
9767
- }
9768
- _chunk7QVYU63Ejs.__name.call(void 0, sanitizeKeystroke, "sanitizeKeystroke");
9769
- function CurrencyInput({
9770
- valueCents,
9771
- onChange,
9772
- currencySymbol = "\u20AC",
9773
- readOnly,
9774
- disabled,
9775
- placeholder,
9776
- className,
9777
- testId
9778
- }) {
9779
- const [draft, setDraft] = _react.useState.call(void 0, null);
9780
- const display = draft !== null ? draft : centsToInput(valueCents);
9781
- const handleChange = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (e) => {
9782
- setDraft(sanitizeKeystroke(e.target.value));
9783
- }, "handleChange");
9784
- const handleBlur = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
9785
- if (draft === null) return;
9786
- onChange(parseInput(draft));
9787
- setDraft(null);
9788
- }, "handleBlur");
9789
- const sharedProps = {
9790
- type: "text",
9791
- inputMode: "decimal",
9792
- value: display,
9793
- readOnly,
9794
- disabled,
9795
- placeholder,
9796
- onChange: handleChange,
9797
- onBlur: handleBlur,
9798
- "data-testid": testId
9799
- };
9800
- if (!currencySymbol) {
9801
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Input, { ...sharedProps, className: `text-end ${_nullishCoalesce(className, () => ( ""))}`.trim() });
9802
- }
9803
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, InputGroup, { children: [
9804
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InputGroupAddon, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InputGroupText, { children: currencySymbol }) }),
9805
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InputGroupInput, { ...sharedProps, className: `text-end ${_nullishCoalesce(className, () => ( ""))}`.trim() })
9806
- ] });
9807
- }
9808
- _chunk7QVYU63Ejs.__name.call(void 0, CurrencyInput, "CurrencyInput");
9809
-
9810
- // src/components/forms/FormCheckbox.tsx
9811
-
9812
- function FormCheckbox({ form, id, name, labelBefore, description, isRequired }) {
9813
- const simpleLabel = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
9814
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FieldLabel, { htmlFor: id, className: `font-normal ${labelBefore ? "" : "ml-3"}`, children: name });
9815
- }, "simpleLabel");
9816
- const label = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
9817
- if (!description) return simpleLabel();
9818
- else
9819
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip2, { children: [
9820
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipTrigger, { children: simpleLabel() }),
9821
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: description })
9822
- ] });
9823
- }, "label");
9824
- 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, orientation: "horizontal", children: (field) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-x-4", children: [
9825
- labelBefore && label(),
9826
- labelBefore && isRequired && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-destructive ml-2 font-semibold", children: "*" }),
9827
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Checkbox, { id, checked: _nullishCoalesce(field.value, () => ( false)), onCheckedChange: field.onChange }),
9828
- !labelBefore && label(),
9829
- !labelBefore && isRequired && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-destructive ml-2 font-semibold", children: "*" })
9830
- ] }) }) });
9831
- }
9832
- _chunk7QVYU63Ejs.__name.call(void 0, FormCheckbox, "FormCheckbox");
9833
-
9834
10052
  // src/components/forms/FormBlockNote.tsx
9835
10053
 
9836
10054
 
@@ -9838,7 +10056,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, FormCheckbox, "FormCheckbox");
9838
10056
  var _dynamic = require('next/dynamic'); var _dynamic2 = _interopRequireDefault(_dynamic);
9839
10057
 
9840
10058
 
9841
- var BlockNoteEditor = _dynamic2.default.call(void 0, () => Promise.resolve().then(() => _interopRequireWildcard(require("./BlockNoteEditor-6NV6WSQH.js"))), {
10059
+ var BlockNoteEditor = _dynamic2.default.call(void 0, () => Promise.resolve().then(() => _interopRequireWildcard(require("./BlockNoteEditor-PFA6IAEL.js"))), {
9842
10060
  ssr: false
9843
10061
  });
9844
10062
  var BlockNoteEditorContainer = React.default.memo(/* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, function EditorContainer(props) {
@@ -9903,7 +10121,7 @@ function FormBlockNote({
9903
10121
  onChange: (content, isEmpty) => {
9904
10122
  lastEditorContentRef.current = content;
9905
10123
  field.onChange(content);
9906
- _optionalChain([onEmptyChange, 'optionalCall', _284 => _284(isEmpty)]);
10124
+ _optionalChain([onEmptyChange, 'optionalCall', _285 => _285(isEmpty)]);
9907
10125
  },
9908
10126
  placeholder,
9909
10127
  bordered: true,
@@ -9929,6 +10147,30 @@ function FormBlockNote({
9929
10147
  }
9930
10148
  _chunk7QVYU63Ejs.__name.call(void 0, FormBlockNote, "FormBlockNote");
9931
10149
 
10150
+ // src/components/forms/FormCheckbox.tsx
10151
+
10152
+ function FormCheckbox({ form, id, name, labelBefore, description, isRequired }) {
10153
+ const simpleLabel = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
10154
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FieldLabel, { htmlFor: id, className: `font-normal ${labelBefore ? "" : "ml-3"}`, children: name });
10155
+ }, "simpleLabel");
10156
+ const label = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
10157
+ if (!description) return simpleLabel();
10158
+ else
10159
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip2, { children: [
10160
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipTrigger, { children: simpleLabel() }),
10161
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: description })
10162
+ ] });
10163
+ }, "label");
10164
+ 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, orientation: "horizontal", children: (field) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-x-4", children: [
10165
+ labelBefore && label(),
10166
+ labelBefore && isRequired && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-destructive ml-2 font-semibold", children: "*" }),
10167
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Checkbox, { id, checked: _nullishCoalesce(field.value, () => ( false)), onCheckedChange: field.onChange }),
10168
+ !labelBefore && label(),
10169
+ !labelBefore && isRequired && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-destructive ml-2 font-semibold", children: "*" })
10170
+ ] }) }) });
10171
+ }
10172
+ _chunk7QVYU63Ejs.__name.call(void 0, FormCheckbox, "FormCheckbox");
10173
+
9932
10174
  // src/components/forms/FormDate.tsx
9933
10175
 
9934
10176
 
@@ -10362,6 +10604,47 @@ function FormInput({
10362
10604
  }
10363
10605
  _chunk7QVYU63Ejs.__name.call(void 0, FormInput, "FormInput");
10364
10606
 
10607
+ // src/components/forms/FormLayout.tsx
10608
+
10609
+ function FormBody({ children, className }) {
10610
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPQBKPWBYjs.cn.call(void 0, "flex w-full flex-col gap-4", className), children });
10611
+ }
10612
+ _chunk7QVYU63Ejs.__name.call(void 0, FormBody, "FormBody");
10613
+ function FormSection({
10614
+ title,
10615
+ children,
10616
+ className
10617
+ }) {
10618
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { className: _chunkPQBKPWBYjs.cn.call(void 0, "flex flex-col gap-4 pt-4 first:pt-0", className), children: [
10619
+ title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-lg font-semibold", children: title }),
10620
+ children
10621
+ ] });
10622
+ }
10623
+ _chunk7QVYU63Ejs.__name.call(void 0, FormSection, "FormSection");
10624
+ function FormRow({
10625
+ children,
10626
+ columns = 2,
10627
+ className
10628
+ }) {
10629
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10630
+ "div",
10631
+ {
10632
+ className: _chunkPQBKPWBYjs.cn.call(void 0, "grid grid-cols-1 gap-x-4 gap-y-4", columns === 3 ? "md:grid-cols-3" : "md:grid-cols-2", className),
10633
+ children
10634
+ }
10635
+ );
10636
+ }
10637
+ _chunk7QVYU63Ejs.__name.call(void 0, FormRow, "FormRow");
10638
+ function FormCol({
10639
+ children,
10640
+ span = 1,
10641
+ className
10642
+ }) {
10643
+ const spanClass = span === 3 ? "md:col-span-3" : span === 2 ? "md:col-span-2" : "";
10644
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkPQBKPWBYjs.cn.call(void 0, spanClass, className), children });
10645
+ }
10646
+ _chunk7QVYU63Ejs.__name.call(void 0, FormCol, "FormCol");
10647
+
10365
10648
  // src/components/forms/PasswordInput.tsx
10366
10649
 
10367
10650
 
@@ -10502,11 +10785,11 @@ function FormPlaceAutocomplete({
10502
10785
  const data = await response.json();
10503
10786
  if (data.suggestions) {
10504
10787
  const formattedSuggestions = data.suggestions.map((suggestion) => ({
10505
- place_id: _optionalChain([suggestion, 'access', _285 => _285.placePrediction, 'optionalAccess', _286 => _286.placeId]) || "",
10506
- description: _optionalChain([suggestion, 'access', _287 => _287.placePrediction, 'optionalAccess', _288 => _288.text, 'optionalAccess', _289 => _289.text]) || "",
10788
+ place_id: _optionalChain([suggestion, 'access', _286 => _286.placePrediction, 'optionalAccess', _287 => _287.placeId]) || "",
10789
+ description: _optionalChain([suggestion, 'access', _288 => _288.placePrediction, 'optionalAccess', _289 => _289.text, 'optionalAccess', _290 => _290.text]) || "",
10507
10790
  structured_formatting: {
10508
- main_text: _optionalChain([suggestion, 'access', _290 => _290.placePrediction, 'optionalAccess', _291 => _291.structuredFormat, 'optionalAccess', _292 => _292.mainText, 'optionalAccess', _293 => _293.text]) || "",
10509
- secondary_text: _optionalChain([suggestion, 'access', _294 => _294.placePrediction, 'optionalAccess', _295 => _295.structuredFormat, 'optionalAccess', _296 => _296.secondaryText, 'optionalAccess', _297 => _297.text]) || ""
10791
+ main_text: _optionalChain([suggestion, 'access', _291 => _291.placePrediction, 'optionalAccess', _292 => _292.structuredFormat, 'optionalAccess', _293 => _293.mainText, 'optionalAccess', _294 => _294.text]) || "",
10792
+ secondary_text: _optionalChain([suggestion, 'access', _295 => _295.placePrediction, 'optionalAccess', _296 => _296.structuredFormat, 'optionalAccess', _297 => _297.secondaryText, 'optionalAccess', _298 => _298.text]) || ""
10510
10793
  }
10511
10794
  }));
10512
10795
  setSuggestions(formattedSuggestions);
@@ -10653,8 +10936,8 @@ function FormPlaceAutocomplete({
10653
10936
  className: "hover:bg-muted cursor-pointer px-3 py-2 text-sm",
10654
10937
  onClick: () => handleSuggestionSelect(suggestion),
10655
10938
  children: [
10656
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "font-medium", children: _optionalChain([suggestion, 'access', _298 => _298.structured_formatting, 'optionalAccess', _299 => _299.main_text]) }),
10657
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground", children: _optionalChain([suggestion, 'access', _300 => _300.structured_formatting, 'optionalAccess', _301 => _301.secondary_text]) })
10939
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "font-medium", children: _optionalChain([suggestion, 'access', _299 => _299.structured_formatting, 'optionalAccess', _300 => _300.main_text]) }),
10940
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground", children: _optionalChain([suggestion, 'access', _301 => _301.structured_formatting, 'optionalAccess', _302 => _302.secondary_text]) })
10658
10941
  ]
10659
10942
  },
10660
10943
  suggestion.place_id || index
@@ -10702,7 +10985,7 @@ function FormSelect({
10702
10985
  disabled,
10703
10986
  "data-testid": testId,
10704
10987
  children: [
10705
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectValue, { children: field.value ? _optionalChain([values, 'access', _302 => _302.find, 'call', _303 => _303((v) => v.id === field.value), 'optionalAccess', _304 => _304.text]) : _nullishCoalesce(placeholder, () => ( "")) }) }),
10988
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectValue, { children: field.value ? _optionalChain([values, 'access', _303 => _303.find, 'call', _304 => _304((v) => v.id === field.value), 'optionalAccess', _305 => _305.text]) : _nullishCoalesce(placeholder, () => ( "")) }) }),
10706
10989
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SelectContent, { children: [
10707
10990
  allowEmpty && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: EMPTY_VALUE, className: "text-muted-foreground", children: _nullishCoalesce(placeholder, () => ( "")) }),
10708
10991
  values.map((type) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: type.id, children: type.text }, type.id))
@@ -10839,41 +11122,6 @@ var dropzone = {
10839
11122
  }
10840
11123
  };
10841
11124
 
10842
- // src/features/feature/components/forms/FormFeatures.tsx
10843
-
10844
- function FormFeatures({ form, name, features, featureField = "featureIds" }) {
10845
- const selectedFeatures = form.watch(featureField);
10846
- const toggleFeature = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (feature, checked) => {
10847
- let newFeatureIds = [...selectedFeatures];
10848
- if (checked) {
10849
- if (!newFeatureIds.includes(feature.id)) {
10850
- newFeatureIds.push(feature.id);
10851
- }
10852
- } else {
10853
- newFeatureIds = newFeatureIds.filter((id) => id !== feature.id);
10854
- }
10855
- form.setValue(featureField, newFeatureIds);
10856
- }, "toggleFeature");
10857
- const isFeatureChecked = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (feature) => selectedFeatures.includes(feature.id), "isFeatureChecked");
10858
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
10859
- name && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "mb-4 border-b text-lg font-semibold", children: name }),
10860
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScrollArea, { className: "h-[40vh]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-y-2 pr-4", children: features.filter((feature) => !feature.isCore).map((feature) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center", children: [
10861
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10862
- Checkbox,
10863
- {
10864
- id: feature.id,
10865
- checked: isFeatureChecked(feature),
10866
- onCheckedChange: (val) => {
10867
- toggleFeature(feature, val === true);
10868
- }
10869
- }
10870
- ),
10871
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Label, { htmlFor: feature.id, className: "ml-3 cursor-pointer font-normal", children: feature.name })
10872
- ] }, feature.id)) }) })
10873
- ] });
10874
- }
10875
- _chunk7QVYU63Ejs.__name.call(void 0, FormFeatures, "FormFeatures");
10876
-
10877
11125
  // src/features/user/components/widgets/UserAvatar.tsx
10878
11126
 
10879
11127
  function UserAvatar({ user, className, showFull, showLink, showTooltip = true }) {
@@ -10889,7 +11137,7 @@ function UserAvatar({ user, className, showFull, showLink, showTooltip = true })
10889
11137
  }, "getInitials");
10890
11138
  const getAvatar = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
10891
11139
  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: [
10892
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { className: "object-cover", src: _optionalChain([user, 'optionalAccess', _305 => _305.avatar]) }),
11140
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { className: "object-cover", src: _optionalChain([user, 'optionalAccess', _306 => _306.avatar]) }),
10893
11141
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: getInitials3(user.name) })
10894
11142
  ] }) });
10895
11143
  }, "getAvatar");
@@ -11080,7 +11328,7 @@ var useUserTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0,
11080
11328
  })
11081
11329
  };
11082
11330
  const columns = _react.useMemo.call(void 0, () => {
11083
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _306 => _306[field], 'optionalCall', _307 => _307()])).filter((col) => col !== void 0);
11331
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _307 => _307[field], 'optionalCall', _308 => _308()])).filter((col) => col !== void 0);
11084
11332
  }, [params.fields, fieldColumnMap, t, generateUrl]);
11085
11333
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
11086
11334
  }, "useUserTableStructure");
@@ -11194,10 +11442,10 @@ function UserSelector({ id, form, label, placeholder, onChange, isRequired = fal
11194
11442
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-row items-center justify-between", children: [
11195
11443
  /* @__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: [
11196
11444
  /* @__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: [
11197
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { src: _optionalChain([field, 'access', _308 => _308.value, 'optionalAccess', _309 => _309.avatar]) }),
11198
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: _optionalChain([field, 'access', _310 => _310.value, 'optionalAccess', _311 => _311.name]) ? _optionalChain([field, 'access', _312 => _312.value, 'optionalAccess', _313 => _313.name, 'access', _314 => _314.split, 'call', _315 => _315(" "), 'access', _316 => _316.map, 'call', _317 => _317((name) => name.charAt(0).toUpperCase())]) : "X" })
11445
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { src: _optionalChain([field, 'access', _309 => _309.value, 'optionalAccess', _310 => _310.avatar]) }),
11446
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: _optionalChain([field, 'access', _311 => _311.value, 'optionalAccess', _312 => _312.name]) ? _optionalChain([field, 'access', _313 => _313.value, 'optionalAccess', _314 => _314.name, 'access', _315 => _315.split, 'call', _316 => _316(" "), 'access', _317 => _317.map, 'call', _318 => _318((name) => name.charAt(0).toUpperCase())]) : "X" })
11199
11447
  ] }) }),
11200
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([field, 'access', _318 => _318.value, 'optionalAccess', _319 => _319.name]), () => ( "")) })
11448
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([field, 'access', _319 => _319.value, 'optionalAccess', _320 => _320.name]), () => ( "")) })
11201
11449
  ] }) : /* @__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 }) }))) }) }) }),
11202
11450
  field.value && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11203
11451
  _lucidereact.CircleX,
@@ -11528,7 +11776,7 @@ function CompanyUsersList({ isDeleted, fullWidth }) {
11528
11776
  const data = useDataListRetriever({
11529
11777
  ready: !!company,
11530
11778
  retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkPQBKPWBYjs.UserService.findAllUsers(params), "retriever"),
11531
- retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _320 => _320.id]), isDeleted },
11779
+ retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _321 => _321.id]), isDeleted },
11532
11780
  module: _chunkPQBKPWBYjs.Modules.User
11533
11781
  });
11534
11782
  _react.useEffect.call(void 0, () => {
@@ -11635,11 +11883,11 @@ function UserListInAdd({ data, existingUsers, setSelectedUser, setLevelOpen }) {
11635
11883
  className: "cursor-pointer hover:bg-muted data-selected:hover:bg-muted bg-transparent data-selected:bg-transparent",
11636
11884
  onClick: (_e) => {
11637
11885
  setSelectedUser(user);
11638
- _optionalChain([setLevelOpen, 'optionalCall', _321 => _321(true)]);
11886
+ _optionalChain([setLevelOpen, 'optionalCall', _322 => _322(true)]);
11639
11887
  },
11640
11888
  onSelect: (_e) => {
11641
11889
  setSelectedUser(user);
11642
- _optionalChain([setLevelOpen, 'optionalCall', _322 => _322(true)]);
11890
+ _optionalChain([setLevelOpen, 'optionalCall', _323 => _323(true)]);
11643
11891
  },
11644
11892
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-row items-center justify-between px-4 py-1", children: [
11645
11893
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserAvatar, { user }),
@@ -11770,7 +12018,7 @@ function CompanyContent({ company, actions }) {
11770
12018
  company.legal_address
11771
12019
  ] }),
11772
12020
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-y-1", children: [
11773
- _optionalChain([company, 'access', _323 => _323.configurations, 'optionalAccess', _324 => _324.country]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
12021
+ _optionalChain([company, 'access', _324 => _324.configurations, 'optionalAccess', _325 => _325.country]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
11774
12022
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "font-medium", children: [
11775
12023
  t("features.configuration.country"),
11776
12024
  ":"
@@ -11778,7 +12026,7 @@ function CompanyContent({ company, actions }) {
11778
12026
  " ",
11779
12027
  company.configurations.country
11780
12028
  ] }),
11781
- _optionalChain([company, 'access', _325 => _325.configurations, 'optionalAccess', _326 => _326.currency]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
12029
+ _optionalChain([company, 'access', _326 => _326.configurations, 'optionalAccess', _327 => _327.currency]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
11782
12030
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "font-medium", children: [
11783
12031
  t("features.configuration.currency"),
11784
12032
  ":"
@@ -12188,7 +12436,7 @@ function CompanyEditorInternal({
12188
12436
  const t = _nextintl.useTranslations.call(void 0, );
12189
12437
  const fiscalRef = _react.useRef.call(void 0, null);
12190
12438
  const addressComponentsRef = _react.useRef.call(void 0, {});
12191
- const canAccessFeatures = hasRole(_chunkJO5BLONKjs.getRoleId.call(void 0, ).Administrator) || hasRole(_chunkJO5BLONKjs.getRoleId.call(void 0, ).CompanyAdministrator) && _optionalChain([process, 'access', _327 => _327.env, 'access', _328 => _328.NEXT_PUBLIC_PRIVATE_INSTALLATION, 'optionalAccess', _329 => _329.toLowerCase, 'call', _330 => _330()]) === "true";
12439
+ const canAccessFeatures = hasRole(_chunkJO5BLONKjs.getRoleId.call(void 0, ).Administrator) || hasRole(_chunkJO5BLONKjs.getRoleId.call(void 0, ).CompanyAdministrator) && _optionalChain([process, 'access', _328 => _328.env, 'access', _329 => _329.NEXT_PUBLIC_PRIVATE_INSTALLATION, 'optionalAccess', _330 => _330.toLowerCase, 'call', _331 => _331()]) === "true";
12192
12440
  const handleDialogOpenChange = _react.useCallback.call(void 0,
12193
12441
  (open) => {
12194
12442
  if (open && features.length === 0 && canAccessFeatures) {
@@ -12203,7 +12451,7 @@ function CompanyEditorInternal({
12203
12451
  _chunk7QVYU63Ejs.__name.call(void 0, fetchFeatures, "fetchFeatures");
12204
12452
  fetchFeatures();
12205
12453
  }
12206
- _optionalChain([onDialogOpenChange, 'optionalCall', _331 => _331(open)]);
12454
+ _optionalChain([onDialogOpenChange, 'optionalCall', _332 => _332(open)]);
12207
12455
  },
12208
12456
  [features.length, canAccessFeatures, hasRole, onDialogOpenChange]
12209
12457
  );
@@ -12248,12 +12496,12 @@ function CompanyEditorInternal({
12248
12496
  );
12249
12497
  const getDefaultValues = _react.useCallback.call(void 0, () => {
12250
12498
  return {
12251
- id: _optionalChain([company, 'optionalAccess', _332 => _332.id]) || _uuid.v4.call(void 0, ),
12252
- name: _optionalChain([company, 'optionalAccess', _333 => _333.name]) || "",
12253
- featureIds: _optionalChain([company, 'optionalAccess', _334 => _334.features, 'access', _335 => _335.map, 'call', _336 => _336((feature) => feature.id)]) || [],
12254
- moduleIds: _optionalChain([company, 'optionalAccess', _337 => _337.modules, 'access', _338 => _338.map, 'call', _339 => _339((module) => module.id)]) || [],
12255
- logo: _optionalChain([company, 'optionalAccess', _340 => _340.logo]) || "",
12256
- legal_address: _optionalChain([company, 'optionalAccess', _341 => _341.legal_address]) || ""
12499
+ id: _optionalChain([company, 'optionalAccess', _333 => _333.id]) || _uuid.v4.call(void 0, ),
12500
+ name: _optionalChain([company, 'optionalAccess', _334 => _334.name]) || "",
12501
+ featureIds: _optionalChain([company, 'optionalAccess', _335 => _335.features, 'access', _336 => _336.map, 'call', _337 => _337((feature) => feature.id)]) || [],
12502
+ moduleIds: _optionalChain([company, 'optionalAccess', _338 => _338.modules, 'access', _339 => _339.map, 'call', _340 => _340((module) => module.id)]) || [],
12503
+ logo: _optionalChain([company, 'optionalAccess', _341 => _341.logo]) || "",
12504
+ legal_address: _optionalChain([company, 'optionalAccess', _342 => _342.legal_address]) || ""
12257
12505
  };
12258
12506
  }, [company]);
12259
12507
  const form = _reacthookform.useForm.call(void 0, {
@@ -12265,7 +12513,7 @@ function CompanyEditorInternal({
12265
12513
  {
12266
12514
  form,
12267
12515
  entityType: t(`entities.companies`, { count: 1 }),
12268
- entityName: _optionalChain([company, 'optionalAccess', _342 => _342.name]),
12516
+ entityName: _optionalChain([company, 'optionalAccess', _343 => _343.name]),
12269
12517
  isEdit: !!company,
12270
12518
  module: _chunkPQBKPWBYjs.Modules.Company,
12271
12519
  propagateChanges,
@@ -12290,7 +12538,7 @@ function CompanyEditorInternal({
12290
12538
  throw new Error("Fiscal data validation failed");
12291
12539
  }
12292
12540
  const payload = {
12293
- id: _nullishCoalesce(_optionalChain([company, 'optionalAccess', _343 => _343.id]), () => ( _uuid.v4.call(void 0, ))),
12541
+ id: _nullishCoalesce(_optionalChain([company, 'optionalAccess', _344 => _344.id]), () => ( _uuid.v4.call(void 0, ))),
12294
12542
  name: values.name,
12295
12543
  logo: files && contentType ? values.logo : void 0,
12296
12544
  featureIds: values.featureIds,
@@ -12321,10 +12569,10 @@ function CompanyEditorInternal({
12321
12569
  dialogOpen,
12322
12570
  onDialogOpenChange: handleDialogOpenChange,
12323
12571
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start justify-between gap-x-4", children: [
12324
- /* @__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', _344 => _344.logo]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12572
+ /* @__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', _345 => _345.logo]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12325
12573
  _image2.default,
12326
12574
  {
12327
- src: file ? URL.createObjectURL(file) : _optionalChain([company, 'optionalAccess', _345 => _345.logo]) || "",
12575
+ src: file ? URL.createObjectURL(file) : _optionalChain([company, 'optionalAccess', _346 => _346.logo]) || "",
12328
12576
  alt: "Company Logo",
12329
12577
  width: 200,
12330
12578
  height: 200
@@ -12358,7 +12606,7 @@ function CompanyEditorInternal({
12358
12606
  }
12359
12607
  ),
12360
12608
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "mt-2 text-sm font-semibold", children: t(`company.sections.fiscal_data`) }),
12361
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ItalianFiscalData_default, { ref: fiscalRef, initialData: parseFiscalData(_optionalChain([company, 'optionalAccess', _346 => _346.fiscal_data])) })
12609
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ItalianFiscalData_default, { ref: fiscalRef, initialData: parseFiscalData(_optionalChain([company, 'optionalAccess', _347 => _347.fiscal_data])) })
12362
12610
  ] }),
12363
12611
  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 }) }) })
12364
12612
  ] })
@@ -12475,7 +12723,7 @@ function NotificationToast(notification, t, generateUrl, reouter) {
12475
12723
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
12476
12724
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
12477
12725
  strong: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (chunks) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: chunks }), "strong"),
12478
- actor: _nullishCoalesce(_optionalChain([data, 'access', _347 => _347.actor, 'optionalAccess', _348 => _348.name]), () => ( "")),
12726
+ actor: _nullishCoalesce(_optionalChain([data, 'access', _348 => _348.actor, 'optionalAccess', _349 => _349.name]), () => ( "")),
12479
12727
  title: data.title,
12480
12728
  message: _nullishCoalesce(notification.message, () => ( ""))
12481
12729
  }) }),
@@ -12504,7 +12752,7 @@ function NotificationMenuItem({ notification, closePopover }) {
12504
12752
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
12505
12753
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
12506
12754
  strong: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (chunks) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: chunks }), "strong"),
12507
- actor: _nullishCoalesce(_optionalChain([data, 'access', _349 => _349.actor, 'optionalAccess', _350 => _350.name]), () => ( "")),
12755
+ actor: _nullishCoalesce(_optionalChain([data, 'access', _350 => _350.actor, 'optionalAccess', _351 => _351.name]), () => ( "")),
12508
12756
  title: data.title,
12509
12757
  message: _nullishCoalesce(notification.message, () => ( ""))
12510
12758
  }) }),
@@ -12568,7 +12816,7 @@ var NotificationContextProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(v
12568
12816
  _react.useEffect.call(void 0, () => {
12569
12817
  if (hasInitiallyLoaded || !currentUser) return;
12570
12818
  if (_chunkJO5BLONKjs.isRolesConfigured.call(void 0, )) {
12571
- const isAdmin = _optionalChain([currentUser, 'access', _351 => _351.roles, 'optionalAccess', _352 => _352.some, 'call', _353 => _353((role) => role.id === _chunkJO5BLONKjs.getRoleId.call(void 0, ).Administrator)]);
12819
+ const isAdmin = _optionalChain([currentUser, 'access', _352 => _352.roles, 'optionalAccess', _353 => _353.some, 'call', _354 => _354((role) => role.id === _chunkJO5BLONKjs.getRoleId.call(void 0, ).Administrator)]);
12572
12820
  if (isAdmin) {
12573
12821
  setHasInitiallyLoaded(true);
12574
12822
  return;
@@ -12770,7 +13018,7 @@ function OnboardingProvider({
12770
13018
  let tourSteps = steps;
12771
13019
  if (!tourSteps) {
12772
13020
  const tour2 = tours.find((t) => t.id === tourId);
12773
- tourSteps = _optionalChain([tour2, 'optionalAccess', _354 => _354.steps]);
13021
+ tourSteps = _optionalChain([tour2, 'optionalAccess', _355 => _355.steps]);
12774
13022
  }
12775
13023
  if (!tourSteps || tourSteps.length === 0) {
12776
13024
  console.warn(`No steps found for tour: ${tourId}`);
@@ -12838,10 +13086,10 @@ function OnboardingProvider({
12838
13086
  when: {
12839
13087
  show: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
12840
13088
  setCurrentStepIndex(index);
12841
- _optionalChain([stepConfig, 'access', _355 => _355.onShow, 'optionalCall', _356 => _356()]);
13089
+ _optionalChain([stepConfig, 'access', _356 => _356.onShow, 'optionalCall', _357 => _357()]);
12842
13090
  }, "show"),
12843
13091
  hide: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
12844
- _optionalChain([stepConfig, 'access', _357 => _357.onHide, 'optionalCall', _358 => _358()]);
13092
+ _optionalChain([stepConfig, 'access', _358 => _358.onHide, 'optionalCall', _359 => _359()]);
12845
13093
  }, "hide")
12846
13094
  }
12847
13095
  });
@@ -13007,7 +13255,7 @@ function HowToMultiSelector({
13007
13255
  retriever: (params) => _chunkPQBKPWBYjs.HowToService.findMany(params),
13008
13256
  module: _chunkPQBKPWBYjs.Modules.HowTo,
13009
13257
  getLabel: (howTo) => howTo.name,
13010
- excludeId: _optionalChain([currentHowTo, 'optionalAccess', _359 => _359.id]),
13258
+ excludeId: _optionalChain([currentHowTo, 'optionalAccess', _360 => _360.id]),
13011
13259
  onChange
13012
13260
  }
13013
13261
  );
@@ -13115,17 +13363,17 @@ function HowToEditorInternal({
13115
13363
  );
13116
13364
  const getDefaultValues = _react.useCallback.call(void 0,
13117
13365
  () => ({
13118
- id: _optionalChain([howTo, 'optionalAccess', _360 => _360.id]) || _uuid.v4.call(void 0, ),
13119
- name: _optionalChain([howTo, 'optionalAccess', _361 => _361.name]) || "",
13120
- description: _optionalChain([howTo, 'optionalAccess', _362 => _362.description]) || [],
13121
- pages: _chunkPQBKPWBYjs.HowTo.parsePagesFromString(_optionalChain([howTo, 'optionalAccess', _363 => _363.pages])),
13122
- howToType: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _364 => _364.howToType]), () => ( "how-to")),
13123
- slug: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _365 => _365.slug]), () => ( "")),
13124
- order: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _366 => _366.order]), () => ( 0)),
13125
- summary: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _367 => _367.summary]), () => ( "")),
13126
- tags: (_nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _368 => _368.tags]), () => ( []))).join(", "),
13127
- contextualKeys: (_nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _369 => _369.contextualKeys]), () => ( []))).join(", "),
13128
- draft: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _370 => _370.draft]), () => ( false)),
13366
+ id: _optionalChain([howTo, 'optionalAccess', _361 => _361.id]) || _uuid.v4.call(void 0, ),
13367
+ name: _optionalChain([howTo, 'optionalAccess', _362 => _362.name]) || "",
13368
+ description: _optionalChain([howTo, 'optionalAccess', _363 => _363.description]) || [],
13369
+ pages: _chunkPQBKPWBYjs.HowTo.parsePagesFromString(_optionalChain([howTo, 'optionalAccess', _364 => _364.pages])),
13370
+ howToType: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _365 => _365.howToType]), () => ( "how-to")),
13371
+ slug: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _366 => _366.slug]), () => ( "")),
13372
+ order: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _367 => _367.order]), () => ( 0)),
13373
+ summary: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _368 => _368.summary]), () => ( "")),
13374
+ tags: (_nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _369 => _369.tags]), () => ( []))).join(", "),
13375
+ contextualKeys: (_nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _370 => _370.contextualKeys]), () => ( []))).join(", "),
13376
+ draft: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _371 => _371.draft]), () => ( false)),
13129
13377
  relatedArticles: []
13130
13378
  }),
13131
13379
  [howTo]
@@ -13136,7 +13384,7 @@ function HowToEditorInternal({
13136
13384
  });
13137
13385
  const initialRelatedIds = _react.useRef.call(void 0, []);
13138
13386
  _react.useEffect.call(void 0, () => {
13139
- if (!_optionalChain([howTo, 'optionalAccess', _371 => _371.howToType]) || !_optionalChain([howTo, 'optionalAccess', _372 => _372.slug])) return;
13387
+ if (!_optionalChain([howTo, 'optionalAccess', _372 => _372.howToType]) || !_optionalChain([howTo, 'optionalAccess', _373 => _373.slug])) return;
13140
13388
  let active = true;
13141
13389
  _chunkPQBKPWBYjs.HowToService.findRelated({ howToType: howTo.howToType, slug: howTo.slug }).then((list) => {
13142
13390
  if (!active) return;
@@ -13175,7 +13423,7 @@ function HowToEditorInternal({
13175
13423
  {
13176
13424
  form,
13177
13425
  entityType: t(`entities.howtos`, { count: 1 }),
13178
- entityName: _optionalChain([howTo, 'optionalAccess', _373 => _373.name]),
13426
+ entityName: _optionalChain([howTo, 'optionalAccess', _374 => _374.name]),
13179
13427
  isEdit: !!howTo,
13180
13428
  module: _chunkPQBKPWBYjs.Modules.HowTo,
13181
13429
  propagateChanges,
@@ -13556,7 +13804,7 @@ function withPatchedTitle(source, title) {
13556
13804
  return _chunkPQBKPWBYjs.rehydrate.call(void 0, _chunkPQBKPWBYjs.Modules.Assistant, {
13557
13805
  jsonApi: {
13558
13806
  ...dehydrated.jsonApi,
13559
- attributes: { ..._nullishCoalesce(_optionalChain([dehydrated, 'access', _374 => _374.jsonApi, 'optionalAccess', _375 => _375.attributes]), () => ( {})), title }
13807
+ attributes: { ..._nullishCoalesce(_optionalChain([dehydrated, 'access', _375 => _375.jsonApi, 'optionalAccess', _376 => _376.attributes]), () => ( {})), title }
13560
13808
  },
13561
13809
  included: dehydrated.included
13562
13810
  });
@@ -13577,7 +13825,7 @@ function AssistantProvider({ children, dehydratedAssistant, dehydratedMessages,
13577
13825
  const [status, setStatus] = _react.useState.call(void 0, void 0);
13578
13826
  const [failedMessageIds, setFailedMessageIds] = _react.useState.call(void 0, () => /* @__PURE__ */ new Set());
13579
13827
  const [operatorMode, setOperatorMode] = _react.useState.call(void 0,
13580
- () => _optionalChain([dehydratedAssistant, 'optionalAccess', _376 => _376.jsonApi, 'optionalAccess', _377 => _377.attributes, 'optionalAccess', _378 => _378.engine]) === "operator"
13828
+ () => _optionalChain([dehydratedAssistant, 'optionalAccess', _377 => _377.jsonApi, 'optionalAccess', _378 => _378.attributes, 'optionalAccess', _379 => _379.engine]) === "operator"
13581
13829
  );
13582
13830
  const { socket } = useSocketContext();
13583
13831
  const sendMessage = _react.useCallback.call(void 0,
@@ -13586,7 +13834,7 @@ function AssistantProvider({ children, dehydratedAssistant, dehydratedMessages,
13586
13834
  if (!trimmed) return;
13587
13835
  const optimistic = _chunkPQBKPWBYjs.AssistantMessage.buildOptimistic({
13588
13836
  content: trimmed,
13589
- assistantId: _optionalChain([assistant, 'optionalAccess', _379 => _379.id]),
13837
+ assistantId: _optionalChain([assistant, 'optionalAccess', _380 => _380.id]),
13590
13838
  position: nextPosition(messages)
13591
13839
  });
13592
13840
  setMessages((prev) => [...prev, optimistic]);
@@ -13596,13 +13844,13 @@ function AssistantProvider({ children, dehydratedAssistant, dehydratedMessages,
13596
13844
  if (assistant && payload.assistantId && payload.assistantId !== assistant.id) return;
13597
13845
  if (typeof payload.status === "string") setStatus(payload.status);
13598
13846
  }, "handler");
13599
- _optionalChain([socket, 'optionalAccess', _380 => _380.on, 'call', _381 => _381("assistant:status", handler)]);
13847
+ _optionalChain([socket, 'optionalAccess', _381 => _381.on, 'call', _382 => _382("assistant:status", handler)]);
13600
13848
  try {
13601
13849
  if (!assistant) {
13602
13850
  const input = {
13603
13851
  firstMessage: trimmed,
13604
- howToMode: _optionalChain([opts, 'optionalAccess', _382 => _382.howToMode]),
13605
- limitToHowToId: _optionalChain([opts, 'optionalAccess', _383 => _383.limitToHowToId])
13852
+ howToMode: _optionalChain([opts, 'optionalAccess', _383 => _383.howToMode]),
13853
+ limitToHowToId: _optionalChain([opts, 'optionalAccess', _384 => _384.limitToHowToId])
13606
13854
  };
13607
13855
  const created = operatorMode ? await _chunkPQBKPWBYjs.AssistantService.createOperator(input) : await _chunkPQBKPWBYjs.AssistantService.create(input);
13608
13856
  const msgs = await _chunkPQBKPWBYjs.AssistantMessageService.findByAssistant({ assistantId: created.id });
@@ -13619,8 +13867,8 @@ function AssistantProvider({ children, dehydratedAssistant, dehydratedMessages,
13619
13867
  }) : await _chunkPQBKPWBYjs.AssistantService.appendMessage({
13620
13868
  assistantId: assistant.id,
13621
13869
  content: trimmed,
13622
- howToMode: _optionalChain([opts, 'optionalAccess', _384 => _384.howToMode]),
13623
- limitToHowToId: _optionalChain([opts, 'optionalAccess', _385 => _385.limitToHowToId])
13870
+ howToMode: _optionalChain([opts, 'optionalAccess', _385 => _385.howToMode]),
13871
+ limitToHowToId: _optionalChain([opts, 'optionalAccess', _386 => _386.limitToHowToId])
13624
13872
  });
13625
13873
  setMessages((prev) => [...stripOptimistic(prev), ...result]);
13626
13874
  }
@@ -13631,7 +13879,7 @@ function AssistantProvider({ children, dehydratedAssistant, dehydratedMessages,
13631
13879
  return next;
13632
13880
  });
13633
13881
  } finally {
13634
- _optionalChain([socket, 'optionalAccess', _386 => _386.off, 'call', _387 => _387("assistant:status", handler)]);
13882
+ _optionalChain([socket, 'optionalAccess', _387 => _387.off, 'call', _388 => _388("assistant:status", handler)]);
13635
13883
  setSending(false);
13636
13884
  setStatus(void 0);
13637
13885
  }
@@ -13689,7 +13937,7 @@ function AssistantProvider({ children, dehydratedAssistant, dehydratedMessages,
13689
13937
  await _chunkPQBKPWBYjs.AssistantService.delete({ id });
13690
13938
  setThreads((prev) => prev.filter((t2) => t2.id !== id));
13691
13939
  setAssistant((prev) => {
13692
- if (_optionalChain([prev, 'optionalAccess', _388 => _388.id]) === id) {
13940
+ if (_optionalChain([prev, 'optionalAccess', _389 => _389.id]) === id) {
13693
13941
  setMessages([]);
13694
13942
  return void 0;
13695
13943
  }
@@ -13909,7 +14157,7 @@ function EditableAvatar({
13909
14157
  }, [image, isUploading, patchImage, t]);
13910
14158
  const handleFileInputChange = _react.useCallback.call(void 0,
13911
14159
  (e) => {
13912
- const file = _optionalChain([e, 'access', _389 => _389.target, 'access', _390 => _390.files, 'optionalAccess', _391 => _391[0]]);
14160
+ const file = _optionalChain([e, 'access', _390 => _390.target, 'access', _391 => _391.files, 'optionalAccess', _392 => _392[0]]);
13913
14161
  if (file) handleFile(file);
13914
14162
  e.target.value = "";
13915
14163
  },
@@ -13918,7 +14166,7 @@ function EditableAvatar({
13918
14166
  const handleDrop = _react.useCallback.call(void 0,
13919
14167
  (e) => {
13920
14168
  e.preventDefault();
13921
- const file = _optionalChain([e, 'access', _392 => _392.dataTransfer, 'access', _393 => _393.files, 'optionalAccess', _394 => _394[0]]);
14169
+ const file = _optionalChain([e, 'access', _393 => _393.dataTransfer, 'access', _394 => _394.files, 'optionalAccess', _395 => _395[0]]);
13922
14170
  if (file && file.type.startsWith("image/")) {
13923
14171
  handleFile(file);
13924
14172
  }
@@ -13945,7 +14193,7 @@ function EditableAvatar({
13945
14193
  "button",
13946
14194
  {
13947
14195
  type: "button",
13948
- onClick: () => _optionalChain([fileInputRef, 'access', _395 => _395.current, 'optionalAccess', _396 => _396.click, 'call', _397 => _397()]),
14196
+ onClick: () => _optionalChain([fileInputRef, 'access', _396 => _396.current, 'optionalAccess', _397 => _397.click, 'call', _398 => _398()]),
13949
14197
  disabled: isUploading,
13950
14198
  className: "rounded-full p-2 text-white hover:bg-white/20 disabled:opacity-50",
13951
14199
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.PencilIcon, { className: "h-4 w-4" })
@@ -14026,7 +14274,7 @@ function BreadcrumbMobile({
14026
14274
  }
14027
14275
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DropdownMenu, { open, onOpenChange: setOpen, children: [
14028
14276
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DropdownMenuTrigger, { className: "text-foreground text-xs/relaxed font-normal hover:bg-accent flex items-center gap-1 rounded-md px-1.5 py-0.5 transition-colors outline-none", children: [
14029
- _optionalChain([lastItem, 'optionalAccess', _398 => _398.name]),
14277
+ _optionalChain([lastItem, 'optionalAccess', _399 => _399.name]),
14030
14278
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronDownIcon, { className: "text-muted-foreground size-3.5" })
14031
14279
  ] }),
14032
14280
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DropdownMenuContent, { align: "start", children: allItems.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DropdownMenuItem, { children: item.href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Link, { href: item.href, onClick: item.onClick, children: item.name }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: item.name }) }, index)) })
@@ -14348,7 +14596,7 @@ var railTriggerClass = _chunkPQBKPWBYjs.cn.call(void 0,
14348
14596
  "data-[state=active]:bg-foreground data-[state=active]:text-background",
14349
14597
  "data-[state=active]:font-semibold data-[state=active]:shadow-none"
14350
14598
  );
14351
- var tabValue = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (tab) => _nullishCoalesce(_nullishCoalesce(tab.sectionKey, () => ( _optionalChain([tab, 'access', _399 => _399.key, 'optionalAccess', _400 => _400.name]))), () => ( tab.label)), "tabValue");
14599
+ var tabValue = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (tab) => _nullishCoalesce(_nullishCoalesce(tab.sectionKey, () => ( _optionalChain([tab, 'access', _400 => _400.key, 'optionalAccess', _401 => _401.name]))), () => ( tab.label)), "tabValue");
14352
14600
  function RoundPageContainer({
14353
14601
  module,
14354
14602
  id,
@@ -14367,7 +14615,7 @@ function RoundPageContainer({
14367
14615
  const [mounted, setMounted] = _react.useState.call(void 0, false);
14368
14616
  _react.useEffect.call(void 0, () => {
14369
14617
  const match = document.cookie.split("; ").find((row) => row.startsWith(`${DETAILS_COOKIE_NAME}=`));
14370
- if (_optionalChain([match, 'optionalAccess', _401 => _401.split, 'call', _402 => _402("="), 'access', _403 => _403[1]]) === "true") setShowDetailsState(true);
14618
+ if (_optionalChain([match, 'optionalAccess', _402 => _402.split, 'call', _403 => _403("="), 'access', _404 => _404[1]]) === "true") setShowDetailsState(true);
14371
14619
  }, []);
14372
14620
  _react.useEffect.call(void 0, () => {
14373
14621
  setMounted(true);
@@ -14396,7 +14644,7 @@ function RoundPageContainer({
14396
14644
  },
14397
14645
  [module, id, rewriteUrl]
14398
14646
  );
14399
- const activeFillHeight = _optionalChain([tabs, 'optionalAccess', _404 => _404.find, 'call', _405 => _405((t) => tabValue(t) === activeTab), 'optionalAccess', _406 => _406.fillHeight]) === true;
14647
+ const activeFillHeight = _optionalChain([tabs, 'optionalAccess', _405 => _405.find, 'call', _406 => _406((t) => tabValue(t) === activeTab), 'optionalAccess', _407 => _407.fillHeight]) === true;
14400
14648
  const { ungrouped, groups } = _react.useMemo.call(void 0, () => partitionTabs(_nullishCoalesce(tabs, () => ( []))), [tabs]);
14401
14649
  const isReady = mounted && isMobile !== void 0;
14402
14650
  if (!isReady) {
@@ -14678,14 +14926,14 @@ function BlockNoteEditorMentionHoverCard({
14678
14926
  const entityType = target.dataset.mentionType;
14679
14927
  const alias = target.dataset.mentionAlias;
14680
14928
  setHovered((prev) => {
14681
- if (_optionalChain([prev, 'optionalAccess', _407 => _407.id]) === id && _optionalChain([prev, 'optionalAccess', _408 => _408.element]) === target) return prev;
14929
+ if (_optionalChain([prev, 'optionalAccess', _408 => _408.id]) === id && _optionalChain([prev, 'optionalAccess', _409 => _409.element]) === target) return prev;
14682
14930
  return { id, entityType, alias, element: target };
14683
14931
  });
14684
14932
  }, "handleMouseOver");
14685
14933
  const handleMouseOut = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (e) => {
14686
14934
  const target = e.target.closest("[data-mention-id]");
14687
14935
  if (!target) return;
14688
- const related = _optionalChain([e, 'access', _409 => _409.relatedTarget, 'optionalAccess', _410 => _410.closest, 'call', _411 => _411("[data-mention-id]")]);
14936
+ const related = _optionalChain([e, 'access', _410 => _410.relatedTarget, 'optionalAccess', _411 => _411.closest, 'call', _412 => _412("[data-mention-id]")]);
14689
14937
  if (related) return;
14690
14938
  scheduleClose();
14691
14939
  }, "handleMouseOut");
@@ -14699,7 +14947,7 @@ function BlockNoteEditorMentionHoverCard({
14699
14947
  }, [containerRef, mentionResolveFn, cancelClose, scheduleClose]);
14700
14948
  if (!hovered || !mentionResolveFn) return null;
14701
14949
  const resolved = mentionResolveFn(hovered.id, hovered.entityType, hovered.alias);
14702
- if (!_optionalChain([resolved, 'optionalAccess', _412 => _412.HoverContent])) return null;
14950
+ if (!_optionalChain([resolved, 'optionalAccess', _413 => _413.HoverContent])) return null;
14703
14951
  const ContentComponent = resolved.HoverContent;
14704
14952
  const rect = hovered.element.getBoundingClientRect();
14705
14953
  return _reactdom.createPortal.call(void 0,
@@ -14742,28 +14990,28 @@ var parseMentionElement = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (
14742
14990
  }, "parseMentionElement");
14743
14991
  var createMentionInlineContentSpec = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (resolveFn, disableMention, nameResolver) => {
14744
14992
  const MentionExternalHTML = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (props) => {
14745
- const displayName = _nullishCoalesce(_optionalChain([nameResolver, 'optionalCall', _413 => _413(props.id, props.entityType, props.alias)]), () => ( props.alias));
14993
+ const displayName = _nullishCoalesce(_optionalChain([nameResolver, 'optionalCall', _414 => _414(props.id, props.entityType, props.alias)]), () => ( props.alias));
14746
14994
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { "data-mention-id": props.id, "data-mention-type": props.entityType, "data-mention-alias": props.alias, children: [
14747
14995
  "@",
14748
14996
  displayName
14749
14997
  ] });
14750
14998
  }, "MentionExternalHTML");
14751
14999
  const Mention = React.default.memo(/* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, function Mention2(props) {
14752
- const displayName = _nullishCoalesce(_optionalChain([nameResolver, 'optionalCall', _414 => _414(props.id, props.entityType, props.alias)]), () => ( props.alias));
15000
+ const displayName = _nullishCoalesce(_optionalChain([nameResolver, 'optionalCall', _415 => _415(props.id, props.entityType, props.alias)]), () => ( props.alias));
14753
15001
  if (disableMention) {
14754
- const resolved2 = _optionalChain([resolveFn, 'optionalCall', _415 => _415(props.id, props.entityType, displayName)]);
14755
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _link2.default, { href: _nullishCoalesce(_optionalChain([resolved2, 'optionalAccess', _416 => _416.url]), () => ( "#")), className: "text-primary", children: [
15002
+ const resolved2 = _optionalChain([resolveFn, 'optionalCall', _416 => _416(props.id, props.entityType, displayName)]);
15003
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _link2.default, { href: _nullishCoalesce(_optionalChain([resolved2, 'optionalAccess', _417 => _417.url]), () => ( "#")), className: "text-primary", children: [
14756
15004
  "@",
14757
15005
  displayName
14758
15006
  ] });
14759
15007
  }
14760
- const resolved = _optionalChain([resolveFn, 'optionalCall', _417 => _417(props.id, props.entityType, displayName)]);
14761
- if (_optionalChain([resolved, 'optionalAccess', _418 => _418.Inline])) {
15008
+ const resolved = _optionalChain([resolveFn, 'optionalCall', _418 => _418(props.id, props.entityType, displayName)]);
15009
+ if (_optionalChain([resolved, 'optionalAccess', _419 => _419.Inline])) {
14762
15010
  const Custom = resolved.Inline;
14763
15011
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Custom, { ...props, alias: displayName });
14764
15012
  }
14765
- const href = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _419 => _419.url]), () => ( "#"));
14766
- const handleClick = _optionalChain([resolved, 'optionalAccess', _420 => _420.onActivate]) ? (e) => resolved.onActivate(e, props) : void 0;
15013
+ const href = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _420 => _420.url]), () => ( "#"));
15014
+ const handleClick = _optionalChain([resolved, 'optionalAccess', _421 => _421.onActivate]) ? (e) => resolved.onActivate(e, props) : void 0;
14767
15015
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
14768
15016
  _link2.default,
14769
15017
  {
@@ -14869,7 +15117,7 @@ function BlockNoteEditorMentionSuggestionMenu({
14869
15117
  if (!suggestionMenuComponent) return void 0;
14870
15118
  const Component2 = suggestionMenuComponent;
14871
15119
  const Wrapped = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (props) => {
14872
- const isSentinelOnly = props.items.length === 1 && _optionalChain([props, 'access', _421 => _421.items, 'access', _422 => _422[0], 'optionalAccess', _423 => _423.title]) === KEEP_OPEN_SENTINEL_TITLE;
15120
+ const isSentinelOnly = props.items.length === 1 && _optionalChain([props, 'access', _422 => _422.items, 'access', _423 => _423[0], 'optionalAccess', _424 => _424.title]) === KEEP_OPEN_SENTINEL_TITLE;
14873
15121
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14874
15122
  Component2,
14875
15123
  {
@@ -14878,7 +15126,7 @@ function BlockNoteEditorMentionSuggestionMenu({
14878
15126
  selectedIndex: isSentinelOnly ? void 0 : props.selectedIndex,
14879
15127
  onItemClick: (item) => {
14880
15128
  if (item.title === KEEP_OPEN_SENTINEL_TITLE) return;
14881
- _optionalChain([props, 'access', _424 => _424.onItemClick, 'optionalCall', _425 => _425(item)]);
15129
+ _optionalChain([props, 'access', _425 => _425.onItemClick, 'optionalCall', _426 => _426(item)]);
14882
15130
  }
14883
15131
  }
14884
15132
  );
@@ -15072,10 +15320,10 @@ var cellId = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => {
15072
15320
  cell: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ row }) => params.toggleId ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15073
15321
  Checkbox,
15074
15322
  {
15075
- checked: _optionalChain([params, 'access', _426 => _426.checkedIds, 'optionalAccess', _427 => _427.includes, 'call', _428 => _428(row.getValue(params.name))]) || false,
15323
+ checked: _optionalChain([params, 'access', _427 => _427.checkedIds, 'optionalAccess', _428 => _428.includes, 'call', _429 => _429(row.getValue(params.name))]) || false,
15076
15324
  onCheckedChange: (value) => {
15077
15325
  row.toggleSelected(!!value);
15078
- _optionalChain([params, 'access', _429 => _429.toggleId, 'optionalCall', _430 => _430(row.getValue(params.name))]);
15326
+ _optionalChain([params, 'access', _430 => _430.toggleId, 'optionalCall', _431 => _431(row.getValue(params.name))]);
15079
15327
  },
15080
15328
  "aria-label": "Select row"
15081
15329
  }
@@ -15134,7 +15382,7 @@ function useJsonApiGet(params) {
15134
15382
  const [response, setResponse] = _react.useState.call(void 0, null);
15135
15383
  const isMounted = _react.useRef.call(void 0, true);
15136
15384
  const fetchData = _react.useCallback.call(void 0, async () => {
15137
- if (_optionalChain([params, 'access', _431 => _431.options, 'optionalAccess', _432 => _432.enabled]) === false) return;
15385
+ if (_optionalChain([params, 'access', _432 => _432.options, 'optionalAccess', _433 => _433.enabled]) === false) return;
15138
15386
  setLoading(true);
15139
15387
  setError(null);
15140
15388
  try {
@@ -15161,9 +15409,9 @@ function useJsonApiGet(params) {
15161
15409
  setLoading(false);
15162
15410
  }
15163
15411
  }
15164
- }, [params.classKey, params.endpoint, params.companyId, _optionalChain([params, 'access', _433 => _433.options, 'optionalAccess', _434 => _434.enabled])]);
15412
+ }, [params.classKey, params.endpoint, params.companyId, _optionalChain([params, 'access', _434 => _434.options, 'optionalAccess', _435 => _435.enabled])]);
15165
15413
  const fetchNextPage = _react.useCallback.call(void 0, async () => {
15166
- if (!_optionalChain([response, 'optionalAccess', _435 => _435.nextPage])) return;
15414
+ if (!_optionalChain([response, 'optionalAccess', _436 => _436.nextPage])) return;
15167
15415
  setLoading(true);
15168
15416
  try {
15169
15417
  const nextResponse = await response.nextPage();
@@ -15184,7 +15432,7 @@ function useJsonApiGet(params) {
15184
15432
  }
15185
15433
  }, [response]);
15186
15434
  const fetchPreviousPage = _react.useCallback.call(void 0, async () => {
15187
- if (!_optionalChain([response, 'optionalAccess', _436 => _436.prevPage])) return;
15435
+ if (!_optionalChain([response, 'optionalAccess', _437 => _437.prevPage])) return;
15188
15436
  setLoading(true);
15189
15437
  try {
15190
15438
  const prevResponse = await response.prevPage();
@@ -15210,15 +15458,15 @@ function useJsonApiGet(params) {
15210
15458
  return () => {
15211
15459
  isMounted.current = false;
15212
15460
  };
15213
- }, [fetchData, ..._optionalChain([params, 'access', _437 => _437.options, 'optionalAccess', _438 => _438.deps]) || []]);
15461
+ }, [fetchData, ..._optionalChain([params, 'access', _438 => _438.options, 'optionalAccess', _439 => _439.deps]) || []]);
15214
15462
  return {
15215
15463
  data,
15216
15464
  loading,
15217
15465
  error,
15218
15466
  response,
15219
15467
  refetch: fetchData,
15220
- hasNextPage: !!_optionalChain([response, 'optionalAccess', _439 => _439.next]),
15221
- hasPreviousPage: !!_optionalChain([response, 'optionalAccess', _440 => _440.prev]),
15468
+ hasNextPage: !!_optionalChain([response, 'optionalAccess', _440 => _440.next]),
15469
+ hasPreviousPage: !!_optionalChain([response, 'optionalAccess', _441 => _441.prev]),
15222
15470
  fetchNextPage,
15223
15471
  fetchPreviousPage
15224
15472
  };
@@ -15296,17 +15544,17 @@ function useJsonApiMutation(config) {
15296
15544
  if (apiResponse.ok) {
15297
15545
  const resultData = apiResponse.data;
15298
15546
  setData(resultData);
15299
- _optionalChain([config, 'access', _441 => _441.onSuccess, 'optionalCall', _442 => _442(resultData)]);
15547
+ _optionalChain([config, 'access', _442 => _442.onSuccess, 'optionalCall', _443 => _443(resultData)]);
15300
15548
  return resultData;
15301
15549
  } else {
15302
15550
  setError(apiResponse.error);
15303
- _optionalChain([config, 'access', _443 => _443.onError, 'optionalCall', _444 => _444(apiResponse.error)]);
15551
+ _optionalChain([config, 'access', _444 => _444.onError, 'optionalCall', _445 => _445(apiResponse.error)]);
15304
15552
  return null;
15305
15553
  }
15306
15554
  } catch (err) {
15307
15555
  const errorMessage = err instanceof Error ? err.message : "Unknown error";
15308
15556
  setError(errorMessage);
15309
- _optionalChain([config, 'access', _445 => _445.onError, 'optionalCall', _446 => _446(errorMessage)]);
15557
+ _optionalChain([config, 'access', _446 => _446.onError, 'optionalCall', _447 => _447(errorMessage)]);
15310
15558
  return null;
15311
15559
  } finally {
15312
15560
  setLoading(false);
@@ -15379,7 +15627,7 @@ var useCompanyTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
15379
15627
  {
15380
15628
  href: hasRole(_chunkJO5BLONKjs.getRoleId.call(void 0, ).Administrator) ? generateUrl({
15381
15629
  page: "/administration",
15382
- id: _optionalChain([_chunkPQBKPWBYjs.Modules, 'access', _447 => _447.Company, 'access', _448 => _448.pageUrl, 'optionalAccess', _449 => _449.substring, 'call', _450 => _450(1)]),
15630
+ id: _optionalChain([_chunkPQBKPWBYjs.Modules, 'access', _448 => _448.Company, 'access', _449 => _449.pageUrl, 'optionalAccess', _450 => _450.substring, 'call', _451 => _451(1)]),
15383
15631
  childPage: company.id
15384
15632
  }) : generateUrl({ page: _chunkPQBKPWBYjs.Modules.Company, id: company.id }),
15385
15633
  children: row.getValue("name")
@@ -15395,7 +15643,7 @@ var useCompanyTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
15395
15643
  })
15396
15644
  };
15397
15645
  const columns = _react.useMemo.call(void 0, () => {
15398
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _451 => _451[field], 'optionalCall', _452 => _452()])).filter((col) => col !== void 0);
15646
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _452 => _452[field], 'optionalCall', _453 => _453()])).filter((col) => col !== void 0);
15399
15647
  }, [params.fields, fieldColumnMap, t, generateUrl, hasRole]);
15400
15648
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
15401
15649
  }, "useCompanyTableStructure");
@@ -15407,7 +15655,7 @@ var GRACE_DAYS = 3;
15407
15655
  var isAdministrator = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (currentUser) => {
15408
15656
  if (!currentUser || !_chunkJO5BLONKjs.isRolesConfigured.call(void 0, )) return false;
15409
15657
  const adminRoleId = _chunkJO5BLONKjs.getRoleId.call(void 0, ).Administrator;
15410
- return !!_optionalChain([currentUser, 'access', _453 => _453.roles, 'optionalAccess', _454 => _454.some, 'call', _455 => _455((role) => role.id === adminRoleId)]);
15658
+ return !!_optionalChain([currentUser, 'access', _454 => _454.roles, 'optionalAccess', _455 => _455.some, 'call', _456 => _456((role) => role.id === adminRoleId)]);
15411
15659
  }, "isAdministrator");
15412
15660
  function useSubscriptionStatus() {
15413
15661
  const { company, currentUser } = useCurrentUserContext();
@@ -15524,7 +15772,7 @@ var useRoleTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0,
15524
15772
  })
15525
15773
  };
15526
15774
  const columns = _react.useMemo.call(void 0, () => {
15527
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _456 => _456[field], 'optionalCall', _457 => _457()])).filter((col) => col !== void 0);
15775
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _457 => _457[field], 'optionalCall', _458 => _458()])).filter((col) => col !== void 0);
15528
15776
  }, [params.fields, fieldColumnMap, t, generateUrl]);
15529
15777
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
15530
15778
  }, "useRoleTableStructure");
@@ -15625,11 +15873,11 @@ var useContentTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
15625
15873
  return params.fields.map((field) => {
15626
15874
  const localHandler = fieldColumnMap[field];
15627
15875
  if (localHandler) return localHandler();
15628
- const customHandler = _optionalChain([params, 'access', _458 => _458.context, 'optionalAccess', _459 => _459.customCells, 'optionalAccess', _460 => _460[field]]);
15876
+ const customHandler = _optionalChain([params, 'access', _459 => _459.context, 'optionalAccess', _460 => _460.customCells, 'optionalAccess', _461 => _461[field]]);
15629
15877
  if (customHandler) return customHandler({ t });
15630
15878
  return void 0;
15631
15879
  }).filter((col) => col !== void 0);
15632
- }, [params.fields, fieldColumnMap, t, generateUrl, _optionalChain([params, 'access', _461 => _461.context, 'optionalAccess', _462 => _462.customCells])]);
15880
+ }, [params.fields, fieldColumnMap, t, generateUrl, _optionalChain([params, 'access', _462 => _462.context, 'optionalAccess', _463 => _463.customCells])]);
15633
15881
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
15634
15882
  }, "useContentTableStructure");
15635
15883
 
@@ -15964,7 +16212,7 @@ function ContentTableSearch({ data }) {
15964
16212
  const handleSearchIconClick = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
15965
16213
  if (!isExpanded) {
15966
16214
  setIsFocused(true);
15967
- setTimeout(() => _optionalChain([inputRef, 'access', _463 => _463.current, 'optionalAccess', _464 => _464.focus, 'call', _465 => _465()]), 50);
16215
+ setTimeout(() => _optionalChain([inputRef, 'access', _464 => _464.current, 'optionalAccess', _465 => _465.focus, 'call', _466 => _466()]), 50);
15968
16216
  }
15969
16217
  }, "handleSearchIconClick");
15970
16218
  const handleBlur = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
@@ -16043,7 +16291,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
16043
16291
  props.defaultExpanded === true ? true : typeof props.defaultExpanded === "object" ? props.defaultExpanded : {}
16044
16292
  );
16045
16293
  const { data: tableData, columns: tableColumns } = useTableGenerator(props.tableGeneratorType, {
16046
- data: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _466 => _466.data]), () => ( EMPTY_ARRAY)),
16294
+ data: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _467 => _467.data]), () => ( EMPTY_ARRAY)),
16047
16295
  fields,
16048
16296
  checkedIds,
16049
16297
  toggleId,
@@ -16076,7 +16324,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
16076
16324
  });
16077
16325
  const rowModel = tableData ? table.getRowModel() : null;
16078
16326
  const groupedRows = _react.useMemo.call(void 0, () => {
16079
- if (!props.groupBy || !_optionalChain([rowModel, 'optionalAccess', _467 => _467.rows, 'optionalAccess', _468 => _468.length])) return null;
16327
+ if (!props.groupBy || !_optionalChain([rowModel, 'optionalAccess', _468 => _468.rows, 'optionalAccess', _469 => _469.length])) return null;
16080
16328
  const groupMap = /* @__PURE__ */ new Map();
16081
16329
  for (const row of rowModel.rows) {
16082
16330
  const keys = getGroupKeys(row.original, props.groupBy);
@@ -16132,10 +16380,10 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
16132
16380
  ) }),
16133
16381
  table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: headerGroup.headers.map((header) => {
16134
16382
  const meta = header.column.columnDef.meta;
16135
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableHead, { className: _optionalChain([meta, 'optionalAccess', _469 => _469.className]), children: header.isPlaceholder ? null : _reacttable.flexRender.call(void 0, header.column.columnDef.header, header.getContext()) }, header.id);
16383
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableHead, { className: _optionalChain([meta, 'optionalAccess', _470 => _470.className]), children: header.isPlaceholder ? null : _reacttable.flexRender.call(void 0, header.column.columnDef.header, header.getContext()) }, header.id);
16136
16384
  }) }, headerGroup.id))
16137
16385
  ] }),
16138
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableBody, { children: rowModel && _optionalChain([rowModel, 'access', _470 => _470.rows, 'optionalAccess', _471 => _471.length]) ? groupedRows ? groupedRows.map((group) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React.default.Fragment, { children: [
16386
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableBody, { children: rowModel && _optionalChain([rowModel, 'access', _471 => _471.rows, 'optionalAccess', _472 => _472.length]) ? groupedRows ? groupedRows.map((group) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React.default.Fragment, { children: [
16139
16387
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16140
16388
  TableCell,
16141
16389
  {
@@ -16146,11 +16394,11 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
16146
16394
  ) }),
16147
16395
  group.rows.map((row) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: row.getVisibleCells().map((cell) => {
16148
16396
  const meta = cell.column.columnDef.meta;
16149
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _472 => _472.className]), children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) }, cell.id);
16397
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _473 => _473.className]), children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) }, cell.id);
16150
16398
  }) }, row.id))
16151
16399
  ] }, group.groupKey)) : rowModel.rows.map((row) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: row.getVisibleCells().map((cell) => {
16152
16400
  const meta = cell.column.columnDef.meta;
16153
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _473 => _473.className]), children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) }, cell.id);
16401
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _474 => _474.className]), children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) }, cell.id);
16154
16402
  }) }, 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: _nullishCoalesce(props.emptyState, () => ( "No results.")) }) }) }),
16155
16403
  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: [
16156
16404
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -16160,7 +16408,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
16160
16408
  size: "sm",
16161
16409
  onClick: (e) => {
16162
16410
  e.preventDefault();
16163
- _optionalChain([data, 'access', _474 => _474.previous, 'optionalCall', _475 => _475(true)]);
16411
+ _optionalChain([data, 'access', _475 => _475.previous, 'optionalCall', _476 => _476(true)]);
16164
16412
  },
16165
16413
  disabled: !data.previous,
16166
16414
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" })
@@ -16174,7 +16422,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
16174
16422
  size: "sm",
16175
16423
  onClick: (e) => {
16176
16424
  e.preventDefault();
16177
- _optionalChain([data, 'access', _476 => _476.next, 'optionalCall', _477 => _477(true)]);
16425
+ _optionalChain([data, 'access', _477 => _477.next, 'optionalCall', _478 => _478(true)]);
16178
16426
  },
16179
16427
  disabled: !data.next,
16180
16428
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" })
@@ -16195,7 +16443,7 @@ function ContentListGrid(props) {
16195
16443
  if (!data.next || !sentinelRef.current) return;
16196
16444
  const observer = new IntersectionObserver(
16197
16445
  (entries) => {
16198
- if (_optionalChain([entries, 'access', _478 => _478[0], 'optionalAccess', _479 => _479.isIntersecting])) _optionalChain([data, 'access', _480 => _480.next, 'optionalCall', _481 => _481()]);
16446
+ if (_optionalChain([entries, 'access', _479 => _479[0], 'optionalAccess', _480 => _480.isIntersecting])) _optionalChain([data, 'access', _481 => _481.next, 'optionalCall', _482 => _482()]);
16199
16447
  },
16200
16448
  { threshold: 0.1, rootMargin: "200px" }
16201
16449
  );
@@ -16945,7 +17193,7 @@ function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
16945
17193
  newDigits[index] = digit;
16946
17194
  setDigits(newDigits);
16947
17195
  if (digit && index < 5) {
16948
- _optionalChain([inputRefs, 'access', _482 => _482.current, 'access', _483 => _483[index + 1], 'optionalAccess', _484 => _484.focus, 'call', _485 => _485()]);
17196
+ _optionalChain([inputRefs, 'access', _483 => _483.current, 'access', _484 => _484[index + 1], 'optionalAccess', _485 => _485.focus, 'call', _486 => _486()]);
16949
17197
  }
16950
17198
  const code = newDigits.join("");
16951
17199
  if (code.length === 6 && newDigits.every((d) => d !== "")) {
@@ -16954,7 +17202,7 @@ function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
16954
17202
  }, "handleChange");
16955
17203
  const handleKeyDown = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (index, e) => {
16956
17204
  if (e.key === "Backspace" && !digits[index] && index > 0) {
16957
- _optionalChain([inputRefs, 'access', _486 => _486.current, 'access', _487 => _487[index - 1], 'optionalAccess', _488 => _488.focus, 'call', _489 => _489()]);
17205
+ _optionalChain([inputRefs, 'access', _487 => _487.current, 'access', _488 => _488[index - 1], 'optionalAccess', _489 => _489.focus, 'call', _490 => _490()]);
16958
17206
  }
16959
17207
  }, "handleKeyDown");
16960
17208
  const handlePaste = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (e) => {
@@ -16963,7 +17211,7 @@ function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
16963
17211
  if (pastedData.length === 6) {
16964
17212
  const newDigits = pastedData.split("");
16965
17213
  setDigits(newDigits);
16966
- _optionalChain([inputRefs, 'access', _490 => _490.current, 'access', _491 => _491[5], 'optionalAccess', _492 => _492.focus, 'call', _493 => _493()]);
17214
+ _optionalChain([inputRefs, 'access', _491 => _491.current, 'access', _492 => _492[5], 'optionalAccess', _493 => _493.focus, 'call', _494 => _494()]);
16967
17215
  onComplete(pastedData);
16968
17216
  }
16969
17217
  }, "handlePaste");
@@ -17174,8 +17422,8 @@ function PasskeySetupDialog({ open, onOpenChange, onSuccess }) {
17174
17422
  try {
17175
17423
  const registrationData = await _chunkPQBKPWBYjs.TwoFactorService.getPasskeyRegistrationOptions({
17176
17424
  id: _uuid.v4.call(void 0, ),
17177
- userName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _494 => _494.email]), () => ( "")),
17178
- userDisplayName: _optionalChain([currentUser, 'optionalAccess', _495 => _495.name])
17425
+ userName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _495 => _495.email]), () => ( "")),
17426
+ userDisplayName: _optionalChain([currentUser, 'optionalAccess', _496 => _496.name])
17179
17427
  });
17180
17428
  const credential = await _browser.startRegistration.call(void 0, { optionsJSON: registrationData.options });
17181
17429
  await _chunkPQBKPWBYjs.TwoFactorService.verifyPasskeyRegistration({
@@ -17326,7 +17574,7 @@ function TotpSetupDialog({ onSuccess, trigger }) {
17326
17574
  const setup = await _chunkPQBKPWBYjs.TwoFactorService.setupTotp({
17327
17575
  id: _uuid.v4.call(void 0, ),
17328
17576
  name: name.trim(),
17329
- accountName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _496 => _496.email]), () => ( ""))
17577
+ accountName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _497 => _497.email]), () => ( ""))
17330
17578
  });
17331
17579
  setQrCodeUri(setup.qrCodeUri);
17332
17580
  setAuthenticatorId(setup.authenticatorId);
@@ -17460,7 +17708,7 @@ function TwoFactorSettings() {
17460
17708
  if (isLoading) {
17461
17709
  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") }) }) });
17462
17710
  }
17463
- const isEnabled = _nullishCoalesce(_optionalChain([status, 'optionalAccess', _497 => _497.isEnabled]), () => ( false));
17711
+ const isEnabled = _nullishCoalesce(_optionalChain([status, 'optionalAccess', _498 => _498.isEnabled]), () => ( false));
17464
17712
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Card, { children: [
17465
17713
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
17466
17714
  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" }),
@@ -17498,7 +17746,7 @@ function TwoFactorSettings() {
17498
17746
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-medium", children: t("auth.two_factor.backup_codes") }),
17499
17747
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm text-muted-foreground", children: t("auth.two_factor.backup_codes_description") })
17500
17748
  ] }),
17501
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BackupCodesDialog, { remainingCodes: _nullishCoalesce(_optionalChain([status, 'optionalAccess', _498 => _498.backupCodesCount]), () => ( 0)), onRegenerate: handleRefresh })
17749
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BackupCodesDialog, { remainingCodes: _nullishCoalesce(_optionalChain([status, 'optionalAccess', _499 => _499.backupCodesCount]), () => ( 0)), onRegenerate: handleRefresh })
17502
17750
  ] }) }),
17503
17751
  !isEnabled && (authenticators.length > 0 || passkeys.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
17504
17752
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Separator, {}),
@@ -17676,9 +17924,9 @@ function AcceptInvitation() {
17676
17924
  });
17677
17925
  const onSubmit = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async (values) => {
17678
17926
  try {
17679
- if (!_optionalChain([params, 'optionalAccess', _499 => _499.code])) return;
17927
+ if (!_optionalChain([params, 'optionalAccess', _500 => _500.code])) return;
17680
17928
  const payload = {
17681
- code: _optionalChain([params, 'optionalAccess', _500 => _500.code]),
17929
+ code: _optionalChain([params, 'optionalAccess', _501 => _501.code]),
17682
17930
  password: values.password
17683
17931
  };
17684
17932
  await _chunkPQBKPWBYjs.AuthService.acceptInvitation(payload);
@@ -18028,7 +18276,7 @@ function Logout({ storageKeys }) {
18028
18276
  const generateUrl = usePageUrlGenerator();
18029
18277
  _react.useEffect.call(void 0, () => {
18030
18278
  const logOut = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async () => {
18031
- if (_optionalChain([storageKeys, 'optionalAccess', _501 => _501.length])) {
18279
+ if (_optionalChain([storageKeys, 'optionalAccess', _502 => _502.length])) {
18032
18280
  clearClientStorage(storageKeys);
18033
18281
  }
18034
18282
  await _chunkPQBKPWBYjs.AuthService.logout();
@@ -18051,14 +18299,14 @@ function RefreshUser() {
18051
18299
  setUser(fullUser);
18052
18300
  const token = {
18053
18301
  userId: fullUser.id,
18054
- companyId: _optionalChain([fullUser, 'access', _502 => _502.company, 'optionalAccess', _503 => _503.id]),
18302
+ companyId: _optionalChain([fullUser, 'access', _503 => _503.company, 'optionalAccess', _504 => _504.id]),
18055
18303
  roles: fullUser.roles.map((role) => role.id),
18056
- features: _nullishCoalesce(_optionalChain([fullUser, 'access', _504 => _504.company, 'optionalAccess', _505 => _505.features, 'optionalAccess', _506 => _506.map, 'call', _507 => _507((feature) => feature.id)]), () => ( [])),
18304
+ features: _nullishCoalesce(_optionalChain([fullUser, 'access', _505 => _505.company, 'optionalAccess', _506 => _506.features, 'optionalAccess', _507 => _507.map, 'call', _508 => _508((feature) => feature.id)]), () => ( [])),
18057
18305
  modules: fullUser.modules.map((module) => {
18058
18306
  return { id: module.id, permissions: module.permissions };
18059
18307
  })
18060
18308
  };
18061
- await _optionalChain([_chunkPQBKPWBYjs.getTokenHandler.call(void 0, ), 'optionalAccess', _508 => _508.updateToken, 'call', _509 => _509(token)]);
18309
+ await _optionalChain([_chunkPQBKPWBYjs.getTokenHandler.call(void 0, ), 'optionalAccess', _509 => _509.updateToken, 'call', _510 => _510(token)]);
18062
18310
  _cookiesnext.deleteCookie.call(void 0, "reloadData");
18063
18311
  }
18064
18312
  }, "loadFullUser");
@@ -18122,9 +18370,9 @@ function ResetPassword() {
18122
18370
  });
18123
18371
  const onSubmit = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async (values) => {
18124
18372
  try {
18125
- if (!_optionalChain([params, 'optionalAccess', _510 => _510.code])) return;
18373
+ if (!_optionalChain([params, 'optionalAccess', _511 => _511.code])) return;
18126
18374
  const payload = {
18127
- code: _optionalChain([params, 'optionalAccess', _511 => _511.code]),
18375
+ code: _optionalChain([params, 'optionalAccess', _512 => _512.code]),
18128
18376
  password: values.password
18129
18377
  };
18130
18378
  await _chunkPQBKPWBYjs.AuthService.resetPassword(payload);
@@ -18473,7 +18721,7 @@ function extractHeadings(blocks) {
18473
18721
  function processBlocks(blockArray) {
18474
18722
  for (const block of blockArray) {
18475
18723
  if (block.type === "heading") {
18476
- const level = _optionalChain([block, 'access', _512 => _512.props, 'optionalAccess', _513 => _513.level]) || 1;
18724
+ const level = _optionalChain([block, 'access', _513 => _513.props, 'optionalAccess', _514 => _514.level]) || 1;
18477
18725
  const text = extractTextFromContent(block.content);
18478
18726
  if (text.trim()) {
18479
18727
  headings.push({
@@ -18816,7 +19064,7 @@ var useHowToTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
18816
19064
  })
18817
19065
  };
18818
19066
  const columns = _react.useMemo.call(void 0, () => {
18819
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _514 => _514[field], 'optionalCall', _515 => _515()])).filter((col) => col !== void 0);
19067
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _515 => _515[field], 'optionalCall', _516 => _516()])).filter((col) => col !== void 0);
18820
19068
  }, [params.fields, fieldColumnMap, t, generateUrl]);
18821
19069
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
18822
19070
  }, "useHowToTableStructure");
@@ -18915,7 +19163,7 @@ function HowToSelector({
18915
19163
  }, "setHowTo");
18916
19164
  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: [
18917
19165
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-row items-center justify-between", children: [
18918
- /* @__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', _516 => _516.value, 'optionalAccess', _517 => _517.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 }) }))) }) }) }),
19166
+ /* @__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', _517 => _517.value, 'optionalAccess', _518 => _518.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 }) }))) }) }) }),
18919
19167
  field.value && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18920
19168
  _lucidereact.CircleX,
18921
19169
  {
@@ -19284,9 +19532,9 @@ function CitationsTab({ citations, sources }) {
19284
19532
  ] }) }),
19285
19533
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableBody, { children: sorted.map((chunk) => {
19286
19534
  const isOpen = expanded.has(chunk.id);
19287
- const resolved = chunk.nodeId ? _optionalChain([sources, 'optionalAccess', _518 => _518.get, 'call', _519 => _519(chunk.nodeId)]) : void 0;
19535
+ const resolved = chunk.nodeId ? _optionalChain([sources, 'optionalAccess', _519 => _519.get, 'call', _520 => _520(chunk.nodeId)]) : void 0;
19288
19536
  const fallbackName = chunk.nodeId ? `${_nullishCoalesce(chunk.nodeType, () => ( t("features.assistant.message.sources.source")))} ${chunk.nodeId.slice(0, 8)}` : _nullishCoalesce(chunk.nodeType, () => ( t("features.assistant.message.sources.source")));
19289
- const sourceName = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _520 => _520.name]), () => ( fallbackName));
19537
+ const sourceName = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _521 => _521.name]), () => ( fallbackName));
19290
19538
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
19291
19539
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, TableRow, { children: [
19292
19540
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -19333,7 +19581,7 @@ function ContentsTab({ citations, sources }) {
19333
19581
  for (const c of citations) {
19334
19582
  const id = c.nodeId;
19335
19583
  if (!id) continue;
19336
- const source = _optionalChain([sources, 'optionalAccess', _521 => _521.get, 'call', _522 => _522(id)]);
19584
+ const source = _optionalChain([sources, 'optionalAccess', _522 => _522.get, 'call', _523 => _523(id)]);
19337
19585
  if (!source) continue;
19338
19586
  const existing = map.get(id);
19339
19587
  if (existing) {
@@ -19400,7 +19648,7 @@ function UsersTab({ users, citations, sources }) {
19400
19648
  const generate = usePageUrlGenerator();
19401
19649
  const userMap = /* @__PURE__ */ new Map();
19402
19650
  for (const u of users) {
19403
- if (!_optionalChain([u, 'optionalAccess', _523 => _523.id])) continue;
19651
+ if (!_optionalChain([u, 'optionalAccess', _524 => _524.id])) continue;
19404
19652
  userMap.set(u.id, { user: u, contentCount: 0, citationCount: 0 });
19405
19653
  }
19406
19654
  if (citations && sources) {
@@ -19505,7 +19753,7 @@ function MessageSourcesPanel({ message, isLatestAssistant, onSelectFollowUp, sou
19505
19753
  }
19506
19754
  return ids.size;
19507
19755
  }, [message.citations, sources]);
19508
- const usersCount = _nullishCoalesce(_optionalChain([users, 'optionalAccess', _524 => _524.length]), () => ( 0));
19756
+ const usersCount = _nullishCoalesce(_optionalChain([users, 'optionalAccess', _525 => _525.length]), () => ( 0));
19509
19757
  const total = refsCount + citationsCount + contentsCount + usersCount + suggestionsCount;
19510
19758
  const visibleTabs = [];
19511
19759
  if (suggestionsCount > 0) visibleTabs.push("suggested");
@@ -19565,8 +19813,8 @@ var SourcesFetcher = class extends _chunkPQBKPWBYjs.ClientAbstractService {
19565
19813
  const endpoint = new (0, _chunkPQBKPWBYjs.EndpointCreator)({ endpoint: params.module });
19566
19814
  endpoint.addAdditionalParam(params.idsParam, params.ids.join(","));
19567
19815
  endpoint.addAdditionalParam("fetchAll", "true");
19568
- if (_optionalChain([params, 'access', _525 => _525.module, 'access', _526 => _526.inclusions, 'optionalAccess', _527 => _527.lists, 'optionalAccess', _528 => _528.fields])) endpoint.limitToFields(params.module.inclusions.lists.fields);
19569
- if (_optionalChain([params, 'access', _529 => _529.module, 'access', _530 => _530.inclusions, 'optionalAccess', _531 => _531.lists, 'optionalAccess', _532 => _532.types])) endpoint.limitToType(params.module.inclusions.lists.types);
19816
+ if (_optionalChain([params, 'access', _526 => _526.module, 'access', _527 => _527.inclusions, 'optionalAccess', _528 => _528.lists, 'optionalAccess', _529 => _529.fields])) endpoint.limitToFields(params.module.inclusions.lists.fields);
19817
+ if (_optionalChain([params, 'access', _530 => _530.module, 'access', _531 => _531.inclusions, 'optionalAccess', _532 => _532.lists, 'optionalAccess', _533 => _533.types])) endpoint.limitToType(params.module.inclusions.lists.types);
19570
19818
  return this.callApi({
19571
19819
  type: params.module,
19572
19820
  method: "GET" /* GET */,
@@ -19645,7 +19893,7 @@ function MessageSourcesContainer({ message, isLatestAssistant, onSelectFollowUp
19645
19893
  return void 0;
19646
19894
  }
19647
19895
  })()));
19648
- if (_optionalChain([author, 'optionalAccess', _533 => _533.id])) userMap.set(author.id, author);
19896
+ if (_optionalChain([author, 'optionalAccess', _534 => _534.id])) userMap.set(author.id, author);
19649
19897
  }
19650
19898
  return Array.from(userMap.values());
19651
19899
  }, [resolved]);
@@ -19674,14 +19922,14 @@ function MessageItem({
19674
19922
  }) {
19675
19923
  const t = _nextintl.useTranslations.call(void 0, );
19676
19924
  const isUser = message.role === "user";
19677
- const isFailed = isUser && !!_optionalChain([failedMessageIds, 'optionalAccess', _534 => _534.has, 'call', _535 => _535(message.id)]);
19925
+ const isFailed = isUser && !!_optionalChain([failedMessageIds, 'optionalAccess', _535 => _535.has, 'call', _536 => _536(message.id)]);
19678
19926
  if (isUser) {
19679
19927
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-end gap-1", children: [
19680
19928
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-primary text-primary-foreground max-w-[72%] rounded-2xl rounded-br-sm px-3.5 py-2 text-sm", children: message.content }),
19681
19929
  isFailed && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-destructive flex items-center gap-2 text-xs", children: [
19682
19930
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.AlertCircle, { className: "h-3.5 w-3.5" }),
19683
19931
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: t("features.assistant.send_failed") }),
19684
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", className: "underline", onClick: () => _optionalChain([onRetry, 'optionalCall', _536 => _536(message.id)]), children: t("features.assistant.retry") })
19932
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", className: "underline", onClick: () => _optionalChain([onRetry, 'optionalCall', _537 => _537(message.id)]), children: t("features.assistant.retry") })
19685
19933
  ] })
19686
19934
  ] });
19687
19935
  }
@@ -19757,7 +20005,7 @@ function AssistantThread({
19757
20005
  }) {
19758
20006
  const endRef = _react.useRef.call(void 0, null);
19759
20007
  _react.useEffect.call(void 0, () => {
19760
- _optionalChain([endRef, 'access', _537 => _537.current, 'optionalAccess', _538 => _538.scrollIntoView, 'call', _539 => _539({ behavior: "smooth" })]);
20008
+ _optionalChain([endRef, 'access', _538 => _538.current, 'optionalAccess', _539 => _539.scrollIntoView, 'call', _540 => _540({ behavior: "smooth" })]);
19761
20009
  }, [messages.length, sending]);
19762
20010
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 overflow-x-hidden overflow-y-auto px-6 py-5", children: [
19763
20011
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -19786,7 +20034,7 @@ function AssistantContainer({ renderApprovalAction } = {}) {
19786
20034
  AssistantSidebar,
19787
20035
  {
19788
20036
  threads: ctx.threads,
19789
- activeId: _optionalChain([ctx, 'access', _540 => _540.assistant, 'optionalAccess', _541 => _541.id]),
20037
+ activeId: _optionalChain([ctx, 'access', _541 => _541.assistant, 'optionalAccess', _542 => _542.id]),
19790
20038
  onSelect: ctx.selectThread,
19791
20039
  onNew: ctx.startNew
19792
20040
  }
@@ -19887,14 +20135,14 @@ function NotificationsList({ archived }) {
19887
20135
  ] }),
19888
20136
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Skeleton, { className: "h-8 w-20" })
19889
20137
  ] }) }) }, i)) }), "LoadingSkeleton");
19890
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: data.isLoaded ? _optionalChain([data, 'access', _542 => _542.data, 'optionalAccess', _543 => _543.map, 'call', _544 => _544((notification) => {
20138
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: data.isLoaded ? _optionalChain([data, 'access', _543 => _543.data, 'optionalAccess', _544 => _544.map, 'call', _545 => _545((notification) => {
19891
20139
  const notificationData = generateNotificationData({ notification, generateUrl });
19892
20140
  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: [
19893
20141
  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: _chunkPQBKPWBYjs.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" }),
19894
20142
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
19895
20143
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
19896
20144
  strong: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (chunks) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: chunks }), "strong"),
19897
- actor: _nullishCoalesce(_optionalChain([notificationData, 'access', _545 => _545.actor, 'optionalAccess', _546 => _546.name]), () => ( "")),
20145
+ actor: _nullishCoalesce(_optionalChain([notificationData, 'access', _546 => _546.actor, 'optionalAccess', _547 => _547.name]), () => ( "")),
19898
20146
  title: notificationData.title
19899
20147
  }) }),
19900
20148
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground mt-1 w-full text-xs", children: new Date(notification.createdAt).toLocaleString() })
@@ -20240,7 +20488,7 @@ var DEFAULT_TRANSLATIONS = {
20240
20488
  invalidEmail: "Please enter a valid email address"
20241
20489
  };
20242
20490
  async function copyToClipboard(text) {
20243
- if (_optionalChain([navigator, 'access', _547 => _547.clipboard, 'optionalAccess', _548 => _548.writeText])) {
20491
+ if (_optionalChain([navigator, 'access', _548 => _548.clipboard, 'optionalAccess', _549 => _549.writeText])) {
20244
20492
  try {
20245
20493
  await navigator.clipboard.writeText(text);
20246
20494
  return true;
@@ -20282,7 +20530,7 @@ function ReferralWidget({
20282
20530
  const linkInputRef = _react.useRef.call(void 0, null);
20283
20531
  const config = _chunkJO5BLONKjs.getReferralConfig.call(void 0, );
20284
20532
  const baseUrl = config.referralUrlBase || (typeof window !== "undefined" ? window.location.origin : "");
20285
- const referralUrl = _optionalChain([stats, 'optionalAccess', _549 => _549.referralCode]) ? `${baseUrl}${config.referralPath}?${config.urlParamName}=${stats.referralCode}` : "";
20533
+ const referralUrl = _optionalChain([stats, 'optionalAccess', _550 => _550.referralCode]) ? `${baseUrl}${config.referralPath}?${config.urlParamName}=${stats.referralCode}` : "";
20286
20534
  if (!_chunkJO5BLONKjs.isReferralEnabled.call(void 0, )) {
20287
20535
  return null;
20288
20536
  }
@@ -20292,7 +20540,7 @@ function ReferralWidget({
20292
20540
  if (success) {
20293
20541
  setCopied(true);
20294
20542
  _chunkPQBKPWBYjs.showToast.call(void 0, t.copiedMessage);
20295
- _optionalChain([onLinkCopied, 'optionalCall', _550 => _550()]);
20543
+ _optionalChain([onLinkCopied, 'optionalCall', _551 => _551()]);
20296
20544
  setTimeout(() => setCopied(false), 2e3);
20297
20545
  } else {
20298
20546
  _chunkPQBKPWBYjs.showError.call(void 0, t.copyError);
@@ -20306,12 +20554,12 @@ function ReferralWidget({
20306
20554
  try {
20307
20555
  await sendInvite(email);
20308
20556
  _chunkPQBKPWBYjs.showToast.call(void 0, t.inviteSent);
20309
- _optionalChain([onInviteSent, 'optionalCall', _551 => _551(email)]);
20557
+ _optionalChain([onInviteSent, 'optionalCall', _552 => _552(email)]);
20310
20558
  setEmail("");
20311
20559
  } catch (err) {
20312
20560
  const error2 = err instanceof Error ? err : new Error(t.inviteError);
20313
20561
  _chunkPQBKPWBYjs.showError.call(void 0, error2.message);
20314
- _optionalChain([onInviteError, 'optionalCall', _552 => _552(error2)]);
20562
+ _optionalChain([onInviteError, 'optionalCall', _553 => _553(error2)]);
20315
20563
  }
20316
20564
  }, [email, sendInvite, t.inviteSent, t.inviteError, t.invalidEmail, onInviteSent, onInviteError]);
20317
20565
  const handleEmailKeyDown = _react.useCallback.call(void 0,
@@ -21065,7 +21313,7 @@ function OAuthClientList({
21065
21313
  OAuthClientCard,
21066
21314
  {
21067
21315
  client,
21068
- onClick: () => _optionalChain([onClientClick, 'optionalCall', _553 => _553(client)]),
21316
+ onClick: () => _optionalChain([onClientClick, 'optionalCall', _554 => _554(client)]),
21069
21317
  onEdit: onEditClick ? () => onEditClick(client) : void 0,
21070
21318
  onDelete: onDeleteClick ? () => onDeleteClick(client) : void 0
21071
21319
  },
@@ -21081,11 +21329,11 @@ _chunk7QVYU63Ejs.__name.call(void 0, OAuthClientList, "OAuthClientList");
21081
21329
  function OAuthClientForm({ client, onSubmit, onCancel, isLoading = false }) {
21082
21330
  const isEditMode = !!client;
21083
21331
  const [formState, setFormState] = _react.useState.call(void 0, {
21084
- name: _optionalChain([client, 'optionalAccess', _554 => _554.name]) || "",
21085
- description: _optionalChain([client, 'optionalAccess', _555 => _555.description]) || "",
21086
- redirectUris: _optionalChain([client, 'optionalAccess', _556 => _556.redirectUris, 'optionalAccess', _557 => _557.length]) ? client.redirectUris : [""],
21087
- allowedScopes: _optionalChain([client, 'optionalAccess', _558 => _558.allowedScopes]) || [],
21088
- isConfidential: _nullishCoalesce(_optionalChain([client, 'optionalAccess', _559 => _559.isConfidential]), () => ( true))
21332
+ name: _optionalChain([client, 'optionalAccess', _555 => _555.name]) || "",
21333
+ description: _optionalChain([client, 'optionalAccess', _556 => _556.description]) || "",
21334
+ redirectUris: _optionalChain([client, 'optionalAccess', _557 => _557.redirectUris, 'optionalAccess', _558 => _558.length]) ? client.redirectUris : [""],
21335
+ allowedScopes: _optionalChain([client, 'optionalAccess', _559 => _559.allowedScopes]) || [],
21336
+ isConfidential: _nullishCoalesce(_optionalChain([client, 'optionalAccess', _560 => _560.isConfidential]), () => ( true))
21089
21337
  });
21090
21338
  const [errors, setErrors] = _react.useState.call(void 0, {});
21091
21339
  const validate = _react.useCallback.call(void 0, () => {
@@ -21313,7 +21561,7 @@ function OAuthClientDetail({
21313
21561
  ] }),
21314
21562
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
21315
21563
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Label, { children: "Allowed Scopes" }),
21316
- /* @__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([_chunkPQBKPWBYjs.OAUTH_SCOPE_DISPLAY, 'access', _560 => _560[scope], 'optionalAccess', _561 => _561.name]) || scope }, scope)) })
21564
+ /* @__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([_chunkPQBKPWBYjs.OAUTH_SCOPE_DISPLAY, 'access', _561 => _561[scope], 'optionalAccess', _562 => _562.name]) || scope }, scope)) })
21317
21565
  ] }),
21318
21566
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
21319
21567
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Label, { children: "Grant Types" }),
@@ -21457,7 +21705,7 @@ function OAuthConsentScreen({
21457
21705
  if (error || !clientInfo) {
21458
21706
  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: [
21459
21707
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.AlertTriangle, { className: "h-4 w-4" }),
21460
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDescription, { children: _optionalChain([error, 'optionalAccess', _562 => _562.message]) || "Invalid authorization request. Please try again." })
21708
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDescription, { children: _optionalChain([error, 'optionalAccess', _563 => _563.message]) || "Invalid authorization request. Please try again." })
21461
21709
  ] }) }) }) });
21462
21710
  }
21463
21711
  const { client, scopes } = clientInfo;
@@ -21673,7 +21921,7 @@ function WaitlistForm({ onSuccess }) {
21673
21921
  questionnaire: values.questionnaire
21674
21922
  });
21675
21923
  setIsSuccess(true);
21676
- _optionalChain([onSuccess, 'optionalCall', _563 => _563()]);
21924
+ _optionalChain([onSuccess, 'optionalCall', _564 => _564()]);
21677
21925
  } catch (e) {
21678
21926
  errorToast({ error: e });
21679
21927
  } finally {
@@ -22311,7 +22559,7 @@ var ModuleEditor = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs.__n
22311
22559
  ] }),
22312
22560
  roleIds.map((roleId) => {
22313
22561
  const roleTokens = block[roleId];
22314
- const roleLabel = _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _564 => _564[roleId]]), () => ( roleId));
22562
+ const roleLabel = _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _565 => _565[roleId]]), () => ( roleId));
22315
22563
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "tr", { className: "border-b last:border-b-0", children: [
22316
22564
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-4 py-1 text-xs font-medium text-muted-foreground", children: roleLabel }),
22317
22565
  _chunkJO5BLONKjs.ACTION_TYPES.map((action) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-2 py-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22348,7 +22596,7 @@ function RbacContainer() {
22348
22596
  }, []);
22349
22597
  const sortedModuleIds = _react.useMemo.call(void 0, () => {
22350
22598
  if (!matrix) return [];
22351
- return Object.keys(matrix).sort((a, b) => (_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _565 => _565[a]]), () => ( a))).localeCompare(_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _566 => _566[b]]), () => ( b))));
22599
+ return Object.keys(matrix).sort((a, b) => (_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _566 => _566[a]]), () => ( a))).localeCompare(_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _567 => _567[b]]), () => ( b))));
22352
22600
  }, [matrix, moduleNames]);
22353
22601
  const roleIds = _react.useMemo.call(void 0, () => {
22354
22602
  if (roleNames) {
@@ -22411,7 +22659,7 @@ function RbacContainer() {
22411
22659
  id === selectedModuleId && "bg-muted font-medium text-foreground",
22412
22660
  id !== selectedModuleId && "text-muted-foreground"
22413
22661
  ),
22414
- children: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _567 => _567[id]]), () => ( id))
22662
+ children: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _568 => _568[id]]), () => ( id))
22415
22663
  }
22416
22664
  ) }, id)) }) }),
22417
22665
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "section", { className: "flex-1 overflow-y-auto p-4", children: selectedModuleId && selectedBlock ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22419,7 +22667,7 @@ function RbacContainer() {
22419
22667
  {
22420
22668
  moduleId: selectedModuleId,
22421
22669
  block: selectedBlock,
22422
- moduleLabel: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _568 => _568[selectedModuleId]]), () => ( selectedModuleId)),
22670
+ moduleLabel: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _569 => _569[selectedModuleId]]), () => ( selectedModuleId)),
22423
22671
  roleIds,
22424
22672
  roleNames,
22425
22673
  onOpenPicker: openPicker
@@ -22430,12 +22678,12 @@ function RbacContainer() {
22430
22678
  RbacPermissionPicker,
22431
22679
  {
22432
22680
  open: !!activePicker,
22433
- anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _569 => _569.anchor]), () => ( null)),
22681
+ anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _570 => _570.anchor]), () => ( null)),
22434
22682
  value: activeValue,
22435
- isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _570 => _570.isRoleColumn]), () => ( false)),
22683
+ isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _571 => _571.isRoleColumn]), () => ( false)),
22436
22684
  knownSegments: activeSegments,
22437
22685
  onSetValue: handleSetValue,
22438
- onClear: _optionalChain([activePicker, 'optionalAccess', _571 => _571.isRoleColumn]) ? handleClear : void 0,
22686
+ onClear: _optionalChain([activePicker, 'optionalAccess', _572 => _572.isRoleColumn]) ? handleClear : void 0,
22439
22687
  onClose: closePicker
22440
22688
  }
22441
22689
  )
@@ -22502,7 +22750,7 @@ function RbacByRoleContainer() {
22502
22750
  }, [roleNames]);
22503
22751
  const sortedModuleIds = _react.useMemo.call(void 0, () => {
22504
22752
  if (!matrix) return [];
22505
- return Object.keys(matrix).sort((a, b) => (_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _572 => _572[a]]), () => ( a))).localeCompare(_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _573 => _573[b]]), () => ( b))));
22753
+ return Object.keys(matrix).sort((a, b) => (_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _573 => _573[a]]), () => ( a))).localeCompare(_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _574 => _574[b]]), () => ( b))));
22506
22754
  }, [matrix, moduleNames]);
22507
22755
  _react.useEffect.call(void 0, () => {
22508
22756
  if (!selectedRoleId && sortedRoleIds.length > 0) {
@@ -22551,7 +22799,7 @@ function RbacByRoleContainer() {
22551
22799
  id === selectedRoleId && "bg-muted font-medium text-foreground",
22552
22800
  id !== selectedRoleId && "text-muted-foreground"
22553
22801
  ),
22554
- children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _574 => _574[id]]), () => ( id))
22802
+ children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _575 => _575[id]]), () => ( id))
22555
22803
  }
22556
22804
  ) }, id)) }) }),
22557
22805
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "section", { className: "flex-1 overflow-y-auto p-4", children: sortedModuleIds.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "rounded-lg border border-accent bg-card", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-x-auto", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "table", { className: "w-full text-sm", children: [
@@ -22571,7 +22819,7 @@ function RbacByRoleContainer() {
22571
22819
  if (!block) return null;
22572
22820
  const defaultTokens = _nullishCoalesce(block.default, () => ( []));
22573
22821
  const roleTokens = block[selectedRoleId];
22574
- const moduleLabel = _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _575 => _575[moduleId]]), () => ( moduleId));
22822
+ const moduleLabel = _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _576 => _576[moduleId]]), () => ( moduleId));
22575
22823
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
22576
22824
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "tr", { className: "border-b bg-muted/40", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22577
22825
  "td",
@@ -22586,7 +22834,7 @@ function RbacByRoleContainer() {
22586
22834
  _chunkJO5BLONKjs.ACTION_TYPES.map((action) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-2 py-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RbacPermissionCell, { value: cellValue2(defaultTokens, action) }) }, action))
22587
22835
  ] }),
22588
22836
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "tr", { className: "border-b last:border-b-0", children: [
22589
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-4 py-1 text-xs font-medium text-muted-foreground", children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _576 => _576[selectedRoleId]]), () => ( selectedRoleId)) }),
22837
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-4 py-1 text-xs font-medium text-muted-foreground", children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _577 => _577[selectedRoleId]]), () => ( selectedRoleId)) }),
22590
22838
  _chunkJO5BLONKjs.ACTION_TYPES.map((action) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-2 py-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22591
22839
  CellButton3,
22592
22840
  {
@@ -22607,12 +22855,12 @@ function RbacByRoleContainer() {
22607
22855
  RbacPermissionPicker,
22608
22856
  {
22609
22857
  open: !!activePicker,
22610
- anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _577 => _577.anchor]), () => ( null)),
22858
+ anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _578 => _578.anchor]), () => ( null)),
22611
22859
  value: activeValue,
22612
- isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _578 => _578.isRoleColumn]), () => ( false)),
22860
+ isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _579 => _579.isRoleColumn]), () => ( false)),
22613
22861
  knownSegments: activeSegments,
22614
22862
  onSetValue: handleSetValue,
22615
- onClear: _optionalChain([activePicker, 'optionalAccess', _579 => _579.isRoleColumn]) ? handleClear : void 0,
22863
+ onClear: _optionalChain([activePicker, 'optionalAccess', _580 => _580.isRoleColumn]) ? handleClear : void 0,
22616
22864
  onClose: closePicker
22617
22865
  }
22618
22866
  )
@@ -23146,5 +23394,10 @@ _chunk7QVYU63Ejs.__name.call(void 0, RbacByRoleContainer, "RbacByRoleContainer")
23146
23394
 
23147
23395
 
23148
23396
 
23149
- 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.computeLayeredLayout = computeLayeredLayout; exports.fitLayeredLayoutToAspectRatio = fitLayeredLayoutToAspectRatio; 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.ConfirmDialog = ConfirmDialog; 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.EmptyState = EmptyState; 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.spinnerVariants = spinnerVariants; exports.Spinner = Spinner; 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.partitionTabs = partitionTabs; 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.useUserSearch = useUserSearch; exports.useUserTableStructure = useUserTableStructure; exports.UserSearchPopover = UserSearchPopover; 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.BlockNoteEditorMentionHoverCard = BlockNoteEditorMentionHoverCard; exports.mentionDataAttrs = mentionDataAttrs; exports.parseMentionElement = parseMentionElement; exports.createMentionInlineContentSpec = createMentionInlineContentSpec; exports.useMentionInsert = useMentionInsert; exports.BlockNoteEditorMentionSuggestionMenu = BlockNoteEditorMentionSuggestionMenu; exports.BlockNoteEditorContainer = BlockNoteEditorContainer; exports.BlockNoteViewerContainer = BlockNoteViewerContainer; 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.CommonAddTrigger = CommonAddTrigger; 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.CurrencyInput = CurrencyInput; 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.cellDateTime = cellDateTime; exports.cellId = cellId; exports.cellLink = cellLink; exports.cellUrl = cellUrl; exports.ContentTableSearch = ContentTableSearch; exports.ContentListTable = ContentListTable; exports.ContentListGrid = ContentListGrid; 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.HowToMultiSelector = HowToMultiSelector; 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.HowToSelector = HowToSelector; exports.AssistantProvider = AssistantProvider; exports.useAssistantContext = useAssistantContext; exports.AssistantComposer = AssistantComposer; exports.AssistantEmptyState = AssistantEmptyState; exports.MessageSourcesPanel = MessageSourcesPanel; exports.MessageItem = MessageItem; exports.MessageList = MessageList; exports.AssistantThread = AssistantThread; exports.AssistantContainer = AssistantContainer; 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.RbacProvider = RbacProvider; exports.useRbacContext = useRbacContext; exports.RbacPermissionCell = RbacPermissionCell; exports.RbacPermissionPicker = RbacPermissionPicker; exports.RbacContainer = RbacContainer; exports.RbacByRoleContainer = RbacByRoleContainer; 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.useContentTableStructure = useContentTableStructure; exports.useOAuthClients = useOAuthClients; exports.useOAuthClient = useOAuthClient;
23150
- //# sourceMappingURL=chunk-63FZJ7UK.js.map
23397
+
23398
+
23399
+
23400
+
23401
+
23402
+ 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.computeLayeredLayout = computeLayeredLayout; exports.fitLayeredLayoutToAspectRatio = fitLayeredLayoutToAspectRatio; 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.ConfirmDialog = ConfirmDialog; 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.EmptyState = EmptyState; 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.spinnerVariants = spinnerVariants; exports.Spinner = Spinner; 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.partitionTabs = partitionTabs; 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.useUserSearch = useUserSearch; exports.useUserTableStructure = useUserTableStructure; exports.UserSearchPopover = UserSearchPopover; 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.BlockNoteEditorMentionHoverCard = BlockNoteEditorMentionHoverCard; exports.mentionDataAttrs = mentionDataAttrs; exports.parseMentionElement = parseMentionElement; exports.createMentionInlineContentSpec = createMentionInlineContentSpec; exports.useMentionInsert = useMentionInsert; exports.BlockNoteEditorMentionSuggestionMenu = BlockNoteEditorMentionSuggestionMenu; exports.BlockNoteEditorContainer = BlockNoteEditorContainer; exports.BlockNoteViewerContainer = BlockNoteViewerContainer; exports.FormFeatures = FormFeatures; exports.CommonAssociationTrigger = CommonAssociationTrigger; exports.CommonAssociationCommandDialog = CommonAssociationCommandDialog; exports.triggerAssociationToast = triggerAssociationToast; exports.CommonDeleter = CommonDeleter; exports.CommonEditorButtons = CommonEditorButtons; exports.CommonEditorDiscardDialog = CommonEditorDiscardDialog; exports.CommonEditorHeader = CommonEditorHeader; exports.CommonEditorTrigger = CommonEditorTrigger; exports.CommonAddTrigger = CommonAddTrigger; exports.CurrencyInput = CurrencyInput; exports.DatePickerPopover = DatePickerPopover; exports.DateRangeSelector = DateRangeSelector; exports.useEditorDialog = useEditorDialog; exports.EditorSheet = EditorSheet; exports.FormFieldWrapper = FormFieldWrapper; exports.EntityMultiSelector = EntityMultiSelector; exports.EntitySelector = EntitySelector; exports.useFileUpload = useFileUpload; exports.FileUploader = FileUploader; exports.FileUploaderContent = FileUploaderContent; exports.FileUploaderItem = FileUploaderItem; exports.FileInput = FileInput; exports.FormBlockNote = FormBlockNote; exports.FormCheckbox = FormCheckbox; exports.FormDate = FormDate; exports.FormDateTime = FormDateTime; exports.FormInput = FormInput; exports.FormBody = FormBody; exports.FormSection = FormSection; exports.FormRow = FormRow; exports.FormCol = FormCol; 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.PageContainerContentDetails = PageContainerContentDetails; exports.PageContentContainer = PageContentContainer; exports.cellComponent = cellComponent; exports.cellDate = cellDate; exports.cellDateTime = cellDateTime; exports.cellId = cellId; exports.cellLink = cellLink; exports.cellUrl = cellUrl; exports.ContentTableSearch = ContentTableSearch; exports.ContentListTable = ContentListTable; exports.ContentListGrid = ContentListGrid; 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.HowToMultiSelector = HowToMultiSelector; 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.HowToSelector = HowToSelector; exports.AssistantProvider = AssistantProvider; exports.useAssistantContext = useAssistantContext; exports.AssistantComposer = AssistantComposer; exports.AssistantEmptyState = AssistantEmptyState; exports.MessageSourcesPanel = MessageSourcesPanel; exports.MessageItem = MessageItem; exports.MessageList = MessageList; exports.AssistantThread = AssistantThread; exports.AssistantContainer = AssistantContainer; 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.RbacProvider = RbacProvider; exports.useRbacContext = useRbacContext; exports.RbacPermissionCell = RbacPermissionCell; exports.RbacPermissionPicker = RbacPermissionPicker; exports.RbacContainer = RbacContainer; exports.RbacByRoleContainer = RbacByRoleContainer; 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.useContentTableStructure = useContentTableStructure; exports.useOAuthClients = useOAuthClients; exports.useOAuthClient = useOAuthClient;
23403
+ //# sourceMappingURL=chunk-LJLXNH2Z.js.map