@shortstravelmgmt/component-lib 0.3.0-canary.59.gc44efdc → 0.3.0-canary.67.gf2fa1ca

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/index.d.ts CHANGED
@@ -13,6 +13,18 @@ declare const brandColors: {
13
13
  readonly blue: "#19345F";
14
14
  readonly blueDeep: "#0C1E3E";
15
15
  readonly blueTint: "#E4F1F8";
16
+ readonly stmBlue: "#054F8E";
17
+ };
18
+ declare const navyColors: {
19
+ readonly navy900: "#0C1E3E";
20
+ readonly navy800: "#122A4F";
21
+ readonly navy700: "#19345F";
22
+ readonly navy600: "#2D4A6A";
23
+ };
24
+ declare const tintColors: {
25
+ readonly tint100: "#E4F1F8";
26
+ readonly tint200: "#B8D8E8";
27
+ readonly tint300: "#7EB4C8";
16
28
  };
17
29
  declare const primaryColors: {
18
30
  readonly primary: "#19345F";
@@ -30,6 +42,8 @@ declare const neutralColors: {
30
42
  readonly tableBorder: "#CFDBEA";
31
43
  readonly border: "#E6EDF5";
32
44
  readonly borderDark: "#CFDBEA";
45
+ readonly line: "#DCE5EF";
46
+ readonly lineStrong: "#C4D3E2";
33
47
  readonly white: "#FFFFFF";
34
48
  };
35
49
  declare const textColors: {
@@ -39,6 +53,7 @@ declare const textColors: {
39
53
  readonly stone: "#56687F";
40
54
  readonly pending: "#AEBBCB";
41
55
  readonly error: "#940000";
56
+ readonly ink400: "#71839A";
42
57
  };
43
58
  declare const statusColors: {
44
59
  readonly success: "#138660";
@@ -71,8 +86,8 @@ declare const teamColors: {
71
86
  readonly mixed: "#D1C1C3";
72
87
  };
73
88
  declare const travelColors: {
74
- readonly limoBackground: "#EDE9FE";
75
- readonly limoForeground: "#7C3AED";
89
+ readonly limoBackground: "#1C1C1C";
90
+ readonly limoForeground: "#FFFFFF";
76
91
  readonly busBackground: "#FEF3C7";
77
92
  readonly busForeground: "#D97706";
78
93
  };
@@ -120,6 +135,9 @@ declare const vendorColors: {
120
135
  };
121
136
  declare const gradients: {
122
137
  readonly avatar: "linear-gradient(135deg, #19345F 0%, #00BCD0 100%)";
138
+ readonly cyan: "linear-gradient(90deg, #00BCD0, #00AEEF)";
139
+ readonly navy: "linear-gradient(160deg, #143462 0%, #0C1E3E 70%)";
140
+ readonly hero: "linear-gradient(135deg, #0E2447 0%, #071730 100%)";
123
141
  };
124
142
  declare const alertTokens: {
125
143
  readonly primary: {
@@ -143,6 +161,28 @@ declare const alertTokens: {
143
161
  readonly border: "#940000";
144
162
  };
145
163
  };
164
+ declare const alertBandTokens: {
165
+ readonly primary: {
166
+ readonly accent: "#00BCD0";
167
+ readonly bg: "#E2F7FA";
168
+ readonly ink: "#1B2A41";
169
+ };
170
+ readonly success: {
171
+ readonly accent: "#2E9E6B";
172
+ readonly bg: "#E2F0EC";
173
+ readonly ink: "#0F7350";
174
+ };
175
+ readonly warning: {
176
+ readonly accent: "#E8A13A";
177
+ readonly bg: "#FFF7ED";
178
+ readonly ink: "#9F5500";
179
+ };
180
+ readonly error: {
181
+ readonly accent: "#D7503A";
182
+ readonly bg: "#FEF2F2";
183
+ readonly ink: "#C0402C";
184
+ };
185
+ };
146
186
  declare const semanticColors: {
147
187
  readonly fg: {
148
188
  readonly 1: "#1B2A41";
@@ -252,6 +292,18 @@ declare const lightTheme: {
252
292
  readonly blue: "#19345F";
253
293
  readonly blueDeep: "#0C1E3E";
254
294
  readonly blueTint: "#E4F1F8";
295
+ readonly stmBlue: "#054F8E";
296
+ };
297
+ readonly tint: {
298
+ readonly tint100: "#E4F1F8";
299
+ readonly tint200: "#B8D8E8";
300
+ readonly tint300: "#7EB4C8";
301
+ };
302
+ readonly navy: {
303
+ readonly navy900: "#0C1E3E";
304
+ readonly navy800: "#122A4F";
305
+ readonly navy700: "#19345F";
306
+ readonly navy600: "#2D4A6A";
255
307
  };
256
308
  readonly primary: {
257
309
  readonly primary: "#19345F";
@@ -269,6 +321,8 @@ declare const lightTheme: {
269
321
  readonly tableBorder: "#CFDBEA";
270
322
  readonly border: "#E6EDF5";
271
323
  readonly borderDark: "#CFDBEA";
324
+ readonly line: "#DCE5EF";
325
+ readonly lineStrong: "#C4D3E2";
272
326
  readonly white: "#FFFFFF";
273
327
  };
274
328
  readonly text: {
@@ -278,6 +332,7 @@ declare const lightTheme: {
278
332
  readonly stone: "#56687F";
279
333
  readonly pending: "#AEBBCB";
280
334
  readonly error: "#940000";
335
+ readonly ink400: "#71839A";
281
336
  };
282
337
  readonly status: {
283
338
  readonly success: "#138660";
@@ -310,8 +365,8 @@ declare const lightTheme: {
310
365
  readonly mixed: "#D1C1C3";
311
366
  };
312
367
  readonly travel: {
313
- readonly limoBackground: "#EDE9FE";
314
- readonly limoForeground: "#7C3AED";
368
+ readonly limoBackground: "#1C1C1C";
369
+ readonly limoForeground: "#FFFFFF";
315
370
  readonly busBackground: "#FEF3C7";
316
371
  readonly busForeground: "#D97706";
317
372
  };
@@ -379,6 +434,28 @@ declare const lightTheme: {
379
434
  readonly border: "#940000";
380
435
  };
381
436
  };
437
+ readonly alertBand: {
438
+ readonly primary: {
439
+ readonly accent: "#00BCD0";
440
+ readonly bg: "#E2F7FA";
441
+ readonly ink: "#1B2A41";
442
+ };
443
+ readonly success: {
444
+ readonly accent: "#2E9E6B";
445
+ readonly bg: "#E2F0EC";
446
+ readonly ink: "#0F7350";
447
+ };
448
+ readonly warning: {
449
+ readonly accent: "#E8A13A";
450
+ readonly bg: "#FFF7ED";
451
+ readonly ink: "#9F5500";
452
+ };
453
+ readonly error: {
454
+ readonly accent: "#D7503A";
455
+ readonly bg: "#FEF2F2";
456
+ readonly ink: "#C0402C";
457
+ };
458
+ };
382
459
  readonly semantic: {
383
460
  readonly fg: {
384
461
  readonly 1: "#1B2A41";
@@ -487,6 +564,9 @@ declare const lightTheme: {
487
564
  };
488
565
  readonly gradients: {
489
566
  readonly avatar: "linear-gradient(135deg, #19345F 0%, #00BCD0 100%)";
567
+ readonly cyan: "linear-gradient(90deg, #00BCD0, #00AEEF)";
568
+ readonly navy: "linear-gradient(160deg, #143462 0%, #0C1E3E 70%)";
569
+ readonly hero: "linear-gradient(135deg, #0E2447 0%, #071730 100%)";
490
570
  };
491
571
  };
492
572
  declare const darkTheme: {
@@ -519,6 +599,8 @@ declare const darkTheme: {
519
599
  readonly tableBorder: "#4a4a4a";
520
600
  readonly border: "#3a3a3a";
521
601
  readonly borderDark: "#4a4a4a";
602
+ readonly line: "#3a3a3a";
603
+ readonly lineStrong: "#4a4a4a";
522
604
  readonly white: "#1a1a1a";
523
605
  };
524
606
  readonly text: {
@@ -528,6 +610,7 @@ declare const darkTheme: {
528
610
  readonly stone: "#808080";
529
611
  readonly pending: "#606060";
530
612
  readonly error: "#ff6b6b";
613
+ readonly ink400: "#808080";
531
614
  };
532
615
  readonly semantic: {
533
616
  readonly fg: {
@@ -560,6 +643,18 @@ declare const darkTheme: {
560
643
  readonly blue: "#19345F";
561
644
  readonly blueDeep: "#0C1E3E";
562
645
  readonly blueTint: "#E4F1F8";
646
+ readonly stmBlue: "#054F8E";
647
+ };
648
+ readonly tint: {
649
+ readonly tint100: "#E4F1F8";
650
+ readonly tint200: "#B8D8E8";
651
+ readonly tint300: "#7EB4C8";
652
+ };
653
+ readonly navy: {
654
+ readonly navy900: "#0C1E3E";
655
+ readonly navy800: "#122A4F";
656
+ readonly navy700: "#19345F";
657
+ readonly navy600: "#2D4A6A";
563
658
  };
564
659
  readonly status: {
565
660
  readonly success: "#138660";
@@ -580,8 +675,8 @@ declare const darkTheme: {
580
675
  readonly mixed: "#D1C1C3";
581
676
  };
582
677
  readonly travel: {
583
- readonly limoBackground: "#EDE9FE";
584
- readonly limoForeground: "#7C3AED";
678
+ readonly limoBackground: "#1C1C1C";
679
+ readonly limoForeground: "#FFFFFF";
585
680
  readonly busBackground: "#FEF3C7";
586
681
  readonly busForeground: "#D97706";
587
682
  };
@@ -649,6 +744,28 @@ declare const darkTheme: {
649
744
  readonly border: "#940000";
650
745
  };
651
746
  };
747
+ readonly alertBand: {
748
+ readonly primary: {
749
+ readonly accent: "#00BCD0";
750
+ readonly bg: "#E2F7FA";
751
+ readonly ink: "#1B2A41";
752
+ };
753
+ readonly success: {
754
+ readonly accent: "#2E9E6B";
755
+ readonly bg: "#E2F0EC";
756
+ readonly ink: "#0F7350";
757
+ };
758
+ readonly warning: {
759
+ readonly accent: "#E8A13A";
760
+ readonly bg: "#FFF7ED";
761
+ readonly ink: "#9F5500";
762
+ };
763
+ readonly error: {
764
+ readonly accent: "#D7503A";
765
+ readonly bg: "#FEF2F2";
766
+ readonly ink: "#C0402C";
767
+ };
768
+ };
652
769
  };
653
770
  readonly typography: {
654
771
  readonly fontFamily: {
@@ -730,6 +847,9 @@ declare const darkTheme: {
730
847
  };
731
848
  readonly gradients: {
732
849
  readonly avatar: "linear-gradient(135deg, #19345F 0%, #00BCD0 100%)";
850
+ readonly cyan: "linear-gradient(90deg, #00BCD0, #00AEEF)";
851
+ readonly navy: "linear-gradient(160deg, #143462 0%, #0C1E3E 70%)";
852
+ readonly hero: "linear-gradient(135deg, #0E2447 0%, #071730 100%)";
733
853
  };
734
854
  };
735
855
  /**
@@ -739,6 +859,8 @@ declare const darkTheme: {
739
859
  interface Theme {
740
860
  colors: {
741
861
  brand: typeof brandColors;
862
+ tint: typeof tintColors;
863
+ navy: typeof navyColors;
742
864
  primary: {
743
865
  primary: string;
744
866
  primaryDark: string;
@@ -755,6 +877,8 @@ interface Theme {
755
877
  tableBorder: string;
756
878
  border: string;
757
879
  borderDark: string;
880
+ line: string;
881
+ lineStrong: string;
758
882
  white: string;
759
883
  };
760
884
  text: {
@@ -764,6 +888,7 @@ interface Theme {
764
888
  stone: string;
765
889
  pending: string;
766
890
  error: string;
891
+ ink400: string;
767
892
  };
768
893
  status: typeof statusColors;
769
894
  accent: {
@@ -773,6 +898,7 @@ interface Theme {
773
898
  travel: typeof travelColors;
774
899
  vendor: typeof vendorColors;
775
900
  alert: typeof alertTokens;
901
+ alertBand: typeof alertBandTokens;
776
902
  semantic: {
777
903
  fg: {
778
904
  1: string;
@@ -1073,10 +1199,10 @@ declare function lineClamp(lines: number): CSSObject;
1073
1199
  */
1074
1200
  declare function styled<T extends Record<string, CSSObject>>(factory: (theme: Theme) => T): (theme: Theme) => T;
1075
1201
 
1076
- type AlertVariant$1 = 'primary' | 'success' | 'warning' | 'error';
1202
+ type AlertVariant = 'primary' | 'success' | 'warning' | 'error';
1077
1203
  interface AlertProps {
1078
1204
  /** Visual style variant */
1079
- variant?: AlertVariant$1;
1205
+ variant?: AlertVariant;
1080
1206
  /** Optional title for the alert */
1081
1207
  title?: string;
1082
1208
  /** Content of the alert */
@@ -1094,42 +1220,6 @@ interface AlertProps {
1094
1220
  */
1095
1221
  declare const Alert: React__default.FC<AlertProps>;
1096
1222
 
1097
- type AlertVariant = 'primary' | 'success' | 'warning' | 'error';
1098
-
1099
- interface AlertStyledProps {
1100
- /** Visual style variant */
1101
- variant?: AlertVariant;
1102
- /** Optional title for the alert */
1103
- title?: string;
1104
- /** Content of the alert */
1105
- children: React__default.ReactNode;
1106
- /** Whether the alert can be dismissed */
1107
- dismissible?: boolean;
1108
- /** Callback when dismiss button is clicked */
1109
- onDismiss?: () => void;
1110
- /** Additional inline styles */
1111
- style?: React__default.CSSProperties;
1112
- /** Data test attribute for testing */
1113
- 'data-test'?: string;
1114
- }
1115
- /**
1116
- * Alert component for displaying important messages.
1117
- * Uses CSS-in-JS styling with theme support.
1118
- * Supports primary, success, warning, and error variants.
1119
- *
1120
- * @example
1121
- * ```tsx
1122
- * <AlertStyled variant="success" title="Success!">
1123
- * Your changes have been saved.
1124
- * </AlertStyled>
1125
- *
1126
- * <AlertStyled variant="error" dismissible onDismiss={() => setShow(false)}>
1127
- * An error occurred. Please try again.
1128
- * </AlertStyled>
1129
- * ```
1130
- */
1131
- declare const AlertStyled: React__default.FC<AlertStyledProps>;
1132
-
1133
1223
  type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
1134
1224
  interface AvatarProps extends HTMLAttributes<HTMLDivElement> {
1135
1225
  /** Image source URL */
@@ -1161,7 +1251,11 @@ interface AvatarGroupProps extends HTMLAttributes<HTMLDivElement> {
1161
1251
  */
1162
1252
  declare const AvatarGroup: React__default.FC<AvatarGroupProps>;
1163
1253
 
1164
- type BadgeVariant = 'default' | 'success' | 'warning' | 'error' | 'info';
1254
+ /**
1255
+ * `men` / `women` / `mixed` are the team-group colours (theme `team`), for a
1256
+ * sport code such as "MBB" beside a team's name.
1257
+ */
1258
+ type BadgeVariant = 'default' | 'success' | 'warning' | 'error' | 'info' | 'men' | 'women' | 'mixed';
1165
1259
  type BadgeSize = 'sm' | 'md';
1166
1260
  interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
1167
1261
  /** Visual style variant */
@@ -2771,6 +2865,33 @@ interface PageHeaderProps {
2771
2865
  */
2772
2866
  declare const PageHeader: React__default.FC<PageHeaderProps>;
2773
2867
 
2868
+ interface PageHeaderSubsectionProps {
2869
+ /** The section the page lives under, e.g. `Team Management` */
2870
+ sectionName: string;
2871
+ /** The page's own name, rendered as the page heading, e.g. `MBB - Baseball` */
2872
+ pageName: ReactNode;
2873
+ /** Supporting content under the page name, e.g. travel dates */
2874
+ meta?: ReactNode;
2875
+ /** Called by the back arrow. When omitted the arrow returns to the prior page in browser history. */
2876
+ onBack?: () => void;
2877
+ /** Accessible text for the back arrow */
2878
+ backLabel?: string;
2879
+ /** Hides the back arrow entirely */
2880
+ hideBack?: boolean;
2881
+ /** Right side actions */
2882
+ actions?: ReactNode;
2883
+ /** Additional CSS class */
2884
+ className?: string;
2885
+ }
2886
+ /**
2887
+ * The header for a page that sits inside a section: a back arrow leading the
2888
+ * section name, with the page name as the heading below. The arrow returns to the prior page.
2889
+ */
2890
+ declare const PageHeaderSubsection: {
2891
+ ({ sectionName, pageName, meta, onBack, backLabel, hideBack, actions, className, }: PageHeaderSubsectionProps): React.JSX.Element;
2892
+ displayName: string;
2893
+ };
2894
+
2774
2895
  /** A rendered slot in the page list: either a page number or a truncation gap. */
2775
2896
  type PaginationItem = number | 'ellipsis';
2776
2897
  interface PaginationProps {
@@ -3136,26 +3257,150 @@ interface SupplierTypeToggleProps {
3136
3257
  */
3137
3258
  declare const SupplierTypeToggle: ({ value, defaultValue, onChange, disabled, className, }: SupplierTypeToggleProps) => React.JSX.Element;
3138
3259
 
3139
- interface TabStripItem {
3140
- /** Value reported through `onTabChange` when this tab is picked. */
3260
+ interface SportCodeBadgeProps {
3261
+ /** The team's sport code, e.g. "MBB", "WSO", "XCC". */
3262
+ code: string;
3263
+ /** Additional CSS class. */
3264
+ className?: string;
3265
+ }
3266
+ /** The team group a sport code belongs to: its first letter is M(en), W(omen) or X (mixed). */
3267
+ declare const sportCodeVariant: (code: string) => BadgeVariant;
3268
+ /**
3269
+ * A team's sport code as the standard pill Badge in its team-group colour —
3270
+ * men blue, women coral, mixed mauve.
3271
+ */
3272
+ declare const SportCodeBadge: React__default.FC<SportCodeBadgeProps>;
3273
+
3274
+ interface TabPanelStackPanel {
3275
+ /** Matches the TabStrip tab that shows it. */
3141
3276
  id: string;
3277
+ /** The panel's content. */
3278
+ content: ReactNode;
3279
+ }
3280
+ interface TabPanelStackProps {
3281
+ /** Every tab's panel, rendered at once so the stack can size to the widest. */
3282
+ panels: TabPanelStackPanel[];
3283
+ /** The panel to show. */
3284
+ activeId: string;
3285
+ /** Prefix for the panels' ids, for a TabStrip's `controls`. */
3286
+ idPrefix?: string;
3287
+ /** Additional CSS class. */
3288
+ className?: string;
3289
+ }
3290
+ /**
3291
+ * Tab panels that hold one width: all of them render in the same grid cell,
3292
+ * the inactive ones hidden, so the box is as wide as the widest
3293
+ * panel and does not resize when the tab changes. Pair it with a TabStrip —
3294
+ * made for tabbed dropdowns (a team picker's Men / Women / Mixed lists), whose
3295
+ * popover otherwise shrink-wraps each list in turn.
3296
+ *
3297
+ * Hidden panels are `visibility: hidden`, which also takes them out of the
3298
+ * focus order and the accessibility tree (`aria-hidden` says so explicitly),
3299
+ * so only the visible one can be read or tabbed to.
3300
+ */
3301
+ declare const TabPanelStack: React__default.FC<TabPanelStackProps>;
3302
+
3303
+ interface TeamPickerTeam {
3304
+ /** Sport code, e.g. "MBB" — the team's value, and its badge. */
3305
+ code: string;
3306
+ /** Team name, e.g. "Men's Basketball". */
3307
+ name: string;
3308
+ }
3309
+ interface TeamPickerProps {
3310
+ /** Teams by group key ("men", "women", "mixed"). */
3311
+ groups: Record<string, TeamPickerTeam[]>;
3312
+ /** Tab order; defaults to men, women, mixed, then any other keys. */
3313
+ groupOrder?: string[];
3314
+ /** The group shown; uncontrolled (first group) when left out. */
3315
+ activeGroup?: string;
3316
+ /** Called when the reader switches group. */
3317
+ onGroupChange?: (group: string) => void;
3318
+ /** `single` picks one team; `multiple` toggles teams with checkboxes. */
3319
+ mode?: 'single' | 'multiple';
3320
+ /** Codes currently chosen. */
3321
+ selected?: string[];
3322
+ /** Single: a team was picked. */
3323
+ onSelect?: (code: string) => void;
3324
+ /** Multiple: a team's checkbox was toggled. */
3325
+ onToggle?: (code: string) => void;
3326
+ /** Multiple: a group's select-all checkbox was toggled (all its codes). */
3327
+ onToggleGroup?: (group: string, codes: string[]) => void;
3328
+ /** Multiple: "Only" — choose just this team. Omit to hide the shortcut. */
3329
+ onOnly?: (code: string) => void;
3330
+ /** Accessible label for the tab row. */
3331
+ 'aria-label'?: string;
3332
+ /** Shown in a group with no teams. */
3333
+ emptyMessage?: string;
3334
+ }
3335
+ /**
3336
+ * Pick teams from Men / Women / Mixed tabs — the body of a team dropdown
3337
+ * (the Hub's Request Team Travel menu and its season schedule / calendar
3338
+ * team filter). Each team is its sport-code badge and name. Every group's
3339
+ * list renders at once in a TabPanelStack, so the dropdown is as wide as the
3340
+ * longest name in any tab and holds that width as the tabs change.
3341
+ *
3342
+ * Controlled: the host keeps the choice (and, for `multiple`, applies it);
3343
+ * the picker reports picks, toggles, group toggles and "Only".
3344
+ */
3345
+ declare const TeamPicker: React__default.FC<TeamPickerProps>;
3346
+
3347
+ /** Everything about a tab except its identity; see `TabStripItem`. */
3348
+ interface TabStripItemFields {
3142
3349
  /** Visible tab text. */
3143
3350
  label: ReactNode;
3144
3351
  /** Small trailing content, e.g. a count badge. */
3145
3352
  badge?: ReactNode;
3353
+ /** A count shown in the trailing badge (shorthand for `badge`). */
3354
+ count?: number;
3355
+ /** Leading icon inside the tab. */
3356
+ icon?: ReactNode;
3146
3357
  /**
3147
3358
  * Leading control shown before the label, e.g. a select-all checkbox. It
3148
3359
  * carries its own click handling; picking the tab is the label's job.
3149
3360
  */
3150
3361
  leading?: ReactNode;
3362
+ /** Locks the tab: it can't be picked and the arrow keys skip it. */
3363
+ disabled?: boolean;
3151
3364
  }
3365
+ /**
3366
+ * One tab. Identify it with `id` (the team-management / schedule callers) or
3367
+ * `value` (the itinerary timeline) — the two TabStrips that briefly coexisted
3368
+ * were merged into this one, so both spellings are accepted, and at least one
3369
+ * is required: the identity keys the tab, its DOM id, focus and selection.
3370
+ */
3371
+ type TabStripItem = TabStripItemFields & ({
3372
+ /** Reported through `onTabChange`/`onChange` when this tab is picked. */
3373
+ id: string;
3374
+ /** Alias of `id`. */
3375
+ value?: string;
3376
+ } | {
3377
+ id?: string;
3378
+ /** Alias of `id`, reported the same way. */
3379
+ value: string;
3380
+ });
3381
+ /** Alias kept for the itinerary timeline's original import. */
3382
+ type TabStripTab = TabStripItem;
3152
3383
  interface TabStripProps {
3153
3384
  /** Tabs, left to right. */
3154
3385
  tabs: TabStripItem[];
3155
3386
  /** Id of the active tab. */
3156
3387
  activeTab?: string;
3388
+ /** Alias of `activeTab`. */
3389
+ value?: string;
3157
3390
  /** Called with the newly picked tab id. */
3158
3391
  onTabChange?: (id: string) => void;
3392
+ /** Alias of `onTabChange`. */
3393
+ onChange?: (id: string) => void;
3394
+ /**
3395
+ * Whether moving focus with the arrow keys also picks the tab. `manual` only
3396
+ * moves focus, so arrowing past a route-changing tab doesn't navigate;
3397
+ * `automatic` picks as it goes, which suits a filter row.
3398
+ *
3399
+ * Defaults to `manual` with the `activeTab`/`onTabChange` API, and to
3400
+ * `automatic` with the older `value`/`onChange` API, which always picked on
3401
+ * arrow keys — so existing callers of that API keep their behaviour.
3402
+ */
3403
+ activation?: 'manual' | 'automatic';
3159
3404
  /**
3160
3405
  * Colour of the active tab's underline. `teal` (the brand spark) is the
3161
3406
  * default and the portal-wide convention; `primary` (navy) is kept for the
@@ -3164,16 +3409,19 @@ interface TabStripProps {
3164
3409
  accent?: 'primary' | 'teal';
3165
3410
  /** Accessible label for the tablist. */
3166
3411
  'aria-label'?: string;
3412
+ /** Id of the panel the tabs control. */
3413
+ controls?: string;
3167
3414
  /** Additional CSS class. */
3168
3415
  className?: string;
3169
3416
  }
3170
3417
  /**
3171
3418
  * A row of underline tabs. The active tab is underlined in the chosen accent;
3172
- * an optional leading slot (a checkbox) and trailing badge (a count) let it
3173
- * carry the extras the team selector needs without a bespoke tab bar.
3419
+ * an optional leading slot (a checkbox), icon, and trailing badge or count let
3420
+ * it carry the extras the team selector and itinerary filters need without a
3421
+ * bespoke tab bar.
3174
3422
  */
3175
3423
  declare const TabStrip: {
3176
- ({ tabs, activeTab, onTabChange, accent, "aria-label": ariaLabel, className }: TabStripProps): React.JSX.Element;
3424
+ ({ tabs, activeTab, value, onTabChange, onChange, activation, accent, "aria-label": ariaLabel, controls, className, }: TabStripProps): React.JSX.Element;
3177
3425
  displayName: string;
3178
3426
  };
3179
3427
 
@@ -3247,6 +3495,26 @@ declare const TeamSubMenu: {
3247
3495
  displayName: string;
3248
3496
  };
3249
3497
 
3498
+ interface TravelDateRangeProps {
3499
+ /** First travel date as `YYYY-MM-DD` */
3500
+ startDate: string;
3501
+ /** Last travel date as `YYYY-MM-DD` */
3502
+ endDate: string;
3503
+ /** Additional CSS class */
3504
+ className?: string;
3505
+ }
3506
+ /** `7` → `7th`, `1` → `1st`, `22` → `22nd`, `13` → `13th`. */
3507
+ declare const ordinalDay: (day: number) => string;
3508
+ /**
3509
+ * A trip's travel dates as `Sun, Jun 7th ⇢ Tue, Jun 9th, 2026`. The year shows
3510
+ * once at the end, or on both dates when the trip crosses a year. A single-day
3511
+ * trip shows one date.
3512
+ */
3513
+ declare const TravelDateRange: {
3514
+ ({ startDate, endDate, className }: TravelDateRangeProps): React.JSX.Element | null;
3515
+ displayName: string;
3516
+ };
3517
+
3250
3518
  interface FlightData {
3251
3519
  /** Whether the leg is a commercial booking or a charter. */
3252
3520
  type: 'commercial' | 'charter';
@@ -3606,6 +3874,63 @@ declare const computeTravelTypeCodes: (request: Pick<AgentGroupTravelRequest, "a
3606
3874
  /** Hub's agent-facing list of open Group Travel Requests, grouped by school, one row per PNR group. */
3607
3875
  declare const AgentGroupTravelRequestsTable: ({ requests, sports, views, today, onOpenRequest, onViewMasterTrip, onDeleteRequest, onCopyPnr, onToggleDueStatus, onSubmittedDateChange, onQuoteSentDateChange, className, }: AgentGroupTravelRequestsTableProps) => React.JSX.Element;
3608
3876
 
3877
+ /** One invoice line for one traveler. */
3878
+ interface AirInvoiceLine {
3879
+ /** Stable key for the row */
3880
+ id: string;
3881
+ /** Traveler as `LAST/FIRST MIDDLE` */
3882
+ traveler: string;
3883
+ /** Shows the check mark: a Known Traveler Number is on the reservation */
3884
+ knownTraveler?: boolean;
3885
+ /** A voided line is greyed, struck through and tagged VOID */
3886
+ isVoid?: boolean;
3887
+ /** Strikes through the whole line, traveler name included, with no VOID tag — e.g. a traveler removed from the trip */
3888
+ struckThrough?: boolean;
3889
+ billingInfo?: string;
3890
+ /** Already formatted, e.g. `May 19, 2026` */
3891
+ invoiceDate?: string;
3892
+ invoice?: string;
3893
+ ticket?: string;
3894
+ /** Original ticket this one was exchanged from */
3895
+ originalTicket?: string;
3896
+ /** Form of payment, e.g. `AX...9981` or `Credit on file` */
3897
+ payment?: string;
3898
+ /** Already formatted, e.g. `$876.40` */
3899
+ total?: string;
3900
+ }
3901
+ /** A selectable invoice version. */
3902
+ interface AirInvoiceVersion {
3903
+ id: string;
3904
+ label: string;
3905
+ }
3906
+ interface AirInvoiceCardProps {
3907
+ /** Card heading, e.g. `Air Invoice Details` */
3908
+ title?: ReactNode;
3909
+ /** Invoice lines, one per traveler per ticketing event */
3910
+ lines: AirInvoiceLine[];
3911
+ /** Status shown in the total row's Payment column, e.g. `Paid` */
3912
+ paymentStatus?: string;
3913
+ /** Formatted invoice total */
3914
+ total?: string;
3915
+ /** Invoice versions; the Version control appears when there is more than one */
3916
+ versions?: AirInvoiceVersion[];
3917
+ /** Id of the version on screen */
3918
+ selectedVersionId?: string;
3919
+ /** Called with the picked version id */
3920
+ onVersionChange?: (versionId: string) => void;
3921
+ /** Additional CSS class */
3922
+ className?: string;
3923
+ }
3924
+ /**
3925
+ * An air invoice: a header with the Version control in its right corner, then
3926
+ * every ticketing line for its travelers — voided lines included —
3927
+ * down to the amount paid.
3928
+ */
3929
+ declare const AirInvoiceCard: {
3930
+ ({ title, lines, paymentStatus, total, versions, selectedVersionId, onVersionChange, className, }: AirInvoiceCardProps): React.JSX.Element;
3931
+ displayName: string;
3932
+ };
3933
+
3609
3934
  interface SidenavItem {
3610
3935
  /** Unique key for the item */
3611
3936
  key: string;
@@ -3703,6 +4028,34 @@ interface AppLayoutProps {
3703
4028
  */
3704
4029
  declare const AppLayout: React__default.FC<AppLayoutProps>;
3705
4030
 
4031
+ /** One labelled booking detail, e.g. `Cost center: 4120-ATH-WBB`. */
4032
+ interface BookingDetail {
4033
+ label: string;
4034
+ value: ReactNode;
4035
+ }
4036
+ interface BookingDetailsCardProps {
4037
+ /** Details shown two columns wide, filled top-to-bottom then left-to-right */
4038
+ details: BookingDetail[];
4039
+ /** Card heading */
4040
+ title?: ReactNode;
4041
+ /** Short's booking reference, shown right-aligned in the header */
4042
+ refId?: string;
4043
+ /** A further section below the details, divided from them by a thin rule, e.g. the trip cost */
4044
+ children?: ReactNode;
4045
+ /** Additional CSS class */
4046
+ className?: string;
4047
+ }
4048
+ /**
4049
+ * The accounting and approval context attached to a booking — cost center,
4050
+ * authorizations, event, sport, department and arranger — as label/value pairs.
4051
+ * A further section, such as the trip cost, can follow below a thin rule.
4052
+ * Renders nothing when there are no details and no further section.
4053
+ */
4054
+ declare const BookingDetailsCard: {
4055
+ ({ details, title, refId, children, className }: BookingDetailsCardProps): React.JSX.Element | null;
4056
+ displayName: string;
4057
+ };
4058
+
3706
4059
  type CardVariant = 'default' | 'bordered' | 'elevated';
3707
4060
  type CardPadding = 'none' | 'sm' | 'md' | 'lg';
3708
4061
  interface CardProps extends HTMLAttributes<HTMLDivElement> {
@@ -4392,10 +4745,7 @@ declare const HubAppShell: ({ children, navItems, individualTravelItem, agentsIt
4392
4745
 
4393
4746
  /**
4394
4747
  * Parses an `YYYY-MM-DD` itinerary date into a *local* calendar date.
4395
- *
4396
- * `new Date('2026-11-12')` is parsed as UTC midnight, which renders as the
4397
- * previous day everywhere west of Greenwich. Travel dates are calendar dates,
4398
- * never instants, so they are built component-wise instead.
4748
+ * Component-wise construction avoids UTC parsing shifting the calendar day.
4399
4749
  */
4400
4750
  declare const parseItineraryDate: (isoDate: string) => Date | null;
4401
4751
  /** Formats an itinerary date as `Thu Nov 12` (short) or `Thursday, November 12, 2026` (long). */
@@ -4406,10 +4756,7 @@ declare const formatItineraryDateRange: (startIso: string, endIso: string) => st
4406
4756
  declare const formatItineraryMoney: (amount: number, currency?: string) => string;
4407
4757
  /**
4408
4758
  * Booking state of a single segment.
4409
- *
4410
- * Mirrors the statuses the Portal itinerary prints today — `Holding Confirmed`
4411
- * is shown to travelers as `Confirmed` — plus the ticketing states Hub's
4412
- * individual travel list already uses.
4759
+ * Portal's `Holding Confirmed` displays as `Confirmed`; Hub ticketing states also apply.
4413
4760
  */
4414
4761
  type ItinerarySegmentStatus = 'confirmed' | 'ticketed' | 'not-ticketed' | 'itinerary' | 'pending' | 'cancelled';
4415
4762
  interface ItinerarySegmentBase {
@@ -4425,6 +4772,10 @@ interface ItinerarySegmentBase {
4425
4772
  cost?: number;
4426
4773
  /** ISO 4217 currency code for `cost` */
4427
4774
  currency?: string;
4775
+ /** Traveler loyalty numbers associated with this booking. */
4776
+ loyaltyNumbers?: string[];
4777
+ /** Associated booking remarks to display in Notes. */
4778
+ notes?: string[];
4428
4779
  }
4429
4780
  /** A flight. Fields follow Hub's `CommercialFlight` plus what the Portal itinerary prints. */
4430
4781
  interface ItineraryAirSegment extends ItinerarySegmentBase {
@@ -4437,6 +4788,8 @@ interface ItineraryAirSegment extends ItinerarySegmentBase {
4437
4788
  flightNumber: string;
4438
4789
  /** Operating carrier when the flight is a codeshare */
4439
4790
  operatedBy?: string;
4791
+ /** Display-ready CO2 emissions, including units and any per-traveler qualifier. */
4792
+ co2Emissions?: string;
4440
4793
  /** Departure airport code, e.g. `DSM` */
4441
4794
  departureAirport: string;
4442
4795
  /** Departure city, e.g. `Des Moines, IA` */
@@ -4455,8 +4808,12 @@ interface ItineraryAirSegment extends ItinerarySegmentBase {
4455
4808
  arrivalTime: string;
4456
4809
  /** Elapsed flight time, e.g. `3h 42m` */
4457
4810
  elapsed?: string;
4811
+ /** Flight distance in miles, shown below elapsed time. */
4812
+ miles?: number;
4458
4813
  /** Assigned seats */
4459
4814
  seats?: string[];
4815
+ /** No seats assigned yet: the Seats field reads `Unassigned` in red in place of any seat list */
4816
+ seatsUnassigned?: boolean;
4460
4817
  /** Cabin / class of service, e.g. `Main Cabin` */
4461
4818
  cabin?: string;
4462
4819
  /** Shows the online check-in action (the Portal reveals it the day before departure) */
@@ -4483,12 +4840,18 @@ interface ItineraryCarSegment extends ItinerarySegmentBase {
4483
4840
  pickupTime?: string;
4484
4841
  /** Pick-up location, e.g. `Harry Reid Intl Airport (LAS)` */
4485
4842
  pickupLocation: string;
4843
+ /** Optional pick-up street address lines. */
4844
+ pickupAddress?: string[];
4486
4845
  /** Drop-off date as `YYYY-MM-DD` */
4487
4846
  dropoffDate: string;
4488
4847
  /** Drop-off clock time */
4489
4848
  dropoffTime?: string;
4490
4849
  /** Drop-off location */
4491
4850
  dropoffLocation: string;
4851
+ /** Optional drop-off street address lines. */
4852
+ dropoffAddress?: string[];
4853
+ /** Formatted rental duration, e.g. `6d 45m`, shown between pick-up and drop-off */
4854
+ duration?: string;
4492
4855
  /** Rental counter phone number */
4493
4856
  phone?: string;
4494
4857
  /** Quoted rate per day */
@@ -4526,47 +4889,107 @@ interface ItineraryHotelSegment extends ItinerarySegmentBase {
4526
4889
  /** Property phone number */
4527
4890
  phone?: string;
4528
4891
  }
4892
+ /** A Black Car booking with remarks already parsed by the host application. */
4893
+ interface ItineraryLimoSegment extends ItinerarySegmentBase {
4894
+ type: 'limo';
4895
+ /** Vehicle description, e.g. `Executive Sedan` */
4896
+ vehicleType?: string;
4897
+ /** Pick-up calendar date as `YYYY-MM-DD`, or empty when unavailable */
4898
+ pickupDate: string;
4899
+ /** Display-ready pick-up time; multiple times may be joined with ` · ` */
4900
+ pickupTime?: string;
4901
+ /** Pick-up address or meeting instructions */
4902
+ pickupLocation?: string;
4903
+ /** Drop-off destination */
4904
+ dropoffLocation?: string;
4905
+ /** Formatted journey duration when supplied */
4906
+ duration?: string;
4907
+ /** Quoted total including its currency, preserved from the booking */
4908
+ totalDue?: string;
4909
+ /** Parsed cancellation policy paragraphs */
4910
+ cancellationPolicies?: string[];
4911
+ /** Remaining remarks not consumed by the parsed fields */
4912
+ comments?: string[];
4913
+ }
4914
+ /** A rail journey using the station and booking fields shown in Hub. */
4915
+ interface ItineraryRailSegment extends ItinerarySegmentBase {
4916
+ type: 'rail';
4917
+ /** Service or carrier name, e.g. `Amtrak Acela` */
4918
+ carrier: string;
4919
+ /** Carrier code used by the service icon */
4920
+ carrierCode?: string;
4921
+ /** Train number displayed alongside the service name */
4922
+ trainNumber?: string;
4923
+ /** Operating partner for a codeshare service */
4924
+ operatedBy?: string;
4925
+ /** Departure calendar date as `YYYY-MM-DD` */
4926
+ departureDate: string;
4927
+ /** Departure clock time */
4928
+ departureTime?: string;
4929
+ /** Departure station name or code */
4930
+ departureStation: string;
4931
+ /** Departure city and state */
4932
+ departureCity?: string;
4933
+ /** Arrival calendar date as `YYYY-MM-DD` */
4934
+ arrivalDate?: string;
4935
+ /** Arrival clock time */
4936
+ arrivalTime?: string;
4937
+ /** Arrival station name or code */
4938
+ arrivalStation: string;
4939
+ /** Arrival city and state */
4940
+ arrivalCity?: string;
4941
+ /** Formatted journey duration */
4942
+ elapsed?: string;
4943
+ /** Journey distance in miles */
4944
+ miles?: number;
4945
+ /** Assigned seats, including coach information when provided */
4946
+ seats?: string[];
4947
+ /** Class of service */
4948
+ cabin?: string;
4949
+ }
4529
4950
  /** Any segment an itinerary can show. */
4530
- type ItinerarySegment = ItineraryAirSegment | ItineraryCarSegment | ItineraryHotelSegment;
4951
+ type ItinerarySegment = ItineraryAirSegment | ItineraryCarSegment | ItineraryHotelSegment | ItineraryLimoSegment | ItineraryRailSegment;
4531
4952
  /** The date a segment belongs to on the itinerary — departure, pick-up or check-in. */
4532
4953
  declare const getSegmentDate: (segment: ItinerarySegment) => string;
4533
- /** Minutes since midnight for a `6:15 AM` clock time, or null when it cannot be read. */
4954
+ /** Minutes since midnight for a `6:15 AM` (or `6.15 AM`) clock time, or null when it cannot be read. */
4534
4955
  declare const parseClockTime: (time?: string) => number | null;
4535
4956
  /**
4536
4957
  * When a segment starts on its itinerary day, used to read a day in time order.
4537
4958
  *
4538
4959
  * Null when the booking carries no time — a hotel with no stated check-in, say.
4960
+ * A Black Car with several pickup times (`3:00 PM · 3:30 PM`) starts at the first.
4539
4961
  */
4540
4962
  declare const getSegmentStartMinutes: (segment: ItinerarySegment) => number | null;
4541
4963
  /** Traveler-facing name for a segment, used as the card heading and in the day summary. */
4542
4964
  declare const getSegmentTitle: (segment: ItinerarySegment) => string;
4543
4965
  interface ItinerarySegmentCardProps {
4544
- /** The air, car or hotel booking to render */
4966
+ /** The air, car, hotel, Black Car or rail booking to render */
4545
4967
  segment: ItinerarySegment;
4546
4968
  /** Heading level for the card title, so pages keep a sensible outline */
4547
4969
  headingLevel?: 2 | 3 | 4;
4548
4970
  /** Called when a traveler starts online check-in for a flight */
4549
4971
  onCheckIn?: (segment: ItineraryAirSegment) => void;
4972
+ /** Shows a blue Check In button beside a flight's vendor name (needs `onCheckIn`); the timeline sets it on each day's first flight */
4973
+ showCheckIn?: boolean;
4974
+ /** `card` stands alone with its own border; `section` drops the chrome to sit inside a day card */
4975
+ variant?: 'card' | 'section';
4550
4976
  /** Extra content rendered below the detail list (notes, agent remarks) */
4551
4977
  footer?: ReactNode;
4552
4978
  /** Additional CSS class */
4553
4979
  className?: string;
4554
4980
  }
4555
4981
  /**
4556
- * ItinerarySegmentCard — one booked leg of a traveler's itinerary.
4557
- *
4558
- * Renders a flight, rental car or hotel stay with the same header, endpoint
4559
- * pair and labelled detail list, so a traveler reads every segment the same
4560
- * way. The business fields match what the legacy Portal itinerary prints.
4982
+ * One flight, rental car, hotel, Black Car or rail booking.
4983
+ * Uses a shared header, journey board and labelled details grounded in Hub.
4561
4984
  */
4562
4985
  declare const ItinerarySegmentCard: {
4563
- ({ segment, headingLevel, onCheckIn, footer, className, }: ItinerarySegmentCardProps): React.JSX.Element;
4986
+ ({ segment, headingLevel, onCheckIn, showCheckIn, variant, footer, className, }: ItinerarySegmentCardProps): React.JSX.Element;
4564
4987
  displayName: string;
4565
4988
  };
4566
4989
 
4567
4990
  /** One travel day: the date and every segment starting on it. */
4568
4991
  interface ItineraryDay {
4569
- /** Day the segments start on, as `YYYY-MM-DD` */
4992
+ /** Day the segments start on, as `YYYY-MM-DD`; empty for bookings that carry no date */
4570
4993
  date: string;
4571
4994
  /** Segments starting on this day, in the order they should be read */
4572
4995
  segments: ItinerarySegment[];
@@ -4585,8 +5008,10 @@ interface ItineraryDay {
4585
5008
  * order they were given.
4586
5009
  */
4587
5010
  declare const groupSegmentsByDay: (segments: ItinerarySegment[]) => ItineraryDay[];
5011
+ /** Segment-type filters offered above the first day. Ground covers rental cars and Black Car. */
5012
+ type ItinerarySegmentFilter = 'all' | 'air' | 'hotel' | 'ground' | 'rail';
4588
5013
  interface ItineraryTimelineProps {
4589
- /** Every air, car and hotel booking on the trip, in any order */
5014
+ /** Every booking on the trip, including Black Car and rail, in any order */
4590
5015
  segments: ItinerarySegment[];
4591
5016
  /** Shows a loading placeholder instead of the timeline */
4592
5017
  loading?: boolean;
@@ -4596,18 +5021,17 @@ interface ItineraryTimelineProps {
4596
5021
  emptyMessage?: ReactNode;
4597
5022
  /** Called when a traveler starts online check-in for a flight */
4598
5023
  onCheckIn?: (segment: ItineraryAirSegment) => void;
5024
+ /** Shows All / Flights / Hotels / Ground / Rail tabs above the first day; types with nothing booked are left out */
5025
+ showTypeTabs?: boolean;
4599
5026
  /** Additional CSS class */
4600
5027
  className?: string;
4601
5028
  }
4602
5029
  /**
4603
- * ItineraryTimeline — a trip's bookings read as a day-by-day itinerary.
4604
- *
4605
- * Interleaves air, car and hotel segments under a heading for each travel day,
4606
- * and covers the loading, error and nothing-booked-yet states a real trip
4607
- * passes through.
5030
+ * Groups all supported bookings under each travel day.
5031
+ * Also covers loading, error and nothing-booked-yet states.
4608
5032
  */
4609
5033
  declare const ItineraryTimeline: {
4610
- ({ segments, loading, error, emptyMessage, onCheckIn, className, }: ItineraryTimelineProps): React.JSX.Element;
5034
+ ({ segments, loading, error, emptyMessage, onCheckIn, showTypeTabs, className, }: ItineraryTimelineProps): React.JSX.Element;
4611
5035
  displayName: string;
4612
5036
  };
4613
5037
 
@@ -4677,25 +5101,40 @@ interface ModalProps {
4677
5101
  /** Callback when modal should close */
4678
5102
  onClose: () => void;
4679
5103
  /** Modal title */
4680
- title?: string;
5104
+ title?: ReactNode;
5105
+ /** A line under the title. */
5106
+ subtitle?: ReactNode;
5107
+ /** Icon before the title. */
5108
+ icon?: ReactNode;
4681
5109
  /** Modal content */
4682
5110
  children: React__default.ReactNode;
4683
5111
  /** Size of the modal */
4684
5112
  size?: ModalSize;
5113
+ /** A specific maximum width in px, in place of the size's. */
5114
+ width?: number;
4685
5115
  /** Whether to show close button */
4686
5116
  showCloseButton?: boolean;
4687
5117
  /** Whether clicking backdrop closes modal */
4688
5118
  closeOnBackdropClick?: boolean;
4689
5119
  /** Whether pressing Escape closes modal */
4690
5120
  closeOnEscape?: boolean;
4691
- /** Footer content */
5121
+ /** Footer content — usually a ModalFooter. */
4692
5122
  footer?: React__default.ReactNode;
4693
- /** Additional CSS class */
5123
+ /** Additional CSS class for the dialog. */
4694
5124
  className?: string;
5125
+ /** Additional CSS class for the dimmed backdrop (e.g. to offset it below a fixed banner). */
5126
+ overlayClassName?: string;
5127
+ /** Additional CSS class for the body. */
5128
+ bodyClassName?: string;
4695
5129
  }
4696
5130
  /**
4697
- * Dialog that interrupts the page until the user resolves it.
4698
- * Traps focus, closes on Escape, and restores focus to the trigger on close.
5131
+ * The portal's dialog: a Module card over a 50% backdrop — white header with
5132
+ * the title and a round close button, a lightly tinted body, and a white
5133
+ * footer whose actions put Cancel on the left and the rest on the right.
5134
+ * It is the Hub's long-standing modal look (its toast modal was a Module
5135
+ * card), made the library's one dialog (SAF-327).
5136
+ *
5137
+ * Closes on Escape and, unless turned off, on a backdrop click.
4699
5138
  * Use an Alert instead when the user does not have to act.
4700
5139
  */
4701
5140
  declare const Modal: React__default.FC<ModalProps>;
@@ -4943,6 +5382,11 @@ interface ModuleProps {
4943
5382
  show?: boolean;
4944
5383
  /** Callback when toggle is clicked */
4945
5384
  onToggle?: () => void;
5385
+ /**
5386
+ * Let the body scroll inside a height-capped card (Modal caps it to the
5387
+ * viewport) instead of being clipped by the card's rounded-corner overflow.
5388
+ */
5389
+ scrollBody?: boolean;
4946
5390
  }
4947
5391
  /**
4948
5392
  * Module component - a collapsible card with header, body, and footer sections.
@@ -4993,9 +5437,10 @@ interface PageBannersProps {
4993
5437
  /** Travel alerts affecting trips, such as weather or carrier disruption. */
4994
5438
  alertBanners: TravelAlertBanner[];
4995
5439
  /**
4996
- * Render the notices as full-width brand-coloured bands (no card border/radius)
4997
- * instead of inset cards — for a full-bleed page section. The host provides the
4998
- * full-bleed wrapper.
5440
+ * Drop the block's own bottom margin, for a host that spaces it itself (the
5441
+ * dashboard does). Every banner renders as a square band either way; this
5442
+ * prop no longer picks a look — before SAF-327 it switched from rounded
5443
+ * cards to the bands.
4999
5444
  */
5000
5445
  fullWidth?: boolean;
5001
5446
  /** Additional CSS class. */
@@ -5667,13 +6112,17 @@ interface TableProps<T = any> {
5667
6112
  selectAllLabel?: string;
5668
6113
  /** Row click handler */
5669
6114
  onRowClick?: (row: T, index: number) => void;
6115
+ /** Extra class for a row, e.g. to grey out a voided line */
6116
+ rowClassName?: (row: T, index: number) => string | undefined;
6117
+ /** Rows rendered in a `<tfoot>` after the body, e.g. a totals row. Pass `<tr>` elements. */
6118
+ footer?: React__default.ReactNode;
5670
6119
  /** Additional CSS class */
5671
6120
  className?: string;
5672
6121
  }
5673
6122
  /**
5674
6123
  * Data table with sorting, selection, and empty and loading states.
5675
6124
  */
5676
- declare const Table: <T extends Record<string, any> = any>({ columns, data, rowKey, bordered, striped, hoverable, compact, loading, emptyMessage, emptyContent, selectable, selectedRowKeys, defaultSelectedRowKeys, onSelectionChange, isRowSelectable, rowSelectionLabel, selectAllLabel, onRowClick, className, }: TableProps<T>) => React__default.JSX.Element;
6125
+ declare const Table: <T extends Record<string, any> = any>({ columns, data, rowKey, bordered, striped, hoverable, compact, loading, emptyMessage, emptyContent, selectable, selectedRowKeys, defaultSelectedRowKeys, onSelectionChange, isRowSelectable, rowSelectionLabel, selectAllLabel, onRowClick, rowClassName, footer, className, }: TableProps<T>) => React__default.JSX.Element;
5677
6126
 
5678
6127
  interface TeamOption {
5679
6128
  /** Team code (e.g., 'MBB', 'WBB') */
@@ -7489,6 +7938,14 @@ interface IndividualTravelPagination {
7489
7938
  }
7490
7939
  type IndividualTravelTabCounts = Partial<Record<TabKey, number>>;
7491
7940
  type IndividualTravelExportScope = 'all' | TabKey;
7941
+ /**
7942
+ * The Requested tab's submitted-date window, as `YYYY-MM-DD` strings. Either
7943
+ * bound may be empty.
7944
+ */
7945
+ interface IndividualTravelRequestedDateRange {
7946
+ from: string;
7947
+ to: string;
7948
+ }
7492
7949
  interface IndividualTravelExportRequest {
7493
7950
  scope: IndividualTravelExportScope;
7494
7951
  activeTab: TabKey;
@@ -7539,6 +7996,23 @@ interface IndividualTravelPageProps {
7539
7996
  onSelectRequest?: (trip: TripData) => void;
7540
7997
  /** Optional handoff to a real host-owned request route. Hidden when absent. */
7541
7998
  onCreateRequest?: () => void;
7999
+ /** Label of the create-request button. */
8000
+ createRequestLabel?: string;
8001
+ /**
8002
+ * Controlled submitted-date window for the Requested tab. Supplying
8003
+ * `onRequestedDateRangeChange` gives that tab the Advanced filters panel
8004
+ * with "Submitted from / through" fields, in place of the booked-trip filters
8005
+ * a request cannot use.
8006
+ */
8007
+ requestedDateRange?: IndividualTravelRequestedDateRange;
8008
+ /** Called with the applied submitted-date window. */
8009
+ onRequestedDateRangeChange?: (range: IndividualTravelRequestedDateRange) => void;
8010
+ /**
8011
+ * The window Reset restores, and the one that does not count as an active
8012
+ * filter — a host that defaults to recent requests passes that default here.
8013
+ * Defaults to no bounds.
8014
+ */
8015
+ defaultRequestedDateRange?: IndividualTravelRequestedDateRange;
7542
8016
  /** Message used when the active, unfiltered source is empty. */
7543
8017
  emptyMessage?: string;
7544
8018
  /** Accessible label for the primary search field. */
@@ -7753,6 +8227,23 @@ interface IndividualTravelRequestDetail {
7753
8227
  busRequest?: IndividualTravelRequestBusRequest;
7754
8228
  specialRequests?: string;
7755
8229
  }
8230
+ /**
8231
+ * What an autofill field looks up: airports, city / state places, or any
8232
+ * address or venue (a car or bus pickup).
8233
+ */
8234
+ type IndividualTravelRequestLocationKind = 'airport' | 'city' | 'place';
8235
+ /** One autofill suggestion. `value` is written into the field as is. */
8236
+ interface IndividualTravelRequestLocationOption {
8237
+ value: string;
8238
+ label: string;
8239
+ /** Secondary line, such as the airport's full name. */
8240
+ description?: string;
8241
+ /**
8242
+ * Where the suggestion came from. `google` suggestions (Google Places) must
8243
+ * be shown with Google's attribution, which the list adds under them.
8244
+ */
8245
+ provider?: 'google';
8246
+ }
7756
8247
 
7757
8248
  interface IndividualTravelRequestFormPageProps {
7758
8249
  /** Authenticated traveler display data. The component never emits an actor ID. */
@@ -7783,6 +8274,13 @@ interface IndividualTravelRequestFormPageProps {
7783
8274
  notice?: ReactNode;
7784
8275
  /** Label for the submit button. */
7785
8276
  submitLabel?: string;
8277
+ /**
8278
+ * Autofill lookup for the airport, city and address fields. Called,
8279
+ * debounced, once the traveler has typed two characters; free text stays
8280
+ * valid, so a place the lookup does not know can still be requested.
8281
+ * Absent, the fields are plain text inputs.
8282
+ */
8283
+ onSearchLocations?: (query: string, kind: IndividualTravelRequestLocationKind) => Promise<IndividualTravelRequestLocationOption[]>;
7786
8284
  /** Additional CSS class. */
7787
8285
  className?: string;
7788
8286
  }
@@ -7877,11 +8375,19 @@ interface ItineraryAgent {
7877
8375
  name: string;
7878
8376
  /** Role, e.g. `Travel Consultant` */
7879
8377
  role?: string;
7880
- /** Contact phone number */
7881
- phone?: string;
7882
8378
  /** Contact email address */
7883
8379
  email?: string;
7884
- }
8380
+ /** When the team is staffed, e.g. `7am - 7pm M-F Central Time` */
8381
+ businessHours?: string;
8382
+ /** Toll-free number for the team */
8383
+ tollFreeNumber?: string;
8384
+ /** Number to call outside business hours */
8385
+ afterHoursPhone?: string;
8386
+ /** When the after-hours number applies, e.g. `for Outside Normal Business Hours, Weekends and Holidays 24x7` */
8387
+ afterHoursNote?: string;
8388
+ }
8389
+ /** `all` shows everything; `itinerary` keeps only the page header, the toggle row, the day-by-day travel details and the closing notices. */
8390
+ type ItineraryPageView = 'all' | 'itinerary';
7885
8391
  interface ItineraryPageProps {
7886
8392
  /** Trip name, e.g. `Las Vegas Invitational` */
7887
8393
  tripName: string;
@@ -7893,7 +8399,7 @@ interface ItineraryPageProps {
7893
8399
  startDate: string;
7894
8400
  /** Last travel date as `YYYY-MM-DD` */
7895
8401
  endDate: string;
7896
- /** Every air, car and hotel booking on the trip */
8402
+ /** Every air, car, hotel, Black Car and rail booking on the trip */
7897
8403
  segments: ItinerarySegment[];
7898
8404
  /** Overall booking state shown next to the trip name */
7899
8405
  status?: ItinerarySegmentStatus;
@@ -7905,15 +8411,35 @@ interface ItineraryPageProps {
7905
8411
  currency?: string;
7906
8412
  /** Travel team contact for the trip */
7907
8413
  agent?: ItineraryAgent;
8414
+ /** Air invoice shown under Air Invoice Details. When omitted, the trip's confirmation, dates, travelers and program are shown instead. */
8415
+ invoice?: Omit<AirInvoiceCardProps, 'className' | 'title'>;
8416
+ /** Accounting and approval context shown in the Booking Details card above the invoice */
8417
+ bookingDetails?: BookingDetail[];
7908
8418
  /** Shows the loading state in place of the timeline */
7909
8419
  loading?: boolean;
7910
8420
  /** Message shown in place of the timeline when the itinerary could not be loaded */
7911
8421
  error?: ReactNode;
8422
+ /** Starting view when the page owns the All / Itinerary Only toggle */
8423
+ defaultView?: ItineraryPageView;
8424
+ /** Called when the traveler switches between All and Itinerary Only */
8425
+ onViewChange?: (view: ItineraryPageView) => void;
8426
+ /** Alerts about this trip, e.g. a schedule change or a lower fare, shown above the cards */
8427
+ alertBanners?: TravelAlertBanner[];
8428
+ /** Standing travel guidance shown under the alerts, e.g. ID and airport-arrival reminders */
8429
+ travelNotes?: ReactNode;
8430
+ /** Standing fare or policy notices at the very bottom of the itinerary, e.g. a non-refundable ticket */
8431
+ closingBanners?: SystemBanner[];
8432
+ /** Fine print under the closing notices, e.g. passport and visa requirements */
8433
+ closingNotes?: ReactNode;
7912
8434
  /** Important host-owned context shown above the timeline without replacing it */
7913
8435
  notice?: ReactNode;
7914
8436
  /** Called when the traveler retries a failed itinerary load */
7915
8437
  onRetry?: () => void;
7916
- /** Called when the traveler returns to the individual-travel list */
8438
+ /** Section shown above the page name in the page header */
8439
+ sectionName?: string;
8440
+ /** Page name in the page header. Defaults to the lead traveler's surname and party size, e.g. `Itinerary for Broughton +5` */
8441
+ pageName?: string;
8442
+ /** Called by the header's back arrow. When omitted the arrow returns to the prior page in browser history. */
7917
8443
  onBack?: () => void;
7918
8444
  /** Accessible text for the optional return action */
7919
8445
  backLabel?: string;
@@ -7931,15 +8457,16 @@ interface ItineraryPageProps {
7931
8457
  className?: string;
7932
8458
  }
7933
8459
  /**
7934
- * ItineraryPage — the traveler-facing itinerary for a single trip.
7935
- *
7936
- * Shows who is travelling, when, and every flight, rental car and hotel stay in
7937
- * day order, together with the actions the Portal itinerary offers today: print
7938
- * it, email it, add it to a calendar, or open the PDF invoice. The page holds no
7939
- * data of its own — everything arrives as props.
8460
+ * The lead traveler's surname plus how many others are on the record locator,
8461
+ * e.g. `Broughton/Kevin` and five more reads `Broughton +5`.
8462
+ */
8463
+ declare const itineraryPageName: (travelers: string[]) => string;
8464
+ /**
8465
+ * A traveler's bookings in day order, including Black Car and rail.
8466
+ * Trip data and print, email, calendar and invoice actions arrive as props.
7940
8467
  */
7941
8468
  declare const ItineraryPage: {
7942
- ({ tripName, recordLocator, travelers, startDate, endDate, segments, status, sportCode, totalCost, currency, agent, loading, error, notice, onRetry, onBack, backLabel, onPrint, onEmail, onAddToCalendar, onDownloadInvoice, onCheckIn, className, }: ItineraryPageProps): React.JSX.Element;
8469
+ ({ tripName, recordLocator, travelers, startDate, endDate, segments, status, sportCode, totalCost, currency, agent, invoice, bookingDetails, loading, error, notice, defaultView, onViewChange, alertBanners, travelNotes, closingBanners, closingNotes, onRetry, sectionName, pageName, onBack, backLabel, onPrint, onEmail, onAddToCalendar, onDownloadInvoice, onCheckIn, className, }: ItineraryPageProps): React.JSX.Element;
7943
8470
  displayName: string;
7944
8471
  };
7945
8472
 
@@ -8586,5 +9113,5 @@ declare const TripDetailPage: {
8586
9113
  displayName: string;
8587
9114
  };
8588
9115
 
8589
- export { ACMI_AIRCRAFT_OPTIONS, ACMI_CARRIER_OPTIONS, ACMI_INSURANCE_FLAT, Accordion, AcmiQuoteCalculator, AdministrationPage, AgentGroupTravelRequestsPage, AgentGroupTravelRequestsTable, AirSegment, Alert, AlertStyled, AppLayout, ArrowDownLeftIcon, ArrowUpRightIcon, Avatar, AvatarGroup, BID_TYPE_HEADINGS, BackLink, Badge, BuildingIcon, BusIcon, Button, ButtonStyled, CARRIER_CATERING_OPTIONS, CARRIER_CONTACT_TYPES, CHAMPIONSHIP_BID_TYPES, CHAMPIONSHIP_HEADINGS, CHARTER_CONTACT_GROUPS, CHARTER_SECTIONS, CalendarIcon, CalendarTypeSelector, CalendarViewSelector, CarIcon, Card, CardBody, CardFooter, CardHeader, CarrierProfilePage, ChampionshipBidDetailPage, ChampionshipBidsPage, CharterBidResponsePage, CharterBidViewPage, CharterManifestPage, CharterSourcingEmailPreview, ChartersAccessManagementPage, ChartersHomePage, CheckIcon, Checkbox, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ClientSelector, CloseIcon, ConfirmModal, ContactCard, ContactList, ContactUsPage, CubeIcon, DOCUMENT_FILE_EXTENSIONS, DashboardIcon, DashboardPage, Datepicker, DetailList, DocumentIcon, DownloadIcon, Drawer, DrawerBody, DrawerFooter, DrawerHeader, Dropdown, DueDatesDrawer, EditIcon, EmptyState, EyeIcon, FeatureFlagManagementPage, FieldLayout, FileUploadButton, FilterChip, FilterIcon, FormField, FormRow, FormSection, FormStack, GridHeaderRow, GridIcon, GridTable, GroundSegment, GroupTravelRequestPage, HUB_ADMIN_ITEM, HUB_AGENTS_ITEM, HUB_INDIVIDUAL_TRAVEL_ITEM, HUB_NAV_ITEMS, HUB_OFF_FLEET_ITEM, HUB_SOURCING_ITEM, HUB_STM_CHARTERS_ITEM, HandIcon, HeadsetIcon, HomeIcon, HotelIcon, HotelSegment, HubAppShell, Icon, Icons, IndividualTravelPage, IndividualTravelRequestDetailPage, IndividualTravelRequestFormPage, InfoCenterPage, InfoIcon, InfoTile, Input, ItineraryPage, ItinerarySegmentCard, ItineraryTimeline, LightbulbIcon, LimoIcon, ListboxSelect, LockIcon, LogoIcon, LogoutIcon, MailIcon, ManifestCapacityStats, ManifestViewToggle, MegaphoneIcon, MembershipPrograms, MenuIcon, Metric, MinusIcon, Modal, ModalFooter, Module, ModuleDivider, ModuleVerticalDivider, MultiUserSearch, NavCard, NavItem, NextTripCard, NotFoundPage, OFF_FLEET_LEARNED_DESCRIPTION, OFF_FLEET_LEARNED_EMPTY_COPY, OFF_FLEET_QUEUE_DESCRIPTION, OffFleetLearnedExamplesPage, OffFleetReviewQueuePage, OffFleetSubmissionDetailPage, PageBanners, PageHeader, Pagination, PhoneIcon, PlaneIcon, PlusIcon, PreferencesPanel, PrinterIcon, ProfileMenu, Progress, ProgressBar, ProgressCircle, QuoteCostBreakdown, QuoteReviewActions, REGULAR_SEASON_BID_TYPES, RailIcon, RefreshIcon, RegularSeasonBidsPage, RegularSeasonBidsTable, ReportIcon, RequestFormFooter, RequestFormHeader, RequestFormLayout, RequestSummary, ResultCount, RosterProgramNumbersPage, RosterReportsPage, RosterToolbar, SOURCING_COST_CATEGORIES, SOURCING_COST_CATEGORY_LABELS, SUPPLIER_TYPE_OPTIONS, SchoolContactForm, SearchField, SearchIcon, Segment, SegmentedSelector, Select, SelectFilter, ServiceToggle, ServiceToggleList, SettingsIcon, Sidenav, SingleTeamPanelSelector, SourcingQuoteDetailPage, SourcingReviewQueuePage, SourcingReviewQueueTable, Spinner, StatusBadge, SummarySection, SupplierTypeToggle, TRIP_MONTH_OPTIONS, TabStrip, Table, TableCell, Tag, TeamCalendarHeader, TeamCard, TeamContactsPanel, TeamEquipmentForm, TeamHeader, TeamImportForm, TeamManagementPage, TeamProgramForm, TeamRosterMemberForm, TeamScheduleActions, TeamScheduleCompactTable, TeamScheduleEditor, TeamScheduleExpandedTable, TeamSchedulePage, TeamSubMenu, TeamTravelCalendarCardView, TeamTravelCalendarListView, TeamTravelCalendarPage, TeamTravelCalendarToolbar, TeamTravelCalendarView, TeamUserAccessForm, Textarea, ThemeProvider, Timepicker, Title, Toggle, Tooltip, Topbar, TrashIcon, TravelBoard, TravelServiceIcon, TravelSummaryMetrics, TravelerForm, TrendDownIcon, TrendUpIcon, TripDetailPage, TripSegment, TripTable, TypeIcon, UploadIcon, UserIcon, UsersIcon, WarningIcon, XIcon, absoluteFill, accentColors, alertTokens, boxShadow, brandColors, breakpoints, buildPaginationItems, buttonReset, computeLineItemTotal, computeQuoteTotals, computeTravelTypeCodes, css, cx, darkTheme, lightTheme as defaultTheme, deriveProgramBidStatus, flexCenter, flexCol, flexRow, font, fontFamily, fontSize, fontWeight, formatCompactTripCost, formatItineraryDate, formatItineraryDateRange, formatItineraryMoney, formatTeamScheduleDueDate, formatTeamScheduleTravelDates, getCharterSourcingEmailRoute, getCharterSourcingEmailSubject, getPageCount, getSegmentDate, getSegmentStartMinutes, getSegmentTitle, getTeamTravelCalendarPeriodLabel, groupSegmentsByDay, iconNames, iconRegistry, injectGlobal, isExpiringSoon, isProgramBiddable, isQuoteActionable, isTravelDueDateCompleted, isTravelDueDateOverdue, leading, lightTheme, lineClamp, lineHeight, matchesQuoteSearch, merge, moveTeamTravelCalendarPeriod, neutralColors, parseClockTime, parseItineraryDate, primaryColors, radius, rounded, semanticColors, shadow, size, space, spacing, srOnly, statusColors, styled, sx, teamColors, textColors, toInlineStyle, trans, transition, truncate, useTheme, weight };
8590
- export type { AccordionProps, AccountInfo, AcmiAircraftOption, AcmiLeg, AcmiPositioningMode, AcmiQuoteCalculatorProps, AcmiQuoteInputs, AcmiQuoteResult, AdministrationCard, AdministrationPageProps, AdministrationTab, AgentGroupTravelRequest, AgentGroupTravelRequestSportOption, AgentGroupTravelRequestViewOption, AgentGroupTravelRequestsPageProps, AirSegmentProps, AlertProps, AlertStyledProps, AlertVariant$1 as AlertVariant, AppLayoutProps, AvatarGroupProps, AvatarProps, AvatarSize, BackLinkProps, BadgeProps, BadgeSize, BadgeVariant, ButtonProps, ButtonSize$1 as ButtonSize, ButtonStyledProps, ButtonVariant$1 as ButtonVariant, CSSObject, CalendarMetric, CalendarTypeSelectorProps, CalendarTypeValue, CalendarView, CalendarViewSelectorProps, CalendarViewValue, CardBodyProps, CardFooterProps, CardHeaderProps, CardPadding, CardProps, CardVariant, CarrierAircraft, CarrierContact, CarrierProfilePageProps, CarrierProfilePreferences, CarrierProfileTab, ChampionshipBid, ChampionshipBidDetail, ChampionshipBidDetailPageProps, ChampionshipBidType, ChampionshipBidsPageProps, CharterBidLevel, CharterBidResponsePageProps, CharterBidSubmission, CharterBidTarget, CharterBidViewPageProps, CharterContact, CharterContactGroup, CharterFlightProgramBid, CharterManifestEquipment, CharterManifestPageProps, CharterManifestPassenger, CharterManifestSegment, CharterSectionCard, CharterSourcingEmailChange, CharterSourcingEmailChanges, CharterSourcingEmailLeg, CharterSourcingEmailPreviewProps, CharterSourcingEmailQuote, CharterSourcingEmailVariant, CharterSubmissionType, CharterSubmittedBid, CharterTripBid, CharterTripBidStatus, ChartersAccessId, ChartersAccessManagementPageProps, ChartersAccessMembership, ChartersAccessRole, ChartersAccountUser, ChartersHomePageProps, CheckboxProps, ClientOption, ClientSelectorProps, ConfirmModalProps, Contact, ContactCardData, ContactCardProps, ContactDetail, ContactInfo, ContactListProps, ContactPair, ContactSection, ContactUsData, ContactUsPageProps, DashboardPageProps, DatepickerProps, DatepickerSize, DetailListItem, DetailListProps, DetailListVariant, DrawerBodyProps, DrawerFooterProps, DrawerHeaderProps, DrawerPosition, DrawerProps, DrawerSize, DropdownAlignment, DropdownItemProps, DropdownProps, DueDatesDrawerProps, EmptyStateProps, EmptyStateSize, FeatureFlagDefinition, FeatureFlagIdentifier, FeatureFlagManagementPageProps, FeatureFlagRule, FeatureFlagRuleDeactivateRequest, FeatureFlagRuleEditRequest, FeatureFlagRuleEffect, FeatureFlagRuleFormValue, FeatureFlagTargetOption, FeatureFlagTargetOptions, FeatureFlagTargetType, FieldLayoutProps, FieldLayoutRenderProps, FieldSizing, FileUploadButtonProps, FilterChipProps, FilterOption, FlightData, FormFieldProps, FormRowProps, FormSectionProps, FormStackProps, GridCellRenderProps, GridColumn, GridHeaderRowProps, GridRow, GridTableProps, GridTotalRow, GroundData, GroundSegmentProps, GroupTravelDueField, GroupTravelDueStatus, GroupTravelPnr, GroupTravelRequestContact, GroupTravelRequestFieldValue, GroupTravelRequestPageProps, GroupTravelRequestSource, GroupTravelRequestValues, GroupedTravelDueDates, HotelData, HotelSegmentProps, HubAppShellActions, HubAppShellProps, HubNavigationItem, IconName, IconProps, IndividualTravelExportRequest, IndividualTravelExportScope, IndividualTravelFilters, IndividualTravelPageProps, IndividualTravelPagination, IndividualTravelRequestAirLeg, IndividualTravelRequestAirRequest, IndividualTravelRequestAirTripType, IndividualTravelRequestAnswerValue, IndividualTravelRequestBusRequest, IndividualTravelRequestCarLeg, IndividualTravelRequestCarRequest, IndividualTravelRequestCurrentTraveler, IndividualTravelRequestDetail, IndividualTravelRequestDetailPageProps, IndividualTravelRequestFormConfiguration, IndividualTravelRequestFormPageProps, IndividualTravelRequestHotelLeg, IndividualTravelRequestHotelRequest, IndividualTravelRequestLabeledAnswer, IndividualTravelRequestOption, IndividualTravelRequestQuestion, IndividualTravelRequestQuestionType, IndividualTravelRequestService, IndividualTravelRequestSubmitter, IndividualTravelRequestTraveler, IndividualTravelRequestTravelerType, IndividualTravelRequestValues, IndividualTravelTabCounts, InfoCenterArticle, InfoCenterPageProps, InfoCenterPageState, InfoTileEdge, InfoTileProps, InputProps, InputSize, ItineraryAgent, ItineraryAirSegment, ItineraryCarSegment, ItineraryDay, ItineraryHotelSegment, ItineraryPageProps, ItinerarySegment, ItinerarySegmentCardProps, ItinerarySegmentStatus, ItineraryTimelineProps, ListboxSelectOption, ListboxSelectProps, ManifestCapacityStatsProps, ManifestSendState, ManifestView, ManifestViewToggleProps, MembershipProgram, MembershipProgramsProps, MetricProps, ModalFooterProps, ModalProps, ModalSize, ModuleProps, ModuleSize, MultiUserSearchOption, MultiUserSearchProps, NavCardProps, NavItemProps, NavItemSize, NavItemVariant, NextTripCardProps, NextTripCheckIn, NextTripDetail, NextTripEndpoint, NextTripStatus, NotFoundPageProps, OffFleetLearnedExample, OffFleetLearnedExamplesPageProps, OffFleetLeg, OffFleetLegDiagnostic, OffFleetLegMatch, OffFleetPreflightCheck, OffFleetPreflightRow, OffFleetPriceBasis, OffFleetQuoteHeader, OffFleetReviewQueuePageProps, OffFleetSubmission, OffFleetSubmissionDetailPageProps, OffFleetSubmissionStatus, OffFleetTripGrouping, OffFleetTripSegment, PageBannersProps, PageHeaderProps, PaginationItem, PaginationProps, PreferenceField, PreferenceSection, PreferencesPanelProps, ProfileMenuItem, ProfileMenuProps, ProgressBarProps, ProgressCircleProps, ProgressSize, ProgressVariant, QuoteCostBreakdownProps, QuoteCostTotals, QuoteFieldChange, QuoteReviewActionsProps, RegularSeasonBidType, RegularSeasonBidsPageProps, RegularSeasonBidsTableProps, RequestFormFooterProps, RequestFormHeaderProps, RequestFormLayoutProps, RequestFormPane, RequestSummaryProps, ResultCountProps, RosterProgramNumberId, RosterProgramNumberRow, RosterProgramNumbersPageProps, RosterReportOption, RosterReportsPageProps, RosterToolbarProps, ScheduleFilterOption, ScheduleMetric, SchoolContactFormProps, SearchFieldProps, SeasonOption, SegmentOption, SegmentProps, SegmentVariant, SegmentedSelectorOption, SegmentedSelectorProps, SelectFilterOption, SelectFilterProps, SelectOption, SelectOptionGroup, SelectProps, SelectSize, ServiceConfig, ServiceToggleListProps, ServiceToggleProps, SidenavItem, SidenavProps, SingleTeamPanelSelectorProps, SourcingCostAdjustment, SourcingCostCategory, SourcingCostLineItem, SourcingQuote, SourcingQuoteDetailPageProps, SourcingQuoteDraft, SourcingQuoteLeg, SourcingQuoteLegType, SourcingQuoteStatus, SourcingReviewQueuePageProps, SourcingReviewQueueTableProps, SpinnerProps, SpinnerSize, StatusBadgeProps, StatusBadgeVariant, StyleFunction, StyleObject, SummaryItem, SummarySectionConfig, SummarySegment, SupplierTypeToggleProps, SupplierTypeValue, SystemBanner, TabKey, TabStripItem, TabStripProps, TableCellProps, TableColumn, TableProps, TableRowKey, TagProps, TagSize, TagVariant, TeamCalendarHeaderProps, TeamCardProps, TeamContactId, TeamContactOption, TeamContactsLoadingState, TeamContactsPanelProps, TeamContactsValue, TeamEquipmentFormProps, TeamEquipmentValues, TeamFormMode, TeamHeaderProps, TeamImportFormProps, TeamImportKind, TeamManagementPageProps, TeamManagementTab, TeamNumericValue, TeamOption, TeamPanelCategory, TeamPanelOption, TeamPortalUserOption, TeamProgramFormProps, TeamProgramType, TeamProgramValues, TeamRosterMemberFormProps, TeamRosterMemberValues, TeamScheduleActionsProps, TeamScheduleCompactEvent, TeamScheduleCompactRow, TeamScheduleCompactTableProps, TeamScheduleCompactTrip, TeamScheduleDueDate, TeamScheduleEditorEvent, TeamScheduleEditorProps, TeamScheduleEditorTrip, TeamScheduleExpandedRow, TeamScheduleExpandedTableProps, TeamScheduleHomeAway, TeamSchedulePageProps, TeamSubMenuProps, TeamSubMenuTab, TeamTravelCalendarCardViewProps, TeamTravelCalendarDueDate, TeamTravelCalendarDuration, TeamTravelCalendarEvent, TeamTravelCalendarItemType, TeamTravelCalendarListViewProps, TeamTravelCalendarPageProps, TeamTravelCalendarSportGroup, TeamTravelCalendarToolbarProps, TeamTravelCalendarTrip, TeamTravelCalendarViewProps, TeamUserAccessFormProps, TeamUserAccessValues, TextareaProps, Theme, ThemeBreakpoint, ThemeColors, ThemeContextValue, ThemeMode, ThemeProviderProps, ThemeRadius, ThemeShadow, ThemeSpacing, ThemeTransition, ThemeTypography, TimepickerProps, TimepickerSize, TitleProps, TitleWeight, ToggleProps, ToggleSize, ToolbarAction, TooltipPosition, TooltipProps, TooltipVariant, TopbarProps, TravelAlertBanner, TravelBoardDay, TravelBoardMode, TravelBoardProps, TravelBoardStatus, TravelBoardTeamTrip, TravelBoardTrip, TravelDueDateItem, TravelServiceIconProps, TravelSummaryMetricsProps, TravelType, TravelerFormData, TravelerFormProps, TripData, TripDetailPageProps, TripSegmentProps, TripTableProps, TypeIconProps, VendorCode };
9116
+ export { ACMI_AIRCRAFT_OPTIONS, ACMI_CARRIER_OPTIONS, ACMI_INSURANCE_FLAT, Accordion, AcmiQuoteCalculator, AdministrationPage, AgentGroupTravelRequestsPage, AgentGroupTravelRequestsTable, AirInvoiceCard, AirSegment, Alert, AppLayout, ArrowDownLeftIcon, ArrowUpRightIcon, Avatar, AvatarGroup, BID_TYPE_HEADINGS, BackLink, Badge, BookingDetailsCard, BuildingIcon, BusIcon, Button, ButtonStyled, CARRIER_CATERING_OPTIONS, CARRIER_CONTACT_TYPES, CHAMPIONSHIP_BID_TYPES, CHAMPIONSHIP_HEADINGS, CHARTER_CONTACT_GROUPS, CHARTER_SECTIONS, CalendarIcon, CalendarTypeSelector, CalendarViewSelector, CarIcon, Card, CardBody, CardFooter, CardHeader, CarrierProfilePage, ChampionshipBidDetailPage, ChampionshipBidsPage, CharterBidResponsePage, CharterBidViewPage, CharterManifestPage, CharterSourcingEmailPreview, ChartersAccessManagementPage, ChartersHomePage, CheckIcon, Checkbox, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ClientSelector, CloseIcon, ConfirmModal, ContactCard, ContactList, ContactUsPage, CubeIcon, DOCUMENT_FILE_EXTENSIONS, DashboardIcon, DashboardPage, Datepicker, DetailList, DocumentIcon, DownloadIcon, Drawer, DrawerBody, DrawerFooter, DrawerHeader, Dropdown, DueDatesDrawer, EditIcon, EmptyState, EyeIcon, FeatureFlagManagementPage, FieldLayout, FileUploadButton, FilterChip, FilterIcon, FormField, FormRow, FormSection, FormStack, GridHeaderRow, GridIcon, GridTable, GroundSegment, GroupTravelRequestPage, HUB_ADMIN_ITEM, HUB_AGENTS_ITEM, HUB_INDIVIDUAL_TRAVEL_ITEM, HUB_NAV_ITEMS, HUB_OFF_FLEET_ITEM, HUB_SOURCING_ITEM, HUB_STM_CHARTERS_ITEM, HandIcon, HeadsetIcon, HomeIcon, HotelIcon, HotelSegment, HubAppShell, Icon, Icons, IndividualTravelPage, IndividualTravelRequestDetailPage, IndividualTravelRequestFormPage, InfoCenterPage, InfoIcon, InfoTile, Input, ItineraryPage, ItinerarySegmentCard, ItineraryTimeline, LightbulbIcon, LimoIcon, ListboxSelect, LockIcon, LogoIcon, LogoutIcon, MailIcon, ManifestCapacityStats, ManifestViewToggle, MegaphoneIcon, MembershipPrograms, MenuIcon, Metric, MinusIcon, Modal, ModalFooter, Module, ModuleDivider, ModuleVerticalDivider, MultiUserSearch, NavCard, NavItem, NextTripCard, NotFoundPage, OFF_FLEET_LEARNED_DESCRIPTION, OFF_FLEET_LEARNED_EMPTY_COPY, OFF_FLEET_QUEUE_DESCRIPTION, OffFleetLearnedExamplesPage, OffFleetReviewQueuePage, OffFleetSubmissionDetailPage, PageBanners, PageHeader, PageHeaderSubsection, Pagination, PhoneIcon, PlaneIcon, PlusIcon, PreferencesPanel, PrinterIcon, ProfileMenu, Progress, ProgressBar, ProgressCircle, QuoteCostBreakdown, QuoteReviewActions, REGULAR_SEASON_BID_TYPES, RailIcon, RefreshIcon, RegularSeasonBidsPage, RegularSeasonBidsTable, ReportIcon, RequestFormFooter, RequestFormHeader, RequestFormLayout, RequestSummary, ResultCount, RosterProgramNumbersPage, RosterReportsPage, RosterToolbar, SOURCING_COST_CATEGORIES, SOURCING_COST_CATEGORY_LABELS, SUPPLIER_TYPE_OPTIONS, SchoolContactForm, SearchField, SearchIcon, Segment, SegmentedSelector, Select, SelectFilter, ServiceToggle, ServiceToggleList, SettingsIcon, Sidenav, SingleTeamPanelSelector, SourcingQuoteDetailPage, SourcingReviewQueuePage, SourcingReviewQueueTable, Spinner, SportCodeBadge, StatusBadge, SummarySection, SupplierTypeToggle, TRIP_MONTH_OPTIONS, TabPanelStack, TabStrip, Table, TableCell, Tag, TeamCalendarHeader, TeamCard, TeamContactsPanel, TeamEquipmentForm, TeamHeader, TeamImportForm, TeamManagementPage, TeamPicker, TeamProgramForm, TeamRosterMemberForm, TeamScheduleActions, TeamScheduleCompactTable, TeamScheduleEditor, TeamScheduleExpandedTable, TeamSchedulePage, TeamSubMenu, TeamTravelCalendarCardView, TeamTravelCalendarListView, TeamTravelCalendarPage, TeamTravelCalendarToolbar, TeamTravelCalendarView, TeamUserAccessForm, Textarea, ThemeProvider, Timepicker, Title, Toggle, Tooltip, Topbar, TrashIcon, TravelBoard, TravelDateRange, TravelServiceIcon, TravelSummaryMetrics, TravelerForm, TrendDownIcon, TrendUpIcon, TripDetailPage, TripSegment, TripTable, TypeIcon, UploadIcon, UserIcon, UsersIcon, WarningIcon, XIcon, absoluteFill, accentColors, alertTokens, boxShadow, brandColors, breakpoints, buildPaginationItems, buttonReset, computeLineItemTotal, computeQuoteTotals, computeTravelTypeCodes, css, cx, darkTheme, lightTheme as defaultTheme, deriveProgramBidStatus, flexCenter, flexCol, flexRow, font, fontFamily, fontSize, fontWeight, formatCompactTripCost, formatItineraryDate, formatItineraryDateRange, formatItineraryMoney, formatTeamScheduleDueDate, formatTeamScheduleTravelDates, getCharterSourcingEmailRoute, getCharterSourcingEmailSubject, getPageCount, getSegmentDate, getSegmentStartMinutes, getSegmentTitle, getTeamTravelCalendarPeriodLabel, groupSegmentsByDay, iconNames, iconRegistry, injectGlobal, isExpiringSoon, isProgramBiddable, isQuoteActionable, isTravelDueDateCompleted, isTravelDueDateOverdue, itineraryPageName, leading, lightTheme, lineClamp, lineHeight, matchesQuoteSearch, merge, moveTeamTravelCalendarPeriod, neutralColors, ordinalDay, parseClockTime, parseItineraryDate, primaryColors, radius, rounded, semanticColors, shadow, size, space, spacing, sportCodeVariant, srOnly, statusColors, styled, sx, teamColors, textColors, toInlineStyle, trans, transition, truncate, useTheme, weight };
9117
+ export type { AccordionProps, AccountInfo, AcmiAircraftOption, AcmiLeg, AcmiPositioningMode, AcmiQuoteCalculatorProps, AcmiQuoteInputs, AcmiQuoteResult, AdministrationCard, AdministrationPageProps, AdministrationTab, AgentGroupTravelRequest, AgentGroupTravelRequestSportOption, AgentGroupTravelRequestViewOption, AgentGroupTravelRequestsPageProps, AirInvoiceCardProps, AirInvoiceLine, AirInvoiceVersion, AirSegmentProps, AlertProps, AlertVariant, AppLayoutProps, AvatarGroupProps, AvatarProps, AvatarSize, BackLinkProps, BadgeProps, BadgeSize, BadgeVariant, BookingDetail, BookingDetailsCardProps, ButtonProps, ButtonSize$1 as ButtonSize, ButtonStyledProps, ButtonVariant$1 as ButtonVariant, CSSObject, CalendarMetric, CalendarTypeSelectorProps, CalendarTypeValue, CalendarView, CalendarViewSelectorProps, CalendarViewValue, CardBodyProps, CardFooterProps, CardHeaderProps, CardPadding, CardProps, CardVariant, CarrierAircraft, CarrierContact, CarrierProfilePageProps, CarrierProfilePreferences, CarrierProfileTab, ChampionshipBid, ChampionshipBidDetail, ChampionshipBidDetailPageProps, ChampionshipBidType, ChampionshipBidsPageProps, CharterBidLevel, CharterBidResponsePageProps, CharterBidSubmission, CharterBidTarget, CharterBidViewPageProps, CharterContact, CharterContactGroup, CharterFlightProgramBid, CharterManifestEquipment, CharterManifestPageProps, CharterManifestPassenger, CharterManifestSegment, CharterSectionCard, CharterSourcingEmailChange, CharterSourcingEmailChanges, CharterSourcingEmailLeg, CharterSourcingEmailPreviewProps, CharterSourcingEmailQuote, CharterSourcingEmailVariant, CharterSubmissionType, CharterSubmittedBid, CharterTripBid, CharterTripBidStatus, ChartersAccessId, ChartersAccessManagementPageProps, ChartersAccessMembership, ChartersAccessRole, ChartersAccountUser, ChartersHomePageProps, CheckboxProps, ClientOption, ClientSelectorProps, ConfirmModalProps, Contact, ContactCardData, ContactCardProps, ContactDetail, ContactInfo, ContactListProps, ContactPair, ContactSection, ContactUsData, ContactUsPageProps, DashboardPageProps, DatepickerProps, DatepickerSize, DetailListItem, DetailListProps, DetailListVariant, DrawerBodyProps, DrawerFooterProps, DrawerHeaderProps, DrawerPosition, DrawerProps, DrawerSize, DropdownAlignment, DropdownItemProps, DropdownProps, DueDatesDrawerProps, EmptyStateProps, EmptyStateSize, FeatureFlagDefinition, FeatureFlagIdentifier, FeatureFlagManagementPageProps, FeatureFlagRule, FeatureFlagRuleDeactivateRequest, FeatureFlagRuleEditRequest, FeatureFlagRuleEffect, FeatureFlagRuleFormValue, FeatureFlagTargetOption, FeatureFlagTargetOptions, FeatureFlagTargetType, FieldLayoutProps, FieldLayoutRenderProps, FieldSizing, FileUploadButtonProps, FilterChipProps, FilterOption, FlightData, FormFieldProps, FormRowProps, FormSectionProps, FormStackProps, GridCellRenderProps, GridColumn, GridHeaderRowProps, GridRow, GridTableProps, GridTotalRow, GroundData, GroundSegmentProps, GroupTravelDueField, GroupTravelDueStatus, GroupTravelPnr, GroupTravelRequestContact, GroupTravelRequestFieldValue, GroupTravelRequestPageProps, GroupTravelRequestSource, GroupTravelRequestValues, GroupedTravelDueDates, HotelData, HotelSegmentProps, HubAppShellActions, HubAppShellProps, HubNavigationItem, IconName, IconProps, IndividualTravelExportRequest, IndividualTravelExportScope, IndividualTravelFilters, IndividualTravelPageProps, IndividualTravelPagination, IndividualTravelRequestAirLeg, IndividualTravelRequestAirRequest, IndividualTravelRequestAirTripType, IndividualTravelRequestAnswerValue, IndividualTravelRequestBusRequest, IndividualTravelRequestCarLeg, IndividualTravelRequestCarRequest, IndividualTravelRequestCurrentTraveler, IndividualTravelRequestDetail, IndividualTravelRequestDetailPageProps, IndividualTravelRequestFormConfiguration, IndividualTravelRequestFormPageProps, IndividualTravelRequestHotelLeg, IndividualTravelRequestHotelRequest, IndividualTravelRequestLabeledAnswer, IndividualTravelRequestLocationKind, IndividualTravelRequestLocationOption, IndividualTravelRequestOption, IndividualTravelRequestQuestion, IndividualTravelRequestQuestionType, IndividualTravelRequestService, IndividualTravelRequestSubmitter, IndividualTravelRequestTraveler, IndividualTravelRequestTravelerType, IndividualTravelRequestValues, IndividualTravelRequestedDateRange, IndividualTravelTabCounts, InfoCenterArticle, InfoCenterPageProps, InfoCenterPageState, InfoTileEdge, InfoTileProps, InputProps, InputSize, ItineraryAgent, ItineraryAirSegment, ItineraryCarSegment, ItineraryDay, ItineraryHotelSegment, ItineraryLimoSegment, ItineraryPageProps, ItineraryPageView, ItineraryRailSegment, ItinerarySegment, ItinerarySegmentCardProps, ItinerarySegmentFilter, ItinerarySegmentStatus, ItineraryTimelineProps, ListboxSelectOption, ListboxSelectProps, ManifestCapacityStatsProps, ManifestSendState, ManifestView, ManifestViewToggleProps, MembershipProgram, MembershipProgramsProps, MetricProps, ModalFooterProps, ModalProps, ModalSize, ModuleProps, ModuleSize, MultiUserSearchOption, MultiUserSearchProps, NavCardProps, NavItemProps, NavItemSize, NavItemVariant, NextTripCardProps, NextTripCheckIn, NextTripDetail, NextTripEndpoint, NextTripStatus, NotFoundPageProps, OffFleetLearnedExample, OffFleetLearnedExamplesPageProps, OffFleetLeg, OffFleetLegDiagnostic, OffFleetLegMatch, OffFleetPreflightCheck, OffFleetPreflightRow, OffFleetPriceBasis, OffFleetQuoteHeader, OffFleetReviewQueuePageProps, OffFleetSubmission, OffFleetSubmissionDetailPageProps, OffFleetSubmissionStatus, OffFleetTripGrouping, OffFleetTripSegment, PageBannersProps, PageHeaderProps, PageHeaderSubsectionProps, PaginationItem, PaginationProps, PreferenceField, PreferenceSection, PreferencesPanelProps, ProfileMenuItem, ProfileMenuProps, ProgressBarProps, ProgressCircleProps, ProgressSize, ProgressVariant, QuoteCostBreakdownProps, QuoteCostTotals, QuoteFieldChange, QuoteReviewActionsProps, RegularSeasonBidType, RegularSeasonBidsPageProps, RegularSeasonBidsTableProps, RequestFormFooterProps, RequestFormHeaderProps, RequestFormLayoutProps, RequestFormPane, RequestSummaryProps, ResultCountProps, RosterProgramNumberId, RosterProgramNumberRow, RosterProgramNumbersPageProps, RosterReportOption, RosterReportsPageProps, RosterToolbarProps, ScheduleFilterOption, ScheduleMetric, SchoolContactFormProps, SearchFieldProps, SeasonOption, SegmentOption, SegmentProps, SegmentVariant, SegmentedSelectorOption, SegmentedSelectorProps, SelectFilterOption, SelectFilterProps, SelectOption, SelectOptionGroup, SelectProps, SelectSize, ServiceConfig, ServiceToggleListProps, ServiceToggleProps, SidenavItem, SidenavProps, SingleTeamPanelSelectorProps, SourcingCostAdjustment, SourcingCostCategory, SourcingCostLineItem, SourcingQuote, SourcingQuoteDetailPageProps, SourcingQuoteDraft, SourcingQuoteLeg, SourcingQuoteLegType, SourcingQuoteStatus, SourcingReviewQueuePageProps, SourcingReviewQueueTableProps, SpinnerProps, SpinnerSize, SportCodeBadgeProps, StatusBadgeProps, StatusBadgeVariant, StyleFunction, StyleObject, SummaryItem, SummarySectionConfig, SummarySegment, SupplierTypeToggleProps, SupplierTypeValue, SystemBanner, TabKey, TabPanelStackPanel, TabPanelStackProps, TabStripItem, TabStripProps, TabStripTab, TableCellProps, TableColumn, TableProps, TableRowKey, TagProps, TagSize, TagVariant, TeamCalendarHeaderProps, TeamCardProps, TeamContactId, TeamContactOption, TeamContactsLoadingState, TeamContactsPanelProps, TeamContactsValue, TeamEquipmentFormProps, TeamEquipmentValues, TeamFormMode, TeamHeaderProps, TeamImportFormProps, TeamImportKind, TeamManagementPageProps, TeamManagementTab, TeamNumericValue, TeamOption, TeamPanelCategory, TeamPanelOption, TeamPickerProps, TeamPickerTeam, TeamPortalUserOption, TeamProgramFormProps, TeamProgramType, TeamProgramValues, TeamRosterMemberFormProps, TeamRosterMemberValues, TeamScheduleActionsProps, TeamScheduleCompactEvent, TeamScheduleCompactRow, TeamScheduleCompactTableProps, TeamScheduleCompactTrip, TeamScheduleDueDate, TeamScheduleEditorEvent, TeamScheduleEditorProps, TeamScheduleEditorTrip, TeamScheduleExpandedRow, TeamScheduleExpandedTableProps, TeamScheduleHomeAway, TeamSchedulePageProps, TeamSubMenuProps, TeamSubMenuTab, TeamTravelCalendarCardViewProps, TeamTravelCalendarDueDate, TeamTravelCalendarDuration, TeamTravelCalendarEvent, TeamTravelCalendarItemType, TeamTravelCalendarListViewProps, TeamTravelCalendarPageProps, TeamTravelCalendarSportGroup, TeamTravelCalendarToolbarProps, TeamTravelCalendarTrip, TeamTravelCalendarViewProps, TeamUserAccessFormProps, TeamUserAccessValues, TextareaProps, Theme, ThemeBreakpoint, ThemeColors, ThemeContextValue, ThemeMode, ThemeProviderProps, ThemeRadius, ThemeShadow, ThemeSpacing, ThemeTransition, ThemeTypography, TimepickerProps, TimepickerSize, TitleProps, TitleWeight, ToggleProps, ToggleSize, ToolbarAction, TooltipPosition, TooltipProps, TooltipVariant, TopbarProps, TravelAlertBanner, TravelBoardDay, TravelBoardMode, TravelBoardProps, TravelBoardStatus, TravelBoardTeamTrip, TravelBoardTrip, TravelDateRangeProps, TravelDueDateItem, TravelServiceIconProps, TravelSummaryMetricsProps, TravelType, TravelerFormData, TravelerFormProps, TripData, TripDetailPageProps, TripSegmentProps, TripTableProps, TypeIconProps, VendorCode };