@flamingo-stack/openframe-frontend-core 0.0.850 → 0.0.852
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/build/export-map.json +1 -1
- package/dist/{case-study-card-X2HKPKT7.cjs → case-study-card-WP5Z234Q.cjs} +5 -5
- package/dist/chat-protocol/events.d.ts +4 -1
- package/dist/chat-protocol/events.d.ts.map +1 -1
- package/dist/chat-protocol/index.cjs +90 -40
- package/dist/chat-protocol/nats-decoder.d.ts.map +1 -1
- package/dist/chat-protocol/nats-decoder.js +5 -1
- package/dist/chat-protocol/policy-review.d.ts +18 -0
- package/dist/chat-protocol/policy-review.d.ts.map +1 -0
- package/dist/chat-protocol/policy-review.js +55 -0
- package/dist/{chunk-BU2PSRAS.cjs → chunk-2W22LY3W.cjs} +11 -11
- package/dist/{chunk-ZDSC3GFX.cjs → chunk-3SJVF3HW.cjs} +6 -6
- package/dist/{chunk-GAYLAA3L.cjs → chunk-3ZQESOPJ.cjs} +79 -79
- package/dist/{chunk-IPGGSFR7.cjs → chunk-477P6AQH.cjs} +6 -6
- package/dist/{chunk-5CBI2ZYV.cjs → chunk-5RMBLOJ5.cjs} +12 -12
- package/dist/{chunk-36DUCHI7.cjs → chunk-6GWRPW6B.cjs} +4 -4
- package/dist/{chunk-SOSIXRQ3.cjs → chunk-AZEO7HBB.cjs} +2 -2
- package/dist/{chunk-FRG724DU.cjs → chunk-BNHTBLAG.cjs} +17 -17
- package/dist/{chunk-VRWBJL7B.cjs → chunk-CHGIACIP.cjs} +91 -91
- package/dist/{chunk-CAGNWDVJ.cjs → chunk-COJG2ATY.cjs} +45 -45
- package/dist/{chunk-XKOL5CNU.cjs → chunk-D3H6AI7O.cjs} +956 -1077
- package/dist/{chunk-ALRYVZ3E.cjs → chunk-DLTPSP5F.cjs} +2 -2
- package/dist/{chunk-3W4ASAXN.cjs → chunk-EIACEY2L.cjs} +4 -4
- package/dist/{chunk-TIVPOVIM.cjs → chunk-ETZFBB7O.cjs} +2 -2
- package/dist/{chunk-GRCOEICK.cjs → chunk-G7GF4PWA.cjs} +6 -6
- package/dist/{chunk-7ICHJVAT.cjs → chunk-GEZ3UXCA.cjs} +25 -25
- package/dist/chunk-GGUFVIJ6.cjs +28 -0
- package/dist/{chunk-ZGEWT3SF.cjs → chunk-HXURNKXI.cjs} +3 -3
- package/dist/{chunk-TX4NTH22.cjs → chunk-IC4IJJB2.cjs} +102 -102
- package/dist/{chunk-BUEEQD3G.cjs → chunk-IGVAPIEW.cjs} +2 -2
- package/dist/{chunk-IG6ROHPS.cjs → chunk-IO6NN3SL.cjs} +54 -54
- package/dist/{chunk-5PIR77V5.cjs → chunk-KHOB3TES.cjs} +4 -4
- package/dist/{chunk-JQCQCE6U.cjs → chunk-KKFDRCQF.cjs} +2 -2
- package/dist/{chunk-6AJYGXXS.cjs → chunk-KNN2GCMW.cjs} +21 -21
- package/dist/{chunk-YJZ7R3W5.cjs → chunk-KXFIYO4O.cjs} +8 -8
- package/dist/{chunk-FXLROQUT.cjs → chunk-LFEURIZN.cjs} +590 -607
- package/dist/{chunk-JWIITCVB.cjs → chunk-MFDRCTM3.cjs} +47 -47
- package/dist/{chunk-OHHDX3Z4.cjs → chunk-MXY2OGEV.cjs} +42 -42
- package/dist/{chunk-533QK4R6.cjs → chunk-NMWLXHFH.cjs} +130 -130
- package/dist/{chunk-MDLT6D46.cjs → chunk-O3EKOXFZ.cjs} +20 -20
- package/dist/{chunk-HLJXCOMA.cjs → chunk-OH5TXFRR.cjs} +4 -4
- package/dist/{chunk-SA2NNWIJ.cjs → chunk-P63CRPWI.cjs} +19 -64
- package/dist/{chunk-R5JPZ6TY.cjs → chunk-QOW2GP3V.cjs} +21 -21
- package/dist/{chunk-JBTH3O2C.cjs → chunk-SSKMGH5O.cjs} +4 -4
- package/dist/{chunk-4YBS4HIO.cjs → chunk-U767P4JU.cjs} +455 -38
- package/dist/{chunk-FNQWL4W4.cjs → chunk-UO2EJGRJ.cjs} +45 -45
- package/dist/{chunk-IHY7E4EX.cjs → chunk-USPUZO53.cjs} +4 -4
- package/dist/{chunk-IN3LA2FU.cjs → chunk-UV45EPXN.cjs} +2 -2
- package/dist/{chunk-S3QXLD4X.cjs → chunk-VCFQHPOO.cjs} +37 -3
- package/dist/{chunk-2QZUTNL3.cjs → chunk-VUHHLRAY.cjs} +92 -92
- package/dist/{chunk-QJER2ZNA.cjs → chunk-WFAZMASF.cjs} +3 -3
- package/dist/{chunk-LGYPCUHO.cjs → chunk-X3WIOMEE.cjs} +36 -36
- package/dist/{cloud-tenants-TVB3DT3J.cjs → cloud-tenants-O33HCUYB.cjs} +50 -50
- package/dist/components/case-studies/index.cjs +69 -69
- package/dist/components/chat/approval-batch-message.d.ts +5 -0
- package/dist/components/chat/approval-batch-message.d.ts.map +1 -1
- package/dist/components/chat/approval-batch-message.js +36 -10
- package/dist/components/chat/index.cjs +45 -45
- package/dist/components/chat/policy-review.d.ts +27 -0
- package/dist/components/chat/policy-review.d.ts.map +1 -0
- package/dist/components/chat/policy-review.js +67 -0
- package/dist/components/chat/stream/message-mutations.d.ts.map +1 -1
- package/dist/components/chat/stream/message-mutations.js +4 -1
- package/dist/components/chat/tool-execution-display.d.ts.map +1 -1
- package/dist/components/chat/tool-execution-display.js +16 -5
- package/dist/components/chat/types/message.types.d.ts +40 -2
- package/dist/components/chat/types/message.types.d.ts.map +1 -1
- package/dist/components/chat/utils/extract-incomplete-message-state.d.ts.map +1 -1
- package/dist/components/chat/utils/extract-incomplete-message-state.js +2 -0
- package/dist/components/chat/utils/message-segment-accumulator.d.ts.map +1 -1
- package/dist/components/chat/utils/message-segment-accumulator.js +3 -0
- package/dist/components/chat/utils/process-historical-messages.d.ts +2 -2
- package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
- package/dist/components/chat/utils/process-historical-messages.js +7 -1
- package/dist/components/contact/index.cjs +51 -51
- package/dist/components/docs/index.cjs +54 -54
- package/dist/components/embeds/index.cjs +51 -51
- package/dist/components/faq/index.cjs +52 -52
- package/dist/components/features/approval-level.d.ts +6 -12
- package/dist/components/features/approval-level.d.ts.map +1 -1
- package/dist/components/features/approval-level.js +45 -55
- package/dist/components/features/index.cjs +55 -54
- package/dist/components/features/notifications/approval-request-notification-tile.d.ts.map +1 -1
- package/dist/components/features/notifications/approval-request-notification-tile.js +71 -48
- package/dist/components/features/notifications/types.d.ts +2 -0
- package/dist/components/features/notifications/types.d.ts.map +1 -1
- package/dist/components/features/notifications/types.js +3 -1
- package/dist/components/features/policy-configuration-panel.d.ts.map +1 -1
- package/dist/components/features/policy-configuration-panel.js +75 -64
- package/dist/components/help-center-pages/index.cjs +156 -156
- package/dist/components/icons-v2-generated/brand-logos/index.d.ts +1 -0
- package/dist/components/icons-v2-generated/brand-logos/index.d.ts.map +1 -1
- package/dist/components/icons-v2-generated/brand-logos/index.js +2 -0
- package/dist/components/icons-v2-generated/brand-logos/stripe-icon.d.ts +8 -0
- package/dist/components/icons-v2-generated/brand-logos/stripe-icon.d.ts.map +1 -0
- package/dist/components/icons-v2-generated/brand-logos/stripe-icon.js +24 -0
- package/dist/components/icons-v2-generated/icon-loaders.d.ts.map +1 -1
- package/dist/components/icons-v2-generated/icon-loaders.js +1 -0
- package/dist/components/icons-v2-generated/icon-names.js +1 -1
- package/dist/components/icons-v2-generated/index.cjs +33 -29
- package/dist/components/index.cjs +122 -123
- package/dist/components/meeting-scheduler/index.cjs +113 -112
- package/dist/components/navigation/index.cjs +54 -54
- package/dist/components/onboarding-guides/index.cjs +53 -53
- package/dist/components/product-demo/index.cjs +61 -61
- package/dist/components/related-content/index.cjs +9 -9
- package/dist/components/tickets/index.cjs +57 -57
- package/dist/components/ui/file-manager/index.cjs +8 -9
- package/dist/components/ui/index.cjs +55 -56
- package/dist/components/ui/radio-group.d.ts.map +1 -1
- package/dist/components/ui/radio-group.js +8 -2
- package/dist/components/ui/tab-selector.d.ts +7 -1
- package/dist/components/ui/tab-selector.d.ts.map +1 -1
- package/dist/components/ui/tab-selector.js +22 -3
- package/dist/{devices-NGCTSXIU.cjs → devices-2RGGMC2B.cjs} +51 -51
- package/dist/{embeddable-chat-322NDFP5.cjs → embeddable-chat-SJEEJI4N.cjs} +122 -122
- package/dist/hooks/index.cjs +9 -9
- package/dist/{icon-loaders-SUPEKMBJ.cjs → icon-loaders-CTH6E7OP.cjs} +1 -0
- package/dist/index.cjs +61 -62
- package/dist/{knowledge-75PO5DYS.cjs → knowledge-5TJIXVMD.cjs} +52 -52
- package/dist/{logs-PZESOAIG.cjs → logs-HGQOTRKZ.cjs} +57 -57
- package/dist/{policies-6XNMBFWO.cjs → policies-GWFSLVSM.cjs} +54 -54
- package/dist/{remote-session-Q2FIBCGT.cjs → remote-session-SG44CNOK.cjs} +36 -36
- package/dist/{scripts-B3JW6TPF.cjs → scripts-PGJNAZF4.cjs} +57 -57
- package/dist/{software-update-NWP542J7.cjs → software-update-KKLSYHDI.cjs} +54 -54
- package/dist/stripe-icon-YKVABTNI.cjs +7 -0
- package/dist/{tickets-board-7FLGQEHF.cjs → tickets-board-SQY2Y6QV.cjs} +39 -38
- package/dist/utils/index.cjs +32 -1
- package/package.json +1 -1
- package/src/chat-protocol/events.ts +4 -1
- package/src/chat-protocol/nats-decoder.ts +4 -0
- package/src/chat-protocol/policy-review.ts +71 -0
- package/src/components/chat/approval-batch-message.tsx +47 -10
- package/src/components/chat/policy-review.tsx +90 -0
- package/src/components/chat/stream/message-mutations.ts +4 -0
- package/src/components/chat/tool-execution-display.tsx +23 -4
- package/src/components/chat/types/message.types.ts +42 -2
- package/src/components/chat/utils/extract-incomplete-message-state.ts +2 -0
- package/src/components/chat/utils/message-segment-accumulator.ts +3 -0
- package/src/components/chat/utils/process-historical-messages.ts +14 -3
- package/src/components/features/approval-level.tsx +74 -78
- package/src/components/features/notifications/approval-request-notification-tile.tsx +75 -50
- package/src/components/features/notifications/types.ts +4 -0
- package/src/components/features/policy-configuration-panel.tsx +100 -83
- package/src/components/icons-v2/icon-colors.json +3 -0
- package/src/components/icons-v2-generated/brand-logos/index.ts +1 -0
- package/src/components/icons-v2-generated/brand-logos/stripe-icon.tsx +27 -0
- package/src/components/icons-v2-generated/icon-loaders.ts +1 -0
- package/src/components/icons-v2-generated/icon-names.ts +1 -1
- package/src/components/ui/radio-group.tsx +20 -2
- package/src/components/ui/tab-selector.tsx +26 -3
- package/src/styles/ods-colors.css +1 -0
- package/dist/chunk-N3MBQRCQ.cjs +0 -41
- /package/dist/{chunk-46547WQW.cjs → chunk-7HH4Y27U.cjs} +0 -0
|
@@ -27,7 +27,7 @@ var _chunkMZ4KBSH7cjs = require('./chunk-MZ4KBSH7.cjs');
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _chunkOH5TXFRRcjs = require('./chunk-OH5TXFRR.cjs');
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
|
|
@@ -39,10 +39,10 @@ var _chunkHLJXCOMAcjs = require('./chunk-HLJXCOMA.cjs');
|
|
|
39
39
|
|
|
40
40
|
|
|
41
41
|
|
|
42
|
-
var
|
|
42
|
+
var _chunkG7GF4PWAcjs = require('./chunk-G7GF4PWA.cjs');
|
|
43
43
|
|
|
44
44
|
|
|
45
|
-
var
|
|
45
|
+
var _chunkIGVAPIEWcjs = require('./chunk-IGVAPIEW.cjs');
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
var _chunkJKX2C3I2cjs = require('./chunk-JKX2C3I2.cjs');
|
|
@@ -64,7 +64,7 @@ var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
|
|
|
64
64
|
var _chunkBLH2SFOOcjs = require('./chunk-BLH2SFOO.cjs');
|
|
65
65
|
|
|
66
66
|
|
|
67
|
-
var
|
|
67
|
+
var _chunkETZFBB7Ocjs = require('./chunk-ETZFBB7O.cjs');
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
|
|
@@ -425,7 +425,7 @@ function useSearch(config) {
|
|
|
425
425
|
searchFnRef.current = searchFn;
|
|
426
426
|
mapResultRef.current = mapResult;
|
|
427
427
|
});
|
|
428
|
-
const debouncedQuery =
|
|
428
|
+
const debouncedQuery = _chunkG7GF4PWAcjs.useDebounce.call(void 0, query, debounceMs);
|
|
429
429
|
const clearResults = _react.useCallback.call(void 0, () => {
|
|
430
430
|
setResults(NO_RESULTS);
|
|
431
431
|
setError(null);
|
|
@@ -815,7 +815,7 @@ function usePlatformConfig() {
|
|
|
815
815
|
label: platform.label
|
|
816
816
|
}))
|
|
817
817
|
];
|
|
818
|
-
const selectableOptions =
|
|
818
|
+
const selectableOptions = _chunkOH5TXFRRcjs.transformPlatformConfigsToOptions.call(void 0, platforms);
|
|
819
819
|
return {
|
|
820
820
|
platforms,
|
|
821
821
|
platformOptions,
|
|
@@ -995,7 +995,7 @@ function CommandApprovalToast({
|
|
|
995
995
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "overflow-hidden", children: [
|
|
996
996
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-11 w-full items-center gap-2 border-b border-ods-border bg-ods-card px-3 py-2", children: [
|
|
997
997
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 truncate text-ods-text-primary text-h6", title: command, children: command }),
|
|
998
|
-
toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
998
|
+
toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIGVAPIEWcjs.ToolIcon, { toolType, size: 16 }) : null
|
|
999
999
|
] }),
|
|
1000
1000
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2 bg-ods-bg p-3", children: [
|
|
1001
1001
|
approvalDescription ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: approvalDescription }) : null,
|
|
@@ -1201,11 +1201,11 @@ function useContactSubmission(options = {}) {
|
|
|
1201
1201
|
console.log("\u{1F680} Contact submission successful, redirecting to:", successRedirectUrl);
|
|
1202
1202
|
const timer = setTimeout(() => {
|
|
1203
1203
|
console.log("\u{1F3AF} Performing redirect now to:", successRedirectUrl);
|
|
1204
|
-
|
|
1204
|
+
_chunkG7GF4PWAcjs.executeNavigationImperative.call(void 0, {
|
|
1205
1205
|
runtime,
|
|
1206
1206
|
href: successRedirectUrl,
|
|
1207
1207
|
openIn: "same-tab",
|
|
1208
|
-
hostRoute:
|
|
1208
|
+
hostRoute: _chunkETZFBB7Ocjs.isRelativeHref.call(void 0, successRedirectUrl)
|
|
1209
1209
|
});
|
|
1210
1210
|
}, 1500);
|
|
1211
1211
|
return () => clearTimeout(timer);
|
|
@@ -1332,10 +1332,10 @@ function useDownloads({
|
|
|
1332
1332
|
}
|
|
1333
1333
|
function useVisitorDesktopDownload(options = {}) {
|
|
1334
1334
|
const enabled = _nullishCoalesce(options.enabled, () => ( true));
|
|
1335
|
-
const visitor =
|
|
1335
|
+
const visitor = _chunkG7GF4PWAcjs.useVisitorOs.call(void 0, );
|
|
1336
1336
|
const { data, error } = useDownloads(options);
|
|
1337
1337
|
if (!enabled || !visitor.known || !data && !error) return { known: false, download: null };
|
|
1338
|
-
const os =
|
|
1338
|
+
const os = _chunkG7GF4PWAcjs.desktopOsOf.call(void 0, visitor.os);
|
|
1339
1339
|
const download = _nullishCoalesce(_optionalChain([data, 'optionalAccess', _22 => _22.desktop, 'access', _23 => _23.find, 'call', _24 => _24((row) => row.kind === "binary" && row.url && row.os === os)]), () => ( null));
|
|
1340
1340
|
return { known: true, download };
|
|
1341
1341
|
}
|
|
@@ -2585,7 +2585,7 @@ function useScenarioPlayer({
|
|
|
2585
2585
|
startAtEnd = false,
|
|
2586
2586
|
emptyFirstStep = true
|
|
2587
2587
|
}) {
|
|
2588
|
-
const auto =
|
|
2588
|
+
const auto = _chunkG7GF4PWAcjs.useAutoplay.call(void 0, enabled);
|
|
2589
2589
|
const { reducedMotion, held, holdProps, release } = auto;
|
|
2590
2590
|
const [scenario, setScenario] = _react.useState.call(void 0, initialScenario);
|
|
2591
2591
|
const [rawStep, setRawStep] = _react.useState.call(void 0, startAtEnd ? Number.MAX_SAFE_INTEGER : 0);
|
|
@@ -2637,7 +2637,7 @@ function useAccessCodeIntegration() {
|
|
|
2637
2637
|
const validate = async (email, code) => {
|
|
2638
2638
|
setIsValidating(true);
|
|
2639
2639
|
try {
|
|
2640
|
-
return await
|
|
2640
|
+
return await _chunkOH5TXFRRcjs.validateAccessCode.call(void 0, email, code, endpoints);
|
|
2641
2641
|
} finally {
|
|
2642
2642
|
setIsValidating(false);
|
|
2643
2643
|
}
|
|
@@ -2645,7 +2645,7 @@ function useAccessCodeIntegration() {
|
|
|
2645
2645
|
const consume = async (email, code) => {
|
|
2646
2646
|
setIsConsuming(true);
|
|
2647
2647
|
try {
|
|
2648
|
-
return await
|
|
2648
|
+
return await _chunkOH5TXFRRcjs.consumeAccessCode.call(void 0, email, code, endpoints);
|
|
2649
2649
|
} finally {
|
|
2650
2650
|
setIsConsuming(false);
|
|
2651
2651
|
}
|
|
@@ -2654,7 +2654,7 @@ function useAccessCodeIntegration() {
|
|
|
2654
2654
|
setIsValidating(true);
|
|
2655
2655
|
setIsConsuming(true);
|
|
2656
2656
|
try {
|
|
2657
|
-
return await
|
|
2657
|
+
return await _chunkOH5TXFRRcjs.validateAndConsumeAccessCode.call(void 0, email, code, endpoints);
|
|
2658
2658
|
} finally {
|
|
2659
2659
|
setIsValidating(false);
|
|
2660
2660
|
setIsConsuming(false);
|
|
@@ -2684,7 +2684,7 @@ async function revalidateMirror(mirrorPath) {
|
|
|
2684
2684
|
}
|
|
2685
2685
|
function useClaudeMirrorSrc(url) {
|
|
2686
2686
|
const endpoints = _chunkMZ4KBSH7cjs.useEndpointsRuntime.call(void 0, );
|
|
2687
|
-
const mirrorPath =
|
|
2687
|
+
const mirrorPath = _chunkOH5TXFRRcjs.toClaudeMirrorPath.call(void 0, url, _optionalChain([endpoints, 'optionalAccess', _32 => _32.storageViewBaseUrl]));
|
|
2688
2688
|
const [resolved, setResolved] = _react.useState.call(void 0, null);
|
|
2689
2689
|
const state = resolved && resolved.key === mirrorPath ? resolved.value : { src: null, status: mirrorPath ? "probing" : "absent" };
|
|
2690
2690
|
_react.useEffect.call(void 0, () => {
|
|
@@ -2715,7 +2715,7 @@ function useClaudeMirrorSrc(url) {
|
|
|
2715
2715
|
|
|
2716
2716
|
// src/hooks/use-location-hash.ts
|
|
2717
2717
|
|
|
2718
|
-
var HASH_EVENTS = ["hashchange", "popstate",
|
|
2718
|
+
var HASH_EVENTS = ["hashchange", "popstate", _chunkG7GF4PWAcjs.LOCATION_HASH_SYNC_EVENT];
|
|
2719
2719
|
function subscribe(onChange) {
|
|
2720
2720
|
for (const event of HASH_EVENTS) window.addEventListener(event, onChange);
|
|
2721
2721
|
return () => {
|
|
@@ -2723,7 +2723,7 @@ function subscribe(onChange) {
|
|
|
2723
2723
|
};
|
|
2724
2724
|
}
|
|
2725
2725
|
function readHash() {
|
|
2726
|
-
const raw =
|
|
2726
|
+
const raw = _chunkG7GF4PWAcjs.normalizeHashFragment.call(void 0, window.location.hash).replace(/^#/, "");
|
|
2727
2727
|
try {
|
|
2728
2728
|
return decodeURIComponent(raw);
|
|
2729
2729
|
} catch (e7) {
|
|
@@ -2750,16 +2750,16 @@ function useScrollToHash(readyDep = true, options) {
|
|
|
2750
2750
|
}
|
|
2751
2751
|
};
|
|
2752
2752
|
const tryScrollToHash = () => {
|
|
2753
|
-
if (
|
|
2754
|
-
const hash =
|
|
2753
|
+
if (_chunkG7GF4PWAcjs.isScrollSyncedHash.call(void 0, )) return;
|
|
2754
|
+
const hash = _chunkG7GF4PWAcjs.normalizeHashFragment.call(void 0, window.location.hash).slice(1);
|
|
2755
2755
|
if (!hash) return;
|
|
2756
2756
|
cancelPoll();
|
|
2757
2757
|
let frames = 0;
|
|
2758
2758
|
const tick = () => {
|
|
2759
|
-
const el =
|
|
2759
|
+
const el = _chunkG7GF4PWAcjs.getHashTargetElement.call(void 0, hash);
|
|
2760
2760
|
if (el) {
|
|
2761
2761
|
rafId = null;
|
|
2762
|
-
|
|
2762
|
+
_chunkG7GF4PWAcjs.scrollElementIntoView.call(void 0, el, { headerOffset });
|
|
2763
2763
|
return;
|
|
2764
2764
|
}
|
|
2765
2765
|
if (frames++ < MAX_POLL_FRAMES) {
|
|
@@ -2787,8 +2787,8 @@ function useHumanitySignals() {
|
|
|
2787
2787
|
const startedAtRef = _react.useRef.call(void 0, mountedAt);
|
|
2788
2788
|
const getSignals = _react.useCallback.call(void 0,
|
|
2789
2789
|
() => ({
|
|
2790
|
-
[
|
|
2791
|
-
[
|
|
2790
|
+
[_chunkOH5TXFRRcjs.HONEYPOT_FIELD]: _nullishCoalesce(_optionalChain([ref, 'access', _34 => _34.current, 'optionalAccess', _35 => _35.value]), () => ( "")),
|
|
2791
|
+
[_chunkOH5TXFRRcjs.ELAPSED_MS_FIELD]: typeof performance !== "undefined" ? Math.round(performance.now() - startedAtRef.current) : 0
|
|
2792
2792
|
}),
|
|
2793
2793
|
[]
|
|
2794
2794
|
);
|
|
@@ -2796,7 +2796,7 @@ function useHumanitySignals() {
|
|
|
2796
2796
|
if (ref.current) ref.current.value = "";
|
|
2797
2797
|
if (typeof performance !== "undefined") startedAtRef.current = performance.now();
|
|
2798
2798
|
}, []);
|
|
2799
|
-
return { honeypotInputProps: { ref, name:
|
|
2799
|
+
return { honeypotInputProps: { ref, name: _chunkOH5TXFRRcjs.HONEYPOT_FIELD }, getSignals, resetSignals };
|
|
2800
2800
|
}
|
|
2801
2801
|
|
|
2802
2802
|
// src/hooks/use-form-rescue.ts
|
|
@@ -2809,9 +2809,9 @@ function readLocalDraft(formId) {
|
|
|
2809
2809
|
const raw = window.localStorage.getItem(STORAGE_PREFIX + formId);
|
|
2810
2810
|
if (!raw) return null;
|
|
2811
2811
|
const parsed = JSON.parse(raw);
|
|
2812
|
-
if (!
|
|
2812
|
+
if (!_chunkOH5TXFRRcjs.isFormAttemptId.call(void 0, parsed.attemptId) || typeof parsed.savedAt !== "number") return null;
|
|
2813
2813
|
if (Date.now() - parsed.savedAt > LOCAL_DRAFT_TTL_MS) return null;
|
|
2814
|
-
return { attemptId: parsed.attemptId, values:
|
|
2814
|
+
return { attemptId: parsed.attemptId, values: _chunkOH5TXFRRcjs.sanitizeRescueValues.call(void 0, parsed.values), savedAt: parsed.savedAt };
|
|
2815
2815
|
} catch (e8) {
|
|
2816
2816
|
return null;
|
|
2817
2817
|
}
|
|
@@ -2831,9 +2831,9 @@ function clearLocalDraft(formId) {
|
|
|
2831
2831
|
function completeFormRescue(form, attemptId) {
|
|
2832
2832
|
if (!form || typeof window === "undefined") return;
|
|
2833
2833
|
const local = readLocalDraft(form.id);
|
|
2834
|
-
|
|
2834
|
+
_chunkOH5TXFRRcjs.captureFormRescueEvent.call(void 0, _chunkOH5TXFRRcjs.FORM_RESCUE_EVENTS.submitted, {
|
|
2835
2835
|
form_id: form.id,
|
|
2836
|
-
attempt_id:
|
|
2836
|
+
attempt_id: _chunkOH5TXFRRcjs.isFormAttemptId.call(void 0, attemptId) ? attemptId : _nullishCoalesce(_optionalChain([local, 'optionalAccess', _36 => _36.attemptId]), () => ( null))
|
|
2837
2837
|
});
|
|
2838
2838
|
clearLocalDraft(form.id);
|
|
2839
2839
|
}
|
|
@@ -2894,7 +2894,7 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
|
|
|
2894
2894
|
}).catch(() => void 0);
|
|
2895
2895
|
} catch (e12) {
|
|
2896
2896
|
}
|
|
2897
|
-
|
|
2897
|
+
_chunkOH5TXFRRcjs.captureFormRescueEvent.call(void 0, _chunkOH5TXFRRcjs.FORM_RESCUE_EVENTS.progress, {
|
|
2898
2898
|
form_id: formId,
|
|
2899
2899
|
attempt_id: attemptId(),
|
|
2900
2900
|
fields_filled: body.fields_filled,
|
|
@@ -2907,14 +2907,14 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
|
|
|
2907
2907
|
_react.useEffect.call(void 0, () => {
|
|
2908
2908
|
if (!formId || typeof window === "undefined") return void 0;
|
|
2909
2909
|
let cancelled = false;
|
|
2910
|
-
const token = new URLSearchParams(window.location.search).get(
|
|
2910
|
+
const token = new URLSearchParams(window.location.search).get(_chunkOH5TXFRRcjs.FORM_RESCUE_RESUME_PARAM);
|
|
2911
2911
|
const restoreLocal = () => {
|
|
2912
2912
|
const local = readLocalDraft(formId);
|
|
2913
2913
|
if (!local) return;
|
|
2914
2914
|
attemptIdRef.current = local.attemptId;
|
|
2915
2915
|
if (Object.keys(local.values).length) _optionalChain([onRestoreRef, 'access', _41 => _41.current, 'optionalCall', _42 => _42(local.values)]);
|
|
2916
2916
|
};
|
|
2917
|
-
if (
|
|
2917
|
+
if (_chunkOH5TXFRRcjs.isResumeToken.call(void 0, token) && draftsUrl) {
|
|
2918
2918
|
_chunkFX35L4Y6cjs.contentFetch.call(void 0, `${draftsUrl}/resume/${encodeURIComponent(token)}`).then(async (res) => res.ok ? await res.json() : null).then((data) => {
|
|
2919
2919
|
if (cancelled) return;
|
|
2920
2920
|
if (!data || data.form_id !== formId) {
|
|
@@ -2922,8 +2922,8 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
|
|
|
2922
2922
|
return;
|
|
2923
2923
|
}
|
|
2924
2924
|
resumeTokenRef.current = token;
|
|
2925
|
-
_optionalChain([onRestoreRef, 'access', _43 => _43.current, 'optionalCall', _44 => _44(
|
|
2926
|
-
|
|
2925
|
+
_optionalChain([onRestoreRef, 'access', _43 => _43.current, 'optionalCall', _44 => _44(_chunkOH5TXFRRcjs.sanitizeRescueValues.call(void 0, data.values))]);
|
|
2926
|
+
_chunkOH5TXFRRcjs.captureFormRescueEvent.call(void 0, _chunkOH5TXFRRcjs.FORM_RESCUE_EVENTS.resumed, { form_id: formId, attempt_id: attemptId() });
|
|
2927
2927
|
}).catch(() => {
|
|
2928
2928
|
if (!cancelled) restoreLocal();
|
|
2929
2929
|
});
|
|
@@ -2943,7 +2943,7 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
|
|
|
2943
2943
|
timerRef.current = null;
|
|
2944
2944
|
}
|
|
2945
2945
|
send(true);
|
|
2946
|
-
|
|
2946
|
+
_chunkOH5TXFRRcjs.captureFormRescueEvent.call(void 0, _chunkOH5TXFRRcjs.FORM_RESCUE_EVENTS.abandoned, {
|
|
2947
2947
|
form_id: formId,
|
|
2948
2948
|
attempt_id: attemptId(),
|
|
2949
2949
|
last_field: _nullishCoalesce(_optionalChain([latestRef, 'access', _45 => _45.current, 'optionalAccess', _46 => _46.last_field]), () => ( null)),
|
|
@@ -2967,22 +2967,22 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
|
|
|
2967
2967
|
const names = fieldNamesRef.current;
|
|
2968
2968
|
const visible = {};
|
|
2969
2969
|
for (const name of names) visible[name] = values[name];
|
|
2970
|
-
const filled =
|
|
2970
|
+
const filled = _chunkOH5TXFRRcjs.filledRescueFields.call(void 0, visible, names);
|
|
2971
2971
|
if (!filled.length) return;
|
|
2972
2972
|
if (!startedRef.current) {
|
|
2973
2973
|
startedRef.current = true;
|
|
2974
|
-
|
|
2974
|
+
_chunkOH5TXFRRcjs.captureFormRescueEvent.call(void 0, _chunkOH5TXFRRcjs.FORM_RESCUE_EVENTS.started, { form_id: formId, attempt_id: attemptId() });
|
|
2975
2975
|
}
|
|
2976
|
-
const clean =
|
|
2977
|
-
if (!leadCapturedRef.current &&
|
|
2976
|
+
const clean = _chunkOH5TXFRRcjs.sanitizeRescueValues.call(void 0, visible);
|
|
2977
|
+
if (!leadCapturedRef.current && _chunkOH5TXFRRcjs.isRescueEmail.call(void 0, clean.email)) {
|
|
2978
2978
|
leadCapturedRef.current = true;
|
|
2979
|
-
|
|
2979
|
+
_chunkOH5TXFRRcjs.captureFormRescueEvent.call(void 0, _chunkOH5TXFRRcjs.FORM_RESCUE_EVENTS.leadCaptured, { form_id: formId, attempt_id: attemptId() });
|
|
2980
2980
|
}
|
|
2981
2981
|
latestRef.current = {
|
|
2982
2982
|
values: clean,
|
|
2983
2983
|
fields_filled: filled,
|
|
2984
|
-
last_field:
|
|
2985
|
-
completion_pct:
|
|
2984
|
+
last_field: _chunkOH5TXFRRcjs.sanitizeRescueFieldName.call(void 0, lastField),
|
|
2985
|
+
completion_pct: _chunkOH5TXFRRcjs.rescueCompletionPct.call(void 0, filled.length, names.length)
|
|
2986
2986
|
};
|
|
2987
2987
|
dirtyRef.current = true;
|
|
2988
2988
|
writeLocalDraft(formId, { attemptId: attemptId(), values: clean, savedAt: Date.now() });
|
|
@@ -2990,15 +2990,15 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
|
|
|
2990
2990
|
timerRef.current = setTimeout(() => {
|
|
2991
2991
|
timerRef.current = null;
|
|
2992
2992
|
send(false);
|
|
2993
|
-
},
|
|
2993
|
+
}, _chunkOH5TXFRRcjs.FORM_RESCUE_DEBOUNCE_MS);
|
|
2994
2994
|
},
|
|
2995
2995
|
[attemptId, formId, send]
|
|
2996
2996
|
);
|
|
2997
2997
|
const submitFields = _react.useCallback.call(void 0, () => {
|
|
2998
2998
|
if (!formId) return {};
|
|
2999
2999
|
return {
|
|
3000
|
-
[
|
|
3001
|
-
...resumeTokenRef.current ? { [
|
|
3000
|
+
[_chunkOH5TXFRRcjs.FORM_RESCUE_ATTEMPT_FIELD]: attemptId(),
|
|
3001
|
+
...resumeTokenRef.current ? { [_chunkOH5TXFRRcjs.FORM_RESCUE_RESUME_FIELD]: resumeTokenRef.current } : {}
|
|
3002
3002
|
};
|
|
3003
3003
|
}, [attemptId, formId]);
|
|
3004
3004
|
const complete = _react.useCallback.call(void 0, () => {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
var _chunk24I6RFVUcjs = require('./chunk-24I6RFVU.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkLFEURIZNcjs = require('./chunk-LFEURIZN.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
var _chunkUAI4VMEFcjs = require('./chunk-UAI4VMEF.cjs');
|
|
@@ -20,7 +20,7 @@ var _chunkGI3MMBP3cjs = require('./chunk-GI3MMBP3.cjs');
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
var
|
|
23
|
+
var _chunkVCFQHPOOcjs = require('./chunk-VCFQHPOO.cjs');
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
var _chunkFCZAUK4Dcjs = require('./chunk-FCZAUK4D.cjs');
|
|
@@ -272,7 +272,7 @@ var DrawerContent = _react.forwardRef.call(void 0,
|
|
|
272
272
|
...props,
|
|
273
273
|
children: [
|
|
274
274
|
applyInlineSize ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
275
|
-
|
|
275
|
+
_chunkLFEURIZNcjs.PanelResizeHandle,
|
|
276
276
|
{
|
|
277
277
|
variant: "overlay",
|
|
278
278
|
side: resolvedSide,
|
|
@@ -291,7 +291,7 @@ var DrawerContent = _react.forwardRef.call(void 0,
|
|
|
291
291
|
ref: panelRef,
|
|
292
292
|
className: _chunk63A4GZMBcjs.cn.call(void 0, drawerPanelVariants({ side, flush, size }), className, panelClassName),
|
|
293
293
|
style: { ...sizeStyle, ...panelStyle },
|
|
294
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
294
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVCFQHPOOcjs.PortalContainerContext.Provider, { value: portalHost, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVCFQHPOOcjs.CollisionBoundaryContext.Provider, { value: null, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUAI4VMEFcjs.ViewportBreakpoints, { children }) }) })
|
|
295
295
|
}
|
|
296
296
|
),
|
|
297
297
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: setPortalHost, className: "contents" })
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkNMWLXHFHcjs = require('./chunk-NMWLXHFH.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
@@ -52,7 +52,7 @@ function ArticleAuthorByline({
|
|
|
52
52
|
proxyImageUrl,
|
|
53
53
|
className
|
|
54
54
|
}) {
|
|
55
|
-
const proxiedAvatar =
|
|
55
|
+
const proxiedAvatar = _chunkNMWLXHFHcjs.useProxiedImageUrl.call(void 0, avatar, { proxyImageUrl });
|
|
56
56
|
const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
|
|
57
57
|
if (loading && !author) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ArticleAuthorBylineSkeleton, { size, className });
|
|
58
58
|
if (!author) return null;
|
|
@@ -3,8 +3,41 @@
|
|
|
3
3
|
|
|
4
4
|
var _chunk63A4GZMBcjs = require('./chunk-63A4GZMB.cjs');
|
|
5
5
|
|
|
6
|
-
// src/components/ui/
|
|
6
|
+
// src/components/ui/label.tsx
|
|
7
|
+
var _reactlabel = require('@radix-ui/react-label'); var LabelPrimitive = _interopRequireWildcard(_reactlabel);
|
|
8
|
+
var _classvarianceauthority = require('class-variance-authority');
|
|
7
9
|
var _react = require('react');
|
|
10
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
11
|
+
var LABEL_TEXT_CLASS = "block text-ods-text-primary text-h6";
|
|
12
|
+
var labelVariants = _classvarianceauthority.cva.call(void 0, "", {
|
|
13
|
+
variants: {
|
|
14
|
+
variant: {
|
|
15
|
+
default: LABEL_TEXT_CLASS,
|
|
16
|
+
/** @deprecated alias of `default` — the three small scales converged on text-h6. */
|
|
17
|
+
small: LABEL_TEXT_CLASS,
|
|
18
|
+
/** @deprecated alias of `default`. */
|
|
19
|
+
medium: LABEL_TEXT_CLASS,
|
|
20
|
+
large: _chunk63A4GZMBcjs.cn.call(void 0, LABEL_TEXT_CLASS, "text-h4"),
|
|
21
|
+
/** A click surface that labels its control: no typography, the site's `className` is its look. */
|
|
22
|
+
surface: ""
|
|
23
|
+
},
|
|
24
|
+
spacing: {
|
|
25
|
+
none: "",
|
|
26
|
+
tight: "mb-0.5",
|
|
27
|
+
normal: "mb-2",
|
|
28
|
+
loose: "mb-3"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
defaultVariants: {
|
|
32
|
+
variant: "default",
|
|
33
|
+
spacing: "none"
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
var Label = _react.forwardRef.call(void 0, ({ className, variant, spacing, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LabelPrimitive.Root, { ref, className: _chunk63A4GZMBcjs.cn.call(void 0, labelVariants({ variant, spacing }), className), ...props }));
|
|
37
|
+
Label.displayName = LabelPrimitive.Root.displayName;
|
|
38
|
+
|
|
39
|
+
// src/components/ui/portal-container.tsx
|
|
40
|
+
|
|
8
41
|
var PortalContainerContext = _react.createContext.call(void 0, null);
|
|
9
42
|
function usePortalContainer() {
|
|
10
43
|
return _react.useContext.call(void 0, PortalContainerContext);
|
|
@@ -19,7 +52,7 @@ var COLLISION_PADDING_PX = 8;
|
|
|
19
52
|
var _reactdropdownmenu = require('@radix-ui/react-dropdown-menu'); var DropdownMenuPrimitive = _interopRequireWildcard(_reactdropdownmenu);
|
|
20
53
|
var _lucidereact = require('lucide-react');
|
|
21
54
|
|
|
22
|
-
|
|
55
|
+
|
|
23
56
|
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
24
57
|
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
25
58
|
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
@@ -170,4 +203,5 @@ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
|
170
203
|
|
|
171
204
|
|
|
172
205
|
|
|
173
|
-
|
|
206
|
+
|
|
207
|
+
exports.Label = Label; exports.PortalContainerContext = PortalContainerContext; exports.usePortalContainer = usePortalContainer; exports.CollisionBoundaryContext = CollisionBoundaryContext; exports.useCollisionBoundary = useCollisionBoundary; exports.COLLISION_PADDING_PX = COLLISION_PADDING_PX; exports.DropdownMenu = DropdownMenu; exports.DropdownMenuTrigger = DropdownMenuTrigger; exports.DropdownMenuGroup = DropdownMenuGroup; exports.DropdownMenuPortal = DropdownMenuPortal; exports.DropdownMenuSub = DropdownMenuSub; exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup; exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger; exports.DropdownMenuSubContent = DropdownMenuSubContent; exports.DropdownMenuContent = DropdownMenuContent; exports.DropdownMenuItem = DropdownMenuItem; exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem; exports.DropdownMenuRadioItem = DropdownMenuRadioItem; exports.DropdownMenuLabel = DropdownMenuLabel; exports.DropdownMenuSeparator = DropdownMenuSeparator; exports.DropdownMenuShortcut = DropdownMenuShortcut;
|