@flamingo-stack/openframe-frontend-core 0.0.203 → 0.0.204-snapshot.20260523020255

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 (70) hide show
  1. package/dist/chunk-27APPAJN.cjs +24 -0
  2. package/dist/chunk-27APPAJN.cjs.map +1 -0
  3. package/dist/{chunk-XGL5FKIK.js → chunk-D6BNDYZK.js} +114 -4
  4. package/dist/chunk-D6BNDYZK.js.map +1 -0
  5. package/dist/chunk-MJNXIEV2.js +24 -0
  6. package/dist/chunk-MJNXIEV2.js.map +1 -0
  7. package/dist/{chunk-25LVV26X.cjs → chunk-NLXY4QZE.cjs} +114 -4
  8. package/dist/chunk-NLXY4QZE.cjs.map +1 -0
  9. package/dist/{chunk-E6Q6UGDK.js → chunk-OFCRX24Y.js} +383 -569
  10. package/dist/chunk-OFCRX24Y.js.map +1 -0
  11. package/dist/{chunk-3YH2M76N.cjs → chunk-RDXOQWBY.cjs} +556 -742
  12. package/dist/chunk-RDXOQWBY.cjs.map +1 -0
  13. package/dist/components/announcement-bar.d.ts.map +1 -1
  14. package/dist/components/features/index.cjs +4 -3
  15. package/dist/components/features/index.cjs.map +1 -1
  16. package/dist/components/features/index.js +3 -2
  17. package/dist/components/index.cjs +4 -3
  18. package/dist/components/index.cjs.map +1 -1
  19. package/dist/components/index.js +3 -2
  20. package/dist/components/navigation/index.cjs +4 -3
  21. package/dist/components/navigation/index.cjs.map +1 -1
  22. package/dist/components/navigation/index.js +3 -2
  23. package/dist/components/navigation/navigation-sidebar.d.ts.map +1 -1
  24. package/dist/components/shared/product-release/product-release-card-skeleton.d.ts +1 -1
  25. package/dist/components/shared/product-release/product-release-card-skeleton.d.ts.map +1 -1
  26. package/dist/components/shared/product-release/product-release-card.d.ts +19 -12
  27. package/dist/components/shared/product-release/product-release-card.d.ts.map +1 -1
  28. package/dist/components/ui/index.cjs +4 -3
  29. package/dist/components/ui/index.cjs.map +1 -1
  30. package/dist/components/ui/index.js +3 -2
  31. package/dist/contexts/endpoints-runtime-context.d.ts +28 -0
  32. package/dist/contexts/endpoints-runtime-context.d.ts.map +1 -0
  33. package/dist/contexts/index.cjs +13 -0
  34. package/dist/contexts/index.cjs.map +1 -0
  35. package/dist/contexts/index.d.ts +24 -0
  36. package/dist/contexts/index.d.ts.map +1 -0
  37. package/dist/contexts/index.js +13 -0
  38. package/dist/contexts/index.js.map +1 -0
  39. package/dist/hooks/index.cjs +5 -2
  40. package/dist/hooks/index.cjs.map +1 -1
  41. package/dist/hooks/index.d.ts +1 -0
  42. package/dist/hooks/index.d.ts.map +1 -1
  43. package/dist/hooks/index.js +4 -1
  44. package/dist/hooks/use-access-code-integration.d.ts +48 -0
  45. package/dist/hooks/use-access-code-integration.d.ts.map +1 -0
  46. package/dist/hooks/use-contact-submission.d.ts.map +1 -1
  47. package/dist/index.cjs +4 -3
  48. package/dist/index.cjs.map +1 -1
  49. package/dist/index.js +7 -6
  50. package/dist/utils/access-code-client.d.ts +21 -37
  51. package/dist/utils/access-code-client.d.ts.map +1 -1
  52. package/dist/utils/index.cjs +10 -51
  53. package/dist/utils/index.cjs.map +1 -1
  54. package/dist/utils/index.js +11 -47
  55. package/dist/utils/index.js.map +1 -1
  56. package/package.json +7 -1
  57. package/src/components/announcement-bar.tsx +25 -3
  58. package/src/components/navigation/navigation-sidebar.tsx +3 -1
  59. package/src/components/shared/product-release/product-release-card-skeleton.tsx +66 -70
  60. package/src/components/shared/product-release/product-release-card.tsx +194 -242
  61. package/src/contexts/endpoints-runtime-context.tsx +68 -0
  62. package/src/contexts/index.ts +29 -0
  63. package/src/hooks/index.ts +6 -0
  64. package/src/hooks/use-access-code-integration.ts +107 -0
  65. package/src/hooks/use-contact-submission.ts +6 -2
  66. package/src/utils/access-code-client.ts +32 -75
  67. package/dist/chunk-25LVV26X.cjs.map +0 -1
  68. package/dist/chunk-3YH2M76N.cjs.map +0 -1
  69. package/dist/chunk-E6Q6UGDK.js.map +0 -1
  70. package/dist/chunk-XGL5FKIK.js.map +0 -1
@@ -16,7 +16,10 @@
16
16
 
17
17
 
18
18
 
19
- var _chunk25LVV26Xcjs = require('./chunk-25LVV26X.cjs');
19
+ var _chunkNLXY4QZEcjs = require('./chunk-NLXY4QZE.cjs');
20
+
21
+
22
+ var _chunk27APPAJNcjs = require('./chunk-27APPAJN.cjs');
20
23
 
21
24
 
22
25
 
@@ -145,7 +148,7 @@ var _chunkVRHGVLSLcjs = require('./chunk-VRHGVLSL.cjs');
145
148
 
146
149
  // src/components/pagination.tsx
147
150
  var _lucidereact = require('lucide-react');
148
- var _react = require('react'); var React38 = _interopRequireWildcard(_react); var React = _interopRequireWildcard(_react); var React3 = _interopRequireWildcard(_react); var React2 = _interopRequireWildcard(_react); var React4 = _interopRequireWildcard(_react); var React5 = _interopRequireWildcard(_react); var React6 = _interopRequireWildcard(_react); var React8 = _interopRequireWildcard(_react); var React7 = _interopRequireWildcard(_react); var React12 = _interopRequireWildcard(_react); var React11 = _interopRequireWildcard(_react); var React13 = _interopRequireWildcard(_react); var React14 = _interopRequireWildcard(_react); var React16 = _interopRequireWildcard(_react); var React19 = _interopRequireWildcard(_react); var React20 = _interopRequireWildcard(_react); var React21 = _interopRequireWildcard(_react); var React22 = _interopRequireWildcard(_react); var React24 = _interopRequireWildcard(_react); var React29 = _interopRequireWildcard(_react); var React32 = _interopRequireWildcard(_react); var React33 = _interopRequireWildcard(_react); var React36 = _interopRequireWildcard(_react); var React40 = _interopRequireWildcard(_react); var React51 = _interopRequireWildcard(_react); var React52 = _interopRequireWildcard(_react); var React54 = _interopRequireWildcard(_react); var React55 = _interopRequireWildcard(_react); var React56 = _interopRequireWildcard(_react); var React57 = _interopRequireWildcard(_react); var React58 = _interopRequireWildcard(_react); var React59 = _interopRequireWildcard(_react); var React60 = _interopRequireWildcard(_react); var React61 = _interopRequireWildcard(_react); var React62 = _interopRequireWildcard(_react); var React63 = _interopRequireWildcard(_react); var React64 = _interopRequireWildcard(_react); var React65 = _interopRequireWildcard(_react); var React66 = _interopRequireWildcard(_react); var React68 = _interopRequireWildcard(_react); var React69 = _interopRequireWildcard(_react); var React73 = _interopRequireWildcard(_react); var React72 = _interopRequireWildcard(_react); var React76 = _interopRequireWildcard(_react); var React78 = _interopRequireWildcard(_react); var React81 = _interopRequireWildcard(_react); var React80 = _interopRequireWildcard(_react); var React83 = _interopRequireWildcard(_react); var React85 = _interopRequireWildcard(_react); var React86 = _interopRequireWildcard(_react); var React88 = _interopRequireWildcard(_react); var React89 = _interopRequireWildcard(_react); var React90 = _interopRequireWildcard(_react); var React92 = _interopRequireWildcard(_react); var React91 = _interopRequireWildcard(_react); var React97 = _interopRequireWildcard(_react); var React100 = _interopRequireWildcard(_react); var React104 = _interopRequireWildcard(_react); var React103 = _interopRequireWildcard(_react); var React101 = _interopRequireWildcard(_react); var React102 = _interopRequireWildcard(_react);
151
+ var _react = require('react'); var React37 = _interopRequireWildcard(_react); var React = _interopRequireWildcard(_react); var React3 = _interopRequireWildcard(_react); var React2 = _interopRequireWildcard(_react); var React4 = _interopRequireWildcard(_react); var React5 = _interopRequireWildcard(_react); var React6 = _interopRequireWildcard(_react); var React8 = _interopRequireWildcard(_react); var React7 = _interopRequireWildcard(_react); var React11 = _interopRequireWildcard(_react); var React10 = _interopRequireWildcard(_react); var React12 = _interopRequireWildcard(_react); var React13 = _interopRequireWildcard(_react); var React15 = _interopRequireWildcard(_react); var React18 = _interopRequireWildcard(_react); var React19 = _interopRequireWildcard(_react); var React20 = _interopRequireWildcard(_react); var React21 = _interopRequireWildcard(_react); var React23 = _interopRequireWildcard(_react); var React28 = _interopRequireWildcard(_react); var React31 = _interopRequireWildcard(_react); var React32 = _interopRequireWildcard(_react); var React35 = _interopRequireWildcard(_react); var React39 = _interopRequireWildcard(_react); var React50 = _interopRequireWildcard(_react); var React51 = _interopRequireWildcard(_react); var React53 = _interopRequireWildcard(_react); var React54 = _interopRequireWildcard(_react); var React55 = _interopRequireWildcard(_react); var React56 = _interopRequireWildcard(_react); var React57 = _interopRequireWildcard(_react); var React58 = _interopRequireWildcard(_react); var React59 = _interopRequireWildcard(_react); var React60 = _interopRequireWildcard(_react); var React61 = _interopRequireWildcard(_react); var React62 = _interopRequireWildcard(_react); var React63 = _interopRequireWildcard(_react); var React64 = _interopRequireWildcard(_react); var React65 = _interopRequireWildcard(_react); var React67 = _interopRequireWildcard(_react); var React68 = _interopRequireWildcard(_react); var React72 = _interopRequireWildcard(_react); var React71 = _interopRequireWildcard(_react); var React75 = _interopRequireWildcard(_react); var React77 = _interopRequireWildcard(_react); var React80 = _interopRequireWildcard(_react); var React79 = _interopRequireWildcard(_react); var React82 = _interopRequireWildcard(_react); var React84 = _interopRequireWildcard(_react); var React85 = _interopRequireWildcard(_react); var React87 = _interopRequireWildcard(_react); var React88 = _interopRequireWildcard(_react); var React89 = _interopRequireWildcard(_react); var React91 = _interopRequireWildcard(_react); var React90 = _interopRequireWildcard(_react); var React96 = _interopRequireWildcard(_react); var React99 = _interopRequireWildcard(_react); var React103 = _interopRequireWildcard(_react); var React102 = _interopRequireWildcard(_react); var React100 = _interopRequireWildcard(_react); var React101 = _interopRequireWildcard(_react);
149
152
  var _jsxruntime = require('react/jsx-runtime');
150
153
  var Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationEllipsis, PaginationPrevious, PaginationNext;
151
154
  var init_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
@@ -237,19 +240,19 @@ var init_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
237
240
  ) })
238
241
  ] }) });
239
242
  };
240
- PaginationContent = exports.PaginationContent = React38.forwardRef(
243
+ PaginationContent = exports.PaginationContent = React37.forwardRef(
241
244
  ({ className, ...props }, ref) => {
242
245
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { ref, className: _chunkUC43NICZcjs.cn.call(void 0, "flex items-center justify-center", className), ...props });
243
246
  }
244
247
  );
245
248
  PaginationContent.displayName = "PaginationContent";
246
- PaginationItem = exports.PaginationItem = React38.forwardRef(
249
+ PaginationItem = exports.PaginationItem = React37.forwardRef(
247
250
  ({ className, ...props }, ref) => {
248
251
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { ref, className: _chunkUC43NICZcjs.cn.call(void 0, "", className), ...props });
249
252
  }
250
253
  );
251
254
  PaginationItem.displayName = "PaginationItem";
252
- PaginationLink = exports.PaginationLink = React38.forwardRef(
255
+ PaginationLink = exports.PaginationLink = React37.forwardRef(
253
256
  ({ className, ...props }, ref) => {
254
257
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
255
258
  "button",
@@ -265,7 +268,7 @@ var init_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
265
268
  }
266
269
  );
267
270
  PaginationLink.displayName = "PaginationLink";
268
- PaginationEllipsis = exports.PaginationEllipsis = React38.forwardRef(
271
+ PaginationEllipsis = exports.PaginationEllipsis = React37.forwardRef(
269
272
  ({ className, ...props }, ref) => {
270
273
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
271
274
  "span",
@@ -282,7 +285,7 @@ var init_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
282
285
  }
283
286
  );
284
287
  PaginationEllipsis.displayName = "PaginationEllipsis";
285
- PaginationPrevious = exports.PaginationPrevious = React38.forwardRef(
288
+ PaginationPrevious = exports.PaginationPrevious = React37.forwardRef(
286
289
  ({ className, ...props }, ref) => {
287
290
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRMB5DVEDcjs.Button, { ref, variant: "outline", size: "icon", className: _chunkUC43NICZcjs.cn.call(void 0, "h-10 w-10", className), ...props, children: [
288
291
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -291,7 +294,7 @@ var init_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
291
294
  }
292
295
  );
293
296
  PaginationPrevious.displayName = "PaginationPrevious";
294
- PaginationNext = exports.PaginationNext = React38.forwardRef(
297
+ PaginationNext = exports.PaginationNext = React37.forwardRef(
295
298
  ({ className, ...props }, ref) => {
296
299
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkRMB5DVEDcjs.Button, { ref, variant: "outline", size: "icon", className: _chunkUC43NICZcjs.cn.call(void 0, "h-10 w-10", className), ...props, children: [
297
300
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -834,7 +837,7 @@ function AutocompleteInner(props, ref) {
834
837
  }, [valueArray, options]);
835
838
  const selectedOption = !multiple && selectedOptions.length > 0 ? selectedOptions[0] : null;
836
839
  const inputPlaceholder = multiple ? valueArray.length === 0 ? placeholder : "Add More..." : placeholder;
837
- const autoLimitTags = _chunk25LVV26Xcjs.useAutoLimitTags.call(void 0, {
840
+ const autoLimitTags = _chunkNLXY4QZEcjs.useAutoLimitTags.call(void 0, {
838
841
  count: multiple ? selectedOptions.length : 0,
839
842
  limitTags: multiple ? limitTagsProp : 0,
840
843
  placeholder: inputPlaceholder
@@ -2373,102 +2376,6 @@ var OS_PLATFORMS = [
2373
2376
  ];
2374
2377
  var DEFAULT_OS_PLATFORM = "windows";
2375
2378
 
2376
- // src/utils/access-code-client.ts
2377
-
2378
- async function validateAccessCode(email, code) {
2379
- try {
2380
- const response = await fetch("/api/validate-access-code", {
2381
- method: "POST",
2382
- headers: {
2383
- "Content-Type": "application/json"
2384
- },
2385
- body: JSON.stringify({ email, code })
2386
- });
2387
- if (!response.ok) {
2388
- const error = await response.json().catch(() => ({}));
2389
- throw new Error(error.error || "Validation request failed");
2390
- }
2391
- return await response.json();
2392
- } catch (error) {
2393
- return {
2394
- valid: false,
2395
- message: error instanceof Error ? error.message : "Validation failed"
2396
- };
2397
- }
2398
- }
2399
- async function consumeAccessCode(email, code) {
2400
- try {
2401
- const response = await fetch("/api/consume-access-code", {
2402
- method: "POST",
2403
- headers: {
2404
- "Content-Type": "application/json"
2405
- },
2406
- body: JSON.stringify({ email, code })
2407
- });
2408
- if (!response.ok) {
2409
- const error = await response.json().catch(() => ({}));
2410
- throw new Error(error.error || "Consumption request failed");
2411
- }
2412
- return await response.json();
2413
- } catch (error) {
2414
- return {
2415
- success: false,
2416
- consumed: false,
2417
- message: error instanceof Error ? error.message : "Consumption failed"
2418
- };
2419
- }
2420
- }
2421
- async function validateAndConsumeAccessCode(email, code) {
2422
- const validation = await validateAccessCode(email, code);
2423
- if (!validation.valid) {
2424
- return validation;
2425
- }
2426
- const consumption = await consumeAccessCode(email, code);
2427
- return {
2428
- ...validation,
2429
- consumed: consumption.consumed,
2430
- message: consumption.consumed ? `Access granted for ${validation.cohort_name}` : consumption.message || validation.message
2431
- };
2432
- }
2433
- function useAccessCodeIntegration() {
2434
- const [isValidating, setIsValidating] = React38.default.useState(false);
2435
- const [isConsuming, setIsConsuming] = React38.default.useState(false);
2436
- const validate = async (email, code) => {
2437
- setIsValidating(true);
2438
- try {
2439
- return await validateAccessCode(email, code);
2440
- } finally {
2441
- setIsValidating(false);
2442
- }
2443
- };
2444
- const consume = async (email, code) => {
2445
- setIsConsuming(true);
2446
- try {
2447
- return await consumeAccessCode(email, code);
2448
- } finally {
2449
- setIsConsuming(false);
2450
- }
2451
- };
2452
- const validateAndConsume = async (email, code) => {
2453
- setIsValidating(true);
2454
- setIsConsuming(true);
2455
- try {
2456
- return await validateAndConsumeAccessCode(email, code);
2457
- } finally {
2458
- setIsValidating(false);
2459
- setIsConsuming(false);
2460
- }
2461
- };
2462
- return {
2463
- validate,
2464
- consume,
2465
- validateAndConsume,
2466
- isValidating,
2467
- isConsuming,
2468
- isProcessing: isValidating || isConsuming
2469
- };
2470
- }
2471
-
2472
2379
  // src/utils/validation-utils.ts
2473
2380
  function isValidEmailDomain(domain) {
2474
2381
  if (!domain || typeof domain !== "string") {
@@ -2781,7 +2688,7 @@ function toToolLabel(input) {
2781
2688
  if (!input) return "";
2782
2689
  const toolType = normalizeToolType(input);
2783
2690
  if (toolType) {
2784
- return _chunk25LVV26Xcjs.toolLabels[toolType];
2691
+ return _chunkNLXY4QZEcjs.toolLabels[toolType];
2785
2692
  }
2786
2693
  return input;
2787
2694
  }
@@ -2792,7 +2699,7 @@ function getToolTypeAliases(toolType) {
2792
2699
  return Object.entries(toolAliasMap).filter(([_, value]) => value === toolType).map(([key]) => key);
2793
2700
  }
2794
2701
  function getToolLabel(toolType) {
2795
- return _chunk25LVV26Xcjs.toolLabels[toolType] || toolType;
2702
+ return _chunkNLXY4QZEcjs.toolLabels[toolType] || toolType;
2796
2703
  }
2797
2704
 
2798
2705
  // src/types/shell.types.ts
@@ -3354,7 +3261,7 @@ function ToolCallRow({ call, expanded, onToggle, batchStatus, execution }) {
3354
3261
  onClick: onToggle,
3355
3262
  className: "flex gap-2 items-start w-full p-3 cursor-pointer text-left",
3356
3263
  children: [
3357
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk25LVV26Xcjs.ToolIcon, { toolType, size: 16 }) }),
3264
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNLXY4QZEcjs.ToolIcon, { toolType, size: 16 }) }),
3358
3265
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3359
3266
  "div",
3360
3267
  {
@@ -4284,7 +4191,7 @@ var getInitials = (name) => {
4284
4191
  }
4285
4192
  return (words[0].charAt(0) + words[words.length - 1].charAt(0)).toUpperCase();
4286
4193
  };
4287
- var SquareAvatar = React11.memo(React11.forwardRef(
4194
+ var SquareAvatar = React10.memo(React10.forwardRef(
4288
4195
  ({ className, src, alt, size = "md", fallback, variant = "square", ...props }, ref) => {
4289
4196
  const sizeClasses4 = {
4290
4197
  sm: "h-8 w-8",
@@ -4485,7 +4392,7 @@ var ConnectionIndicator = ({ status }) => {
4485
4392
  }
4486
4393
  ) });
4487
4394
  };
4488
- var ChatContainer = React12.forwardRef(
4395
+ var ChatContainer = React11.forwardRef(
4489
4396
  ({ className, children, ...props }, ref) => {
4490
4397
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4491
4398
  "div",
@@ -4504,7 +4411,7 @@ var ChatContainer = React12.forwardRef(
4504
4411
  }
4505
4412
  );
4506
4413
  ChatContainer.displayName = "ChatContainer";
4507
- var ChatHeader = React12.forwardRef(
4414
+ var ChatHeader = React11.forwardRef(
4508
4415
  ({ className, userName = 'Grace "Fae" Meadows', userTitle = "Your Personal Assistant", userAvatar, userIcon, onSettingsClick, onNewChat, onClose, onBack, showNewChat = false, connectionStatus = "disconnected", serverUrl = null, headerActions, ticketInfo, ...props }, ref) => {
4509
4416
  const cardClasses = "rounded-md bg-ods-card shadow-[0_18px_48px_rgba(0,0,0,0.45)] border border-ods-border ring-1 ring-black/20";
4510
4417
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -4596,7 +4503,7 @@ var ChatHeader = React12.forwardRef(
4596
4503
  }
4597
4504
  );
4598
4505
  ChatHeader.displayName = "ChatHeader";
4599
- var ChatContent = React12.forwardRef(
4506
+ var ChatContent = React11.forwardRef(
4600
4507
  ({ className, children, ...props }, ref) => {
4601
4508
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4602
4509
  "div",
@@ -4613,7 +4520,7 @@ var ChatContent = React12.forwardRef(
4613
4520
  }
4614
4521
  );
4615
4522
  ChatContent.displayName = "ChatContent";
4616
- var ChatFooter = React12.forwardRef(
4523
+ var ChatFooter = React11.forwardRef(
4617
4524
  ({ className, children, ...props }, ref) => {
4618
4525
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4619
4526
  "div",
@@ -4639,7 +4546,7 @@ _chunkUC43NICZcjs.init_cn.call(void 0, );
4639
4546
  _chunkUC43NICZcjs.init_cn.call(void 0, );
4640
4547
 
4641
4548
 
4642
- var Textarea = React13.forwardRef(
4549
+ var Textarea = React12.forwardRef(
4643
4550
  ({ className, invalid = false, label, error, endIcon, endIconAsButton = false, endIconButtonProps, ...props }, ref) => {
4644
4551
  const isInvalid = invalid || !!error;
4645
4552
  const hasEndIcon = !!endIcon;
@@ -4746,7 +4653,7 @@ Textarea.displayName = "Textarea";
4746
4653
  _chunkUC43NICZcjs.init_cn.call(void 0, );
4747
4654
 
4748
4655
 
4749
- var ChatTypingIndicator = React14.forwardRef(
4656
+ var ChatTypingIndicator = React13.forwardRef(
4750
4657
  ({ className, size = "md", showText = false, dotClassName, ...props }, ref) => {
4751
4658
  const dotSizeClasses = {
4752
4659
  sm: "w-1 h-1",
@@ -5251,7 +5158,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
5251
5158
  className: "flex gap-[var(--spacing-system-xs)] items-start p-[var(--spacing-system-s)] cursor-pointer text-left w-full",
5252
5159
  onClick: () => setExpanded((prev) => !prev),
5253
5160
  children: [
5254
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk25LVV26Xcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
5161
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNLXY4QZEcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
5255
5162
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5256
5163
  "div",
5257
5164
  {
@@ -5378,7 +5285,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
5378
5285
  rendered = render(refForRender);
5379
5286
  seenRendered.set(key, rendered);
5380
5287
  }
5381
- if (React38.default.isValidElement(rendered) && rendered.type === BlockCard) {
5288
+ if (React37.default.isValidElement(rendered) && rendered.type === BlockCard) {
5382
5289
  const props2 = rendered.props;
5383
5290
  const markerEnd = match.index + match[0].length;
5384
5291
  parts.push({ kind: "text", text: text.slice(cursor, markerEnd) });
@@ -6085,7 +5992,7 @@ _chunkUC43NICZcjs.init_cn.call(void 0, );
6085
5992
  var _reacttabs = require('@radix-ui/react-tabs'); var TabsPrimitive = _interopRequireWildcard(_reacttabs);
6086
5993
 
6087
5994
  var Tabs = TabsPrimitive.Root;
6088
- var TabsList = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5995
+ var TabsList = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6089
5996
  TabsPrimitive.List,
6090
5997
  {
6091
5998
  ref,
@@ -6097,7 +6004,7 @@ var TabsList = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__
6097
6004
  }
6098
6005
  ));
6099
6006
  TabsList.displayName = TabsPrimitive.List.displayName;
6100
- var TabsTrigger = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6007
+ var TabsTrigger = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6101
6008
  TabsPrimitive.Trigger,
6102
6009
  {
6103
6010
  ref,
@@ -6109,7 +6016,7 @@ var TabsTrigger = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
6109
6016
  }
6110
6017
  ));
6111
6018
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
6112
- var TabsContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6019
+ var TabsContent = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6113
6020
  TabsPrimitive.Content,
6114
6021
  {
6115
6022
  ref,
@@ -6474,7 +6381,7 @@ var RATIO_TO_CSS_ASPECT = {
6474
6381
  landscape: "16 / 9"
6475
6382
  };
6476
6383
  function LazyBite({ ratio, children }) {
6477
- const { ref, isNear } = _chunk25LVV26Xcjs.useNearViewport.call(void 0, "500px");
6384
+ const { ref, isNear } = _chunkNLXY4QZEcjs.useNearViewport.call(void 0, "500px");
6478
6385
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, style: { aspectRatio: RATIO_TO_CSS_ASPECT[ratio] }, children: isNear ? children : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full h-full bg-ods-card rounded-md" }) });
6479
6386
  }
6480
6387
  function VideoBitesDisplay({
@@ -6672,9 +6579,9 @@ _chunkUC43NICZcjs.init_cn.call(void 0, );
6672
6579
 
6673
6580
 
6674
6581
 
6675
- var ChatQuickAction = React19.forwardRef(
6582
+ var ChatQuickAction = React18.forwardRef(
6676
6583
  ({ className, text, onAction, onClick, isHintActive, onHintInteraction, disabled = false, ...props }, ref) => {
6677
- const handleClick = React19.useCallback((e) => {
6584
+ const handleClick = React18.useCallback((e) => {
6678
6585
  if (onHintInteraction) {
6679
6586
  onHintInteraction();
6680
6587
  }
@@ -6720,7 +6627,7 @@ _chunkUC43NICZcjs.init_cn.call(void 0, );
6720
6627
 
6721
6628
 
6722
6629
 
6723
- var ChatTicketItem = React20.forwardRef(
6630
+ var ChatTicketItem = React19.forwardRef(
6724
6631
  ({ className, ticket, onClick, ...props }, ref) => {
6725
6632
  const isResolved = resolveTicketStatus(ticket.status) === "RESOLVED";
6726
6633
  const subtitle = [ticket.ticketNumber, ticket.category, ticket.timeAgo].filter(Boolean).join(" \u2022 ");
@@ -6773,19 +6680,19 @@ function getMask(top, bottom) {
6773
6680
  if (bottom) return "linear-gradient(to bottom, black calc(100% - 64px), transparent)";
6774
6681
  return "none";
6775
6682
  }
6776
- var ChatTicketList = React21.forwardRef(
6683
+ var ChatTicketList = React20.forwardRef(
6777
6684
  ({ className, tickets, onTicketClick, ...props }, ref) => {
6778
- const scrollRef = React21.useRef(null);
6779
- const [fadeTop, setFadeTop] = React21.useState(false);
6780
- const [fadeBottom, setFadeBottom] = React21.useState(false);
6781
- const updateFade = React21.useCallback(() => {
6685
+ const scrollRef = React20.useRef(null);
6686
+ const [fadeTop, setFadeTop] = React20.useState(false);
6687
+ const [fadeBottom, setFadeBottom] = React20.useState(false);
6688
+ const updateFade = React20.useCallback(() => {
6782
6689
  const el = scrollRef.current;
6783
6690
  if (!el) return;
6784
6691
  setFadeTop(el.scrollTop > 0);
6785
6692
  setFadeBottom(el.scrollHeight - el.scrollTop - el.clientHeight > 1);
6786
6693
  }, []);
6787
6694
  const ticketCount = tickets.length;
6788
- React21.useLayoutEffect(() => {
6695
+ React20.useLayoutEffect(() => {
6789
6696
  updateFade();
6790
6697
  }, [ticketCount, updateFade]);
6791
6698
  if (tickets.length === 0) return null;
@@ -6835,7 +6742,7 @@ var _reacthovercard = require('@radix-ui/react-hover-card'); var HoverCardPrimit
6835
6742
 
6836
6743
  var HoverCard = HoverCardPrimitive.Root;
6837
6744
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
6838
- var HoverCardContent = React22.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6745
+ var HoverCardContent = React21.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6839
6746
  HoverCardPrimitive.Content,
6840
6747
  {
6841
6748
  ref,
@@ -6882,7 +6789,7 @@ var formatTokenCount = (count) => {
6882
6789
  return String(count);
6883
6790
  };
6884
6791
  var hasAnyBreakdownRow = (breakdown) => !!breakdown && !!(breakdown.haikuRewriter || breakdown.haikuClassifier || breakdown.haikuSummarizer);
6885
- var ModelDisplay = React38.default.forwardRef(
6792
+ var ModelDisplay = React37.default.forwardRef(
6886
6793
  ({
6887
6794
  className,
6888
6795
  provider,
@@ -7015,7 +6922,7 @@ _chunkUC43NICZcjs.init_cn.call(void 0, );
7015
6922
  _chunkRMB5DVEDcjs.init_button2.call(void 0, );
7016
6923
 
7017
6924
 
7018
- var DialogListItemSkeleton = React24.forwardRef(
6925
+ var DialogListItemSkeleton = React23.forwardRef(
7019
6926
  ({ className, ...props }, ref) => {
7020
6927
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
7021
6928
  "div",
@@ -7041,7 +6948,7 @@ var DialogListItemSkeleton = React24.forwardRef(
7041
6948
  }
7042
6949
  );
7043
6950
  DialogListItemSkeleton.displayName = "DialogListItemSkeleton";
7044
- var ChatSidebarSkeleton = React24.forwardRef(
6951
+ var ChatSidebarSkeleton = React23.forwardRef(
7045
6952
  ({ className, dialogCount = 8, showNewChatButton = true, ...props }, ref) => {
7046
6953
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
7047
6954
  "div",
@@ -7560,7 +7467,7 @@ function useJetStreamDialogSubscription({
7560
7467
  });
7561
7468
  }
7562
7469
  const { name = "openframe-frontend-jetstream", user = "machine", pass = "" } = clientConfig;
7563
- const client = _chunk25LVV26Xcjs.createNatsClient.call(void 0, {
7470
+ const client = _chunkNLXY4QZEcjs.createNatsClient.call(void 0, {
7564
7471
  servers: url,
7565
7472
  name,
7566
7473
  user,
@@ -7896,7 +7803,7 @@ function useNatsDialogSubscription({
7896
7803
  });
7897
7804
  }
7898
7805
  const { name = "openframe-frontend", user = "machine", pass = "" } = clientConfig;
7899
- const client = _chunk25LVV26Xcjs.createNatsClient.call(void 0, {
7806
+ const client = _chunkNLXY4QZEcjs.createNatsClient.call(void 0, {
7900
7807
  servers: url,
7901
7808
  name,
7902
7809
  user,
@@ -9623,7 +9530,7 @@ function Header({ config, platform }) {
9623
9530
  }, [config.autoHide]);
9624
9531
  const renderNavigationItem = (item) => {
9625
9532
  if (item.element) {
9626
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React38.default.Fragment, { children: item.element }, item.id);
9533
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React37.default.Fragment, { children: item.element }, item.id);
9627
9534
  }
9628
9535
  if (item.children && item.children.length > 0) {
9629
9536
  const isOpen = openDropdowns[item.id] || false;
@@ -10483,10 +10390,10 @@ var MINIMIZED_WIDTH = 56;
10483
10390
  var EXPANDED_WIDTH = 224;
10484
10391
  var STORAGE_KEY = "of.navigationSidebar.minimized";
10485
10392
  function NavigationSidebar({ config, disabled = false }) {
10486
- const isMdUp = _nullishCoalesce(_chunk25LVV26Xcjs.useMdUp.call(void 0, ), () => ( false));
10487
- const isLgUp = _nullishCoalesce(_chunk25LVV26Xcjs.useLgUp.call(void 0, ), () => ( false));
10393
+ const isMdUp = _nullishCoalesce(_chunkNLXY4QZEcjs.useMdUp.call(void 0, ), () => ( false));
10394
+ const isLgUp = _nullishCoalesce(_chunkNLXY4QZEcjs.useLgUp.call(void 0, ), () => ( false));
10488
10395
  const isTablet = isMdUp && !isLgUp;
10489
- const [desktopMinimized, setDesktopMinimized] = _chunk25LVV26Xcjs.useLocalStorage.call(void 0,
10396
+ const [desktopMinimized, setDesktopMinimized] = _chunkNLXY4QZEcjs.useLocalStorage.call(void 0,
10490
10397
  STORAGE_KEY,
10491
10398
  _nullishCoalesce(config.minimized, () => ( false))
10492
10399
  );
@@ -10524,7 +10431,8 @@ function NavigationSidebar({ config, disabled = false }) {
10524
10431
  } else if (item.path) {
10525
10432
  _optionalChain([config, 'access', _333 => _333.onNavigate, 'optionalCall', _334 => _334(item.path)]);
10526
10433
  }
10527
- }, [config]);
10434
+ if (isTablet) setTabletMinimized(true);
10435
+ }, [config, isTablet]);
10528
10436
  const { primaryItems, secondaryItems } = _react.useMemo.call(void 0, () => ({
10529
10437
  primaryItems: config.items.filter((item) => item.section !== "secondary"),
10530
10438
  secondaryItems: config.items.filter((item) => item.section === "secondary")
@@ -10621,7 +10529,7 @@ _chunkUC43NICZcjs.init_cn.call(void 0, );
10621
10529
  // src/components/features/notifications/notifications-context.tsx
10622
10530
 
10623
10531
 
10624
- var NotificationsContext = React29.createContext(null);
10532
+ var NotificationsContext = React28.createContext(null);
10625
10533
  function reducer(state, action) {
10626
10534
  switch (action.type) {
10627
10535
  case "add": {
@@ -10656,10 +10564,10 @@ function NotificationsProvider({
10656
10564
  onShowPopupsChange,
10657
10565
  onHistoryClick
10658
10566
  }) {
10659
- const [notifications, dispatch] = React29.useReducer(reducer, initialNotifications);
10660
- const [isOpen, setIsOpen] = React29.useState(false);
10661
- const [showPopups, setShowPopupsState] = React29.useState(defaultShowPopups);
10662
- const addNotification = React29.useCallback(
10567
+ const [notifications, dispatch] = React28.useReducer(reducer, initialNotifications);
10568
+ const [isOpen, setIsOpen] = React28.useState(false);
10569
+ const [showPopups, setShowPopupsState] = React28.useState(defaultShowPopups);
10570
+ const addNotification = React28.useCallback(
10663
10571
  (input) => {
10664
10572
  const id = _nullishCoalesce(input.id, () => ( generateId()));
10665
10573
  const notification = {
@@ -10673,26 +10581,26 @@ function NotificationsProvider({
10673
10581
  },
10674
10582
  [maxNotifications]
10675
10583
  );
10676
- const markRead = React29.useCallback((id) => dispatch({ type: "markRead", id }), []);
10677
- const markAllRead = React29.useCallback(() => dispatch({ type: "markAllRead" }), []);
10678
- const markSettled = React29.useCallback((id) => dispatch({ type: "markSettled", id }), []);
10679
- const remove = React29.useCallback((id) => dispatch({ type: "remove", id }), []);
10680
- const clear = React29.useCallback(() => dispatch({ type: "clear" }), []);
10681
- const open = React29.useCallback(() => setIsOpen(true), []);
10682
- const close = React29.useCallback(() => setIsOpen(false), []);
10683
- const toggle = React29.useCallback(() => setIsOpen((v) => !v), []);
10684
- const setShowPopups = React29.useCallback(
10584
+ const markRead = React28.useCallback((id) => dispatch({ type: "markRead", id }), []);
10585
+ const markAllRead = React28.useCallback(() => dispatch({ type: "markAllRead" }), []);
10586
+ const markSettled = React28.useCallback((id) => dispatch({ type: "markSettled", id }), []);
10587
+ const remove = React28.useCallback((id) => dispatch({ type: "remove", id }), []);
10588
+ const clear = React28.useCallback(() => dispatch({ type: "clear" }), []);
10589
+ const open = React28.useCallback(() => setIsOpen(true), []);
10590
+ const close = React28.useCallback(() => setIsOpen(false), []);
10591
+ const toggle = React28.useCallback(() => setIsOpen((v) => !v), []);
10592
+ const setShowPopups = React28.useCallback(
10685
10593
  (value2) => {
10686
10594
  setShowPopupsState(value2);
10687
10595
  _optionalChain([onShowPopupsChange, 'optionalCall', _335 => _335(value2)]);
10688
10596
  },
10689
10597
  [onShowPopupsChange]
10690
10598
  );
10691
- const unreadCount = React29.useMemo(
10599
+ const unreadCount = React28.useMemo(
10692
10600
  () => notifications.reduce((acc, n) => n.read ? acc : acc + 1, 0),
10693
10601
  [notifications]
10694
10602
  );
10695
- const value = React29.useMemo(
10603
+ const value = React28.useMemo(
10696
10604
  () => ({
10697
10605
  notifications,
10698
10606
  unreadCount,
@@ -10731,14 +10639,14 @@ function NotificationsProvider({
10731
10639
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NotificationsContext.Provider, { value, children });
10732
10640
  }
10733
10641
  function useNotifications() {
10734
- const ctx = React29.useContext(NotificationsContext);
10642
+ const ctx = React28.useContext(NotificationsContext);
10735
10643
  if (!ctx) {
10736
10644
  throw new Error("useNotifications must be used inside <NotificationsProvider>");
10737
10645
  }
10738
10646
  return ctx;
10739
10647
  }
10740
10648
  function useOptionalNotifications() {
10741
- return React29.useContext(NotificationsContext);
10649
+ return React28.useContext(NotificationsContext);
10742
10650
  }
10743
10651
 
10744
10652
  // src/components/navigation/header-button.tsx
@@ -10777,7 +10685,7 @@ function HeaderGlobalSearch({
10777
10685
  placeholder = "Global Search",
10778
10686
  className
10779
10687
  }) {
10780
- const [internalValue, setInternalValue] = React38.default.useState(value);
10688
+ const [internalValue, setInternalValue] = React37.default.useState(value);
10781
10689
  const currentValue = onChange ? value : internalValue;
10782
10690
  const handleChange = (e) => {
10783
10691
  const newValue = e.target.value;
@@ -10880,7 +10788,7 @@ function HeaderOrganizationFilter({
10880
10788
 
10881
10789
  // src/components/navigation/app-header.tsx
10882
10790
 
10883
- var AppHeader = React38.default.memo(function AppHeader2({
10791
+ var AppHeader = React37.default.memo(function AppHeader2({
10884
10792
  showSearch,
10885
10793
  onSearch,
10886
10794
  showOrganizations,
@@ -10900,7 +10808,7 @@ var AppHeader = React38.default.memo(function AppHeader2({
10900
10808
  onToggleMobileMenu,
10901
10809
  disabled = false
10902
10810
  }) {
10903
- const isMdUp = _nullishCoalesce(_chunk25LVV26Xcjs.useMdUp.call(void 0, ), () => ( false));
10811
+ const isMdUp = _nullishCoalesce(_chunkNLXY4QZEcjs.useMdUp.call(void 0, ), () => ( false));
10904
10812
  const dimmedClass = disabled ? "pointer-events-none opacity-50" : "";
10905
10813
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
10906
10814
  "header",
@@ -11079,7 +10987,7 @@ var Drawer = DialogPrimitive.Root;
11079
10987
  var DrawerTrigger = DialogPrimitive.Trigger;
11080
10988
  var DrawerClose = DialogPrimitive.Close;
11081
10989
  var DrawerPortal = DialogPrimitive.Portal;
11082
- var DrawerOverlay = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10990
+ var DrawerOverlay = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11083
10991
  DialogPrimitive.Overlay,
11084
10992
  {
11085
10993
  ref,
@@ -11123,7 +11031,7 @@ var drawerPanelVariants = _classvarianceauthority.cva.call(void 0,
11123
11031
  }
11124
11032
  }
11125
11033
  );
11126
- var DrawerContent = React32.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DrawerPortal, { children: [
11034
+ var DrawerContent = React31.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DrawerPortal, { children: [
11127
11035
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DrawerOverlay, {}),
11128
11036
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11129
11037
  DialogPrimitive.Content,
@@ -11149,7 +11057,7 @@ var DrawerHeader = ({
11149
11057
  }
11150
11058
  );
11151
11059
  DrawerHeader.displayName = "DrawerHeader";
11152
- var DrawerTitle = React32.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-4", children: [
11060
+ var DrawerTitle = React31.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-4", children: [
11153
11061
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11154
11062
  DialogPrimitive.Title,
11155
11063
  {
@@ -11168,7 +11076,7 @@ var DrawerTitle = React32.forwardRef(({ className, children, ...props }, ref) =>
11168
11076
  ] })
11169
11077
  ] }));
11170
11078
  DrawerTitle.displayName = "DrawerTitle";
11171
- var DrawerDescription = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11079
+ var DrawerDescription = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11172
11080
  DialogPrimitive.Description,
11173
11081
  {
11174
11082
  ref,
@@ -11208,9 +11116,9 @@ _chunkUC43NICZcjs.init_cn.call(void 0, );
11208
11116
 
11209
11117
  var _reactswitch = require('@radix-ui/react-switch'); var SwitchPrimitives = _interopRequireWildcard(_reactswitch);
11210
11118
 
11211
- var Switch = React33.forwardRef(({ className, checked, onCheckedChange, ...props }, ref) => {
11212
- const [isChecked, setIsChecked] = React33.useState(checked || false);
11213
- React33.useEffect(() => {
11119
+ var Switch = React32.forwardRef(({ className, checked, onCheckedChange, ...props }, ref) => {
11120
+ const [isChecked, setIsChecked] = React32.useState(checked || false);
11121
+ React32.useEffect(() => {
11214
11122
  if (checked !== void 0) {
11215
11123
  setIsChecked(checked);
11216
11124
  }
@@ -11283,7 +11191,7 @@ function NotificationTile({
11283
11191
  ),
11284
11192
  children: [
11285
11193
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)] p-[var(--spacing-system-s)]", children: [
11286
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-6 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkUC43NICZcjs.cn.call(void 0, "size-1.5 rounded-full", _chunk25LVV26Xcjs.dotColorByVariant[variant]) }) }),
11194
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-6 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkUC43NICZcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkNLXY4QZEcjs.dotColorByVariant[variant]) }) }),
11287
11195
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
11288
11196
  title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-h4 text-ods-text-primary", title: typeof title === "string" ? title : void 0, children: title }) : null,
11289
11197
  description ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 line-clamp-2 text-ods-text-secondary", title: typeof description === "string" ? description : void 0, children: description }) : null
@@ -11324,7 +11232,7 @@ function NotificationTile({
11324
11232
  "aria-hidden": true,
11325
11233
  className: _chunkUC43NICZcjs.cn.call(void 0,
11326
11234
  "absolute inset-x-0 -bottom-px h-1 origin-left",
11327
- _chunk25LVV26Xcjs.progressColorByVariant[variant]
11235
+ _chunkNLXY4QZEcjs.progressColorByVariant[variant]
11328
11236
  ),
11329
11237
  style: {
11330
11238
  animation: `toast-progress ${liveDurationMs}ms linear forwards`,
@@ -11445,7 +11353,7 @@ function NotificationsHistoryButton({ onClick }) {
11445
11353
 
11446
11354
 
11447
11355
  var HEADER_HEIGHT = 48;
11448
- var MobileBurgerMenu = React38.default.memo(function MobileBurgerMenu2({
11356
+ var MobileBurgerMenu = React37.default.memo(function MobileBurgerMenu2({
11449
11357
  isOpen,
11450
11358
  onClose,
11451
11359
  config,
@@ -11506,7 +11414,7 @@ var MobileBurgerMenu = React38.default.memo(function MobileBurgerMenu2({
11506
11414
  ),
11507
11415
  "aria-current": isActive ? "page" : void 0,
11508
11416
  children: [
11509
- item.icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0 size-4 flex items-center justify-center", children: React38.default.cloneElement(item.icon, {
11417
+ item.icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0 size-4 flex items-center justify-center", children: React37.default.cloneElement(item.icon, {
11510
11418
  size: 16,
11511
11419
  color: isActive && !disabled ? "var(--color-accent-primary)" : "var(--color-text-secondary)"
11512
11420
  }) }),
@@ -11525,7 +11433,7 @@ var MobileBurgerMenu = React38.default.memo(function MobileBurgerMenu2({
11525
11433
  rows.push(items.slice(i, i + 2));
11526
11434
  }
11527
11435
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-3", children: rows.map((row, rowIndex) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-3", children: [
11528
- row.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React38.default.Fragment, { children: renderNavigationItem(item, true) }, item.id)),
11436
+ row.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React37.default.Fragment, { children: renderNavigationItem(item, true) }, item.id)),
11529
11437
  row.length === 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" })
11530
11438
  ] }, rowIndex)) });
11531
11439
  };
@@ -11616,7 +11524,7 @@ var MobileBurgerMenu = React38.default.memo(function MobileBurgerMenu2({
11616
11524
  }
11617
11525
  ),
11618
11526
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "nav", { "aria-label": "Primary navigation", children: renderNavigationGrid(primaryItems) }),
11619
- secondaryItems.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "nav", { "aria-label": "Secondary navigation", className: "flex flex-col gap-3", children: secondaryItems.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React38.default.Fragment, { children: renderNavigationItem(item, false) }, item.id)) }),
11527
+ secondaryItems.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "nav", { "aria-label": "Secondary navigation", className: "flex flex-col gap-3", children: secondaryItems.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React37.default.Fragment, { children: renderNavigationItem(item, false) }, item.id)) }),
11620
11528
  onLogout && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
11621
11529
  "button",
11622
11530
  {
@@ -11776,7 +11684,7 @@ var ToolBadge = ({
11776
11684
  }) => {
11777
11685
  const label = getToolLabel(toolType);
11778
11686
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "flex items-center gap-1 text-ods-text-secondary", className), children: [
11779
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk25LVV26Xcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
11687
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNLXY4QZEcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
11780
11688
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: label })
11781
11689
  ] });
11782
11690
  };
@@ -12233,11 +12141,14 @@ function AnnouncementBar() {
12233
12141
  const [announcement, setAnnouncement] = _react.useState.call(void 0, null);
12234
12142
  const [isVisible, setIsVisible] = _react.useState.call(void 0, false);
12235
12143
  const platform = getAppType();
12144
+ const endpoints = _chunk27APPAJNcjs.useEndpointsRuntime.call(void 0, );
12145
+ const announcementsUrl = _optionalChain([endpoints, 'optionalAccess', _352 => _352.announcementsUrl]);
12236
12146
  const getDismissKey = (id) => `${platform}-announcement-${id}-dismissed`;
12237
12147
  const getCacheKey = () => `${platform}-announcement-cache`;
12238
12148
  const fetchActiveAnnouncement = async () => {
12149
+ if (!announcementsUrl) return;
12239
12150
  try {
12240
- const response = await fetch(`/api/announcements/active`);
12151
+ const response = await fetch(announcementsUrl);
12241
12152
  if (response.ok) {
12242
12153
  const data = await response.json();
12243
12154
  if (data.announcement) {
@@ -12270,17 +12181,18 @@ function AnnouncementBar() {
12270
12181
  setAnnouncement(cached);
12271
12182
  setIsVisible(!isDismissed);
12272
12183
  }
12184
+ if (!announcementsUrl) return;
12273
12185
  fetchActiveAnnouncement();
12274
12186
  const interval = setInterval(fetchActiveAnnouncement, 3e5);
12275
12187
  return () => clearInterval(interval);
12276
- }, []);
12188
+ }, [announcementsUrl]);
12277
12189
  const handleDismiss = () => {
12278
12190
  if (!announcement) return;
12279
12191
  localStorage.setItem(getDismissKey(announcement.id), "true");
12280
12192
  setIsVisible(false);
12281
12193
  };
12282
12194
  const handleCtaClick = () => {
12283
- if (!_optionalChain([announcement, 'optionalAccess', _352 => _352.cta_url])) return;
12195
+ if (!_optionalChain([announcement, 'optionalAccess', _353 => _353.cta_url])) return;
12284
12196
  announcement.cta_target === "_blank" ? window.open(announcement.cta_url, "_blank", "noopener,noreferrer") : window.location.href = announcement.cta_url;
12285
12197
  };
12286
12198
  const renderIcon = () => {
@@ -12406,8 +12318,8 @@ function getVendorLogo(vendor) {
12406
12318
  if (vendor.logo) {
12407
12319
  return fixSupabaseStorageUrl(vendor.logo);
12408
12320
  }
12409
- const logoMedia = _optionalChain([vendor, 'access', _353 => _353.vendor_media, 'optionalAccess', _354 => _354.find, 'call', _355 => _355((m) => m.media_type === "logo")]);
12410
- if (_optionalChain([logoMedia, 'optionalAccess', _356 => _356.media_url])) {
12321
+ const logoMedia = _optionalChain([vendor, 'access', _354 => _354.vendor_media, 'optionalAccess', _355 => _355.find, 'call', _356 => _356((m) => m.media_type === "logo")]);
12322
+ if (_optionalChain([logoMedia, 'optionalAccess', _357 => _357.media_url])) {
12411
12323
  return fixSupabaseStorageUrl(logoMedia.media_url);
12412
12324
  }
12413
12325
  return null;
@@ -12482,7 +12394,7 @@ function VendorIcon({
12482
12394
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0,
12483
12395
  "flex items-center justify-center text-xs font-medium uppercase",
12484
12396
  backgroundStyle === "white" ? "text-[#333333]" : "text-ods-text-secondary"
12485
- ), children: _optionalChain([vendor, 'access', _357 => _357.title, 'optionalAccess', _358 => _358.substring, 'call', _359 => _359(0, 2)]) || "??" }) });
12397
+ ), children: _optionalChain([vendor, 'access', _358 => _358.title, 'optionalAccess', _359 => _359.substring, 'call', _360 => _360(0, 2)]) || "??" }) });
12486
12398
  }
12487
12399
 
12488
12400
  // src/components/categories-cart.tsx
@@ -12768,10 +12680,10 @@ function UserSummary({
12768
12680
  "p",
12769
12681
  {
12770
12682
  className: "text-h4 text-ods-text-primary truncate",
12771
- title: _optionalChain([mspPreview, 'optionalAccess', _360 => _360.name]) ? `${name} \u2022 ${mspPreview.name}` : name,
12683
+ title: _optionalChain([mspPreview, 'optionalAccess', _361 => _361.name]) ? `${name} \u2022 ${mspPreview.name}` : name,
12772
12684
  children: [
12773
12685
  name,
12774
- _optionalChain([mspPreview, 'optionalAccess', _361 => _361.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
12686
+ _optionalChain([mspPreview, 'optionalAccess', _362 => _362.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
12775
12687
  " \u2022 ",
12776
12688
  mspPreview.name
12777
12689
  ] })
@@ -12795,7 +12707,7 @@ function UserSummary({
12795
12707
  height: 40,
12796
12708
  className: "object-cover"
12797
12709
  }
12798
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-heading text-sm font-bold", children: _optionalChain([mspPreview, 'access', _362 => _362.name, 'optionalAccess', _363 => _363.charAt, 'call', _364 => _364(0), 'access', _365 => _365.toUpperCase, 'call', _366 => _366()]) || "?" }) })
12710
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-heading text-sm font-bold", children: _optionalChain([mspPreview, 'access', _363 => _363.name, 'optionalAccess', _364 => _364.charAt, 'call', _365 => _365(0), 'access', _366 => _366.toUpperCase, 'call', _367 => _367()]) || "?" }) })
12799
12711
  ] }),
12800
12712
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 grid grid-cols-[1fr_auto] gap-4", children: [
12801
12713
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-[6rem] flex flex-col justify-center space-y-3 truncate", children: [
@@ -12812,7 +12724,7 @@ function UserSummary({
12812
12724
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-primary truncate", title: mspTitle, children: mspSegments.flatMap((txt, idx) => idx === 0 ? [txt] : [" \u2022 ", txt]).map((seg, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: seg === " \u2022 " ? "text-ods-text-secondary" : "", children: seg }, idx)) });
12813
12725
  })()
12814
12726
  ] }),
12815
- (_optionalChain([authProviders, 'optionalAccess', _367 => _367.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "hidden md:flex flex-col items-end justify-between flex-shrink-0 min-h-[6rem]", children: [
12727
+ (_optionalChain([authProviders, 'optionalAccess', _368 => _368.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "hidden md:flex flex-col items-end justify-between flex-shrink-0 min-h-[6rem]", children: [
12816
12728
  authProviders && authProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
12817
12729
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs text-ods-text-secondary whitespace-nowrap select-none", children: "Authorized by" }),
12818
12730
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-2", children: authProviders.map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center w-4 h-4", children: getAuthProviderIcon(p) }, p)) })
@@ -12821,7 +12733,7 @@ function UserSummary({
12821
12733
  ] })
12822
12734
  ] })
12823
12735
  ] }),
12824
- (_optionalChain([authProviders, 'optionalAccess', _368 => _368.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex md:hidden items-center justify-between w-full gap-4", children: [
12736
+ (_optionalChain([authProviders, 'optionalAccess', _369 => _369.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex md:hidden items-center justify-between w-full gap-4", children: [
12825
12737
  authProviders && authProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
12826
12738
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs text-ods-text-secondary whitespace-nowrap select-none", children: "Authorized by" }),
12827
12739
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-2", children: authProviders.map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center w-4 h-4", children: getAuthProviderIcon(p) }, p)) })
@@ -13048,7 +12960,7 @@ function DynamicSkeleton({
13048
12960
  children
13049
12961
  }) {
13050
12962
  const { platform, isDark, accentColor } = useThemeAware();
13051
- const dimensions = React38.default.useMemo(() => {
12963
+ const dimensions = React37.default.useMemo(() => {
13052
12964
  if (width || height) {
13053
12965
  return {
13054
12966
  width: typeof width === "number" ? `${width}px` : width,
@@ -13061,7 +12973,7 @@ function DynamicSkeleton({
13061
12973
  }
13062
12974
  return sizePresets[size];
13063
12975
  }, [width, height, size, variant]);
13064
- const platformStyles = React38.default.useMemo(() => {
12976
+ const platformStyles = React37.default.useMemo(() => {
13065
12977
  if (!platformAware) return {};
13066
12978
  const baseOpacity = isDark ? 0.1 : 0.15;
13067
12979
  const accentOpacity = isDark ? 0.05 : 0.08;
@@ -13388,7 +13300,7 @@ _chunkUC43NICZcjs.init_cn.call(void 0, );
13388
13300
 
13389
13301
 
13390
13302
 
13391
- var ChevronButton = React36.forwardRef(
13303
+ var ChevronButton = React35.forwardRef(
13392
13304
  ({ className, direction = "down", size = "md", isExpanded, backgroundColor, borderColor, ...props }, ref) => {
13393
13305
  const Icon2 = (isExpanded ? _lucidereact.ChevronUp : _lucidereact.ChevronDown) || (direction === "up" ? _lucidereact.ChevronUp : _lucidereact.ChevronDown);
13394
13306
  const sizeClasses4 = {
@@ -13542,7 +13454,7 @@ function FilterChip({
13542
13454
  onClick: disabled ? void 0 : (e) => {
13543
13455
  e.preventDefault();
13544
13456
  e.stopPropagation();
13545
- _optionalChain([onClick, 'optionalCall', _369 => _369()]);
13457
+ _optionalChain([onClick, 'optionalCall', _370 => _370()]);
13546
13458
  },
13547
13459
  role: onClick ? "button" : void 0,
13548
13460
  tabIndex: onClick && !disabled ? 0 : void 0,
@@ -13729,13 +13641,13 @@ function useUnifiedFiltering(config) {
13729
13641
  const searchParams = _navigation.useSearchParams.call(void 0, );
13730
13642
  const [isPending, startTransition] = _react.useTransition.call(void 0, );
13731
13643
  const getCurrentFilterState = () => {
13732
- const search = _optionalChain([searchParams, 'optionalAccess', _370 => _370.get, 'call', _371 => _371("search")]) || void 0;
13733
- const categories = _optionalChain([searchParams, 'optionalAccess', _372 => _372.get, 'call', _373 => _373("category"), 'optionalAccess', _374 => _374.split, 'call', _375 => _375(","), 'access', _376 => _376.filter, 'call', _377 => _377(Boolean)]) || [];
13734
- const subcategories = _optionalChain([searchParams, 'optionalAccess', _378 => _378.get, 'call', _379 => _379("subcategory"), 'optionalAccess', _380 => _380.split, 'call', _381 => _381(","), 'access', _382 => _382.filter, 'call', _383 => _383(Boolean)]) || [];
13735
- const tags = _optionalChain([searchParams, 'optionalAccess', _384 => _384.get, 'call', _385 => _385("tag"), 'optionalAccess', _386 => _386.split, 'call', _387 => _387(","), 'access', _388 => _388.filter, 'call', _389 => _389(Boolean)]) || [];
13736
- const filters = _optionalChain([searchParams, 'optionalAccess', _390 => _390.getAll, 'call', _391 => _391("filter")]) || [];
13737
- const pricing = _optionalChain([searchParams, 'optionalAccess', _392 => _392.get, 'call', _393 => _393("pricing")]) || void 0;
13738
- const page = parseInt(_optionalChain([searchParams, 'optionalAccess', _394 => _394.get, 'call', _395 => _395("page")]) || "1");
13644
+ const search = _optionalChain([searchParams, 'optionalAccess', _371 => _371.get, 'call', _372 => _372("search")]) || void 0;
13645
+ const categories = _optionalChain([searchParams, 'optionalAccess', _373 => _373.get, 'call', _374 => _374("category"), 'optionalAccess', _375 => _375.split, 'call', _376 => _376(","), 'access', _377 => _377.filter, 'call', _378 => _378(Boolean)]) || [];
13646
+ const subcategories = _optionalChain([searchParams, 'optionalAccess', _379 => _379.get, 'call', _380 => _380("subcategory"), 'optionalAccess', _381 => _381.split, 'call', _382 => _382(","), 'access', _383 => _383.filter, 'call', _384 => _384(Boolean)]) || [];
13647
+ const tags = _optionalChain([searchParams, 'optionalAccess', _385 => _385.get, 'call', _386 => _386("tag"), 'optionalAccess', _387 => _387.split, 'call', _388 => _388(","), 'access', _389 => _389.filter, 'call', _390 => _390(Boolean)]) || [];
13648
+ const filters = _optionalChain([searchParams, 'optionalAccess', _391 => _391.getAll, 'call', _392 => _392("filter")]) || [];
13649
+ const pricing = _optionalChain([searchParams, 'optionalAccess', _393 => _393.get, 'call', _394 => _394("pricing")]) || void 0;
13650
+ const page = parseInt(_optionalChain([searchParams, 'optionalAccess', _395 => _395.get, 'call', _396 => _396("page")]) || "1");
13739
13651
  return {
13740
13652
  search,
13741
13653
  categories,
@@ -14016,13 +13928,13 @@ function FooterWaitlistButton({ className }) {
14016
13928
  const router = _navigation.useRouter.call(void 0, );
14017
13929
  const pathname = _navigation.usePathname.call(void 0, );
14018
13930
  const handleClick = _react.useCallback.call(void 0, () => {
14019
- if (_optionalChain([pathname, 'optionalAccess', _396 => _396.startsWith, 'call', _397 => _397("/waitlist")])) {
13931
+ if (_optionalChain([pathname, 'optionalAccess', _397 => _397.startsWith, 'call', _398 => _398("/waitlist")])) {
14020
13932
  const anchor = document.getElementById("waitlist-form");
14021
13933
  if (anchor) {
14022
13934
  anchor.scrollIntoView({ behavior: "smooth", block: "center" });
14023
13935
  setTimeout(() => {
14024
13936
  const input = anchor.querySelector('input[type="email"]');
14025
- _optionalChain([input, 'optionalAccess', _398 => _398.focus, 'call', _399 => _399()]);
13937
+ _optionalChain([input, 'optionalAccess', _399 => _399.focus, 'call', _400 => _400()]);
14026
13938
  }, 400);
14027
13939
  return;
14028
13940
  }
@@ -14047,11 +13959,11 @@ _chunkRMB5DVEDcjs.init_button2.call(void 0, );
14047
13959
 
14048
13960
  function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, objectFit = "cover", showReplaceButton = true, deferUpload = false, onUpload, onDelete }) {
14049
13961
  const inputRef = _react.useRef.call(void 0, null);
14050
- const { toast } = _chunk25LVV26Xcjs.useToast.call(void 0, );
13962
+ const { toast } = _chunkNLXY4QZEcjs.useToast.call(void 0, );
14051
13963
  const [uploading, setUploading] = _react.useState.call(void 0, false);
14052
13964
  const ALLOWED_TYPES = ["image/jpeg", "image/jpg", "image/png", "image/webp", "image/gif"];
14053
13965
  const MAX_SIZE = 5 * 1024 * 1024;
14054
- const openDialog = () => _optionalChain([inputRef, 'access', _400 => _400.current, 'optionalAccess', _401 => _401.click, 'call', _402 => _402()]);
13966
+ const openDialog = () => _optionalChain([inputRef, 'access', _401 => _401.current, 'optionalAccess', _402 => _402.click, 'call', _403 => _403()]);
14055
13967
  async function handleFile(file) {
14056
13968
  if (!file) return;
14057
13969
  if (!ALLOWED_TYPES.includes(file.type)) {
@@ -14107,7 +14019,7 @@ function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, o
14107
14019
  }
14108
14020
  }
14109
14021
  const handleSelect = (e) => {
14110
- handleFile(_optionalChain([e, 'access', _403 => _403.target, 'access', _404 => _404.files, 'optionalAccess', _405 => _405[0]]));
14022
+ handleFile(_optionalChain([e, 'access', _404 => _404.target, 'access', _405 => _405.files, 'optionalAccess', _406 => _406[0]]));
14111
14023
  };
14112
14024
  const handleRemove = async () => {
14113
14025
  if (onDelete) {
@@ -14244,7 +14156,7 @@ function ResponsiveIconsBlock({ loading = false }) {
14244
14156
  const getIconForIndex = (index) => {
14245
14157
  const col = index % displayColumns;
14246
14158
  const row = Math.floor(index / displayColumns);
14247
- return _optionalChain([iconGrid, 'access', _406 => _406[row], 'optionalAccess', _407 => _407[col]]) || availableIcons[0];
14159
+ return _optionalChain([iconGrid, 'access', _407 => _407[row], 'optionalAccess', _408 => _408[col]]) || availableIcons[0];
14248
14160
  };
14249
14161
  if (loading || iconGrid.length === 0) {
14250
14162
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -14326,11 +14238,11 @@ var _reacteasycrop = require('react-easy-crop'); var _reacteasycrop2 = _interopR
14326
14238
  _chunkUC43NICZcjs.init_cn.call(void 0, );
14327
14239
 
14328
14240
 
14329
- var Slider = React40.forwardRef(
14241
+ var Slider = React39.forwardRef(
14330
14242
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
14331
14243
  const handleChange = (e) => {
14332
14244
  const newValue = [Number(e.target.value)];
14333
- _optionalChain([onValueChange, 'optionalCall', _408 => _408(newValue)]);
14245
+ _optionalChain([onValueChange, 'optionalCall', _409 => _409(newValue)]);
14334
14246
  };
14335
14247
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14336
14248
  "input",
@@ -14443,7 +14355,7 @@ var ImageCropper = ({
14443
14355
  });
14444
14356
  } else if (e.key === "Escape") {
14445
14357
  e.preventDefault();
14446
- _optionalChain([onCancel, 'optionalCall', _409 => _409()]);
14358
+ _optionalChain([onCancel, 'optionalCall', _410 => _410()]);
14447
14359
  }
14448
14360
  };
14449
14361
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -14792,7 +14704,7 @@ function getProxiedImageUrl2(url) {
14792
14704
  // src/components/square-avatar.tsx
14793
14705
 
14794
14706
  function SquareAvatar2({ src, fallbackName = "", size = 56, fullWidth = false, className }) {
14795
- const initials = React38.default.useMemo(() => {
14707
+ const initials = React37.default.useMemo(() => {
14796
14708
  if (!fallbackName) return "";
14797
14709
  return fallbackName.split(" ").map((n) => n.charAt(0)).join("").slice(0, 2).toUpperCase();
14798
14710
  }, [fallbackName]);
@@ -15143,8 +15055,8 @@ function PricingDisplay({
15143
15055
  }
15144
15056
  if (pricingArray.length === 1) {
15145
15057
  const item = pricingArray[0];
15146
- const price = _optionalChain([item, 'access', _410 => _410.ranges, 'optionalAccess', _411 => _411[0], 'optionalAccess', _412 => _412.min]) || 0;
15147
- const unit = _optionalChain([item, 'access', _413 => _413.ranges, 'optionalAccess', _414 => _414[0], 'optionalAccess', _415 => _415.unit]);
15058
+ const price = _optionalChain([item, 'access', _411 => _411.ranges, 'optionalAccess', _412 => _412[0], 'optionalAccess', _413 => _413.min]) || 0;
15059
+ const unit = _optionalChain([item, 'access', _414 => _414.ranges, 'optionalAccess', _415 => _415[0], 'optionalAccess', _416 => _416.unit]);
15148
15060
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.fontFamily} ${className}`, children: [
15149
15061
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: formatPriceValue(price, styleConfig.showTildePrefix) }),
15150
15062
  unit && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
@@ -15153,11 +15065,11 @@ function PricingDisplay({
15153
15065
  ] })
15154
15066
  ] });
15155
15067
  }
15156
- const priceValues = pricingArray.map((item) => formatPriceValue(_optionalChain([item, 'access', _416 => _416.ranges, 'optionalAccess', _417 => _417[0], 'optionalAccess', _418 => _418.min]) || 0, styleConfig.showTildePrefix));
15157
- const itemWithUnit = pricingArray.find((item) => _optionalChain([item, 'access', _419 => _419.ranges, 'optionalAccess', _420 => _420[0], 'optionalAccess', _421 => _421.unit]));
15068
+ const priceValues = pricingArray.map((item) => formatPriceValue(_optionalChain([item, 'access', _417 => _417.ranges, 'optionalAccess', _418 => _418[0], 'optionalAccess', _419 => _419.min]) || 0, styleConfig.showTildePrefix));
15069
+ const itemWithUnit = pricingArray.find((item) => _optionalChain([item, 'access', _420 => _420.ranges, 'optionalAccess', _421 => _421[0], 'optionalAccess', _422 => _422.unit]));
15158
15070
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.fontFamily} ${className}`, children: [
15159
15071
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: priceValues.join(" | ") }),
15160
- itemWithUnit && _optionalChain([itemWithUnit, 'access', _422 => _422.ranges, 'optionalAccess', _423 => _423[0], 'optionalAccess', _424 => _424.unit]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
15072
+ itemWithUnit && _optionalChain([itemWithUnit, 'access', _423 => _423.ranges, 'optionalAccess', _424 => _424[0], 'optionalAccess', _425 => _425.unit]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
15161
15073
  "/",
15162
15074
  itemWithUnit.ranges[0].unit
15163
15075
  ] })
@@ -15355,7 +15267,7 @@ function VendorTag({
15355
15267
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "\u2605" }) })
15356
15268
  };
15357
15269
  case "classification":
15358
- const classificationType = _optionalChain([text, 'optionalAccess', _425 => _425.toLowerCase, 'call', _426 => _426()]);
15270
+ const classificationType = _optionalChain([text, 'optionalAccess', _426 => _426.toLowerCase, 'call', _427 => _427()]);
15359
15271
  if (classificationType === "open_source") {
15360
15272
  return {
15361
15273
  text: "Open Source",
@@ -15409,7 +15321,7 @@ function SelectionSourceBadge({ source, hidden = false }) {
15409
15321
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15410
15322
  VendorTag,
15411
15323
  {
15412
- type: _optionalChain([source, 'optionalAccess', _427 => _427.toLowerCase, 'call', _428 => _428()]),
15324
+ type: _optionalChain([source, 'optionalAccess', _428 => _428.toLowerCase, 'call', _429 => _429()]),
15413
15325
  size: "sm",
15414
15326
  hidden
15415
15327
  },
@@ -17210,7 +17122,7 @@ _chunkRMB5DVEDcjs.init_button2.call(void 0, );
17210
17122
  _chunkUC43NICZcjs.init_cn.call(void 0, );
17211
17123
 
17212
17124
 
17213
- var InteractiveCard = React38.default.forwardRef(
17125
+ var InteractiveCard = React37.default.forwardRef(
17214
17126
  ({
17215
17127
  children,
17216
17128
  onClick,
@@ -17359,7 +17271,7 @@ function OnboardingStepCard({
17359
17271
  onSkip,
17360
17272
  className
17361
17273
  }) {
17362
- const [isProcessing, setIsProcessing] = React38.default.useState(false);
17274
+ const [isProcessing, setIsProcessing] = React37.default.useState(false);
17363
17275
  const handleAction = async (e) => {
17364
17276
  e.stopPropagation();
17365
17277
  setIsProcessing(true);
@@ -17466,12 +17378,12 @@ function OnboardingWalkthrough({
17466
17378
  isStepSkipped,
17467
17379
  allStepsComplete,
17468
17380
  markMultipleComplete
17469
- } = _chunk25LVV26Xcjs.useOnboardingState.call(void 0, storageKey);
17381
+ } = _chunkNLXY4QZEcjs.useOnboardingState.call(void 0, storageKey);
17470
17382
  const hasAutoMarkedRef = _react.useRef.call(void 0, false);
17471
17383
  const autoMarkingInProgressRef = _react.useRef.call(void 0, false);
17472
17384
  const lastCompletionStatusRef = _react.useRef.call(void 0, null);
17473
17385
  const actionInProgressRef = _react.useRef.call(void 0, /* @__PURE__ */ new Set());
17474
- React38.default.useEffect(() => {
17386
+ React37.default.useEffect(() => {
17475
17387
  if (isLoadingCompletion) {
17476
17388
  hasAutoMarkedRef.current = false;
17477
17389
  return;
@@ -17529,12 +17441,12 @@ function OnboardingWalkthrough({
17529
17441
  }
17530
17442
  }, [state.completedSteps, markComplete]);
17531
17443
  const handleStepSkip = (step) => {
17532
- _optionalChain([step, 'access', _429 => _429.onSkip, 'optionalCall', _430 => _430()]);
17444
+ _optionalChain([step, 'access', _430 => _430.onSkip, 'optionalCall', _431 => _431()]);
17533
17445
  markSkipped(step.id);
17534
17446
  };
17535
17447
  const handleDismiss = () => {
17536
17448
  dismissOnboarding();
17537
- _optionalChain([onDismiss, 'optionalCall', _431 => _431()]);
17449
+ _optionalChain([onDismiss, 'optionalCall', _432 => _432()]);
17538
17450
  };
17539
17451
  if (state.dismissed) {
17540
17452
  return null;
@@ -17589,7 +17501,6 @@ _chunkUC43NICZcjs.init_cn.call(void 0, );
17589
17501
 
17590
17502
 
17591
17503
 
17592
-
17593
17504
  function ProductReleaseCard({
17594
17505
  title,
17595
17506
  summary,
@@ -17598,7 +17509,7 @@ function ProductReleaseCard({
17598
17509
  onClick,
17599
17510
  anchorProps,
17600
17511
  className,
17601
- size = "default",
17512
+ size = "lg",
17602
17513
  coverImage,
17603
17514
  hasVideoCover,
17604
17515
  releaseType,
@@ -17608,34 +17519,28 @@ function ProductReleaseCard({
17608
17519
  author,
17609
17520
  changelogCounts
17610
17521
  }) {
17611
- if (size === "catalog") {
17612
- const totalChangelog = (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _432 => _432.features]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _433 => _433.fixes]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _434 => _434.improvements]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _435 => _435.breaking]), () => ( 0)));
17613
- const valueCells = [];
17614
- if (releaseType && releaseTypeBadgeColor) {
17615
- valueCells.push({
17522
+ if (size === "lg") {
17523
+ const totalChangelog = (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _433 => _433.features]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _434 => _434.fixes]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _435 => _435.improvements]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _436 => _436.breaking]), () => ( 0)));
17524
+ const valueCells = [
17525
+ releaseType && releaseTypeBadgeColor ? {
17616
17526
  value: releaseType.toUpperCase(),
17617
17527
  label: "Type",
17618
17528
  uppercase: true,
17619
17529
  colorScheme: releaseTypeBadgeColor
17620
- });
17621
- }
17622
- if (releaseStatus) {
17623
- valueCells.push({
17530
+ } : { value: "\u2014", label: "Type", uppercase: false },
17531
+ releaseStatus ? {
17624
17532
  value: releaseStatus.toUpperCase(),
17625
17533
  label: "Status",
17626
17534
  uppercase: true
17627
- });
17628
- }
17629
- if (formattedDate) {
17630
- valueCells.push({
17535
+ } : { value: "\u2014", label: "Status", uppercase: false },
17536
+ formattedDate ? {
17631
17537
  value: formattedDate,
17632
17538
  label: "Released",
17633
17539
  uppercase: false
17634
- });
17635
- }
17636
- const hasAuthorCell = !!_optionalChain([author, 'optionalAccess', _436 => _436.full_name]);
17637
- const totalCells = valueCells.length + (hasAuthorCell ? 1 : 0);
17638
- const gridColsClass = totalCells >= 4 ? "md:grid-cols-4" : totalCells === 3 ? "md:grid-cols-3" : totalCells === 2 ? "md:grid-cols-2" : "md:grid-cols-1";
17540
+ } : { value: "\u2014", label: "Released", uppercase: false }
17541
+ ];
17542
+ const effectiveAuthor = _optionalChain([author, 'optionalAccess', _437 => _437.full_name]) ? author : { full_name: "\u2014", avatar_url: null, job_title: "Unknown" };
17543
+ const gridColsClass = "md:grid-cols-4";
17639
17544
  const dividerClass = "border-b md:border-b-0 md:border-r border-ods-border";
17640
17545
  const frameClass = _chunkUC43NICZcjs.cn.call(void 0,
17641
17546
  "group bg-ods-system-greys-black border border-ods-border rounded-lg overflow-hidden",
@@ -17667,11 +17572,11 @@ function ProductReleaseCard({
17667
17572
  "v",
17668
17573
  version
17669
17574
  ] }) }),
17670
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-['Azeret_Mono'] font-semibold text-xl md:text-2xl text-ods-text-primary leading-tight line-clamp-2 mb-3", children: title }),
17671
- summary && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-sm md:text-base text-ods-text-secondary leading-relaxed line-clamp-4 flex-1", children: summary })
17575
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[60px] md:min-h-[72px] flex items-start mb-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-['Azeret_Mono'] font-semibold text-xl md:text-2xl text-ods-text-primary leading-tight line-clamp-2", children: title }) }),
17576
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[68px] md:min-h-[78px]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-sm md:text-base text-ods-text-secondary leading-relaxed line-clamp-3", children: _nullishCoalesce(summary, () => ( "")) }) })
17672
17577
  ] })
17673
17578
  ] }),
17674
- totalChangelog > 0 && changelogCounts && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "border-t border-ods-border pt-3 flex flex-wrap items-center gap-x-4 gap-y-1.5 font-['DM_Sans'] text-sm text-ods-text-secondary", children: [
17579
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-t border-ods-border pt-3 flex flex-wrap items-center gap-x-4 gap-y-1.5 font-['DM_Sans'] text-sm text-ods-text-secondary", children: totalChangelog > 0 && changelogCounts ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
17675
17580
  changelogCounts.features > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "inline-flex items-center gap-1.5", children: [
17676
17581
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Sparkles, { className: "w-3.5 h-3.5" }),
17677
17582
  changelogCounts.features,
@@ -17695,8 +17600,8 @@ function ProductReleaseCard({
17695
17600
  changelogCounts.breaking,
17696
17601
  " breaking"
17697
17602
  ] })
17698
- ] }),
17699
- totalCells > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
17603
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm text-ods-text-secondary", children: "No changelog entries yet" }) }),
17604
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
17700
17605
  "div",
17701
17606
  {
17702
17607
  className: _chunkUC43NICZcjs.cn.call(void 0,
@@ -17708,12 +17613,7 @@ function ProductReleaseCard({
17708
17613
  valueCells.map((cell, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17709
17614
  "div",
17710
17615
  {
17711
- className: _chunkUC43NICZcjs.cn.call(void 0,
17712
- "bg-ods-card p-4 flex flex-col gap-3",
17713
- // Last value cell skips the trailing divider when no
17714
- // author cell follows; otherwise every value cell gets it.
17715
- (i < valueCells.length - 1 || hasAuthorCell) && dividerClass
17716
- ),
17616
+ className: _chunkUC43NICZcjs.cn.call(void 0, "bg-ods-card p-4 flex flex-col gap-3", dividerClass),
17717
17617
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-0", children: [
17718
17618
  cell.colorScheme ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17719
17619
  StatusBadge,
@@ -17724,26 +17624,37 @@ function ProductReleaseCard({
17724
17624
  singleLine: true,
17725
17625
  className: "self-start"
17726
17626
  }
17727
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-primary", children: cell.uppercase ? cell.value.toLocaleUpperCase() : cell.value }),
17627
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17628
+ "p",
17629
+ {
17630
+ className: _chunkUC43NICZcjs.cn.call(void 0,
17631
+ "text-h4",
17632
+ // Em-dash placeholder reads as secondary text;
17633
+ // populated values stay primary.
17634
+ cell.value === "\u2014" ? "text-ods-text-secondary" : "text-ods-text-primary"
17635
+ ),
17636
+ children: cell.uppercase ? cell.value.toLocaleUpperCase() : cell.value
17637
+ }
17638
+ ),
17728
17639
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: cell.label })
17729
17640
  ] })
17730
17641
  },
17731
17642
  `${cell.label}-${i}`
17732
17643
  )),
17733
- hasAuthorCell && author && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-card p-4 flex items-center gap-3", children: [
17644
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-card p-4 flex items-center gap-3", children: [
17734
17645
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17735
17646
  SquareAvatar,
17736
17647
  {
17737
- src: _nullishCoalesce(author.avatar_url, () => ( void 0)),
17738
- alt: author.full_name,
17739
- fallback: author.full_name.charAt(0).toUpperCase(),
17648
+ src: _nullishCoalesce(effectiveAuthor.avatar_url, () => ( void 0)),
17649
+ alt: effectiveAuthor.full_name,
17650
+ fallback: effectiveAuthor.full_name.charAt(0).toUpperCase(),
17740
17651
  size: "md",
17741
17652
  variant: "round"
17742
17653
  }
17743
17654
  ),
17744
17655
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-0 flex-1 min-w-0", children: [
17745
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", children: author.full_name }),
17746
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: author.job_title || "Author" })
17656
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", children: effectiveAuthor.full_name }),
17657
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: effectiveAuthor.job_title || "Author" })
17747
17658
  ] })
17748
17659
  ] })
17749
17660
  ]
@@ -17837,79 +17748,14 @@ function ProductReleaseCard({
17837
17748
  }
17838
17749
  );
17839
17750
  }
17840
- if (anchorProps) {
17841
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
17842
- "a",
17843
- {
17844
- ...anchorProps,
17845
- className: _chunkUC43NICZcjs.cn.call(void 0,
17846
- "bg-ods-card border border-ods-border rounded-[6px]",
17847
- "flex flex-col md:flex-row",
17848
- "items-start md:items-center",
17849
- "gap-3 md:gap-4",
17850
- "p-4 no-underline",
17851
- "transition-colors hover:border-ods-text-secondary/40",
17852
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent focus-visible:ring-offset-1 focus-visible:ring-offset-ods-card",
17853
- className
17854
- ),
17855
- children: [
17856
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 w-full md:w-auto min-w-0 flex flex-col justify-center gap-2", children: [
17857
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h3 text-ods-text-primary tracking-[-0.36px] line-clamp-2", title, children: title }) }),
17858
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-secondary line-clamp-3", title: summary || " ", children: summary || " " })
17859
- ] }),
17860
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 w-full md:w-auto justify-start md:justify-end shrink-0", children: [
17861
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-[200px] flex flex-col justify-center gap-2", children: [
17862
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 text-ods-text-primary tracking-[-0.36px] truncate", children: version }),
17863
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate", children: formattedDate })
17864
- ] }),
17865
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center p-3 shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-6 w-6 text-ods-text-primary" }) })
17866
- ] })
17867
- ]
17868
- }
17869
- );
17870
- }
17871
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
17872
- InteractiveCard,
17873
- {
17874
- clickable: true,
17875
- onClick,
17876
- className: _chunkUC43NICZcjs.cn.call(void 0,
17877
- "bg-ods-card border border-ods-border rounded-[6px]",
17878
- "flex flex-col md:flex-row",
17879
- "items-start md:items-center",
17880
- "gap-3 md:gap-4",
17881
- "p-4",
17882
- className
17883
- ),
17884
- children: [
17885
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 w-full md:w-auto min-w-0 flex flex-col justify-center gap-2", children: [
17886
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h3 text-ods-text-primary tracking-[-0.36px] line-clamp-2", title, children: title }) }),
17887
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-secondary line-clamp-3", title: summary || "\xA0", children: summary || "\xA0" })
17888
- ] }),
17889
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
17890
- "div",
17891
- {
17892
- className: "flex items-center gap-2 w-full md:w-auto justify-start md:justify-end shrink-0",
17893
- onClick: (e) => e.stopPropagation(),
17894
- children: [
17895
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-[200px] flex flex-col justify-center gap-2", children: [
17896
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 text-ods-text-primary tracking-[-0.36px] truncate", children: version }),
17897
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate", children: formattedDate })
17898
- ] }),
17899
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center p-3 shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-6 w-6 text-ods-text-primary" }) })
17900
- ]
17901
- }
17902
- )
17903
- ]
17904
- }
17905
- );
17751
+ throw new Error(`ProductReleaseCard: unsupported size '${size}'`);
17906
17752
  }
17907
17753
 
17908
17754
  // src/components/shared/product-release/product-release-card-skeleton.tsx
17909
17755
  _chunkUC43NICZcjs.init_cn.call(void 0, );
17910
17756
 
17911
- function ProductReleaseCardSkeleton({ className, size = "default" }) {
17912
- if (size === "catalog") {
17757
+ function ProductReleaseCardSkeleton({ className, size = "lg" }) {
17758
+ if (size === "lg") {
17913
17759
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
17914
17760
  "div",
17915
17761
  {
@@ -17921,24 +17767,29 @@ function ProductReleaseCardSkeleton({ className, size = "default" }) {
17921
17767
  ),
17922
17768
  children: [
17923
17769
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col md:flex-row gap-4 md:gap-6", children: [
17924
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full md:w-[256px] aspect-[16/9] bg-ods-bg rounded-lg flex-shrink-0" }),
17770
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full md:w-[256px] aspect-[16/9] bg-ods-border rounded-lg flex-shrink-0" }),
17925
17771
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
17926
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-20 bg-ods-bg rounded mb-3" }),
17927
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-7 w-3/4 bg-ods-bg rounded mb-2" }),
17928
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-7 w-1/2 bg-ods-bg rounded mb-3" }),
17929
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-full bg-ods-bg/60 rounded mb-1" }),
17930
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-5/6 bg-ods-bg/60 rounded" })
17772
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-3 mb-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-7 w-20 bg-ods-border rounded" }) }),
17773
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-[60px] md:min-h-[72px] flex flex-col gap-1.5 justify-start mb-3", children: [
17774
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[25px] md:h-[30px] w-3/4 bg-ods-border rounded" }),
17775
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[25px] md:h-[30px] w-1/2 bg-ods-border rounded" })
17776
+ ] }),
17777
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-[68px] md:min-h-[78px] flex flex-col gap-2 justify-start", children: [
17778
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-full bg-ods-border/70 rounded" }),
17779
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-11/12 bg-ods-border/70 rounded" }),
17780
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-5/6 bg-ods-border/70 rounded" })
17781
+ ] })
17931
17782
  ] })
17932
17783
  ] }),
17933
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-t border-ods-border pt-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-2/3 bg-ods-bg/60 rounded" }) }),
17784
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-t border-ods-border pt-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-2/3 bg-ods-border/70 rounded" }) }),
17934
17785
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 md:grid-cols-4 border border-ods-border rounded-md overflow-hidden w-full", children: [
17935
17786
  [0, 1, 2].map((i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17936
17787
  "div",
17937
17788
  {
17938
17789
  className: "bg-ods-card p-4 flex flex-col gap-3 border-b md:border-b-0 md:border-r border-ods-border",
17939
17790
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
17940
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-bg rounded" }),
17941
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-16 bg-ods-bg/60 rounded" })
17791
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-7 w-24 bg-ods-bg rounded" }),
17792
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-16 bg-ods-bg/60 rounded" })
17942
17793
  ] })
17943
17794
  },
17944
17795
  `cell-${i}`
@@ -17946,8 +17797,8 @@ function ProductReleaseCardSkeleton({ className, size = "default" }) {
17946
17797
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-card p-4 flex items-center gap-3", children: [
17947
17798
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-10 rounded-full bg-ods-bg shrink-0" }),
17948
17799
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2 flex-1 min-w-0", children: [
17949
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-3/4 bg-ods-bg rounded" }),
17950
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-1/2 bg-ods-bg/60 rounded" })
17800
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-3/4 bg-ods-bg rounded" }),
17801
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-1/2 bg-ods-bg/60 rounded" })
17951
17802
  ] })
17952
17803
  ] })
17953
17804
  ] })
@@ -17978,40 +17829,7 @@ function ProductReleaseCardSkeleton({ className, size = "default" }) {
17978
17829
  }
17979
17830
  );
17980
17831
  }
17981
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
17982
- "div",
17983
- {
17984
- className: _chunkUC43NICZcjs.cn.call(void 0,
17985
- "bg-ods-card border border-ods-border rounded-[6px]",
17986
- "flex flex-col md:flex-row",
17987
- "items-start md:items-center",
17988
- "gap-3 md:gap-4",
17989
- "p-4",
17990
- "animate-pulse",
17991
- className
17992
- ),
17993
- children: [
17994
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 w-full md:w-auto min-w-0 flex flex-col justify-center gap-2", children: [
17995
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-1 w-full", children: [
17996
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[24px] w-3/4 bg-ods-border rounded" }),
17997
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[24px] w-1/2 bg-ods-border rounded" })
17998
- ] }) }),
17999
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-1", children: [
18000
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[24px] w-full bg-ods-border rounded" }),
18001
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[24px] w-full bg-ods-border rounded" }),
18002
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[24px] w-2/3 bg-ods-border rounded" })
18003
- ] })
18004
- ] }),
18005
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 w-full md:w-auto justify-start md:justify-end shrink-0", children: [
18006
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-[200px] flex flex-col justify-center gap-2", children: [
18007
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[24px] w-20 bg-ods-border rounded" }),
18008
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[20px] w-32 bg-ods-border rounded" })
18009
- ] }),
18010
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-6 bg-ods-border rounded shrink-0 mx-3" })
18011
- ] })
18012
- ]
18013
- }
18014
- );
17832
+ throw new Error(`ProductReleaseCardSkeleton: unsupported size '${size}'`);
18015
17833
  }
18016
17834
 
18017
17835
  // src/components/shared/product-release/release-detail-page.tsx
@@ -18275,7 +18093,7 @@ var SecondaryAction = ({ action }) => {
18275
18093
  e.preventDefault();
18276
18094
  return;
18277
18095
  }
18278
- _optionalChain([action, 'access', _437 => _437.onClick, 'optionalCall', _438 => _438()]);
18096
+ _optionalChain([action, 'access', _438 => _438.onClick, 'optionalCall', _439 => _439()]);
18279
18097
  },
18280
18098
  [action]
18281
18099
  );
@@ -18316,13 +18134,13 @@ var MenuItem = ({ item, onItemClick }) => {
18316
18134
  const activate = _react.useCallback.call(void 0, () => {
18317
18135
  if (item.disabled) return;
18318
18136
  if (item.type === "checkbox") {
18319
- _optionalChain([item, 'access', _439 => _439.onClick, 'optionalCall', _440 => _440()]);
18320
- _optionalChain([onItemClick, 'optionalCall', _441 => _441(item)]);
18137
+ _optionalChain([item, 'access', _440 => _440.onClick, 'optionalCall', _441 => _441()]);
18138
+ _optionalChain([onItemClick, 'optionalCall', _442 => _442(item)]);
18321
18139
  return;
18322
18140
  }
18323
18141
  if (item.type === "submenu") return;
18324
- _optionalChain([item, 'access', _442 => _442.onClick, 'optionalCall', _443 => _443()]);
18325
- _optionalChain([onItemClick, 'optionalCall', _444 => _444(item)]);
18142
+ _optionalChain([item, 'access', _443 => _443.onClick, 'optionalCall', _444 => _444()]);
18143
+ _optionalChain([onItemClick, 'optionalCall', _445 => _445(item)]);
18326
18144
  }, [item, onItemClick]);
18327
18145
  const handleClick = _react.useCallback.call(void 0,
18328
18146
  (e) => {
@@ -18348,8 +18166,8 @@ var MenuItem = ({ item, onItemClick }) => {
18348
18166
  e.stopPropagation();
18349
18167
  return;
18350
18168
  }
18351
- _optionalChain([item, 'access', _445 => _445.onClick, 'optionalCall', _446 => _446()]);
18352
- _optionalChain([onItemClick, 'optionalCall', _447 => _447(item)]);
18169
+ _optionalChain([item, 'access', _446 => _446.onClick, 'optionalCall', _447 => _447()]);
18170
+ _optionalChain([onItemClick, 'optionalCall', _448 => _448(item)]);
18353
18171
  },
18354
18172
  [item, onItemClick]
18355
18173
  );
@@ -18473,7 +18291,7 @@ var ActionsMenu = ({
18473
18291
  className: `relative min-w-[256px] max-h-[var(--radix-popper-available-height)] bg-ods-bg border border-ods-border rounded-md shadow-lg overflow-y-auto ${className}`,
18474
18292
  children: groups.map((group, groupIndex) => {
18475
18293
  const groupKey = group.id || group.items.map((i) => i.id).join("|");
18476
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React38.default.Fragment, { children: [
18294
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React37.default.Fragment, { children: [
18477
18295
  group.items.map((item, itemIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18478
18296
  MenuItem,
18479
18297
  {
@@ -18504,7 +18322,7 @@ var ActionsMenuDropdown = ({
18504
18322
  const [open, setOpen] = _react.useState.call(void 0, false);
18505
18323
  const handleItemClick = _react.useCallback.call(void 0,
18506
18324
  (item) => {
18507
- _optionalChain([onItemClick, 'optionalCall', _448 => _448(item)]);
18325
+ _optionalChain([onItemClick, 'optionalCall', _449 => _449(item)]);
18508
18326
  if (item.type !== "checkbox" && item.type !== "submenu") {
18509
18327
  setOpen(false);
18510
18328
  }
@@ -18675,13 +18493,13 @@ function IconButtonsVariant({
18675
18493
  }) {
18676
18494
  const desktopActions = actions.filter((a) => !a.showOnlyMobile);
18677
18495
  const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
18678
- const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _449 => _449[0], 'access', _450 => _450.submenu, 'optionalAccess', _451 => _451.length]);
18496
+ const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _450 => _450[0], 'access', _451 => _451.submenu, 'optionalAccess', _452 => _452.length]);
18679
18497
  const singleAction = isSingleAction ? actions[0] : null;
18680
18498
  const useSingleActionMobile = isSingleAction && !hasMenuActions;
18681
18499
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
18682
18500
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "hidden md:flex items-center", ACTIONS_GAP, className), children: [
18683
18501
  selector,
18684
- desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React38.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
18502
+ desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React37.default.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
18685
18503
  hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionsMenuDropdown, { groups: menuActions })
18686
18504
  ] }),
18687
18505
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "flex md:hidden", className), children: useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18706,7 +18524,7 @@ function PrimaryButtonsVariant({
18706
18524
  });
18707
18525
  const desktopActions = sortedActions.filter((a) => !a.showOnlyMobile);
18708
18526
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
18709
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "hidden md:flex items-center", ACTIONS_GAP, className), children: desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React38.default.Fragment, { children: renderActionButton(action) }, `desktop-${actionKey(action, idx)}`)) }),
18527
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "hidden md:flex items-center", ACTIONS_GAP, className), children: desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React37.default.Fragment, { children: renderActionButton(action) }, `desktop-${actionKey(action, idx)}`)) }),
18710
18528
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MobileBottomActions, { actions: sortedActions })
18711
18529
  ] });
18712
18530
  }
@@ -18722,7 +18540,7 @@ function MenuPrimaryVariant({
18722
18540
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "hidden md:flex items-center", ACTIONS_GAP, className), children: [
18723
18541
  selector,
18724
18542
  hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ActionsMenuDropdown, { groups: menuActions }),
18725
- desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React38.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
18543
+ desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React37.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }) }, `desktop-${actionKey(action, idx)}`))
18726
18544
  ] }),
18727
18545
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "flex md:hidden", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18728
18546
  ActionsMenuDropdown,
@@ -18741,7 +18559,7 @@ function MobileBottomActions({ actions }) {
18741
18559
  "bg-ods-card border-t border-ods-border",
18742
18560
  "flex items-start pt-6 pb-6 px-6",
18743
18561
  ACTIONS_GAP
18744
- ), children: actions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React38.default.Fragment, { children: renderActionButton(action, { fullWidth: !!action.label }) }, `mobile-${actionKey(action, idx)}`)) });
18562
+ ), children: actions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React37.default.Fragment, { children: renderActionButton(action, { fullWidth: !!action.label }) }, `mobile-${actionKey(action, idx)}`)) });
18745
18563
  }
18746
18564
  function usePageActionsBottomPadding(variant) {
18747
18565
  return variant === "primary-buttons" || variant === "menu-primary" ? "pb-40 md:pb-0" : "";
@@ -19105,14 +18923,14 @@ function ReleaseDetailPage({
19105
18923
  releaseVersion
19106
18924
  ] })
19107
18925
  ] }) }),
19108
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2 w-full", children: _optionalChain([blogTags, 'optionalAccess', _452 => _452.map, 'call', _453 => _453((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18926
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2 w-full", children: _optionalChain([blogTags, 'optionalAccess', _453 => _453.map, 'call', _454 => _454((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19109
18927
  StatusBadge,
19110
18928
  {
19111
- text: (tag.name || _optionalChain([tag, 'access', _454 => _454.blog_tags, 'optionalAccess', _455 => _455.name]) || "").toUpperCase(),
18929
+ text: (tag.name || _optionalChain([tag, 'access', _455 => _455.blog_tags, 'optionalAccess', _456 => _456.name]) || "").toUpperCase(),
19112
18930
  variant: "card",
19113
18931
  className: "bg-ods-card border border-ods-border"
19114
18932
  },
19115
- tag.id || _optionalChain([tag, 'access', _456 => _456.blog_tags, 'optionalAccess', _457 => _457.id])
18933
+ tag.id || _optionalChain([tag, 'access', _457 => _457.blog_tags, 'optionalAccess', _458 => _458.id])
19116
18934
  ))]) }),
19117
18935
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 md:grid-cols-4 border border-ods-border rounded-md overflow-hidden w-full", children: [
19118
18936
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-card border-b md:border-b-0 md:border-r border-ods-border p-4 flex flex-col gap-3", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-0", children: [
@@ -19131,15 +18949,15 @@ function ReleaseDetailPage({
19131
18949
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19132
18950
  SquareAvatar,
19133
18951
  {
19134
- src: _optionalChain([author, 'optionalAccess', _458 => _458.avatar_url]) || "",
19135
- alt: _optionalChain([author, 'optionalAccess', _459 => _459.full_name]) || "Author",
19136
- fallback: getInitials4(_optionalChain([author, 'optionalAccess', _460 => _460.full_name]) || "Unknown"),
18952
+ src: _optionalChain([author, 'optionalAccess', _459 => _459.avatar_url]) || "",
18953
+ alt: _optionalChain([author, 'optionalAccess', _460 => _460.full_name]) || "Author",
18954
+ fallback: getInitials4(_optionalChain([author, 'optionalAccess', _461 => _461.full_name]) || "Unknown"),
19137
18955
  size: "md",
19138
18956
  variant: "round"
19139
18957
  }
19140
18958
  ),
19141
18959
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-0 flex-1 min-w-0", children: [
19142
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", title: _optionalChain([author, 'optionalAccess', _461 => _461.full_name]) || "Unknown Author", children: _optionalChain([author, 'optionalAccess', _462 => _462.full_name]) || "Unknown Author" }),
18960
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", title: _optionalChain([author, 'optionalAccess', _462 => _462.full_name]) || "Unknown Author", children: _optionalChain([author, 'optionalAccess', _463 => _463.full_name]) || "Unknown Author" }),
19143
18961
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: "Author" })
19144
18962
  ] })
19145
18963
  ] })
@@ -19170,8 +18988,8 @@ function ReleaseDetailPage({
19170
18988
  videoBites,
19171
18989
  bitesTitle: "Video Clips",
19172
18990
  filterPublishedBites: true,
19173
- srtContent: _optionalChain([release, 'optionalAccess', _463 => _463.srt_content]),
19174
- captionsUrl: _optionalChain([release, 'optionalAccess', _464 => _464.captionsUrl])
18991
+ srtContent: _optionalChain([release, 'optionalAccess', _464 => _464.srt_content]),
18992
+ captionsUrl: _optionalChain([release, 'optionalAccess', _465 => _465.captionsUrl])
19175
18993
  }
19176
18994
  ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
19177
18995
  youtubeUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -19187,8 +19005,8 @@ function ReleaseDetailPage({
19187
19005
  Video2,
19188
19006
  {
19189
19007
  url: mainVideoUrl,
19190
- srtContent: _optionalChain([release, 'optionalAccess', _465 => _465.srt_content]),
19191
- captionsUrl: _optionalChain([release, 'optionalAccess', _466 => _466.captionsUrl]),
19008
+ srtContent: _optionalChain([release, 'optionalAccess', _466 => _466.srt_content]),
19009
+ captionsUrl: _optionalChain([release, 'optionalAccess', _467 => _467.captionsUrl]),
19192
19010
  layout: "centered"
19193
19011
  }
19194
19012
  ),
@@ -19282,7 +19100,7 @@ function ReleaseDetailPage({
19282
19100
  }
19283
19101
  )
19284
19102
  ] }),
19285
- (_optionalChain([githubReleases, 'optionalAccess', _467 => _467.length]) || _optionalChain([knowledgeBaseLinks, 'optionalAccess', _468 => _468.length]) || migrationGuideUrl || documentationUrl) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1 w-full", children: [
19103
+ (_optionalChain([githubReleases, 'optionalAccess', _468 => _468.length]) || _optionalChain([knowledgeBaseLinks, 'optionalAccess', _469 => _469.length]) || migrationGuideUrl || documentationUrl) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1 w-full", children: [
19286
19104
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h5 tracking-[-0.28px] text-ods-text-secondary", children: "Related Links" }),
19287
19105
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Card, { className: "bg-ods-card border-ods-border p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
19288
19106
  githubReleases && githubReleases.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: githubReleases.map((ghRelease) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-1", children: [
@@ -19311,7 +19129,7 @@ function ReleaseDetailPage({
19311
19129
  {
19312
19130
  href: path.startsWith("http") ? path : `/knowledge-base${path.startsWith("/") ? "" : "/"}${path}`,
19313
19131
  className: "text-h4 text-[#ffc008] hover:underline",
19314
- children: _optionalChain([path, 'access', _469 => _469.replace, 'call', _470 => _470(/^\//, ""), 'access', _471 => _471.split, 'call', _472 => _472("/"), 'access', _473 => _473.pop, 'call', _474 => _474(), 'optionalAccess', _475 => _475.replace, 'call', _476 => _476(/-/g, " ")]) || "View Article"
19132
+ children: _optionalChain([path, 'access', _470 => _470.replace, 'call', _471 => _471(/^\//, ""), 'access', _472 => _472.split, 'call', _473 => _473("/"), 'access', _474 => _474.pop, 'call', _475 => _475(), 'optionalAccess', _476 => _476.replace, 'call', _477 => _477(/-/g, " ")]) || "View Article"
19315
19133
  }
19316
19134
  ),
19317
19135
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-6 w-6 text-[#ffc008] shrink-0" })
@@ -19384,7 +19202,7 @@ function InfoCard({ data, className = "" }) {
19384
19202
  data.subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-h4 text-ods-text-secondary truncate self-stretch", title: data.subtitle, children: data.subtitle }),
19385
19203
  data.items.map((item, index) => {
19386
19204
  const values = Array.isArray(item.value) ? item.value : [item.value];
19387
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React38.default.Fragment, { children: values.map((val, valIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19205
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, React37.default.Fragment, { children: values.map((val, valIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19388
19206
  InfoCardValueRow,
19389
19207
  {
19390
19208
  label: item.label,
@@ -19410,7 +19228,7 @@ function InfoCard({ data, className = "" }) {
19410
19228
  );
19411
19229
  }
19412
19230
  function InfoCardValueRow({ label, value, showLabel, copyable, copyAriaLabel }) {
19413
- const { copy, copied } = _chunk25LVV26Xcjs.useCopyToClipboard.call(void 0, );
19231
+ const { copy, copied } = _chunkNLXY4QZEcjs.useCopyToClipboard.call(void 0, );
19414
19232
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-6 items-center gap-[var(--spacing-system-xs)] self-stretch w-full", children: [
19415
19233
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary whitespace-nowrap", children: showLabel ? label : "" }),
19416
19234
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 h-px bg-ods-divider" }),
@@ -19457,7 +19275,7 @@ function InfoRow({ label, value, icon }) {
19457
19275
  _chunkUC43NICZcjs.init_cn.call(void 0, );
19458
19276
 
19459
19277
 
19460
- var InputTrigger = React51.forwardRef(
19278
+ var InputTrigger = React50.forwardRef(
19461
19279
  ({ selectedLabel, placeholder, startIcon, endIcon, invalid, className, disabled, ...props }, ref) => {
19462
19280
  const isPlaceholder = selectedLabel === void 0 || selectedLabel === null || selectedLabel === "";
19463
19281
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -19522,8 +19340,8 @@ function MediaTypeSelector({
19522
19340
  className,
19523
19341
  disabled
19524
19342
  }) {
19525
- const [key, setKey] = React52.useState(0);
19526
- React52.useEffect(() => {
19343
+ const [key, setKey] = React51.useState(0);
19344
+ React51.useEffect(() => {
19527
19345
  setKey((prev) => prev + 1);
19528
19346
  }, [value]);
19529
19347
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -19623,7 +19441,7 @@ var ProgressBar = ({
19623
19441
  mobileHeight = 8,
19624
19442
  inverted = false
19625
19443
  }) => {
19626
- const isMdUp = _nullishCoalesce(_chunk25LVV26Xcjs.useMdUp.call(void 0, ), () => ( true));
19444
+ const isMdUp = _nullishCoalesce(_chunkNLXY4QZEcjs.useMdUp.call(void 0, ), () => ( true));
19627
19445
  const effectiveSegmentWidth = isMdUp ? segmentWidth : mobileSegmentWidth;
19628
19446
  const effectiveHeight = isMdUp ? height : mobileHeight;
19629
19447
  const containerRef = _react.useRef.call(void 0, null);
@@ -19679,7 +19497,7 @@ _chunkUC43NICZcjs.init_cn.call(void 0, );
19679
19497
 
19680
19498
  var _reactradiogroup = require('@radix-ui/react-radio-group'); var RadioGroupPrimitive = _interopRequireWildcard(_reactradiogroup);
19681
19499
 
19682
- var RadioGroup = React54.forwardRef(({ className, ...props }, ref) => {
19500
+ var RadioGroup = React53.forwardRef(({ className, ...props }, ref) => {
19683
19501
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19684
19502
  RadioGroupPrimitive.Root,
19685
19503
  {
@@ -19690,7 +19508,7 @@ var RadioGroup = React54.forwardRef(({ className, ...props }, ref) => {
19690
19508
  );
19691
19509
  });
19692
19510
  RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
19693
- var RadioGroupItem = React54.forwardRef(({ className, ...props }, ref) => {
19511
+ var RadioGroupItem = React53.forwardRef(({ className, ...props }, ref) => {
19694
19512
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19695
19513
  RadioGroupPrimitive.Item,
19696
19514
  {
@@ -19711,7 +19529,7 @@ var RadioGroupItem = React54.forwardRef(({ className, ...props }, ref) => {
19711
19529
  );
19712
19530
  });
19713
19531
  RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
19714
- var RadioGroupBlock = React54.forwardRef(
19532
+ var RadioGroupBlock = React53.forwardRef(
19715
19533
  ({ className, options, variant = "separated", error, itemClassName, disabled, ...props }, ref) => {
19716
19534
  const isGrouped = variant === "grouped";
19717
19535
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "relative flex w-full flex-col", className), children: [
@@ -19826,7 +19644,7 @@ function TagsInput({
19826
19644
  badgeClassName,
19827
19645
  label
19828
19646
  }) {
19829
- const [inputValue, setInputValue] = React55.useState("");
19647
+ const [inputValue, setInputValue] = React54.useState("");
19830
19648
  const handleAddTag = () => {
19831
19649
  const trimmedValue = inputValue.trim();
19832
19650
  if (!trimmedValue) return;
@@ -19932,19 +19750,19 @@ function TagsManager({
19932
19750
  disabled = false,
19933
19751
  className
19934
19752
  }) {
19935
- const [open, setOpen] = React56.useState(false);
19936
- const [search, setSearch] = React56.useState("");
19937
- const [editingId, setEditingId] = React56.useState(null);
19938
- const [editingName, setEditingName] = React56.useState("");
19939
- const editInputRef = React56.useRef(null);
19940
- const inputRef = React56.useRef(null);
19941
- const containerRef = React56.useRef(null);
19753
+ const [open, setOpen] = React55.useState(false);
19754
+ const [search, setSearch] = React55.useState("");
19755
+ const [editingId, setEditingId] = React55.useState(null);
19756
+ const [editingName, setEditingName] = React55.useState("");
19757
+ const editInputRef = React55.useRef(null);
19758
+ const inputRef = React55.useRef(null);
19759
+ const containerRef = React55.useRef(null);
19942
19760
  const selectedTags = tags.filter((t) => selectedIds.includes(t.id));
19943
19761
  const filtered = tags.filter(
19944
19762
  (t) => t.name.toLowerCase().includes(search.toLowerCase())
19945
19763
  );
19946
19764
  const showCreateOption = onCreateTag && search.trim() && !tags.some((t) => t.name.toLowerCase() === search.trim().toLowerCase());
19947
- const toggleTag = React56.useCallback(
19765
+ const toggleTag = React55.useCallback(
19948
19766
  (id) => {
19949
19767
  if (selectedIds.includes(id)) {
19950
19768
  onChange(selectedIds.filter((i) => i !== id));
@@ -19954,32 +19772,32 @@ function TagsManager({
19954
19772
  },
19955
19773
  [selectedIds, onChange]
19956
19774
  );
19957
- const handleCreate = React56.useCallback(async () => {
19775
+ const handleCreate = React55.useCallback(async () => {
19958
19776
  if (!onCreateTag) return;
19959
19777
  const name = search.trim();
19960
19778
  if (!name) return;
19961
19779
  const result = await onCreateTag(name);
19962
- if (_optionalChain([result, 'optionalAccess', _477 => _477.id])) {
19780
+ if (_optionalChain([result, 'optionalAccess', _478 => _478.id])) {
19963
19781
  onChange([...selectedIds, result.id]);
19964
19782
  setSearch("");
19965
19783
  }
19966
19784
  }, [search, onCreateTag, selectedIds, onChange]);
19967
- const startEdit = React56.useCallback((id, name) => {
19785
+ const startEdit = React55.useCallback((id, name) => {
19968
19786
  setEditingId(id);
19969
19787
  setEditingName(name);
19970
- setTimeout(() => _optionalChain([editInputRef, 'access', _478 => _478.current, 'optionalAccess', _479 => _479.focus, 'call', _480 => _480()]), 0);
19788
+ setTimeout(() => _optionalChain([editInputRef, 'access', _479 => _479.current, 'optionalAccess', _480 => _480.focus, 'call', _481 => _481()]), 0);
19971
19789
  }, []);
19972
- const confirmEdit = React56.useCallback(async () => {
19790
+ const confirmEdit = React55.useCallback(async () => {
19973
19791
  if (!onUpdateTag || !editingId || !editingName.trim()) return;
19974
19792
  await onUpdateTag(editingId, editingName.trim());
19975
19793
  setEditingId(null);
19976
19794
  setEditingName("");
19977
19795
  }, [editingId, editingName, onUpdateTag]);
19978
- const cancelEdit = React56.useCallback(() => {
19796
+ const cancelEdit = React55.useCallback(() => {
19979
19797
  setEditingId(null);
19980
19798
  setEditingName("");
19981
19799
  }, []);
19982
- const handleDelete = React56.useCallback(
19800
+ const handleDelete = React55.useCallback(
19983
19801
  async (id) => {
19984
19802
  if (!onDeleteTag) return;
19985
19803
  await onDeleteTag(id);
@@ -19989,12 +19807,12 @@ function TagsManager({
19989
19807
  },
19990
19808
  [onDeleteTag, selectedIds, onChange]
19991
19809
  );
19992
- const handleClearAll = React56.useCallback(
19810
+ const handleClearAll = React55.useCallback(
19993
19811
  (e) => {
19994
19812
  e.stopPropagation();
19995
19813
  onChange([]);
19996
19814
  setSearch("");
19997
- _optionalChain([inputRef, 'access', _481 => _481.current, 'optionalAccess', _482 => _482.focus, 'call', _483 => _483()]);
19815
+ _optionalChain([inputRef, 'access', _482 => _482.current, 'optionalAccess', _483 => _483.focus, 'call', _484 => _484()]);
19998
19816
  },
19999
19817
  [onChange]
20000
19818
  );
@@ -20093,10 +19911,10 @@ function TagsManager({
20093
19911
  align: "start",
20094
19912
  onOpenAutoFocus: (e) => {
20095
19913
  e.preventDefault();
20096
- _optionalChain([inputRef, 'access', _484 => _484.current, 'optionalAccess', _485 => _485.focus, 'call', _486 => _486()]);
19914
+ _optionalChain([inputRef, 'access', _485 => _485.current, 'optionalAccess', _486 => _486.focus, 'call', _487 => _487()]);
20097
19915
  },
20098
19916
  onInteractOutside: (e) => {
20099
- if (_optionalChain([containerRef, 'access', _487 => _487.current, 'optionalAccess', _488 => _488.contains, 'call', _489 => _489(e.target)])) {
19917
+ if (_optionalChain([containerRef, 'access', _488 => _488.current, 'optionalAccess', _489 => _489.contains, 'call', _490 => _490(e.target)])) {
20100
19918
  e.preventDefault();
20101
19919
  }
20102
19920
  },
@@ -20290,7 +20108,7 @@ var _reactalertdialog = require('@radix-ui/react-alert-dialog'); var AlertDialog
20290
20108
  var AlertDialog = AlertDialogPrimitive.Root;
20291
20109
  var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
20292
20110
  var AlertDialogPortal = AlertDialogPrimitive.Portal;
20293
- var AlertDialogOverlay = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20111
+ var AlertDialogOverlay = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20294
20112
  AlertDialogPrimitive.Overlay,
20295
20113
  {
20296
20114
  className: _chunkUC43NICZcjs.cn.call(void 0,
@@ -20302,7 +20120,7 @@ var AlertDialogOverlay = React57.forwardRef(({ className, ...props }, ref) => /*
20302
20120
  }
20303
20121
  ));
20304
20122
  AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
20305
- var AlertDialogContent = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, AlertDialogPortal, { children: [
20123
+ var AlertDialogContent = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, AlertDialogPortal, { children: [
20306
20124
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AlertDialogOverlay, {}),
20307
20125
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20308
20126
  AlertDialogPrimitive.Content,
@@ -20345,7 +20163,7 @@ var AlertDialogFooter = ({
20345
20163
  }
20346
20164
  );
20347
20165
  AlertDialogFooter.displayName = "AlertDialogFooter";
20348
- var AlertDialogTitle = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20166
+ var AlertDialogTitle = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20349
20167
  AlertDialogPrimitive.Title,
20350
20168
  {
20351
20169
  ref,
@@ -20354,7 +20172,7 @@ var AlertDialogTitle = React57.forwardRef(({ className, ...props }, ref) => /* @
20354
20172
  }
20355
20173
  ));
20356
20174
  AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
20357
- var AlertDialogDescription = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20175
+ var AlertDialogDescription = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20358
20176
  AlertDialogPrimitive.Description,
20359
20177
  {
20360
20178
  ref,
@@ -20363,7 +20181,7 @@ var AlertDialogDescription = React57.forwardRef(({ className, ...props }, ref) =
20363
20181
  }
20364
20182
  ));
20365
20183
  AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
20366
- var AlertDialogAction = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20184
+ var AlertDialogAction = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20367
20185
  AlertDialogPrimitive.Action,
20368
20186
  {
20369
20187
  ref,
@@ -20372,7 +20190,7 @@ var AlertDialogAction = React57.forwardRef(({ className, ...props }, ref) => /*
20372
20190
  }
20373
20191
  ));
20374
20192
  AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
20375
- var AlertDialogCancel = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20193
+ var AlertDialogCancel = React56.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20376
20194
  AlertDialogPrimitive.Cancel,
20377
20195
  {
20378
20196
  ref,
@@ -20400,7 +20218,7 @@ var Dialog = DialogPrimitive3.Root;
20400
20218
  var DialogTrigger = DialogPrimitive3.Trigger;
20401
20219
  var DialogPortal = DialogPrimitive3.Portal;
20402
20220
  var DialogClose = DialogPrimitive3.Close;
20403
- var DialogOverlay = React58.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20221
+ var DialogOverlay = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20404
20222
  DialogPrimitive3.Overlay,
20405
20223
  {
20406
20224
  ref,
@@ -20412,7 +20230,7 @@ var DialogOverlay = React58.forwardRef(({ className, ...props }, ref) => /* @__P
20412
20230
  }
20413
20231
  ));
20414
20232
  DialogOverlay.displayName = DialogPrimitive3.Overlay.displayName;
20415
- var DialogContent = React58.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogPortal, { children: [
20233
+ var DialogContent = React57.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, DialogPortal, { children: [
20416
20234
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogOverlay, {}),
20417
20235
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20418
20236
  DialogPrimitive3.Content,
@@ -20438,7 +20256,7 @@ var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ _jsxruntime.jsx.
20438
20256
  DialogHeader.displayName = "DialogHeader";
20439
20257
  var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "flex flex-col-reverse md:flex-row md:justify-end md:space-x-2", className), ...props });
20440
20258
  DialogFooter.displayName = "DialogFooter";
20441
- var DialogTitle = React58.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20259
+ var DialogTitle = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20442
20260
  DialogPrimitive3.Title,
20443
20261
  {
20444
20262
  ref,
@@ -20447,7 +20265,7 @@ var DialogTitle = React58.forwardRef(({ className, ...props }, ref) => /* @__PUR
20447
20265
  }
20448
20266
  ));
20449
20267
  DialogTitle.displayName = DialogPrimitive3.Title.displayName;
20450
- var DialogDescription = React58.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive3.Description, { ref, className: _chunkUC43NICZcjs.cn.call(void 0, "text-sm text-muted-foreground", className), ...props }));
20268
+ var DialogDescription = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogPrimitive3.Description, { ref, className: _chunkUC43NICZcjs.cn.call(void 0, "text-sm text-muted-foreground", className), ...props }));
20451
20269
  DialogDescription.displayName = DialogPrimitive3.Description.displayName;
20452
20270
 
20453
20271
  // src/components/ui/modal.tsx
@@ -20455,7 +20273,7 @@ _chunkUC43NICZcjs.init_cn.call(void 0, );
20455
20273
 
20456
20274
 
20457
20275
 
20458
- var Modal = React59.forwardRef(
20276
+ var Modal = React58.forwardRef(
20459
20277
  ({ isOpen, onClose, children, className }, ref) => {
20460
20278
  _react.useEffect.call(void 0, () => {
20461
20279
  const handleKeyDown = (event) => {
@@ -20499,11 +20317,11 @@ var Modal = React59.forwardRef(
20499
20317
  }
20500
20318
  );
20501
20319
  Modal.displayName = "Modal";
20502
- var ModalContent = React59.forwardRef(
20320
+ var ModalContent = React58.forwardRef(
20503
20321
  ({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunkUC43NICZcjs.cn.call(void 0, "overflow-y-auto min-h-0 flex-1", className), children })
20504
20322
  );
20505
20323
  ModalContent.displayName = "ModalContent";
20506
- var ModalHeader = React59.forwardRef(
20324
+ var ModalHeader = React58.forwardRef(
20507
20325
  ({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20508
20326
  "div",
20509
20327
  {
@@ -20514,7 +20332,7 @@ var ModalHeader = React59.forwardRef(
20514
20332
  )
20515
20333
  );
20516
20334
  ModalHeader.displayName = "ModalHeader";
20517
- var ModalTitle = React59.forwardRef(
20335
+ var ModalTitle = React58.forwardRef(
20518
20336
  ({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20519
20337
  "h2",
20520
20338
  {
@@ -20525,7 +20343,7 @@ var ModalTitle = React59.forwardRef(
20525
20343
  )
20526
20344
  );
20527
20345
  ModalTitle.displayName = "ModalTitle";
20528
- var ModalFooter = React59.forwardRef(
20346
+ var ModalFooter = React58.forwardRef(
20529
20347
  ({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20530
20348
  "div",
20531
20349
  {
@@ -20542,8 +20360,8 @@ ModalFooter.displayName = "ModalFooter";
20542
20360
 
20543
20361
  _chunkUC43NICZcjs.init_cn.call(void 0, );
20544
20362
 
20545
- var ModalContext = React60.createContext({});
20546
- var Modal2 = React60.forwardRef(
20363
+ var ModalContext = React59.createContext({});
20364
+ var Modal2 = React59.forwardRef(
20547
20365
  ({ isOpen, onClose, children, className }, ref) => {
20548
20366
  _react.useEffect.call(void 0, () => {
20549
20367
  const handleKeyDown = (event) => {
@@ -20592,13 +20410,13 @@ var Modal2 = React60.forwardRef(
20592
20410
  }
20593
20411
  );
20594
20412
  Modal2.displayName = "ModalV2";
20595
- var ModalContent2 = React60.forwardRef(
20413
+ var ModalContent2 = React59.forwardRef(
20596
20414
  ({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunkUC43NICZcjs.cn.call(void 0, "flex-1 min-h-0 overflow-y-auto", className), children })
20597
20415
  );
20598
20416
  ModalContent2.displayName = "ModalV2Content";
20599
- var ModalHeader2 = React60.forwardRef(
20417
+ var ModalHeader2 = React59.forwardRef(
20600
20418
  ({ children, className }, ref) => {
20601
- const { onClose } = React60.useContext(ModalContext);
20419
+ const { onClose } = React59.useContext(ModalContext);
20602
20420
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20603
20421
  "div",
20604
20422
  {
@@ -20621,7 +20439,7 @@ var ModalHeader2 = React60.forwardRef(
20621
20439
  }
20622
20440
  );
20623
20441
  ModalHeader2.displayName = "ModalV2Header";
20624
- var ModalTitle2 = React60.forwardRef(
20442
+ var ModalTitle2 = React59.forwardRef(
20625
20443
  ({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20626
20444
  "h2",
20627
20445
  {
@@ -20632,7 +20450,7 @@ var ModalTitle2 = React60.forwardRef(
20632
20450
  )
20633
20451
  );
20634
20452
  ModalTitle2.displayName = "ModalV2Title";
20635
- var ModalFooter2 = React60.forwardRef(
20453
+ var ModalFooter2 = React59.forwardRef(
20636
20454
  ({ children, className }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20637
20455
  "div",
20638
20456
  {
@@ -20649,7 +20467,7 @@ _chunkUC43NICZcjs.init_cn.call(void 0, );
20649
20467
 
20650
20468
  var _reactseparator = require('@radix-ui/react-separator'); var SeparatorPrimitive = _interopRequireWildcard(_reactseparator);
20651
20469
 
20652
- var Separator2 = React61.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20470
+ var Separator2 = React60.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20653
20471
  SeparatorPrimitive.Root,
20654
20472
  {
20655
20473
  ref,
@@ -20672,7 +20490,7 @@ var Sheet = SheetPrimitive.Root;
20672
20490
  var SheetTrigger = SheetPrimitive.Trigger;
20673
20491
  var SheetClose = SheetPrimitive.Close;
20674
20492
  var SheetPortal = SheetPrimitive.Portal;
20675
- var SheetOverlay = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20493
+ var SheetOverlay = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20676
20494
  SheetPrimitive.Overlay,
20677
20495
  {
20678
20496
  className: _chunkUC43NICZcjs.cn.call(void 0,
@@ -20700,7 +20518,7 @@ var sheetVariants = _classvarianceauthority.cva.call(void 0,
20700
20518
  }
20701
20519
  }
20702
20520
  );
20703
- var SheetContent = React62.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SheetPortal, { children: [
20521
+ var SheetContent = React61.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SheetPortal, { children: [
20704
20522
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetOverlay, {}),
20705
20523
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20706
20524
  SheetPrimitive.Content,
@@ -20747,7 +20565,7 @@ var SheetFooter = ({
20747
20565
  }
20748
20566
  );
20749
20567
  SheetFooter.displayName = "SheetFooter";
20750
- var SheetTitle = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20568
+ var SheetTitle = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20751
20569
  SheetPrimitive.Title,
20752
20570
  {
20753
20571
  ref,
@@ -20756,7 +20574,7 @@ var SheetTitle = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE
20756
20574
  }
20757
20575
  ));
20758
20576
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
20759
- var SheetDescription = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20577
+ var SheetDescription = React61.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20760
20578
  SheetPrimitive.Description,
20761
20579
  {
20762
20580
  ref,
@@ -20773,9 +20591,9 @@ var _reactaccordion = require('@radix-ui/react-accordion'); var AccordionPrimiti
20773
20591
 
20774
20592
 
20775
20593
  var Accordion = AccordionPrimitive.Root;
20776
- var AccordionItem = React63.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AccordionPrimitive.Item, { ref, className: _chunkUC43NICZcjs.cn.call(void 0, "border-b", className), ...props }));
20594
+ var AccordionItem = React62.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AccordionPrimitive.Item, { ref, className: _chunkUC43NICZcjs.cn.call(void 0, "border-b", className), ...props }));
20777
20595
  AccordionItem.displayName = "AccordionItem";
20778
- var AccordionTrigger = React63.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20596
+ var AccordionTrigger = React62.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20779
20597
  AccordionPrimitive.Trigger,
20780
20598
  {
20781
20599
  ref,
@@ -20791,7 +20609,7 @@ var AccordionTrigger = React63.forwardRef(({ className, children, ...props }, re
20791
20609
  }
20792
20610
  ) }));
20793
20611
  AccordionTrigger.displayName = "AccordionTrigger";
20794
- var AccordionContent = React63.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20612
+ var AccordionContent = React62.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20795
20613
  AccordionPrimitive.Content,
20796
20614
  {
20797
20615
  ref,
@@ -20811,9 +20629,9 @@ _chunkUC43NICZcjs.init_cn.call(void 0, );
20811
20629
  var _reactslot = require('@radix-ui/react-slot');
20812
20630
 
20813
20631
 
20814
- var Breadcrumb = React64.forwardRef(({ ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "nav", { ref, "aria-label": "breadcrumb", ...props }));
20632
+ var Breadcrumb = React63.forwardRef(({ ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "nav", { ref, "aria-label": "breadcrumb", ...props }));
20815
20633
  Breadcrumb.displayName = "Breadcrumb";
20816
- var BreadcrumbList = React64.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20634
+ var BreadcrumbList = React63.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20817
20635
  "ol",
20818
20636
  {
20819
20637
  ref,
@@ -20825,7 +20643,7 @@ var BreadcrumbList = React64.forwardRef(({ className, ...props }, ref) => /* @__
20825
20643
  }
20826
20644
  ));
20827
20645
  BreadcrumbList.displayName = "BreadcrumbList";
20828
- var BreadcrumbItem = React64.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20646
+ var BreadcrumbItem = React63.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20829
20647
  "li",
20830
20648
  {
20831
20649
  ref,
@@ -20834,7 +20652,7 @@ var BreadcrumbItem = React64.forwardRef(({ className, ...props }, ref) => /* @__
20834
20652
  }
20835
20653
  ));
20836
20654
  BreadcrumbItem.displayName = "BreadcrumbItem";
20837
- var BreadcrumbLink = React64.forwardRef(({ asChild, className, ...props }, ref) => {
20655
+ var BreadcrumbLink = React63.forwardRef(({ asChild, className, ...props }, ref) => {
20838
20656
  const Comp = asChild ? _reactslot.Slot : "a";
20839
20657
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20840
20658
  Comp,
@@ -20846,7 +20664,7 @@ var BreadcrumbLink = React64.forwardRef(({ asChild, className, ...props }, ref)
20846
20664
  );
20847
20665
  });
20848
20666
  BreadcrumbLink.displayName = "BreadcrumbLink";
20849
- var BreadcrumbPage = React64.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20667
+ var BreadcrumbPage = React63.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20850
20668
  "span",
20851
20669
  {
20852
20670
  ref,
@@ -20902,7 +20720,7 @@ var MenubarGroup = MenubarPrimitive.Group;
20902
20720
  var MenubarPortal = MenubarPrimitive.Portal;
20903
20721
  var MenubarSub = MenubarPrimitive.Sub;
20904
20722
  var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
20905
- var Menubar = React65.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20723
+ var Menubar = React64.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20906
20724
  MenubarPrimitive.Root,
20907
20725
  {
20908
20726
  ref,
@@ -20914,7 +20732,7 @@ var Menubar = React65.forwardRef(({ className, ...props }, ref) => /* @__PURE__
20914
20732
  }
20915
20733
  ));
20916
20734
  Menubar.displayName = MenubarPrimitive.Root.displayName;
20917
- var MenubarTrigger = React65.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20735
+ var MenubarTrigger = React64.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20918
20736
  MenubarPrimitive.Trigger,
20919
20737
  {
20920
20738
  ref,
@@ -20926,7 +20744,7 @@ var MenubarTrigger = React65.forwardRef(({ className, ...props }, ref) => /* @__
20926
20744
  }
20927
20745
  ));
20928
20746
  MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
20929
- var MenubarSubTrigger = React65.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20747
+ var MenubarSubTrigger = React64.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20930
20748
  MenubarPrimitive.SubTrigger,
20931
20749
  {
20932
20750
  ref,
@@ -20943,7 +20761,7 @@ var MenubarSubTrigger = React65.forwardRef(({ className, inset, children, ...pro
20943
20761
  }
20944
20762
  ));
20945
20763
  MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
20946
- var MenubarSubContent = React65.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20764
+ var MenubarSubContent = React64.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20947
20765
  MenubarPrimitive.SubContent,
20948
20766
  {
20949
20767
  ref,
@@ -20955,7 +20773,7 @@ var MenubarSubContent = React65.forwardRef(({ className, ...props }, ref) => /*
20955
20773
  }
20956
20774
  ));
20957
20775
  MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
20958
- var MenubarContent = React65.forwardRef(
20776
+ var MenubarContent = React64.forwardRef(
20959
20777
  ({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MenubarPrimitive.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20960
20778
  MenubarPrimitive.Content,
20961
20779
  {
@@ -20972,7 +20790,7 @@ var MenubarContent = React65.forwardRef(
20972
20790
  ) })
20973
20791
  );
20974
20792
  MenubarContent.displayName = MenubarPrimitive.Content.displayName;
20975
- var MenubarItem = React65.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20793
+ var MenubarItem = React64.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20976
20794
  MenubarPrimitive.Item,
20977
20795
  {
20978
20796
  ref,
@@ -20985,7 +20803,7 @@ var MenubarItem = React65.forwardRef(({ className, inset, ...props }, ref) => /*
20985
20803
  }
20986
20804
  ));
20987
20805
  MenubarItem.displayName = MenubarPrimitive.Item.displayName;
20988
- var MenubarCheckboxItem = React65.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20806
+ var MenubarCheckboxItem = React64.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20989
20807
  MenubarPrimitive.CheckboxItem,
20990
20808
  {
20991
20809
  ref,
@@ -21002,7 +20820,7 @@ var MenubarCheckboxItem = React65.forwardRef(({ className, children, checked, ..
21002
20820
  }
21003
20821
  ));
21004
20822
  MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
21005
- var MenubarRadioItem = React65.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20823
+ var MenubarRadioItem = React64.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
21006
20824
  MenubarPrimitive.RadioItem,
21007
20825
  {
21008
20826
  ref,
@@ -21018,7 +20836,7 @@ var MenubarRadioItem = React65.forwardRef(({ className, children, ...props }, re
21018
20836
  }
21019
20837
  ));
21020
20838
  MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
21021
- var MenubarLabel = React65.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20839
+ var MenubarLabel = React64.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21022
20840
  MenubarPrimitive.Label,
21023
20841
  {
21024
20842
  ref,
@@ -21031,7 +20849,7 @@ var MenubarLabel = React65.forwardRef(({ className, inset, ...props }, ref) => /
21031
20849
  }
21032
20850
  ));
21033
20851
  MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
21034
- var MenubarSeparator = React65.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20852
+ var MenubarSeparator = React64.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21035
20853
  MenubarPrimitive.Separator,
21036
20854
  {
21037
20855
  ref,
@@ -21064,7 +20882,7 @@ var _reactnavigationmenu = require('@radix-ui/react-navigation-menu'); var Navig
21064
20882
 
21065
20883
 
21066
20884
 
21067
- var NavigationMenu = React66.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20885
+ var NavigationMenu = React65.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
21068
20886
  NavigationMenuPrimitive.Root,
21069
20887
  {
21070
20888
  ref,
@@ -21080,7 +20898,7 @@ var NavigationMenu = React66.forwardRef(({ className, children, ...props }, ref)
21080
20898
  }
21081
20899
  ));
21082
20900
  NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
21083
- var NavigationMenuList = React66.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20901
+ var NavigationMenuList = React65.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21084
20902
  NavigationMenuPrimitive.List,
21085
20903
  {
21086
20904
  ref,
@@ -21096,7 +20914,7 @@ var NavigationMenuItem = NavigationMenuPrimitive.Item;
21096
20914
  var navigationMenuTriggerStyle = _classvarianceauthority.cva.call(void 0,
21097
20915
  "group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"
21098
20916
  );
21099
- var NavigationMenuTrigger = React66.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20917
+ var NavigationMenuTrigger = React65.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
21100
20918
  NavigationMenuPrimitive.Trigger,
21101
20919
  {
21102
20920
  ref,
@@ -21116,7 +20934,7 @@ var NavigationMenuTrigger = React66.forwardRef(({ className, children, ...props
21116
20934
  }
21117
20935
  ));
21118
20936
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
21119
- var NavigationMenuContent = React66.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20937
+ var NavigationMenuContent = React65.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21120
20938
  NavigationMenuPrimitive.Content,
21121
20939
  {
21122
20940
  ref,
@@ -21129,7 +20947,7 @@ var NavigationMenuContent = React66.forwardRef(({ className, ...props }, ref) =>
21129
20947
  ));
21130
20948
  NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
21131
20949
  var NavigationMenuLink = NavigationMenuPrimitive.Link;
21132
- var NavigationMenuViewport = React66.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20950
+ var NavigationMenuViewport = React65.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21133
20951
  NavigationMenuPrimitive.Viewport,
21134
20952
  {
21135
20953
  className: _chunkUC43NICZcjs.cn.call(void 0,
@@ -21141,7 +20959,7 @@ var NavigationMenuViewport = React66.forwardRef(({ className, ...props }, ref) =
21141
20959
  }
21142
20960
  ) }));
21143
20961
  NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
21144
- var NavigationMenuIndicator = React66.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20962
+ var NavigationMenuIndicator = React65.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21145
20963
  NavigationMenuPrimitive.Indicator,
21146
20964
  {
21147
20965
  ref,
@@ -21200,19 +21018,19 @@ function TabNavigation({
21200
21018
  const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
21201
21019
  const getInitialTab = () => {
21202
21020
  if (isUrlSyncEnabled) {
21203
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _490 => _490.get, 'call', _491 => _491(paramName)]) || "";
21021
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _491 => _491.get, 'call', _492 => _492(paramName)]) || "";
21204
21022
  if (validTabIds.has(fromUrl)) {
21205
21023
  return fromUrl;
21206
21024
  }
21207
21025
  }
21208
- return defaultTab || _optionalChain([tabs, 'access', _492 => _492[0], 'optionalAccess', _493 => _493.id]) || "";
21026
+ return defaultTab || _optionalChain([tabs, 'access', _493 => _493[0], 'optionalAccess', _494 => _494.id]) || "";
21209
21027
  };
21210
21028
  const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
21211
21029
  const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
21212
21030
  _react.useEffect.call(void 0, () => {
21213
21031
  if (!isUrlSyncEnabled) return;
21214
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _494 => _494.get, 'call', _495 => _495(paramName)]) || "";
21215
- const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _496 => _496[0], 'optionalAccess', _497 => _497.id]) || "";
21032
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _495 => _495.get, 'call', _496 => _496(paramName)]) || "";
21033
+ const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _497 => _497[0], 'optionalAccess', _498 => _498.id]) || "";
21216
21034
  if (nextTab !== internalActiveTab) {
21217
21035
  setInternalActiveTab(nextTab);
21218
21036
  }
@@ -21220,13 +21038,13 @@ function TabNavigation({
21220
21038
  const handleTabChange = (tabId) => {
21221
21039
  if (isUrlSyncEnabled) {
21222
21040
  setInternalActiveTab(tabId);
21223
- const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _498 => _498.toString, 'call', _499 => _499()]));
21041
+ const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _499 => _499.toString, 'call', _500 => _500()]));
21224
21042
  params.set(paramName, tabId);
21225
21043
  const method = replaceState ? "replace" : "push";
21226
21044
  router[method](`${pathname}?${params.toString()}`);
21227
- _optionalChain([controlledOnTabChange, 'optionalCall', _500 => _500(tabId)]);
21228
- } else {
21229
21045
  _optionalChain([controlledOnTabChange, 'optionalCall', _501 => _501(tabId)]);
21046
+ } else {
21047
+ _optionalChain([controlledOnTabChange, 'optionalCall', _502 => _502(tabId)]);
21230
21048
  }
21231
21049
  };
21232
21050
  const scrollRef = _react.useRef.call(void 0, null);
@@ -21314,7 +21132,7 @@ function TabNavigation({
21314
21132
  var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
21315
21133
  var getTabComponent = (tabs, tabId) => {
21316
21134
  const tab = getTabById(tabs, tabId);
21317
- return _optionalChain([tab, 'optionalAccess', _502 => _502.component]) || null;
21135
+ return _optionalChain([tab, 'optionalAccess', _503 => _503.component]) || null;
21318
21136
  };
21319
21137
 
21320
21138
  // src/components/ui/alert.tsx
@@ -21336,7 +21154,7 @@ var alertVariants = _classvarianceauthority.cva.call(void 0,
21336
21154
  }
21337
21155
  }
21338
21156
  );
21339
- var Alert = React68.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21157
+ var Alert = React67.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21340
21158
  "div",
21341
21159
  {
21342
21160
  ref,
@@ -21346,7 +21164,7 @@ var Alert = React68.forwardRef(({ className, variant, ...props }, ref) => /* @__
21346
21164
  }
21347
21165
  ));
21348
21166
  Alert.displayName = "Alert";
21349
- var AlertTitle = React68.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21167
+ var AlertTitle = React67.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21350
21168
  "h5",
21351
21169
  {
21352
21170
  ref,
@@ -21355,7 +21173,7 @@ var AlertTitle = React68.forwardRef(({ className, ...props }, ref) => /* @__PURE
21355
21173
  }
21356
21174
  ));
21357
21175
  AlertTitle.displayName = "AlertTitle";
21358
- var AlertDescription = React68.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21176
+ var AlertDescription = React67.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21359
21177
  "div",
21360
21178
  {
21361
21179
  ref,
@@ -21370,7 +21188,7 @@ _chunkUC43NICZcjs.init_cn.call(void 0, );
21370
21188
 
21371
21189
  var _reactprogress = require('@radix-ui/react-progress'); var ProgressPrimitive = _interopRequireWildcard(_reactprogress);
21372
21190
 
21373
- var Progress = React69.forwardRef(({ className, value, indicatorClassName, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21191
+ var Progress = React68.forwardRef(({ className, value, indicatorClassName, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21374
21192
  ProgressPrimitive.Root,
21375
21193
  {
21376
21194
  ref,
@@ -21651,16 +21469,16 @@ function FilterModal({
21651
21469
  };
21652
21470
  const handleReset = () => {
21653
21471
  onFilterChange({});
21654
- _optionalChain([onTagsChange, 'optionalCall', _503 => _503([])]);
21472
+ _optionalChain([onTagsChange, 'optionalCall', _504 => _504([])]);
21655
21473
  onClose();
21656
21474
  };
21657
21475
  const handleApply = () => {
21658
21476
  onFilterChange(selectedFilters);
21659
- _optionalChain([onTagsChange, 'optionalCall', _504 => _504(pendingTags)]);
21477
+ _optionalChain([onTagsChange, 'optionalCall', _505 => _505(pendingTags)]);
21660
21478
  onClose();
21661
21479
  };
21662
21480
  const getColumnDirection = (columnKey) => {
21663
- return _optionalChain([sortConfig, 'optionalAccess', _505 => _505.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
21481
+ return _optionalChain([sortConfig, 'optionalAccess', _506 => _506.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
21664
21482
  };
21665
21483
  const hasSort = !!sortConfig && sortConfig.columns.length > 0;
21666
21484
  const hasFilterGroups = filterGroups.length > 0;
@@ -21709,7 +21527,7 @@ function FilterModal({
21709
21527
  {
21710
21528
  column,
21711
21529
  currentDirection: getColumnDirection(column.key),
21712
- onSort: (direction) => _optionalChain([onSort, 'optionalCall', _506 => _506(column.key, direction)]),
21530
+ onSort: (direction) => _optionalChain([onSort, 'optionalCall', _507 => _507(column.key, direction)]),
21713
21531
  onClear: onSortClear ? () => onSortClear(column.key) : void 0
21714
21532
  },
21715
21533
  column.key
@@ -21776,7 +21594,7 @@ function ListPageLayout({
21776
21594
  }) {
21777
21595
  const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
21778
21596
  const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
21779
- const debouncedSearchValue = _chunk25LVV26Xcjs.useDebounce.call(void 0, localSearchValue, 500);
21597
+ const debouncedSearchValue = _chunkNLXY4QZEcjs.useDebounce.call(void 0, localSearchValue, 500);
21780
21598
  _react.useEffect.call(void 0, () => {
21781
21599
  setLocalSearchValue(searchValue);
21782
21600
  }, [searchValue]);
@@ -21863,8 +21681,8 @@ function getInitials3(name) {
21863
21681
  return (words[0].charAt(0) + words[words.length - 1].charAt(0)).toUpperCase();
21864
21682
  }
21865
21683
  function EntityImage({ src, alt, fallbackText, className }) {
21866
- const [imageFailed, setImageFailed] = React38.default.useState(false);
21867
- React38.default.useEffect(() => {
21684
+ const [imageFailed, setImageFailed] = React37.default.useState(false);
21685
+ React37.default.useEffect(() => {
21868
21686
  setImageFailed(false);
21869
21687
  }, [src]);
21870
21688
  const showFallback = imageFailed || !src;
@@ -22036,7 +21854,7 @@ var toggleVariants = _classvarianceauthority.cva.call(void 0,
22036
21854
  }
22037
21855
  }
22038
21856
  );
22039
- var Toggle = React72.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21857
+ var Toggle = React71.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22040
21858
  TogglePrimitive.Root,
22041
21859
  {
22042
21860
  ref,
@@ -22048,11 +21866,11 @@ Toggle.displayName = TogglePrimitive.Root.displayName;
22048
21866
 
22049
21867
  // src/components/toggle-group.tsx
22050
21868
 
22051
- var ToggleGroupContext = React73.createContext({
21869
+ var ToggleGroupContext = React72.createContext({
22052
21870
  size: "default",
22053
21871
  variant: "default"
22054
21872
  });
22055
- var ToggleGroup = React73.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21873
+ var ToggleGroup = React72.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22056
21874
  ToggleGroupPrimitive.Root,
22057
21875
  {
22058
21876
  ref,
@@ -22062,8 +21880,8 @@ var ToggleGroup = React73.forwardRef(({ className, variant, size, children, ...p
22062
21880
  }
22063
21881
  ));
22064
21882
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
22065
- var ToggleGroupItem = React73.forwardRef(({ className, children, variant, size, value, ...props }, ref) => {
22066
- const context = React73.useContext(ToggleGroupContext);
21883
+ var ToggleGroupItem = React72.forwardRef(({ className, children, variant, size, value, ...props }, ref) => {
21884
+ const context = React72.useContext(ToggleGroupContext);
22067
21885
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22068
21886
  ToggleGroupPrimitive.Item,
22069
21887
  {
@@ -22136,7 +21954,7 @@ var BenefitCardGrid = ({
22136
21954
  className = "",
22137
21955
  columns = 2
22138
21956
  }) => {
22139
- const childrenArray = React38.default.Children.toArray(children);
21957
+ const childrenArray = React37.default.Children.toArray(children);
22140
21958
  const gridClass = columns === 4 ? "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4" : columns === 3 ? "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3" : "flex flex-col md:flex-row";
22141
21959
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0,
22142
21960
  "bg-ods-card rounded-lg shadow-ods-card border border-ods-border overflow-hidden",
@@ -22157,7 +21975,7 @@ var BenefitCardGrid = ({
22157
21975
  } else {
22158
21976
  borderClass = isLastItem ? "border-b-0" : "border-b md:border-b-0 md:border-r border-ods-border";
22159
21977
  }
22160
- return React38.default.cloneElement(child, {
21978
+ return React37.default.cloneElement(child, {
22161
21979
  key: index,
22162
21980
  className: borderClass
22163
21981
  });
@@ -22174,7 +21992,7 @@ function BrandAssociationCard({
22174
21992
  className = ""
22175
21993
  }) {
22176
21994
  const renderIcon = () => {
22177
- if (React38.default.isValidElement(item.icon)) {
21995
+ if (React37.default.isValidElement(item.icon)) {
22178
21996
  return item.icon;
22179
21997
  }
22180
21998
  const IconComponent = item.icon;
@@ -22423,8 +22241,8 @@ function FloatingTooltip({
22423
22241
  delayDuration = 0,
22424
22242
  disabled = false
22425
22243
  }) {
22426
- const [isOpen, setIsOpen] = React76.useState(false);
22427
- const arrowRef = React76.useRef(null);
22244
+ const [isOpen, setIsOpen] = React75.useState(false);
22245
+ const arrowRef = React75.useRef(null);
22428
22246
  const { refs, floatingStyles, context, placement, middlewareData } = _react2.useFloating.call(void 0, {
22429
22247
  open: isOpen,
22430
22248
  onOpenChange: setIsOpen,
@@ -22454,7 +22272,7 @@ function FloatingTooltip({
22454
22272
  dismiss,
22455
22273
  role
22456
22274
  ]);
22457
- const parsedContent = React76.useMemo(() => {
22275
+ const parsedContent = React75.useMemo(() => {
22458
22276
  if (typeof content === "string") {
22459
22277
  return parseColoredText(content);
22460
22278
  }
@@ -22700,26 +22518,26 @@ function DeviceCard({
22700
22518
  ] }),
22701
22519
  device.organization && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate", title: device.organization, children: device.organization })
22702
22520
  ] }),
22703
- _optionalChain([actions, 'access', _507 => _507.moreButton, 'optionalAccess', _508 => _508.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22521
+ _optionalChain([actions, 'access', _508 => _508.moreButton, 'optionalAccess', _509 => _509.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22704
22522
  "div",
22705
22523
  {
22706
22524
  className: "flex items-center justify-center p-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors",
22707
22525
  onClick: (e) => {
22708
22526
  e.stopPropagation();
22709
- _optionalChain([actions, 'access', _509 => _509.moreButton, 'optionalAccess', _510 => _510.onClick, 'optionalCall', _511 => _511()]);
22527
+ _optionalChain([actions, 'access', _510 => _510.moreButton, 'optionalAccess', _511 => _511.onClick, 'optionalCall', _512 => _512()]);
22710
22528
  },
22711
22529
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
22712
22530
  }
22713
22531
  ),
22714
- _optionalChain([actions, 'access', _512 => _512.detailsButton, 'optionalAccess', _513 => _513.visible]) !== false && _optionalChain([actions, 'access', _514 => _514.detailsButton, 'optionalAccess', _515 => _515.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
22715
- _optionalChain([actions, 'access', _516 => _516.customActions, 'optionalAccess', _517 => _517.map, 'call', _518 => _518(
22532
+ _optionalChain([actions, 'access', _513 => _513.detailsButton, 'optionalAccess', _514 => _514.visible]) !== false && _optionalChain([actions, 'access', _515 => _515.detailsButton, 'optionalAccess', _516 => _516.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
22533
+ _optionalChain([actions, 'access', _517 => _517.customActions, 'optionalAccess', _518 => _518.map, 'call', _519 => _519(
22716
22534
  (action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22717
22535
  "div",
22718
22536
  {
22719
22537
  className: "flex items-center justify-center px-4 py-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors",
22720
22538
  onClick: (e) => {
22721
22539
  e.stopPropagation();
22722
- _optionalChain([action, 'access', _519 => _519.onClick, 'optionalCall', _520 => _520()]);
22540
+ _optionalChain([action, 'access', _520 => _520.onClick, 'optionalCall', _521 => _521()]);
22723
22541
  },
22724
22542
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
22725
22543
  },
@@ -23073,7 +22891,7 @@ function HighlightCardGrid({
23073
22891
  _chunkUC43NICZcjs.init_cn.call(void 0, );
23074
22892
 
23075
22893
 
23076
- var IconsBlock = React78.forwardRef(
22894
+ var IconsBlock = React77.forwardRef(
23077
22895
  ({ className, icons = [], size = "md", ...props }, ref) => {
23078
22896
  const sizeClasses4 = {
23079
22897
  sm: "h-4 w-4",
@@ -23152,7 +22970,7 @@ function MoreActionsMenu({
23152
22970
  ] });
23153
22971
  const handleActivate = (e) => {
23154
22972
  e.stopPropagation();
23155
- if (!item.disabled) _optionalChain([item, 'access', _521 => _521.onClick, 'optionalCall', _522 => _522()]);
22973
+ if (!item.disabled) _optionalChain([item, 'access', _522 => _522.onClick, 'optionalCall', _523 => _523()]);
23156
22974
  };
23157
22975
  if (item.href) {
23158
22976
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -23212,8 +23030,8 @@ function DropdownButton({
23212
23030
  align = "end",
23213
23031
  side = "bottom"
23214
23032
  }) {
23215
- const [open, setOpen] = React38.default.useState(false);
23216
- const handleOpenChange = React38.default.useCallback(
23033
+ const [open, setOpen] = React37.default.useState(false);
23034
+ const handleOpenChange = React37.default.useCallback(
23217
23035
  (next) => {
23218
23036
  if (disabled) return;
23219
23037
  setOpen(next);
@@ -23282,7 +23100,7 @@ function OrganizationCard({
23282
23100
  const handleActionClick = (e) => {
23283
23101
  e.preventDefault();
23284
23102
  e.stopPropagation();
23285
- _optionalChain([actionButton, 'optionalAccess', _523 => _523.onClick, 'call', _524 => _524(organization, e)]);
23103
+ _optionalChain([actionButton, 'optionalAccess', _524 => _524.onClick, 'call', _525 => _525(organization, e)]);
23286
23104
  };
23287
23105
  const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
23288
23106
  "div",
@@ -23373,7 +23191,7 @@ var LOG_SEVERITY_LABELS = {
23373
23191
 
23374
23192
  // src/components/log-severity-dot.tsx
23375
23193
 
23376
- var LogSeverityDot = React80.forwardRef(({ severity, size = "md", className }, ref) => {
23194
+ var LogSeverityDot = React79.forwardRef(({ severity, size = "md", className }, ref) => {
23377
23195
  const sizeClasses4 = {
23378
23196
  sm: "w-4 h-4",
23379
23197
  md: "w-6 h-6",
@@ -23435,7 +23253,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
23435
23253
  onKeyDown: (e) => {
23436
23254
  if (e.key === "Enter" || e.key === " ") {
23437
23255
  e.preventDefault();
23438
- _optionalChain([onClick, 'optionalCall', _525 => _525()]);
23256
+ _optionalChain([onClick, 'optionalCall', _526 => _526()]);
23439
23257
  }
23440
23258
  },
23441
23259
  children: [
@@ -23444,7 +23262,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
23444
23262
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-5 text-white", children: log.title }),
23445
23263
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
23446
23264
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['Azeret_Mono'] font-normal text-[13px] leading-4 text-[#888888] uppercase tracking-wider", children: formatTimestamp(log.timestamp) }),
23447
- log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk25LVV26Xcjs.ToolIcon, { toolType: log.toolType, size: 16 })
23265
+ log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNLXY4QZEcjs.ToolIcon, { toolType: log.toolType, size: 16 })
23448
23266
  ] })
23449
23267
  ] })
23450
23268
  ]
@@ -23463,7 +23281,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
23463
23281
  )
23464
23282
  ] });
23465
23283
  };
23466
- var LogsList = React81.forwardRef(({
23284
+ var LogsList = React80.forwardRef(({
23467
23285
  logs,
23468
23286
  maxHeight = "400px",
23469
23287
  showConnector = true,
@@ -23472,7 +23290,7 @@ var LogsList = React81.forwardRef(({
23472
23290
  emptyMessage = "No logs to display",
23473
23291
  className
23474
23292
  }, ref) => {
23475
- const containerRef = React81.useRef(null);
23293
+ const containerRef = React80.useRef(null);
23476
23294
  const isFullHeight = maxHeight === "100%";
23477
23295
  const getContainerStyles = () => {
23478
23296
  if (isFullHeight) return void 0;
@@ -23536,7 +23354,7 @@ var LogsList = React81.forwardRef(({
23536
23354
  log,
23537
23355
  isLast: index === logs.length - 1,
23538
23356
  showConnector,
23539
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _526 => _526(log)])
23357
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _527 => _527(log)])
23540
23358
  },
23541
23359
  log.id
23542
23360
  ))
@@ -23649,7 +23467,7 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
23649
23467
  }
23650
23468
  function ServiceCardRowItem({ row }) {
23651
23469
  const [revealed, setRevealed] = _react.useState.call(void 0, false);
23652
- const { copy, copied } = _chunk25LVV26Xcjs.useCopyToClipboard.call(void 0, );
23470
+ const { copy, copied } = _chunkNLXY4QZEcjs.useCopyToClipboard.call(void 0, );
23653
23471
  const actions = _react.useMemo.call(void 0, () => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }), [row]);
23654
23472
  const displayValue = row.isSecret ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MaskedValue, { value: row.value, isRevealed: revealed }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.value });
23655
23473
  const handleCopy = () => copy(_nullishCoalesce(row.copyValue, () => ( row.value)));
@@ -23777,7 +23595,7 @@ var _reacttooltip = require('@radix-ui/react-tooltip'); var TooltipPrimitive = _
23777
23595
  var TooltipProvider = TooltipPrimitive.Provider;
23778
23596
  var Tooltip = TooltipPrimitive.Root;
23779
23597
  var TooltipTrigger = TooltipPrimitive.Trigger;
23780
- var TooltipContent = React83.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipPrimitive.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23598
+ var TooltipContent = React82.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipPrimitive.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23781
23599
  TooltipPrimitive.Content,
23782
23600
  {
23783
23601
  ref,
@@ -24125,7 +23943,7 @@ function CursorPaginationSimple({
24125
23943
  {
24126
23944
  variant: "transparent",
24127
23945
  size: "icon",
24128
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _527 => _527("")]),
23946
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _528 => _528("")]),
24129
23947
  disabled: !hasPreviousPage || loading,
24130
23948
  className: "h-8 w-8",
24131
23949
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -24137,7 +23955,7 @@ function CursorPaginationSimple({
24137
23955
  {
24138
23956
  variant: "transparent",
24139
23957
  size: "icon",
24140
- onClick: () => _optionalChain([onNext, 'optionalCall', _528 => _528("")]),
23958
+ onClick: () => _optionalChain([onNext, 'optionalCall', _529 => _529("")]),
24141
23959
  disabled: !hasNextPage || loading,
24142
23960
  className: "h-8 w-8",
24143
23961
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -24197,7 +24015,7 @@ function TableColumnFilterDropdown({
24197
24015
  placement = "bottom-start",
24198
24016
  dropdownClassName = "min-w-[240px]"
24199
24017
  }) {
24200
- const activeCount = _optionalChain([filters, 'optionalAccess', _529 => _529[columnKey], 'optionalAccess', _530 => _530.length]) || 0;
24018
+ const activeCount = _optionalChain([filters, 'optionalAccess', _530 => _530[columnKey], 'optionalAccess', _531 => _531.length]) || 0;
24201
24019
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24202
24020
  FiltersDropdown,
24203
24021
  {
@@ -24240,7 +24058,7 @@ function TableColumnFilterDropdown({
24240
24058
  delete newFilters[columnKey];
24241
24059
  onFilterChange(newFilters);
24242
24060
  },
24243
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _531 => _531[columnKey]]) || [] },
24061
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _532 => _532[columnKey]]) || [] },
24244
24062
  placement,
24245
24063
  dropdownClassName
24246
24064
  }
@@ -24315,7 +24133,7 @@ function TableHeader({
24315
24133
  }
24316
24134
  return sortDirection === "asc" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Arrow01UpIcon, { className: "w-4 h-4 text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Arrow01DownIcon, { className: "w-4 h-4 text-ods-accent" });
24317
24135
  };
24318
- const isLgUp = _nullishCoalesce(_chunk25LVV26Xcjs.useLgUp.call(void 0, ), () => ( false));
24136
+ const isLgUp = _nullishCoalesce(_chunkNLXY4QZEcjs.useLgUp.call(void 0, ), () => ( false));
24319
24137
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
24320
24138
  "div",
24321
24139
  {
@@ -24537,7 +24355,7 @@ function TableRow({
24537
24355
  const keys = column.key.split(".");
24538
24356
  let value = item;
24539
24357
  for (const key of keys) {
24540
- value = _optionalChain([value, 'optionalAccess', _532 => _532[key]]);
24358
+ value = _optionalChain([value, 'optionalAccess', _533 => _533[key]]);
24541
24359
  }
24542
24360
  if (value === null || value === void 0) {
24543
24361
  return "-";
@@ -24607,7 +24425,7 @@ function TableRow({
24607
24425
  // src/components/ui/table/table.tsx
24608
24426
 
24609
24427
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
24610
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _533 => _533.length])) || Boolean(renderRowActions);
24428
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _534 => _534.length])) || Boolean(renderRowActions);
24611
24429
  const result = [...columns];
24612
24430
  if (hasActions) {
24613
24431
  const actionsColumn = {
@@ -24701,7 +24519,7 @@ function Table({
24701
24519
  return rowKey(item);
24702
24520
  }
24703
24521
  const key = item[rowKey];
24704
- return _optionalChain([key, 'optionalAccess', _534 => _534.toString, 'call', _535 => _535()]) || index.toString();
24522
+ return _optionalChain([key, 'optionalAccess', _535 => _535.toString, 'call', _536 => _536()]) || index.toString();
24705
24523
  };
24706
24524
  const getRowClassName = (item, index) => {
24707
24525
  if (typeof rowClassName === "function") {
@@ -24735,23 +24553,23 @@ function Table({
24735
24553
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
24736
24554
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
24737
24555
  const sentinelRef = _react.useRef.call(void 0, null);
24738
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _536 => _536.onLoadMore]));
24739
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _537 => _537.onLoadMore]);
24556
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _537 => _537.onLoadMore]));
24557
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _538 => _538.onLoadMore]);
24740
24558
  _react.useEffect.call(void 0, () => {
24741
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _538 => _538.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
24559
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _539 => _539.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
24742
24560
  const sentinel = sentinelRef.current;
24743
24561
  if (!sentinel) return;
24744
24562
  const observer = new IntersectionObserver(
24745
24563
  (entries) => {
24746
- if (_optionalChain([entries, 'access', _539 => _539[0], 'optionalAccess', _540 => _540.isIntersecting])) {
24747
- _optionalChain([onLoadMoreRef, 'access', _541 => _541.current, 'optionalCall', _542 => _542()]);
24564
+ if (_optionalChain([entries, 'access', _540 => _540[0], 'optionalAccess', _541 => _541.isIntersecting])) {
24565
+ _optionalChain([onLoadMoreRef, 'access', _542 => _542.current, 'optionalCall', _543 => _543()]);
24748
24566
  }
24749
24567
  },
24750
24568
  { rootMargin: "200px" }
24751
24569
  );
24752
24570
  observer.observe(sentinel);
24753
24571
  return () => observer.disconnect();
24754
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _543 => _543.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _544 => _544.isFetchingNextPage])]);
24572
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _544 => _544.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _545 => _545.isFetchingNextPage])]);
24755
24573
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
24756
24574
  showToolbar && bulkActions && selectedRows.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between bg-ods-card border border-ods-border rounded-[6px] p-3 mb-2", children: [
24757
24575
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -24822,7 +24640,7 @@ function Table({
24822
24640
  },
24823
24641
  getRowKey(item, index)
24824
24642
  )),
24825
- _optionalChain([infiniteScroll, 'optionalAccess', _545 => _545.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24643
+ _optionalChain([infiniteScroll, 'optionalAccess', _546 => _546.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24826
24644
  TableCardSkeleton,
24827
24645
  {
24828
24646
  columns,
@@ -24831,7 +24649,7 @@ function Table({
24831
24649
  hasChevron: Boolean(rowHref)
24832
24650
  }
24833
24651
  ),
24834
- _optionalChain([infiniteScroll, 'optionalAccess', _546 => _546.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
24652
+ _optionalChain([infiniteScroll, 'optionalAccess', _547 => _547.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
24835
24653
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
24836
24654
  "div",
24837
24655
  {
@@ -25189,7 +25007,7 @@ function QueryReportTable({
25189
25007
  );
25190
25008
  const handleExport = () => {
25191
25009
  exportToCSV(data, columns, exportFilename);
25192
- _optionalChain([onExport, 'optionalCall', _547 => _547()]);
25010
+ _optionalChain([onExport, 'optionalCall', _548 => _548()]);
25193
25011
  };
25194
25012
  const tableMinWidth = columns.length * (columnWidth + 16);
25195
25013
  const {
@@ -25205,7 +25023,7 @@ function QueryReportTable({
25205
25023
  onThumbPointerDown,
25206
25024
  onThumbPointerMove,
25207
25025
  onThumbPointerUp
25208
- } = _chunk25LVV26Xcjs.useHorizontalScrollbar.call(void 0, );
25026
+ } = _chunkNLXY4QZEcjs.useHorizontalScrollbar.call(void 0, );
25209
25027
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "flex flex-col w-full", isCompact ? "gap-0" : "gap-6", className), children: [
25210
25028
  !isCompact && (title || headerActions || showExport && data.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between pt-6", children: [
25211
25029
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "font-mono font-semibold text-[32px] leading-[40px] text-ods-text-primary", children: title }),
@@ -25362,7 +25180,7 @@ function DataTableColumnFilter({
25362
25180
  align = "left"
25363
25181
  }) {
25364
25182
  const currentValue = column.getFilterValue();
25365
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _548 => _548.length]), () => ( 0));
25183
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _549 => _549.length]), () => ( 0));
25366
25184
  const sections = _react.useMemo.call(void 0,
25367
25185
  () => [
25368
25186
  {
@@ -25436,13 +25254,13 @@ function DataTableHeader({
25436
25254
  onSortChange
25437
25255
  }) {
25438
25256
  const table = useDataTableContext();
25439
- const isLgUp = _nullishCoalesce(_chunk25LVV26Xcjs.useLgUp.call(void 0, ), () => ( false));
25257
+ const isLgUp = _nullishCoalesce(_chunkNLXY4QZEcjs.useLgUp.call(void 0, ), () => ( false));
25440
25258
  const headerGroup = table.getHeaderGroups()[0];
25441
25259
  if (!headerGroup) return null;
25442
25260
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
25443
25261
  if (header.isPlaceholder) return false;
25444
25262
  if (isLgUp) return true;
25445
- return Boolean(_optionalChain([header, 'access', _549 => _549.column, 'access', _550 => _550.columnDef, 'access', _551 => _551.meta, 'optionalAccess', _552 => _552.filter]));
25263
+ return Boolean(_optionalChain([header, 'access', _550 => _550.column, 'access', _551 => _551.columnDef, 'access', _552 => _552.meta, 'optionalAccess', _553 => _553.filter]));
25446
25264
  });
25447
25265
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25448
25266
  "div",
@@ -25472,20 +25290,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
25472
25290
  if (header.isPlaceholder) return null;
25473
25291
  const column = header.column;
25474
25292
  const meta = column.columnDef.meta;
25475
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _553 => _553.filter]));
25476
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _554 => _554.align]), () => ( "left"));
25477
- const canSort = _optionalChain([meta, 'optionalAccess', _555 => _555.sortable]) === true;
25478
- const sortDir = _optionalChain([sort, 'optionalAccess', _556 => _556.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
25293
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _554 => _554.filter]));
25294
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _555 => _555.align]), () => ( "left"));
25295
+ const canSort = _optionalChain([meta, 'optionalAccess', _556 => _556.sortable]) === true;
25296
+ const sortDir = _optionalChain([sort, 'optionalAccess', _557 => _557.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
25479
25297
  if (!isLgUp && !hasFilter) return null;
25480
25298
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25481
25299
  "div",
25482
25300
  {
25483
25301
  className: _chunkUC43NICZcjs.cn.call(void 0,
25484
25302
  "flex items-stretch",
25485
- isLgUp && (_optionalChain([meta, 'optionalAccess', _557 => _557.width]) || "flex-1 min-w-0"),
25486
- _optionalChain([meta, 'optionalAccess', _558 => _558.headerClassName]),
25303
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _558 => _558.width]) || "flex-1 min-w-0"),
25304
+ _optionalChain([meta, 'optionalAccess', _559 => _559.headerClassName]),
25487
25305
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
25488
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _559 => _559.hideAt]))
25306
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _560 => _560.hideAt]))
25489
25307
  ),
25490
25308
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25491
25309
  DataTableColumnFilter,
@@ -25504,7 +25322,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
25504
25322
  isLgUp && alignJustify(align),
25505
25323
  canSort && "group cursor-pointer"
25506
25324
  ),
25507
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _560 => _560(column.id)]) : void 0,
25325
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _561 => _561(column.id)]) : void 0,
25508
25326
  children: [
25509
25327
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
25510
25328
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -25588,7 +25406,7 @@ function DataTableSkeleton({
25588
25406
  }) {
25589
25407
  const table = useDataTableContext();
25590
25408
  const columns = table.getVisibleFlatColumns();
25591
- const firstColumnId = _optionalChain([columns, 'access', _561 => _561[0], 'optionalAccess', _562 => _562.id]);
25409
+ const firstColumnId = _optionalChain([columns, 'access', _562 => _562[0], 'optionalAccess', _563 => _563.id]);
25592
25410
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
25593
25411
  "div",
25594
25412
  {
@@ -25612,7 +25430,7 @@ function DataTableSkeleton({
25612
25430
  {
25613
25431
  className: _chunkUC43NICZcjs.cn.call(void 0,
25614
25432
  "flex flex-col justify-center shrink-0",
25615
- _optionalChain([meta, 'optionalAccess', _563 => _563.width]) || "flex-1"
25433
+ _optionalChain([meta, 'optionalAccess', _564 => _564.width]) || "flex-1"
25616
25434
  ),
25617
25435
  children: [
25618
25436
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -25658,7 +25476,7 @@ function DataTableRowImpl({
25658
25476
  const handleClick = _react.useCallback.call(void 0,
25659
25477
  (e) => {
25660
25478
  const target = e.target;
25661
- if (!_optionalChain([containerRef, 'access', _564 => _564.current, 'optionalAccess', _565 => _565.contains, 'call', _566 => _566(target)])) {
25479
+ if (!_optionalChain([containerRef, 'access', _565 => _565.current, 'optionalAccess', _566 => _566.contains, 'call', _567 => _567(target)])) {
25662
25480
  if (isLinkMode) e.preventDefault();
25663
25481
  return;
25664
25482
  }
@@ -25666,7 +25484,7 @@ function DataTableRowImpl({
25666
25484
  if (isLinkMode) e.preventDefault();
25667
25485
  return;
25668
25486
  }
25669
- _optionalChain([onClick, 'optionalCall', _567 => _567(row.original)]);
25487
+ _optionalChain([onClick, 'optionalCall', _568 => _568(row.original)]);
25670
25488
  },
25671
25489
  [onClick, row.original, isLinkMode]
25672
25490
  );
@@ -25689,10 +25507,10 @@ function DataTableRowImpl({
25689
25507
  {
25690
25508
  className: _chunkUC43NICZcjs.cn.call(void 0,
25691
25509
  "flex flex-col overflow-hidden",
25692
- alignJustify(_optionalChain([meta, 'optionalAccess', _568 => _568.align])),
25693
- _optionalChain([meta, 'optionalAccess', _569 => _569.width]) || "flex-1 min-w-0",
25694
- _optionalChain([meta, 'optionalAccess', _570 => _570.cellClassName]),
25695
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _571 => _571.hideAt]))
25510
+ alignJustify(_optionalChain([meta, 'optionalAccess', _569 => _569.align])),
25511
+ _optionalChain([meta, 'optionalAccess', _570 => _570.width]) || "flex-1 min-w-0",
25512
+ _optionalChain([meta, 'optionalAccess', _571 => _571.cellClassName]),
25513
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _572 => _572.hideAt]))
25696
25514
  ),
25697
25515
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
25698
25516
  },
@@ -25757,7 +25575,7 @@ function DataTableBody({
25757
25575
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
25758
25576
  rows.map((row, index) => {
25759
25577
  const item = row.original;
25760
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _572 => _572(item)]), () => ( void 0));
25578
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _573 => _573(item)]), () => ( void 0));
25761
25579
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
25762
25580
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25763
25581
  DataTableRow,
@@ -25821,7 +25639,7 @@ function DataTableInfiniteFooter({
25821
25639
  if (!sentinel) return;
25822
25640
  const observer = new IntersectionObserver(
25823
25641
  (entries) => {
25824
- if (_optionalChain([entries, 'access', _573 => _573[0], 'optionalAccess', _574 => _574.isIntersecting])) onLoadMoreRef.current();
25642
+ if (_optionalChain([entries, 'access', _574 => _574[0], 'optionalAccess', _575 => _575.isIntersecting])) onLoadMoreRef.current();
25825
25643
  },
25826
25644
  { rootMargin }
25827
25645
  );
@@ -25869,7 +25687,7 @@ function DataTableRowCount({
25869
25687
  const table = useDataTableContext();
25870
25688
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
25871
25689
  if (hideWhenEmpty && count === 0) return null;
25872
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _575 => _575(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
25690
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _576 => _576(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
25873
25691
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
25874
25692
  "span",
25875
25693
  {
@@ -25963,12 +25781,12 @@ function PhoneInput({
25963
25781
  const runValidation = _react.useCallback.call(void 0, (phone) => {
25964
25782
  if (!phone || digitCount(phone) === 0) {
25965
25783
  setIsInvalid(false);
25966
- _optionalChain([onValidationChange, 'optionalCall', _576 => _576(false)]);
25784
+ _optionalChain([onValidationChange, 'optionalCall', _577 => _577(false)]);
25967
25785
  return;
25968
25786
  }
25969
25787
  const invalid = !validatePhoneNumber(phone, countryCode);
25970
25788
  setIsInvalid(invalid);
25971
- _optionalChain([onValidationChange, 'optionalCall', _577 => _577(invalid)]);
25789
+ _optionalChain([onValidationChange, 'optionalCall', _578 => _578(invalid)]);
25972
25790
  }, [countryCode, digitCount, onValidationChange]);
25973
25791
  const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
25974
25792
  if (debounceRef.current) clearTimeout(debounceRef.current);
@@ -26017,7 +25835,7 @@ function PhoneInput({
26017
25835
  debouncedValidation(val);
26018
25836
  } else if (digitCount(val) === 0) {
26019
25837
  setIsInvalid(false);
26020
- _optionalChain([onValidationChange, 'optionalCall', _578 => _578(false)]);
25838
+ _optionalChain([onValidationChange, 'optionalCall', _579 => _579(false)]);
26021
25839
  }
26022
25840
  }
26023
25841
  },
@@ -26095,12 +25913,12 @@ function SearchInput({
26095
25913
  limitTags = "auto",
26096
25914
  getLimitTagsText = (more) => `+${more}`
26097
25915
  }) {
26098
- const [internalValue, setInternalValue] = React85.useState(defaultValue);
25916
+ const [internalValue, setInternalValue] = React84.useState(defaultValue);
26099
25917
  const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
26100
- const debouncedValue = _chunk25LVV26Xcjs.useDebounce.call(void 0, currentValue, debounceMs);
26101
- const [isOpen, setIsOpen] = React85.useState(false);
26102
- const [highlightedIndex, setHighlightedIndex] = React85.useState(-1);
26103
- const containerRef = React85.useRef(null);
25918
+ const debouncedValue = _chunkNLXY4QZEcjs.useDebounce.call(void 0, currentValue, debounceMs);
25919
+ const [isOpen, setIsOpen] = React84.useState(false);
25920
+ const [highlightedIndex, setHighlightedIndex] = React84.useState(-1);
25921
+ const containerRef = React84.useRef(null);
26104
25922
  const currentPlaceholder = filterChips.length > 0 ? "Add filter..." : placeholder;
26105
25923
  const {
26106
25924
  visibleCount: rawVisibleCount,
@@ -26109,7 +25927,7 @@ function SearchInput({
26109
25927
  textMeasureRef,
26110
25928
  badgeRef,
26111
25929
  inputRef
26112
- } = _chunk25LVV26Xcjs.useAutoLimitTags.call(void 0, {
25930
+ } = _chunkNLXY4QZEcjs.useAutoLimitTags.call(void 0, {
26113
25931
  count: filterChips.length,
26114
25932
  limitTags,
26115
25933
  // When chips exist, pass empty placeholder so the hook only reserves input minWidth,
@@ -26117,14 +25935,14 @@ function SearchInput({
26117
25935
  placeholder: filterChips.length > 0 ? "" : placeholder
26118
25936
  });
26119
25937
  const visibleCount = filterChips.length > 0 ? Math.max(1, rawVisibleCount) : rawVisibleCount;
26120
- const hiddenTagsRef = React85.useRef(null);
26121
- const hiddenTagsPopupRef = React85.useRef(null);
26122
- const [showHiddenTags, setShowHiddenTags] = React85.useState(false);
26123
- React85.useEffect(() => {
25938
+ const hiddenTagsRef = React84.useRef(null);
25939
+ const hiddenTagsPopupRef = React84.useRef(null);
25940
+ const [showHiddenTags, setShowHiddenTags] = React84.useState(false);
25941
+ React84.useEffect(() => {
26124
25942
  if (!showHiddenTags) return;
26125
25943
  const handleClick = (e) => {
26126
25944
  const target = e.target;
26127
- if (!_optionalChain([hiddenTagsRef, 'access', _579 => _579.current, 'optionalAccess', _580 => _580.contains, 'call', _581 => _581(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _582 => _582.current, 'optionalAccess', _583 => _583.contains, 'call', _584 => _584(target)])) {
25945
+ if (!_optionalChain([hiddenTagsRef, 'access', _580 => _580.current, 'optionalAccess', _581 => _581.contains, 'call', _582 => _582(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _583 => _583.current, 'optionalAccess', _584 => _584.contains, 'call', _585 => _585(target)])) {
26128
25946
  setShowHiddenTags(false);
26129
25947
  }
26130
25948
  };
@@ -26134,7 +25952,7 @@ function SearchInput({
26134
25952
  const hiddenCount = filterChips.length - visibleCount;
26135
25953
  const visibleChips = filterChips.slice(0, visibleCount);
26136
25954
  const hiddenChips = filterChips.slice(visibleCount);
26137
- const { flatResults, groups } = React85.useMemo(() => {
25955
+ const { flatResults, groups } = React84.useMemo(() => {
26138
25956
  if (!groupBy) return { flatResults: results, groups: null };
26139
25957
  const grouped = /* @__PURE__ */ new Map();
26140
25958
  for (const r of results) {
@@ -26151,7 +25969,7 @@ function SearchInput({
26151
25969
  const meetsMinQuery = debouncedValue.length >= minQueryLength;
26152
25970
  const autoShow = meetsMinQuery;
26153
25971
  const dropdownVisible = _nullishCoalesce(showDropdownProp, () => ( (isOpen && autoShow)));
26154
- React85.useEffect(() => {
25972
+ React84.useEffect(() => {
26155
25973
  setHighlightedIndex(-1);
26156
25974
  }, [flatResults.length]);
26157
25975
  const handleChange = (e) => {
@@ -26172,10 +25990,10 @@ function SearchInput({
26172
25990
  } else {
26173
25991
  setInternalValue("");
26174
25992
  }
26175
- _optionalChain([inputRef, 'access', _585 => _585.current, 'optionalAccess', _586 => _586.focus, 'call', _587 => _587()]);
25993
+ _optionalChain([inputRef, 'access', _586 => _586.current, 'optionalAccess', _587 => _587.focus, 'call', _588 => _588()]);
26176
25994
  };
26177
25995
  const handleResultClick = (result, e) => {
26178
- _optionalChain([onResultSelect, 'optionalCall', _588 => _588(
25996
+ _optionalChain([onResultSelect, 'optionalCall', _589 => _589(
26179
25997
  result,
26180
25998
  e ? {
26181
25999
  metaKey: e.metaKey,
@@ -26207,7 +26025,7 @@ function SearchInput({
26207
26025
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
26208
26026
  handleResultClick(flatResults[highlightedIndex]);
26209
26027
  } else {
26210
- _optionalChain([onSubmit, 'optionalCall', _589 => _589(currentValue)]);
26028
+ _optionalChain([onSubmit, 'optionalCall', _590 => _590(currentValue)]);
26211
26029
  }
26212
26030
  break;
26213
26031
  case "Escape":
@@ -26285,7 +26103,7 @@ function SearchInput({
26285
26103
  dropdownVisible && "!border-ods-accent"
26286
26104
  ),
26287
26105
  onClick: () => {
26288
- _optionalChain([inputRef, 'access', _590 => _590.current, 'optionalAccess', _591 => _591.focus, 'call', _592 => _592()]);
26106
+ _optionalChain([inputRef, 'access', _591 => _591.current, 'optionalAccess', _592 => _592.focus, 'call', _593 => _593()]);
26289
26107
  setIsOpen(true);
26290
26108
  },
26291
26109
  children: [
@@ -26369,10 +26187,10 @@ function SearchInput({
26369
26187
  align: "start",
26370
26188
  onOpenAutoFocus: (e) => {
26371
26189
  e.preventDefault();
26372
- _optionalChain([inputRef, 'access', _593 => _593.current, 'optionalAccess', _594 => _594.focus, 'call', _595 => _595()]);
26190
+ _optionalChain([inputRef, 'access', _594 => _594.current, 'optionalAccess', _595 => _595.focus, 'call', _596 => _596()]);
26373
26191
  },
26374
26192
  onInteractOutside: (e) => {
26375
- if (_optionalChain([containerRef, 'access', _596 => _596.current, 'optionalAccess', _597 => _597.contains, 'call', _598 => _598(e.target)])) {
26193
+ if (_optionalChain([containerRef, 'access', _597 => _597.current, 'optionalAccess', _598 => _598.contains, 'call', _599 => _599(e.target)])) {
26376
26194
  e.preventDefault();
26377
26195
  }
26378
26196
  },
@@ -26389,10 +26207,10 @@ function SearchInput({
26389
26207
  ref: hiddenTagsPopupRef,
26390
26208
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
26391
26209
  style: {
26392
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _599 => _599.current, 'optionalAccess', _600 => _600.getBoundingClientRect, 'call', _601 => _601(), 'access', _602 => _602.left]), () => ( 0))) : 0
26210
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _600 => _600.current, 'optionalAccess', _601 => _601.getBoundingClientRect, 'call', _602 => _602(), 'access', _603 => _603.left]), () => ( 0))) : 0
26393
26211
  },
26394
26212
  onRemove: (value2) => {
26395
- _optionalChain([onFilterRemove, 'optionalCall', _603 => _603(value2)]);
26213
+ _optionalChain([onFilterRemove, 'optionalCall', _604 => _604(value2)]);
26396
26214
  if (hiddenCount <= 1) setShowHiddenTags(false);
26397
26215
  }
26398
26216
  }
@@ -26443,7 +26261,7 @@ function FilterListItem({
26443
26261
  }) {
26444
26262
  const handleToggle = () => {
26445
26263
  if (disabled) return;
26446
- _optionalChain([onToggle, 'optionalCall', _604 => _604(!selected)]);
26264
+ _optionalChain([onToggle, 'optionalCall', _605 => _605(!selected)]);
26447
26265
  };
26448
26266
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
26449
26267
  "div",
@@ -26479,7 +26297,7 @@ function FilterListItem({
26479
26297
  "flex items-start gap-[var(--spacing-system-xxs)] text-h6",
26480
26298
  selected ? "text-ods-accent" : "text-ods-text-secondary"
26481
26299
  ),
26482
- children: meta.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React86.Fragment, { children: [
26300
+ children: meta.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React85.Fragment, { children: [
26483
26301
  index > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": "true", children: "\u2022" }),
26484
26302
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: item })
26485
26303
  ] }, index))
@@ -26490,7 +26308,7 @@ function FilterListItem({
26490
26308
  CheckboxPrimitive4.Root,
26491
26309
  {
26492
26310
  checked: selected,
26493
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _605 => _605(c === true)]),
26311
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _606 => _606(c === true)]),
26494
26312
  onClick: (e) => e.stopPropagation(),
26495
26313
  disabled,
26496
26314
  "aria-label": title,
@@ -26576,7 +26394,7 @@ function TagSearchInput({
26576
26394
  textMeasureRef,
26577
26395
  badgeRef,
26578
26396
  inputRef
26579
- } = _chunk25LVV26Xcjs.useAutoLimitTags.call(void 0, {
26397
+ } = _chunkNLXY4QZEcjs.useAutoLimitTags.call(void 0, {
26580
26398
  count: tags.length,
26581
26399
  limitTags,
26582
26400
  placeholder: currentPlaceholder
@@ -26589,7 +26407,7 @@ function TagSearchInput({
26589
26407
  if (!showHiddenTags) return;
26590
26408
  const handleClick = (e) => {
26591
26409
  const target = e.target;
26592
- if (!_optionalChain([hiddenTagsRef, 'access', _606 => _606.current, 'optionalAccess', _607 => _607.contains, 'call', _608 => _608(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _609 => _609.current, 'optionalAccess', _610 => _610.contains, 'call', _611 => _611(target)])) {
26410
+ if (!_optionalChain([hiddenTagsRef, 'access', _607 => _607.current, 'optionalAccess', _608 => _608.contains, 'call', _609 => _609(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _610 => _610.current, 'optionalAccess', _611 => _611.contains, 'call', _612 => _612(target)])) {
26593
26411
  setShowHiddenTags(false);
26594
26412
  }
26595
26413
  };
@@ -26605,13 +26423,13 @@ function TagSearchInput({
26605
26423
  e.preventDefault();
26606
26424
  onSubmit(searchValue);
26607
26425
  }
26608
- _optionalChain([onKeyDown, 'optionalCall', _612 => _612(e)]);
26426
+ _optionalChain([onKeyDown, 'optionalCall', _613 => _613(e)]);
26609
26427
  };
26610
26428
  const handleClearAll = (e) => {
26611
26429
  e.stopPropagation();
26612
26430
  e.preventDefault();
26613
- _optionalChain([onClearAll, 'optionalCall', _613 => _613()]);
26614
- _optionalChain([inputRef, 'access', _614 => _614.current, 'optionalAccess', _615 => _615.focus, 'call', _616 => _616()]);
26431
+ _optionalChain([onClearAll, 'optionalCall', _614 => _614()]);
26432
+ _optionalChain([inputRef, 'access', _615 => _615.current, 'optionalAccess', _616 => _616.focus, 'call', _617 => _617()]);
26615
26433
  };
26616
26434
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
26617
26435
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -26628,7 +26446,7 @@ function TagSearchInput({
26628
26446
  className
26629
26447
  ),
26630
26448
  onClick: () => {
26631
- if (!disabled) _optionalChain([inputRef, 'access', _617 => _617.current, 'optionalAccess', _618 => _618.focus, 'call', _619 => _619()]);
26449
+ if (!disabled) _optionalChain([inputRef, 'access', _618 => _618.current, 'optionalAccess', _619 => _619.focus, 'call', _620 => _620()]);
26632
26450
  },
26633
26451
  children: [
26634
26452
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 flex items-center pl-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "text-ods-text-secondary size-4 md:size-6" }) }),
@@ -26700,7 +26518,7 @@ function TagSearchInput({
26700
26518
  items: hiddenTags,
26701
26519
  disabled,
26702
26520
  style: {
26703
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _620 => _620.current, 'optionalAccess', _621 => _621.getBoundingClientRect, 'call', _622 => _622(), 'access', _623 => _623.left]), () => ( 0))) : 0
26521
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _621 => _621.current, 'optionalAccess', _622 => _622.getBoundingClientRect, 'call', _623 => _623(), 'access', _624 => _624.left]), () => ( 0))) : 0
26704
26522
  },
26705
26523
  onRemove: (value) => {
26706
26524
  onTagRemove(value);
@@ -26802,7 +26620,7 @@ function MarkdownEditor({
26802
26620
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
26803
26621
  _react.useEffect.call(void 0, () => {
26804
26622
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
26805
- if (_optionalChain([mod, 'access', _624 => _624.commands, 'optionalAccess', _625 => _625.getExtraCommands])) {
26623
+ if (_optionalChain([mod, 'access', _625 => _625.commands, 'optionalAccess', _626 => _626.getExtraCommands])) {
26806
26624
  setDefaultExtraCommands(mod.commands.getExtraCommands());
26807
26625
  }
26808
26626
  });
@@ -26836,7 +26654,7 @@ function MarkdownEditor({
26836
26654
  const isImage = file.type.startsWith("image/");
26837
26655
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
26838
26656
  insertTextAtCursor(markdown);
26839
- _optionalChain([onFileUploaded, 'optionalCall', _626 => _626(url, file.name)]);
26657
+ _optionalChain([onFileUploaded, 'optionalCall', _627 => _627(url, file.name)]);
26840
26658
  } catch (error) {
26841
26659
  console.error("File upload failed:", error);
26842
26660
  setUploadProgress("Upload failed. Please try again.");
@@ -26849,7 +26667,7 @@ function MarkdownEditor({
26849
26667
  );
26850
26668
  const handleFileInputChange = _react.useCallback.call(void 0,
26851
26669
  (e) => {
26852
- const file = _optionalChain([e, 'access', _627 => _627.target, 'access', _628 => _628.files, 'optionalAccess', _629 => _629[0]]);
26670
+ const file = _optionalChain([e, 'access', _628 => _628.target, 'access', _629 => _629.files, 'optionalAccess', _630 => _630[0]]);
26853
26671
  if (file) {
26854
26672
  handleFileUpload(file);
26855
26673
  e.target.value = "";
@@ -26860,7 +26678,7 @@ function MarkdownEditor({
26860
26678
  const handlePaste = _react.useCallback.call(void 0,
26861
26679
  (e) => {
26862
26680
  if (!onUploadFile) return;
26863
- const items = _optionalChain([e, 'access', _630 => _630.clipboardData, 'optionalAccess', _631 => _631.items]);
26681
+ const items = _optionalChain([e, 'access', _631 => _631.clipboardData, 'optionalAccess', _632 => _632.items]);
26864
26682
  if (!items) return;
26865
26683
  for (const item of items) {
26866
26684
  if (item.type.startsWith("image/")) {
@@ -26885,7 +26703,7 @@ function MarkdownEditor({
26885
26703
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
26886
26704
  icon: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "w-3 h-3 animate-spin" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "w-3 h-3" }),
26887
26705
  execute: () => {
26888
- _optionalChain([fileInputRef, 'access', _632 => _632.current, 'optionalAccess', _633 => _633.click, 'call', _634 => _634()]);
26706
+ _optionalChain([fileInputRef, 'access', _633 => _633.current, 'optionalAccess', _634 => _634.click, 'call', _635 => _635()]);
26889
26707
  }
26890
26708
  } : null;
26891
26709
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -26897,7 +26715,7 @@ function MarkdownEditor({
26897
26715
  const EDGE_ZONE = 60;
26898
26716
  const MAX_SCROLL_SPEED = 15;
26899
26717
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
26900
- let node = _optionalChain([el, 'optionalAccess', _635 => _635.parentElement]);
26718
+ let node = _optionalChain([el, 'optionalAccess', _636 => _636.parentElement]);
26901
26719
  while (node && node !== document.documentElement) {
26902
26720
  const { overflowY } = window.getComputedStyle(node);
26903
26721
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -27040,7 +26858,7 @@ function matchesAccept(file, accept) {
27040
26858
  });
27041
26859
  }
27042
26860
  function dragHasFiles(e) {
27043
- const types = _optionalChain([e, 'access', _636 => _636.dataTransfer, 'optionalAccess', _637 => _637.types]);
26861
+ const types = _optionalChain([e, 'access', _637 => _637.dataTransfer, 'optionalAccess', _638 => _638.types]);
27044
26862
  if (!types) return false;
27045
26863
  for (let i = 0; i < types.length; i++) {
27046
26864
  if (types[i] === "Files") return true;
@@ -27066,11 +26884,11 @@ function FileUpload({
27066
26884
  maxListHeight,
27067
26885
  acceptWindowDrops = false
27068
26886
  }) {
27069
- const [dragActive, setDragActive] = React88.useState(false);
27070
- const [validationError, setValidationError] = React88.useState(null);
27071
- const fileInputRef = React88.useRef(null);
26887
+ const [dragActive, setDragActive] = React87.useState(false);
26888
+ const [validationError, setValidationError] = React87.useState(null);
26889
+ const fileInputRef = React87.useRef(null);
27072
26890
  const isManaged = managedFiles !== void 0;
27073
- const files = React88.useMemo(() => {
26891
+ const files = React87.useMemo(() => {
27074
26892
  if (!value) return [];
27075
26893
  return Array.isArray(value) ? value : [value];
27076
26894
  }, [value]);
@@ -27118,7 +26936,7 @@ function FileUpload({
27118
26936
  fileInputRef.current.value = "";
27119
26937
  }
27120
26938
  };
27121
- const handleFilesRef = React88.useRef(handleFiles);
26939
+ const handleFilesRef = React87.useRef(handleFiles);
27122
26940
  handleFilesRef.current = handleFiles;
27123
26941
  const handleDrag = (e) => {
27124
26942
  e.preventDefault();
@@ -27135,11 +26953,11 @@ function FileUpload({
27135
26953
  e.stopPropagation();
27136
26954
  setDragActive(false);
27137
26955
  if (disabled) return;
27138
- if (_optionalChain([e, 'access', _638 => _638.dataTransfer, 'access', _639 => _639.files, 'optionalAccess', _640 => _640.length])) {
26956
+ if (_optionalChain([e, 'access', _639 => _639.dataTransfer, 'access', _640 => _640.files, 'optionalAccess', _641 => _641.length])) {
27139
26957
  handleFiles(e.dataTransfer.files);
27140
26958
  }
27141
26959
  };
27142
- React88.useEffect(() => {
26960
+ React87.useEffect(() => {
27143
26961
  if (!acceptWindowDrops || disabled) return;
27144
26962
  let dragCounter = 0;
27145
26963
  const onWindowDragEnter = (e) => {
@@ -27163,7 +26981,7 @@ function FileUpload({
27163
26981
  e.preventDefault();
27164
26982
  dragCounter = 0;
27165
26983
  setDragActive(false);
27166
- if (_optionalChain([e, 'access', _641 => _641.dataTransfer, 'optionalAccess', _642 => _642.files, 'optionalAccess', _643 => _643.length])) {
26984
+ if (_optionalChain([e, 'access', _642 => _642.dataTransfer, 'optionalAccess', _643 => _643.files, 'optionalAccess', _644 => _644.length])) {
27167
26985
  handleFilesRef.current(e.dataTransfer.files);
27168
26986
  }
27169
26987
  };
@@ -27185,7 +27003,7 @@ function FileUpload({
27185
27003
  };
27186
27004
  }, [acceptWindowDrops, disabled]);
27187
27005
  const handleFileSelect = (e) => {
27188
- if (_optionalChain([e, 'access', _644 => _644.target, 'access', _645 => _645.files, 'optionalAccess', _646 => _646.length])) {
27006
+ if (_optionalChain([e, 'access', _645 => _645.target, 'access', _646 => _646.files, 'optionalAccess', _647 => _647.length])) {
27189
27007
  handleFiles(e.target.files);
27190
27008
  }
27191
27009
  };
@@ -27202,7 +27020,7 @@ function FileUpload({
27202
27020
  };
27203
27021
  const openDialog = async () => {
27204
27022
  if (disabled) return;
27205
- _optionalChain([fileInputRef, 'access', _647 => _647.current, 'optionalAccess', _648 => _648.click, 'call', _649 => _649()]);
27023
+ _optionalChain([fileInputRef, 'access', _648 => _648.current, 'optionalAccess', _649 => _649.click, 'call', _650 => _650()]);
27206
27024
  };
27207
27025
  const displayError = error || validationError || void 0;
27208
27026
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -27280,7 +27098,7 @@ function FileUpload({
27280
27098
  "button",
27281
27099
  {
27282
27100
  type: "button",
27283
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _650 => _650(entry.id)]),
27101
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _651 => _651(entry.id)]),
27284
27102
  className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
27285
27103
  "aria-label": `Remove ${entry.fileName}`,
27286
27104
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
@@ -27381,10 +27199,10 @@ function ImageUploader({
27381
27199
  alt = "Uploaded image",
27382
27200
  className
27383
27201
  }) {
27384
- const inputRef = React89.useRef(null);
27385
- const [dragActive, setDragActive] = React89.useState(false);
27386
- const [pressed, setPressed] = React89.useState(false);
27387
- const [validationError, setValidationError] = React89.useState(null);
27202
+ const inputRef = React88.useRef(null);
27203
+ const [dragActive, setDragActive] = React88.useState(false);
27204
+ const [pressed, setPressed] = React88.useState(false);
27205
+ const [validationError, setValidationError] = React88.useState(null);
27388
27206
  const interactive = !disabled && !loading;
27389
27207
  const hasImage = Boolean(value);
27390
27208
  const displayError = error || validationError || void 0;
@@ -27403,7 +27221,7 @@ function ImageUploader({
27403
27221
  onChange(file);
27404
27222
  };
27405
27223
  const handleFileSelect = (e) => {
27406
- validateAndEmit(_optionalChain([e, 'access', _651 => _651.target, 'access', _652 => _652.files, 'optionalAccess', _653 => _653[0]]));
27224
+ validateAndEmit(_optionalChain([e, 'access', _652 => _652.target, 'access', _653 => _653.files, 'optionalAccess', _654 => _654[0]]));
27407
27225
  if (inputRef.current) inputRef.current.value = "";
27408
27226
  };
27409
27227
  const handleDrag = (e) => {
@@ -27418,11 +27236,11 @@ function ImageUploader({
27418
27236
  e.stopPropagation();
27419
27237
  setDragActive(false);
27420
27238
  if (!interactive) return;
27421
- validateAndEmit(_optionalChain([e, 'access', _654 => _654.dataTransfer, 'access', _655 => _655.files, 'optionalAccess', _656 => _656[0]]));
27239
+ validateAndEmit(_optionalChain([e, 'access', _655 => _655.dataTransfer, 'access', _656 => _656.files, 'optionalAccess', _657 => _657[0]]));
27422
27240
  };
27423
27241
  const openDialog = () => {
27424
27242
  if (!interactive) return;
27425
- _optionalChain([inputRef, 'access', _657 => _657.current, 'optionalAccess', _658 => _658.click, 'call', _659 => _659()]);
27243
+ _optionalChain([inputRef, 'access', _658 => _658.current, 'optionalAccess', _659 => _659.click, 'call', _660 => _660()]);
27426
27244
  };
27427
27245
  const handleRootKeyDown = (e) => {
27428
27246
  if (hasImage || !interactive) return;
@@ -27561,25 +27379,25 @@ function CompactAssigneeDropdown({
27561
27379
  onAssign,
27562
27380
  className
27563
27381
  }) {
27564
- const [isOpen, setIsOpen] = React90.useState(false);
27565
- const [search, setSearch] = React90.useState("");
27382
+ const [isOpen, setIsOpen] = React89.useState(false);
27383
+ const [search, setSearch] = React89.useState("");
27566
27384
  const hasAssignee = !!currentAssignee;
27567
- React90.useEffect(() => {
27385
+ React89.useEffect(() => {
27568
27386
  if (!isOpen) setSearch("");
27569
27387
  }, [isOpen]);
27570
- const filtered = React90.useMemo(() => {
27388
+ const filtered = React89.useMemo(() => {
27571
27389
  const q = search.trim().toLowerCase();
27572
27390
  if (!q) return options;
27573
27391
  return options.filter((o) => o.label.toLowerCase().includes(q));
27574
27392
  }, [options, search]);
27575
- const orderedOptions = React90.useMemo(() => {
27393
+ const orderedOptions = React89.useMemo(() => {
27576
27394
  if (!currentAssignee) return filtered;
27577
27395
  const current = filtered.find((o) => o.value === currentAssignee.id);
27578
27396
  if (!current) return filtered;
27579
27397
  return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
27580
27398
  }, [filtered, currentAssignee]);
27581
27399
  const handleSelect = (userId) => {
27582
- const next = _optionalChain([currentAssignee, 'optionalAccess', _660 => _660.id]) === userId ? null : userId;
27400
+ const next = _optionalChain([currentAssignee, 'optionalAccess', _661 => _661.id]) === userId ? null : userId;
27583
27401
  onAssign(next);
27584
27402
  setIsOpen(false);
27585
27403
  };
@@ -27644,7 +27462,7 @@ function CompactAssigneeDropdown({
27644
27462
  }
27645
27463
  ) }),
27646
27464
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "max-h-80 overflow-y-auto py-[var(--spacing-system-xs)]", role: "listbox", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "Loading\u2026" }) : orderedOptions.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "No users found" }) : orderedOptions.map((opt) => {
27647
- const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _661 => _661.id]) === opt.value;
27465
+ const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _662 => _662.id]) === opt.value;
27648
27466
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
27649
27467
  "button",
27650
27468
  {
@@ -27688,9 +27506,9 @@ function DefaultAssigneeDropdown({
27688
27506
  onAssign,
27689
27507
  className
27690
27508
  }) {
27691
- const [isEditing, setIsEditing] = React90.useState(false);
27509
+ const [isEditing, setIsEditing] = React89.useState(false);
27692
27510
  const hasAssignee = !!currentAssignee;
27693
- const renderOption = React90.useCallback((option) => {
27511
+ const renderOption = React89.useCallback((option) => {
27694
27512
  const opt = option;
27695
27513
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-sf)] w-full min-w-0", children: [
27696
27514
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -27713,7 +27531,7 @@ function DefaultAssigneeDropdown({
27713
27531
  Autocomplete,
27714
27532
  {
27715
27533
  options,
27716
- value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _662 => _662.id]), () => ( null)),
27534
+ value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _663 => _663.id]), () => ( null)),
27717
27535
  onChange: (val) => {
27718
27536
  onAssign(val);
27719
27537
  setIsEditing(false);
@@ -27850,8 +27668,8 @@ _chunkUC43NICZcjs.init_cn.call(void 0, );
27850
27668
  _chunkUC43NICZcjs.init_cn.call(void 0, );
27851
27669
 
27852
27670
  function TicketNoteCard({ note, onEdit, onDelete, className }) {
27853
- const [isEditing, setIsEditing] = React91.useState(false);
27854
- const [editText, setEditText] = React91.useState(note.text);
27671
+ const [isEditing, setIsEditing] = React90.useState(false);
27672
+ const [editText, setEditText] = React90.useState(note.text);
27855
27673
  const handleSave = () => {
27856
27674
  const trimmed = editText.trim();
27857
27675
  if (!trimmed || !onEdit) return;
@@ -27974,7 +27792,7 @@ function TicketNotesSection({
27974
27792
  isAddingNote,
27975
27793
  className
27976
27794
  }) {
27977
- const [noteText, setNoteText] = React92.useState("");
27795
+ const [noteText, setNoteText] = React91.useState("");
27978
27796
  const handleSend = () => {
27979
27797
  const trimmed = noteText.trim();
27980
27798
  if (!trimmed || !onAddNote || isAddingNote) return;
@@ -28079,14 +27897,14 @@ function TicketInfoSection({
28079
27897
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28080
27898
  SquareAvatar,
28081
27899
  {
28082
- src: _optionalChain([organization, 'optionalAccess', _663 => _663.imageSrc]),
28083
- alt: _optionalChain([organization, 'optionalAccess', _664 => _664.name]),
28084
- fallback: _optionalChain([organization, 'optionalAccess', _665 => _665.name]) || "Org",
27900
+ src: _optionalChain([organization, 'optionalAccess', _664 => _664.imageSrc]),
27901
+ alt: _optionalChain([organization, 'optionalAccess', _665 => _665.name]),
27902
+ fallback: _optionalChain([organization, 'optionalAccess', _666 => _666.name]) || "Org",
28085
27903
  size: "md",
28086
27904
  className: "shrink-0"
28087
27905
  }
28088
27906
  ),
28089
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _666 => _666.name]) || "Unassigned", label: "Organization" })
27907
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _667 => _667.name]) || "Unassigned", label: "Organization" })
28090
27908
  ] }),
28091
27909
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28092
27910
  AssigneeDropdown,
@@ -28107,10 +27925,10 @@ function TicketInfoSection({
28107
27925
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28108
27926
  InfoCell2,
28109
27927
  {
28110
- value: _optionalChain([device, 'optionalAccess', _667 => _667.name]) || "Unassigned",
27928
+ value: _optionalChain([device, 'optionalAccess', _668 => _668.name]) || "Unassigned",
28111
27929
  label: "Device",
28112
- icon: _optionalChain([device, 'optionalAccess', _668 => _668.icon]),
28113
- onClick: _optionalChain([device, 'optionalAccess', _669 => _669.onClick])
27930
+ icon: _optionalChain([device, 'optionalAccess', _669 => _669.icon]),
27931
+ onClick: _optionalChain([device, 'optionalAccess', _670 => _670.onClick])
28114
27932
  }
28115
27933
  ),
28116
27934
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -28869,10 +28687,10 @@ var getContentDimensions = (config) => {
28869
28687
  const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
28870
28688
  const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
28871
28689
  const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
28872
- const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _670 => _670.mobileContentDimensions, 'optionalAccess', _671 => _671.width]))), () => ( defaultMobile.width));
28873
- const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _672 => _672.mobileContentDimensions, 'optionalAccess', _673 => _673.height]))), () => ( defaultMobile.height));
28874
- const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _674 => _674.desktopContentDimensions, 'optionalAccess', _675 => _675.width]))), () => ( defaultDesktop.width));
28875
- const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _676 => _676.desktopContentDimensions, 'optionalAccess', _677 => _677.height]))), () => ( defaultDesktop.height));
28690
+ const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _671 => _671.mobileContentDimensions, 'optionalAccess', _672 => _672.width]))), () => ( defaultMobile.width));
28691
+ const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _673 => _673.mobileContentDimensions, 'optionalAccess', _674 => _674.height]))), () => ( defaultMobile.height));
28692
+ const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _675 => _675.desktopContentDimensions, 'optionalAccess', _676 => _676.width]))), () => ( defaultDesktop.width));
28693
+ const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _677 => _677.desktopContentDimensions, 'optionalAccess', _678 => _678.height]))), () => ( defaultDesktop.height));
28876
28694
  return {
28877
28695
  mobile: { width: mobileWidth, height: mobileHeight },
28878
28696
  desktop: { width: desktopWidth, height: desktopHeight }
@@ -29006,7 +28824,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
29006
28824
  const contentDimensions = getContentDimensions(config);
29007
28825
  const mobileHeight = contentDimensions.mobile.height;
29008
28826
  const calculatedHeight = Math.max(mobileHeight + 100, 400);
29009
- return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _678 => _678.innerHeight]) * 0.85 || 650)}px`;
28827
+ return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _679 => _679.innerHeight]) * 0.85 || 650)}px`;
29010
28828
  })(),
29011
28829
  minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
29012
28830
  const contentDimensions = getContentDimensions(config);
@@ -29111,7 +28929,7 @@ var FigmaPrototypeViewer = ({
29111
28929
  const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
29112
28930
  const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
29113
28931
  const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
29114
- config.defaultSectionId || _optionalChain([config, 'access', _679 => _679.sections, 'access', _680 => _680[0], 'optionalAccess', _681 => _681.id]) || ""
28932
+ config.defaultSectionId || _optionalChain([config, 'access', _680 => _680.sections, 'access', _681 => _681[0], 'optionalAccess', _682 => _682.id]) || ""
29115
28933
  );
29116
28934
  const activeSection = externalActiveSection || internalActiveSection;
29117
28935
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -29201,7 +29019,7 @@ var FigmaPrototypeViewer = ({
29201
29019
  const handleMessage = (event) => {
29202
29020
  if (event.origin !== "https://www.figma.com") return;
29203
29021
  const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
29204
- if (_optionalChain([event, 'access', _682 => _682.data, 'optionalAccess', _683 => _683.type]) && validEvents.includes(event.data.type)) {
29022
+ if (_optionalChain([event, 'access', _683 => _683.data, 'optionalAccess', _684 => _684.type]) && validEvents.includes(event.data.type)) {
29205
29023
  const figmaEvent = event.data;
29206
29024
  console.log("[Figma Event]", figmaEvent.type, viewMode);
29207
29025
  switch (figmaEvent.type) {
@@ -29211,19 +29029,19 @@ var FigmaPrototypeViewer = ({
29211
29029
  setIframeState("READY");
29212
29030
  break;
29213
29031
  case "PRESENTED_NODE_CHANGED":
29214
- if (_optionalChain([figmaEvent, 'access', _684 => _684.data, 'optionalAccess', _685 => _685.presentedNodeId])) {
29032
+ if (_optionalChain([figmaEvent, 'access', _685 => _685.data, 'optionalAccess', _686 => _686.presentedNodeId])) {
29215
29033
  setCurrentNodeId(figmaEvent.data.presentedNodeId);
29216
29034
  if (!isNavigating) {
29217
29035
  const matchingSection = config.sections.find((s) => {
29218
- const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _686 => _686.data, 'optionalAccess', _687 => _687.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _688 => _688.data, 'optionalAccess', _689 => _689.presentedNodeId]);
29219
- const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _690 => _690.data, 'optionalAccess', _691 => _691.presentedNodeId]) || _optionalChain([s, 'access', _692 => _692.mobileStartingNodeId, 'optionalAccess', _693 => _693.replace, 'call', _694 => _694(":", "-")]) === _optionalChain([figmaEvent, 'access', _695 => _695.data, 'optionalAccess', _696 => _696.presentedNodeId]);
29036
+ const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _687 => _687.data, 'optionalAccess', _688 => _688.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _689 => _689.data, 'optionalAccess', _690 => _690.presentedNodeId]);
29037
+ const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _691 => _691.data, 'optionalAccess', _692 => _692.presentedNodeId]) || _optionalChain([s, 'access', _693 => _693.mobileStartingNodeId, 'optionalAccess', _694 => _694.replace, 'call', _695 => _695(":", "-")]) === _optionalChain([figmaEvent, 'access', _696 => _696.data, 'optionalAccess', _697 => _697.presentedNodeId]);
29220
29038
  return desktopMatch || mobileMatch;
29221
29039
  });
29222
29040
  if (matchingSection && matchingSection.id !== activeSection) {
29223
29041
  if (!externalActiveSection) {
29224
29042
  setInternalActiveSection(matchingSection.id);
29225
29043
  }
29226
- _optionalChain([config, 'access', _697 => _697.onSectionChange, 'optionalCall', _698 => _698(matchingSection.id)]);
29044
+ _optionalChain([config, 'access', _698 => _698.onSectionChange, 'optionalCall', _699 => _699(matchingSection.id)]);
29227
29045
  }
29228
29046
  }
29229
29047
  }
@@ -29236,7 +29054,7 @@ var FigmaPrototypeViewer = ({
29236
29054
  }, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
29237
29055
  const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
29238
29056
  const section = config.sections.find((s) => s.id === sectionId);
29239
- if (!section || !_optionalChain([iframeRef, 'access', _699 => _699.current, 'optionalAccess', _700 => _700.contentWindow]) || !isInitialized) {
29057
+ if (!section || !_optionalChain([iframeRef, 'access', _700 => _700.current, 'optionalAccess', _701 => _701.contentWindow]) || !isInitialized) {
29240
29058
  return;
29241
29059
  }
29242
29060
  setIsNavigating(true);
@@ -29244,7 +29062,7 @@ var FigmaPrototypeViewer = ({
29244
29062
  if (!externalActiveSection) {
29245
29063
  setInternalActiveSection(sectionId);
29246
29064
  }
29247
- _optionalChain([config, 'access', _701 => _701.onSectionChange, 'optionalCall', _702 => _702(sectionId)]);
29065
+ _optionalChain([config, 'access', _702 => _702.onSectionChange, 'optionalCall', _703 => _703(sectionId)]);
29248
29066
  const command = {
29249
29067
  type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
29250
29068
  data: { nodeId }
@@ -29564,7 +29382,7 @@ var FiltersDropdown = ({
29564
29382
  defaults[section.id] = section.defaultSelected || [];
29565
29383
  });
29566
29384
  setSelectedFilters(defaults);
29567
- _optionalChain([onReset, 'optionalCall', _703 => _703()]);
29385
+ _optionalChain([onReset, 'optionalCall', _704 => _704()]);
29568
29386
  setIsOpen(false);
29569
29387
  };
29570
29388
  const handleApply = () => {
@@ -29858,7 +29676,7 @@ function MediaGalleryManager({
29858
29676
  const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
29859
29677
  const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
29860
29678
  const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
29861
- const file = _optionalChain([event, 'access', _704 => _704.target, 'access', _705 => _705.files, 'optionalAccess', _706 => _706[0]]);
29679
+ const file = _optionalChain([event, 'access', _705 => _705.target, 'access', _706 => _706.files, 'optionalAccess', _707 => _707[0]]);
29862
29680
  if (!file) return;
29863
29681
  let mediaType;
29864
29682
  if (file.type.startsWith("image/")) {
@@ -29973,7 +29791,7 @@ function MediaGalleryManager({
29973
29791
  {
29974
29792
  type: "button",
29975
29793
  variant: "outline",
29976
- onClick: () => _optionalChain([fileInputRef, 'access', _707 => _707.current, 'optionalAccess', _708 => _708.click, 'call', _709 => _709()]),
29794
+ onClick: () => _optionalChain([fileInputRef, 'access', _708 => _708.current, 'optionalAccess', _709 => _709.click, 'call', _710 => _710()]),
29977
29795
  disabled: isUploading,
29978
29796
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
29979
29797
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -30583,7 +30401,7 @@ function PlatformFilterComponent({
30583
30401
  variant: selectedPlatform === platform.value ? "accent" : "outline",
30584
30402
  size,
30585
30403
  onClick: () => onPlatformChange(platform.value),
30586
- leftIcon: showIcons ? _chunk25LVV26Xcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
30404
+ leftIcon: showIcons ? _chunkNLXY4QZEcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
30587
30405
  className: "text-h3",
30588
30406
  children: platform.label
30589
30407
  },
@@ -30758,7 +30576,7 @@ function ReleaseMediaManager({
30758
30576
  const fileInputRef = _react.useRef.call(void 0, null);
30759
30577
  const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
30760
30578
  const handleFileSelect = async (event) => {
30761
- const file = _optionalChain([event, 'access', _710 => _710.target, 'access', _711 => _711.files, 'optionalAccess', _712 => _712[0]]);
30579
+ const file = _optionalChain([event, 'access', _711 => _711.target, 'access', _712 => _712.files, 'optionalAccess', _713 => _713[0]]);
30762
30580
  if (!file) return;
30763
30581
  let mediaType;
30764
30582
  if (file.type.startsWith("image/")) {
@@ -30838,7 +30656,7 @@ function ReleaseMediaManager({
30838
30656
  {
30839
30657
  type: "button",
30840
30658
  variant: "outline",
30841
- onClick: () => _optionalChain([fileInputRef, 'access', _713 => _713.current, 'optionalAccess', _714 => _714.click, 'call', _715 => _715()]),
30659
+ onClick: () => _optionalChain([fileInputRef, 'access', _714 => _714.current, 'optionalAccess', _715 => _715.click, 'call', _716 => _716()]),
30842
30660
  disabled: uploadingIndex !== null,
30843
30661
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
30844
30662
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -30960,7 +30778,7 @@ function ReleaseMediaManager({
30960
30778
  _chunkUC43NICZcjs.init_cn.call(void 0, );
30961
30779
 
30962
30780
 
30963
- var SelectButton = React38.default.forwardRef(
30781
+ var SelectButton = React37.default.forwardRef(
30964
30782
  ({ title, description, selected = false, disabled = false, icon, image, tag, tagVariant = "outline", onClick, className }, ref) => {
30965
30783
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
30966
30784
  "button",
@@ -31052,7 +30870,7 @@ function SEOEditorPreview({
31052
30870
  const displayImage = hasOgImage || hasFeaturedImage;
31053
30871
  const handleImageUpload = async (event) => {
31054
30872
  if (!onOgImageUpload) return;
31055
- const file = _optionalChain([event, 'access', _716 => _716.target, 'access', _717 => _717.files, 'optionalAccess', _718 => _718[0]]);
30873
+ const file = _optionalChain([event, 'access', _717 => _717.target, 'access', _718 => _718.files, 'optionalAccess', _719 => _719[0]]);
31056
30874
  if (!file) return;
31057
30875
  setIsUploading(true);
31058
30876
  try {
@@ -31183,7 +31001,7 @@ function SEOEditorPreview({
31183
31001
  type: "button",
31184
31002
  variant: "outline",
31185
31003
  size: "icon",
31186
- onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _719 => _719.click, 'call', _720 => _720()]),
31004
+ onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _720 => _720.click, 'call', _721 => _721()]),
31187
31005
  disabled: disabled || isUploading,
31188
31006
  className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
31189
31007
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
@@ -31206,7 +31024,7 @@ function SEOEditorPreview({
31206
31024
  "div",
31207
31025
  {
31208
31026
  className: "h-full min-h-[280px] border-2 border-dashed border-ods-border rounded-lg flex flex-col items-center justify-center cursor-pointer hover:border-ods-accent transition-colors bg-ods-bg-hover",
31209
- onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _721 => _721.click, 'call', _722 => _722()]),
31027
+ onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _722 => _722.click, 'call', _723 => _723()]),
31210
31028
  children: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
31211
31029
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
31212
31030
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm text-ods-text-secondary font-['DM_Sans']", children: onOgImageUpload ? "Click to upload OG image" : "No image" })
@@ -31291,7 +31109,7 @@ function SocialLinksManager({
31291
31109
  className = ""
31292
31110
  }) {
31293
31111
  const addLink = () => {
31294
- const firstPlatform = _optionalChain([platforms, 'access', _723 => _723[0], 'optionalAccess', _724 => _724.name]) || "website";
31112
+ const firstPlatform = _optionalChain([platforms, 'access', _724 => _724[0], 'optionalAccess', _725 => _725.name]) || "website";
31295
31113
  onChange([...links, { platform: firstPlatform, url: "" }]);
31296
31114
  };
31297
31115
  const removeLink = (index) => {
@@ -31303,7 +31121,7 @@ function SocialLinksManager({
31303
31121
  onChange(updated);
31304
31122
  };
31305
31123
  const getIcon = (link, platform) => {
31306
- const iconKey = _optionalChain([platform, 'optionalAccess', _725 => _725.icon_name]) || link.platform;
31124
+ const iconKey = _optionalChain([platform, 'optionalAccess', _726 => _726.icon_name]) || link.platform;
31307
31125
  const IconComponent = iconMap[iconKey];
31308
31126
  return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
31309
31127
  };
@@ -31328,7 +31146,7 @@ function SocialLinksManager({
31328
31146
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31329
31147
  _chunkRMB5DVEDcjs.Input,
31330
31148
  {
31331
- placeholder: _optionalChain([platform, 'optionalAccess', _726 => _726.placeholder]) || "Profile URL",
31149
+ placeholder: _optionalChain([platform, 'optionalAccess', _727 => _727.placeholder]) || "Profile URL",
31332
31150
  value: link.url,
31333
31151
  onChange: (e) => updateLink(index, "url", e.target.value),
31334
31152
  onKeyDown: (e) => {
@@ -31372,7 +31190,7 @@ function SocialLinksManager({
31372
31190
  _chunkRMB5DVEDcjs.init_button2.call(void 0, );
31373
31191
 
31374
31192
 
31375
- var StartWithOpenFrameButton = React97.forwardRef(({ children = "Start Free Trial", mode = "outline", className, buttonSize, loading = false, buttonBackgroundColor, buttonTextColor, ...props }, ref) => {
31193
+ var StartWithOpenFrameButton = React96.forwardRef(({ children = "Start Free Trial", mode = "outline", className, buttonSize, loading = false, buttonBackgroundColor, buttonTextColor, ...props }, ref) => {
31376
31194
  const isYellow = mode === "yellow";
31377
31195
  const isPink = mode === "pink" || mode === "purple";
31378
31196
  const isCyan = mode === "cyan";
@@ -31705,7 +31523,7 @@ function VideoSourceSelector({
31705
31523
  input.accept = "video/*";
31706
31524
  input.onchange = async (e) => {
31707
31525
  const target = e.target;
31708
- const file = _optionalChain([target, 'access', _727 => _727.files, 'optionalAccess', _728 => _728[0]]);
31526
+ const file = _optionalChain([target, 'access', _728 => _728.files, 'optionalAccess', _729 => _729[0]]);
31709
31527
  if (!file) return;
31710
31528
  setIsUploading(true);
31711
31529
  setUploadProgress(0);
@@ -32035,7 +31853,7 @@ function TranscriptSummaryEditor({
32035
31853
  {
32036
31854
  id: "subtitles",
32037
31855
  value: subtitles || "",
32038
- onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _729 => _729(e.target.value)]),
31856
+ onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _730 => _730(e.target.value)]),
32039
31857
  placeholder: subtitlesPlaceholder,
32040
31858
  disabled: disabled || !onSubtitlesChange,
32041
31859
  className: "h-full w-full resize-none border-0 bg-transparent text-ods-text-primary placeholder:text-ods-text-secondary/50 focus:ring-0 focus:outline-none p-4 font-mono text-sm",
@@ -32188,7 +32006,7 @@ var AIEnrichSection = ({
32188
32006
  }) => {
32189
32007
  const hasResults = status === "success" || status === "error";
32190
32008
  const shouldDisable = disabled || !canEnrich;
32191
- const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _730 => _730.filter, 'call', _731 => _731((f) => !f.isFilled)]) || [];
32009
+ const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _731 => _731.filter, 'call', _732 => _732((f) => !f.isFilled)]) || [];
32192
32010
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
32193
32011
  "div",
32194
32012
  {
@@ -32226,7 +32044,7 @@ var AIEnrichSection = ({
32226
32044
  {
32227
32045
  id: "ai-enrich-custom-instructions",
32228
32046
  value: _nullishCoalesce(customInstructions, () => ( "")),
32229
- onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _732 => _732(e.target.value)]),
32047
+ onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _733 => _733(e.target.value)]),
32230
32048
  placeholder: customInstructionsPlaceholder,
32231
32049
  disabled: loading,
32232
32050
  maxLength: customInstructionsMaxLength,
@@ -32355,7 +32173,7 @@ function HighlightVideoSection({
32355
32173
  input.accept = "video/*";
32356
32174
  input.onchange = async (e) => {
32357
32175
  const target = e.target;
32358
- const file = _optionalChain([target, 'access', _733 => _733.files, 'optionalAccess', _734 => _734[0]]);
32176
+ const file = _optionalChain([target, 'access', _734 => _734.files, 'optionalAccess', _735 => _735[0]]);
32359
32177
  if (!file) return;
32360
32178
  setUploadError(null);
32361
32179
  try {
@@ -32857,7 +32675,7 @@ function HighlightVideoPreview({
32857
32675
  input.accept = "video/*";
32858
32676
  input.onchange = async (e) => {
32859
32677
  const target = e.target;
32860
- const file = _optionalChain([target, 'access', _735 => _735.files, 'optionalAccess', _736 => _736[0]]);
32678
+ const file = _optionalChain([target, 'access', _736 => _736.files, 'optionalAccess', _737 => _737[0]]);
32861
32679
  if (!file) return;
32862
32680
  await onUpload(file);
32863
32681
  };
@@ -33044,7 +32862,7 @@ function HighlightVideoCombinedSection({
33044
32862
  input.accept = "video/*";
33045
32863
  input.onchange = async (e) => {
33046
32864
  const target = e.target;
33047
- const file = _optionalChain([target, 'access', _737 => _737.files, 'optionalAccess', _738 => _738[0]]);
32865
+ const file = _optionalChain([target, 'access', _738 => _738.files, 'optionalAccess', _739 => _739[0]]);
33048
32866
  if (!file) return;
33049
32867
  await onUpload(file);
33050
32868
  };
@@ -33204,7 +33022,7 @@ _chunkUC43NICZcjs.init_cn.call(void 0, );
33204
33022
 
33205
33023
  var DropdownMenu2 = DropdownMenuPrimitive2.Root;
33206
33024
  var DropdownMenuTrigger2 = DropdownMenuPrimitive2.Trigger;
33207
- var DropdownMenuSubTrigger = React100.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
33025
+ var DropdownMenuSubTrigger = React99.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
33208
33026
  DropdownMenuPrimitive2.SubTrigger,
33209
33027
  {
33210
33028
  ref,
@@ -33221,7 +33039,7 @@ var DropdownMenuSubTrigger = React100.forwardRef(({ className, inset, children,
33221
33039
  }
33222
33040
  ));
33223
33041
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive2.SubTrigger.displayName;
33224
- var DropdownMenuSubContent = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33042
+ var DropdownMenuSubContent = React99.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33225
33043
  DropdownMenuPrimitive2.SubContent,
33226
33044
  {
33227
33045
  ref,
@@ -33233,7 +33051,7 @@ var DropdownMenuSubContent = React100.forwardRef(({ className, ...props }, ref)
33233
33051
  }
33234
33052
  ));
33235
33053
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive2.SubContent.displayName;
33236
- var DropdownMenuContent2 = React100.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DropdownMenuPrimitive2.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33054
+ var DropdownMenuContent2 = React99.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DropdownMenuPrimitive2.Portal, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33237
33055
  DropdownMenuPrimitive2.Content,
33238
33056
  {
33239
33057
  ref,
@@ -33246,7 +33064,7 @@ var DropdownMenuContent2 = React100.forwardRef(({ className, sideOffset = 4, ...
33246
33064
  }
33247
33065
  ) }));
33248
33066
  DropdownMenuContent2.displayName = DropdownMenuPrimitive2.Content.displayName;
33249
- var DropdownMenuItem2 = React100.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33067
+ var DropdownMenuItem2 = React99.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33250
33068
  DropdownMenuPrimitive2.Item,
33251
33069
  {
33252
33070
  ref,
@@ -33259,7 +33077,7 @@ var DropdownMenuItem2 = React100.forwardRef(({ className, inset, ...props }, ref
33259
33077
  }
33260
33078
  ));
33261
33079
  DropdownMenuItem2.displayName = DropdownMenuPrimitive2.Item.displayName;
33262
- var DropdownMenuCheckboxItem = React100.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
33080
+ var DropdownMenuCheckboxItem = React99.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
33263
33081
  DropdownMenuPrimitive2.CheckboxItem,
33264
33082
  {
33265
33083
  ref,
@@ -33276,7 +33094,7 @@ var DropdownMenuCheckboxItem = React100.forwardRef(({ className, children, check
33276
33094
  }
33277
33095
  ));
33278
33096
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive2.CheckboxItem.displayName;
33279
- var DropdownMenuRadioItem = React100.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
33097
+ var DropdownMenuRadioItem = React99.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
33280
33098
  DropdownMenuPrimitive2.RadioItem,
33281
33099
  {
33282
33100
  ref,
@@ -33292,7 +33110,7 @@ var DropdownMenuRadioItem = React100.forwardRef(({ className, children, ...props
33292
33110
  }
33293
33111
  ));
33294
33112
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive2.RadioItem.displayName;
33295
- var DropdownMenuLabel = React100.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33113
+ var DropdownMenuLabel = React99.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33296
33114
  DropdownMenuPrimitive2.Label,
33297
33115
  {
33298
33116
  ref,
@@ -33305,7 +33123,7 @@ var DropdownMenuLabel = React100.forwardRef(({ className, inset, ...props }, ref
33305
33123
  }
33306
33124
  ));
33307
33125
  DropdownMenuLabel.displayName = DropdownMenuPrimitive2.Label.displayName;
33308
- var DropdownMenuSeparator = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33126
+ var DropdownMenuSeparator = React99.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33309
33127
  DropdownMenuPrimitive2.Separator,
33310
33128
  {
33311
33129
  ref,
@@ -33341,11 +33159,11 @@ var getApprovalLevelLabel = (level, editMode = false) => {
33341
33159
  return editMode ? "Set Global Permission" : "";
33342
33160
  }
33343
33161
  const option = approvalLevelOptions.find((opt) => opt.value === level);
33344
- return _optionalChain([option, 'optionalAccess', _739 => _739.label]) || level;
33162
+ return _optionalChain([option, 'optionalAccess', _740 => _740.label]) || level;
33345
33163
  };
33346
33164
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
33347
33165
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-bg border-b border-ods-border flex gap-4 items-center px-4 py-3", children: [
33348
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk25LVV26Xcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
33166
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNLXY4QZEcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
33349
33167
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col min-w-0", children: [
33350
33168
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-[16px] font-medium text-ods-text-primary truncate", title: policy.name, children: policy.name }),
33351
33169
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-[12px] text-ods-text-secondary break-all font-mono", children: policy.commandPattern })
@@ -33554,7 +33372,7 @@ function WaitlistForm({
33554
33372
  const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
33555
33373
  const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
33556
33374
  const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
33557
- const { toast } = _chunk25LVV26Xcjs.useToast.call(void 0, );
33375
+ const { toast } = _chunkNLXY4QZEcjs.useToast.call(void 0, );
33558
33376
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
33559
33377
  const [isClient, setIsClient] = _react.useState.call(void 0, false);
33560
33378
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
@@ -33860,7 +33678,7 @@ function TicketCard({
33860
33678
  dragDisabled,
33861
33679
  renderAssignSlot
33862
33680
  }) {
33863
- const sortableData = React101.useMemo(
33681
+ const sortableData = React100.useMemo(
33864
33682
  () => ({ columnId, type: "ticket" }),
33865
33683
  [columnId]
33866
33684
  );
@@ -33873,15 +33691,15 @@ function TicketCard({
33873
33691
  transform: _utilities.CSS.Transform.toString(sortable.transform),
33874
33692
  transition: sortable.transition
33875
33693
  };
33876
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _740 => _740.deviceHostnames, 'optionalAccess', _741 => _741.length]) || ticket.organizationName);
33694
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _741 => _741.deviceHostnames, 'optionalAccess', _742 => _742.length]) || ticket.organizationName);
33877
33695
  const deviceText = [
33878
- _optionalChain([ticket, 'access', _742 => _742.deviceHostnames, 'optionalAccess', _743 => _743.join, 'call', _744 => _744(", ")]),
33696
+ _optionalChain([ticket, 'access', _743 => _743.deviceHostnames, 'optionalAccess', _744 => _744.join, 'call', _745 => _745(", ")]),
33879
33697
  ticket.organizationName
33880
33698
  ].filter(Boolean).join(", ");
33881
33699
  const handleClick = (e) => {
33882
33700
  if (sortable.isDragging) e.preventDefault();
33883
33701
  };
33884
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _745 => _745.assignees, 'optionalAccess', _746 => _746.length]) || renderAssignSlot);
33702
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _746 => _746.assignees, 'optionalAccess', _747 => _747.length]) || renderAssignSlot);
33885
33703
  const rightSection = hasRightSection ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
33886
33704
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33887
33705
  _chunkVJTFBYVGcjs.Flag02Icon,
@@ -33890,7 +33708,7 @@ function TicketCard({
33890
33708
  "aria-label": `Priority: ${ticket.priority}`
33891
33709
  }
33892
33710
  ),
33893
- renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _747 => _747.assignees, 'optionalAccess', _748 => _748.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
33711
+ renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _748 => _748.assignees, 'optionalAccess', _749 => _749.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
33894
33712
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33895
33713
  SquareAvatar,
33896
33714
  {
@@ -33919,7 +33737,7 @@ function TicketCard({
33919
33737
  ] }),
33920
33738
  rightSection
33921
33739
  ] }),
33922
- _optionalChain([ticket, 'access', _749 => _749.tags, 'optionalAccess', _750 => _750.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
33740
+ _optionalChain([ticket, 'access', _750 => _750.tags, 'optionalAccess', _751 => _751.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
33923
33741
  ] });
33924
33742
  const cardClasses = _chunkUC43NICZcjs.cn.call(void 0,
33925
33743
  "relative flex flex-col gap-[var(--spacing-system-sf)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-sf)] select-none text-left",
@@ -33980,7 +33798,7 @@ function TicketTagRow({ tags }) {
33980
33798
 
33981
33799
  _chunkUC43NICZcjs.init_cn.call(void 0, );
33982
33800
 
33983
- var TicketCardSkeleton = React102.forwardRef(
33801
+ var TicketCardSkeleton = React101.forwardRef(
33984
33802
  ({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
33985
33803
  "div",
33986
33804
  {
@@ -34068,8 +33886,8 @@ function BoardColumn({
34068
33886
  );
34069
33887
  }
34070
33888
  function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadMoreRootMargin }) {
34071
- const ticketIds = React103.useMemo(() => column.tickets.map((t) => t.id), [column.tickets]);
34072
- const droppableData = React103.useMemo(
33889
+ const ticketIds = React102.useMemo(() => column.tickets.map((t) => t.id), [column.tickets]);
33890
+ const droppableData = React102.useMemo(
34073
33891
  () => ({ columnId: column.id, type: "column" }),
34074
33892
  [column.id]
34075
33893
  );
@@ -34078,13 +33896,13 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
34078
33896
  data: droppableData,
34079
33897
  disabled: column.dropDisabled
34080
33898
  });
34081
- const scrollRef = React103.useRef(null);
34082
- const sentinelRef = React103.useRef(null);
34083
- const loadMoreRef = React103.useRef(onLoadMore);
33899
+ const scrollRef = React102.useRef(null);
33900
+ const sentinelRef = React102.useRef(null);
33901
+ const loadMoreRef = React102.useRef(onLoadMore);
34084
33902
  loadMoreRef.current = onLoadMore;
34085
- const columnIdRef = React103.useRef(column.id);
33903
+ const columnIdRef = React102.useRef(column.id);
34086
33904
  columnIdRef.current = column.id;
34087
- React103.useEffect(() => {
33905
+ React102.useEffect(() => {
34088
33906
  if (!column.hasMore || column.isLoadingMore) return;
34089
33907
  const sentinel = sentinelRef.current;
34090
33908
  const root = scrollRef.current;
@@ -34092,7 +33910,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
34092
33910
  const observer = new IntersectionObserver(
34093
33911
  (entries) => {
34094
33912
  if (entries.some((e) => e.isIntersecting)) {
34095
- _optionalChain([loadMoreRef, 'access', _751 => _751.current, 'optionalCall', _752 => _752(columnIdRef.current)]);
33913
+ _optionalChain([loadMoreRef, 'access', _752 => _752.current, 'optionalCall', _753 => _753(columnIdRef.current)]);
34096
33914
  }
34097
33915
  },
34098
33916
  { root, rootMargin: loadMoreRootMargin }
@@ -34100,7 +33918,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
34100
33918
  observer.observe(sentinel);
34101
33919
  return () => observer.disconnect();
34102
33920
  }, [column.hasMore, column.isLoadingMore, loadMoreRootMargin]);
34103
- const setBodyRef = React103.useCallback(
33921
+ const setBodyRef = React102.useCallback(
34104
33922
  (el) => {
34105
33923
  scrollRef.current = el;
34106
33924
  setDroppableRef(el);
@@ -34121,7 +33939,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
34121
33939
  {
34122
33940
  ticket: t,
34123
33941
  columnId: column.id,
34124
- href: _optionalChain([getTicketHref, 'optionalCall', _753 => _753(t.id)]),
33942
+ href: _optionalChain([getTicketHref, 'optionalCall', _754 => _754(t.id)]),
34125
33943
  renderAssignSlot,
34126
33944
  dragDisabled: column.dragDisabled
34127
33945
  },
@@ -34134,7 +33952,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
34134
33952
  );
34135
33953
  }
34136
33954
  function SkeletonStack({ count = 4 }) {
34137
- const keys = React103.useMemo(
33955
+ const keys = React102.useMemo(
34138
33956
  () => Array.from({ length: count }, () => Math.random().toString(36).slice(2)),
34139
33957
  [count]
34140
33958
  );
@@ -34153,7 +33971,7 @@ function EmptyState3() {
34153
33971
  // src/components/features/board/use-board-collapse.ts
34154
33972
 
34155
33973
  function useBoardCollapse(storageKey) {
34156
- const [persisted, setPersisted] = _chunk25LVV26Xcjs.useLocalStorage.call(void 0,
33974
+ const [persisted, setPersisted] = _chunkNLXY4QZEcjs.useLocalStorage.call(void 0,
34157
33975
  _nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")),
34158
33976
  {}
34159
33977
  );
@@ -34200,33 +34018,33 @@ function Board({
34200
34018
  onThumbPointerDown,
34201
34019
  onThumbPointerMove,
34202
34020
  onThumbPointerUp
34203
- } = _chunk25LVV26Xcjs.useHorizontalScrollbar.call(void 0, );
34204
- const [items, setItems] = React104.useState(columns);
34205
- const isDraggingRef = React104.useRef(false);
34206
- React104.useEffect(() => {
34021
+ } = _chunkNLXY4QZEcjs.useHorizontalScrollbar.call(void 0, );
34022
+ const [items, setItems] = React103.useState(columns);
34023
+ const isDraggingRef = React103.useRef(false);
34024
+ React103.useEffect(() => {
34207
34025
  if (!isDraggingRef.current) setItems(columns);
34208
34026
  }, [columns]);
34209
- const dragOriginRef = React104.useRef(null);
34210
- const [activeTicket, setActiveTicket] = React104.useState(null);
34027
+ const dragOriginRef = React103.useRef(null);
34028
+ const [activeTicket, setActiveTicket] = React103.useState(null);
34211
34029
  const sensors = _core.useSensors.call(void 0,
34212
34030
  _core.useSensor.call(void 0, _core.PointerSensor, { activationConstraint: { distance: 6 } }),
34213
34031
  _core.useSensor.call(void 0, _core.KeyboardSensor, { coordinateGetter: _sortable.sortableKeyboardCoordinates })
34214
34032
  );
34215
- const collisionDetection = React104.useCallback((args) => {
34033
+ const collisionDetection = React103.useCallback((args) => {
34216
34034
  const pointer = _core.pointerWithin.call(void 0, args);
34217
34035
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
34218
34036
  const ticketHit = intersections.find(
34219
- (c) => _optionalChain([c, 'access', _754 => _754.data, 'optionalAccess', _755 => _755.droppableContainer, 'optionalAccess', _756 => _756.data, 'optionalAccess', _757 => _757.current, 'optionalAccess', _758 => _758.type]) === "ticket"
34037
+ (c) => _optionalChain([c, 'access', _755 => _755.data, 'optionalAccess', _756 => _756.droppableContainer, 'optionalAccess', _757 => _757.data, 'optionalAccess', _758 => _758.current, 'optionalAccess', _759 => _759.type]) === "ticket"
34220
34038
  );
34221
34039
  if (ticketHit) return [ticketHit];
34222
34040
  const columnHit = intersections.find(
34223
- (c) => _optionalChain([c, 'access', _759 => _759.data, 'optionalAccess', _760 => _760.droppableContainer, 'optionalAccess', _761 => _761.data, 'optionalAccess', _762 => _762.current, 'optionalAccess', _763 => _763.type]) === "column"
34041
+ (c) => _optionalChain([c, 'access', _760 => _760.data, 'optionalAccess', _761 => _761.droppableContainer, 'optionalAccess', _762 => _762.data, 'optionalAccess', _763 => _763.current, 'optionalAccess', _764 => _764.type]) === "column"
34224
34042
  );
34225
34043
  if (columnHit) {
34226
- const columnId = _optionalChain([columnHit, 'access', _764 => _764.data, 'optionalAccess', _765 => _765.droppableContainer, 'optionalAccess', _766 => _766.data, 'optionalAccess', _767 => _767.current, 'optionalAccess', _768 => _768.columnId]);
34044
+ const columnId = _optionalChain([columnHit, 'access', _765 => _765.data, 'optionalAccess', _766 => _766.droppableContainer, 'optionalAccess', _767 => _767.data, 'optionalAccess', _768 => _768.current, 'optionalAccess', _769 => _769.columnId]);
34227
34045
  const ticketsInColumn = args.droppableContainers.filter((c) => {
34228
34046
  const d = c.data.current;
34229
- return _optionalChain([d, 'optionalAccess', _769 => _769.type]) === "ticket" && d.columnId === columnId;
34047
+ return _optionalChain([d, 'optionalAccess', _770 => _770.type]) === "ticket" && d.columnId === columnId;
34230
34048
  });
34231
34049
  if (ticketsInColumn.length > 0) {
34232
34050
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -34251,20 +34069,20 @@ function Board({
34251
34069
  const overId = String(over.id);
34252
34070
  if (activeId === overId) return;
34253
34071
  const overData = over.data.current;
34254
- const fromColumnId = _optionalChain([locate, 'call', _770 => _770(items, activeId), 'optionalAccess', _771 => _771.columnId]);
34255
- const toColumnId = _optionalChain([overData, 'optionalAccess', _772 => _772.columnId]);
34072
+ const fromColumnId = _optionalChain([locate, 'call', _771 => _771(items, activeId), 'optionalAccess', _772 => _772.columnId]);
34073
+ const toColumnId = _optionalChain([overData, 'optionalAccess', _773 => _773.columnId]);
34256
34074
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
34257
34075
  const origin = dragOriginRef.current;
34258
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _773 => _773.fromColumnId]) === toColumnId;
34076
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _774 => _774.fromColumnId]) === toColumnId;
34259
34077
  const targetCol = items.find((c) => c.id === toColumnId);
34260
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _774 => _774.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
34261
- if (_optionalChain([targetCol, 'optionalAccess', _775 => _775.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
34078
+ const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _775 => _775.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
34079
+ if (_optionalChain([targetCol, 'optionalAccess', _776 => _776.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
34262
34080
  setItems((prev) => {
34263
34081
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
34264
34082
  const toCol = prev.find((c) => c.id === toColumnId);
34265
34083
  if (fromIndex < 0 || !toCol) return prev;
34266
34084
  let toIndex;
34267
- if (_optionalChain([overData, 'optionalAccess', _776 => _776.type]) === "column") {
34085
+ if (_optionalChain([overData, 'optionalAccess', _777 => _777.type]) === "column") {
34268
34086
  toIndex = toCol.tickets.length;
34269
34087
  } else {
34270
34088
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -34306,14 +34124,14 @@ function Board({
34306
34124
  const toColumnId = located.columnId;
34307
34125
  const isCrossColumn = origin.fromColumnId !== toColumnId;
34308
34126
  const targetCol = items.find((c) => c.id === toColumnId);
34309
- if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _777 => _777.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _778 => _778.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
34127
+ if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _778 => _778.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _779 => _779.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
34310
34128
  setItems(columns);
34311
34129
  return;
34312
34130
  }
34313
34131
  let finalIndex = located.index;
34314
- let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _779 => _779.find, 'call', _780 => _780((c) => c.id === toColumnId), 'optionalAccess', _781 => _781.tickets]), () => ( []));
34132
+ let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _780 => _780.find, 'call', _781 => _781((c) => c.id === toColumnId), 'optionalAccess', _782 => _782.tickets]), () => ( []));
34315
34133
  const overData = over.data.current;
34316
- if (_optionalChain([overData, 'optionalAccess', _782 => _782.type]) === "ticket") {
34134
+ if (_optionalChain([overData, 'optionalAccess', _783 => _783.type]) === "ticket") {
34317
34135
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
34318
34136
  if (overIndex >= 0 && overIndex !== located.index) {
34319
34137
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -34333,8 +34151,8 @@ function Board({
34333
34151
  ticketId: origin.ticketId,
34334
34152
  fromColumnId: origin.fromColumnId,
34335
34153
  toColumnId,
34336
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _783 => _783[finalIndex - 1], 'optionalAccess', _784 => _784.id]), () => ( null)),
34337
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _785 => _785[finalIndex + 1], 'optionalAccess', _786 => _786.id]), () => ( null))
34154
+ afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _784 => _784[finalIndex - 1], 'optionalAccess', _785 => _785.id]), () => ( null)),
34155
+ beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _786 => _786[finalIndex + 1], 'optionalAccess', _787 => _787.id]), () => ( null))
34338
34156
  });
34339
34157
  };
34340
34158
  const handleDragCancel = () => {
@@ -34363,10 +34181,10 @@ function Board({
34363
34181
  children: items.map((column, i) => {
34364
34182
  const prev = items[i - 1];
34365
34183
  const next = items[i + 1];
34366
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _787 => _787.system]));
34367
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _788 => _788.system]));
34184
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _788 => _788.system]));
34185
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _789 => _789.system]));
34368
34186
  const showGap = i > 0 && !joinLeft;
34369
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React104.Fragment, { children: [
34187
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React103.Fragment, { children: [
34370
34188
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
34371
34189
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34372
34190
  BoardColumn,
@@ -34422,7 +34240,7 @@ function locate(cols, ticketId) {
34422
34240
  return null;
34423
34241
  }
34424
34242
  function findIndexInColumn(cols, columnId, ticketId) {
34425
- return _nullishCoalesce(_optionalChain([cols, 'access', _789 => _789.find, 'call', _790 => _790((c) => c.id === columnId), 'optionalAccess', _791 => _791.tickets, 'access', _792 => _792.findIndex, 'call', _793 => _793((t) => t.id === ticketId)]), () => ( -1));
34243
+ return _nullishCoalesce(_optionalChain([cols, 'access', _790 => _790.find, 'call', _791 => _791((c) => c.id === columnId), 'optionalAccess', _792 => _792.tickets, 'access', _793 => _793.findIndex, 'call', _794 => _794((t) => t.id === ticketId)]), () => ( -1));
34426
34244
  }
34427
34245
 
34428
34246
  // src/components/features/board/types.ts
@@ -35091,9 +34909,5 @@ function canonicalize(status) {
35091
34909
 
35092
34910
 
35093
34911
 
35094
-
35095
-
35096
-
35097
-
35098
- exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.validateAccessCode = validateAccessCode; exports.consumeAccessCode = consumeAccessCode; exports.validateAndConsumeAccessCode = validateAndConsumeAccessCode; exports.useAccessCodeIntegration = useAccessCodeIntegration; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.formatReleaseDate = formatReleaseDate; exports.formatRelativeTime = formatRelativeTime; exports.getDynamicIcon = getDynamicIcon; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.SquareAvatar = SquareAvatar; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.Textarea = Textarea; exports.ChatTypingIndicator = ChatTypingIndicator; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.BlockCard = BlockCard; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ChatQuickAction = ChatQuickAction; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.ErrorBoundary = ErrorBoundary; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.Progress = Progress; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.PlatformBadge = PlatformBadge; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Switch = Switch; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.Header = Header; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderButton = HeaderButton; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.AnnouncementBar = AnnouncementBar; exports.VendorIcon = VendorIcon; exports.CategoriesCart = CategoriesCart; exports.CategoryCard = CategoryCard; exports.VendorDisplayButton = VendorDisplayButton; exports.setRealAuthHook = setRealAuthHook; exports.useAuth = useAuth; exports.AuthProvider = AuthProvider; exports.CommentCard = CommentCard; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.EmptyState = EmptyState2; exports.ChevronButton = ChevronButton; exports.FaqAccordion = FaqAccordion; exports.FilterChip = FilterChip; exports.SocialIconRow = SocialIconRow; exports.Footer = Footer; exports.useUnifiedFiltering = useUnifiedFiltering; exports.vendorFilterConfig = vendorFilterConfig; exports.blogFilterConfig = blogFilterConfig; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.UnifiedPagination = UnifiedPagination; exports.FooterWaitlistButton = FooterWaitlistButton; exports.HeroImageUploader = HeroImageUploader; exports.ResponsiveIconsBlock = ResponsiveIconsBlock; exports.Slider = Slider; exports.ImageCropper = ImageCropper; exports.MediaCarousel = MediaCarousel; exports.MetricValue = MetricValue; exports.MSPDisplay = MSPDisplay; exports.PersistentFilterControls = PersistentFilterControls; exports.PersistentSearchContainer = PersistentSearchContainer; exports.PersistentSidebar = PersistentSidebar; exports.PersistentMobileDropdown = PersistentMobileDropdown; exports.PersistentPagination = PersistentPagination; exports.usePaginationLoading = usePaginationLoading; exports.PersistentPaginationWrapper = PersistentPaginationWrapper; exports.PRICING_STYLES = PRICING_STYLES; exports.PricingDisplay = PricingDisplay; exports.formatPricingForDisplay = formatPricingForDisplay; exports.ResultsCount = ResultsCount; exports.VendorTag = VendorTag; exports.SelectionSourceBadge = SelectionSourceBadge; exports.UserDisplay = UserDisplay; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.VendorPageSkeleton = VendorPageSkeleton; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon3; exports.XCircleIcon = XCircleIcon; exports.YesNoDisplay = YesNoDisplay; exports.evaluateFeatureValue = evaluateFeatureValue; exports.MadeWithLove = MadeWithLove; exports.DateTimePicker = DateTimePicker; exports.InteractiveCard = InteractiveCard; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.ImageGalleryModal = ImageGalleryModal; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.DetailPageSkeleton = DetailPageSkeleton; exports.ReleaseDetailPage = ReleaseDetailPage; exports.ReleaseDetailSkeleton = ReleaseDetailSkeleton; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.ProgressBar = ProgressBar; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; 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.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.Modal2 = Modal2; exports.ModalContent2 = ModalContent2; exports.ModalHeader2 = ModalHeader2; exports.ModalTitle2 = ModalTitle2; exports.ModalFooter2 = ModalFooter2; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.StatusIndicator = StatusIndicator; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.CircularProgress = CircularProgress; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.MoreActionsMenu = MoreActionsMenu; exports.DropdownButton = DropdownButton; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.assets = assets;
35099
- //# sourceMappingURL=chunk-3YH2M76N.cjs.map
34912
+ exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.formatReleaseDate = formatReleaseDate; exports.formatRelativeTime = formatRelativeTime; exports.getDynamicIcon = getDynamicIcon; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.SquareAvatar = SquareAvatar; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.Textarea = Textarea; exports.ChatTypingIndicator = ChatTypingIndicator; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.BlockCard = BlockCard; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ChatQuickAction = ChatQuickAction; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.ErrorBoundary = ErrorBoundary; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.Progress = Progress; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.PlatformBadge = PlatformBadge; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Switch = Switch; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.Header = Header; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderButton = HeaderButton; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.AnnouncementBar = AnnouncementBar; exports.VendorIcon = VendorIcon; exports.CategoriesCart = CategoriesCart; exports.CategoryCard = CategoryCard; exports.VendorDisplayButton = VendorDisplayButton; exports.setRealAuthHook = setRealAuthHook; exports.useAuth = useAuth; exports.AuthProvider = AuthProvider; exports.CommentCard = CommentCard; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.EmptyState = EmptyState2; exports.ChevronButton = ChevronButton; exports.FaqAccordion = FaqAccordion; exports.FilterChip = FilterChip; exports.SocialIconRow = SocialIconRow; exports.Footer = Footer; exports.useUnifiedFiltering = useUnifiedFiltering; exports.vendorFilterConfig = vendorFilterConfig; exports.blogFilterConfig = blogFilterConfig; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.UnifiedPagination = UnifiedPagination; exports.FooterWaitlistButton = FooterWaitlistButton; exports.HeroImageUploader = HeroImageUploader; exports.ResponsiveIconsBlock = ResponsiveIconsBlock; exports.Slider = Slider; exports.ImageCropper = ImageCropper; exports.MediaCarousel = MediaCarousel; exports.MetricValue = MetricValue; exports.MSPDisplay = MSPDisplay; exports.PersistentFilterControls = PersistentFilterControls; exports.PersistentSearchContainer = PersistentSearchContainer; exports.PersistentSidebar = PersistentSidebar; exports.PersistentMobileDropdown = PersistentMobileDropdown; exports.PersistentPagination = PersistentPagination; exports.usePaginationLoading = usePaginationLoading; exports.PersistentPaginationWrapper = PersistentPaginationWrapper; exports.PRICING_STYLES = PRICING_STYLES; exports.PricingDisplay = PricingDisplay; exports.formatPricingForDisplay = formatPricingForDisplay; exports.ResultsCount = ResultsCount; exports.VendorTag = VendorTag; exports.SelectionSourceBadge = SelectionSourceBadge; exports.UserDisplay = UserDisplay; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.VendorPageSkeleton = VendorPageSkeleton; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon3; exports.XCircleIcon = XCircleIcon; exports.YesNoDisplay = YesNoDisplay; exports.evaluateFeatureValue = evaluateFeatureValue; exports.MadeWithLove = MadeWithLove; exports.DateTimePicker = DateTimePicker; exports.InteractiveCard = InteractiveCard; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.ImageGalleryModal = ImageGalleryModal; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.DetailPageSkeleton = DetailPageSkeleton; exports.ReleaseDetailPage = ReleaseDetailPage; exports.ReleaseDetailSkeleton = ReleaseDetailSkeleton; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.ProgressBar = ProgressBar; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; 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.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.Modal2 = Modal2; exports.ModalContent2 = ModalContent2; exports.ModalHeader2 = ModalHeader2; exports.ModalTitle2 = ModalTitle2; exports.ModalFooter2 = ModalFooter2; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.StatusIndicator = StatusIndicator; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.CircularProgress = CircularProgress; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.MoreActionsMenu = MoreActionsMenu; exports.DropdownButton = DropdownButton; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.assets = assets;
34913
+ //# sourceMappingURL=chunk-RDXOQWBY.cjs.map