kaafil-react-uikit 0.8.0 → 0.10.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/CHANGELOG.md +88 -0
- package/dist/admin/index.cjs +476 -362
- package/dist/admin/index.cjs.map +1 -1
- package/dist/admin/index.d.cts +112 -14
- package/dist/admin/index.d.ts +112 -14
- package/dist/admin/index.js +136 -22
- package/dist/admin/index.js.map +1 -1
- package/dist/{chunk-Q4B25EZO.js → chunk-2HGOHUFU.js} +3 -3
- package/dist/{chunk-Q4B25EZO.js.map → chunk-2HGOHUFU.js.map} +1 -1
- package/dist/{chunk-TDFM563X.cjs → chunk-AJEZMD64.cjs} +12 -12
- package/dist/{chunk-TDFM563X.cjs.map → chunk-AJEZMD64.cjs.map} +1 -1
- package/dist/{chunk-PQJGV3RE.cjs → chunk-APE4R2GB.cjs} +86 -86
- package/dist/chunk-APE4R2GB.cjs.map +1 -0
- package/dist/{chunk-7COMKJTM.cjs → chunk-BKDKXM3L.cjs} +11 -11
- package/dist/{chunk-7COMKJTM.cjs.map → chunk-BKDKXM3L.cjs.map} +1 -1
- package/dist/{chunk-7O3TPYK4.cjs → chunk-E6SI2S3L.cjs} +17 -17
- package/dist/{chunk-7O3TPYK4.cjs.map → chunk-E6SI2S3L.cjs.map} +1 -1
- package/dist/{chunk-YHGAFRN6.js → chunk-IDKRXLMY.js} +3 -3
- package/dist/{chunk-YHGAFRN6.js.map → chunk-IDKRXLMY.js.map} +1 -1
- package/dist/{chunk-4R7QBTNL.cjs → chunk-LYCN2BOH.cjs} +4 -4
- package/dist/{chunk-4R7QBTNL.cjs.map → chunk-LYCN2BOH.cjs.map} +1 -1
- package/dist/{chunk-57DYMIWS.js → chunk-OXCVTVBY.js} +5 -5
- package/dist/{chunk-57DYMIWS.js.map → chunk-OXCVTVBY.js.map} +1 -1
- package/dist/{chunk-ASFUY3IE.cjs → chunk-P5HF55MO.cjs} +12 -8
- package/dist/chunk-P5HF55MO.cjs.map +1 -0
- package/dist/chunk-PHVQIIOI.cjs +12 -0
- package/dist/{chunk-LBTAK5JA.cjs.map → chunk-PHVQIIOI.cjs.map} +1 -1
- package/dist/{chunk-VU5BCK2P.js → chunk-U2443I5Q.js} +6 -6
- package/dist/chunk-U2443I5Q.js.map +1 -0
- package/dist/{chunk-DYOAKTGJ.js → chunk-UMLJEBQV.js} +5 -5
- package/dist/{chunk-DYOAKTGJ.js.map → chunk-UMLJEBQV.js.map} +1 -1
- package/dist/{chunk-GKR52SVU.js → chunk-VAUGZOY6.js} +3 -3
- package/dist/{chunk-GKR52SVU.js.map → chunk-VAUGZOY6.js.map} +1 -1
- package/dist/{chunk-ZURCZQQ7.js → chunk-WMBFBZ7Q.js} +12 -8
- package/dist/chunk-WMBFBZ7Q.js.map +1 -0
- package/dist/{chunk-MP4IMAPF.cjs → chunk-X5EFVCYF.cjs} +55 -55
- package/dist/{chunk-MP4IMAPF.cjs.map → chunk-X5EFVCYF.cjs.map} +1 -1
- package/dist/{chunk-E3KOQYY2.js → chunk-ZVADVALQ.js} +5 -5
- package/dist/{chunk-E3KOQYY2.js.map → chunk-ZVADVALQ.js.map} +1 -1
- package/dist/core/index.cjs +107 -107
- package/dist/core/index.js +10 -10
- package/dist/manager/index.cjs +376 -264
- package/dist/manager/index.cjs.map +1 -1
- package/dist/manager/index.d.cts +152 -20
- package/dist/manager/index.d.ts +152 -20
- package/dist/manager/index.js +143 -31
- package/dist/manager/index.js.map +1 -1
- package/dist/offline/index.cjs +123 -0
- package/dist/offline/index.cjs.map +1 -0
- package/dist/offline/index.d.cts +177 -0
- package/dist/offline/index.d.ts +177 -0
- package/dist/offline/index.js +119 -0
- package/dist/offline/index.js.map +1 -0
- package/dist/traveller/index.cjs +35 -35
- package/dist/traveller/index.js +5 -5
- package/package.json +6 -1
- package/dist/chunk-ASFUY3IE.cjs.map +0 -1
- package/dist/chunk-LBTAK5JA.cjs +0 -12
- package/dist/chunk-PQJGV3RE.cjs.map +0 -1
- package/dist/chunk-VU5BCK2P.js.map +0 -1
- package/dist/chunk-ZURCZQQ7.js.map +0 -1
package/dist/manager/index.d.cts
CHANGED
|
@@ -64,7 +64,14 @@ interface ManagerChecklistSectionProps {
|
|
|
64
64
|
readonly style?: KaafilTokenOverrides;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
/**
|
|
68
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
69
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
70
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
71
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
72
|
+
* in one component.
|
|
73
|
+
*/
|
|
74
|
+
declare function ManagerChecklistSection(props: ManagerChecklistSectionProps): ReactNode;
|
|
68
75
|
|
|
69
76
|
interface BlockerRowProps {
|
|
70
77
|
readonly blocker: CloseoutBlockerRow;
|
|
@@ -94,21 +101,42 @@ interface ManagerCloseoutSectionProps {
|
|
|
94
101
|
readonly style?: KaafilTokenOverrides;
|
|
95
102
|
}
|
|
96
103
|
|
|
97
|
-
|
|
104
|
+
/**
|
|
105
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
106
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
107
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
108
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
109
|
+
* in one component.
|
|
110
|
+
*/
|
|
111
|
+
declare function ManagerCloseoutSection(props: ManagerCloseoutSectionProps): ReactNode;
|
|
98
112
|
|
|
99
113
|
interface ManagerDocumentsSectionProps {
|
|
100
114
|
readonly tripRef: string;
|
|
101
115
|
readonly style?: KaafilTokenOverrides;
|
|
102
116
|
}
|
|
103
117
|
|
|
104
|
-
|
|
118
|
+
/**
|
|
119
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
120
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
121
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
122
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
123
|
+
* in one component.
|
|
124
|
+
*/
|
|
125
|
+
declare function ManagerDocumentsSection(props: ManagerDocumentsSectionProps): ReactNode;
|
|
105
126
|
|
|
106
127
|
interface ManagerFloatLedgerSectionProps {
|
|
107
128
|
readonly tripRef: string;
|
|
108
129
|
readonly style?: KaafilTokenOverrides;
|
|
109
130
|
}
|
|
110
131
|
|
|
111
|
-
|
|
132
|
+
/**
|
|
133
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
134
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
135
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
136
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
137
|
+
* in one component.
|
|
138
|
+
*/
|
|
139
|
+
declare function ManagerFloatLedgerSection(props: ManagerFloatLedgerSectionProps): ReactNode;
|
|
112
140
|
|
|
113
141
|
/** One answer this composite is about to write back — mirrors
|
|
114
142
|
* `SubmitFormResponseInput['answers'][number]` so nothing here hand-shapes
|
|
@@ -185,7 +213,14 @@ interface ManagerFormsSectionProps {
|
|
|
185
213
|
readonly style?: KaafilTokenOverrides;
|
|
186
214
|
}
|
|
187
215
|
|
|
188
|
-
|
|
216
|
+
/**
|
|
217
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
218
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
219
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
220
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
221
|
+
* in one component.
|
|
222
|
+
*/
|
|
223
|
+
declare function ManagerFormsSection(props: ManagerFormsSectionProps): ReactNode;
|
|
189
224
|
|
|
190
225
|
interface DayStripProps {
|
|
191
226
|
readonly days: readonly ItineraryDayRow[];
|
|
@@ -223,7 +258,14 @@ interface ManagerItinerarySectionProps {
|
|
|
223
258
|
readonly style?: KaafilTokenOverrides;
|
|
224
259
|
}
|
|
225
260
|
|
|
226
|
-
|
|
261
|
+
/**
|
|
262
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
263
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
264
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
265
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
266
|
+
* in one component.
|
|
267
|
+
*/
|
|
268
|
+
declare function ManagerItinerarySection(props: ManagerItinerarySectionProps): ReactNode;
|
|
227
269
|
|
|
228
270
|
interface TripBookingGroupCardProps {
|
|
229
271
|
readonly group: ManifestBookingGroup;
|
|
@@ -318,7 +360,14 @@ interface ManifestBookingGroup {
|
|
|
318
360
|
readonly currency: string;
|
|
319
361
|
}
|
|
320
362
|
|
|
321
|
-
|
|
363
|
+
/**
|
|
364
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
365
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
366
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
367
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
368
|
+
* in one component.
|
|
369
|
+
*/
|
|
370
|
+
declare function ManagerManifestSection(props: ManagerManifestSectionProps): ReactNode;
|
|
322
371
|
|
|
323
372
|
interface ManagerMeSectionProps {
|
|
324
373
|
/** Fired when a recent-trip row is tapped — the host's own real
|
|
@@ -333,7 +382,14 @@ interface ManagerMeSectionProps {
|
|
|
333
382
|
readonly style?: KaafilTokenOverrides;
|
|
334
383
|
}
|
|
335
384
|
|
|
336
|
-
|
|
385
|
+
/**
|
|
386
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
387
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
388
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
389
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
390
|
+
* in one component.
|
|
391
|
+
*/
|
|
392
|
+
declare function ManagerMeSection(props: ManagerMeSectionProps): ReactNode;
|
|
337
393
|
|
|
338
394
|
interface BalanceDueDisplayRow {
|
|
339
395
|
readonly travellerId: string;
|
|
@@ -404,7 +460,14 @@ interface ManagerMoneySectionProps {
|
|
|
404
460
|
readonly style?: KaafilTokenOverrides;
|
|
405
461
|
}
|
|
406
462
|
|
|
407
|
-
|
|
463
|
+
/**
|
|
464
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
465
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
466
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
467
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
468
|
+
* in one component.
|
|
469
|
+
*/
|
|
470
|
+
declare function ManagerMoneySection(props: ManagerMoneySectionProps): ReactNode;
|
|
408
471
|
|
|
409
472
|
interface ManagerNotificationsSectionProps {
|
|
410
473
|
/** Fired after a row marks itself read — the host decides what a non-null
|
|
@@ -419,7 +482,14 @@ interface ManagerNotificationsSectionProps {
|
|
|
419
482
|
readonly style?: KaafilTokenOverrides;
|
|
420
483
|
}
|
|
421
484
|
|
|
422
|
-
|
|
485
|
+
/**
|
|
486
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
487
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
488
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
489
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
490
|
+
* in one component.
|
|
491
|
+
*/
|
|
492
|
+
declare function ManagerNotificationsSection(props: ManagerNotificationsSectionProps): ReactNode;
|
|
423
493
|
|
|
424
494
|
type WireOnly<T> = T extends unknown ? Omit<T, 'status' | 'syncedAt'> : never;
|
|
425
495
|
type ManagerTodayEngaged = Extract<WireOnly<ManagerTodayReady>, {
|
|
@@ -428,6 +498,13 @@ type ManagerTodayEngaged = Extract<WireOnly<ManagerTodayReady>, {
|
|
|
428
498
|
type ManagerTodayIdle = Extract<WireOnly<ManagerTodayReady>, {
|
|
429
499
|
kind: 'idle';
|
|
430
500
|
}>;
|
|
501
|
+
/** The module a hero quick-link chip (or the closeout card's "still need
|
|
502
|
+
* closing" row) navigates to. Named rather than inlined because
|
|
503
|
+
* `KaafilManagerApp` maps every member onto a real `ManagerTripTabKey` and
|
|
504
|
+
* needs to refer to the union where its own `onNavigateModule` is optional —
|
|
505
|
+
* `Parameters<typeof onNavigateModule>[0]` cannot narrow through an optional
|
|
506
|
+
* prop. */
|
|
507
|
+
type ManagerModuleKey = 'manifest' | 'rooming' | 'checklist' | 'docs' | 'closing-day';
|
|
431
508
|
interface ManagerNowSectionProps {
|
|
432
509
|
/** The trip this section reads `useManagerToday(tripRef)` for — resolved
|
|
433
510
|
* by the caller, typically off `useManagerMe()`'s own `defaultTripId`. */
|
|
@@ -438,7 +515,7 @@ interface ManagerNowSectionProps {
|
|
|
438
515
|
* where each key routes to; a module whose composite doesn't exist yet
|
|
439
516
|
* (`'closing-day'` included — `ClosingDayFlow` is a later wave) still
|
|
440
517
|
* fires this callback, so the host can no-op it until it does. */
|
|
441
|
-
readonly onNavigateModule: (moduleKey:
|
|
518
|
+
readonly onNavigateModule: (moduleKey: ManagerModuleKey) => void;
|
|
442
519
|
/** Fired once a Quick Actions "Log an expense" submit REALLY succeeds
|
|
443
520
|
* (the FAB opens a real `LogExpenseSheet` internally, backed by
|
|
444
521
|
* `useExpenses(tripRef).log()` — the same sheet `ManagerMoneySection`'s
|
|
@@ -472,7 +549,14 @@ interface ManagerOverviewSectionProps {
|
|
|
472
549
|
readonly style?: KaafilTokenOverrides;
|
|
473
550
|
}
|
|
474
551
|
|
|
475
|
-
|
|
552
|
+
/**
|
|
553
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
554
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
555
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
556
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
557
|
+
* in one component.
|
|
558
|
+
*/
|
|
559
|
+
declare function ManagerOverviewSection(props: ManagerOverviewSectionProps): ReactNode;
|
|
476
560
|
|
|
477
561
|
interface CloseStopResolution {
|
|
478
562
|
readonly travellerId: string;
|
|
@@ -526,7 +610,14 @@ interface ManagerPickupsSectionProps {
|
|
|
526
610
|
readonly style?: KaafilTokenOverrides;
|
|
527
611
|
}
|
|
528
612
|
|
|
529
|
-
|
|
613
|
+
/**
|
|
614
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
615
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
616
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
617
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
618
|
+
* in one component.
|
|
619
|
+
*/
|
|
620
|
+
declare function ManagerPickupsSection(props: ManagerPickupsSectionProps): ReactNode;
|
|
530
621
|
|
|
531
622
|
interface RoomCardProps {
|
|
532
623
|
readonly room: RoomingRoom;
|
|
@@ -588,7 +679,14 @@ interface ManagerRoomingSectionProps {
|
|
|
588
679
|
readonly style?: KaafilTokenOverrides;
|
|
589
680
|
}
|
|
590
681
|
|
|
591
|
-
|
|
682
|
+
/**
|
|
683
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
684
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
685
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
686
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
687
|
+
* in one component.
|
|
688
|
+
*/
|
|
689
|
+
declare function ManagerRoomingSection(props: ManagerRoomingSectionProps): ReactNode;
|
|
592
690
|
|
|
593
691
|
interface ManagerRosterSectionProps {
|
|
594
692
|
readonly tripRef: string;
|
|
@@ -599,7 +697,14 @@ interface ManagerRosterSectionProps {
|
|
|
599
697
|
readonly style?: KaafilTokenOverrides;
|
|
600
698
|
}
|
|
601
699
|
|
|
602
|
-
|
|
700
|
+
/**
|
|
701
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
702
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
703
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
704
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
705
|
+
* in one component.
|
|
706
|
+
*/
|
|
707
|
+
declare function ManagerRosterSection(props: ManagerRosterSectionProps): ReactNode;
|
|
603
708
|
|
|
604
709
|
interface ManagerSyncCenterSectionProps {
|
|
605
710
|
/** Scopes the itemized outbox view to one trip's own lane — the real
|
|
@@ -684,7 +789,14 @@ interface ManagerTravellerProfileSectionProps {
|
|
|
684
789
|
readonly style?: KaafilTokenOverrides;
|
|
685
790
|
}
|
|
686
791
|
|
|
687
|
-
|
|
792
|
+
/**
|
|
793
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
794
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
795
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
796
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
797
|
+
* in one component.
|
|
798
|
+
*/
|
|
799
|
+
declare function ManagerTravellerProfileSection(props: ManagerTravellerProfileSectionProps): ReactNode;
|
|
688
800
|
|
|
689
801
|
/** The one real trip-vs-trek field (`Trip.eventType`, no third value) —
|
|
690
802
|
* derived structurally off `useManagerMe()`'s own trip row so this file
|
|
@@ -813,7 +925,14 @@ interface ManagerVehiclesSectionProps {
|
|
|
813
925
|
readonly style?: KaafilTokenOverrides;
|
|
814
926
|
}
|
|
815
927
|
|
|
816
|
-
|
|
928
|
+
/**
|
|
929
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
930
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
931
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
932
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
933
|
+
* in one component.
|
|
934
|
+
*/
|
|
935
|
+
declare function ManagerVehiclesSection(props: ManagerVehiclesSectionProps): ReactNode;
|
|
817
936
|
|
|
818
937
|
interface VendorListSectionProps {
|
|
819
938
|
readonly vendors: readonly TripVendorRow[];
|
|
@@ -851,7 +970,14 @@ interface ManagerVendorsSectionProps {
|
|
|
851
970
|
readonly style?: KaafilTokenOverrides;
|
|
852
971
|
}
|
|
853
972
|
|
|
854
|
-
|
|
973
|
+
/**
|
|
974
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
975
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
976
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
977
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
978
|
+
* in one component.
|
|
979
|
+
*/
|
|
980
|
+
declare function ManagerVendorsSection(props: ManagerVendorsSectionProps): ReactNode;
|
|
855
981
|
|
|
856
982
|
/** The 3 bottom-nav destinations this Surface owns — Trip/Trek merge into
|
|
857
983
|
* one tab (icon/label switch off the selected trip's real `eventType`),
|
|
@@ -883,8 +1009,14 @@ interface KaafilManagerAppProps {
|
|
|
883
1009
|
* deep-linking level below `initialTripRef`/`activeTab` (e.g. landing
|
|
884
1010
|
* directly on the Money tab from a push notification). */
|
|
885
1011
|
readonly initialTripTabKey?: ManagerTripTabKey;
|
|
886
|
-
/**
|
|
887
|
-
|
|
1012
|
+
/** An analytics/URL-sync MIRROR, not the navigation itself — optional for
|
|
1013
|
+
* the same reason `onOpenTraveller` is, and unlike the four required
|
|
1014
|
+
* callbacks below. `ManagerNowSection.onNavigateModule` is required there
|
|
1015
|
+
* and is satisfied by this Surface's own `handleNavigateModule`, which maps
|
|
1016
|
+
* every key onto a real `ManagerTripTabKey` and performs the navigation
|
|
1017
|
+
* directly. Omit it and the quick-link chips still work; you lose only the
|
|
1018
|
+
* host-side hook. */
|
|
1019
|
+
readonly onNavigateModule?: (moduleKey: ManagerModuleKey) => void;
|
|
888
1020
|
/** → `ManagerNowSection.onLogExpense` (required there). */
|
|
889
1021
|
readonly onLogExpense: () => void;
|
|
890
1022
|
/** → `ManagerNowSection.onCollectPayment` (required there). */
|
package/dist/manager/index.d.ts
CHANGED
|
@@ -64,7 +64,14 @@ interface ManagerChecklistSectionProps {
|
|
|
64
64
|
readonly style?: KaafilTokenOverrides;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
/**
|
|
68
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
69
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
70
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
71
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
72
|
+
* in one component.
|
|
73
|
+
*/
|
|
74
|
+
declare function ManagerChecklistSection(props: ManagerChecklistSectionProps): ReactNode;
|
|
68
75
|
|
|
69
76
|
interface BlockerRowProps {
|
|
70
77
|
readonly blocker: CloseoutBlockerRow;
|
|
@@ -94,21 +101,42 @@ interface ManagerCloseoutSectionProps {
|
|
|
94
101
|
readonly style?: KaafilTokenOverrides;
|
|
95
102
|
}
|
|
96
103
|
|
|
97
|
-
|
|
104
|
+
/**
|
|
105
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
106
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
107
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
108
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
109
|
+
* in one component.
|
|
110
|
+
*/
|
|
111
|
+
declare function ManagerCloseoutSection(props: ManagerCloseoutSectionProps): ReactNode;
|
|
98
112
|
|
|
99
113
|
interface ManagerDocumentsSectionProps {
|
|
100
114
|
readonly tripRef: string;
|
|
101
115
|
readonly style?: KaafilTokenOverrides;
|
|
102
116
|
}
|
|
103
117
|
|
|
104
|
-
|
|
118
|
+
/**
|
|
119
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
120
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
121
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
122
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
123
|
+
* in one component.
|
|
124
|
+
*/
|
|
125
|
+
declare function ManagerDocumentsSection(props: ManagerDocumentsSectionProps): ReactNode;
|
|
105
126
|
|
|
106
127
|
interface ManagerFloatLedgerSectionProps {
|
|
107
128
|
readonly tripRef: string;
|
|
108
129
|
readonly style?: KaafilTokenOverrides;
|
|
109
130
|
}
|
|
110
131
|
|
|
111
|
-
|
|
132
|
+
/**
|
|
133
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
134
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
135
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
136
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
137
|
+
* in one component.
|
|
138
|
+
*/
|
|
139
|
+
declare function ManagerFloatLedgerSection(props: ManagerFloatLedgerSectionProps): ReactNode;
|
|
112
140
|
|
|
113
141
|
/** One answer this composite is about to write back — mirrors
|
|
114
142
|
* `SubmitFormResponseInput['answers'][number]` so nothing here hand-shapes
|
|
@@ -185,7 +213,14 @@ interface ManagerFormsSectionProps {
|
|
|
185
213
|
readonly style?: KaafilTokenOverrides;
|
|
186
214
|
}
|
|
187
215
|
|
|
188
|
-
|
|
216
|
+
/**
|
|
217
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
218
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
219
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
220
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
221
|
+
* in one component.
|
|
222
|
+
*/
|
|
223
|
+
declare function ManagerFormsSection(props: ManagerFormsSectionProps): ReactNode;
|
|
189
224
|
|
|
190
225
|
interface DayStripProps {
|
|
191
226
|
readonly days: readonly ItineraryDayRow[];
|
|
@@ -223,7 +258,14 @@ interface ManagerItinerarySectionProps {
|
|
|
223
258
|
readonly style?: KaafilTokenOverrides;
|
|
224
259
|
}
|
|
225
260
|
|
|
226
|
-
|
|
261
|
+
/**
|
|
262
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
263
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
264
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
265
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
266
|
+
* in one component.
|
|
267
|
+
*/
|
|
268
|
+
declare function ManagerItinerarySection(props: ManagerItinerarySectionProps): ReactNode;
|
|
227
269
|
|
|
228
270
|
interface TripBookingGroupCardProps {
|
|
229
271
|
readonly group: ManifestBookingGroup;
|
|
@@ -318,7 +360,14 @@ interface ManifestBookingGroup {
|
|
|
318
360
|
readonly currency: string;
|
|
319
361
|
}
|
|
320
362
|
|
|
321
|
-
|
|
363
|
+
/**
|
|
364
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
365
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
366
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
367
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
368
|
+
* in one component.
|
|
369
|
+
*/
|
|
370
|
+
declare function ManagerManifestSection(props: ManagerManifestSectionProps): ReactNode;
|
|
322
371
|
|
|
323
372
|
interface ManagerMeSectionProps {
|
|
324
373
|
/** Fired when a recent-trip row is tapped — the host's own real
|
|
@@ -333,7 +382,14 @@ interface ManagerMeSectionProps {
|
|
|
333
382
|
readonly style?: KaafilTokenOverrides;
|
|
334
383
|
}
|
|
335
384
|
|
|
336
|
-
|
|
385
|
+
/**
|
|
386
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
387
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
388
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
389
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
390
|
+
* in one component.
|
|
391
|
+
*/
|
|
392
|
+
declare function ManagerMeSection(props: ManagerMeSectionProps): ReactNode;
|
|
337
393
|
|
|
338
394
|
interface BalanceDueDisplayRow {
|
|
339
395
|
readonly travellerId: string;
|
|
@@ -404,7 +460,14 @@ interface ManagerMoneySectionProps {
|
|
|
404
460
|
readonly style?: KaafilTokenOverrides;
|
|
405
461
|
}
|
|
406
462
|
|
|
407
|
-
|
|
463
|
+
/**
|
|
464
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
465
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
466
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
467
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
468
|
+
* in one component.
|
|
469
|
+
*/
|
|
470
|
+
declare function ManagerMoneySection(props: ManagerMoneySectionProps): ReactNode;
|
|
408
471
|
|
|
409
472
|
interface ManagerNotificationsSectionProps {
|
|
410
473
|
/** Fired after a row marks itself read — the host decides what a non-null
|
|
@@ -419,7 +482,14 @@ interface ManagerNotificationsSectionProps {
|
|
|
419
482
|
readonly style?: KaafilTokenOverrides;
|
|
420
483
|
}
|
|
421
484
|
|
|
422
|
-
|
|
485
|
+
/**
|
|
486
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
487
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
488
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
489
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
490
|
+
* in one component.
|
|
491
|
+
*/
|
|
492
|
+
declare function ManagerNotificationsSection(props: ManagerNotificationsSectionProps): ReactNode;
|
|
423
493
|
|
|
424
494
|
type WireOnly<T> = T extends unknown ? Omit<T, 'status' | 'syncedAt'> : never;
|
|
425
495
|
type ManagerTodayEngaged = Extract<WireOnly<ManagerTodayReady>, {
|
|
@@ -428,6 +498,13 @@ type ManagerTodayEngaged = Extract<WireOnly<ManagerTodayReady>, {
|
|
|
428
498
|
type ManagerTodayIdle = Extract<WireOnly<ManagerTodayReady>, {
|
|
429
499
|
kind: 'idle';
|
|
430
500
|
}>;
|
|
501
|
+
/** The module a hero quick-link chip (or the closeout card's "still need
|
|
502
|
+
* closing" row) navigates to. Named rather than inlined because
|
|
503
|
+
* `KaafilManagerApp` maps every member onto a real `ManagerTripTabKey` and
|
|
504
|
+
* needs to refer to the union where its own `onNavigateModule` is optional —
|
|
505
|
+
* `Parameters<typeof onNavigateModule>[0]` cannot narrow through an optional
|
|
506
|
+
* prop. */
|
|
507
|
+
type ManagerModuleKey = 'manifest' | 'rooming' | 'checklist' | 'docs' | 'closing-day';
|
|
431
508
|
interface ManagerNowSectionProps {
|
|
432
509
|
/** The trip this section reads `useManagerToday(tripRef)` for — resolved
|
|
433
510
|
* by the caller, typically off `useManagerMe()`'s own `defaultTripId`. */
|
|
@@ -438,7 +515,7 @@ interface ManagerNowSectionProps {
|
|
|
438
515
|
* where each key routes to; a module whose composite doesn't exist yet
|
|
439
516
|
* (`'closing-day'` included — `ClosingDayFlow` is a later wave) still
|
|
440
517
|
* fires this callback, so the host can no-op it until it does. */
|
|
441
|
-
readonly onNavigateModule: (moduleKey:
|
|
518
|
+
readonly onNavigateModule: (moduleKey: ManagerModuleKey) => void;
|
|
442
519
|
/** Fired once a Quick Actions "Log an expense" submit REALLY succeeds
|
|
443
520
|
* (the FAB opens a real `LogExpenseSheet` internally, backed by
|
|
444
521
|
* `useExpenses(tripRef).log()` — the same sheet `ManagerMoneySection`'s
|
|
@@ -472,7 +549,14 @@ interface ManagerOverviewSectionProps {
|
|
|
472
549
|
readonly style?: KaafilTokenOverrides;
|
|
473
550
|
}
|
|
474
551
|
|
|
475
|
-
|
|
552
|
+
/**
|
|
553
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
554
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
555
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
556
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
557
|
+
* in one component.
|
|
558
|
+
*/
|
|
559
|
+
declare function ManagerOverviewSection(props: ManagerOverviewSectionProps): ReactNode;
|
|
476
560
|
|
|
477
561
|
interface CloseStopResolution {
|
|
478
562
|
readonly travellerId: string;
|
|
@@ -526,7 +610,14 @@ interface ManagerPickupsSectionProps {
|
|
|
526
610
|
readonly style?: KaafilTokenOverrides;
|
|
527
611
|
}
|
|
528
612
|
|
|
529
|
-
|
|
613
|
+
/**
|
|
614
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
615
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
616
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
617
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
618
|
+
* in one component.
|
|
619
|
+
*/
|
|
620
|
+
declare function ManagerPickupsSection(props: ManagerPickupsSectionProps): ReactNode;
|
|
530
621
|
|
|
531
622
|
interface RoomCardProps {
|
|
532
623
|
readonly room: RoomingRoom;
|
|
@@ -588,7 +679,14 @@ interface ManagerRoomingSectionProps {
|
|
|
588
679
|
readonly style?: KaafilTokenOverrides;
|
|
589
680
|
}
|
|
590
681
|
|
|
591
|
-
|
|
682
|
+
/**
|
|
683
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
684
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
685
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
686
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
687
|
+
* in one component.
|
|
688
|
+
*/
|
|
689
|
+
declare function ManagerRoomingSection(props: ManagerRoomingSectionProps): ReactNode;
|
|
592
690
|
|
|
593
691
|
interface ManagerRosterSectionProps {
|
|
594
692
|
readonly tripRef: string;
|
|
@@ -599,7 +697,14 @@ interface ManagerRosterSectionProps {
|
|
|
599
697
|
readonly style?: KaafilTokenOverrides;
|
|
600
698
|
}
|
|
601
699
|
|
|
602
|
-
|
|
700
|
+
/**
|
|
701
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
702
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
703
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
704
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
705
|
+
* in one component.
|
|
706
|
+
*/
|
|
707
|
+
declare function ManagerRosterSection(props: ManagerRosterSectionProps): ReactNode;
|
|
603
708
|
|
|
604
709
|
interface ManagerSyncCenterSectionProps {
|
|
605
710
|
/** Scopes the itemized outbox view to one trip's own lane — the real
|
|
@@ -684,7 +789,14 @@ interface ManagerTravellerProfileSectionProps {
|
|
|
684
789
|
readonly style?: KaafilTokenOverrides;
|
|
685
790
|
}
|
|
686
791
|
|
|
687
|
-
|
|
792
|
+
/**
|
|
793
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
794
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
795
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
796
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
797
|
+
* in one component.
|
|
798
|
+
*/
|
|
799
|
+
declare function ManagerTravellerProfileSection(props: ManagerTravellerProfileSectionProps): ReactNode;
|
|
688
800
|
|
|
689
801
|
/** The one real trip-vs-trek field (`Trip.eventType`, no third value) —
|
|
690
802
|
* derived structurally off `useManagerMe()`'s own trip row so this file
|
|
@@ -813,7 +925,14 @@ interface ManagerVehiclesSectionProps {
|
|
|
813
925
|
readonly style?: KaafilTokenOverrides;
|
|
814
926
|
}
|
|
815
927
|
|
|
816
|
-
|
|
928
|
+
/**
|
|
929
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
930
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
931
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
932
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
933
|
+
* in one component.
|
|
934
|
+
*/
|
|
935
|
+
declare function ManagerVehiclesSection(props: ManagerVehiclesSectionProps): ReactNode;
|
|
817
936
|
|
|
818
937
|
interface VendorListSectionProps {
|
|
819
938
|
readonly vendors: readonly TripVendorRow[];
|
|
@@ -851,7 +970,14 @@ interface ManagerVendorsSectionProps {
|
|
|
851
970
|
readonly style?: KaafilTokenOverrides;
|
|
852
971
|
}
|
|
853
972
|
|
|
854
|
-
|
|
973
|
+
/**
|
|
974
|
+
* The session gate. `SessionShell` renders its children throughout the async
|
|
975
|
+
* open window with `SessionContext` populated but no client yet, so any
|
|
976
|
+
* client-backed hook below throws until the credential resolves. The split is
|
|
977
|
+
* not optional: Rules of Hooks forbid returning early before the inner hooks
|
|
978
|
+
* in one component.
|
|
979
|
+
*/
|
|
980
|
+
declare function ManagerVendorsSection(props: ManagerVendorsSectionProps): ReactNode;
|
|
855
981
|
|
|
856
982
|
/** The 3 bottom-nav destinations this Surface owns — Trip/Trek merge into
|
|
857
983
|
* one tab (icon/label switch off the selected trip's real `eventType`),
|
|
@@ -883,8 +1009,14 @@ interface KaafilManagerAppProps {
|
|
|
883
1009
|
* deep-linking level below `initialTripRef`/`activeTab` (e.g. landing
|
|
884
1010
|
* directly on the Money tab from a push notification). */
|
|
885
1011
|
readonly initialTripTabKey?: ManagerTripTabKey;
|
|
886
|
-
/**
|
|
887
|
-
|
|
1012
|
+
/** An analytics/URL-sync MIRROR, not the navigation itself — optional for
|
|
1013
|
+
* the same reason `onOpenTraveller` is, and unlike the four required
|
|
1014
|
+
* callbacks below. `ManagerNowSection.onNavigateModule` is required there
|
|
1015
|
+
* and is satisfied by this Surface's own `handleNavigateModule`, which maps
|
|
1016
|
+
* every key onto a real `ManagerTripTabKey` and performs the navigation
|
|
1017
|
+
* directly. Omit it and the quick-link chips still work; you lose only the
|
|
1018
|
+
* host-side hook. */
|
|
1019
|
+
readonly onNavigateModule?: (moduleKey: ManagerModuleKey) => void;
|
|
888
1020
|
/** → `ManagerNowSection.onLogExpense` (required there). */
|
|
889
1021
|
readonly onLogExpense: () => void;
|
|
890
1022
|
/** → `ManagerNowSection.onCollectPayment` (required there). */
|