@tai42/studio-sdk 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/code-block.d.ts.map +1 -1
- package/dist/components/code-block.js +26 -13
- package/dist/components/code-block.js.map +1 -1
- package/dist/components/components.css +20 -0
- package/dist/components/copy-field.d.ts.map +1 -1
- package/dist/components/copy-field.js +8 -73
- package/dist/components/copy-field.js.map +1 -1
- package/dist/components/date-range-picker.d.ts +73 -0
- package/dist/components/date-range-picker.d.ts.map +1 -0
- package/dist/components/date-range-picker.js +146 -0
- package/dist/components/date-range-picker.js.map +1 -0
- package/dist/components/dialog.d.ts +19 -1
- package/dist/components/dialog.d.ts.map +1 -1
- package/dist/components/dialog.js +16 -13
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/dirty-guard.d.ts +28 -0
- package/dist/components/dirty-guard.d.ts.map +1 -0
- package/dist/components/dirty-guard.js +93 -0
- package/dist/components/dirty-guard.js.map +1 -0
- package/dist/components/extension-picker.d.ts.map +1 -1
- package/dist/components/extension-picker.js +7 -0
- package/dist/components/extension-picker.js.map +1 -1
- package/dist/components/form-dialog.d.ts +45 -0
- package/dist/components/form-dialog.d.ts.map +1 -0
- package/dist/components/form-dialog.js +71 -0
- package/dist/components/form-dialog.js.map +1 -0
- package/dist/components/json-tree.d.ts +7 -1
- package/dist/components/json-tree.d.ts.map +1 -1
- package/dist/components/json-tree.js +300 -13
- package/dist/components/json-tree.js.map +1 -1
- package/dist/components/markdown.d.ts +60 -0
- package/dist/components/markdown.d.ts.map +1 -0
- package/dist/components/markdown.js +435 -0
- package/dist/components/markdown.js.map +1 -0
- package/dist/components/tabs.d.ts +3 -1
- package/dist/components/tabs.d.ts.map +1 -1
- package/dist/components/tabs.js +2 -2
- package/dist/components/tabs.js.map +1 -1
- package/dist/hooks/useApi.d.ts +56 -28
- package/dist/hooks/useApi.d.ts.map +1 -1
- package/dist/hooks/useClipboardCopy.d.ts +26 -0
- package/dist/hooks/useClipboardCopy.d.ts.map +1 -0
- package/dist/hooks/useClipboardCopy.js +72 -0
- package/dist/hooks/useClipboardCopy.js.map +1 -0
- package/dist/index.d.ts +9 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/navigation/context.d.ts +13 -1
- package/dist/navigation/context.d.ts.map +1 -1
- package/dist/navigation/context.js +205 -7
- package/dist/navigation/context.js.map +1 -1
- package/dist/navigation/index.d.ts +2 -2
- package/dist/navigation/index.d.ts.map +1 -1
- package/dist/navigation/index.js +1 -1
- package/dist/navigation/index.js.map +1 -1
- package/dist/navigation/types.d.ts +11 -0
- package/dist/navigation/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/components/code-block.tsx +72 -9
- package/src/components/components.css +20 -0
- package/src/components/copy-field.tsx +25 -81
- package/src/components/date-range-picker.tsx +256 -0
- package/src/components/dialog.tsx +59 -18
- package/src/components/dirty-guard.tsx +153 -0
- package/src/components/extension-picker.tsx +12 -0
- package/src/components/form-dialog.tsx +133 -0
- package/src/components/json-tree.tsx +477 -42
- package/src/components/markdown.tsx +552 -0
- package/src/components/tabs.tsx +10 -1
- package/src/hooks/useClipboardCopy.ts +105 -0
- package/src/index.ts +18 -0
- package/src/navigation/context.tsx +245 -7
- package/src/navigation/index.ts +2 -0
- package/src/navigation/types.ts +12 -0
package/dist/hooks/useApi.d.ts
CHANGED
|
@@ -317,7 +317,21 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
317
317
|
cleared: true;
|
|
318
318
|
}>;
|
|
319
319
|
readonly getManifest: (signal?: AbortSignal) => Promise<{
|
|
320
|
-
mcp:
|
|
320
|
+
mcp: import("zod").objectOutputType<{
|
|
321
|
+
managed: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
322
|
+
connection_id: import("zod").ZodString;
|
|
323
|
+
provider_id: import("zod").ZodString;
|
|
324
|
+
sub_service: import("zod").ZodString;
|
|
325
|
+
}, "strip", import("zod").ZodTypeAny, {
|
|
326
|
+
connection_id: string;
|
|
327
|
+
provider_id: string;
|
|
328
|
+
sub_service: string;
|
|
329
|
+
}, {
|
|
330
|
+
connection_id: string;
|
|
331
|
+
provider_id: string;
|
|
332
|
+
sub_service: string;
|
|
333
|
+
}>>>;
|
|
334
|
+
}, import("zod").ZodTypeAny, "passthrough">[];
|
|
321
335
|
user_tools: string[];
|
|
322
336
|
}>;
|
|
323
337
|
readonly setMcpConfig: (mcp: unknown[]) => Promise<{
|
|
@@ -374,10 +388,14 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
374
388
|
payload?: unknown;
|
|
375
389
|
}[];
|
|
376
390
|
}>;
|
|
377
|
-
readonly listSubMcp: (signal?: AbortSignal) => Promise<Record<string,
|
|
378
|
-
|
|
379
|
-
|
|
391
|
+
readonly listSubMcp: (signal?: AbortSignal) => Promise<Record<string, {
|
|
392
|
+
tools: string[];
|
|
393
|
+
transport: string;
|
|
394
|
+
}>>;
|
|
395
|
+
readonly createSubMcp: (slug: string, tools: string[], transport?: string) => Promise<{
|
|
380
396
|
tools: string[];
|
|
397
|
+
transport: string;
|
|
398
|
+
slug: string;
|
|
381
399
|
}>;
|
|
382
400
|
readonly deleteSubMcp: (slug: string) => Promise<{
|
|
383
401
|
slug: string;
|
|
@@ -426,27 +444,34 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
426
444
|
read_only: boolean;
|
|
427
445
|
}>;
|
|
428
446
|
readonly listProviders: (signal?: AbortSignal) => Promise<{
|
|
429
|
-
|
|
430
|
-
kind: "oauth" | "none";
|
|
431
|
-
id: string;
|
|
432
|
-
display_name: string;
|
|
433
|
-
origin: "system" | "community";
|
|
434
|
-
icon_url: string;
|
|
435
|
-
category: string;
|
|
436
|
-
sub_services: {
|
|
447
|
+
providers: {
|
|
437
448
|
description: string;
|
|
449
|
+
kind: "oauth" | "none";
|
|
438
450
|
id: string;
|
|
439
451
|
display_name: string;
|
|
440
|
-
|
|
452
|
+
origin: "system" | "community";
|
|
453
|
+
icon_url: string;
|
|
454
|
+
category: string;
|
|
455
|
+
sub_services: {
|
|
456
|
+
description: string;
|
|
457
|
+
id: string;
|
|
458
|
+
display_name: string;
|
|
459
|
+
scopes: string[];
|
|
460
|
+
}[];
|
|
461
|
+
config_fields: {
|
|
462
|
+
key: string;
|
|
463
|
+
required: boolean;
|
|
464
|
+
label: string;
|
|
465
|
+
target: "env" | "header";
|
|
466
|
+
secret: boolean;
|
|
467
|
+
}[];
|
|
441
468
|
}[];
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
target: "env" | "header";
|
|
447
|
-
secret: boolean;
|
|
469
|
+
categories: {
|
|
470
|
+
id: string;
|
|
471
|
+
display_name: string;
|
|
472
|
+
sort_order: number;
|
|
448
473
|
}[];
|
|
449
|
-
}
|
|
474
|
+
}>;
|
|
450
475
|
readonly listConnections: (signal?: AbortSignal) => Promise<{
|
|
451
476
|
items: {
|
|
452
477
|
kind: "oauth" | "none";
|
|
@@ -457,9 +482,11 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
457
482
|
account_identity: string | null;
|
|
458
483
|
enabled_sub_services: string[];
|
|
459
484
|
granted_scopes: string[];
|
|
485
|
+
unreachable_sub_services: string[];
|
|
460
486
|
auth_health_state: "healthy" | "reconnect_required" | "refresh_failing";
|
|
461
487
|
}[];
|
|
462
488
|
total: number;
|
|
489
|
+
unhealthy?: number | undefined;
|
|
463
490
|
}>;
|
|
464
491
|
readonly getConnection: (id: string, signal?: AbortSignal) => Promise<{
|
|
465
492
|
kind: "oauth" | "none";
|
|
@@ -470,12 +497,14 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
470
497
|
account_identity: string | null;
|
|
471
498
|
enabled_sub_services: string[];
|
|
472
499
|
granted_scopes: string[];
|
|
500
|
+
unreachable_sub_services: string[];
|
|
473
501
|
auth_health_state: "healthy" | "reconnect_required" | "refresh_failing";
|
|
474
502
|
}>;
|
|
475
503
|
readonly startConnect: (args: import("@tai42/api-client").StartConnectArgs) => Promise<{
|
|
476
504
|
flow_id: string;
|
|
477
505
|
authorize_url: string;
|
|
478
506
|
} | {
|
|
507
|
+
connection_id: string;
|
|
479
508
|
fanout: {
|
|
480
509
|
mode: "local-only";
|
|
481
510
|
note: string;
|
|
@@ -506,10 +535,10 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
506
535
|
}[];
|
|
507
536
|
mode: "unreachable";
|
|
508
537
|
} | null;
|
|
509
|
-
connection_id: string;
|
|
510
538
|
added_manifest_entries: string[];
|
|
511
539
|
}>;
|
|
512
540
|
readonly disconnect: (id: string) => Promise<{
|
|
541
|
+
connection_id: string;
|
|
513
542
|
fanout: {
|
|
514
543
|
mode: "local-only";
|
|
515
544
|
note: string;
|
|
@@ -540,7 +569,6 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
540
569
|
}[];
|
|
541
570
|
mode: "unreachable";
|
|
542
571
|
} | null;
|
|
543
|
-
connection_id: string;
|
|
544
572
|
upstream_revoke_outcome: "failed" | "success" | "skipped";
|
|
545
573
|
upstream_revoke_status: number | null;
|
|
546
574
|
removed_manifest_entries: string[];
|
|
@@ -550,6 +578,7 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
550
578
|
authorize_url: string;
|
|
551
579
|
}>;
|
|
552
580
|
readonly patchSubServices: (id: string, enabled_sub_services: string[], return_url?: string) => Promise<{
|
|
581
|
+
connection_id: string;
|
|
553
582
|
fanout: {
|
|
554
583
|
mode: "local-only";
|
|
555
584
|
note: string;
|
|
@@ -580,7 +609,6 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
580
609
|
}[];
|
|
581
610
|
mode: "unreachable";
|
|
582
611
|
} | null;
|
|
583
|
-
connection_id: string;
|
|
584
612
|
enabled_sub_services: string[];
|
|
585
613
|
flow_id: string | null;
|
|
586
614
|
authorize_url: string | null;
|
|
@@ -590,6 +618,7 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
590
618
|
}>;
|
|
591
619
|
readonly completeOAuth: (state: string, code: string, error?: string) => Promise<{
|
|
592
620
|
kind: "success";
|
|
621
|
+
connection_id: string;
|
|
593
622
|
fanout: {
|
|
594
623
|
mode: "local-only";
|
|
595
624
|
note: string;
|
|
@@ -620,7 +649,6 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
620
649
|
}[];
|
|
621
650
|
mode: "unreachable";
|
|
622
651
|
} | null;
|
|
623
|
-
connection_id: string;
|
|
624
652
|
return_url: string;
|
|
625
653
|
} | {
|
|
626
654
|
reason: string;
|
|
@@ -908,9 +936,9 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
908
936
|
pattern: string;
|
|
909
937
|
}[];
|
|
910
938
|
sub_mcp: {
|
|
911
|
-
slug: string;
|
|
912
939
|
tools: string[];
|
|
913
940
|
transport: string;
|
|
941
|
+
slug: string;
|
|
914
942
|
}[];
|
|
915
943
|
agents: string[];
|
|
916
944
|
mintable: boolean;
|
|
@@ -954,11 +982,11 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
954
982
|
user_id: string;
|
|
955
983
|
}>;
|
|
956
984
|
readonly getAuthCapabilities: (signal?: AbortSignal) => Promise<{
|
|
957
|
-
mintable: boolean;
|
|
958
985
|
providers: {
|
|
959
986
|
name: string;
|
|
960
987
|
mintable: boolean;
|
|
961
988
|
}[];
|
|
989
|
+
mintable: boolean;
|
|
962
990
|
}>;
|
|
963
991
|
readonly logout: () => Promise<{
|
|
964
992
|
revoked: boolean;
|
|
@@ -1138,6 +1166,7 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
1138
1166
|
tags: string[];
|
|
1139
1167
|
display_name: string | null;
|
|
1140
1168
|
icon_url: string | null;
|
|
1169
|
+
categories: string[];
|
|
1141
1170
|
item: {
|
|
1142
1171
|
name: string;
|
|
1143
1172
|
description: string;
|
|
@@ -1147,7 +1176,6 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
1147
1176
|
ref: string;
|
|
1148
1177
|
namespace: string;
|
|
1149
1178
|
package: string;
|
|
1150
|
-
categories: string[];
|
|
1151
1179
|
trust_tier: string;
|
|
1152
1180
|
pricing: string;
|
|
1153
1181
|
latest_version: string | null;
|
|
@@ -1164,6 +1192,7 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
1164
1192
|
tags: string[];
|
|
1165
1193
|
display_name: string | null;
|
|
1166
1194
|
icon_url: string | null;
|
|
1195
|
+
categories: string[];
|
|
1167
1196
|
versions: {
|
|
1168
1197
|
status: string;
|
|
1169
1198
|
version: string;
|
|
@@ -1172,7 +1201,6 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
1172
1201
|
}[];
|
|
1173
1202
|
namespace: string;
|
|
1174
1203
|
package: string;
|
|
1175
|
-
categories: string[];
|
|
1176
1204
|
trust_tier: string;
|
|
1177
1205
|
pricing: string;
|
|
1178
1206
|
downloads: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useApi.d.ts","sourceRoot":"","sources":["../../src/hooks/useApi.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,eAAO,MAAM,WAAW;;+BAWy7T,CAAC;iDAAsF,CAAC;;;;;uCAAuM,CAAC;;;;;4EAAgO,CAAC;wFAAgG,CAAC;;;+CAA2G,CAAC;;;;;aAAqL,CAAC;cAAoC,CAAC;mBAA8B,CAAC;;oDAAkF,CAAC;;;;;mBAA2L,CAAC;;kCAAkE,CAAC;;;;;iCAA8I,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;6CAAk2B,CAAC;;;;;;;;;;;;;;sDAA4e,CAAC;;;;;;;;;;;;;;;;qEAAqiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qDAAs8C,CAAC;;;;;;;;;;;;;kCAAmb,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;kDAAqwB,CAAC;;;;;;;;;;;;;;;;;;;oCAA8kB,CAAC;;;;;0CAAwK,CAAC;;;qDAAsH,CAAC;;;;yDAAsJ,CAAC;;;;;;;;;;;;;oCAAka,CAAC;;;;;sCAAmK,CAAC;;;;;;;;;;;;;;;;;mBAA4iB,CAAC;;;oCAAoE,CAAC;;;;qDAAuI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAg1B,CAAC;;;;;;;;;;;;;uBAAib,CAAC;;;;;mCAAmH,CAAC;;;;;;;;;;;;;;eAA+c,CAAC;mBAA6B,CAAC;cAAwB,CAAC;;;;;;;iCAAmM,CAAC
|
|
1
|
+
{"version":3,"file":"useApi.d.ts","sourceRoot":"","sources":["../../src/hooks/useApi.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,eAAO,MAAM,WAAW;;+BAWy7T,CAAC;iDAAsF,CAAC;;;;;uCAAuM,CAAC;;;;;4EAAgO,CAAC;wFAAgG,CAAC;;;+CAA2G,CAAC;;;;;aAAqL,CAAC;cAAoC,CAAC;mBAA8B,CAAC;;oDAAkF,CAAC;;;;;mBAA2L,CAAC;;kCAAkE,CAAC;;;;;iCAA8I,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;6CAAk2B,CAAC;;;;;;;;;;;;;;sDAA4e,CAAC;;;;;;;;;;;;;;;;qEAAqiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qDAAs8C,CAAC;;;;;;;;;;;;;kCAAmb,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;kDAAqwB,CAAC;;;;;;;;;;;;;;;;;;;oCAA8kB,CAAC;;;;;0CAAwK,CAAC;;;qDAAsH,CAAC;;;;yDAAsJ,CAAC;;;;;;;;;;;;;oCAAka,CAAC;;;;;sCAAmK,CAAC;;;;;;;;;;;;;;;;;mBAA4iB,CAAC;;;oCAAoE,CAAC;;;;qDAAuI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAg1B,CAAC;;;;;;;;;;;;;uBAAib,CAAC;;;;;mCAAmH,CAAC;;;;;;;;;;;;;;eAA+c,CAAC;mBAA6B,CAAC;cAAwB,CAAC;;;;;;;iCAAmM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAwxC,CAAC;;;;;;;;;;;;;uBAAib,CAAC;;;;;kCAAkH,CAAC;;;;;;;;;;;;;;;;;mBAA4hB,CAAC;;;gCAAgE,CAAC;;;;oEAA4K,CAAC;;;;;;;;;kCAAuP,CAAC;;;;;;;;;;;;;;;;;;;;uBAAsqB,CAAC;;;;;;;;;;;;;uBAAib,CAAC;;;;;mCAAmH,CAAC;;;;mCAAgI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAA61B,CAAC;;;;;;;;;;;;;;iBAAygB,CAAC;;+CAA6E,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAA2gC,CAAC;;;;;;;;;;;;;uBAAib,CAAC;;;;;;;;;;;;;;;;;;;;;uBAAypB,CAAC;;;;;;;;;;;;;uBAAib,CAAC;;;;;;;;+EAAoU,CAAC;;;;sFAA6K,CAAC;;;;;;;;;;;;;;;uBAA4f,CAAC;;;;;;;;;;;;;uBAAib,CAAC;;;;;;;;;;;+DAA6X,CAAC;;;;;;;;;;;;;;;;uBAAqhB,CAAC;;;;;;;;;;;;;uBAAib,CAAC;;;;;;;;;;;;uCAAkR,CAAC;;;;;;;;;;;;;;;;;kCAAsiB,CAAC;;;uCAAuG,CAAC;;;;;;;;gCAAqO,CAAC;;;;;;;;;;4CAAsT,CAAC;;;;;;;;;;kEAA4U,CAAC;0EAAoK,CAAC;8BAAwH,CAAC,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAAy/B,CAAC;;;;;;;;;;;;;;;;sCAAyiB,CAAC;;;;;;;;;;;;;;;;;;wCAA2nB,CAAC;uCAA2F,CAAC;;;;;;;;;;;;;;qBAA6d,CAAC;uBAAkC,CAAC;;;;gCAAiF,CAAC;;;;;;;;;;;;;;oCAA0b,CAAC;;;;;;;;sCAA4Q,CAAC;;;;;;;+BAA6P,CAAC;;;;;;;;;wBAAiU,CAAC;;;;;;;;;;;wBAAuX,CAAC;;;;;;;;;;;wBAAmY,CAAC;;;;;;oDAAoL,CAAC;;;;;;;;;;;;;gCAA0e,CAAC;;;;;;;;;;;sBAAkS,CAAC;qBAAgC,CAAC;;;;;;;;;;;;;;;wBAA6d,CAAC;;uCAA0D,CAAC;;;;iBAA6H,CAAC;oBAAiD,CAAC;wBAAqD,CAAC;mBAA8B,CAAC;;;;;;;;;;;;;;;;2BAAmhB,CAAC;;;;;;;;;;;;;;;;;;;;;;sCAAyjB,CAAC;cAAkB,CAAC;;;;;;;;;;4BAAqR,CAAC;;;;;;;;;gBAAuQ,CAAC;;;;;;;;;;;;;;;;;;yCAA0f,CAAC;;;;;;;;;;;;;;wDAAia,CAAC;;;;;;;4BAAsO,CAAC;uBAAkC,CAAC;;;;;;;;;wCAA8Q,CAAC;;;;sDAA2I,CAAC;;;;;;;;;;;kBAA+U,CAAC;;;;;;;;;;;;;2BAA4e,CAAC;;;;;;;;;;;;;2BAAqe,CAAC;;;;wBAAwH,CAAC;;;;;;;mCAA+L,CAAC;;;;;;;;uCAA6wB,CAAC;;;;;;;;;;;6CAAgsB,CAAC,kDAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;8BAA0vB,CAAC,+CAAmB,CAAC;;;;;;;;;;;;wBAA6Z,CAAC;yBAAoC,CAAC;;;;;kDAAyI,CAAC;;;;;;;;;;;;;;;;;;;iBAAsoB,CAAC;kBAA6B,CAAC;iBAA4B,CAAC;oBAA+B,CAAC;;aAAqC,CAAC;cAAyB,CAAC;gBAA2B,CAAC;;kDAAqE,CAAC;;;aAA8H,CAAC;sCAAuE,CAAC,4DAAgC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;2EAA4zB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CAA0hC,CAAC;0CAA+E,CAAC;qDAA0F,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAA+0D,CAAC;;;;;;;;;;;;+BAAkW,CAAC;oCAAuE,CAAC;;;;;;wCAAga,CAAC;SAX7/pD,CAAC;AAE/C,wBAAgB,MAAM,IAAI,SAAS,CAMlC;AAED,YAAY,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** How long a copy control shows its confirmed state before reverting. */
|
|
2
|
+
export declare const COPIED_RESET_MS = 2000;
|
|
3
|
+
/** A copy control's confirmed face; whichever face shows is also its accessible name. */
|
|
4
|
+
export declare const COPIED_LABEL = "Copied";
|
|
5
|
+
export interface ClipboardCopyMessages {
|
|
6
|
+
/** Shown when the browser offers no clipboard at all (any non-secure context). */
|
|
7
|
+
readonly noClipboard: string;
|
|
8
|
+
/** Shown when the write, or producing the value, is offered and refused. */
|
|
9
|
+
readonly writeFailed: (reason: unknown) => string;
|
|
10
|
+
}
|
|
11
|
+
export interface ClipboardCopy {
|
|
12
|
+
/** Whether the confirmed window is currently open. */
|
|
13
|
+
readonly copied: boolean;
|
|
14
|
+
/** The last failure's message, or `undefined` while the last copy stands. */
|
|
15
|
+
readonly error: string | undefined;
|
|
16
|
+
/** The polite live-region text: the announcement while confirmed, else empty. */
|
|
17
|
+
readonly announcement: string;
|
|
18
|
+
/**
|
|
19
|
+
* Writes the produced text to the clipboard, returning whether it landed. The
|
|
20
|
+
* value is produced lazily so a serialization that throws is reported through
|
|
21
|
+
* {@link ClipboardCopyMessages.writeFailed}, exactly as a refused write is.
|
|
22
|
+
*/
|
|
23
|
+
readonly copy: (produce: () => string) => Promise<boolean>;
|
|
24
|
+
}
|
|
25
|
+
export declare function useClipboardCopy(messages: ClipboardCopyMessages): ClipboardCopy;
|
|
26
|
+
//# sourceMappingURL=useClipboardCopy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useClipboardCopy.d.ts","sourceRoot":"","sources":["../../src/hooks/useClipboardCopy.ts"],"names":[],"mappings":"AAWA,0EAA0E;AAC1E,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,yFAAyF;AACzF,eAAO,MAAM,YAAY,WAAW,CAAC;AAoBrC,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC;CACnD;AAED,MAAM,WAAW,aAAa;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,iFAAiF;IACjF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5D;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,aAAa,CA+C/E"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `useClipboardCopy` — the shared clipboard-write interaction: reads the clipboard the
|
|
3
|
+
* browser actually offers, writes the value, and holds a transient "copied" window
|
|
4
|
+
* (confirmed face + polite announcement) reverting after {@link COPIED_RESET_MS}. A
|
|
5
|
+
* refused write, or a value that throws while being produced, surfaces as a
|
|
6
|
+
* caller-worded error string rather than a throw, so the control shows a visible alert.
|
|
7
|
+
*
|
|
8
|
+
* Only the WORDING is per control, supplied via {@link ClipboardCopyMessages}.
|
|
9
|
+
*/
|
|
10
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
11
|
+
/** How long a copy control shows its confirmed state before reverting. */
|
|
12
|
+
export const COPIED_RESET_MS = 2000;
|
|
13
|
+
/** A copy control's confirmed face; whichever face shows is also its accessible name. */
|
|
14
|
+
export const COPIED_LABEL = 'Copied';
|
|
15
|
+
/** Announced once on a successful copy, worded so it is never read as the label. */
|
|
16
|
+
const COPIED_ANNOUNCEMENT = 'Copied to clipboard';
|
|
17
|
+
/** The clipboard this browser actually offers, or `undefined` when it offers none. */
|
|
18
|
+
function clipboardOf(host) {
|
|
19
|
+
return host.clipboard;
|
|
20
|
+
}
|
|
21
|
+
export function useClipboardCopy(messages) {
|
|
22
|
+
const [copied, setCopied] = useState(false);
|
|
23
|
+
const [error, setError] = useState(undefined);
|
|
24
|
+
const resetTimer = useRef(null);
|
|
25
|
+
// The write is async, so a copy can be in flight when the control unmounts (a dialog
|
|
26
|
+
// holding it closes on the same click); checked before the resolution touches state.
|
|
27
|
+
// Clearing the timer alone can't cover it — at unmount no timer exists yet.
|
|
28
|
+
const mounted = useRef(true);
|
|
29
|
+
// Wording is read at write time, not closed over, so the callback stays stable even
|
|
30
|
+
// when the caller passes fresh message objects.
|
|
31
|
+
const messagesRef = useRef(messages);
|
|
32
|
+
messagesRef.current = messages;
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
mounted.current = true;
|
|
35
|
+
return () => {
|
|
36
|
+
mounted.current = false;
|
|
37
|
+
if (resetTimer.current !== null)
|
|
38
|
+
clearTimeout(resetTimer.current);
|
|
39
|
+
};
|
|
40
|
+
}, []);
|
|
41
|
+
const copy = useCallback(async (produce) => {
|
|
42
|
+
const clipboard = clipboardOf(navigator);
|
|
43
|
+
if (clipboard === undefined) {
|
|
44
|
+
setError(messagesRef.current.noClipboard);
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
// Clear any prior failure at the START of a new attempt, before awaiting the
|
|
48
|
+
// write, so a stale alert does not linger through an in-flight retry.
|
|
49
|
+
setError(undefined);
|
|
50
|
+
try {
|
|
51
|
+
const text = produce();
|
|
52
|
+
await clipboard.writeText(text);
|
|
53
|
+
if (!mounted.current)
|
|
54
|
+
return true;
|
|
55
|
+
setCopied(true);
|
|
56
|
+
if (resetTimer.current !== null)
|
|
57
|
+
clearTimeout(resetTimer.current);
|
|
58
|
+
resetTimer.current = setTimeout(() => {
|
|
59
|
+
if (mounted.current)
|
|
60
|
+
setCopied(false);
|
|
61
|
+
}, COPIED_RESET_MS);
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
catch (reason) {
|
|
65
|
+
if (mounted.current)
|
|
66
|
+
setError(messagesRef.current.writeFailed(reason));
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
}, []);
|
|
70
|
+
return { copied, error, announcement: copied ? COPIED_ANNOUNCEMENT : '', copy };
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=useClipboardCopy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useClipboardCopy.js","sourceRoot":"","sources":["../../src/hooks/useClipboardCopy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,0EAA0E;AAC1E,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC,yFAAyF;AACzF,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC;AAErC,oFAAoF;AACpF,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAYlD,sFAAsF;AACtF,SAAS,WAAW,CAAC,IAAoB;IACvC,OAAO,IAAI,CAAC,SAAS,CAAC;AACxB,CAAC;AAwBD,MAAM,UAAU,gBAAgB,CAAC,QAA+B;IAC9D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IACtE,qFAAqF;IACrF,qFAAqF;IACrF,4EAA4E;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,oFAAoF;IACpF,gDAAgD;IAChD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YACxB,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI;gBAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACpE,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,OAAqB,EAAoB,EAAE;QACzE,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QACD,6EAA6E;QAC7E,sEAAsE;QACtE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;YACvB,MAAM,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI;gBAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAClE,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBACnC,IAAI,OAAO,CAAC,OAAO;oBAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC,EAAE,eAAe,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,MAAe,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,OAAO;gBAAE,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;AAClF,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -36,8 +36,8 @@ export { useBreakpoint } from './hooks/useBreakpoint';
|
|
|
36
36
|
export type { Breakpoint, BreakpointState } from './hooks/useBreakpoint';
|
|
37
37
|
export { useInteractionsStream } from './hooks/useSse';
|
|
38
38
|
export type { InteractionsStreamState, StreamInteraction } from './hooks/useSse';
|
|
39
|
-
export { NavigationProvider, AppLink, useAppNavigate, useResolvePath, usePluginNavigation, } from './navigation';
|
|
40
|
-
export type { AppLinkProps, RouteToken, RouteSearch, RouteSearchByToken, PageProps, NavigationContextValue, PluginSearch, } from './navigation';
|
|
39
|
+
export { NavigationProvider, AppLink, useAppNavigate, useResolvePath, usePluginNavigation, useNavigationGuard, } from './navigation';
|
|
40
|
+
export type { AppLinkProps, RouteToken, RouteSearch, RouteSearchByToken, PageProps, NavigationContextValue, PluginSearch, NavigationGuardHandler, } from './navigation';
|
|
41
41
|
export { errorMessage } from './errors';
|
|
42
42
|
export { downloadBlob } from './download';
|
|
43
43
|
export { isFeatureDisabled, FeatureDisabled } from './feature-disabled';
|
|
@@ -70,6 +70,9 @@ export { Dialog } from './components/dialog';
|
|
|
70
70
|
export type { DialogProps } from './components/dialog';
|
|
71
71
|
export { ConfirmDialog } from './components/confirm-dialog';
|
|
72
72
|
export type { ConfirmDialogProps } from './components/confirm-dialog';
|
|
73
|
+
export { GuardedTabs, useRegisterDirty } from './components/dirty-guard';
|
|
74
|
+
export { FormDialog } from './components/form-dialog';
|
|
75
|
+
export type { FormDialogProps } from './components/form-dialog';
|
|
73
76
|
export { Drawer } from './components/drawer';
|
|
74
77
|
export type { DrawerProps } from './components/drawer';
|
|
75
78
|
export { Tooltip } from './components/tooltip';
|
|
@@ -96,6 +99,10 @@ export { FolderBreadcrumb, FolderRow, FolderPicker, childFolders, folderPathTo,
|
|
|
96
99
|
export type { Folder, FolderBreadcrumbProps, FolderRowProps, FolderPickerProps, } from './components/folder-nav';
|
|
97
100
|
export { CodeBlock } from './components/code-block';
|
|
98
101
|
export type { CodeBlockProps } from './components/code-block';
|
|
102
|
+
export { Markdown, parseMarkdown } from './components/markdown';
|
|
103
|
+
export type { MarkdownProps, MarkdownBlock, HeadingLevel } from './components/markdown';
|
|
104
|
+
export { DateRangePicker, formatRangeLabel, normalizeCustomRange, DEFAULT_DATE_RANGE_PRESETS, } from './components/date-range-picker';
|
|
105
|
+
export type { DateRangePickerProps, DateRangePreset, DateRangeValue, } from './components/date-range-picker';
|
|
99
106
|
export { FleetReport } from './components/fleet-report';
|
|
100
107
|
export type { FleetReportProps } from './components/fleet-report';
|
|
101
108
|
export { ExternalLinkButton, isSafeHttpUrl } from './components/external-link';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,6BAA6B,CAAC;AAGrC,YAAY,EACV,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACpF,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5F,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC3D,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGjF,OAAO,EACL,kBAAkB,EAClB,OAAO,EACP,cAAc,EACd,cAAc,EACd,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -36,7 +36,7 @@ export { ThemeProvider, useTheme } from './hooks/useTheme';
|
|
|
36
36
|
export { useBreakpoint } from './hooks/useBreakpoint';
|
|
37
37
|
export { useInteractionsStream } from './hooks/useSse';
|
|
38
38
|
// -- Navigation (shell ⇄ feature route-token contract) -----------------------
|
|
39
|
-
export { NavigationProvider, AppLink, useAppNavigate, useResolvePath, usePluginNavigation, } from './navigation';
|
|
39
|
+
export { NavigationProvider, AppLink, useAppNavigate, useResolvePath, usePluginNavigation, useNavigationGuard, } from './navigation';
|
|
40
40
|
// -- Utilities ---------------------------------------------------------------
|
|
41
41
|
export { errorMessage } from './errors';
|
|
42
42
|
export { downloadBlob } from './download';
|
|
@@ -62,6 +62,8 @@ export { Badge } from './components/badge';
|
|
|
62
62
|
export { Tabs } from './components/tabs';
|
|
63
63
|
export { Dialog } from './components/dialog';
|
|
64
64
|
export { ConfirmDialog } from './components/confirm-dialog';
|
|
65
|
+
export { GuardedTabs, useRegisterDirty } from './components/dirty-guard';
|
|
66
|
+
export { FormDialog } from './components/form-dialog';
|
|
65
67
|
export { Drawer } from './components/drawer';
|
|
66
68
|
export { Tooltip } from './components/tooltip';
|
|
67
69
|
export { Table, THead, TBody, TR, TH, TD } from './components/table';
|
|
@@ -75,6 +77,8 @@ export { EntityCardGrid } from './components/entity-card-grid';
|
|
|
75
77
|
export { ExplorerView, buildTagVocabulary, matchesSelectedTags, UNTAGGED_TOKEN, } from './components/explorer-view';
|
|
76
78
|
export { FolderBreadcrumb, FolderRow, FolderPicker, childFolders, folderPathTo, } from './components/folder-nav';
|
|
77
79
|
export { CodeBlock } from './components/code-block';
|
|
80
|
+
export { Markdown, parseMarkdown } from './components/markdown';
|
|
81
|
+
export { DateRangePicker, formatRangeLabel, normalizeCustomRange, DEFAULT_DATE_RANGE_PRESETS, } from './components/date-range-picker';
|
|
78
82
|
export { FleetReport } from './components/fleet-report';
|
|
79
83
|
export { ExternalLinkButton, isSafeHttpUrl } from './components/external-link';
|
|
80
84
|
// The URL half of the link-safety pair: `isSafeHttpUrl` answers yes/no, this one
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,kFAAkF;AAClF,+EAA+E;AAC/E,4EAA4E;AAC5E,iFAAiF;AACjF,iFAAiF;AACjF,+EAA+E;AAC/E,qEAAqE;AACrE,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,6BAA6B,CAAC;AAqBrC,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGpF,+EAA+E;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5F,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,+EAA+E;AAC/E,OAAO,EACL,kBAAkB,EAClB,OAAO,EACP,cAAc,EACd,cAAc,EACd,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type AriaAttributes, type ReactNode } from 'react';
|
|
2
|
-
import type { NavigationContextValue, RouteSearch, RouteToken } from './types';
|
|
2
|
+
import type { NavigationContextValue, NavigationGuardHandler, RouteSearch, RouteToken } from './types';
|
|
3
3
|
export declare function NavigationProvider({ value, children, }: {
|
|
4
4
|
value: NavigationContextValue;
|
|
5
5
|
children: ReactNode;
|
|
@@ -8,6 +8,18 @@ export declare function NavigationProvider({ value, children, }: {
|
|
|
8
8
|
export declare function useAppNavigate(): NavigationContextValue['navigate'];
|
|
9
9
|
/** Resolve a token + search to the href the shell would route to. */
|
|
10
10
|
export declare function useResolvePath(): NavigationContextValue['resolvePath'];
|
|
11
|
+
/**
|
|
12
|
+
* Block navigation away from the current page while `when` is true. `handler` is
|
|
13
|
+
* consulted before any SDK-controlled navigation commits — a route-token navigate,
|
|
14
|
+
* a plugin navigate, or a browser back/forward — and the navigation proceeds only if
|
|
15
|
+
* it resolves `true`; a promise lets the handler drive a confirm dialog. A full-page
|
|
16
|
+
* unload (tab close / refresh) is additionally covered by a native `beforeunload`
|
|
17
|
+
* prompt that fires whenever any guard is armed.
|
|
18
|
+
*
|
|
19
|
+
* Guards compose against the provider's shared registry: a feature and a plugin page
|
|
20
|
+
* may each arm one, and any veto blocks.
|
|
21
|
+
*/
|
|
22
|
+
export declare function useNavigationGuard(when: boolean, handler: NavigationGuardHandler): void;
|
|
11
23
|
/**
|
|
12
24
|
* Plugin-page navigation: `navigatePlugin` drives a client-side transition to a
|
|
13
25
|
* runtime plugin path, `resolvePluginPath` yields its href. These are the ONLY
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/navigation/context.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/navigation/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,cAAc,EAEnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,WAAW,EACX,UAAU,EACX,MAAM,SAAS,CAAC;AAsFjB,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,sBAAsB,CAAC;IAC9B,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,SAAS,CAmIZ;AAYD,iFAAiF;AACjF,wBAAgB,cAAc,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAEnE;AAED,qEAAqE;AACrE,wBAAgB,cAAc,IAAI,sBAAsB,CAAC,aAAa,CAAC,CAEtE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAWvF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CACzC,sBAAsB,EACtB,gBAAgB,GAAG,mBAAmB,CACvC,CAGA;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,UAAU;IAChD,EAAE,EAAE,CAAC,CAAC;IACN,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CACjD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,UAAU,EAAE,EAC5C,EAAE,EACF,MAAM,EACN,QAAQ,EACR,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,cAAc,EAAE,WAAW,GAC5B,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAkB7B"}
|