@flamingo-stack/openframe-frontend-core 0.0.195 → 0.0.196
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.
- package/dist/{chunk-PJ5KFD2V.js → chunk-4ML3NA2L.js} +75 -1
- package/dist/{chunk-PJ5KFD2V.js.map → chunk-4ML3NA2L.js.map} +1 -1
- package/dist/{chunk-U6AJSRJP.js → chunk-BXPH5SOL.js} +707 -354
- package/dist/chunk-BXPH5SOL.js.map +1 -0
- package/dist/{chunk-IQM3G2I6.cjs → chunk-E6AWU7EI.cjs} +753 -400
- package/dist/chunk-E6AWU7EI.cjs.map +1 -0
- package/dist/{chunk-CVMSC7M4.cjs → chunk-OII2IERE.cjs} +77 -3
- package/dist/chunk-OII2IERE.cjs.map +1 -0
- package/dist/components/chat/hooks/index.d.ts +1 -0
- package/dist/components/chat/hooks/index.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-jetstream-dialog-subscription.d.ts +15 -0
- package/dist/components/chat/hooks/use-jetstream-dialog-subscription.d.ts.map +1 -0
- package/dist/components/chat/types/api.types.d.ts +43 -0
- package/dist/components/chat/types/api.types.d.ts.map +1 -1
- package/dist/components/chat/types/network.types.d.ts +4 -0
- package/dist/components/chat/types/network.types.d.ts.map +1 -1
- package/dist/components/features/index.cjs +3 -3
- package/dist/components/features/index.js +2 -2
- package/dist/components/index.cjs +5 -3
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +4 -2
- package/dist/components/navigation/index.cjs +3 -3
- package/dist/components/navigation/index.js +2 -2
- package/dist/components/ui/index.cjs +5 -3
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.js +4 -2
- package/dist/hooks/index.cjs +2 -2
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +5 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +4 -2
- package/dist/nats/index.cjs +73 -0
- package/dist/nats/index.cjs.map +1 -1
- package/dist/nats/index.js +73 -0
- package/dist/nats/index.js.map +1 -1
- package/dist/nats/nats.d.ts +22 -1
- package/dist/nats/nats.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/chat/hooks/index.ts +1 -0
- package/src/components/chat/hooks/use-jetstream-dialog-subscription.ts +474 -0
- package/src/components/chat/types/api.types.ts +45 -0
- package/src/components/chat/types/network.types.ts +4 -0
- package/src/nats/nats.ts +117 -0
- package/dist/chunk-CVMSC7M4.cjs.map +0 -1
- package/dist/chunk-IQM3G2I6.cjs.map +0 -1
- package/dist/chunk-U6AJSRJP.js.map +0 -1
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var _chunkOII2IEREcjs = require('./chunk-OII2IERE.cjs');
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
@@ -784,7 +784,7 @@ function AutocompleteInner(props, ref) {
|
|
|
784
784
|
}, [valueArray, options]);
|
|
785
785
|
const selectedOption = !multiple && selectedOptions.length > 0 ? selectedOptions[0] : null;
|
|
786
786
|
const inputPlaceholder = multiple ? valueArray.length === 0 ? placeholder : "Add More..." : placeholder;
|
|
787
|
-
const autoLimitTags =
|
|
787
|
+
const autoLimitTags = _chunkOII2IEREcjs.useAutoLimitTags.call(void 0, {
|
|
788
788
|
count: multiple ? selectedOptions.length : 0,
|
|
789
789
|
limitTags: multiple ? limitTagsProp : 0,
|
|
790
790
|
placeholder: inputPlaceholder
|
|
@@ -2731,7 +2731,7 @@ function toToolLabel(input) {
|
|
|
2731
2731
|
if (!input) return "";
|
|
2732
2732
|
const toolType = normalizeToolType(input);
|
|
2733
2733
|
if (toolType) {
|
|
2734
|
-
return
|
|
2734
|
+
return _chunkOII2IEREcjs.toolLabels[toolType];
|
|
2735
2735
|
}
|
|
2736
2736
|
return input;
|
|
2737
2737
|
}
|
|
@@ -2742,7 +2742,7 @@ function getToolTypeAliases(toolType) {
|
|
|
2742
2742
|
return Object.entries(toolAliasMap).filter(([_, value]) => value === toolType).map(([key]) => key);
|
|
2743
2743
|
}
|
|
2744
2744
|
function getToolLabel(toolType) {
|
|
2745
|
-
return
|
|
2745
|
+
return _chunkOII2IEREcjs.toolLabels[toolType] || toolType;
|
|
2746
2746
|
}
|
|
2747
2747
|
|
|
2748
2748
|
// src/types/shell.types.ts
|
|
@@ -3316,7 +3316,7 @@ function ToolCallRow({ call, expanded, onToggle, batchStatus, execution }) {
|
|
|
3316
3316
|
onClick: onToggle,
|
|
3317
3317
|
className: "flex gap-2 items-start w-full p-3 cursor-pointer text-left",
|
|
3318
3318
|
children: [
|
|
3319
|
-
/* @__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,
|
|
3319
|
+
/* @__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, _chunkOII2IEREcjs.ToolIcon, { toolType, size: 16 }) }),
|
|
3320
3320
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
3321
3321
|
"div",
|
|
3322
3322
|
{
|
|
@@ -5024,7 +5024,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
|
|
|
5024
5024
|
className: "flex gap-[var(--spacing-system-xs)] items-start p-[var(--spacing-system-s)] cursor-pointer text-left w-full",
|
|
5025
5025
|
onClick: () => setExpanded((prev) => !prev),
|
|
5026
5026
|
children: [
|
|
5027
|
-
/* @__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,
|
|
5027
|
+
/* @__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, _chunkOII2IEREcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
|
|
5028
5028
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
5029
5029
|
"div",
|
|
5030
5030
|
{
|
|
@@ -6236,7 +6236,7 @@ var RATIO_TO_CSS_ASPECT = {
|
|
|
6236
6236
|
landscape: "16 / 9"
|
|
6237
6237
|
};
|
|
6238
6238
|
function LazyBite({ ratio, children }) {
|
|
6239
|
-
const { ref, isNear } =
|
|
6239
|
+
const { ref, isNear } = _chunkOII2IEREcjs.useNearViewport.call(void 0, "500px");
|
|
6240
6240
|
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" }) });
|
|
6241
6241
|
}
|
|
6242
6242
|
function VideoBitesDisplay({
|
|
@@ -7245,9 +7245,361 @@ function useChunkCatchup({
|
|
|
7245
7245
|
};
|
|
7246
7246
|
}
|
|
7247
7247
|
|
|
7248
|
-
// src/components/chat/hooks/use-
|
|
7248
|
+
// src/components/chat/hooks/use-jetstream-dialog-subscription.ts
|
|
7249
7249
|
|
|
7250
7250
|
var shared = null;
|
|
7251
|
+
var DEFAULT_INACTIVE_THRESHOLD_MS = 5 * 6e4;
|
|
7252
|
+
var DEFAULT_STREAM_NAME = "CHAT_CHUNKS";
|
|
7253
|
+
function useJetStreamDialogSubscription({
|
|
7254
|
+
enabled,
|
|
7255
|
+
dialogId,
|
|
7256
|
+
streamName = DEFAULT_STREAM_NAME,
|
|
7257
|
+
topic,
|
|
7258
|
+
optStartSeq,
|
|
7259
|
+
onEvent,
|
|
7260
|
+
onConnect,
|
|
7261
|
+
onDisconnect,
|
|
7262
|
+
onSubscribed,
|
|
7263
|
+
onBeforeReconnect,
|
|
7264
|
+
getNatsWsUrl,
|
|
7265
|
+
clientConfig = {},
|
|
7266
|
+
reconnectionBackoff,
|
|
7267
|
+
inactiveThresholdMs
|
|
7268
|
+
}) {
|
|
7269
|
+
const [isConnected, setIsConnected] = _react.useState.call(void 0, false);
|
|
7270
|
+
const [isSubscribed, setIsSubscribed] = _react.useState.call(void 0, false);
|
|
7271
|
+
const [reconnectionCount, setReconnectionCount] = _react.useState.call(void 0, 0);
|
|
7272
|
+
const [currentStreamSeq, setCurrentStreamSeq] = _react.useState.call(void 0, null);
|
|
7273
|
+
const clientRef = _react.useRef.call(void 0, null);
|
|
7274
|
+
const subscriptionRef = _react.useRef.call(void 0, null);
|
|
7275
|
+
const highestStreamSeqRef = _react.useRef.call(void 0, null);
|
|
7276
|
+
const onEventRef = _react.useRef.call(void 0, onEvent);
|
|
7277
|
+
_react.useEffect.call(void 0, () => {
|
|
7278
|
+
onEventRef.current = onEvent;
|
|
7279
|
+
}, [onEvent]);
|
|
7280
|
+
const onConnectRef = _react.useRef.call(void 0, onConnect);
|
|
7281
|
+
_react.useEffect.call(void 0, () => {
|
|
7282
|
+
onConnectRef.current = onConnect;
|
|
7283
|
+
}, [onConnect]);
|
|
7284
|
+
const onDisconnectRef = _react.useRef.call(void 0, onDisconnect);
|
|
7285
|
+
_react.useEffect.call(void 0, () => {
|
|
7286
|
+
onDisconnectRef.current = onDisconnect;
|
|
7287
|
+
}, [onDisconnect]);
|
|
7288
|
+
const onSubscribedRef = _react.useRef.call(void 0, onSubscribed);
|
|
7289
|
+
_react.useEffect.call(void 0, () => {
|
|
7290
|
+
onSubscribedRef.current = onSubscribed;
|
|
7291
|
+
}, [onSubscribed]);
|
|
7292
|
+
const onBeforeReconnectRef = _react.useRef.call(void 0, onBeforeReconnect);
|
|
7293
|
+
_react.useEffect.call(void 0, () => {
|
|
7294
|
+
onBeforeReconnectRef.current = onBeforeReconnect;
|
|
7295
|
+
}, [onBeforeReconnect]);
|
|
7296
|
+
const getNatsWsUrlRef = _react.useRef.call(void 0, getNatsWsUrl);
|
|
7297
|
+
_react.useEffect.call(void 0, () => {
|
|
7298
|
+
getNatsWsUrlRef.current = getNatsWsUrl;
|
|
7299
|
+
}, [getNatsWsUrl]);
|
|
7300
|
+
const reconnectionBackoffRef = _react.useRef.call(void 0, reconnectionBackoff);
|
|
7301
|
+
_react.useEffect.call(void 0, () => {
|
|
7302
|
+
reconnectionBackoffRef.current = reconnectionBackoff;
|
|
7303
|
+
}, [reconnectionBackoff]);
|
|
7304
|
+
const optStartSeqRef = _react.useRef.call(void 0, optStartSeq);
|
|
7305
|
+
_react.useEffect.call(void 0, () => {
|
|
7306
|
+
optStartSeqRef.current = optStartSeq;
|
|
7307
|
+
}, [optStartSeq]);
|
|
7308
|
+
const inactiveThresholdRef = _react.useRef.call(void 0, inactiveThresholdMs);
|
|
7309
|
+
_react.useEffect.call(void 0, () => {
|
|
7310
|
+
inactiveThresholdRef.current = inactiveThresholdMs;
|
|
7311
|
+
}, [inactiveThresholdMs]);
|
|
7312
|
+
const hadConnectionBeforeRef = _react.useRef.call(void 0, false);
|
|
7313
|
+
const acquireClient = _react.useCallback.call(void 0,
|
|
7314
|
+
(url) => {
|
|
7315
|
+
if (_optionalChain([shared, 'optionalAccess', _138 => _138.wsUrl]) !== url) {
|
|
7316
|
+
if (shared) {
|
|
7317
|
+
if (shared.closeTimer) clearTimeout(shared.closeTimer);
|
|
7318
|
+
const old = shared;
|
|
7319
|
+
shared = null;
|
|
7320
|
+
void old.client.close().catch(() => {
|
|
7321
|
+
});
|
|
7322
|
+
}
|
|
7323
|
+
const { name = "openframe-frontend-jetstream", user = "machine", pass = "" } = clientConfig;
|
|
7324
|
+
const client = _chunkOII2IEREcjs.createNatsClient.call(void 0, {
|
|
7325
|
+
servers: url,
|
|
7326
|
+
name,
|
|
7327
|
+
user,
|
|
7328
|
+
pass,
|
|
7329
|
+
connectTimeoutMs: NETWORK_CONFIG.CONNECT_TIMEOUT_MS,
|
|
7330
|
+
reconnect: false,
|
|
7331
|
+
pingIntervalMs: NETWORK_CONFIG.PING_INTERVAL_MS,
|
|
7332
|
+
maxPingOut: NETWORK_CONFIG.MAX_PING_OUT
|
|
7333
|
+
});
|
|
7334
|
+
shared = {
|
|
7335
|
+
wsUrl: url,
|
|
7336
|
+
client,
|
|
7337
|
+
connectPromise: null,
|
|
7338
|
+
refCount: 0,
|
|
7339
|
+
closeTimer: null,
|
|
7340
|
+
retryTimer: null
|
|
7341
|
+
};
|
|
7342
|
+
}
|
|
7343
|
+
shared.refCount += 1;
|
|
7344
|
+
if (shared.closeTimer) {
|
|
7345
|
+
clearTimeout(shared.closeTimer);
|
|
7346
|
+
shared.closeTimer = null;
|
|
7347
|
+
}
|
|
7348
|
+
return shared;
|
|
7349
|
+
},
|
|
7350
|
+
[clientConfig]
|
|
7351
|
+
);
|
|
7352
|
+
const releaseClient = _react.useCallback.call(void 0, (url) => {
|
|
7353
|
+
if (!shared || shared.wsUrl !== url) return;
|
|
7354
|
+
shared.refCount = Math.max(0, shared.refCount - 1);
|
|
7355
|
+
if (shared.refCount > 0) return;
|
|
7356
|
+
shared.closeTimer = setTimeout(() => {
|
|
7357
|
+
const s = shared;
|
|
7358
|
+
shared = null;
|
|
7359
|
+
if (s) {
|
|
7360
|
+
if (s.retryTimer) {
|
|
7361
|
+
clearTimeout(s.retryTimer);
|
|
7362
|
+
s.retryTimer = null;
|
|
7363
|
+
}
|
|
7364
|
+
void s.client.close().catch(() => {
|
|
7365
|
+
});
|
|
7366
|
+
}
|
|
7367
|
+
}, NETWORK_CONFIG.SHARED_CLOSE_DELAY_MS);
|
|
7368
|
+
}, []);
|
|
7369
|
+
const currentWsUrlRef = _react.useRef.call(void 0, "");
|
|
7370
|
+
_react.useEffect.call(void 0, () => {
|
|
7371
|
+
const wsUrl = getNatsWsUrl();
|
|
7372
|
+
if (!enabled || !wsUrl) {
|
|
7373
|
+
if (currentWsUrlRef.current && clientRef.current) {
|
|
7374
|
+
releaseClient(currentWsUrlRef.current);
|
|
7375
|
+
clientRef.current = null;
|
|
7376
|
+
currentWsUrlRef.current = "";
|
|
7377
|
+
setIsConnected(false);
|
|
7378
|
+
}
|
|
7379
|
+
return;
|
|
7380
|
+
}
|
|
7381
|
+
if (wsUrl === currentWsUrlRef.current && clientRef.current && clientRef.current.isConnected()) {
|
|
7382
|
+
return;
|
|
7383
|
+
}
|
|
7384
|
+
if (currentWsUrlRef.current && currentWsUrlRef.current !== wsUrl && clientRef.current) {
|
|
7385
|
+
releaseClient(currentWsUrlRef.current);
|
|
7386
|
+
clientRef.current = null;
|
|
7387
|
+
setIsConnected(false);
|
|
7388
|
+
}
|
|
7389
|
+
currentWsUrlRef.current = wsUrl;
|
|
7390
|
+
const sharedConn = acquireClient(wsUrl);
|
|
7391
|
+
const client = sharedConn.client;
|
|
7392
|
+
clientRef.current = client;
|
|
7393
|
+
setIsConnected(false);
|
|
7394
|
+
let closed = false;
|
|
7395
|
+
let retryAttempt = 0;
|
|
7396
|
+
function scheduleRetry() {
|
|
7397
|
+
if (closed) return;
|
|
7398
|
+
if (shared !== sharedConn) return;
|
|
7399
|
+
if (sharedConn.retryTimer) {
|
|
7400
|
+
clearTimeout(sharedConn.retryTimer);
|
|
7401
|
+
sharedConn.retryTimer = null;
|
|
7402
|
+
}
|
|
7403
|
+
const cfg = _nullishCoalesce(reconnectionBackoffRef.current, () => ( {}));
|
|
7404
|
+
const fastRetries = _nullishCoalesce(cfg.fastRetries, () => ( 0));
|
|
7405
|
+
const fastDelay = _nullishCoalesce(cfg.fastRetryDelayMs, () => ( NETWORK_CONFIG.RETRY_INITIAL_DELAY_MS));
|
|
7406
|
+
const baseDelay = _nullishCoalesce(cfg.initialDelayMs, () => ( NETWORK_CONFIG.RETRY_INITIAL_DELAY_MS));
|
|
7407
|
+
const maxDelay = _nullishCoalesce(cfg.maxDelayMs, () => ( NETWORK_CONFIG.RETRY_MAX_DELAY_MS));
|
|
7408
|
+
const multiplier = _nullishCoalesce(cfg.multiplier, () => ( NETWORK_CONFIG.RETRY_BACKOFF_MULTIPLIER));
|
|
7409
|
+
const delay2 = retryAttempt < fastRetries ? fastDelay : Math.min(baseDelay * multiplier ** (retryAttempt - fastRetries), maxDelay);
|
|
7410
|
+
const jitteredDelay = delay2 * (0.5 + Math.random() * 0.5);
|
|
7411
|
+
retryAttempt++;
|
|
7412
|
+
sharedConn.retryTimer = setTimeout(async () => {
|
|
7413
|
+
sharedConn.retryTimer = null;
|
|
7414
|
+
if (closed) return;
|
|
7415
|
+
if (shared !== sharedConn) return;
|
|
7416
|
+
try {
|
|
7417
|
+
await _optionalChain([onBeforeReconnectRef, 'access', _139 => _139.current, 'optionalCall', _140 => _140()]);
|
|
7418
|
+
} catch (e10) {
|
|
7419
|
+
}
|
|
7420
|
+
if (closed) return;
|
|
7421
|
+
if (shared !== sharedConn) return;
|
|
7422
|
+
const freshUrl = getNatsWsUrlRef.current();
|
|
7423
|
+
if (freshUrl !== wsUrl) return;
|
|
7424
|
+
try {
|
|
7425
|
+
sharedConn.connectPromise = null;
|
|
7426
|
+
sharedConn.connectPromise = client.connect();
|
|
7427
|
+
await sharedConn.connectPromise;
|
|
7428
|
+
if (!closed && shared === sharedConn) {
|
|
7429
|
+
retryAttempt = 0;
|
|
7430
|
+
setIsConnected(true);
|
|
7431
|
+
}
|
|
7432
|
+
} catch (e11) {
|
|
7433
|
+
sharedConn.connectPromise = null;
|
|
7434
|
+
if (!closed && shared === sharedConn) {
|
|
7435
|
+
scheduleRetry();
|
|
7436
|
+
}
|
|
7437
|
+
}
|
|
7438
|
+
}, jitteredDelay);
|
|
7439
|
+
}
|
|
7440
|
+
const unsubscribeStatus = client.onStatus((event) => {
|
|
7441
|
+
const connected = event.status === "connected";
|
|
7442
|
+
const disconnected = event.status === "closed" || event.status === "disconnected";
|
|
7443
|
+
if (connected) {
|
|
7444
|
+
setIsConnected(true);
|
|
7445
|
+
if (hadConnectionBeforeRef.current) {
|
|
7446
|
+
setReconnectionCount((c) => c + 1);
|
|
7447
|
+
}
|
|
7448
|
+
hadConnectionBeforeRef.current = true;
|
|
7449
|
+
retryAttempt = 0;
|
|
7450
|
+
_optionalChain([onConnectRef, 'access', _141 => _141.current, 'optionalCall', _142 => _142()]);
|
|
7451
|
+
}
|
|
7452
|
+
if (event.status === "error") {
|
|
7453
|
+
console.warn("[JetStream] NATS protocol error:", event.data);
|
|
7454
|
+
return;
|
|
7455
|
+
}
|
|
7456
|
+
if (disconnected) {
|
|
7457
|
+
setIsConnected(false);
|
|
7458
|
+
setIsSubscribed(false);
|
|
7459
|
+
if (subscriptionRef.current) {
|
|
7460
|
+
try {
|
|
7461
|
+
subscriptionRef.current.unsubscribe();
|
|
7462
|
+
} catch (e12) {
|
|
7463
|
+
}
|
|
7464
|
+
subscriptionRef.current = null;
|
|
7465
|
+
}
|
|
7466
|
+
_optionalChain([onDisconnectRef, 'access', _143 => _143.current, 'optionalCall', _144 => _144()]);
|
|
7467
|
+
scheduleRetry();
|
|
7468
|
+
}
|
|
7469
|
+
});
|
|
7470
|
+
(async () => {
|
|
7471
|
+
try {
|
|
7472
|
+
sharedConn.connectPromise || (sharedConn.connectPromise = client.connect());
|
|
7473
|
+
await sharedConn.connectPromise;
|
|
7474
|
+
if (!closed) {
|
|
7475
|
+
setIsConnected(true);
|
|
7476
|
+
hadConnectionBeforeRef.current = true;
|
|
7477
|
+
}
|
|
7478
|
+
} catch (e13) {
|
|
7479
|
+
sharedConn.connectPromise = null;
|
|
7480
|
+
if (!closed) {
|
|
7481
|
+
setIsConnected(false);
|
|
7482
|
+
_optionalChain([onDisconnectRef, 'access', _145 => _145.current, 'optionalCall', _146 => _146()]);
|
|
7483
|
+
scheduleRetry();
|
|
7484
|
+
}
|
|
7485
|
+
}
|
|
7486
|
+
})();
|
|
7487
|
+
return () => {
|
|
7488
|
+
closed = true;
|
|
7489
|
+
setIsConnected(false);
|
|
7490
|
+
setIsSubscribed(false);
|
|
7491
|
+
unsubscribeStatus();
|
|
7492
|
+
if (sharedConn.retryTimer) {
|
|
7493
|
+
clearTimeout(sharedConn.retryTimer);
|
|
7494
|
+
sharedConn.retryTimer = null;
|
|
7495
|
+
}
|
|
7496
|
+
if (subscriptionRef.current) {
|
|
7497
|
+
try {
|
|
7498
|
+
subscriptionRef.current.unsubscribe();
|
|
7499
|
+
} catch (e14) {
|
|
7500
|
+
}
|
|
7501
|
+
subscriptionRef.current = null;
|
|
7502
|
+
}
|
|
7503
|
+
if (clientRef.current && currentWsUrlRef.current) {
|
|
7504
|
+
releaseClient(currentWsUrlRef.current);
|
|
7505
|
+
clientRef.current = null;
|
|
7506
|
+
currentWsUrlRef.current = "";
|
|
7507
|
+
}
|
|
7508
|
+
};
|
|
7509
|
+
}, [enabled, getNatsWsUrl, acquireClient, releaseClient]);
|
|
7510
|
+
_react.useEffect.call(void 0, () => {
|
|
7511
|
+
if (!enabled || !dialogId || !isConnected) {
|
|
7512
|
+
if (subscriptionRef.current) {
|
|
7513
|
+
try {
|
|
7514
|
+
subscriptionRef.current.unsubscribe();
|
|
7515
|
+
} catch (e15) {
|
|
7516
|
+
}
|
|
7517
|
+
subscriptionRef.current = null;
|
|
7518
|
+
}
|
|
7519
|
+
setIsSubscribed(false);
|
|
7520
|
+
return;
|
|
7521
|
+
}
|
|
7522
|
+
const client = clientRef.current;
|
|
7523
|
+
if (!client) return;
|
|
7524
|
+
const abortController = new AbortController();
|
|
7525
|
+
const decoder = new TextDecoder();
|
|
7526
|
+
const filterSubject = `chat.${dialogId}.${topic}`;
|
|
7527
|
+
const resumeSeq = highestStreamSeqRef.current;
|
|
7528
|
+
const initialOptStart = optStartSeqRef.current;
|
|
7529
|
+
const startSeq = resumeSeq != null ? resumeSeq + 1 : initialOptStart != null ? initialOptStart + 1 : void 0;
|
|
7530
|
+
let cancelled = false;
|
|
7531
|
+
void (async () => {
|
|
7532
|
+
try {
|
|
7533
|
+
const handle = await client.subscribeJetStreamOrdered(
|
|
7534
|
+
(msg) => {
|
|
7535
|
+
if (cancelled) return;
|
|
7536
|
+
const streamSeq = msg.info.streamSequence;
|
|
7537
|
+
if (typeof streamSeq === "number") {
|
|
7538
|
+
if (highestStreamSeqRef.current == null || streamSeq > highestStreamSeqRef.current) {
|
|
7539
|
+
highestStreamSeqRef.current = streamSeq;
|
|
7540
|
+
setCurrentStreamSeq(streamSeq);
|
|
7541
|
+
}
|
|
7542
|
+
}
|
|
7543
|
+
const cb = onEventRef.current;
|
|
7544
|
+
if (!cb) return;
|
|
7545
|
+
try {
|
|
7546
|
+
const parsed = JSON.parse(decoder.decode(msg.data));
|
|
7547
|
+
if (typeof streamSeq === "number") {
|
|
7548
|
+
;
|
|
7549
|
+
parsed.streamSeq = streamSeq;
|
|
7550
|
+
}
|
|
7551
|
+
cb(parsed, topic);
|
|
7552
|
+
} catch (e16) {
|
|
7553
|
+
}
|
|
7554
|
+
},
|
|
7555
|
+
{
|
|
7556
|
+
streamName,
|
|
7557
|
+
filterSubject,
|
|
7558
|
+
deliverPolicy: startSeq != null ? "byStartSequence" : "new",
|
|
7559
|
+
optStartSeq: startSeq,
|
|
7560
|
+
inactiveThresholdMs: _nullishCoalesce(inactiveThresholdRef.current, () => ( DEFAULT_INACTIVE_THRESHOLD_MS)),
|
|
7561
|
+
signal: abortController.signal
|
|
7562
|
+
}
|
|
7563
|
+
);
|
|
7564
|
+
if (cancelled) {
|
|
7565
|
+
try {
|
|
7566
|
+
handle.unsubscribe();
|
|
7567
|
+
} catch (e17) {
|
|
7568
|
+
}
|
|
7569
|
+
return;
|
|
7570
|
+
}
|
|
7571
|
+
subscriptionRef.current = handle;
|
|
7572
|
+
setIsSubscribed(true);
|
|
7573
|
+
_optionalChain([onSubscribedRef, 'access', _147 => _147.current, 'optionalCall', _148 => _148()]);
|
|
7574
|
+
} catch (e18) {
|
|
7575
|
+
if (!cancelled) {
|
|
7576
|
+
setIsSubscribed(false);
|
|
7577
|
+
}
|
|
7578
|
+
}
|
|
7579
|
+
})();
|
|
7580
|
+
return () => {
|
|
7581
|
+
cancelled = true;
|
|
7582
|
+
abortController.abort();
|
|
7583
|
+
if (subscriptionRef.current) {
|
|
7584
|
+
try {
|
|
7585
|
+
subscriptionRef.current.unsubscribe();
|
|
7586
|
+
} catch (e19) {
|
|
7587
|
+
}
|
|
7588
|
+
subscriptionRef.current = null;
|
|
7589
|
+
}
|
|
7590
|
+
setIsSubscribed(false);
|
|
7591
|
+
};
|
|
7592
|
+
}, [enabled, dialogId, isConnected, streamName, topic, reconnectionCount]);
|
|
7593
|
+
_react.useEffect.call(void 0, () => {
|
|
7594
|
+
highestStreamSeqRef.current = null;
|
|
7595
|
+
setCurrentStreamSeq(null);
|
|
7596
|
+
}, [dialogId]);
|
|
7597
|
+
return { isConnected, isSubscribed, reconnectionCount, currentStreamSeq };
|
|
7598
|
+
}
|
|
7599
|
+
|
|
7600
|
+
// src/components/chat/hooks/use-nats-dialog-subscription.ts
|
|
7601
|
+
|
|
7602
|
+
var shared2 = null;
|
|
7251
7603
|
function useNatsDialogSubscription({
|
|
7252
7604
|
enabled,
|
|
7253
7605
|
dialogId,
|
|
@@ -7296,16 +7648,16 @@ function useNatsDialogSubscription({
|
|
|
7296
7648
|
reconnectionBackoffRef.current = reconnectionBackoff;
|
|
7297
7649
|
}, [reconnectionBackoff]);
|
|
7298
7650
|
const acquireClient = _react.useCallback.call(void 0, (url) => {
|
|
7299
|
-
if (_optionalChain([
|
|
7300
|
-
if (
|
|
7301
|
-
|
|
7302
|
-
const old =
|
|
7303
|
-
|
|
7651
|
+
if (_optionalChain([shared2, 'optionalAccess', _149 => _149.wsUrl]) !== url) {
|
|
7652
|
+
if (shared2) {
|
|
7653
|
+
shared2.closeTimer && clearTimeout(shared2.closeTimer);
|
|
7654
|
+
const old = shared2;
|
|
7655
|
+
shared2 = null;
|
|
7304
7656
|
void old.client.close().catch(() => {
|
|
7305
7657
|
});
|
|
7306
7658
|
}
|
|
7307
7659
|
const { name = "openframe-frontend", user = "machine", pass = "" } = clientConfig;
|
|
7308
|
-
const client =
|
|
7660
|
+
const client = _chunkOII2IEREcjs.createNatsClient.call(void 0, {
|
|
7309
7661
|
servers: url,
|
|
7310
7662
|
name,
|
|
7311
7663
|
user,
|
|
@@ -7315,20 +7667,20 @@ function useNatsDialogSubscription({
|
|
|
7315
7667
|
pingIntervalMs: NETWORK_CONFIG.PING_INTERVAL_MS,
|
|
7316
7668
|
maxPingOut: NETWORK_CONFIG.MAX_PING_OUT
|
|
7317
7669
|
});
|
|
7318
|
-
|
|
7670
|
+
shared2 = { wsUrl: url, client, connectPromise: null, refCount: 0, closeTimer: null, retryTimer: null };
|
|
7319
7671
|
}
|
|
7320
|
-
|
|
7321
|
-
|
|
7322
|
-
|
|
7323
|
-
return
|
|
7672
|
+
shared2.refCount += 1;
|
|
7673
|
+
shared2.closeTimer && clearTimeout(shared2.closeTimer);
|
|
7674
|
+
shared2.closeTimer = null;
|
|
7675
|
+
return shared2;
|
|
7324
7676
|
}, [clientConfig]);
|
|
7325
7677
|
const releaseClient = _react.useCallback.call(void 0, (url) => {
|
|
7326
|
-
if (!
|
|
7327
|
-
|
|
7328
|
-
if (
|
|
7329
|
-
|
|
7330
|
-
const s =
|
|
7331
|
-
|
|
7678
|
+
if (!shared2 || shared2.wsUrl !== url) return;
|
|
7679
|
+
shared2.refCount = Math.max(0, shared2.refCount - 1);
|
|
7680
|
+
if (shared2.refCount > 0) return;
|
|
7681
|
+
shared2.closeTimer = setTimeout(() => {
|
|
7682
|
+
const s = shared2;
|
|
7683
|
+
shared2 = null;
|
|
7332
7684
|
if (s) {
|
|
7333
7685
|
if (s.retryTimer) {
|
|
7334
7686
|
clearTimeout(s.retryTimer);
|
|
@@ -7368,7 +7720,7 @@ function useNatsDialogSubscription({
|
|
|
7368
7720
|
let retryAttempt = 0;
|
|
7369
7721
|
function scheduleRetry() {
|
|
7370
7722
|
if (closed) return;
|
|
7371
|
-
if (
|
|
7723
|
+
if (shared2 !== sharedConn) return;
|
|
7372
7724
|
if (sharedConn.retryTimer) {
|
|
7373
7725
|
clearTimeout(sharedConn.retryTimer);
|
|
7374
7726
|
sharedConn.retryTimer = null;
|
|
@@ -7385,26 +7737,26 @@ function useNatsDialogSubscription({
|
|
|
7385
7737
|
sharedConn.retryTimer = setTimeout(async () => {
|
|
7386
7738
|
sharedConn.retryTimer = null;
|
|
7387
7739
|
if (closed) return;
|
|
7388
|
-
if (
|
|
7740
|
+
if (shared2 !== sharedConn) return;
|
|
7389
7741
|
try {
|
|
7390
|
-
await _optionalChain([onBeforeReconnectRef, 'access',
|
|
7391
|
-
} catch (
|
|
7742
|
+
await _optionalChain([onBeforeReconnectRef, 'access', _150 => _150.current, 'optionalCall', _151 => _151()]);
|
|
7743
|
+
} catch (e20) {
|
|
7392
7744
|
}
|
|
7393
7745
|
if (closed) return;
|
|
7394
|
-
if (
|
|
7746
|
+
if (shared2 !== sharedConn) return;
|
|
7395
7747
|
const freshUrl = getNatsWsUrlRef.current();
|
|
7396
7748
|
if (freshUrl !== wsUrl) return;
|
|
7397
7749
|
try {
|
|
7398
7750
|
sharedConn.connectPromise = null;
|
|
7399
7751
|
sharedConn.connectPromise = client.connect();
|
|
7400
7752
|
await sharedConn.connectPromise;
|
|
7401
|
-
if (!closed &&
|
|
7753
|
+
if (!closed && shared2 === sharedConn) {
|
|
7402
7754
|
retryAttempt = 0;
|
|
7403
7755
|
setIsConnected(true);
|
|
7404
7756
|
}
|
|
7405
|
-
} catch (
|
|
7757
|
+
} catch (e21) {
|
|
7406
7758
|
sharedConn.connectPromise = null;
|
|
7407
|
-
if (!closed &&
|
|
7759
|
+
if (!closed && shared2 === sharedConn) {
|
|
7408
7760
|
scheduleRetry();
|
|
7409
7761
|
}
|
|
7410
7762
|
}
|
|
@@ -7420,22 +7772,22 @@ function useNatsDialogSubscription({
|
|
|
7420
7772
|
}
|
|
7421
7773
|
hadConnectionBeforeRef.current = true;
|
|
7422
7774
|
retryAttempt = 0;
|
|
7423
|
-
_optionalChain([onConnectRef, 'access',
|
|
7775
|
+
_optionalChain([onConnectRef, 'access', _152 => _152.current, 'optionalCall', _153 => _153()]);
|
|
7424
7776
|
}
|
|
7425
7777
|
if (disconnected) {
|
|
7426
7778
|
setIsConnected(false);
|
|
7427
7779
|
setIsSubscribed(false);
|
|
7428
7780
|
subscriptionRefs.current.forEach((sub) => {
|
|
7429
7781
|
try {
|
|
7430
|
-
_optionalChain([sub, 'optionalAccess',
|
|
7431
|
-
} catch (
|
|
7782
|
+
_optionalChain([sub, 'optionalAccess', _154 => _154.unsubscribe, 'call', _155 => _155()]);
|
|
7783
|
+
} catch (e22) {
|
|
7432
7784
|
}
|
|
7433
7785
|
});
|
|
7434
7786
|
subscriptionRefs.current.clear();
|
|
7435
7787
|
lastSubscribedDialogIdRef.current = null;
|
|
7436
|
-
_optionalChain([abortControllerRef, 'access',
|
|
7788
|
+
_optionalChain([abortControllerRef, 'access', _156 => _156.current, 'optionalAccess', _157 => _157.abort, 'call', _158 => _158()]);
|
|
7437
7789
|
abortControllerRef.current = null;
|
|
7438
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
7790
|
+
_optionalChain([onDisconnectRef, 'access', _159 => _159.current, 'optionalCall', _160 => _160()]);
|
|
7439
7791
|
scheduleRetry();
|
|
7440
7792
|
}
|
|
7441
7793
|
});
|
|
@@ -7447,11 +7799,11 @@ function useNatsDialogSubscription({
|
|
|
7447
7799
|
setIsConnected(true);
|
|
7448
7800
|
hadConnectionBeforeRef.current = true;
|
|
7449
7801
|
}
|
|
7450
|
-
} catch (
|
|
7802
|
+
} catch (e23) {
|
|
7451
7803
|
sharedConn.connectPromise = null;
|
|
7452
7804
|
if (!closed) {
|
|
7453
7805
|
setIsConnected(false);
|
|
7454
|
-
_optionalChain([onDisconnectRef, 'access',
|
|
7806
|
+
_optionalChain([onDisconnectRef, 'access', _161 => _161.current, 'optionalCall', _162 => _162()]);
|
|
7455
7807
|
scheduleRetry();
|
|
7456
7808
|
}
|
|
7457
7809
|
}
|
|
@@ -7467,8 +7819,8 @@ function useNatsDialogSubscription({
|
|
|
7467
7819
|
}
|
|
7468
7820
|
subscriptionRefs.current.forEach((sub) => {
|
|
7469
7821
|
try {
|
|
7470
|
-
_optionalChain([sub, 'optionalAccess',
|
|
7471
|
-
} catch (
|
|
7822
|
+
_optionalChain([sub, 'optionalAccess', _163 => _163.unsubscribe, 'call', _164 => _164()]);
|
|
7823
|
+
} catch (e24) {
|
|
7472
7824
|
}
|
|
7473
7825
|
});
|
|
7474
7826
|
subscriptionRefs.current.clear();
|
|
@@ -7495,13 +7847,13 @@ function useNatsDialogSubscription({
|
|
|
7495
7847
|
setIsSubscribed(false);
|
|
7496
7848
|
subscriptionRefs.current.forEach((sub) => {
|
|
7497
7849
|
try {
|
|
7498
|
-
_optionalChain([sub, 'optionalAccess',
|
|
7499
|
-
} catch (
|
|
7850
|
+
_optionalChain([sub, 'optionalAccess', _165 => _165.unsubscribe, 'call', _166 => _166()]);
|
|
7851
|
+
} catch (e25) {
|
|
7500
7852
|
}
|
|
7501
7853
|
});
|
|
7502
7854
|
subscriptionRefs.current.clear();
|
|
7503
7855
|
lastSubscribedDialogIdRef.current = null;
|
|
7504
|
-
_optionalChain([abortControllerRef, 'access',
|
|
7856
|
+
_optionalChain([abortControllerRef, 'access', _167 => _167.current, 'optionalAccess', _168 => _168.abort, 'call', _169 => _169()]);
|
|
7505
7857
|
abortControllerRef.current = null;
|
|
7506
7858
|
}
|
|
7507
7859
|
return;
|
|
@@ -7513,12 +7865,12 @@ function useNatsDialogSubscription({
|
|
|
7513
7865
|
if (subscriptionRefs.current.size > 0) {
|
|
7514
7866
|
subscriptionRefs.current.forEach((sub) => {
|
|
7515
7867
|
try {
|
|
7516
|
-
_optionalChain([sub, 'optionalAccess',
|
|
7517
|
-
} catch (
|
|
7868
|
+
_optionalChain([sub, 'optionalAccess', _170 => _170.unsubscribe, 'call', _171 => _171()]);
|
|
7869
|
+
} catch (e26) {
|
|
7518
7870
|
}
|
|
7519
7871
|
});
|
|
7520
7872
|
subscriptionRefs.current.clear();
|
|
7521
|
-
_optionalChain([abortControllerRef, 'access',
|
|
7873
|
+
_optionalChain([abortControllerRef, 'access', _172 => _172.current, 'optionalAccess', _173 => _173.abort, 'call', _174 => _174()]);
|
|
7522
7874
|
}
|
|
7523
7875
|
abortControllerRef.current = new AbortController();
|
|
7524
7876
|
const abort = abortControllerRef.current;
|
|
@@ -7537,7 +7889,7 @@ function useNatsDialogSubscription({
|
|
|
7537
7889
|
const dataStr = decoder.decode(msg.data);
|
|
7538
7890
|
const parsed = JSON.parse(dataStr);
|
|
7539
7891
|
onEventRef.current(parsed, messageType);
|
|
7540
|
-
} catch (
|
|
7892
|
+
} catch (e27) {
|
|
7541
7893
|
}
|
|
7542
7894
|
};
|
|
7543
7895
|
topics.forEach((topic) => {
|
|
@@ -7550,7 +7902,7 @@ function useNatsDialogSubscription({
|
|
|
7550
7902
|
});
|
|
7551
7903
|
lastSubscribedDialogIdRef.current = dialogId;
|
|
7552
7904
|
setIsSubscribed(true);
|
|
7553
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
7905
|
+
_optionalChain([onSubscribedRef, 'access', _175 => _175.current, 'optionalCall', _176 => _176()]);
|
|
7554
7906
|
};
|
|
7555
7907
|
if (isConnectedRef.current) {
|
|
7556
7908
|
createSubscriptions();
|
|
@@ -7560,8 +7912,8 @@ function useNatsDialogSubscription({
|
|
|
7560
7912
|
abort.abort();
|
|
7561
7913
|
subscriptionRefs.current.forEach((sub) => {
|
|
7562
7914
|
try {
|
|
7563
|
-
_optionalChain([sub, 'optionalAccess',
|
|
7564
|
-
} catch (
|
|
7915
|
+
_optionalChain([sub, 'optionalAccess', _177 => _177.unsubscribe, 'call', _178 => _178()]);
|
|
7916
|
+
} catch (e28) {
|
|
7565
7917
|
}
|
|
7566
7918
|
});
|
|
7567
7919
|
subscriptionRefs.current.clear();
|
|
@@ -7588,7 +7940,7 @@ function useNatsDialogSubscription({
|
|
|
7588
7940
|
const dataStr = decoder.decode(msg.data);
|
|
7589
7941
|
const parsed = JSON.parse(dataStr);
|
|
7590
7942
|
onEventRef.current(parsed, messageType);
|
|
7591
|
-
} catch (
|
|
7943
|
+
} catch (e29) {
|
|
7592
7944
|
}
|
|
7593
7945
|
};
|
|
7594
7946
|
topics.forEach((topic) => {
|
|
@@ -7601,7 +7953,7 @@ function useNatsDialogSubscription({
|
|
|
7601
7953
|
});
|
|
7602
7954
|
lastSubscribedDialogIdRef.current = dialogId2;
|
|
7603
7955
|
setIsSubscribed(true);
|
|
7604
|
-
_optionalChain([onSubscribedRef, 'access',
|
|
7956
|
+
_optionalChain([onSubscribedRef, 'access', _179 => _179.current, 'optionalCall', _180 => _180()]);
|
|
7605
7957
|
} else if (subscriptionRefs.current.size > 0) {
|
|
7606
7958
|
setIsSubscribed(true);
|
|
7607
7959
|
}
|
|
@@ -7609,10 +7961,10 @@ function useNatsDialogSubscription({
|
|
|
7609
7961
|
return { isConnected, isSubscribed, reconnectionCount };
|
|
7610
7962
|
}
|
|
7611
7963
|
function buildNatsWsUrl(apiBaseUrl, options) {
|
|
7612
|
-
const path = _optionalChain([options, 'optionalAccess',
|
|
7964
|
+
const path = _optionalChain([options, 'optionalAccess', _181 => _181.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
|
|
7613
7965
|
const u = new URL(path, apiBaseUrl);
|
|
7614
7966
|
u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
|
|
7615
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
7967
|
+
if (_optionalChain([options, 'optionalAccess', _182 => _182.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _183 => _183.token])) {
|
|
7616
7968
|
u.searchParams.set("authorization", options.token);
|
|
7617
7969
|
}
|
|
7618
7970
|
return u.toString();
|
|
@@ -7928,8 +8280,8 @@ var MessageSegmentAccumulator = class {
|
|
|
7928
8280
|
type: "tool_execution",
|
|
7929
8281
|
data: {
|
|
7930
8282
|
...toolData,
|
|
7931
|
-
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess',
|
|
7932
|
-
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess',
|
|
8283
|
+
toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _184 => _184.data, 'access', _185 => _185.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _186 => _186.toolTitle]))),
|
|
8284
|
+
parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _187 => _187.parameters])
|
|
7933
8285
|
}
|
|
7934
8286
|
};
|
|
7935
8287
|
if (existingIndex !== -1) {
|
|
@@ -7953,8 +8305,8 @@ var MessageSegmentAccumulator = class {
|
|
|
7953
8305
|
if (seg.type !== "approval_batch") return seg;
|
|
7954
8306
|
const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
|
|
7955
8307
|
if (!hasCall) return seg;
|
|
7956
|
-
const prev = _optionalChain([seg, 'access',
|
|
7957
|
-
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess',
|
|
8308
|
+
const prev = _optionalChain([seg, 'access', _188 => _188.data, 'access', _189 => _189.executions, 'optionalAccess', _190 => _190[execId]]);
|
|
8309
|
+
const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _191 => _191.result]), success: _optionalChain([prev, 'optionalAccess', _192 => _192.success]) };
|
|
7958
8310
|
matched = true;
|
|
7959
8311
|
return {
|
|
7960
8312
|
...seg,
|
|
@@ -8074,10 +8426,10 @@ var MessageSegmentAccumulator = class {
|
|
|
8074
8426
|
const segment = {
|
|
8075
8427
|
type: "approval_request",
|
|
8076
8428
|
data: {
|
|
8077
|
-
command: _optionalChain([pendingApproval, 'optionalAccess',
|
|
8078
|
-
explanation: _optionalChain([pendingApproval, 'optionalAccess',
|
|
8429
|
+
command: _optionalChain([pendingApproval, 'optionalAccess', _193 => _193.command]) || "",
|
|
8430
|
+
explanation: _optionalChain([pendingApproval, 'optionalAccess', _194 => _194.explanation]),
|
|
8079
8431
|
requestId,
|
|
8080
|
-
approvalType: _optionalChain([pendingApproval, 'optionalAccess',
|
|
8432
|
+
approvalType: _optionalChain([pendingApproval, 'optionalAccess', _195 => _195.approvalType]) || approvalType
|
|
8081
8433
|
},
|
|
8082
8434
|
status,
|
|
8083
8435
|
onApprove: this.callbacks.onApprove,
|
|
@@ -8265,7 +8617,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8265
8617
|
if (initialState.escalatedApprovals) {
|
|
8266
8618
|
pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
|
|
8267
8619
|
initialState.escalatedApprovals.forEach((data, requestId) => {
|
|
8268
|
-
_optionalChain([callbacks, 'access',
|
|
8620
|
+
_optionalChain([callbacks, 'access', _196 => _196.onEscalatedApproval, 'optionalCall', _197 => _197(requestId, data)]);
|
|
8269
8621
|
});
|
|
8270
8622
|
}
|
|
8271
8623
|
hasInitializedWithData.current = true;
|
|
@@ -8284,30 +8636,30 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8284
8636
|
switch (action.action) {
|
|
8285
8637
|
case "message_start":
|
|
8286
8638
|
isInStreamRef.current = true;
|
|
8287
|
-
_optionalChain([callbacks, 'access',
|
|
8639
|
+
_optionalChain([callbacks, 'access', _198 => _198.onStreamStart, 'optionalCall', _199 => _199()]);
|
|
8288
8640
|
accumulator.resetSegments();
|
|
8289
8641
|
break;
|
|
8290
8642
|
case "message_end":
|
|
8291
8643
|
isInStreamRef.current = false;
|
|
8292
|
-
_optionalChain([callbacks, 'access',
|
|
8644
|
+
_optionalChain([callbacks, 'access', _200 => _200.onStreamEnd, 'optionalCall', _201 => _201()]);
|
|
8293
8645
|
accumulator.resetSegments();
|
|
8294
8646
|
break;
|
|
8295
8647
|
case "metadata":
|
|
8296
|
-
_optionalChain([callbacks, 'access',
|
|
8648
|
+
_optionalChain([callbacks, 'access', _202 => _202.onMetadata, 'optionalCall', _203 => _203(action)]);
|
|
8297
8649
|
break;
|
|
8298
8650
|
case "text": {
|
|
8299
8651
|
const segments = accumulator.appendText(action.text);
|
|
8300
|
-
_optionalChain([callbacks, 'access',
|
|
8652
|
+
_optionalChain([callbacks, 'access', _204 => _204.onSegmentsUpdate, 'optionalCall', _205 => _205(segments)]);
|
|
8301
8653
|
break;
|
|
8302
8654
|
}
|
|
8303
8655
|
case "thinking": {
|
|
8304
8656
|
const segments = accumulator.appendThinking(action.text);
|
|
8305
|
-
_optionalChain([callbacks, 'access',
|
|
8657
|
+
_optionalChain([callbacks, 'access', _206 => _206.onSegmentsUpdate, 'optionalCall', _207 => _207(segments)]);
|
|
8306
8658
|
break;
|
|
8307
8659
|
}
|
|
8308
8660
|
case "tool_execution": {
|
|
8309
8661
|
const segments = accumulator.addToolExecution(action.segment);
|
|
8310
|
-
_optionalChain([callbacks, 'access',
|
|
8662
|
+
_optionalChain([callbacks, 'access', _208 => _208.onSegmentsUpdate, 'optionalCall', _209 => _209(segments)]);
|
|
8311
8663
|
break;
|
|
8312
8664
|
}
|
|
8313
8665
|
case "approval_request": {
|
|
@@ -8321,10 +8673,10 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8321
8673
|
approvalType,
|
|
8322
8674
|
status
|
|
8323
8675
|
);
|
|
8324
|
-
_optionalChain([callbacks, 'access',
|
|
8676
|
+
_optionalChain([callbacks, 'access', _210 => _210.onSegmentsUpdate, 'optionalCall', _211 => _211(segments)]);
|
|
8325
8677
|
} else {
|
|
8326
8678
|
pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
|
|
8327
|
-
_optionalChain([callbacks, 'access',
|
|
8679
|
+
_optionalChain([callbacks, 'access', _212 => _212.onEscalatedApproval, 'optionalCall', _213 => _213(requestId, { command, explanation, approvalType })]);
|
|
8328
8680
|
}
|
|
8329
8681
|
break;
|
|
8330
8682
|
}
|
|
@@ -8336,20 +8688,20 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8336
8688
|
const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
|
|
8337
8689
|
pendingEscalatedRef.current.set(requestId, {
|
|
8338
8690
|
command: summary,
|
|
8339
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
8691
|
+
explanation: _optionalChain([required, 'optionalAccess', _214 => _214.toolExplanation]),
|
|
8340
8692
|
approvalType,
|
|
8341
8693
|
toolCalls
|
|
8342
8694
|
});
|
|
8343
|
-
_optionalChain([callbacks, 'access',
|
|
8695
|
+
_optionalChain([callbacks, 'access', _215 => _215.onEscalatedApproval, 'optionalCall', _216 => _216(requestId, {
|
|
8344
8696
|
command: summary,
|
|
8345
|
-
explanation: _optionalChain([required, 'optionalAccess',
|
|
8697
|
+
explanation: _optionalChain([required, 'optionalAccess', _217 => _217.toolExplanation]),
|
|
8346
8698
|
approvalType
|
|
8347
8699
|
})]);
|
|
8348
8700
|
break;
|
|
8349
8701
|
}
|
|
8350
8702
|
if (batchApprovalsEnabled) {
|
|
8351
8703
|
const segments2 = accumulator.addApprovalBatch(requestId, approvalType, toolCalls, status);
|
|
8352
|
-
_optionalChain([callbacks, 'access',
|
|
8704
|
+
_optionalChain([callbacks, 'access', _218 => _218.onSegmentsUpdate, 'optionalCall', _219 => _219(segments2)]);
|
|
8353
8705
|
break;
|
|
8354
8706
|
}
|
|
8355
8707
|
let segments = accumulator.getSegments();
|
|
@@ -8363,7 +8715,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8363
8715
|
status
|
|
8364
8716
|
);
|
|
8365
8717
|
}
|
|
8366
|
-
_optionalChain([callbacks, 'access',
|
|
8718
|
+
_optionalChain([callbacks, 'access', _220 => _220.onSegmentsUpdate, 'optionalCall', _221 => _221(segments)]);
|
|
8367
8719
|
break;
|
|
8368
8720
|
}
|
|
8369
8721
|
case "approval_result": {
|
|
@@ -8372,7 +8724,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8372
8724
|
const status = approved ? "approved" : "rejected";
|
|
8373
8725
|
if (escalatedData) {
|
|
8374
8726
|
pendingEscalatedRef.current.delete(requestId);
|
|
8375
|
-
_optionalChain([callbacks, 'access',
|
|
8727
|
+
_optionalChain([callbacks, 'access', _222 => _222.onEscalatedApprovalResult, 'optionalCall', _223 => _223(requestId, approved, {
|
|
8376
8728
|
command: escalatedData.command,
|
|
8377
8729
|
explanation: escalatedData.explanation,
|
|
8378
8730
|
approvalType: escalatedData.approvalType
|
|
@@ -8385,7 +8737,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8385
8737
|
escalatedData.toolCalls,
|
|
8386
8738
|
status
|
|
8387
8739
|
);
|
|
8388
|
-
_optionalChain([callbacks, 'access',
|
|
8740
|
+
_optionalChain([callbacks, 'access', _224 => _224.onSegmentsUpdate, 'optionalCall', _225 => _225(segments)]);
|
|
8389
8741
|
} else {
|
|
8390
8742
|
let segments = accumulator.getSegments();
|
|
8391
8743
|
for (const call of escalatedData.toolCalls) {
|
|
@@ -8398,7 +8750,7 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8398
8750
|
status
|
|
8399
8751
|
);
|
|
8400
8752
|
}
|
|
8401
|
-
_optionalChain([callbacks, 'access',
|
|
8753
|
+
_optionalChain([callbacks, 'access', _226 => _226.onSegmentsUpdate, 'optionalCall', _227 => _227(segments)]);
|
|
8402
8754
|
}
|
|
8403
8755
|
} else {
|
|
8404
8756
|
const segments = accumulator.addApprovalRequest(
|
|
@@ -8408,63 +8760,63 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8408
8760
|
escalatedData.approvalType,
|
|
8409
8761
|
status
|
|
8410
8762
|
);
|
|
8411
|
-
_optionalChain([callbacks, 'access',
|
|
8763
|
+
_optionalChain([callbacks, 'access', _228 => _228.onSegmentsUpdate, 'optionalCall', _229 => _229(segments)]);
|
|
8412
8764
|
}
|
|
8413
8765
|
} else {
|
|
8414
8766
|
const segments = accumulator.updateApprovalStatus(requestId, status);
|
|
8415
|
-
_optionalChain([callbacks, 'access',
|
|
8767
|
+
_optionalChain([callbacks, 'access', _230 => _230.onSegmentsUpdate, 'optionalCall', _231 => _231(segments)]);
|
|
8416
8768
|
}
|
|
8417
8769
|
void approvalType;
|
|
8418
8770
|
break;
|
|
8419
8771
|
}
|
|
8420
8772
|
case "error": {
|
|
8421
8773
|
let message;
|
|
8422
|
-
if ("details" in action && _optionalChain([action, 'optionalAccess',
|
|
8774
|
+
if ("details" in action && _optionalChain([action, 'optionalAccess', _232 => _232.details])) {
|
|
8423
8775
|
try {
|
|
8424
|
-
message = _optionalChain([JSON, 'access',
|
|
8425
|
-
} catch (
|
|
8776
|
+
message = _optionalChain([JSON, 'access', _233 => _233.parse, 'call', _234 => _234(action.details), 'optionalAccess', _235 => _235.error, 'optionalAccess', _236 => _236.message]);
|
|
8777
|
+
} catch (e30) {
|
|
8426
8778
|
message = action.details;
|
|
8427
8779
|
}
|
|
8428
8780
|
}
|
|
8429
8781
|
const segments = accumulator.addError(action.error, message);
|
|
8430
|
-
_optionalChain([callbacks, 'access',
|
|
8431
|
-
_optionalChain([callbacks, 'access',
|
|
8782
|
+
_optionalChain([callbacks, 'access', _237 => _237.onSegmentsUpdate, 'optionalCall', _238 => _238(segments)]);
|
|
8783
|
+
_optionalChain([callbacks, 'access', _239 => _239.onError, 'optionalCall', _240 => _240(action.error, message)]);
|
|
8432
8784
|
break;
|
|
8433
8785
|
}
|
|
8434
8786
|
case "system": {
|
|
8435
|
-
_optionalChain([callbacks, 'access',
|
|
8787
|
+
_optionalChain([callbacks, 'access', _241 => _241.onSystemMessage, 'optionalCall', _242 => _242(action.text)]);
|
|
8436
8788
|
break;
|
|
8437
8789
|
}
|
|
8438
8790
|
case "direct_message": {
|
|
8439
|
-
_optionalChain([callbacks, 'access',
|
|
8791
|
+
_optionalChain([callbacks, 'access', _243 => _243.onDirectMessage, 'optionalCall', _244 => _244(action.text, {
|
|
8440
8792
|
ownerType: action.ownerType,
|
|
8441
8793
|
displayName: action.displayName
|
|
8442
8794
|
})]);
|
|
8443
8795
|
break;
|
|
8444
8796
|
}
|
|
8445
8797
|
case "message_request":
|
|
8446
|
-
_optionalChain([callbacks, 'access',
|
|
8798
|
+
_optionalChain([callbacks, 'access', _245 => _245.onUserMessage, 'optionalCall', _246 => _246(action.text, {
|
|
8447
8799
|
ownerType: action.ownerType,
|
|
8448
8800
|
displayName: action.displayName
|
|
8449
8801
|
})]);
|
|
8450
8802
|
break;
|
|
8451
8803
|
case "token_usage":
|
|
8452
|
-
_optionalChain([callbacks, 'access',
|
|
8804
|
+
_optionalChain([callbacks, 'access', _247 => _247.onTokenUsage, 'optionalCall', _248 => _248(action.data)]);
|
|
8453
8805
|
break;
|
|
8454
8806
|
case "context_compaction_start": {
|
|
8455
8807
|
const standalone = !isInStreamRef.current;
|
|
8456
8808
|
const segments = accumulator.addContextCompaction();
|
|
8457
|
-
_optionalChain([callbacks, 'access',
|
|
8809
|
+
_optionalChain([callbacks, 'access', _249 => _249.onSegmentsUpdate, 'optionalCall', _250 => _250(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
|
|
8458
8810
|
break;
|
|
8459
8811
|
}
|
|
8460
8812
|
case "context_compaction_end": {
|
|
8461
8813
|
const standalone = !isInStreamRef.current;
|
|
8462
8814
|
const segments = accumulator.completeContextCompaction(action.summary);
|
|
8463
|
-
_optionalChain([callbacks, 'access',
|
|
8815
|
+
_optionalChain([callbacks, 'access', _251 => _251.onSegmentsUpdate, 'optionalCall', _252 => _252(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
|
|
8464
8816
|
break;
|
|
8465
8817
|
}
|
|
8466
8818
|
case "dialog_closed":
|
|
8467
|
-
_optionalChain([callbacks, 'access',
|
|
8819
|
+
_optionalChain([callbacks, 'access', _253 => _253.onDialogClosed, 'optionalCall', _254 => _254()]);
|
|
8468
8820
|
break;
|
|
8469
8821
|
default:
|
|
8470
8822
|
break;
|
|
@@ -8500,12 +8852,12 @@ function useRealtimeChunkProcessor(options) {
|
|
|
8500
8852
|
|
|
8501
8853
|
// src/components/chat/utils/process-historical-messages.ts
|
|
8502
8854
|
function getOwnerDisplayName(owner) {
|
|
8503
|
-
if (_optionalChain([owner, 'optionalAccess',
|
|
8855
|
+
if (_optionalChain([owner, 'optionalAccess', _255 => _255.type]) === OWNER_TYPE.ADMIN && owner.user) {
|
|
8504
8856
|
const { firstName, lastName } = owner.user;
|
|
8505
8857
|
const name = [firstName, lastName].filter(Boolean).join(" ");
|
|
8506
8858
|
if (name) return name;
|
|
8507
8859
|
}
|
|
8508
|
-
return _optionalChain([owner, 'optionalAccess',
|
|
8860
|
+
return _optionalChain([owner, 'optionalAccess', _256 => _256.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
|
|
8509
8861
|
}
|
|
8510
8862
|
function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
|
|
8511
8863
|
messageDataArray.forEach((data) => {
|
|
@@ -8568,10 +8920,10 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
8568
8920
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
8569
8921
|
return;
|
|
8570
8922
|
}
|
|
8571
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
8923
|
+
const isUserMessage = _optionalChain([msg, 'access', _257 => _257.owner, 'optionalAccess', _258 => _258.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _259 => _259.owner, 'optionalAccess', _260 => _260.type]) === OWNER_TYPE.ADMIN;
|
|
8572
8924
|
if (isUserMessage) {
|
|
8573
8925
|
flushAssistantMessage();
|
|
8574
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
8926
|
+
const userAuthorType = _optionalChain([msg, 'access', _261 => _261.owner, 'optionalAccess', _262 => _262.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
8575
8927
|
messageDataArray.forEach((data) => {
|
|
8576
8928
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
8577
8929
|
processedMessages.push({
|
|
@@ -8595,7 +8947,7 @@ function processHistoricalMessages(messages, options = {}) {
|
|
|
8595
8947
|
});
|
|
8596
8948
|
const nextMsg = messages[index + 1];
|
|
8597
8949
|
const isLastMessage = index === messages.length - 1;
|
|
8598
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
8950
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _263 => _263.owner, 'optionalAccess', _264 => _264.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _265 => _265.owner, 'optionalAccess', _266 => _266.type]) === OWNER_TYPE.ADMIN);
|
|
8599
8951
|
if (isLastMessage || nextIsFromUser) {
|
|
8600
8952
|
flushAssistantMessage();
|
|
8601
8953
|
}
|
|
@@ -8705,7 +9057,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
8705
9057
|
}
|
|
8706
9058
|
}
|
|
8707
9059
|
} else {
|
|
8708
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
9060
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _267 => _267.set, 'call', _268 => _268(data.approvalRequestId, {
|
|
8709
9061
|
command: data.command || "",
|
|
8710
9062
|
explanation: data.explanation,
|
|
8711
9063
|
approvalType,
|
|
@@ -8718,8 +9070,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
8718
9070
|
if ("approvalRequestId" in data && data.approvalRequestId) {
|
|
8719
9071
|
const existingStatus = approvalStatuses[data.approvalRequestId];
|
|
8720
9072
|
const status = existingStatus || (data.approved ? "approved" : "rejected");
|
|
8721
|
-
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess',
|
|
8722
|
-
if (_optionalChain([escalatedData, 'optionalAccess',
|
|
9073
|
+
const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _269 => _269.get, 'call', _270 => _270(data.approvalRequestId)]);
|
|
9074
|
+
if (_optionalChain([escalatedData, 'optionalAccess', _271 => _271.toolCalls]) && escalatedData.toolCalls.length > 0) {
|
|
8723
9075
|
if (batchApprovalsEnabled) {
|
|
8724
9076
|
accumulator.addApprovalBatch(
|
|
8725
9077
|
data.approvalRequestId,
|
|
@@ -8739,7 +9091,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
8739
9091
|
);
|
|
8740
9092
|
}
|
|
8741
9093
|
}
|
|
8742
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
9094
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _272 => _272.delete, 'call', _273 => _273(data.approvalRequestId)]);
|
|
8743
9095
|
break;
|
|
8744
9096
|
}
|
|
8745
9097
|
if (escalatedData) {
|
|
@@ -8748,7 +9100,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
8748
9100
|
explanation: escalatedData.explanation,
|
|
8749
9101
|
approvalType: escalatedData.approvalType
|
|
8750
9102
|
});
|
|
8751
|
-
_optionalChain([escalatedApprovals, 'optionalAccess',
|
|
9103
|
+
_optionalChain([escalatedApprovals, 'optionalAccess', _274 => _274.delete, 'call', _275 => _275(data.approvalRequestId)]);
|
|
8752
9104
|
}
|
|
8753
9105
|
const before = accumulator.getSegments();
|
|
8754
9106
|
const after = accumulator.updateApprovalStatus(data.approvalRequestId, status);
|
|
@@ -8764,10 +9116,10 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
|
|
|
8764
9116
|
case MESSAGE_TYPE.ERROR:
|
|
8765
9117
|
if ("error" in data) {
|
|
8766
9118
|
let message;
|
|
8767
|
-
if ("details" in data && _optionalChain([data, 'optionalAccess',
|
|
9119
|
+
if ("details" in data && _optionalChain([data, 'optionalAccess', _276 => _276.details])) {
|
|
8768
9120
|
try {
|
|
8769
|
-
message = _optionalChain([JSON, 'access',
|
|
8770
|
-
} catch (
|
|
9121
|
+
message = _optionalChain([JSON, 'access', _277 => _277.parse, 'call', _278 => _278(data.details), 'optionalAccess', _279 => _279.error, 'optionalAccess', _280 => _280.message]);
|
|
9122
|
+
} catch (e31) {
|
|
8771
9123
|
message = data.details;
|
|
8772
9124
|
}
|
|
8773
9125
|
}
|
|
@@ -8849,10 +9201,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
8849
9201
|
pushStandaloneMessages(processedMessages, msg, messageDataArray);
|
|
8850
9202
|
return;
|
|
8851
9203
|
}
|
|
8852
|
-
const isUserMessage = _optionalChain([msg, 'access',
|
|
9204
|
+
const isUserMessage = _optionalChain([msg, 'access', _281 => _281.owner, 'optionalAccess', _282 => _282.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _283 => _283.owner, 'optionalAccess', _284 => _284.type]) === OWNER_TYPE.ADMIN;
|
|
8853
9205
|
if (isUserMessage) {
|
|
8854
9206
|
flushAssistantMessage();
|
|
8855
|
-
const userAuthorType = _optionalChain([msg, 'access',
|
|
9207
|
+
const userAuthorType = _optionalChain([msg, 'access', _285 => _285.owner, 'optionalAccess', _286 => _286.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
|
|
8856
9208
|
messageDataArray.forEach((data) => {
|
|
8857
9209
|
if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
|
|
8858
9210
|
processedMessages.push({
|
|
@@ -8876,7 +9228,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
|
|
|
8876
9228
|
});
|
|
8877
9229
|
const nextMsg = messages[index + 1];
|
|
8878
9230
|
const isLastMessage = index === messages.length - 1;
|
|
8879
|
-
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access',
|
|
9231
|
+
const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _287 => _287.owner, 'optionalAccess', _288 => _288.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _289 => _289.owner, 'optionalAccess', _290 => _290.type]) === OWNER_TYPE.ADMIN);
|
|
8880
9232
|
if (isLastMessage || nextIsFromUser) {
|
|
8881
9233
|
flushAssistantMessage();
|
|
8882
9234
|
}
|
|
@@ -8936,7 +9288,7 @@ function extractIncompleteMessageState(lastMessage) {
|
|
|
8936
9288
|
break;
|
|
8937
9289
|
case "approval_batch": {
|
|
8938
9290
|
const allDone = !!segment.data.executions && segment.data.toolCalls.every(
|
|
8939
|
-
(c) => _optionalChain([segment, 'access',
|
|
9291
|
+
(c) => _optionalChain([segment, 'access', _291 => _291.data, 'access', _292 => _292.executions, 'optionalAccess', _293 => _293[c.toolExecutionRequestId], 'optionalAccess', _294 => _294.status]) === "done"
|
|
8940
9292
|
);
|
|
8941
9293
|
if (segment.status !== "rejected" && !allDone) {
|
|
8942
9294
|
hasIncompleteState = true;
|
|
@@ -9098,7 +9450,7 @@ function Header({ config, platform }) {
|
|
|
9098
9450
|
className: _chunkUC43NICZcjs.cn.call(void 0,
|
|
9099
9451
|
"flex justify-start w-full",
|
|
9100
9452
|
"font-bold text-[16px] leading-none tracking-[-0.32px]",
|
|
9101
|
-
index < (_nullishCoalesce(_optionalChain([item, 'access',
|
|
9453
|
+
index < (_nullishCoalesce(_optionalChain([item, 'access', _295 => _295.children, 'optionalAccess', _296 => _296.length]), () => ( 0))) - 1 && "mb-1",
|
|
9102
9454
|
"text-ods-text-primary",
|
|
9103
9455
|
// All dropdown items use primary text color
|
|
9104
9456
|
child.isActive && "bg-ods-bg-hover"
|
|
@@ -9190,7 +9542,7 @@ function Header({ config, platform }) {
|
|
|
9190
9542
|
style: config.style,
|
|
9191
9543
|
children: [
|
|
9192
9544
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
9193
|
-
_optionalChain([config, 'access',
|
|
9545
|
+
_optionalChain([config, 'access', _297 => _297.actions, 'optionalAccess', _298 => _298.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
|
|
9194
9546
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: config.logo.href, className: "transition-opacity duration-200 hover:opacity-80", children: config.logo.element })
|
|
9195
9547
|
] }),
|
|
9196
9548
|
config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -9207,7 +9559,7 @@ function Header({ config, platform }) {
|
|
|
9207
9559
|
}
|
|
9208
9560
|
),
|
|
9209
9561
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
|
|
9210
|
-
_optionalChain([config, 'access',
|
|
9562
|
+
_optionalChain([config, 'access', _299 => _299.actions, 'optionalAccess', _300 => _300.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
|
|
9211
9563
|
config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
9212
9564
|
_chunkV2FNIPZJcjs.Button,
|
|
9213
9565
|
{
|
|
@@ -9215,10 +9567,10 @@ function Header({ config, platform }) {
|
|
|
9215
9567
|
size: "icon",
|
|
9216
9568
|
className: "flex md:hidden",
|
|
9217
9569
|
onClick: () => {
|
|
9218
|
-
_optionalChain([config, 'access',
|
|
9570
|
+
_optionalChain([config, 'access', _301 => _301.mobile, 'optionalAccess', _302 => _302.onToggle, 'optionalCall', _303 => _303()]);
|
|
9219
9571
|
},
|
|
9220
|
-
"aria-label": _optionalChain([config, 'access',
|
|
9221
|
-
leftIcon: _optionalChain([config, 'access',
|
|
9572
|
+
"aria-label": _optionalChain([config, 'access', _304 => _304.mobile, 'optionalAccess', _305 => _305.isOpen]) ? "Close menu" : "Open menu",
|
|
9573
|
+
leftIcon: _optionalChain([config, 'access', _306 => _306.mobile, 'optionalAccess', _307 => _307.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Menu01Icon, {})
|
|
9222
9574
|
}
|
|
9223
9575
|
)
|
|
9224
9576
|
] })
|
|
@@ -9235,10 +9587,10 @@ function Header({ config, platform }) {
|
|
|
9235
9587
|
// src/components/navigation/header-skeleton.tsx
|
|
9236
9588
|
|
|
9237
9589
|
function HeaderSkeleton({ config }) {
|
|
9238
|
-
const showNavigation = _optionalChain([config, 'optionalAccess',
|
|
9239
|
-
const showActions = _optionalChain([config, 'optionalAccess',
|
|
9240
|
-
const showMobileMenu = _optionalChain([config, 'optionalAccess',
|
|
9241
|
-
const isAdminHeader = _optionalChain([config, 'optionalAccess',
|
|
9590
|
+
const showNavigation = _optionalChain([config, 'optionalAccess', _308 => _308.navigation]) && config.navigation.items.length > 0;
|
|
9591
|
+
const showActions = _optionalChain([config, 'optionalAccess', _309 => _309.actions, 'optionalAccess', _310 => _310.right]) && config.actions.right.length > 0;
|
|
9592
|
+
const showMobileMenu = _optionalChain([config, 'optionalAccess', _311 => _311.mobile, 'optionalAccess', _312 => _312.enabled]);
|
|
9593
|
+
const isAdminHeader = _optionalChain([config, 'optionalAccess', _313 => _313.className, 'optionalAccess', _314 => _314.includes, 'call', _315 => _315("admin")]);
|
|
9242
9594
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
9243
9595
|
"header",
|
|
9244
9596
|
{
|
|
@@ -9247,11 +9599,11 @@ function HeaderSkeleton({ config }) {
|
|
|
9247
9599
|
"bg-ods-card border-b border-ods-border backdrop-blur-sm",
|
|
9248
9600
|
"px-6 py-3",
|
|
9249
9601
|
"transition-opacity duration-300 ease-in-out",
|
|
9250
|
-
_optionalChain([config, 'optionalAccess',
|
|
9602
|
+
_optionalChain([config, 'optionalAccess', _316 => _316.className])
|
|
9251
9603
|
),
|
|
9252
9604
|
children: [
|
|
9253
9605
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
|
|
9254
|
-
isAdminHeader && _optionalChain([config, 'optionalAccess',
|
|
9606
|
+
isAdminHeader && _optionalChain([config, 'optionalAccess', _317 => _317.actions, 'optionalAccess', _318 => _318.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mr-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-10 bg-ods-border rounded animate-pulse" }) }),
|
|
9255
9607
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
9256
9608
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
|
|
9257
9609
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
|
|
@@ -9259,8 +9611,8 @@ function HeaderSkeleton({ config }) {
|
|
|
9259
9611
|
] }),
|
|
9260
9612
|
showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkUC43NICZcjs.cn.call(void 0,
|
|
9261
9613
|
"hidden md:flex items-center gap-2",
|
|
9262
|
-
_optionalChain([config, 'optionalAccess',
|
|
9263
|
-
_optionalChain([config, 'optionalAccess',
|
|
9614
|
+
_optionalChain([config, 'optionalAccess', _319 => _319.navigation, 'optionalAccess', _320 => _320.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
|
|
9615
|
+
_optionalChain([config, 'optionalAccess', _321 => _321.navigation, 'optionalAccess', _322 => _322.position]) === "right" && "ml-auto mr-4"
|
|
9264
9616
|
), children: [
|
|
9265
9617
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
|
|
9266
9618
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
|
|
@@ -9308,7 +9660,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
9308
9660
|
_react.useEffect.call(void 0, () => {
|
|
9309
9661
|
const handleKeyDown = (e) => {
|
|
9310
9662
|
if (e.key === "Escape" && isOpen) {
|
|
9311
|
-
_optionalChain([config, 'access',
|
|
9663
|
+
_optionalChain([config, 'access', _323 => _323.onClose, 'optionalCall', _324 => _324()]);
|
|
9312
9664
|
}
|
|
9313
9665
|
};
|
|
9314
9666
|
if (isOpen) {
|
|
@@ -9325,7 +9677,7 @@ function MobileNavPanel({ isOpen, config }) {
|
|
|
9325
9677
|
if (item.onClick) {
|
|
9326
9678
|
item.onClick();
|
|
9327
9679
|
}
|
|
9328
|
-
_optionalChain([config, 'access',
|
|
9680
|
+
_optionalChain([config, 'access', _325 => _325.onClose, 'optionalCall', _326 => _326()]);
|
|
9329
9681
|
};
|
|
9330
9682
|
if (item.href) {
|
|
9331
9683
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -9543,7 +9895,7 @@ function SlidingSidebar({ config }) {
|
|
|
9543
9895
|
variant: "transparent",
|
|
9544
9896
|
size: "default",
|
|
9545
9897
|
onClick: () => {
|
|
9546
|
-
_optionalChain([item, 'access',
|
|
9898
|
+
_optionalChain([item, 'access', _327 => _327.onClick, 'optionalCall', _328 => _328()]);
|
|
9547
9899
|
config.onClose();
|
|
9548
9900
|
},
|
|
9549
9901
|
leftIcon: item.icon,
|
|
@@ -9566,7 +9918,7 @@ function SlidingSidebar({ config }) {
|
|
|
9566
9918
|
variant: "transparent",
|
|
9567
9919
|
size: "default",
|
|
9568
9920
|
onClick: () => {
|
|
9569
|
-
_optionalChain([item, 'access',
|
|
9921
|
+
_optionalChain([item, 'access', _329 => _329.onClick, 'optionalCall', _330 => _330()]);
|
|
9570
9922
|
config.onClose();
|
|
9571
9923
|
},
|
|
9572
9924
|
leftIcon: item.icon,
|
|
@@ -9693,7 +10045,7 @@ function StickySectionNav({
|
|
|
9693
10045
|
] });
|
|
9694
10046
|
}
|
|
9695
10047
|
function useSectionNavigation(sections, options) {
|
|
9696
|
-
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access',
|
|
10048
|
+
const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _331 => _331[0], 'optionalAccess', _332 => _332.id]) || "");
|
|
9697
10049
|
const isScrollingFromClick = _react.useRef.call(void 0, false);
|
|
9698
10050
|
const { offset: offset2 = 100 } = options || {};
|
|
9699
10051
|
const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
|
|
@@ -9718,7 +10070,7 @@ function useSectionNavigation(sections, options) {
|
|
|
9718
10070
|
const handleScroll = () => {
|
|
9719
10071
|
if (isScrollingFromClick.current) return;
|
|
9720
10072
|
const scrollPosition = window.scrollY + offset2 + 50;
|
|
9721
|
-
let currentSection = _optionalChain([sections, 'access',
|
|
10073
|
+
let currentSection = _optionalChain([sections, 'access', _333 => _333[0], 'optionalAccess', _334 => _334.id]) || "";
|
|
9722
10074
|
for (let i = sections.length - 1; i >= 0; i--) {
|
|
9723
10075
|
const element = document.getElementById(sections[i].id);
|
|
9724
10076
|
if (element && scrollPosition >= element.offsetTop) {
|
|
@@ -9892,8 +10244,8 @@ var MINIMIZED_WIDTH = 56;
|
|
|
9892
10244
|
var EXPANDED_WIDTH = 224;
|
|
9893
10245
|
var STORAGE_KEY = "of.navigationSidebar.minimized";
|
|
9894
10246
|
function NavigationSidebar({ config, disabled = false }) {
|
|
9895
|
-
const isLgUp = _nullishCoalesce(
|
|
9896
|
-
const [minimized, setMinimized] =
|
|
10247
|
+
const isLgUp = _nullishCoalesce(_chunkOII2IEREcjs.useLgUp.call(void 0, ), () => ( false));
|
|
10248
|
+
const [minimized, setMinimized] = _chunkOII2IEREcjs.useLocalStorage.call(void 0,
|
|
9897
10249
|
STORAGE_KEY,
|
|
9898
10250
|
!isLgUp || (_nullishCoalesce(config.minimized, () => ( false)))
|
|
9899
10251
|
);
|
|
@@ -9902,14 +10254,14 @@ function NavigationSidebar({ config, disabled = false }) {
|
|
|
9902
10254
|
const showLabel = isLgUp && !minimized;
|
|
9903
10255
|
const handleToggle = _react.useCallback.call(void 0, () => {
|
|
9904
10256
|
setMinimized((prev) => !prev);
|
|
9905
|
-
_optionalChain([config, 'access',
|
|
10257
|
+
_optionalChain([config, 'access', _335 => _335.onToggleMinimized, 'optionalCall', _336 => _336()]);
|
|
9906
10258
|
}, [setMinimized, config]);
|
|
9907
10259
|
const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
|
|
9908
|
-
_optionalChain([event, 'optionalAccess',
|
|
10260
|
+
_optionalChain([event, 'optionalAccess', _337 => _337.stopPropagation, 'call', _338 => _338()]);
|
|
9909
10261
|
if (item.onClick) {
|
|
9910
10262
|
item.onClick();
|
|
9911
10263
|
} else if (item.path) {
|
|
9912
|
-
_optionalChain([config, 'access',
|
|
10264
|
+
_optionalChain([config, 'access', _339 => _339.onNavigate, 'optionalCall', _340 => _340(item.path)]);
|
|
9913
10265
|
}
|
|
9914
10266
|
}, [config]);
|
|
9915
10267
|
const { primaryItems, secondaryItems } = _react.useMemo.call(void 0, () => ({
|
|
@@ -10049,7 +10401,7 @@ function NotificationsProvider({
|
|
|
10049
10401
|
const setShowPopups = React28.useCallback(
|
|
10050
10402
|
(value2) => {
|
|
10051
10403
|
setShowPopupsState(value2);
|
|
10052
|
-
_optionalChain([onShowPopupsChange, 'optionalCall',
|
|
10404
|
+
_optionalChain([onShowPopupsChange, 'optionalCall', _341 => _341(value2)]);
|
|
10053
10405
|
},
|
|
10054
10406
|
[onShowPopupsChange]
|
|
10055
10407
|
);
|
|
@@ -10154,11 +10506,11 @@ function HeaderGlobalSearch({
|
|
|
10154
10506
|
};
|
|
10155
10507
|
const handleSubmit = (e) => {
|
|
10156
10508
|
e.preventDefault();
|
|
10157
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
10509
|
+
_optionalChain([onSubmit, 'optionalCall', _342 => _342(currentValue)]);
|
|
10158
10510
|
};
|
|
10159
10511
|
const handleKeyDown = (e) => {
|
|
10160
10512
|
if (e.key === "Enter") {
|
|
10161
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
10513
|
+
_optionalChain([onSubmit, 'optionalCall', _343 => _343(currentValue)]);
|
|
10162
10514
|
}
|
|
10163
10515
|
};
|
|
10164
10516
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -10204,8 +10556,8 @@ function HeaderOrganizationFilter({
|
|
|
10204
10556
|
className
|
|
10205
10557
|
}) {
|
|
10206
10558
|
const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
|
|
10207
|
-
const displayName = _optionalChain([selectedOrg, 'optionalAccess',
|
|
10208
|
-
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess',
|
|
10559
|
+
const displayName = _optionalChain([selectedOrg, 'optionalAccess', _344 => _344.name]) || "All Organizations";
|
|
10560
|
+
const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _345 => _345.deviceCount]), () => ( totalDeviceCount));
|
|
10209
10561
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV2FNIPZJcjs.DropdownMenu, { children: [
|
|
10210
10562
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV2FNIPZJcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10211
10563
|
"button",
|
|
@@ -10230,11 +10582,11 @@ function HeaderOrganizationFilter({
|
|
|
10230
10582
|
}
|
|
10231
10583
|
) }),
|
|
10232
10584
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV2FNIPZJcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
|
|
10233
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV2FNIPZJcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
10585
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV2FNIPZJcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _346 => _346("")]), children: "All Organizations" }),
|
|
10234
10586
|
organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10235
10587
|
_chunkV2FNIPZJcjs.DropdownMenuItem,
|
|
10236
10588
|
{
|
|
10237
|
-
onClick: () => _optionalChain([onOrgChange, 'optionalCall',
|
|
10589
|
+
onClick: () => _optionalChain([onOrgChange, 'optionalCall', _347 => _347(org.id)]),
|
|
10238
10590
|
children: org.name
|
|
10239
10591
|
},
|
|
10240
10592
|
org.id
|
|
@@ -10265,7 +10617,7 @@ var AppHeader = React37.default.memo(function AppHeader2({
|
|
|
10265
10617
|
onToggleMobileMenu,
|
|
10266
10618
|
disabled = false
|
|
10267
10619
|
}) {
|
|
10268
|
-
const isMdUp = _nullishCoalesce(
|
|
10620
|
+
const isMdUp = _nullishCoalesce(_chunkOII2IEREcjs.useMdUp.call(void 0, ), () => ( false));
|
|
10269
10621
|
const dimmedClass = disabled ? "pointer-events-none opacity-50" : "";
|
|
10270
10622
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
10271
10623
|
"header",
|
|
@@ -10406,9 +10758,9 @@ function NotificationsHeaderButton({
|
|
|
10406
10758
|
dimmedClass
|
|
10407
10759
|
}) {
|
|
10408
10760
|
const ctx = useOptionalNotifications();
|
|
10409
|
-
const unreadCount = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
10410
|
-
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess',
|
|
10411
|
-
const onClick = _optionalChain([ctx, 'optionalAccess',
|
|
10761
|
+
const unreadCount = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _348 => _348.unreadCount]), () => ( fallbackUnreadCount));
|
|
10762
|
+
const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _349 => _349.isOpen]), () => ( false));
|
|
10763
|
+
const onClick = _optionalChain([ctx, 'optionalAccess', _350 => _350.toggle]);
|
|
10412
10764
|
const Icon2 = unreadCount > 0 ? _chunkVJTFBYVGcjs.BellRingingIcon : _chunkVJTFBYVGcjs.BellIcon;
|
|
10413
10765
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10414
10766
|
HeaderButton,
|
|
@@ -10582,7 +10934,7 @@ var Switch = React32.forwardRef(({ className, checked, onCheckedChange, ...props
|
|
|
10582
10934
|
}, [checked]);
|
|
10583
10935
|
const handleCheckedChange = (newChecked) => {
|
|
10584
10936
|
setIsChecked(newChecked);
|
|
10585
|
-
_optionalChain([onCheckedChange, 'optionalCall',
|
|
10937
|
+
_optionalChain([onCheckedChange, 'optionalCall', _351 => _351(newChecked)]);
|
|
10586
10938
|
};
|
|
10587
10939
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
10588
10940
|
SwitchPrimitives.Root,
|
|
@@ -10635,7 +10987,7 @@ function NotificationTile({
|
|
|
10635
10987
|
if (!isLive) return;
|
|
10636
10988
|
const remaining = Math.max(0, liveDurationMs - initialElapsed);
|
|
10637
10989
|
const timer = window.setTimeout(() => {
|
|
10638
|
-
_optionalChain([onSettle, 'optionalCall',
|
|
10990
|
+
_optionalChain([onSettle, 'optionalCall', _352 => _352(id)]);
|
|
10639
10991
|
}, remaining);
|
|
10640
10992
|
return () => window.clearTimeout(timer);
|
|
10641
10993
|
}, [id, isLive, initialElapsed, liveDurationMs, onSettle]);
|
|
@@ -10648,7 +11000,7 @@ function NotificationTile({
|
|
|
10648
11000
|
),
|
|
10649
11001
|
children: [
|
|
10650
11002
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xs)] p-[var(--spacing-system-s)]", children: [
|
|
10651
|
-
/* @__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",
|
|
11003
|
+
/* @__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", _chunkOII2IEREcjs.dotColorByVariant[variant]) }) }),
|
|
10652
11004
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
10653
11005
|
title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-h4 text-ods-text-primary", children: title }) : null,
|
|
10654
11006
|
description ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 line-clamp-2 text-ods-text-secondary", children: description }) : null
|
|
@@ -10673,7 +11025,7 @@ function NotificationTile({
|
|
|
10673
11025
|
"button",
|
|
10674
11026
|
{
|
|
10675
11027
|
type: "button",
|
|
10676
|
-
onClick: () => _optionalChain([onSettle, 'optionalCall',
|
|
11028
|
+
onClick: () => _optionalChain([onSettle, 'optionalCall', _353 => _353(id)]),
|
|
10677
11029
|
"aria-label": "Dismiss notification",
|
|
10678
11030
|
tabIndex: isLive ? 0 : -1,
|
|
10679
11031
|
className: _chunkUC43NICZcjs.cn.call(void 0,
|
|
@@ -10689,7 +11041,7 @@ function NotificationTile({
|
|
|
10689
11041
|
"aria-hidden": true,
|
|
10690
11042
|
className: _chunkUC43NICZcjs.cn.call(void 0,
|
|
10691
11043
|
"absolute inset-x-0 -bottom-px h-1 origin-left",
|
|
10692
|
-
|
|
11044
|
+
_chunkOII2IEREcjs.progressColorByVariant[variant]
|
|
10693
11045
|
),
|
|
10694
11046
|
style: {
|
|
10695
11047
|
animation: `toast-progress ${liveDurationMs}ms linear forwards`,
|
|
@@ -10845,7 +11197,7 @@ var MobileBurgerMenu = React37.default.memo(function MobileBurgerMenu2({
|
|
|
10845
11197
|
if (item.onClick) {
|
|
10846
11198
|
item.onClick();
|
|
10847
11199
|
} else if (item.path) {
|
|
10848
|
-
_optionalChain([config, 'access',
|
|
11200
|
+
_optionalChain([config, 'access', _354 => _354.onNavigate, 'optionalCall', _355 => _355(item.path)]);
|
|
10849
11201
|
}
|
|
10850
11202
|
onClose();
|
|
10851
11203
|
}, [config, onClose]);
|
|
@@ -11141,7 +11493,7 @@ var ToolBadge = ({
|
|
|
11141
11493
|
}) => {
|
|
11142
11494
|
const label = getToolLabel(toolType);
|
|
11143
11495
|
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: [
|
|
11144
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11496
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOII2IEREcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
|
|
11145
11497
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: label })
|
|
11146
11498
|
] });
|
|
11147
11499
|
};
|
|
@@ -11189,7 +11541,7 @@ var ShellTypeBadge = ({
|
|
|
11189
11541
|
className,
|
|
11190
11542
|
iconClassName
|
|
11191
11543
|
}) => {
|
|
11192
|
-
const normalizedType = _optionalChain([shellType, 'optionalAccess',
|
|
11544
|
+
const normalizedType = _optionalChain([shellType, 'optionalAccess', _356 => _356.toUpperCase, 'call', _357 => _357()]);
|
|
11193
11545
|
const label = getShellLabel(normalizedType);
|
|
11194
11546
|
const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
|
|
11195
11547
|
const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
|
|
@@ -11561,7 +11913,7 @@ function getStoredAnnouncement(key) {
|
|
|
11561
11913
|
if (typeof window !== "undefined") {
|
|
11562
11914
|
try {
|
|
11563
11915
|
return JSON.parse(localStorage.getItem(key) || "null");
|
|
11564
|
-
} catch (
|
|
11916
|
+
} catch (e32) {
|
|
11565
11917
|
return null;
|
|
11566
11918
|
}
|
|
11567
11919
|
}
|
|
@@ -11571,7 +11923,7 @@ function setStoredAnnouncement(key, value) {
|
|
|
11571
11923
|
if (typeof window !== "undefined") {
|
|
11572
11924
|
try {
|
|
11573
11925
|
localStorage.setItem(key, JSON.stringify(value));
|
|
11574
|
-
} catch (
|
|
11926
|
+
} catch (e33) {
|
|
11575
11927
|
}
|
|
11576
11928
|
}
|
|
11577
11929
|
}
|
|
@@ -11579,7 +11931,7 @@ function clearStoredAnnouncement(key = "announcement") {
|
|
|
11579
11931
|
if (typeof window !== "undefined") {
|
|
11580
11932
|
try {
|
|
11581
11933
|
localStorage.removeItem(key);
|
|
11582
|
-
} catch (
|
|
11934
|
+
} catch (e34) {
|
|
11583
11935
|
}
|
|
11584
11936
|
}
|
|
11585
11937
|
}
|
|
@@ -11646,7 +11998,7 @@ function AnnouncementBar() {
|
|
|
11646
11998
|
setIsVisible(false);
|
|
11647
11999
|
};
|
|
11648
12000
|
const handleCtaClick = () => {
|
|
11649
|
-
if (!_optionalChain([announcement, 'optionalAccess',
|
|
12001
|
+
if (!_optionalChain([announcement, 'optionalAccess', _358 => _358.cta_url])) return;
|
|
11650
12002
|
announcement.cta_target === "_blank" ? window.open(announcement.cta_url, "_blank", "noopener,noreferrer") : window.location.href = announcement.cta_url;
|
|
11651
12003
|
};
|
|
11652
12004
|
const renderIcon = () => {
|
|
@@ -11772,8 +12124,8 @@ function getVendorLogo(vendor) {
|
|
|
11772
12124
|
if (vendor.logo) {
|
|
11773
12125
|
return fixSupabaseStorageUrl(vendor.logo);
|
|
11774
12126
|
}
|
|
11775
|
-
const logoMedia = _optionalChain([vendor, 'access',
|
|
11776
|
-
if (_optionalChain([logoMedia, 'optionalAccess',
|
|
12127
|
+
const logoMedia = _optionalChain([vendor, 'access', _359 => _359.vendor_media, 'optionalAccess', _360 => _360.find, 'call', _361 => _361((m) => m.media_type === "logo")]);
|
|
12128
|
+
if (_optionalChain([logoMedia, 'optionalAccess', _362 => _362.media_url])) {
|
|
11777
12129
|
return fixSupabaseStorageUrl(logoMedia.media_url);
|
|
11778
12130
|
}
|
|
11779
12131
|
return null;
|
|
@@ -11848,7 +12200,7 @@ function VendorIcon({
|
|
|
11848
12200
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0,
|
|
11849
12201
|
"flex items-center justify-center text-xs font-medium uppercase",
|
|
11850
12202
|
backgroundStyle === "white" ? "text-[#333333]" : "text-ods-text-secondary"
|
|
11851
|
-
), children: _optionalChain([vendor, 'access',
|
|
12203
|
+
), children: _optionalChain([vendor, 'access', _363 => _363.title, 'optionalAccess', _364 => _364.substring, 'call', _365 => _365(0, 2)]) || "??" }) });
|
|
11852
12204
|
}
|
|
11853
12205
|
|
|
11854
12206
|
// src/components/categories-cart.tsx
|
|
@@ -12132,7 +12484,7 @@ function UserSummary({
|
|
|
12132
12484
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
|
|
12133
12485
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h4 text-ods-text-primary truncate", children: [
|
|
12134
12486
|
name,
|
|
12135
|
-
_optionalChain([mspPreview, 'optionalAccess',
|
|
12487
|
+
_optionalChain([mspPreview, 'optionalAccess', _366 => _366.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
|
|
12136
12488
|
" \u2022 ",
|
|
12137
12489
|
mspPreview.name
|
|
12138
12490
|
] })
|
|
@@ -12154,7 +12506,7 @@ function UserSummary({
|
|
|
12154
12506
|
height: 40,
|
|
12155
12507
|
className: "object-cover"
|
|
12156
12508
|
}
|
|
12157
|
-
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-heading text-sm font-bold", children: _optionalChain([mspPreview, 'access',
|
|
12509
|
+
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-heading text-sm font-bold", children: _optionalChain([mspPreview, 'access', _367 => _367.name, 'optionalAccess', _368 => _368.charAt, 'call', _369 => _369(0), 'access', _370 => _370.toUpperCase, 'call', _371 => _371()]) || "?" }) })
|
|
12158
12510
|
] }),
|
|
12159
12511
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 grid grid-cols-[1fr_auto] gap-4", children: [
|
|
12160
12512
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-[6rem] flex flex-col justify-center space-y-3 truncate", children: [
|
|
@@ -12167,7 +12519,7 @@ function UserSummary({
|
|
|
12167
12519
|
typeof mspPreview.annualRevenue === "number" ? `$${formatNumber2(mspPreview.annualRevenue)}` : null
|
|
12168
12520
|
].filter(Boolean).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)) })
|
|
12169
12521
|
] }),
|
|
12170
|
-
(_optionalChain([authProviders, 'optionalAccess',
|
|
12522
|
+
(_optionalChain([authProviders, 'optionalAccess', _372 => _372.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: [
|
|
12171
12523
|
authProviders && authProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
12172
12524
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs text-ods-text-secondary whitespace-nowrap select-none", children: "Authorized by" }),
|
|
12173
12525
|
/* @__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)) })
|
|
@@ -12176,7 +12528,7 @@ function UserSummary({
|
|
|
12176
12528
|
] })
|
|
12177
12529
|
] })
|
|
12178
12530
|
] }),
|
|
12179
|
-
(_optionalChain([authProviders, 'optionalAccess',
|
|
12531
|
+
(_optionalChain([authProviders, 'optionalAccess', _373 => _373.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex md:hidden items-center justify-between w-full gap-4", children: [
|
|
12180
12532
|
authProviders && authProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
12181
12533
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs text-ods-text-secondary whitespace-nowrap select-none", children: "Authorized by" }),
|
|
12182
12534
|
/* @__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)) })
|
|
@@ -12897,7 +13249,7 @@ function FilterChip({
|
|
|
12897
13249
|
onClick: disabled ? void 0 : (e) => {
|
|
12898
13250
|
e.preventDefault();
|
|
12899
13251
|
e.stopPropagation();
|
|
12900
|
-
_optionalChain([onClick, 'optionalCall',
|
|
13252
|
+
_optionalChain([onClick, 'optionalCall', _374 => _374()]);
|
|
12901
13253
|
},
|
|
12902
13254
|
role: onClick ? "button" : void 0,
|
|
12903
13255
|
tabIndex: onClick && !disabled ? 0 : void 0,
|
|
@@ -13084,13 +13436,13 @@ function useUnifiedFiltering(config) {
|
|
|
13084
13436
|
const searchParams = _navigation.useSearchParams.call(void 0, );
|
|
13085
13437
|
const [isPending, startTransition] = _react.useTransition.call(void 0, );
|
|
13086
13438
|
const getCurrentFilterState = () => {
|
|
13087
|
-
const search = _optionalChain([searchParams, 'optionalAccess',
|
|
13088
|
-
const categories = _optionalChain([searchParams, 'optionalAccess',
|
|
13089
|
-
const subcategories = _optionalChain([searchParams, 'optionalAccess',
|
|
13090
|
-
const tags = _optionalChain([searchParams, 'optionalAccess',
|
|
13091
|
-
const filters = _optionalChain([searchParams, 'optionalAccess',
|
|
13092
|
-
const pricing = _optionalChain([searchParams, 'optionalAccess',
|
|
13093
|
-
const page = parseInt(_optionalChain([searchParams, 'optionalAccess',
|
|
13439
|
+
const search = _optionalChain([searchParams, 'optionalAccess', _375 => _375.get, 'call', _376 => _376("search")]) || void 0;
|
|
13440
|
+
const categories = _optionalChain([searchParams, 'optionalAccess', _377 => _377.get, 'call', _378 => _378("category"), 'optionalAccess', _379 => _379.split, 'call', _380 => _380(","), 'access', _381 => _381.filter, 'call', _382 => _382(Boolean)]) || [];
|
|
13441
|
+
const subcategories = _optionalChain([searchParams, 'optionalAccess', _383 => _383.get, 'call', _384 => _384("subcategory"), 'optionalAccess', _385 => _385.split, 'call', _386 => _386(","), 'access', _387 => _387.filter, 'call', _388 => _388(Boolean)]) || [];
|
|
13442
|
+
const tags = _optionalChain([searchParams, 'optionalAccess', _389 => _389.get, 'call', _390 => _390("tag"), 'optionalAccess', _391 => _391.split, 'call', _392 => _392(","), 'access', _393 => _393.filter, 'call', _394 => _394(Boolean)]) || [];
|
|
13443
|
+
const filters = _optionalChain([searchParams, 'optionalAccess', _395 => _395.getAll, 'call', _396 => _396("filter")]) || [];
|
|
13444
|
+
const pricing = _optionalChain([searchParams, 'optionalAccess', _397 => _397.get, 'call', _398 => _398("pricing")]) || void 0;
|
|
13445
|
+
const page = parseInt(_optionalChain([searchParams, 'optionalAccess', _399 => _399.get, 'call', _400 => _400("page")]) || "1");
|
|
13094
13446
|
return {
|
|
13095
13447
|
search,
|
|
13096
13448
|
categories,
|
|
@@ -13371,13 +13723,13 @@ function FooterWaitlistButton({ className }) {
|
|
|
13371
13723
|
const router = _navigation.useRouter.call(void 0, );
|
|
13372
13724
|
const pathname = _navigation.usePathname.call(void 0, );
|
|
13373
13725
|
const handleClick = _react.useCallback.call(void 0, () => {
|
|
13374
|
-
if (_optionalChain([pathname, 'optionalAccess',
|
|
13726
|
+
if (_optionalChain([pathname, 'optionalAccess', _401 => _401.startsWith, 'call', _402 => _402("/waitlist")])) {
|
|
13375
13727
|
const anchor = document.getElementById("waitlist-form");
|
|
13376
13728
|
if (anchor) {
|
|
13377
13729
|
anchor.scrollIntoView({ behavior: "smooth", block: "center" });
|
|
13378
13730
|
setTimeout(() => {
|
|
13379
13731
|
const input = anchor.querySelector('input[type="email"]');
|
|
13380
|
-
_optionalChain([input, 'optionalAccess',
|
|
13732
|
+
_optionalChain([input, 'optionalAccess', _403 => _403.focus, 'call', _404 => _404()]);
|
|
13381
13733
|
}, 400);
|
|
13382
13734
|
return;
|
|
13383
13735
|
}
|
|
@@ -13402,11 +13754,11 @@ _chunkV2FNIPZJcjs.init_button2.call(void 0, );
|
|
|
13402
13754
|
|
|
13403
13755
|
function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, objectFit = "cover", showReplaceButton = true, deferUpload = false, onUpload, onDelete }) {
|
|
13404
13756
|
const inputRef = _react.useRef.call(void 0, null);
|
|
13405
|
-
const { toast } =
|
|
13757
|
+
const { toast } = _chunkOII2IEREcjs.useToast.call(void 0, );
|
|
13406
13758
|
const [uploading, setUploading] = _react.useState.call(void 0, false);
|
|
13407
13759
|
const ALLOWED_TYPES = ["image/jpeg", "image/jpg", "image/png", "image/webp", "image/gif"];
|
|
13408
13760
|
const MAX_SIZE = 5 * 1024 * 1024;
|
|
13409
|
-
const openDialog = () => _optionalChain([inputRef, 'access',
|
|
13761
|
+
const openDialog = () => _optionalChain([inputRef, 'access', _405 => _405.current, 'optionalAccess', _406 => _406.click, 'call', _407 => _407()]);
|
|
13410
13762
|
async function handleFile(file) {
|
|
13411
13763
|
if (!file) return;
|
|
13412
13764
|
if (!ALLOWED_TYPES.includes(file.type)) {
|
|
@@ -13462,7 +13814,7 @@ function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, o
|
|
|
13462
13814
|
}
|
|
13463
13815
|
}
|
|
13464
13816
|
const handleSelect = (e) => {
|
|
13465
|
-
handleFile(_optionalChain([e, 'access',
|
|
13817
|
+
handleFile(_optionalChain([e, 'access', _408 => _408.target, 'access', _409 => _409.files, 'optionalAccess', _410 => _410[0]]));
|
|
13466
13818
|
};
|
|
13467
13819
|
const handleRemove = async () => {
|
|
13468
13820
|
if (onDelete) {
|
|
@@ -13599,7 +13951,7 @@ function ResponsiveIconsBlock({ loading = false }) {
|
|
|
13599
13951
|
const getIconForIndex = (index) => {
|
|
13600
13952
|
const col = index % displayColumns;
|
|
13601
13953
|
const row = Math.floor(index / displayColumns);
|
|
13602
|
-
return _optionalChain([iconGrid, 'access',
|
|
13954
|
+
return _optionalChain([iconGrid, 'access', _411 => _411[row], 'optionalAccess', _412 => _412[col]]) || availableIcons[0];
|
|
13603
13955
|
};
|
|
13604
13956
|
if (loading || iconGrid.length === 0) {
|
|
13605
13957
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -13685,7 +14037,7 @@ var Slider = React39.forwardRef(
|
|
|
13685
14037
|
({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
|
|
13686
14038
|
const handleChange = (e) => {
|
|
13687
14039
|
const newValue = [Number(e.target.value)];
|
|
13688
|
-
_optionalChain([onValueChange, 'optionalCall',
|
|
14040
|
+
_optionalChain([onValueChange, 'optionalCall', _413 => _413(newValue)]);
|
|
13689
14041
|
};
|
|
13690
14042
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
13691
14043
|
"input",
|
|
@@ -13798,7 +14150,7 @@ var ImageCropper = ({
|
|
|
13798
14150
|
});
|
|
13799
14151
|
} else if (e.key === "Escape") {
|
|
13800
14152
|
e.preventDefault();
|
|
13801
|
-
_optionalChain([onCancel, 'optionalCall',
|
|
14153
|
+
_optionalChain([onCancel, 'optionalCall', _414 => _414()]);
|
|
13802
14154
|
}
|
|
13803
14155
|
};
|
|
13804
14156
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -14498,8 +14850,8 @@ function PricingDisplay({
|
|
|
14498
14850
|
}
|
|
14499
14851
|
if (pricingArray.length === 1) {
|
|
14500
14852
|
const item = pricingArray[0];
|
|
14501
|
-
const price = _optionalChain([item, 'access',
|
|
14502
|
-
const unit = _optionalChain([item, 'access',
|
|
14853
|
+
const price = _optionalChain([item, 'access', _415 => _415.ranges, 'optionalAccess', _416 => _416[0], 'optionalAccess', _417 => _417.min]) || 0;
|
|
14854
|
+
const unit = _optionalChain([item, 'access', _418 => _418.ranges, 'optionalAccess', _419 => _419[0], 'optionalAccess', _420 => _420.unit]);
|
|
14503
14855
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
14504
14856
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: formatPriceValue(price, styleConfig.showTildePrefix) }),
|
|
14505
14857
|
unit && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
|
|
@@ -14508,11 +14860,11 @@ function PricingDisplay({
|
|
|
14508
14860
|
] })
|
|
14509
14861
|
] });
|
|
14510
14862
|
}
|
|
14511
|
-
const priceValues = pricingArray.map((item) => formatPriceValue(_optionalChain([item, 'access',
|
|
14512
|
-
const itemWithUnit = pricingArray.find((item) => _optionalChain([item, 'access',
|
|
14863
|
+
const priceValues = pricingArray.map((item) => formatPriceValue(_optionalChain([item, 'access', _421 => _421.ranges, 'optionalAccess', _422 => _422[0], 'optionalAccess', _423 => _423.min]) || 0, styleConfig.showTildePrefix));
|
|
14864
|
+
const itemWithUnit = pricingArray.find((item) => _optionalChain([item, 'access', _424 => _424.ranges, 'optionalAccess', _425 => _425[0], 'optionalAccess', _426 => _426.unit]));
|
|
14513
14865
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
14514
14866
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: priceValues.join(" | ") }),
|
|
14515
|
-
itemWithUnit && _optionalChain([itemWithUnit, 'access',
|
|
14867
|
+
itemWithUnit && _optionalChain([itemWithUnit, 'access', _427 => _427.ranges, 'optionalAccess', _428 => _428[0], 'optionalAccess', _429 => _429.unit]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
|
|
14516
14868
|
"/",
|
|
14517
14869
|
itemWithUnit.ranges[0].unit
|
|
14518
14870
|
] })
|
|
@@ -14710,7 +15062,7 @@ function VendorTag({
|
|
|
14710
15062
|
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" }) })
|
|
14711
15063
|
};
|
|
14712
15064
|
case "classification":
|
|
14713
|
-
const classificationType = _optionalChain([text, 'optionalAccess',
|
|
15065
|
+
const classificationType = _optionalChain([text, 'optionalAccess', _430 => _430.toLowerCase, 'call', _431 => _431()]);
|
|
14714
15066
|
if (classificationType === "open_source") {
|
|
14715
15067
|
return {
|
|
14716
15068
|
text: "Open Source",
|
|
@@ -14764,7 +15116,7 @@ function SelectionSourceBadge({ source, hidden = false }) {
|
|
|
14764
15116
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
14765
15117
|
VendorTag,
|
|
14766
15118
|
{
|
|
14767
|
-
type: _optionalChain([source, 'optionalAccess',
|
|
15119
|
+
type: _optionalChain([source, 'optionalAccess', _432 => _432.toLowerCase, 'call', _433 => _433()]),
|
|
14768
15120
|
size: "sm",
|
|
14769
15121
|
hidden
|
|
14770
15122
|
},
|
|
@@ -16821,7 +17173,7 @@ function OnboardingWalkthrough({
|
|
|
16821
17173
|
isStepSkipped,
|
|
16822
17174
|
allStepsComplete,
|
|
16823
17175
|
markMultipleComplete
|
|
16824
|
-
} =
|
|
17176
|
+
} = _chunkOII2IEREcjs.useOnboardingState.call(void 0, storageKey);
|
|
16825
17177
|
const hasAutoMarkedRef = _react.useRef.call(void 0, false);
|
|
16826
17178
|
const autoMarkingInProgressRef = _react.useRef.call(void 0, false);
|
|
16827
17179
|
const lastCompletionStatusRef = _react.useRef.call(void 0, null);
|
|
@@ -16884,12 +17236,12 @@ function OnboardingWalkthrough({
|
|
|
16884
17236
|
}
|
|
16885
17237
|
}, [state.completedSteps, markComplete]);
|
|
16886
17238
|
const handleStepSkip = (step) => {
|
|
16887
|
-
_optionalChain([step, 'access',
|
|
17239
|
+
_optionalChain([step, 'access', _434 => _434.onSkip, 'optionalCall', _435 => _435()]);
|
|
16888
17240
|
markSkipped(step.id);
|
|
16889
17241
|
};
|
|
16890
17242
|
const handleDismiss = () => {
|
|
16891
17243
|
dismissOnboarding();
|
|
16892
|
-
_optionalChain([onDismiss, 'optionalCall',
|
|
17244
|
+
_optionalChain([onDismiss, 'optionalCall', _436 => _436()]);
|
|
16893
17245
|
};
|
|
16894
17246
|
if (state.dismissed) {
|
|
16895
17247
|
return null;
|
|
@@ -17372,7 +17724,7 @@ var SecondaryAction = ({ action }) => {
|
|
|
17372
17724
|
e.preventDefault();
|
|
17373
17725
|
return;
|
|
17374
17726
|
}
|
|
17375
|
-
_optionalChain([action, 'access',
|
|
17727
|
+
_optionalChain([action, 'access', _437 => _437.onClick, 'optionalCall', _438 => _438()]);
|
|
17376
17728
|
},
|
|
17377
17729
|
[action]
|
|
17378
17730
|
);
|
|
@@ -17413,13 +17765,13 @@ var MenuItem = ({ item, onItemClick }) => {
|
|
|
17413
17765
|
const activate = _react.useCallback.call(void 0, () => {
|
|
17414
17766
|
if (item.disabled) return;
|
|
17415
17767
|
if (item.type === "checkbox") {
|
|
17416
|
-
_optionalChain([item, 'access',
|
|
17417
|
-
_optionalChain([onItemClick, 'optionalCall',
|
|
17768
|
+
_optionalChain([item, 'access', _439 => _439.onClick, 'optionalCall', _440 => _440()]);
|
|
17769
|
+
_optionalChain([onItemClick, 'optionalCall', _441 => _441(item)]);
|
|
17418
17770
|
return;
|
|
17419
17771
|
}
|
|
17420
17772
|
if (item.type === "submenu") return;
|
|
17421
|
-
_optionalChain([item, 'access',
|
|
17422
|
-
_optionalChain([onItemClick, 'optionalCall',
|
|
17773
|
+
_optionalChain([item, 'access', _442 => _442.onClick, 'optionalCall', _443 => _443()]);
|
|
17774
|
+
_optionalChain([onItemClick, 'optionalCall', _444 => _444(item)]);
|
|
17423
17775
|
}, [item, onItemClick]);
|
|
17424
17776
|
const handleClick = _react.useCallback.call(void 0,
|
|
17425
17777
|
(e) => {
|
|
@@ -17445,8 +17797,8 @@ var MenuItem = ({ item, onItemClick }) => {
|
|
|
17445
17797
|
e.stopPropagation();
|
|
17446
17798
|
return;
|
|
17447
17799
|
}
|
|
17448
|
-
_optionalChain([item, 'access',
|
|
17449
|
-
_optionalChain([onItemClick, 'optionalCall',
|
|
17800
|
+
_optionalChain([item, 'access', _445 => _445.onClick, 'optionalCall', _446 => _446()]);
|
|
17801
|
+
_optionalChain([onItemClick, 'optionalCall', _447 => _447(item)]);
|
|
17450
17802
|
},
|
|
17451
17803
|
[item, onItemClick]
|
|
17452
17804
|
);
|
|
@@ -17601,7 +17953,7 @@ var ActionsMenuDropdown = ({
|
|
|
17601
17953
|
const [open, setOpen] = _react.useState.call(void 0, false);
|
|
17602
17954
|
const handleItemClick = _react.useCallback.call(void 0,
|
|
17603
17955
|
(item) => {
|
|
17604
|
-
_optionalChain([onItemClick, 'optionalCall',
|
|
17956
|
+
_optionalChain([onItemClick, 'optionalCall', _448 => _448(item)]);
|
|
17605
17957
|
if (item.type !== "checkbox" && item.type !== "submenu") {
|
|
17606
17958
|
setOpen(false);
|
|
17607
17959
|
}
|
|
@@ -17772,7 +18124,7 @@ function IconButtonsVariant({
|
|
|
17772
18124
|
}) {
|
|
17773
18125
|
const desktopActions = actions.filter((a) => !a.showOnlyMobile);
|
|
17774
18126
|
const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
|
|
17775
|
-
const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access',
|
|
18127
|
+
const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _449 => _449[0], 'access', _450 => _450.submenu, 'optionalAccess', _451 => _451.length]);
|
|
17776
18128
|
const singleAction = isSingleAction ? actions[0] : null;
|
|
17777
18129
|
const useSingleActionMobile = isSingleAction && !hasMenuActions;
|
|
17778
18130
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
@@ -18202,14 +18554,14 @@ function ReleaseDetailPage({
|
|
|
18202
18554
|
releaseVersion
|
|
18203
18555
|
] })
|
|
18204
18556
|
] }) }),
|
|
18205
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2 w-full", children: _optionalChain([blogTags, 'optionalAccess',
|
|
18557
|
+
/* @__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,
|
|
18206
18558
|
StatusBadge,
|
|
18207
18559
|
{
|
|
18208
|
-
text: (tag.name || _optionalChain([tag, 'access',
|
|
18560
|
+
text: (tag.name || _optionalChain([tag, 'access', _454 => _454.blog_tags, 'optionalAccess', _455 => _455.name]) || "").toUpperCase(),
|
|
18209
18561
|
variant: "card",
|
|
18210
18562
|
className: "bg-ods-card border border-ods-border"
|
|
18211
18563
|
},
|
|
18212
|
-
tag.id || _optionalChain([tag, 'access',
|
|
18564
|
+
tag.id || _optionalChain([tag, 'access', _456 => _456.blog_tags, 'optionalAccess', _457 => _457.id])
|
|
18213
18565
|
))]) }),
|
|
18214
18566
|
/* @__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: [
|
|
18215
18567
|
/* @__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: [
|
|
@@ -18228,15 +18580,15 @@ function ReleaseDetailPage({
|
|
|
18228
18580
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18229
18581
|
SquareAvatar,
|
|
18230
18582
|
{
|
|
18231
|
-
src: _optionalChain([author, 'optionalAccess',
|
|
18232
|
-
alt: _optionalChain([author, 'optionalAccess',
|
|
18233
|
-
fallback: getInitials4(_optionalChain([author, 'optionalAccess',
|
|
18583
|
+
src: _optionalChain([author, 'optionalAccess', _458 => _458.avatar_url]) || "",
|
|
18584
|
+
alt: _optionalChain([author, 'optionalAccess', _459 => _459.full_name]) || "Author",
|
|
18585
|
+
fallback: getInitials4(_optionalChain([author, 'optionalAccess', _460 => _460.full_name]) || "Unknown"),
|
|
18234
18586
|
size: "md",
|
|
18235
18587
|
variant: "round"
|
|
18236
18588
|
}
|
|
18237
18589
|
),
|
|
18238
18590
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-0 flex-1 min-w-0", children: [
|
|
18239
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", children: _optionalChain([author, 'optionalAccess',
|
|
18591
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", children: _optionalChain([author, 'optionalAccess', _461 => _461.full_name]) || "Unknown Author" }),
|
|
18240
18592
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: "Author" })
|
|
18241
18593
|
] })
|
|
18242
18594
|
] })
|
|
@@ -18267,8 +18619,8 @@ function ReleaseDetailPage({
|
|
|
18267
18619
|
videoBites,
|
|
18268
18620
|
bitesTitle: "Video Clips",
|
|
18269
18621
|
filterPublishedBites: true,
|
|
18270
|
-
srtContent: _optionalChain([release, 'optionalAccess',
|
|
18271
|
-
captionsUrl: _optionalChain([release, 'optionalAccess',
|
|
18622
|
+
srtContent: _optionalChain([release, 'optionalAccess', _462 => _462.srt_content]),
|
|
18623
|
+
captionsUrl: _optionalChain([release, 'optionalAccess', _463 => _463.captionsUrl])
|
|
18272
18624
|
}
|
|
18273
18625
|
) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
18274
18626
|
youtubeUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -18284,8 +18636,8 @@ function ReleaseDetailPage({
|
|
|
18284
18636
|
Video2,
|
|
18285
18637
|
{
|
|
18286
18638
|
url: mainVideoUrl,
|
|
18287
|
-
srtContent: _optionalChain([release, 'optionalAccess',
|
|
18288
|
-
captionsUrl: _optionalChain([release, 'optionalAccess',
|
|
18639
|
+
srtContent: _optionalChain([release, 'optionalAccess', _464 => _464.srt_content]),
|
|
18640
|
+
captionsUrl: _optionalChain([release, 'optionalAccess', _465 => _465.captionsUrl]),
|
|
18289
18641
|
layout: "centered"
|
|
18290
18642
|
}
|
|
18291
18643
|
),
|
|
@@ -18375,7 +18727,7 @@ function ReleaseDetailPage({
|
|
|
18375
18727
|
}
|
|
18376
18728
|
)
|
|
18377
18729
|
] }),
|
|
18378
|
-
(_optionalChain([githubReleases, 'optionalAccess',
|
|
18730
|
+
(_optionalChain([githubReleases, 'optionalAccess', _466 => _466.length]) || _optionalChain([knowledgeBaseLinks, 'optionalAccess', _467 => _467.length]) || migrationGuideUrl || documentationUrl) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1 w-full", children: [
|
|
18379
18731
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h5 tracking-[-0.28px] text-ods-text-secondary", children: "Related Links" }),
|
|
18380
18732
|
/* @__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: [
|
|
18381
18733
|
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: [
|
|
@@ -18404,7 +18756,7 @@ function ReleaseDetailPage({
|
|
|
18404
18756
|
{
|
|
18405
18757
|
href: path.startsWith("http") ? path : `/knowledge-base${path.startsWith("/") ? "" : "/"}${path}`,
|
|
18406
18758
|
className: "text-h4 text-[#ffc008] hover:underline",
|
|
18407
|
-
children: _optionalChain([path, 'access',
|
|
18759
|
+
children: _optionalChain([path, 'access', _468 => _468.replace, 'call', _469 => _469(/^\//, ""), 'access', _470 => _470.split, 'call', _471 => _471("/"), 'access', _472 => _472.pop, 'call', _473 => _473(), 'optionalAccess', _474 => _474.replace, 'call', _475 => _475(/-/g, " ")]) || "View Article"
|
|
18408
18760
|
}
|
|
18409
18761
|
),
|
|
18410
18762
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-6 w-6 text-[#ffc008] shrink-0" })
|
|
@@ -18503,7 +18855,7 @@ function InfoCard({ data, className = "" }) {
|
|
|
18503
18855
|
);
|
|
18504
18856
|
}
|
|
18505
18857
|
function InfoCardValueRow({ label, value, showLabel, copyable, copyAriaLabel }) {
|
|
18506
|
-
const { copy, copied } =
|
|
18858
|
+
const { copy, copied } = _chunkOII2IEREcjs.useCopyToClipboard.call(void 0, );
|
|
18507
18859
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-6 items-center gap-[var(--spacing-system-xs)] self-stretch w-full", children: [
|
|
18508
18860
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary whitespace-nowrap", children: showLabel ? label : "" }),
|
|
18509
18861
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 h-px bg-ods-divider" }),
|
|
@@ -18715,7 +19067,7 @@ var ProgressBar = ({
|
|
|
18715
19067
|
mobileHeight = 8,
|
|
18716
19068
|
inverted = false
|
|
18717
19069
|
}) => {
|
|
18718
|
-
const isMdUp = _nullishCoalesce(
|
|
19070
|
+
const isMdUp = _nullishCoalesce(_chunkOII2IEREcjs.useMdUp.call(void 0, ), () => ( true));
|
|
18719
19071
|
const effectiveSegmentWidth = isMdUp ? segmentWidth : mobileSegmentWidth;
|
|
18720
19072
|
const effectiveHeight = isMdUp ? height : mobileHeight;
|
|
18721
19073
|
const containerRef = _react.useRef.call(void 0, null);
|
|
@@ -19050,7 +19402,7 @@ function TagsManager({
|
|
|
19050
19402
|
const name = search.trim();
|
|
19051
19403
|
if (!name) return;
|
|
19052
19404
|
const result = await onCreateTag(name);
|
|
19053
|
-
if (_optionalChain([result, 'optionalAccess',
|
|
19405
|
+
if (_optionalChain([result, 'optionalAccess', _476 => _476.id])) {
|
|
19054
19406
|
onChange([...selectedIds, result.id]);
|
|
19055
19407
|
setSearch("");
|
|
19056
19408
|
}
|
|
@@ -19058,7 +19410,7 @@ function TagsManager({
|
|
|
19058
19410
|
const startEdit = React55.useCallback((id, name) => {
|
|
19059
19411
|
setEditingId(id);
|
|
19060
19412
|
setEditingName(name);
|
|
19061
|
-
setTimeout(() => _optionalChain([editInputRef, 'access',
|
|
19413
|
+
setTimeout(() => _optionalChain([editInputRef, 'access', _477 => _477.current, 'optionalAccess', _478 => _478.focus, 'call', _479 => _479()]), 0);
|
|
19062
19414
|
}, []);
|
|
19063
19415
|
const confirmEdit = React55.useCallback(async () => {
|
|
19064
19416
|
if (!onUpdateTag || !editingId || !editingName.trim()) return;
|
|
@@ -19085,7 +19437,7 @@ function TagsManager({
|
|
|
19085
19437
|
e.stopPropagation();
|
|
19086
19438
|
onChange([]);
|
|
19087
19439
|
setSearch("");
|
|
19088
|
-
_optionalChain([inputRef, 'access',
|
|
19440
|
+
_optionalChain([inputRef, 'access', _480 => _480.current, 'optionalAccess', _481 => _481.focus, 'call', _482 => _482()]);
|
|
19089
19441
|
},
|
|
19090
19442
|
[onChange]
|
|
19091
19443
|
);
|
|
@@ -19184,10 +19536,10 @@ function TagsManager({
|
|
|
19184
19536
|
align: "start",
|
|
19185
19537
|
onOpenAutoFocus: (e) => {
|
|
19186
19538
|
e.preventDefault();
|
|
19187
|
-
_optionalChain([inputRef, 'access',
|
|
19539
|
+
_optionalChain([inputRef, 'access', _483 => _483.current, 'optionalAccess', _484 => _484.focus, 'call', _485 => _485()]);
|
|
19188
19540
|
},
|
|
19189
19541
|
onInteractOutside: (e) => {
|
|
19190
|
-
if (_optionalChain([containerRef, 'access',
|
|
19542
|
+
if (_optionalChain([containerRef, 'access', _486 => _486.current, 'optionalAccess', _487 => _487.contains, 'call', _488 => _488(e.target)])) {
|
|
19191
19543
|
e.preventDefault();
|
|
19192
19544
|
}
|
|
19193
19545
|
},
|
|
@@ -20291,19 +20643,19 @@ function TabNavigation({
|
|
|
20291
20643
|
const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
|
|
20292
20644
|
const getInitialTab = () => {
|
|
20293
20645
|
if (isUrlSyncEnabled) {
|
|
20294
|
-
const fromUrl = _optionalChain([searchParams, 'optionalAccess',
|
|
20646
|
+
const fromUrl = _optionalChain([searchParams, 'optionalAccess', _489 => _489.get, 'call', _490 => _490(paramName)]) || "";
|
|
20295
20647
|
if (validTabIds.has(fromUrl)) {
|
|
20296
20648
|
return fromUrl;
|
|
20297
20649
|
}
|
|
20298
20650
|
}
|
|
20299
|
-
return defaultTab || _optionalChain([tabs, 'access',
|
|
20651
|
+
return defaultTab || _optionalChain([tabs, 'access', _491 => _491[0], 'optionalAccess', _492 => _492.id]) || "";
|
|
20300
20652
|
};
|
|
20301
20653
|
const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
|
|
20302
20654
|
const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
|
|
20303
20655
|
_react.useEffect.call(void 0, () => {
|
|
20304
20656
|
if (!isUrlSyncEnabled) return;
|
|
20305
|
-
const fromUrl = _optionalChain([searchParams, 'optionalAccess',
|
|
20306
|
-
const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access',
|
|
20657
|
+
const fromUrl = _optionalChain([searchParams, 'optionalAccess', _493 => _493.get, 'call', _494 => _494(paramName)]) || "";
|
|
20658
|
+
const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _495 => _495[0], 'optionalAccess', _496 => _496.id]) || "";
|
|
20307
20659
|
if (nextTab !== internalActiveTab) {
|
|
20308
20660
|
setInternalActiveTab(nextTab);
|
|
20309
20661
|
}
|
|
@@ -20311,13 +20663,13 @@ function TabNavigation({
|
|
|
20311
20663
|
const handleTabChange = (tabId) => {
|
|
20312
20664
|
if (isUrlSyncEnabled) {
|
|
20313
20665
|
setInternalActiveTab(tabId);
|
|
20314
|
-
const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess',
|
|
20666
|
+
const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _497 => _497.toString, 'call', _498 => _498()]));
|
|
20315
20667
|
params.set(paramName, tabId);
|
|
20316
20668
|
const method = replaceState ? "replace" : "push";
|
|
20317
20669
|
router[method](`${pathname}?${params.toString()}`);
|
|
20318
|
-
_optionalChain([controlledOnTabChange, 'optionalCall',
|
|
20670
|
+
_optionalChain([controlledOnTabChange, 'optionalCall', _499 => _499(tabId)]);
|
|
20319
20671
|
} else {
|
|
20320
|
-
_optionalChain([controlledOnTabChange, 'optionalCall',
|
|
20672
|
+
_optionalChain([controlledOnTabChange, 'optionalCall', _500 => _500(tabId)]);
|
|
20321
20673
|
}
|
|
20322
20674
|
};
|
|
20323
20675
|
const scrollRef = _react.useRef.call(void 0, null);
|
|
@@ -20405,7 +20757,7 @@ function TabNavigation({
|
|
|
20405
20757
|
var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
|
|
20406
20758
|
var getTabComponent = (tabs, tabId) => {
|
|
20407
20759
|
const tab = getTabById(tabs, tabId);
|
|
20408
|
-
return _optionalChain([tab, 'optionalAccess',
|
|
20760
|
+
return _optionalChain([tab, 'optionalAccess', _501 => _501.component]) || null;
|
|
20409
20761
|
};
|
|
20410
20762
|
|
|
20411
20763
|
// src/components/ui/alert.tsx
|
|
@@ -20742,16 +21094,16 @@ function FilterModal({
|
|
|
20742
21094
|
};
|
|
20743
21095
|
const handleReset = () => {
|
|
20744
21096
|
onFilterChange({});
|
|
20745
|
-
_optionalChain([onTagsChange, 'optionalCall',
|
|
21097
|
+
_optionalChain([onTagsChange, 'optionalCall', _502 => _502([])]);
|
|
20746
21098
|
onClose();
|
|
20747
21099
|
};
|
|
20748
21100
|
const handleApply = () => {
|
|
20749
21101
|
onFilterChange(selectedFilters);
|
|
20750
|
-
_optionalChain([onTagsChange, 'optionalCall',
|
|
21102
|
+
_optionalChain([onTagsChange, 'optionalCall', _503 => _503(pendingTags)]);
|
|
20751
21103
|
onClose();
|
|
20752
21104
|
};
|
|
20753
21105
|
const getColumnDirection = (columnKey) => {
|
|
20754
|
-
return _optionalChain([sortConfig, 'optionalAccess',
|
|
21106
|
+
return _optionalChain([sortConfig, 'optionalAccess', _504 => _504.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
|
|
20755
21107
|
};
|
|
20756
21108
|
const hasSort = !!sortConfig && sortConfig.columns.length > 0;
|
|
20757
21109
|
const hasFilterGroups = filterGroups.length > 0;
|
|
@@ -20800,7 +21152,7 @@ function FilterModal({
|
|
|
20800
21152
|
{
|
|
20801
21153
|
column,
|
|
20802
21154
|
currentDirection: getColumnDirection(column.key),
|
|
20803
|
-
onSort: (direction) => _optionalChain([onSort, 'optionalCall',
|
|
21155
|
+
onSort: (direction) => _optionalChain([onSort, 'optionalCall', _505 => _505(column.key, direction)]),
|
|
20804
21156
|
onClear: onSortClear ? () => onSortClear(column.key) : void 0
|
|
20805
21157
|
},
|
|
20806
21158
|
column.key
|
|
@@ -20867,7 +21219,7 @@ function ListPageLayout({
|
|
|
20867
21219
|
}) {
|
|
20868
21220
|
const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
|
|
20869
21221
|
const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
|
|
20870
|
-
const debouncedSearchValue =
|
|
21222
|
+
const debouncedSearchValue = _chunkOII2IEREcjs.useDebounce.call(void 0, localSearchValue, 500);
|
|
20871
21223
|
_react.useEffect.call(void 0, () => {
|
|
20872
21224
|
setLocalSearchValue(searchValue);
|
|
20873
21225
|
}, [searchValue]);
|
|
@@ -20966,9 +21318,9 @@ function TitleBlock({
|
|
|
20966
21318
|
const [imageFailed, setImageFailed] = React37.default.useState(false);
|
|
20967
21319
|
React37.default.useEffect(() => {
|
|
20968
21320
|
setImageFailed(false);
|
|
20969
|
-
}, [_optionalChain([image, 'optionalAccess',
|
|
21321
|
+
}, [_optionalChain([image, 'optionalAccess', _506 => _506.src])]);
|
|
20970
21322
|
const showImageFallback = !!image && (imageFailed || !image.src);
|
|
20971
|
-
const initials = getInitials3(_optionalChain([image, 'optionalAccess',
|
|
21323
|
+
const initials = getInitials3(_optionalChain([image, 'optionalAccess', _507 => _507.alt]) || title);
|
|
20972
21324
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
20973
21325
|
"div",
|
|
20974
21326
|
{
|
|
@@ -21764,26 +22116,26 @@ function DeviceCard({
|
|
|
21764
22116
|
] }),
|
|
21765
22117
|
device.organization && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate", children: device.organization })
|
|
21766
22118
|
] }),
|
|
21767
|
-
_optionalChain([actions, 'access',
|
|
22119
|
+
_optionalChain([actions, 'access', _508 => _508.moreButton, 'optionalAccess', _509 => _509.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21768
22120
|
"div",
|
|
21769
22121
|
{
|
|
21770
22122
|
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",
|
|
21771
22123
|
onClick: (e) => {
|
|
21772
22124
|
e.stopPropagation();
|
|
21773
|
-
_optionalChain([actions, 'access',
|
|
22125
|
+
_optionalChain([actions, 'access', _510 => _510.moreButton, 'optionalAccess', _511 => _511.onClick, 'optionalCall', _512 => _512()]);
|
|
21774
22126
|
},
|
|
21775
22127
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
|
|
21776
22128
|
}
|
|
21777
22129
|
),
|
|
21778
|
-
_optionalChain([actions, 'access',
|
|
21779
|
-
_optionalChain([actions, 'access',
|
|
22130
|
+
_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 }),
|
|
22131
|
+
_optionalChain([actions, 'access', _517 => _517.customActions, 'optionalAccess', _518 => _518.map, 'call', _519 => _519(
|
|
21780
22132
|
(action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
21781
22133
|
"div",
|
|
21782
22134
|
{
|
|
21783
22135
|
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",
|
|
21784
22136
|
onClick: (e) => {
|
|
21785
22137
|
e.stopPropagation();
|
|
21786
|
-
_optionalChain([action, 'access',
|
|
22138
|
+
_optionalChain([action, 'access', _520 => _520.onClick, 'optionalCall', _521 => _521()]);
|
|
21787
22139
|
},
|
|
21788
22140
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
|
|
21789
22141
|
},
|
|
@@ -22142,7 +22494,7 @@ function MoreActionsMenu({
|
|
|
22142
22494
|
] });
|
|
22143
22495
|
const handleActivate = (e) => {
|
|
22144
22496
|
e.stopPropagation();
|
|
22145
|
-
if (!item.disabled) _optionalChain([item, 'access',
|
|
22497
|
+
if (!item.disabled) _optionalChain([item, 'access', _522 => _522.onClick, 'optionalCall', _523 => _523()]);
|
|
22146
22498
|
};
|
|
22147
22499
|
if (item.href) {
|
|
22148
22500
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -22292,7 +22644,7 @@ function OrganizationIcon({
|
|
|
22292
22644
|
backgroundStyle = "dark"
|
|
22293
22645
|
}) {
|
|
22294
22646
|
const { width, height } = imageSizeMap2[size];
|
|
22295
|
-
const initials = _optionalChain([organizationName, 'optionalAccess',
|
|
22647
|
+
const initials = _optionalChain([organizationName, 'optionalAccess', _524 => _524.substring, 'call', _525 => _525(0, 2)]) || "??";
|
|
22296
22648
|
const containerClasses = _chunkUC43NICZcjs.cn.call(void 0,
|
|
22297
22649
|
sizeClasses3[size],
|
|
22298
22650
|
"rounded-lg flex items-center justify-center flex-shrink-0 relative",
|
|
@@ -22343,7 +22695,7 @@ function OrganizationCard({
|
|
|
22343
22695
|
const handleActionClick = (e) => {
|
|
22344
22696
|
e.preventDefault();
|
|
22345
22697
|
e.stopPropagation();
|
|
22346
|
-
_optionalChain([actionButton, 'optionalAccess',
|
|
22698
|
+
_optionalChain([actionButton, 'optionalAccess', _526 => _526.onClick, 'call', _527 => _527(organization, e)]);
|
|
22347
22699
|
};
|
|
22348
22700
|
const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
22349
22701
|
"div",
|
|
@@ -22500,7 +22852,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
|
|
|
22500
22852
|
onKeyDown: (e) => {
|
|
22501
22853
|
if (e.key === "Enter" || e.key === " ") {
|
|
22502
22854
|
e.preventDefault();
|
|
22503
|
-
_optionalChain([onClick, 'optionalCall',
|
|
22855
|
+
_optionalChain([onClick, 'optionalCall', _528 => _528()]);
|
|
22504
22856
|
}
|
|
22505
22857
|
},
|
|
22506
22858
|
children: [
|
|
@@ -22509,7 +22861,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
|
|
|
22509
22861
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-5 text-white", children: log.title }),
|
|
22510
22862
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
22511
22863
|
/* @__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) }),
|
|
22512
|
-
log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
22864
|
+
log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOII2IEREcjs.ToolIcon, { toolType: log.toolType, size: 16 })
|
|
22513
22865
|
] })
|
|
22514
22866
|
] })
|
|
22515
22867
|
]
|
|
@@ -22601,7 +22953,7 @@ var LogsList = React79.forwardRef(({
|
|
|
22601
22953
|
log,
|
|
22602
22954
|
isLast: index === logs.length - 1,
|
|
22603
22955
|
showConnector,
|
|
22604
|
-
onClick: () => _optionalChain([onLogClick, 'optionalCall',
|
|
22956
|
+
onClick: () => _optionalChain([onLogClick, 'optionalCall', _529 => _529(log)])
|
|
22605
22957
|
},
|
|
22606
22958
|
log.id
|
|
22607
22959
|
))
|
|
@@ -22714,7 +23066,7 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
|
|
|
22714
23066
|
}
|
|
22715
23067
|
function ServiceCardRowItem({ row }) {
|
|
22716
23068
|
const [revealed, setRevealed] = _react.useState.call(void 0, false);
|
|
22717
|
-
const { copy, copied } =
|
|
23069
|
+
const { copy, copied } = _chunkOII2IEREcjs.useCopyToClipboard.call(void 0, );
|
|
22718
23070
|
const actions = _react.useMemo.call(void 0, () => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }), [row]);
|
|
22719
23071
|
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 });
|
|
22720
23072
|
const handleCopy = () => copy(_nullishCoalesce(row.copyValue, () => ( row.value)));
|
|
@@ -23190,7 +23542,7 @@ function CursorPaginationSimple({
|
|
|
23190
23542
|
{
|
|
23191
23543
|
variant: "transparent",
|
|
23192
23544
|
size: "icon",
|
|
23193
|
-
onClick: () => _optionalChain([onPrevious, 'optionalCall',
|
|
23545
|
+
onClick: () => _optionalChain([onPrevious, 'optionalCall', _530 => _530("")]),
|
|
23194
23546
|
disabled: !hasPreviousPage || loading,
|
|
23195
23547
|
className: "h-8 w-8",
|
|
23196
23548
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
|
|
@@ -23202,7 +23554,7 @@ function CursorPaginationSimple({
|
|
|
23202
23554
|
{
|
|
23203
23555
|
variant: "transparent",
|
|
23204
23556
|
size: "icon",
|
|
23205
|
-
onClick: () => _optionalChain([onNext, 'optionalCall',
|
|
23557
|
+
onClick: () => _optionalChain([onNext, 'optionalCall', _531 => _531("")]),
|
|
23206
23558
|
disabled: !hasNextPage || loading,
|
|
23207
23559
|
className: "h-8 w-8",
|
|
23208
23560
|
rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
|
|
@@ -23262,7 +23614,7 @@ function TableColumnFilterDropdown({
|
|
|
23262
23614
|
placement = "bottom-start",
|
|
23263
23615
|
dropdownClassName = "min-w-[240px]"
|
|
23264
23616
|
}) {
|
|
23265
|
-
const activeCount = _optionalChain([filters, 'optionalAccess',
|
|
23617
|
+
const activeCount = _optionalChain([filters, 'optionalAccess', _532 => _532[columnKey], 'optionalAccess', _533 => _533.length]) || 0;
|
|
23266
23618
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23267
23619
|
FiltersDropdown,
|
|
23268
23620
|
{
|
|
@@ -23305,7 +23657,7 @@ function TableColumnFilterDropdown({
|
|
|
23305
23657
|
delete newFilters[columnKey];
|
|
23306
23658
|
onFilterChange(newFilters);
|
|
23307
23659
|
},
|
|
23308
|
-
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess',
|
|
23660
|
+
currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _534 => _534[columnKey]]) || [] },
|
|
23309
23661
|
placement,
|
|
23310
23662
|
dropdownClassName
|
|
23311
23663
|
}
|
|
@@ -23380,7 +23732,7 @@ function TableHeader({
|
|
|
23380
23732
|
}
|
|
23381
23733
|
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" });
|
|
23382
23734
|
};
|
|
23383
|
-
const isLgUp = _nullishCoalesce(
|
|
23735
|
+
const isLgUp = _nullishCoalesce(_chunkOII2IEREcjs.useLgUp.call(void 0, ), () => ( false));
|
|
23384
23736
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23385
23737
|
"div",
|
|
23386
23738
|
{
|
|
@@ -23602,7 +23954,7 @@ function TableRow({
|
|
|
23602
23954
|
const keys = column.key.split(".");
|
|
23603
23955
|
let value = item;
|
|
23604
23956
|
for (const key of keys) {
|
|
23605
|
-
value = _optionalChain([value, 'optionalAccess',
|
|
23957
|
+
value = _optionalChain([value, 'optionalAccess', _535 => _535[key]]);
|
|
23606
23958
|
}
|
|
23607
23959
|
if (value === null || value === void 0) {
|
|
23608
23960
|
return "-";
|
|
@@ -23672,7 +24024,7 @@ function TableRow({
|
|
|
23672
24024
|
// src/components/ui/table/table.tsx
|
|
23673
24025
|
|
|
23674
24026
|
function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
|
|
23675
|
-
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess',
|
|
24027
|
+
const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _536 => _536.length])) || Boolean(renderRowActions);
|
|
23676
24028
|
const result = [...columns];
|
|
23677
24029
|
if (hasActions) {
|
|
23678
24030
|
const actionsColumn = {
|
|
@@ -23766,7 +24118,7 @@ function Table({
|
|
|
23766
24118
|
return rowKey(item);
|
|
23767
24119
|
}
|
|
23768
24120
|
const key = item[rowKey];
|
|
23769
|
-
return _optionalChain([key, 'optionalAccess',
|
|
24121
|
+
return _optionalChain([key, 'optionalAccess', _537 => _537.toString, 'call', _538 => _538()]) || index.toString();
|
|
23770
24122
|
};
|
|
23771
24123
|
const getRowClassName = (item, index) => {
|
|
23772
24124
|
if (typeof rowClassName === "function") {
|
|
@@ -23800,23 +24152,23 @@ function Table({
|
|
|
23800
24152
|
const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
|
|
23801
24153
|
const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
|
|
23802
24154
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
23803
|
-
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess',
|
|
23804
|
-
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess',
|
|
24155
|
+
const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _539 => _539.onLoadMore]));
|
|
24156
|
+
onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _540 => _540.onLoadMore]);
|
|
23805
24157
|
_react.useEffect.call(void 0, () => {
|
|
23806
|
-
if (!_optionalChain([infiniteScroll, 'optionalAccess',
|
|
24158
|
+
if (!_optionalChain([infiniteScroll, 'optionalAccess', _541 => _541.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
|
|
23807
24159
|
const sentinel = sentinelRef.current;
|
|
23808
24160
|
if (!sentinel) return;
|
|
23809
24161
|
const observer = new IntersectionObserver(
|
|
23810
24162
|
(entries) => {
|
|
23811
|
-
if (_optionalChain([entries, 'access',
|
|
23812
|
-
_optionalChain([onLoadMoreRef, 'access',
|
|
24163
|
+
if (_optionalChain([entries, 'access', _542 => _542[0], 'optionalAccess', _543 => _543.isIntersecting])) {
|
|
24164
|
+
_optionalChain([onLoadMoreRef, 'access', _544 => _544.current, 'optionalCall', _545 => _545()]);
|
|
23813
24165
|
}
|
|
23814
24166
|
},
|
|
23815
24167
|
{ rootMargin: "200px" }
|
|
23816
24168
|
);
|
|
23817
24169
|
observer.observe(sentinel);
|
|
23818
24170
|
return () => observer.disconnect();
|
|
23819
|
-
}, [_optionalChain([infiniteScroll, 'optionalAccess',
|
|
24171
|
+
}, [_optionalChain([infiniteScroll, 'optionalAccess', _546 => _546.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _547 => _547.isFetchingNextPage])]);
|
|
23820
24172
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
|
|
23821
24173
|
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: [
|
|
23822
24174
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
|
|
@@ -23887,7 +24239,7 @@ function Table({
|
|
|
23887
24239
|
},
|
|
23888
24240
|
getRowKey(item, index)
|
|
23889
24241
|
)),
|
|
23890
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
24242
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _548 => _548.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
23891
24243
|
TableCardSkeleton,
|
|
23892
24244
|
{
|
|
23893
24245
|
columns,
|
|
@@ -23896,7 +24248,7 @@ function Table({
|
|
|
23896
24248
|
hasChevron: Boolean(rowHref)
|
|
23897
24249
|
}
|
|
23898
24250
|
),
|
|
23899
|
-
_optionalChain([infiniteScroll, 'optionalAccess',
|
|
24251
|
+
_optionalChain([infiniteScroll, 'optionalAccess', _549 => _549.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
|
|
23900
24252
|
!infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
23901
24253
|
"div",
|
|
23902
24254
|
{
|
|
@@ -24254,7 +24606,7 @@ function QueryReportTable({
|
|
|
24254
24606
|
);
|
|
24255
24607
|
const handleExport = () => {
|
|
24256
24608
|
exportToCSV(data, columns, exportFilename);
|
|
24257
|
-
_optionalChain([onExport, 'optionalCall',
|
|
24609
|
+
_optionalChain([onExport, 'optionalCall', _550 => _550()]);
|
|
24258
24610
|
};
|
|
24259
24611
|
const tableMinWidth = columns.length * (columnWidth + 16);
|
|
24260
24612
|
const {
|
|
@@ -24270,7 +24622,7 @@ function QueryReportTable({
|
|
|
24270
24622
|
onThumbPointerDown,
|
|
24271
24623
|
onThumbPointerMove,
|
|
24272
24624
|
onThumbPointerUp
|
|
24273
|
-
} =
|
|
24625
|
+
} = _chunkOII2IEREcjs.useHorizontalScrollbar.call(void 0, );
|
|
24274
24626
|
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: [
|
|
24275
24627
|
!isCompact && (title || headerActions || showExport && data.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between pt-6", children: [
|
|
24276
24628
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "font-mono font-semibold text-[32px] leading-[40px] text-ods-text-primary", children: title }),
|
|
@@ -24427,7 +24779,7 @@ function DataTableColumnFilter({
|
|
|
24427
24779
|
align = "left"
|
|
24428
24780
|
}) {
|
|
24429
24781
|
const currentValue = column.getFilterValue();
|
|
24430
|
-
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess',
|
|
24782
|
+
const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _551 => _551.length]), () => ( 0));
|
|
24431
24783
|
const sections = _react.useMemo.call(void 0,
|
|
24432
24784
|
() => [
|
|
24433
24785
|
{
|
|
@@ -24501,13 +24853,13 @@ function DataTableHeader({
|
|
|
24501
24853
|
onSortChange
|
|
24502
24854
|
}) {
|
|
24503
24855
|
const table = useDataTableContext();
|
|
24504
|
-
const isLgUp = _nullishCoalesce(
|
|
24856
|
+
const isLgUp = _nullishCoalesce(_chunkOII2IEREcjs.useLgUp.call(void 0, ), () => ( false));
|
|
24505
24857
|
const headerGroup = table.getHeaderGroups()[0];
|
|
24506
24858
|
if (!headerGroup) return null;
|
|
24507
24859
|
const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
|
|
24508
24860
|
if (header.isPlaceholder) return false;
|
|
24509
24861
|
if (isLgUp) return true;
|
|
24510
|
-
return Boolean(_optionalChain([header, 'access',
|
|
24862
|
+
return Boolean(_optionalChain([header, 'access', _552 => _552.column, 'access', _553 => _553.columnDef, 'access', _554 => _554.meta, 'optionalAccess', _555 => _555.filter]));
|
|
24511
24863
|
});
|
|
24512
24864
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24513
24865
|
"div",
|
|
@@ -24537,20 +24889,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
24537
24889
|
if (header.isPlaceholder) return null;
|
|
24538
24890
|
const column = header.column;
|
|
24539
24891
|
const meta = column.columnDef.meta;
|
|
24540
|
-
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess',
|
|
24541
|
-
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess',
|
|
24542
|
-
const canSort = _optionalChain([meta, 'optionalAccess',
|
|
24543
|
-
const sortDir = _optionalChain([sort, 'optionalAccess',
|
|
24892
|
+
const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _556 => _556.filter]));
|
|
24893
|
+
const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _557 => _557.align]), () => ( "left"));
|
|
24894
|
+
const canSort = _optionalChain([meta, 'optionalAccess', _558 => _558.sortable]) === true;
|
|
24895
|
+
const sortDir = _optionalChain([sort, 'optionalAccess', _559 => _559.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
|
|
24544
24896
|
if (!isLgUp && !hasFilter) return null;
|
|
24545
24897
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24546
24898
|
"div",
|
|
24547
24899
|
{
|
|
24548
24900
|
className: _chunkUC43NICZcjs.cn.call(void 0,
|
|
24549
24901
|
"flex items-stretch",
|
|
24550
|
-
isLgUp && (_optionalChain([meta, 'optionalAccess',
|
|
24551
|
-
_optionalChain([meta, 'optionalAccess',
|
|
24902
|
+
isLgUp && (_optionalChain([meta, 'optionalAccess', _560 => _560.width]) || "flex-1 min-w-0"),
|
|
24903
|
+
_optionalChain([meta, 'optionalAccess', _561 => _561.headerClassName]),
|
|
24552
24904
|
// Don't apply hide classes if column is filterable on tablet (keep filter accessible)
|
|
24553
|
-
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
24905
|
+
!(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _562 => _562.hideAt]))
|
|
24554
24906
|
),
|
|
24555
24907
|
children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24556
24908
|
DataTableColumnFilter,
|
|
@@ -24569,7 +24921,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
|
|
|
24569
24921
|
isLgUp && alignJustify(align),
|
|
24570
24922
|
canSort && "group cursor-pointer"
|
|
24571
24923
|
),
|
|
24572
|
-
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall',
|
|
24924
|
+
onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _563 => _563(column.id)]) : void 0,
|
|
24573
24925
|
children: [
|
|
24574
24926
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
|
|
24575
24927
|
canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
|
|
@@ -24653,7 +25005,7 @@ function DataTableSkeleton({
|
|
|
24653
25005
|
}) {
|
|
24654
25006
|
const table = useDataTableContext();
|
|
24655
25007
|
const columns = table.getVisibleFlatColumns();
|
|
24656
|
-
const firstColumnId = _optionalChain([columns, 'access',
|
|
25008
|
+
const firstColumnId = _optionalChain([columns, 'access', _564 => _564[0], 'optionalAccess', _565 => _565.id]);
|
|
24657
25009
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24658
25010
|
"div",
|
|
24659
25011
|
{
|
|
@@ -24677,7 +25029,7 @@ function DataTableSkeleton({
|
|
|
24677
25029
|
{
|
|
24678
25030
|
className: _chunkUC43NICZcjs.cn.call(void 0,
|
|
24679
25031
|
"flex flex-col justify-center shrink-0",
|
|
24680
|
-
_optionalChain([meta, 'optionalAccess',
|
|
25032
|
+
_optionalChain([meta, 'optionalAccess', _566 => _566.width]) || "flex-1"
|
|
24681
25033
|
),
|
|
24682
25034
|
children: [
|
|
24683
25035
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
|
|
@@ -24723,7 +25075,7 @@ function DataTableRowImpl({
|
|
|
24723
25075
|
(e) => {
|
|
24724
25076
|
const target = e.target;
|
|
24725
25077
|
if (target.closest("[data-no-row-click]")) return;
|
|
24726
|
-
_optionalChain([onClick, 'optionalCall',
|
|
25078
|
+
_optionalChain([onClick, 'optionalCall', _567 => _567(row.original)]);
|
|
24727
25079
|
},
|
|
24728
25080
|
[onClick, row.original]
|
|
24729
25081
|
);
|
|
@@ -24761,10 +25113,10 @@ function DataTableRowImpl({
|
|
|
24761
25113
|
{
|
|
24762
25114
|
className: _chunkUC43NICZcjs.cn.call(void 0,
|
|
24763
25115
|
"flex flex-col overflow-hidden",
|
|
24764
|
-
alignJustify(_optionalChain([meta, 'optionalAccess',
|
|
24765
|
-
_optionalChain([meta, 'optionalAccess',
|
|
24766
|
-
_optionalChain([meta, 'optionalAccess',
|
|
24767
|
-
getHideClasses2(_optionalChain([meta, 'optionalAccess',
|
|
25116
|
+
alignJustify(_optionalChain([meta, 'optionalAccess', _568 => _568.align])),
|
|
25117
|
+
_optionalChain([meta, 'optionalAccess', _569 => _569.width]) || "flex-1 min-w-0",
|
|
25118
|
+
_optionalChain([meta, 'optionalAccess', _570 => _570.cellClassName]),
|
|
25119
|
+
getHideClasses2(_optionalChain([meta, 'optionalAccess', _571 => _571.hideAt]))
|
|
24768
25120
|
),
|
|
24769
25121
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
|
|
24770
25122
|
},
|
|
@@ -24810,7 +25162,7 @@ function DataTableBody({
|
|
|
24810
25162
|
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: [
|
|
24811
25163
|
rows.map((row, index) => {
|
|
24812
25164
|
const item = row.original;
|
|
24813
|
-
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall',
|
|
25165
|
+
const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _572 => _572(item)]), () => ( void 0));
|
|
24814
25166
|
const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
|
|
24815
25167
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24816
25168
|
DataTableRow,
|
|
@@ -24874,7 +25226,7 @@ function DataTableInfiniteFooter({
|
|
|
24874
25226
|
if (!sentinel) return;
|
|
24875
25227
|
const observer = new IntersectionObserver(
|
|
24876
25228
|
(entries) => {
|
|
24877
|
-
if (_optionalChain([entries, 'access',
|
|
25229
|
+
if (_optionalChain([entries, 'access', _573 => _573[0], 'optionalAccess', _574 => _574.isIntersecting])) onLoadMoreRef.current();
|
|
24878
25230
|
},
|
|
24879
25231
|
{ rootMargin }
|
|
24880
25232
|
);
|
|
@@ -24922,7 +25274,7 @@ function DataTableRowCount({
|
|
|
24922
25274
|
const table = useDataTableContext();
|
|
24923
25275
|
const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
|
|
24924
25276
|
if (hideWhenEmpty && count === 0) return null;
|
|
24925
|
-
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall',
|
|
25277
|
+
const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _575 => _575(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
|
|
24926
25278
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
24927
25279
|
"span",
|
|
24928
25280
|
{
|
|
@@ -25016,12 +25368,12 @@ function PhoneInput({
|
|
|
25016
25368
|
const runValidation = _react.useCallback.call(void 0, (phone) => {
|
|
25017
25369
|
if (!phone || digitCount(phone) === 0) {
|
|
25018
25370
|
setIsInvalid(false);
|
|
25019
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
25371
|
+
_optionalChain([onValidationChange, 'optionalCall', _576 => _576(false)]);
|
|
25020
25372
|
return;
|
|
25021
25373
|
}
|
|
25022
25374
|
const invalid = !validatePhoneNumber(phone, countryCode);
|
|
25023
25375
|
setIsInvalid(invalid);
|
|
25024
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
25376
|
+
_optionalChain([onValidationChange, 'optionalCall', _577 => _577(invalid)]);
|
|
25025
25377
|
}, [countryCode, digitCount, onValidationChange]);
|
|
25026
25378
|
const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
|
|
25027
25379
|
if (debounceRef.current) clearTimeout(debounceRef.current);
|
|
@@ -25070,7 +25422,7 @@ function PhoneInput({
|
|
|
25070
25422
|
debouncedValidation(val);
|
|
25071
25423
|
} else if (digitCount(val) === 0) {
|
|
25072
25424
|
setIsInvalid(false);
|
|
25073
|
-
_optionalChain([onValidationChange, 'optionalCall',
|
|
25425
|
+
_optionalChain([onValidationChange, 'optionalCall', _578 => _578(false)]);
|
|
25074
25426
|
}
|
|
25075
25427
|
}
|
|
25076
25428
|
},
|
|
@@ -25150,7 +25502,7 @@ function SearchInput({
|
|
|
25150
25502
|
}) {
|
|
25151
25503
|
const [internalValue, setInternalValue] = React83.useState(defaultValue);
|
|
25152
25504
|
const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
|
|
25153
|
-
const debouncedValue =
|
|
25505
|
+
const debouncedValue = _chunkOII2IEREcjs.useDebounce.call(void 0, currentValue, debounceMs);
|
|
25154
25506
|
const [isOpen, setIsOpen] = React83.useState(false);
|
|
25155
25507
|
const [highlightedIndex, setHighlightedIndex] = React83.useState(-1);
|
|
25156
25508
|
const containerRef = React83.useRef(null);
|
|
@@ -25162,7 +25514,7 @@ function SearchInput({
|
|
|
25162
25514
|
textMeasureRef,
|
|
25163
25515
|
badgeRef,
|
|
25164
25516
|
inputRef
|
|
25165
|
-
} =
|
|
25517
|
+
} = _chunkOII2IEREcjs.useAutoLimitTags.call(void 0, {
|
|
25166
25518
|
count: filterChips.length,
|
|
25167
25519
|
limitTags,
|
|
25168
25520
|
// When chips exist, pass empty placeholder so the hook only reserves input minWidth,
|
|
@@ -25177,7 +25529,7 @@ function SearchInput({
|
|
|
25177
25529
|
if (!showHiddenTags) return;
|
|
25178
25530
|
const handleClick = (e) => {
|
|
25179
25531
|
const target = e.target;
|
|
25180
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
25532
|
+
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)])) {
|
|
25181
25533
|
setShowHiddenTags(false);
|
|
25182
25534
|
}
|
|
25183
25535
|
};
|
|
@@ -25225,10 +25577,10 @@ function SearchInput({
|
|
|
25225
25577
|
} else {
|
|
25226
25578
|
setInternalValue("");
|
|
25227
25579
|
}
|
|
25228
|
-
_optionalChain([inputRef, 'access',
|
|
25580
|
+
_optionalChain([inputRef, 'access', _585 => _585.current, 'optionalAccess', _586 => _586.focus, 'call', _587 => _587()]);
|
|
25229
25581
|
};
|
|
25230
25582
|
const handleResultClick = (result, e) => {
|
|
25231
|
-
_optionalChain([onResultSelect, 'optionalCall',
|
|
25583
|
+
_optionalChain([onResultSelect, 'optionalCall', _588 => _588(
|
|
25232
25584
|
result,
|
|
25233
25585
|
e ? {
|
|
25234
25586
|
metaKey: e.metaKey,
|
|
@@ -25260,7 +25612,7 @@ function SearchInput({
|
|
|
25260
25612
|
if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
|
|
25261
25613
|
handleResultClick(flatResults[highlightedIndex]);
|
|
25262
25614
|
} else {
|
|
25263
|
-
_optionalChain([onSubmit, 'optionalCall',
|
|
25615
|
+
_optionalChain([onSubmit, 'optionalCall', _589 => _589(currentValue)]);
|
|
25264
25616
|
}
|
|
25265
25617
|
break;
|
|
25266
25618
|
case "Escape":
|
|
@@ -25338,7 +25690,7 @@ function SearchInput({
|
|
|
25338
25690
|
dropdownVisible && "!border-ods-accent"
|
|
25339
25691
|
),
|
|
25340
25692
|
onClick: () => {
|
|
25341
|
-
_optionalChain([inputRef, 'access',
|
|
25693
|
+
_optionalChain([inputRef, 'access', _590 => _590.current, 'optionalAccess', _591 => _591.focus, 'call', _592 => _592()]);
|
|
25342
25694
|
setIsOpen(true);
|
|
25343
25695
|
},
|
|
25344
25696
|
children: [
|
|
@@ -25422,10 +25774,10 @@ function SearchInput({
|
|
|
25422
25774
|
align: "start",
|
|
25423
25775
|
onOpenAutoFocus: (e) => {
|
|
25424
25776
|
e.preventDefault();
|
|
25425
|
-
_optionalChain([inputRef, 'access',
|
|
25777
|
+
_optionalChain([inputRef, 'access', _593 => _593.current, 'optionalAccess', _594 => _594.focus, 'call', _595 => _595()]);
|
|
25426
25778
|
},
|
|
25427
25779
|
onInteractOutside: (e) => {
|
|
25428
|
-
if (_optionalChain([containerRef, 'access',
|
|
25780
|
+
if (_optionalChain([containerRef, 'access', _596 => _596.current, 'optionalAccess', _597 => _597.contains, 'call', _598 => _598(e.target)])) {
|
|
25429
25781
|
e.preventDefault();
|
|
25430
25782
|
}
|
|
25431
25783
|
},
|
|
@@ -25442,10 +25794,10 @@ function SearchInput({
|
|
|
25442
25794
|
ref: hiddenTagsPopupRef,
|
|
25443
25795
|
items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
|
|
25444
25796
|
style: {
|
|
25445
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access',
|
|
25797
|
+
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
|
|
25446
25798
|
},
|
|
25447
25799
|
onRemove: (value2) => {
|
|
25448
|
-
_optionalChain([onFilterRemove, 'optionalCall',
|
|
25800
|
+
_optionalChain([onFilterRemove, 'optionalCall', _603 => _603(value2)]);
|
|
25449
25801
|
if (hiddenCount <= 1) setShowHiddenTags(false);
|
|
25450
25802
|
}
|
|
25451
25803
|
}
|
|
@@ -25496,7 +25848,7 @@ function FilterListItem({
|
|
|
25496
25848
|
}) {
|
|
25497
25849
|
const handleToggle = () => {
|
|
25498
25850
|
if (disabled) return;
|
|
25499
|
-
_optionalChain([onToggle, 'optionalCall',
|
|
25851
|
+
_optionalChain([onToggle, 'optionalCall', _604 => _604(!selected)]);
|
|
25500
25852
|
};
|
|
25501
25853
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
25502
25854
|
"div",
|
|
@@ -25543,7 +25895,7 @@ function FilterListItem({
|
|
|
25543
25895
|
CheckboxPrimitive4.Root,
|
|
25544
25896
|
{
|
|
25545
25897
|
checked: selected,
|
|
25546
|
-
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall',
|
|
25898
|
+
onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _605 => _605(c === true)]),
|
|
25547
25899
|
onClick: (e) => e.stopPropagation(),
|
|
25548
25900
|
disabled,
|
|
25549
25901
|
"aria-label": title,
|
|
@@ -25629,7 +25981,7 @@ function TagSearchInput({
|
|
|
25629
25981
|
textMeasureRef,
|
|
25630
25982
|
badgeRef,
|
|
25631
25983
|
inputRef
|
|
25632
|
-
} =
|
|
25984
|
+
} = _chunkOII2IEREcjs.useAutoLimitTags.call(void 0, {
|
|
25633
25985
|
count: tags.length,
|
|
25634
25986
|
limitTags,
|
|
25635
25987
|
placeholder: currentPlaceholder
|
|
@@ -25642,7 +25994,7 @@ function TagSearchInput({
|
|
|
25642
25994
|
if (!showHiddenTags) return;
|
|
25643
25995
|
const handleClick = (e) => {
|
|
25644
25996
|
const target = e.target;
|
|
25645
|
-
if (!_optionalChain([hiddenTagsRef, 'access',
|
|
25997
|
+
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)])) {
|
|
25646
25998
|
setShowHiddenTags(false);
|
|
25647
25999
|
}
|
|
25648
26000
|
};
|
|
@@ -25658,13 +26010,13 @@ function TagSearchInput({
|
|
|
25658
26010
|
e.preventDefault();
|
|
25659
26011
|
onSubmit(searchValue);
|
|
25660
26012
|
}
|
|
25661
|
-
_optionalChain([onKeyDown, 'optionalCall',
|
|
26013
|
+
_optionalChain([onKeyDown, 'optionalCall', _612 => _612(e)]);
|
|
25662
26014
|
};
|
|
25663
26015
|
const handleClearAll = (e) => {
|
|
25664
26016
|
e.stopPropagation();
|
|
25665
26017
|
e.preventDefault();
|
|
25666
|
-
_optionalChain([onClearAll, 'optionalCall',
|
|
25667
|
-
_optionalChain([inputRef, 'access',
|
|
26018
|
+
_optionalChain([onClearAll, 'optionalCall', _613 => _613()]);
|
|
26019
|
+
_optionalChain([inputRef, 'access', _614 => _614.current, 'optionalAccess', _615 => _615.focus, 'call', _616 => _616()]);
|
|
25668
26020
|
};
|
|
25669
26021
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
|
|
25670
26022
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -25681,7 +26033,7 @@ function TagSearchInput({
|
|
|
25681
26033
|
className
|
|
25682
26034
|
),
|
|
25683
26035
|
onClick: () => {
|
|
25684
|
-
if (!disabled) _optionalChain([inputRef, 'access',
|
|
26036
|
+
if (!disabled) _optionalChain([inputRef, 'access', _617 => _617.current, 'optionalAccess', _618 => _618.focus, 'call', _619 => _619()]);
|
|
25685
26037
|
},
|
|
25686
26038
|
children: [
|
|
25687
26039
|
/* @__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" }) }),
|
|
@@ -25753,7 +26105,7 @@ function TagSearchInput({
|
|
|
25753
26105
|
items: hiddenTags,
|
|
25754
26106
|
disabled,
|
|
25755
26107
|
style: {
|
|
25756
|
-
left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access',
|
|
26108
|
+
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
|
|
25757
26109
|
},
|
|
25758
26110
|
onRemove: (value) => {
|
|
25759
26111
|
onTagRemove(value);
|
|
@@ -25855,7 +26207,7 @@ function MarkdownEditor({
|
|
|
25855
26207
|
const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
|
|
25856
26208
|
_react.useEffect.call(void 0, () => {
|
|
25857
26209
|
Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
|
|
25858
|
-
if (_optionalChain([mod, 'access',
|
|
26210
|
+
if (_optionalChain([mod, 'access', _624 => _624.commands, 'optionalAccess', _625 => _625.getExtraCommands])) {
|
|
25859
26211
|
setDefaultExtraCommands(mod.commands.getExtraCommands());
|
|
25860
26212
|
}
|
|
25861
26213
|
});
|
|
@@ -25889,7 +26241,7 @@ function MarkdownEditor({
|
|
|
25889
26241
|
const isImage = file.type.startsWith("image/");
|
|
25890
26242
|
const markdown = isImage ? `` : `[${file.name}](${url})`;
|
|
25891
26243
|
insertTextAtCursor(markdown);
|
|
25892
|
-
_optionalChain([onFileUploaded, 'optionalCall',
|
|
26244
|
+
_optionalChain([onFileUploaded, 'optionalCall', _626 => _626(url, file.name)]);
|
|
25893
26245
|
} catch (error) {
|
|
25894
26246
|
console.error("File upload failed:", error);
|
|
25895
26247
|
setUploadProgress("Upload failed. Please try again.");
|
|
@@ -25902,7 +26254,7 @@ function MarkdownEditor({
|
|
|
25902
26254
|
);
|
|
25903
26255
|
const handleFileInputChange = _react.useCallback.call(void 0,
|
|
25904
26256
|
(e) => {
|
|
25905
|
-
const file = _optionalChain([e, 'access',
|
|
26257
|
+
const file = _optionalChain([e, 'access', _627 => _627.target, 'access', _628 => _628.files, 'optionalAccess', _629 => _629[0]]);
|
|
25906
26258
|
if (file) {
|
|
25907
26259
|
handleFileUpload(file);
|
|
25908
26260
|
e.target.value = "";
|
|
@@ -25913,7 +26265,7 @@ function MarkdownEditor({
|
|
|
25913
26265
|
const handlePaste = _react.useCallback.call(void 0,
|
|
25914
26266
|
(e) => {
|
|
25915
26267
|
if (!onUploadFile) return;
|
|
25916
|
-
const items = _optionalChain([e, 'access',
|
|
26268
|
+
const items = _optionalChain([e, 'access', _630 => _630.clipboardData, 'optionalAccess', _631 => _631.items]);
|
|
25917
26269
|
if (!items) return;
|
|
25918
26270
|
for (const item of items) {
|
|
25919
26271
|
if (item.type.startsWith("image/")) {
|
|
@@ -25938,7 +26290,7 @@ function MarkdownEditor({
|
|
|
25938
26290
|
buttonProps: { "aria-label": "Upload file", title: "Upload file" },
|
|
25939
26291
|
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" }),
|
|
25940
26292
|
execute: () => {
|
|
25941
|
-
_optionalChain([fileInputRef, 'access',
|
|
26293
|
+
_optionalChain([fileInputRef, 'access', _632 => _632.current, 'optionalAccess', _633 => _633.click, 'call', _634 => _634()]);
|
|
25942
26294
|
}
|
|
25943
26295
|
} : null;
|
|
25944
26296
|
const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
|
|
@@ -25950,7 +26302,7 @@ function MarkdownEditor({
|
|
|
25950
26302
|
const EDGE_ZONE = 60;
|
|
25951
26303
|
const MAX_SCROLL_SPEED = 15;
|
|
25952
26304
|
const findScrollParent = _react.useCallback.call(void 0, (el) => {
|
|
25953
|
-
let node = _optionalChain([el, 'optionalAccess',
|
|
26305
|
+
let node = _optionalChain([el, 'optionalAccess', _635 => _635.parentElement]);
|
|
25954
26306
|
while (node && node !== document.documentElement) {
|
|
25955
26307
|
const { overflowY } = window.getComputedStyle(node);
|
|
25956
26308
|
if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
|
|
@@ -26093,7 +26445,7 @@ function matchesAccept(file, accept) {
|
|
|
26093
26445
|
});
|
|
26094
26446
|
}
|
|
26095
26447
|
function dragHasFiles(e) {
|
|
26096
|
-
const types = _optionalChain([e, 'access',
|
|
26448
|
+
const types = _optionalChain([e, 'access', _636 => _636.dataTransfer, 'optionalAccess', _637 => _637.types]);
|
|
26097
26449
|
if (!types) return false;
|
|
26098
26450
|
for (let i = 0; i < types.length; i++) {
|
|
26099
26451
|
if (types[i] === "Files") return true;
|
|
@@ -26188,7 +26540,7 @@ function FileUpload({
|
|
|
26188
26540
|
e.stopPropagation();
|
|
26189
26541
|
setDragActive(false);
|
|
26190
26542
|
if (disabled) return;
|
|
26191
|
-
if (_optionalChain([e, 'access',
|
|
26543
|
+
if (_optionalChain([e, 'access', _638 => _638.dataTransfer, 'access', _639 => _639.files, 'optionalAccess', _640 => _640.length])) {
|
|
26192
26544
|
handleFiles(e.dataTransfer.files);
|
|
26193
26545
|
}
|
|
26194
26546
|
};
|
|
@@ -26216,7 +26568,7 @@ function FileUpload({
|
|
|
26216
26568
|
e.preventDefault();
|
|
26217
26569
|
dragCounter = 0;
|
|
26218
26570
|
setDragActive(false);
|
|
26219
|
-
if (_optionalChain([e, 'access',
|
|
26571
|
+
if (_optionalChain([e, 'access', _641 => _641.dataTransfer, 'optionalAccess', _642 => _642.files, 'optionalAccess', _643 => _643.length])) {
|
|
26220
26572
|
handleFilesRef.current(e.dataTransfer.files);
|
|
26221
26573
|
}
|
|
26222
26574
|
};
|
|
@@ -26238,7 +26590,7 @@ function FileUpload({
|
|
|
26238
26590
|
};
|
|
26239
26591
|
}, [acceptWindowDrops, disabled]);
|
|
26240
26592
|
const handleFileSelect = (e) => {
|
|
26241
|
-
if (_optionalChain([e, 'access',
|
|
26593
|
+
if (_optionalChain([e, 'access', _644 => _644.target, 'access', _645 => _645.files, 'optionalAccess', _646 => _646.length])) {
|
|
26242
26594
|
handleFiles(e.target.files);
|
|
26243
26595
|
}
|
|
26244
26596
|
};
|
|
@@ -26255,7 +26607,7 @@ function FileUpload({
|
|
|
26255
26607
|
};
|
|
26256
26608
|
const openDialog = async () => {
|
|
26257
26609
|
if (disabled) return;
|
|
26258
|
-
_optionalChain([fileInputRef, 'access',
|
|
26610
|
+
_optionalChain([fileInputRef, 'access', _647 => _647.current, 'optionalAccess', _648 => _648.click, 'call', _649 => _649()]);
|
|
26259
26611
|
};
|
|
26260
26612
|
const displayError = error || validationError || void 0;
|
|
26261
26613
|
const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
|
|
@@ -26333,7 +26685,7 @@ function FileUpload({
|
|
|
26333
26685
|
"button",
|
|
26334
26686
|
{
|
|
26335
26687
|
type: "button",
|
|
26336
|
-
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall',
|
|
26688
|
+
onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _650 => _650(entry.id)]),
|
|
26337
26689
|
className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
|
|
26338
26690
|
"aria-label": `Remove ${entry.fileName}`,
|
|
26339
26691
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
|
|
@@ -26456,7 +26808,7 @@ function ImageUploader({
|
|
|
26456
26808
|
onChange(file);
|
|
26457
26809
|
};
|
|
26458
26810
|
const handleFileSelect = (e) => {
|
|
26459
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
26811
|
+
validateAndEmit(_optionalChain([e, 'access', _651 => _651.target, 'access', _652 => _652.files, 'optionalAccess', _653 => _653[0]]));
|
|
26460
26812
|
if (inputRef.current) inputRef.current.value = "";
|
|
26461
26813
|
};
|
|
26462
26814
|
const handleDrag = (e) => {
|
|
@@ -26471,11 +26823,11 @@ function ImageUploader({
|
|
|
26471
26823
|
e.stopPropagation();
|
|
26472
26824
|
setDragActive(false);
|
|
26473
26825
|
if (!interactive) return;
|
|
26474
|
-
validateAndEmit(_optionalChain([e, 'access',
|
|
26826
|
+
validateAndEmit(_optionalChain([e, 'access', _654 => _654.dataTransfer, 'access', _655 => _655.files, 'optionalAccess', _656 => _656[0]]));
|
|
26475
26827
|
};
|
|
26476
26828
|
const openDialog = () => {
|
|
26477
26829
|
if (!interactive) return;
|
|
26478
|
-
_optionalChain([inputRef, 'access',
|
|
26830
|
+
_optionalChain([inputRef, 'access', _657 => _657.current, 'optionalAccess', _658 => _658.click, 'call', _659 => _659()]);
|
|
26479
26831
|
};
|
|
26480
26832
|
const handleRootKeyDown = (e) => {
|
|
26481
26833
|
if (hasImage || !interactive) return;
|
|
@@ -26632,7 +26984,7 @@ function CompactAssigneeDropdown({
|
|
|
26632
26984
|
return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
|
|
26633
26985
|
}, [filtered, currentAssignee]);
|
|
26634
26986
|
const handleSelect = (userId) => {
|
|
26635
|
-
const next = _optionalChain([currentAssignee, 'optionalAccess',
|
|
26987
|
+
const next = _optionalChain([currentAssignee, 'optionalAccess', _660 => _660.id]) === userId ? null : userId;
|
|
26636
26988
|
onAssign(next);
|
|
26637
26989
|
setIsOpen(false);
|
|
26638
26990
|
};
|
|
@@ -26697,7 +27049,7 @@ function CompactAssigneeDropdown({
|
|
|
26697
27049
|
}
|
|
26698
27050
|
) }),
|
|
26699
27051
|
/* @__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) => {
|
|
26700
|
-
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess',
|
|
27052
|
+
const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _661 => _661.id]) === opt.value;
|
|
26701
27053
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
26702
27054
|
"button",
|
|
26703
27055
|
{
|
|
@@ -26766,7 +27118,7 @@ function DefaultAssigneeDropdown({
|
|
|
26766
27118
|
Autocomplete,
|
|
26767
27119
|
{
|
|
26768
27120
|
options,
|
|
26769
|
-
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess',
|
|
27121
|
+
value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _662 => _662.id]), () => ( null)),
|
|
26770
27122
|
onChange: (val) => {
|
|
26771
27123
|
onAssign(val);
|
|
26772
27124
|
setIsEditing(false);
|
|
@@ -27124,14 +27476,14 @@ function TicketInfoSection({
|
|
|
27124
27476
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27125
27477
|
SquareAvatar,
|
|
27126
27478
|
{
|
|
27127
|
-
src: _optionalChain([organization, 'optionalAccess',
|
|
27128
|
-
alt: _optionalChain([organization, 'optionalAccess',
|
|
27129
|
-
fallback: _optionalChain([organization, 'optionalAccess',
|
|
27479
|
+
src: _optionalChain([organization, 'optionalAccess', _663 => _663.imageSrc]),
|
|
27480
|
+
alt: _optionalChain([organization, 'optionalAccess', _664 => _664.name]),
|
|
27481
|
+
fallback: _optionalChain([organization, 'optionalAccess', _665 => _665.name]) || "Org",
|
|
27130
27482
|
size: "md",
|
|
27131
27483
|
className: "shrink-0"
|
|
27132
27484
|
}
|
|
27133
27485
|
),
|
|
27134
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess',
|
|
27486
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _666 => _666.name]) || "Unassigned", label: "Organization" })
|
|
27135
27487
|
] }),
|
|
27136
27488
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27137
27489
|
AssigneeDropdown,
|
|
@@ -27152,10 +27504,10 @@ function TicketInfoSection({
|
|
|
27152
27504
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
27153
27505
|
InfoCell2,
|
|
27154
27506
|
{
|
|
27155
|
-
value: _optionalChain([device, 'optionalAccess',
|
|
27507
|
+
value: _optionalChain([device, 'optionalAccess', _667 => _667.name]) || "Unassigned",
|
|
27156
27508
|
label: "Device",
|
|
27157
|
-
icon: _optionalChain([device, 'optionalAccess',
|
|
27158
|
-
onClick: _optionalChain([device, 'optionalAccess',
|
|
27509
|
+
icon: _optionalChain([device, 'optionalAccess', _668 => _668.icon]),
|
|
27510
|
+
onClick: _optionalChain([device, 'optionalAccess', _669 => _669.onClick])
|
|
27159
27511
|
}
|
|
27160
27512
|
),
|
|
27161
27513
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
|
|
@@ -27914,10 +28266,10 @@ var getContentDimensions = (config) => {
|
|
|
27914
28266
|
const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
|
|
27915
28267
|
const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
|
|
27916
28268
|
const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
|
|
27917
|
-
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
27918
|
-
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
27919
|
-
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess',
|
|
27920
|
-
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess',
|
|
28269
|
+
const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _670 => _670.mobileContentDimensions, 'optionalAccess', _671 => _671.width]))), () => ( defaultMobile.width));
|
|
28270
|
+
const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _672 => _672.mobileContentDimensions, 'optionalAccess', _673 => _673.height]))), () => ( defaultMobile.height));
|
|
28271
|
+
const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _674 => _674.desktopContentDimensions, 'optionalAccess', _675 => _675.width]))), () => ( defaultDesktop.width));
|
|
28272
|
+
const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _676 => _676.desktopContentDimensions, 'optionalAccess', _677 => _677.height]))), () => ( defaultDesktop.height));
|
|
27921
28273
|
return {
|
|
27922
28274
|
mobile: { width: mobileWidth, height: mobileHeight },
|
|
27923
28275
|
desktop: { width: desktopWidth, height: desktopHeight }
|
|
@@ -28051,7 +28403,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
|
|
|
28051
28403
|
const contentDimensions = getContentDimensions(config);
|
|
28052
28404
|
const mobileHeight = contentDimensions.mobile.height;
|
|
28053
28405
|
const calculatedHeight = Math.max(mobileHeight + 100, 400);
|
|
28054
|
-
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess',
|
|
28406
|
+
return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _678 => _678.innerHeight]) * 0.85 || 650)}px`;
|
|
28055
28407
|
})(),
|
|
28056
28408
|
minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
|
|
28057
28409
|
const contentDimensions = getContentDimensions(config);
|
|
@@ -28156,7 +28508,7 @@ var FigmaPrototypeViewer = ({
|
|
|
28156
28508
|
const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
|
|
28157
28509
|
const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
|
|
28158
28510
|
const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
|
|
28159
|
-
config.defaultSectionId || _optionalChain([config, 'access',
|
|
28511
|
+
config.defaultSectionId || _optionalChain([config, 'access', _679 => _679.sections, 'access', _680 => _680[0], 'optionalAccess', _681 => _681.id]) || ""
|
|
28160
28512
|
);
|
|
28161
28513
|
const activeSection = externalActiveSection || internalActiveSection;
|
|
28162
28514
|
const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
|
|
@@ -28246,7 +28598,7 @@ var FigmaPrototypeViewer = ({
|
|
|
28246
28598
|
const handleMessage = (event) => {
|
|
28247
28599
|
if (event.origin !== "https://www.figma.com") return;
|
|
28248
28600
|
const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
|
|
28249
|
-
if (_optionalChain([event, 'access',
|
|
28601
|
+
if (_optionalChain([event, 'access', _682 => _682.data, 'optionalAccess', _683 => _683.type]) && validEvents.includes(event.data.type)) {
|
|
28250
28602
|
const figmaEvent = event.data;
|
|
28251
28603
|
console.log("[Figma Event]", figmaEvent.type, viewMode);
|
|
28252
28604
|
switch (figmaEvent.type) {
|
|
@@ -28256,19 +28608,19 @@ var FigmaPrototypeViewer = ({
|
|
|
28256
28608
|
setIframeState("READY");
|
|
28257
28609
|
break;
|
|
28258
28610
|
case "PRESENTED_NODE_CHANGED":
|
|
28259
|
-
if (_optionalChain([figmaEvent, 'access',
|
|
28611
|
+
if (_optionalChain([figmaEvent, 'access', _684 => _684.data, 'optionalAccess', _685 => _685.presentedNodeId])) {
|
|
28260
28612
|
setCurrentNodeId(figmaEvent.data.presentedNodeId);
|
|
28261
28613
|
if (!isNavigating) {
|
|
28262
28614
|
const matchingSection = config.sections.find((s) => {
|
|
28263
|
-
const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access',
|
|
28264
|
-
const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access',
|
|
28615
|
+
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]);
|
|
28616
|
+
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]);
|
|
28265
28617
|
return desktopMatch || mobileMatch;
|
|
28266
28618
|
});
|
|
28267
28619
|
if (matchingSection && matchingSection.id !== activeSection) {
|
|
28268
28620
|
if (!externalActiveSection) {
|
|
28269
28621
|
setInternalActiveSection(matchingSection.id);
|
|
28270
28622
|
}
|
|
28271
|
-
_optionalChain([config, 'access',
|
|
28623
|
+
_optionalChain([config, 'access', _697 => _697.onSectionChange, 'optionalCall', _698 => _698(matchingSection.id)]);
|
|
28272
28624
|
}
|
|
28273
28625
|
}
|
|
28274
28626
|
}
|
|
@@ -28281,7 +28633,7 @@ var FigmaPrototypeViewer = ({
|
|
|
28281
28633
|
}, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
|
|
28282
28634
|
const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
|
|
28283
28635
|
const section = config.sections.find((s) => s.id === sectionId);
|
|
28284
|
-
if (!section || !_optionalChain([iframeRef, 'access',
|
|
28636
|
+
if (!section || !_optionalChain([iframeRef, 'access', _699 => _699.current, 'optionalAccess', _700 => _700.contentWindow]) || !isInitialized) {
|
|
28285
28637
|
return;
|
|
28286
28638
|
}
|
|
28287
28639
|
setIsNavigating(true);
|
|
@@ -28289,7 +28641,7 @@ var FigmaPrototypeViewer = ({
|
|
|
28289
28641
|
if (!externalActiveSection) {
|
|
28290
28642
|
setInternalActiveSection(sectionId);
|
|
28291
28643
|
}
|
|
28292
|
-
_optionalChain([config, 'access',
|
|
28644
|
+
_optionalChain([config, 'access', _701 => _701.onSectionChange, 'optionalCall', _702 => _702(sectionId)]);
|
|
28293
28645
|
const command = {
|
|
28294
28646
|
type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
|
|
28295
28647
|
data: { nodeId }
|
|
@@ -28609,7 +28961,7 @@ var FiltersDropdown = ({
|
|
|
28609
28961
|
defaults[section.id] = section.defaultSelected || [];
|
|
28610
28962
|
});
|
|
28611
28963
|
setSelectedFilters(defaults);
|
|
28612
|
-
_optionalChain([onReset, 'optionalCall',
|
|
28964
|
+
_optionalChain([onReset, 'optionalCall', _703 => _703()]);
|
|
28613
28965
|
setIsOpen(false);
|
|
28614
28966
|
};
|
|
28615
28967
|
const handleApply = () => {
|
|
@@ -28903,7 +29255,7 @@ function MediaGalleryManager({
|
|
|
28903
29255
|
const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
|
|
28904
29256
|
const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
|
|
28905
29257
|
const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
|
|
28906
|
-
const file = _optionalChain([event, 'access',
|
|
29258
|
+
const file = _optionalChain([event, 'access', _704 => _704.target, 'access', _705 => _705.files, 'optionalAccess', _706 => _706[0]]);
|
|
28907
29259
|
if (!file) return;
|
|
28908
29260
|
let mediaType;
|
|
28909
29261
|
if (file.type.startsWith("image/")) {
|
|
@@ -29018,7 +29370,7 @@ function MediaGalleryManager({
|
|
|
29018
29370
|
{
|
|
29019
29371
|
type: "button",
|
|
29020
29372
|
variant: "outline",
|
|
29021
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
29373
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _707 => _707.current, 'optionalAccess', _708 => _708.click, 'call', _709 => _709()]),
|
|
29022
29374
|
disabled: isUploading,
|
|
29023
29375
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
29024
29376
|
className: "font-['DM_Sans'] text-[16px] font-bold",
|
|
@@ -29628,7 +29980,7 @@ function PlatformFilterComponent({
|
|
|
29628
29980
|
variant: selectedPlatform === platform.value ? "accent" : "outline",
|
|
29629
29981
|
size,
|
|
29630
29982
|
onClick: () => onPlatformChange(platform.value),
|
|
29631
|
-
leftIcon: showIcons ?
|
|
29983
|
+
leftIcon: showIcons ? _chunkOII2IEREcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
|
|
29632
29984
|
className: "text-h3",
|
|
29633
29985
|
children: platform.label
|
|
29634
29986
|
},
|
|
@@ -29803,7 +30155,7 @@ function ReleaseMediaManager({
|
|
|
29803
30155
|
const fileInputRef = _react.useRef.call(void 0, null);
|
|
29804
30156
|
const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
|
|
29805
30157
|
const handleFileSelect = async (event) => {
|
|
29806
|
-
const file = _optionalChain([event, 'access',
|
|
30158
|
+
const file = _optionalChain([event, 'access', _710 => _710.target, 'access', _711 => _711.files, 'optionalAccess', _712 => _712[0]]);
|
|
29807
30159
|
if (!file) return;
|
|
29808
30160
|
let mediaType;
|
|
29809
30161
|
if (file.type.startsWith("image/")) {
|
|
@@ -29883,7 +30235,7 @@ function ReleaseMediaManager({
|
|
|
29883
30235
|
{
|
|
29884
30236
|
type: "button",
|
|
29885
30237
|
variant: "outline",
|
|
29886
|
-
onClick: () => _optionalChain([fileInputRef, 'access',
|
|
30238
|
+
onClick: () => _optionalChain([fileInputRef, 'access', _713 => _713.current, 'optionalAccess', _714 => _714.click, 'call', _715 => _715()]),
|
|
29887
30239
|
disabled: uploadingIndex !== null,
|
|
29888
30240
|
leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
|
|
29889
30241
|
className: "font-['DM_Sans'] text-[16px] font-bold",
|
|
@@ -30096,7 +30448,7 @@ function SEOEditorPreview({
|
|
|
30096
30448
|
const displayImage = hasOgImage || hasFeaturedImage;
|
|
30097
30449
|
const handleImageUpload = async (event) => {
|
|
30098
30450
|
if (!onOgImageUpload) return;
|
|
30099
|
-
const file = _optionalChain([event, 'access',
|
|
30451
|
+
const file = _optionalChain([event, 'access', _716 => _716.target, 'access', _717 => _717.files, 'optionalAccess', _718 => _718[0]]);
|
|
30100
30452
|
if (!file) return;
|
|
30101
30453
|
setIsUploading(true);
|
|
30102
30454
|
try {
|
|
@@ -30227,7 +30579,7 @@ function SEOEditorPreview({
|
|
|
30227
30579
|
type: "button",
|
|
30228
30580
|
variant: "outline",
|
|
30229
30581
|
size: "icon",
|
|
30230
|
-
onClick: () => _optionalChain([fileInputRef, 'optionalAccess',
|
|
30582
|
+
onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _719 => _719.click, 'call', _720 => _720()]),
|
|
30231
30583
|
disabled: disabled || isUploading,
|
|
30232
30584
|
className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
|
|
30233
30585
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
|
|
@@ -30250,7 +30602,7 @@ function SEOEditorPreview({
|
|
|
30250
30602
|
"div",
|
|
30251
30603
|
{
|
|
30252
30604
|
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",
|
|
30253
|
-
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess',
|
|
30605
|
+
onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _721 => _721.click, 'call', _722 => _722()]),
|
|
30254
30606
|
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: [
|
|
30255
30607
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
|
|
30256
30608
|
/* @__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" })
|
|
@@ -30335,7 +30687,7 @@ function SocialLinksManager({
|
|
|
30335
30687
|
className = ""
|
|
30336
30688
|
}) {
|
|
30337
30689
|
const addLink = () => {
|
|
30338
|
-
const firstPlatform = _optionalChain([platforms, 'access',
|
|
30690
|
+
const firstPlatform = _optionalChain([platforms, 'access', _723 => _723[0], 'optionalAccess', _724 => _724.name]) || "website";
|
|
30339
30691
|
onChange([...links, { platform: firstPlatform, url: "" }]);
|
|
30340
30692
|
};
|
|
30341
30693
|
const removeLink = (index) => {
|
|
@@ -30347,7 +30699,7 @@ function SocialLinksManager({
|
|
|
30347
30699
|
onChange(updated);
|
|
30348
30700
|
};
|
|
30349
30701
|
const getIcon = (link, platform) => {
|
|
30350
|
-
const iconKey = _optionalChain([platform, 'optionalAccess',
|
|
30702
|
+
const iconKey = _optionalChain([platform, 'optionalAccess', _725 => _725.icon_name]) || link.platform;
|
|
30351
30703
|
const IconComponent = iconMap[iconKey];
|
|
30352
30704
|
return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
|
|
30353
30705
|
};
|
|
@@ -30372,7 +30724,7 @@ function SocialLinksManager({
|
|
|
30372
30724
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30373
30725
|
_chunkV2FNIPZJcjs.Input,
|
|
30374
30726
|
{
|
|
30375
|
-
placeholder: _optionalChain([platform, 'optionalAccess',
|
|
30727
|
+
placeholder: _optionalChain([platform, 'optionalAccess', _726 => _726.placeholder]) || "Profile URL",
|
|
30376
30728
|
value: link.url,
|
|
30377
30729
|
onChange: (e) => updateLink(index, "url", e.target.value),
|
|
30378
30730
|
onKeyDown: (e) => {
|
|
@@ -30749,7 +31101,7 @@ function VideoSourceSelector({
|
|
|
30749
31101
|
input.accept = "video/*";
|
|
30750
31102
|
input.onchange = async (e) => {
|
|
30751
31103
|
const target = e.target;
|
|
30752
|
-
const file = _optionalChain([target, 'access',
|
|
31104
|
+
const file = _optionalChain([target, 'access', _727 => _727.files, 'optionalAccess', _728 => _728[0]]);
|
|
30753
31105
|
if (!file) return;
|
|
30754
31106
|
setIsUploading(true);
|
|
30755
31107
|
setUploadProgress(0);
|
|
@@ -31079,7 +31431,7 @@ function TranscriptSummaryEditor({
|
|
|
31079
31431
|
{
|
|
31080
31432
|
id: "subtitles",
|
|
31081
31433
|
value: subtitles || "",
|
|
31082
|
-
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall',
|
|
31434
|
+
onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _729 => _729(e.target.value)]),
|
|
31083
31435
|
placeholder: subtitlesPlaceholder,
|
|
31084
31436
|
disabled: disabled || !onSubtitlesChange,
|
|
31085
31437
|
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",
|
|
@@ -31232,7 +31584,7 @@ var AIEnrichSection = ({
|
|
|
31232
31584
|
}) => {
|
|
31233
31585
|
const hasResults = status === "success" || status === "error";
|
|
31234
31586
|
const shouldDisable = disabled || !canEnrich;
|
|
31235
|
-
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess',
|
|
31587
|
+
const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _730 => _730.filter, 'call', _731 => _731((f) => !f.isFilled)]) || [];
|
|
31236
31588
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
31237
31589
|
"div",
|
|
31238
31590
|
{
|
|
@@ -31270,7 +31622,7 @@ var AIEnrichSection = ({
|
|
|
31270
31622
|
{
|
|
31271
31623
|
id: "ai-enrich-custom-instructions",
|
|
31272
31624
|
value: _nullishCoalesce(customInstructions, () => ( "")),
|
|
31273
|
-
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall',
|
|
31625
|
+
onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _732 => _732(e.target.value)]),
|
|
31274
31626
|
placeholder: customInstructionsPlaceholder,
|
|
31275
31627
|
disabled: loading,
|
|
31276
31628
|
maxLength: customInstructionsMaxLength,
|
|
@@ -31399,7 +31751,7 @@ function HighlightVideoSection({
|
|
|
31399
31751
|
input.accept = "video/*";
|
|
31400
31752
|
input.onchange = async (e) => {
|
|
31401
31753
|
const target = e.target;
|
|
31402
|
-
const file = _optionalChain([target, 'access',
|
|
31754
|
+
const file = _optionalChain([target, 'access', _733 => _733.files, 'optionalAccess', _734 => _734[0]]);
|
|
31403
31755
|
if (!file) return;
|
|
31404
31756
|
setUploadError(null);
|
|
31405
31757
|
try {
|
|
@@ -31901,7 +32253,7 @@ function HighlightVideoPreview({
|
|
|
31901
32253
|
input.accept = "video/*";
|
|
31902
32254
|
input.onchange = async (e) => {
|
|
31903
32255
|
const target = e.target;
|
|
31904
|
-
const file = _optionalChain([target, 'access',
|
|
32256
|
+
const file = _optionalChain([target, 'access', _735 => _735.files, 'optionalAccess', _736 => _736[0]]);
|
|
31905
32257
|
if (!file) return;
|
|
31906
32258
|
await onUpload(file);
|
|
31907
32259
|
};
|
|
@@ -32088,7 +32440,7 @@ function HighlightVideoCombinedSection({
|
|
|
32088
32440
|
input.accept = "video/*";
|
|
32089
32441
|
input.onchange = async (e) => {
|
|
32090
32442
|
const target = e.target;
|
|
32091
|
-
const file = _optionalChain([target, 'access',
|
|
32443
|
+
const file = _optionalChain([target, 'access', _737 => _737.files, 'optionalAccess', _738 => _738[0]]);
|
|
32092
32444
|
if (!file) return;
|
|
32093
32445
|
await onUpload(file);
|
|
32094
32446
|
};
|
|
@@ -32385,11 +32737,11 @@ var getApprovalLevelLabel = (level, editMode = false) => {
|
|
|
32385
32737
|
return editMode ? "Set Global Permission" : "";
|
|
32386
32738
|
}
|
|
32387
32739
|
const option = approvalLevelOptions.find((opt) => opt.value === level);
|
|
32388
|
-
return _optionalChain([option, 'optionalAccess',
|
|
32740
|
+
return _optionalChain([option, 'optionalAccess', _739 => _739.label]) || level;
|
|
32389
32741
|
};
|
|
32390
32742
|
var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
|
|
32391
32743
|
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: [
|
|
32392
|
-
/* @__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,
|
|
32744
|
+
/* @__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, _chunkOII2IEREcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
|
|
32393
32745
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col min-w-0", children: [
|
|
32394
32746
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-[16px] font-medium text-ods-text-primary truncate", children: policy.name }),
|
|
32395
32747
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-[12px] text-ods-text-secondary break-all font-mono", children: policy.commandPattern })
|
|
@@ -32598,7 +32950,7 @@ function WaitlistForm({
|
|
|
32598
32950
|
const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
|
|
32599
32951
|
const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
|
|
32600
32952
|
const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
|
|
32601
|
-
const { toast } =
|
|
32953
|
+
const { toast } = _chunkOII2IEREcjs.useToast.call(void 0, );
|
|
32602
32954
|
const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
|
|
32603
32955
|
const [isClient, setIsClient] = _react.useState.call(void 0, false);
|
|
32604
32956
|
const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
|
|
@@ -32637,7 +32989,7 @@ function WaitlistForm({
|
|
|
32637
32989
|
const finalPhone = phone ? formatPhoneE164(phone, countryCode) : void 0;
|
|
32638
32990
|
try {
|
|
32639
32991
|
await onRegister(email, finalPhone);
|
|
32640
|
-
} catch (
|
|
32992
|
+
} catch (e35) {
|
|
32641
32993
|
}
|
|
32642
32994
|
};
|
|
32643
32995
|
if (!isClient) {
|
|
@@ -32917,15 +33269,15 @@ function TicketCard({
|
|
|
32917
33269
|
transform: _utilities.CSS.Transform.toString(sortable.transform),
|
|
32918
33270
|
transition: sortable.transition
|
|
32919
33271
|
};
|
|
32920
|
-
const showDeviceRow = !!(_optionalChain([ticket, 'access',
|
|
33272
|
+
const showDeviceRow = !!(_optionalChain([ticket, 'access', _740 => _740.deviceHostnames, 'optionalAccess', _741 => _741.length]) || ticket.organizationName);
|
|
32921
33273
|
const deviceText = [
|
|
32922
|
-
_optionalChain([ticket, 'access',
|
|
33274
|
+
_optionalChain([ticket, 'access', _742 => _742.deviceHostnames, 'optionalAccess', _743 => _743.join, 'call', _744 => _744(", ")]),
|
|
32923
33275
|
ticket.organizationName
|
|
32924
33276
|
].filter(Boolean).join(", ");
|
|
32925
33277
|
const handleClick = (e) => {
|
|
32926
33278
|
if (sortable.isDragging) e.preventDefault();
|
|
32927
33279
|
};
|
|
32928
|
-
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access',
|
|
33280
|
+
const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _745 => _745.assignees, 'optionalAccess', _746 => _746.length]) || renderAssignSlot);
|
|
32929
33281
|
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: [
|
|
32930
33282
|
ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32931
33283
|
_chunkVJTFBYVGcjs.Flag02Icon,
|
|
@@ -32934,7 +33286,7 @@ function TicketCard({
|
|
|
32934
33286
|
"aria-label": `Priority: ${ticket.priority}`
|
|
32935
33287
|
}
|
|
32936
33288
|
),
|
|
32937
|
-
renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access',
|
|
33289
|
+
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: [
|
|
32938
33290
|
ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
32939
33291
|
SquareAvatar,
|
|
32940
33292
|
{
|
|
@@ -32963,7 +33315,7 @@ function TicketCard({
|
|
|
32963
33315
|
] }),
|
|
32964
33316
|
rightSection
|
|
32965
33317
|
] }),
|
|
32966
|
-
_optionalChain([ticket, 'access',
|
|
33318
|
+
_optionalChain([ticket, 'access', _749 => _749.tags, 'optionalAccess', _750 => _750.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
|
|
32967
33319
|
] });
|
|
32968
33320
|
const cardClasses = _chunkUC43NICZcjs.cn.call(void 0,
|
|
32969
33321
|
"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",
|
|
@@ -33123,7 +33475,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
|
|
|
33123
33475
|
const observer = new IntersectionObserver(
|
|
33124
33476
|
(entries) => {
|
|
33125
33477
|
if (entries.some((e) => e.isIntersecting)) {
|
|
33126
|
-
_optionalChain([loadMoreRef, 'access',
|
|
33478
|
+
_optionalChain([loadMoreRef, 'access', _751 => _751.current, 'optionalCall', _752 => _752(columnIdRef.current)]);
|
|
33127
33479
|
}
|
|
33128
33480
|
},
|
|
33129
33481
|
{ root, rootMargin: loadMoreRootMargin }
|
|
@@ -33152,7 +33504,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
|
|
|
33152
33504
|
{
|
|
33153
33505
|
ticket: t,
|
|
33154
33506
|
columnId: column.id,
|
|
33155
|
-
href: _optionalChain([getTicketHref, 'optionalCall',
|
|
33507
|
+
href: _optionalChain([getTicketHref, 'optionalCall', _753 => _753(t.id)]),
|
|
33156
33508
|
renderAssignSlot,
|
|
33157
33509
|
dragDisabled: column.dragDisabled
|
|
33158
33510
|
},
|
|
@@ -33184,7 +33536,7 @@ function EmptyState3() {
|
|
|
33184
33536
|
// src/components/features/board/use-board-collapse.ts
|
|
33185
33537
|
|
|
33186
33538
|
function useBoardCollapse(storageKey) {
|
|
33187
|
-
const [persisted, setPersisted] =
|
|
33539
|
+
const [persisted, setPersisted] = _chunkOII2IEREcjs.useLocalStorage.call(void 0,
|
|
33188
33540
|
_nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")),
|
|
33189
33541
|
{}
|
|
33190
33542
|
);
|
|
@@ -33231,7 +33583,7 @@ function Board({
|
|
|
33231
33583
|
onThumbPointerDown,
|
|
33232
33584
|
onThumbPointerMove,
|
|
33233
33585
|
onThumbPointerUp
|
|
33234
|
-
} =
|
|
33586
|
+
} = _chunkOII2IEREcjs.useHorizontalScrollbar.call(void 0, );
|
|
33235
33587
|
const [items, setItems] = React102.useState(columns);
|
|
33236
33588
|
const isDraggingRef = React102.useRef(false);
|
|
33237
33589
|
React102.useEffect(() => {
|
|
@@ -33247,17 +33599,17 @@ function Board({
|
|
|
33247
33599
|
const pointer = _core.pointerWithin.call(void 0, args);
|
|
33248
33600
|
const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
|
|
33249
33601
|
const ticketHit = intersections.find(
|
|
33250
|
-
(c) => _optionalChain([c, 'access',
|
|
33602
|
+
(c) => _optionalChain([c, 'access', _754 => _754.data, 'optionalAccess', _755 => _755.droppableContainer, 'optionalAccess', _756 => _756.data, 'optionalAccess', _757 => _757.current, 'optionalAccess', _758 => _758.type]) === "ticket"
|
|
33251
33603
|
);
|
|
33252
33604
|
if (ticketHit) return [ticketHit];
|
|
33253
33605
|
const columnHit = intersections.find(
|
|
33254
|
-
(c) => _optionalChain([c, 'access',
|
|
33606
|
+
(c) => _optionalChain([c, 'access', _759 => _759.data, 'optionalAccess', _760 => _760.droppableContainer, 'optionalAccess', _761 => _761.data, 'optionalAccess', _762 => _762.current, 'optionalAccess', _763 => _763.type]) === "column"
|
|
33255
33607
|
);
|
|
33256
33608
|
if (columnHit) {
|
|
33257
|
-
const columnId = _optionalChain([columnHit, 'access',
|
|
33609
|
+
const columnId = _optionalChain([columnHit, 'access', _764 => _764.data, 'optionalAccess', _765 => _765.droppableContainer, 'optionalAccess', _766 => _766.data, 'optionalAccess', _767 => _767.current, 'optionalAccess', _768 => _768.columnId]);
|
|
33258
33610
|
const ticketsInColumn = args.droppableContainers.filter((c) => {
|
|
33259
33611
|
const d = c.data.current;
|
|
33260
|
-
return _optionalChain([d, 'optionalAccess',
|
|
33612
|
+
return _optionalChain([d, 'optionalAccess', _769 => _769.type]) === "ticket" && d.columnId === columnId;
|
|
33261
33613
|
});
|
|
33262
33614
|
if (ticketsInColumn.length > 0) {
|
|
33263
33615
|
const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
|
|
@@ -33282,20 +33634,20 @@ function Board({
|
|
|
33282
33634
|
const overId = String(over.id);
|
|
33283
33635
|
if (activeId === overId) return;
|
|
33284
33636
|
const overData = over.data.current;
|
|
33285
|
-
const fromColumnId = _optionalChain([locate, 'call',
|
|
33286
|
-
const toColumnId = _optionalChain([overData, 'optionalAccess',
|
|
33637
|
+
const fromColumnId = _optionalChain([locate, 'call', _770 => _770(items, activeId), 'optionalAccess', _771 => _771.columnId]);
|
|
33638
|
+
const toColumnId = _optionalChain([overData, 'optionalAccess', _772 => _772.columnId]);
|
|
33287
33639
|
if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
|
|
33288
33640
|
const origin = dragOriginRef.current;
|
|
33289
|
-
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess',
|
|
33641
|
+
const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _773 => _773.fromColumnId]) === toColumnId;
|
|
33290
33642
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
33291
|
-
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess',
|
|
33292
|
-
if (_optionalChain([targetCol, 'optionalAccess',
|
|
33643
|
+
const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _774 => _774.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
|
|
33644
|
+
if (_optionalChain([targetCol, 'optionalAccess', _775 => _775.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
|
|
33293
33645
|
setItems((prev) => {
|
|
33294
33646
|
const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
|
|
33295
33647
|
const toCol = prev.find((c) => c.id === toColumnId);
|
|
33296
33648
|
if (fromIndex < 0 || !toCol) return prev;
|
|
33297
33649
|
let toIndex;
|
|
33298
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
33650
|
+
if (_optionalChain([overData, 'optionalAccess', _776 => _776.type]) === "column") {
|
|
33299
33651
|
toIndex = toCol.tickets.length;
|
|
33300
33652
|
} else {
|
|
33301
33653
|
const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
|
|
@@ -33337,14 +33689,14 @@ function Board({
|
|
|
33337
33689
|
const toColumnId = located.columnId;
|
|
33338
33690
|
const isCrossColumn = origin.fromColumnId !== toColumnId;
|
|
33339
33691
|
const targetCol = items.find((c) => c.id === toColumnId);
|
|
33340
|
-
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess',
|
|
33692
|
+
if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _777 => _777.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _778 => _778.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
|
|
33341
33693
|
setItems(columns);
|
|
33342
33694
|
return;
|
|
33343
33695
|
}
|
|
33344
33696
|
let finalIndex = located.index;
|
|
33345
|
-
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access',
|
|
33697
|
+
let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _779 => _779.find, 'call', _780 => _780((c) => c.id === toColumnId), 'optionalAccess', _781 => _781.tickets]), () => ( []));
|
|
33346
33698
|
const overData = over.data.current;
|
|
33347
|
-
if (_optionalChain([overData, 'optionalAccess',
|
|
33699
|
+
if (_optionalChain([overData, 'optionalAccess', _782 => _782.type]) === "ticket") {
|
|
33348
33700
|
const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
|
|
33349
33701
|
if (overIndex >= 0 && overIndex !== located.index) {
|
|
33350
33702
|
finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
|
|
@@ -33364,8 +33716,8 @@ function Board({
|
|
|
33364
33716
|
ticketId: origin.ticketId,
|
|
33365
33717
|
fromColumnId: origin.fromColumnId,
|
|
33366
33718
|
toColumnId,
|
|
33367
|
-
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
33368
|
-
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access',
|
|
33719
|
+
afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _783 => _783[finalIndex - 1], 'optionalAccess', _784 => _784.id]), () => ( null)),
|
|
33720
|
+
beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _785 => _785[finalIndex + 1], 'optionalAccess', _786 => _786.id]), () => ( null))
|
|
33369
33721
|
});
|
|
33370
33722
|
};
|
|
33371
33723
|
const handleDragCancel = () => {
|
|
@@ -33394,8 +33746,8 @@ function Board({
|
|
|
33394
33746
|
children: items.map((column, i) => {
|
|
33395
33747
|
const prev = items[i - 1];
|
|
33396
33748
|
const next = items[i + 1];
|
|
33397
|
-
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess',
|
|
33398
|
-
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess',
|
|
33749
|
+
const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _787 => _787.system]));
|
|
33750
|
+
const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _788 => _788.system]));
|
|
33399
33751
|
const showGap = i > 0 && !joinLeft;
|
|
33400
33752
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React102.Fragment, { children: [
|
|
33401
33753
|
showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
|
|
@@ -33453,7 +33805,7 @@ function locate(cols, ticketId) {
|
|
|
33453
33805
|
return null;
|
|
33454
33806
|
}
|
|
33455
33807
|
function findIndexInColumn(cols, columnId, ticketId) {
|
|
33456
|
-
return _nullishCoalesce(_optionalChain([cols, 'access',
|
|
33808
|
+
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));
|
|
33457
33809
|
}
|
|
33458
33810
|
|
|
33459
33811
|
// src/components/features/board/types.ts
|
|
@@ -34118,5 +34470,6 @@ function canonicalize(status) {
|
|
|
34118
34470
|
|
|
34119
34471
|
|
|
34120
34472
|
|
|
34121
|
-
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.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.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.OrganizationIcon = OrganizationIcon; 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.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.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;
|
|
34122
|
-
//# sourceMappingURL=chunk-IQM3G2I6.cjs.map
|
|
34473
|
+
|
|
34474
|
+
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.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.OrganizationIcon = OrganizationIcon; 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.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.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;
|
|
34475
|
+
//# sourceMappingURL=chunk-E6AWU7EI.cjs.map
|