@carlonicora/nextjs-jsonapi 6.17.0 → 6.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/{BlockNoteEditor-IGUHTERQ.mjs → BlockNoteEditor-5HSL74IX.mjs} +2 -2
  2. package/dist/{BlockNoteEditor-FAUTV5FW.js → BlockNoteEditor-6RZXGMSD.js} +9 -9
  3. package/dist/{BlockNoteEditor-FAUTV5FW.js.map → BlockNoteEditor-6RZXGMSD.js.map} +1 -1
  4. package/dist/billing/index.js +378 -378
  5. package/dist/billing/index.mjs +1 -1
  6. package/dist/{chunk-4OCBNCKH.js → chunk-B4ZH2FOC.js} +359 -308
  7. package/dist/chunk-B4ZH2FOC.js.map +1 -0
  8. package/dist/{chunk-RINMQQZH.mjs → chunk-HEDHJAKT.mjs} +59 -8
  9. package/dist/chunk-HEDHJAKT.mjs.map +1 -0
  10. package/dist/client/index.js +2 -2
  11. package/dist/client/index.mjs +1 -1
  12. package/dist/components/index.d.mts +13 -2
  13. package/dist/components/index.d.ts +13 -2
  14. package/dist/components/index.js +2 -2
  15. package/dist/components/index.mjs +1 -1
  16. package/dist/contexts/index.js +2 -2
  17. package/dist/contexts/index.mjs +1 -1
  18. package/dist/email-automations/index.js +78 -78
  19. package/dist/email-automations/index.mjs +1 -1
  20. package/dist/features/analytics/index.js +96 -96
  21. package/dist/features/analytics/index.mjs +1 -1
  22. package/dist/features/blog/index.js +93 -93
  23. package/dist/features/blog/index.mjs +1 -1
  24. package/dist/features/help/index.js +31 -31
  25. package/dist/features/help/index.mjs +1 -1
  26. package/dist/features/tokenusage/index.js +102 -102
  27. package/dist/features/tokenusage/index.mjs +1 -1
  28. package/package.json +1 -1
  29. package/src/components/forms/EditorSheet.tsx +21 -1
  30. package/src/components/forms/FormDateTime.tsx +55 -3
  31. package/src/components/forms/__tests__/EditorSheet.spec.tsx +40 -1
  32. package/dist/chunk-4OCBNCKH.js.map +0 -1
  33. package/dist/chunk-RINMQQZH.mjs.map +0 -1
  34. /package/dist/{BlockNoteEditor-IGUHTERQ.mjs.map → BlockNoteEditor-5HSL74IX.mjs.map} +0 -0
@@ -10147,6 +10147,7 @@ var sizeClasses = {
10147
10147
  function EditorSheet({
10148
10148
  form,
10149
10149
  onSubmit,
10150
+ onBeforeSubmit,
10150
10151
  onReset,
10151
10152
  isFormDirty: isFormDirtyProp,
10152
10153
  entityType,
@@ -10205,6 +10206,7 @@ function EditorSheet({
10205
10206
  const wrappedOnSubmit = _react.useCallback.call(void 0,
10206
10207
  async (values) => {
10207
10208
  try {
10209
+ if (onBeforeSubmit && !await onBeforeSubmit(values)) return;
10208
10210
  const result = await onSubmit(values);
10209
10211
  setOpen(false);
10210
10212
  if (result && onSaved) {
@@ -10227,7 +10229,20 @@ function EditorSheet({
10227
10229
  });
10228
10230
  }
10229
10231
  },
10230
- [onSubmit, setOpen, onSuccess, onSaved, onRevalidate, onNavigate, generateUrl, module, isEdit, propagateChanges, t]
10232
+ [
10233
+ onSubmit,
10234
+ onBeforeSubmit,
10235
+ setOpen,
10236
+ onSuccess,
10237
+ onSaved,
10238
+ onRevalidate,
10239
+ onNavigate,
10240
+ generateUrl,
10241
+ module,
10242
+ isEdit,
10243
+ propagateChanges,
10244
+ t
10245
+ ]
10231
10246
  );
10232
10247
  const headerTitle = _nullishCoalesce(titleOverride, () => ( (isEdit ? t("common.edit.update.title", { type: entityType }) : t("common.edit.create.title", { type: entityType }))));
10233
10248
  const headerDescription = _nullishCoalesce(descriptionOverride, () => ( (isEdit ? t("common.edit.update.description", { type: entityType, name: _nullishCoalesce(entityName2, () => ( "")) }) : t("common.edit.create.description", { type: entityType }))));
@@ -10852,7 +10867,7 @@ FileInput.displayName = "FileInput";
10852
10867
  var _dynamic = require('next/dynamic'); var _dynamic2 = _interopRequireDefault(_dynamic);
10853
10868
 
10854
10869
 
10855
- var BlockNoteEditor = _dynamic2.default.call(void 0, () => Promise.resolve().then(() => _interopRequireWildcard(require("./BlockNoteEditor-FAUTV5FW.js"))), {
10870
+ var BlockNoteEditor = _dynamic2.default.call(void 0, () => Promise.resolve().then(() => _interopRequireWildcard(require("./BlockNoteEditor-6RZXGMSD.js"))), {
10856
10871
  ssr: false
10857
10872
  });
10858
10873
  var BlockNoteEditorContainer = React2.default.memo(/* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, function EditorContainer(props) {
@@ -11138,6 +11153,12 @@ _chunk7QVYU63Ejs.__name.call(void 0, FormDate, "FormDate");
11138
11153
 
11139
11154
 
11140
11155
 
11156
+ function snapToFiveMinutes(date) {
11157
+ const snapped = new Date(date);
11158
+ snapped.setMinutes(Math.round(snapped.getMinutes() / 5) * 5, 0, 0);
11159
+ return snapped;
11160
+ }
11161
+ _chunk7QVYU63Ejs.__name.call(void 0, snapToFiveMinutes, "snapToFiveMinutes");
11141
11162
  function FormDateTime({
11142
11163
  form,
11143
11164
  id,
@@ -11148,7 +11169,9 @@ function FormDateTime({
11148
11169
  defaultMonth,
11149
11170
  placeholder,
11150
11171
  isRequired,
11151
- description
11172
+ description,
11173
+ reference,
11174
+ markedDate
11152
11175
  }) {
11153
11176
  const [open, setOpen] = _react.useState.call(void 0, false);
11154
11177
  const t = _chunkA7Y5YW7Qjs.useI18nTranslations.call(void 0, );
@@ -11156,7 +11179,7 @@ function FormDateTime({
11156
11179
  const dateFnsLocale = _chunkA7Y5YW7Qjs.useI18nDateFnsLocale.call(void 0, );
11157
11180
  const [displayMonth, setDisplayMonth] = _react.useState.call(void 0, () => {
11158
11181
  const currentValue = form.getValues(id);
11159
- return currentValue || defaultMonth || /* @__PURE__ */ new Date();
11182
+ return currentValue || defaultMonth || _optionalChain([reference, 'optionalAccess', _295 => _295.date]) || /* @__PURE__ */ new Date();
11160
11183
  });
11161
11184
  const dateTimeFormatter = _react.useMemo.call(void 0,
11162
11185
  () => new Intl.DateTimeFormat(locale, {
@@ -11170,8 +11193,17 @@ function FormDateTime({
11170
11193
  [locale]
11171
11194
  );
11172
11195
  const formatDateTime = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (date) => dateTimeFormatter.format(date), "formatDateTime");
11173
- const [selectedHours, setSelectedHours] = _react.useState.call(void 0, (/* @__PURE__ */ new Date()).getHours());
11174
- const [selectedMinutes, setSelectedMinutes] = _react.useState.call(void 0, roundToNearestFiveMinutes((/* @__PURE__ */ new Date()).getMinutes()));
11196
+ const initialTime = reference ? snapToFiveMinutes(reference.date) : /* @__PURE__ */ new Date();
11197
+ const [selectedHours, setSelectedHours] = _react.useState.call(void 0, initialTime.getHours());
11198
+ const [selectedMinutes, setSelectedMinutes] = _react.useState.call(void 0, roundToNearestFiveMinutes(initialTime.getMinutes()));
11199
+ const dayModifiers = {
11200
+ ...reference ? { reference: reference.date } : {},
11201
+ ...markedDate ? { marked: markedDate } : {}
11202
+ };
11203
+ const dayModifiersClassNames = {
11204
+ reference: "rounded-(--cell-radius) ring-1 ring-primary ring-offset-1 ring-offset-background",
11205
+ marked: "[&>button]:underline [&>button]:decoration-2 [&>button]:underline-offset-4"
11206
+ };
11175
11207
  const hoursOptions = Array.from({ length: 24 }, (_, i) => {
11176
11208
  const hour = i;
11177
11209
  return {
@@ -11192,6 +11224,15 @@ function FormDateTime({
11192
11224
  return Math.round(minutes / 5) * 5 % 60;
11193
11225
  }
11194
11226
  _chunk7QVYU63Ejs.__name.call(void 0, roundToNearestFiveMinutes, "roundToNearestFiveMinutes");
11227
+ const handleUseReference = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
11228
+ if (!reference) return;
11229
+ const referenceDate = snapToFiveMinutes(reference.date);
11230
+ form.setValue(id, referenceDate);
11231
+ if (onChange) onChange(referenceDate);
11232
+ setDisplayMonth(referenceDate);
11233
+ setSelectedHours(referenceDate.getHours());
11234
+ setSelectedMinutes(referenceDate.getMinutes());
11235
+ }, "handleUseReference");
11195
11236
  const handleTimeChange = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (hours, minutes) => {
11196
11237
  const currentDate = form.getValues(id);
11197
11238
  if (currentDate) {
@@ -11260,9 +11301,19 @@ function FormDateTime({
11260
11301
  locale: dateFnsLocale,
11261
11302
  weekStartsOn: 1,
11262
11303
  startMonth: new Date(1900, 0),
11263
- endMonth: new Date((/* @__PURE__ */ new Date()).getFullYear() + 10, 11)
11304
+ endMonth: new Date((/* @__PURE__ */ new Date()).getFullYear() + 10, 11),
11305
+ modifiers: dayModifiers,
11306
+ modifiersClassNames: dayModifiersClassNames
11264
11307
  }
11265
11308
  ),
11309
+ _optionalChain([reference, 'optionalAccess', _296 => _296.label]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-row items-center justify-between gap-x-4 border-t pt-4", children: [
11310
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-muted-foreground text-sm", children: [
11311
+ reference.label,
11312
+ ": ",
11313
+ formatDateTime(reference.date)
11314
+ ] }),
11315
+ reference.actionLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Button, { type: "button", variant: "outline", size: "sm", onClick: handleUseReference, children: reference.actionLabel })
11316
+ ] }),
11266
11317
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-row items-end justify-center space-x-4", children: [
11267
11318
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col space-y-2", children: [
11268
11319
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Label, { htmlFor: "hours-select", children: t(`common.hours`) }),
@@ -11605,11 +11656,11 @@ function FormPlaceAutocomplete({
11605
11656
  const data = await response.json();
11606
11657
  if (data.suggestions) {
11607
11658
  const formattedSuggestions = data.suggestions.map((suggestion) => ({
11608
- place_id: _optionalChain([suggestion, 'access', _295 => _295.placePrediction, 'optionalAccess', _296 => _296.placeId]) || "",
11609
- description: _optionalChain([suggestion, 'access', _297 => _297.placePrediction, 'optionalAccess', _298 => _298.text, 'optionalAccess', _299 => _299.text]) || "",
11659
+ place_id: _optionalChain([suggestion, 'access', _297 => _297.placePrediction, 'optionalAccess', _298 => _298.placeId]) || "",
11660
+ description: _optionalChain([suggestion, 'access', _299 => _299.placePrediction, 'optionalAccess', _300 => _300.text, 'optionalAccess', _301 => _301.text]) || "",
11610
11661
  structured_formatting: {
11611
- main_text: _optionalChain([suggestion, 'access', _300 => _300.placePrediction, 'optionalAccess', _301 => _301.structuredFormat, 'optionalAccess', _302 => _302.mainText, 'optionalAccess', _303 => _303.text]) || "",
11612
- secondary_text: _optionalChain([suggestion, 'access', _304 => _304.placePrediction, 'optionalAccess', _305 => _305.structuredFormat, 'optionalAccess', _306 => _306.secondaryText, 'optionalAccess', _307 => _307.text]) || ""
11662
+ main_text: _optionalChain([suggestion, 'access', _302 => _302.placePrediction, 'optionalAccess', _303 => _303.structuredFormat, 'optionalAccess', _304 => _304.mainText, 'optionalAccess', _305 => _305.text]) || "",
11663
+ secondary_text: _optionalChain([suggestion, 'access', _306 => _306.placePrediction, 'optionalAccess', _307 => _307.structuredFormat, 'optionalAccess', _308 => _308.secondaryText, 'optionalAccess', _309 => _309.text]) || ""
11613
11664
  }
11614
11665
  }));
11615
11666
  setSuggestions(formattedSuggestions);
@@ -11756,8 +11807,8 @@ function FormPlaceAutocomplete({
11756
11807
  className: "hover:bg-muted cursor-pointer px-3 py-2 text-sm",
11757
11808
  onClick: () => handleSuggestionSelect(suggestion),
11758
11809
  children: [
11759
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "font-medium", children: _optionalChain([suggestion, 'access', _308 => _308.structured_formatting, 'optionalAccess', _309 => _309.main_text]) }),
11760
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground", children: _optionalChain([suggestion, 'access', _310 => _310.structured_formatting, 'optionalAccess', _311 => _311.secondary_text]) })
11810
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "font-medium", children: _optionalChain([suggestion, 'access', _310 => _310.structured_formatting, 'optionalAccess', _311 => _311.main_text]) }),
11811
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-muted-foreground", children: _optionalChain([suggestion, 'access', _312 => _312.structured_formatting, 'optionalAccess', _313 => _313.secondary_text]) })
11761
11812
  ]
11762
11813
  },
11763
11814
  suggestion.place_id || index
@@ -11805,7 +11856,7 @@ function FormSelect({
11805
11856
  disabled,
11806
11857
  "data-testid": testId,
11807
11858
  children: [
11808
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectValue, { children: field.value ? _optionalChain([values, 'access', _312 => _312.find, 'call', _313 => _313((v) => v.id === field.value), 'optionalAccess', _314 => _314.text]) : _nullishCoalesce(placeholder, () => ( "")) }) }),
11859
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectTrigger, { className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectValue, { children: field.value ? _optionalChain([values, 'access', _314 => _314.find, 'call', _315 => _315((v) => v.id === field.value), 'optionalAccess', _316 => _316.text]) : _nullishCoalesce(placeholder, () => ( "")) }) }),
11809
11860
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SelectContent, { children: [
11810
11861
  allowEmpty && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: EMPTY_VALUE, className: "text-muted-foreground", children: _nullishCoalesce(placeholder, () => ( "")) }),
11811
11862
  values.map((type) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: type.id, children: type.text }, type.id))
@@ -11985,7 +12036,7 @@ var FilePreviewItem = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ fi
11985
12036
  setObjectUrl(null);
11986
12037
  }, [file]);
11987
12038
  const getFileIcon = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
11988
- const extension = _optionalChain([file, 'access', _315 => _315.name, 'access', _316 => _316.split, 'call', _317 => _317("."), 'access', _318 => _318.pop, 'call', _319 => _319(), 'optionalAccess', _320 => _320.toLowerCase, 'call', _321 => _321()]);
12039
+ const extension = _optionalChain([file, 'access', _317 => _317.name, 'access', _318 => _318.split, 'call', _319 => _319("."), 'access', _320 => _320.pop, 'call', _321 => _321(), 'optionalAccess', _322 => _322.toLowerCase, 'call', _323 => _323()]);
11989
12040
  if (file.type.startsWith("image/")) {
11990
12041
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.FileImageIcon, { className: "text-muted h-10 w-10 sm:h-12 sm:w-12" });
11991
12042
  }
@@ -12035,7 +12086,7 @@ function UserAvatar({ user, className, showFull, showLink, showTooltip = true })
12035
12086
  }, "getInitials");
12036
12087
  const getAvatar = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
12037
12088
  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: [
12038
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { className: "object-cover", src: _optionalChain([user, 'optionalAccess', _322 => _322.avatar]) }),
12089
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { className: "object-cover", src: _optionalChain([user, 'optionalAccess', _324 => _324.avatar]) }),
12039
12090
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: getInitials3(user.name) })
12040
12091
  ] }) });
12041
12092
  }, "getAvatar");
@@ -12241,7 +12292,7 @@ var useUserTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0,
12241
12292
  })
12242
12293
  };
12243
12294
  const columns = _react.useMemo.call(void 0, () => {
12244
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _323 => _323[field], 'optionalCall', _324 => _324()])).filter((col) => col !== void 0);
12295
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _325 => _325[field], 'optionalCall', _326 => _326()])).filter((col) => col !== void 0);
12245
12296
  }, [params.fields, fieldColumnMap, t, generateUrl]);
12246
12297
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
12247
12298
  }, "useUserTableStructure");
@@ -12356,10 +12407,10 @@ function UserSelector({ id, form, label, placeholder, onChange, isRequired = fal
12356
12407
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-row items-center justify-between", children: [
12357
12408
  /* @__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: [
12358
12409
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "*:ring-border *:ring-1", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Avatar, { className: `me-2 h-4 w-4`, children: [
12359
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { src: _optionalChain([field, 'access', _325 => _325.value, 'optionalAccess', _326 => _326.avatar]) }),
12360
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: _optionalChain([field, 'access', _327 => _327.value, 'optionalAccess', _328 => _328.name]) ? _optionalChain([field, 'access', _329 => _329.value, 'optionalAccess', _330 => _330.name, 'access', _331 => _331.split, 'call', _332 => _332(" "), 'access', _333 => _333.map, 'call', _334 => _334((name) => name.charAt(0).toUpperCase())]) : "X" })
12410
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarImage, { src: _optionalChain([field, 'access', _327 => _327.value, 'optionalAccess', _328 => _328.avatar]) }),
12411
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AvatarFallback, { children: _optionalChain([field, 'access', _329 => _329.value, 'optionalAccess', _330 => _330.name]) ? _optionalChain([field, 'access', _331 => _331.value, 'optionalAccess', _332 => _332.name, 'access', _333 => _333.split, 'call', _334 => _334(" "), 'access', _335 => _335.map, 'call', _336 => _336((name) => name.charAt(0).toUpperCase())]) : "X" })
12361
12412
  ] }) }),
12362
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([field, 'access', _335 => _335.value, 'optionalAccess', _336 => _336.name]), () => ( "")) })
12413
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _nullishCoalesce(_optionalChain([field, 'access', _337 => _337.value, 'optionalAccess', _338 => _338.name]), () => ( "")) })
12363
12414
  ] }) : /* @__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 }) }))) }) }) }),
12364
12415
  field.value && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12365
12416
  _lucidereact.CircleX,
@@ -12577,7 +12628,7 @@ function UserContent({ user }) {
12577
12628
  const updated = await _chunkOO2DBP6Ljs.UserService.patchAvatar({ id: user.id, avatar: imageKey });
12578
12629
  setUser(updated);
12579
12630
  },
12580
- companyId: _nullishCoalesce(_optionalChain([company, 'optionalAccess', _337 => _337.id]), () => ( "")),
12631
+ companyId: _nullishCoalesce(_optionalChain([company, 'optionalAccess', _339 => _339.id]), () => ( "")),
12581
12632
  className: "h-24 w-24",
12582
12633
  fallbackClassName: "text-2xl"
12583
12634
  }
@@ -12733,7 +12784,7 @@ function CompanyUsersList({ isDeleted, fullWidth }) {
12733
12784
  const data = useDataListRetriever({
12734
12785
  ready: !!company,
12735
12786
  retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkOO2DBP6Ljs.UserService.findAllUsers(params), "retriever"),
12736
- retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _338 => _338.id]), isDeleted },
12787
+ retrieverParams: { companyId: _optionalChain([company, 'optionalAccess', _340 => _340.id]), isDeleted },
12737
12788
  module: _chunkA7Y5YW7Qjs.Modules.User
12738
12789
  });
12739
12790
  _react.useEffect.call(void 0, () => {
@@ -12841,11 +12892,11 @@ function UserListInAdd({ data, existingUsers, setSelectedUser, setLevelOpen }) {
12841
12892
  value: user.id,
12842
12893
  onClick: (_e) => {
12843
12894
  setSelectedUser(user);
12844
- _optionalChain([setLevelOpen, 'optionalCall', _339 => _339(true)]);
12895
+ _optionalChain([setLevelOpen, 'optionalCall', _341 => _341(true)]);
12845
12896
  },
12846
12897
  onSelect: (_e) => {
12847
12898
  setSelectedUser(user);
12848
- _optionalChain([setLevelOpen, 'optionalCall', _340 => _340(true)]);
12899
+ _optionalChain([setLevelOpen, 'optionalCall', _342 => _342(true)]);
12849
12900
  },
12850
12901
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-row items-center justify-between px-4 py-1", children: [
12851
12902
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserAvatar, { user }),
@@ -12986,7 +13037,7 @@ function CompanyContent({ company, actions }) {
12986
13037
  company.legal_address
12987
13038
  ] }),
12988
13039
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-y-1", children: [
12989
- _optionalChain([company, 'access', _341 => _341.configurations, 'optionalAccess', _342 => _342.country]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
13040
+ _optionalChain([company, 'access', _343 => _343.configurations, 'optionalAccess', _344 => _344.country]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
12990
13041
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "font-medium", children: [
12991
13042
  t("features.configuration.country"),
12992
13043
  ":"
@@ -12994,7 +13045,7 @@ function CompanyContent({ company, actions }) {
12994
13045
  " ",
12995
13046
  company.configurations.country
12996
13047
  ] }),
12997
- _optionalChain([company, 'access', _343 => _343.configurations, 'optionalAccess', _344 => _344.currency]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
13048
+ _optionalChain([company, 'access', _345 => _345.configurations, 'optionalAccess', _346 => _346.currency]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-muted-foreground text-sm", children: [
12998
13049
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "font-medium", children: [
12999
13050
  t("features.configuration.currency"),
13000
13051
  ":"
@@ -13240,7 +13291,7 @@ function CompanyEditorInternal({
13240
13291
  _chunk7QVYU63Ejs.__name.call(void 0, fetchFeatures, "fetchFeatures");
13241
13292
  fetchFeatures();
13242
13293
  }
13243
- _optionalChain([onDialogOpenChange, 'optionalCall', _345 => _345(open)]);
13294
+ _optionalChain([onDialogOpenChange, 'optionalCall', _347 => _347(open)]);
13244
13295
  },
13245
13296
  [features.length, canAccessFeatures, hasRole, onDialogOpenChange]
13246
13297
  );
@@ -13285,12 +13336,12 @@ function CompanyEditorInternal({
13285
13336
  );
13286
13337
  const getDefaultValues = _react.useCallback.call(void 0, () => {
13287
13338
  return {
13288
- id: _optionalChain([company, 'optionalAccess', _346 => _346.id]) || _uuid.v4.call(void 0, ),
13289
- name: _optionalChain([company, 'optionalAccess', _347 => _347.name]) || "",
13290
- featureIds: _optionalChain([company, 'optionalAccess', _348 => _348.features, 'access', _349 => _349.map, 'call', _350 => _350((feature) => feature.id)]) || [],
13291
- moduleIds: _optionalChain([company, 'optionalAccess', _351 => _351.modules, 'access', _352 => _352.map, 'call', _353 => _353((module) => module.id)]) || [],
13292
- logo: _optionalChain([company, 'optionalAccess', _354 => _354.logo]) || "",
13293
- legal_address: _optionalChain([company, 'optionalAccess', _355 => _355.legal_address]) || ""
13339
+ id: _optionalChain([company, 'optionalAccess', _348 => _348.id]) || _uuid.v4.call(void 0, ),
13340
+ name: _optionalChain([company, 'optionalAccess', _349 => _349.name]) || "",
13341
+ featureIds: _optionalChain([company, 'optionalAccess', _350 => _350.features, 'access', _351 => _351.map, 'call', _352 => _352((feature) => feature.id)]) || [],
13342
+ moduleIds: _optionalChain([company, 'optionalAccess', _353 => _353.modules, 'access', _354 => _354.map, 'call', _355 => _355((module) => module.id)]) || [],
13343
+ logo: _optionalChain([company, 'optionalAccess', _356 => _356.logo]) || "",
13344
+ legal_address: _optionalChain([company, 'optionalAccess', _357 => _357.legal_address]) || ""
13294
13345
  };
13295
13346
  }, [company]);
13296
13347
  const form = _reacthookform.useForm.call(void 0, {
@@ -13302,7 +13353,7 @@ function CompanyEditorInternal({
13302
13353
  {
13303
13354
  form,
13304
13355
  entityType: t(`entities.companies`, { count: 1 }),
13305
- entityName: _optionalChain([company, 'optionalAccess', _356 => _356.name]),
13356
+ entityName: _optionalChain([company, 'optionalAccess', _358 => _358.name]),
13306
13357
  isEdit: !!company,
13307
13358
  module: _chunkA7Y5YW7Qjs.Modules.Company,
13308
13359
  propagateChanges,
@@ -13327,7 +13378,7 @@ function CompanyEditorInternal({
13327
13378
  throw new Error(t("company.fiscal_data_invalid"));
13328
13379
  }
13329
13380
  const payload = {
13330
- id: _nullishCoalesce(_optionalChain([company, 'optionalAccess', _357 => _357.id]), () => ( _uuid.v4.call(void 0, ))),
13381
+ id: _nullishCoalesce(_optionalChain([company, 'optionalAccess', _359 => _359.id]), () => ( _uuid.v4.call(void 0, ))),
13331
13382
  name: values.name,
13332
13383
  logo: files && contentType ? values.logo : void 0,
13333
13384
  featureIds: values.featureIds,
@@ -13358,14 +13409,14 @@ function CompanyEditorInternal({
13358
13409
  dialogOpen,
13359
13410
  onDialogOpenChange: handleDialogOpenChange,
13360
13411
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start justify-between gap-x-4", children: [
13361
- /* @__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-muted-foreground/50 rounded-lg outline-1 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', _358 => _358.logo]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13412
+ /* @__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-muted-foreground/50 rounded-lg outline-1 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', _360 => _360.logo]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13362
13413
  _image2.default,
13363
13414
  {
13364
- src: file ? URL.createObjectURL(file) : _optionalChain([company, 'optionalAccess', _359 => _359.logo]) || "",
13415
+ src: file ? URL.createObjectURL(file) : _optionalChain([company, 'optionalAccess', _361 => _361.logo]) || "",
13365
13416
  alt: t("company.logo_alt"),
13366
13417
  width: 200,
13367
13418
  height: 200,
13368
- unoptimized: _chunkOO2DBP6Ljs.isRemoteImageSrc.call(void 0, file ? void 0 : _optionalChain([company, 'optionalAccess', _360 => _360.logo]))
13419
+ unoptimized: _chunkOO2DBP6Ljs.isRemoteImageSrc.call(void 0, file ? void 0 : _optionalChain([company, 'optionalAccess', _362 => _362.logo]))
13369
13420
  }
13370
13421
  ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
13371
13422
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.UploadIcon, { className: "my-4 h-8 w-8" }),
@@ -13396,7 +13447,7 @@ function CompanyEditorInternal({
13396
13447
  }
13397
13448
  ),
13398
13449
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SectionHeader, { className: "mt-2", children: t(`company.sections.fiscal_data`) }),
13399
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ItalianFiscalData_default, { ref: fiscalRef, initialData: parseFiscalData(_optionalChain([company, 'optionalAccess', _361 => _361.fiscal_data])) })
13450
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ItalianFiscalData_default, { ref: fiscalRef, initialData: parseFiscalData(_optionalChain([company, 'optionalAccess', _363 => _363.fiscal_data])) })
13400
13451
  ] }),
13401
13452
  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 }) }) })
13402
13453
  ] })
@@ -13762,7 +13813,7 @@ function NotificationToast(notification, t, generateUrl, reouter, locale) {
13762
13813
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col", children: [
13763
13814
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
13764
13815
  strong: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (chunks) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { children: chunks }), "strong"),
13765
- actor: _nullishCoalesce(_optionalChain([data, 'access', _362 => _362.actor, 'optionalAccess', _363 => _363.name]), () => ( "")),
13816
+ actor: _nullishCoalesce(_optionalChain([data, 'access', _364 => _364.actor, 'optionalAccess', _365 => _365.name]), () => ( "")),
13766
13817
  title: data.title,
13767
13818
  message: _nullishCoalesce(notification.message, () => ( ""))
13768
13819
  }) }),
@@ -13800,7 +13851,7 @@ function NotificationMenuItem({ notification, closePopover }) {
13800
13851
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
13801
13852
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-foreground text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
13802
13853
  strong: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (chunks) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { className: "font-medium", children: chunks }), "strong"),
13803
- actor: _nullishCoalesce(_optionalChain([data, 'access', _364 => _364.actor, 'optionalAccess', _365 => _365.name]), () => ( "")),
13854
+ actor: _nullishCoalesce(_optionalChain([data, 'access', _366 => _366.actor, 'optionalAccess', _367 => _367.name]), () => ( "")),
13804
13855
  title: data.title,
13805
13856
  message: _nullishCoalesce(notification.message, () => ( ""))
13806
13857
  }) }),
@@ -13871,7 +13922,7 @@ var NotificationContextProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(v
13871
13922
  _react.useEffect.call(void 0, () => {
13872
13923
  if (hasInitiallyLoaded || !currentUser) return;
13873
13924
  if (_chunkG4JR3SFVjs.isRolesConfigured.call(void 0, )) {
13874
- const isAdmin = _optionalChain([currentUser, 'access', _366 => _366.roles, 'optionalAccess', _367 => _367.some, 'call', _368 => _368((role) => role.id === _chunkG4JR3SFVjs.getRoleId.call(void 0, ).Administrator)]);
13925
+ const isAdmin = _optionalChain([currentUser, 'access', _368 => _368.roles, 'optionalAccess', _369 => _369.some, 'call', _370 => _370((role) => role.id === _chunkG4JR3SFVjs.getRoleId.call(void 0, ).Administrator)]);
13875
13926
  if (isAdmin) {
13876
13927
  setHasInitiallyLoaded(true);
13877
13928
  return;
@@ -14057,7 +14108,7 @@ function OnboardingProvider({
14057
14108
  const id = activeTourIdRef.current;
14058
14109
  cleanupRoots();
14059
14110
  resetState();
14060
- if (id) _optionalChain([onTourEnd, 'optionalCall', _369 => _369(id, reason)]);
14111
+ if (id) _optionalChain([onTourEnd, 'optionalCall', _371 => _371(id, reason)]);
14061
14112
  },
14062
14113
  [cleanupRoots, resetState, onTourEnd]
14063
14114
  );
@@ -14070,14 +14121,14 @@ function OnboardingProvider({
14070
14121
  cleanupRoots();
14071
14122
  resetState();
14072
14123
  }, [cleanupRoots, resetState, teardown]);
14073
- const nextStep = _react.useCallback.call(void 0, () => _optionalChain([driverRef, 'access', _370 => _370.current, 'optionalAccess', _371 => _371.moveNext, 'call', _372 => _372()]), []);
14074
- const previousStep = _react.useCallback.call(void 0, () => _optionalChain([driverRef, 'access', _373 => _373.current, 'optionalAccess', _374 => _374.movePrevious, 'call', _375 => _375()]), []);
14075
- const goToStep = _react.useCallback.call(void 0, (index) => _optionalChain([driverRef, 'access', _376 => _376.current, 'optionalAccess', _377 => _377.moveTo, 'call', _378 => _378(index)]), []);
14124
+ const nextStep = _react.useCallback.call(void 0, () => _optionalChain([driverRef, 'access', _372 => _372.current, 'optionalAccess', _373 => _373.moveNext, 'call', _374 => _374()]), []);
14125
+ const previousStep = _react.useCallback.call(void 0, () => _optionalChain([driverRef, 'access', _375 => _375.current, 'optionalAccess', _376 => _376.movePrevious, 'call', _377 => _377()]), []);
14126
+ const goToStep = _react.useCallback.call(void 0, (index) => _optionalChain([driverRef, 'access', _378 => _378.current, 'optionalAccess', _379 => _379.moveTo, 'call', _380 => _380(index)]), []);
14076
14127
  const startTour = _react.useCallback.call(void 0,
14077
14128
  (tourId, steps) => {
14078
14129
  if (typeof window === "undefined") return;
14079
14130
  if (driverRef.current) closeTour();
14080
- const tourSteps = _nullishCoalesce(steps, () => ( _optionalChain([tours, 'access', _379 => _379.find, 'call', _380 => _380((t) => t.id === tourId), 'optionalAccess', _381 => _381.steps])));
14131
+ const tourSteps = _nullishCoalesce(steps, () => ( _optionalChain([tours, 'access', _381 => _381.find, 'call', _382 => _382((t) => t.id === tourId), 'optionalAccess', _383 => _383.steps])));
14081
14132
  if (!tourSteps || tourSteps.length === 0) {
14082
14133
  console.warn(`No steps found for tour: ${tourId}`);
14083
14134
  return;
@@ -14095,12 +14146,12 @@ function OnboardingProvider({
14095
14146
  else instance2.movePrevious();
14096
14147
  if (driverRef.current === instance2 && !instance2.isActive()) teardown("dismissed");
14097
14148
  }, "go");
14098
- if (_optionalChain([target, 'optionalAccess', _382 => _382.showDelay])) setTimeout(go, target.showDelay);
14149
+ if (_optionalChain([target, 'optionalAccess', _384 => _384.showDelay])) setTimeout(go, target.showDelay);
14099
14150
  else go();
14100
14151
  }, "move");
14101
14152
  const end = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (reason) => {
14102
14153
  endReasonRef.current = reason;
14103
- _optionalChain([driverRef, 'access', _383 => _383.current, 'optionalAccess', _384 => _384.destroy, 'call', _385 => _385()]);
14154
+ _optionalChain([driverRef, 'access', _385 => _385.current, 'optionalAccess', _386 => _386.destroy, 'call', _387 => _387()]);
14104
14155
  teardown(reason);
14105
14156
  }, "end");
14106
14157
  const driveSteps = tourSteps.map((stepConfig, index) => {
@@ -14142,10 +14193,10 @@ function OnboardingProvider({
14142
14193
  onHighlightStarted: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
14143
14194
  setIsTourActive(true);
14144
14195
  setCurrentStepIndex(index);
14145
- _optionalChain([stepConfig, 'access', _386 => _386.onShow, 'optionalCall', _387 => _387()]);
14196
+ _optionalChain([stepConfig, 'access', _388 => _388.onShow, 'optionalCall', _389 => _389()]);
14146
14197
  }, "onHighlightStarted"),
14147
14198
  onDeselected: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
14148
- _optionalChain([stepConfig, 'access', _388 => _388.onHide, 'optionalCall', _389 => _389()]);
14199
+ _optionalChain([stepConfig, 'access', _390 => _390.onHide, 'optionalCall', _391 => _391()]);
14149
14200
  const root = rootsRef.current.get(index);
14150
14201
  if (root) {
14151
14202
  rootsRef.current.delete(index);
@@ -14173,7 +14224,7 @@ function OnboardingProvider({
14173
14224
  );
14174
14225
  _react.useEffect.call(void 0, () => {
14175
14226
  return () => {
14176
- _optionalChain([driverRef, 'access', _390 => _390.current, 'optionalAccess', _391 => _391.destroy, 'call', _392 => _392()]);
14227
+ _optionalChain([driverRef, 'access', _392 => _392.current, 'optionalAccess', _393 => _393.destroy, 'call', _394 => _394()]);
14177
14228
  cleanupRoots();
14178
14229
  };
14179
14230
  }, [cleanupRoots]);
@@ -14306,7 +14357,7 @@ function HowToMultiSelector({
14306
14357
  retriever: (params) => _chunkOO2DBP6Ljs.HowToService.findMany(params),
14307
14358
  module: _chunkA7Y5YW7Qjs.Modules.HowTo,
14308
14359
  getLabel: (howTo) => howTo.name,
14309
- excludeId: _optionalChain([currentHowTo, 'optionalAccess', _393 => _393.id]),
14360
+ excludeId: _optionalChain([currentHowTo, 'optionalAccess', _395 => _395.id]),
14310
14361
  onChange
14311
14362
  }
14312
14363
  );
@@ -14414,17 +14465,17 @@ function HowToEditorInternal({
14414
14465
  );
14415
14466
  const getDefaultValues = _react.useCallback.call(void 0,
14416
14467
  () => ({
14417
- id: _optionalChain([howTo, 'optionalAccess', _394 => _394.id]) || _uuid.v4.call(void 0, ),
14418
- name: _optionalChain([howTo, 'optionalAccess', _395 => _395.name]) || "",
14419
- description: _optionalChain([howTo, 'optionalAccess', _396 => _396.description]) || [],
14420
- pages: _chunkOO2DBP6Ljs.HowTo.parsePagesFromString(_optionalChain([howTo, 'optionalAccess', _397 => _397.pages])),
14421
- howToType: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _398 => _398.howToType]), () => ( "how-to")),
14422
- slug: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _399 => _399.slug]), () => ( "")),
14423
- order: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _400 => _400.order]), () => ( 0)),
14424
- summary: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _401 => _401.summary]), () => ( "")),
14425
- tags: (_nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _402 => _402.tags]), () => ( []))).join(", "),
14426
- contextualKeys: (_nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _403 => _403.contextualKeys]), () => ( []))).join(", "),
14427
- draft: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _404 => _404.draft]), () => ( false)),
14468
+ id: _optionalChain([howTo, 'optionalAccess', _396 => _396.id]) || _uuid.v4.call(void 0, ),
14469
+ name: _optionalChain([howTo, 'optionalAccess', _397 => _397.name]) || "",
14470
+ description: _optionalChain([howTo, 'optionalAccess', _398 => _398.description]) || [],
14471
+ pages: _chunkOO2DBP6Ljs.HowTo.parsePagesFromString(_optionalChain([howTo, 'optionalAccess', _399 => _399.pages])),
14472
+ howToType: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _400 => _400.howToType]), () => ( "how-to")),
14473
+ slug: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _401 => _401.slug]), () => ( "")),
14474
+ order: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _402 => _402.order]), () => ( 0)),
14475
+ summary: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _403 => _403.summary]), () => ( "")),
14476
+ tags: (_nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _404 => _404.tags]), () => ( []))).join(", "),
14477
+ contextualKeys: (_nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _405 => _405.contextualKeys]), () => ( []))).join(", "),
14478
+ draft: _nullishCoalesce(_optionalChain([howTo, 'optionalAccess', _406 => _406.draft]), () => ( false)),
14428
14479
  relatedArticles: []
14429
14480
  }),
14430
14481
  [howTo]
@@ -14435,7 +14486,7 @@ function HowToEditorInternal({
14435
14486
  });
14436
14487
  const initialRelatedIds = _react.useRef.call(void 0, []);
14437
14488
  _react.useEffect.call(void 0, () => {
14438
- if (!_optionalChain([howTo, 'optionalAccess', _405 => _405.howToType]) || !_optionalChain([howTo, 'optionalAccess', _406 => _406.slug])) return;
14489
+ if (!_optionalChain([howTo, 'optionalAccess', _407 => _407.howToType]) || !_optionalChain([howTo, 'optionalAccess', _408 => _408.slug])) return;
14439
14490
  let active = true;
14440
14491
  _chunkOO2DBP6Ljs.HowToService.findRelated({ howToType: howTo.howToType, slug: howTo.slug }).then((list) => {
14441
14492
  if (!active) return;
@@ -14474,7 +14525,7 @@ function HowToEditorInternal({
14474
14525
  {
14475
14526
  form,
14476
14527
  entityType: t(`entities.howtos`, { count: 1 }),
14477
- entityName: _optionalChain([howTo, 'optionalAccess', _407 => _407.name]),
14528
+ entityName: _optionalChain([howTo, 'optionalAccess', _409 => _409.name]),
14478
14529
  isEdit: !!howTo,
14479
14530
  module: _chunkA7Y5YW7Qjs.Modules.HowTo,
14480
14531
  propagateChanges,
@@ -14851,7 +14902,7 @@ function withPatchedTitle(source, title) {
14851
14902
  return _chunkOO2DBP6Ljs.rehydrate.call(void 0, _chunkA7Y5YW7Qjs.Modules.Assistant, {
14852
14903
  jsonApi: {
14853
14904
  ...dehydrated.jsonApi,
14854
- attributes: { ..._nullishCoalesce(_optionalChain([dehydrated, 'access', _408 => _408.jsonApi, 'optionalAccess', _409 => _409.attributes]), () => ( {})), title }
14905
+ attributes: { ..._nullishCoalesce(_optionalChain([dehydrated, 'access', _410 => _410.jsonApi, 'optionalAccess', _411 => _411.attributes]), () => ( {})), title }
14855
14906
  },
14856
14907
  included: dehydrated.included
14857
14908
  });
@@ -14886,7 +14937,7 @@ function AssistantProvider({
14886
14937
  const [status, setStatus] = _react.useState.call(void 0, void 0);
14887
14938
  const [failedMessageIds, setFailedMessageIds] = _react.useState.call(void 0, () => /* @__PURE__ */ new Set());
14888
14939
  const [operatorMode, setOperatorMode] = _react.useState.call(void 0,
14889
- () => _optionalChain([dehydratedAssistant, 'optionalAccess', _410 => _410.jsonApi, 'optionalAccess', _411 => _411.attributes, 'optionalAccess', _412 => _412.engine]) === "operator"
14940
+ () => _optionalChain([dehydratedAssistant, 'optionalAccess', _412 => _412.jsonApi, 'optionalAccess', _413 => _413.attributes, 'optionalAccess', _414 => _414.engine]) === "operator"
14890
14941
  );
14891
14942
  const [pendingScope, setPendingScope] = _react.useState.call(void 0, scope);
14892
14943
  const { socket } = useSocketContext();
@@ -14896,7 +14947,7 @@ function AssistantProvider({
14896
14947
  if (!trimmed) return;
14897
14948
  const optimistic = _chunkOO2DBP6Ljs.AssistantMessage.buildOptimistic({
14898
14949
  content: trimmed,
14899
- assistantId: _optionalChain([assistant, 'optionalAccess', _413 => _413.id]),
14950
+ assistantId: _optionalChain([assistant, 'optionalAccess', _415 => _415.id]),
14900
14951
  position: nextPosition(messages)
14901
14952
  });
14902
14953
  setMessages((prev) => [...prev, optimistic]);
@@ -14906,22 +14957,22 @@ function AssistantProvider({
14906
14957
  if (assistant && payload.assistantId && payload.assistantId !== assistant.id) return;
14907
14958
  if (typeof payload.status === "string") setStatus(payload.status);
14908
14959
  }, "handler");
14909
- _optionalChain([socket, 'optionalAccess', _414 => _414.on, 'call', _415 => _415("assistant:status", handler)]);
14960
+ _optionalChain([socket, 'optionalAccess', _416 => _416.on, 'call', _417 => _417("assistant:status", handler)]);
14910
14961
  let createdHandled = false;
14911
14962
  const createdHandler = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (payload) => {
14912
14963
  if (createdHandled) return;
14913
- const data = _optionalChain([payload, 'optionalAccess', _416 => _416.assistant, 'optionalAccess', _417 => _417.data]);
14964
+ const data = _optionalChain([payload, 'optionalAccess', _418 => _418.assistant, 'optionalAccess', _419 => _419.data]);
14914
14965
  if (!data || typeof data !== "object" || typeof data.id !== "string" || !data.id) return;
14915
14966
  let thread;
14916
14967
  try {
14917
14968
  thread = _chunkOO2DBP6Ljs.rehydrate.call(void 0, _chunkA7Y5YW7Qjs.Modules.Assistant, {
14918
14969
  jsonApi: data,
14919
- included: _nullishCoalesce(_optionalChain([payload, 'access', _418 => _418.assistant, 'optionalAccess', _419 => _419.included]), () => ( []))
14970
+ included: _nullishCoalesce(_optionalChain([payload, 'access', _420 => _420.assistant, 'optionalAccess', _421 => _421.included]), () => ( []))
14920
14971
  });
14921
14972
  } catch (e9) {
14922
14973
  return;
14923
14974
  }
14924
- if (!_optionalChain([thread, 'optionalAccess', _420 => _420.id])) return;
14975
+ if (!_optionalChain([thread, 'optionalAccess', _422 => _422.id])) return;
14925
14976
  createdHandled = true;
14926
14977
  setAssistant(thread);
14927
14978
  setThreads((prev) => [thread, ...prev.filter((row) => row.id !== thread.id)]);
@@ -14929,16 +14980,16 @@ function AssistantProvider({
14929
14980
  window.history.replaceState(null, "", resolveThreadUrl(thread.id));
14930
14981
  }
14931
14982
  }, "createdHandler");
14932
- if (!assistant) _optionalChain([socket, 'optionalAccess', _421 => _421.on, 'call', _422 => _422("assistant:created", createdHandler)]);
14983
+ if (!assistant) _optionalChain([socket, 'optionalAccess', _423 => _423.on, 'call', _424 => _424("assistant:created", createdHandler)]);
14933
14984
  try {
14934
14985
  if (!assistant) {
14935
14986
  const input = {
14936
14987
  firstMessage: trimmed,
14937
- howToMode: _optionalChain([opts, 'optionalAccess', _423 => _423.howToMode]),
14938
- limitToHowToId: _optionalChain([opts, 'optionalAccess', _424 => _424.limitToHowToId]),
14939
- handbookMode: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _425 => _425.handbookMode]), () => ( _optionalChain([retrievalMode, 'optionalAccess', _426 => _426.handbookMode]))),
14940
- limitToHandbookPageId: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _427 => _427.limitToHandbookPageId]), () => ( _optionalChain([retrievalMode, 'optionalAccess', _428 => _428.limitToHandbookPageId]))),
14941
- contentBlocks: _optionalChain([opts, 'optionalAccess', _429 => _429.contentBlocks]),
14988
+ howToMode: _optionalChain([opts, 'optionalAccess', _425 => _425.howToMode]),
14989
+ limitToHowToId: _optionalChain([opts, 'optionalAccess', _426 => _426.limitToHowToId]),
14990
+ handbookMode: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _427 => _427.handbookMode]), () => ( _optionalChain([retrievalMode, 'optionalAccess', _428 => _428.handbookMode]))),
14991
+ limitToHandbookPageId: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _429 => _429.limitToHandbookPageId]), () => ( _optionalChain([retrievalMode, 'optionalAccess', _430 => _430.limitToHandbookPageId]))),
14992
+ contentBlocks: _optionalChain([opts, 'optionalAccess', _431 => _431.contentBlocks]),
14942
14993
  boundContent: pendingScope
14943
14994
  };
14944
14995
  const created = operatorMode ? await _chunkOO2DBP6Ljs.AssistantService.createOperator(input) : await _chunkOO2DBP6Ljs.AssistantService.create(input);
@@ -14955,15 +15006,15 @@ function AssistantProvider({
14955
15006
  const result = operatorMode ? await _chunkOO2DBP6Ljs.AssistantService.appendMessageOperator({
14956
15007
  assistantId: assistant.id,
14957
15008
  content: trimmed,
14958
- contentBlocks: _optionalChain([opts, 'optionalAccess', _430 => _430.contentBlocks])
15009
+ contentBlocks: _optionalChain([opts, 'optionalAccess', _432 => _432.contentBlocks])
14959
15010
  }) : await _chunkOO2DBP6Ljs.AssistantService.appendMessage({
14960
15011
  assistantId: assistant.id,
14961
15012
  content: trimmed,
14962
- howToMode: _optionalChain([opts, 'optionalAccess', _431 => _431.howToMode]),
14963
- limitToHowToId: _optionalChain([opts, 'optionalAccess', _432 => _432.limitToHowToId]),
14964
- handbookMode: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _433 => _433.handbookMode]), () => ( _optionalChain([retrievalMode, 'optionalAccess', _434 => _434.handbookMode]))),
14965
- limitToHandbookPageId: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _435 => _435.limitToHandbookPageId]), () => ( _optionalChain([retrievalMode, 'optionalAccess', _436 => _436.limitToHandbookPageId]))),
14966
- contentBlocks: _optionalChain([opts, 'optionalAccess', _437 => _437.contentBlocks])
15013
+ howToMode: _optionalChain([opts, 'optionalAccess', _433 => _433.howToMode]),
15014
+ limitToHowToId: _optionalChain([opts, 'optionalAccess', _434 => _434.limitToHowToId]),
15015
+ handbookMode: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _435 => _435.handbookMode]), () => ( _optionalChain([retrievalMode, 'optionalAccess', _436 => _436.handbookMode]))),
15016
+ limitToHandbookPageId: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _437 => _437.limitToHandbookPageId]), () => ( _optionalChain([retrievalMode, 'optionalAccess', _438 => _438.limitToHandbookPageId]))),
15017
+ contentBlocks: _optionalChain([opts, 'optionalAccess', _439 => _439.contentBlocks])
14967
15018
  });
14968
15019
  setMessages((prev) => [...stripOptimistic(prev), ...result]);
14969
15020
  }
@@ -14974,8 +15025,8 @@ function AssistantProvider({
14974
15025
  return next;
14975
15026
  });
14976
15027
  } finally {
14977
- _optionalChain([socket, 'optionalAccess', _438 => _438.off, 'call', _439 => _439("assistant:status", handler)]);
14978
- if (!assistant) _optionalChain([socket, 'optionalAccess', _440 => _440.off, 'call', _441 => _441("assistant:created", createdHandler)]);
15028
+ _optionalChain([socket, 'optionalAccess', _440 => _440.off, 'call', _441 => _441("assistant:status", handler)]);
15029
+ if (!assistant) _optionalChain([socket, 'optionalAccess', _442 => _442.off, 'call', _443 => _443("assistant:created", createdHandler)]);
14979
15030
  setSending(false);
14980
15031
  setStatus(void 0);
14981
15032
  }
@@ -15041,7 +15092,7 @@ function AssistantProvider({
15041
15092
  await _chunkOO2DBP6Ljs.AssistantService.delete({ id });
15042
15093
  setThreads((prev) => prev.filter((t2) => t2.id !== id));
15043
15094
  setAssistant((prev) => {
15044
- if (_optionalChain([prev, 'optionalAccess', _442 => _442.id]) === id) {
15095
+ if (_optionalChain([prev, 'optionalAccess', _444 => _444.id]) === id) {
15045
15096
  setMessages([]);
15046
15097
  return void 0;
15047
15098
  }
@@ -15053,7 +15104,7 @@ function AssistantProvider({
15053
15104
  (async () => {
15054
15105
  setThreadsLoading(true);
15055
15106
  try {
15056
- const loaded = await _chunkOO2DBP6Ljs.AssistantService.findMany({ boundType: _optionalChain([scope, 'optionalAccess', _443 => _443.type]), boundId: _optionalChain([scope, 'optionalAccess', _444 => _444.id]) });
15107
+ const loaded = await _chunkOO2DBP6Ljs.AssistantService.findMany({ boundType: _optionalChain([scope, 'optionalAccess', _445 => _445.type]), boundId: _optionalChain([scope, 'optionalAccess', _446 => _446.id]) });
15057
15108
  if (!cancelled) setThreads(loaded);
15058
15109
  } finally {
15059
15110
  if (!cancelled) setThreadsLoading(false);
@@ -15062,7 +15113,7 @@ function AssistantProvider({
15062
15113
  return () => {
15063
15114
  cancelled = true;
15064
15115
  };
15065
- }, [_optionalChain([scope, 'optionalAccess', _445 => _445.type]), _optionalChain([scope, 'optionalAccess', _446 => _446.id])]);
15116
+ }, [_optionalChain([scope, 'optionalAccess', _447 => _447.type]), _optionalChain([scope, 'optionalAccess', _448 => _448.id])]);
15066
15117
  const value = _react.useMemo.call(void 0,
15067
15118
  () => ({
15068
15119
  assistant,
@@ -15114,7 +15165,7 @@ function AssistantProvider({
15114
15165
  const response = {
15115
15166
  type: _nullishCoalesce(titleOverride, () => ( t("entities.assistants", { count: assistant ? 1 : 2 })))
15116
15167
  };
15117
- if (_optionalChain([assistant, 'optionalAccess', _447 => _447.title])) {
15168
+ if (_optionalChain([assistant, 'optionalAccess', _449 => _449.title])) {
15118
15169
  response.element = assistant.title.length > 25 ? `${assistant.title.substring(0, 25)}...` : assistant.title;
15119
15170
  }
15120
15171
  response.functions = [
@@ -15277,10 +15328,10 @@ function readEntityTitle() {
15277
15328
  const title = document.title;
15278
15329
  if (title.includes("]")) {
15279
15330
  const afterEntityType = title.split("]")[1];
15280
- return _optionalChain([afterEntityType, 'optionalAccess', _448 => _448.split, 'call', _449 => _449("|"), 'access', _450 => _450[0], 'optionalAccess', _451 => _451.trim, 'call', _452 => _452()]) || null;
15331
+ return _optionalChain([afterEntityType, 'optionalAccess', _450 => _450.split, 'call', _451 => _451("|"), 'access', _452 => _452[0], 'optionalAccess', _453 => _453.trim, 'call', _454 => _454()]) || null;
15281
15332
  }
15282
15333
  if (!title.includes("|")) return null;
15283
- return _optionalChain([title, 'access', _453 => _453.split, 'call', _454 => _454("|"), 'access', _455 => _455[0], 'access', _456 => _456.split, 'call', _457 => _457("\xB7"), 'access', _458 => _458[0], 'optionalAccess', _459 => _459.trim, 'call', _460 => _460()]) || null;
15334
+ return _optionalChain([title, 'access', _455 => _455.split, 'call', _456 => _456("|"), 'access', _457 => _457[0], 'access', _458 => _458.split, 'call', _459 => _459("\xB7"), 'access', _460 => _460[0], 'optionalAccess', _461 => _461.trim, 'call', _462 => _462()]) || null;
15284
15335
  }
15285
15336
  _chunk7QVYU63Ejs.__name.call(void 0, readEntityTitle, "readEntityTitle");
15286
15337
  function usePageTracker() {
@@ -15309,7 +15360,7 @@ function usePageTracker() {
15309
15360
  const existing = prev.find((page) => page.url === baseUrl);
15310
15361
  const refreshed = {
15311
15362
  url: baseUrl,
15312
- title: _nullishCoalesce(_optionalChain([existing, 'optionalAccess', _461 => _461.title]), () => ( foundModule.name)),
15363
+ title: _nullishCoalesce(_optionalChain([existing, 'optionalAccess', _463 => _463.title]), () => ( foundModule.name)),
15313
15364
  moduleType: foundModule.name,
15314
15365
  timestamp: Date.now()
15315
15366
  };
@@ -15367,7 +15418,7 @@ function urlBase64ToUint8Array(base64String) {
15367
15418
  _chunk7QVYU63Ejs.__name.call(void 0, urlBase64ToUint8Array, "urlBase64ToUint8Array");
15368
15419
  function usePushNotifications(params) {
15369
15420
  const { currentUser, canSubscribe } = params;
15370
- const userId = _optionalChain([currentUser, 'optionalAccess', _462 => _462.id]);
15421
+ const userId = _optionalChain([currentUser, 'optionalAccess', _464 => _464.id]);
15371
15422
  _react.useEffect.call(void 0, () => {
15372
15423
  if (!userId || !canSubscribe) return;
15373
15424
  const register = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async () => {
@@ -15417,7 +15468,7 @@ function usePushNotifications(params) {
15417
15468
  if (!("serviceWorker" in navigator)) return;
15418
15469
  const sessionKey = `push_registered_${userId}`;
15419
15470
  const onMessage = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (event) => {
15420
- if (_optionalChain([event, 'access', _463 => _463.data, 'optionalAccess', _464 => _464.type]) !== "PUSH_RESUBSCRIBED" || !event.data.subscription) return;
15471
+ if (_optionalChain([event, 'access', _465 => _465.data, 'optionalAccess', _466 => _466.type]) !== "PUSH_RESUBSCRIBED" || !event.data.subscription) return;
15421
15472
  const subscription = event.data.subscription;
15422
15473
  const subscriptionHash = btoa(JSON.stringify(subscription));
15423
15474
  if (sessionStorage.getItem(sessionKey) === subscriptionHash) return;
@@ -15500,14 +15551,14 @@ function useSocket({ token, paused = false }) {
15500
15551
  });
15501
15552
  }, "handleMessage");
15502
15553
  const handleNotification = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (data) => {
15503
- const resource = _nullishCoalesce(_optionalChain([data, 'optionalAccess', _465 => _465.data]), () => ( _optionalChain([data, 'optionalAccess', _466 => _466.jsonApi])));
15504
- if (!_optionalChain([resource, 'optionalAccess', _467 => _467.type])) {
15554
+ const resource = _nullishCoalesce(_optionalChain([data, 'optionalAccess', _467 => _467.data]), () => ( _optionalChain([data, 'optionalAccess', _468 => _468.jsonApi])));
15555
+ if (!_optionalChain([resource, 'optionalAccess', _469 => _469.type])) {
15505
15556
  console.warn("[useSocket] ignoring notification with unexpected payload shape", data);
15506
15557
  return;
15507
15558
  }
15508
15559
  const notification = _chunkOO2DBP6Ljs.rehydrate.call(void 0, _chunkA7Y5YW7Qjs.Modules.Notification, {
15509
15560
  jsonApi: resource,
15510
- included: _optionalChain([data, 'optionalAccess', _468 => _468.included]) || []
15561
+ included: _optionalChain([data, 'optionalAccess', _470 => _470.included]) || []
15511
15562
  });
15512
15563
  if (notification) {
15513
15564
  setSocketNotifications((prev) => {
@@ -15645,11 +15696,11 @@ function BreadcrumbMobile({
15645
15696
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Breadcrumb, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreadcrumbList, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreadcrumbItem, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Link, { href: generateUrl({ page: `/` }), children: rootLabel }) }) }) });
15646
15697
  }
15647
15698
  if (allItems.length <= 1) {
15648
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-foreground block min-w-0 truncate px-1.5 text-xs/relaxed font-normal", children: _optionalChain([lastItem, 'optionalAccess', _469 => _469.name]) });
15699
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-foreground block min-w-0 truncate px-1.5 text-xs/relaxed font-normal", children: _optionalChain([lastItem, 'optionalAccess', _471 => _471.name]) });
15649
15700
  }
15650
15701
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DropdownMenu, { open, onOpenChange: setOpen, children: [
15651
15702
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DropdownMenuTrigger, { className: "text-foreground text-xs/relaxed font-normal hover:bg-accent flex min-h-9 min-w-0 items-center gap-1 rounded-md px-1.5 py-0.5 transition-colors outline-none", children: [
15652
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: _optionalChain([lastItem, 'optionalAccess', _470 => _470.name]) }),
15703
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: _optionalChain([lastItem, 'optionalAccess', _472 => _472.name]) }),
15653
15704
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronDownIcon, { className: "text-muted-foreground size-3.5 shrink-0" })
15654
15705
  ] }),
15655
15706
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DropdownMenuContent, { align: "start", children: allItems.map(
@@ -15667,8 +15718,8 @@ function BreadcrumbMobile({
15667
15718
  href: item.href,
15668
15719
  className: _chunkOO2DBP6Ljs.cn.call(void 0, props.className, "text-foreground font-normal"),
15669
15720
  onClick: (event) => {
15670
- _optionalChain([props, 'access', _471 => _471.onClick, 'optionalCall', _472 => _472(event)]);
15671
- _optionalChain([item, 'access', _473 => _473.onClick, 'optionalCall', _474 => _474()]);
15721
+ _optionalChain([props, 'access', _473 => _473.onClick, 'optionalCall', _474 => _474(event)]);
15722
+ _optionalChain([item, 'access', _475 => _475.onClick, 'optionalCall', _476 => _476()]);
15672
15723
  },
15673
15724
  children: props.children
15674
15725
  }
@@ -15686,7 +15737,7 @@ function BreadcrumbNavigation({ items, rootLabel, showRoot = true }) {
15686
15737
  const generateUrl = usePageUrlGenerator();
15687
15738
  const t = _nextintl.useTranslations.call(void 0, );
15688
15739
  const isMobile = _chunkOO2DBP6Ljs.useIsMobile.call(void 0, );
15689
- const root = _optionalChain([rootLabel, 'optionalAccess', _475 => _475.trim, 'call', _476 => _476()]) ? rootLabel : t(`common.home`);
15740
+ const root = _optionalChain([rootLabel, 'optionalAccess', _477 => _477.trim, 'call', _478 => _478()]) ? rootLabel : t(`common.home`);
15690
15741
  if (isMobile) {
15691
15742
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BreadcrumbMobile, { items, generateUrl, rootLabel: root, showRoot });
15692
15743
  }
@@ -16093,12 +16144,12 @@ var _remarkgfm = require('remark-gfm'); var _remarkgfm2 = _interopRequireDefault
16093
16144
 
16094
16145
  function mermaidSourceOf(node) {
16095
16146
  const pre = node;
16096
- const code = _optionalChain([pre, 'optionalAccess', _477 => _477.children, 'optionalAccess', _478 => _478[0]]);
16097
- if (_optionalChain([code, 'optionalAccess', _479 => _479.tagName]) !== "code") return void 0;
16098
- const classNames = Array.isArray(_optionalChain([code, 'access', _480 => _480.properties, 'optionalAccess', _481 => _481.className])) ? code.properties.className : [];
16147
+ const code = _optionalChain([pre, 'optionalAccess', _479 => _479.children, 'optionalAccess', _480 => _480[0]]);
16148
+ if (_optionalChain([code, 'optionalAccess', _481 => _481.tagName]) !== "code") return void 0;
16149
+ const classNames = Array.isArray(_optionalChain([code, 'access', _482 => _482.properties, 'optionalAccess', _483 => _483.className])) ? code.properties.className : [];
16099
16150
  if (!classNames.includes("language-mermaid")) return void 0;
16100
- const text = _optionalChain([code, 'access', _482 => _482.children, 'optionalAccess', _483 => _483[0]]);
16101
- if (_optionalChain([text, 'optionalAccess', _484 => _484.type]) !== "text" || typeof text.value !== "string") return void 0;
16151
+ const text = _optionalChain([code, 'access', _484 => _484.children, 'optionalAccess', _485 => _485[0]]);
16152
+ if (_optionalChain([text, 'optionalAccess', _486 => _486.type]) !== "text" || typeof text.value !== "string") return void 0;
16102
16153
  return text.value;
16103
16154
  }
16104
16155
  _chunk7QVYU63Ejs.__name.call(void 0, mermaidSourceOf, "mermaidSourceOf");
@@ -16355,7 +16406,7 @@ var railTriggerClass = _chunkOO2DBP6Ljs.cn.call(void 0,
16355
16406
  "data-active:text-primary dark:data-active:text-primary",
16356
16407
  "data-active:font-medium data-active:shadow-none"
16357
16408
  );
16358
- var tabValue = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (tab) => _nullishCoalesce(_nullishCoalesce(tab.sectionKey, () => ( _optionalChain([tab, 'access', _485 => _485.key, 'optionalAccess', _486 => _486.name]))), () => ( tab.label)), "tabValue");
16409
+ var tabValue = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (tab) => _nullishCoalesce(_nullishCoalesce(tab.sectionKey, () => ( _optionalChain([tab, 'access', _487 => _487.key, 'optionalAccess', _488 => _488.name]))), () => ( tab.label)), "tabValue");
16359
16410
  function RoundPageContainer({
16360
16411
  module,
16361
16412
  id,
@@ -16387,7 +16438,7 @@ function RoundPageContainer({
16387
16438
  const [mounted, setMounted] = _react.useState.call(void 0, false);
16388
16439
  _react.useEffect.call(void 0, () => {
16389
16440
  const match = document.cookie.split("; ").find((row) => row.startsWith(`${detailsCookieName}=`));
16390
- const stored = _optionalChain([match, 'optionalAccess', _487 => _487.split, 'call', _488 => _488("="), 'access', _489 => _489[1]]);
16441
+ const stored = _optionalChain([match, 'optionalAccess', _489 => _489.split, 'call', _490 => _490("="), 'access', _491 => _491[1]]);
16391
16442
  if (stored === "true") setShowDetailsState(true);
16392
16443
  else if (stored === "false") setShowDetailsState(false);
16393
16444
  }, []);
@@ -16402,7 +16453,7 @@ function RoundPageContainer({
16402
16453
  const clip = isFixed ? `overflow-hidden` : ``;
16403
16454
  const scrollY = isFixed ? `overflow-y-auto` : ``;
16404
16455
  const mobileBarClass = isFixed ? `` : `sticky bottom-0 z-30`;
16405
- const detailsCookieName = _optionalChain([module, 'optionalAccess', _490 => _490.name]) ? `${DETAILS_COOKIE_NAME}_${module.name}` : DETAILS_COOKIE_NAME;
16456
+ const detailsCookieName = _optionalChain([module, 'optionalAccess', _492 => _492.name]) ? `${DETAILS_COOKIE_NAME}_${module.name}` : DETAILS_COOKIE_NAME;
16406
16457
  const setShowDetails = _react.useCallback.call(void 0,
16407
16458
  (value) => {
16408
16459
  setShowDetailsState(value);
@@ -16435,13 +16486,13 @@ function RoundPageContainer({
16435
16486
  } else {
16436
16487
  rewriteUrl({ page: window.location.pathname, additionalParameters: { section: key }, mode: "push" });
16437
16488
  }
16438
- _optionalChain([onSectionChange, 'optionalCall', _491 => _491(key)]);
16489
+ _optionalChain([onSectionChange, 'optionalCall', _493 => _493(key)]);
16439
16490
  },
16440
16491
  [module, id, rewriteUrl, onSectionChange]
16441
16492
  );
16442
- const activeTabDefinition = _optionalChain([tabs, 'optionalAccess', _492 => _492.find, 'call', _493 => _493((t2) => tabValue(t2) === activeTab)]);
16443
- const activeFillHeight = _optionalChain([activeTabDefinition, 'optionalAccess', _494 => _494.fillHeight]) === true;
16444
- const activeConstrainWidth = _optionalChain([activeTabDefinition, 'optionalAccess', _495 => _495.constrainWidth]) === true;
16493
+ const activeTabDefinition = _optionalChain([tabs, 'optionalAccess', _494 => _494.find, 'call', _495 => _495((t2) => tabValue(t2) === activeTab)]);
16494
+ const activeFillHeight = _optionalChain([activeTabDefinition, 'optionalAccess', _496 => _496.fillHeight]) === true;
16495
+ const activeConstrainWidth = _optionalChain([activeTabDefinition, 'optionalAccess', _497 => _497.constrainWidth]) === true;
16445
16496
  const { ungrouped, groups } = _react.useMemo.call(void 0, () => partitionTabs(_nullishCoalesce(tabs, () => ( []))), [tabs]);
16446
16497
  const tabItems = _react.useMemo.call(void 0,
16447
16498
  () => Object.fromEntries((_nullishCoalesce(tabs, () => ( []))).map((tab) => [tabValue(tab), _nullishCoalesce(tab.contentLabel, () => ( tab.label))])),
@@ -16452,7 +16503,7 @@ function RoundPageContainer({
16452
16503
  const mobileFlow = isMobile && isFixed && (!activeFillHeight || activeDocumentTab) && !fullWidth;
16453
16504
  const innerClip = mobileFlow ? `` : clip;
16454
16505
  const innerScrollY = mobileFlow ? `` : scrollY;
16455
- const showMobileSectionPicker = (_nullishCoalesce(_optionalChain([tabs, 'optionalAccess', _496 => _496.length]), () => ( 0))) > 1;
16506
+ const showMobileSectionPicker = (_nullishCoalesce(_optionalChain([tabs, 'optionalAccess', _498 => _498.length]), () => ( 0))) > 1;
16456
16507
  if (!isReady) {
16457
16508
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
16458
16509
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -16852,14 +16903,14 @@ function BlockNoteEditorMentionHoverCard({
16852
16903
  const entityType = target.dataset.mentionType;
16853
16904
  const alias = target.dataset.mentionAlias;
16854
16905
  setHovered((prev) => {
16855
- if (_optionalChain([prev, 'optionalAccess', _497 => _497.id]) === id && _optionalChain([prev, 'optionalAccess', _498 => _498.element]) === target) return prev;
16906
+ if (_optionalChain([prev, 'optionalAccess', _499 => _499.id]) === id && _optionalChain([prev, 'optionalAccess', _500 => _500.element]) === target) return prev;
16856
16907
  return { id, entityType, alias, element: target };
16857
16908
  });
16858
16909
  }, "handleMouseOver");
16859
16910
  const handleMouseOut = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (e) => {
16860
16911
  const target = e.target.closest("[data-mention-id]");
16861
16912
  if (!target) return;
16862
- const related = _optionalChain([e, 'access', _499 => _499.relatedTarget, 'optionalAccess', _500 => _500.closest, 'call', _501 => _501("[data-mention-id]")]);
16913
+ const related = _optionalChain([e, 'access', _501 => _501.relatedTarget, 'optionalAccess', _502 => _502.closest, 'call', _503 => _503("[data-mention-id]")]);
16863
16914
  if (related) return;
16864
16915
  scheduleClose();
16865
16916
  }, "handleMouseOut");
@@ -16873,7 +16924,7 @@ function BlockNoteEditorMentionHoverCard({
16873
16924
  }, [containerRef, mentionResolveFn, cancelClose, scheduleClose]);
16874
16925
  if (!hovered || !mentionResolveFn) return null;
16875
16926
  const resolved = mentionResolveFn(hovered.id, hovered.entityType, hovered.alias);
16876
- if (!_optionalChain([resolved, 'optionalAccess', _502 => _502.HoverContent])) return null;
16927
+ if (!_optionalChain([resolved, 'optionalAccess', _504 => _504.HoverContent])) return null;
16877
16928
  const ContentComponent = resolved.HoverContent;
16878
16929
  const rect = hovered.element.getBoundingClientRect();
16879
16930
  return _reactdom.createPortal.call(void 0,
@@ -16917,28 +16968,28 @@ var parseMentionElement = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (
16917
16968
  }, "parseMentionElement");
16918
16969
  var createMentionInlineContentSpec = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (resolveFn, disableMention, nameResolver) => {
16919
16970
  const MentionExternalHTML = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (props) => {
16920
- const displayName = _nullishCoalesce(_optionalChain([nameResolver, 'optionalCall', _503 => _503(props.id, props.entityType, props.alias)]), () => ( props.alias));
16971
+ const displayName = _nullishCoalesce(_optionalChain([nameResolver, 'optionalCall', _505 => _505(props.id, props.entityType, props.alias)]), () => ( props.alias));
16921
16972
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { "data-mention-id": props.id, "data-mention-type": props.entityType, "data-mention-alias": props.alias, children: [
16922
16973
  "@",
16923
16974
  displayName
16924
16975
  ] });
16925
16976
  }, "MentionExternalHTML");
16926
16977
  const Mention = React2.default.memo(/* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, function Mention2(props) {
16927
- const displayName = _nullishCoalesce(_optionalChain([nameResolver, 'optionalCall', _504 => _504(props.id, props.entityType, props.alias)]), () => ( props.alias));
16978
+ const displayName = _nullishCoalesce(_optionalChain([nameResolver, 'optionalCall', _506 => _506(props.id, props.entityType, props.alias)]), () => ( props.alias));
16928
16979
  if (disableMention) {
16929
- const resolved2 = _optionalChain([resolveFn, 'optionalCall', _505 => _505(props.id, props.entityType, displayName)]);
16930
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _link2.default, { href: _nullishCoalesce(_optionalChain([resolved2, 'optionalAccess', _506 => _506.url]), () => ( "#")), className: "text-primary", children: [
16980
+ const resolved2 = _optionalChain([resolveFn, 'optionalCall', _507 => _507(props.id, props.entityType, displayName)]);
16981
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _link2.default, { href: _nullishCoalesce(_optionalChain([resolved2, 'optionalAccess', _508 => _508.url]), () => ( "#")), className: "text-primary", children: [
16931
16982
  "@",
16932
16983
  displayName
16933
16984
  ] });
16934
16985
  }
16935
- const resolved = _optionalChain([resolveFn, 'optionalCall', _507 => _507(props.id, props.entityType, displayName)]);
16936
- if (_optionalChain([resolved, 'optionalAccess', _508 => _508.Inline])) {
16986
+ const resolved = _optionalChain([resolveFn, 'optionalCall', _509 => _509(props.id, props.entityType, displayName)]);
16987
+ if (_optionalChain([resolved, 'optionalAccess', _510 => _510.Inline])) {
16937
16988
  const Custom = resolved.Inline;
16938
16989
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Custom, { ...props, alias: displayName });
16939
16990
  }
16940
- const href = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _509 => _509.url]), () => ( "#"));
16941
- const handleClick = _optionalChain([resolved, 'optionalAccess', _510 => _510.onActivate]) ? (e) => resolved.onActivate(e, props) : void 0;
16991
+ const href = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _511 => _511.url]), () => ( "#"));
16992
+ const handleClick = _optionalChain([resolved, 'optionalAccess', _512 => _512.onActivate]) ? (e) => resolved.onActivate(e, props) : void 0;
16942
16993
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
16943
16994
  _link2.default,
16944
16995
  {
@@ -17046,7 +17097,7 @@ function BlockNoteEditorMentionSuggestionMenu({
17046
17097
  if (!suggestionMenuComponent) return void 0;
17047
17098
  const Component2 = suggestionMenuComponent;
17048
17099
  const Wrapped = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (props) => {
17049
- const isSentinelOnly = props.items.length === 1 && _optionalChain([props, 'access', _511 => _511.items, 'access', _512 => _512[0], 'optionalAccess', _513 => _513.title]) === KEEP_OPEN_SENTINEL_TITLE;
17100
+ const isSentinelOnly = props.items.length === 1 && _optionalChain([props, 'access', _513 => _513.items, 'access', _514 => _514[0], 'optionalAccess', _515 => _515.title]) === KEEP_OPEN_SENTINEL_TITLE;
17050
17101
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17051
17102
  Component2,
17052
17103
  {
@@ -17055,7 +17106,7 @@ function BlockNoteEditorMentionSuggestionMenu({
17055
17106
  selectedIndex: isSentinelOnly ? void 0 : props.selectedIndex,
17056
17107
  onItemClick: (item) => {
17057
17108
  if (item.title === KEEP_OPEN_SENTINEL_TITLE) return;
17058
- _optionalChain([props, 'access', _514 => _514.onItemClick, 'optionalCall', _515 => _515(item)]);
17109
+ _optionalChain([props, 'access', _516 => _516.onItemClick, 'optionalCall', _517 => _517(item)]);
17059
17110
  }
17060
17111
  }
17061
17112
  );
@@ -17302,10 +17353,10 @@ var cellId = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => {
17302
17353
  cell: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ row }) => params.toggleId ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17303
17354
  SelectRowCheckbox,
17304
17355
  {
17305
- checked: _optionalChain([params, 'access', _516 => _516.checkedIds, 'optionalAccess', _517 => _517.includes, 'call', _518 => _518(row.getValue(params.name))]) || false,
17356
+ checked: _optionalChain([params, 'access', _518 => _518.checkedIds, 'optionalAccess', _519 => _519.includes, 'call', _520 => _520(row.getValue(params.name))]) || false,
17306
17357
  onCheckedChange: (value) => {
17307
17358
  row.toggleSelected(!!value);
17308
- _optionalChain([params, 'access', _519 => _519.toggleId, 'optionalCall', _520 => _520(row.getValue(params.name))]);
17359
+ _optionalChain([params, 'access', _521 => _521.toggleId, 'optionalCall', _522 => _522(row.getValue(params.name))]);
17309
17360
  }
17310
17361
  }
17311
17362
  ) : null, "cell"),
@@ -17363,7 +17414,7 @@ function useJsonApiGet(params) {
17363
17414
  const [response, setResponse] = _react.useState.call(void 0, null);
17364
17415
  const isMounted = _react.useRef.call(void 0, true);
17365
17416
  const fetchData = _react.useCallback.call(void 0, async () => {
17366
- if (_optionalChain([params, 'access', _521 => _521.options, 'optionalAccess', _522 => _522.enabled]) === false) return;
17417
+ if (_optionalChain([params, 'access', _523 => _523.options, 'optionalAccess', _524 => _524.enabled]) === false) return;
17367
17418
  setLoading(true);
17368
17419
  setError(null);
17369
17420
  try {
@@ -17390,9 +17441,9 @@ function useJsonApiGet(params) {
17390
17441
  setLoading(false);
17391
17442
  }
17392
17443
  }
17393
- }, [params.classKey, params.endpoint, params.companyId, _optionalChain([params, 'access', _523 => _523.options, 'optionalAccess', _524 => _524.enabled])]);
17444
+ }, [params.classKey, params.endpoint, params.companyId, _optionalChain([params, 'access', _525 => _525.options, 'optionalAccess', _526 => _526.enabled])]);
17394
17445
  const fetchNextPage = _react.useCallback.call(void 0, async () => {
17395
- if (!_optionalChain([response, 'optionalAccess', _525 => _525.nextPage])) return;
17446
+ if (!_optionalChain([response, 'optionalAccess', _527 => _527.nextPage])) return;
17396
17447
  setLoading(true);
17397
17448
  try {
17398
17449
  const nextResponse = await response.nextPage();
@@ -17413,7 +17464,7 @@ function useJsonApiGet(params) {
17413
17464
  }
17414
17465
  }, [response]);
17415
17466
  const fetchPreviousPage = _react.useCallback.call(void 0, async () => {
17416
- if (!_optionalChain([response, 'optionalAccess', _526 => _526.prevPage])) return;
17467
+ if (!_optionalChain([response, 'optionalAccess', _528 => _528.prevPage])) return;
17417
17468
  setLoading(true);
17418
17469
  try {
17419
17470
  const prevResponse = await response.prevPage();
@@ -17439,15 +17490,15 @@ function useJsonApiGet(params) {
17439
17490
  return () => {
17440
17491
  isMounted.current = false;
17441
17492
  };
17442
- }, [fetchData, ..._optionalChain([params, 'access', _527 => _527.options, 'optionalAccess', _528 => _528.deps]) || []]);
17493
+ }, [fetchData, ..._optionalChain([params, 'access', _529 => _529.options, 'optionalAccess', _530 => _530.deps]) || []]);
17443
17494
  return {
17444
17495
  data,
17445
17496
  loading,
17446
17497
  error,
17447
17498
  response,
17448
17499
  refetch: fetchData,
17449
- hasNextPage: !!_optionalChain([response, 'optionalAccess', _529 => _529.next]),
17450
- hasPreviousPage: !!_optionalChain([response, 'optionalAccess', _530 => _530.prev]),
17500
+ hasNextPage: !!_optionalChain([response, 'optionalAccess', _531 => _531.next]),
17501
+ hasPreviousPage: !!_optionalChain([response, 'optionalAccess', _532 => _532.prev]),
17451
17502
  fetchNextPage,
17452
17503
  fetchPreviousPage
17453
17504
  };
@@ -17525,17 +17576,17 @@ function useJsonApiMutation(config) {
17525
17576
  if (apiResponse.ok) {
17526
17577
  const resultData = apiResponse.data;
17527
17578
  setData(resultData);
17528
- _optionalChain([config, 'access', _531 => _531.onSuccess, 'optionalCall', _532 => _532(resultData)]);
17579
+ _optionalChain([config, 'access', _533 => _533.onSuccess, 'optionalCall', _534 => _534(resultData)]);
17529
17580
  return resultData;
17530
17581
  } else {
17531
17582
  setError(apiResponse.error);
17532
- _optionalChain([config, 'access', _533 => _533.onError, 'optionalCall', _534 => _534(apiResponse.error)]);
17583
+ _optionalChain([config, 'access', _535 => _535.onError, 'optionalCall', _536 => _536(apiResponse.error)]);
17533
17584
  return null;
17534
17585
  }
17535
17586
  } catch (err) {
17536
17587
  const errorMessage = err instanceof Error ? err.message : "Unknown error";
17537
17588
  setError(errorMessage);
17538
- _optionalChain([config, 'access', _535 => _535.onError, 'optionalCall', _536 => _536(errorMessage)]);
17589
+ _optionalChain([config, 'access', _537 => _537.onError, 'optionalCall', _538 => _538(errorMessage)]);
17539
17590
  return null;
17540
17591
  } finally {
17541
17592
  setLoading(false);
@@ -17608,7 +17659,7 @@ var useCompanyTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
17608
17659
  {
17609
17660
  href: hasRole(_chunkG4JR3SFVjs.getRoleId.call(void 0, ).Administrator) ? generateUrl({
17610
17661
  page: "/administration",
17611
- id: _optionalChain([_chunkA7Y5YW7Qjs.Modules, 'access', _537 => _537.Company, 'access', _538 => _538.pageUrl, 'optionalAccess', _539 => _539.substring, 'call', _540 => _540(1)]),
17662
+ id: _optionalChain([_chunkA7Y5YW7Qjs.Modules, 'access', _539 => _539.Company, 'access', _540 => _540.pageUrl, 'optionalAccess', _541 => _541.substring, 'call', _542 => _542(1)]),
17612
17663
  childPage: company.id
17613
17664
  }) : generateUrl({ page: _chunkA7Y5YW7Qjs.Modules.Company, id: company.id }),
17614
17665
  children: row.getValue("name")
@@ -17624,7 +17675,7 @@ var useCompanyTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
17624
17675
  })
17625
17676
  };
17626
17677
  const columns = _react.useMemo.call(void 0, () => {
17627
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _541 => _541[field], 'optionalCall', _542 => _542()])).filter((col) => col !== void 0);
17678
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _543 => _543[field], 'optionalCall', _544 => _544()])).filter((col) => col !== void 0);
17628
17679
  }, [params.fields, fieldColumnMap, t, generateUrl, hasRole]);
17629
17680
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
17630
17681
  }, "useCompanyTableStructure");
@@ -17637,7 +17688,7 @@ var DAY_MS = 1e3 * 60 * 60 * 24;
17637
17688
  var isAdministrator = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (currentUser) => {
17638
17689
  if (!currentUser || !_chunkG4JR3SFVjs.isRolesConfigured.call(void 0, )) return false;
17639
17690
  const adminRoleId = _chunkG4JR3SFVjs.getRoleId.call(void 0, ).Administrator;
17640
- return !!_optionalChain([currentUser, 'access', _543 => _543.roles, 'optionalAccess', _544 => _544.some, 'call', _545 => _545((role) => role.id === adminRoleId)]);
17691
+ return !!_optionalChain([currentUser, 'access', _545 => _545.roles, 'optionalAccess', _546 => _546.some, 'call', _547 => _547((role) => role.id === adminRoleId)]);
17641
17692
  }, "isAdministrator");
17642
17693
  function useSubscriptionStatus() {
17643
17694
  const { company, currentUser } = useCurrentUserContext();
@@ -17754,7 +17805,7 @@ var useRoleTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0,
17754
17805
  })
17755
17806
  };
17756
17807
  const columns = _react.useMemo.call(void 0, () => {
17757
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _546 => _546[field], 'optionalCall', _547 => _547()])).filter((col) => col !== void 0);
17808
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _548 => _548[field], 'optionalCall', _549 => _549()])).filter((col) => col !== void 0);
17758
17809
  }, [params.fields, fieldColumnMap, t, generateUrl]);
17759
17810
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
17760
17811
  }, "useRoleTableStructure");
@@ -17794,12 +17845,12 @@ _chunk7QVYU63Ejs.__name.call(void 0, useBillingFormatOptions, "useBillingFormatO
17794
17845
 
17795
17846
  // src/features/billing/components/utils/discount.ts
17796
17847
  function promotionCodeDiscount(code) {
17797
- if (!_optionalChain([code, 'optionalAccess', _548 => _548.valid]) || !code.discountType || !code.discountValue) return null;
17848
+ if (!_optionalChain([code, 'optionalAccess', _550 => _550.valid]) || !code.discountType || !code.discountValue) return null;
17798
17849
  return { discountType: code.discountType, discountValue: code.discountValue, currency: code.currency };
17799
17850
  }
17800
17851
  _chunk7QVYU63Ejs.__name.call(void 0, promotionCodeDiscount, "promotionCodeDiscount");
17801
17852
  function subscriptionDiscount(subscription) {
17802
- const discount = _optionalChain([subscription, 'optionalAccess', _549 => _549.discount]);
17853
+ const discount = _optionalChain([subscription, 'optionalAccess', _551 => _551.discount]);
17803
17854
  if (!discount) return null;
17804
17855
  if (discount.percentOff) return { discountType: "percent_off", discountValue: discount.percentOff };
17805
17856
  if (discount.amountOff) {
@@ -17821,8 +17872,8 @@ var useStripePriceTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(
17821
17872
  const t = _nextintl.useTranslations.call(void 0, );
17822
17873
  const fmt = useBillingFormatOptions();
17823
17874
  const generateUrl = usePageUrlGenerator();
17824
- const onClone = _optionalChain([params, 'access', _550 => _550.context, 'optionalAccess', _551 => _551.onClone]);
17825
- const onExport = _optionalChain([params, 'access', _552 => _552.context, 'optionalAccess', _553 => _553.onExport]);
17875
+ const onClone = _optionalChain([params, 'access', _552 => _552.context, 'optionalAccess', _553 => _553.onClone]);
17876
+ const onExport = _optionalChain([params, 'access', _554 => _554.context, 'optionalAccess', _555 => _555.onExport]);
17826
17877
  const tableData = _react.useMemo.call(void 0, () => {
17827
17878
  return params.data.map((price) => {
17828
17879
  const entry = { jsonApiData: price };
@@ -17887,7 +17938,7 @@ var useStripePriceTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(
17887
17938
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex flex-wrap items-center gap-1", children: [
17888
17939
  price.active ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Badge, { variant: "softGreen", children: t("billing.admin.prices.status.active") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Badge, { variant: "softGray", children: t("billing.admin.prices.status.archived") }),
17889
17940
  price.isTrial && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Badge, { variant: "softBlue", children: t("billing.admin.prices.badge.trial") }),
17890
- _optionalChain([price, 'access', _554 => _554.recurring, 'optionalAccess', _555 => _555.usageType]) === "metered" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Badge, { variant: "softBlue", children: t("billing.admin.prices.badge.metered") })
17941
+ _optionalChain([price, 'access', _556 => _556.recurring, 'optionalAccess', _557 => _557.usageType]) === "metered" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Badge, { variant: "softBlue", children: t("billing.admin.prices.badge.metered") })
17891
17942
  ] });
17892
17943
  }, "cell"),
17893
17944
  enableSorting: false,
@@ -17935,7 +17986,7 @@ var useStripePriceTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(
17935
17986
  })
17936
17987
  };
17937
17988
  const columns = _react.useMemo.call(void 0, () => {
17938
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _556 => _556[field], 'optionalCall', _557 => _557()])).filter((col) => col !== void 0);
17989
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _558 => _558[field], 'optionalCall', _559 => _559()])).filter((col) => col !== void 0);
17939
17990
  }, [params.fields, fieldColumnMap, t, fmt, generateUrl, onClone, onExport]);
17940
17991
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
17941
17992
  }, "useStripePriceTableStructure");
@@ -17994,7 +18045,7 @@ var useStripeProductTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.cal
17994
18045
  })
17995
18046
  };
17996
18047
  const columns = _react.useMemo.call(void 0, () => {
17997
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _558 => _558[field], 'optionalCall', _559 => _559()])).filter((col) => col !== void 0);
18048
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _560 => _560[field], 'optionalCall', _561 => _561()])).filter((col) => col !== void 0);
17998
18049
  }, [params.fields, fieldColumnMap, t, generateUrl]);
17999
18050
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
18000
18051
  }, "useStripeProductTableStructure");
@@ -18078,7 +18129,7 @@ var useStripeCouponTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call
18078
18129
  })
18079
18130
  };
18080
18131
  const columns = _react.useMemo.call(void 0, () => {
18081
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _560 => _560[field], 'optionalCall', _561 => _561()])).filter((col) => col !== void 0);
18132
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _562 => _562[field], 'optionalCall', _563 => _563()])).filter((col) => col !== void 0);
18082
18133
  }, [params.fields, fieldColumnMap, t, generateUrl]);
18083
18134
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
18084
18135
  }, "useStripeCouponTableStructure");
@@ -18207,13 +18258,13 @@ var toCouponCodeInput = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (va
18207
18258
  firstTimeTransaction: values.firstTimeTransaction,
18208
18259
  automatic: values.automatic
18209
18260
  };
18210
- if (_optionalChain([values, 'access', _562 => _562.code, 'optionalAccess', _563 => _563.trim, 'call', _564 => _564()])) input.code = values.code.trim();
18261
+ if (_optionalChain([values, 'access', _564 => _564.code, 'optionalAccess', _565 => _565.trim, 'call', _566 => _566()])) input.code = values.code.trim();
18211
18262
  const minimumAmount = parseOptionalDecimal(values.minimumAmount);
18212
18263
  if (minimumAmount !== void 0) {
18213
18264
  input.minimumAmount = Math.round(minimumAmount * 100);
18214
18265
  input.minimumAmountCurrency = values.minimumAmountCurrency;
18215
18266
  }
18216
- if (_optionalChain([values, 'access', _565 => _565.stripeCustomerId, 'optionalAccess', _566 => _566.trim, 'call', _567 => _567()])) input.stripeCustomerId = values.stripeCustomerId.trim();
18267
+ if (_optionalChain([values, 'access', _567 => _567.stripeCustomerId, 'optionalAccess', _568 => _568.trim, 'call', _569 => _569()])) input.stripeCustomerId = values.stripeCustomerId.trim();
18217
18268
  if (values.expiresAt) input.expiresAt = values.expiresAt;
18218
18269
  const maxRedemptions = parseOptionalPositiveInt(values.maxRedemptions);
18219
18270
  if (maxRedemptions !== void 0) input.maxRedemptions = maxRedemptions;
@@ -18382,7 +18433,7 @@ function toCouponInput(values) {
18382
18433
  ...toDiscountInput(values),
18383
18434
  ...toDurationInput(values)
18384
18435
  };
18385
- if (_optionalChain([values, 'access', _568 => _568.stripeCouponId, 'optionalAccess', _569 => _569.trim, 'call', _570 => _570()])) payload.stripeCouponId = values.stripeCouponId.trim();
18436
+ if (_optionalChain([values, 'access', _570 => _570.stripeCouponId, 'optionalAccess', _571 => _571.trim, 'call', _572 => _572()])) payload.stripeCouponId = values.stripeCouponId.trim();
18386
18437
  if (values.products.length > 0) payload.productIds = values.products.map((product) => product.id);
18387
18438
  if (values.redeemBy) payload.redeemBy = values.redeemBy;
18388
18439
  const maxRedemptions = parseOptionalPositiveInt(values.maxRedemptions);
@@ -18705,9 +18756,9 @@ var CouponProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ chi
18705
18756
  const [catalogueVersion, setCatalogueVersion] = _react.useState.call(void 0, 0);
18706
18757
  const refreshCatalogue = _react.useCallback.call(void 0, () => setCatalogueVersion((value2) => value2 + 1), []);
18707
18758
  const reloadCoupon = _react.useCallback.call(void 0, async () => {
18708
- if (!_optionalChain([coupon, 'optionalAccess', _571 => _571.id])) return;
18759
+ if (!_optionalChain([coupon, 'optionalAccess', _573 => _573.id])) return;
18709
18760
  setCoupon(await _chunkOO2DBP6Ljs.StripeCouponService.getCoupon({ id: coupon.id }));
18710
- }, [_optionalChain([coupon, 'optionalAccess', _572 => _572.id])]);
18761
+ }, [_optionalChain([coupon, 'optionalAccess', _574 => _574.id])]);
18711
18762
  const createCoupon = _react.useCallback.call(void 0,
18712
18763
  async (input) => {
18713
18764
  const saved = await _chunkOO2DBP6Ljs.StripeCouponService.createCoupon(input);
@@ -18727,13 +18778,13 @@ var CouponProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ chi
18727
18778
  );
18728
18779
  const refreshCounts = _react.useCallback.call(void 0,
18729
18780
  async (id) => {
18730
- const target = _nullishCoalesce(id, () => ( _optionalChain([coupon, 'optionalAccess', _573 => _573.id])));
18781
+ const target = _nullishCoalesce(id, () => ( _optionalChain([coupon, 'optionalAccess', _575 => _575.id])));
18731
18782
  if (!target) return;
18732
18783
  const saved = await _chunkOO2DBP6Ljs.StripeCouponService.refreshCounts({ id: target });
18733
- if (_optionalChain([coupon, 'optionalAccess', _574 => _574.id]) === target) setCoupon(saved);
18784
+ if (_optionalChain([coupon, 'optionalAccess', _576 => _576.id]) === target) setCoupon(saved);
18734
18785
  refreshCatalogue();
18735
18786
  },
18736
- [_optionalChain([coupon, 'optionalAccess', _575 => _575.id]), refreshCatalogue]
18787
+ [_optionalChain([coupon, 'optionalAccess', _577 => _577.id]), refreshCatalogue]
18737
18788
  );
18738
18789
  const createCode = _react.useCallback.call(void 0,
18739
18790
  async (input) => {
@@ -18971,7 +19022,7 @@ var useStripeCouponCodeTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.
18971
19022
  })
18972
19023
  };
18973
19024
  const columns = _react.useMemo.call(void 0, () => {
18974
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _576 => _576[field], 'optionalCall', _577 => _577()])).filter((col) => col !== void 0);
19025
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _578 => _578[field], 'optionalCall', _579 => _579()])).filter((col) => col !== void 0);
18975
19026
  }, [params.fields, fieldColumnMap, t, coupon, now]);
18976
19027
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
18977
19028
  }, "useStripeCouponCodeTableStructure");
@@ -18997,7 +19048,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, formatSignupSource, "formatSignupSource");
18997
19048
  var useWaitlistTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => {
18998
19049
  const t = _nextintl.useTranslations.call(void 0, );
18999
19050
  const locale = _chunkA7Y5YW7Qjs.useI18nLocale.call(void 0, );
19000
- const onInvite = _optionalChain([params, 'access', _578 => _578.context, 'optionalAccess', _579 => _579.onInvite]);
19051
+ const onInvite = _optionalChain([params, 'access', _580 => _580.context, 'optionalAccess', _581 => _581.onInvite]);
19001
19052
  const tableData = _react.useMemo.call(void 0, () => {
19002
19053
  return params.data.map((entry) => {
19003
19054
  const row = { jsonApiData: entry };
@@ -19092,7 +19143,7 @@ var useWaitlistTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(voi
19092
19143
  cell: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ row }) => {
19093
19144
  const entry = row.original.jsonApiData;
19094
19145
  if (entry.status === "confirmed") {
19095
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Button, { size: "sm", variant: "outline", onClick: () => _optionalChain([onInvite, 'optionalCall', _580 => _580(entry)]), children: [
19146
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Button, { size: "sm", variant: "outline", onClick: () => _optionalChain([onInvite, 'optionalCall', _582 => _582(entry)]), children: [
19096
19147
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Send, { className: "me-2 h-4 w-4" }),
19097
19148
  t("waitlist.admin.actions.invite")
19098
19149
  ] });
@@ -19110,7 +19161,7 @@ var useWaitlistTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(voi
19110
19161
  })
19111
19162
  };
19112
19163
  const columns = _react.useMemo.call(void 0, () => {
19113
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _581 => _581[field], 'optionalCall', _582 => _582()])).filter((col) => col !== void 0);
19164
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _583 => _583[field], 'optionalCall', _584 => _584()])).filter((col) => col !== void 0);
19114
19165
  }, [params.fields, fieldColumnMap, t, locale]);
19115
19166
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
19116
19167
  }, "useWaitlistTableStructure");
@@ -19211,11 +19262,11 @@ var useContentTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
19211
19262
  return params.fields.map((field) => {
19212
19263
  const localHandler = fieldColumnMap[field];
19213
19264
  if (localHandler) return localHandler();
19214
- const customHandler = _optionalChain([params, 'access', _583 => _583.context, 'optionalAccess', _584 => _584.customCells, 'optionalAccess', _585 => _585[field]]);
19265
+ const customHandler = _optionalChain([params, 'access', _585 => _585.context, 'optionalAccess', _586 => _586.customCells, 'optionalAccess', _587 => _587[field]]);
19215
19266
  if (customHandler) return customHandler({ t });
19216
19267
  return void 0;
19217
19268
  }).filter((col) => col !== void 0);
19218
- }, [params.fields, fieldColumnMap, t, generateUrl, _optionalChain([params, 'access', _586 => _586.context, 'optionalAccess', _587 => _587.customCells])]);
19269
+ }, [params.fields, fieldColumnMap, t, generateUrl, _optionalChain([params, 'access', _588 => _588.context, 'optionalAccess', _589 => _589.customCells])]);
19219
19270
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
19220
19271
  }, "useContentTableStructure");
19221
19272
 
@@ -19450,17 +19501,17 @@ function useOAuthConsent(params, options) {
19450
19501
  const [error, setError] = _react.useState.call(void 0, null);
19451
19502
  const [isSubmitting, setIsSubmitting] = _react.useState.call(void 0, false);
19452
19503
  const [companyId, setCompanyId] = _react.useState.call(void 0, void 0);
19453
- const contextCompanyId = _optionalChain([useCurrentUserContextOptional, 'call', _588 => _588(), 'optionalAccess', _589 => _589.company, 'optionalAccess', _590 => _590.id]);
19454
- const currentCompanyId = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _591 => _591.defaultCompanyId]), () => ( contextCompanyId));
19504
+ const contextCompanyId = _optionalChain([useCurrentUserContextOptional, 'call', _590 => _590(), 'optionalAccess', _591 => _591.company, 'optionalAccess', _592 => _592.id]);
19505
+ const currentCompanyId = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _593 => _593.defaultCompanyId]), () => ( contextCompanyId));
19455
19506
  const t = _nextintl.useTranslations.call(void 0, );
19456
19507
  const tRef = _react.useRef.call(void 0, t);
19457
19508
  tRef.current = t;
19458
19509
  _react.useEffect.call(void 0, () => {
19459
- const companies = _nullishCoalesce(_optionalChain([clientInfo, 'optionalAccess', _592 => _592.companies]), () => ( []));
19510
+ const companies = _nullishCoalesce(_optionalChain([clientInfo, 'optionalAccess', _594 => _594.companies]), () => ( []));
19460
19511
  if (companies.length === 0) return;
19461
19512
  if (companyId && companies.some((company) => company.id === companyId)) return;
19462
19513
  const current = currentCompanyId ? companies.find((company) => company.id === currentCompanyId) : void 0;
19463
- setCompanyId(_nullishCoalesce(_optionalChain([current, 'optionalAccess', _593 => _593.id]), () => ( _optionalChain([companies, 'access', _594 => _594[0], 'optionalAccess', _595 => _595.id]))));
19514
+ setCompanyId(_nullishCoalesce(_optionalChain([current, 'optionalAccess', _595 => _595.id]), () => ( _optionalChain([companies, 'access', _596 => _596[0], 'optionalAccess', _597 => _597.id]))));
19464
19515
  }, [clientInfo, currentCompanyId, companyId]);
19465
19516
  _react.useEffect.call(void 0, () => {
19466
19517
  const fetchInfo = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async () => {
@@ -19546,7 +19597,7 @@ function useOAuthScopeText() {
19546
19597
  };
19547
19598
  }
19548
19599
  const info = typeof scope === "string" ? void 0 : scope;
19549
- return { name: _optionalChain([info, 'optionalAccess', _596 => _596.name]) || id, description: _nullishCoalesce(_optionalChain([info, 'optionalAccess', _597 => _597.description]), () => ( "")) };
19600
+ return { name: _optionalChain([info, 'optionalAccess', _598 => _598.name]) || id, description: _nullishCoalesce(_optionalChain([info, 'optionalAccess', _599 => _599.description]), () => ( "")) };
19550
19601
  },
19551
19602
  [t]
19552
19603
  );
@@ -19602,7 +19653,7 @@ function ContentTableSearch({ data }) {
19602
19653
  const handleSearchIconClick = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
19603
19654
  if (!isExpanded) {
19604
19655
  setIsFocused(true);
19605
- setTimeout(() => _optionalChain([inputRef, 'access', _598 => _598.current, 'optionalAccess', _599 => _599.focus, 'call', _600 => _600()]), 50);
19656
+ setTimeout(() => _optionalChain([inputRef, 'access', _600 => _600.current, 'optionalAccess', _601 => _601.focus, 'call', _602 => _602()]), 50);
19606
19657
  }
19607
19658
  }, "handleSearchIconClick");
19608
19659
  const handleBlur = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => {
@@ -19688,7 +19739,7 @@ function getGroupKeys(item, field) {
19688
19739
  return [String(_nullishCoalesce(value, () => ( "")))];
19689
19740
  }
19690
19741
  _chunk7QVYU63Ejs.__name.call(void 0, getGroupKeys, "getGroupKeys");
19691
- var isClassComponent = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (component) => typeof component === "function" && !!_optionalChain([component, 'access', _601 => _601.prototype, 'optionalAccess', _602 => _602.isReactComponent]), "isClassComponent");
19742
+ var isClassComponent = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (component) => typeof component === "function" && !!_optionalChain([component, 'access', _603 => _603.prototype, 'optionalAccess', _604 => _604.isReactComponent]), "isClassComponent");
19692
19743
  function StableCell({ render, context }) {
19693
19744
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: render(context) });
19694
19745
  }
@@ -19712,7 +19763,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
19712
19763
  if (data.isLoaded) setPendingDirection(null);
19713
19764
  }, [data.isLoaded]);
19714
19765
  const { data: tableData, columns: tableColumns } = useTableGenerator(props.tableGeneratorType, {
19715
- data: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _603 => _603.data]), () => ( EMPTY_ARRAY)),
19766
+ data: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _605 => _605.data]), () => ( EMPTY_ARRAY)),
19716
19767
  fields,
19717
19768
  checkedIds,
19718
19769
  toggleId,
@@ -19742,7 +19793,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
19742
19793
  ...props.renderExpandedRow && {
19743
19794
  getExpandedRowModel: _reacttable.getExpandedRowModel.call(void 0, ),
19744
19795
  // Key rows by record id so an expansion stays with its record when a search or filter reorders the rows.
19745
- getRowId: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (row, index) => _nullishCoalesce(_optionalChain([row, 'access', _604 => _604.jsonApiData, 'optionalAccess', _605 => _605.id]), () => ( String(index))), "getRowId"),
19796
+ getRowId: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (row, index) => _nullishCoalesce(_optionalChain([row, 'access', _606 => _606.jsonApiData, 'optionalAccess', _607 => _607.id]), () => ( String(index))), "getRowId"),
19746
19797
  getRowCanExpand: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, () => true, "getRowCanExpand"),
19747
19798
  onExpandedChange: setExpanded,
19748
19799
  state: { expanded }
@@ -19759,7 +19810,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
19759
19810
  });
19760
19811
  const rowModel = tableData ? table.getRowModel() : null;
19761
19812
  const groupedRows = _react.useMemo.call(void 0, () => {
19762
- if (!props.groupBy || !_optionalChain([rowModel, 'optionalAccess', _606 => _606.rows, 'optionalAccess', _607 => _607.length])) return null;
19813
+ if (!props.groupBy || !_optionalChain([rowModel, 'optionalAccess', _608 => _608.rows, 'optionalAccess', _609 => _609.length])) return null;
19763
19814
  const groupMap = /* @__PURE__ */ new Map();
19764
19815
  for (const row of rowModel.rows) {
19765
19816
  const keys = getGroupKeys(row.original, props.groupBy);
@@ -19838,20 +19889,20 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
19838
19889
  ) }),
19839
19890
  !props.hideHeader && table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: headerGroup.headers.map((header) => {
19840
19891
  const meta = header.column.columnDef.meta;
19841
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableHead, { className: _optionalChain([meta, 'optionalAccess', _608 => _608.className]), children: header.isPlaceholder ? null : _reacttable.flexRender.call(void 0, header.column.columnDef.header, header.getContext()) }, header.id);
19892
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableHead, { className: _optionalChain([meta, 'optionalAccess', _610 => _610.className]), children: header.isPlaceholder ? null : _reacttable.flexRender.call(void 0, header.column.columnDef.header, header.getContext()) }, header.id);
19842
19893
  }) }, headerGroup.id))
19843
19894
  ] }),
19844
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableBody, { children: rowModel && _optionalChain([rowModel, 'access', _609 => _609.rows, 'optionalAccess', _610 => _610.length]) ? groupedRows ? groupedRows.map((group) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React2.default.Fragment, { children: [
19845
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { colSpan: tableColumns.length, className: "bg-muted px-4 py-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MicroLabel, { children: _nullishCoalesce(_optionalChain([props, 'access', _611 => _611.groupLabel, 'optionalCall', _612 => _612(group.groupKey)]), () => ( group.groupKey)) }) }) }),
19895
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableBody, { children: rowModel && _optionalChain([rowModel, 'access', _611 => _611.rows, 'optionalAccess', _612 => _612.length]) ? groupedRows ? groupedRows.map((group) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React2.default.Fragment, { children: [
19896
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableRow, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { colSpan: tableColumns.length, className: "bg-muted px-4 py-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MicroLabel, { children: _nullishCoalesce(_optionalChain([props, 'access', _613 => _613.groupLabel, 'optionalCall', _614 => _614(group.groupKey)]), () => ( group.groupKey)) }) }) }),
19846
19897
  group.rows.map((row) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React2.default.Fragment, { children: [
19847
19898
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19848
19899
  TableRow,
19849
19900
  {
19850
- onClick: () => _optionalChain([onRowClick, 'optionalCall', _613 => _613(row.original.jsonApiData)]),
19901
+ onClick: () => _optionalChain([onRowClick, 'optionalCall', _615 => _615(row.original.jsonApiData)]),
19851
19902
  className: `group ${onRowClick ? "hover:bg-muted/50 cursor-pointer" : ""}`,
19852
19903
  children: row.getVisibleCells().map((cell) => {
19853
19904
  const meta = cell.column.columnDef.meta;
19854
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _614 => _614.className]), children: renderCell(cell.column.columnDef.cell, cell.getContext()) }, cell.id);
19905
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _616 => _616.className]), children: renderCell(cell.column.columnDef.cell, cell.getContext()) }, cell.id);
19855
19906
  })
19856
19907
  }
19857
19908
  ),
@@ -19861,11 +19912,11 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
19861
19912
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19862
19913
  TableRow,
19863
19914
  {
19864
- onClick: () => _optionalChain([onRowClick, 'optionalCall', _615 => _615(row.original.jsonApiData)]),
19915
+ onClick: () => _optionalChain([onRowClick, 'optionalCall', _617 => _617(row.original.jsonApiData)]),
19865
19916
  className: `group ${onRowClick ? "hover:bg-muted/50 cursor-pointer" : ""}`,
19866
19917
  children: row.getVisibleCells().map((cell) => {
19867
19918
  const meta = cell.column.columnDef.meta;
19868
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _616 => _616.className]), children: renderCell(cell.column.columnDef.cell, cell.getContext()) }, cell.id);
19919
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { className: _optionalChain([meta, 'optionalAccess', _618 => _618.className]), children: renderCell(cell.column.columnDef.cell, cell.getContext()) }, cell.id);
19869
19920
  })
19870
19921
  }
19871
19922
  ),
@@ -19880,7 +19931,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
19880
19931
  onClick: (e) => {
19881
19932
  e.preventDefault();
19882
19933
  setPendingDirection("prev");
19883
- _optionalChain([data, 'access', _617 => _617.previous, 'optionalCall', _618 => _618(true)]);
19934
+ _optionalChain([data, 'access', _619 => _619.previous, 'optionalCall', _620 => _620(true)]);
19884
19935
  },
19885
19936
  disabled: !data.previous || pendingDirection !== null,
19886
19937
  children: pendingDirection === "prev" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4 rtl:rotate-180" })
@@ -19895,7 +19946,7 @@ var ContentListTable = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs
19895
19946
  onClick: (e) => {
19896
19947
  e.preventDefault();
19897
19948
  setPendingDirection("next");
19898
- _optionalChain([data, 'access', _619 => _619.next, 'optionalCall', _620 => _620(true)]);
19949
+ _optionalChain([data, 'access', _621 => _621.next, 'optionalCall', _622 => _622(true)]);
19899
19950
  },
19900
19951
  disabled: !data.next || pendingDirection !== null,
19901
19952
  children: pendingDirection === "next" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4 rtl:rotate-180" })
@@ -19917,7 +19968,7 @@ function ContentListGrid(props) {
19917
19968
  if (!data.next || !sentinelRef.current) return;
19918
19969
  const observer = new IntersectionObserver(
19919
19970
  (entries) => {
19920
- if (_optionalChain([entries, 'access', _621 => _621[0], 'optionalAccess', _622 => _622.isIntersecting])) _optionalChain([data, 'access', _623 => _623.next, 'optionalCall', _624 => _624()]);
19971
+ if (_optionalChain([entries, 'access', _623 => _623[0], 'optionalAccess', _624 => _624.isIntersecting])) _optionalChain([data, 'access', _625 => _625.next, 'optionalCall', _626 => _626()]);
19921
19972
  },
19922
19973
  { threshold: 0.1, rootMargin: "200px" }
19923
19974
  );
@@ -20769,7 +20820,7 @@ function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
20769
20820
  newDigits[index] = digit;
20770
20821
  setDigits(newDigits);
20771
20822
  if (digit && index < 5) {
20772
- _optionalChain([inputRefs, 'access', _625 => _625.current, 'access', _626 => _626[index + 1], 'optionalAccess', _627 => _627.focus, 'call', _628 => _628()]);
20823
+ _optionalChain([inputRefs, 'access', _627 => _627.current, 'access', _628 => _628[index + 1], 'optionalAccess', _629 => _629.focus, 'call', _630 => _630()]);
20773
20824
  }
20774
20825
  const code = newDigits.join("");
20775
20826
  if (code.length === 6 && newDigits.every((d) => d !== "")) {
@@ -20778,7 +20829,7 @@ function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
20778
20829
  }, "handleChange");
20779
20830
  const handleKeyDown = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (index, e) => {
20780
20831
  if (e.key === "Backspace" && !digits[index] && index > 0) {
20781
- _optionalChain([inputRefs, 'access', _629 => _629.current, 'access', _630 => _630[index - 1], 'optionalAccess', _631 => _631.focus, 'call', _632 => _632()]);
20832
+ _optionalChain([inputRefs, 'access', _631 => _631.current, 'access', _632 => _632[index - 1], 'optionalAccess', _633 => _633.focus, 'call', _634 => _634()]);
20782
20833
  }
20783
20834
  }, "handleKeyDown");
20784
20835
  const handlePaste = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (e) => {
@@ -20787,7 +20838,7 @@ function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
20787
20838
  if (pastedData.length === 6) {
20788
20839
  const newDigits = pastedData.split("");
20789
20840
  setDigits(newDigits);
20790
- _optionalChain([inputRefs, 'access', _633 => _633.current, 'access', _634 => _634[5], 'optionalAccess', _635 => _635.focus, 'call', _636 => _636()]);
20841
+ _optionalChain([inputRefs, 'access', _635 => _635.current, 'access', _636 => _636[5], 'optionalAccess', _637 => _637.focus, 'call', _638 => _638()]);
20791
20842
  onComplete(pastedData);
20792
20843
  }
20793
20844
  }, "handlePaste");
@@ -20999,8 +21050,8 @@ function PasskeySetupDialog({ open, onOpenChange, onSuccess }) {
20999
21050
  try {
21000
21051
  const registrationData = await _chunkOO2DBP6Ljs.TwoFactorService.getPasskeyRegistrationOptions({
21001
21052
  id: _uuid.v4.call(void 0, ),
21002
- userName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _637 => _637.email]), () => ( "")),
21003
- userDisplayName: _optionalChain([currentUser, 'optionalAccess', _638 => _638.name])
21053
+ userName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _639 => _639.email]), () => ( "")),
21054
+ userDisplayName: _optionalChain([currentUser, 'optionalAccess', _640 => _640.name])
21004
21055
  });
21005
21056
  const credential = await _browser.startRegistration.call(void 0, { optionsJSON: registrationData.options });
21006
21057
  await _chunkOO2DBP6Ljs.TwoFactorService.verifyPasskeyRegistration({
@@ -21152,7 +21203,7 @@ function TotpSetupDialog({ onSuccess, trigger }) {
21152
21203
  const setup = await _chunkOO2DBP6Ljs.TwoFactorService.setupTotp({
21153
21204
  id: _uuid.v4.call(void 0, ),
21154
21205
  name: name.trim(),
21155
- accountName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _639 => _639.email]), () => ( ""))
21206
+ accountName: _nullishCoalesce(_optionalChain([currentUser, 'optionalAccess', _641 => _641.email]), () => ( ""))
21156
21207
  });
21157
21208
  setQrCodeUri(setup.qrCodeUri);
21158
21209
  setAuthenticatorId(setup.authenticatorId);
@@ -21286,7 +21337,7 @@ function TwoFactorSettings() {
21286
21337
  if (isLoading) {
21287
21338
  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") }) }) });
21288
21339
  }
21289
- const isEnabled = _nullishCoalesce(_optionalChain([status, 'optionalAccess', _640 => _640.isEnabled]), () => ( false));
21340
+ const isEnabled = _nullishCoalesce(_optionalChain([status, 'optionalAccess', _642 => _642.isEnabled]), () => ( false));
21290
21341
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Card, { children: [
21291
21342
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardHeader, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
21292
21343
  isEnabled ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ShieldCheck, { className: "text-success h-6 w-6" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ShieldAlert, { className: "text-warning h-6 w-6" }),
@@ -21324,7 +21375,7 @@ function TwoFactorSettings() {
21324
21375
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-medium", children: t("auth.two_factor.backup_codes") }),
21325
21376
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-sm text-muted-foreground", children: t("auth.two_factor.backup_codes_description") })
21326
21377
  ] }),
21327
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BackupCodesDialog, { remainingCodes: _nullishCoalesce(_optionalChain([status, 'optionalAccess', _641 => _641.backupCodesCount]), () => ( 0)), onRegenerate: handleRefresh })
21378
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BackupCodesDialog, { remainingCodes: _nullishCoalesce(_optionalChain([status, 'optionalAccess', _643 => _643.backupCodesCount]), () => ( 0)), onRegenerate: handleRefresh })
21328
21379
  ] }) }),
21329
21380
  !isEnabled && (authenticators.length > 0 || passkeys.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
21330
21381
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Separator, {}),
@@ -21506,9 +21557,9 @@ function AcceptInvitation() {
21506
21557
  });
21507
21558
  const onSubmit = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async (values) => {
21508
21559
  try {
21509
- if (!_optionalChain([params, 'optionalAccess', _642 => _642.code])) return;
21560
+ if (!_optionalChain([params, 'optionalAccess', _644 => _644.code])) return;
21510
21561
  const payload = {
21511
- code: _optionalChain([params, 'optionalAccess', _643 => _643.code]),
21562
+ code: _optionalChain([params, 'optionalAccess', _645 => _645.code]),
21512
21563
  password: values.password
21513
21564
  };
21514
21565
  await _chunkOO2DBP6Ljs.AuthService.acceptInvitation(payload);
@@ -21881,14 +21932,14 @@ function RefreshUser() {
21881
21932
  setUser(fullUser);
21882
21933
  const token = {
21883
21934
  userId: fullUser.id,
21884
- companyId: _optionalChain([fullUser, 'access', _644 => _644.company, 'optionalAccess', _645 => _645.id]),
21935
+ companyId: _optionalChain([fullUser, 'access', _646 => _646.company, 'optionalAccess', _647 => _647.id]),
21885
21936
  roles: fullUser.roles.map((role) => role.id),
21886
- features: _nullishCoalesce(_optionalChain([fullUser, 'access', _646 => _646.company, 'optionalAccess', _647 => _647.features, 'optionalAccess', _648 => _648.map, 'call', _649 => _649((feature) => feature.id)]), () => ( [])),
21937
+ features: _nullishCoalesce(_optionalChain([fullUser, 'access', _648 => _648.company, 'optionalAccess', _649 => _649.features, 'optionalAccess', _650 => _650.map, 'call', _651 => _651((feature) => feature.id)]), () => ( [])),
21887
21938
  modules: fullUser.modules.map((module) => {
21888
21939
  return { id: module.id, permissions: module.permissions };
21889
21940
  })
21890
21941
  };
21891
- await _optionalChain([_chunkOO2DBP6Ljs.getTokenHandler.call(void 0, ), 'optionalAccess', _650 => _650.updateToken, 'call', _651 => _651(token)]);
21942
+ await _optionalChain([_chunkOO2DBP6Ljs.getTokenHandler.call(void 0, ), 'optionalAccess', _652 => _652.updateToken, 'call', _653 => _653(token)]);
21892
21943
  _cookiesnext.deleteCookie.call(void 0, "reloadData");
21893
21944
  }
21894
21945
  }, "loadFullUser");
@@ -21952,9 +22003,9 @@ function ResetPassword() {
21952
22003
  });
21953
22004
  const onSubmit = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async (values) => {
21954
22005
  try {
21955
- if (!_optionalChain([params, 'optionalAccess', _652 => _652.code])) return;
22006
+ if (!_optionalChain([params, 'optionalAccess', _654 => _654.code])) return;
21956
22007
  const payload = {
21957
- code: _optionalChain([params, 'optionalAccess', _653 => _653.code]),
22008
+ code: _optionalChain([params, 'optionalAccess', _655 => _655.code]),
21958
22009
  password: values.password
21959
22010
  };
21960
22011
  await _chunkOO2DBP6Ljs.AuthService.resetPassword(payload);
@@ -22494,7 +22545,7 @@ function AiConnectionEditor({
22494
22545
  const registryRows = _react.useMemo.call(void 0, () => _nullishCoalesce(providerRegistry[connectionType], () => ( [])), [providerRegistry, connectionType]);
22495
22546
  const providers = _react.useMemo.call(void 0, () => registryRows.map((row) => row.provider), [registryRows]);
22496
22547
  const fieldsFor = _react.useCallback.call(void 0,
22497
- (provider) => _nullishCoalesce(_optionalChain([registryRows, 'access', _654 => _654.find, 'call', _655 => _655((row) => row.provider === provider), 'optionalAccess', _656 => _656.fields]), () => ( [])),
22548
+ (provider) => _nullishCoalesce(_optionalChain([registryRows, 'access', _656 => _656.find, 'call', _657 => _657((row) => row.provider === provider), 'optionalAccess', _658 => _658.fields]), () => ( [])),
22498
22549
  [registryRows]
22499
22550
  );
22500
22551
  const defaultsFor = _react.useCallback.call(void 0,
@@ -22503,7 +22554,7 @@ function AiConnectionEditor({
22503
22554
  const seeded = {};
22504
22555
  fieldsFor(provider).forEach((descriptor) => {
22505
22556
  if (descriptor.kind === "boolean") {
22506
- const current2 = _optionalChain([stored, 'optionalAccess', _657 => _657[descriptor.field]]);
22557
+ const current2 = _optionalChain([stored, 'optionalAccess', _659 => _659[descriptor.field]]);
22507
22558
  seeded[descriptor.field] = current2 !== void 0 && current2 !== null ? current2 === true : descriptor.default === true;
22508
22559
  return;
22509
22560
  }
@@ -22511,7 +22562,7 @@ function AiConnectionEditor({
22511
22562
  seeded[descriptor.field] = "";
22512
22563
  return;
22513
22564
  }
22514
- const current = _optionalChain([stored, 'optionalAccess', _658 => _658[descriptor.field]]);
22565
+ const current = _optionalChain([stored, 'optionalAccess', _660 => _660[descriptor.field]]);
22515
22566
  if (current !== void 0 && current !== null) seeded[descriptor.field] = String(current);
22516
22567
  else seeded[descriptor.field] = descriptor.default !== void 0 ? String(descriptor.default) : "";
22517
22568
  });
@@ -22537,7 +22588,7 @@ function AiConnectionEditor({
22537
22588
  values: _zod3.z.record(_zod3.z.string(), _zod3.z.any())
22538
22589
  }).superRefine((data, ctx) => {
22539
22590
  fieldsFor(data.provider).filter((descriptor) => descriptor.required).forEach((descriptor) => {
22540
- const value = _optionalChain([data, 'access', _659 => _659.values, 'optionalAccess', _660 => _660[descriptor.field]]);
22591
+ const value = _optionalChain([data, 'access', _661 => _661.values, 'optionalAccess', _662 => _662[descriptor.field]]);
22541
22592
  const filled = descriptor.kind === "secret" ? !!value || hasStoredSecret(descriptor.field) : descriptor.kind === "boolean" ? value !== void 0 : value !== void 0 && value !== null && String(value).trim() !== "";
22542
22593
  if (filled) return;
22543
22594
  ctx.addIssue({
@@ -22551,11 +22602,11 @@ function AiConnectionEditor({
22551
22602
  );
22552
22603
  const getDefaultValues = _react.useCallback.call(void 0,
22553
22604
  () => ({
22554
- id: _nullishCoalesce(_optionalChain([connection, 'optionalAccess', _661 => _661.id]), () => ( _uuid.v4.call(void 0, ))),
22555
- name: _nullishCoalesce(_optionalChain([connection, 'optionalAccess', _662 => _662.name]), () => ( "")),
22556
- provider: _nullishCoalesce(_nullishCoalesce(_optionalChain([connection, 'optionalAccess', _663 => _663.provider]), () => ( providers[0])), () => ( "")),
22557
- enabled: _nullishCoalesce(_optionalChain([connection, 'optionalAccess', _664 => _664.enabled]), () => ( true)),
22558
- values: defaultsFor(_nullishCoalesce(_nullishCoalesce(_optionalChain([connection, 'optionalAccess', _665 => _665.provider]), () => ( providers[0])), () => ( "")))
22605
+ id: _nullishCoalesce(_optionalChain([connection, 'optionalAccess', _663 => _663.id]), () => ( _uuid.v4.call(void 0, ))),
22606
+ name: _nullishCoalesce(_optionalChain([connection, 'optionalAccess', _664 => _664.name]), () => ( "")),
22607
+ provider: _nullishCoalesce(_nullishCoalesce(_optionalChain([connection, 'optionalAccess', _665 => _665.provider]), () => ( providers[0])), () => ( "")),
22608
+ enabled: _nullishCoalesce(_optionalChain([connection, 'optionalAccess', _666 => _666.enabled]), () => ( true)),
22609
+ values: defaultsFor(_nullishCoalesce(_nullishCoalesce(_optionalChain([connection, 'optionalAccess', _667 => _667.provider]), () => ( providers[0])), () => ( "")))
22559
22610
  }),
22560
22611
  [connection, providers, defaultsFor]
22561
22612
  );
@@ -22566,7 +22617,7 @@ function AiConnectionEditor({
22566
22617
  _react.useEffect.call(void 0, () => {
22567
22618
  if (registryRows.length === 0) return;
22568
22619
  const currentProvider = form.getValues("provider");
22569
- const provider = currentProvider || _optionalChain([connection, 'optionalAccess', _666 => _666.provider]) || providers[0] || "";
22620
+ const provider = currentProvider || _optionalChain([connection, 'optionalAccess', _668 => _668.provider]) || providers[0] || "";
22570
22621
  if (!provider) return;
22571
22622
  if (provider !== currentProvider) form.setValue("provider", provider);
22572
22623
  const currentValues = form.getValues("values");
@@ -22637,7 +22688,7 @@ function AiConnectionEditor({
22637
22688
  {
22638
22689
  form,
22639
22690
  entityType: t("ai_connections.admin.entity"),
22640
- entityName: _optionalChain([connection, 'optionalAccess', _667 => _667.name]),
22691
+ entityName: _optionalChain([connection, 'optionalAccess', _669 => _669.name]),
22641
22692
  isEdit,
22642
22693
  module: _chunkA7Y5YW7Qjs.Modules.AiConnection,
22643
22694
  size: "md",
@@ -22645,7 +22696,7 @@ function AiConnectionEditor({
22645
22696
  onSubmit: async (values) => {
22646
22697
  const attributes = {};
22647
22698
  fieldsFor(values.provider).forEach((descriptor) => {
22648
- const coerced = coerce(descriptor, _optionalChain([values, 'access', _668 => _668.values, 'optionalAccess', _669 => _669[descriptor.field]]));
22699
+ const coerced = coerce(descriptor, _optionalChain([values, 'access', _670 => _670.values, 'optionalAccess', _671 => _671[descriptor.field]]));
22649
22700
  if (coerced !== void 0) attributes[descriptor.field] = coerced;
22650
22701
  });
22651
22702
  const payload = {
@@ -22875,7 +22926,7 @@ function AiConnectionTypeCard({ connectionType }) {
22875
22926
  ),
22876
22927
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-muted/40 flex flex-wrap items-center gap-2 px-3 py-2", children: [
22877
22928
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Badge, { variant: "softGray", children: t("ai_connections.admin.env_fallback") }),
22878
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground truncate text-xs", children: [_optionalChain([envDefault, 'optionalAccess', _670 => _670.provider]), _optionalChain([envDefault, 'optionalAccess', _671 => _671.model]), _optionalChain([envDefault, 'optionalAccess', _672 => _672.url])].filter(Boolean).join(" \xB7 ") })
22929
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-muted-foreground truncate text-xs", children: [_optionalChain([envDefault, 'optionalAccess', _672 => _672.provider]), _optionalChain([envDefault, 'optionalAccess', _673 => _673.model]), _optionalChain([envDefault, 'optionalAccess', _674 => _674.url])].filter(Boolean).join(" \xB7 ") })
22879
22930
  ] })
22880
22931
  ] })
22881
22932
  ] })
@@ -23164,7 +23215,7 @@ var useEmailBlastTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(v
23164
23215
  )
23165
23216
  };
23166
23217
  const columns = _react.useMemo.call(void 0, () => {
23167
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _673 => _673[field], 'optionalCall', _674 => _674()])).filter((col) => col !== void 0);
23218
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _675 => _675[field], 'optionalCall', _676 => _676()])).filter((col) => col !== void 0);
23168
23219
  }, [params.fields, fieldColumnMap, t, generateUrl, locale]);
23169
23220
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
23170
23221
  }, "useEmailBlastTableStructure");
@@ -23207,12 +23258,12 @@ function EmailBlastEditorInternal({
23207
23258
  );
23208
23259
  const getDefaultValues = _react.useCallback.call(void 0,
23209
23260
  () => ({
23210
- id: _nullishCoalesce(_optionalChain([blast, 'optionalAccess', _675 => _675.id]), () => ( _uuid.v4.call(void 0, ))),
23211
- subject: _nullishCoalesce(_optionalChain([blast, 'optionalAccess', _676 => _676.subject]), () => ( "")),
23212
- body: _nullishCoalesce(_optionalChain([blast, 'optionalAccess', _677 => _677.body]), () => ( "")),
23213
- replyTo: _nullishCoalesce(_optionalChain([blast, 'optionalAccess', _678 => _678.replyTo]), () => ( "")),
23261
+ id: _nullishCoalesce(_optionalChain([blast, 'optionalAccess', _677 => _677.id]), () => ( _uuid.v4.call(void 0, ))),
23262
+ subject: _nullishCoalesce(_optionalChain([blast, 'optionalAccess', _678 => _678.subject]), () => ( "")),
23263
+ body: _nullishCoalesce(_optionalChain([blast, 'optionalAccess', _679 => _679.body]), () => ( "")),
23264
+ replyTo: _nullishCoalesce(_optionalChain([blast, 'optionalAccess', _680 => _680.replyTo]), () => ( "")),
23214
23265
  // No preselected value on create: the form refuses to save without a choice.
23215
- purpose: _nullishCoalesce(_optionalChain([blast, 'optionalAccess', _679 => _679.purpose]), () => ( ""))
23266
+ purpose: _nullishCoalesce(_optionalChain([blast, 'optionalAccess', _681 => _681.purpose]), () => ( ""))
23216
23267
  }),
23217
23268
  [blast]
23218
23269
  );
@@ -23234,7 +23285,7 @@ function EmailBlastEditorInternal({
23234
23285
  {
23235
23286
  form,
23236
23287
  entityType: t("emailBlasts.editor.title"),
23237
- entityName: _optionalChain([blast, 'optionalAccess', _680 => _680.subject]),
23288
+ entityName: _optionalChain([blast, 'optionalAccess', _682 => _682.subject]),
23238
23289
  title: isEdit ? t("emailBlasts.editor.editTitle") : t("emailBlasts.editor.title"),
23239
23290
  isEdit,
23240
23291
  module: _chunkA7Y5YW7Qjs.Modules.EmailBlast,
@@ -23378,7 +23429,7 @@ function EmailBlastSendDialog({ blast, onSuccess }) {
23378
23429
  setIsSending(true);
23379
23430
  try {
23380
23431
  await _chunkOO2DBP6Ljs.EmailBlastService.send({ id: blast.id });
23381
- await _optionalChain([onSuccess, 'optionalCall', _681 => _681()]);
23432
+ await _optionalChain([onSuccess, 'optionalCall', _683 => _683()]);
23382
23433
  setOpen(false);
23383
23434
  } catch (error) {
23384
23435
  errorToast({ title: t("common.errors.error"), error });
@@ -23585,7 +23636,7 @@ function extractHeadings(blocks) {
23585
23636
  function processBlocks(blockArray) {
23586
23637
  for (const block of blockArray) {
23587
23638
  if (block.type === "heading") {
23588
- const level = _optionalChain([block, 'access', _682 => _682.props, 'optionalAccess', _683 => _683.level]) || 1;
23639
+ const level = _optionalChain([block, 'access', _684 => _684.props, 'optionalAccess', _685 => _685.level]) || 1;
23589
23640
  const text = extractTextFromContent(block.content);
23590
23641
  if (text.trim()) {
23591
23642
  headings.push({
@@ -23945,7 +23996,7 @@ var useHowToTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0
23945
23996
  })
23946
23997
  };
23947
23998
  const columns = _react.useMemo.call(void 0, () => {
23948
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _684 => _684[field], 'optionalCall', _685 => _685()])).filter((col) => col !== void 0);
23999
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _686 => _686[field], 'optionalCall', _687 => _687()])).filter((col) => col !== void 0);
23949
24000
  }, [params.fields, fieldColumnMap, t, generateUrl]);
23950
24001
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
23951
24002
  }, "useHowToTableStructure");
@@ -24071,7 +24122,7 @@ function HowToSelector({
24071
24122
  }, "setHowTo");
24072
24123
  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: [
24073
24124
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-row items-center justify-between", children: [
24074
- /* @__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', _686 => _686.value, 'optionalAccess', _687 => _687.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 }) }))) }) }) }),
24125
+ /* @__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', _688 => _688.value, 'optionalAccess', _689 => _689.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 }) }))) }) }) }),
24075
24126
  field.value && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24076
24127
  _lucidereact.CircleX,
24077
24128
  {
@@ -24376,10 +24427,10 @@ function CitationsTab({ citations, sources }) {
24376
24427
  ] }) }),
24377
24428
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableBody, { children: sorted.map((chunk) => {
24378
24429
  const isOpen = expanded.has(chunk.id);
24379
- const resolved = chunk.nodeId ? _optionalChain([sources, 'optionalAccess', _688 => _688.get, 'call', _689 => _689(chunk.nodeId)]) : void 0;
24430
+ const resolved = chunk.nodeId ? _optionalChain([sources, 'optionalAccess', _690 => _690.get, 'call', _691 => _691(chunk.nodeId)]) : void 0;
24380
24431
  const typeLabel = chunk.nodeType ? entityLabel(chunk.nodeType) : t("features.assistant.message.sources.source");
24381
24432
  const fallbackName = chunk.nodeId ? `${typeLabel} ${chunk.nodeId.slice(0, 8)}` : typeLabel;
24382
- const sourceName = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _690 => _690.name]), () => ( fallbackName));
24433
+ const sourceName = _nullishCoalesce(_optionalChain([resolved, 'optionalAccess', _692 => _692.name]), () => ( fallbackName));
24383
24434
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
24384
24435
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, TableRow, { children: [
24385
24436
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableCell, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -24443,7 +24494,7 @@ function ContentsTab({ citations, sources }) {
24443
24494
  for (const c of citations) {
24444
24495
  const id = c.nodeId;
24445
24496
  if (!id) continue;
24446
- const source = _optionalChain([sources, 'optionalAccess', _691 => _691.get, 'call', _692 => _692(id)]);
24497
+ const source = _optionalChain([sources, 'optionalAccess', _693 => _693.get, 'call', _694 => _694(id)]);
24447
24498
  if (!source) continue;
24448
24499
  const existing = map.get(id);
24449
24500
  if (existing) {
@@ -24510,7 +24561,7 @@ function UsersTab({ users, citations, sources }) {
24510
24561
  const generate = usePageUrlGenerator();
24511
24562
  const userMap = /* @__PURE__ */ new Map();
24512
24563
  for (const u of users) {
24513
- if (!_optionalChain([u, 'optionalAccess', _693 => _693.id])) continue;
24564
+ if (!_optionalChain([u, 'optionalAccess', _695 => _695.id])) continue;
24514
24565
  userMap.set(u.id, { user: u, contentCount: 0, citationCount: 0 });
24515
24566
  }
24516
24567
  if (citations && sources) {
@@ -24581,7 +24632,7 @@ function SuggestedQuestionsTab({ questions, onSelect }) {
24581
24632
  {
24582
24633
  type: "button",
24583
24634
  disabled: !onSelect,
24584
- onClick: () => _optionalChain([onSelect, 'optionalCall', _694 => _694(q)]),
24635
+ onClick: () => _optionalChain([onSelect, 'optionalCall', _696 => _696(q)]),
24585
24636
  className: "border-border bg-muted/30 hover:bg-muted disabled:hover:bg-muted/30 rounded-md border px-3 py-1.5 text-start text-sm disabled:cursor-not-allowed disabled:opacity-50",
24586
24637
  children: q
24587
24638
  },
@@ -24616,7 +24667,7 @@ function MessageSourcesPanel({ message, isLatestAssistant, onSelectFollowUp, sou
24616
24667
  }
24617
24668
  return ids.size;
24618
24669
  }, [message.citations, sources]);
24619
- const usersCount = _nullishCoalesce(_optionalChain([users, 'optionalAccess', _695 => _695.length]), () => ( 0));
24670
+ const usersCount = _nullishCoalesce(_optionalChain([users, 'optionalAccess', _697 => _697.length]), () => ( 0));
24620
24671
  const total = refsCount + citationsCount + contentsCount + usersCount + suggestionsCount;
24621
24672
  const visibleTabs = [];
24622
24673
  if (suggestionsCount > 0) visibleTabs.push("suggested");
@@ -24759,7 +24810,7 @@ function MessageSourcesContainer({ message, isLatestAssistant, onSelectFollowUp
24759
24810
  return void 0;
24760
24811
  }
24761
24812
  })()));
24762
- if (_optionalChain([author, 'optionalAccess', _696 => _696.id])) userMap.set(author.id, author);
24813
+ if (_optionalChain([author, 'optionalAccess', _698 => _698.id])) userMap.set(author.id, author);
24763
24814
  }
24764
24815
  return Array.from(userMap.values());
24765
24816
  }, [resolved]);
@@ -24794,7 +24845,7 @@ function MessageItem({
24794
24845
  }) {
24795
24846
  const t = _nextintl.useTranslations.call(void 0, );
24796
24847
  const isUser = message.role === "user";
24797
- const isFailed = isUser && !!_optionalChain([failedMessageIds, 'optionalAccess', _697 => _697.has, 'call', _698 => _698(message.id)]);
24848
+ const isFailed = isUser && !!_optionalChain([failedMessageIds, 'optionalAccess', _699 => _699.has, 'call', _700 => _700(message.id)]);
24798
24849
  const markdownComponents = _react.useMemo.call(void 0,
24799
24850
  () => ({
24800
24851
  a: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ href, children }) => {
@@ -24811,7 +24862,7 @@ function MessageItem({
24811
24862
  isFailed && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-destructive flex items-center gap-2 text-xs", children: [
24812
24863
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.AlertCircle, { className: "h-3.5 w-3.5" }),
24813
24864
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: t("features.assistant.send_failed") }),
24814
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: () => _optionalChain([onRetry, 'optionalCall', _699 => _699(message.id)]), children: t("features.assistant.retry") })
24865
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", onClick: () => _optionalChain([onRetry, 'optionalCall', _701 => _701(message.id)]), children: t("features.assistant.retry") })
24815
24866
  ] })
24816
24867
  ] });
24817
24868
  }
@@ -24902,7 +24953,7 @@ function AssistantThread({
24902
24953
  }) {
24903
24954
  const lastMessageRef = _react.useRef.call(void 0, null);
24904
24955
  _react.useEffect.call(void 0, () => {
24905
- _optionalChain([lastMessageRef, 'access', _700 => _700.current, 'optionalAccess', _701 => _701.scrollIntoView, 'call', _702 => _702({ block: "start", behavior: "smooth" })]);
24956
+ _optionalChain([lastMessageRef, 'access', _702 => _702.current, 'optionalAccess', _703 => _703.scrollIntoView, 'call', _704 => _704({ block: "start", behavior: "smooth" })]);
24906
24957
  }, [messages.length, sending]);
24907
24958
  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: [
24908
24959
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -24941,7 +24992,7 @@ ${message.sources.map((source) => `- \`${source}\``).join("\n")}`;
24941
24992
  return _chunkOO2DBP6Ljs.rehydrate.call(void 0, _chunkA7Y5YW7Qjs.Modules.HandbookThreadMessage, {
24942
24993
  jsonApi: {
24943
24994
  ...dehydrated.jsonApi,
24944
- attributes: { ..._nullishCoalesce(_optionalChain([dehydrated, 'access', _703 => _703.jsonApi, 'optionalAccess', _704 => _704.attributes]), () => ( {})), content }
24995
+ attributes: { ..._nullishCoalesce(_optionalChain([dehydrated, 'access', _705 => _705.jsonApi, 'optionalAccess', _706 => _706.attributes]), () => ( {})), content }
24945
24996
  },
24946
24997
  included: dehydrated.included
24947
24998
  });
@@ -24950,8 +25001,8 @@ _chunk7QVYU63Ejs.__name.call(void 0, withSourcesInContent, "withSourcesInContent
24950
25001
  function useHandbookAsk(params) {
24951
25002
  const t = _nextintl.useTranslations.call(void 0, );
24952
25003
  const generateUrl = usePageUrlGenerator();
24953
- const shouldSyncUrl = _nullishCoalesce(_optionalChain([params, 'optionalAccess', _705 => _705.syncUrl]), () => ( true));
24954
- const handbookThreadId = _optionalChain([params, 'optionalAccess', _706 => _706.handbookThreadId]);
25004
+ const shouldSyncUrl = _nullishCoalesce(_optionalChain([params, 'optionalAccess', _707 => _707.syncUrl]), () => ( true));
25005
+ const handbookThreadId = _optionalChain([params, 'optionalAccess', _708 => _708.handbookThreadId]);
24955
25006
  const [threads, setThreads] = _react.useState.call(void 0, []);
24956
25007
  const [thread, setThread] = _react.useState.call(void 0, void 0);
24957
25008
  const [messages, setMessages] = _react.useState.call(void 0, []);
@@ -25013,12 +25064,12 @@ function useHandbookAsk(params) {
25013
25064
  ]);
25014
25065
  setSending(true);
25015
25066
  try {
25016
- let id = _optionalChain([thread, 'optionalAccess', _707 => _707.id]);
25067
+ let id = _optionalChain([thread, 'optionalAccess', _709 => _709.id]);
25017
25068
  if (id === void 0) {
25018
25069
  const created = await _chunkOO2DBP6Ljs.HandbookThreadService.create({
25019
25070
  id: _uuid.v4.call(void 0, ),
25020
25071
  question: trimmed,
25021
- handbookPageId: _optionalChain([options, 'optionalAccess', _708 => _708.handbookPageId])
25072
+ handbookPageId: _optionalChain([options, 'optionalAccess', _710 => _710.handbookPageId])
25022
25073
  });
25023
25074
  id = created.id;
25024
25075
  setThreads((current) => [created, ...current]);
@@ -25027,7 +25078,7 @@ function useHandbookAsk(params) {
25027
25078
  id: _uuid.v4.call(void 0, ),
25028
25079
  threadId: id,
25029
25080
  question: trimmed,
25030
- handbookPageId: _optionalChain([options, 'optionalAccess', _709 => _709.handbookPageId])
25081
+ handbookPageId: _optionalChain([options, 'optionalAccess', _711 => _711.handbookPageId])
25031
25082
  });
25032
25083
  }
25033
25084
  const loaded = await _chunkOO2DBP6Ljs.HandbookThreadService.findOne({ id });
@@ -25048,7 +25099,7 @@ function useHandbookAsk(params) {
25048
25099
  setSending(false);
25049
25100
  }
25050
25101
  },
25051
- [messages.length, sending, syncUrl, t, _optionalChain([thread, 'optionalAccess', _710 => _710.id])]
25102
+ [messages.length, sending, syncUrl, t, _optionalChain([thread, 'optionalAccess', _712 => _712.id])]
25052
25103
  );
25053
25104
  return { threads, thread, messages, sending, ask, selectThread, startNew };
25054
25105
  }
@@ -25604,7 +25655,7 @@ function HandbookPageContainer({ handbookPageId }) {
25604
25655
  };
25605
25656
  }, []);
25606
25657
  const section = _react.useMemo.call(void 0,
25607
- () => sections.find((candidate) => candidate.key === _optionalChain([handbookPage, 'optionalAccess', _711 => _711.section])),
25658
+ () => sections.find((candidate) => candidate.key === _optionalChain([handbookPage, 'optionalAccess', _713 => _713.section])),
25608
25659
  [sections, handbookPage]
25609
25660
  );
25610
25661
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -25693,7 +25744,7 @@ function AssistantSidebar({
25693
25744
  className: "block w-full truncate rounded-md px-2 py-1.5 text-start text-sm " + (activeId === thread.id ? "bg-primary/10 text-primary" : "hover:bg-muted text-foreground"),
25694
25745
  children: [
25695
25746
  thread.title,
25696
- _optionalChain([renderThreadBadge, 'optionalCall', _712 => _712(thread)])
25747
+ _optionalChain([renderThreadBadge, 'optionalCall', _714 => _714(thread)])
25697
25748
  ]
25698
25749
  },
25699
25750
  thread.id
@@ -25729,7 +25780,7 @@ function HandbookAskContainer({ handbookThreadId } = {}) {
25729
25780
  AssistantSidebar,
25730
25781
  {
25731
25782
  threads,
25732
- activeId: _optionalChain([thread, 'optionalAccess', _713 => _713.id]),
25783
+ activeId: _optionalChain([thread, 'optionalAccess', _715 => _715.id]),
25733
25784
  onSelect: selectThread,
25734
25785
  onNew: startNew,
25735
25786
  newLabel: t("handbook.chat.new"),
@@ -25737,7 +25788,7 @@ function HandbookAskContainer({ handbookThreadId } = {}) {
25737
25788
  }
25738
25789
  ) })
25739
25790
  ),
25740
- [selectThread, startNew, t, _optionalChain([thread, 'optionalAccess', _714 => _714.id]), threads]
25791
+ [selectThread, startNew, t, _optionalChain([thread, 'optionalAccess', _716 => _716.id]), threads]
25741
25792
  );
25742
25793
  return (
25743
25794
  // `RoundPageContainer` reads the page heading from the shared context, and
@@ -25749,7 +25800,7 @@ function HandbookAskContainer({ handbookThreadId } = {}) {
25749
25800
  RoundPageContainer,
25750
25801
  {
25751
25802
  module: _chunkA7Y5YW7Qjs.Modules.HandbookPage,
25752
- id: _optionalChain([thread, 'optionalAccess', _715 => _715.id]),
25803
+ id: _optionalChain([thread, 'optionalAccess', _717 => _717.id]),
25753
25804
  fullWidth: true,
25754
25805
  forceHeader: true,
25755
25806
  defaultDetailsOpen: true,
@@ -25801,7 +25852,7 @@ function EntityMentionLinkView({ type, id, alias }) {
25801
25852
  } catch (e25) {
25802
25853
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: alias });
25803
25854
  }
25804
- if (!_optionalChain([module, 'optionalAccess', _716 => _716.pageUrl])) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: alias });
25855
+ if (!_optionalChain([module, 'optionalAccess', _718 => _718.pageUrl])) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: alias });
25805
25856
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Link, { href: generate({ page: module, id }), children: alias });
25806
25857
  }
25807
25858
  _chunk7QVYU63Ejs.__name.call(void 0, EntityMentionLinkView, "EntityMentionLinkView");
@@ -25933,13 +25984,13 @@ function AssistantContainer({
25933
25984
  AssistantSidebar,
25934
25985
  {
25935
25986
  threads: ctx.threads,
25936
- activeId: _optionalChain([ctx, 'access', _717 => _717.assistant, 'optionalAccess', _718 => _718.id]),
25987
+ activeId: _optionalChain([ctx, 'access', _719 => _719.assistant, 'optionalAccess', _720 => _720.id]),
25937
25988
  onSelect: ctx.selectThread,
25938
25989
  renderThreadBadge
25939
25990
  }
25940
25991
  ) })
25941
25992
  ),
25942
- [ctx.threads, _optionalChain([ctx, 'access', _719 => _719.assistant, 'optionalAccess', _720 => _720.id]), ctx.selectThread, renderThreadBadge]
25993
+ [ctx.threads, _optionalChain([ctx, 'access', _721 => _721.assistant, 'optionalAccess', _722 => _722.id]), ctx.selectThread, renderThreadBadge]
25943
25994
  );
25944
25995
  const thread = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: !showThread ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25945
25996
  AssistantEmptyState,
@@ -25947,7 +25998,7 @@ function AssistantContainer({
25947
25998
  onSend: ctx.sendMessage,
25948
25999
  operatorMode: ctx.operatorMode,
25949
26000
  onOperatorModeChange: showOperatorToggle ? ctx.setOperatorMode : void 0,
25950
- composerLeading: _optionalChain([renderScopePicker, 'optionalCall', _721 => _721()])
26001
+ composerLeading: _optionalChain([renderScopePicker, 'optionalCall', _723 => _723()])
25951
26002
  }
25952
26003
  ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
25953
26004
  ctx.assistant ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -25979,7 +26030,7 @@ function AssistantContainer({
25979
26030
  AssistantSidebar,
25980
26031
  {
25981
26032
  threads: ctx.threads,
25982
- activeId: _optionalChain([ctx, 'access', _722 => _722.assistant, 'optionalAccess', _723 => _723.id]),
26033
+ activeId: _optionalChain([ctx, 'access', _724 => _724.assistant, 'optionalAccess', _725 => _725.id]),
25983
26034
  onSelect: ctx.selectThread,
25984
26035
  onNew: ctx.startNew,
25985
26036
  renderThreadBadge
@@ -25992,7 +26043,7 @@ function AssistantContainer({
25992
26043
  RoundPageContainer,
25993
26044
  {
25994
26045
  module: _chunkA7Y5YW7Qjs.Modules.Assistant,
25995
- id: _optionalChain([ctx, 'access', _724 => _724.assistant, 'optionalAccess', _725 => _725.id]),
26046
+ id: _optionalChain([ctx, 'access', _726 => _726.assistant, 'optionalAccess', _727 => _727.id]),
25996
26047
  fullWidth: true,
25997
26048
  forceHeader: true,
25998
26049
  defaultDetailsOpen: true,
@@ -26020,7 +26071,7 @@ function flattenBlocks(blocks) {
26020
26071
  if (typeof inline === "string") return inline;
26021
26072
  if (!inline || typeof inline !== "object") return "";
26022
26073
  const node = inline;
26023
- if (node.type === "mention") return _nullishCoalesce(_optionalChain([node, 'access', _726 => _726.props, 'optionalAccess', _727 => _727.alias]), () => ( ""));
26074
+ if (node.type === "mention") return _nullishCoalesce(_optionalChain([node, 'access', _728 => _728.props, 'optionalAccess', _729 => _729.alias]), () => ( ""));
26024
26075
  if (typeof node.text === "string") return node.text;
26025
26076
  if (Array.isArray(node.content)) return node.content.map(readInline).join("");
26026
26077
  return "";
@@ -26137,7 +26188,7 @@ function AssistantPageContainer({
26137
26188
  AssistantSidebar,
26138
26189
  {
26139
26190
  threads: ctx.threads,
26140
- activeId: _optionalChain([ctx, 'access', _728 => _728.assistant, 'optionalAccess', _729 => _729.id]),
26191
+ activeId: _optionalChain([ctx, 'access', _730 => _730.assistant, 'optionalAccess', _731 => _731.id]),
26141
26192
  onSelect: ctx.selectThread,
26142
26193
  onNew: ctx.startNew
26143
26194
  }
@@ -26413,14 +26464,14 @@ function ApprovalActionCard({ actionId, summary, onResolved, hiddenRelationshipK
26413
26464
  const presented = _react.useMemo.call(void 0, () => parseOperatorProposal(actionProposal), [actionProposal]);
26414
26465
  const legacy = _react.useMemo.call(void 0, () => presented ? void 0 : parseLegacyProposal(toolArgs), [presented, toolArgs]);
26415
26466
  const isUpdate = toolName === "update_entity";
26416
- const entityType = _nullishCoalesce(_nullishCoalesce(_optionalChain([presented, 'optionalAccess', _730 => _730.type]), () => ( _optionalChain([legacy, 'optionalAccess', _731 => _731.type]))), () => ( ""));
26467
+ const entityType = _nullishCoalesce(_nullishCoalesce(_optionalChain([presented, 'optionalAccess', _732 => _732.type]), () => ( _optionalChain([legacy, 'optionalAccess', _733 => _733.type]))), () => ( ""));
26417
26468
  const loose = t;
26418
26469
  const entityLabel = entityName(loose, entityType);
26419
- const targetLabel = _nullishCoalesce(_optionalChain([presented, 'optionalAccess', _732 => _732.target, 'optionalAccess', _733 => _733.label]), () => ( ""));
26470
+ const targetLabel = _nullishCoalesce(_optionalChain([presented, 'optionalAccess', _734 => _734.target, 'optionalAccess', _735 => _735.label]), () => ( ""));
26420
26471
  const rows = _react.useMemo.call(void 0, () => {
26421
26472
  const yes = t("features.assistant.approval.proposal.yes");
26422
26473
  const no = t("features.assistant.approval.proposal.no");
26423
- const attributes = _nullishCoalesce(_optionalChain([presented, 'optionalAccess', _734 => _734.attributes]), () => ( _optionalChain([legacy, 'optionalAccess', _735 => _735.attributes])));
26474
+ const attributes = _nullishCoalesce(_optionalChain([presented, 'optionalAccess', _736 => _736.attributes]), () => ( _optionalChain([legacy, 'optionalAccess', _737 => _737.attributes])));
26424
26475
  const attributeRows = Object.entries(_nullishCoalesce(attributes, () => ( {}))).flatMap(([key, value]) => {
26425
26476
  const text = formatAttribute(value, yes, no);
26426
26477
  return text === void 0 ? [] : [{ key: `attribute:${key}`, label: fieldLabel(loose, entityType, key), value: text }];
@@ -26458,7 +26509,7 @@ function ApprovalActionCard({ actionId, summary, onResolved, hiddenRelationshipK
26458
26509
  try {
26459
26510
  const message = kind === "approve" ? await _chunkOO2DBP6Ljs.AssistantActionService.approve({ id: actionId }) : await _chunkOO2DBP6Ljs.AssistantActionService.deny({ id: actionId });
26460
26511
  setStatus(kind === "approve" ? "executed" : "denied");
26461
- if (message) _optionalChain([onResolved, 'optionalCall', _736 => _736(message)]);
26512
+ if (message) _optionalChain([onResolved, 'optionalCall', _738 => _738(message)]);
26462
26513
  } catch (error) {
26463
26514
  console.error(`ApprovalActionCard: failed to ${kind} assistant action ${actionId}`, error);
26464
26515
  setFailed(true);
@@ -26603,10 +26654,10 @@ var useNotificationTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call
26603
26654
  const dateLocale = _chunkOO2DBP6Ljs.dateFormatLocale.call(void 0, _chunkA7Y5YW7Qjs.useI18nLocale.call(void 0, ));
26604
26655
  const generateUrl = usePageUrlGenerator();
26605
26656
  const { loadNotifications } = useNotificationContext();
26606
- const archived = _optionalChain([params, 'access', _737 => _737.context, 'optionalAccess', _738 => _738.archived]) === true;
26657
+ const archived = _optionalChain([params, 'access', _739 => _739.context, 'optionalAccess', _740 => _740.archived]) === true;
26607
26658
  const archiveNotification = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async (notification) => {
26608
26659
  await _chunkOO2DBP6Ljs.NotificationService.archive({ id: notification.id });
26609
- _optionalChain([params, 'access', _739 => _739.dataRetriever, 'optionalAccess', _740 => _740.removeElement, 'call', _741 => _741(notification)]);
26660
+ _optionalChain([params, 'access', _741 => _741.dataRetriever, 'optionalAccess', _742 => _742.removeElement, 'call', _743 => _743(notification)]);
26610
26661
  await loadNotifications();
26611
26662
  }, "archiveNotification");
26612
26663
  const tableData = _react.useMemo.call(void 0, () => {
@@ -26645,7 +26696,7 @@ var useNotificationTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call
26645
26696
  const data = generateNotificationData({ notification, generateUrl });
26646
26697
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-foreground text-sm", children: t.rich(`notification.${notification.notificationType}.description`, {
26647
26698
  strong: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (chunks) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "strong", { className: "font-medium", children: chunks }), "strong"),
26648
- actor: _nullishCoalesce(_optionalChain([data, 'access', _742 => _742.actor, 'optionalAccess', _743 => _743.name]), () => ( "")),
26699
+ actor: _nullishCoalesce(_optionalChain([data, 'access', _744 => _744.actor, 'optionalAccess', _745 => _745.name]), () => ( "")),
26649
26700
  title: data.title,
26650
26701
  message: _nullishCoalesce(notification.message, () => ( ""))
26651
26702
  }) });
@@ -26700,7 +26751,7 @@ var useNotificationTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call
26700
26751
  })
26701
26752
  };
26702
26753
  const columns = _react.useMemo.call(void 0, () => {
26703
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _744 => _744[field], 'optionalCall', _745 => _745()])).filter((col) => col !== void 0);
26754
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _746 => _746[field], 'optionalCall', _747 => _747()])).filter((col) => col !== void 0);
26704
26755
  }, [params.fields, fieldColumnMap, t, generateUrl]);
26705
26756
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
26706
26757
  }, "useNotificationTableStructure");
@@ -27110,11 +27161,11 @@ _chunk7QVYU63Ejs.__name.call(void 0, useReferralStats, "useReferralStats");
27110
27161
  // src/features/referral/components/ReferralWidget.tsx
27111
27162
 
27112
27163
  function inviteErrorCode(err) {
27113
- return _optionalChain([err, 'optionalAccess', _746 => _746.body, 'optionalAccess', _747 => _747.errors, 'optionalAccess', _748 => _748[0], 'optionalAccess', _749 => _749.code]);
27164
+ return _optionalChain([err, 'optionalAccess', _748 => _748.body, 'optionalAccess', _749 => _749.errors, 'optionalAccess', _750 => _750[0], 'optionalAccess', _751 => _751.code]);
27114
27165
  }
27115
27166
  _chunk7QVYU63Ejs.__name.call(void 0, inviteErrorCode, "inviteErrorCode");
27116
27167
  async function copyToClipboard(text) {
27117
- if (_optionalChain([navigator, 'access', _750 => _750.clipboard, 'optionalAccess', _751 => _751.writeText])) {
27168
+ if (_optionalChain([navigator, 'access', _752 => _752.clipboard, 'optionalAccess', _753 => _753.writeText])) {
27118
27169
  try {
27119
27170
  await navigator.clipboard.writeText(text);
27120
27171
  return true;
@@ -27177,7 +27228,7 @@ function ReferralWidget({
27177
27228
  const linkInputRef = _react.useRef.call(void 0, null);
27178
27229
  const config = _chunkI5BQLY7Vjs.getReferralConfig.call(void 0, );
27179
27230
  const baseUrl = config.referralUrlBase || (typeof window !== "undefined" ? window.location.origin : "");
27180
- const referralUrl = _optionalChain([stats, 'optionalAccess', _752 => _752.referralCode]) ? `${baseUrl}${config.referralPath}?${config.urlParamName}=${stats.referralCode}` : "";
27231
+ const referralUrl = _optionalChain([stats, 'optionalAccess', _754 => _754.referralCode]) ? `${baseUrl}${config.referralPath}?${config.urlParamName}=${stats.referralCode}` : "";
27181
27232
  if (!_chunkI5BQLY7Vjs.isReferralEnabled.call(void 0, )) {
27182
27233
  return null;
27183
27234
  }
@@ -27187,7 +27238,7 @@ function ReferralWidget({
27187
27238
  if (success) {
27188
27239
  setCopied(true);
27189
27240
  _chunkOO2DBP6Ljs.showToast.call(void 0, text.copiedMessage);
27190
- _optionalChain([onLinkCopied, 'optionalCall', _753 => _753()]);
27241
+ _optionalChain([onLinkCopied, 'optionalCall', _755 => _755()]);
27191
27242
  setTimeout(() => setCopied(false), 2e3);
27192
27243
  } else {
27193
27244
  _chunkOO2DBP6Ljs.showError.call(void 0, text.copyError);
@@ -27201,14 +27252,14 @@ function ReferralWidget({
27201
27252
  try {
27202
27253
  await sendInvite(email);
27203
27254
  _chunkOO2DBP6Ljs.showToast.call(void 0, text.inviteSent);
27204
- _optionalChain([onInviteSent, 'optionalCall', _754 => _754(email)]);
27255
+ _optionalChain([onInviteSent, 'optionalCall', _756 => _756(email)]);
27205
27256
  setEmail("");
27206
27257
  } catch (err) {
27207
27258
  const code = inviteErrorCode(err);
27208
27259
  _chunkOO2DBP6Ljs.showError.call(void 0,
27209
27260
  code === "REFERRAL_ALREADY_INVITED" ? text.alreadyInvited : code === "REFERRAL_ALREADY_REGISTERED" ? text.alreadyRegistered : text.inviteError
27210
27261
  );
27211
- _optionalChain([onInviteError, 'optionalCall', _755 => _755(err instanceof Error ? err : new Error(text.inviteError))]);
27262
+ _optionalChain([onInviteError, 'optionalCall', _757 => _757(err instanceof Error ? err : new Error(text.inviteError))]);
27212
27263
  }
27213
27264
  }, [
27214
27265
  email,
@@ -27348,7 +27399,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, ReferralDialog, "ReferralDialog");
27348
27399
 
27349
27400
 
27350
27401
  function createUsageFormatters(locale, currency) {
27351
- const symbol = _nullishCoalesce(_optionalChain([new Intl.NumberFormat(locale, { style: "currency", currency, currencyDisplay: "narrowSymbol" }), 'access', _756 => _756.formatToParts, 'call', _757 => _757(0), 'access', _758 => _758.find, 'call', _759 => _759((part) => part.type === "currency"), 'optionalAccess', _760 => _760.value]), () => ( currency));
27402
+ const symbol = _nullishCoalesce(_optionalChain([new Intl.NumberFormat(locale, { style: "currency", currency, currencyDisplay: "narrowSymbol" }), 'access', _758 => _758.formatToParts, 'call', _759 => _759(0), 'access', _760 => _760.find, 'call', _761 => _761((part) => part.type === "currency"), 'optionalAccess', _762 => _762.value]), () => ( currency));
27352
27403
  const decimal = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (value, decimals) => value.toLocaleString(locale, { minimumFractionDigits: decimals, maximumFractionDigits: decimals }), "decimal");
27353
27404
  const dayFormat = new Intl.DateTimeFormat(locale, { day: "numeric", month: "short", timeZone: "UTC" });
27354
27405
  const monthFormat = new Intl.DateTimeFormat(locale, { month: "short", year: "numeric", timeZone: "UTC" });
@@ -27462,7 +27513,7 @@ var useReferralAdminReferralTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__
27462
27513
  })
27463
27514
  };
27464
27515
  const columns = _react.useMemo.call(void 0, () => {
27465
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _761 => _761[field], 'optionalCall', _762 => _762()])).filter((col) => col !== void 0);
27516
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _763 => _763[field], 'optionalCall', _764 => _764()])).filter((col) => col !== void 0);
27466
27517
  }, [params.fields, fieldColumnMap, t, decimal]);
27467
27518
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
27468
27519
  }, "useReferralAdminReferralTableStructure");
@@ -27496,7 +27547,7 @@ var useReferralAdminReferrerTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__
27496
27547
  });
27497
27548
  }, [params.data]);
27498
27549
  const sortableHeader = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (sort, label) => () => {
27499
- const active = _optionalChain([context, 'optionalAccess', _763 => _763.sort]) === sort;
27550
+ const active = _optionalChain([context, 'optionalAccess', _765 => _765.sort]) === sort;
27500
27551
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27501
27552
  Button,
27502
27553
  {
@@ -27507,7 +27558,7 @@ var useReferralAdminReferrerTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__
27507
27558
  title: t("referral.admin.referrers.sortBy"),
27508
27559
  "aria-sort": active ? "descending" : void 0,
27509
27560
  "data-testid": active ? "referrals-referrers-sort" : void 0,
27510
- onClick: () => _optionalChain([context, 'optionalAccess', _764 => _764.onSort, 'call', _765 => _765(sort)]),
27561
+ onClick: () => _optionalChain([context, 'optionalAccess', _766 => _766.onSort, 'call', _767 => _767(sort)]),
27511
27562
  children: label
27512
27563
  }
27513
27564
  );
@@ -27619,8 +27670,8 @@ var useReferralAdminReferrerTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__
27619
27670
  })
27620
27671
  };
27621
27672
  const columns = _react.useMemo.call(void 0, () => {
27622
- return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _766 => _766[field], 'optionalCall', _767 => _767()])).filter((col) => col !== void 0);
27623
- }, [params.fields, fieldColumnMap, t, decimal, _optionalChain([context, 'optionalAccess', _768 => _768.sort])]);
27673
+ return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _768 => _768[field], 'optionalCall', _769 => _769()])).filter((col) => col !== void 0);
27674
+ }, [params.fields, fieldColumnMap, t, decimal, _optionalChain([context, 'optionalAccess', _770 => _770.sort])]);
27624
27675
  return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
27625
27676
  }, "useReferralAdminReferrerTableStructure");
27626
27677
  registerTableGenerator("referrals/administration/referrers", useReferralAdminReferrerTableStructure);
@@ -27669,10 +27720,10 @@ function ReferralsAdminFunnel({ summary }) {
27669
27720
  const { decimal } = useUsageFormatters();
27670
27721
  const current = summary.find((row) => row.window === "current");
27671
27722
  const steps = [
27672
- { label: t("referral.admin.tiles.visits"), value: _nullishCoalesce(_optionalChain([current, 'optionalAccess', _769 => _769.visits]), () => ( 0)) },
27673
- { label: t("referral.admin.tiles.invites"), value: _nullishCoalesce(_optionalChain([current, 'optionalAccess', _770 => _770.invitesSent]), () => ( 0)) },
27674
- { label: t("referral.admin.tiles.signups"), value: _nullishCoalesce(_optionalChain([current, 'optionalAccess', _771 => _771.signups]), () => ( 0)) },
27675
- { label: t("referral.admin.tiles.paying"), value: _nullishCoalesce(_optionalChain([current, 'optionalAccess', _772 => _772.paying]), () => ( 0)) }
27723
+ { label: t("referral.admin.tiles.visits"), value: _nullishCoalesce(_optionalChain([current, 'optionalAccess', _771 => _771.visits]), () => ( 0)) },
27724
+ { label: t("referral.admin.tiles.invites"), value: _nullishCoalesce(_optionalChain([current, 'optionalAccess', _772 => _772.invitesSent]), () => ( 0)) },
27725
+ { label: t("referral.admin.tiles.signups"), value: _nullishCoalesce(_optionalChain([current, 'optionalAccess', _773 => _773.signups]), () => ( 0)) },
27726
+ { label: t("referral.admin.tiles.paying"), value: _nullishCoalesce(_optionalChain([current, 'optionalAccess', _774 => _774.paying]), () => ( 0)) }
27676
27727
  ];
27677
27728
  const max = Math.max(...steps.map((step) => step.value), 0);
27678
27729
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { "data-testid": "referrals-funnel", className: "grid gap-2", children: [
@@ -28637,7 +28688,7 @@ function OAuthClientList({
28637
28688
  OAuthClientCard,
28638
28689
  {
28639
28690
  client,
28640
- onClick: () => _optionalChain([onClientClick, 'optionalCall', _773 => _773(client)]),
28691
+ onClick: () => _optionalChain([onClientClick, 'optionalCall', _775 => _775(client)]),
28641
28692
  onEdit: onEditClick ? () => onEditClick(client) : void 0,
28642
28693
  onDelete: onDeleteClick ? () => onDeleteClick(client) : void 0
28643
28694
  },
@@ -28662,11 +28713,11 @@ function OAuthClientForm({
28662
28713
  const t = _nextintl.useTranslations.call(void 0, );
28663
28714
  const isEditMode = !!client;
28664
28715
  const [formState, setFormState] = _react.useState.call(void 0, {
28665
- name: _optionalChain([client, 'optionalAccess', _774 => _774.name]) || "",
28666
- description: _optionalChain([client, 'optionalAccess', _775 => _775.description]) || "",
28667
- redirectUris: _optionalChain([client, 'optionalAccess', _776 => _776.redirectUris, 'optionalAccess', _777 => _777.length]) ? client.redirectUris : [""],
28716
+ name: _optionalChain([client, 'optionalAccess', _776 => _776.name]) || "",
28717
+ description: _optionalChain([client, 'optionalAccess', _777 => _777.description]) || "",
28718
+ redirectUris: _optionalChain([client, 'optionalAccess', _778 => _778.redirectUris, 'optionalAccess', _779 => _779.length]) ? client.redirectUris : [""],
28668
28719
  allowedScopes: client ? client.allowedScopes || [] : defaultScopes,
28669
- isConfidential: _nullishCoalesce(_optionalChain([client, 'optionalAccess', _778 => _778.isConfidential]), () => ( true))
28720
+ isConfidential: _nullishCoalesce(_optionalChain([client, 'optionalAccess', _780 => _780.isConfidential]), () => ( true))
28670
28721
  });
28671
28722
  const [errors, setErrors] = _react.useState.call(void 0, {});
28672
28723
  const validate = _react.useCallback.call(void 0, () => {
@@ -29076,7 +29127,7 @@ function OAuthConsentScreen({
29076
29127
  if (error || !clientInfo) {
29077
29128
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-dvh 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: [
29078
29129
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.AlertTriangle, { className: "h-4 w-4" }),
29079
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDescription, { children: _optionalChain([error, 'optionalAccess', _779 => _779.message]) || t("oauth.consent.invalid_request") })
29130
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDescription, { children: _optionalChain([error, 'optionalAccess', _781 => _781.message]) || t("oauth.consent.invalid_request") })
29080
29131
  ] }) }) }) });
29081
29132
  }
29082
29133
  const { client, scopes } = clientInfo;
@@ -29299,7 +29350,7 @@ function WaitlistForm({ onSuccess }) {
29299
29350
  source: _chunkI5BQLY7Vjs.getSignupSource.call(void 0, )
29300
29351
  });
29301
29352
  setIsSuccess(true);
29302
- _optionalChain([onSuccess, 'optionalCall', _780 => _780()]);
29353
+ _optionalChain([onSuccess, 'optionalCall', _782 => _782()]);
29303
29354
  } catch (e) {
29304
29355
  errorToast({ title: t("common.errors.error"), error: e });
29305
29356
  } finally {
@@ -29510,11 +29561,11 @@ function WaitlistList({ fullWidth } = {}) {
29510
29561
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Button, { variant: "outline", size: "icon", onClick: refresh, disabled: !data.isLoaded, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.RefreshCw, { className: `h-4 w-4 ${!data.isLoaded ? "animate-spin" : ""}` }) })
29511
29562
  ] });
29512
29563
  const totals = [
29513
- { key: "total", label: t("waitlist.admin.total"), value: _optionalChain([stats, 'optionalAccess', _781 => _781.total]) },
29514
- { key: "pending", label: t("waitlist.admin.status.pending"), value: _optionalChain([stats, 'optionalAccess', _782 => _782.pending]) },
29515
- { key: "confirmed", label: t("waitlist.admin.status.confirmed"), value: _optionalChain([stats, 'optionalAccess', _783 => _783.confirmed]) },
29516
- { key: "invited", label: t("waitlist.admin.status.invited"), value: _optionalChain([stats, 'optionalAccess', _784 => _784.invited]) },
29517
- { key: "registered", label: t("waitlist.admin.status.registered"), value: _optionalChain([stats, 'optionalAccess', _785 => _785.registered]) }
29564
+ { key: "total", label: t("waitlist.admin.total"), value: _optionalChain([stats, 'optionalAccess', _783 => _783.total]) },
29565
+ { key: "pending", label: t("waitlist.admin.status.pending"), value: _optionalChain([stats, 'optionalAccess', _784 => _784.pending]) },
29566
+ { key: "confirmed", label: t("waitlist.admin.status.confirmed"), value: _optionalChain([stats, 'optionalAccess', _785 => _785.confirmed]) },
29567
+ { key: "invited", label: t("waitlist.admin.status.invited"), value: _optionalChain([stats, 'optionalAccess', _786 => _786.invited]) },
29568
+ { key: "registered", label: t("waitlist.admin.status.registered"), value: _optionalChain([stats, 'optionalAccess', _787 => _787.registered]) }
29518
29569
  ];
29519
29570
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-4", children: [
29520
29571
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "dl", { className: "grid grid-cols-5 divide-x divide-border rounded-md border", "data-testid": "waitlist-totals", children: totals.map((total) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col-reverse items-center gap-1 p-3", children: [
@@ -29869,7 +29920,7 @@ var ModuleEditor = _react.memo.call(void 0, /* @__PURE__ */ _chunk7QVYU63Ejs.__n
29869
29920
  ] }),
29870
29921
  roleIds.map((roleId) => {
29871
29922
  const roleTokens = block[roleId];
29872
- const roleLabel = _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _786 => _786[roleId]]), () => ( roleId));
29923
+ const roleLabel = _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _788 => _788[roleId]]), () => ( roleId));
29873
29924
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "tr", { className: "border-b last:border-b-0", children: [
29874
29925
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-4 py-1 text-xs font-medium text-muted-foreground", children: roleLabel }),
29875
29926
  _chunkI5BQLY7Vjs.ACTION_TYPES.map((action) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-2 py-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -29906,7 +29957,7 @@ function RbacContainer() {
29906
29957
  }, []);
29907
29958
  const sortedModuleIds = _react.useMemo.call(void 0, () => {
29908
29959
  if (!matrix) return [];
29909
- return Object.keys(matrix).sort((a, b) => (_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _787 => _787[a]]), () => ( a))).localeCompare(_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _788 => _788[b]]), () => ( b))));
29960
+ return Object.keys(matrix).sort((a, b) => (_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _789 => _789[a]]), () => ( a))).localeCompare(_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _790 => _790[b]]), () => ( b))));
29910
29961
  }, [matrix, moduleNames]);
29911
29962
  const roleIds = _react.useMemo.call(void 0, () => {
29912
29963
  if (roleNames) {
@@ -29969,7 +30020,7 @@ function RbacContainer() {
29969
30020
  id === selectedModuleId && "bg-muted font-medium text-foreground",
29970
30021
  id !== selectedModuleId && "text-muted-foreground"
29971
30022
  ),
29972
- children: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _789 => _789[id]]), () => ( id))
30023
+ children: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _791 => _791[id]]), () => ( id))
29973
30024
  }
29974
30025
  ) }, id)) }) }),
29975
30026
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "section", { className: "flex-1 overflow-y-auto p-4", children: selectedModuleId && selectedBlock ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -29977,7 +30028,7 @@ function RbacContainer() {
29977
30028
  {
29978
30029
  moduleId: selectedModuleId,
29979
30030
  block: selectedBlock,
29980
- moduleLabel: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _790 => _790[selectedModuleId]]), () => ( selectedModuleId)),
30031
+ moduleLabel: _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _792 => _792[selectedModuleId]]), () => ( selectedModuleId)),
29981
30032
  roleIds,
29982
30033
  roleNames,
29983
30034
  onOpenPicker: openPicker
@@ -29988,12 +30039,12 @@ function RbacContainer() {
29988
30039
  RbacPermissionPicker,
29989
30040
  {
29990
30041
  open: !!activePicker,
29991
- anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _791 => _791.anchor]), () => ( null)),
30042
+ anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _793 => _793.anchor]), () => ( null)),
29992
30043
  value: activeValue,
29993
- isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _792 => _792.isRoleColumn]), () => ( false)),
30044
+ isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _794 => _794.isRoleColumn]), () => ( false)),
29994
30045
  knownSegments: activeSegments,
29995
30046
  onSetValue: handleSetValue,
29996
- onClear: _optionalChain([activePicker, 'optionalAccess', _793 => _793.isRoleColumn]) ? handleClear : void 0,
30047
+ onClear: _optionalChain([activePicker, 'optionalAccess', _795 => _795.isRoleColumn]) ? handleClear : void 0,
29997
30048
  onClose: closePicker
29998
30049
  }
29999
30050
  )
@@ -30060,7 +30111,7 @@ function RbacByRoleContainer() {
30060
30111
  }, [roleNames]);
30061
30112
  const sortedModuleIds = _react.useMemo.call(void 0, () => {
30062
30113
  if (!matrix) return [];
30063
- return Object.keys(matrix).sort((a, b) => (_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _794 => _794[a]]), () => ( a))).localeCompare(_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _795 => _795[b]]), () => ( b))));
30114
+ return Object.keys(matrix).sort((a, b) => (_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _796 => _796[a]]), () => ( a))).localeCompare(_nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _797 => _797[b]]), () => ( b))));
30064
30115
  }, [matrix, moduleNames]);
30065
30116
  _react.useEffect.call(void 0, () => {
30066
30117
  if (!selectedRoleId && sortedRoleIds.length > 0) {
@@ -30109,7 +30160,7 @@ function RbacByRoleContainer() {
30109
30160
  id === selectedRoleId && "bg-muted font-medium text-foreground",
30110
30161
  id !== selectedRoleId && "text-muted-foreground"
30111
30162
  ),
30112
- children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _796 => _796[id]]), () => ( id))
30163
+ children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _798 => _798[id]]), () => ( id))
30113
30164
  }
30114
30165
  ) }, id)) }) }),
30115
30166
  /* @__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: [
@@ -30129,7 +30180,7 @@ function RbacByRoleContainer() {
30129
30180
  if (!block) return null;
30130
30181
  const defaultTokens = _nullishCoalesce(block.default, () => ( []));
30131
30182
  const roleTokens = block[selectedRoleId];
30132
- const moduleLabel = _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _797 => _797[moduleId]]), () => ( moduleId));
30183
+ const moduleLabel = _nullishCoalesce(_optionalChain([moduleNames, 'optionalAccess', _799 => _799[moduleId]]), () => ( moduleId));
30133
30184
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
30134
30185
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "tr", { className: "border-b bg-muted/40", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30135
30186
  "td",
@@ -30144,7 +30195,7 @@ function RbacByRoleContainer() {
30144
30195
  _chunkI5BQLY7Vjs.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))
30145
30196
  ] }),
30146
30197
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "tr", { className: "border-b last:border-b-0", children: [
30147
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-4 py-1 text-xs font-medium text-muted-foreground", children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _798 => _798[selectedRoleId]]), () => ( selectedRoleId)) }),
30198
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-4 py-1 text-xs font-medium text-muted-foreground", children: _nullishCoalesce(_optionalChain([roleNames, 'optionalAccess', _800 => _800[selectedRoleId]]), () => ( selectedRoleId)) }),
30148
30199
  _chunkI5BQLY7Vjs.ACTION_TYPES.map((action) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "td", { className: "px-2 py-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30149
30200
  CellButton3,
30150
30201
  {
@@ -30165,12 +30216,12 @@ function RbacByRoleContainer() {
30165
30216
  RbacPermissionPicker,
30166
30217
  {
30167
30218
  open: !!activePicker,
30168
- anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _799 => _799.anchor]), () => ( null)),
30219
+ anchor: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _801 => _801.anchor]), () => ( null)),
30169
30220
  value: activeValue,
30170
- isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _800 => _800.isRoleColumn]), () => ( false)),
30221
+ isRoleColumn: _nullishCoalesce(_optionalChain([activePicker, 'optionalAccess', _802 => _802.isRoleColumn]), () => ( false)),
30171
30222
  knownSegments: activeSegments,
30172
30223
  onSetValue: handleSetValue,
30173
- onClear: _optionalChain([activePicker, 'optionalAccess', _801 => _801.isRoleColumn]) ? handleClear : void 0,
30224
+ onClear: _optionalChain([activePicker, 'optionalAccess', _803 => _803.isRoleColumn]) ? handleClear : void 0,
30174
30225
  onClose: closePicker
30175
30226
  }
30176
30227
  )
@@ -30830,4 +30881,4 @@ _chunk7QVYU63Ejs.__name.call(void 0, RbacByRoleContainer, "RbacByRoleContainer")
30830
30881
 
30831
30882
 
30832
30883
  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.SharedProvider = SharedProvider; exports.useSharedContext = useSharedContext; exports.AdministrationProvider = AdministrationProvider; exports.useAdministrationContext = useAdministrationContext; exports.SocketContext = SocketContext; exports.SocketProvider = SocketProvider; exports.useSocketContext = useSocketContext; exports.CurrentUserProvider = CurrentUserProvider; exports.useCurrentUserContext = useCurrentUserContext; exports.useCurrentUserContextOptional = useCurrentUserContextOptional; exports.errorToast = errorToast; 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.Input = Input; exports.Label = Label; exports.isAccountDeletionEnabled = isAccountDeletionEnabled; exports.AccountDeletionAdminTrigger = AccountDeletionAdminTrigger; 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.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.DirectionProvider = DirectionProvider; exports.useDir = useDir; 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.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.commandFilterByKeywords = commandFilterByKeywords; 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.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.useSidebarControls = useSidebarControls; exports.useOptionalSidebar = useOptionalSidebar; 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.EditableAvatar = EditableAvatar; exports.TableCellAvatar = TableCellAvatar; exports.HeaderChildrenProvider = HeaderChildrenProvider; exports.useHeaderChildren = useHeaderChildren; exports.useHeaderMobileChildren = useHeaderMobileChildren; exports.useHeaderRootLabel = useHeaderRootLabel; exports.HeaderLeftContentProvider = HeaderLeftContentProvider; exports.useHeaderLeftContent = useHeaderLeftContent; exports.HeaderLogoProvider = HeaderLogoProvider; exports.useHeaderLogo = useHeaderLogo; exports.BreadcrumbNavigation = BreadcrumbNavigation; exports.ContentTitle = ContentTitle; exports.BreadcrumbRootProvider = BreadcrumbRootProvider; exports.useIsBreadcrumbRootHidden = useIsBreadcrumbRootHidden; exports.Header = Header; exports.MobileNavigationProvider = MobileNavigationProvider; exports.useMobileNavigationItems = useMobileNavigationItems; exports.MobileNavigationBar = MobileNavigationBar; exports.ModeToggleSwitch = ModeToggleSwitch; exports.PageSection = PageSection; exports.recentPagesAtom = recentPagesAtom; exports.RecentPagesNavigator = RecentPagesNavigator; exports.PageContainer = PageContainer; exports.partitionTabs = partitionTabs; exports.MermaidDiagram = MermaidDiagram; exports.ReactMarkdownContainer = ReactMarkdownContainer; exports.HEADER_ROW_MIN_H = HEADER_ROW_MIN_H; exports.RoundPageContainerTitle = RoundPageContainerTitle; exports.SectionHeader = SectionHeader; exports.MicroLabel = MicroLabel; exports.DetailField = DetailField; exports.RoundPageContainer = RoundPageContainer; exports.TabsContainer = TabsContainer; exports.AttributeElement = AttributeElement; exports.AllUsersListContainer = AllUsersListContainer; exports.PlatformUsersList = PlatformUsersList; exports.PlatformUsersContainer = PlatformUsersContainer; 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.BlockNoteStaticViewer = BlockNoteStaticViewer; exports.FormFeatures = FormFeatures; exports.CommonAssociationTrigger = CommonAssociationTrigger; exports.CommonAssociationCommandDialog = CommonAssociationCommandDialog; exports.triggerAssociationToast = triggerAssociationToast; exports.ActionBarProvider = ActionBarProvider; exports.useIsInActionBar = useIsInActionBar; 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.nextDateRange = nextDateRange; exports.DateRangeSelector = DateRangeSelector; exports.hasOpenInnerLayer = hasOpenInnerLayer; 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.MultiFileUploader = MultiFileUploader; 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.EntityHeroLayout = EntityHeroLayout; exports.EntityHero = EntityHero; exports.EntityHeroAvatar = EntityHeroAvatar; exports.EntityHeroMetaRow = EntityHeroMetaRow; exports.EntitySection = EntitySection; exports.AccountDeletionCancelledNotice = AccountDeletionCancelledNotice; exports.AccountDeletionKeepContainer = AccountDeletionKeepContainer; 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.ADMIN_PLATFORM_SECTIONS = ADMIN_PLATFORM_SECTIONS; exports.AdminIndexGrid = AdminIndexGrid; exports.AdminIndexContainer = AdminIndexContainer; exports.ADMINISTRATION_I18N_KEYS = ADMINISTRATION_I18N_KEYS; exports.AI_CONNECTIONS_I18N_KEYS = AI_CONNECTIONS_I18N_KEYS; exports.AiConnectionsProvider = AiConnectionsProvider; exports.useAiConnections = useAiConnections; exports.AiConnectionDeleter = AiConnectionDeleter; exports.AiConnectionEditor = AiConnectionEditor; exports.AiConnectionTypeCard = AiConnectionTypeCard; exports.AI_CONNECTION_TYPE_ORDER = AI_CONNECTION_TYPE_ORDER; exports.AiConnectionsContainer = AiConnectionsContainer; exports.CreditWarningBanner = CreditWarningBanner; exports.CompanyContent = CompanyContent; exports.TokenStatusIndicator = TokenStatusIndicator; exports.CompanyDetails = CompanyDetails; exports.AdminCompanyContainer = AdminCompanyContainer; exports.CompanyEditor = CompanyEditor; exports.CompaniesList = CompaniesList; exports.CompaniesListContainer = CompaniesListContainer; exports.CompanyContainer = CompanyContainer; exports.CompanyConfigurationEditor = CompanyConfigurationEditor; exports.CompanyDeleter = CompanyDeleter; exports.ContentsList = ContentsList; exports.ContentsListById = ContentsListById; exports.RelevantContentsList = RelevantContentsList; exports.EmailBlastEditor = EmailBlastEditor; exports.EmailBlastsList = EmailBlastsList; exports.EmailBlastsListContainer = EmailBlastsListContainer; exports.EmailBlastSendDialog = EmailBlastSendDialog; exports.EmailBlastContainer = EmailBlastContainer; 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.HowToReindexButton = HowToReindexButton; exports.HowToList = HowToList; exports.HowToListContainer = HowToListContainer; exports.HowToSelector = HowToSelector; exports.AssistantComposer = AssistantComposer; exports.MessageSourcesPanel = MessageSourcesPanel; exports.MessageItem = MessageItem; exports.MessageList = MessageList; exports.AssistantThread = AssistantThread; exports.HandbookAskSheet = HandbookAskSheet; exports.HandbookSyncButton = HandbookSyncButton; exports.HandbookIndexStatus = HandbookIndexStatus; exports.HandbookSectionGroup = HandbookSectionGroup; exports.HandbookContents = HandbookContents; exports.HandbookAdminContainer = HandbookAdminContainer; exports.HandbookPageDetails = HandbookPageDetails; exports.HandbookPageNeighbours = HandbookPageNeighbours; exports.HandbookPageToc = HandbookPageToc; exports.HandbookPageNavigator = HandbookPageNavigator; exports.HandbookPageContainer = HandbookPageContainer; exports.HandbookAskContainer = HandbookAskContainer; exports.EntityMentionLink = EntityMentionLink; exports.AssistantProvider = AssistantProvider; exports.useAssistantContext = useAssistantContext; exports.AssistantEmptyState = AssistantEmptyState; exports.AssistantContainer = AssistantContainer; exports.AssistantBlockNoteComposer = AssistantBlockNoteComposer; exports.AssistantPageContainer = AssistantPageContainer; exports.ApprovalActionCard = ApprovalActionCard; exports.AssistantContainerWithApprovals = AssistantContainerWithApprovals; exports.NotificationErrorBoundary = NotificationErrorBoundary; exports.NotificationIcon = NotificationIcon; exports.generateNotificationData = generateNotificationData; exports.NotificationToast = NotificationToast; exports.NotificationMenuItem = NotificationMenuItem; exports.NotificationContextProvider = NotificationContextProvider; exports.useNotificationContext = useNotificationContext; exports.NotificationViewSwitcher = NotificationViewSwitcher; exports.NotificationsList = NotificationsList; exports.NotificationsListContainer = NotificationsListContainer; exports.NotificationModal = NotificationModal; exports.usePushNotifications = usePushNotifications; exports.PushNotificationProvider = PushNotificationProvider; exports.OnboardingCard = OnboardingCard; exports.ReferralCodeCapture = ReferralCodeCapture; exports.ReferralWidget = ReferralWidget; exports.ReferralDialog = ReferralDialog; exports.createUsageFormatters = createUsageFormatters; exports.useUsageFormatters = useUsageFormatters; exports.CATEGORICAL_CEILING = CATEGORICAL_CEILING; exports.OTHER_COLOR = OTHER_COLOR; exports.SEQUENTIAL_RAMP = SEQUENTIAL_RAMP; exports.seriesColor = seriesColor; exports.seriesTheme = seriesTheme; exports.ReferralsAdminFunnel = ReferralsAdminFunnel; exports.metricValue = metricValue; exports.cacheHitPercentage = cacheHitPercentage; exports.percentageDelta = percentageDelta; exports.ReferralsAdminTiles = ReferralsAdminTiles; exports.ReferralsAdminContainer = ReferralsAdminContainer; exports.SignupSourceCapture = SignupSourceCapture; 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.useOAuthScopeText = useOAuthScopeText; 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.OAuthCompanySelector = OAuthCompanySelector; 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.mapOnboardingSide = mapOnboardingSide; exports.OnboardingProvider = OnboardingProvider; exports.useOnboarding = useOnboarding; exports.CommonProvider = CommonProvider; exports.useCommonContext = useCommonContext; exports.SessionProvider = SessionProvider; exports.useSession = useSession; exports.ViewportProvider = ViewportProvider; exports.useNotificationSync = useNotificationSync; exports.usePageTracker = usePageTracker; exports.useSocket = useSocket; exports.useSubscriptionStatus = useSubscriptionStatus; exports.formatDate = formatDate2; exports.useBillingFormatOptions = useBillingFormatOptions; exports.promotionCodeDiscount = promotionCodeDiscount; exports.subscriptionDiscount = subscriptionDiscount; exports.applyDiscount = applyDiscount; exports.CouponRefresher = CouponRefresher; exports.couponPageModule = couponPageModule; exports.parseOptionalPositiveInt = parseOptionalPositiveInt; exports.parseOptionalDecimal = parseOptionalDecimal; exports.optionalPositiveInt = optionalPositiveInt; exports.optionalDecimal = optionalDecimal; exports.optionalDate = optionalDate; exports.couponCodeSchema = couponCodeSchema; exports.couponCodeDefaults = couponCodeDefaults; exports.toCouponCodeInput = toCouponCodeInput; exports.couponCurrencyOptions = couponCurrencyOptions; exports.CouponCodeFields = CouponCodeFields; exports.CouponEditor = CouponEditor; exports.CouponProvider = CouponProvider; exports.useCouponContext = useCouponContext; exports.CouponCodeActions = CouponCodeActions; exports.useContentTableStructure = useContentTableStructure; exports.useOAuthClients = useOAuthClients; exports.useOAuthClient = useOAuthClient;
30833
- //# sourceMappingURL=chunk-4OCBNCKH.js.map
30884
+ //# sourceMappingURL=chunk-B4ZH2FOC.js.map