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.
Files changed (61) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/dist/admin/index.cjs +476 -362
  3. package/dist/admin/index.cjs.map +1 -1
  4. package/dist/admin/index.d.cts +112 -14
  5. package/dist/admin/index.d.ts +112 -14
  6. package/dist/admin/index.js +136 -22
  7. package/dist/admin/index.js.map +1 -1
  8. package/dist/{chunk-Q4B25EZO.js → chunk-2HGOHUFU.js} +3 -3
  9. package/dist/{chunk-Q4B25EZO.js.map → chunk-2HGOHUFU.js.map} +1 -1
  10. package/dist/{chunk-TDFM563X.cjs → chunk-AJEZMD64.cjs} +12 -12
  11. package/dist/{chunk-TDFM563X.cjs.map → chunk-AJEZMD64.cjs.map} +1 -1
  12. package/dist/{chunk-PQJGV3RE.cjs → chunk-APE4R2GB.cjs} +86 -86
  13. package/dist/chunk-APE4R2GB.cjs.map +1 -0
  14. package/dist/{chunk-7COMKJTM.cjs → chunk-BKDKXM3L.cjs} +11 -11
  15. package/dist/{chunk-7COMKJTM.cjs.map → chunk-BKDKXM3L.cjs.map} +1 -1
  16. package/dist/{chunk-7O3TPYK4.cjs → chunk-E6SI2S3L.cjs} +17 -17
  17. package/dist/{chunk-7O3TPYK4.cjs.map → chunk-E6SI2S3L.cjs.map} +1 -1
  18. package/dist/{chunk-YHGAFRN6.js → chunk-IDKRXLMY.js} +3 -3
  19. package/dist/{chunk-YHGAFRN6.js.map → chunk-IDKRXLMY.js.map} +1 -1
  20. package/dist/{chunk-4R7QBTNL.cjs → chunk-LYCN2BOH.cjs} +4 -4
  21. package/dist/{chunk-4R7QBTNL.cjs.map → chunk-LYCN2BOH.cjs.map} +1 -1
  22. package/dist/{chunk-57DYMIWS.js → chunk-OXCVTVBY.js} +5 -5
  23. package/dist/{chunk-57DYMIWS.js.map → chunk-OXCVTVBY.js.map} +1 -1
  24. package/dist/{chunk-ASFUY3IE.cjs → chunk-P5HF55MO.cjs} +12 -8
  25. package/dist/chunk-P5HF55MO.cjs.map +1 -0
  26. package/dist/chunk-PHVQIIOI.cjs +12 -0
  27. package/dist/{chunk-LBTAK5JA.cjs.map → chunk-PHVQIIOI.cjs.map} +1 -1
  28. package/dist/{chunk-VU5BCK2P.js → chunk-U2443I5Q.js} +6 -6
  29. package/dist/chunk-U2443I5Q.js.map +1 -0
  30. package/dist/{chunk-DYOAKTGJ.js → chunk-UMLJEBQV.js} +5 -5
  31. package/dist/{chunk-DYOAKTGJ.js.map → chunk-UMLJEBQV.js.map} +1 -1
  32. package/dist/{chunk-GKR52SVU.js → chunk-VAUGZOY6.js} +3 -3
  33. package/dist/{chunk-GKR52SVU.js.map → chunk-VAUGZOY6.js.map} +1 -1
  34. package/dist/{chunk-ZURCZQQ7.js → chunk-WMBFBZ7Q.js} +12 -8
  35. package/dist/chunk-WMBFBZ7Q.js.map +1 -0
  36. package/dist/{chunk-MP4IMAPF.cjs → chunk-X5EFVCYF.cjs} +55 -55
  37. package/dist/{chunk-MP4IMAPF.cjs.map → chunk-X5EFVCYF.cjs.map} +1 -1
  38. package/dist/{chunk-E3KOQYY2.js → chunk-ZVADVALQ.js} +5 -5
  39. package/dist/{chunk-E3KOQYY2.js.map → chunk-ZVADVALQ.js.map} +1 -1
  40. package/dist/core/index.cjs +107 -107
  41. package/dist/core/index.js +10 -10
  42. package/dist/manager/index.cjs +376 -264
  43. package/dist/manager/index.cjs.map +1 -1
  44. package/dist/manager/index.d.cts +152 -20
  45. package/dist/manager/index.d.ts +152 -20
  46. package/dist/manager/index.js +143 -31
  47. package/dist/manager/index.js.map +1 -1
  48. package/dist/offline/index.cjs +123 -0
  49. package/dist/offline/index.cjs.map +1 -0
  50. package/dist/offline/index.d.cts +177 -0
  51. package/dist/offline/index.d.ts +177 -0
  52. package/dist/offline/index.js +119 -0
  53. package/dist/offline/index.js.map +1 -0
  54. package/dist/traveller/index.cjs +35 -35
  55. package/dist/traveller/index.js +5 -5
  56. package/package.json +6 -1
  57. package/dist/chunk-ASFUY3IE.cjs.map +0 -1
  58. package/dist/chunk-LBTAK5JA.cjs +0 -12
  59. package/dist/chunk-PQJGV3RE.cjs.map +0 -1
  60. package/dist/chunk-VU5BCK2P.js.map +0 -1
  61. package/dist/chunk-ZURCZQQ7.js.map +0 -1
@@ -120,7 +120,14 @@ interface AgencySettingsScreenProps {
120
120
  readonly style?: KaafilTokenOverrides;
121
121
  }
122
122
 
123
- declare function AgencySettingsScreen({ title, subtitle, components, style, }: AgencySettingsScreenProps): ReactNode;
123
+ /**
124
+ * The session gate. `SessionShell` renders its children throughout the async
125
+ * open window with `SessionContext` populated but no client yet, so any
126
+ * client-backed hook below throws until the credential resolves. The split is
127
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
128
+ * in one component.
129
+ */
130
+ declare function AgencySettingsScreen(props: AgencySettingsScreenProps): ReactNode;
124
131
 
125
132
  /** A locally-edited draft of one item — the same shape `items[]` needs to
126
133
  * become on save (`PatchChecklistTemplateRequest`'s item shape: `key`,
@@ -491,7 +498,14 @@ interface TripBookingsSectionProps {
491
498
  readonly style?: KaafilTokenOverrides;
492
499
  }
493
500
 
494
- declare function TripBookingsSection({ tripRef, onOpenDocuments, style, }: TripBookingsSectionProps): ReactNode;
501
+ /**
502
+ * The session gate. `SessionShell` renders its children throughout the async
503
+ * open window with `SessionContext` populated but no client yet, so any
504
+ * client-backed hook below throws until the credential resolves. The split is
505
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
506
+ * in one component.
507
+ */
508
+ declare function TripBookingsSection(props: TripBookingsSectionProps): ReactNode;
495
509
 
496
510
  interface ChecklistItemRowProps {
497
511
  readonly item: ChecklistItemLiveRow;
@@ -545,7 +559,14 @@ interface TripChecklistSectionProps {
545
559
  readonly style?: KaafilTokenOverrides;
546
560
  }
547
561
 
548
- declare function TripChecklistSection({ tripRef, readOnly, initialPhase, onItemToggled, components, style, }: TripChecklistSectionProps): ReactNode;
562
+ /**
563
+ * The session gate. `SessionShell` renders its children throughout the async
564
+ * open window with `SessionContext` populated but no client yet, so any
565
+ * client-backed hook below throws until the credential resolves. The split is
566
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
567
+ * in one component.
568
+ */
569
+ declare function TripChecklistSection(props: TripChecklistSectionProps): ReactNode;
549
570
 
550
571
  /** `Trip.eventType`, derived off the row so it cannot drift from the wire. */
551
572
  type TripEventType = AgencyTripRow['eventType'];
@@ -600,7 +621,14 @@ interface TripDocumentsSectionProps {
600
621
  readonly style?: KaafilTokenOverrides;
601
622
  }
602
623
 
603
- declare function TripDocumentsSection({ tripRef, style }: TripDocumentsSectionProps): ReactNode;
624
+ /**
625
+ * The session gate. `SessionShell` renders its children throughout the async
626
+ * open window with `SessionContext` populated but no client yet, so any
627
+ * client-backed hook below throws until the credential resolves. The split is
628
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
629
+ * in one component.
630
+ */
631
+ declare function TripDocumentsSection(props: TripDocumentsSectionProps): ReactNode;
604
632
 
605
633
  /** An expense that is not a tombstone. A VOID is not a tombstone — the row
606
634
  * stays live with `voidedAt` set. */
@@ -622,7 +650,14 @@ interface TripExpensesSectionProps {
622
650
  readonly style?: KaafilTokenOverrides;
623
651
  }
624
652
 
625
- declare function TripExpensesSection({ tripRef, style }: TripExpensesSectionProps): ReactNode;
653
+ /**
654
+ * The session gate. `SessionShell` renders its children throughout the async
655
+ * open window with `SessionContext` populated but no client yet, so any
656
+ * client-backed hook below throws until the credential resolves. The split is
657
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
658
+ * in one component.
659
+ */
660
+ declare function TripExpensesSection(props: TripExpensesSectionProps): ReactNode;
626
661
 
627
662
  type FloatMovementType = FloatMovementRow['type'];
628
663
  type FloatDirection = FloatMovementRow['direction'];
@@ -634,7 +669,14 @@ interface TripFloatSectionProps {
634
669
  readonly style?: KaafilTokenOverrides;
635
670
  }
636
671
 
637
- declare function TripFloatSection({ tripRef, style }: TripFloatSectionProps): ReactNode;
672
+ /**
673
+ * The session gate. `SessionShell` renders its children throughout the async
674
+ * open window with `SessionContext` populated but no client yet, so any
675
+ * client-backed hook below throws until the credential resolves. The split is
676
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
677
+ * in one component.
678
+ */
679
+ declare function TripFloatSection(props: TripFloatSectionProps): ReactNode;
638
680
 
639
681
  interface FormRowProps {
640
682
  readonly form: TripFormRow;
@@ -669,7 +711,14 @@ interface TripFormsSectionProps {
669
711
  readonly style?: KaafilTokenOverrides;
670
712
  }
671
713
 
672
- declare function TripFormsSection({ tripRef, readOnly, components, style, }: TripFormsSectionProps): ReactNode;
714
+ /**
715
+ * The session gate. `SessionShell` renders its children throughout the async
716
+ * open window with `SessionContext` populated but no client yet, so any
717
+ * client-backed hook below throws until the credential resolves. The split is
718
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
719
+ * in one component.
720
+ */
721
+ declare function TripFormsSection(props: TripFormsSectionProps): ReactNode;
673
722
 
674
723
  type ItineraryViewMode = 'days' | 'timeline';
675
724
  interface TripItinerarySectionProps {
@@ -689,7 +738,14 @@ interface ItineraryDayGroup {
689
738
  readonly items: readonly ItineraryItemRow[];
690
739
  }
691
740
 
692
- declare function TripItinerarySection({ tripRef, onOpenVendor, style, }: TripItinerarySectionProps): ReactNode;
741
+ /**
742
+ * The session gate. `SessionShell` renders its children throughout the async
743
+ * open window with `SessionContext` populated but no client yet, so any
744
+ * client-backed hook below throws until the credential resolves. The split is
745
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
746
+ * in one component.
747
+ */
748
+ declare function TripItinerarySection(props: TripItinerarySectionProps): ReactNode;
693
749
 
694
750
  /** How the body is arranged. The reference's own two modes. */
695
751
  type ManifestGroupBy = 'booking_group' | 'none';
@@ -771,7 +827,14 @@ interface TripPaymentsSectionProps {
771
827
  readonly style?: KaafilTokenOverrides;
772
828
  }
773
829
 
774
- declare function TripPaymentsSection({ tripRef, balance, style, }: TripPaymentsSectionProps): ReactNode;
830
+ /**
831
+ * The session gate. `SessionShell` renders its children throughout the async
832
+ * open window with `SessionContext` populated but no client yet, so any
833
+ * client-backed hook below throws until the credential resolves. The split is
834
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
835
+ * in one component.
836
+ */
837
+ declare function TripPaymentsSection(props: TripPaymentsSectionProps): ReactNode;
775
838
 
776
839
  /** A stop that is not a tombstone. */
777
840
  type PickupStopLiveRow = Exclude<PickupStopDeltaRow, {
@@ -804,7 +867,14 @@ interface TripPickupsSectionProps {
804
867
  readonly style?: KaafilTokenOverrides;
805
868
  }
806
869
 
807
- declare function TripPickupsSection({ tripRef, timeZone, tripStartIso, style, }: TripPickupsSectionProps): ReactNode;
870
+ /**
871
+ * The session gate. `SessionShell` renders its children throughout the async
872
+ * open window with `SessionContext` populated but no client yet, so any
873
+ * client-backed hook below throws until the credential resolves. The split is
874
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
875
+ * in one component.
876
+ */
877
+ declare function TripPickupsSection(props: TripPickupsSectionProps): ReactNode;
808
878
 
809
879
  /** A room that is not a tombstone. */
810
880
  type RoomingRoomLiveRow = Exclude<RoomingRoomDeltaRow, {
@@ -847,7 +917,14 @@ interface TripRoomingSectionProps {
847
917
  readonly style?: KaafilTokenOverrides;
848
918
  }
849
919
 
850
- declare function TripRoomingSection({ tripRef, timeZone, tripStartIso, tripEndIso, style, }: TripRoomingSectionProps): ReactNode;
920
+ /**
921
+ * The session gate. `SessionShell` renders its children throughout the async
922
+ * open window with `SessionContext` populated but no client yet, so any
923
+ * client-backed hook below throws until the credential resolves. The split is
924
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
925
+ * in one component.
926
+ */
927
+ declare function TripRoomingSection(props: TripRoomingSectionProps): ReactNode;
851
928
 
852
929
  type VendorCategory = TripVendorRow['category'];
853
930
  /** Where one supplier is used on this trip. A count is `undefined`, never 0,
@@ -871,7 +948,14 @@ interface TripSuppliersSectionProps {
871
948
  readonly style?: KaafilTokenOverrides;
872
949
  }
873
950
 
874
- declare function TripSuppliersSection({ tripRef, style }: TripSuppliersSectionProps): ReactNode;
951
+ /**
952
+ * The session gate. `SessionShell` renders its children throughout the async
953
+ * open window with `SessionContext` populated but no client yet, so any
954
+ * client-backed hook below throws until the credential resolves. The split is
955
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
956
+ * in one component.
957
+ */
958
+ declare function TripSuppliersSection(props: TripSuppliersSectionProps): ReactNode;
875
959
 
876
960
  /** A vehicle that is not a tombstone. */
877
961
  type SeatingVehicleLiveRow = Exclude<SeatingVehicleDeltaRow, {
@@ -901,7 +985,14 @@ interface TripVehiclesSectionProps {
901
985
  readonly style?: KaafilTokenOverrides;
902
986
  }
903
987
 
904
- declare function TripVehiclesSection({ tripRef, durationDays, style, }: TripVehiclesSectionProps): ReactNode;
988
+ /**
989
+ * The session gate. `SessionShell` renders its children throughout the async
990
+ * open window with `SessionContext` populated but no client yet, so any
991
+ * client-backed hook below throws until the credential resolves. The split is
992
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
993
+ * in one component.
994
+ */
995
+ declare function TripVehiclesSection(props: TripVehiclesSectionProps): ReactNode;
905
996
 
906
997
  /** Every panel this surface can show. Ordered by `TAB_ORDER` in
907
998
  * `internal/tripTabRegistry.tsx`, never by this union's declaration order. */
@@ -956,7 +1047,14 @@ interface TripKpiCell {
956
1047
  readonly tone?: 'pos' | 'warn' | 'mute';
957
1048
  }
958
1049
 
959
- declare function TripWorkspace({ tripRef, initialTab, onBack, onOpenTravellerProfile, panels, components, style, }: TripWorkspaceProps): ReactNode;
1050
+ /**
1051
+ * The session gate. `SessionShell` renders its children throughout the async
1052
+ * open window with `SessionContext` populated but no client yet, so any
1053
+ * client-backed hook below throws until the credential resolves. The split is
1054
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
1055
+ * in one component.
1056
+ */
1057
+ declare function TripWorkspace(props: TripWorkspaceProps): ReactNode;
960
1058
 
961
1059
  /** A registry key (hard rule #8), never an inline SVG passed per-item —
962
1060
  * `AdminShell` owns its own icon set, matching `ManagerShell`'s own fixed
@@ -120,7 +120,14 @@ interface AgencySettingsScreenProps {
120
120
  readonly style?: KaafilTokenOverrides;
121
121
  }
122
122
 
123
- declare function AgencySettingsScreen({ title, subtitle, components, style, }: AgencySettingsScreenProps): ReactNode;
123
+ /**
124
+ * The session gate. `SessionShell` renders its children throughout the async
125
+ * open window with `SessionContext` populated but no client yet, so any
126
+ * client-backed hook below throws until the credential resolves. The split is
127
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
128
+ * in one component.
129
+ */
130
+ declare function AgencySettingsScreen(props: AgencySettingsScreenProps): ReactNode;
124
131
 
125
132
  /** A locally-edited draft of one item — the same shape `items[]` needs to
126
133
  * become on save (`PatchChecklistTemplateRequest`'s item shape: `key`,
@@ -491,7 +498,14 @@ interface TripBookingsSectionProps {
491
498
  readonly style?: KaafilTokenOverrides;
492
499
  }
493
500
 
494
- declare function TripBookingsSection({ tripRef, onOpenDocuments, style, }: TripBookingsSectionProps): ReactNode;
501
+ /**
502
+ * The session gate. `SessionShell` renders its children throughout the async
503
+ * open window with `SessionContext` populated but no client yet, so any
504
+ * client-backed hook below throws until the credential resolves. The split is
505
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
506
+ * in one component.
507
+ */
508
+ declare function TripBookingsSection(props: TripBookingsSectionProps): ReactNode;
495
509
 
496
510
  interface ChecklistItemRowProps {
497
511
  readonly item: ChecklistItemLiveRow;
@@ -545,7 +559,14 @@ interface TripChecklistSectionProps {
545
559
  readonly style?: KaafilTokenOverrides;
546
560
  }
547
561
 
548
- declare function TripChecklistSection({ tripRef, readOnly, initialPhase, onItemToggled, components, style, }: TripChecklistSectionProps): ReactNode;
562
+ /**
563
+ * The session gate. `SessionShell` renders its children throughout the async
564
+ * open window with `SessionContext` populated but no client yet, so any
565
+ * client-backed hook below throws until the credential resolves. The split is
566
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
567
+ * in one component.
568
+ */
569
+ declare function TripChecklistSection(props: TripChecklistSectionProps): ReactNode;
549
570
 
550
571
  /** `Trip.eventType`, derived off the row so it cannot drift from the wire. */
551
572
  type TripEventType = AgencyTripRow['eventType'];
@@ -600,7 +621,14 @@ interface TripDocumentsSectionProps {
600
621
  readonly style?: KaafilTokenOverrides;
601
622
  }
602
623
 
603
- declare function TripDocumentsSection({ tripRef, style }: TripDocumentsSectionProps): ReactNode;
624
+ /**
625
+ * The session gate. `SessionShell` renders its children throughout the async
626
+ * open window with `SessionContext` populated but no client yet, so any
627
+ * client-backed hook below throws until the credential resolves. The split is
628
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
629
+ * in one component.
630
+ */
631
+ declare function TripDocumentsSection(props: TripDocumentsSectionProps): ReactNode;
604
632
 
605
633
  /** An expense that is not a tombstone. A VOID is not a tombstone — the row
606
634
  * stays live with `voidedAt` set. */
@@ -622,7 +650,14 @@ interface TripExpensesSectionProps {
622
650
  readonly style?: KaafilTokenOverrides;
623
651
  }
624
652
 
625
- declare function TripExpensesSection({ tripRef, style }: TripExpensesSectionProps): ReactNode;
653
+ /**
654
+ * The session gate. `SessionShell` renders its children throughout the async
655
+ * open window with `SessionContext` populated but no client yet, so any
656
+ * client-backed hook below throws until the credential resolves. The split is
657
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
658
+ * in one component.
659
+ */
660
+ declare function TripExpensesSection(props: TripExpensesSectionProps): ReactNode;
626
661
 
627
662
  type FloatMovementType = FloatMovementRow['type'];
628
663
  type FloatDirection = FloatMovementRow['direction'];
@@ -634,7 +669,14 @@ interface TripFloatSectionProps {
634
669
  readonly style?: KaafilTokenOverrides;
635
670
  }
636
671
 
637
- declare function TripFloatSection({ tripRef, style }: TripFloatSectionProps): ReactNode;
672
+ /**
673
+ * The session gate. `SessionShell` renders its children throughout the async
674
+ * open window with `SessionContext` populated but no client yet, so any
675
+ * client-backed hook below throws until the credential resolves. The split is
676
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
677
+ * in one component.
678
+ */
679
+ declare function TripFloatSection(props: TripFloatSectionProps): ReactNode;
638
680
 
639
681
  interface FormRowProps {
640
682
  readonly form: TripFormRow;
@@ -669,7 +711,14 @@ interface TripFormsSectionProps {
669
711
  readonly style?: KaafilTokenOverrides;
670
712
  }
671
713
 
672
- declare function TripFormsSection({ tripRef, readOnly, components, style, }: TripFormsSectionProps): ReactNode;
714
+ /**
715
+ * The session gate. `SessionShell` renders its children throughout the async
716
+ * open window with `SessionContext` populated but no client yet, so any
717
+ * client-backed hook below throws until the credential resolves. The split is
718
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
719
+ * in one component.
720
+ */
721
+ declare function TripFormsSection(props: TripFormsSectionProps): ReactNode;
673
722
 
674
723
  type ItineraryViewMode = 'days' | 'timeline';
675
724
  interface TripItinerarySectionProps {
@@ -689,7 +738,14 @@ interface ItineraryDayGroup {
689
738
  readonly items: readonly ItineraryItemRow[];
690
739
  }
691
740
 
692
- declare function TripItinerarySection({ tripRef, onOpenVendor, style, }: TripItinerarySectionProps): ReactNode;
741
+ /**
742
+ * The session gate. `SessionShell` renders its children throughout the async
743
+ * open window with `SessionContext` populated but no client yet, so any
744
+ * client-backed hook below throws until the credential resolves. The split is
745
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
746
+ * in one component.
747
+ */
748
+ declare function TripItinerarySection(props: TripItinerarySectionProps): ReactNode;
693
749
 
694
750
  /** How the body is arranged. The reference's own two modes. */
695
751
  type ManifestGroupBy = 'booking_group' | 'none';
@@ -771,7 +827,14 @@ interface TripPaymentsSectionProps {
771
827
  readonly style?: KaafilTokenOverrides;
772
828
  }
773
829
 
774
- declare function TripPaymentsSection({ tripRef, balance, style, }: TripPaymentsSectionProps): ReactNode;
830
+ /**
831
+ * The session gate. `SessionShell` renders its children throughout the async
832
+ * open window with `SessionContext` populated but no client yet, so any
833
+ * client-backed hook below throws until the credential resolves. The split is
834
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
835
+ * in one component.
836
+ */
837
+ declare function TripPaymentsSection(props: TripPaymentsSectionProps): ReactNode;
775
838
 
776
839
  /** A stop that is not a tombstone. */
777
840
  type PickupStopLiveRow = Exclude<PickupStopDeltaRow, {
@@ -804,7 +867,14 @@ interface TripPickupsSectionProps {
804
867
  readonly style?: KaafilTokenOverrides;
805
868
  }
806
869
 
807
- declare function TripPickupsSection({ tripRef, timeZone, tripStartIso, style, }: TripPickupsSectionProps): ReactNode;
870
+ /**
871
+ * The session gate. `SessionShell` renders its children throughout the async
872
+ * open window with `SessionContext` populated but no client yet, so any
873
+ * client-backed hook below throws until the credential resolves. The split is
874
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
875
+ * in one component.
876
+ */
877
+ declare function TripPickupsSection(props: TripPickupsSectionProps): ReactNode;
808
878
 
809
879
  /** A room that is not a tombstone. */
810
880
  type RoomingRoomLiveRow = Exclude<RoomingRoomDeltaRow, {
@@ -847,7 +917,14 @@ interface TripRoomingSectionProps {
847
917
  readonly style?: KaafilTokenOverrides;
848
918
  }
849
919
 
850
- declare function TripRoomingSection({ tripRef, timeZone, tripStartIso, tripEndIso, style, }: TripRoomingSectionProps): ReactNode;
920
+ /**
921
+ * The session gate. `SessionShell` renders its children throughout the async
922
+ * open window with `SessionContext` populated but no client yet, so any
923
+ * client-backed hook below throws until the credential resolves. The split is
924
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
925
+ * in one component.
926
+ */
927
+ declare function TripRoomingSection(props: TripRoomingSectionProps): ReactNode;
851
928
 
852
929
  type VendorCategory = TripVendorRow['category'];
853
930
  /** Where one supplier is used on this trip. A count is `undefined`, never 0,
@@ -871,7 +948,14 @@ interface TripSuppliersSectionProps {
871
948
  readonly style?: KaafilTokenOverrides;
872
949
  }
873
950
 
874
- declare function TripSuppliersSection({ tripRef, style }: TripSuppliersSectionProps): ReactNode;
951
+ /**
952
+ * The session gate. `SessionShell` renders its children throughout the async
953
+ * open window with `SessionContext` populated but no client yet, so any
954
+ * client-backed hook below throws until the credential resolves. The split is
955
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
956
+ * in one component.
957
+ */
958
+ declare function TripSuppliersSection(props: TripSuppliersSectionProps): ReactNode;
875
959
 
876
960
  /** A vehicle that is not a tombstone. */
877
961
  type SeatingVehicleLiveRow = Exclude<SeatingVehicleDeltaRow, {
@@ -901,7 +985,14 @@ interface TripVehiclesSectionProps {
901
985
  readonly style?: KaafilTokenOverrides;
902
986
  }
903
987
 
904
- declare function TripVehiclesSection({ tripRef, durationDays, style, }: TripVehiclesSectionProps): ReactNode;
988
+ /**
989
+ * The session gate. `SessionShell` renders its children throughout the async
990
+ * open window with `SessionContext` populated but no client yet, so any
991
+ * client-backed hook below throws until the credential resolves. The split is
992
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
993
+ * in one component.
994
+ */
995
+ declare function TripVehiclesSection(props: TripVehiclesSectionProps): ReactNode;
905
996
 
906
997
  /** Every panel this surface can show. Ordered by `TAB_ORDER` in
907
998
  * `internal/tripTabRegistry.tsx`, never by this union's declaration order. */
@@ -956,7 +1047,14 @@ interface TripKpiCell {
956
1047
  readonly tone?: 'pos' | 'warn' | 'mute';
957
1048
  }
958
1049
 
959
- declare function TripWorkspace({ tripRef, initialTab, onBack, onOpenTravellerProfile, panels, components, style, }: TripWorkspaceProps): ReactNode;
1050
+ /**
1051
+ * The session gate. `SessionShell` renders its children throughout the async
1052
+ * open window with `SessionContext` populated but no client yet, so any
1053
+ * client-backed hook below throws until the credential resolves. The split is
1054
+ * not optional: Rules of Hooks forbid returning early before the inner hooks
1055
+ * in one component.
1056
+ */
1057
+ declare function TripWorkspace(props: TripWorkspaceProps): ReactNode;
960
1058
 
961
1059
  /** A registry key (hard rule #8), never an inline SVG passed per-item —
962
1060
  * `AdminShell` owns its own icon set, matching `ManagerShell`'s own fixed