kaafil-react-uikit 0.6.0 → 0.7.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.
Files changed (48) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/admin/index.cjs +468 -446
  3. package/dist/admin/index.cjs.map +1 -1
  4. package/dist/admin/index.js +128 -106
  5. package/dist/admin/index.js.map +1 -1
  6. package/dist/{chunk-53ITV6GF.cjs → chunk-4R7QBTNL.cjs} +4 -4
  7. package/dist/{chunk-53ITV6GF.cjs.map → chunk-4R7QBTNL.cjs.map} +1 -1
  8. package/dist/{chunk-HNENKHHJ.js → chunk-57DYMIWS.js} +5 -5
  9. package/dist/{chunk-HNENKHHJ.js.map → chunk-57DYMIWS.js.map} +1 -1
  10. package/dist/{chunk-XPF737RG.cjs → chunk-7COMKJTM.cjs} +9 -9
  11. package/dist/{chunk-XPF737RG.cjs.map → chunk-7COMKJTM.cjs.map} +1 -1
  12. package/dist/{chunk-OOHU3ECL.cjs → chunk-7O3TPYK4.cjs} +17 -17
  13. package/dist/{chunk-OOHU3ECL.cjs.map → chunk-7O3TPYK4.cjs.map} +1 -1
  14. package/dist/{chunk-4QMYUKW4.cjs → chunk-ASFUY3IE.cjs} +5368 -5358
  15. package/dist/chunk-ASFUY3IE.cjs.map +1 -0
  16. package/dist/{chunk-CJMUPBZ7.js → chunk-DYOAKTGJ.js} +5 -5
  17. package/dist/{chunk-CJMUPBZ7.js.map → chunk-DYOAKTGJ.js.map} +1 -1
  18. package/dist/{chunk-JHLPO6LZ.js → chunk-E3KOQYY2.js} +3 -3
  19. package/dist/{chunk-JHLPO6LZ.js.map → chunk-E3KOQYY2.js.map} +1 -1
  20. package/dist/{chunk-F6B4CDUL.js → chunk-GKR52SVU.js} +3 -3
  21. package/dist/{chunk-F6B4CDUL.js.map → chunk-GKR52SVU.js.map} +1 -1
  22. package/dist/chunk-LBTAK5JA.cjs +12 -0
  23. package/dist/{chunk-V45VFRBI.cjs.map → chunk-LBTAK5JA.cjs.map} +1 -1
  24. package/dist/{chunk-77RKNRNH.cjs → chunk-MP4IMAPF.cjs} +55 -55
  25. package/dist/{chunk-77RKNRNH.cjs.map → chunk-MP4IMAPF.cjs.map} +1 -1
  26. package/dist/{chunk-AWOKWGTB.cjs → chunk-PQJGV3RE.cjs} +83 -83
  27. package/dist/{chunk-AWOKWGTB.cjs.map → chunk-PQJGV3RE.cjs.map} +1 -1
  28. package/dist/{chunk-F6YBM6EE.js → chunk-Q4B25EZO.js} +3 -3
  29. package/dist/{chunk-F6YBM6EE.js.map → chunk-Q4B25EZO.js.map} +1 -1
  30. package/dist/{chunk-XPCCR7OH.cjs → chunk-TDFM563X.cjs} +12 -12
  31. package/dist/{chunk-XPCCR7OH.cjs.map → chunk-TDFM563X.cjs.map} +1 -1
  32. package/dist/{chunk-PWZNUXKT.js → chunk-VU5BCK2P.js} +3 -3
  33. package/dist/{chunk-PWZNUXKT.js.map → chunk-VU5BCK2P.js.map} +1 -1
  34. package/dist/{chunk-4BPCKBLP.js → chunk-YHGAFRN6.js} +3 -3
  35. package/dist/{chunk-4BPCKBLP.js.map → chunk-YHGAFRN6.js.map} +1 -1
  36. package/dist/{chunk-SEPFCHBJ.js → chunk-ZURCZQQ7.js} +5368 -5358
  37. package/dist/chunk-ZURCZQQ7.js.map +1 -0
  38. package/dist/core/index.cjs +107 -107
  39. package/dist/core/index.js +10 -10
  40. package/dist/index.css +1 -1
  41. package/dist/manager/index.cjs +239 -239
  42. package/dist/manager/index.js +6 -6
  43. package/dist/traveller/index.cjs +35 -35
  44. package/dist/traveller/index.js +5 -5
  45. package/package.json +1 -1
  46. package/dist/chunk-4QMYUKW4.cjs.map +0 -1
  47. package/dist/chunk-SEPFCHBJ.js.map +0 -1
  48. package/dist/chunk-V45VFRBI.cjs +0 -12
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunk77RKNRNH_cjs = require('../chunk-77RKNRNH.cjs');
4
- var chunkAWOKWGTB_cjs = require('../chunk-AWOKWGTB.cjs');
5
- require('../chunk-53ITV6GF.cjs');
6
- var chunkXPCCR7OH_cjs = require('../chunk-XPCCR7OH.cjs');
7
- var chunk4QMYUKW4_cjs = require('../chunk-4QMYUKW4.cjs');
3
+ var chunkMP4IMAPF_cjs = require('../chunk-MP4IMAPF.cjs');
4
+ var chunkPQJGV3RE_cjs = require('../chunk-PQJGV3RE.cjs');
5
+ require('../chunk-4R7QBTNL.cjs');
6
+ var chunkTDFM563X_cjs = require('../chunk-TDFM563X.cjs');
7
+ var chunkASFUY3IE_cjs = require('../chunk-ASFUY3IE.cjs');
8
8
  var react = require('react');
9
9
  var jsxRuntime = require('react/jsx-runtime');
10
10
 
@@ -109,13 +109,13 @@ function CloseIcon(props) {
109
109
  );
110
110
  }
111
111
  function StatusPill({ tone, children, style }) {
112
- return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "kf-admin-shared-patterns-pill", "data-tone": tone, style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
112
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "kf-admin-shared-patterns-pill", "data-tone": tone, style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
113
113
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-admin-shared-patterns-pill-dot", "aria-hidden": "true" }),
114
114
  children
115
115
  ] });
116
116
  }
117
117
  function Tag({ tone, children, style }) {
118
- return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-admin-shared-patterns-tag", "data-tone": tone, style: chunk4QMYUKW4_cjs.tokenStyle(style), children });
118
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-admin-shared-patterns-tag", "data-tone": tone, style: chunkASFUY3IE_cjs.tokenStyle(style), children });
119
119
  }
120
120
 
121
121
  // src/admin/composite/office/AgencySettingsScreen/internal/fieldDisplayValue.ts
@@ -183,7 +183,7 @@ function SheetDialog({
183
183
  role: "dialog",
184
184
  "aria-modal": "true",
185
185
  "aria-labelledby": titleId,
186
- style: chunk4QMYUKW4_cjs.tokenStyle(style),
186
+ style: chunkASFUY3IE_cjs.tokenStyle(style),
187
187
  children: [
188
188
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-shared-patterns-sheet-header", children: [
189
189
  eyebrow === void 0 ? null : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-admin-shared-patterns-sheet-eyebrow", children: eyebrow }),
@@ -479,7 +479,7 @@ function TriStateToggle({ entry, onChange, t }) {
479
479
  function NoRender() {
480
480
  return null;
481
481
  }
482
- var fieldKindRegistry = chunk4QMYUKW4_cjs.createRegistry({
482
+ var fieldKindRegistry = chunkASFUY3IE_cjs.createRegistry({
483
483
  fallback: { render: NoRender }
484
484
  });
485
485
  fieldKindRegistry.register("toggle", {
@@ -629,11 +629,11 @@ function SectionCard({
629
629
  onDismissError,
630
630
  style
631
631
  }) {
632
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
632
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
633
633
  const [dialogOpen, setDialogOpen] = react.useState(false);
634
634
  const setFields = section.fields.filter((field) => stored?.[field.key] !== void 0);
635
635
  const isCustomized = setFields.length > 0;
636
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-agency-settings-screen__panel-inner", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
636
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-agency-settings-screen__panel-inner", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
637
637
  /* @__PURE__ */ jsxRuntime.jsxs("header", { className: "kf-agency-settings-screen__panel-head", children: [
638
638
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-agency-settings-screen__panel-head-copy", children: [
639
639
  /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "kf-agency-settings-screen__panel-eyebrow", children: [
@@ -1005,8 +1005,8 @@ function AgencySettingsScreen({
1005
1005
  components,
1006
1006
  style
1007
1007
  }) {
1008
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
1009
- const { document: document2, loaded, lastFetchFailed, refresh, patchSettings } = chunk77RKNRNH_cjs.useAgencySettings();
1008
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
1009
+ const { document: document2, loaded, lastFetchFailed, refresh, patchSettings } = chunkMP4IMAPF_cjs.useAgencySettings();
1010
1010
  const [selectedSectionId, setSelectedSectionId] = react.useState(AGENCY_SETTINGS_SECTIONS[0]?.id);
1011
1011
  const [savingSectionId, setSavingSectionId] = react.useState(void 0);
1012
1012
  const [sectionError, setSectionError] = react.useState(void 0);
@@ -1023,13 +1023,13 @@ function AgencySettingsScreen({
1023
1023
  try {
1024
1024
  await patchSettings({ version: document2.version, [sectionId]: patch });
1025
1025
  } catch (error) {
1026
- const kind = chunkAWOKWGTB_cjs.classifyError(error).code === "CONFLICT_VERSION" ? "conflict" : "failed";
1026
+ const kind = chunkPQJGV3RE_cjs.classifyError(error).code === "CONFLICT_VERSION" ? "conflict" : "failed";
1027
1027
  setSectionError({ sectionId, kind });
1028
1028
  } finally {
1029
1029
  setSavingSectionId(void 0);
1030
1030
  }
1031
1031
  }
1032
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-agency-settings-screen", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
1032
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-agency-settings-screen", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
1033
1033
  title !== void 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-agency-settings-screen__heading", children: [
1034
1034
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-agency-settings-screen__eyebrow", children: t("chrome.agencySettingsScreen.eyebrow") }),
1035
1035
  /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "kf-agency-settings-screen__title", children: title }),
@@ -1146,7 +1146,7 @@ function summaryFor(t, selected, everyLabelKey, optionLabelKey) {
1146
1146
  return selected.length === 0 ? t(everyLabelKey) : selected.map(optionLabelKey).join(", ");
1147
1147
  }
1148
1148
  function AutoAttachPanel({ template, saving, onSave }) {
1149
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
1149
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
1150
1150
  const titleId = react.useId();
1151
1151
  const [dialogOpen, setDialogOpen] = react.useState(false);
1152
1152
  const [draft, setDraft] = react.useState(() => draftFromTemplate(template));
@@ -1382,9 +1382,9 @@ function TemplateEditorHeader({
1382
1382
  onPublish,
1383
1383
  style
1384
1384
  }) {
1385
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
1385
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
1386
1386
  const statusLabelKey5 = template.status === "PUBLISHED" ? "chrome.checklistTemplateEditor.status.published" : "chrome.checklistTemplateEditor.status.draft";
1387
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor__header", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
1387
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor__header", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
1388
1388
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor__header-identity", children: [
1389
1389
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor__header-top", children: [
1390
1390
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -1453,7 +1453,7 @@ function TemplateItemEditDialog({
1453
1453
  onRemove,
1454
1454
  onClose
1455
1455
  }) {
1456
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
1456
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
1457
1457
  const titleId = react.useId();
1458
1458
  return /* @__PURE__ */ jsxRuntime.jsxs(
1459
1459
  SheetDialog,
@@ -1603,7 +1603,7 @@ function TemplateItemRow({
1603
1603
  onReorder,
1604
1604
  style
1605
1605
  }) {
1606
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
1606
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
1607
1607
  const dayOffset = item.dayOffset.trim().length > 0 ? Number.parseInt(item.dayOffset, 10) : null;
1608
1608
  const dayLabel = dayOffset === null ? "\u2014" : dayOffset > 0 ? `D+${dayOffset}` : `D${dayOffset}`;
1609
1609
  return (
@@ -1631,7 +1631,7 @@ function TemplateItemRow({
1631
1631
  onReorder(draggedDraftId, item.draftId);
1632
1632
  }
1633
1633
  },
1634
- style: chunk4QMYUKW4_cjs.tokenStyle(style),
1634
+ style: chunkASFUY3IE_cjs.tokenStyle(style),
1635
1635
  children: [
1636
1636
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-checklist-template-editor__item-drag", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(DragHandleIcon, {}) }),
1637
1637
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-checklist-template-editor__item-index", children: String(index + 1).padStart(2, "0") }),
@@ -1703,8 +1703,8 @@ function ChecklistTemplateEditor({
1703
1703
  components,
1704
1704
  style
1705
1705
  }) {
1706
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
1707
- const { templates, loaded, lastFetchFailed, refresh, patchTemplate, publishTemplate } = chunk77RKNRNH_cjs.useAgencyChecklistTemplates();
1706
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
1707
+ const { templates, loaded, lastFetchFailed, refresh, patchTemplate, publishTemplate } = chunkMP4IMAPF_cjs.useAgencyChecklistTemplates();
1708
1708
  const template = templates.find((candidate) => candidate.id === templateId);
1709
1709
  const [title, setTitle] = react.useState("");
1710
1710
  const [items, setItems] = react.useState([]);
@@ -1821,7 +1821,7 @@ function ChecklistTemplateEditor({
1821
1821
  }
1822
1822
  };
1823
1823
  if (lastFetchFailed && !loaded) {
1824
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-checklist-template-editor", "data-framed": "true", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor__status-block", role: "alert", children: [
1824
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-checklist-template-editor", "data-framed": "true", style: chunkASFUY3IE_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor__status-block", role: "alert", children: [
1825
1825
  /* @__PURE__ */ jsxRuntime.jsx(WarningIcon2, { className: "kf-checklist-template-editor__status-icon kf-checklist-template-editor__status-icon--danger" }),
1826
1826
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-checklist-template-editor__status-title", children: t("chrome.checklistTemplateEditor.errorTitle") }),
1827
1827
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -1836,20 +1836,20 @@ function ChecklistTemplateEditor({
1836
1836
  ] }) });
1837
1837
  }
1838
1838
  if (!loaded) {
1839
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-checklist-template-editor", "data-framed": "true", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor__skeleton", "aria-hidden": "true", children: [
1839
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-checklist-template-editor", "data-framed": "true", style: chunkASFUY3IE_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor__skeleton", "aria-hidden": "true", children: [
1840
1840
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-checklist-template-editor__skeleton-block" }),
1841
1841
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-checklist-template-editor__skeleton-block" }),
1842
1842
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-checklist-template-editor__skeleton-block" })
1843
1843
  ] }) });
1844
1844
  }
1845
1845
  if (template === void 0) {
1846
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-checklist-template-editor", "data-framed": "true", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor__status-block", children: [
1846
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-checklist-template-editor", "data-framed": "true", style: chunkASFUY3IE_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor__status-block", children: [
1847
1847
  /* @__PURE__ */ jsxRuntime.jsx(EmptyStateIcon2, { className: "kf-checklist-template-editor__status-icon" }),
1848
1848
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-checklist-template-editor__status-title", children: t("chrome.checklistTemplateEditor.notFoundTitle") })
1849
1849
  ] }) });
1850
1850
  }
1851
1851
  const editingItem = items.find((item) => item.draftId === editingDraftId);
1852
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
1852
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
1853
1853
  /* @__PURE__ */ jsxRuntime.jsx(
1854
1854
  TemplateEditorHeader2,
1855
1855
  {
@@ -1952,7 +1952,7 @@ var AUDIENCE_HINT_KEY = {
1952
1952
  EXTERNAL: "chrome.checklistTemplateLibrary.audience.externalHint"
1953
1953
  };
1954
1954
  function CreateTemplateSheet({ onSubmit, onClose }) {
1955
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
1955
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
1956
1956
  const titleId = react.useId();
1957
1957
  const [locale, setLocale] = react.useState("en");
1958
1958
  const [title, setTitle] = react.useState("");
@@ -2069,7 +2069,7 @@ function DeleteTemplateConfirmSheet({
2069
2069
  onConfirm,
2070
2070
  onClose
2071
2071
  }) {
2072
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
2072
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
2073
2073
  const titleId = react.useId();
2074
2074
  if (template === void 0) {
2075
2075
  return null;
@@ -2188,7 +2188,7 @@ function TemplateRow({
2188
2188
  onDelete,
2189
2189
  style
2190
2190
  }) {
2191
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
2191
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
2192
2192
  const statusLabelKey5 = template.status === "PUBLISHED" ? "chrome.checklistTemplateLibrary.status.published" : "chrome.checklistTemplateLibrary.status.draft";
2193
2193
  return /* @__PURE__ */ jsxRuntime.jsxs(
2194
2194
  "tr",
@@ -2197,7 +2197,7 @@ function TemplateRow({
2197
2197
  className: "kf-checklist-template-library__table-row",
2198
2198
  "data-selectable": onSelect !== void 0 ? "true" : void 0,
2199
2199
  "data-selected": selected === true ? "true" : void 0,
2200
- style: chunk4QMYUKW4_cjs.tokenStyle(style),
2200
+ style: chunkASFUY3IE_cjs.tokenStyle(style),
2201
2201
  children: [
2202
2202
  /* @__PURE__ */ jsxRuntime.jsx(
2203
2203
  "td",
@@ -2287,7 +2287,7 @@ function TemplateLibrarySkeleton() {
2287
2287
  ] }, rowIndex)) }) }) });
2288
2288
  }
2289
2289
  function CardHeading({ count }) {
2290
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
2290
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
2291
2291
  return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-checklist-template-library__card-title", children: t(
2292
2292
  count === 1 ? "chrome.checklistTemplateLibrary.countLabelOne" : "chrome.checklistTemplateLibrary.countLabel"
2293
2293
  ).replace("{count}", String(count)) });
@@ -2303,8 +2303,8 @@ function ChecklistTemplateLibrary({
2303
2303
  components,
2304
2304
  style
2305
2305
  }) {
2306
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
2307
- const { templates, loaded, lastFetchFailed, refresh, createTemplate, removeTemplate } = chunk77RKNRNH_cjs.useAgencyChecklistTemplates();
2306
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
2307
+ const { templates, loaded, lastFetchFailed, refresh, createTemplate, removeTemplate } = chunkMP4IMAPF_cjs.useAgencyChecklistTemplates();
2308
2308
  const isControlled = controlledCreating !== void 0 && onCreatingChange !== void 0;
2309
2309
  const [internalCreating, setInternalCreating] = react.useState(false);
2310
2310
  const creating = isControlled ? controlledCreating : internalCreating;
@@ -2340,7 +2340,7 @@ function ChecklistTemplateLibrary({
2340
2340
  ]
2341
2341
  }
2342
2342
  );
2343
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-library", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
2343
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-library", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
2344
2344
  title !== void 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-library__heading", children: [
2345
2345
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-library__heading-copy", children: [
2346
2346
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-checklist-template-library__title", children: title }),
@@ -2635,8 +2635,8 @@ function BuilderHeader({
2635
2635
  pending,
2636
2636
  style
2637
2637
  }) {
2638
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
2639
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-form-builder__header", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
2638
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
2639
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-form-builder__header", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
2640
2640
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-form-builder__header-identity", children: [
2641
2641
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-form-builder__header-top", children: [
2642
2642
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2832,7 +2832,7 @@ var fallback = {
2832
2832
  preview: ({ field }) => /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-form-builder__preview-unsupported", children: field.label }),
2833
2833
  configFields: NoConfigFields
2834
2834
  };
2835
- var fieldRegistry = chunk4QMYUKW4_cjs.createRegistry({ fallback });
2835
+ var fieldRegistry = chunkASFUY3IE_cjs.createRegistry({ fallback });
2836
2836
  fieldRegistry.register("HEADING", {
2837
2837
  preview: ({ field }) => /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-form-builder__preview-heading", children: field.label }),
2838
2838
  configFields: NoConfigFields
@@ -3304,7 +3304,7 @@ fieldRegistry.register("ADDRESS", {
3304
3304
  }
3305
3305
  });
3306
3306
  function FieldEditDialog(props) {
3307
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
3307
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
3308
3308
  const titleId = react.useId();
3309
3309
  const { bindings, saving, onClose } = props;
3310
3310
  const isEdit = props.mode === "edit";
@@ -3541,7 +3541,7 @@ function FieldEditDialog(props) {
3541
3541
  );
3542
3542
  }
3543
3543
  function LivePreviewPane({ title, sections, fields }) {
3544
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
3544
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
3545
3545
  const [frame, setFrame] = react.useState("desktop");
3546
3546
  const [answers, setAnswers] = react.useState({});
3547
3547
  function setAnswer(fieldId, value) {
@@ -3630,7 +3630,7 @@ function FieldRow({
3630
3630
  onDragEnd,
3631
3631
  style
3632
3632
  }) {
3633
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
3633
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
3634
3634
  const hasHelp = field.helpText !== null && field.helpText.length > 0;
3635
3635
  return /* @__PURE__ */ jsxRuntime.jsxs(
3636
3636
  "li",
@@ -3638,7 +3638,7 @@ function FieldRow({
3638
3638
  className: "kf-form-builder__field-row",
3639
3639
  "data-dragging": dragging ? "true" : void 0,
3640
3640
  "data-drag-over": dragOver ? "true" : void 0,
3641
- style: chunk4QMYUKW4_cjs.tokenStyle(style),
3641
+ style: chunkASFUY3IE_cjs.tokenStyle(style),
3642
3642
  onDragOver: (event) => {
3643
3643
  event.preventDefault();
3644
3644
  onDragOverRow();
@@ -3700,7 +3700,7 @@ function SectionBlock({
3700
3700
  onOpenField,
3701
3701
  onReorderField
3702
3702
  }) {
3703
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
3703
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
3704
3704
  const [title, setTitle] = react.useState(section.title ?? "");
3705
3705
  const [draggedFieldId, setDraggedFieldId] = react.useState(void 0);
3706
3706
  const [dragOverFieldId, setDragOverFieldId] = react.useState(void 0);
@@ -3834,7 +3834,7 @@ function draftFromForm(form) {
3834
3834
  };
3835
3835
  }
3836
3836
  function TargetingSummary({ form }) {
3837
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
3837
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
3838
3838
  const anchorLabel = (anchor) => t(`chrome.formBuilder.summary.anchor.${anchor}`);
3839
3839
  const eventTypes = form.appliesToEventTypes.length === 0 ? t("chrome.formBuilder.summary.everyEventType") : form.appliesToEventTypes.map((type) => t(`chrome.formBuilder.targeting.eventType.${type}`)).join(" \xB7 ");
3840
3840
  const tripModes = form.appliesToTripModes.length === 0 ? t("chrome.formBuilder.summary.everyTripMode") : form.appliesToTripModes.map((mode) => t(`chrome.formBuilder.targeting.tripMode.${mode}`)).join(" \xB7 ");
@@ -3895,7 +3895,7 @@ function TargetingSummary({ form }) {
3895
3895
  ] }, cell.key)) });
3896
3896
  }
3897
3897
  function TargetingPanel({ form, saving, onSave }) {
3898
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
3898
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
3899
3899
  const [editing, setEditing] = react.useState(false);
3900
3900
  const [submitted, setSubmitted] = react.useState(false);
3901
3901
  const [draft, setDraft] = react.useState(() => draftFromForm(form));
@@ -4191,7 +4191,7 @@ function buildReorderSections(sections, fieldsBySection) {
4191
4191
  }));
4192
4192
  }
4193
4193
  function FormBuilder({ formId, onBack, components, style }) {
4194
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
4194
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
4195
4195
  const {
4196
4196
  getForm,
4197
4197
  patchForm,
@@ -4209,7 +4209,7 @@ function FormBuilder({ formId, onBack, components, style }) {
4209
4209
  deleteField,
4210
4210
  reorderForm,
4211
4211
  listBindings
4212
- } = chunk77RKNRNH_cjs.useAgencyForms();
4212
+ } = chunkMP4IMAPF_cjs.useAgencyForms();
4213
4213
  const [form, setForm] = react.useState(void 0);
4214
4214
  const [loadFailed, setLoadFailed] = react.useState(false);
4215
4215
  const [bindings, setBindings] = react.useState([]);
@@ -4420,7 +4420,7 @@ function FormBuilder({ formId, onBack, components, style }) {
4420
4420
  }
4421
4421
  }
4422
4422
  if (loadFailed && form === void 0) {
4423
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-form-builder", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-form-builder__status-block", role: "alert", children: [
4423
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-form-builder", style: chunkASFUY3IE_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-form-builder__status-block", role: "alert", children: [
4424
4424
  /* @__PURE__ */ jsxRuntime.jsx(WarningIcon4, { className: "kf-form-builder__status-icon kf-form-builder__status-icon--danger" }),
4425
4425
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-form-builder__status-title", children: t("chrome.formBuilder.errorTitle") }),
4426
4426
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -4435,13 +4435,13 @@ function FormBuilder({ formId, onBack, components, style }) {
4435
4435
  ] }) });
4436
4436
  }
4437
4437
  if (form === void 0) {
4438
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-form-builder", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-form-builder__skeleton", "aria-hidden": "true", children: [
4438
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-form-builder", style: chunkASFUY3IE_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-form-builder__skeleton", "aria-hidden": "true", children: [
4439
4439
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-form-builder__skeleton-block" }),
4440
4440
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-form-builder__skeleton-block" }),
4441
4441
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-form-builder__skeleton-block" })
4442
4442
  ] }) });
4443
4443
  }
4444
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-form-builder", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
4444
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-form-builder", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
4445
4445
  onBack !== void 0 ? /* @__PURE__ */ jsxRuntime.jsxs("button", { type: "button", onClick: onBack, className: "kf-form-builder__back-link", children: [
4446
4446
  /* @__PURE__ */ jsxRuntime.jsx(BackIcon, {}),
4447
4447
  t("chrome.formBuilder.backToLibrary")
@@ -4595,7 +4595,7 @@ var AUDIENCE_LABEL_KEY2 = {
4595
4595
  MANAGER: "chrome.formsLibrary.audience.manager"
4596
4596
  };
4597
4597
  function CreateFormSheet({ onSubmit, onClose }) {
4598
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
4598
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
4599
4599
  const titleId = react.useId();
4600
4600
  const [locale, setLocale] = react.useState("en");
4601
4601
  const [title, setTitle] = react.useState("");
@@ -4623,7 +4623,7 @@ function CreateFormSheet({ onSubmit, onClose }) {
4623
4623
  });
4624
4624
  onClose();
4625
4625
  } catch (error) {
4626
- setErrorCode(chunkAWOKWGTB_cjs.classifyError(error).code ?? "unknown");
4626
+ setErrorCode(chunkPQJGV3RE_cjs.classifyError(error).code ?? "unknown");
4627
4627
  } finally {
4628
4628
  setPending(false);
4629
4629
  }
@@ -4811,7 +4811,7 @@ function formatDate2(iso) {
4811
4811
  });
4812
4812
  }
4813
4813
  function FormRow({ form, selected, onSelect, style }) {
4814
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
4814
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
4815
4815
  return /* @__PURE__ */ jsxRuntime.jsxs(
4816
4816
  "tr",
4817
4817
  {
@@ -4819,7 +4819,7 @@ function FormRow({ form, selected, onSelect, style }) {
4819
4819
  className: "kf-forms-library__table-row",
4820
4820
  "data-selectable": onSelect !== void 0 ? "true" : void 0,
4821
4821
  "data-selected": selected === true ? "true" : void 0,
4822
- style: chunk4QMYUKW4_cjs.tokenStyle(style),
4822
+ style: chunkASFUY3IE_cjs.tokenStyle(style),
4823
4823
  children: [
4824
4824
  /* @__PURE__ */ jsxRuntime.jsx(
4825
4825
  "td",
@@ -4875,7 +4875,7 @@ function FormsLibrarySkeleton() {
4875
4875
  ] }, rowIndex)) }) }) });
4876
4876
  }
4877
4877
  function CardHeading2({ count }) {
4878
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
4878
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
4879
4879
  return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-forms-library__card-title", children: t(
4880
4880
  count === 1 ? "chrome.formsLibrary.countLabelOne" : "chrome.formsLibrary.countLabel"
4881
4881
  ).replace("{count}", String(count)) });
@@ -4890,7 +4890,7 @@ function StatusFilterBar({
4890
4890
  active,
4891
4891
  onChange
4892
4892
  }) {
4893
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
4893
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
4894
4894
  return /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { className: "kf-forms-library__filter-bar", children: [
4895
4895
  /* @__PURE__ */ jsxRuntime.jsx("legend", { className: "kf-visually-hidden", children: t("chrome.formsLibrary.filter.legend") }),
4896
4896
  STATUS_FILTERS.map((filter) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -4916,8 +4916,8 @@ function FormsLibrary({
4916
4916
  components,
4917
4917
  style
4918
4918
  }) {
4919
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
4920
- const { forms, loaded, lastFetchFailed, refresh, createForm } = chunk77RKNRNH_cjs.useAgencyForms();
4919
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
4920
+ const { forms, loaded, lastFetchFailed, refresh, createForm } = chunkMP4IMAPF_cjs.useAgencyForms();
4921
4921
  const isControlled = controlledCreating !== void 0 && onCreatingChange !== void 0;
4922
4922
  const [internalCreating, setInternalCreating] = react.useState(false);
4923
4923
  const creating = isControlled ? controlledCreating : internalCreating;
@@ -4928,7 +4928,7 @@ function FormsLibrary({
4928
4928
  await createForm(input);
4929
4929
  };
4930
4930
  const visibleForms = statusFilter === "ALL" ? forms : forms.filter((form) => form.status === statusFilter);
4931
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-forms-library", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
4931
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-forms-library", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
4932
4932
  title !== void 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-forms-library__heading", children: [
4933
4933
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-forms-library__title", children: title }),
4934
4934
  subtitle !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-forms-library__subtitle", children: subtitle }) : null
@@ -5004,9 +5004,9 @@ function FormsAuthoringFlow({ initialFormId, style }) {
5004
5004
  setSelectedFormId(void 0);
5005
5005
  }
5006
5006
  if (selectedFormId === void 0) {
5007
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-forms-authoring-flow", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(FormsLibrary, { onSelectForm: handleSelect }) });
5007
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-forms-authoring-flow", style: chunkASFUY3IE_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(FormsLibrary, { onSelectForm: handleSelect }) });
5008
5008
  }
5009
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-forms-authoring-flow", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(FormBuilder, { formId: selectedFormId, onBack: handleBack }) });
5009
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-forms-authoring-flow", style: chunkASFUY3IE_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(FormBuilder, { formId: selectedFormId, onBack: handleBack }) });
5010
5010
  }
5011
5011
  function SearchIcon(props) {
5012
5012
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -5157,7 +5157,7 @@ function AdminAvatar({
5157
5157
  className: "kf-admin-shared-patterns-avatar",
5158
5158
  "data-size": size,
5159
5159
  "aria-hidden": "true",
5160
- style: chunk4QMYUKW4_cjs.tokenStyle(style, {
5160
+ style: chunkASFUY3IE_cjs.tokenStyle(style, {
5161
5161
  "--kf-admin-shared-patterns-avatar-computed-size": SIZE_VAR[size],
5162
5162
  "--kf-admin-shared-patterns-avatar-computed-bg": `var(--kf-color-avatar-${step})`
5163
5163
  }),
@@ -5177,7 +5177,7 @@ function ManagerResultRow({
5177
5177
  onSelect,
5178
5178
  style
5179
5179
  }) {
5180
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
5180
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
5181
5181
  const initials = initialsFromName(manager.fullName);
5182
5182
  return /* @__PURE__ */ jsxRuntime.jsxs(
5183
5183
  "tr",
@@ -5185,7 +5185,7 @@ function ManagerResultRow({
5185
5185
  role: "row",
5186
5186
  className: "kf-manager-directory-flow__table-row",
5187
5187
  "data-selectable": onSelect !== void 0 ? "true" : void 0,
5188
- style: chunk4QMYUKW4_cjs.tokenStyle(style),
5188
+ style: chunkASFUY3IE_cjs.tokenStyle(style),
5189
5189
  children: [
5190
5190
  /* @__PURE__ */ jsxRuntime.jsx(
5191
5191
  "td",
@@ -5294,8 +5294,8 @@ function ManagerResultsListBody({
5294
5294
  onCountChange,
5295
5295
  onRetry
5296
5296
  }) {
5297
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
5298
- const directories = chunk77RKNRNH_cjs.useDirectories();
5297
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
5298
+ const directories = chunkMP4IMAPF_cjs.useDirectories();
5299
5299
  const [errorMessage, setErrorMessage] = react.useState(void 0);
5300
5300
  const [hasSettled, setHasSettled] = react.useState(false);
5301
5301
  const ManagerRow = ManagerResultRowComponent ?? ManagerResultRow;
@@ -5306,7 +5306,7 @@ function ManagerResultsListBody({
5306
5306
  setErrorMessage(void 0);
5307
5307
  return page;
5308
5308
  } catch (error) {
5309
- setErrorMessage(chunkAWOKWGTB_cjs.classifyError(error).code ?? "unknown");
5309
+ setErrorMessage(chunkPQJGV3RE_cjs.classifyError(error).code ?? "unknown");
5310
5310
  return { rows: [], nextCursor: void 0 };
5311
5311
  } finally {
5312
5312
  setHasSettled(true);
@@ -5314,7 +5314,7 @@ function ManagerResultsListBody({
5314
5314
  },
5315
5315
  [directories, filters]
5316
5316
  );
5317
- const { rows, hasNext, hasPrev, loadNext, loadPrev } = chunk77RKNRNH_cjs.usePaginatedList(fetch);
5317
+ const { rows, hasNext, hasPrev, loadNext, loadPrev } = chunkMP4IMAPF_cjs.usePaginatedList(fetch);
5318
5318
  const isLoading = !hasSettled;
5319
5319
  const reportedCount = isLoading || errorMessage !== void 0 ? void 0 : rows.length;
5320
5320
  react.useEffect(() => {
@@ -5411,7 +5411,7 @@ function ManagerSearchInput({
5411
5411
  debounceMs,
5412
5412
  onDebouncedChange
5413
5413
  }) {
5414
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
5414
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
5415
5415
  const [value, setValue] = react.useState("");
5416
5416
  react.useEffect(() => {
5417
5417
  const timer = setTimeout(() => onDebouncedChange(value), debounceMs);
@@ -5450,12 +5450,12 @@ function ManagerDirectoryFlow({
5450
5450
  components,
5451
5451
  style
5452
5452
  }) {
5453
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
5453
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
5454
5454
  const [query, setQuery] = react.useState("");
5455
5455
  const [count, setCount] = react.useState(void 0);
5456
5456
  const trimmedQuery = query.trim();
5457
5457
  const handleCountChange = react.useCallback((next) => setCount(next), []);
5458
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-directory-flow", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
5458
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-directory-flow", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
5459
5459
  title !== void 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-directory-flow__heading", children: [
5460
5460
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-manager-directory-flow__title", children: title }),
5461
5461
  subtitle !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-directory-flow__subtitle", children: subtitle }) : null
@@ -5527,7 +5527,7 @@ function formatDate3(iso) {
5527
5527
  return new Date(iso).toLocaleDateString("en-GB", { day: "2-digit", month: "short" });
5528
5528
  }
5529
5529
  function ManagerAssignmentsCard({ trips }) {
5530
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
5530
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
5531
5531
  return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-manager-profile-section__card", children: [
5532
5532
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-profile-section__card-head", children: [
5533
5533
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-manager-profile-section__card-title", children: t("chrome.managerProfileSection.trips.title") }),
@@ -5591,7 +5591,7 @@ function HeroProfileHeader({
5591
5591
  glowTone,
5592
5592
  style
5593
5593
  }) {
5594
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-shared-patterns-hero", "data-glow": glowTone, style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
5594
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-shared-patterns-hero", "data-glow": glowTone, style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
5595
5595
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-admin-shared-patterns-hero-glow", "aria-hidden": "true" }),
5596
5596
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-shared-patterns-hero-row", children: [
5597
5597
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-admin-shared-patterns-hero-avatar", "aria-hidden": "true", children: avatarInitials }),
@@ -5624,7 +5624,7 @@ function initialsFromName2(name) {
5624
5624
  return `${first}${last}`.toUpperCase();
5625
5625
  }
5626
5626
  function ManagerProfileHero({ profile, onBack }) {
5627
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
5627
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
5628
5628
  const initials = initialsFromName2(profile.fullName);
5629
5629
  const stats = [
5630
5630
  { key: "trips", label: t("chrome.managerProfileSection.hero.trips"), value: profile.tripCount },
@@ -5683,12 +5683,12 @@ function ManagerProfileSection({
5683
5683
  components,
5684
5684
  style
5685
5685
  }) {
5686
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
5687
- const { read, readFailed, refresh } = chunk77RKNRNH_cjs.useAgencyManagerProfile(managerRef);
5686
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
5687
+ const { read, readFailed, refresh } = chunkMP4IMAPF_cjs.useAgencyManagerProfile(managerRef);
5688
5688
  const Hero = components?.Hero ?? ManagerProfileHero;
5689
5689
  const AssignmentsCard = components?.AssignmentsCard ?? ManagerAssignmentsCard;
5690
5690
  if (readFailed) {
5691
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-profile-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-profile-section__status-block", role: "alert", children: [
5691
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-profile-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-profile-section__status-block", role: "alert", children: [
5692
5692
  /* @__PURE__ */ jsxRuntime.jsx(WarningIcon7, { className: "kf-manager-profile-section__status-icon kf-manager-profile-section__status-icon--danger" }),
5693
5693
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-profile-section__status-title", children: t("chrome.managerProfileSection.errorTitle") }),
5694
5694
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-profile-section__status-body", children: t("chrome.managerProfileSection.errorBody") }),
@@ -5704,9 +5704,9 @@ function ManagerProfileSection({
5704
5704
  ] }) });
5705
5705
  }
5706
5706
  if (read === void 0) {
5707
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-profile-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(ManagerProfileSkeleton, {}) });
5707
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-profile-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(ManagerProfileSkeleton, {}) });
5708
5708
  }
5709
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-profile-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
5709
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-profile-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
5710
5710
  /* @__PURE__ */ jsxRuntime.jsx(Hero, { profile: read, onBack }),
5711
5711
  /* @__PURE__ */ jsxRuntime.jsx(AssignmentsCard, { trips: read.trips })
5712
5712
  ] });
@@ -5733,7 +5733,7 @@ function TemplateAuthoringFlow({
5733
5733
  initialTemplateId,
5734
5734
  style
5735
5735
  }) {
5736
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
5736
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
5737
5737
  const [selectedTemplateId, setSelectedTemplateId] = react.useState(
5738
5738
  initialTemplateId
5739
5739
  );
@@ -5744,9 +5744,9 @@ function TemplateAuthoringFlow({
5744
5744
  setSelectedTemplateId(void 0);
5745
5745
  }
5746
5746
  if (selectedTemplateId === void 0) {
5747
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-template-authoring-flow", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(ChecklistTemplateLibrary, { onSelectTemplate: handleSelect }) });
5747
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-template-authoring-flow", style: chunkASFUY3IE_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(ChecklistTemplateLibrary, { onSelectTemplate: handleSelect }) });
5748
5748
  }
5749
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-template-authoring-flow", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
5749
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-template-authoring-flow", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
5750
5750
  /* @__PURE__ */ jsxRuntime.jsxs("button", { type: "button", onClick: handleBack, className: "kf-template-authoring-flow__back-link", children: [
5751
5751
  /* @__PURE__ */ jsxRuntime.jsx(BackIcon3, {}),
5752
5752
  t("chrome.templateAuthoringFlow.backToLibrary")
@@ -5755,8 +5755,8 @@ function TemplateAuthoringFlow({
5755
5755
  ] });
5756
5756
  }
5757
5757
  function AddTravellerModal({ onClose, onCreated }) {
5758
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
5759
- const directories = chunk77RKNRNH_cjs.useDirectories();
5758
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
5759
+ const directories = chunkMP4IMAPF_cjs.useDirectories();
5760
5760
  const titleId = react.useId();
5761
5761
  const [fullName, setFullName] = react.useState("");
5762
5762
  const [phone, setPhone] = react.useState("");
@@ -5780,7 +5780,7 @@ function AddTravellerModal({ onClose, onCreated }) {
5780
5780
  });
5781
5781
  onCreated(created);
5782
5782
  } catch (error) {
5783
- setErrorMessage(chunkAWOKWGTB_cjs.classifyError(error).code ?? "unknown");
5783
+ setErrorMessage(chunkPQJGV3RE_cjs.classifyError(error).code ?? "unknown");
5784
5784
  } finally {
5785
5785
  setIsSubmitting(false);
5786
5786
  }
@@ -5994,7 +5994,7 @@ function TravellerResultRow({
5994
5994
  onSelect,
5995
5995
  style
5996
5996
  }) {
5997
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
5997
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
5998
5998
  const initials = initialsFromName3(traveller.fullName);
5999
5999
  return /* @__PURE__ */ jsxRuntime.jsxs(
6000
6000
  "tr",
@@ -6002,7 +6002,7 @@ function TravellerResultRow({
6002
6002
  role: "row",
6003
6003
  className: "kf-traveller-directory__table-row",
6004
6004
  "data-selectable": onSelect !== void 0 ? "true" : void 0,
6005
- style: chunk4QMYUKW4_cjs.tokenStyle(style),
6005
+ style: chunkASFUY3IE_cjs.tokenStyle(style),
6006
6006
  children: [
6007
6007
  /* @__PURE__ */ jsxRuntime.jsx(
6008
6008
  "td",
@@ -6130,8 +6130,8 @@ function TravellerResultsListBody({
6130
6130
  onCountChange,
6131
6131
  onRetry
6132
6132
  }) {
6133
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
6134
- const directories = chunk77RKNRNH_cjs.useDirectories();
6133
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
6134
+ const directories = chunkMP4IMAPF_cjs.useDirectories();
6135
6135
  const [errorMessage, setErrorMessage] = react.useState(void 0);
6136
6136
  const [hasSettled, setHasSettled] = react.useState(false);
6137
6137
  const fetch = react.useCallback(
@@ -6142,7 +6142,7 @@ function TravellerResultsListBody({
6142
6142
  setErrorMessage(void 0);
6143
6143
  return page;
6144
6144
  } catch (error) {
6145
- setErrorMessage(chunkAWOKWGTB_cjs.classifyError(error).code ?? "unknown");
6145
+ setErrorMessage(chunkPQJGV3RE_cjs.classifyError(error).code ?? "unknown");
6146
6146
  return { rows: [], nextCursor: void 0 };
6147
6147
  } finally {
6148
6148
  setHasSettled(true);
@@ -6150,7 +6150,7 @@ function TravellerResultsListBody({
6150
6150
  },
6151
6151
  [directories, query]
6152
6152
  );
6153
- const { rows, hasNext, hasPrev, loadNext, loadPrev } = chunk77RKNRNH_cjs.usePaginatedList(fetch);
6153
+ const { rows, hasNext, hasPrev, loadNext, loadPrev } = chunkMP4IMAPF_cjs.usePaginatedList(fetch);
6154
6154
  const isLoading = !hasSettled;
6155
6155
  const reportedCount = isLoading || errorMessage !== void 0 ? void 0 : rows.length;
6156
6156
  react.useEffect(() => {
@@ -6245,7 +6245,7 @@ function TravellerSearchInput({
6245
6245
  debounceMs,
6246
6246
  onDebouncedChange
6247
6247
  }) {
6248
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
6248
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
6249
6249
  const [value, setValue] = react.useState("");
6250
6250
  react.useEffect(() => {
6251
6251
  const timer = setTimeout(() => onDebouncedChange(value), debounceMs);
@@ -6285,13 +6285,13 @@ function TravellerSearchBox({
6285
6285
  trailingAction,
6286
6286
  style
6287
6287
  }) {
6288
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
6288
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
6289
6289
  const [query, setQuery] = react.useState("");
6290
6290
  const [count, setCount] = react.useState(void 0);
6291
6291
  const trimmed = query.trim();
6292
6292
  const handleCountChange = react.useCallback((next) => setCount(next), []);
6293
6293
  const isBelowFloor = minQueryLength > 0 && trimmed.length < minQueryLength;
6294
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-directory__search-box", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
6294
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-directory__search-box", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
6295
6295
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-directory__search-box-input-row", children: [
6296
6296
  /* @__PURE__ */ jsxRuntime.jsx(TravellerSearchInput, { debounceMs, onDebouncedChange: setQuery }),
6297
6297
  count !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-traveller-directory__count", children: t(
@@ -6323,7 +6323,7 @@ function TravellerDirectoryFlow({
6323
6323
  components,
6324
6324
  style
6325
6325
  }) {
6326
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
6326
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
6327
6327
  const [uncontrolledOpen, setUncontrolledOpen] = react.useState(false);
6328
6328
  const isControlled = adding !== void 0 && onAddingChange !== void 0;
6329
6329
  const isAddModalOpen = isControlled ? adding : uncontrolledOpen;
@@ -6346,7 +6346,7 @@ function TravellerDirectoryFlow({
6346
6346
  );
6347
6347
  const SearchBox = components?.TravellerSearchBox ?? TravellerSearchBox;
6348
6348
  const AddModal = components?.AddTravellerModal ?? AddTravellerModal;
6349
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-directory-flow", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
6349
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-directory-flow", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
6350
6350
  title !== void 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-directory-flow__heading", children: [
6351
6351
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-traveller-directory-flow__title", children: title }),
6352
6352
  subtitle !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-traveller-directory-flow__subtitle", children: subtitle }) : null
@@ -6372,7 +6372,7 @@ function TravellerDirectoryFlow({
6372
6372
  ] });
6373
6373
  }
6374
6374
  function useAgencyTravellerProfile(travellerRef) {
6375
- const client = chunk4QMYUKW4_cjs.useKaafilClient();
6375
+ const client = chunkASFUY3IE_cjs.useKaafilClient();
6376
6376
  const [read, setRead] = react.useState(void 0);
6377
6377
  const [readFailed, setReadFailed] = react.useState(false);
6378
6378
  const refresh = react.useCallback(async () => {
@@ -6429,7 +6429,7 @@ function formatMinor(minor, currency) {
6429
6429
  }).format(minor / 100);
6430
6430
  }
6431
6431
  function TravellerLifetimeCard({ lifetime }) {
6432
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
6432
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
6433
6433
  if (lifetime.currency === null) {
6434
6434
  return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-traveller-profile-section__card", children: [
6435
6435
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-profile-section__card-head", children: [
@@ -6477,7 +6477,7 @@ function formatTimestamp(iso) {
6477
6477
  });
6478
6478
  }
6479
6479
  function TravellerNotesList({ notes }) {
6480
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
6480
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
6481
6481
  return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-traveller-profile-section__card", children: [
6482
6482
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-profile-section__card-head", children: [
6483
6483
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-traveller-profile-section__card-title", children: t("chrome.travellerProfileSection.notes.title") }),
@@ -6523,7 +6523,7 @@ function formatDateOfBirth(iso) {
6523
6523
  });
6524
6524
  }
6525
6525
  function TravellerPersonalCard({ profile }) {
6526
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
6526
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
6527
6527
  const p = profile.profile;
6528
6528
  const dob = formatDateOfBirth(p.dateOfBirth);
6529
6529
  const email = p.email ?? profile.email;
@@ -6638,7 +6638,7 @@ function formatMinor2(minor, currency) {
6638
6638
  }).format(minor / 100);
6639
6639
  }
6640
6640
  function TravellerProfileHero({ profile, onBack }) {
6641
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
6641
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
6642
6642
  const initials = initialsFromName4(profile.fullName);
6643
6643
  const { lifetime } = profile;
6644
6644
  const stats = lifetime.currency !== null ? [
@@ -6729,7 +6729,7 @@ function formatMinor3(minor, currency) {
6729
6729
  }).format(minor / 100);
6730
6730
  }
6731
6731
  function TravellerTripHistoryTable({ trips }) {
6732
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
6732
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
6733
6733
  return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-traveller-profile-section__card", children: [
6734
6734
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-profile-section__card-head", children: [
6735
6735
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-traveller-profile-section__card-title", children: t("chrome.travellerProfileSection.trips.title") }),
@@ -6780,7 +6780,7 @@ function TravellerProfileSection({
6780
6780
  components,
6781
6781
  style
6782
6782
  }) {
6783
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
6783
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
6784
6784
  const { read, readFailed, refresh } = useAgencyTravellerProfile(travellerRef);
6785
6785
  const Hero = components?.Hero ?? TravellerProfileHero;
6786
6786
  const PersonalCard = components?.PersonalCard ?? TravellerPersonalCard;
@@ -6788,7 +6788,7 @@ function TravellerProfileSection({
6788
6788
  const TripHistoryTable = components?.TripHistoryTable ?? TravellerTripHistoryTable;
6789
6789
  const NotesList = components?.NotesList ?? TravellerNotesList;
6790
6790
  if (readFailed) {
6791
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-traveller-profile-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-profile-section__status-block", role: "alert", children: [
6791
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-traveller-profile-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-profile-section__status-block", role: "alert", children: [
6792
6792
  /* @__PURE__ */ jsxRuntime.jsx(WarningIcon9, { className: "kf-traveller-profile-section__status-icon kf-traveller-profile-section__status-icon--danger" }),
6793
6793
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-traveller-profile-section__status-title", children: t("chrome.travellerProfileSection.errorTitle") }),
6794
6794
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-traveller-profile-section__status-body", children: t("chrome.travellerProfileSection.errorBody") }),
@@ -6804,9 +6804,9 @@ function TravellerProfileSection({
6804
6804
  ] }) });
6805
6805
  }
6806
6806
  if (read === void 0) {
6807
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-traveller-profile-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(TravellerProfileSkeleton, {}) });
6807
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-traveller-profile-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(TravellerProfileSkeleton, {}) });
6808
6808
  }
6809
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-profile-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
6809
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-profile-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
6810
6810
  /* @__PURE__ */ jsxRuntime.jsx(Hero, { profile: read, onBack }),
6811
6811
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-profile-section__body", children: [
6812
6812
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-profile-section__column", children: [
@@ -6898,7 +6898,7 @@ function ToggleSwitch({
6898
6898
  disabled,
6899
6899
  className: "kf-admin-shared-patterns-toggle-row",
6900
6900
  onClick: () => onChange(!checked),
6901
- style: chunk4QMYUKW4_cjs.tokenStyle(style),
6901
+ style: chunkASFUY3IE_cjs.tokenStyle(style),
6902
6902
  children: /* @__PURE__ */ jsxRuntime.jsx(
6903
6903
  "span",
6904
6904
  {
@@ -7336,7 +7336,7 @@ function TriggerDetailPanel({
7336
7336
  style
7337
7337
  }) {
7338
7338
  const [dialogOpen, setDialogOpen] = react.useState(false);
7339
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trigger-template-editor__detail", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
7339
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trigger-template-editor__detail", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
7340
7340
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trigger-template-editor__detail-head", children: [
7341
7341
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trigger-template-editor__detail-eyebrow", children: t("chrome.triggerTemplateEditor.selected") }),
7342
7342
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -7420,8 +7420,8 @@ function TriggerTemplateEditor({
7420
7420
  onTriggerPatched,
7421
7421
  style
7422
7422
  }) {
7423
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
7424
- const { triggers, loaded, lastFetchFailed, refresh, patchTrigger } = chunk77RKNRNH_cjs.useAgencyJourneyTriggers();
7423
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
7424
+ const { triggers, loaded, lastFetchFailed, refresh, patchTrigger } = chunkMP4IMAPF_cjs.useAgencyJourneyTriggers();
7425
7425
  const [savingId, setSavingId] = react.useState(void 0);
7426
7426
  const [selectedId, setSelectedId] = react.useState(void 0);
7427
7427
  const filtered = tripModeFilter === void 0 ? triggers : triggers.filter((trigger) => trigger.tripMode === tripModeFilter);
@@ -7456,7 +7456,7 @@ function TriggerTemplateEditor({
7456
7456
  setSavingId(void 0);
7457
7457
  }
7458
7458
  }
7459
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trigger-template-editor", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
7459
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trigger-template-editor", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
7460
7460
  title !== void 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trigger-template-editor__heading", children: [
7461
7461
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-trigger-template-editor__title", children: title }),
7462
7462
  subtitle !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trigger-template-editor__subtitle", children: subtitle }) : null
@@ -7604,14 +7604,14 @@ function BookingsSkeleton() {
7604
7604
  ] }, id)) });
7605
7605
  }
7606
7606
  function BookingsEmpty() {
7607
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
7607
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
7608
7608
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-bookings-section__state", children: [
7609
7609
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-bookings-section__state-title", children: t("chrome.tripBookings.emptyTitle") }),
7610
7610
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-bookings-section__state-body", children: t("chrome.tripBookings.emptyBody") })
7611
7611
  ] });
7612
7612
  }
7613
7613
  function BookingsFailed({ onRetry }) {
7614
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
7614
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
7615
7615
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-bookings-section__state", role: "alert", children: [
7616
7616
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-bookings-section__state-title", children: t("chrome.tripBookings.failedTitle") }),
7617
7617
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-bookings-section__state-body", children: t("chrome.tripBookings.failedBody") }),
@@ -7619,7 +7619,7 @@ function BookingsFailed({ onRetry }) {
7619
7619
  ] });
7620
7620
  }
7621
7621
  function BookingsDark({ reason }) {
7622
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
7622
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
7623
7623
  if (reason === "mode") return null;
7624
7624
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-bookings-section__state", "data-dark": reason, children: [
7625
7625
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-bookings-section__state-title", children: t(
@@ -7664,8 +7664,8 @@ function TripBookingsSection({
7664
7664
  onOpenDocuments,
7665
7665
  style
7666
7666
  }) {
7667
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
7668
- const bookings = chunk77RKNRNH_cjs.useBookings(tripRef);
7667
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
7668
+ const bookings = chunkMP4IMAPF_cjs.useBookings(tripRef);
7669
7669
  const ready = bookings.status === "ready" ? bookings : null;
7670
7670
  const groups = react.useMemo(
7671
7671
  () => ready === null ? [] : groupByKind(liveBookings(ready.bookings)),
@@ -7675,7 +7675,7 @@ function TripBookingsSection({
7675
7675
  const unreadable = ready !== null && ready.syncedAt === void 0;
7676
7676
  const refreshLive = ready?.refreshLive;
7677
7677
  if (bookings.status === "dark") return /* @__PURE__ */ jsxRuntime.jsx(BookingsDark, { reason: bookings.reason });
7678
- return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-bookings-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
7678
+ return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-bookings-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
7679
7679
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-bookings-section__head", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-bookings-section__head-text", children: [
7680
7680
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-trip-bookings-section__title", children: t("chrome.tripBookings.panelLabel") }),
7681
7681
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-bookings-section__subtitle", children: t("chrome.tripBookings.subtitle").replace("{count}", String(total)) })
@@ -7747,7 +7747,7 @@ function LockIcon2() {
7747
7747
  );
7748
7748
  }
7749
7749
  function CloseoutLockNotice({ whatKey }) {
7750
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
7750
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
7751
7751
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-closeout-lock", role: "status", children: [
7752
7752
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-admin-closeout-lock__glyph", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(LockIcon2, {}) }),
7753
7753
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "kf-admin-closeout-lock__body", children: [
@@ -7851,7 +7851,7 @@ function ChecklistSkeleton() {
7851
7851
  ] }, column)) });
7852
7852
  }
7853
7853
  function ChecklistEmpty({ onPull }) {
7854
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
7854
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
7855
7855
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-checklist-section__state", children: [
7856
7856
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-checklist-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(ChecklistIcon, {}) }),
7857
7857
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-checklist-section__state-title", children: t("chrome.tripChecklist.emptyTitle") }),
@@ -7860,7 +7860,7 @@ function ChecklistEmpty({ onPull }) {
7860
7860
  ] });
7861
7861
  }
7862
7862
  function ChecklistFailed({ onRetry }) {
7863
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
7863
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
7864
7864
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-checklist-section__state", children: [
7865
7865
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-checklist-section__state-title", children: t("chrome.tripChecklist.failedTitle") }),
7866
7866
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-checklist-section__state-body", children: t("chrome.tripChecklist.failedBody") }),
@@ -7868,7 +7868,7 @@ function ChecklistFailed({ onRetry }) {
7868
7868
  ] });
7869
7869
  }
7870
7870
  function ChecklistDark({ reason }) {
7871
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
7871
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
7872
7872
  if (reason === "mode") return null;
7873
7873
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-checklist-section__state", "data-dark": reason, children: [
7874
7874
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-checklist-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(LockIcon3, {}) }),
@@ -7968,7 +7968,7 @@ function ItemDialog({
7968
7968
  onClose,
7969
7969
  onSubmit
7970
7970
  }) {
7971
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
7971
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
7972
7972
  const titleId = react.useId();
7973
7973
  const [values, setValues] = react.useState(initial);
7974
7974
  const [sectionChoice, setSectionChoice] = react.useState(
@@ -8165,7 +8165,7 @@ function ChecklistItemRow({
8165
8165
  onToggle,
8166
8166
  onEdit
8167
8167
  }) {
8168
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
8168
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
8169
8169
  const complete = item.status === "COMPLETE";
8170
8170
  const day = dayOffsetLabel(item.dayOffset);
8171
8171
  const actorKey = actorLabelKey(item.performedByKind);
@@ -8217,7 +8217,7 @@ function SectionCard2({
8217
8217
  onAddToSection,
8218
8218
  ItemRow: ItemRow2 = ChecklistItemRow
8219
8219
  }) {
8220
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
8220
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
8221
8221
  const openMandatory = items.filter((one) => one.isMandatory && one.status === "OPEN").length;
8222
8222
  return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-checklist-section__section", children: [
8223
8223
  /* @__PURE__ */ jsxRuntime.jsxs("header", { className: "kf-trip-checklist-section__section-head", children: [
@@ -8271,7 +8271,7 @@ function PhasePanel({
8271
8271
  onAddToPhase,
8272
8272
  ItemRow: ItemRow2
8273
8273
  }) {
8274
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
8274
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
8275
8275
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: sections.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-checklist-section__phase-empty", children: [
8276
8276
  /* @__PURE__ */ jsxRuntime.jsx("p", { children: t("chrome.tripChecklist.phaseEmpty") }),
8277
8277
  readOnly ? null : /* @__PURE__ */ jsxRuntime.jsx(
@@ -8307,7 +8307,7 @@ function PhaseSwitcher({
8307
8307
  value,
8308
8308
  onChange
8309
8309
  }) {
8310
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
8310
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
8311
8311
  return /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { className: "kf-trip-checklist-section__segment", children: [
8312
8312
  /* @__PURE__ */ jsxRuntime.jsx("legend", { className: "kf-visually-hidden", children: t("chrome.tripChecklist.phaseLabel") }),
8313
8313
  OPTIONS.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -8340,7 +8340,7 @@ function TemplatePickerDialog({
8340
8340
  onClose,
8341
8341
  onPull
8342
8342
  }) {
8343
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
8343
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
8344
8344
  const titleId = react.useId();
8345
8345
  const [selectedId, setSelectedId] = react.useState(null);
8346
8346
  const [mode, setMode] = react.useState("append");
@@ -8469,8 +8469,8 @@ function TripChecklistSection({
8469
8469
  components,
8470
8470
  style
8471
8471
  }) {
8472
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
8473
- const checklists = chunkAWOKWGTB_cjs.useChecklists(tripRef);
8472
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
8473
+ const checklists = chunkPQJGV3RE_cjs.useChecklists(tripRef);
8474
8474
  const [overlay, setOverlay] = react.useState({ kind: "none" });
8475
8475
  const [pending, setPending] = react.useState(false);
8476
8476
  const [busyItemId, setBusyItemId] = react.useState(null);
@@ -8637,7 +8637,7 @@ function TripChecklistSection({
8637
8637
  const inert = readOnly || locked;
8638
8638
  const unreadable = aggregate?.lastFetchFailed === true && aggregate.loaded === false;
8639
8639
  const percent = overallPercent(aggregate?.progress);
8640
- return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-checklist-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
8640
+ return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-checklist-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
8641
8641
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-checklist-section__head", children: [
8642
8642
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-checklist-section__head-text", children: [
8643
8643
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-trip-checklist-section__title", children: t("chrome.tripChecklist.panelLabel") }),
@@ -9026,7 +9026,7 @@ var STATUS_LABEL_KEY5 = {
9026
9026
  CANCELLED: "chrome.tripDirectory.status.cancelled"
9027
9027
  };
9028
9028
  function TripRow({ trip, index, onOpen, style }) {
9029
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
9029
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
9030
9030
  const derived = deriveTripRow(trip, index);
9031
9031
  return /* @__PURE__ */ jsxRuntime.jsxs(
9032
9032
  "tr",
@@ -9034,7 +9034,7 @@ function TripRow({ trip, index, onOpen, style }) {
9034
9034
  role: "row",
9035
9035
  className: "kf-trip-directory-flow__row",
9036
9036
  "data-dimming": derived.dimming === "none" ? void 0 : derived.dimming,
9037
- style: chunk4QMYUKW4_cjs.tokenStyle(style),
9037
+ style: chunkASFUY3IE_cjs.tokenStyle(style),
9038
9038
  children: [
9039
9039
  /* @__PURE__ */ jsxRuntime.jsxs(
9040
9040
  "td",
@@ -9153,8 +9153,8 @@ function TripResultsListBody({
9153
9153
  hasActiveFilter,
9154
9154
  onRetry
9155
9155
  }) {
9156
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
9157
- const { makeTripsFetch } = chunk77RKNRNH_cjs.useAgencyTrips();
9156
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
9157
+ const { makeTripsFetch } = chunkMP4IMAPF_cjs.useAgencyTrips();
9158
9158
  const [errorCode, setErrorCode] = react.useState(void 0);
9159
9159
  const [hasSettled, setHasSettled] = react.useState(false);
9160
9160
  const Row = TripRowComponent ?? TripRow;
@@ -9165,7 +9165,7 @@ function TripResultsListBody({
9165
9165
  setErrorCode(void 0);
9166
9166
  return page;
9167
9167
  } catch (error) {
9168
- setErrorCode(chunkAWOKWGTB_cjs.classifyError(error).code ?? "unknown");
9168
+ setErrorCode(chunkPQJGV3RE_cjs.classifyError(error).code ?? "unknown");
9169
9169
  return { rows: [], nextCursor: void 0 };
9170
9170
  } finally {
9171
9171
  setHasSettled(true);
@@ -9173,7 +9173,7 @@ function TripResultsListBody({
9173
9173
  },
9174
9174
  [makeTripsFetch, filters]
9175
9175
  );
9176
- const { rows, hasNext, hasPrev, loadNext, loadPrev } = chunk77RKNRNH_cjs.usePaginatedList(fetch);
9176
+ const { rows, hasNext, hasPrev, loadNext, loadPrev } = chunkMP4IMAPF_cjs.usePaginatedList(fetch);
9177
9177
  const isLoading = !hasSettled;
9178
9178
  const reportedCount = isLoading || errorCode !== void 0 ? void 0 : rows.length;
9179
9179
  react.useEffect(() => {
@@ -9275,7 +9275,7 @@ function TripSearchInput({
9275
9275
  debounceMs,
9276
9276
  onDebouncedChange
9277
9277
  }) {
9278
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
9278
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
9279
9279
  const [value, setValue] = react.useState("");
9280
9280
  react.useEffect(() => {
9281
9281
  const timer = setTimeout(() => onDebouncedChange(value.trim()), debounceMs);
@@ -9345,7 +9345,7 @@ function TripDirectoryFlow({
9345
9345
  components,
9346
9346
  style
9347
9347
  }) {
9348
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
9348
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
9349
9349
  const [eventType, setEventType] = react.useState(initialEventType ?? "TRIP");
9350
9350
  const [segment, setSegment] = react.useState("all");
9351
9351
  const [q, setQ] = react.useState("");
@@ -9365,7 +9365,7 @@ function TripDirectoryFlow({
9365
9365
  );
9366
9366
  const filterKey = react.useMemo(() => JSON.stringify(filters), [filters]);
9367
9367
  const hasActiveFilter = segment !== "all" || q.length > 0 || status !== void 0;
9368
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-directory-flow", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
9368
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-directory-flow", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
9369
9369
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-directory-flow__toolbar", children: [
9370
9370
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-directory-flow__toolbar-row", children: [
9371
9371
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -9626,7 +9626,7 @@ function KindIcon({
9626
9626
  return /* @__PURE__ */ jsxRuntime.jsx(GenericFileIcon, {});
9627
9627
  }
9628
9628
  function DocumentRow({ row, onOpen }) {
9629
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
9629
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
9630
9630
  const { file, spend } = row;
9631
9631
  const purged = file.status === "purged";
9632
9632
  const retention = retentionStateOf(file);
@@ -9687,7 +9687,7 @@ function DocumentsSkeleton() {
9687
9687
  ] }, id)) });
9688
9688
  }
9689
9689
  function DocumentsEmpty() {
9690
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
9690
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
9691
9691
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-documents-section__state", children: [
9692
9692
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-documents-section__state-mark", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(EmptyDocumentsIcon, {}) }),
9693
9693
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-documents-section__state-title", children: t("chrome.tripDocuments.emptyTitle") }),
@@ -9695,7 +9695,7 @@ function DocumentsEmpty() {
9695
9695
  ] });
9696
9696
  }
9697
9697
  function DocumentsFailed({ onRetry }) {
9698
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
9698
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
9699
9699
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-documents-section__state", role: "alert", children: [
9700
9700
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-documents-section__state-title", children: t("chrome.tripDocuments.failedTitle") }),
9701
9701
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-documents-section__state-body", children: t("chrome.tripDocuments.failedBody") }),
@@ -9703,7 +9703,7 @@ function DocumentsFailed({ onRetry }) {
9703
9703
  ] });
9704
9704
  }
9705
9705
  function DocumentsDark({ reason }) {
9706
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
9706
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
9707
9707
  if (reason === "mode") return null;
9708
9708
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-documents-section__state", "data-dark": reason, children: [
9709
9709
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-documents-section__state-title", children: t(
@@ -9726,7 +9726,7 @@ function DocumentViewer({
9726
9726
  failed,
9727
9727
  onClose
9728
9728
  }) {
9729
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
9729
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
9730
9730
  const titleId = react.useId();
9731
9731
  const { file } = row;
9732
9732
  const classKey = retentionClassLabelKey(file.retentionClass);
@@ -9807,7 +9807,7 @@ function DocumentViewer({
9807
9807
  );
9808
9808
  }
9809
9809
  function PurposeChips({ counts, value, onChange }) {
9810
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
9810
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
9811
9811
  const options = [
9812
9812
  {
9813
9813
  key: "all",
@@ -9877,7 +9877,7 @@ function UploadDialog({
9877
9877
  onClose,
9878
9878
  onSubmit
9879
9879
  }) {
9880
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
9880
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
9881
9881
  const titleId = react.useId();
9882
9882
  const nameId = react.useId();
9883
9883
  const fileId = react.useId();
@@ -10039,12 +10039,12 @@ function UploadDialog({
10039
10039
  );
10040
10040
  }
10041
10041
  function TripDocumentsSection({ tripRef, style }) {
10042
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
10043
- const files = chunkAWOKWGTB_cjs.useFiles({ tripRef });
10044
- const expenses = chunkAWOKWGTB_cjs.useExpenses(tripRef);
10045
- const bookings = chunk77RKNRNH_cjs.useBookings(tripRef);
10046
- const { listTripManifest } = chunk77RKNRNH_cjs.useDirectories();
10047
- const { statuses, loaded: capabilityLoaded } = chunk77RKNRNH_cjs.useCapabilityStatuses(tripRef);
10042
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
10043
+ const files = chunkPQJGV3RE_cjs.useFiles({ tripRef });
10044
+ const expenses = chunkPQJGV3RE_cjs.useExpenses(tripRef);
10045
+ const bookings = chunkMP4IMAPF_cjs.useBookings(tripRef);
10046
+ const { listTripManifest } = chunkMP4IMAPF_cjs.useDirectories();
10047
+ const { statuses, loaded: capabilityLoaded } = chunkMP4IMAPF_cjs.useCapabilityStatuses(tripRef);
10048
10048
  const capability = statuses.get("files");
10049
10049
  const [state, setState] = react.useState({ kind: "loading" });
10050
10050
  const [purpose, setPurpose] = react.useState(null);
@@ -10191,7 +10191,7 @@ function TripDocumentsSection({ tripRef, style }) {
10191
10191
  if (capabilityLoaded && capability === "mode-dark") return /* @__PURE__ */ jsxRuntime.jsx(DocumentsDark, { reason: "mode" });
10192
10192
  if (capabilityLoaded && capability === "flag-dark") return /* @__PURE__ */ jsxRuntime.jsx(DocumentsDark, { reason: "flag" });
10193
10193
  if (capabilityLoaded && capability === "data-dark") return /* @__PURE__ */ jsxRuntime.jsx(DocumentsDark, { reason: "data" });
10194
- return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-documents-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
10194
+ return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-documents-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
10195
10195
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-documents-section__head", children: [
10196
10196
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-documents-section__head-text", children: [
10197
10197
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-trip-documents-section__title", children: t("chrome.tripDocuments.panelLabel") }),
@@ -10480,7 +10480,7 @@ function ExpensesSkeleton() {
10480
10480
  ] }, id)) });
10481
10481
  }
10482
10482
  function ExpensesEmpty({ onLog }) {
10483
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
10483
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
10484
10484
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-expenses-section__state", children: [
10485
10485
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-expenses-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(WalletIcon, {}) }),
10486
10486
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-expenses-section__state-title", children: t("chrome.tripExpenses.emptyTitle") }),
@@ -10489,7 +10489,7 @@ function ExpensesEmpty({ onLog }) {
10489
10489
  ] });
10490
10490
  }
10491
10491
  function ExpensesFailed({ onRetry }) {
10492
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
10492
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
10493
10493
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-expenses-section__state", role: "alert", children: [
10494
10494
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-expenses-section__state-title", children: t("chrome.tripExpenses.failedTitle") }),
10495
10495
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-expenses-section__state-body", children: t("chrome.tripExpenses.failedBody") }),
@@ -10497,7 +10497,7 @@ function ExpensesFailed({ onRetry }) {
10497
10497
  ] });
10498
10498
  }
10499
10499
  function ExpensesDark({ reason }) {
10500
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
10500
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
10501
10501
  if (reason === "mode") {
10502
10502
  return null;
10503
10503
  }
@@ -10518,7 +10518,7 @@ function ExpensesTable({
10518
10518
  onVoid,
10519
10519
  onViewReceipt
10520
10520
  }) {
10521
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
10521
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
10522
10522
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-expenses-section__table-wrap", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "kf-trip-expenses-section__table", children: [
10523
10523
  /* @__PURE__ */ jsxRuntime.jsx("caption", { className: "kf-visually-hidden", children: t("chrome.tripExpenses.tableCaption") }),
10524
10524
  /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
@@ -10578,7 +10578,7 @@ function LogExpenseDialog({
10578
10578
  onClose,
10579
10579
  onSubmit
10580
10580
  }) {
10581
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
10581
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
10582
10582
  const titleId = react.useId();
10583
10583
  const [category, setCategory] = react.useState("MISC");
10584
10584
  const [amount, setAmount] = react.useState("");
@@ -10741,9 +10741,9 @@ function ReceiptDialog({
10741
10741
  description,
10742
10742
  onClose
10743
10743
  }) {
10744
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
10744
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
10745
10745
  const titleId = react.useId();
10746
- const files = chunkAWOKWGTB_cjs.useFiles({ tripRef });
10746
+ const files = chunkPQJGV3RE_cjs.useFiles({ tripRef });
10747
10747
  const [phase, setPhase] = react.useState({ kind: "loading" });
10748
10748
  const [imageBroke, setImageBroke] = react.useState(false);
10749
10749
  const readUrl = files.url;
@@ -10817,7 +10817,7 @@ function VoidExpenseDialog({
10817
10817
  onClose,
10818
10818
  onSubmit
10819
10819
  }) {
10820
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
10820
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
10821
10821
  const titleId = react.useId();
10822
10822
  const [reason, setReason] = react.useState("");
10823
10823
  const trimmed = reason.trim();
@@ -10891,9 +10891,9 @@ function isCloseoutLocked2(error) {
10891
10891
  return classification?.status === 423 || classification?.code === "TRIP_CLOSED_OUT";
10892
10892
  }
10893
10893
  function TripExpensesSection({ tripRef, style }) {
10894
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
10895
- const expenses = chunkAWOKWGTB_cjs.useExpenses(tripRef);
10896
- const vendors = chunkAWOKWGTB_cjs.useVendors(tripRef, "");
10894
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
10895
+ const expenses = chunkPQJGV3RE_cjs.useExpenses(tripRef);
10896
+ const vendors = chunkPQJGV3RE_cjs.useVendors(tripRef, "");
10897
10897
  const [category, setCategory] = react.useState(null);
10898
10898
  const [paymentMode, setPaymentMode] = react.useState(null);
10899
10899
  const [missingReceiptOnly, setMissingReceiptOnly] = react.useState(false);
@@ -10962,7 +10962,7 @@ function TripExpensesSection({ tripRef, style }) {
10962
10962
  return /* @__PURE__ */ jsxRuntime.jsx(ExpensesDark, { reason: expenses.reason });
10963
10963
  }
10964
10964
  const filtered = category !== null || paymentMode !== null || missingReceiptOnly;
10965
- return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-expenses-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
10965
+ return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-expenses-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
10966
10966
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-expenses-section__toolbar", children: [
10967
10967
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-expenses-section__toolbar-title", children: t("chrome.tripExpenses.panelLabel") }),
10968
10968
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-expenses-section__toolbar-spacer" }),
@@ -11242,7 +11242,7 @@ function FloatMovementDialog({
11242
11242
  onClose,
11243
11243
  onSubmit
11244
11244
  }) {
11245
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
11245
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
11246
11246
  const titleId = react.useId();
11247
11247
  const [managerId, setManagerId] = react.useState(manager?.managerId ?? null);
11248
11248
  const [amount, setAmount] = react.useState(
@@ -11475,7 +11475,7 @@ function FloatSkeleton() {
11475
11475
  ] }, id)) });
11476
11476
  }
11477
11477
  function FloatEmpty({ onIssue }) {
11478
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
11478
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
11479
11479
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-float-section__state", children: [
11480
11480
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-float-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(SafeIcon, {}) }),
11481
11481
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-float-section__state-title", children: t("chrome.tripFloat.emptyTitle") }),
@@ -11484,7 +11484,7 @@ function FloatEmpty({ onIssue }) {
11484
11484
  ] });
11485
11485
  }
11486
11486
  function FloatFailed({ onRetry }) {
11487
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
11487
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
11488
11488
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-float-section__state", role: "alert", children: [
11489
11489
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-float-section__state-title", children: t("chrome.tripFloat.failedTitle") }),
11490
11490
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-float-section__state-body", children: t("chrome.tripFloat.failedBody") }),
@@ -11492,7 +11492,7 @@ function FloatFailed({ onRetry }) {
11492
11492
  ] });
11493
11493
  }
11494
11494
  function FloatDark({ reason }) {
11495
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
11495
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
11496
11496
  if (reason === "mode") {
11497
11497
  return null;
11498
11498
  }
@@ -11515,7 +11515,7 @@ function ManagerFloatCard({
11515
11515
  onAdjust,
11516
11516
  onSettle
11517
11517
  }) {
11518
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
11518
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
11519
11519
  const bodyId = `kf-float-${row.managerId}`;
11520
11520
  const summary = row.summary;
11521
11521
  const shares = summary === void 0 ? void 0 : usageShares(summary);
@@ -11721,9 +11721,9 @@ function refusedBalanceOf(error) {
11721
11721
  return details?.currentBalanceMinor;
11722
11722
  }
11723
11723
  function TripFloatSection({ tripRef, style }) {
11724
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
11725
- const float = chunkAWOKWGTB_cjs.useFloat(tripRef);
11726
- const managers = chunkAWOKWGTB_cjs.useManagers(tripRef);
11724
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
11725
+ const float = chunkPQJGV3RE_cjs.useFloat(tripRef);
11726
+ const managers = chunkPQJGV3RE_cjs.useManagers(tripRef);
11727
11727
  const [openManagerId, setOpenManagerId] = react.useState(null);
11728
11728
  const [ledgers, setLedgers] = react.useState({});
11729
11729
  const [overlay, setOverlay] = react.useState({ kind: "none" });
@@ -11849,7 +11849,7 @@ function TripFloatSection({ tripRef, style }) {
11849
11849
  if (float.status === "dark") {
11850
11850
  return /* @__PURE__ */ jsxRuntime.jsx(FloatDark, { reason: float.reason });
11851
11851
  }
11852
- return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-float-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
11852
+ return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-float-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
11853
11853
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-float-section__toolbar", children: [
11854
11854
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-float-section__toolbar-title", children: t("chrome.tripFloat.panelLabel") }),
11855
11855
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-float-section__toolbar-spacer" }),
@@ -11964,7 +11964,7 @@ function DispatchDialog({
11964
11964
  onClose,
11965
11965
  onSend
11966
11966
  }) {
11967
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
11967
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
11968
11968
  const titleId = react.useId();
11969
11969
  const [everyone, setEveryone] = react.useState(true);
11970
11970
  const [picked, setPicked] = react.useState(/* @__PURE__ */ new Set());
@@ -12112,7 +12112,7 @@ function FormRow2({
12112
12112
  onExport,
12113
12113
  onOpenMissing
12114
12114
  }) {
12115
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
12115
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
12116
12116
  const canSeeMissing = supportsWhoIsMissing(form);
12117
12117
  return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "kf-trip-forms-section__row", children: [
12118
12118
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "kf-trip-forms-section__row-body", children: [
@@ -12165,14 +12165,14 @@ function FormsSkeleton() {
12165
12165
  ] }, id)) });
12166
12166
  }
12167
12167
  function FormsEmpty() {
12168
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
12168
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
12169
12169
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-forms-section__state", children: [
12170
12170
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-forms-section__state-title", children: t("chrome.tripForms.emptyTitle") }),
12171
12171
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-forms-section__state-body", children: t("chrome.tripForms.emptyBody") })
12172
12172
  ] });
12173
12173
  }
12174
12174
  function FormsFailed({ onRetry }) {
12175
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
12175
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
12176
12176
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-forms-section__state", role: "alert", children: [
12177
12177
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-forms-section__state-title", children: t("chrome.tripForms.failedTitle") }),
12178
12178
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-forms-section__state-body", children: t("chrome.tripForms.failedBody") }),
@@ -12180,7 +12180,7 @@ function FormsFailed({ onRetry }) {
12180
12180
  ] });
12181
12181
  }
12182
12182
  function FormsDark({ reason }) {
12183
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
12183
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
12184
12184
  if (reason === "mode") return null;
12185
12185
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-forms-section__state", "data-dark": reason, children: [
12186
12186
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-forms-section__state-title", children: t(reason === "flag" ? "chrome.tripForms.flagDarkTitle" : "chrome.tripForms.dataDarkTitle") }),
@@ -12225,7 +12225,7 @@ function OnBehalfDialog({
12225
12225
  onClose,
12226
12226
  onSubmit
12227
12227
  }) {
12228
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
12228
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
12229
12229
  const titleId = react.useId();
12230
12230
  const [values, setValues] = react.useState({});
12231
12231
  const answerable = react.useMemo(
@@ -12363,7 +12363,7 @@ function ParticipantRow({
12363
12363
  onFillOnBehalf,
12364
12364
  onOpenResponse
12365
12365
  }) {
12366
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
12366
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
12367
12367
  const status = row.response?.status;
12368
12368
  const submitted = status === "SUBMITTED";
12369
12369
  return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "kf-trip-forms-section__row", "data-done": submitted ? "true" : void 0, children: [
@@ -12416,7 +12416,7 @@ function ResponseViewer({
12416
12416
  failed,
12417
12417
  onClose
12418
12418
  }) {
12419
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
12419
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
12420
12420
  const titleId = react.useId();
12421
12421
  return /* @__PURE__ */ jsxRuntime.jsx(
12422
12422
  SheetDialog,
@@ -12452,9 +12452,9 @@ function TripFormsSection({
12452
12452
  components,
12453
12453
  style
12454
12454
  }) {
12455
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
12456
- const forms = chunkAWOKWGTB_cjs.useForms(tripRef);
12457
- const { listTripManifest } = chunk77RKNRNH_cjs.useDirectories();
12455
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
12456
+ const forms = chunkPQJGV3RE_cjs.useForms(tripRef);
12457
+ const { listTripManifest } = chunkMP4IMAPF_cjs.useDirectories();
12458
12458
  const [openFormId, setOpenFormId] = react.useState(null);
12459
12459
  const [completion, setCompletion] = react.useState(void 0);
12460
12460
  const [manifest, setManifest] = react.useState(void 0);
@@ -12576,7 +12576,7 @@ function TripFormsSection({
12576
12576
  if (forms.status === "dark") return /* @__PURE__ */ jsxRuntime.jsx(FormsDark, { reason: forms.reason });
12577
12577
  const inert = readOnly;
12578
12578
  const unreadable = ready !== null && ready.syncedAt === void 0 && rows.length === 0;
12579
- return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-forms-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
12579
+ return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-forms-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
12580
12580
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-forms-section__head", children: [
12581
12581
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-forms-section__head-text", children: [
12582
12582
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-trip-forms-section__title", children: openForm === null ? t("chrome.tripForms.panelLabel") : openForm.title }),
@@ -12726,7 +12726,7 @@ function ChangeLogDialog({
12726
12726
  onRetry,
12727
12727
  onClose
12728
12728
  }) {
12729
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
12729
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
12730
12730
  const titleId = react.useId();
12731
12731
  return /* @__PURE__ */ jsxRuntime.jsx(
12732
12732
  SheetDialog,
@@ -13073,7 +13073,7 @@ function ItemRow({
13073
13073
  onMoveBy,
13074
13074
  onOpenVendor
13075
13075
  }) {
13076
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
13076
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
13077
13077
  const derived = deriveItineraryItem(item, timeZone, serverTime);
13078
13078
  const isDone = item.status === "COMPLETED";
13079
13079
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -13195,7 +13195,7 @@ function DayCard({
13195
13195
  onSwitchToTimeline,
13196
13196
  onOpenVendor
13197
13197
  }) {
13198
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
13198
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
13199
13199
  const { draggingId, overIndex, rowProps, moveBy } = useListReorder({
13200
13200
  enabled: canEdit,
13201
13201
  onMove: onReorder
@@ -13246,7 +13246,7 @@ function DayCard({
13246
13246
  ] });
13247
13247
  }
13248
13248
  function DayPillStrip({ pills, activeIso, onSelect }) {
13249
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
13249
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
13250
13250
  return /* @__PURE__ */ jsxRuntime.jsx(
13251
13251
  "div",
13252
13252
  {
@@ -13323,7 +13323,7 @@ function EditDayDialog({
13323
13323
  onClose,
13324
13324
  onSubmit
13325
13325
  }) {
13326
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
13326
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
13327
13327
  const titleId = react.useId();
13328
13328
  const [cardTitle, setCardTitle] = react.useState(group.day.cardTitle);
13329
13329
  const [hasSummary, setHasSummary] = react.useState(
@@ -13466,7 +13466,7 @@ function ItemFormDialog({
13466
13466
  onSubmit,
13467
13467
  onDelete
13468
13468
  }) {
13469
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
13469
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
13470
13470
  const titleId = react.useId();
13471
13471
  const isEdit = item !== null;
13472
13472
  const [isoDate, setIsoDate] = react.useState(
@@ -13721,7 +13721,7 @@ function ItinerarySkeleton({ view }) {
13721
13721
  ] });
13722
13722
  }
13723
13723
  function ItineraryEmpty() {
13724
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
13724
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
13725
13725
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-itinerary-section__state", children: [
13726
13726
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-itinerary-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(CalendarIcon, {}) }),
13727
13727
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-itinerary-section__state-title", children: t("chrome.tripItinerary.emptyTitle") }),
@@ -13729,7 +13729,7 @@ function ItineraryEmpty() {
13729
13729
  ] });
13730
13730
  }
13731
13731
  function ItineraryFailed({ onRetry }) {
13732
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
13732
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
13733
13733
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-itinerary-section__state", role: "alert", children: [
13734
13734
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-itinerary-section__state-title", children: t("chrome.tripItinerary.failedTitle") }),
13735
13735
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-itinerary-section__state-body", children: t("chrome.tripItinerary.failedBody") }),
@@ -13737,7 +13737,7 @@ function ItineraryFailed({ onRetry }) {
13737
13737
  ] });
13738
13738
  }
13739
13739
  function TimelineView({ entries, onOpenDay }) {
13740
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
13740
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
13741
13741
  return /* @__PURE__ */ jsxRuntime.jsx("section", { className: "kf-trip-itinerary-section__timeline", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-itinerary-section__timeline-grid", children: [
13742
13742
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-itinerary-section__timeline-line", "aria-hidden": "true" }),
13743
13743
  entries.map((entry, index) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -13824,7 +13824,7 @@ var OPTIONS2 = [
13824
13824
  { value: "timeline", labelKey: "chrome.tripItinerary.viewTimeline" }
13825
13825
  ];
13826
13826
  function ViewSegment({ value, onChange }) {
13827
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
13827
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
13828
13828
  return /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { className: "kf-trip-itinerary-section__segment", children: [
13829
13829
  /* @__PURE__ */ jsxRuntime.jsx("legend", { className: "kf-visually-hidden", children: t("chrome.tripItinerary.viewLabel") }),
13830
13830
  OPTIONS2.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -13850,8 +13850,8 @@ function TripItinerarySection({
13850
13850
  onOpenVendor,
13851
13851
  style
13852
13852
  }) {
13853
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
13854
- const itinerary = chunkAWOKWGTB_cjs.useItinerary(tripRef);
13853
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
13854
+ const itinerary = chunkPQJGV3RE_cjs.useItinerary(tripRef);
13855
13855
  const [view, setView] = react.useState("days");
13856
13856
  const [activeIso, setActiveIso] = react.useState(null);
13857
13857
  const [overlay, setOverlay] = react.useState({ kind: "none" });
@@ -14024,7 +14024,7 @@ function TripItinerarySection({
14024
14024
  setActiveIso(isoDate);
14025
14025
  setView("days");
14026
14026
  }
14027
- return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-itinerary-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
14027
+ return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-itinerary-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
14028
14028
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-itinerary-section__toolbar", children: [
14029
14029
  /* @__PURE__ */ jsxRuntime.jsx(ViewSegment, { value: view, onChange: setView }),
14030
14030
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-itinerary-section__toolbar-spacer" }),
@@ -14209,9 +14209,9 @@ function AddTravellerDialog({
14209
14209
  onClose,
14210
14210
  onAdded
14211
14211
  }) {
14212
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
14212
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
14213
14213
  const titleId = react.useId();
14214
- const { makeTravellersFetch, addTraveller, createAgencyTraveller } = chunk77RKNRNH_cjs.useDirectories();
14214
+ const { makeTravellersFetch, addTraveller, createAgencyTraveller } = chunkMP4IMAPF_cjs.useDirectories();
14215
14215
  const [mode, setMode] = react.useState("search");
14216
14216
  const [term, setTerm] = react.useState("");
14217
14217
  const [debounced, setDebounced] = react.useState("");
@@ -14225,7 +14225,7 @@ function AddTravellerDialog({
14225
14225
  return () => clearTimeout(timer);
14226
14226
  }, [term]);
14227
14227
  function reportFailure(error) {
14228
- setErrorCode(chunkAWOKWGTB_cjs.classifyError(error).code ?? "unknown");
14228
+ setErrorCode(chunkPQJGV3RE_cjs.classifyError(error).code ?? "unknown");
14229
14229
  }
14230
14230
  async function addExisting(externalTravellerId, fullName) {
14231
14231
  setPending(true);
@@ -14377,8 +14377,8 @@ function DirectoryResults({
14377
14377
  pendingId,
14378
14378
  onPick
14379
14379
  }) {
14380
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
14381
- const { rows, hasNext, loadNext, settled, error } = chunk77RKNRNH_cjs.usePaginatedList(fetch);
14380
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
14381
+ const { rows, hasNext, loadNext, settled, error } = chunkMP4IMAPF_cjs.usePaginatedList(fetch);
14382
14382
  if (!settled) {
14383
14383
  return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-manifest-section__dialog-note", "aria-live": "polite", children: t("chrome.tripManifest.addSearching") });
14384
14384
  }
@@ -14455,36 +14455,51 @@ var KIND_LABEL_KEY = {
14455
14455
  CORPORATE: "chrome.tripManifest.partyKind.corporate",
14456
14456
  OTHER: "chrome.tripManifest.partyKind.other"
14457
14457
  };
14458
- function EditPartyDialog({
14458
+ var NEW_GROUP = "__new__";
14459
+ function ManageGroupsDialog({
14459
14460
  tripRef,
14460
- group,
14461
- candidates,
14461
+ rows,
14462
+ initialPartyId,
14462
14463
  onClose,
14463
14464
  onSaved
14464
14465
  }) {
14465
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
14466
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
14466
14467
  const titleId = react.useId();
14467
- const { createParty, patchParty, deleteParty } = chunk77RKNRNH_cjs.useDirectories();
14468
- const party = group?.party ?? null;
14469
- const creating = group === void 0;
14468
+ const { createParty, patchParty, deleteParty } = chunkMP4IMAPF_cjs.useDirectories();
14469
+ const groups = deriveManifestGroups(rows).filter(
14470
+ (group) => group.id !== SOLO_GROUP_ID && group.party !== null
14471
+ );
14472
+ const openable = initialPartyId !== void 0 && groups.some((group) => group.id === initialPartyId) ? initialPartyId : groups[0]?.id ?? NEW_GROUP;
14473
+ const [selectedId, setSelectedId] = react.useState(openable);
14474
+ const selected = groups.find((group) => group.id === selectedId);
14475
+ const creating = selectedId === NEW_GROUP;
14476
+ const editing = selected?.party ?? null;
14470
14477
  const [kind, setKind] = react.useState(
14471
- party?.kind ?? "OTHER"
14478
+ editing?.kind ?? "OTHER"
14472
14479
  );
14473
- const [label, setLabel] = react.useState(party?.label ?? "");
14480
+ const [label, setLabel] = react.useState(editing?.label ?? "");
14474
14481
  const [members, setMembers] = react.useState(
14475
- new Set((group?.rows ?? []).map((row) => row.traveller.travellerId))
14482
+ new Set((selected?.rows ?? []).map((row) => row.traveller.travellerId))
14476
14483
  );
14477
14484
  const [pending, setPending] = react.useState(false);
14478
14485
  const [errorCode, setErrorCode] = react.useState(void 0);
14479
- if (!creating && party === null) return null;
14480
- const editing = party;
14481
- const enoughMembers = members.size >= MIN_PARTY_MEMBERS;
14486
+ function select(nextId) {
14487
+ const next = groups.find((group) => group.id === nextId);
14488
+ setSelectedId(nextId);
14489
+ setKind(next?.party?.kind ?? "OTHER");
14490
+ setLabel(next?.party?.label ?? "");
14491
+ setMembers(new Set((next?.rows ?? []).map((row) => row.traveller.travellerId)));
14492
+ setErrorCode(void 0);
14493
+ }
14482
14494
  function toggle(travellerId) {
14483
14495
  const next = new Set(members);
14484
14496
  if (next.has(travellerId)) next.delete(travellerId);
14485
14497
  else next.add(travellerId);
14486
14498
  setMembers(next);
14487
14499
  }
14500
+ const moving = rows.filter(
14501
+ (row) => members.has(row.traveller.travellerId) && row.party != null && row.party.id !== selectedId
14502
+ );
14488
14503
  function report(error) {
14489
14504
  const classification = error !== null && typeof error === "object" && "classification" in error ? error.classification : void 0;
14490
14505
  setErrorCode(classification?.code ?? "unknown");
@@ -14501,24 +14516,20 @@ function EditPartyDialog({
14501
14516
  ...trimmed.length === 0 ? {} : { label: trimmed },
14502
14517
  travellerRefs: [...members]
14503
14518
  });
14504
- onSaved();
14505
- return;
14519
+ } else {
14520
+ await patchParty({
14521
+ tripRef,
14522
+ partyId: editing.id,
14523
+ // The PARTY's own version, off the row's denormalised party. The
14524
+ // manifest row carries a `version` too — that one guards the
14525
+ // TripTraveller LINK, not this, and sending the wrong one would be
14526
+ // a guard token for a different row.
14527
+ version: editing.version,
14528
+ kind,
14529
+ label: trimmed.length === 0 ? null : trimmed,
14530
+ travellerRefs: [...members]
14531
+ });
14506
14532
  }
14507
- await patchParty({
14508
- tripRef,
14509
- partyId: editing.id,
14510
- // The PARTY's own version, off the row's denormalised party. Note the
14511
- // manifest row also carries a `version` — that one guards the
14512
- // TripTraveller LINK, not this. The endpoint returns both because a
14513
- // console needs both, and confusing them would send a guard token for
14514
- // the wrong row.
14515
- version: editing.version,
14516
- kind,
14517
- // `null` CLEARS the label; a trimmed-empty box means "no label",
14518
- // which is a clear rather than a set to empty string.
14519
- label: trimmed.length === 0 ? null : trimmed,
14520
- travellerRefs: [...members]
14521
- });
14522
14533
  onSaved();
14523
14534
  } catch (error) {
14524
14535
  report(error);
@@ -14527,10 +14538,10 @@ function EditPartyDialog({
14527
14538
  }
14528
14539
  }
14529
14540
  async function retire() {
14541
+ if (editing === null) return;
14530
14542
  setPending(true);
14531
14543
  setErrorCode(void 0);
14532
14544
  try {
14533
- if (editing === null) return;
14534
14545
  await deleteParty({ tripRef, partyId: editing.id });
14535
14546
  onSaved();
14536
14547
  } catch (error) {
@@ -14539,19 +14550,27 @@ function EditPartyDialog({
14539
14550
  setPending(false);
14540
14551
  }
14541
14552
  }
14553
+ const enoughMembers = members.size >= MIN_PARTY_MEMBERS;
14542
14554
  return /* @__PURE__ */ jsxRuntime.jsxs(
14543
14555
  SheetDialog,
14544
14556
  {
14545
14557
  titleId,
14546
- title: t(
14547
- creating ? "chrome.tripManifest.newGroupTitle" : "chrome.tripManifest.editGroupTitle"
14548
- ),
14549
- description: t(
14550
- creating ? "chrome.tripManifest.newGroupBody" : "chrome.tripManifest.editGroupBody"
14551
- ),
14558
+ title: t("chrome.tripManifest.manageGroupsTitle"),
14559
+ description: t("chrome.tripManifest.manageGroupsBody"),
14552
14560
  onClose,
14553
14561
  closeLabel: t("chrome.tripManifest.close"),
14554
14562
  footer: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
14563
+ creating ? null : /* @__PURE__ */ jsxRuntime.jsx(
14564
+ "button",
14565
+ {
14566
+ type: "button",
14567
+ className: "kf-trip-manifest-section__dialog-danger",
14568
+ onClick: () => void retire(),
14569
+ disabled: pending,
14570
+ children: t("chrome.tripManifest.retireGroup")
14571
+ }
14572
+ ),
14573
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-manifest-section__toolbar-spacer" }),
14555
14574
  /* @__PURE__ */ jsxRuntime.jsx(
14556
14575
  "button",
14557
14576
  {
@@ -14574,6 +14593,37 @@ function EditPartyDialog({
14574
14593
  )
14575
14594
  ] }),
14576
14595
  children: [
14596
+ /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { className: "kf-trip-manifest-section__share-fieldset", children: [
14597
+ /* @__PURE__ */ jsxRuntime.jsx("legend", { className: "kf-trip-manifest-section__share-legend", children: t("chrome.tripManifest.groupPickerLegend") }),
14598
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-manifest-section__share-chips", children: [
14599
+ groups.map((group) => /* @__PURE__ */ jsxRuntime.jsxs(
14600
+ "button",
14601
+ {
14602
+ type: "button",
14603
+ className: "kf-trip-manifest-section__share-chip",
14604
+ "data-active": selectedId === group.id ? "true" : void 0,
14605
+ onClick: () => select(group.id),
14606
+ disabled: pending,
14607
+ children: [
14608
+ group.party?.label ?? t("chrome.tripManifest.unnamedGroup"),
14609
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-manifest-section__chip-count", children: group.rows.length })
14610
+ ]
14611
+ },
14612
+ group.id
14613
+ )),
14614
+ /* @__PURE__ */ jsxRuntime.jsx(
14615
+ "button",
14616
+ {
14617
+ type: "button",
14618
+ className: "kf-trip-manifest-section__share-chip",
14619
+ "data-active": creating ? "true" : void 0,
14620
+ onClick: () => select(NEW_GROUP),
14621
+ disabled: pending,
14622
+ children: t("chrome.tripManifest.newGroupChip")
14623
+ }
14624
+ )
14625
+ ] })
14626
+ ] }),
14577
14627
  editing !== null && editing.source === "DERIVED" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-manifest-section__dialog-note", "data-tone": "warn", children: t("chrome.tripManifest.pinNote") }) : null,
14578
14628
  /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "kf-trip-manifest-section__field", children: [
14579
14629
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-manifest-section__field-label", children: t("chrome.tripManifest.fieldGroupLabel") }),
@@ -14603,38 +14653,39 @@ function EditPartyDialog({
14603
14653
  ] }),
14604
14654
  /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { className: "kf-trip-manifest-section__share-fieldset", children: [
14605
14655
  /* @__PURE__ */ jsxRuntime.jsx("legend", { className: "kf-trip-manifest-section__share-legend", children: t("chrome.tripManifest.fieldGroupMembers") }),
14606
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-manifest-section__share-grid", children: candidates.map((row) => /* @__PURE__ */ jsxRuntime.jsxs(
14607
- "label",
14608
- {
14609
- className: "kf-trip-manifest-section__share-check",
14610
- children: [
14611
- /* @__PURE__ */ jsxRuntime.jsx(
14612
- "input",
14613
- {
14614
- type: "checkbox",
14615
- checked: members.has(row.traveller.travellerId),
14616
- onChange: () => toggle(row.traveller.travellerId)
14617
- }
14618
- ),
14619
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: row.traveller.fullName })
14620
- ]
14621
- },
14622
- row.traveller.travellerId
14623
- )) }),
14624
- members.size < 2 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-manifest-section__dialog-note", children: t("chrome.tripManifest.tooFewMembers") }) : null
14656
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-manifest-section__share-grid", children: rows.map((row) => {
14657
+ const inThisGroup = row.party != null && row.party.id === selectedId;
14658
+ const elsewhere = row.party != null && !inThisGroup ? row.party : null;
14659
+ return /* @__PURE__ */ jsxRuntime.jsxs(
14660
+ "label",
14661
+ {
14662
+ className: "kf-trip-manifest-section__member-option",
14663
+ children: [
14664
+ /* @__PURE__ */ jsxRuntime.jsx(
14665
+ "input",
14666
+ {
14667
+ type: "checkbox",
14668
+ checked: members.has(row.traveller.travellerId),
14669
+ onChange: () => toggle(row.traveller.travellerId)
14670
+ }
14671
+ ),
14672
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-manifest-section__member-name", children: row.traveller.fullName }),
14673
+ elsewhere === null ? null : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-manifest-section__member-current", children: t("chrome.tripManifest.memberInGroup").replace(
14674
+ "{group}",
14675
+ elsewhere.label ?? t("chrome.tripManifest.unnamedGroup")
14676
+ ) })
14677
+ ]
14678
+ },
14679
+ row.traveller.travellerId
14680
+ );
14681
+ }) }),
14682
+ moving.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-manifest-section__dialog-note", "data-tone": "warn", children: t(
14683
+ moving.length === 1 ? "chrome.tripManifest.movesOne" : "chrome.tripManifest.movesMany"
14684
+ ).replace("{count}", String(moving.length)) }) : null,
14685
+ members.size < MIN_PARTY_MEMBERS ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-manifest-section__dialog-note", children: t("chrome.tripManifest.tooFewMembers") }) : null
14625
14686
  ] }),
14626
- creating ? null : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-manifest-section__danger-lane", children: /* @__PURE__ */ jsxRuntime.jsx(
14627
- "button",
14628
- {
14629
- type: "button",
14630
- className: "kf-trip-manifest-section__dialog-danger",
14631
- onClick: () => void retire(),
14632
- disabled: pending,
14633
- children: t("chrome.tripManifest.retireGroup")
14634
- }
14635
- ) }),
14636
14687
  errorCode === void 0 ? null : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-manifest-section__dialog-error", role: "alert", children: t(
14637
- errorCode === "CONFLICT_VERSION" ? "chrome.tripManifest.groupStale" : "chrome.tripManifest.groupFailed"
14688
+ errorCode === "CONFLICT_VERSION" ? "chrome.tripManifest.groupConflict" : "chrome.tripManifest.groupFailed"
14638
14689
  ) })
14639
14690
  ]
14640
14691
  }
@@ -14642,7 +14693,7 @@ function EditPartyDialog({
14642
14693
  }
14643
14694
  var DIET_BUCKET_CAP = 4;
14644
14695
  function ManifestFacetTiles({ facets, filtered }) {
14645
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
14696
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
14646
14697
  const dietEntries = Object.entries(facets.dietCounts).filter(([, count]) => count > 0).sort((a, b) => b[1] - a[1]);
14647
14698
  const shown = dietEntries.slice(0, DIET_BUCKET_CAP);
14648
14699
  const hiddenCount = dietEntries.length - shown.length;
@@ -14724,7 +14775,7 @@ function ManifestFiltersPopover({
14724
14775
  value,
14725
14776
  onChange
14726
14777
  }) {
14727
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
14778
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
14728
14779
  const [open, setOpen] = react.useState(false);
14729
14780
  const rootRef = react.useRef(null);
14730
14781
  const triggerRef = react.useRef(null);
@@ -14864,7 +14915,7 @@ var KIND_LABEL_KEY2 = {
14864
14915
  OTHER: "chrome.tripManifest.partyKind.other"
14865
14916
  };
14866
14917
  function ManifestGroupCard({ group, onEdit, children }) {
14867
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
14918
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
14868
14919
  const party = group.party;
14869
14920
  const isSolo = party === null;
14870
14921
  const heading = isSolo ? t("chrome.tripManifest.soloHeading") : party.label ?? t(KIND_LABEL_KEY2[party.kind] ?? "chrome.tripManifest.partyKind.other");
@@ -14952,7 +15003,7 @@ function ManifestRowKebab({
14952
15003
  onShareLink,
14953
15004
  onOpenProfile
14954
15005
  }) {
14955
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
15006
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
14956
15007
  const [open, setOpen] = react.useState(false);
14957
15008
  const rootRef = react.useRef(null);
14958
15009
  const triggerRef = react.useRef(null);
@@ -15051,10 +15102,10 @@ function ManifestRow({
15051
15102
  onOpenProfile,
15052
15103
  style
15053
15104
  }) {
15054
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
15105
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
15055
15106
  const derived = deriveManifestRow(row, index, serverTime);
15056
15107
  const traveller = row.traveller;
15057
- return /* @__PURE__ */ jsxRuntime.jsxs("tr", { role: "row", className: "kf-trip-manifest-section__row", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
15108
+ return /* @__PURE__ */ jsxRuntime.jsxs("tr", { role: "row", className: "kf-trip-manifest-section__row", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
15058
15109
  /* @__PURE__ */ jsxRuntime.jsxs(
15059
15110
  "td",
15060
15111
  {
@@ -15128,7 +15179,7 @@ function ManifestTable({
15128
15179
  onOpenProfile,
15129
15180
  RowComponent
15130
15181
  }) {
15131
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
15182
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
15132
15183
  const Row = RowComponent ?? ManifestRow;
15133
15184
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-manifest-section__table-wrap", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { role: "table", className: "kf-trip-manifest-section__table", children: [
15134
15185
  showHead ? /* @__PURE__ */ jsxRuntime.jsx("thead", { role: "rowgroup", children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { role: "row", className: "kf-trip-manifest-section__head-row", children: [
@@ -15175,8 +15226,8 @@ function ManifestResultsBody({
15175
15226
  RowComponent,
15176
15227
  onRetry
15177
15228
  }) {
15178
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
15179
- const { makeManifestFetch, facets, groupedPageSize } = chunk77RKNRNH_cjs.useAgencyTripManifest(tripRef);
15229
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
15230
+ const { makeManifestFetch, facets, groupedPageSize } = chunkMP4IMAPF_cjs.useAgencyTripManifest(tripRef);
15180
15231
  const [errorCode, setErrorCode] = react.useState(void 0);
15181
15232
  const [hasSettled, setHasSettled] = react.useState(false);
15182
15233
  const [serverTime, setServerTime] = react.useState(void 0);
@@ -15193,7 +15244,7 @@ function ManifestResultsBody({
15193
15244
  if (meta?.serverTime !== void 0) setServerTime(meta.serverTime);
15194
15245
  return page;
15195
15246
  } catch (error) {
15196
- setErrorCode(chunkAWOKWGTB_cjs.classifyError(error).code ?? "unknown");
15247
+ setErrorCode(chunkPQJGV3RE_cjs.classifyError(error).code ?? "unknown");
15197
15248
  return { rows: [], nextCursor: void 0 };
15198
15249
  } finally {
15199
15250
  setHasSettled(true);
@@ -15201,7 +15252,7 @@ function ManifestResultsBody({
15201
15252
  },
15202
15253
  [makeManifestFetch, filters, grouped, groupedPageSize]
15203
15254
  );
15204
- const { rows, hasNext, hasPrev, loadNext, loadPrev } = chunk77RKNRNH_cjs.usePaginatedList(fetch, {
15255
+ const { rows, hasNext, hasPrev, loadNext, loadPrev } = chunkMP4IMAPF_cjs.usePaginatedList(fetch, {
15205
15256
  accumulate: grouped
15206
15257
  });
15207
15258
  react.useEffect(() => {
@@ -15362,7 +15413,7 @@ function ManifestSearchInput({
15362
15413
  debounceMs,
15363
15414
  onDebouncedChange
15364
15415
  }) {
15365
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
15416
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
15366
15417
  const [value, setValue] = react.useState("");
15367
15418
  react.useEffect(() => {
15368
15419
  const timer = setTimeout(() => onDebouncedChange(value.trim()), debounceMs);
@@ -15389,8 +15440,8 @@ function RemoveTravellerDialog({
15389
15440
  onClose,
15390
15441
  onRemoved
15391
15442
  }) {
15392
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
15393
- const { removeFromManifest } = chunk77RKNRNH_cjs.useDirectories();
15443
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
15444
+ const { removeFromManifest } = chunkMP4IMAPF_cjs.useDirectories();
15394
15445
  const titleId = react.useId();
15395
15446
  const [pending, setPending] = react.useState(false);
15396
15447
  const [errorCode, setErrorCode] = react.useState(void 0);
@@ -15481,12 +15532,12 @@ function ShareLinkDialog({
15481
15532
  travellerName,
15482
15533
  onClose
15483
15534
  }) {
15484
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
15535
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
15485
15536
  const titleId = react.useId();
15486
- const buildShareUrl = chunk77RKNRNH_cjs.useBuildShareUrl();
15537
+ const buildShareUrl = chunkMP4IMAPF_cjs.useBuildShareUrl();
15487
15538
  const isFamily = travellerRef === null;
15488
- const offerable = chunk77RKNRNH_cjs.familySafeSections(isFamily);
15489
- const { links, readFailed, mint, revoke, regenerate, reveal } = chunk77RKNRNH_cjs.useShareLinks(
15539
+ const offerable = chunkMP4IMAPF_cjs.familySafeSections(isFamily);
15540
+ const { links, readFailed, mint, revoke, regenerate, reveal } = chunkMP4IMAPF_cjs.useShareLinks(
15490
15541
  tripRef,
15491
15542
  travellerRef
15492
15543
  );
@@ -15819,7 +15870,7 @@ function SideDrawer({
15819
15870
  "aria-modal": "true",
15820
15871
  "aria-labelledby": titleId,
15821
15872
  tabIndex: -1,
15822
- style: chunk4QMYUKW4_cjs.tokenStyle(style),
15873
+ style: chunkASFUY3IE_cjs.tokenStyle(style),
15823
15874
  children: [
15824
15875
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-admin-side-drawer__header", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-side-drawer__header-row", children: [
15825
15876
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-side-drawer__identity", children: [
@@ -15887,11 +15938,11 @@ function TravellerDetailDialog({
15887
15938
  onClose,
15888
15939
  onRemove
15889
15940
  }) {
15890
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
15941
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
15891
15942
  const titleId = react.useId();
15892
- const { read, readFailed, refresh } = chunkAWOKWGTB_cjs.useTravellerProfile(tripRef, travellerRef);
15893
- const forms = chunk77RKNRNH_cjs.useTravellerFormResponses(tripRef, travellerRef);
15894
- const { addTravellerNote } = chunk77RKNRNH_cjs.useDirectories();
15943
+ const { read, readFailed, refresh } = chunkPQJGV3RE_cjs.useTravellerProfile(tripRef, travellerRef);
15944
+ const forms = chunkMP4IMAPF_cjs.useTravellerFormResponses(tripRef, travellerRef);
15945
+ const { addTravellerNote } = chunkMP4IMAPF_cjs.useDirectories();
15895
15946
  const [noteDraft, setNoteDraft] = react.useState("");
15896
15947
  const [notePending, setNotePending] = react.useState(false);
15897
15948
  const [noteFailed, setNoteFailed] = react.useState(false);
@@ -16120,7 +16171,7 @@ function DetailRow({
16120
16171
  absentLabel,
16121
16172
  meta
16122
16173
  }) {
16123
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
16174
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
16124
16175
  const has = value !== null && value !== void 0 && value.length > 0;
16125
16176
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-manifest-section__detail-row", children: [
16126
16177
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-manifest-section__detail-label", children: label }),
@@ -16143,7 +16194,7 @@ function TripManifestSection({
16143
16194
  components,
16144
16195
  style
16145
16196
  }) {
16146
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
16197
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
16147
16198
  const [q, setQ] = react.useState("");
16148
16199
  const [groupBy, setGroupBy] = react.useState("booking_group");
16149
16200
  const [filters, setFilters] = react.useState({});
@@ -16172,7 +16223,7 @@ function TripManifestSection({
16172
16223
  [groupBy, writeToken, wireFilters]
16173
16224
  );
16174
16225
  const hasActiveFilter = q.length > 0 || Object.keys(filters).length > 0;
16175
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-manifest-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
16226
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-manifest-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
16176
16227
  facets === void 0 ? null : /* @__PURE__ */ jsxRuntime.jsx(ManifestFacetTiles, { facets, filtered: hasActiveFilter }),
16177
16228
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-manifest-section__toolbar", children: [
16178
16229
  /* @__PURE__ */ jsxRuntime.jsx(ManifestSearchInput, { debounceMs: DEBOUNCE_MS, onDebouncedChange: setQ }),
@@ -16221,10 +16272,10 @@ function TripManifestSection({
16221
16272
  {
16222
16273
  type: "button",
16223
16274
  className: "kf-trip-manifest-section__toolbar-button",
16224
- onClick: () => setOverlay({ kind: "newParty" }),
16275
+ onClick: () => setOverlay({ kind: "groups" }),
16225
16276
  children: [
16226
- /* @__PURE__ */ jsxRuntime.jsx(PlusIcon7, {}),
16227
- t("chrome.tripManifest.newGroup")
16277
+ /* @__PURE__ */ jsxRuntime.jsx(GroupIcon, {}),
16278
+ t("chrome.tripManifest.manageGroups")
16228
16279
  ]
16229
16280
  }
16230
16281
  ) : null
@@ -16240,7 +16291,7 @@ function TripManifestSection({
16240
16291
  onOpen: (row) => setOverlay({ kind: "detail", row }),
16241
16292
  onRemove: (row) => setOverlay({ kind: "remove", row }),
16242
16293
  onShareLink: (row) => setOverlay({ kind: "shareTraveller", row }),
16243
- onEditGroup: (partyId) => setOverlay({ kind: "editParty", partyId }),
16294
+ onEditGroup: (partyId) => setOverlay({ kind: "groups", partyId }),
16244
16295
  onRowsChange: setVisibleRows,
16245
16296
  ...onOpenTravellerProfile !== void 0 ? {
16246
16297
  onOpenProfile: (row) => onOpenTravellerProfile(row.traveller.travellerId, row.traveller.fullName)
@@ -16269,21 +16320,12 @@ function TripManifestSection({
16269
16320
  }
16270
16321
  ) : null,
16271
16322
  overlay.kind === "add" ? /* @__PURE__ */ jsxRuntime.jsx(AddTravellerDialog, { tripRef, onClose: closeOverlay, onAdded: afterWrite }) : null,
16272
- overlay.kind === "editParty" ? /* @__PURE__ */ jsxRuntime.jsx(
16273
- EditPartyForId,
16323
+ overlay.kind === "groups" ? /* @__PURE__ */ jsxRuntime.jsx(
16324
+ ManageGroupsDialog,
16274
16325
  {
16275
16326
  tripRef,
16276
- partyId: overlay.partyId,
16277
16327
  rows: visibleRows,
16278
- onClose: closeOverlay,
16279
- onSaved: afterWrite
16280
- }
16281
- ) : null,
16282
- overlay.kind === "newParty" ? /* @__PURE__ */ jsxRuntime.jsx(
16283
- EditPartyDialog,
16284
- {
16285
- tripRef,
16286
- candidates: visibleRows,
16328
+ ...overlay.partyId !== void 0 ? { initialPartyId: overlay.partyId } : {},
16287
16329
  onClose: closeOverlay,
16288
16330
  onSaved: afterWrite
16289
16331
  }
@@ -16308,26 +16350,6 @@ function TripManifestSection({
16308
16350
  ) : null
16309
16351
  ] });
16310
16352
  }
16311
- function EditPartyForId({
16312
- tripRef,
16313
- partyId,
16314
- rows,
16315
- onClose,
16316
- onSaved
16317
- }) {
16318
- const group = deriveManifestGroups(rows).find((candidate) => candidate.id === partyId);
16319
- if (group === void 0) return null;
16320
- return /* @__PURE__ */ jsxRuntime.jsx(
16321
- EditPartyDialog,
16322
- {
16323
- tripRef,
16324
- group,
16325
- candidates: rows,
16326
- onClose,
16327
- onSaved
16328
- }
16329
- );
16330
- }
16331
16353
 
16332
16354
  // src/admin/composite/office/TripPaymentsSection/internal/derivePayments.ts
16333
16355
  function liveCollections(rows) {
@@ -16420,7 +16442,7 @@ function PaymentsSkeleton() {
16420
16442
  ] }, id)) });
16421
16443
  }
16422
16444
  function PaymentsEmpty({ onRecord }) {
16423
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
16445
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
16424
16446
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-payments-section__state", children: [
16425
16447
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-payments-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(ReceiptIcon, {}) }),
16426
16448
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-payments-section__state-title", children: t("chrome.tripPayments.emptyTitle") }),
@@ -16429,7 +16451,7 @@ function PaymentsEmpty({ onRecord }) {
16429
16451
  ] });
16430
16452
  }
16431
16453
  function PaymentsFailed({ onRetry }) {
16432
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
16454
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
16433
16455
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-payments-section__state", role: "alert", children: [
16434
16456
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-payments-section__state-title", children: t("chrome.tripPayments.failedTitle") }),
16435
16457
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-payments-section__state-body", children: t("chrome.tripPayments.failedBody") }),
@@ -16437,7 +16459,7 @@ function PaymentsFailed({ onRetry }) {
16437
16459
  ] });
16438
16460
  }
16439
16461
  function PaymentsDark({ reason }) {
16440
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
16462
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
16441
16463
  if (reason === "mode") {
16442
16464
  return null;
16443
16465
  }
@@ -16458,7 +16480,7 @@ function PaymentsTable({
16458
16480
  locked,
16459
16481
  onVoid
16460
16482
  }) {
16461
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
16483
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
16462
16484
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-payments-section__table-wrap", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "kf-trip-payments-section__table", children: [
16463
16485
  /* @__PURE__ */ jsxRuntime.jsx("caption", { className: "kf-visually-hidden", children: t("chrome.tripPayments.tableCaption") }),
16464
16486
  /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
@@ -16517,7 +16539,7 @@ function RecordPaymentDialog({
16517
16539
  onClose,
16518
16540
  onSubmit
16519
16541
  }) {
16520
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
16542
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
16521
16543
  const titleId = react.useId();
16522
16544
  const [travellerId, setTravellerId] = react.useState(null);
16523
16545
  const [amount, setAmount] = react.useState("");
@@ -16692,7 +16714,7 @@ function VoidPaymentDialog({
16692
16714
  onClose,
16693
16715
  onSubmit
16694
16716
  }) {
16695
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
16717
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
16696
16718
  const titleId = react.useId();
16697
16719
  const [reason, setReason] = react.useState("");
16698
16720
  const trimmed = reason.trim();
@@ -16770,9 +16792,9 @@ function TripPaymentsSection({
16770
16792
  balance,
16771
16793
  style
16772
16794
  }) {
16773
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
16774
- const collections = chunkAWOKWGTB_cjs.useCollections(tripRef);
16775
- const parties = chunkAWOKWGTB_cjs.useParties(tripRef);
16795
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
16796
+ const collections = chunkPQJGV3RE_cjs.useCollections(tripRef);
16797
+ const parties = chunkPQJGV3RE_cjs.useParties(tripRef);
16776
16798
  const [overlay, setOverlay] = react.useState({ kind: "none" });
16777
16799
  const [pending, setPending] = react.useState(false);
16778
16800
  const [errorCode, setErrorCode] = react.useState(void 0);
@@ -16852,7 +16874,7 @@ function TripPaymentsSection({
16852
16874
  }
16853
16875
  const currency = balance?.currency ?? rows[0]?.currency ?? "INR";
16854
16876
  const owingCount = eligibleRows.filter((row) => row.outstandingMinor > 0).length;
16855
- return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-payments-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
16877
+ return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-payments-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
16856
16878
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-payments-section__toolbar", children: [
16857
16879
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-payments-section__toolbar-title", children: t("chrome.tripPayments.panelLabel") }),
16858
16880
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-payments-section__toolbar-spacer" }),
@@ -16993,7 +17015,7 @@ function AssignTravellerDialog({
16993
17015
  onSubmit,
16994
17016
  onClose
16995
17017
  }) {
16996
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
17018
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
16997
17019
  const titleId = react.useId();
16998
17020
  const [pointId, setPointId] = react.useState(stops[0]?.id ?? "");
16999
17021
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -17064,7 +17086,7 @@ function BoardingRoster({
17064
17086
  onRetry,
17065
17087
  stops
17066
17088
  }) {
17067
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
17089
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
17068
17090
  if (failed) {
17069
17091
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-pickups-section__state", role: "alert", children: [
17070
17092
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-pickups-section__state-title", children: t("chrome.tripPickups.boardingFailedTitle") }),
@@ -17124,7 +17146,7 @@ function TravellerBoardRow({
17124
17146
  busy,
17125
17147
  onCorrect
17126
17148
  }) {
17127
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
17149
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
17128
17150
  const correctable = occupant.status !== "PENDING";
17129
17151
  const next = occupant.status === "BOARDED" ? "NO_SHOW" : "BOARDED";
17130
17152
  return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "kf-trip-pickups-section__roster-row", children: [
@@ -17162,7 +17184,7 @@ function DeleteStopDialog({
17162
17184
  onDelete,
17163
17185
  onClose
17164
17186
  }) {
17165
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
17187
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
17166
17188
  const titleId = react.useId();
17167
17189
  const [target, setTarget] = react.useState(siblings[0]?.id ?? "");
17168
17190
  const occupied = stop.expectedCount > 0;
@@ -17416,7 +17438,7 @@ function PickupsEmpty({
17416
17438
  kindLabel,
17417
17439
  onAdd
17418
17440
  }) {
17419
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
17441
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
17420
17442
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-pickups-section__state", children: [
17421
17443
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-pickups-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(BusIcon, {}) }),
17422
17444
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-pickups-section__state-title", children: t("chrome.tripPickups.emptyTitle").replace("{kind}", kindLabel) }),
@@ -17425,7 +17447,7 @@ function PickupsEmpty({
17425
17447
  ] });
17426
17448
  }
17427
17449
  function PickupsFailed({ onRetry }) {
17428
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
17450
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
17429
17451
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-pickups-section__state", role: "alert", children: [
17430
17452
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-pickups-section__state-title", children: t("chrome.tripPickups.failedTitle") }),
17431
17453
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-pickups-section__state-body", children: t("chrome.tripPickups.failedBody") }),
@@ -17433,7 +17455,7 @@ function PickupsFailed({ onRetry }) {
17433
17455
  ] });
17434
17456
  }
17435
17457
  function PickupsDark({ reason }) {
17436
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
17458
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
17437
17459
  if (reason === "mode") {
17438
17460
  return null;
17439
17461
  }
@@ -17467,7 +17489,7 @@ function StopFormDialog({
17467
17489
  onClose,
17468
17490
  onSubmit
17469
17491
  }) {
17470
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
17492
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
17471
17493
  const titleId = react.useId();
17472
17494
  const isEdit = stop !== null;
17473
17495
  const [kind, setKind] = react.useState(stop?.kind ?? defaultKind);
@@ -17614,7 +17636,7 @@ function StopFormDialog({
17614
17636
  );
17615
17637
  }
17616
17638
  function StopKebab({ stopName, onEdit, onDelete }) {
17617
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
17639
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
17618
17640
  const [open, setOpen] = react.useState(false);
17619
17641
  const rootRef = react.useRef(null);
17620
17642
  const triggerRef = react.useRef(null);
@@ -17691,7 +17713,7 @@ function StopCard({
17691
17713
  onDelete,
17692
17714
  onMoveBy
17693
17715
  }) {
17694
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
17716
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
17695
17717
  const isClosed = stop.status === "CLOSED";
17696
17718
  const canReorder = !isClosed;
17697
17719
  const percent = boardedPercent(stop);
@@ -17839,7 +17861,7 @@ function Segment({
17839
17861
  value,
17840
17862
  onChange
17841
17863
  }) {
17842
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
17864
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
17843
17865
  return /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { className: "kf-trip-pickups-section__segment", children: [
17844
17866
  /* @__PURE__ */ jsxRuntime.jsx("legend", { className: "kf-visually-hidden", children: t(legendKey) }),
17845
17867
  options.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -17902,8 +17924,8 @@ function TripPickupsSection({
17902
17924
  tripStartIso,
17903
17925
  style
17904
17926
  }) {
17905
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
17906
- const pickups = chunkAWOKWGTB_cjs.usePickups(tripRef);
17927
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
17928
+ const pickups = chunkPQJGV3RE_cjs.usePickups(tripRef);
17907
17929
  const [kind, setKind] = react.useState("PICKUP");
17908
17930
  const [view, setView] = react.useState("stops");
17909
17931
  const [overlay, setOverlay] = react.useState({ kind: "none" });
@@ -18063,7 +18085,7 @@ function TripPickupsSection({
18063
18085
  const kindLabel = t(
18064
18086
  kind === "PICKUP" ? "chrome.tripPickups.kindPickupOne" : "chrome.tripPickups.kindDropOne"
18065
18087
  );
18066
- return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-pickups-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
18088
+ return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-pickups-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
18067
18089
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-pickups-section__toolbar", children: [
18068
18090
  /* @__PURE__ */ jsxRuntime.jsx(ViewSwitcher, { value: view, onChange: setView }),
18069
18091
  /* @__PURE__ */ jsxRuntime.jsx(KindSwitcher, { value: kind, onChange: setKind }),
@@ -18286,7 +18308,7 @@ function AutoAssignDialog({
18286
18308
  onApply,
18287
18309
  onClose
18288
18310
  }) {
18289
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
18311
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
18290
18312
  const titleId = react.useId();
18291
18313
  const [reassignAll, setReassignAll] = react.useState(false);
18292
18314
  const roomCodeById = new Map(group.rooms.map((room) => [room.id, room.code]));
@@ -18381,7 +18403,7 @@ function AutoAssignDialog({
18381
18403
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-rooming-section__plan", children: [
18382
18404
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-rooming-section__plan-title", children: t("chrome.tripRooming.rulesTitle") }),
18383
18405
  /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "kf-trip-rooming-section__rule-list", children: preview.perRule.map((entry) => {
18384
- const severity = chunkAWOKWGTB_cjs.roomingHeuristicSeverity(entry.rule);
18406
+ const severity = chunkPQJGV3RE_cjs.roomingHeuristicSeverity(entry.rule);
18385
18407
  const relaxed = entry.outcome === "relaxed";
18386
18408
  const violation = relaxed && severity === "never";
18387
18409
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -18427,7 +18449,7 @@ function DeleteShell({
18427
18449
  onConfirm,
18428
18450
  onClose
18429
18451
  }) {
18430
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
18452
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
18431
18453
  const titleId = react.useId();
18432
18454
  return /* @__PURE__ */ jsxRuntime.jsxs(
18433
18455
  SheetDialog,
@@ -18473,7 +18495,7 @@ function DeleteRoomDialog({
18473
18495
  onConfirm,
18474
18496
  onClose
18475
18497
  }) {
18476
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
18498
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
18477
18499
  const occupied = room.beds.filter((bed) => bed.occupant !== null).length;
18478
18500
  return /* @__PURE__ */ jsxRuntime.jsx(
18479
18501
  DeleteShell,
@@ -18499,7 +18521,7 @@ function DeleteWindowDialog({
18499
18521
  onConfirm,
18500
18522
  onClose
18501
18523
  }) {
18502
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
18524
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
18503
18525
  return /* @__PURE__ */ jsxRuntime.jsx(
18504
18526
  DeleteShell,
18505
18527
  {
@@ -18597,15 +18619,15 @@ function roomTypeLabelKey(roomType) {
18597
18619
  return ROOM_TYPE_LABEL_KEY[roomType] ?? "chrome.tripRooming.roomType.shared";
18598
18620
  }
18599
18621
  function toneAttrs(tone) {
18600
- const parsed = chunkAWOKWGTB_cjs.parseRoomingTone(tone);
18622
+ const parsed = chunkPQJGV3RE_cjs.parseRoomingTone(tone);
18601
18623
  if (parsed === void 0) {
18602
- return { family: chunkAWOKWGTB_cjs.TONE_FAMILIES.UNKNOWN, shade: 0 };
18624
+ return { family: chunkPQJGV3RE_cjs.TONE_FAMILIES.UNKNOWN, shade: 0 };
18603
18625
  }
18604
- const shade = parsed.shade < chunkAWOKWGTB_cjs.SHADES_PER_FAMILY ? parsed.shade : parsed.shade % chunkAWOKWGTB_cjs.SHADES_PER_FAMILY;
18626
+ const shade = parsed.shade < chunkPQJGV3RE_cjs.SHADES_PER_FAMILY ? parsed.shade : parsed.shade % chunkPQJGV3RE_cjs.SHADES_PER_FAMILY;
18605
18627
  return { family: parsed.family, shade };
18606
18628
  }
18607
18629
  function glyphOf(occupant) {
18608
- return occupant.glyph === "" ? chunkAWOKWGTB_cjs.FALLBACK_GLYPH : occupant.glyph;
18630
+ return occupant.glyph === "" ? chunkPQJGV3RE_cjs.FALLBACK_GLYPH : occupant.glyph;
18609
18631
  }
18610
18632
  function TravellerGlyph({
18611
18633
  occupant,
@@ -18643,7 +18665,7 @@ var COLLAPSED_COUNT = 10;
18643
18665
  function IdentityLegend({
18644
18666
  occupants
18645
18667
  }) {
18646
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
18668
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
18647
18669
  const [open, setOpen] = react.useState(false);
18648
18670
  if (occupants.length === 0) {
18649
18671
  return null;
@@ -18770,7 +18792,7 @@ function RoomFormDialog({
18770
18792
  onClose,
18771
18793
  onSubmit
18772
18794
  }) {
18773
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
18795
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
18774
18796
  const titleId = react.useId();
18775
18797
  const isEdit = room !== null;
18776
18798
  const [code, setCode] = react.useState(room?.code ?? "");
@@ -18894,7 +18916,7 @@ function RoomingSkeleton() {
18894
18916
  ] }, id)) });
18895
18917
  }
18896
18918
  function RoomingEmpty({ onAddWindow }) {
18897
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
18919
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
18898
18920
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-rooming-section__state", children: [
18899
18921
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-rooming-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(BedIcon, {}) }),
18900
18922
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-rooming-section__state-title", children: t("chrome.tripRooming.emptyTitle") }),
@@ -18903,7 +18925,7 @@ function RoomingEmpty({ onAddWindow }) {
18903
18925
  ] });
18904
18926
  }
18905
18927
  function RoomingFailed({ onRetry }) {
18906
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
18928
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
18907
18929
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-rooming-section__state", role: "alert", children: [
18908
18930
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-rooming-section__state-title", children: t("chrome.tripRooming.failedTitle") }),
18909
18931
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-rooming-section__state-body", children: t("chrome.tripRooming.failedBody") }),
@@ -18911,7 +18933,7 @@ function RoomingFailed({ onRetry }) {
18911
18933
  ] });
18912
18934
  }
18913
18935
  function RoomingDark({ reason }) {
18914
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
18936
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
18915
18937
  if (reason === "mode") {
18916
18938
  return null;
18917
18939
  }
@@ -18926,7 +18948,7 @@ function RoomingDark({ reason }) {
18926
18948
  ] });
18927
18949
  }
18928
18950
  function RoomKebab({ roomCode, onEdit, onDelete }) {
18929
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
18951
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
18930
18952
  const [open, setOpen] = react.useState(false);
18931
18953
  const rootRef = react.useRef(null);
18932
18954
  const triggerRef = react.useRef(null);
@@ -18991,7 +19013,7 @@ function RoomKebab({ roomCode, onEdit, onDelete }) {
18991
19013
  ] });
18992
19014
  }
18993
19015
  function RoomCard({ room, drag, busy, onEdit, onDelete }) {
18994
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
19016
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
18995
19017
  const occupied = room.beds.filter((bed) => bed.occupant !== null).length;
18996
19018
  return /* @__PURE__ */ jsxRuntime.jsxs("article", { className: "kf-trip-rooming-section__room", "data-busy": busy ? "true" : void 0, children: [
18997
19019
  /* @__PURE__ */ jsxRuntime.jsxs("header", { className: "kf-trip-rooming-section__room-head", children: [
@@ -19041,7 +19063,7 @@ function UnassignedStrip({
19041
19063
  drag,
19042
19064
  busy
19043
19065
  }) {
19044
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
19066
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
19045
19067
  return /* @__PURE__ */ jsxRuntime.jsxs(
19046
19068
  "div",
19047
19069
  {
@@ -19115,7 +19137,7 @@ function WindowAccordion({
19115
19137
  onEditRoom,
19116
19138
  onDeleteRoom
19117
19139
  }) {
19118
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
19140
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
19119
19141
  const percent = fillPercent(group);
19120
19142
  const bodyId = `kf-rooming-window-${group.window.id}`;
19121
19143
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -19265,7 +19287,7 @@ function WindowFormDialog({
19265
19287
  onClose,
19266
19288
  onSubmit
19267
19289
  }) {
19268
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
19290
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
19269
19291
  const titleId = react.useId();
19270
19292
  const isEdit = window !== null;
19271
19293
  const [label, setLabel] = react.useState(window?.label ?? "");
@@ -19378,8 +19400,8 @@ function TripRoomingSection({
19378
19400
  tripEndIso,
19379
19401
  style
19380
19402
  }) {
19381
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
19382
- const rooming = chunkAWOKWGTB_cjs.useRooming(tripRef);
19403
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
19404
+ const rooming = chunkPQJGV3RE_cjs.useRooming(tripRef);
19383
19405
  const [openWindowId, setOpenWindowId] = react.useState(null);
19384
19406
  const [overlay, setOverlay] = react.useState({ kind: "none" });
19385
19407
  const [pending, setPending] = react.useState(false);
@@ -19517,7 +19539,7 @@ function TripRoomingSection({
19517
19539
  return /* @__PURE__ */ jsxRuntime.jsx(RoomingDark, { reason: rooming.reason });
19518
19540
  }
19519
19541
  const pool = ready?.unassignedPool;
19520
- return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-rooming-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
19542
+ return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-rooming-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
19521
19543
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-rooming-section__toolbar", children: [
19522
19544
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-rooming-section__toolbar-title", children: t("chrome.tripRooming.panelLabel") }),
19523
19545
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-rooming-section__toolbar-spacer" }),
@@ -19751,7 +19773,7 @@ function isAgencyAuthored(vendor) {
19751
19773
  return vendor.externalId.startsWith("kf-");
19752
19774
  }
19753
19775
  function CategoryTabs({ selected, counts, total, onSelect }) {
19754
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
19776
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
19755
19777
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-suppliers-section__chips", children: [
19756
19778
  /* @__PURE__ */ jsxRuntime.jsxs(
19757
19779
  "button",
@@ -19794,7 +19816,7 @@ function DeleteSupplierDialog({
19794
19816
  onConfirm,
19795
19817
  onClose
19796
19818
  }) {
19797
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
19819
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
19798
19820
  const titleId = react.useId();
19799
19821
  const blockers = deleteBlockers(usage);
19800
19822
  const blockedLocally = blockers !== void 0 && blockers.vehicles + blockers.expenses > 0;
@@ -19947,7 +19969,7 @@ function SupplierFormDialog({
19947
19969
  onClose,
19948
19970
  onSubmit
19949
19971
  }) {
19950
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
19972
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
19951
19973
  const titleId = react.useId();
19952
19974
  const isEdit = supplier !== null;
19953
19975
  const [name, setName] = react.useState(supplier?.name ?? "");
@@ -20069,7 +20091,7 @@ function SuppliersSkeleton() {
20069
20091
  ] }, id)) });
20070
20092
  }
20071
20093
  function SuppliersEmpty({ onAdd }) {
20072
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
20094
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
20073
20095
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-suppliers-section__state", children: [
20074
20096
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-suppliers-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(StorefrontIcon, {}) }),
20075
20097
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-suppliers-section__state-title", children: t("chrome.tripSuppliers.emptyTitle") }),
@@ -20078,7 +20100,7 @@ function SuppliersEmpty({ onAdd }) {
20078
20100
  ] });
20079
20101
  }
20080
20102
  function SuppliersNoMatch({ onClear }) {
20081
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
20103
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
20082
20104
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-suppliers-section__state", children: [
20083
20105
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-suppliers-section__state-title", children: t("chrome.tripSuppliers.noMatchTitle") }),
20084
20106
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-suppliers-section__state-body", children: t("chrome.tripSuppliers.noMatchBody") }),
@@ -20086,7 +20108,7 @@ function SuppliersNoMatch({ onClear }) {
20086
20108
  ] });
20087
20109
  }
20088
20110
  function SuppliersFailed({ onRetry }) {
20089
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
20111
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
20090
20112
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-suppliers-section__state", role: "alert", children: [
20091
20113
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-suppliers-section__state-title", children: t("chrome.tripSuppliers.failedTitle") }),
20092
20114
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-suppliers-section__state-body", children: t("chrome.tripSuppliers.failedBody") }),
@@ -20094,7 +20116,7 @@ function SuppliersFailed({ onRetry }) {
20094
20116
  ] });
20095
20117
  }
20096
20118
  function SuppliersDark({ reason }) {
20097
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
20119
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
20098
20120
  if (reason === "mode") {
20099
20121
  return null;
20100
20122
  }
@@ -20109,7 +20131,7 @@ function SuppliersDark({ reason }) {
20109
20131
  ] });
20110
20132
  }
20111
20133
  function SupplierKebab({ name, busy, onEdit, onDelete }) {
20112
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
20134
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
20113
20135
  const [open, setOpen] = react.useState(false);
20114
20136
  const rootRef = react.useRef(null);
20115
20137
  const triggerRef = react.useRef(null);
@@ -20176,7 +20198,7 @@ function SupplierKebab({ name, busy, onEdit, onDelete }) {
20176
20198
  ] });
20177
20199
  }
20178
20200
  function SupplierUsageCell({ usage }) {
20179
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
20201
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
20180
20202
  const parts = [];
20181
20203
  if (usage.vehicles !== void 0 && usage.vehicles > 0) {
20182
20204
  parts.push(
@@ -20220,7 +20242,7 @@ function SupplierTable({
20220
20242
  onEdit,
20221
20243
  onDelete
20222
20244
  }) {
20223
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
20245
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
20224
20246
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-suppliers-section__table-wrap", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "kf-trip-suppliers-section__table", children: [
20225
20247
  /* @__PURE__ */ jsxRuntime.jsx("caption", { className: "kf-visually-hidden", children: t("chrome.tripSuppliers.tableCaption") }),
20226
20248
  /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
@@ -20288,11 +20310,11 @@ function serverBlockOf(error) {
20288
20310
  return { vehicles: details.vehicleCount ?? 0, expenses: details.expenseCount ?? 0 };
20289
20311
  }
20290
20312
  function TripSuppliersSection({ tripRef, style }) {
20291
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
20292
- const vendors = chunkAWOKWGTB_cjs.useVendors(tripRef, "");
20293
- const seating = chunkAWOKWGTB_cjs.useSeating(tripRef);
20294
- const itinerary = chunkAWOKWGTB_cjs.useItinerary(tripRef);
20295
- const expenses = chunkAWOKWGTB_cjs.useExpenses(tripRef);
20313
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
20314
+ const vendors = chunkPQJGV3RE_cjs.useVendors(tripRef, "");
20315
+ const seating = chunkPQJGV3RE_cjs.useSeating(tripRef);
20316
+ const itinerary = chunkPQJGV3RE_cjs.useItinerary(tripRef);
20317
+ const expenses = chunkPQJGV3RE_cjs.useExpenses(tripRef);
20296
20318
  const [category, setCategory] = react.useState(null);
20297
20319
  const [query, setQuery] = react.useState("");
20298
20320
  const [sortKey, setSortKey] = react.useState("name");
@@ -20375,7 +20397,7 @@ function TripSuppliersSection({ tripRef, style }) {
20375
20397
  return /* @__PURE__ */ jsxRuntime.jsx(SuppliersDark, { reason: vendors.reason });
20376
20398
  }
20377
20399
  const filtered = category !== null || query.trim() !== "";
20378
- return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-suppliers-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
20400
+ return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-suppliers-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
20379
20401
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-suppliers-section__toolbar", children: [
20380
20402
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-suppliers-section__toolbar-title", children: t("chrome.tripSuppliers.panelLabel") }),
20381
20403
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-suppliers-section__toolbar-spacer" }),
@@ -20514,7 +20536,7 @@ function AutoAssignDialog2({
20514
20536
  onApply,
20515
20537
  onClose
20516
20538
  }) {
20517
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
20539
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
20518
20540
  const titleId = react.useId();
20519
20541
  const [reassignAll, setReassignAll] = react.useState(false);
20520
20542
  const [genderAdjacency, setGenderAdjacency] = react.useState("AVOID_UNRELATED");
@@ -20676,7 +20698,7 @@ function DayFilter({
20676
20698
  countByDay,
20677
20699
  onSelect
20678
20700
  }) {
20679
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
20701
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
20680
20702
  const days = Array.from({ length: durationDays }, (_unused, index) => index);
20681
20703
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-vehicles-section__days", children: [
20682
20704
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-vehicles-section__days-label", children: t("chrome.tripVehicles.showDay") }),
@@ -20809,7 +20831,7 @@ function DeleteVehicleDialog({
20809
20831
  onConfirm,
20810
20832
  onClose
20811
20833
  }) {
20812
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
20834
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
20813
20835
  const titleId = react.useId();
20814
20836
  const released = occupantsOf(vehicle).length;
20815
20837
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -20986,7 +21008,7 @@ function ManagerLinkDialog({
20986
21008
  onClose,
20987
21009
  onSubmit
20988
21010
  }) {
20989
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
21011
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
20990
21012
  const titleId = react.useId();
20991
21013
  const [chosen, setChosen] = react.useState(null);
20992
21014
  const demotedFrom = chosen === null ? void 0 : managerVehicleByRef.get(chosen);
@@ -21063,7 +21085,7 @@ function UnassignedStrip2({
21063
21085
  drag,
21064
21086
  busy
21065
21087
  }) {
21066
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
21088
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
21067
21089
  return /* @__PURE__ */ jsxRuntime.jsxs(
21068
21090
  "div",
21069
21091
  {
@@ -21130,7 +21152,7 @@ function OccupantRoster({
21130
21152
  variant,
21131
21153
  emptyKey
21132
21154
  }) {
21133
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
21155
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
21134
21156
  const target = { containerId: vehicleId, slotLabel: "" };
21135
21157
  const isOver = drag.overSlot !== null && drag.overSlot.containerId === vehicleId && drag.overSlot.slotLabel === "";
21136
21158
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -21174,7 +21196,7 @@ function OccupantRoster({
21174
21196
  );
21175
21197
  }
21176
21198
  function SeatTile({ seat, vehicleId, drag, busy }) {
21177
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
21199
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
21178
21200
  const target = { containerId: vehicleId, slotLabel: seat.seatLabel };
21179
21201
  const isOver = drag.overSlot !== null && drag.overSlot.containerId === target.containerId && drag.overSlot.slotLabel === target.slotLabel;
21180
21202
  const occupant = seat.occupant;
@@ -21237,7 +21259,7 @@ function VehicleKebab({
21237
21259
  onUnlinkManager,
21238
21260
  onDelete
21239
21261
  }) {
21240
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
21262
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
21241
21263
  const [open, setOpen] = react.useState(false);
21242
21264
  const rootRef = react.useRef(null);
21243
21265
  const triggerRef = react.useRef(null);
@@ -21347,7 +21369,7 @@ function VehicleCard({
21347
21369
  onUnlinkManager,
21348
21370
  onDelete
21349
21371
  }) {
21350
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
21372
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
21351
21373
  const percent = fillPercent2(vehicle);
21352
21374
  const days = daysLabel(vehicle.days);
21353
21375
  const bodyId = `kf-vehicle-${vehicle.id}`;
@@ -21482,7 +21504,7 @@ function VehicleDaysDialog({
21482
21504
  onClose,
21483
21505
  onSubmit
21484
21506
  }) {
21485
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
21507
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
21486
21508
  const titleId = react.useId();
21487
21509
  const [selected, setSelected] = react.useState(vehicle.days);
21488
21510
  const wholeTrip = selected.length === 0;
@@ -21581,7 +21603,7 @@ function VehicleFormDialog({
21581
21603
  onClose,
21582
21604
  onSubmit
21583
21605
  }) {
21584
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
21606
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
21585
21607
  const titleId = react.useId();
21586
21608
  const isEdit = vehicle !== null;
21587
21609
  const [regNo, setRegNo] = react.useState(vehicle?.regNo ?? "");
@@ -21776,7 +21798,7 @@ function VehiclesSkeleton() {
21776
21798
  ] }, id)) });
21777
21799
  }
21778
21800
  function VehiclesEmpty({ onAddVehicle }) {
21779
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
21801
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
21780
21802
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-vehicles-section__state", children: [
21781
21803
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-vehicles-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(BusIcon2, {}) }),
21782
21804
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-vehicles-section__state-title", children: t("chrome.tripVehicles.emptyTitle") }),
@@ -21785,7 +21807,7 @@ function VehiclesEmpty({ onAddVehicle }) {
21785
21807
  ] });
21786
21808
  }
21787
21809
  function VehiclesFailed({ onRetry }) {
21788
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
21810
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
21789
21811
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-vehicles-section__state", role: "alert", children: [
21790
21812
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-vehicles-section__state-title", children: t("chrome.tripVehicles.failedTitle") }),
21791
21813
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-vehicles-section__state-body", children: t("chrome.tripVehicles.failedBody") }),
@@ -21793,7 +21815,7 @@ function VehiclesFailed({ onRetry }) {
21793
21815
  ] });
21794
21816
  }
21795
21817
  function VehiclesDark({ reason }) {
21796
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
21818
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
21797
21819
  if (reason === "mode") {
21798
21820
  return null;
21799
21821
  }
@@ -21816,9 +21838,9 @@ function TripVehiclesSection({
21816
21838
  durationDays,
21817
21839
  style
21818
21840
  }) {
21819
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
21820
- const seating = chunkAWOKWGTB_cjs.useSeating(tripRef);
21821
- const managers = chunkAWOKWGTB_cjs.useManagers(tripRef);
21841
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
21842
+ const seating = chunkPQJGV3RE_cjs.useSeating(tripRef);
21843
+ const managers = chunkPQJGV3RE_cjs.useManagers(tripRef);
21822
21844
  const [openVehicleId, setOpenVehicleId] = react.useState(null);
21823
21845
  const [day, setDay] = react.useState(null);
21824
21846
  const [overlay, setOverlay] = react.useState({ kind: "none" });
@@ -21952,7 +21974,7 @@ function TripVehiclesSection({
21952
21974
  return /* @__PURE__ */ jsxRuntime.jsx(VehiclesDark, { reason: seating.reason });
21953
21975
  }
21954
21976
  const pool = ready?.unassignedPool;
21955
- return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-vehicles-section", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
21977
+ return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-vehicles-section", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
21956
21978
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-vehicles-section__toolbar", children: [
21957
21979
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-vehicles-section__toolbar-title", children: t("chrome.tripVehicles.panelLabel") }),
21958
21980
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-vehicles-section__toolbar-spacer" }),
@@ -22245,7 +22267,7 @@ function WarningIcon13(props) {
22245
22267
 
22246
22268
  // src/admin/composite/office/TripWorkspace/internal/panels/deriveCloseout.ts
22247
22269
  function tabForBlocker(row) {
22248
- return chunk77RKNRNH_cjs.resolveBlockerDeepLink({ actionKey: row.actionKey })?.tab;
22270
+ return chunkMP4IMAPF_cjs.resolveBlockerDeepLink({ actionKey: row.actionKey })?.tab;
22249
22271
  }
22250
22272
  function orderedBlockers(rows) {
22251
22273
  return [...rows].sort((a, b) => {
@@ -22285,8 +22307,8 @@ function codeOf11(error) {
22285
22307
  return classification?.code ?? "unknown";
22286
22308
  }
22287
22309
  function CloseoutCard({ tripRef, onOpenTab, litTabs }) {
22288
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
22289
- const closeout = chunkAWOKWGTB_cjs.useCloseout(tripRef);
22310
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
22311
+ const closeout = chunkPQJGV3RE_cjs.useCloseout(tripRef);
22290
22312
  const [note, setNote] = react.useState(null);
22291
22313
  const [pending, setPending] = react.useState(void 0);
22292
22314
  const [errorCode, setErrorCode] = react.useState(void 0);
@@ -22493,7 +22515,7 @@ function AssignManagerDialog({
22493
22515
  onClose,
22494
22516
  onAssign
22495
22517
  }) {
22496
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
22518
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
22497
22519
  const titleId = react.useId();
22498
22520
  const [query, setQuery] = react.useState("");
22499
22521
  const [selected, setSelected] = react.useState(null);
@@ -22625,8 +22647,8 @@ var ROLE_LABEL_KEY = {
22625
22647
  COORDINATOR: "chrome.tripWorkspace.managers.roleCoordinator"
22626
22648
  };
22627
22649
  function OverviewManagersCard({ trip, onChanged }) {
22628
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
22629
- const { promoteManager, assignManager, unassignManager, makeManagersFetch } = chunk77RKNRNH_cjs.useDirectories();
22650
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
22651
+ const { promoteManager, assignManager, unassignManager, makeManagersFetch } = chunkMP4IMAPF_cjs.useDirectories();
22630
22652
  const [pendingId, setPendingId] = react.useState(void 0);
22631
22653
  const [errorCode, setErrorCode] = react.useState(void 0);
22632
22654
  const [assignOpen, setAssignOpen] = react.useState(false);
@@ -22787,13 +22809,13 @@ function TripOverviewPanel({
22787
22809
  onOpenTab,
22788
22810
  onTripChanged
22789
22811
  }) {
22790
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
22791
- const today = chunkAWOKWGTB_cjs.useManagerToday(trip.ref);
22792
- const expenses = chunkAWOKWGTB_cjs.useExpenses(trip.ref);
22812
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
22813
+ const today = chunkPQJGV3RE_cjs.useManagerToday(trip.ref);
22814
+ const expenses = chunkPQJGV3RE_cjs.useExpenses(trip.ref);
22793
22815
  const spendTotalMinor = expenses.status === "ready" && expenses.totals.loaded && !expenses.totals.lastFetchFailed ? expenses.totals.spendTotalMinor : void 0;
22794
22816
  const finance = deriveFinance(trip, spendTotalMinor);
22795
22817
  const quickActions = QUICK_ACTION_TABS.filter((key) => litTabs.has(key));
22796
- const closeoutProbe = chunkAWOKWGTB_cjs.useCloseout(trip.ref);
22818
+ const closeoutProbe = chunkPQJGV3RE_cjs.useCloseout(trip.ref);
22797
22819
  const closeoutStage = closeoutProbe.status === "ready" && hasReturned(closeoutProbe.aggregate) ? closeoutProbe.aggregate?.stage ?? null : null;
22798
22820
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace__overview", children: [
22799
22821
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace__overview-main", children: [
@@ -22832,7 +22854,7 @@ function TripOverviewPanel({
22832
22854
  function TodayCard({
22833
22855
  today
22834
22856
  }) {
22835
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
22857
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
22836
22858
  if (today.kind === "idle") return null;
22837
22859
  const openChecklist = today.checklist ?? [];
22838
22860
  const itinerary = today.itinerary ?? [];
@@ -22856,7 +22878,7 @@ function TodayCard({
22856
22878
  function FinanceCard({
22857
22879
  finance
22858
22880
  }) {
22859
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
22881
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
22860
22882
  return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-workspace__card", children: [
22861
22883
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-workspace__card-head", children: /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-trip-workspace__card-title", children: t("chrome.tripWorkspace.overview.financeTitle") }) }),
22862
22884
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace__finance-body", children: [
@@ -23119,7 +23141,7 @@ var BLOCKER_BODY_KEY = {
23119
23141
  capabilityDark: "chrome.tripWorkspace.blocker.capabilityDarkBody"
23120
23142
  };
23121
23143
  function TripTabPlaceholder({ tabKey, blocker }) {
23122
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
23144
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
23123
23145
  const label = t(TAB_LABEL_KEY[tabKey]);
23124
23146
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace__placeholder", children: [
23125
23147
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-workspace__placeholder-glyph", children: blocker === "deferred" ? /* @__PURE__ */ jsxRuntime.jsx(ClockIcon2, {}) : /* @__PURE__ */ jsxRuntime.jsx(LockIcon11, {}) }),
@@ -23129,7 +23151,7 @@ function TripTabPlaceholder({ tabKey, blocker }) {
23129
23151
  ] });
23130
23152
  }
23131
23153
  function TripKpiStrip({ cells }) {
23132
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
23154
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
23133
23155
  if (cells.length === 0) return null;
23134
23156
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-workspace__kpi-strip", "data-columns": cells.length, children: cells.map((cell) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace__kpi-card", children: [
23135
23157
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-workspace__kpi-label", children: t(cell.labelKey) }),
@@ -23138,7 +23160,7 @@ function TripKpiStrip({ cells }) {
23138
23160
  ] }, cell.key)) });
23139
23161
  }
23140
23162
  function TripTabRail({ tabs, activeKey, onSelect }) {
23141
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
23163
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
23142
23164
  return /* @__PURE__ */ jsxRuntime.jsx(
23143
23165
  "div",
23144
23166
  {
@@ -23172,7 +23194,7 @@ var STATUS_LABEL_KEY9 = {
23172
23194
  CANCELLED: "chrome.tripDirectory.status.cancelled"
23173
23195
  };
23174
23196
  function TripWorkspaceHead({ trip, onBack, style }) {
23175
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
23197
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
23176
23198
  const head = deriveTripHead(trip);
23177
23199
  const subLabelParts = [
23178
23200
  head.dateRangeLabel,
@@ -23183,7 +23205,7 @@ function TripWorkspaceHead({ trip, onBack, style }) {
23183
23205
  trip.manifestCount === 1 ? "chrome.tripWorkspace.travellerCountOne" : "chrome.tripWorkspace.travellerCount"
23184
23206
  ).replace("{count}", String(trip.manifestCount))
23185
23207
  ];
23186
- return /* @__PURE__ */ jsxRuntime.jsx("header", { className: "kf-trip-workspace__head", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace__head-identity", children: [
23208
+ return /* @__PURE__ */ jsxRuntime.jsx("header", { className: "kf-trip-workspace__head", style: chunkASFUY3IE_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace__head-identity", children: [
23187
23209
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace__eyebrow", children: [
23188
23210
  onBack === void 0 ? null : /* @__PURE__ */ jsxRuntime.jsx(
23189
23211
  "button",
@@ -23223,10 +23245,10 @@ function TripWorkspace({
23223
23245
  components,
23224
23246
  style
23225
23247
  }) {
23226
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
23227
- const { read, readFailed, refresh } = chunk77RKNRNH_cjs.useAgencyTrip(tripRef);
23248
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
23249
+ const { read, readFailed, refresh } = chunkMP4IMAPF_cjs.useAgencyTrip(tripRef);
23228
23250
  if (readFailed) {
23229
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-workspace", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace__status-block", role: "alert", children: [
23251
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-workspace", style: chunkASFUY3IE_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace__status-block", role: "alert", children: [
23230
23252
  /* @__PURE__ */ jsxRuntime.jsx(WarningIcon13, { className: "kf-trip-workspace__status-icon" }),
23231
23253
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-workspace__status-title", children: t("chrome.tripWorkspace.errorTitle") }),
23232
23254
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-workspace__status-body", children: t("chrome.tripWorkspace.errorBody") }),
@@ -23242,7 +23264,7 @@ function TripWorkspace({
23242
23264
  ] }) });
23243
23265
  }
23244
23266
  if (read === void 0) {
23245
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-workspace", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(TripWorkspaceSkeleton, {}) });
23267
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-workspace", style: chunkASFUY3IE_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(TripWorkspaceSkeleton, {}) });
23246
23268
  }
23247
23269
  return /* @__PURE__ */ jsxRuntime.jsx(
23248
23270
  TripWorkspaceBody,
@@ -23270,7 +23292,7 @@ function TripWorkspaceBody({
23270
23292
  components,
23271
23293
  style
23272
23294
  }) {
23273
- const { statuses, loaded } = chunk77RKNRNH_cjs.useCapabilityStatuses(tripRef);
23295
+ const { statuses, loaded } = chunkMP4IMAPF_cjs.useCapabilityStatuses(tripRef);
23274
23296
  const Head = components?.TripWorkspaceHead ?? TripWorkspaceHead;
23275
23297
  const tabs = react.useMemo(() => resolveTripTabs(trip.eventType, statuses), [trip.eventType, statuses]);
23276
23298
  const [requestedTab, setRequestedTab] = react.useState(initialTab ?? "overview");
@@ -23354,7 +23376,7 @@ function TripWorkspaceBody({
23354
23376
  }),
23355
23377
  [trip, litTabs, tripRef, onTripChanged, onOpenTravellerProfile]
23356
23378
  );
23357
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
23379
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
23358
23380
  /* @__PURE__ */ jsxRuntime.jsx(Head, { trip, ...onBack !== void 0 ? { onBack } : {} }),
23359
23381
  /* @__PURE__ */ jsxRuntime.jsx(TripKpiStrip, { cells: kpis }),
23360
23382
  loaded ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -23551,7 +23573,7 @@ function AdminShell({
23551
23573
  function renderNavIcon(iconKey) {
23552
23574
  return NavIcon !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx(NavIcon, { iconKey }) : navIcon(iconKey);
23553
23575
  }
23554
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-shell", style: chunk4QMYUKW4_cjs.tokenStyle(style), children: [
23576
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-shell", style: chunkASFUY3IE_cjs.tokenStyle(style), children: [
23555
23577
  /* @__PURE__ */ jsxRuntime.jsxs("aside", { className: "kf-admin-shell__sidebar", children: [
23556
23578
  brand !== void 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-shell__brand", children: [
23557
23579
  brand.logo !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-admin-shell__brand-logo", children: brand.logo }) : null,
@@ -23655,7 +23677,7 @@ function AdminShell({
23655
23677
  ] });
23656
23678
  }
23657
23679
  function KaafilAgencyWorkspace(props) {
23658
- const session = chunk4QMYUKW4_cjs.useSession();
23680
+ const session = chunkASFUY3IE_cjs.useSession();
23659
23681
  if (session.status !== "authenticated") {
23660
23682
  return null;
23661
23683
  }
@@ -23680,8 +23702,8 @@ function ReadyKaafilAgencyWorkspace(props) {
23680
23702
  components,
23681
23703
  style
23682
23704
  } = props;
23683
- const { t } = chunk4QMYUKW4_cjs.useKaafilChrome();
23684
- const agencyAdminMe = chunk77RKNRNH_cjs.useAgencyAdminMe();
23705
+ const { t } = chunkASFUY3IE_cjs.useKaafilChrome();
23706
+ const agencyAdminMe = chunkMP4IMAPF_cjs.useAgencyAdminMe();
23685
23707
  const [internalPane, setInternalPane] = react.useState(
23686
23708
  initialPane ?? "trips"
23687
23709
  );
@@ -23942,27 +23964,27 @@ function ReadyKaafilAgencyWorkspace(props) {
23942
23964
 
23943
23965
  Object.defineProperty(exports, "BootErrorScreen", {
23944
23966
  enumerable: true,
23945
- get: function () { return chunkXPCCR7OH_cjs.BootErrorScreen; }
23967
+ get: function () { return chunkTDFM563X_cjs.BootErrorScreen; }
23946
23968
  });
23947
23969
  Object.defineProperty(exports, "LockedTripScreen", {
23948
23970
  enumerable: true,
23949
- get: function () { return chunkXPCCR7OH_cjs.LockedTripScreen; }
23971
+ get: function () { return chunkTDFM563X_cjs.LockedTripScreen; }
23950
23972
  });
23951
23973
  Object.defineProperty(exports, "NotFoundScreen", {
23952
23974
  enumerable: true,
23953
- get: function () { return chunkXPCCR7OH_cjs.NotFoundScreen; }
23975
+ get: function () { return chunkTDFM563X_cjs.NotFoundScreen; }
23954
23976
  });
23955
23977
  Object.defineProperty(exports, "OfflineFallbackScreen", {
23956
23978
  enumerable: true,
23957
- get: function () { return chunkXPCCR7OH_cjs.OfflineFallbackScreen; }
23979
+ get: function () { return chunkTDFM563X_cjs.OfflineFallbackScreen; }
23958
23980
  });
23959
23981
  Object.defineProperty(exports, "PlanLockedScreen", {
23960
23982
  enumerable: true,
23961
- get: function () { return chunkXPCCR7OH_cjs.PlanLockedScreen; }
23983
+ get: function () { return chunkTDFM563X_cjs.PlanLockedScreen; }
23962
23984
  });
23963
23985
  Object.defineProperty(exports, "SessionExpiredScreen", {
23964
23986
  enumerable: true,
23965
- get: function () { return chunkXPCCR7OH_cjs.SessionExpiredScreen; }
23987
+ get: function () { return chunkTDFM563X_cjs.SessionExpiredScreen; }
23966
23988
  });
23967
23989
  exports.AdminShell = AdminShell;
23968
23990
  exports.AgencySettingsScreen = AgencySettingsScreen;