@shortstravelmgmt/component-lib 0.2.11 → 0.2.12-rc.1

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.esm.js CHANGED
@@ -798,7 +798,7 @@ const Icons = {
798
798
  Trash: TrashIcon$2,
799
799
  };
800
800
 
801
- var styles$1I = {"alert":"Alert-module_alert__xxiES","content":"Alert-module_content__CVX32","icon":"Alert-module_icon__Xyh6J","body":"Alert-module_body__TTkmt","title":"Alert-module_title__7wNPO","message":"Alert-module_message__plreL","dismissButton":"Alert-module_dismissButton__MdRWh","primary":"Alert-module_primary__nME13","success":"Alert-module_success__GDt4S","warning":"Alert-module_warning__y4bLx","error":"Alert-module_error__nKMAG"};
801
+ var styles$1J = {"alert":"Alert-module_alert__xxiES","content":"Alert-module_content__CVX32","icon":"Alert-module_icon__Xyh6J","body":"Alert-module_body__TTkmt","title":"Alert-module_title__7wNPO","message":"Alert-module_message__plreL","dismissButton":"Alert-module_dismissButton__MdRWh","primary":"Alert-module_primary__nME13","success":"Alert-module_success__GDt4S","warning":"Alert-module_warning__y4bLx","error":"Alert-module_error__nKMAG"};
802
802
 
803
803
  const variantIcons$1 = {
804
804
  primary: LightbulbIcon,
@@ -808,7 +808,7 @@ const variantIcons$1 = {
808
808
  };
809
809
  const Alert = ({ variant = 'primary', title, children, dismissible = false, onDismiss, className = '', }) => {
810
810
  const IconComponent = variantIcons$1[variant];
811
- return (jsx("div", { className: `${styles$1I.alert} ${styles$1I[variant]} ${className}`, role: "alert", children: jsxs("div", { className: styles$1I.content, children: [jsx(IconComponent, { className: styles$1I.icon, size: 20 }), jsxs("div", { className: styles$1I.body, children: [title && jsx("h4", { className: styles$1I.title, children: title }), jsx("div", { className: styles$1I.message, children: children })] }), dismissible && onDismiss && (jsx("button", { type: "button", onClick: onDismiss, className: styles$1I.dismissButton, "aria-label": "Dismiss alert", children: jsx(CloseIcon, { size: 16 }) }))] }) }));
811
+ return (jsx("div", { className: `${styles$1J.alert} ${styles$1J[variant]} ${className}`, role: "alert", children: jsxs("div", { className: styles$1J.content, children: [jsx(IconComponent, { className: styles$1J.icon, size: 20 }), jsxs("div", { className: styles$1J.body, children: [title && jsx("h4", { className: styles$1J.title, children: title }), jsx("div", { className: styles$1J.message, children: children })] }), dismissible && onDismiss && (jsx("button", { type: "button", onClick: onDismiss, className: styles$1J.dismissButton, "aria-label": "Dismiss alert", children: jsx(CloseIcon, { size: 16 }) }))] }) }));
812
812
  };
813
813
 
814
814
  // ============================================================================
@@ -1074,7 +1074,7 @@ const Badge = ({ variant = 'default', size = 'md', dot = false, className = '',
1074
1074
  };
1075
1075
  Badge.displayName = 'Badge';
1076
1076
 
1077
- var styles$1H = {"button":"Button-module_button__xDdzH","sm":"Button-module_sm__fb2AF","md":"Button-module_md__XOa6t","lg":"Button-module_lg__UN9rL","square":"Button-module_square__-o34b","primary":"Button-module_primary__jWHqR","secondary":"Button-module_secondary__30FUq","outline":"Button-module_outline__v98mS","ghost":"Button-module_ghost__XUGB1","danger":"Button-module_danger__NUxPy","fullWidth":"Button-module_fullWidth__p2otK","loading":"Button-module_loading__TsL5I","spinner":"Button-module_spinner__6bZoj","spin":"Button-module_spin__ZPDMG","icon":"Button-module_icon__21hUM","content":"Button-module_content__iVRPQ"};
1077
+ var styles$1I = {"button":"Button-module_button__xDdzH","sm":"Button-module_sm__fb2AF","md":"Button-module_md__XOa6t","lg":"Button-module_lg__UN9rL","square":"Button-module_square__-o34b","primary":"Button-module_primary__jWHqR","secondary":"Button-module_secondary__30FUq","outline":"Button-module_outline__v98mS","ghost":"Button-module_ghost__XUGB1","danger":"Button-module_danger__NUxPy","fullWidth":"Button-module_fullWidth__p2otK","loading":"Button-module_loading__TsL5I","spinner":"Button-module_spinner__6bZoj","spin":"Button-module_spin__ZPDMG","icon":"Button-module_icon__21hUM","content":"Button-module_content__iVRPQ"};
1078
1078
 
1079
1079
  /**
1080
1080
  * Primary button component for user interactions.
@@ -1082,17 +1082,17 @@ var styles$1H = {"button":"Button-module_button__xDdzH","sm":"Button-module_sm__
1082
1082
  */
1083
1083
  const Button = forwardRef(({ variant = 'primary', size = 'md', fullWidth = false, loading = false, leftIcon, rightIcon, square = false, className = '', disabled, children, ...props }, ref) => {
1084
1084
  const classNames = [
1085
- styles$1H.button,
1086
- styles$1H[variant],
1087
- styles$1H[size],
1088
- fullWidth ? styles$1H.fullWidth : '',
1089
- square ? styles$1H.square : '',
1090
- loading ? styles$1H.loading : '',
1085
+ styles$1I.button,
1086
+ styles$1I[variant],
1087
+ styles$1I[size],
1088
+ fullWidth ? styles$1I.fullWidth : '',
1089
+ square ? styles$1I.square : '',
1090
+ loading ? styles$1I.loading : '',
1091
1091
  className,
1092
1092
  ]
1093
1093
  .filter(Boolean)
1094
1094
  .join(' ');
1095
- return (jsxs("button", { ref: ref, className: classNames, disabled: disabled || loading, ...props, children: [loading && (jsx("span", { className: styles$1H.spinner, children: jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [jsx("circle", { cx: "12", cy: "12", r: "10", strokeOpacity: "0.25" }), jsx("path", { d: "M12 2a10 10 0 0 1 10 10", strokeLinecap: "round" })] }) })), !loading && leftIcon && jsx("span", { className: styles$1H.icon, children: leftIcon }), children && jsx("span", { className: styles$1H.content, children: children }), !loading && rightIcon && jsx("span", { className: styles$1H.icon, children: rightIcon })] }));
1095
+ return (jsxs("button", { ref: ref, className: classNames, disabled: disabled || loading, ...props, children: [loading && (jsx("span", { className: styles$1I.spinner, children: jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [jsx("circle", { cx: "12", cy: "12", r: "10", strokeOpacity: "0.25" }), jsx("path", { d: "M12 2a10 10 0 0 1 10 10", strokeLinecap: "round" })] }) })), !loading && leftIcon && jsx("span", { className: styles$1I.icon, children: leftIcon }), children && jsx("span", { className: styles$1I.content, children: children }), !loading && rightIcon && jsx("span", { className: styles$1I.icon, children: rightIcon })] }));
1096
1096
  });
1097
1097
  Button.displayName = 'Button';
1098
1098
 
@@ -1429,23 +1429,23 @@ const ButtonStyled = forwardRef(({ variant = 'primary', size = 'md', fullWidth =
1429
1429
  });
1430
1430
  ButtonStyled.displayName = 'ButtonStyled';
1431
1431
 
1432
- var styles$1G = {"wrapper":"Checkbox-module_wrapper__tYM-f","label":"Checkbox-module_label__x7c9f","disabled":"Checkbox-module_disabled__YtL8b","checkboxWrapper":"Checkbox-module_checkboxWrapper__ez0mi","input":"Checkbox-module_input__xBHoX","checkbox":"Checkbox-module_checkbox__zGuTf","sm":"Checkbox-module_sm__naurE","md":"Checkbox-module_md__LlE6O","lg":"Checkbox-module_lg__dMWT-","hasError":"Checkbox-module_hasError__aCefd","labelText":"Checkbox-module_labelText__7arlw","helperText":"Checkbox-module_helperText__jR4oi","errorText":"Checkbox-module_errorText__u8puP"};
1432
+ var styles$1H = {"wrapper":"Checkbox-module_wrapper__tYM-f","label":"Checkbox-module_label__x7c9f","disabled":"Checkbox-module_disabled__YtL8b","checkboxWrapper":"Checkbox-module_checkboxWrapper__ez0mi","input":"Checkbox-module_input__xBHoX","checkbox":"Checkbox-module_checkbox__zGuTf","sm":"Checkbox-module_sm__naurE","md":"Checkbox-module_md__LlE6O","lg":"Checkbox-module_lg__dMWT-","hasError":"Checkbox-module_hasError__aCefd","labelText":"Checkbox-module_labelText__7arlw","helperText":"Checkbox-module_helperText__jR4oi","errorText":"Checkbox-module_errorText__u8puP"};
1433
1433
 
1434
1434
  const CheckIcon$1 = () => (jsx("svg", { width: "10", height: "8", viewBox: "0 0 10 8", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M1 4L3.5 6.5L9 1", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
1435
1435
  const IndeterminateIcon = () => (jsx("svg", { width: "10", height: "2", viewBox: "0 0 10 2", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M1 1H9", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) }));
1436
1436
  /**
1437
1437
  * Checkbox component for boolean selections.
1438
1438
  */
1439
- const Checkbox = forwardRef(({ label, size = 'md', helperText, error, indeterminate = false, className = '', disabled, id, checked, ...props }, ref) => {
1439
+ const Checkbox = forwardRef(({ label, size = 'md', helperText, error, indeterminate = false, className = '', disabled, id, checked, type = 'checkbox', indicator, ...props }, ref) => {
1440
1440
  const generatedId = useId();
1441
1441
  const checkboxId = id || generatedId;
1442
1442
  const helperId = `${checkboxId}-helper`;
1443
1443
  const errorId = `${checkboxId}-error`;
1444
1444
  const wrapperClasses = [
1445
- styles$1G.wrapper,
1446
- styles$1G[size],
1447
- disabled ? styles$1G.disabled : '',
1448
- error ? styles$1G.hasError : '',
1445
+ styles$1H.wrapper,
1446
+ styles$1H[size],
1447
+ disabled ? styles$1H.disabled : '',
1448
+ error ? styles$1H.hasError : '',
1449
1449
  className,
1450
1450
  ].filter(Boolean).join(' ');
1451
1451
  // Handle indeterminate state via ref
@@ -1461,13 +1461,17 @@ const Checkbox = forwardRef(({ label, size = 'md', helperText, error, indetermin
1461
1461
  ref.current = node;
1462
1462
  }
1463
1463
  };
1464
- return (jsxs("div", { className: wrapperClasses, children: [jsxs("label", { className: styles$1G.label, children: [jsxs("div", { className: styles$1G.checkboxWrapper, children: [jsx("input", { ref: inputRef, type: "checkbox", id: checkboxId, className: styles$1G.input, disabled: disabled, checked: checked, "aria-invalid": !!error, "aria-describedby": [error ? errorId : null, helperText ? helperId : null]
1464
+ return (jsxs("div", { className: wrapperClasses, children: [jsxs("label", { className: styles$1H.label, children: [jsxs("div", { className: styles$1H.checkboxWrapper, children: [jsx("input", { ref: inputRef, type: type, id: checkboxId, className: styles$1H.input, disabled: disabled, checked: checked, "aria-invalid": !!error, "aria-describedby": [error ? errorId : null, helperText ? helperId : null]
1465
1465
  .filter(Boolean)
1466
- .join(' ') || undefined, ...props }), jsx("span", { className: styles$1G.checkbox, children: indeterminate ? jsx(IndeterminateIcon, {}) : jsx(CheckIcon$1, {}) })] }), label && jsx("span", { className: styles$1G.labelText, children: label })] }), error && (jsx("span", { id: errorId, className: styles$1G.errorText, children: error })), helperText && !error && (jsx("span", { id: helperId, className: styles$1G.helperText, children: helperText }))] }));
1466
+ .join(' ') || undefined, ...props }), jsx("span", { className: indicator ? undefined : styles$1H.checkbox, children: indicator
1467
+ ? indicator({ checked: !!checked, indeterminate, disabled: !!disabled })
1468
+ : indeterminate
1469
+ ? jsx(IndeterminateIcon, {})
1470
+ : jsx(CheckIcon$1, {}) })] }), label && jsx("span", { className: styles$1H.labelText, children: label })] }), error && (jsx("span", { id: errorId, className: styles$1H.errorText, children: error })), helperText && !error && (jsx("span", { id: helperId, className: styles$1H.helperText, children: helperText }))] }));
1467
1471
  });
1468
1472
  Checkbox.displayName = 'Checkbox';
1469
1473
 
1470
- var styles$1F = {"wrapper":"Datepicker-module_wrapper__SdezU","fullWidth":"Datepicker-module_fullWidth__CAeMt","label":"Datepicker-module_label__qUNBV","inputWrapper":"Datepicker-module_inputWrapper__FK2IJ","sm":"Datepicker-module_sm__DuDMB","md":"Datepicker-module_md__oyus3","lg":"Datepicker-module_lg__2sqBg","icon":"Datepicker-module_icon__WdaRf","input":"Datepicker-module_input__4TCcy","disabled":"Datepicker-module_disabled__W0e-a","error":"Datepicker-module_error__XPpIy","helperText":"Datepicker-module_helperText__UllZP","errorText":"Datepicker-module_errorText__lveyr"};
1474
+ var styles$1G = {"wrapper":"Datepicker-module_wrapper__SdezU","fullWidth":"Datepicker-module_fullWidth__CAeMt","label":"Datepicker-module_label__qUNBV","inputWrapper":"Datepicker-module_inputWrapper__FK2IJ","sm":"Datepicker-module_sm__DuDMB","md":"Datepicker-module_md__oyus3","lg":"Datepicker-module_lg__2sqBg","icon":"Datepicker-module_icon__WdaRf","input":"Datepicker-module_input__4TCcy","disabled":"Datepicker-module_disabled__W0e-a","error":"Datepicker-module_error__XPpIy","helperText":"Datepicker-module_helperText__UllZP","errorText":"Datepicker-module_errorText__lveyr"};
1471
1475
 
1472
1476
  const CalendarIcon = () => (jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [jsx("rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", ry: "2" }), jsx("line", { x1: "16", y1: "2", x2: "16", y2: "6" }), jsx("line", { x1: "8", y1: "2", x2: "8", y2: "6" }), jsx("line", { x1: "3", y1: "10", x2: "21", y2: "10" })] }));
1473
1477
  /**
@@ -1479,23 +1483,23 @@ const Datepicker = forwardRef(({ size = 'md', label, helperText, error, fullWidt
1479
1483
  const helperId = `${inputId}-helper`;
1480
1484
  const errorId = `${inputId}-error`;
1481
1485
  const wrapperClasses = [
1482
- styles$1F.wrapper,
1483
- fullWidth ? styles$1F.fullWidth : '',
1486
+ styles$1G.wrapper,
1487
+ fullWidth ? styles$1G.fullWidth : '',
1484
1488
  className,
1485
1489
  ].filter(Boolean).join(' ');
1486
1490
  const inputWrapperClasses = [
1487
- styles$1F.inputWrapper,
1488
- styles$1F[size],
1489
- error ? styles$1F.error : '',
1490
- disabled ? styles$1F.disabled : '',
1491
+ styles$1G.inputWrapper,
1492
+ styles$1G[size],
1493
+ error ? styles$1G.error : '',
1494
+ disabled ? styles$1G.disabled : '',
1491
1495
  ].filter(Boolean).join(' ');
1492
- return (jsxs("div", { className: wrapperClasses, children: [label && (jsx("label", { htmlFor: inputId, className: styles$1F.label, children: label })), jsxs("div", { className: inputWrapperClasses, children: [jsx("span", { className: styles$1F.icon, children: jsx(CalendarIcon, {}) }), jsx("input", { ref: ref, type: "date", id: inputId, className: styles$1F.input, disabled: disabled, "aria-invalid": !!error, "aria-describedby": [error ? errorId : null, helperText ? helperId : null]
1496
+ return (jsxs("div", { className: wrapperClasses, children: [label && (jsx("label", { htmlFor: inputId, className: styles$1G.label, children: label })), jsxs("div", { className: inputWrapperClasses, children: [jsx("span", { className: styles$1G.icon, children: jsx(CalendarIcon, {}) }), jsx("input", { ref: ref, type: "date", id: inputId, className: styles$1G.input, disabled: disabled, "aria-invalid": !!error, "aria-describedby": [error ? errorId : null, helperText ? helperId : null]
1493
1497
  .filter(Boolean)
1494
- .join(' ') || undefined, ...props })] }), error && (jsx("span", { id: errorId, className: styles$1F.errorText, children: error })), helperText && !error && (jsx("span", { id: helperId, className: styles$1F.helperText, children: helperText }))] }));
1498
+ .join(' ') || undefined, ...props })] }), error && (jsx("span", { id: errorId, className: styles$1G.errorText, children: error })), helperText && !error && (jsx("span", { id: helperId, className: styles$1G.helperText, children: helperText }))] }));
1495
1499
  });
1496
1500
  Datepicker.displayName = 'Datepicker';
1497
1501
 
1498
- var styles$1E = {"wrapper":"Input-module_wrapper__-8ija","fullWidth":"Input-module_fullWidth__xXOvN","label":"Input-module_label__t4LH-","inputWrapper":"Input-module_inputWrapper__U4EEd","error":"Input-module_error__fT9Sb","disabled":"Input-module_disabled__3tnIE","xs":"Input-module_xs__p7BuD","sm":"Input-module_sm__lGHP-","md":"Input-module_md__pReoW","lg":"Input-module_lg__iqqov","input":"Input-module_input__PeHY6","icon":"Input-module_icon__jkJiF","textarea":"Input-module_textarea__ZgdBz","helperText":"Input-module_helperText__eKsC8","errorText":"Input-module_errorText__xoiKP"};
1502
+ var styles$1F = {"wrapper":"Input-module_wrapper__-8ija","fullWidth":"Input-module_fullWidth__xXOvN","label":"Input-module_label__t4LH-","inputWrapper":"Input-module_inputWrapper__U4EEd","error":"Input-module_error__fT9Sb","disabled":"Input-module_disabled__3tnIE","xs":"Input-module_xs__p7BuD","sm":"Input-module_sm__lGHP-","md":"Input-module_md__pReoW","lg":"Input-module_lg__iqqov","input":"Input-module_input__PeHY6","icon":"Input-module_icon__jkJiF","textarea":"Input-module_textarea__ZgdBz","helperText":"Input-module_helperText__eKsC8","errorText":"Input-module_errorText__xoiKP"};
1499
1503
 
1500
1504
  /**
1501
1505
  * Input component for text entry.
@@ -1503,45 +1507,45 @@ var styles$1E = {"wrapper":"Input-module_wrapper__-8ija","fullWidth":"Input-modu
1503
1507
  const Input = forwardRef(({ size = 'md', label, helperText, error, leftIcon, rightIcon, fullWidth = false, className = '', id, disabled, ...props }, ref) => {
1504
1508
  const inputId = id || `input-${Math.random().toString(36).substr(2, 9)}`;
1505
1509
  const wrapperClasses = [
1506
- styles$1E.wrapper,
1507
- fullWidth ? styles$1E.fullWidth : '',
1510
+ styles$1F.wrapper,
1511
+ fullWidth ? styles$1F.fullWidth : '',
1508
1512
  className,
1509
1513
  ]
1510
1514
  .filter(Boolean)
1511
1515
  .join(' ');
1512
1516
  const inputWrapperClasses = [
1513
- styles$1E.inputWrapper,
1514
- styles$1E[size],
1515
- error ? styles$1E.error : '',
1516
- disabled ? styles$1E.disabled : '',
1517
+ styles$1F.inputWrapper,
1518
+ styles$1F[size],
1519
+ error ? styles$1F.error : '',
1520
+ disabled ? styles$1F.disabled : '',
1517
1521
  ]
1518
1522
  .filter(Boolean)
1519
1523
  .join(' ');
1520
- return (jsxs("div", { className: wrapperClasses, children: [label && (jsx("label", { htmlFor: inputId, className: styles$1E.label, children: label })), jsxs("div", { className: inputWrapperClasses, children: [leftIcon && jsx("span", { className: styles$1E.icon, children: leftIcon }), jsx("input", { ref: ref, id: inputId, className: styles$1E.input, disabled: disabled, "aria-invalid": !!error, "aria-describedby": error ? `${inputId}-error` : helperText ? `${inputId}-helper` : undefined, ...props }), rightIcon && jsx("span", { className: styles$1E.icon, children: rightIcon })] }), error && (jsx("span", { id: `${inputId}-error`, className: styles$1E.errorText, children: error })), helperText && !error && (jsx("span", { id: `${inputId}-helper`, className: styles$1E.helperText, children: helperText }))] }));
1524
+ return (jsxs("div", { className: wrapperClasses, children: [label && (jsx("label", { htmlFor: inputId, className: styles$1F.label, children: label })), jsxs("div", { className: inputWrapperClasses, children: [leftIcon && jsx("span", { className: styles$1F.icon, children: leftIcon }), jsx("input", { ref: ref, id: inputId, className: styles$1F.input, disabled: disabled, "aria-invalid": !!error, "aria-describedby": error ? `${inputId}-error` : helperText ? `${inputId}-helper` : undefined, ...props }), rightIcon && jsx("span", { className: styles$1F.icon, children: rightIcon })] }), error && (jsx("span", { id: `${inputId}-error`, className: styles$1F.errorText, children: error })), helperText && !error && (jsx("span", { id: `${inputId}-helper`, className: styles$1F.helperText, children: helperText }))] }));
1521
1525
  });
1522
1526
  Input.displayName = 'Input';
1523
1527
  const Textarea = forwardRef(({ size = 'md', label, helperText, error, fullWidth = false, className = '', id, disabled, rows = 4, ...props }, ref) => {
1524
1528
  const textareaId = id || `textarea-${Math.random().toString(36).substr(2, 9)}`;
1525
1529
  const wrapperClasses = [
1526
- styles$1E.wrapper,
1527
- fullWidth ? styles$1E.fullWidth : '',
1530
+ styles$1F.wrapper,
1531
+ fullWidth ? styles$1F.fullWidth : '',
1528
1532
  className,
1529
1533
  ]
1530
1534
  .filter(Boolean)
1531
1535
  .join(' ');
1532
1536
  const textareaClasses = [
1533
- styles$1E.textarea,
1534
- styles$1E[size],
1535
- error ? styles$1E.error : '',
1536
- disabled ? styles$1E.disabled : '',
1537
+ styles$1F.textarea,
1538
+ styles$1F[size],
1539
+ error ? styles$1F.error : '',
1540
+ disabled ? styles$1F.disabled : '',
1537
1541
  ]
1538
1542
  .filter(Boolean)
1539
1543
  .join(' ');
1540
- return (jsxs("div", { className: wrapperClasses, children: [label && (jsx("label", { htmlFor: textareaId, className: styles$1E.label, children: label })), jsx("textarea", { ref: ref, id: textareaId, className: textareaClasses, disabled: disabled, rows: rows, "aria-invalid": !!error, "aria-describedby": error ? `${textareaId}-error` : helperText ? `${textareaId}-helper` : undefined, ...props }), error && (jsx("span", { id: `${textareaId}-error`, className: styles$1E.errorText, children: error })), helperText && !error && (jsx("span", { id: `${textareaId}-helper`, className: styles$1E.helperText, children: helperText }))] }));
1544
+ return (jsxs("div", { className: wrapperClasses, children: [label && (jsx("label", { htmlFor: textareaId, className: styles$1F.label, children: label })), jsx("textarea", { ref: ref, id: textareaId, className: textareaClasses, disabled: disabled, rows: rows, "aria-invalid": !!error, "aria-describedby": error ? `${textareaId}-error` : helperText ? `${textareaId}-helper` : undefined, ...props }), error && (jsx("span", { id: `${textareaId}-error`, className: styles$1F.errorText, children: error })), helperText && !error && (jsx("span", { id: `${textareaId}-helper`, className: styles$1F.helperText, children: helperText }))] }));
1541
1545
  });
1542
1546
  Textarea.displayName = 'Textarea';
1543
1547
 
1544
- var styles$1D = {"metric":"Metric-module_metric__LZ8D-","dark":"Metric-module_dark__FKdvj","clickable":"Metric-module_clickable__c3-pM","content":"Metric-module_content__YYpBG","valueRow":"Metric-module_valueRow__JpgYR","valueContainer":"Metric-module_valueContainer__CzjZ1","prefix":"Metric-module_prefix__Agpzq","value":"Metric-module_value__zspnf","suffix":"Metric-module_suffix__qvCMJ","warningIcon":"Metric-module_warningIcon__F-Ol5","label":"Metric-module_label__ydcti"};
1548
+ var styles$1E = {"metric":"Metric-module_metric__LZ8D-","dark":"Metric-module_dark__FKdvj","clickable":"Metric-module_clickable__c3-pM","content":"Metric-module_content__YYpBG","valueRow":"Metric-module_valueRow__JpgYR","valueContainer":"Metric-module_valueContainer__CzjZ1","prefix":"Metric-module_prefix__Agpzq","value":"Metric-module_value__zspnf","suffix":"Metric-module_suffix__qvCMJ","warningIcon":"Metric-module_warningIcon__F-Ol5","label":"Metric-module_label__ydcti"};
1545
1549
 
1546
1550
  const WarningIcon = () => (jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "currentColor", children: jsx("path", { d: "M12 2L1 21h22L12 2zm0 3.5L19.5 19H4.5L12 5.5zM11 10v4h2v-4h-2zm0 6v2h2v-2h-2z" }) }));
1547
1551
  /**
@@ -1551,15 +1555,15 @@ const WarningIcon = () => (jsx("svg", { width: "24", height: "24", viewBox: "0 0
1551
1555
  const Metric = ({ value, label, prefix, suffix, dark = false, onClick, className = '', warning = false, }) => {
1552
1556
  const displayValue = value !== undefined && !isNaN(parseFloat(String(value))) ? value : 0;
1553
1557
  return (jsx("div", { className: `
1554
- ${styles$1D.metric}
1555
- ${dark ? styles$1D.dark : ''}
1556
- ${onClick ? styles$1D.clickable : ''}
1558
+ ${styles$1E.metric}
1559
+ ${dark ? styles$1E.dark : ''}
1560
+ ${onClick ? styles$1E.clickable : ''}
1557
1561
  ${className}
1558
- `, onClick: onClick, children: value !== undefined && (jsxs("div", { className: styles$1D.content, children: [jsxs("div", { className: styles$1D.valueRow, children: [jsxs("div", { className: styles$1D.valueContainer, children: [prefix && jsx("span", { className: styles$1D.prefix, children: prefix }), jsx("span", { className: styles$1D.value, children: displayValue }), suffix && jsx("span", { className: styles$1D.suffix, children: suffix })] }), warning && (jsx("div", { className: styles$1D.warningIcon, children: jsx(WarningIcon, {}) }))] }), jsx("div", { className: styles$1D.label, children: label })] })) }));
1562
+ `, onClick: onClick, children: value !== undefined && (jsxs("div", { className: styles$1E.content, children: [jsxs("div", { className: styles$1E.valueRow, children: [jsxs("div", { className: styles$1E.valueContainer, children: [prefix && jsx("span", { className: styles$1E.prefix, children: prefix }), jsx("span", { className: styles$1E.value, children: displayValue }), suffix && jsx("span", { className: styles$1E.suffix, children: suffix })] }), warning && (jsx("div", { className: styles$1E.warningIcon, children: jsx(WarningIcon, {}) }))] }), jsx("div", { className: styles$1E.label, children: label })] })) }));
1559
1563
  };
1560
1564
  Metric.displayName = 'Metric';
1561
1565
 
1562
- var styles$1C = {"wrapper":"Select-module_wrapper__UN2Bo","fullWidth":"Select-module_fullWidth__GgV-D","label":"Select-module_label__aSRVE","selectWrapper":"Select-module_selectWrapper__OCGYf","sm":"Select-module_sm__oTHGX","md":"Select-module_md__VSZQg","lg":"Select-module_lg__nknhY","select":"Select-module_select__DY-Id","hasLeftIcon":"Select-module_hasLeftIcon__ZrReQ","leftIcon":"Select-module_leftIcon__nBU1-","chevron":"Select-module_chevron__1MAEQ","disabled":"Select-module_disabled__0GOXE","error":"Select-module_error__Yijk5","helperText":"Select-module_helperText__rHrqP","errorText":"Select-module_errorText__1kM2R"};
1566
+ var styles$1D = {"wrapper":"Select-module_wrapper__UN2Bo","fullWidth":"Select-module_fullWidth__GgV-D","label":"Select-module_label__aSRVE","selectWrapper":"Select-module_selectWrapper__OCGYf","sm":"Select-module_sm__oTHGX","md":"Select-module_md__VSZQg","lg":"Select-module_lg__nknhY","select":"Select-module_select__DY-Id","hasLeftIcon":"Select-module_hasLeftIcon__ZrReQ","leftIcon":"Select-module_leftIcon__nBU1-","chevron":"Select-module_chevron__1MAEQ","disabled":"Select-module_disabled__0GOXE","error":"Select-module_error__Yijk5","helperText":"Select-module_helperText__rHrqP","errorText":"Select-module_errorText__1kM2R"};
1563
1567
 
1564
1568
  const ChevronDownIcon = () => (jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: jsx("polyline", { points: "6 9 12 15 18 9" }) }));
1565
1569
  /**
@@ -1571,16 +1575,16 @@ const Select = forwardRef(({ options, optionGroups, size = 'md', label, placehol
1571
1575
  const helperId = `${selectId}-helper`;
1572
1576
  const errorId = `${selectId}-error`;
1573
1577
  const wrapperClasses = [
1574
- styles$1C.wrapper,
1575
- fullWidth ? styles$1C.fullWidth : '',
1578
+ styles$1D.wrapper,
1579
+ fullWidth ? styles$1D.fullWidth : '',
1576
1580
  className,
1577
1581
  ].filter(Boolean).join(' ');
1578
1582
  const selectWrapperClasses = [
1579
- styles$1C.selectWrapper,
1580
- styles$1C[size],
1581
- error ? styles$1C.error : '',
1582
- disabled ? styles$1C.disabled : '',
1583
- leftIcon ? styles$1C.hasLeftIcon : '',
1583
+ styles$1D.selectWrapper,
1584
+ styles$1D[size],
1585
+ error ? styles$1D.error : '',
1586
+ disabled ? styles$1D.disabled : '',
1587
+ leftIcon ? styles$1D.hasLeftIcon : '',
1584
1588
  ].filter(Boolean).join(' ');
1585
1589
  const renderOptions = () => {
1586
1590
  // Render grouped options
@@ -1593,16 +1597,16 @@ const Select = forwardRef(({ options, optionGroups, size = 'md', label, placehol
1593
1597
  }
1594
1598
  return null;
1595
1599
  };
1596
- return (jsxs("div", { className: wrapperClasses, children: [label && (jsx("label", { htmlFor: selectId, className: styles$1C.label, children: label })), jsxs("div", { className: selectWrapperClasses, children: [leftIcon && jsx("span", { className: styles$1C.leftIcon, children: leftIcon }), jsxs("select", { ref: ref, id: selectId, className: styles$1C.select, disabled: disabled, "aria-invalid": !!error, "aria-describedby": [error ? errorId : null, helperText ? helperId : null]
1600
+ return (jsxs("div", { className: wrapperClasses, children: [label && (jsx("label", { htmlFor: selectId, className: styles$1D.label, children: label })), jsxs("div", { className: selectWrapperClasses, children: [leftIcon && jsx("span", { className: styles$1D.leftIcon, children: leftIcon }), jsxs("select", { ref: ref, id: selectId, className: styles$1D.select, disabled: disabled, "aria-invalid": !!error, "aria-describedby": [error ? errorId : null, helperText ? helperId : null]
1597
1601
  .filter(Boolean)
1598
- .join(' ') || undefined, ...props, children: [placeholder && (jsx("option", { value: "", disabled: true, children: placeholder })), renderOptions()] }), jsx("span", { className: styles$1C.chevron, children: jsx(ChevronDownIcon, {}) })] }), error && (jsx("span", { id: errorId, className: styles$1C.errorText, children: error })), helperText && !error && (jsx("span", { id: helperId, className: styles$1C.helperText, children: helperText }))] }));
1602
+ .join(' ') || undefined, ...props, children: [placeholder && (jsx("option", { value: "", disabled: true, children: placeholder })), renderOptions()] }), jsx("span", { className: styles$1D.chevron, children: jsx(ChevronDownIcon, {}) })] }), error && (jsx("span", { id: errorId, className: styles$1D.errorText, children: error })), helperText && !error && (jsx("span", { id: helperId, className: styles$1D.helperText, children: helperText }))] }));
1599
1603
  });
1600
1604
  Select.displayName = 'Select';
1601
1605
 
1602
- var styles$1B = {"spinner":"Spinner-module_spinner__OZwmB","svg":"Spinner-module_svg__Tusqk","spin":"Spinner-module_spin__YAPc9","track":"Spinner-module_track__NxLfV","indicator":"Spinner-module_indicator__gSUxF","xs":"Spinner-module_xs__4-WEg","sm":"Spinner-module_sm__enoDn","md":"Spinner-module_md__6axf9","lg":"Spinner-module_lg__EvJyC","xl":"Spinner-module_xl__yIXoK","srOnly":"Spinner-module_srOnly__WnZYf"};
1606
+ var styles$1C = {"spinner":"Spinner-module_spinner__OZwmB","svg":"Spinner-module_svg__Tusqk","spin":"Spinner-module_spin__YAPc9","track":"Spinner-module_track__NxLfV","indicator":"Spinner-module_indicator__gSUxF","xs":"Spinner-module_xs__4-WEg","sm":"Spinner-module_sm__enoDn","md":"Spinner-module_md__6axf9","lg":"Spinner-module_lg__EvJyC","xl":"Spinner-module_xl__yIXoK","srOnly":"Spinner-module_srOnly__WnZYf"};
1603
1607
 
1604
1608
  const Spinner = ({ size = 'md', className = '', color, label = 'Loading...', }) => {
1605
- return (jsxs("span", { className: `${styles$1B.spinner} ${styles$1B[size]} ${className}`, role: "status", "aria-label": label, style: color ? { color } : undefined, children: [jsxs("svg", { className: styles$1B.svg, xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", children: [jsx("circle", { className: styles$1B.track, cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), jsx("path", { className: styles$1B.indicator, fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })] }), jsx("span", { className: styles$1B.srOnly, children: label })] }));
1609
+ return (jsxs("span", { className: `${styles$1C.spinner} ${styles$1C[size]} ${className}`, role: "status", "aria-label": label, style: color ? { color } : undefined, children: [jsxs("svg", { className: styles$1C.svg, xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", children: [jsx("circle", { className: styles$1C.track, cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), jsx("path", { className: styles$1C.indicator, fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })] }), jsx("span", { className: styles$1C.srOnly, children: label })] }));
1606
1610
  };
1607
1611
 
1608
1612
  const statusVariantStyles = (theme) => ({
@@ -1747,7 +1751,7 @@ const Tag = React.forwardRef(({ children, variant = 'default', size = 'md', remo
1747
1751
  });
1748
1752
  Tag.displayName = 'Tag';
1749
1753
 
1750
- var styles$1A = {"wrapper":"Timepicker-module_wrapper__pPrwn","fullWidth":"Timepicker-module_fullWidth__de3hO","label":"Timepicker-module_label__5RDrm","inputWrapper":"Timepicker-module_inputWrapper__-E5pk","sm":"Timepicker-module_sm__sWJu2","md":"Timepicker-module_md__TfpGX","lg":"Timepicker-module_lg__xSlw-","icon":"Timepicker-module_icon__NuPk4","input":"Timepicker-module_input__NxTmR","disabled":"Timepicker-module_disabled__lyxzF","error":"Timepicker-module_error__TOMK7","helperText":"Timepicker-module_helperText__MmcqS","errorText":"Timepicker-module_errorText__pXdnE"};
1754
+ var styles$1B = {"wrapper":"Timepicker-module_wrapper__pPrwn","fullWidth":"Timepicker-module_fullWidth__de3hO","label":"Timepicker-module_label__5RDrm","inputWrapper":"Timepicker-module_inputWrapper__-E5pk","sm":"Timepicker-module_sm__sWJu2","md":"Timepicker-module_md__TfpGX","lg":"Timepicker-module_lg__xSlw-","icon":"Timepicker-module_icon__NuPk4","input":"Timepicker-module_input__NxTmR","disabled":"Timepicker-module_disabled__lyxzF","error":"Timepicker-module_error__TOMK7","helperText":"Timepicker-module_helperText__MmcqS","errorText":"Timepicker-module_errorText__pXdnE"};
1751
1755
 
1752
1756
  const ClockIcon = () => (jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [jsx("circle", { cx: "12", cy: "12", r: "10" }), jsx("polyline", { points: "12 6 12 12 16 14" })] }));
1753
1757
  /**
@@ -1759,30 +1763,30 @@ const Timepicker = forwardRef(({ size = 'md', label, helperText, error, fullWidt
1759
1763
  const helperId = `${inputId}-helper`;
1760
1764
  const errorId = `${inputId}-error`;
1761
1765
  const wrapperClasses = [
1762
- styles$1A.wrapper,
1763
- fullWidth ? styles$1A.fullWidth : '',
1766
+ styles$1B.wrapper,
1767
+ fullWidth ? styles$1B.fullWidth : '',
1764
1768
  className,
1765
1769
  ].filter(Boolean).join(' ');
1766
1770
  const inputWrapperClasses = [
1767
- styles$1A.inputWrapper,
1768
- styles$1A[size],
1769
- error ? styles$1A.error : '',
1770
- disabled ? styles$1A.disabled : '',
1771
+ styles$1B.inputWrapper,
1772
+ styles$1B[size],
1773
+ error ? styles$1B.error : '',
1774
+ disabled ? styles$1B.disabled : '',
1771
1775
  ].filter(Boolean).join(' ');
1772
- return (jsxs("div", { className: wrapperClasses, children: [label && (jsx("label", { htmlFor: inputId, className: styles$1A.label, children: label })), jsxs("div", { className: inputWrapperClasses, children: [jsx("span", { className: styles$1A.icon, children: jsx(ClockIcon, {}) }), jsx("input", { ref: ref, type: "time", id: inputId, className: styles$1A.input, disabled: disabled, "aria-invalid": !!error, "aria-describedby": [error ? errorId : null, helperText ? helperId : null]
1776
+ return (jsxs("div", { className: wrapperClasses, children: [label && (jsx("label", { htmlFor: inputId, className: styles$1B.label, children: label })), jsxs("div", { className: inputWrapperClasses, children: [jsx("span", { className: styles$1B.icon, children: jsx(ClockIcon, {}) }), jsx("input", { ref: ref, type: "time", id: inputId, className: styles$1B.input, disabled: disabled, "aria-invalid": !!error, "aria-describedby": [error ? errorId : null, helperText ? helperId : null]
1773
1777
  .filter(Boolean)
1774
- .join(' ') || undefined, ...props })] }), error && (jsx("span", { id: errorId, className: styles$1A.errorText, children: error })), helperText && !error && (jsx("span", { id: helperId, className: styles$1A.helperText, children: helperText }))] }));
1778
+ .join(' ') || undefined, ...props })] }), error && (jsx("span", { id: errorId, className: styles$1B.errorText, children: error })), helperText && !error && (jsx("span", { id: helperId, className: styles$1B.helperText, children: helperText }))] }));
1775
1779
  });
1776
1780
  Timepicker.displayName = 'Timepicker';
1777
1781
 
1778
- var styles$1z = {"title":"Title-module_title__mSSqn","light":"Title-module_light__7mlh-","normal":"Title-module_normal__ZYrS4","medium":"Title-module_medium__UK-Bj","semibold":"Title-module_semibold__07lTs","bold":"Title-module_bold__-oWUS"};
1782
+ var styles$1A = {"title":"Title-module_title__mSSqn","light":"Title-module_light__7mlh-","normal":"Title-module_normal__ZYrS4","medium":"Title-module_medium__UK-Bj","semibold":"Title-module_semibold__07lTs","bold":"Title-module_bold__-oWUS"};
1779
1783
 
1780
1784
  /**
1781
1785
  * Title component for page headings.
1782
1786
  * Large, prominent text for page titles.
1783
1787
  */
1784
1788
  const Title = ({ children, weight = 'light', className = '', }) => {
1785
- return (jsx("h1", { className: `${styles$1z.title} ${styles$1z[weight]} ${className}`, children: children }));
1789
+ return (jsx("h1", { className: `${styles$1A.title} ${styles$1A[weight]} ${className}`, children: children }));
1786
1790
  };
1787
1791
  Title.displayName = 'Title';
1788
1792
 
@@ -1887,7 +1891,7 @@ const Toggle = ({ checked, onChange, disabled = false, size = 'md', label, label
1887
1891
  return toggleElement;
1888
1892
  };
1889
1893
 
1890
- var styles$1y = {"wrapper":"Tooltip-module_wrapper__9SUwl","tooltip":"Tooltip-module_tooltip__KQ7km","fadeIn":"Tooltip-module_fadeIn__dL8S5","content":"Tooltip-module_content__kO8yx","dark":"Tooltip-module_dark__Y66ss","light":"Tooltip-module_light__mItfR","semantic":"Tooltip-module_semantic__shhec","primary":"Tooltip-module_primary__no1LJ","secondary":"Tooltip-module_secondary__HEoKK","success":"Tooltip-module_success__EG2f-","warning":"Tooltip-module_warning__1zoqE","error":"Tooltip-module_error__Nn6y6","top":"Tooltip-module_top__1jrIn","bottom":"Tooltip-module_bottom__99YBc","left":"Tooltip-module_left__ZNd1H","right":"Tooltip-module_right__r0j5Q","arrow":"Tooltip-module_arrow__qcKWx","arrowTop":"Tooltip-module_arrowTop__k13dt","arrowBottom":"Tooltip-module_arrowBottom__FP-w2","arrowLeft":"Tooltip-module_arrowLeft__7T1uO","arrowRight":"Tooltip-module_arrowRight__FbPdB"};
1894
+ var styles$1z = {"wrapper":"Tooltip-module_wrapper__9SUwl","tooltip":"Tooltip-module_tooltip__KQ7km","fadeIn":"Tooltip-module_fadeIn__dL8S5","content":"Tooltip-module_content__kO8yx","dark":"Tooltip-module_dark__Y66ss","light":"Tooltip-module_light__mItfR","semantic":"Tooltip-module_semantic__shhec","primary":"Tooltip-module_primary__no1LJ","secondary":"Tooltip-module_secondary__HEoKK","success":"Tooltip-module_success__EG2f-","warning":"Tooltip-module_warning__1zoqE","error":"Tooltip-module_error__Nn6y6","top":"Tooltip-module_top__1jrIn","bottom":"Tooltip-module_bottom__99YBc","left":"Tooltip-module_left__ZNd1H","right":"Tooltip-module_right__r0j5Q","arrow":"Tooltip-module_arrow__qcKWx","arrowTop":"Tooltip-module_arrowTop__k13dt","arrowBottom":"Tooltip-module_arrowBottom__FP-w2","arrowLeft":"Tooltip-module_arrowLeft__7T1uO","arrowRight":"Tooltip-module_arrowRight__FbPdB"};
1891
1895
 
1892
1896
  const Tooltip = ({ content, children, position = 'top', variant = 'dark', delay = 200, disabled = false, className = '', }) => {
1893
1897
  const [isVisible, setIsVisible] = useState(false);
@@ -1965,7 +1969,7 @@ const Tooltip = ({ content, children, position = 'top', variant = 'dark', delay
1965
1969
  }
1966
1970
  };
1967
1971
  }, []);
1968
- return (jsxs("div", { ref: triggerRef, className: `${styles$1y.wrapper} ${className}`, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, onFocus: handleFocus, onBlur: handleBlur, onTouchStart: handleTouchStart, onTouchEnd: handleTouchEnd, children: [children, isVisible && content && (jsxs("div", { ref: tooltipRef, className: `${styles$1y.tooltip} ${styles$1y[actualPosition]} ${styles$1y[variant]} ${!['dark', 'light'].includes(variant) ? styles$1y.semantic : ''}`, role: "tooltip", children: [jsx("div", { className: styles$1y.content, children: content }), jsx("div", { className: `${styles$1y.arrow} ${styles$1y[`arrow${actualPosition.charAt(0).toUpperCase()}${actualPosition.slice(1)}`]}` })] }))] }));
1972
+ return (jsxs("div", { ref: triggerRef, className: `${styles$1z.wrapper} ${className}`, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, onFocus: handleFocus, onBlur: handleBlur, onTouchStart: handleTouchStart, onTouchEnd: handleTouchEnd, children: [children, isVisible && content && (jsxs("div", { ref: tooltipRef, className: `${styles$1z.tooltip} ${styles$1z[actualPosition]} ${styles$1z[variant]} ${!['dark', 'light'].includes(variant) ? styles$1z.semantic : ''}`, role: "tooltip", children: [jsx("div", { className: styles$1z.content, children: content }), jsx("div", { className: `${styles$1z.arrow} ${styles$1z[`arrow${actualPosition.charAt(0).toUpperCase()}${actualPosition.slice(1)}`]}` })] }))] }));
1969
1973
  };
1970
1974
 
1971
1975
  function getTypeColors$1(theme) {
@@ -2115,7 +2119,7 @@ const TypeIcon = ({ type, size = 18, showTooltip = true, className = '', style,
2115
2119
  }, ...props, children: jsx("svg", { viewBox: "0 0 24 24", width: size * 0.6, height: size * 0.6, fill: "currentColor", children: typeIcons[type] || typeIcons.U }) }));
2116
2120
  };
2117
2121
 
2118
- var styles$1x = {"accordion":"Accordion-module_accordion__I3hmS","headerContainer":"Accordion-module_headerContainer__QhfHx","toggle":"Accordion-module_toggle__rlK5n","caret":"Accordion-module_caret__iZAh1","open":"Accordion-module_open__5jX-w","header":"Accordion-module_header__gzKrn","body":"Accordion-module_body__xTgL6","hidden":"Accordion-module_hidden__wcCWd","visible":"Accordion-module_visible__116om","timeline":"Accordion-module_timeline__ikrdK","line":"Accordion-module_line__buDP1","endCaret":"Accordion-module_endCaret__OXpPJ","content":"Accordion-module_content__aL8Vn"};
2122
+ var styles$1y = {"accordion":"Accordion-module_accordion__I3hmS","headerContainer":"Accordion-module_headerContainer__QhfHx","toggle":"Accordion-module_toggle__rlK5n","caret":"Accordion-module_caret__iZAh1","open":"Accordion-module_open__5jX-w","header":"Accordion-module_header__gzKrn","body":"Accordion-module_body__xTgL6","hidden":"Accordion-module_hidden__wcCWd","visible":"Accordion-module_visible__116om","timeline":"Accordion-module_timeline__ikrdK","line":"Accordion-module_line__buDP1","endCaret":"Accordion-module_endCaret__OXpPJ","content":"Accordion-module_content__aL8Vn"};
2119
2123
 
2120
2124
  const CaretIcon = ({ className }) => (jsx("svg", { className: className, width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: jsx("polyline", { points: "9 18 15 12 9 6" }) }));
2121
2125
  /**
@@ -2133,21 +2137,43 @@ const Accordion = ({ header, children, defaultOpen = true, open: controlledOpen,
2133
2137
  }
2134
2138
  onOpenChange?.(newOpen);
2135
2139
  };
2136
- return (jsxs("div", { className: `${styles$1x.accordion} ${className || ''}`, children: [jsxs("div", { className: styles$1x.headerContainer, children: [jsx("button", { type: "button", className: styles$1x.toggle, onClick: handleToggle, "aria-expanded": isOpen, children: jsx(CaretIcon, { className: `${styles$1x.caret} ${isOpen ? styles$1x.open : ''}` }) }), jsx("div", { className: styles$1x.header, children: header })] }), jsxs("div", { className: `${styles$1x.body} ${isOpen ? styles$1x.visible : styles$1x.hidden}`, "aria-hidden": !isOpen, children: [showTimeline && (jsxs("div", { className: styles$1x.timeline, children: [jsx("div", { className: styles$1x.line }), jsx(CaretIcon, { className: styles$1x.endCaret })] })), jsx("div", { className: styles$1x.content, children: children })] })] }));
2140
+ return (jsxs("div", { className: `${styles$1y.accordion} ${className || ''}`, children: [jsxs("div", { className: styles$1y.headerContainer, children: [jsx("button", { type: "button", className: styles$1y.toggle, onClick: handleToggle, "aria-expanded": isOpen, children: jsx(CaretIcon, { className: `${styles$1y.caret} ${isOpen ? styles$1y.open : ''}` }) }), jsx("div", { className: styles$1y.header, children: header })] }), jsxs("div", { className: `${styles$1y.body} ${isOpen ? styles$1y.visible : styles$1y.hidden}`, "aria-hidden": !isOpen, children: [showTimeline && (jsxs("div", { className: styles$1y.timeline, children: [jsx("div", { className: styles$1y.line }), jsx(CaretIcon, { className: styles$1y.endCaret })] })), jsx("div", { className: styles$1y.content, children: children })] })] }));
2137
2141
  };
2138
2142
  Accordion.displayName = 'Accordion';
2139
2143
 
2140
- var styles$1w = {"selector":"CalendarSelectors-module_selector__1nDos","item":"CalendarSelectors-module_item__CoR5s","active":"CalendarSelectors-module_active__u4w6Z","sm":"CalendarSelectors-module_sm__ju5t-","withLabel":"CalendarSelectors-module_withLabel__Jr9Re","md":"CalendarSelectors-module_md__a-U38","lg":"CalendarSelectors-module_lg__WHvAF","iconOnly":"CalendarSelectors-module_iconOnly__cAjyD"};
2144
+ /**
2145
+ * Sized to Hub's header back control (44x52), which is already above the 44px
2146
+ * minimum tap target, so it does not need padding to be reachable on a phone.
2147
+ */
2148
+ const backLinkStyle = css({
2149
+ display: 'flex',
2150
+ alignItems: 'center',
2151
+ width: '44px',
2152
+ height: '52px',
2153
+ color: 'inherit',
2154
+ });
2155
+
2156
+ /**
2157
+ * The back affordance in a page header: a tap target holding a single arrow.
2158
+ *
2159
+ * It is deliberately not a Button. This navigates, so it should be a link —
2160
+ * middle-clickable, openable in a new tab, and announced as a link rather than
2161
+ * an action.
2162
+ */
2163
+ const BackLink = ({ icon, as: Component = 'a', label = 'Back', className = '', style, ...props }) => (jsx(Component, { className: className, "aria-label": label, style: toInlineStyle(merge(backLinkStyle, style)), ...props, children: icon }));
2164
+ BackLink.displayName = 'BackLink';
2165
+
2166
+ var styles$1x = {"selector":"CalendarSelectors-module_selector__1nDos","item":"CalendarSelectors-module_item__CoR5s","active":"CalendarSelectors-module_active__u4w6Z","sm":"CalendarSelectors-module_sm__ju5t-","withLabel":"CalendarSelectors-module_withLabel__Jr9Re","md":"CalendarSelectors-module_md__a-U38","lg":"CalendarSelectors-module_lg__WHvAF","iconOnly":"CalendarSelectors-module_iconOnly__cAjyD"};
2141
2167
 
2142
2168
  const ListIcon = () => (jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", "aria-hidden": "true", children: [jsx("line", { x1: "8", y1: "6", x2: "21", y2: "6" }), jsx("line", { x1: "8", y1: "12", x2: "21", y2: "12" }), jsx("line", { x1: "8", y1: "18", x2: "21", y2: "18" }), jsx("circle", { cx: "3", cy: "6", r: "1", fill: "currentColor", stroke: "none" }), jsx("circle", { cx: "3", cy: "12", r: "1", fill: "currentColor", stroke: "none" }), jsx("circle", { cx: "3", cy: "18", r: "1", fill: "currentColor", stroke: "none" })] }));
2143
- const SegmentedSelector = ({ options, value, onChange, disabled = false, size = 'md', className = '', ariaLabel = 'View options', dataTest, itemClassName = '', activeItemClassName = '', iconPosition = 'left', }) => (jsx("div", { className: [styles$1w.selector, className].filter(Boolean).join(' '), role: "group", "aria-label": ariaLabel, "data-test": dataTest, children: options.map((option) => {
2169
+ const SegmentedSelector = ({ options, value, onChange, disabled = false, size = 'md', className = '', ariaLabel = 'View options', dataTest, itemClassName = '', activeItemClassName = '', iconPosition = 'left', }) => (jsx("div", { className: [styles$1x.selector, className].filter(Boolean).join(' '), role: "group", "aria-label": ariaLabel, "data-test": dataTest, children: options.map((option) => {
2144
2170
  const active = option.id === value;
2145
2171
  const accessibleName = option.alt ?? option.label ?? option.id;
2146
2172
  return (jsxs("button", { type: "button", title: accessibleName, "aria-label": accessibleName, "aria-pressed": active, disabled: disabled, "data-test": dataTest ? `${dataTest}-option-${option.id}` : undefined, className: [
2147
- styles$1w.item,
2148
- styles$1w[size],
2149
- option.label ? styles$1w.withLabel : styles$1w.iconOnly,
2150
- active ? styles$1w.active : '',
2173
+ styles$1x.item,
2174
+ styles$1x[size],
2175
+ option.label ? styles$1x.withLabel : styles$1x.iconOnly,
2176
+ active ? styles$1x.active : '',
2151
2177
  itemClassName,
2152
2178
  active ? activeItemClassName : '',
2153
2179
  ].filter(Boolean).join(' '), onClick: () => onChange?.(option.id), children: [iconPosition === 'left' && option.icon, option.label && jsx("span", { children: option.label }), iconPosition === 'right' && option.icon] }, option.id));
@@ -2162,7 +2188,7 @@ const CalendarTypeSelector = ({ value, onChange, ...props }) => (jsx(SegmentedSe
2162
2188
  { id: 'due_dates', label: 'Due Dates' },
2163
2189
  ] }));
2164
2190
 
2165
- var styles$1v = {"contact":"ContactCard-module_contact__rwoCO","body":"ContactCard-module_body__zAMJ8","identity":"ContactCard-module_identity__q7L-a","name":"ContactCard-module_name__C8t5-","title":"ContactCard-module_title__UECZm","link":"ContactCard-module_link__VTUHu","linkText":"ContactCard-module_linkText__8atNF"};
2191
+ var styles$1w = {"contact":"ContactCard-module_contact__rwoCO","body":"ContactCard-module_body__zAMJ8","identity":"ContactCard-module_identity__q7L-a","name":"ContactCard-module_name__C8t5-","title":"ContactCard-module_title__UECZm","link":"ContactCard-module_link__VTUHu","linkText":"ContactCard-module_linkText__8atNF"};
2166
2192
 
2167
2193
  /**
2168
2194
  * A single person's contact details: avatar, name, title, and tappable phone
@@ -2174,11 +2200,11 @@ var styles$1v = {"contact":"ContactCard-module_contact__rwoCO","body":"ContactCa
2174
2200
  const ContactCard$1 = ({ name, title, phone, email, action, showAvatar = true, className = '', }) => {
2175
2201
  if (!action && !name)
2176
2202
  return null;
2177
- return (jsxs("div", { className: `${styles$1v.contact} ${className}`, children: [name && showAvatar && jsx(Avatar, { name: name, size: 36 }), jsxs("div", { className: styles$1v.body, children: [jsxs("div", { className: styles$1v.identity, children: [action || jsx("span", { className: styles$1v.name, children: name }), title && jsx("span", { className: styles$1v.title, children: title })] }), phone && (jsxs("a", { href: `tel:${phone}`, className: styles$1v.link, children: [jsx(PhoneIcon, { size: 16, "aria-hidden": "true" }), jsx("span", { className: styles$1v.linkText, children: phone })] })), email && (jsxs("a", { href: `mailto:${email}`, className: styles$1v.link, children: [jsx(MailIcon, { size: 16, "aria-hidden": "true" }), jsx("span", { className: styles$1v.linkText, children: email })] }))] })] }));
2203
+ return (jsxs("div", { className: `${styles$1w.contact} ${className}`, children: [name && showAvatar && jsx(Avatar, { name: name, size: 36 }), jsxs("div", { className: styles$1w.body, children: [jsxs("div", { className: styles$1w.identity, children: [action || jsx("span", { className: styles$1w.name, children: name }), title && jsx("span", { className: styles$1w.title, children: title })] }), phone && (jsxs("a", { href: `tel:${phone}`, className: styles$1w.link, children: [jsx(PhoneIcon, { size: 16, "aria-hidden": "true" }), jsx("span", { className: styles$1w.linkText, children: phone })] })), email && (jsxs("a", { href: `mailto:${email}`, className: styles$1w.link, children: [jsx(MailIcon, { size: 16, "aria-hidden": "true" }), jsx("span", { className: styles$1w.linkText, children: email })] }))] })] }));
2178
2204
  };
2179
2205
  ContactCard$1.displayName = 'ContactCard';
2180
2206
 
2181
- var styles$1u = {"list":"DetailList-module_list__orbOL","pair":"DetailList-module_pair__CAbaR","label":"DetailList-module_label__rloof","value":"DetailList-module_value__TMLgu","iconRow":"DetailList-module_iconRow__G9NsX","icon":"DetailList-module_icon__V-jq2","iconPlaceholder":"DetailList-module_iconPlaceholder__c3w6w","iconText":"DetailList-module_iconText__Kgx7z","badge":"DetailList-module_badge__FBJ8a","primary":"DetailList-module_primary__w79M-","secondary":"DetailList-module_secondary__S0ti-","success":"DetailList-module_success__tJWzC","warning":"DetailList-module_warning__N50cB","error":"DetailList-module_error__no5kK"};
2207
+ var styles$1v = {"list":"DetailList-module_list__orbOL","pair":"DetailList-module_pair__CAbaR","label":"DetailList-module_label__rloof","value":"DetailList-module_value__TMLgu","iconRow":"DetailList-module_iconRow__G9NsX","icon":"DetailList-module_icon__V-jq2","iconPlaceholder":"DetailList-module_iconPlaceholder__c3w6w","iconText":"DetailList-module_iconText__Kgx7z","badge":"DetailList-module_badge__FBJ8a","primary":"DetailList-module_primary__w79M-","secondary":"DetailList-module_secondary__S0ti-","success":"DetailList-module_success__tJWzC","warning":"DetailList-module_warning__N50cB","error":"DetailList-module_error__no5kK"};
2182
2208
 
2183
2209
  /**
2184
2210
  * A compact list of field/value pairs, as used down the side of a trip or
@@ -2195,21 +2221,21 @@ var styles$1u = {"list":"DetailList-module_list__orbOL","pair":"DetailList-modul
2195
2221
  const DetailList = ({ items, gap = 8, className = '' }) => {
2196
2222
  if (!items.some((item) => !!item.description))
2197
2223
  return null;
2198
- return (jsx("div", { className: `${styles$1u.list} ${className}`, style: { gap }, children: items.map((item, index) => {
2224
+ return (jsx("div", { className: `${styles$1v.list} ${className}`, style: { gap }, children: items.map((item, index) => {
2199
2225
  if (!item.description)
2200
2226
  return null;
2201
2227
  const key = `detail-${index}`;
2202
2228
  if (item.icon !== undefined) {
2203
- return (jsxs("div", { className: styles$1u.iconRow, style: { gap }, children: [item.icon ? (jsx("span", { className: styles$1u.icon, "aria-hidden": "true", children: item.icon })) : (jsx("span", { className: styles$1u.iconPlaceholder })), jsx("span", { className: styles$1u.iconText, children: item.description })] }, key));
2229
+ return (jsxs("div", { className: styles$1v.iconRow, style: { gap }, children: [item.icon ? (jsx("span", { className: styles$1v.icon, "aria-hidden": "true", children: item.icon })) : (jsx("span", { className: styles$1v.iconPlaceholder })), jsx("span", { className: styles$1v.iconText, children: item.description })] }, key));
2204
2230
  }
2205
2231
  if (!item.label)
2206
2232
  return null;
2207
- return (jsxs("div", { className: styles$1u.pair, style: { gap }, children: [jsx("span", { className: styles$1u.label, children: item.label }), jsx("span", { className: styles$1u.value, children: item.variant ? (jsx("span", { className: `${styles$1u.badge} ${styles$1u[item.variant]}`, children: item.description })) : (item.description) })] }, key));
2233
+ return (jsxs("div", { className: styles$1v.pair, style: { gap }, children: [jsx("span", { className: styles$1v.label, children: item.label }), jsx("span", { className: styles$1v.value, children: item.variant ? (jsx("span", { className: `${styles$1v.badge} ${styles$1v[item.variant]}`, children: item.description })) : (item.description) })] }, key));
2208
2234
  }) }));
2209
2235
  };
2210
2236
  DetailList.displayName = 'DetailList';
2211
2237
 
2212
- var styles$1t = {"dropdown":"Dropdown-module_dropdown__K4-yz","arrow":"Dropdown-module_arrow__2Xuwf","arrowOpen":"Dropdown-module_arrowOpen__5g2iY","menu":"Dropdown-module_menu__dCgm8","menuOpen":"Dropdown-module_menuOpen__-IXFR","left":"Dropdown-module_left__tnNcS","center":"Dropdown-module_center__s9zhj","right":"Dropdown-module_right__s71gz","item":"Dropdown-module_item__R008o","itemDisabled":"Dropdown-module_itemDisabled__XIuNm","itemIcon":"Dropdown-module_itemIcon__DbSnD"};
2238
+ var styles$1u = {"dropdown":"Dropdown-module_dropdown__K4-yz","arrow":"Dropdown-module_arrow__2Xuwf","arrowOpen":"Dropdown-module_arrowOpen__5g2iY","menu":"Dropdown-module_menu__dCgm8","menuOpen":"Dropdown-module_menuOpen__-IXFR","left":"Dropdown-module_left__tnNcS","center":"Dropdown-module_center__s9zhj","right":"Dropdown-module_right__s71gz","item":"Dropdown-module_item__R008o","itemDisabled":"Dropdown-module_itemDisabled__XIuNm","itemIcon":"Dropdown-module_itemIcon__DbSnD"};
2213
2239
 
2214
2240
  const Dropdown = ({ label, children, alignment = 'left', width, className = '', disabled = false, trigger, }) => {
2215
2241
  const [isOpen, setIsOpen] = useState(false);
@@ -2232,19 +2258,19 @@ const Dropdown = ({ label, children, alignment = 'left', width, className = '',
2232
2258
  setIsOpen(false);
2233
2259
  }
2234
2260
  };
2235
- return (jsxs("div", { ref: dropdownRef, className: `${styles$1t.dropdown} ${className}`, onKeyDown: handleKeyDown, children: [trigger ? (trigger({ isOpen, toggle: () => !disabled && setIsOpen(!isOpen), disabled })) : (jsxs(Button, { variant: "secondary", onClick: () => !disabled && setIsOpen(!isOpen), disabled: disabled, "aria-expanded": isOpen, "aria-haspopup": "true", children: [label, jsx("svg", { className: `${styles$1t.arrow} ${isOpen ? styles$1t.arrowOpen : ''}`, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", width: "16", height: "16", children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })] })), jsx("div", { className: `${styles$1t.menu} ${styles$1t[alignment]} ${isOpen ? styles$1t.menuOpen : ''}`, style: width ? { minWidth: `${width}px` } : undefined, role: "menu", children: children })] }));
2261
+ return (jsxs("div", { ref: dropdownRef, className: `${styles$1u.dropdown} ${className}`, onKeyDown: handleKeyDown, children: [trigger ? (trigger({ isOpen, toggle: () => !disabled && setIsOpen(!isOpen), disabled })) : (jsxs(Button, { variant: "secondary", onClick: () => !disabled && setIsOpen(!isOpen), disabled: disabled, "aria-expanded": isOpen, "aria-haspopup": "true", children: [label, jsx("svg", { className: `${styles$1u.arrow} ${isOpen ? styles$1u.arrowOpen : ''}`, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", width: "16", height: "16", children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })] })), jsx("div", { className: `${styles$1u.menu} ${styles$1u[alignment]} ${isOpen ? styles$1u.menuOpen : ''}`, style: width ? { minWidth: `${width}px` } : undefined, role: "menu", children: children })] }));
2236
2262
  };
2237
2263
  const DropdownItem = ({ children, onClick, disabled = false, icon, className = '', }) => {
2238
- return (jsxs("button", { type: "button", className: `${styles$1t.item} ${disabled ? styles$1t.itemDisabled : ''} ${className}`, onClick: onClick, disabled: disabled, role: "menuitem", children: [icon && jsx("span", { className: styles$1t.itemIcon, children: icon }), children] }));
2264
+ return (jsxs("button", { type: "button", className: `${styles$1u.item} ${disabled ? styles$1u.itemDisabled : ''} ${className}`, onClick: onClick, disabled: disabled, role: "menuitem", children: [icon && jsx("span", { className: styles$1u.itemIcon, children: icon }), children] }));
2239
2265
  };
2240
2266
  Dropdown.Item = DropdownItem;
2241
2267
 
2242
- var styles$1s = {"emptyState":"EmptyState-module_emptyState__WVjm4","sm":"EmptyState-module_sm__uIlcU","md":"EmptyState-module_md__cUO3z","lg":"EmptyState-module_lg__TDd0B","icon":"EmptyState-module_icon__q7SEB","title":"EmptyState-module_title__wrG0V","description":"EmptyState-module_description__EhVZb","actions":"EmptyState-module_actions__XNSCG"};
2268
+ var styles$1t = {"emptyState":"EmptyState-module_emptyState__WVjm4","sm":"EmptyState-module_sm__uIlcU","md":"EmptyState-module_md__cUO3z","lg":"EmptyState-module_lg__TDd0B","icon":"EmptyState-module_icon__q7SEB","title":"EmptyState-module_title__wrG0V","description":"EmptyState-module_description__EhVZb","actions":"EmptyState-module_actions__XNSCG"};
2243
2269
 
2244
2270
  /** Placeholder shown when a list, table, or panel has nothing to display. */
2245
- const EmptyState$1 = ({ title, description, icon, actionLabel, onAction, secondaryActionLabel, onSecondaryAction, size = 'md', children, className = '', }) => (jsxs("div", { className: [styles$1s.emptyState, styles$1s[size], className].filter(Boolean).join(' '), "data-test": "empty-state", children: [icon && jsx("div", { className: styles$1s.icon, "aria-hidden": "true", children: icon }), jsx("p", { className: styles$1s.title, children: title }), description && jsx("p", { className: styles$1s.description, children: description }), (actionLabel || secondaryActionLabel) && (jsxs("div", { className: styles$1s.actions, children: [actionLabel && (jsx(Button, { size: "sm", onClick: onAction, "data-test": "empty-state-action", children: actionLabel })), secondaryActionLabel && (jsx(Button, { size: "sm", variant: "secondary", onClick: onSecondaryAction, "data-test": "empty-state-secondary-action", children: secondaryActionLabel }))] })), children] }));
2271
+ const EmptyState$1 = ({ title, description, icon, actionLabel, onAction, secondaryActionLabel, onSecondaryAction, size = 'md', children, className = '', }) => (jsxs("div", { className: [styles$1t.emptyState, styles$1t[size], className].filter(Boolean).join(' '), "data-test": "empty-state", children: [icon && jsx("div", { className: styles$1t.icon, "aria-hidden": "true", children: icon }), jsx("p", { className: styles$1t.title, children: title }), description && jsx("p", { className: styles$1t.description, children: description }), (actionLabel || secondaryActionLabel) && (jsxs("div", { className: styles$1t.actions, children: [actionLabel && (jsx(Button, { size: "sm", onClick: onAction, "data-test": "empty-state-action", children: actionLabel })), secondaryActionLabel && (jsx(Button, { size: "sm", variant: "secondary", onClick: onSecondaryAction, "data-test": "empty-state-secondary-action", children: secondaryActionLabel }))] })), children] }));
2246
2272
 
2247
- var styles$1r = {"field":"FieldLayout-module_field__XUDXw","top":"FieldLayout-module_top__l7TpS","left":"FieldLayout-module_left__l9daC","label":"FieldLayout-module_label__eQGNc","labelError":"FieldLayout-module_labelError__pBsN0","required":"FieldLayout-module_required__Alrlu","tooltip":"FieldLayout-module_tooltip__OsmG5","control":"FieldLayout-module_control__ZTojP","icon":"FieldLayout-module_icon__1-nNC","iconLeft":"FieldLayout-module_iconLeft__GLO22","iconRight":"FieldLayout-module_iconRight__xvVIN","message":"FieldLayout-module_message__aQVJy","error":"FieldLayout-module_error__JZHWG","note":"FieldLayout-module_note__DOSvG"};
2273
+ var styles$1s = {"field":"FieldLayout-module_field__XUDXw","top":"FieldLayout-module_top__l7TpS","left":"FieldLayout-module_left__l9daC","label":"FieldLayout-module_label__eQGNc","labelError":"FieldLayout-module_labelError__pBsN0","required":"FieldLayout-module_required__Alrlu","tooltip":"FieldLayout-module_tooltip__OsmG5","control":"FieldLayout-module_control__ZTojP","icon":"FieldLayout-module_icon__1-nNC","iconLeft":"FieldLayout-module_iconLeft__GLO22","iconRight":"FieldLayout-module_iconRight__xvVIN","message":"FieldLayout-module_message__aQVJy","error":"FieldLayout-module_error__JZHWG","note":"FieldLayout-module_note__DOSvG"};
2248
2274
 
2249
2275
  /**
2250
2276
  * The chrome around a form control: label, required marker, tooltip, the
@@ -2259,11 +2285,11 @@ const FieldLayout = ({ children, label, labelPosition = 'top', showLabel = true,
2259
2285
  const id = useId();
2260
2286
  const errorId = `${id}-error`;
2261
2287
  const hasError = Boolean(error);
2262
- return (jsxs("div", { className: `${styles$1r.field} ${styles$1r[labelPosition]} ${className}`, children: [label && showLabel && (jsxs("label", { htmlFor: id, className: `${styles$1r.label} ${hasError ? styles$1r.labelError : ''}`, children: [label, required && !disabled && (jsx("span", { className: styles$1r.required, "aria-hidden": "true", children: "*" })), tooltip && (jsx(Tooltip, { className: styles$1r.tooltip, content: tooltip, children: jsx(InfoIcon$1, { size: 16 }) }))] })), jsxs("div", { className: styles$1r.control, children: [leftIcon && !disabled && (jsx("span", { className: `${styles$1r.icon} ${styles$1r.iconLeft}`, "aria-hidden": "true", children: leftIcon })), children({ id, describedBy: hasError ? errorId : undefined, hasError }), rightIcon && !disabled && (jsx("span", { className: `${styles$1r.icon} ${styles$1r.iconRight}`, "aria-hidden": "true", children: rightIcon }))] }), hasError && (jsx("p", { id: errorId, className: `${styles$1r.message} ${styles$1r.error}`, children: error })), note && jsx("p", { className: `${styles$1r.message} ${styles$1r.note}`, children: note })] }));
2288
+ return (jsxs("div", { className: `${styles$1s.field} ${styles$1s[labelPosition]} ${className}`, children: [label && showLabel && (jsxs("label", { htmlFor: id, className: `${styles$1s.label} ${hasError ? styles$1s.labelError : ''}`, children: [label, required && !disabled && (jsx("span", { className: styles$1s.required, "aria-hidden": "true", children: "*" })), tooltip && (jsx(Tooltip, { className: styles$1s.tooltip, content: tooltip, children: jsx(InfoIcon$1, { size: 16 }) }))] })), jsxs("div", { className: styles$1s.control, children: [leftIcon && !disabled && (jsx("span", { className: `${styles$1s.icon} ${styles$1s.iconLeft}`, "aria-hidden": "true", children: leftIcon })), children({ id, describedBy: hasError ? errorId : undefined, hasError }), rightIcon && !disabled && (jsx("span", { className: `${styles$1s.icon} ${styles$1s.iconRight}`, "aria-hidden": "true", children: rightIcon }))] }), hasError && (jsx("p", { id: errorId, className: `${styles$1s.message} ${styles$1s.error}`, children: error })), note && jsx("p", { className: `${styles$1s.message} ${styles$1s.note}`, children: note })] }));
2263
2289
  };
2264
2290
  FieldLayout.displayName = 'FieldLayout';
2265
2291
 
2266
- var styles$1q = {"wrapper":"FileUploadButton-module_wrapper__usYRn","input":"FileUploadButton-module_input__RBN3b"};
2292
+ var styles$1r = {"wrapper":"FileUploadButton-module_wrapper__usYRn","input":"FileUploadButton-module_input__RBN3b"};
2267
2293
 
2268
2294
  /** Document types a travel workflow usually accepts. */
2269
2295
  const DOCUMENT_FILE_EXTENSIONS = ['.pdf', '.doc', '.docx', '.xls', '.xlsx'];
@@ -2275,10 +2301,10 @@ const DOCUMENT_FILE_EXTENSIONS = ['.pdf', '.doc', '.docx', '.xls', '.xlsx'];
2275
2301
  * "choose file" control rather than a button and an input side by side. The
2276
2302
  * button underneath is decorative and hidden from assistive technology.
2277
2303
  */
2278
- const FileUploadButton = ({ label = 'Add File', accept = DOCUMENT_FILE_EXTENSIONS.join(','), multiple = false, disabled = false, loading = false, variant = 'outline-secondary', size = 'sm', icon, onSelect, className = '', inputProps, }) => (jsxs("div", { className: `${styles$1q.wrapper} ${className}`, children: [jsx(ButtonStyled, { variant: variant, size: size, loading: loading, disabled: disabled, rightIcon: icon, tabIndex: -1, "aria-hidden": "true", children: label }), !disabled && (jsx("input", { ...inputProps, className: styles$1q.input, type: "file", accept: accept, multiple: multiple, "aria-label": label, onChange: onSelect }))] }));
2304
+ const FileUploadButton = ({ label = 'Add File', accept = DOCUMENT_FILE_EXTENSIONS.join(','), multiple = false, disabled = false, loading = false, variant = 'outline-secondary', size = 'sm', icon, onSelect, className = '', inputProps, }) => (jsxs("div", { className: `${styles$1r.wrapper} ${className}`, children: [jsx(ButtonStyled, { variant: variant, size: size, loading: loading, disabled: disabled, rightIcon: icon, tabIndex: -1, "aria-hidden": "true", children: label }), !disabled && (jsx("input", { ...inputProps, className: styles$1r.input, type: "file", accept: accept, multiple: multiple, "aria-label": label, onChange: onSelect }))] }));
2279
2305
  FileUploadButton.displayName = 'FileUploadButton';
2280
2306
 
2281
- var styles$1p = {"wrapper":"FilterChip-module_wrapper__YDRSW","chip":"FilterChip-module_chip__pF7K5","open":"FilterChip-module_open__EYBp7","active":"FilterChip-module_active__JEkku","label":"FilterChip-module_label__tRr-y","value":"FilterChip-module_value__0EcVu","chevron":"FilterChip-module_chevron__kh13z","rotated":"FilterChip-module_rotated__U-FzI","dropdown":"FilterChip-module_dropdown__w3ytW","infoMessage":"FilterChip-module_infoMessage__0TzcA","searchWrapper":"FilterChip-module_searchWrapper__VHOSK","searchIcon":"FilterChip-module_searchIcon__jJ2K-","searchInput":"FilterChip-module_searchInput__FqwvR","optionsList":"FilterChip-module_optionsList__P0dgd","option":"FilterChip-module_option__DMuqM","selected":"FilterChip-module_selected__ltt9Y","noResults":"FilterChip-module_noResults__QGNao"};
2307
+ var styles$1q = {"wrapper":"FilterChip-module_wrapper__YDRSW","chip":"FilterChip-module_chip__pF7K5","open":"FilterChip-module_open__EYBp7","active":"FilterChip-module_active__JEkku","label":"FilterChip-module_label__tRr-y","value":"FilterChip-module_value__0EcVu","chevron":"FilterChip-module_chevron__kh13z","rotated":"FilterChip-module_rotated__U-FzI","dropdown":"FilterChip-module_dropdown__w3ytW","infoMessage":"FilterChip-module_infoMessage__0TzcA","searchWrapper":"FilterChip-module_searchWrapper__VHOSK","searchIcon":"FilterChip-module_searchIcon__jJ2K-","searchInput":"FilterChip-module_searchInput__FqwvR","optionsList":"FilterChip-module_optionsList__P0dgd","option":"FilterChip-module_option__DMuqM","selected":"FilterChip-module_selected__ltt9Y","noResults":"FilterChip-module_noResults__QGNao"};
2282
2308
 
2283
2309
  const FilterChip = ({ label, value, options, onChange, searchable = false, searchPlaceholder = 'Search...', infoMessage, disabled = false, className, }) => {
2284
2310
  const [open, setOpen] = useState(false);
@@ -2319,13 +2345,13 @@ const FilterChip = ({ label, value, options, onChange, searchable = false, searc
2319
2345
  const selectedOption = options.find(opt => opt.value === value);
2320
2346
  const displayValue = selectedOption?.label || value;
2321
2347
  const isDefault = value === options[0]?.value;
2322
- return (jsxs("div", { ref: ref, className: `${styles$1p.wrapper} ${className || ''}`, children: [jsxs("button", { type: "button", className: `${styles$1p.chip} ${open ? styles$1p.open : ''} ${!isDefault ? styles$1p.active : ''}`, onClick: () => setOpen(!open), disabled: disabled, "aria-haspopup": "listbox", "aria-expanded": open, children: [jsxs("span", { className: styles$1p.label, children: [label, ":"] }), jsx("span", { className: styles$1p.value, children: displayValue }), jsx("svg", { className: `${styles$1p.chevron} ${open ? styles$1p.rotated : ''}`, width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: jsx("polyline", { points: "6 9 12 15 18 9" }) })] }), open && (jsxs("div", { className: styles$1p.dropdown, role: "listbox", children: [infoMessage && (jsxs("div", { className: styles$1p.infoMessage, children: [jsx("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "currentColor", children: jsx("path", { d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z" }) }), jsx("span", { children: infoMessage })] })), searchable && (jsxs("div", { className: styles$1p.searchWrapper, children: [jsxs("svg", { className: styles$1p.searchIcon, width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [jsx("circle", { cx: "11", cy: "11", r: "8" }), jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })] }), jsx("input", { type: "text", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), placeholder: searchPlaceholder, className: styles$1p.searchInput, autoFocus: true })] })), jsxs("div", { className: styles$1p.optionsList, children: [filteredOptions.map((option) => (jsx("button", { type: "button", role: "option", "aria-selected": option.value === value, className: `${styles$1p.option} ${option.value === value ? styles$1p.selected : ''}`, onClick: () => {
2348
+ return (jsxs("div", { ref: ref, className: `${styles$1q.wrapper} ${className || ''}`, children: [jsxs("button", { type: "button", className: `${styles$1q.chip} ${open ? styles$1q.open : ''} ${!isDefault ? styles$1q.active : ''}`, onClick: () => setOpen(!open), disabled: disabled, "aria-haspopup": "listbox", "aria-expanded": open, children: [jsxs("span", { className: styles$1q.label, children: [label, ":"] }), jsx("span", { className: styles$1q.value, children: displayValue }), jsx("svg", { className: `${styles$1q.chevron} ${open ? styles$1q.rotated : ''}`, width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: jsx("polyline", { points: "6 9 12 15 18 9" }) })] }), open && (jsxs("div", { className: styles$1q.dropdown, role: "listbox", children: [infoMessage && (jsxs("div", { className: styles$1q.infoMessage, children: [jsx("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "currentColor", children: jsx("path", { d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z" }) }), jsx("span", { children: infoMessage })] })), searchable && (jsxs("div", { className: styles$1q.searchWrapper, children: [jsxs("svg", { className: styles$1q.searchIcon, width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [jsx("circle", { cx: "11", cy: "11", r: "8" }), jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })] }), jsx("input", { type: "text", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), placeholder: searchPlaceholder, className: styles$1q.searchInput, autoFocus: true })] })), jsxs("div", { className: styles$1q.optionsList, children: [filteredOptions.map((option) => (jsx("button", { type: "button", role: "option", "aria-selected": option.value === value, className: `${styles$1q.option} ${option.value === value ? styles$1q.selected : ''}`, onClick: () => {
2323
2349
  onChange(option.value);
2324
2350
  setOpen(false);
2325
- }, children: option.label }, option.value))), filteredOptions.length === 0 && (jsx("div", { className: styles$1p.noResults, children: "No results found" }))] })] }))] }));
2351
+ }, children: option.label }, option.value))), filteredOptions.length === 0 && (jsx("div", { className: styles$1q.noResults, children: "No results found" }))] })] }))] }));
2326
2352
  };
2327
2353
 
2328
- var styles$1o = {"formField":"FormField-module_formField__VhLhK","label":"FormField-module_label__CNCs6","required":"FormField-module_required__HkPQf","inputElement":"FormField-module_inputElement__9uvGR","inputError":"FormField-module_inputError__xD7fk","helperText":"FormField-module_helperText__D99kd","errorText":"FormField-module_errorText__8mXAJ","visuallyHidden":"FormField-module_visuallyHidden__YQc7S"};
2354
+ var styles$1p = {"formField":"FormField-module_formField__VhLhK","label":"FormField-module_label__CNCs6","required":"FormField-module_required__HkPQf","inputElement":"FormField-module_inputElement__9uvGR","inputError":"FormField-module_inputError__xD7fk","helperText":"FormField-module_helperText__D99kd","errorText":"FormField-module_errorText__8mXAJ","visuallyHidden":"FormField-module_visuallyHidden__YQc7S"};
2329
2355
 
2330
2356
  const FormField = forwardRef(({ label, helperText, error, required = false, hideLabel = false, className, as = 'input', inputProps, textareaProps, children, }, ref) => {
2331
2357
  const generatedId = useId();
@@ -2344,15 +2370,15 @@ const FormField = forwardRef(({ label, helperText, error, required = false, hide
2344
2370
  return children;
2345
2371
  }
2346
2372
  if (as === 'textarea') {
2347
- return (jsx(Textarea, { ref: ref, id: inputId, "aria-describedby": describedBy, "aria-invalid": hasError, "aria-required": required, ...textareaProps, className: `${styles$1o.inputElement} ${hasError ? styles$1o.inputError : ''} ${textareaProps?.className || ''}` }));
2373
+ return (jsx(Textarea, { ref: ref, id: inputId, "aria-describedby": describedBy, "aria-invalid": hasError, "aria-required": required, ...textareaProps, className: `${styles$1p.inputElement} ${hasError ? styles$1p.inputError : ''} ${textareaProps?.className || ''}` }));
2348
2374
  }
2349
- return (jsx(Input, { ref: ref, id: inputId, "aria-describedby": describedBy, "aria-invalid": hasError, "aria-required": required, ...inputProps, className: `${styles$1o.inputElement} ${hasError ? styles$1o.inputError : ''} ${inputProps?.className || ''}` }));
2375
+ return (jsx(Input, { ref: ref, id: inputId, "aria-describedby": describedBy, "aria-invalid": hasError, "aria-required": required, ...inputProps, className: `${styles$1p.inputElement} ${hasError ? styles$1p.inputError : ''} ${inputProps?.className || ''}` }));
2350
2376
  };
2351
- return (jsxs("div", { className: `${styles$1o.formField} ${className || ''}`, children: [jsxs("label", { htmlFor: inputId, className: `${styles$1o.label} ${hideLabel ? styles$1o.visuallyHidden : ''}`, children: [label, required && jsx("span", { className: styles$1o.required, "aria-hidden": "true", children: "*" })] }), renderInput(), helperText && !hasError && (jsx("p", { id: helperId, className: styles$1o.helperText, children: helperText })), hasError && (jsx("p", { id: errorId, className: styles$1o.errorText, role: "alert", children: error }))] }));
2377
+ return (jsxs("div", { className: `${styles$1p.formField} ${className || ''}`, children: [jsxs("label", { htmlFor: inputId, className: `${styles$1p.label} ${hideLabel ? styles$1p.visuallyHidden : ''}`, children: [label, required && jsx("span", { className: styles$1p.required, "aria-hidden": "true", children: "*" })] }), renderInput(), helperText && !hasError && (jsx("p", { id: helperId, className: styles$1p.helperText, children: helperText })), hasError && (jsx("p", { id: errorId, className: styles$1p.errorText, role: "alert", children: error }))] }));
2352
2378
  });
2353
2379
  FormField.displayName = 'FormField';
2354
2380
 
2355
- var styles$1n = {"row":"FormRow-module_row__2ObP9","cols1":"FormRow-module_cols1__WsxX3","cols2":"FormRow-module_cols2__t548T","cols3":"FormRow-module_cols3__zjoSR","cols4":"FormRow-module_cols4__DbZL-","gapsm":"FormRow-module_gapsm__sl0ji","gapmd":"FormRow-module_gapmd__77Yp3","gaplg":"FormRow-module_gaplg__Yb-fh","stackMobile":"FormRow-module_stackMobile__6UluR"};
2381
+ var styles$1o = {"row":"FormRow-module_row__2ObP9","cols1":"FormRow-module_cols1__WsxX3","cols2":"FormRow-module_cols2__t548T","cols3":"FormRow-module_cols3__zjoSR","cols4":"FormRow-module_cols4__DbZL-","gapsm":"FormRow-module_gapsm__sl0ji","gapmd":"FormRow-module_gapmd__77Yp3","gaplg":"FormRow-module_gaplg__Yb-fh","stackMobile":"FormRow-module_stackMobile__6UluR"};
2356
2382
 
2357
2383
  /**
2358
2384
  * FormRow component for laying out form fields in a responsive grid.
@@ -2362,16 +2388,16 @@ const FormRow = ({ children, columns, gap = 'md', className, stackOnMobile = tru
2362
2388
  const childCount = Children.count(children);
2363
2389
  const colCount = columns || (childCount > 4 ? 4 : childCount);
2364
2390
  return (jsx("div", { className: `
2365
- ${styles$1n.row}
2366
- ${styles$1n[`cols${colCount}`]}
2367
- ${styles$1n[`gap${gap}`]}
2368
- ${stackOnMobile ? styles$1n.stackMobile : ''}
2391
+ ${styles$1o.row}
2392
+ ${styles$1o[`cols${colCount}`]}
2393
+ ${styles$1o[`gap${gap}`]}
2394
+ ${stackOnMobile ? styles$1o.stackMobile : ''}
2369
2395
  ${className || ''}
2370
2396
  `, children: children }));
2371
2397
  };
2372
2398
  FormRow.displayName = 'FormRow';
2373
2399
 
2374
- var styles$1m = {"section":"FormSection-module_section__T17Vg","header":"FormSection-module_header__2MkY6","icon":"FormSection-module_icon__uywPB","title":"FormSection-module_title__dlvYD","fieldset":"FormSection-module_fieldset__pDDIo","disabled":"FormSection-module_disabled__xC3-e","status":"FormSection-module_status__2XOyW","statusLabel":"FormSection-module_statusLabel__VAuDb","statusValue":"FormSection-module_statusValue__YKSc-","submitted":"FormSection-module_submitted__sS-zT","not-submitted":"FormSection-module_not-submitted__Kuk2i","draft":"FormSection-module_draft__XHq3-"};
2400
+ var styles$1n = {"section":"FormSection-module_section__T17Vg","header":"FormSection-module_header__2MkY6","icon":"FormSection-module_icon__uywPB","title":"FormSection-module_title__dlvYD","fieldset":"FormSection-module_fieldset__pDDIo","disabled":"FormSection-module_disabled__xC3-e","status":"FormSection-module_status__2XOyW","statusLabel":"FormSection-module_statusLabel__VAuDb","statusValue":"FormSection-module_statusValue__YKSc-","submitted":"FormSection-module_submitted__sS-zT","not-submitted":"FormSection-module_not-submitted__Kuk2i","draft":"FormSection-module_draft__XHq3-"};
2375
2401
 
2376
2402
  /**
2377
2403
  * FormSection component for grouping related form fields with a title and icon.
@@ -2380,14 +2406,14 @@ var styles$1m = {"section":"FormSection-module_section__T17Vg","header":"FormSec
2380
2406
  const FormSection = ({ title, icon, status, disabled = false, children, className, id, }) => {
2381
2407
  const isSubmitted = status === 'submitted';
2382
2408
  const isDisabled = disabled || isSubmitted;
2383
- return (jsxs("div", { className: `${styles$1m.section} ${className || ''}`, id: id, children: [jsxs("div", { className: styles$1m.header, children: [icon && jsx("span", { className: styles$1m.icon, children: icon }), jsx("h2", { className: styles$1m.title, children: title })] }), jsxs("fieldset", { disabled: isDisabled, className: `${styles$1m.fieldset} ${isDisabled ? styles$1m.disabled : ''}`, children: [status && (jsxs("div", { className: styles$1m.status, children: [jsx("span", { className: styles$1m.statusLabel, children: "Status:" }), jsx("span", { className: `${styles$1m.statusValue} ${styles$1m[status]}`, children: status === 'submitted' ? 'Submitted' : status === 'draft' ? 'Draft' : 'Not Submitted' })] })), children] })] }));
2409
+ return (jsxs("div", { className: `${styles$1n.section} ${className || ''}`, id: id, children: [jsxs("div", { className: styles$1n.header, children: [icon && jsx("span", { className: styles$1n.icon, children: icon }), jsx("h2", { className: styles$1n.title, children: title })] }), jsxs("fieldset", { disabled: isDisabled, className: `${styles$1n.fieldset} ${isDisabled ? styles$1n.disabled : ''}`, children: [status && (jsxs("div", { className: styles$1n.status, children: [jsx("span", { className: styles$1n.statusLabel, children: "Status:" }), jsx("span", { className: `${styles$1n.statusValue} ${styles$1n[status]}`, children: status === 'submitted' ? 'Submitted' : status === 'draft' ? 'Draft' : 'Not Submitted' })] })), children] })] }));
2384
2410
  };
2385
2411
  FormSection.displayName = 'FormSection';
2386
2412
 
2387
- var styles$1l = {"stack":"FormStack-module_stack__SURjY","sm":"FormStack-module_sm__rt3tb","md":"FormStack-module_md__SRDmc","lg":"FormStack-module_lg__jql3j"};
2413
+ var styles$1m = {"stack":"FormStack-module_stack__SURjY","sm":"FormStack-module_sm__rt3tb","md":"FormStack-module_md__SRDmc","lg":"FormStack-module_lg__jql3j"};
2388
2414
 
2389
2415
  /** Standard vertical form-field rhythm used by Hub modal forms. */
2390
- const FormStack = ({ children, gap = 'md', className = '' }) => (jsx("div", { className: [styles$1l.stack, styles$1l[gap], className].filter(Boolean).join(' '), children: children }));
2416
+ const FormStack = ({ children, gap = 'md', className = '' }) => (jsx("div", { className: [styles$1m.stack, styles$1m[gap], className].filter(Boolean).join(' '), children: children }));
2391
2417
 
2392
2418
  const RADIUS = '8px';
2393
2419
  /**
@@ -2465,26 +2491,26 @@ const InfoTile = ({ value, label, icon, square = NO_EDGES, borderless = NO_EDGES
2465
2491
  };
2466
2492
  InfoTile.displayName = 'InfoTile';
2467
2493
 
2468
- var styles$1k = {"toggle":"ManifestViewToggle-module_toggle__sHnAd","lockedToggle":"ManifestViewToggle-module_lockedToggle__m70h9","tab":"ManifestViewToggle-module_tab__qcwg7","active":"ManifestViewToggle-module_active__ln3B8","locked":"ManifestViewToggle-module_locked__Udun8","lockedActive":"ManifestViewToggle-module_lockedActive__kYSaF","count":"ManifestViewToggle-module_count__M-8a8"};
2494
+ var styles$1l = {"toggle":"ManifestViewToggle-module_toggle__sHnAd","lockedToggle":"ManifestViewToggle-module_lockedToggle__m70h9","tab":"ManifestViewToggle-module_tab__qcwg7","active":"ManifestViewToggle-module_active__ln3B8","locked":"ManifestViewToggle-module_locked__Udun8","lockedActive":"ManifestViewToggle-module_lockedActive__kYSaF","count":"ManifestViewToggle-module_count__M-8a8"};
2469
2495
 
2470
2496
  const ManifestViewToggle = ({ view, onView, paxCount, eqCount, locked, className = '', }) => {
2471
2497
  const tabs = [
2472
2498
  { key: 'passengers', label: 'Passengers', count: paxCount, icon: UsersIcon$1 },
2473
2499
  { key: 'equipment', label: 'Equipment', count: eqCount, icon: CubeIcon },
2474
2500
  ];
2475
- return (jsx("div", { className: [styles$1k.toggle, locked ? styles$1k.lockedToggle : '', className].filter(Boolean).join(' '), role: "tablist", "aria-label": "Manifest view", children: tabs.map((tab) => {
2501
+ return (jsx("div", { className: [styles$1l.toggle, locked ? styles$1l.lockedToggle : '', className].filter(Boolean).join(' '), role: "tablist", "aria-label": "Manifest view", children: tabs.map((tab) => {
2476
2502
  const active = view === tab.key;
2477
2503
  const Icon = locked ? LockIcon$1 : tab.icon;
2478
2504
  return (jsxs("button", { type: "button", role: "tab", "aria-selected": active, onClick: () => onView(tab.key), className: [
2479
- styles$1k.tab,
2480
- active ? styles$1k.active : '',
2481
- locked ? styles$1k.locked : '',
2482
- locked && active ? styles$1k.lockedActive : '',
2483
- ].filter(Boolean).join(' '), children: [jsx(Icon, { size: 16 }), tab.label, jsx("span", { className: styles$1k.count, children: tab.count })] }, tab.key));
2505
+ styles$1l.tab,
2506
+ active ? styles$1l.active : '',
2507
+ locked ? styles$1l.locked : '',
2508
+ locked && active ? styles$1l.lockedActive : '',
2509
+ ].filter(Boolean).join(' '), children: [jsx(Icon, { size: 16 }), tab.label, jsx("span", { className: styles$1l.count, children: tab.count })] }, tab.key));
2484
2510
  }) }));
2485
2511
  };
2486
2512
 
2487
- var styles$1j = {"container":"MultiUserSearch-module_container__aWwYv","disabled":"MultiUserSearch-module_disabled__Twuo3","label":"MultiUserSearch-module_label__W4WWS","selectedUsers":"MultiUserSearch-module_selectedUsers__IPRHn","selectedBadge":"MultiUserSearch-module_selectedBadge__VxTlk","badgeContent":"MultiUserSearch-module_badgeContent__UnAN7","removeButton":"MultiUserSearch-module_removeButton__vV8P0","inputWrapper":"MultiUserSearch-module_inputWrapper__G4T-v","listbox":"MultiUserSearch-module_listbox__PxgPe","option":"MultiUserSearch-module_option__m0sTR","highlighted":"MultiUserSearch-module_highlighted__GvlxG","optionDisabled":"MultiUserSearch-module_optionDisabled__1GBAH","optionAvatar":"MultiUserSearch-module_optionAvatar__YO9js","optionContent":"MultiUserSearch-module_optionContent__q4YGx","optionName":"MultiUserSearch-module_optionName__YM5T7","optionEmail":"MultiUserSearch-module_optionEmail__-x6qp","optionTitle":"MultiUserSearch-module_optionTitle__RQZWi","loadingItem":"MultiUserSearch-module_loadingItem__ajXfz","noResults":"MultiUserSearch-module_noResults__czQX6","hint":"MultiUserSearch-module_hint__pcdaa","helperText":"MultiUserSearch-module_helperText__0jOQq","errorText":"MultiUserSearch-module_errorText__XISLN"};
2513
+ var styles$1k = {"container":"MultiUserSearch-module_container__aWwYv","disabled":"MultiUserSearch-module_disabled__Twuo3","label":"MultiUserSearch-module_label__W4WWS","selectedUsers":"MultiUserSearch-module_selectedUsers__IPRHn","selectedBadge":"MultiUserSearch-module_selectedBadge__VxTlk","badgeContent":"MultiUserSearch-module_badgeContent__UnAN7","removeButton":"MultiUserSearch-module_removeButton__vV8P0","inputWrapper":"MultiUserSearch-module_inputWrapper__G4T-v","listbox":"MultiUserSearch-module_listbox__PxgPe","option":"MultiUserSearch-module_option__m0sTR","highlighted":"MultiUserSearch-module_highlighted__GvlxG","optionDisabled":"MultiUserSearch-module_optionDisabled__1GBAH","optionAvatar":"MultiUserSearch-module_optionAvatar__YO9js","optionContent":"MultiUserSearch-module_optionContent__q4YGx","optionName":"MultiUserSearch-module_optionName__YM5T7","optionEmail":"MultiUserSearch-module_optionEmail__-x6qp","optionTitle":"MultiUserSearch-module_optionTitle__RQZWi","loadingItem":"MultiUserSearch-module_loadingItem__ajXfz","noResults":"MultiUserSearch-module_noResults__czQX6","hint":"MultiUserSearch-module_hint__pcdaa","helperText":"MultiUserSearch-module_helperText__0jOQq","errorText":"MultiUserSearch-module_errorText__XISLN"};
2488
2514
 
2489
2515
  const DEBOUNCE_MS = 300;
2490
2516
  /**
@@ -2612,34 +2638,34 @@ const MultiUserSearch = ({ label = 'Search users', placeholder = 'Type to search
2612
2638
  const showDropdown = isOpen && (loading || availableOptions.length > 0 || (meetsMinLength && !loading));
2613
2639
  const showNoResults = isOpen && meetsMinLength && !loading && availableOptions.length === 0;
2614
2640
  const showMinLengthHint = isOpen && !meetsMinLength && query.length > 0;
2615
- return (jsxs("div", { ref: containerRef, className: [styles$1j.container, disabled ? styles$1j.disabled : '', className]
2641
+ return (jsxs("div", { ref: containerRef, className: [styles$1k.container, disabled ? styles$1k.disabled : '', className]
2616
2642
  .filter(Boolean)
2617
- .join(' '), "data-test": dataTest, children: [label && (jsx("label", { className: styles$1j.label, htmlFor: `${dataTest}-input`, children: label })), selectedUsers.length > 0 && (jsx("div", { className: styles$1j.selectedUsers, "data-test": `${dataTest}-selected`, children: selectedUsers.map((user) => (jsx(Badge, { variant: "info", size: "sm", className: styles$1j.selectedBadge, "data-test": `${dataTest}-selected-${user.id}`, children: jsxs("span", { className: styles$1j.badgeContent, children: [user.name, jsx("button", { type: "button", className: styles$1j.removeButton, onClick: () => removeSelection(user.id), "aria-label": `Remove ${user.name}`, disabled: disabled, children: jsx(CloseIcon, { size: 12 }) })] }) }, user.id))) })), jsxs("div", { className: styles$1j.inputWrapper, children: [jsx(Input, { ref: inputRef, id: `${dataTest}-input`, type: "search", placeholder: placeholder, value: query, onChange: handleInputChange, onFocus: handleInputFocus, onKeyDown: handleKeyDown, disabled: disabled, leftIcon: jsx(SearchIcon$1, { size: 16 }), rightIcon: loading ? jsx(Spinner, { size: "xs", label: "Searching" }) : undefined, "aria-expanded": isOpen, "aria-controls": `${dataTest}-listbox`, "aria-autocomplete": "list", "aria-activedescendant": highlightedIndex >= 0
2643
+ .join(' '), "data-test": dataTest, children: [label && (jsx("label", { className: styles$1k.label, htmlFor: `${dataTest}-input`, children: label })), selectedUsers.length > 0 && (jsx("div", { className: styles$1k.selectedUsers, "data-test": `${dataTest}-selected`, children: selectedUsers.map((user) => (jsx(Badge, { variant: "info", size: "sm", className: styles$1k.selectedBadge, "data-test": `${dataTest}-selected-${user.id}`, children: jsxs("span", { className: styles$1k.badgeContent, children: [user.name, jsx("button", { type: "button", className: styles$1k.removeButton, onClick: () => removeSelection(user.id), "aria-label": `Remove ${user.name}`, disabled: disabled, children: jsx(CloseIcon, { size: 12 }) })] }) }, user.id))) })), jsxs("div", { className: styles$1k.inputWrapper, children: [jsx(Input, { ref: inputRef, id: `${dataTest}-input`, type: "search", placeholder: placeholder, value: query, onChange: handleInputChange, onFocus: handleInputFocus, onKeyDown: handleKeyDown, disabled: disabled, leftIcon: jsx(SearchIcon$1, { size: 16 }), rightIcon: loading ? jsx(Spinner, { size: "xs", label: "Searching" }) : undefined, "aria-expanded": isOpen, "aria-controls": `${dataTest}-listbox`, "aria-autocomplete": "list", "aria-activedescendant": highlightedIndex >= 0
2618
2644
  ? `${dataTest}-option-${availableOptions[highlightedIndex]?.id}`
2619
- : undefined, role: "combobox", fullWidth: true, "data-test": `${dataTest}-input` }), showDropdown && (jsxs("ul", { ref: listRef, id: `${dataTest}-listbox`, className: styles$1j.listbox, role: "listbox", "aria-label": "Search results", "data-test": `${dataTest}-listbox`, children: [loading && (jsxs("li", { className: styles$1j.loadingItem, role: "status", children: [jsx(Spinner, { size: "sm", label: "Searching users" }), jsx("span", { children: "Searching users\u2026" })] })), !loading &&
2645
+ : undefined, role: "combobox", fullWidth: true, "data-test": `${dataTest}-input` }), showDropdown && (jsxs("ul", { ref: listRef, id: `${dataTest}-listbox`, className: styles$1k.listbox, role: "listbox", "aria-label": "Search results", "data-test": `${dataTest}-listbox`, children: [loading && (jsxs("li", { className: styles$1k.loadingItem, role: "status", children: [jsx(Spinner, { size: "sm", label: "Searching users" }), jsx("span", { children: "Searching users\u2026" })] })), !loading &&
2620
2646
  availableOptions.map((option, index) => (jsxs("li", { id: `${dataTest}-option-${option.id}`, role: "option", "aria-selected": highlightedIndex === index, "aria-disabled": option.disabled, className: [
2621
- styles$1j.option,
2622
- highlightedIndex === index ? styles$1j.highlighted : '',
2623
- option.disabled ? styles$1j.optionDisabled : '',
2647
+ styles$1k.option,
2648
+ highlightedIndex === index ? styles$1k.highlighted : '',
2649
+ option.disabled ? styles$1k.optionDisabled : '',
2624
2650
  ]
2625
2651
  .filter(Boolean)
2626
- .join(' '), onClick: () => selectOption(option), title: option.disabledReason, "data-test": `${dataTest}-option-${option.id}`, children: [jsx("span", { className: styles$1j.optionAvatar, "aria-hidden": "true", children: jsx(UserIcon, { size: 16 }) }), jsxs("span", { className: styles$1j.optionContent, children: [jsx("span", { className: styles$1j.optionName, children: option.name }), jsx("span", { className: styles$1j.optionEmail, children: option.email }), option.title && (jsx("span", { className: styles$1j.optionTitle, children: option.title }))] })] }, option.id))), showNoResults && (jsxs("li", { className: styles$1j.noResults, role: "status", children: ["No users found matching \"", trimmedQuery, "\""] }))] })), showMinLengthHint && (jsxs("div", { className: styles$1j.hint, role: "status", children: ["Enter at least ", minSearchLength, " characters to search"] }))] }), (helperText || error) && (jsx("p", { className: [styles$1j.helperText, error ? styles$1j.errorText : '']
2652
+ .join(' '), onClick: () => selectOption(option), title: option.disabledReason, "data-test": `${dataTest}-option-${option.id}`, children: [jsx("span", { className: styles$1k.optionAvatar, "aria-hidden": "true", children: jsx(UserIcon, { size: 16 }) }), jsxs("span", { className: styles$1k.optionContent, children: [jsx("span", { className: styles$1k.optionName, children: option.name }), jsx("span", { className: styles$1k.optionEmail, children: option.email }), option.title && (jsx("span", { className: styles$1k.optionTitle, children: option.title }))] })] }, option.id))), showNoResults && (jsxs("li", { className: styles$1k.noResults, role: "status", children: ["No users found matching \"", trimmedQuery, "\""] }))] })), showMinLengthHint && (jsxs("div", { className: styles$1k.hint, role: "status", children: ["Enter at least ", minSearchLength, " characters to search"] }))] }), (helperText || error) && (jsx("p", { className: [styles$1k.helperText, error ? styles$1k.errorText : '']
2627
2653
  .filter(Boolean)
2628
2654
  .join(' '), role: error ? 'alert' : undefined, children: error || helperText }))] }));
2629
2655
  };
2630
2656
  MultiUserSearch.displayName = 'MultiUserSearch';
2631
2657
 
2632
- var styles$1i = {"navItem":"NavItem-module_navItem__4PpZU","disabled":"NavItem-module_disabled__uYqez","default":"NavItem-module_default__VB92P","active":"NavItem-module_active__3bcnW","pill":"NavItem-module_pill__pn5gl","icon":"NavItem-module_icon__j9VQ5","label":"NavItem-module_label__3S3KY","sm":"NavItem-module_sm__1oeZI","md":"NavItem-module_md__ySO90","lg":"NavItem-module_lg__OmaBw","collapsed":"NavItem-module_collapsed__ciZ6-","iconSm":"NavItem-module_iconSm__UvWnu","iconMd":"NavItem-module_iconMd__uAMlQ","iconLg":"NavItem-module_iconLg__PFPKD","badge":"NavItem-module_badge__oP9u2"};
2658
+ var styles$1j = {"navItem":"NavItem-module_navItem__4PpZU","disabled":"NavItem-module_disabled__uYqez","default":"NavItem-module_default__VB92P","active":"NavItem-module_active__3bcnW","pill":"NavItem-module_pill__pn5gl","icon":"NavItem-module_icon__j9VQ5","label":"NavItem-module_label__3S3KY","sm":"NavItem-module_sm__1oeZI","md":"NavItem-module_md__ySO90","lg":"NavItem-module_lg__OmaBw","collapsed":"NavItem-module_collapsed__ciZ6-","iconSm":"NavItem-module_iconSm__UvWnu","iconMd":"NavItem-module_iconMd__uAMlQ","iconLg":"NavItem-module_iconLg__PFPKD","badge":"NavItem-module_badge__oP9u2"};
2633
2659
 
2634
2660
  const NavItem = ({ icon, label, active = false, collapsed = false, variant = 'default', size = 'md', badge, badgeVariant = 'default', onClick, disabled = false, href, external = false, className, 'aria-label': ariaLabel, }) => {
2635
- const content = (jsxs(Fragment, { children: [icon && jsx("span", { className: `${styles$1i.icon} ${styles$1i[`icon${size.charAt(0).toUpperCase()}${size.slice(1)}`]}`, "aria-hidden": "true", children: icon }), !collapsed && (jsx("span", { className: styles$1i.label, children: label })), badge !== undefined && !collapsed && (jsx(Badge, { variant: badgeVariant, className: styles$1i.badge, children: badge }))] }));
2661
+ const content = (jsxs(Fragment, { children: [icon && jsx("span", { className: `${styles$1j.icon} ${styles$1j[`icon${size.charAt(0).toUpperCase()}${size.slice(1)}`]}`, "aria-hidden": "true", children: icon }), !collapsed && (jsx("span", { className: styles$1j.label, children: label })), badge !== undefined && !collapsed && (jsx(Badge, { variant: badgeVariant, className: styles$1j.badge, children: badge }))] }));
2636
2662
  const classNames = [
2637
- styles$1i.navItem,
2638
- styles$1i[variant],
2639
- styles$1i[size],
2640
- active ? styles$1i.active : '',
2641
- collapsed ? styles$1i.collapsed : '',
2642
- disabled ? styles$1i.disabled : '',
2663
+ styles$1j.navItem,
2664
+ styles$1j[variant],
2665
+ styles$1j[size],
2666
+ active ? styles$1j.active : '',
2667
+ collapsed ? styles$1j.collapsed : '',
2668
+ disabled ? styles$1j.disabled : '',
2643
2669
  className || '',
2644
2670
  ].filter(Boolean).join(' ');
2645
2671
  const commonProps = {
@@ -2654,7 +2680,7 @@ const NavItem = ({ icon, label, active = false, collapsed = false, variant = 'de
2654
2680
  return (jsx("button", { type: "button", onClick: disabled ? undefined : onClick, disabled: disabled, ...commonProps, children: content }));
2655
2681
  };
2656
2682
 
2657
- var styles$1h = {"header":"PageHeader-module_header__mgurT","empty":"PageHeader-module_empty__PhGUS","body":"PageHeader-module_body__Ky9Vw","text":"PageHeader-module_text__aZXIA","pretitle":"PageHeader-module_pretitle__4rrfW","title":"PageHeader-module_title__GQfAe"};
2683
+ var styles$1i = {"header":"PageHeader-module_header__mgurT","empty":"PageHeader-module_empty__PhGUS","body":"PageHeader-module_body__Ky9Vw","text":"PageHeader-module_text__aZXIA","pretitle":"PageHeader-module_pretitle__4rrfW","title":"PageHeader-module_title__GQfAe"};
2658
2684
 
2659
2685
  /**
2660
2686
  * Standard page heading: an optional back control, a pretitle, the title, and
@@ -2663,10 +2689,10 @@ var styles$1h = {"header":"PageHeader-module_header__mgurT","empty":"PageHeader-
2663
2689
  * The header keeps its height while `title` is empty and fades in once one
2664
2690
  * arrives, so pages do not jump as their data loads.
2665
2691
  */
2666
- const PageHeader = ({ title, pretitle, after, back, className = '', }) => (jsxs("div", { className: `${styles$1h.header} ${title ? '' : styles$1h.empty} ${className}`, children: [back, jsx("div", { className: styles$1h.body, children: jsxs("div", { className: styles$1h.text, children: [pretitle && jsx("h2", { className: styles$1h.pretitle, children: pretitle }), jsxs("h1", { className: styles$1h.title, children: [title, "\u00A0"] }), after] }) })] }));
2692
+ const PageHeader = ({ title, pretitle, after, back, className = '', }) => (jsxs("div", { className: `${styles$1i.header} ${title ? '' : styles$1i.empty} ${className}`, children: [back, jsx("div", { className: styles$1i.body, children: jsxs("div", { className: styles$1i.text, children: [pretitle && jsx("h2", { className: styles$1i.pretitle, children: pretitle }), jsxs("h1", { className: styles$1i.title, children: [title, "\u00A0"] }), after] }) })] }));
2667
2693
  PageHeader.displayName = 'PageHeader';
2668
2694
 
2669
- var styles$1g = {"pagination":"Pagination-module_pagination__bYlk4","summary":"Pagination-module_summary__fE-zz","controls":"Pagination-module_controls__U-4MK","pageSize":"Pagination-module_pageSize__vqxE8","pages":"Pagination-module_pages__-EHb7","page":"Pagination-module_page__bMFDY","step":"Pagination-module_step__RQPZN","current":"Pagination-module_current__YkaCW","ellipsis":"Pagination-module_ellipsis__2nszM"};
2695
+ var styles$1h = {"pagination":"Pagination-module_pagination__bYlk4","summary":"Pagination-module_summary__fE-zz","controls":"Pagination-module_controls__U-4MK","pageSize":"Pagination-module_pageSize__vqxE8","pages":"Pagination-module_pages__-EHb7","page":"Pagination-module_page__bMFDY","step":"Pagination-module_step__RQPZN","current":"Pagination-module_current__YkaCW","ellipsis":"Pagination-module_ellipsis__2nszM"};
2670
2696
 
2671
2697
  /**
2672
2698
  * Builds the page-button list for a paginator, collapsing long runs into
@@ -2711,10 +2737,10 @@ const Pagination = ({ page, pageSize, totalItems, siblingCount = 1, pageSizeOpti
2711
2737
  return;
2712
2738
  onPageChange?.(next);
2713
2739
  };
2714
- return (jsxs("nav", { className: [styles$1g.pagination, className].filter(Boolean).join(' '), "aria-label": ariaLabel, "data-test": "pagination", children: [!hideSummary && (jsxs("p", { className: styles$1g.summary, "data-test": "pagination-summary", children: ["Showing ", firstItem, "\u2013", lastItem, " of ", totalItems, " ", itemLabel] })), jsxs("div", { className: styles$1g.controls, children: [showSizeSelector && (jsxs("label", { className: styles$1g.pageSize, children: [jsx("span", { children: "Rows per page" }), jsx("select", { value: pageSize, onChange: (event) => onPageSizeChange?.(Number(event.target.value)), "data-test": "pagination-page-size", children: pageSizeOptions.map((option) => (jsx("option", { value: option, children: option }, option))) })] })), jsxs("ul", { className: styles$1g.pages, children: [jsx("li", { children: jsx("button", { type: "button", className: styles$1g.step, onClick: () => goTo(currentPage - 1), disabled: currentPage <= 1, "aria-label": "Previous page", "data-test": "pagination-previous", children: jsx(ChevronLeftIcon, { size: 16 }) }) }), items.map((item, index) => item === 'ellipsis' ? (jsx("li", { className: styles$1g.ellipsis, "aria-hidden": "true", children: "\u2026" }, `ellipsis-${index}`)) : (jsx("li", { children: jsx("button", { type: "button", className: [styles$1g.page, item === currentPage ? styles$1g.current : ''].filter(Boolean).join(' '), onClick: () => goTo(item), "aria-label": `Page ${item}`, "aria-current": item === currentPage ? 'page' : undefined, "data-test": `pagination-page-${item}`, children: item }) }, item))), jsx("li", { children: jsx("button", { type: "button", className: styles$1g.step, onClick: () => goTo(currentPage + 1), disabled: currentPage >= pageCount, "aria-label": "Next page", "data-test": "pagination-next", children: jsx(ChevronRightIcon$1, { size: 16 }) }) })] })] })] }));
2740
+ return (jsxs("nav", { className: [styles$1h.pagination, className].filter(Boolean).join(' '), "aria-label": ariaLabel, "data-test": "pagination", children: [!hideSummary && (jsxs("p", { className: styles$1h.summary, "data-test": "pagination-summary", children: ["Showing ", firstItem, "\u2013", lastItem, " of ", totalItems, " ", itemLabel] })), jsxs("div", { className: styles$1h.controls, children: [showSizeSelector && (jsxs("label", { className: styles$1h.pageSize, children: [jsx("span", { children: "Rows per page" }), jsx("select", { value: pageSize, onChange: (event) => onPageSizeChange?.(Number(event.target.value)), "data-test": "pagination-page-size", children: pageSizeOptions.map((option) => (jsx("option", { value: option, children: option }, option))) })] })), jsxs("ul", { className: styles$1h.pages, children: [jsx("li", { children: jsx("button", { type: "button", className: styles$1h.step, onClick: () => goTo(currentPage - 1), disabled: currentPage <= 1, "aria-label": "Previous page", "data-test": "pagination-previous", children: jsx(ChevronLeftIcon, { size: 16 }) }) }), items.map((item, index) => item === 'ellipsis' ? (jsx("li", { className: styles$1h.ellipsis, "aria-hidden": "true", children: "\u2026" }, `ellipsis-${index}`)) : (jsx("li", { children: jsx("button", { type: "button", className: [styles$1h.page, item === currentPage ? styles$1h.current : ''].filter(Boolean).join(' '), onClick: () => goTo(item), "aria-label": `Page ${item}`, "aria-current": item === currentPage ? 'page' : undefined, "data-test": `pagination-page-${item}`, children: item }) }, item))), jsx("li", { children: jsx("button", { type: "button", className: styles$1h.step, onClick: () => goTo(currentPage + 1), disabled: currentPage >= pageCount, "aria-label": "Next page", "data-test": "pagination-next", children: jsx(ChevronRightIcon$1, { size: 16 }) }) })] })] })] }));
2715
2741
  };
2716
2742
 
2717
- var styles$1f = {"barContainer":"Progress-module_barContainer__e4v8v","barTrack":"Progress-module_barTrack__tJsPO","barFill":"Progress-module_barFill__RbcDy","barxs":"Progress-module_barxs__TLS4q","barsm":"Progress-module_barsm__BFAiw","barmd":"Progress-module_barmd__QDW-h","barlg":"Progress-module_barlg__C-Mzw","barLabel":"Progress-module_barLabel__4PFJ7","circleContainer":"Progress-module_circleContainer__zyOTa","circleSvg":"Progress-module_circleSvg__0Tt1Q","circleTrack":"Progress-module_circleTrack__p4VWf","circleFill":"Progress-module_circleFill__6fU2M","circleLabel":"Progress-module_circleLabel__vHLfU","primary":"Progress-module_primary__H2wpc","success":"Progress-module_success__rmmnE","warning":"Progress-module_warning__68ovy","error":"Progress-module_error__ZXkH0"};
2743
+ var styles$1g = {"barContainer":"Progress-module_barContainer__e4v8v","barTrack":"Progress-module_barTrack__tJsPO","barFill":"Progress-module_barFill__RbcDy","barxs":"Progress-module_barxs__TLS4q","barsm":"Progress-module_barsm__BFAiw","barmd":"Progress-module_barmd__QDW-h","barlg":"Progress-module_barlg__C-Mzw","barLabel":"Progress-module_barLabel__4PFJ7","circleContainer":"Progress-module_circleContainer__zyOTa","circleSvg":"Progress-module_circleSvg__0Tt1Q","circleTrack":"Progress-module_circleTrack__p4VWf","circleFill":"Progress-module_circleFill__6fU2M","circleLabel":"Progress-module_circleLabel__vHLfU","primary":"Progress-module_primary__H2wpc","success":"Progress-module_success__rmmnE","warning":"Progress-module_warning__68ovy","error":"Progress-module_error__ZXkH0"};
2718
2744
 
2719
2745
  const dimensions = {
2720
2746
  xs: 32,
@@ -2730,7 +2756,7 @@ const strokeWidths = {
2730
2756
  };
2731
2757
  const ProgressBar = ({ value, max = 100, size = 'md', variant = 'primary', showLabel = false, className = '', }) => {
2732
2758
  const percentage = Math.min(Math.max((value / max) * 100, 0), 100);
2733
- return (jsxs("div", { className: `${styles$1f.barContainer} ${styles$1f[`bar${size}`]} ${className}`, children: [jsx("div", { className: styles$1f.barTrack, children: jsx("div", { className: `${styles$1f.barFill} ${styles$1f[variant]}`, style: { width: `${percentage}%` }, role: "progressbar", "aria-valuenow": value, "aria-valuemin": 0, "aria-valuemax": max }) }), showLabel && (jsxs("span", { className: styles$1f.barLabel, children: [Math.round(percentage), "%"] }))] }));
2759
+ return (jsxs("div", { className: `${styles$1g.barContainer} ${styles$1g[`bar${size}`]} ${className}`, children: [jsx("div", { className: styles$1g.barTrack, children: jsx("div", { className: `${styles$1g.barFill} ${styles$1g[variant]}`, style: { width: `${percentage}%` }, role: "progressbar", "aria-valuenow": value, "aria-valuemin": 0, "aria-valuemax": max }) }), showLabel && (jsxs("span", { className: styles$1g.barLabel, children: [Math.round(percentage), "%"] }))] }));
2734
2760
  };
2735
2761
  const ProgressCircle = ({ value, max = 100, size = 'md', variant = 'primary', showLabel = false, className = '', diameter, }) => {
2736
2762
  const percentage = Math.min(Math.max((value / max) * 100, 0), 100);
@@ -2741,7 +2767,7 @@ const ProgressCircle = ({ value, max = 100, size = 'md', variant = 'primary', sh
2741
2767
  const radius = (dimension - strokeWidth) / 2;
2742
2768
  const circumference = radius * 2 * Math.PI;
2743
2769
  const strokeDashoffset = circumference - (percentage / 100) * circumference;
2744
- return (jsxs("div", { className: `${styles$1f.circleContainer} ${className}`, style: { width: dimension, height: dimension }, children: [jsxs("svg", { width: dimension, height: dimension, className: styles$1f.circleSvg, children: [jsx("circle", { className: styles$1f.circleTrack, cx: dimension / 2, cy: dimension / 2, r: radius, strokeWidth: strokeWidth, fill: "transparent" }), jsx("circle", { className: `${styles$1f.circleFill} ${styles$1f[variant]}`, cx: dimension / 2, cy: dimension / 2, r: radius, strokeWidth: strokeWidth, fill: "transparent", strokeDasharray: circumference, strokeDashoffset: strokeDashoffset, strokeLinecap: "round", role: "progressbar", "aria-valuenow": value, "aria-valuemin": 0, "aria-valuemax": max })] }), showLabel && (jsxs("span", { className: styles$1f.circleLabel, style: { fontSize: size === 'xs' ? '8px' : size === 'sm' ? '10px' : size === 'md' ? '12px' : '14px' }, children: [Math.round(percentage), "%"] }))] }));
2770
+ return (jsxs("div", { className: `${styles$1g.circleContainer} ${className}`, style: { width: dimension, height: dimension }, children: [jsxs("svg", { width: dimension, height: dimension, className: styles$1g.circleSvg, children: [jsx("circle", { className: styles$1g.circleTrack, cx: dimension / 2, cy: dimension / 2, r: radius, strokeWidth: strokeWidth, fill: "transparent" }), jsx("circle", { className: `${styles$1g.circleFill} ${styles$1g[variant]}`, cx: dimension / 2, cy: dimension / 2, r: radius, strokeWidth: strokeWidth, fill: "transparent", strokeDasharray: circumference, strokeDashoffset: strokeDashoffset, strokeLinecap: "round", role: "progressbar", "aria-valuenow": value, "aria-valuemin": 0, "aria-valuemax": max })] }), showLabel && (jsxs("span", { className: styles$1g.circleLabel, style: { fontSize: size === 'xs' ? '8px' : size === 'sm' ? '10px' : size === 'md' ? '12px' : '14px' }, children: [Math.round(percentage), "%"] }))] }));
2745
2771
  };
2746
2772
  // Combined export
2747
2773
  const Progress = {
@@ -2749,7 +2775,29 @@ const Progress = {
2749
2775
  Circle: ProgressCircle,
2750
2776
  };
2751
2777
 
2752
- var styles$1e = {"toolbar":"RosterToolbar-module_toolbar__IHjs9","leftSection":"RosterToolbar-module_leftSection__baz7E","rightSection":"RosterToolbar-module_rightSection__R2b-D","dropdown":"RosterToolbar-module_dropdown__NKaWV","dropdownTrigger":"RosterToolbar-module_dropdownTrigger__nCoaZ","dropdownMenu":"RosterToolbar-module_dropdownMenu__7QuED","dropdownItem":"RosterToolbar-module_dropdownItem__mrsat","dropdownItemIcon":"RosterToolbar-module_dropdownItemIcon__gx5tx","lockButton":"RosterToolbar-module_lockButton__zw3s0","locked":"RosterToolbar-module_locked__DVnqB","saveButton":"RosterToolbar-module_saveButton__th1lq","spinner":"RosterToolbar-module_spinner__uWdPg"};
2778
+ // 5px block padding, which is what Hub's `py-1.25` resolves to.
2779
+ const resultCountStyle = css({
2780
+ paddingTop: '5px',
2781
+ paddingBottom: '5px',
2782
+ margin: 0,
2783
+ });
2784
+
2785
+ /**
2786
+ * The "12 trips displayed" line that sits above a filtered list.
2787
+ *
2788
+ * It reports what is on screen, not what exists — the distinction matters when
2789
+ * a filter is applied, which is exactly when someone reads it.
2790
+ *
2791
+ * The count is announced politely so screen-reader users hear the list resize
2792
+ * as they filter, instead of having to go looking for the number.
2793
+ */
2794
+ const ResultCount = ({ count, noun, pluralNoun, className = '', style, }) => {
2795
+ const word = count === 1 ? noun : (pluralNoun ?? `${noun}s`);
2796
+ return (jsxs("p", { className: className, "data-testid": "result-count", "aria-live": "polite", style: toInlineStyle(merge(resultCountStyle, style)), children: [count, " ", word.toLocaleLowerCase(), " displayed"] }));
2797
+ };
2798
+ ResultCount.displayName = 'ResultCount';
2799
+
2800
+ var styles$1f = {"toolbar":"RosterToolbar-module_toolbar__IHjs9","leftSection":"RosterToolbar-module_leftSection__baz7E","rightSection":"RosterToolbar-module_rightSection__R2b-D","dropdown":"RosterToolbar-module_dropdown__NKaWV","dropdownTrigger":"RosterToolbar-module_dropdownTrigger__nCoaZ","dropdownMenu":"RosterToolbar-module_dropdownMenu__7QuED","dropdownItem":"RosterToolbar-module_dropdownItem__mrsat","dropdownItemIcon":"RosterToolbar-module_dropdownItemIcon__gx5tx","lockButton":"RosterToolbar-module_lockButton__zw3s0","locked":"RosterToolbar-module_locked__DVnqB","saveButton":"RosterToolbar-module_saveButton__th1lq","spinner":"RosterToolbar-module_spinner__uWdPg"};
2753
2801
 
2754
2802
  const ImportIcon = () => (jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [jsx("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }), jsx("polyline", { points: "17 8 12 3 7 8" }), jsx("line", { x1: "12", y1: "3", x2: "12", y2: "15" })] }));
2755
2803
  const ExportIcon$1 = () => (jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [jsx("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }), jsx("polyline", { points: "7 10 12 15 17 10" }), jsx("line", { x1: "12", y1: "15", x2: "12", y2: "3" })] }));
@@ -2757,23 +2805,23 @@ const ChevronIcon$2 = () => (jsx("svg", { width: "12", height: "12", viewBox: "0
2757
2805
  const LockIcon = () => (jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [jsx("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2", ry: "2" }), jsx("path", { d: "M7 11V7a5 5 0 0 1 10 0v4" })] }));
2758
2806
  const UnlockIcon = () => (jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [jsx("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2", ry: "2" }), jsx("path", { d: "M7 11V7a5 5 0 0 1 9.9-1" })] }));
2759
2807
  const SaveIcon = () => (jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [jsx("path", { d: "M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z" }), jsx("polyline", { points: "17 21 17 13 7 13 7 21" }), jsx("polyline", { points: "7 3 7 8 15 8" })] }));
2760
- const SpinnerIcon = () => (jsx("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", className: styles$1e.spinner, children: jsx("circle", { cx: "12", cy: "12", r: "10", strokeDasharray: "32", strokeDashoffset: "32" }) }));
2808
+ const SpinnerIcon = () => (jsx("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", className: styles$1f.spinner, children: jsx("circle", { cx: "12", cy: "12", r: "10", strokeDasharray: "32", strokeDashoffset: "32" }) }));
2761
2809
  const DropdownButton = ({ label, icon, options, }) => {
2762
- return (jsxs("div", { className: styles$1e.dropdown, children: [jsxs("button", { type: "button", className: styles$1e.dropdownTrigger, children: [icon, jsx("span", { children: label }), jsx(ChevronIcon$2, {})] }), jsx("div", { className: styles$1e.dropdownMenu, children: options.map((option, i) => (jsxs("button", { type: "button", className: styles$1e.dropdownItem, onClick: option.onClick, disabled: option.disabled, children: [option.icon && jsx("span", { className: styles$1e.dropdownItemIcon, children: option.icon }), option.label] }, i))) })] }));
2810
+ return (jsxs("div", { className: styles$1f.dropdown, children: [jsxs("button", { type: "button", className: styles$1f.dropdownTrigger, children: [icon, jsx("span", { children: label }), jsx(ChevronIcon$2, {})] }), jsx("div", { className: styles$1f.dropdownMenu, children: options.map((option, i) => (jsxs("button", { type: "button", className: styles$1f.dropdownItem, onClick: option.onClick, disabled: option.disabled, children: [option.icon && jsx("span", { className: styles$1f.dropdownItemIcon, children: option.icon }), option.label] }, i))) })] }));
2763
2811
  };
2764
2812
  /**
2765
2813
  * RosterToolbar - Toolbar for roster management with import/export/save actions
2766
2814
  */
2767
2815
  const RosterToolbar = ({ importOptions, exportOptions, lockToggle, saveButton, additionalActions, searchField, className = '', }) => {
2768
- const toolbarClasses = [styles$1e.toolbar, className].filter(Boolean).join(' ');
2769
- return (jsxs("div", { className: toolbarClasses, children: [jsxs("div", { className: styles$1e.leftSection, children: [searchField, additionalActions] }), jsxs("div", { className: styles$1e.rightSection, children: [importOptions && importOptions.length > 0 && (jsx(DropdownButton, { label: "Import", icon: jsx(ImportIcon, {}), options: importOptions })), exportOptions && exportOptions.length > 0 && (jsx(DropdownButton, { label: "Export", icon: jsx(ExportIcon$1, {}), options: exportOptions })), lockToggle && (jsxs("button", { type: "button", className: [
2770
- styles$1e.lockButton,
2771
- lockToggle.isLocked ? styles$1e.locked : '',
2772
- ].filter(Boolean).join(' '), onClick: () => lockToggle.onToggle(!lockToggle.isLocked), disabled: lockToggle.disabled, "aria-label": lockToggle.isLocked ? 'Unlock roster' : 'Lock roster', children: [lockToggle.isLocked ? jsx(LockIcon, {}) : jsx(UnlockIcon, {}), jsx("span", { children: lockToggle.isLocked ? 'Locked' : 'Unlocked' })] })), saveButton && (jsxs("button", { type: "button", className: styles$1e.saveButton, onClick: saveButton.onClick, disabled: saveButton.disabled || saveButton.loading, children: [saveButton.loading ? jsx(SpinnerIcon, {}) : jsx(SaveIcon, {}), jsx("span", { children: saveButton.label || 'Save' })] }))] })] }));
2816
+ const toolbarClasses = [styles$1f.toolbar, className].filter(Boolean).join(' ');
2817
+ return (jsxs("div", { className: toolbarClasses, children: [jsxs("div", { className: styles$1f.leftSection, children: [searchField, additionalActions] }), jsxs("div", { className: styles$1f.rightSection, children: [importOptions && importOptions.length > 0 && (jsx(DropdownButton, { label: "Import", icon: jsx(ImportIcon, {}), options: importOptions })), exportOptions && exportOptions.length > 0 && (jsx(DropdownButton, { label: "Export", icon: jsx(ExportIcon$1, {}), options: exportOptions })), lockToggle && (jsxs("button", { type: "button", className: [
2818
+ styles$1f.lockButton,
2819
+ lockToggle.isLocked ? styles$1f.locked : '',
2820
+ ].filter(Boolean).join(' '), onClick: () => lockToggle.onToggle(!lockToggle.isLocked), disabled: lockToggle.disabled, "aria-label": lockToggle.isLocked ? 'Unlock roster' : 'Lock roster', children: [lockToggle.isLocked ? jsx(LockIcon, {}) : jsx(UnlockIcon, {}), jsx("span", { children: lockToggle.isLocked ? 'Locked' : 'Unlocked' })] })), saveButton && (jsxs("button", { type: "button", className: styles$1f.saveButton, onClick: saveButton.onClick, disabled: saveButton.disabled || saveButton.loading, children: [saveButton.loading ? jsx(SpinnerIcon, {}) : jsx(SaveIcon, {}), jsx("span", { children: saveButton.label || 'Save' })] }))] })] }));
2773
2821
  };
2774
2822
  RosterToolbar.displayName = 'RosterToolbar';
2775
2823
 
2776
- var styles$1d = {"searchField":"SearchField-module_searchField__c7gUE","inputWrapper":"SearchField-module_inputWrapper__SUzHv","searchIcon":"SearchField-module_searchIcon__MOZ2m","input":"SearchField-module_input__abJcl","clearButton":"SearchField-module_clearButton__RMIg2","sm":"SearchField-module_sm__-sayT","lg":"SearchField-module_lg__QKacI"};
2824
+ var styles$1e = {"searchField":"SearchField-module_searchField__c7gUE","inputWrapper":"SearchField-module_inputWrapper__SUzHv","searchIcon":"SearchField-module_searchIcon__MOZ2m","input":"SearchField-module_input__abJcl","clearButton":"SearchField-module_clearButton__RMIg2","sm":"SearchField-module_sm__-sayT","lg":"SearchField-module_lg__QKacI"};
2777
2825
 
2778
2826
  const SearchField = forwardRef(({ placeholder = 'Search...', value, defaultValue = '', onChange, onSearch, onClear, size = 'md', disabled = false, showClear = true, showButton = true, className, id, 'aria-label': ariaLabel = 'Search', ...props }, ref) => {
2779
2827
  const [internalValue, setInternalValue] = useState(defaultValue);
@@ -2801,25 +2849,25 @@ const SearchField = forwardRef(({ placeholder = 'Search...', value, defaultValue
2801
2849
  onSearch?.(currentValue);
2802
2850
  }
2803
2851
  };
2804
- return (jsxs("form", { className: `${styles$1d.searchField} ${styles$1d[size]} ${className || ''}`, onSubmit: handleSubmit, role: "search", children: [jsxs("div", { className: styles$1d.inputWrapper, children: [jsx(SearchIcon$1, { className: styles$1d.searchIcon, "aria-hidden": "true" }), jsx(Input, { ref: ref, id: id, type: "search", placeholder: placeholder, value: currentValue, onChange: handleChange, onKeyDown: handleKeyDown, disabled: disabled, className: styles$1d.input, "aria-label": ariaLabel, ...props }), showClear && currentValue && (jsx("button", { type: "button", className: styles$1d.clearButton, onClick: handleClear, disabled: disabled, "aria-label": "Clear search", children: jsx(CloseIcon, { size: 16 }) }))] }), showButton && (jsx(Button, { type: "submit", variant: "primary", size: size, disabled: disabled, children: "Search" }))] }));
2852
+ return (jsxs("form", { className: `${styles$1e.searchField} ${styles$1e[size]} ${className || ''}`, onSubmit: handleSubmit, role: "search", children: [jsxs("div", { className: styles$1e.inputWrapper, children: [jsx(SearchIcon$1, { className: styles$1e.searchIcon, "aria-hidden": "true" }), jsx(Input, { ref: ref, id: id, type: "search", placeholder: placeholder, value: currentValue, onChange: handleChange, onKeyDown: handleKeyDown, disabled: disabled, className: styles$1e.input, "aria-label": ariaLabel, ...props }), showClear && currentValue && (jsx("button", { type: "button", className: styles$1e.clearButton, onClick: handleClear, disabled: disabled, "aria-label": "Clear search", children: jsx(CloseIcon, { size: 16 }) }))] }), showButton && (jsx(Button, { type: "submit", variant: "primary", size: size, disabled: disabled, children: "Search" }))] }));
2805
2853
  });
2806
2854
  SearchField.displayName = 'SearchField';
2807
2855
 
2808
- var styles$1c = {"form":"SchoolContactForm-module_form__-Mx7k","portalLabel":"SchoolContactForm-module_portalLabel__GAeV6","newContactLabel":"SchoolContactForm-module_newContactLabel__7S3Vw","divider":"SchoolContactForm-module_divider__ZSx-R","nameFields":"SchoolContactForm-module_nameFields__Fcjl8","phoneFields":"SchoolContactForm-module_phoneFields__-zRPe"};
2856
+ var styles$1d = {"form":"SchoolContactForm-module_form__-Mx7k","portalLabel":"SchoolContactForm-module_portalLabel__GAeV6","newContactLabel":"SchoolContactForm-module_newContactLabel__7S3Vw","divider":"SchoolContactForm-module_divider__ZSx-R","nameFields":"SchoolContactForm-module_nameFields__Fcjl8","phoneFields":"SchoolContactForm-module_phoneFields__-zRPe"};
2809
2857
 
2810
2858
  /**
2811
2859
  * Layout for Hub's school-contact editor. Field controls stay injectable so
2812
2860
  * consuming applications retain their form state, validation, and masking.
2813
2861
  */
2814
- const SchoolContactForm = ({ mode, createFromPortalUser, firstNameField, middleInitialField, lastNameField, businessPhoneField, cellPhoneField, emailField, className = '', }) => (jsxs("div", { className: [styles$1c.form, className].filter(Boolean).join(' '), children: [mode === 'Add' && (jsxs(Fragment, { children: [jsxs("div", { children: [jsx("label", { className: styles$1c.portalLabel, children: "Create From Portal User" }), createFromPortalUser] }), jsx("div", { className: styles$1c.divider, children: jsx("strong", { children: "OR" }) }), jsx("p", { className: styles$1c.newContactLabel, children: "Create New Contact Without Portal Access" })] })), jsxs("div", { className: styles$1c.nameFields, children: [firstNameField, middleInitialField, lastNameField] }), jsxs("div", { className: styles$1c.phoneFields, children: [businessPhoneField, cellPhoneField] }), jsx("div", { children: emailField })] }));
2862
+ const SchoolContactForm = ({ mode, createFromPortalUser, firstNameField, middleInitialField, lastNameField, businessPhoneField, cellPhoneField, emailField, className = '', }) => (jsxs("div", { className: [styles$1d.form, className].filter(Boolean).join(' '), children: [mode === 'Add' && (jsxs(Fragment, { children: [jsxs("div", { children: [jsx("label", { className: styles$1d.portalLabel, children: "Create From Portal User" }), createFromPortalUser] }), jsx("div", { className: styles$1d.divider, children: jsx("strong", { children: "OR" }) }), jsx("p", { className: styles$1d.newContactLabel, children: "Create New Contact Without Portal Access" })] })), jsxs("div", { className: styles$1d.nameFields, children: [firstNameField, middleInitialField, lastNameField] }), jsxs("div", { className: styles$1d.phoneFields, children: [businessPhoneField, cellPhoneField] }), jsx("div", { children: emailField })] }));
2815
2863
 
2816
- var styles$1b = {"segment":"Segment-module_segment__UF-SG","fullWidth":"Segment-module_fullWidth__Hi19i","option":"Segment-module_option__UJUhj","disabled":"Segment-module_disabled__CSxuQ","selected":"Segment-module_selected__gRnVj","sm":"Segment-module_sm__h8S7Z","md":"Segment-module_md__4uTae","lg":"Segment-module_lg__zL0Hv","icon":"Segment-module_icon__ZHRr6"};
2864
+ var styles$1c = {"segment":"Segment-module_segment__UF-SG","fullWidth":"Segment-module_fullWidth__Hi19i","option":"Segment-module_option__UJUhj","disabled":"Segment-module_disabled__CSxuQ","selected":"Segment-module_selected__gRnVj","sm":"Segment-module_sm__h8S7Z","md":"Segment-module_md__4uTae","lg":"Segment-module_lg__zL0Hv","icon":"Segment-module_icon__ZHRr6"};
2817
2865
 
2818
2866
  const Segment = ({ options, value, onChange, size = 'md', fullWidth = false, className = '', 'aria-label': ariaLabel, }) => {
2819
- return (jsx("div", { className: `${styles$1b.segment} ${styles$1b[size]} ${fullWidth ? styles$1b.fullWidth : ''} ${className}`, role: "radiogroup", "aria-label": ariaLabel, children: options.map((option) => (jsxs("button", { type: "button", className: `${styles$1b.option} ${value === option.value ? styles$1b.selected : ''} ${option.disabled ? styles$1b.disabled : ''}`, onClick: () => !option.disabled && onChange(option.value), disabled: option.disabled, role: "radio", "aria-checked": value === option.value, children: [option.icon && jsx("span", { className: styles$1b.icon, children: option.icon }), option.label] }, option.value))) }));
2867
+ return (jsx("div", { className: `${styles$1c.segment} ${styles$1c[size]} ${fullWidth ? styles$1c.fullWidth : ''} ${className}`, role: "radiogroup", "aria-label": ariaLabel, children: options.map((option) => (jsxs("button", { type: "button", className: `${styles$1c.option} ${value === option.value ? styles$1c.selected : ''} ${option.disabled ? styles$1c.disabled : ''}`, onClick: () => !option.disabled && onChange(option.value), disabled: option.disabled, role: "radio", "aria-checked": value === option.value, children: [option.icon && jsx("span", { className: styles$1c.icon, children: option.icon }), option.label] }, option.value))) }));
2820
2868
  };
2821
2869
 
2822
- var styles$1a = {"container":"SelectFilter-module_container__tCC9y","trigger":"SelectFilter-module_trigger__5WbMf","open":"SelectFilter-module_open__oo-Y6","disabled":"SelectFilter-module_disabled__JUdi3","triggerText":"SelectFilter-module_triggerText__LM07K","placeholder":"SelectFilter-module_placeholder__J0xyo","chevron":"SelectFilter-module_chevron__x-Pnr","dropdown":"SelectFilter-module_dropdown__52FPP","tabs":"SelectFilter-module_tabs__wp6on","tab":"SelectFilter-module_tab__JpnWo","activeTab":"SelectFilter-module_activeTab__ShP7x","actions":"SelectFilter-module_actions__phfFl","actionBtn":"SelectFilter-module_actionBtn__ppB--","options":"SelectFilter-module_options__p1iCX","option":"SelectFilter-module_option__0vwfy","selected":"SelectFilter-module_selected__2vxyT","checkbox":"SelectFilter-module_checkbox__qTUjy","optionLabel":"SelectFilter-module_optionLabel__L4CMA","footer":"SelectFilter-module_footer__aq4JP","applyBtn":"SelectFilter-module_applyBtn__RFKei"};
2870
+ var styles$1b = {"container":"SelectFilter-module_container__tCC9y","trigger":"SelectFilter-module_trigger__5WbMf","open":"SelectFilter-module_open__oo-Y6","disabled":"SelectFilter-module_disabled__JUdi3","triggerText":"SelectFilter-module_triggerText__LM07K","placeholder":"SelectFilter-module_placeholder__J0xyo","chevron":"SelectFilter-module_chevron__x-Pnr","dropdown":"SelectFilter-module_dropdown__52FPP","tabs":"SelectFilter-module_tabs__wp6on","tab":"SelectFilter-module_tab__JpnWo","activeTab":"SelectFilter-module_activeTab__ShP7x","actions":"SelectFilter-module_actions__phfFl","actionBtn":"SelectFilter-module_actionBtn__ppB--","options":"SelectFilter-module_options__p1iCX","option":"SelectFilter-module_option__0vwfy","selected":"SelectFilter-module_selected__2vxyT","checkbox":"SelectFilter-module_checkbox__qTUjy","optionLabel":"SelectFilter-module_optionLabel__L4CMA","footer":"SelectFilter-module_footer__aq4JP","applyBtn":"SelectFilter-module_applyBtn__RFKei"};
2823
2871
 
2824
2872
  const ChevronIcon$1 = () => (jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: jsx("polyline", { points: "6 9 12 15 18 9" }) }));
2825
2873
  const CheckIcon = () => (jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: jsx("polyline", { points: "20 6 9 17 4 12" }) }));
@@ -2892,11 +2940,11 @@ const SelectFilter = ({ label, options = [], groupedOptions = {}, value = [], on
2892
2940
  }
2893
2941
  return `${selected.length} selected`;
2894
2942
  };
2895
- return (jsxs("div", { ref: dropdownRef, className: `${styles$1a.container} ${className}`, children: [jsxs("button", { type: "button", className: `${styles$1a.trigger} ${disabled ? styles$1a.disabled : ''} ${isOpen ? styles$1a.open : ''}`, onClick: () => !disabled && setIsOpen(!isOpen), children: [jsx("span", { className: `${styles$1a.triggerText} ${selectedValues.length === 0 ? styles$1a.placeholder : ''}`, children: getDisplayText() }), jsx("span", { className: styles$1a.chevron, children: jsx(ChevronIcon$1, {}) })] }), isOpen && (jsxs("div", { className: styles$1a.dropdown, style: { width }, children: [grouped && tabs.length > 0 && (jsx("div", { className: styles$1a.tabs, children: tabs.map(tab => (jsx("button", { type: "button", className: `${styles$1a.tab} ${activeTab === tab ? styles$1a.activeTab : ''}`, onClick: () => setActiveTab(tab), children: tab.charAt(0).toUpperCase() + tab.slice(1) }, tab))) })), multiselect && (jsxs("div", { className: styles$1a.actions, children: [jsx("button", { type: "button", className: styles$1a.actionBtn, onClick: handleSelectAll, children: "Select All" }), jsx("button", { type: "button", className: styles$1a.actionBtn, onClick: handleClear, children: "Clear" })] })), jsx("div", { className: styles$1a.options, children: currentOptions.map(option => (jsxs("div", { className: `${styles$1a.option} ${selectedValues.includes(option.value) ? styles$1a.selected : ''}`, onClick: () => handleSelect(option.value), children: [multiselect && (jsx("span", { className: styles$1a.checkbox, children: selectedValues.includes(option.value) && jsx(CheckIcon, {}) })), jsx("span", { className: styles$1a.optionLabel, children: option.label })] }, option.value))) }), multiselect && (jsx("div", { className: styles$1a.footer, children: jsx("button", { type: "button", className: styles$1a.applyBtn, onClick: () => setIsOpen(false), children: "Apply" }) }))] }))] }));
2943
+ return (jsxs("div", { ref: dropdownRef, className: `${styles$1b.container} ${className}`, children: [jsxs("button", { type: "button", className: `${styles$1b.trigger} ${disabled ? styles$1b.disabled : ''} ${isOpen ? styles$1b.open : ''}`, onClick: () => !disabled && setIsOpen(!isOpen), children: [jsx("span", { className: `${styles$1b.triggerText} ${selectedValues.length === 0 ? styles$1b.placeholder : ''}`, children: getDisplayText() }), jsx("span", { className: styles$1b.chevron, children: jsx(ChevronIcon$1, {}) })] }), isOpen && (jsxs("div", { className: styles$1b.dropdown, style: { width }, children: [grouped && tabs.length > 0 && (jsx("div", { className: styles$1b.tabs, children: tabs.map(tab => (jsx("button", { type: "button", className: `${styles$1b.tab} ${activeTab === tab ? styles$1b.activeTab : ''}`, onClick: () => setActiveTab(tab), children: tab.charAt(0).toUpperCase() + tab.slice(1) }, tab))) })), multiselect && (jsxs("div", { className: styles$1b.actions, children: [jsx("button", { type: "button", className: styles$1b.actionBtn, onClick: handleSelectAll, children: "Select All" }), jsx("button", { type: "button", className: styles$1b.actionBtn, onClick: handleClear, children: "Clear" })] })), jsx("div", { className: styles$1b.options, children: currentOptions.map(option => (jsxs("div", { className: `${styles$1b.option} ${selectedValues.includes(option.value) ? styles$1b.selected : ''}`, onClick: () => handleSelect(option.value), children: [multiselect && (jsx("span", { className: styles$1b.checkbox, children: selectedValues.includes(option.value) && jsx(CheckIcon, {}) })), jsx("span", { className: styles$1b.optionLabel, children: option.label })] }, option.value))) }), multiselect && (jsx("div", { className: styles$1b.footer, children: jsx("button", { type: "button", className: styles$1b.applyBtn, onClick: () => setIsOpen(false), children: "Apply" }) }))] }))] }));
2896
2944
  };
2897
2945
  SelectFilter.displayName = 'SelectFilter';
2898
2946
 
2899
- var styles$19 = {"list":"ServiceToggle-module_list__bBts8","item":"ServiceToggle-module_item__4wEbQ","labelContainer":"ServiceToggle-module_labelContainer__oz-I1","clickable":"ServiceToggle-module_clickable__yzQxe","icon":"ServiceToggle-module_icon__8IdST","label":"ServiceToggle-module_label__J98Ve"};
2947
+ var styles$1a = {"list":"ServiceToggle-module_list__bBts8","item":"ServiceToggle-module_item__4wEbQ","labelContainer":"ServiceToggle-module_labelContainer__oz-I1","clickable":"ServiceToggle-module_clickable__yzQxe","icon":"ServiceToggle-module_icon__8IdST","label":"ServiceToggle-module_label__J98Ve"};
2900
2948
 
2901
2949
  /**
2902
2950
  * ServiceToggle component for a single service item.
@@ -2909,19 +2957,19 @@ const ServiceToggle = ({ label, icon, hasToggle = true, enabled = false, onToggl
2909
2957
  onClick();
2910
2958
  }
2911
2959
  };
2912
- return (jsxs("div", { className: styles$19.item, children: [jsxs("div", { className: `${styles$19.labelContainer} ${isClickable ? styles$19.clickable : ''}`, onClick: handleClick, children: [icon && jsx("span", { className: styles$19.icon, children: icon }), jsx("span", { className: styles$19.label, children: label })] }), hasToggle && (jsx(Toggle, { "aria-label": label, checked: enabled, onChange: (checked) => onToggle?.(checked), disabled: disabled, size: "sm" }))] }));
2960
+ return (jsxs("div", { className: styles$1a.item, children: [jsxs("div", { className: `${styles$1a.labelContainer} ${isClickable ? styles$1a.clickable : ''}`, onClick: handleClick, children: [icon && jsx("span", { className: styles$1a.icon, children: icon }), jsx("span", { className: styles$1a.label, children: label })] }), hasToggle && (jsx(Toggle, { "aria-label": label, checked: enabled, onChange: (checked) => onToggle?.(checked), disabled: disabled, size: "sm" }))] }));
2913
2961
  };
2914
2962
  /**
2915
2963
  * ServiceToggleList component for displaying a list of services with toggles.
2916
2964
  * Used in travel request forms for service selection (Air, Hotel, Ground, etc.)
2917
2965
  */
2918
2966
  const ServiceToggleList = ({ services, enabledServices = {}, onToggle, onClick, className, disabled = false, }) => {
2919
- return (jsx("div", { className: `${styles$19.list} ${className || ''}`, children: services.map((service) => (jsx(ServiceToggle, { serviceKey: service.key, label: service.label, icon: service.icon, hasToggle: service.hasToggle, enabled: enabledServices[service.key] ?? false, onToggle: (enabled) => onToggle?.(service.key, enabled), onClick: () => onClick?.(service.key), disabled: disabled }, service.key))) }));
2967
+ return (jsx("div", { className: `${styles$1a.list} ${className || ''}`, children: services.map((service) => (jsx(ServiceToggle, { serviceKey: service.key, label: service.label, icon: service.icon, hasToggle: service.hasToggle, enabled: enabledServices[service.key] ?? false, onToggle: (enabled) => onToggle?.(service.key, enabled), onClick: () => onClick?.(service.key), disabled: disabled }, service.key))) }));
2920
2968
  };
2921
2969
  ServiceToggle.displayName = 'ServiceToggle';
2922
2970
  ServiceToggleList.displayName = 'ServiceToggleList';
2923
2971
 
2924
- var styles$18 = {"toggle":"SupplierTypeToggle-module_toggle__x4pTJ","active":"SupplierTypeToggle-module_active__8BGSe"};
2972
+ var styles$19 = {"toggle":"SupplierTypeToggle-module_toggle__x4pTJ","active":"SupplierTypeToggle-module_active__8BGSe"};
2925
2973
 
2926
2974
  const SUPPLIER_TYPE_OPTIONS = [
2927
2975
  { value: 'A', label: 'Air' },
@@ -2942,10 +2990,10 @@ const SupplierTypeToggle = ({ value, defaultValue = '', onChange, disabled = fal
2942
2990
  setInternalValue(nextValue);
2943
2991
  onChange?.(nextValue);
2944
2992
  };
2945
- return (jsx("div", { className: [styles$18.toggle, className].filter(Boolean).join(' '), role: "group", "aria-label": "Supplier type", children: OPTIONS.map((option) => (jsx("button", { type: "button", disabled: disabled, "aria-pressed": activeValue === option.value, className: activeValue === option.value ? styles$18.active : '', onClick: () => handleSelect(option.value), children: option.label }, option.value || 'all'))) }));
2993
+ return (jsx("div", { className: [styles$19.toggle, className].filter(Boolean).join(' '), role: "group", "aria-label": "Supplier type", children: OPTIONS.map((option) => (jsx("button", { type: "button", disabled: disabled, "aria-pressed": activeValue === option.value, className: activeValue === option.value ? styles$19.active : '', onClick: () => handleSelect(option.value), children: option.label }, option.value || 'all'))) }));
2946
2994
  };
2947
2995
 
2948
- var styles$17 = {"header":"TeamCalendarHeader-module_header__j6QB7","row":"TeamCalendarHeader-module_row__g8ntG","identity":"TeamCalendarHeader-module_identity__cvHGq","code":"TeamCalendarHeader-module_code__ClYXC","name":"TeamCalendarHeader-module_name__wqku-","content":"TeamCalendarHeader-module_content__Aqt4I"};
2996
+ var styles$18 = {"header":"TeamCalendarHeader-module_header__j6QB7","row":"TeamCalendarHeader-module_row__g8ntG","identity":"TeamCalendarHeader-module_identity__cvHGq","code":"TeamCalendarHeader-module_code__ClYXC","name":"TeamCalendarHeader-module_name__wqku-","content":"TeamCalendarHeader-module_content__Aqt4I"};
2949
2997
 
2950
2998
  /**
2951
2999
  * The heading of a team's column in the travel calendar: the team's code, its
@@ -2954,10 +3002,10 @@ var styles$17 = {"header":"TeamCalendarHeader-module_header__j6QB7","row":"TeamC
2954
3002
  * It sticks to the top of its column so the team stays identifiable while the
2955
3003
  * schedule scrolls.
2956
3004
  */
2957
- const TeamCalendarHeader = ({ teamCode, teamFullName, children, className = '', }) => (jsxs("div", { className: `${styles$17.header} ${className}`, children: [jsx("div", { className: styles$17.row, children: jsxs("div", { className: styles$17.identity, children: [jsx("div", { className: styles$17.code, children: teamCode }), teamFullName && jsx("span", { className: styles$17.name, children: teamFullName })] }) }), jsx("div", { className: styles$17.content, children: children })] }));
3005
+ const TeamCalendarHeader = ({ teamCode, teamFullName, children, className = '', }) => (jsxs("div", { className: `${styles$18.header} ${className}`, children: [jsx("div", { className: styles$18.row, children: jsxs("div", { className: styles$18.identity, children: [jsx("div", { className: styles$18.code, children: teamCode }), teamFullName && jsx("span", { className: styles$18.name, children: teamFullName })] }) }), jsx("div", { className: styles$18.content, children: children })] }));
2958
3006
  TeamCalendarHeader.displayName = 'TeamCalendarHeader';
2959
3007
 
2960
- var styles$16 = {"header":"TeamHeader-module_header__3Zx1c","empty":"TeamHeader-module_empty__fKrFE","left":"TeamHeader-module_left__yqug2","backButton":"TeamHeader-module_backButton__MqElX","titles":"TeamHeader-module_titles__m3Ne9","pretitle":"TeamHeader-module_pretitle__rZUD6","title":"TeamHeader-module_title__i3dmZ","actions":"TeamHeader-module_actions__ft1DN","subMenu":"TeamHeader-module_subMenu__oL-3Q","activeTab":"TeamHeader-module_activeTab__AUzdq"};
3008
+ var styles$17 = {"header":"TeamHeader-module_header__3Zx1c","empty":"TeamHeader-module_empty__fKrFE","left":"TeamHeader-module_left__yqug2","backButton":"TeamHeader-module_backButton__MqElX","titles":"TeamHeader-module_titles__m3Ne9","pretitle":"TeamHeader-module_pretitle__rZUD6","title":"TeamHeader-module_title__i3dmZ","actions":"TeamHeader-module_actions__ft1DN","subMenu":"TeamHeader-module_subMenu__oL-3Q","activeTab":"TeamHeader-module_activeTab__AUzdq"};
2961
3009
 
2962
3010
  const BackIcon = () => (jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [jsx("line", { x1: "19", y1: "12", x2: "5", y2: "12" }), jsx("polyline", { points: "12 19 5 12 12 5" })] }));
2963
3011
  /**
@@ -2968,8 +3016,8 @@ const TeamHeader = ({ title: suppliedTitle, teamCode, teamName, pretitle = 'Team
2968
3016
  ? `${teamCode} - ${teamName}`
2969
3017
  : teamName || teamCode || '');
2970
3018
  const headerClasses = [
2971
- styles$16.header,
2972
- !title ? styles$16.empty : '',
3019
+ styles$17.header,
3020
+ !title ? styles$17.empty : '',
2973
3021
  className,
2974
3022
  ].filter(Boolean).join(' ');
2975
3023
  const handleBack = () => {
@@ -2981,7 +3029,7 @@ const TeamHeader = ({ title: suppliedTitle, teamCode, teamName, pretitle = 'Team
2981
3029
  window.location.href = backHref;
2982
3030
  }
2983
3031
  };
2984
- return (jsxs("div", { className: headerClasses, "data-test": "team-header", children: [jsxs("div", { className: styles$16.left, children: [(backHref || onBack) && (jsx("button", { type: "button", className: styles$16.backButton, onClick: handleBack, "aria-label": "Go back", "data-test": "team-header-back", children: jsx(BackIcon, {}) })), jsxs("div", { className: styles$16.titles, children: [pretitle && jsx("span", { className: styles$16.pretitle, children: pretitle }), jsxs("h1", { className: styles$16.title, children: [title, "\u00A0"] })] })] }), actions && (jsx("div", { className: styles$16.actions, children: actions }))] }));
3032
+ return (jsxs("div", { className: headerClasses, "data-test": "team-header", children: [jsxs("div", { className: styles$17.left, children: [(backHref || onBack) && (jsx("button", { type: "button", className: styles$17.backButton, onClick: handleBack, "aria-label": "Go back", "data-test": "team-header-back", children: jsx(BackIcon, {}) })), jsxs("div", { className: styles$17.titles, children: [pretitle && jsx("span", { className: styles$17.pretitle, children: pretitle }), jsxs("h1", { className: styles$17.title, children: [title, "\u00A0"] })] })] }), actions && (jsx("div", { className: styles$17.actions, children: actions }))] }));
2985
3033
  };
2986
3034
  const DEFAULT_TABS$1 = [
2987
3035
  { id: 'profile', label: 'Profile' },
@@ -2990,11 +3038,11 @@ const DEFAULT_TABS$1 = [
2990
3038
  { id: 'user-access', label: 'User Access' },
2991
3039
  ];
2992
3040
  /** Router-agnostic counterpart of Hub's team-management submenu. */
2993
- const TeamSubMenu = ({ tabs = DEFAULT_TABS$1, activeTab, onTabChange, className = '' }) => (jsx("nav", { className: [styles$16.subMenu, className].filter(Boolean).join(' '), "aria-label": "Team management sections", "data-test": "team-management-tabs", children: tabs.map((tab) => (jsx("button", { type: "button", className: activeTab === tab.id ? styles$16.activeTab : '', "aria-current": activeTab === tab.id ? 'page' : undefined, "data-test": `team-management-tab-${tab.id}`, onClick: () => onTabChange?.(tab.id), children: tab.label }, tab.id))) }));
3041
+ const TeamSubMenu = ({ tabs = DEFAULT_TABS$1, activeTab, onTabChange, className = '' }) => (jsx("nav", { className: [styles$17.subMenu, className].filter(Boolean).join(' '), "aria-label": "Team management sections", "data-test": "team-management-tabs", children: tabs.map((tab) => (jsx("button", { type: "button", className: activeTab === tab.id ? styles$17.activeTab : '', "aria-current": activeTab === tab.id ? 'page' : undefined, "data-test": `team-management-tab-${tab.id}`, onClick: () => onTabChange?.(tab.id), children: tab.label }, tab.id))) }));
2994
3042
  TeamHeader.displayName = 'TeamHeader';
2995
3043
  TeamSubMenu.displayName = 'TeamSubMenu';
2996
3044
 
2997
- var styles$15 = {"segment":"TripSegment-module_segment__jX-Nq","light":"TripSegment-module_light__hHSb3","dark":"TripSegment-module_dark__3Fuo7","empty":"TripSegment-module_empty__vmzg0","item":"TripSegment-module_item__S-RC1","itemHeader":"TripSegment-module_itemHeader__wFWMo","itemType":"TripSegment-module_itemType__NsDLe","itemName":"TripSegment-module_itemName__ysYsC","route":"TripSegment-module_route__Shyz0","location":"TripSegment-module_location__8VCMH","details":"TripSegment-module_details__4U4Km","dates":"TripSegment-module_dates__Wn4-k"};
3045
+ var styles$16 = {"segment":"TripSegment-module_segment__jX-Nq","light":"TripSegment-module_light__hHSb3","dark":"TripSegment-module_dark__3Fuo7","empty":"TripSegment-module_empty__vmzg0","item":"TripSegment-module_item__S-RC1","itemHeader":"TripSegment-module_itemHeader__wFWMo","itemType":"TripSegment-module_itemType__NsDLe","itemName":"TripSegment-module_itemName__ysYsC","route":"TripSegment-module_route__Shyz0","location":"TripSegment-module_location__8VCMH","details":"TripSegment-module_details__4U4Km","dates":"TripSegment-module_dates__Wn4-k"};
2998
3046
 
2999
3047
  const PlaneIcon$2 = () => (jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: jsx("path", { d: "M21 16v-2l-8-5V3.5a1.5 1.5 0 0 0-3 0V9l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-5.5l8 2.5Z" }) }));
3000
3048
  const BusIcon$1 = () => (jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [jsx("rect", { x: "4", y: "4", width: "16", height: "14", rx: "2" }), jsx("path", { d: "M8 6v6" }), jsx("path", { d: "M16 6v6" }), jsx("circle", { cx: "8", cy: "16", r: "1" }), jsx("circle", { cx: "16", cy: "16", r: "1" })] }));
@@ -3004,41 +3052,41 @@ const ArrowIcon = () => (jsxs("svg", { width: "12", height: "12", viewBox: "0 0
3004
3052
  * Base TripSegment component wrapper
3005
3053
  */
3006
3054
  const TripSegment = ({ type: _type, variant = 'light', className = '', children, }) => {
3007
- return (jsx("div", { className: `${styles$15.segment} ${styles$15[variant]} ${className}`, children: children }));
3055
+ return (jsx("div", { className: `${styles$16.segment} ${styles$16[variant]} ${className}`, children: children }));
3008
3056
  };
3009
3057
  /**
3010
3058
  * AirSegment component for displaying flight information
3011
3059
  */
3012
3060
  const AirSegment = ({ flights, variant = 'light', className = '', }) => {
3013
3061
  if (!flights || flights.length === 0) {
3014
- return (jsx(TripSegment, { type: "air", variant: variant, className: className, children: jsx("span", { className: styles$15.empty, children: "No flights" }) }));
3062
+ return (jsx(TripSegment, { type: "air", variant: variant, className: className, children: jsx("span", { className: styles$16.empty, children: "No flights" }) }));
3015
3063
  }
3016
- return (jsx(TripSegment, { type: "air", variant: variant, className: className, children: flights.map((flight, i) => (jsxs("div", { className: styles$15.item, children: [jsxs("div", { className: styles$15.itemHeader, children: [jsx(PlaneIcon$2, {}), jsx("span", { className: styles$15.itemType, children: flight.type === 'charter' ? 'Charter' : 'Commercial' })] }), jsxs("div", { className: styles$15.route, children: [jsx("span", { className: styles$15.location, children: flight.departure }), jsx(ArrowIcon, {}), jsx("span", { className: styles$15.location, children: flight.arrival })] }), jsxs("div", { className: styles$15.details, children: [jsx("span", { children: flight.departureDate }), flight.departureTime && jsx("span", { children: flight.departureTime })] }), flight.airline && (jsxs("div", { className: styles$15.details, children: [jsx("span", { children: flight.airline }), flight.flightNumber && jsxs("span", { children: ["#", flight.flightNumber] })] }))] }, i))) }));
3064
+ return (jsx(TripSegment, { type: "air", variant: variant, className: className, children: flights.map((flight, i) => (jsxs("div", { className: styles$16.item, children: [jsxs("div", { className: styles$16.itemHeader, children: [jsx(PlaneIcon$2, {}), jsx("span", { className: styles$16.itemType, children: flight.type === 'charter' ? 'Charter' : 'Commercial' })] }), jsxs("div", { className: styles$16.route, children: [jsx("span", { className: styles$16.location, children: flight.departure }), jsx(ArrowIcon, {}), jsx("span", { className: styles$16.location, children: flight.arrival })] }), jsxs("div", { className: styles$16.details, children: [jsx("span", { children: flight.departureDate }), flight.departureTime && jsx("span", { children: flight.departureTime })] }), flight.airline && (jsxs("div", { className: styles$16.details, children: [jsx("span", { children: flight.airline }), flight.flightNumber && jsxs("span", { children: ["#", flight.flightNumber] })] }))] }, i))) }));
3017
3065
  };
3018
3066
  /**
3019
3067
  * GroundSegment component for displaying ground transportation
3020
3068
  */
3021
3069
  const GroundSegment = ({ segments, variant = 'light', className = '', }) => {
3022
3070
  if (!segments || segments.length === 0) {
3023
- return (jsx(TripSegment, { type: "ground", variant: variant, className: className, children: jsx("span", { className: styles$15.empty, children: "No ground transportation" }) }));
3071
+ return (jsx(TripSegment, { type: "ground", variant: variant, className: className, children: jsx("span", { className: styles$16.empty, children: "No ground transportation" }) }));
3024
3072
  }
3025
- return (jsx(TripSegment, { type: "ground", variant: variant, className: className, children: segments.map((segment, i) => (jsxs("div", { className: styles$15.item, children: [jsxs("div", { className: styles$15.itemHeader, children: [jsx(BusIcon$1, {}), jsx("span", { className: styles$15.itemType, children: segment.type.charAt(0).toUpperCase() + segment.type.slice(1) })] }), jsxs("div", { className: styles$15.route, children: [jsx("span", { className: styles$15.location, children: segment.pickupLocation }), jsx(ArrowIcon, {}), jsx("span", { className: styles$15.location, children: segment.dropoffLocation })] }), jsxs("div", { className: styles$15.details, children: [jsx("span", { children: segment.pickupDate }), segment.pickupTime && jsx("span", { children: segment.pickupTime })] }), segment.company && (jsxs("div", { className: styles$15.details, children: [jsx("span", { children: segment.company }), segment.vehicleCount && jsxs("span", { children: [segment.vehicleCount, " vehicles"] })] }))] }, i))) }));
3073
+ return (jsx(TripSegment, { type: "ground", variant: variant, className: className, children: segments.map((segment, i) => (jsxs("div", { className: styles$16.item, children: [jsxs("div", { className: styles$16.itemHeader, children: [jsx(BusIcon$1, {}), jsx("span", { className: styles$16.itemType, children: segment.type.charAt(0).toUpperCase() + segment.type.slice(1) })] }), jsxs("div", { className: styles$16.route, children: [jsx("span", { className: styles$16.location, children: segment.pickupLocation }), jsx(ArrowIcon, {}), jsx("span", { className: styles$16.location, children: segment.dropoffLocation })] }), jsxs("div", { className: styles$16.details, children: [jsx("span", { children: segment.pickupDate }), segment.pickupTime && jsx("span", { children: segment.pickupTime })] }), segment.company && (jsxs("div", { className: styles$16.details, children: [jsx("span", { children: segment.company }), segment.vehicleCount && jsxs("span", { children: [segment.vehicleCount, " vehicles"] })] }))] }, i))) }));
3026
3074
  };
3027
3075
  /**
3028
3076
  * HotelSegment component for displaying hotel information
3029
3077
  */
3030
3078
  const HotelSegment = ({ hotels, variant = 'light', className = '', }) => {
3031
3079
  if (!hotels || hotels.length === 0) {
3032
- return (jsx(TripSegment, { type: "hotel", variant: variant, className: className, children: jsx("span", { className: styles$15.empty, children: "No hotels" }) }));
3080
+ return (jsx(TripSegment, { type: "hotel", variant: variant, className: className, children: jsx("span", { className: styles$16.empty, children: "No hotels" }) }));
3033
3081
  }
3034
- return (jsx(TripSegment, { type: "hotel", variant: variant, className: className, children: hotels.map((hotel, i) => (jsxs("div", { className: styles$15.item, children: [jsxs("div", { className: styles$15.itemHeader, children: [jsx(HotelIcon$2, {}), jsx("span", { className: styles$15.itemName, children: hotel.name })] }), hotel.city && (jsx("div", { className: styles$15.details, children: jsx("span", { children: hotel.city }) })), jsxs("div", { className: styles$15.dates, children: [jsx("span", { children: hotel.checkIn }), jsx("span", { children: "\u2013" }), jsx("span", { children: hotel.checkOut })] }), hotel.roomCount && (jsx("div", { className: styles$15.details, children: jsxs("span", { children: [hotel.roomCount, " rooms"] }) }))] }, i))) }));
3082
+ return (jsx(TripSegment, { type: "hotel", variant: variant, className: className, children: hotels.map((hotel, i) => (jsxs("div", { className: styles$16.item, children: [jsxs("div", { className: styles$16.itemHeader, children: [jsx(HotelIcon$2, {}), jsx("span", { className: styles$16.itemName, children: hotel.name })] }), hotel.city && (jsx("div", { className: styles$16.details, children: jsx("span", { children: hotel.city }) })), jsxs("div", { className: styles$16.dates, children: [jsx("span", { children: hotel.checkIn }), jsx("span", { children: "\u2013" }), jsx("span", { children: hotel.checkOut })] }), hotel.roomCount && (jsx("div", { className: styles$16.details, children: jsxs("span", { children: [hotel.roomCount, " rooms"] }) }))] }, i))) }));
3035
3083
  };
3036
3084
  TripSegment.displayName = 'TripSegment';
3037
3085
  AirSegment.displayName = 'AirSegment';
3038
3086
  GroundSegment.displayName = 'GroundSegment';
3039
3087
  HotelSegment.displayName = 'HotelSegment';
3040
3088
 
3041
- var styles$14 = {"calculator":"AcmiQuoteCalculator-module_calculator__-6rXx","errorSummary":"AcmiQuoteCalculator-module_errorSummary__3UXtU","alertMessage":"AcmiQuoteCalculator-module_alertMessage__B-nGB","columns":"AcmiQuoteCalculator-module_columns__VlLlN","panel":"AcmiQuoteCalculator-module_panel__y5d5u","panelTitle":"AcmiQuoteCalculator-module_panelTitle__LSjm3","legs":"AcmiQuoteCalculator-module_legs__ULi1q","leg":"AcmiQuoteCalculator-module_leg__HJ-sm","automaticLeg":"AcmiQuoteCalculator-module_automaticLeg__Hvg55","legIndex":"AcmiQuoteCalculator-module_legIndex__Bkql5","legError":"AcmiQuoteCalculator-module_legError__nUX-M","actions":"AcmiQuoteCalculator-module_actions__fzH-d","results":"AcmiQuoteCalculator-module_results__U83fJ","resultGrid":"AcmiQuoteCalculator-module_resultGrid__f7Ktc","finalPrice":"AcmiQuoteCalculator-module_finalPrice__KGEGz","contractFacts":"AcmiQuoteCalculator-module_contractFacts__m55AN","pricedLegs":"AcmiQuoteCalculator-module_pricedLegs__AxxFS","pricedLegHeader":"AcmiQuoteCalculator-module_pricedLegHeader__e7bmc","pricedLeg":"AcmiQuoteCalculator-module_pricedLeg__I1XjZ"};
3089
+ var styles$15 = {"calculator":"AcmiQuoteCalculator-module_calculator__-6rXx","errorSummary":"AcmiQuoteCalculator-module_errorSummary__3UXtU","alertMessage":"AcmiQuoteCalculator-module_alertMessage__B-nGB","columns":"AcmiQuoteCalculator-module_columns__VlLlN","panel":"AcmiQuoteCalculator-module_panel__y5d5u","panelTitle":"AcmiQuoteCalculator-module_panelTitle__LSjm3","legs":"AcmiQuoteCalculator-module_legs__ULi1q","leg":"AcmiQuoteCalculator-module_leg__HJ-sm","automaticLeg":"AcmiQuoteCalculator-module_automaticLeg__Hvg55","legIndex":"AcmiQuoteCalculator-module_legIndex__Bkql5","legError":"AcmiQuoteCalculator-module_legError__nUX-M","actions":"AcmiQuoteCalculator-module_actions__fzH-d","results":"AcmiQuoteCalculator-module_results__U83fJ","resultGrid":"AcmiQuoteCalculator-module_resultGrid__f7Ktc","finalPrice":"AcmiQuoteCalculator-module_finalPrice__KGEGz","contractFacts":"AcmiQuoteCalculator-module_contractFacts__m55AN","pricedLegs":"AcmiQuoteCalculator-module_pricedLegs__AxxFS","pricedLegHeader":"AcmiQuoteCalculator-module_pricedLegHeader__e7bmc","pricedLeg":"AcmiQuoteCalculator-module_pricedLeg__I1XjZ"};
3042
3090
 
3043
3091
  /** Carriers STM currently holds ACMI agreements with. */
3044
3092
  const ACMI_CARRIER_OPTIONS = [
@@ -3154,19 +3202,19 @@ const AcmiQuoteCalculator = ({ carrierOptions = ACMI_CARRIER_OPTIONS, aircraftOp
3154
3202
  const seatHint = specs
3155
3203
  ? `Maximum ${specs.seats} passengers for this aircraft`
3156
3204
  : 'Select an aircraft to see seat capacity';
3157
- return (jsxs("div", { className: [styles$14.calculator, className].filter(Boolean).join(' '), "data-test": "acmi-quote-calculator", children: [showErrors && errorList.length > 0 && (jsx(Alert, { variant: "error", title: "Fix these before calculating", children: jsx("ul", { className: styles$14.errorSummary, "data-test": "acmi-error-summary", children: errorList.map(([field, message]) => (jsx("li", { children: message }, field))) }) })), calculationError && (jsx(Alert, { variant: "error", title: "Quote could not be calculated", children: jsx("p", { className: styles$14.alertMessage, "data-test": "acmi-calculation-error", children: calculationError }) })), jsxs("div", { className: styles$14.columns, children: [jsxs("section", { className: styles$14.panel, "aria-label": "Quote configuration", children: [jsx("h3", { className: styles$14.panelTitle, children: "Quote Configuration" }), jsx(Select, { id: "acmi-carrier", label: "Carrier", placeholder: "Select Carrier\u2026", options: carrierOptions, value: inputs.carrier, error: showErrors ? errors.carrier : undefined, onChange: (event) => updateCarrier(event.target.value), "data-test": "acmi-carrier" }), jsx(Select, { id: "acmi-aircraft", label: "Aircraft Type", placeholder: "Select Aircraft\u2026", options: availableAircraftOptions, value: inputs.aircraft, disabled: !inputs.carrier, error: showErrors ? errors.aircraft : undefined, onChange: (event) => update('aircraft', event.target.value), "data-test": "acmi-aircraft" }), jsx(Input, { id: "acmi-passengers", type: "number", label: "Number of Passengers", placeholder: "Enter passenger count", helperText: seatHint, value: inputs.passengers, error: showErrors ? errors.passengers : undefined, onChange: (event) => update('passengers', event.target.value), "data-test": "acmi-passengers" }), jsx(Input, { id: "acmi-fuel-price", type: "number", step: "0.01", label: "Fuel Price ($/gallon)", placeholder: "e.g. 5.50", value: inputs.fuelPrice, error: showErrors ? errors.fuelPrice : undefined, onChange: (event) => update('fuelPrice', event.target.value), "data-test": "acmi-fuel-price" }), jsx(Input, { id: "acmi-markup", type: "number", step: "0.1", label: "Markup %", helperText: "Standard is 7% \u2014 adjustable as needed", value: inputs.markupPercent, onChange: (event) => update('markupPercent', event.target.value), "data-test": "acmi-markup" }), jsx(Input, { id: "acmi-insurance", label: "Insurance (Flat Fee)", helperText: `${currency.format(insuranceFlat)} per trip (locked)`, value: currency.format(insuranceFlat), readOnly: true, disabled: true, "data-test": "acmi-insurance" }), jsx(Input, { id: "acmi-crew-nights", type: "number", label: "Crew Nights (RON)", helperText: "Number of nights crew stays away from base", value: inputs.crewNights, onChange: (event) => update('crewNights', event.target.value), "data-test": "acmi-crew-nights" }), showTripMonth && (jsx(Select, { id: "acmi-trip-month", label: "Trip Month (for Historic Winds)", options: TRIP_MONTH_OPTIONS, helperText: "Use this only when the configured pricing service applies a historic winds profile.", value: inputs.tripMonth, onChange: (event) => update('tripMonth', event.target.value), "data-test": "acmi-trip-month" }))] }), jsxs("section", { className: styles$14.panel, "aria-label": "Flight itinerary", children: [jsx("h3", { className: styles$14.panelTitle, children: "Flight Itinerary" }), jsx(Alert, { variant: "primary", children: positioningMode === 'automatic' ? (jsxs(Fragment, { children: ["Enter ", jsx("strong", { children: "live legs only" }), ", in trip order. The host pricing engine adds positioning ferry legs automatically. Leave flight time blank to use its route estimate; an entered time is treated as an explicit contractual input."] })) : (jsxs(Fragment, { children: ["Enter ", jsx("strong", { children: "every flown leg in order" }), ", including positioning. Mark each leg as live or ferry. Leave flight time blank to use the pricing engine\u2019s route estimate; an entered time is treated as an explicit contractual input."] })) }), showErrors && errors.legs && (jsx("p", { className: styles$14.legError, role: "alert", "data-test": "acmi-legs-error", children: errors.legs })), jsx("ol", { className: styles$14.legs, children: inputs.legs.map((leg, index) => (jsxs("li", { className: [
3158
- styles$14.leg,
3159
- positioningMode === 'automatic' ? styles$14.automaticLeg : '',
3160
- ].filter(Boolean).join(' '), "data-test": "acmi-leg", children: [jsxs("span", { className: styles$14.legIndex, children: ["Leg ", index + 1] }), positioningMode === 'explicit' && (jsx(Select, { id: `${leg.id}-type`, size: "sm", label: "Leg type", options: [
3205
+ return (jsxs("div", { className: [styles$15.calculator, className].filter(Boolean).join(' '), "data-test": "acmi-quote-calculator", children: [showErrors && errorList.length > 0 && (jsx(Alert, { variant: "error", title: "Fix these before calculating", children: jsx("ul", { className: styles$15.errorSummary, "data-test": "acmi-error-summary", children: errorList.map(([field, message]) => (jsx("li", { children: message }, field))) }) })), calculationError && (jsx(Alert, { variant: "error", title: "Quote could not be calculated", children: jsx("p", { className: styles$15.alertMessage, "data-test": "acmi-calculation-error", children: calculationError }) })), jsxs("div", { className: styles$15.columns, children: [jsxs("section", { className: styles$15.panel, "aria-label": "Quote configuration", children: [jsx("h3", { className: styles$15.panelTitle, children: "Quote Configuration" }), jsx(Select, { id: "acmi-carrier", label: "Carrier", placeholder: "Select Carrier\u2026", options: carrierOptions, value: inputs.carrier, error: showErrors ? errors.carrier : undefined, onChange: (event) => updateCarrier(event.target.value), "data-test": "acmi-carrier" }), jsx(Select, { id: "acmi-aircraft", label: "Aircraft Type", placeholder: "Select Aircraft\u2026", options: availableAircraftOptions, value: inputs.aircraft, disabled: !inputs.carrier, error: showErrors ? errors.aircraft : undefined, onChange: (event) => update('aircraft', event.target.value), "data-test": "acmi-aircraft" }), jsx(Input, { id: "acmi-passengers", type: "number", label: "Number of Passengers", placeholder: "Enter passenger count", helperText: seatHint, value: inputs.passengers, error: showErrors ? errors.passengers : undefined, onChange: (event) => update('passengers', event.target.value), "data-test": "acmi-passengers" }), jsx(Input, { id: "acmi-fuel-price", type: "number", step: "0.01", label: "Fuel Price ($/gallon)", placeholder: "e.g. 5.50", value: inputs.fuelPrice, error: showErrors ? errors.fuelPrice : undefined, onChange: (event) => update('fuelPrice', event.target.value), "data-test": "acmi-fuel-price" }), jsx(Input, { id: "acmi-markup", type: "number", step: "0.1", label: "Markup %", helperText: "Standard is 7% \u2014 adjustable as needed", value: inputs.markupPercent, onChange: (event) => update('markupPercent', event.target.value), "data-test": "acmi-markup" }), jsx(Input, { id: "acmi-insurance", label: "Insurance (Flat Fee)", helperText: `${currency.format(insuranceFlat)} per trip (locked)`, value: currency.format(insuranceFlat), readOnly: true, disabled: true, "data-test": "acmi-insurance" }), jsx(Input, { id: "acmi-crew-nights", type: "number", label: "Crew Nights (RON)", helperText: "Number of nights crew stays away from base", value: inputs.crewNights, onChange: (event) => update('crewNights', event.target.value), "data-test": "acmi-crew-nights" }), showTripMonth && (jsx(Select, { id: "acmi-trip-month", label: "Trip Month (for Historic Winds)", options: TRIP_MONTH_OPTIONS, helperText: "Use this only when the configured pricing service applies a historic winds profile.", value: inputs.tripMonth, onChange: (event) => update('tripMonth', event.target.value), "data-test": "acmi-trip-month" }))] }), jsxs("section", { className: styles$15.panel, "aria-label": "Flight itinerary", children: [jsx("h3", { className: styles$15.panelTitle, children: "Flight Itinerary" }), jsx(Alert, { variant: "primary", children: positioningMode === 'automatic' ? (jsxs(Fragment, { children: ["Enter ", jsx("strong", { children: "live legs only" }), ", in trip order. The host pricing engine adds positioning ferry legs automatically. Leave flight time blank to use its route estimate; an entered time is treated as an explicit contractual input."] })) : (jsxs(Fragment, { children: ["Enter ", jsx("strong", { children: "every flown leg in order" }), ", including positioning. Mark each leg as live or ferry. Leave flight time blank to use the pricing engine\u2019s route estimate; an entered time is treated as an explicit contractual input."] })) }), showErrors && errors.legs && (jsx("p", { className: styles$15.legError, role: "alert", "data-test": "acmi-legs-error", children: errors.legs })), jsx("ol", { className: styles$15.legs, children: inputs.legs.map((leg, index) => (jsxs("li", { className: [
3206
+ styles$15.leg,
3207
+ positioningMode === 'automatic' ? styles$15.automaticLeg : '',
3208
+ ].filter(Boolean).join(' '), "data-test": "acmi-leg", children: [jsxs("span", { className: styles$15.legIndex, children: ["Leg ", index + 1] }), positioningMode === 'explicit' && (jsx(Select, { id: `${leg.id}-type`, size: "sm", label: "Leg type", options: [
3161
3209
  { value: 'live', label: 'Live' },
3162
3210
  { value: 'ferry', label: 'Ferry' },
3163
- ], value: leg.type ?? 'live', onChange: (event) => updateLeg(leg.id, { type: event.target.value }), "data-test": "acmi-leg-type" })), jsx(Input, { id: `${leg.id}-origin`, size: "sm", label: "From", maxLength: 4, value: leg.origin, onChange: (event) => updateLeg(leg.id, { origin: event.target.value.toUpperCase() }), "data-test": "acmi-leg-origin" }), jsx(Input, { id: `${leg.id}-destination`, size: "sm", label: "To", maxLength: 4, value: leg.destination, onChange: (event) => updateLeg(leg.id, { destination: event.target.value.toUpperCase() }), "data-test": "acmi-leg-destination" }), jsx(Input, { id: `${leg.id}-flight-time`, size: "sm", type: "number", step: "0.1", label: "Flight time (h, optional)", value: leg.flightTime, onChange: (event) => updateLeg(leg.id, { flightTime: event.target.value }), "data-test": "acmi-leg-flight-time" }), jsx(Button, { variant: "ghost", size: "sm", square: true, "aria-label": `Remove leg ${index + 1}`, disabled: inputs.legs.length === 1, onClick: () => removeLeg(leg.id), "data-test": "acmi-remove-leg", children: jsx(TrashIcon$2, { size: 16 }) })] }, leg.id))) }), jsxs("div", { className: styles$14.actions, children: [jsx(Button, { variant: "outline", size: "sm", leftIcon: jsx(PlusIcon$2, { size: 16 }), onClick: addLeg, "data-test": "acmi-add-leg", children: "Add Flight Leg" }), jsx(Button, { size: "sm", loading: calculating, onClick: calculate, "data-test": "acmi-calculate", children: calculating ? 'Calculating' : 'Calculate Quote' }), result && onSubmitForApproval && (jsx(Button, { variant: "secondary", size: "sm", onClick: () => onSubmitForApproval(inputs), "data-test": "acmi-submit-approval", children: "Use This Total" }))] })] })] }), result && (jsxs("section", { className: styles$14.results, "aria-label": "Quote summary", "data-test": "acmi-results", children: [jsx("h3", { className: styles$14.panelTitle, children: "Quote Summary" }), jsxs("dl", { className: styles$14.resultGrid, children: [jsxs("div", { children: [jsx("dt", { children: "Operating Subtotal" }), jsx("dd", { children: currency.format(result.operatingSubtotal) })] }), jsxs("div", { children: [jsx("dt", { children: "Markup Applied" }), jsx("dd", { children: currency.format(result.markupAmount) })] }), jsxs("div", { children: [jsx("dt", { children: "Insurance (Flat Fee)" }), jsx("dd", { children: currency.format(result.insuranceAmount) })] }), jsxs("div", { children: [jsx("dt", { children: "Pre-Tax Total" }), jsx("dd", { children: currency.format(result.preTaxTotal) })] }), jsxs("div", { children: [jsx("dt", { children: "Federal Excise Tax" }), jsx("dd", { children: currency.format(result.fet) })] }), jsxs("div", { children: [jsx("dt", { children: "Segment Fees" }), jsx("dd", { children: currency.format(result.segmentFees) })] })] }), jsxs("p", { className: styles$14.finalPrice, "data-test": "acmi-final-price", children: [jsx("span", { children: "Total Quoted Price" }), jsx("strong", { children: currency.format(result.finalPrice) })] }), result.pricingDetails && (jsxs("dl", { className: styles$14.contractFacts, "data-test": "acmi-pricing-details", children: [jsxs("div", { "data-test": "acmi-ferry-floor", children: [jsx("dt", { children: "Ferry block time" }), jsxs("dd", { children: [result.pricingDetails.ferryBlockHours.toFixed(2), " h", result.pricingDetails.ferryMinimumHours
3211
+ ], value: leg.type ?? 'live', onChange: (event) => updateLeg(leg.id, { type: event.target.value }), "data-test": "acmi-leg-type" })), jsx(Input, { id: `${leg.id}-origin`, size: "sm", label: "From", maxLength: 4, value: leg.origin, onChange: (event) => updateLeg(leg.id, { origin: event.target.value.toUpperCase() }), "data-test": "acmi-leg-origin" }), jsx(Input, { id: `${leg.id}-destination`, size: "sm", label: "To", maxLength: 4, value: leg.destination, onChange: (event) => updateLeg(leg.id, { destination: event.target.value.toUpperCase() }), "data-test": "acmi-leg-destination" }), jsx(Input, { id: `${leg.id}-flight-time`, size: "sm", type: "number", step: "0.1", label: "Flight time (h, optional)", value: leg.flightTime, onChange: (event) => updateLeg(leg.id, { flightTime: event.target.value }), "data-test": "acmi-leg-flight-time" }), jsx(Button, { variant: "ghost", size: "sm", square: true, "aria-label": `Remove leg ${index + 1}`, disabled: inputs.legs.length === 1, onClick: () => removeLeg(leg.id), "data-test": "acmi-remove-leg", children: jsx(TrashIcon$2, { size: 16 }) })] }, leg.id))) }), jsxs("div", { className: styles$15.actions, children: [jsx(Button, { variant: "outline", size: "sm", leftIcon: jsx(PlusIcon$2, { size: 16 }), onClick: addLeg, "data-test": "acmi-add-leg", children: "Add Flight Leg" }), jsx(Button, { size: "sm", loading: calculating, onClick: calculate, "data-test": "acmi-calculate", children: calculating ? 'Calculating' : 'Calculate Quote' }), result && onSubmitForApproval && (jsx(Button, { variant: "secondary", size: "sm", onClick: () => onSubmitForApproval(inputs), "data-test": "acmi-submit-approval", children: "Use This Total" }))] })] })] }), result && (jsxs("section", { className: styles$15.results, "aria-label": "Quote summary", "data-test": "acmi-results", children: [jsx("h3", { className: styles$15.panelTitle, children: "Quote Summary" }), jsxs("dl", { className: styles$15.resultGrid, children: [jsxs("div", { children: [jsx("dt", { children: "Operating Subtotal" }), jsx("dd", { children: currency.format(result.operatingSubtotal) })] }), jsxs("div", { children: [jsx("dt", { children: "Markup Applied" }), jsx("dd", { children: currency.format(result.markupAmount) })] }), jsxs("div", { children: [jsx("dt", { children: "Insurance (Flat Fee)" }), jsx("dd", { children: currency.format(result.insuranceAmount) })] }), jsxs("div", { children: [jsx("dt", { children: "Pre-Tax Total" }), jsx("dd", { children: currency.format(result.preTaxTotal) })] }), jsxs("div", { children: [jsx("dt", { children: "Federal Excise Tax" }), jsx("dd", { children: currency.format(result.fet) })] }), jsxs("div", { children: [jsx("dt", { children: "Segment Fees" }), jsx("dd", { children: currency.format(result.segmentFees) })] })] }), jsxs("p", { className: styles$15.finalPrice, "data-test": "acmi-final-price", children: [jsx("span", { children: "Total Quoted Price" }), jsx("strong", { children: currency.format(result.finalPrice) })] }), result.pricingDetails && (jsxs("dl", { className: styles$15.contractFacts, "data-test": "acmi-pricing-details", children: [jsxs("div", { "data-test": "acmi-ferry-floor", children: [jsx("dt", { children: "Ferry block time" }), jsxs("dd", { children: [result.pricingDetails.ferryBlockHours.toFixed(2), " h", result.pricingDetails.ferryMinimumHours
3164
3212
  ? ` · ${result.pricingDetails.ferryMinimumHours.toFixed(2)} h minimum per estimated SkyWest ferry leg`
3165
- : ''] })] }), jsxs("div", { "data-test": "acmi-fuel-buffer", children: [jsx("dt", { children: "Fuel buffer" }), jsxs("dd", { children: [(result.pricingDetails.fuelBufferPercent * 100).toFixed(0), "% \u00B7 ", currency.format(result.pricingDetails.fuelBufferAmount)] })] }), jsxs("div", { "data-test": "acmi-screening", children: [jsx("dt", { children: "Security screening" }), jsx("dd", { children: currency.format(result.pricingDetails.screeningAmount) })] })] })), result.legs && result.legs.length > 0 && (jsxs("div", { className: styles$14.pricedLegs, "data-test": "acmi-priced-legs", children: [jsx("h4", { children: "Backend-priced itinerary" }), jsxs("div", { className: styles$14.pricedLegHeader, "aria-hidden": "true", children: [jsx("span", { children: "Leg" }), jsx("span", { children: "Type" }), jsx("span", { children: "Block" }), jsx("span", { children: "Total" })] }), result.legs.map((leg) => (jsxs("div", { className: styles$14.pricedLeg, "data-test": "acmi-priced-leg", children: [jsxs("span", { children: [leg.origin, " \u2192 ", leg.destination] }), jsx("span", { "data-test": "acmi-priced-leg-type", children: leg.type === 'ferry' ? 'Ferry' : 'Live' }), jsxs("span", { "data-test": "acmi-priced-leg-block", children: [leg.blockHours.toFixed(2), " h"] }), jsx("span", { children: currency.format(leg.total) })] }, leg.id)))] }))] }))] }));
3213
+ : ''] })] }), jsxs("div", { "data-test": "acmi-fuel-buffer", children: [jsx("dt", { children: "Fuel buffer" }), jsxs("dd", { children: [(result.pricingDetails.fuelBufferPercent * 100).toFixed(0), "% \u00B7 ", currency.format(result.pricingDetails.fuelBufferAmount)] })] }), jsxs("div", { "data-test": "acmi-screening", children: [jsx("dt", { children: "Security screening" }), jsx("dd", { children: currency.format(result.pricingDetails.screeningAmount) })] })] })), result.legs && result.legs.length > 0 && (jsxs("div", { className: styles$15.pricedLegs, "data-test": "acmi-priced-legs", children: [jsx("h4", { children: "Backend-priced itinerary" }), jsxs("div", { className: styles$15.pricedLegHeader, "aria-hidden": "true", children: [jsx("span", { children: "Leg" }), jsx("span", { children: "Type" }), jsx("span", { children: "Block" }), jsx("span", { children: "Total" })] }), result.legs.map((leg) => (jsxs("div", { className: styles$15.pricedLeg, "data-test": "acmi-priced-leg", children: [jsxs("span", { children: [leg.origin, " \u2192 ", leg.destination] }), jsx("span", { "data-test": "acmi-priced-leg-type", children: leg.type === 'ferry' ? 'Ferry' : 'Live' }), jsxs("span", { "data-test": "acmi-priced-leg-block", children: [leg.blockHours.toFixed(2), " h"] }), jsx("span", { children: currency.format(leg.total) })] }, leg.id)))] }))] }))] }));
3166
3214
  };
3167
3215
  AcmiQuoteCalculator.displayName = 'AcmiQuoteCalculator';
3168
3216
 
3169
- var styles$13 = {"wrapper":"AgentGroupTravelRequestsTable-module_wrapper__xKyhF","toolbar":"AgentGroupTravelRequestsTable-module_toolbar__VMiqx","showHideAll":"AgentGroupTravelRequestsTable-module_showHideAll__t6kBh","filters":"AgentGroupTravelRequestsTable-module_filters__c1W6C","filterField":"AgentGroupTravelRequestsTable-module_filterField__n9Qu8","tableScroll":"AgentGroupTravelRequestsTable-module_tableScroll__-rt-g","table":"AgentGroupTravelRequestsTable-module_table__Yb4lC","colExpand":"AgentGroupTravelRequestsTable-module_colExpand__WcfMW","colDelete":"AgentGroupTravelRequestsTable-module_colDelete__Yi5vY","colDate":"AgentGroupTravelRequestsTable-module_colDate__XyzfB","accountRow":"AgentGroupTravelRequestsTable-module_accountRow__4bDJV","requestRow":"AgentGroupTravelRequestsTable-module_requestRow__UJ5Mm","empty":"AgentGroupTravelRequestsTable-module_empty__XemcW","expander":"AgentGroupTravelRequestsTable-module_expander__fNedP","iconButton":"AgentGroupTravelRequestsTable-module_iconButton__2Yu4i","muted":"AgentGroupTravelRequestsTable-module_muted__Dy5as","idLink":"AgentGroupTravelRequestsTable-module_idLink__sEuEa","hasNotes":"AgentGroupTravelRequestsTable-module_hasNotes__W4TlG","startSoon":"AgentGroupTravelRequestsTable-module_startSoon__cbWHx","dueStatus":"AgentGroupTravelRequestsTable-module_dueStatus__E0FBZ","dueGreen":"AgentGroupTravelRequestsTable-module_dueGreen__5mSLo","dueRed":"AgentGroupTravelRequestsTable-module_dueRed__qgngM","dueGray":"AgentGroupTravelRequestsTable-module_dueGray__xH3dv","pnrButton":"AgentGroupTravelRequestsTable-module_pnrButton__5VKxA","pnrGreen":"AgentGroupTravelRequestsTable-module_pnrGreen__aBwwW","pnrBlue":"AgentGroupTravelRequestsTable-module_pnrBlue__gta71","pnrGray":"AgentGroupTravelRequestsTable-module_pnrGray__-SLa0","deleteButton":"AgentGroupTravelRequestsTable-module_deleteButton__oeLl9","subPnrRow":"AgentGroupTravelRequestsTable-module_subPnrRow__z8ctM","subPnrPanel":"AgentGroupTravelRequestsTable-module_subPnrPanel__jf5pq","legend":"AgentGroupTravelRequestsTable-module_legend__Wr9jV"};
3217
+ var styles$14 = {"wrapper":"AgentGroupTravelRequestsTable-module_wrapper__xKyhF","toolbar":"AgentGroupTravelRequestsTable-module_toolbar__VMiqx","showHideAll":"AgentGroupTravelRequestsTable-module_showHideAll__t6kBh","filters":"AgentGroupTravelRequestsTable-module_filters__c1W6C","filterField":"AgentGroupTravelRequestsTable-module_filterField__n9Qu8","tableScroll":"AgentGroupTravelRequestsTable-module_tableScroll__-rt-g","table":"AgentGroupTravelRequestsTable-module_table__Yb4lC","colExpand":"AgentGroupTravelRequestsTable-module_colExpand__WcfMW","colDelete":"AgentGroupTravelRequestsTable-module_colDelete__Yi5vY","colDate":"AgentGroupTravelRequestsTable-module_colDate__XyzfB","accountRow":"AgentGroupTravelRequestsTable-module_accountRow__4bDJV","requestRow":"AgentGroupTravelRequestsTable-module_requestRow__UJ5Mm","empty":"AgentGroupTravelRequestsTable-module_empty__XemcW","expander":"AgentGroupTravelRequestsTable-module_expander__fNedP","iconButton":"AgentGroupTravelRequestsTable-module_iconButton__2Yu4i","muted":"AgentGroupTravelRequestsTable-module_muted__Dy5as","idLink":"AgentGroupTravelRequestsTable-module_idLink__sEuEa","hasNotes":"AgentGroupTravelRequestsTable-module_hasNotes__W4TlG","startSoon":"AgentGroupTravelRequestsTable-module_startSoon__cbWHx","dueStatus":"AgentGroupTravelRequestsTable-module_dueStatus__E0FBZ","dueGreen":"AgentGroupTravelRequestsTable-module_dueGreen__5mSLo","dueRed":"AgentGroupTravelRequestsTable-module_dueRed__qgngM","dueGray":"AgentGroupTravelRequestsTable-module_dueGray__xH3dv","pnrButton":"AgentGroupTravelRequestsTable-module_pnrButton__5VKxA","pnrGreen":"AgentGroupTravelRequestsTable-module_pnrGreen__aBwwW","pnrBlue":"AgentGroupTravelRequestsTable-module_pnrBlue__gta71","pnrGray":"AgentGroupTravelRequestsTable-module_pnrGray__-SLa0","deleteButton":"AgentGroupTravelRequestsTable-module_deleteButton__oeLl9","subPnrRow":"AgentGroupTravelRequestsTable-module_subPnrRow__z8ctM","subPnrPanel":"AgentGroupTravelRequestsTable-module_subPnrPanel__jf5pq","legend":"AgentGroupTravelRequestsTable-module_legend__Wr9jV"};
3170
3218
 
3171
3219
  const PNR_PLACEHOLDER = '111111';
3172
3220
  const COLUMN_COUNT = 19;
@@ -3223,18 +3271,18 @@ const computeTravelTypeCodes = (request) => {
3223
3271
  codes.push(request.groupHotel ? 'GH' : 'H');
3224
3272
  return codes;
3225
3273
  };
3226
- const DUE_TONE_CLASS = { green: styles$13.dueGreen, red: styles$13.dueRed, gray: styles$13.dueGray };
3227
- const PNR_TONE_CLASS = { green: styles$13.pnrGreen, blue: styles$13.pnrBlue, gray: styles$13.pnrGray };
3274
+ const DUE_TONE_CLASS = { green: styles$14.dueGreen, red: styles$14.dueRed, gray: styles$14.dueGray };
3275
+ const PNR_TONE_CLASS = { green: styles$14.pnrGreen, blue: styles$14.pnrBlue, gray: styles$14.pnrGray };
3228
3276
  const DueStatusCell = ({ status, today, onToggle, }) => {
3229
3277
  const tone = dueStatusTone(status, today);
3230
3278
  const canToggle = Boolean(onToggle) && (Boolean(status.dueDate) || status.complete);
3231
3279
  const label = status.dueDate ? formatShortDate$1(status.dueDate) : status.complete ? 'Complete' : '—';
3232
- const className = [styles$13.dueStatus, DUE_TONE_CLASS[tone]].join(' ');
3280
+ const className = [styles$14.dueStatus, DUE_TONE_CLASS[tone]].join(' ');
3233
3281
  if (!canToggle)
3234
3282
  return jsx("span", { className: className, children: label });
3235
3283
  return (jsx("button", { type: "button", className: className, onClick: onToggle, title: "Click to toggle complete", children: label }));
3236
3284
  };
3237
- const PnrButton = ({ label, tone, onClick, dataTest, }) => (jsx("button", { type: "button", className: [styles$13.pnrButton, PNR_TONE_CLASS[tone]].join(' '), title: "Click to copy", onClick: onClick, "data-test": dataTest, children: label }));
3285
+ const PnrButton = ({ label, tone, onClick, dataTest, }) => (jsx("button", { type: "button", className: [styles$14.pnrButton, PNR_TONE_CLASS[tone]].join(' '), title: "Click to copy", onClick: onClick, "data-test": dataTest, children: label }));
3238
3286
  /** Hub's agent-facing list of open Group Travel Requests, grouped by school, one row per PNR group. */
3239
3287
  const AgentGroupTravelRequestsTable = ({ requests, sports = [], views = [], today = new Date().toISOString().slice(0, 10), onOpenRequest, onViewMasterTrip, onDeleteRequest, onCopyPnr, onToggleDueStatus, onSubmittedDateChange, onQuoteSentDateChange, className = '', }) => {
3240
3288
  const [sportFilter, setSportFilter] = useState('');
@@ -3289,15 +3337,15 @@ const AgentGroupTravelRequestsTable = ({ requests, sports = [], views = [], toda
3289
3337
  setDateEdits((current) => ({ ...current, [id]: { ...current[id], submittedDate: value } }));
3290
3338
  onSubmittedDateChange?.(id, value);
3291
3339
  };
3292
- return (jsxs("div", { className: [styles$13.wrapper, className].filter(Boolean).join(' '), "data-test": "agent-gtr-table", children: [jsxs("div", { className: styles$13.toolbar, children: [jsxs("button", { type: "button", className: styles$13.showHideAll, title: "Show/Hide all PNRs", onClick: toggleExpandAll, disabled: multiPnrIds.length === 0, "data-test": "agent-gtr-toggle-all", children: [allExpanded ? jsx(ChevronUpIcon, { size: 16 }) : jsx(ChevronDownIcon$1, { size: 16 }), jsx("span", { children: allExpanded ? 'Collapse all PNRs' : 'Expand all PNRs' })] }), jsxs("div", { className: styles$13.filters, children: [jsxs("label", { className: styles$13.filterField, children: [jsx("span", { children: "Filter by sport" }), jsxs("select", { value: sportFilter, onChange: (event) => setSportFilter(event.target.value), "data-test": "agent-gtr-sport-filter", children: [jsx("option", { value: "", children: "All Sports" }), sports.map((sport) => (jsx("option", { value: sport.code, children: sport.label }, sport.code)))] })] }), views.length > 0 && (jsxs("label", { className: styles$13.filterField, children: [jsx("span", { children: "Filter by view" }), jsxs("select", { value: viewFilter, onChange: (event) => setViewFilter(event.target.value), "data-test": "agent-gtr-view-filter", children: [jsx("option", { value: "", children: "All Accounts" }), views.map((view) => (jsx("option", { value: view.id, children: view.label }, view.id)))] })] }))] })] }), jsx("div", { className: styles$13.tableScroll, children: jsxs("table", { className: styles$13.table, children: [jsx("thead", { children: jsxs("tr", { children: [jsx("th", { className: styles$13.colExpand, children: jsx("span", { className: "sr-only", children: "Expand" }) }), jsx("th", { children: "Source" }), jsx("th", { children: "Master Trip" }), jsx("th", { children: "ID" }), jsx("th", { children: "Start Date" }), jsx("th", { children: "Name" }), jsx("th", { children: "Sport" }), jsxs("th", { children: [jsx(PlaneIcon$3, { size: 16 }), jsx("span", { className: "sr-only", children: "Carrier" })] }), jsx("th", { children: "Routing" }), jsx("th", { children: "Submitted" }), jsx("th", { children: "Type" }), jsx("th", { children: "Quote Sent" }), jsx("th", { children: "Confirmation" }), jsx("th", { children: "Deposit" }), jsx("th", { children: "Utilization" }), jsx("th", { children: "Names" }), jsx("th", { children: "Ticketing" }), jsx("th", { children: "PNR" }), jsx("th", { className: styles$13.colDelete, children: jsx("span", { className: "sr-only", children: "Delete" }) })] }) }), jsxs("tbody", { children: [!groups.length && (jsx("tr", { children: jsx("td", { colSpan: COLUMN_COUNT, className: styles$13.empty, "data-test": "agent-gtr-empty", children: "No open group travel requests match these filters." }) })), groups.map((group) => (jsxs(Fragment$1, { children: [jsx("tr", { className: styles$13.accountRow, children: jsx("td", { colSpan: COLUMN_COUNT, children: group.accountName }) }), group.items.map((request) => {
3340
+ return (jsxs("div", { className: [styles$14.wrapper, className].filter(Boolean).join(' '), "data-test": "agent-gtr-table", children: [jsxs("div", { className: styles$14.toolbar, children: [jsxs("button", { type: "button", className: styles$14.showHideAll, title: "Show/Hide all PNRs", onClick: toggleExpandAll, disabled: multiPnrIds.length === 0, "data-test": "agent-gtr-toggle-all", children: [allExpanded ? jsx(ChevronUpIcon, { size: 16 }) : jsx(ChevronDownIcon$1, { size: 16 }), jsx("span", { children: allExpanded ? 'Collapse all PNRs' : 'Expand all PNRs' })] }), jsxs("div", { className: styles$14.filters, children: [jsxs("label", { className: styles$14.filterField, children: [jsx("span", { children: "Filter by sport" }), jsxs("select", { value: sportFilter, onChange: (event) => setSportFilter(event.target.value), "data-test": "agent-gtr-sport-filter", children: [jsx("option", { value: "", children: "All Sports" }), sports.map((sport) => (jsx("option", { value: sport.code, children: sport.label }, sport.code)))] })] }), views.length > 0 && (jsxs("label", { className: styles$14.filterField, children: [jsx("span", { children: "Filter by view" }), jsxs("select", { value: viewFilter, onChange: (event) => setViewFilter(event.target.value), "data-test": "agent-gtr-view-filter", children: [jsx("option", { value: "", children: "All Accounts" }), views.map((view) => (jsx("option", { value: view.id, children: view.label }, view.id)))] })] }))] })] }), jsx("div", { className: styles$14.tableScroll, children: jsxs("table", { className: styles$14.table, children: [jsx("thead", { children: jsxs("tr", { children: [jsx("th", { className: styles$14.colExpand, children: jsx("span", { className: "sr-only", children: "Expand" }) }), jsx("th", { children: "Source" }), jsx("th", { children: "Master Trip" }), jsx("th", { children: "ID" }), jsx("th", { children: "Start Date" }), jsx("th", { children: "Name" }), jsx("th", { children: "Sport" }), jsxs("th", { children: [jsx(PlaneIcon$3, { size: 16 }), jsx("span", { className: "sr-only", children: "Carrier" })] }), jsx("th", { children: "Routing" }), jsx("th", { children: "Submitted" }), jsx("th", { children: "Type" }), jsx("th", { children: "Quote Sent" }), jsx("th", { children: "Confirmation" }), jsx("th", { children: "Deposit" }), jsx("th", { children: "Utilization" }), jsx("th", { children: "Names" }), jsx("th", { children: "Ticketing" }), jsx("th", { children: "PNR" }), jsx("th", { className: styles$14.colDelete, children: jsx("span", { className: "sr-only", children: "Delete" }) })] }) }), jsxs("tbody", { children: [!groups.length && (jsx("tr", { children: jsx("td", { colSpan: COLUMN_COUNT, className: styles$14.empty, "data-test": "agent-gtr-empty", children: "No open group travel requests match these filters." }) })), groups.map((group) => (jsxs(Fragment$1, { children: [jsx("tr", { className: styles$14.accountRow, children: jsx("td", { colSpan: COLUMN_COUNT, children: group.accountName }) }), group.items.map((request) => {
3293
3341
  const isMulti = request.pnrs.length > 1;
3294
3342
  const isExpanded = expandedIds.has(request.id);
3295
3343
  const startSoon = daysUntil(request.startDate, today) < 8;
3296
- return (jsxs(Fragment$1, { children: [jsxs("tr", { className: styles$13.requestRow, "data-test": "agent-gtr-row", children: [jsx("td", { className: styles$13.colExpand, children: isMulti && (jsx("button", { type: "button", className: styles$13.expander, "aria-expanded": isExpanded, "aria-label": `${isExpanded ? 'Collapse' : 'Expand'} PNRs for ${request.name}`, onClick: () => toggleExpanded(request.id), "data-test": "agent-gtr-expand-row", children: isExpanded ? jsx(ChevronDownIcon$1, { size: 16 }) : jsx(ChevronRightIcon$1, { size: 16 }) })) }), jsx("td", { children: request.source === 'client' ? 'C' : 'A' }), jsx("td", { children: request.masterTripId ? (jsx("button", { type: "button", className: styles$13.iconButton, "aria-label": `View master trip ${request.masterTripId}`, title: `View Master Trip ${request.masterTripId}`, onClick: () => onViewMasterTrip?.(request.masterTripId), children: jsx(SearchIcon$1, { size: 16 }) })) : (jsx("span", { className: styles$13.muted, children: "\u2014" })) }), jsx("td", { children: jsx("button", { type: "button", className: [styles$13.idLink, request.notes ? styles$13.hasNotes : ''].filter(Boolean).join(' '), title: request.notes || undefined, onClick: () => onOpenRequest?.(request.id), "data-test": "agent-gtr-open-request", children: request.id }) }), jsx("td", { className: startSoon ? styles$13.startSoon : '', children: formatShortDate$1(request.startDate) }), jsx("td", { children: truncate(request.name) }), jsx("td", { children: truncate(request.sport) }), jsx("td", { children: isMulti ? 'Multi' : request.carrier || '' }), jsx("td", { children: isMulti ? 'Multi' : request.routing }), jsx("td", { className: styles$13.colDate, children: jsx(Datepicker, { "aria-label": `Submitted date for request ${request.id}`, size: "sm", value: dateEdits[request.id]?.submittedDate ?? request.submittedDate ?? '', onChange: (event) => handleSubmittedDateChange(request.id, event.target.value), "data-test": "agent-gtr-submitted-date" }) }), jsx("td", { children: computeTravelTypeCodes(request).join(', ') }), jsx("td", { className: styles$13.colDate, children: jsx(Datepicker, { "aria-label": `Quote sent date for request ${request.id}`, size: "sm", value: dateEdits[request.id]?.quoteSentDate ?? request.quoteSentDate ?? '', onChange: (event) => handleQuoteSentDateChange(request.id, event.target.value), "data-test": "agent-gtr-quote-sent-date" }) }), DUE_FIELDS.map(({ field }) => (jsx("td", { children: jsx(DueStatusCell, { status: request[field], today: today, onToggle: onToggleDueStatus ? () => onToggleDueStatus(request.id, field) : undefined }) }, field))), jsx("td", { children: isMulti ? (jsx(PnrButton, { label: "Multi", tone: groupPnrTone(request.pnrs), onClick: () => toggleExpanded(request.id), dataTest: "agent-gtr-pnr-multi" })) : (jsx(PnrButton, { label: request.pnrs[0].recordLocator.toUpperCase(), tone: pnrTone(request.pnrs[0]), onClick: () => handleCopyPnr(request.pnrs[0].recordLocator), dataTest: "agent-gtr-pnr" })) }), jsx("td", { className: styles$13.colDelete, children: !isMulti && onDeleteRequest && (jsx("button", { type: "button", className: styles$13.deleteButton, "aria-label": `Delete request ${request.id}`, title: "Click to delete this trip", onClick: () => onDeleteRequest(request.id), "data-test": "agent-gtr-delete", children: jsx(TrashIcon$2, { size: 16 }) })) })] }), isMulti && isExpanded && (jsx("tr", { className: styles$13.subPnrRow, children: jsx("td", { colSpan: COLUMN_COUNT, children: jsx("div", { className: styles$13.subPnrPanel, "data-test": "agent-gtr-sub-pnrs", children: request.pnrs.map((pnr) => (jsx(PnrButton, { label: pnr.recordLocator.toUpperCase(), tone: pnrTone(pnr), onClick: () => handleCopyPnr(pnr.recordLocator), dataTest: "agent-gtr-sub-pnr" }, pnr.id))) }) }) }))] }, request.id));
3297
- })] }, `account-${group.accountName}`)))] })] }) }), jsx("p", { className: styles$13.legend, children: "Types: A - Airline C - Car, H - Hotel" })] }));
3344
+ return (jsxs(Fragment$1, { children: [jsxs("tr", { className: styles$14.requestRow, "data-test": "agent-gtr-row", children: [jsx("td", { className: styles$14.colExpand, children: isMulti && (jsx("button", { type: "button", className: styles$14.expander, "aria-expanded": isExpanded, "aria-label": `${isExpanded ? 'Collapse' : 'Expand'} PNRs for ${request.name}`, onClick: () => toggleExpanded(request.id), "data-test": "agent-gtr-expand-row", children: isExpanded ? jsx(ChevronDownIcon$1, { size: 16 }) : jsx(ChevronRightIcon$1, { size: 16 }) })) }), jsx("td", { children: request.source === 'client' ? 'C' : 'A' }), jsx("td", { children: request.masterTripId ? (jsx("button", { type: "button", className: styles$14.iconButton, "aria-label": `View master trip ${request.masterTripId}`, title: `View Master Trip ${request.masterTripId}`, onClick: () => onViewMasterTrip?.(request.masterTripId), children: jsx(SearchIcon$1, { size: 16 }) })) : (jsx("span", { className: styles$14.muted, children: "\u2014" })) }), jsx("td", { children: jsx("button", { type: "button", className: [styles$14.idLink, request.notes ? styles$14.hasNotes : ''].filter(Boolean).join(' '), title: request.notes || undefined, onClick: () => onOpenRequest?.(request.id), "data-test": "agent-gtr-open-request", children: request.id }) }), jsx("td", { className: startSoon ? styles$14.startSoon : '', children: formatShortDate$1(request.startDate) }), jsx("td", { children: truncate(request.name) }), jsx("td", { children: truncate(request.sport) }), jsx("td", { children: isMulti ? 'Multi' : request.carrier || '' }), jsx("td", { children: isMulti ? 'Multi' : request.routing }), jsx("td", { className: styles$14.colDate, children: jsx(Datepicker, { "aria-label": `Submitted date for request ${request.id}`, size: "sm", value: dateEdits[request.id]?.submittedDate ?? request.submittedDate ?? '', onChange: (event) => handleSubmittedDateChange(request.id, event.target.value), "data-test": "agent-gtr-submitted-date" }) }), jsx("td", { children: computeTravelTypeCodes(request).join(', ') }), jsx("td", { className: styles$14.colDate, children: jsx(Datepicker, { "aria-label": `Quote sent date for request ${request.id}`, size: "sm", value: dateEdits[request.id]?.quoteSentDate ?? request.quoteSentDate ?? '', onChange: (event) => handleQuoteSentDateChange(request.id, event.target.value), "data-test": "agent-gtr-quote-sent-date" }) }), DUE_FIELDS.map(({ field }) => (jsx("td", { children: jsx(DueStatusCell, { status: request[field], today: today, onToggle: onToggleDueStatus ? () => onToggleDueStatus(request.id, field) : undefined }) }, field))), jsx("td", { children: isMulti ? (jsx(PnrButton, { label: "Multi", tone: groupPnrTone(request.pnrs), onClick: () => toggleExpanded(request.id), dataTest: "agent-gtr-pnr-multi" })) : (jsx(PnrButton, { label: request.pnrs[0].recordLocator.toUpperCase(), tone: pnrTone(request.pnrs[0]), onClick: () => handleCopyPnr(request.pnrs[0].recordLocator), dataTest: "agent-gtr-pnr" })) }), jsx("td", { className: styles$14.colDelete, children: !isMulti && onDeleteRequest && (jsx("button", { type: "button", className: styles$14.deleteButton, "aria-label": `Delete request ${request.id}`, title: "Click to delete this trip", onClick: () => onDeleteRequest(request.id), "data-test": "agent-gtr-delete", children: jsx(TrashIcon$2, { size: 16 }) })) })] }), isMulti && isExpanded && (jsx("tr", { className: styles$14.subPnrRow, children: jsx("td", { colSpan: COLUMN_COUNT, children: jsx("div", { className: styles$14.subPnrPanel, "data-test": "agent-gtr-sub-pnrs", children: request.pnrs.map((pnr) => (jsx(PnrButton, { label: pnr.recordLocator.toUpperCase(), tone: pnrTone(pnr), onClick: () => handleCopyPnr(pnr.recordLocator), dataTest: "agent-gtr-sub-pnr" }, pnr.id))) }) }) }))] }, request.id));
3345
+ })] }, `account-${group.accountName}`)))] })] }) }), jsx("p", { className: styles$14.legend, children: "Types: A - Airline C - Car, H - Hotel" })] }));
3298
3346
  };
3299
3347
 
3300
- var styles$12 = {"sidenav":"Sidenav-module_sidenav__9DKVg","expanded":"Sidenav-module_expanded__TfkMs","collapsed":"Sidenav-module_collapsed__xyLkg","toggle":"Sidenav-module_toggle__JCoZu","logoContainer":"Sidenav-module_logoContainer__lLl0-","nav":"Sidenav-module_nav__ZwGrU","navItem":"Sidenav-module_navItem__HhFpj","active":"Sidenav-module_active__-oHUp","icon":"Sidenav-module_icon__7XJWf","label":"Sidenav-module_label__DJDBw","footer":"Sidenav-module_footer__EgrDk"};
3348
+ var styles$13 = {"sidenav":"Sidenav-module_sidenav__9DKVg","expanded":"Sidenav-module_expanded__TfkMs","collapsed":"Sidenav-module_collapsed__xyLkg","toggle":"Sidenav-module_toggle__JCoZu","logoContainer":"Sidenav-module_logoContainer__lLl0-","nav":"Sidenav-module_nav__ZwGrU","navItem":"Sidenav-module_navItem__HhFpj","active":"Sidenav-module_active__-oHUp","icon":"Sidenav-module_icon__7XJWf","label":"Sidenav-module_label__DJDBw","footer":"Sidenav-module_footer__EgrDk"};
3301
3349
 
3302
3350
  /**
3303
3351
  * Sidenav component for main navigation.
@@ -3306,8 +3354,8 @@ var styles$12 = {"sidenav":"Sidenav-module_sidenav__9DKVg","expanded":"Sidenav-m
3306
3354
  const Sidenav = ({ logo, logoCollapsed, items, activeKey, onItemClick, defaultExpanded = true, footer, className = '', ...props }) => {
3307
3355
  const [expanded, setExpanded] = useState(defaultExpanded);
3308
3356
  const classNames = [
3309
- styles$12.sidenav,
3310
- expanded ? styles$12.expanded : styles$12.collapsed,
3357
+ styles$13.sidenav,
3358
+ expanded ? styles$13.expanded : styles$13.collapsed,
3311
3359
  className,
3312
3360
  ]
3313
3361
  .filter(Boolean)
@@ -3320,20 +3368,20 @@ const Sidenav = ({ logo, logoCollapsed, items, activeKey, onItemClick, defaultEx
3320
3368
  onItemClick(item.key);
3321
3369
  }
3322
3370
  };
3323
- return (jsxs("aside", { className: classNames, ...props, children: [jsx("button", { className: styles$12.toggle, onClick: () => setExpanded(!expanded), "aria-label": expanded ? 'Collapse sidebar' : 'Expand sidebar', children: expanded ? (jsx(ChevronLeftIcon, { size: 16 })) : (jsx(ChevronRightIcon$1, { size: 16 })) }), jsx("div", { className: styles$12.logoContainer, children: expanded ? logo : logoCollapsed || logo }), jsx("nav", { className: styles$12.nav, children: items.map((item) => {
3371
+ return (jsxs("aside", { className: classNames, ...props, children: [jsx("button", { className: styles$13.toggle, onClick: () => setExpanded(!expanded), "aria-label": expanded ? 'Collapse sidebar' : 'Expand sidebar', children: expanded ? (jsx(ChevronLeftIcon, { size: 16 })) : (jsx(ChevronRightIcon$1, { size: 16 })) }), jsx("div", { className: styles$13.logoContainer, children: expanded ? logo : logoCollapsed || logo }), jsx("nav", { className: styles$13.nav, children: items.map((item) => {
3324
3372
  const isActive = item.key === activeKey;
3325
3373
  const itemClasses = [
3326
- styles$12.navItem,
3327
- isActive ? styles$12.active : '',
3374
+ styles$13.navItem,
3375
+ isActive ? styles$13.active : '',
3328
3376
  ]
3329
3377
  .filter(Boolean)
3330
3378
  .join(' ');
3331
- return (jsxs("button", { className: itemClasses, onClick: () => handleItemClick(item), "aria-current": isActive ? 'page' : undefined, title: !expanded ? item.label : undefined, children: [jsx("span", { className: styles$12.icon, children: item.icon }), expanded && jsx("span", { className: styles$12.label, children: item.label })] }, item.key));
3332
- }) }), footer && jsx("div", { className: styles$12.footer, children: footer })] }));
3379
+ return (jsxs("button", { className: itemClasses, onClick: () => handleItemClick(item), "aria-current": isActive ? 'page' : undefined, title: !expanded ? item.label : undefined, children: [jsx("span", { className: styles$13.icon, children: item.icon }), expanded && jsx("span", { className: styles$13.label, children: item.label })] }, item.key));
3380
+ }) }), footer && jsx("div", { className: styles$13.footer, children: footer })] }));
3333
3381
  };
3334
3382
  Sidenav.displayName = 'Sidenav';
3335
3383
 
3336
- var styles$11 = {"topbar":"Topbar-module_topbar__U9CDj","left":"Topbar-module_left__m4aap","accountWrapper":"Topbar-module_accountWrapper__5mjDZ","accountSelector":"Topbar-module_accountSelector__iqI--","open":"Topbar-module_open__2Xsp1","accountCode":"Topbar-module_accountCode__KMKWm","accountName":"Topbar-module_accountName__XZYjB","chevron":"Topbar-module_chevron__OSXcD","chevronOpen":"Topbar-module_chevronOpen__jVvEl","dropdown":"Topbar-module_dropdown__fA5Gw","dropdownSearch":"Topbar-module_dropdownSearch__9zqy3","searchIcon":"Topbar-module_searchIcon__sHGnK","searchInput":"Topbar-module_searchInput__1TSc3","dropdownList":"Topbar-module_dropdownList__P4q9b","dropdownItem":"Topbar-module_dropdownItem__w-eHf","selected":"Topbar-module_selected__MylKY","dropdownItemCode":"Topbar-module_dropdownItemCode__cUAn6","dropdownItemName":"Topbar-module_dropdownItemName__MYw3k","noResults":"Topbar-module_noResults__PkNfT","actions":"Topbar-module_actions__KtaiZ"};
3384
+ var styles$12 = {"topbar":"Topbar-module_topbar__U9CDj","left":"Topbar-module_left__m4aap","accountWrapper":"Topbar-module_accountWrapper__5mjDZ","accountSelector":"Topbar-module_accountSelector__iqI--","open":"Topbar-module_open__2Xsp1","accountCode":"Topbar-module_accountCode__KMKWm","accountName":"Topbar-module_accountName__XZYjB","chevron":"Topbar-module_chevron__OSXcD","chevronOpen":"Topbar-module_chevronOpen__jVvEl","dropdown":"Topbar-module_dropdown__fA5Gw","dropdownSearch":"Topbar-module_dropdownSearch__9zqy3","searchIcon":"Topbar-module_searchIcon__sHGnK","searchInput":"Topbar-module_searchInput__1TSc3","dropdownList":"Topbar-module_dropdownList__P4q9b","dropdownItem":"Topbar-module_dropdownItem__w-eHf","selected":"Topbar-module_selected__MylKY","dropdownItemCode":"Topbar-module_dropdownItemCode__cUAn6","dropdownItemName":"Topbar-module_dropdownItemName__MYw3k","noResults":"Topbar-module_noResults__PkNfT","actions":"Topbar-module_actions__KtaiZ"};
3337
3385
 
3338
3386
  /**
3339
3387
  * Topbar component for the main header.
@@ -3344,7 +3392,7 @@ const Topbar = ({ account, accounts, onAccountSelect, onAccountClick, actions, l
3344
3392
  const [searchQuery, setSearchQuery] = useState('');
3345
3393
  const dropdownRef = useRef(null);
3346
3394
  const searchInputRef = useRef(null);
3347
- const classNames = [styles$11.topbar, className].filter(Boolean).join(' ');
3395
+ const classNames = [styles$12.topbar, className].filter(Boolean).join(' ');
3348
3396
  // Close dropdown on outside click
3349
3397
  useEffect(() => {
3350
3398
  if (!isOpen)
@@ -3393,27 +3441,27 @@ const Topbar = ({ account, accounts, onAccountSelect, onAccountClick, actions, l
3393
3441
  const filteredAccounts = accounts?.filter(acc => acc.name.toLowerCase().includes(searchQuery.toLowerCase()) ||
3394
3442
  acc.code.toLowerCase().includes(searchQuery.toLowerCase())) || [];
3395
3443
  const hasDropdown = accounts && accounts.length > 0;
3396
- return (jsxs("header", { className: classNames, ...props, children: [jsxs("div", { className: styles$11.left, children: [leftContent, account && (jsxs("div", { className: styles$11.accountWrapper, ref: dropdownRef, children: [jsxs("button", { className: `${styles$11.accountSelector} ${isOpen ? styles$11.open : ''}`, onClick: handleToggle, "aria-expanded": isOpen, "aria-haspopup": hasDropdown ? 'listbox' : undefined, children: [jsx("span", { className: styles$11.accountCode, children: account.code }), jsx("span", { className: styles$11.accountName, children: account.name }), hasDropdown && (jsx(ChevronDownIcon$1, { size: 16, className: `${styles$11.chevron} ${isOpen ? styles$11.chevronOpen : ''}` }))] }), isOpen && hasDropdown && (jsxs("div", { className: styles$11.dropdown, role: "listbox", children: [jsxs("div", { className: styles$11.dropdownSearch, children: [jsxs("svg", { className: styles$11.searchIcon, width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [jsx("circle", { cx: "11", cy: "11", r: "8" }), jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })] }), jsx("input", { ref: searchInputRef, type: "text", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), placeholder: "Search accounts...", className: styles$11.searchInput })] }), jsx("div", { className: styles$11.dropdownList, children: filteredAccounts.length > 0 ? (filteredAccounts.map((acc) => (jsxs("button", { className: `${styles$11.dropdownItem} ${acc.code === account.code ? styles$11.selected : ''}`, onClick: () => handleSelectAccount(acc), role: "option", "aria-selected": acc.code === account.code, children: [jsx("span", { className: styles$11.dropdownItemCode, children: acc.code }), jsx("span", { className: styles$11.dropdownItemName, children: acc.name })] }, acc.code)))) : (jsx("div", { className: styles$11.noResults, children: "No accounts found" })) })] }))] }))] }), actions && jsx("div", { className: styles$11.actions, children: actions })] }));
3444
+ return (jsxs("header", { className: classNames, ...props, children: [jsxs("div", { className: styles$12.left, children: [leftContent, account && (jsxs("div", { className: styles$12.accountWrapper, ref: dropdownRef, children: [jsxs("button", { className: `${styles$12.accountSelector} ${isOpen ? styles$12.open : ''}`, onClick: handleToggle, "aria-expanded": isOpen, "aria-haspopup": hasDropdown ? 'listbox' : undefined, children: [jsx("span", { className: styles$12.accountCode, children: account.code }), jsx("span", { className: styles$12.accountName, children: account.name }), hasDropdown && (jsx(ChevronDownIcon$1, { size: 16, className: `${styles$12.chevron} ${isOpen ? styles$12.chevronOpen : ''}` }))] }), isOpen && hasDropdown && (jsxs("div", { className: styles$12.dropdown, role: "listbox", children: [jsxs("div", { className: styles$12.dropdownSearch, children: [jsxs("svg", { className: styles$12.searchIcon, width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [jsx("circle", { cx: "11", cy: "11", r: "8" }), jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })] }), jsx("input", { ref: searchInputRef, type: "text", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), placeholder: "Search accounts...", className: styles$12.searchInput })] }), jsx("div", { className: styles$12.dropdownList, children: filteredAccounts.length > 0 ? (filteredAccounts.map((acc) => (jsxs("button", { className: `${styles$12.dropdownItem} ${acc.code === account.code ? styles$12.selected : ''}`, onClick: () => handleSelectAccount(acc), role: "option", "aria-selected": acc.code === account.code, children: [jsx("span", { className: styles$12.dropdownItemCode, children: acc.code }), jsx("span", { className: styles$12.dropdownItemName, children: acc.name })] }, acc.code)))) : (jsx("div", { className: styles$12.noResults, children: "No accounts found" })) })] }))] }))] }), actions && jsx("div", { className: styles$12.actions, children: actions })] }));
3397
3445
  };
3398
3446
  Topbar.displayName = 'Topbar';
3399
3447
 
3400
- var styles$10 = {"appLayout":"AppLayout-module_appLayout__NFbZk","mainArea":"AppLayout-module_mainArea__t-6oq","content":"AppLayout-module_content__5kV7S"};
3448
+ var styles$11 = {"appLayout":"AppLayout-module_appLayout__NFbZk","mainArea":"AppLayout-module_mainArea__t-6oq","content":"AppLayout-module_content__5kV7S"};
3401
3449
 
3402
3450
  const AppLayout = ({ navItems = [], activeNavKey, logo, collapsedLogo, account, defaultExpanded = true, onNavItemClick, onAccountClick, children, navFooter, topbarActions, className, }) => {
3403
- return (jsxs("div", { className: `${styles$10.appLayout} ${className || ''}`, children: [jsx(Sidenav, { items: navItems, activeKey: activeNavKey, defaultExpanded: defaultExpanded, onItemClick: onNavItemClick, logo: logo, logoCollapsed: collapsedLogo, footer: navFooter }), jsxs("div", { className: styles$10.mainArea, children: [jsx(Topbar, { account: account, onAccountClick: onAccountClick, actions: topbarActions }), jsx("main", { className: styles$10.content, children: children })] })] }));
3451
+ return (jsxs("div", { className: `${styles$11.appLayout} ${className || ''}`, children: [jsx(Sidenav, { items: navItems, activeKey: activeNavKey, defaultExpanded: defaultExpanded, onItemClick: onNavItemClick, logo: logo, logoCollapsed: collapsedLogo, footer: navFooter }), jsxs("div", { className: styles$11.mainArea, children: [jsx(Topbar, { account: account, onAccountClick: onAccountClick, actions: topbarActions }), jsx("main", { className: styles$11.content, children: children })] })] }));
3404
3452
  };
3405
3453
 
3406
- var styles$$ = {"card":"Card-module_card__Ak6-W","default":"Card-module_default__e-M3H","bordered":"Card-module_bordered__pUL4k","elevated":"Card-module_elevated__8f-WS","interactive":"Card-module_interactive__6B4fH","padding-none":"Card-module_padding-none__c1qKN","padding-sm":"Card-module_padding-sm__Uejon","padding-md":"Card-module_padding-md__kR4F9","padding-lg":"Card-module_padding-lg__MleX9","header":"Card-module_header__NiVTV","headerContent":"Card-module_headerContent__LyJRB","title":"Card-module_title__3DN1v","subtitle":"Card-module_subtitle__gE5L-","actions":"Card-module_actions__gHmpq","body":"Card-module_body__BU4oo","footer":"Card-module_footer__zjjTd"};
3454
+ var styles$10 = {"card":"Card-module_card__Ak6-W","default":"Card-module_default__e-M3H","bordered":"Card-module_bordered__pUL4k","elevated":"Card-module_elevated__8f-WS","interactive":"Card-module_interactive__6B4fH","padding-none":"Card-module_padding-none__c1qKN","padding-sm":"Card-module_padding-sm__Uejon","padding-md":"Card-module_padding-md__kR4F9","padding-lg":"Card-module_padding-lg__MleX9","header":"Card-module_header__NiVTV","headerContent":"Card-module_headerContent__LyJRB","title":"Card-module_title__3DN1v","subtitle":"Card-module_subtitle__gE5L-","actions":"Card-module_actions__gHmpq","body":"Card-module_body__BU4oo","footer":"Card-module_footer__zjjTd"};
3407
3455
 
3408
3456
  /**
3409
3457
  * Card component for grouping related content.
3410
3458
  */
3411
3459
  const Card = forwardRef(({ variant = 'default', padding = 'md', interactive = false, className = '', children, ...props }, ref) => {
3412
3460
  const classNames = [
3413
- styles$$.card,
3414
- styles$$[variant],
3415
- styles$$[`padding-${padding}`],
3416
- interactive ? styles$$.interactive : '',
3461
+ styles$10.card,
3462
+ styles$10[variant],
3463
+ styles$10[`padding-${padding}`],
3464
+ interactive ? styles$10.interactive : '',
3417
3465
  className,
3418
3466
  ]
3419
3467
  .filter(Boolean)
@@ -3422,22 +3470,22 @@ const Card = forwardRef(({ variant = 'default', padding = 'md', interactive = fa
3422
3470
  });
3423
3471
  Card.displayName = 'Card';
3424
3472
  const CardHeader = ({ title, subtitle, actions, className = '', children, ...props }) => {
3425
- const classNames = [styles$$.header, className].filter(Boolean).join(' ');
3426
- return (jsxs("div", { className: classNames, ...props, children: [jsxs("div", { className: styles$$.headerContent, children: [title && jsx("h3", { className: styles$$.title, children: title }), subtitle && jsx("p", { className: styles$$.subtitle, children: subtitle }), children] }), actions && jsx("div", { className: styles$$.actions, children: actions })] }));
3473
+ const classNames = [styles$10.header, className].filter(Boolean).join(' ');
3474
+ return (jsxs("div", { className: classNames, ...props, children: [jsxs("div", { className: styles$10.headerContent, children: [title && jsx("h3", { className: styles$10.title, children: title }), subtitle && jsx("p", { className: styles$10.subtitle, children: subtitle }), children] }), actions && jsx("div", { className: styles$10.actions, children: actions })] }));
3427
3475
  };
3428
3476
  CardHeader.displayName = 'CardHeader';
3429
3477
  const CardBody = ({ className = '', children, ...props }) => {
3430
- const classNames = [styles$$.body, className].filter(Boolean).join(' ');
3478
+ const classNames = [styles$10.body, className].filter(Boolean).join(' ');
3431
3479
  return (jsx("div", { className: classNames, ...props, children: children }));
3432
3480
  };
3433
3481
  CardBody.displayName = 'CardBody';
3434
3482
  const CardFooter = ({ className = '', children, ...props }) => {
3435
- const classNames = [styles$$.footer, className].filter(Boolean).join(' ');
3483
+ const classNames = [styles$10.footer, className].filter(Boolean).join(' ');
3436
3484
  return (jsx("div", { className: classNames, ...props, children: children }));
3437
3485
  };
3438
3486
  CardFooter.displayName = 'CardFooter';
3439
3487
 
3440
- var styles$_ = {"email":"CharterSourcingEmailPreview-module_email__KlhIq","preheader":"CharterSourcingEmailPreview-module_preheader__04juv","visuallyHidden":"CharterSourcingEmailPreview-module_visuallyHidden__Qgs3N","layoutTable":"CharterSourcingEmailPreview-module_layoutTable__dEH4i","brandCell":"CharterSourcingEmailPreview-module_brandCell__xvKZF","bodyCell":"CharterSourcingEmailPreview-module_bodyCell__glIXA","heading":"CharterSourcingEmailPreview-module_heading__ClFhy","stackCell":"CharterSourcingEmailPreview-module_stackCell__ut6ko","footerCell":"CharterSourcingEmailPreview-module_footerCell__4PwiB"};
3488
+ var styles$$ = {"email":"CharterSourcingEmailPreview-module_email__KlhIq","preheader":"CharterSourcingEmailPreview-module_preheader__04juv","visuallyHidden":"CharterSourcingEmailPreview-module_visuallyHidden__Qgs3N","layoutTable":"CharterSourcingEmailPreview-module_layoutTable__dEH4i","brandCell":"CharterSourcingEmailPreview-module_brandCell__xvKZF","bodyCell":"CharterSourcingEmailPreview-module_bodyCell__glIXA","heading":"CharterSourcingEmailPreview-module_heading__ClFhy","stackCell":"CharterSourcingEmailPreview-module_stackCell__ut6ko","footerCell":"CharterSourcingEmailPreview-module_footerCell__4PwiB"};
3441
3489
 
3442
3490
  const VARIANT_CONTENT = {
3443
3491
  'admin-review': {
@@ -3774,11 +3822,11 @@ const CharterSourcingEmailPreview = (props) => {
3774
3822
  ['Return Date', quote.returnDate],
3775
3823
  ['Submitted By', quote.submittedBy],
3776
3824
  ];
3777
- return (jsxs("article", { className: [styles$_.email, styles$_[variant], className].filter(Boolean).join(' '), "aria-labelledby": headingId, "data-test": `charter-sourcing-email-${variant}`, children: [jsx("span", { className: styles$_.preheader, "aria-hidden": "true", "data-test": "charter-sourcing-email-preheader", children: content.preheader }), jsx("table", { role: "presentation", cellPadding: 0, cellSpacing: 0, border: 0, width: "600", className: styles$_.layoutTable, style: EMAIL_STYLE.layout, "data-test": "charter-sourcing-email-layout", children: jsxs("tbody", { children: [jsx("tr", { children: jsx("td", { className: styles$_.brandCell, style: EMAIL_STYLE.brandCell, children: jsx("header", { "data-test": "charter-sourcing-email-brand", children: jsx("table", { role: "presentation", cellPadding: 0, cellSpacing: 0, border: 0, width: "100%", children: jsx("tbody", { children: jsxs("tr", { children: [jsx("td", { width: "54", style: { padding: 0, verticalAlign: 'middle' }, children: jsx("table", { role: "presentation", cellPadding: 0, cellSpacing: 0, border: 0, width: "42", style: EMAIL_STYLE.brandMarkTable, children: jsx("tbody", { children: jsx("tr", { children: jsx("td", { style: EMAIL_STYLE.brandMarkCell, "aria-hidden": "true", children: jsx(PlaneIcon$3, { size: 22 }) }) }) }) }) }), jsxs("td", { style: EMAIL_STYLE.brandCopyCell, children: [jsx("strong", { style: EMAIL_STYLE.brandName, children: "STM" }), jsx("br", {}), jsx("span", { style: EMAIL_STYLE.brandProduct, children: "Charters" })] })] }) }) }) }) }) }), jsx("tr", { children: jsxs("td", { className: styles$_.bodyCell, style: EMAIL_STYLE.bodyCell, "data-test": "charter-sourcing-email-body", children: [jsx("table", { role: "presentation", cellPadding: 0, cellSpacing: 0, border: 0, width: "48", style: { ...EMAIL_STYLE.statusTable, backgroundColor: theme.statusBackground }, children: jsx("tbody", { children: jsx("tr", { children: jsx("td", { style: { ...EMAIL_STYLE.statusCell, color: theme.accent }, "aria-hidden": "true", children: jsx(StatusIcon, { size: 24 }) }) }) }) }), jsx("p", { style: { ...EMAIL_STYLE.eyebrow, color: theme.accent }, "data-test": "charter-sourcing-email-status", children: content.eyebrow }), jsx("h1", { id: headingId, className: styles$_.heading, style: EMAIL_STYLE.heading, "data-test": "charter-sourcing-email-heading", children: content.heading }), jsx("p", { style: EMAIL_STYLE.greeting, children: "Hello," }), jsx("p", { style: EMAIL_STYLE.opening, children: content.opening }), jsxs("section", { style: EMAIL_STYLE.summary, "aria-labelledby": summaryHeadingId, children: [jsx("table", { role: "presentation", cellPadding: 0, cellSpacing: 0, border: 0, width: "100%", style: EMAIL_STYLE.routeTable, "data-test": "charter-sourcing-email-route", children: jsx("tbody", { children: jsxs("tr", { children: [jsx("td", { className: styles$_.stackCell, style: EMAIL_STYLE.routeLabel, children: "Trip route" }), jsx("td", { className: styles$_.stackCell, style: EMAIL_STYLE.routeValue, children: present(route) })] }) }) }), jsx("h2", { id: summaryHeadingId, className: styles$_.visuallyHidden, children: "Quote details" }), jsx("table", { cellPadding: 0, cellSpacing: 0, border: 0, width: "100%", style: EMAIL_STYLE.detailTable, "aria-labelledby": summaryHeadingId, "data-test": "charter-sourcing-email-summary", children: jsxs("tbody", { children: [detailFields.map(([label, value]) => (jsxs("tr", { "data-test": "charter-sourcing-email-summary-field", children: [jsx("th", { scope: "row", style: EMAIL_STYLE.detailLabel, children: label }), jsx("td", { style: EMAIL_STYLE.detailValue, children: present(value) })] }, label))), quote.totalCost !== undefined && (jsxs("tr", { "data-test": "charter-sourcing-email-total", children: [jsx("th", { scope: "row", style: { ...EMAIL_STYLE.detailLabel, ...EMAIL_STYLE.totalLabel }, children: "Total Cost" }), jsx("td", { style: { ...EMAIL_STYLE.detailValue, ...EMAIL_STYLE.totalValue }, children: present(quote.totalCost) })] }))] }) })] }), variant === 'submitter-updated' && (jsxs("section", { "data-test": "charter-sourcing-email-changes", children: [jsx("h2", { style: EMAIL_STYLE.changesHeading, children: "What changed" }), jsxs("table", { cellPadding: 0, cellSpacing: 0, border: 0, width: "100%", style: EMAIL_STYLE.changesTable, children: [jsx("caption", { className: styles$_.visuallyHidden, children: "Fields changed by the Charter Sourcing administrator" }), jsx("thead", { children: jsxs("tr", { children: [jsx("th", { scope: "col", style: { ...EMAIL_STYLE.changesHeader, width: '40%' }, children: "Field" }), jsx("th", { scope: "col", style: { ...EMAIL_STYLE.changesHeader, width: '30%' }, children: "Previous" }), jsx("th", { scope: "col", style: { ...EMAIL_STYLE.changesHeader, width: '30%' }, children: "Updated" })] }) }), jsx("tbody", { children: changes.map((change, index) => (jsxs("tr", { "data-test": "charter-sourcing-email-change", children: [jsx("th", { scope: "row", style: EMAIL_STYLE.changesRowHeader, children: change.label }), jsx("td", { style: { ...EMAIL_STYLE.changesValue, ...EMAIL_STYLE.previousValue }, children: present(change.previousValue) }), jsx("td", { style: { ...EMAIL_STYLE.changesValue, ...EMAIL_STYLE.updatedValue }, children: present(change.updatedValue) })] }, `${change.label}-${index}`))) })] })] })), jsx("table", { role: "presentation", cellPadding: 0, cellSpacing: 0, border: 0, width: "100%", style: EMAIL_STYLE.requestTable, children: jsx("tbody", { children: jsxs("tr", { children: [jsx("td", { className: styles$_.stackCell, style: EMAIL_STYLE.requestLabel, children: "Request ID" }), jsx("td", { className: styles$_.stackCell, style: EMAIL_STYLE.requestValue, "data-test": "charter-sourcing-email-request-id", children: present(quote.requestId) })] }) }) }), jsxs("p", { style: EMAIL_STYLE.signoff, children: ["Thanks,", jsx("br", {}), jsx("strong", { children: "STM Charters Team" })] }), testServerOriginalRecipient && (jsx("aside", { "data-test": "charter-sourcing-email-test-notice", children: jsx("table", { role: "presentation", cellPadding: 0, cellSpacing: 0, border: 0, width: "100%", style: EMAIL_STYLE.noticeTable, children: jsx("tbody", { children: jsx("tr", { children: jsxs("td", { style: EMAIL_STYLE.noticeCell, children: [jsx("strong", { children: "Test server delivery" }), jsx("br", {}), jsx("span", { children: "This message may not represent an actual charter quote." }), jsx("br", {}), jsxs("span", { children: ["Original recipient: ", testServerOriginalRecipient] })] }) }) }) }) }))] }) }), jsx("tr", { children: jsx("td", { className: styles$_.footerCell, style: EMAIL_STYLE.footerCell, children: jsxs("footer", { "data-test": "charter-sourcing-email-footer", children: [jsx("p", { style: EMAIL_STYLE.footerParagraph, children: "This transactional message was sent by STM Charters." }), jsx("p", { style: EMAIL_STYLE.footerParagraph, children: "Reply to contact the Charter Sourcing team." })] }) }) })] }) })] }));
3825
+ return (jsxs("article", { className: [styles$$.email, styles$$[variant], className].filter(Boolean).join(' '), "aria-labelledby": headingId, "data-test": `charter-sourcing-email-${variant}`, children: [jsx("span", { className: styles$$.preheader, "aria-hidden": "true", "data-test": "charter-sourcing-email-preheader", children: content.preheader }), jsx("table", { role: "presentation", cellPadding: 0, cellSpacing: 0, border: 0, width: "600", className: styles$$.layoutTable, style: EMAIL_STYLE.layout, "data-test": "charter-sourcing-email-layout", children: jsxs("tbody", { children: [jsx("tr", { children: jsx("td", { className: styles$$.brandCell, style: EMAIL_STYLE.brandCell, children: jsx("header", { "data-test": "charter-sourcing-email-brand", children: jsx("table", { role: "presentation", cellPadding: 0, cellSpacing: 0, border: 0, width: "100%", children: jsx("tbody", { children: jsxs("tr", { children: [jsx("td", { width: "54", style: { padding: 0, verticalAlign: 'middle' }, children: jsx("table", { role: "presentation", cellPadding: 0, cellSpacing: 0, border: 0, width: "42", style: EMAIL_STYLE.brandMarkTable, children: jsx("tbody", { children: jsx("tr", { children: jsx("td", { style: EMAIL_STYLE.brandMarkCell, "aria-hidden": "true", children: jsx(PlaneIcon$3, { size: 22 }) }) }) }) }) }), jsxs("td", { style: EMAIL_STYLE.brandCopyCell, children: [jsx("strong", { style: EMAIL_STYLE.brandName, children: "STM" }), jsx("br", {}), jsx("span", { style: EMAIL_STYLE.brandProduct, children: "Charters" })] })] }) }) }) }) }) }), jsx("tr", { children: jsxs("td", { className: styles$$.bodyCell, style: EMAIL_STYLE.bodyCell, "data-test": "charter-sourcing-email-body", children: [jsx("table", { role: "presentation", cellPadding: 0, cellSpacing: 0, border: 0, width: "48", style: { ...EMAIL_STYLE.statusTable, backgroundColor: theme.statusBackground }, children: jsx("tbody", { children: jsx("tr", { children: jsx("td", { style: { ...EMAIL_STYLE.statusCell, color: theme.accent }, "aria-hidden": "true", children: jsx(StatusIcon, { size: 24 }) }) }) }) }), jsx("p", { style: { ...EMAIL_STYLE.eyebrow, color: theme.accent }, "data-test": "charter-sourcing-email-status", children: content.eyebrow }), jsx("h1", { id: headingId, className: styles$$.heading, style: EMAIL_STYLE.heading, "data-test": "charter-sourcing-email-heading", children: content.heading }), jsx("p", { style: EMAIL_STYLE.greeting, children: "Hello," }), jsx("p", { style: EMAIL_STYLE.opening, children: content.opening }), jsxs("section", { style: EMAIL_STYLE.summary, "aria-labelledby": summaryHeadingId, children: [jsx("table", { role: "presentation", cellPadding: 0, cellSpacing: 0, border: 0, width: "100%", style: EMAIL_STYLE.routeTable, "data-test": "charter-sourcing-email-route", children: jsx("tbody", { children: jsxs("tr", { children: [jsx("td", { className: styles$$.stackCell, style: EMAIL_STYLE.routeLabel, children: "Trip route" }), jsx("td", { className: styles$$.stackCell, style: EMAIL_STYLE.routeValue, children: present(route) })] }) }) }), jsx("h2", { id: summaryHeadingId, className: styles$$.visuallyHidden, children: "Quote details" }), jsx("table", { cellPadding: 0, cellSpacing: 0, border: 0, width: "100%", style: EMAIL_STYLE.detailTable, "aria-labelledby": summaryHeadingId, "data-test": "charter-sourcing-email-summary", children: jsxs("tbody", { children: [detailFields.map(([label, value]) => (jsxs("tr", { "data-test": "charter-sourcing-email-summary-field", children: [jsx("th", { scope: "row", style: EMAIL_STYLE.detailLabel, children: label }), jsx("td", { style: EMAIL_STYLE.detailValue, children: present(value) })] }, label))), quote.totalCost !== undefined && (jsxs("tr", { "data-test": "charter-sourcing-email-total", children: [jsx("th", { scope: "row", style: { ...EMAIL_STYLE.detailLabel, ...EMAIL_STYLE.totalLabel }, children: "Total Cost" }), jsx("td", { style: { ...EMAIL_STYLE.detailValue, ...EMAIL_STYLE.totalValue }, children: present(quote.totalCost) })] }))] }) })] }), variant === 'submitter-updated' && (jsxs("section", { "data-test": "charter-sourcing-email-changes", children: [jsx("h2", { style: EMAIL_STYLE.changesHeading, children: "What changed" }), jsxs("table", { cellPadding: 0, cellSpacing: 0, border: 0, width: "100%", style: EMAIL_STYLE.changesTable, children: [jsx("caption", { className: styles$$.visuallyHidden, children: "Fields changed by the Charter Sourcing administrator" }), jsx("thead", { children: jsxs("tr", { children: [jsx("th", { scope: "col", style: { ...EMAIL_STYLE.changesHeader, width: '40%' }, children: "Field" }), jsx("th", { scope: "col", style: { ...EMAIL_STYLE.changesHeader, width: '30%' }, children: "Previous" }), jsx("th", { scope: "col", style: { ...EMAIL_STYLE.changesHeader, width: '30%' }, children: "Updated" })] }) }), jsx("tbody", { children: changes.map((change, index) => (jsxs("tr", { "data-test": "charter-sourcing-email-change", children: [jsx("th", { scope: "row", style: EMAIL_STYLE.changesRowHeader, children: change.label }), jsx("td", { style: { ...EMAIL_STYLE.changesValue, ...EMAIL_STYLE.previousValue }, children: present(change.previousValue) }), jsx("td", { style: { ...EMAIL_STYLE.changesValue, ...EMAIL_STYLE.updatedValue }, children: present(change.updatedValue) })] }, `${change.label}-${index}`))) })] })] })), jsx("table", { role: "presentation", cellPadding: 0, cellSpacing: 0, border: 0, width: "100%", style: EMAIL_STYLE.requestTable, children: jsx("tbody", { children: jsxs("tr", { children: [jsx("td", { className: styles$$.stackCell, style: EMAIL_STYLE.requestLabel, children: "Request ID" }), jsx("td", { className: styles$$.stackCell, style: EMAIL_STYLE.requestValue, "data-test": "charter-sourcing-email-request-id", children: present(quote.requestId) })] }) }) }), jsxs("p", { style: EMAIL_STYLE.signoff, children: ["Thanks,", jsx("br", {}), jsx("strong", { children: "STM Charters Team" })] }), testServerOriginalRecipient && (jsx("aside", { "data-test": "charter-sourcing-email-test-notice", children: jsx("table", { role: "presentation", cellPadding: 0, cellSpacing: 0, border: 0, width: "100%", style: EMAIL_STYLE.noticeTable, children: jsx("tbody", { children: jsx("tr", { children: jsxs("td", { style: EMAIL_STYLE.noticeCell, children: [jsx("strong", { children: "Test server delivery" }), jsx("br", {}), jsx("span", { children: "This message may not represent an actual charter quote." }), jsx("br", {}), jsxs("span", { children: ["Original recipient: ", testServerOriginalRecipient] })] }) }) }) }) }))] }) }), jsx("tr", { children: jsx("td", { className: styles$$.footerCell, style: EMAIL_STYLE.footerCell, children: jsxs("footer", { "data-test": "charter-sourcing-email-footer", children: [jsx("p", { style: EMAIL_STYLE.footerParagraph, children: "This transactional message was sent by STM Charters." }), jsx("p", { style: EMAIL_STYLE.footerParagraph, children: "Reply to contact the Charter Sourcing team." })] }) }) })] }) })] }));
3778
3826
  };
3779
3827
  CharterSourcingEmailPreview.displayName = 'CharterSourcingEmailPreview';
3780
3828
 
3781
- var styles$Z = {"container":"ContactList-module_container__1kjze","alert":"ContactList-module_alert__KC0tz","card":"ContactList-module_card__TOyp2","header":"ContactList-module_header__QysLx","titleRow":"ContactList-module_titleRow__tUDMS","title":"ContactList-module_title__R-IOd","tooltip":"ContactList-module_tooltip__DDMka","list":"ContactList-module_list__6tjo-","contactItem":"ContactList-module_contactItem__4SoW-","contactInfo":"ContactList-module_contactInfo__6cQpi","contactName":"ContactList-module_contactName__z748K","badge":"ContactList-module_badge__USFpb","badgeSecondary":"ContactList-module_badgeSecondary__OSwqF","contactRole":"ContactList-module_contactRole__6kfuQ","contactDetails":"ContactList-module_contactDetails__ihY0M","contactLink":"ContactList-module_contactLink__sWGp9","contactPhone":"ContactList-module_contactPhone__dUn6z","contactActions":"ContactList-module_contactActions__6WT-z","actionButton":"ContactList-module_actionButton__aPnGZ","actionButtonDanger":"ContactList-module_actionButtonDanger__yRBz0","empty":"ContactList-module_empty__bRTDB","footer":"ContactList-module_footer__18gB-","addButton":"ContactList-module_addButton__STUhp"};
3829
+ var styles$_ = {"container":"ContactList-module_container__1kjze","alert":"ContactList-module_alert__KC0tz","card":"ContactList-module_card__TOyp2","header":"ContactList-module_header__QysLx","titleRow":"ContactList-module_titleRow__tUDMS","title":"ContactList-module_title__R-IOd","tooltip":"ContactList-module_tooltip__DDMka","list":"ContactList-module_list__6tjo-","contactItem":"ContactList-module_contactItem__4SoW-","contactInfo":"ContactList-module_contactInfo__6cQpi","contactName":"ContactList-module_contactName__z748K","badge":"ContactList-module_badge__USFpb","badgeSecondary":"ContactList-module_badgeSecondary__OSwqF","contactRole":"ContactList-module_contactRole__6kfuQ","contactDetails":"ContactList-module_contactDetails__ihY0M","contactLink":"ContactList-module_contactLink__sWGp9","contactPhone":"ContactList-module_contactPhone__dUn6z","contactActions":"ContactList-module_contactActions__6WT-z","actionButton":"ContactList-module_actionButton__aPnGZ","actionButtonDanger":"ContactList-module_actionButtonDanger__yRBz0","empty":"ContactList-module_empty__bRTDB","footer":"ContactList-module_footer__18gB-","addButton":"ContactList-module_addButton__STUhp"};
3782
3830
 
3783
3831
  const InfoIcon = () => (jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [jsx("circle", { cx: "12", cy: "12", r: "10" }), jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12" }), jsx("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })] }));
3784
3832
  const EditIcon$1 = () => (jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [jsx("path", { d: "M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" }), jsx("path", { d: "M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z" })] }));
@@ -3789,18 +3837,18 @@ const PlusIcon$1 = () => (jsxs("svg", { width: "16", height: "16", viewBox: "0 0
3789
3837
  */
3790
3838
  const ContactList = ({ title = 'Contacts', tooltip, contacts, onEdit, onRemove, onAdd, showAdd = true, addLabel = 'Add Contact', alert, className = '', }) => {
3791
3839
  const listClasses = [
3792
- styles$Z.container,
3840
+ styles$_.container,
3793
3841
  className,
3794
3842
  ].filter(Boolean).join(' ');
3795
- return (jsxs("div", { className: listClasses, children: [alert && (jsx("div", { className: styles$Z.alert, children: alert })), jsxs("div", { className: styles$Z.card, children: [jsx("div", { className: styles$Z.header, children: jsxs("div", { className: styles$Z.titleRow, children: [jsx("h3", { className: styles$Z.title, children: title }), tooltip && (jsx("span", { className: styles$Z.tooltip, children: jsx(InfoIcon, {}) }))] }) }), jsxs("div", { className: styles$Z.list, children: [contacts.map((contact) => (jsxs("div", { className: styles$Z.contactItem, children: [jsxs("div", { className: styles$Z.contactInfo, children: [jsxs("div", { className: styles$Z.contactName, children: [contact.name, contact.isPrimary && (jsx("span", { className: styles$Z.badge, children: "Primary" })), contact.isSecondary && (jsx("span", { className: `${styles$Z.badge} ${styles$Z.badgeSecondary}`, children: "Secondary" }))] }), contact.role && (jsx("div", { className: styles$Z.contactRole, children: contact.role })), jsxs("div", { className: styles$Z.contactDetails, children: [contact.email && (jsx("a", { href: `mailto:${contact.email}`, className: styles$Z.contactLink, children: contact.email })), contact.phone && (jsx("span", { className: styles$Z.contactPhone, children: contact.phone }))] })] }), jsxs("div", { className: styles$Z.contactActions, children: [onEdit && (jsx("button", { type: "button", className: styles$Z.actionButton, onClick: () => onEdit(contact), "aria-label": "Edit contact", children: jsx(EditIcon$1, {}) })), onRemove && (jsx("button", { type: "button", className: `${styles$Z.actionButton} ${styles$Z.actionButtonDanger}`, onClick: () => onRemove(contact), "aria-label": "Remove contact", children: jsx(TrashIcon$1, {}) }))] })] }, contact.id))), contacts.length === 0 && (jsx("div", { className: styles$Z.empty, children: "No contacts added" }))] }), showAdd && onAdd && (jsx("div", { className: styles$Z.footer, children: jsxs("button", { type: "button", className: styles$Z.addButton, onClick: onAdd, children: [jsx(PlusIcon$1, {}), addLabel] }) }))] })] }));
3843
+ return (jsxs("div", { className: listClasses, children: [alert && (jsx("div", { className: styles$_.alert, children: alert })), jsxs("div", { className: styles$_.card, children: [jsx("div", { className: styles$_.header, children: jsxs("div", { className: styles$_.titleRow, children: [jsx("h3", { className: styles$_.title, children: title }), tooltip && (jsx("span", { className: styles$_.tooltip, children: jsx(InfoIcon, {}) }))] }) }), jsxs("div", { className: styles$_.list, children: [contacts.map((contact) => (jsxs("div", { className: styles$_.contactItem, children: [jsxs("div", { className: styles$_.contactInfo, children: [jsxs("div", { className: styles$_.contactName, children: [contact.name, contact.isPrimary && (jsx("span", { className: styles$_.badge, children: "Primary" })), contact.isSecondary && (jsx("span", { className: `${styles$_.badge} ${styles$_.badgeSecondary}`, children: "Secondary" }))] }), contact.role && (jsx("div", { className: styles$_.contactRole, children: contact.role })), jsxs("div", { className: styles$_.contactDetails, children: [contact.email && (jsx("a", { href: `mailto:${contact.email}`, className: styles$_.contactLink, children: contact.email })), contact.phone && (jsx("span", { className: styles$_.contactPhone, children: contact.phone }))] })] }), jsxs("div", { className: styles$_.contactActions, children: [onEdit && (jsx("button", { type: "button", className: styles$_.actionButton, onClick: () => onEdit(contact), "aria-label": "Edit contact", children: jsx(EditIcon$1, {}) })), onRemove && (jsx("button", { type: "button", className: `${styles$_.actionButton} ${styles$_.actionButtonDanger}`, onClick: () => onRemove(contact), "aria-label": "Remove contact", children: jsx(TrashIcon$1, {}) }))] })] }, contact.id))), contacts.length === 0 && (jsx("div", { className: styles$_.empty, children: "No contacts added" }))] }), showAdd && onAdd && (jsx("div", { className: styles$_.footer, children: jsxs("button", { type: "button", className: styles$_.addButton, onClick: onAdd, children: [jsx(PlusIcon$1, {}), addLabel] }) }))] })] }));
3796
3844
  };
3797
3845
  ContactList.displayName = 'ContactList';
3798
3846
 
3799
- var styles$Y = {"container":"Drawer-module_container__hXuOY","backdrop":"Drawer-module_backdrop__MIipQ","fadeIn":"Drawer-module_fadeIn__QsuvQ","backdropOpen":"Drawer-module_backdropOpen__YpH--","drawer":"Drawer-module_drawer__EHbbs","right":"Drawer-module_right__x6P6Q","drawerOpen":"Drawer-module_drawerOpen__KTgFg","left":"Drawer-module_left__aVF9t","top":"Drawer-module_top__wuvhi","bottom":"Drawer-module_bottom__rt-VZ","sizeSm":"Drawer-module_sizeSm__LFrm3","sizeMd":"Drawer-module_sizeMd__A1QTQ","sizeLg":"Drawer-module_sizeLg__6laD8","sizeXl":"Drawer-module_sizeXl__FY9mZ","sizeFull":"Drawer-module_sizeFull__BGQ1q","header":"Drawer-module_header__MpR14","headerContent":"Drawer-module_headerContent__dFcLH","title":"Drawer-module_title__0AmOX","closeButton":"Drawer-module_closeButton__VuXsE","body":"Drawer-module_body__GLUGo","footer":"Drawer-module_footer__K5ekS"};
3847
+ var styles$Z = {"container":"Drawer-module_container__hXuOY","backdrop":"Drawer-module_backdrop__MIipQ","fadeIn":"Drawer-module_fadeIn__QsuvQ","backdropOpen":"Drawer-module_backdropOpen__YpH--","drawer":"Drawer-module_drawer__EHbbs","right":"Drawer-module_right__x6P6Q","drawerOpen":"Drawer-module_drawerOpen__KTgFg","left":"Drawer-module_left__aVF9t","top":"Drawer-module_top__wuvhi","bottom":"Drawer-module_bottom__rt-VZ","sizeSm":"Drawer-module_sizeSm__LFrm3","sizeMd":"Drawer-module_sizeMd__A1QTQ","sizeLg":"Drawer-module_sizeLg__6laD8","sizeXl":"Drawer-module_sizeXl__FY9mZ","sizeFull":"Drawer-module_sizeFull__BGQ1q","header":"Drawer-module_header__MpR14","headerContent":"Drawer-module_headerContent__dFcLH","title":"Drawer-module_title__0AmOX","closeButton":"Drawer-module_closeButton__VuXsE","body":"Drawer-module_body__GLUGo","footer":"Drawer-module_footer__K5ekS"};
3800
3848
 
3801
- const DrawerHeader = ({ title, children, showClose = true, onClose, className = '', }) => (jsxs("div", { className: `${styles$Y.header} ${className}`, children: [jsxs("div", { className: styles$Y.headerContent, children: [title && jsx("h2", { className: styles$Y.title, children: title }), children] }), showClose && (jsx("button", { type: "button", className: styles$Y.closeButton, onClick: onClose, "aria-label": "Close drawer", children: jsx("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) }))] }));
3802
- const DrawerBody = ({ children, className = '' }) => (jsx("div", { className: `${styles$Y.body} ${className}`, children: children }));
3803
- const DrawerFooter = ({ children, className = '' }) => (jsx("div", { className: `${styles$Y.footer} ${className}`, children: children }));
3849
+ const DrawerHeader = ({ title, children, showClose = true, onClose, className = '', }) => (jsxs("div", { className: `${styles$Z.header} ${className}`, children: [jsxs("div", { className: styles$Z.headerContent, children: [title && jsx("h2", { className: styles$Z.title, children: title }), children] }), showClose && (jsx("button", { type: "button", className: styles$Z.closeButton, onClick: onClose, "aria-label": "Close drawer", children: jsx("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) }))] }));
3850
+ const DrawerBody = ({ children, className = '' }) => (jsx("div", { className: `${styles$Z.body} ${className}`, children: children }));
3851
+ const DrawerFooter = ({ children, className = '' }) => (jsx("div", { className: `${styles$Z.footer} ${className}`, children: children }));
3804
3852
  const Drawer = ({ isOpen, onClose, position = 'right', size = 'md', children, closeOnBackdropClick = true, closeOnEscape = true, showBackdrop = true, className = '', }) => {
3805
3853
  const handleEscape = useCallback((e) => {
3806
3854
  if (closeOnEscape && e.key === 'Escape') {
@@ -3828,7 +3876,7 @@ const Drawer = ({ isOpen, onClose, position = 'right', size = 'md', children, cl
3828
3876
  const customSize = isNamed ? undefined : size;
3829
3877
  if (!isOpen)
3830
3878
  return null;
3831
- return (jsxs("div", { className: styles$Y.container, children: [showBackdrop && (jsx("div", { className: `${styles$Y.backdrop} ${isOpen ? styles$Y.backdropOpen : ''}`, onClick: handleBackdropClick })), jsx("div", { className: `${styles$Y.drawer} ${styles$Y[position]} ${namedSize ? styles$Y[`size${namedSize.charAt(0).toUpperCase()}${namedSize.slice(1)}`] : ''} ${isOpen ? styles$Y.drawerOpen : ''} ${className}`, style: customSize ? (position === 'left' || position === 'right' ? { width: customSize } : { height: customSize }) : undefined, role: "dialog", "aria-modal": "true", children: React.Children.map(children, (child) => {
3879
+ return (jsxs("div", { className: styles$Z.container, children: [showBackdrop && (jsx("div", { className: `${styles$Z.backdrop} ${isOpen ? styles$Z.backdropOpen : ''}`, onClick: handleBackdropClick })), jsx("div", { className: `${styles$Z.drawer} ${styles$Z[position]} ${namedSize ? styles$Z[`size${namedSize.charAt(0).toUpperCase()}${namedSize.slice(1)}`] : ''} ${isOpen ? styles$Z.drawerOpen : ''} ${className}`, style: customSize ? (position === 'left' || position === 'right' ? { width: customSize } : { height: customSize }) : undefined, role: "dialog", "aria-modal": "true", children: React.Children.map(children, (child) => {
3832
3880
  if (React.isValidElement(child) && child.type === DrawerHeader) {
3833
3881
  return React.cloneElement(child, {
3834
3882
  onClose,
@@ -3841,7 +3889,7 @@ Drawer.Header = DrawerHeader;
3841
3889
  Drawer.Body = DrawerBody;
3842
3890
  Drawer.Footer = DrawerFooter;
3843
3891
 
3844
- var styles$X = {"drawer":"DueDatesDrawer-module_drawer__TqC4Q","open":"DueDatesDrawer-module_open__Yblf3","body":"DueDatesDrawer-module_body__OwwF-","search":"DueDatesDrawer-module_search__g7-Rl","cards":"DueDatesDrawer-module_cards__bFG90","empty":"DueDatesDrawer-module_empty__K2ULN","card":"DueDatesDrawer-module_card__4Os-5","cardTitle":"DueDatesDrawer-module_cardTitle__fU-cP","status":"DueDatesDrawer-module_status__dXifz","completed":"DueDatesDrawer-module_completed__jWoYi","pastDue":"DueDatesDrawer-module_pastDue__TSikC","tags":"DueDatesDrawer-module_tags__8P87y","completion":"DueDatesDrawer-module_completion__mIrWm","readOnlyStatus":"DueDatesDrawer-module_readOnlyStatus__23fdg"};
3892
+ var styles$Y = {"drawer":"DueDatesDrawer-module_drawer__TqC4Q","open":"DueDatesDrawer-module_open__Yblf3","body":"DueDatesDrawer-module_body__OwwF-","search":"DueDatesDrawer-module_search__g7-Rl","cards":"DueDatesDrawer-module_cards__bFG90","empty":"DueDatesDrawer-module_empty__K2ULN","card":"DueDatesDrawer-module_card__4Os-5","cardTitle":"DueDatesDrawer-module_cardTitle__fU-cP","status":"DueDatesDrawer-module_status__dXifz","completed":"DueDatesDrawer-module_completed__jWoYi","pastDue":"DueDatesDrawer-module_pastDue__TSikC","tags":"DueDatesDrawer-module_tags__8P87y","completion":"DueDatesDrawer-module_completion__mIrWm","readOnlyStatus":"DueDatesDrawer-module_readOnlyStatus__23fdg"};
3845
3893
 
3846
3894
  const isTravelDueDateCompleted = (item) => item.status.trim().toLowerCase() === 'completed' || !!item.completeddatetime;
3847
3895
  const isTravelDueDateOverdue = (item) => !item.completeddatetime && !!item.pastdue;
@@ -3858,7 +3906,7 @@ const DueDateCard$1 = ({ item, onToggle, onTaskClick }) => {
3858
3906
  const completed = isTravelDueDateCompleted(item);
3859
3907
  const dueDate = parseLocalDate$1(item.duedate);
3860
3908
  const pastDue = !!dueDate && dueDate < new Date() && !completed;
3861
- return (jsxs("article", { className: styles$X.card, children: [jsxs("div", { className: styles$X.cardTitle, children: [onToggle ? (jsx("button", { type: "button", "aria-label": `${completed ? 'Reopen' : 'Complete'} ${item.tasktitle}`, className: [styles$X.status, completed ? styles$X.completed : pastDue ? styles$X.pastDue : ''].filter(Boolean).join(' '), onClick: () => onToggle(item), "data-test": `due-date-toggle-${item.taskid}`, children: completed ? jsx(CheckIcon$2, { size: 12 }) : null })) : (jsx("span", { "aria-label": `${completed ? 'Completed' : pastDue ? 'Past due' : 'Incomplete'}: ${item.tasktitle}`, className: [styles$X.status, styles$X.readOnlyStatus, completed ? styles$X.completed : pastDue ? styles$X.pastDue : ''].filter(Boolean).join(' '), "data-test": `due-date-status-${item.taskid}`, children: completed ? jsx(CheckIcon$2, { size: 12 }) : null })), jsx("h5", { children: item.tasktitle })] }), item.description && jsx("p", { children: item.description }), jsxs("div", { className: styles$X.tags, children: [jsx("span", { style: { backgroundColor: sportColor$1(item.sportCode) }, children: item.sportCode }), jsx("button", { type: "button", disabled: !item.masterTripGUID || !onTaskClick, onClick: () => item.masterTripGUID && onTaskClick?.(item.masterTripGUID), children: item.tripName })] }), completed && item.completeddatetime && jsxs("div", { className: styles$X.completion, children: [jsx(CheckIcon$2, { size: 14 }), jsxs("span", { children: [jsx("em", { children: "on" }), " ", formatDate$8(item.completeddatetime, { month: 'numeric', day: 'numeric', year: '2-digit' }), " ", jsx("em", { children: "by" }), " ", item.completedby] })] })] }));
3909
+ return (jsxs("article", { className: styles$Y.card, children: [jsxs("div", { className: styles$Y.cardTitle, children: [onToggle ? (jsx("button", { type: "button", "aria-label": `${completed ? 'Reopen' : 'Complete'} ${item.tasktitle}`, className: [styles$Y.status, completed ? styles$Y.completed : pastDue ? styles$Y.pastDue : ''].filter(Boolean).join(' '), onClick: () => onToggle(item), "data-test": `due-date-toggle-${item.taskid}`, children: completed ? jsx(CheckIcon$2, { size: 12 }) : null })) : (jsx("span", { "aria-label": `${completed ? 'Completed' : pastDue ? 'Past due' : 'Incomplete'}: ${item.tasktitle}`, className: [styles$Y.status, styles$Y.readOnlyStatus, completed ? styles$Y.completed : pastDue ? styles$Y.pastDue : ''].filter(Boolean).join(' '), "data-test": `due-date-status-${item.taskid}`, children: completed ? jsx(CheckIcon$2, { size: 12 }) : null })), jsx("h5", { children: item.tasktitle })] }), item.description && jsx("p", { children: item.description }), jsxs("div", { className: styles$Y.tags, children: [jsx("span", { style: { backgroundColor: sportColor$1(item.sportCode) }, children: item.sportCode }), jsx("button", { type: "button", disabled: !item.masterTripGUID || !onTaskClick, onClick: () => item.masterTripGUID && onTaskClick?.(item.masterTripGUID), children: item.tripName })] }), completed && item.completeddatetime && jsxs("div", { className: styles$Y.completion, children: [jsx(CheckIcon$2, { size: 14 }), jsxs("span", { children: [jsx("em", { children: "on" }), " ", formatDate$8(item.completeddatetime, { month: 'numeric', day: 'numeric', year: '2-digit' }), " ", jsx("em", { children: "by" }), " ", item.completedby] })] })] }));
3862
3910
  };
3863
3911
  /** Hub's searchable, status-aware due-dates drawer. */
3864
3912
  const DueDatesDrawer = ({ isOpen, dueDates, selectedDate, selectedTrip, overdueOnly, onClose, onToggle, onTaskClick, className = '' }) => {
@@ -3870,9 +3918,32 @@ const DueDatesDrawer = ({ isOpen, dueDates, selectedDate, selectedTrip, overdueO
3870
3918
  const matches = items.filter((item) => (!selectedTrip || item.masterTripGUID === String(selectedTrip)) && (!overdueOnly || isTravelDueDateOverdue(item)) && (!normalized || item.tasktitle.toLowerCase().includes(normalized) || item.sportCode.toLowerCase().includes(normalized) || item.description.toLowerCase().includes(normalized)));
3871
3919
  return matches.length ? [[date, matches]] : [];
3872
3920
  })), [dueDates, search, selectedDate, selectedTrip, overdueOnly]);
3873
- return (jsxs("aside", { className: [styles$X.drawer, isOpen ? styles$X.open : '', className].filter(Boolean).join(' '), "aria-hidden": !isOpen, "aria-label": "Due Dates", children: [jsxs("header", { children: [jsx("h3", { children: "Due Dates" }), jsx("button", { type: "button", "aria-label": "Close due dates", onClick: onClose, children: jsx(CloseIcon, { size: 24 }) })] }), jsxs("div", { className: styles$X.body, children: [jsxs("label", { className: styles$X.search, children: [jsx(SearchIcon$1, { size: 16 }), jsx("input", { type: "search", placeholder: "Search", value: search, onChange: (event) => setSearch(event.target.value) })] }), !Object.keys(filtered).length ? jsx("div", { className: styles$X.empty, children: "No due dates found." }) : Object.entries(filtered).map(([date, items]) => (jsxs("section", { children: [jsx("h4", { children: formatDate$8(date, { month: 'long', day: 'numeric', year: 'numeric' }) }), jsx("div", { className: styles$X.cards, children: items.map((item) => jsx(DueDateCard$1, { item: item, onToggle: onToggle, onTaskClick: onTaskClick }, `${date}-${item.taskid}`)) })] }, date)))] })] }));
3921
+ return (jsxs("aside", { className: [styles$Y.drawer, isOpen ? styles$Y.open : '', className].filter(Boolean).join(' '), "aria-hidden": !isOpen, "aria-label": "Due Dates", children: [jsxs("header", { children: [jsx("h3", { children: "Due Dates" }), jsx("button", { type: "button", "aria-label": "Close due dates", onClick: onClose, children: jsx(CloseIcon, { size: 24 }) })] }), jsxs("div", { className: styles$Y.body, children: [jsxs("label", { className: styles$Y.search, children: [jsx(SearchIcon$1, { size: 16 }), jsx("input", { type: "search", placeholder: "Search", value: search, onChange: (event) => setSearch(event.target.value) })] }), !Object.keys(filtered).length ? jsx("div", { className: styles$Y.empty, children: "No due dates found." }) : Object.entries(filtered).map(([date, items]) => (jsxs("section", { children: [jsx("h4", { children: formatDate$8(date, { month: 'long', day: 'numeric', year: 'numeric' }) }), jsx("div", { className: styles$Y.cards, children: items.map((item) => jsx(DueDateCard$1, { item: item, onToggle: onToggle, onTaskClick: onTaskClick }, `${date}-${item.taskid}`)) })] }, date)))] })] }));
3874
3922
  };
3875
3923
 
3924
+ var styles$X = {"header":"GridHeaderRow-module_header__HaY4B","grid":"GridHeaderRow-module_grid__BvZkZ","heading":"GridHeaderRow-module_heading__fa7PW"};
3925
+
3926
+ /**
3927
+ * A grid heading strip on its own, without a table underneath it.
3928
+ *
3929
+ * GridTable renders its own headings and is the right answer whenever the
3930
+ * headings belong to the rows below them. This is for the cases where they do
3931
+ * not: two header strips side by side above one table, or a band that spans
3932
+ * several columns stacked over the real headings. Both need a heading row that
3933
+ * is not tied to a row set, which GridTable cannot express.
3934
+ *
3935
+ * Headings are plain text here, never sort controls — there are no rows to
3936
+ * sort. `sortable` on a column is ignored rather than rendering a button that
3937
+ * does nothing.
3938
+ *
3939
+ * Hidden below 768px, matching GridTable: at that width each row becomes a card
3940
+ * carrying its own labels, so a detached heading strip would caption nothing.
3941
+ */
3942
+ function GridHeaderRow({ columns, gridTemplateColumns, above, below, className = '', style, }) {
3943
+ return (jsxs("div", { className: `${styles$X.header} ${className}`, style: style, "data-testid": "grid-header-row", children: [above, jsx("div", { className: styles$X.grid, style: { gridTemplateColumns }, role: "row", children: columns.map((column, i) => (jsxs("div", { role: "columnheader", className: `${styles$X.heading} ${column.labelClassName ?? ''}`, children: [column.icon, column.label, column.labelAs?.({ name: column.name })] }, column.name ?? i))) }), below] }));
3944
+ }
3945
+ GridHeaderRow.displayName = 'GridHeaderRow';
3946
+
3876
3947
  var styles$W = {"table":"GridTable-module_table__eAyUR","grid":"GridTable-module_grid__Fas2-","header":"GridTable-module_header__Xlk1G","heading":"GridTable-module_heading__eQ0tp","sortable":"GridTable-module_sortable__3b0WI","headingInner":"GridTable-module_headingInner__mrWVH","headingIcon":"GridTable-module_headingIcon__0ezsg","sortIcon":"GridTable-module_sortIcon__pT9NY","body":"GridTable-module_body__rnNv7","row":"GridTable-module_row__5oYit","bordered":"GridTable-module_bordered__ONBuk","cellWrap":"GridTable-module_cellWrap__ioPRA","cell":"GridTable-module_cell__iciaC","value":"GridTable-module_value__qBeVT","stackedLabel":"GridTable-module_stackedLabel__snZdZ","empty":"GridTable-module_empty__sgW67","footer":"GridTable-module_footer__D-9Z4","totalCell":"GridTable-module_totalCell__zJPdZ","totalValue":"GridTable-module_totalValue__rqXX3"};
3877
3948
 
3878
3949
  const ChevronUp = () => (jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", "aria-hidden": "true", children: jsx("polyline", { points: "18 15 12 9 6 15" }) }));
@@ -15492,5 +15563,5 @@ const TripDetailPage = ({ header, airSegment, groundSegment, hotelSegment, files
15492
15563
  };
15493
15564
  TripDetailPage.displayName = 'TripDetailPage';
15494
15565
 
15495
- 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, Badge, BuildingIcon, BusIcon$2 as BusIcon, Button, ButtonStyled, CARRIER_CATERING_OPTIONS, CARRIER_CONTACT_TYPES, CHAMPIONSHIP_BID_TYPES, CHAMPIONSHIP_HEADINGS, CHARTER_CONTACT_GROUPS, CHARTER_SECTIONS, CalendarIcon$1 as CalendarIcon, CalendarTypeSelector, CalendarViewSelector, CarIcon$1 as CarIcon, Card, CardBody, CardFooter, CardHeader, CarrierProfilePage, ChampionshipBidDetailPage, ChampionshipBidsPage, CharterBidResponsePage, CharterBidViewPage, CharterManifestPage, CharterSourcingEmailPreview, ChartersAccessManagementPage, ChartersHomePage, CheckIcon$2 as CheckIcon, Checkbox, ChevronDownIcon$1 as ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon$1 as ChevronRightIcon, ChevronUpIcon, CloseIcon, ConfirmModal, ContactCard$1 as ContactCard, ContactList, ContactUsPage, CubeIcon, DOCUMENT_FILE_EXTENSIONS, DashboardIcon, DashboardPage, Datepicker, DetailList, DocumentIcon, DownloadIcon, Drawer, DrawerBody, DrawerFooter, DrawerHeader, Dropdown, DueDatesDrawer, EditIcon$2 as EditIcon, EmptyState$1 as EmptyState, EyeIcon, FeatureFlagManagementPage, FieldLayout, FileUploadButton, FilterChip, FilterIcon$1 as FilterIcon, FormField, FormRow, FormSection, FormStack, 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, HeadsetIcon, HomeIcon, HotelIcon$3 as HotelIcon, HotelSegment, HubAppShell, Icons, IndividualTravelPage, IndividualTravelRequestDetailPage, IndividualTravelRequestFormPage, InfoCenterPage, InfoIcon$1 as InfoIcon, InfoTile, Input, ItineraryPage, ItinerarySegmentCard, ItineraryTimeline, LightbulbIcon, LimoIcon, LockIcon$1 as LockIcon, LogoIcon, MailIcon, ManifestCapacityStats, ManifestViewToggle, MegaphoneIcon, MembershipPrograms, MenuIcon, Metric, MinusIcon, Modal, ModalFooter, Module, ModuleDivider, ModuleVerticalDivider, MultiUserSearch, NavItem, NotFoundPage, OFF_FLEET_LEARNED_DESCRIPTION, OFF_FLEET_LEARNED_EMPTY_COPY, OFF_FLEET_QUEUE_DESCRIPTION, OffFleetLearnedExamplesPage, OffFleetReviewQueuePage, OffFleetSubmissionDetailPage, PageBanners, PageHeader, Pagination, PhoneIcon, PlaneIcon$3 as PlaneIcon, PlusIcon$2 as PlusIcon, PreferencesPanel, PrinterIcon, Progress, ProgressBar, ProgressCircle, QuoteCostBreakdown, QuoteReviewActions, REGULAR_SEASON_BID_TYPES, RailIcon, RefreshIcon, RegularSeasonBidsPage, RegularSeasonBidsTable, ReportIcon, RequestFormFooter, RequestFormHeader, RequestFormLayout, RequestSummary$1 as RequestSummary, RosterProgramNumbersPage, RosterReportsPage, RosterToolbar, SOURCING_COST_CATEGORIES, SOURCING_COST_CATEGORY_LABELS, SUPPLIER_TYPE_OPTIONS, SchoolContactForm, SearchField, SearchIcon$1 as SearchIcon, Segment, SegmentedSelector, Select, SelectFilter, ServiceToggle, ServiceToggleList, SettingsIcon, Sidenav, SourcingQuoteDetailPage, SourcingReviewQueuePage, SourcingReviewQueueTable, Spinner, StatusBadge, SummarySection, SupplierTypeToggle, TRIP_MONTH_OPTIONS, Table, 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$2 as TrashIcon, TravelServiceIcon, TravelSummaryMetrics, TravelerForm, TrendDownIcon, TrendUpIcon, TripDetailPage, TripSegment, TripTable, TypeIcon, UploadIcon, UserIcon, UsersIcon$1 as UsersIcon, WarningIcon$1 as WarningIcon, XIcon, absoluteFill, accentColors, alertTokens, boxShadow, brandColors, breakpoints, buildPaginationItems, buttonReset, computeLineItemTotal, computeQuoteTotals, computeTravelTypeCodes, css, 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, 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, teamColors, textColors, toInlineStyle, trans, transition, truncate$1 as truncate, useTheme, weight };
15566
+ 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$2 as BusIcon, Button, ButtonStyled, CARRIER_CATERING_OPTIONS, CARRIER_CONTACT_TYPES, CHAMPIONSHIP_BID_TYPES, CHAMPIONSHIP_HEADINGS, CHARTER_CONTACT_GROUPS, CHARTER_SECTIONS, CalendarIcon$1 as CalendarIcon, CalendarTypeSelector, CalendarViewSelector, CarIcon$1 as CarIcon, Card, CardBody, CardFooter, CardHeader, CarrierProfilePage, ChampionshipBidDetailPage, ChampionshipBidsPage, CharterBidResponsePage, CharterBidViewPage, CharterManifestPage, CharterSourcingEmailPreview, ChartersAccessManagementPage, ChartersHomePage, CheckIcon$2 as CheckIcon, Checkbox, ChevronDownIcon$1 as ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon$1 as ChevronRightIcon, ChevronUpIcon, CloseIcon, ConfirmModal, ContactCard$1 as ContactCard, ContactList, ContactUsPage, CubeIcon, DOCUMENT_FILE_EXTENSIONS, DashboardIcon, DashboardPage, Datepicker, DetailList, DocumentIcon, DownloadIcon, Drawer, DrawerBody, DrawerFooter, DrawerHeader, Dropdown, DueDatesDrawer, EditIcon$2 as EditIcon, EmptyState$1 as EmptyState, EyeIcon, FeatureFlagManagementPage, FieldLayout, FileUploadButton, FilterChip, FilterIcon$1 as 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, HeadsetIcon, HomeIcon, HotelIcon$3 as HotelIcon, HotelSegment, HubAppShell, Icons, IndividualTravelPage, IndividualTravelRequestDetailPage, IndividualTravelRequestFormPage, InfoCenterPage, InfoIcon$1 as InfoIcon, InfoTile, Input, ItineraryPage, ItinerarySegmentCard, ItineraryTimeline, LightbulbIcon, LimoIcon, LockIcon$1 as LockIcon, LogoIcon, MailIcon, ManifestCapacityStats, ManifestViewToggle, MegaphoneIcon, MembershipPrograms, MenuIcon, Metric, MinusIcon, Modal, ModalFooter, Module, ModuleDivider, ModuleVerticalDivider, MultiUserSearch, NavItem, NotFoundPage, OFF_FLEET_LEARNED_DESCRIPTION, OFF_FLEET_LEARNED_EMPTY_COPY, OFF_FLEET_QUEUE_DESCRIPTION, OffFleetLearnedExamplesPage, OffFleetReviewQueuePage, OffFleetSubmissionDetailPage, PageBanners, PageHeader, Pagination, PhoneIcon, PlaneIcon$3 as PlaneIcon, PlusIcon$2 as PlusIcon, PreferencesPanel, PrinterIcon, Progress, ProgressBar, ProgressCircle, QuoteCostBreakdown, QuoteReviewActions, REGULAR_SEASON_BID_TYPES, RailIcon, RefreshIcon, RegularSeasonBidsPage, RegularSeasonBidsTable, ReportIcon, RequestFormFooter, RequestFormHeader, RequestFormLayout, RequestSummary$1 as RequestSummary, ResultCount, RosterProgramNumbersPage, RosterReportsPage, RosterToolbar, SOURCING_COST_CATEGORIES, SOURCING_COST_CATEGORY_LABELS, SUPPLIER_TYPE_OPTIONS, SchoolContactForm, SearchField, SearchIcon$1 as SearchIcon, Segment, SegmentedSelector, Select, SelectFilter, ServiceToggle, ServiceToggleList, SettingsIcon, Sidenav, SourcingQuoteDetailPage, SourcingReviewQueuePage, SourcingReviewQueueTable, Spinner, StatusBadge, SummarySection, SupplierTypeToggle, TRIP_MONTH_OPTIONS, Table, 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$2 as TrashIcon, TravelServiceIcon, TravelSummaryMetrics, TravelerForm, TrendDownIcon, TrendUpIcon, TripDetailPage, TripSegment, TripTable, TypeIcon, UploadIcon, UserIcon, UsersIcon$1 as UsersIcon, WarningIcon$1 as WarningIcon, XIcon, absoluteFill, accentColors, alertTokens, boxShadow, brandColors, breakpoints, buildPaginationItems, buttonReset, computeLineItemTotal, computeQuoteTotals, computeTravelTypeCodes, css, 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, 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, teamColors, textColors, toInlineStyle, trans, transition, truncate$1 as truncate, useTheme, weight };
15496
15567
  //# sourceMappingURL=index.esm.js.map