kaafil-react-uikit 0.10.3 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +38 -0
- package/dist/admin/index.cjs +471 -363
- package/dist/admin/index.cjs.map +1 -1
- package/dist/admin/index.d.cts +4 -4
- package/dist/admin/index.d.ts +4 -4
- package/dist/admin/index.js +116 -8
- package/dist/admin/index.js.map +1 -1
- package/dist/{chunk-2OWH2KDY.cjs → chunk-2JNB5A6Z.cjs} +90 -84
- package/dist/chunk-2JNB5A6Z.cjs.map +1 -0
- package/dist/{chunk-S53XNHRU.cjs → chunk-4TTDAOOG.cjs} +18 -4
- package/dist/chunk-4TTDAOOG.cjs.map +1 -0
- package/dist/{chunk-AFWZFFEM.js → chunk-4WXIR6FD.js} +5 -5
- package/dist/{chunk-AFWZFFEM.js.map → chunk-4WXIR6FD.js.map} +1 -1
- package/dist/{chunk-NCHZLGEE.cjs → chunk-6MD4QTZZ.cjs} +9 -9
- package/dist/{chunk-NCHZLGEE.cjs.map → chunk-6MD4QTZZ.cjs.map} +1 -1
- package/dist/{chunk-7V2XJIXD.js → chunk-7CLYTDSC.js} +18 -4
- package/dist/chunk-7CLYTDSC.js.map +1 -0
- package/dist/{chunk-AJE2RNOR.cjs → chunk-DRUTYOTN.cjs} +4 -4
- package/dist/{chunk-AJE2RNOR.cjs.map → chunk-DRUTYOTN.cjs.map} +1 -1
- package/dist/{chunk-K5Z6N2FY.js → chunk-DTVRWYVN.js} +5 -5
- package/dist/{chunk-K5Z6N2FY.js.map → chunk-DTVRWYVN.js.map} +1 -1
- package/dist/{chunk-VCROLPO3.js → chunk-EGEVXI5K.js} +3 -3
- package/dist/{chunk-VCROLPO3.js.map → chunk-EGEVXI5K.js.map} +1 -1
- package/dist/{chunk-7752B4NM.js → chunk-F6SN6CEC.js} +3 -3
- package/dist/{chunk-7752B4NM.js.map → chunk-F6SN6CEC.js.map} +1 -1
- package/dist/{chunk-KV7ODN2X.js → chunk-HC4PLK4E.js} +3 -3
- package/dist/{chunk-KV7ODN2X.js.map → chunk-HC4PLK4E.js.map} +1 -1
- package/dist/{chunk-F4GGHUMX.cjs → chunk-KY752BBA.cjs} +55 -55
- package/dist/{chunk-F4GGHUMX.cjs.map → chunk-KY752BBA.cjs.map} +1 -1
- package/dist/chunk-PMXQQFQN.cjs +12 -0
- package/dist/{chunk-ZZK7USFC.cjs.map → chunk-PMXQQFQN.cjs.map} +1 -1
- package/dist/{chunk-TGP4GTIY.js → chunk-RK3CWJ56.js} +10 -4
- package/dist/chunk-RK3CWJ56.js.map +1 -0
- package/dist/{chunk-64R4ZJTA.cjs → chunk-UG4Z23IJ.cjs} +12 -12
- package/dist/{chunk-64R4ZJTA.cjs.map → chunk-UG4Z23IJ.cjs.map} +1 -1
- package/dist/{chunk-UUID3H4R.js → chunk-VWFNUQDH.js} +3 -3
- package/dist/{chunk-UUID3H4R.js.map → chunk-VWFNUQDH.js.map} +1 -1
- package/dist/{chunk-3AF2M2JD.cjs → chunk-W63ZEIC2.cjs} +17 -17
- package/dist/{chunk-3AF2M2JD.cjs.map → chunk-W63ZEIC2.cjs.map} +1 -1
- package/dist/core/index.cjs +107 -107
- package/dist/core/index.d.cts +5 -5
- package/dist/core/index.d.ts +5 -5
- package/dist/core/index.js +10 -10
- package/dist/index.css +1 -1
- package/dist/manager/index.cjs +256 -256
- package/dist/manager/index.d.cts +4 -4
- package/dist/manager/index.d.ts +4 -4
- package/dist/manager/index.js +6 -6
- package/dist/tokens.json +4 -1
- package/dist/traveller/index.cjs +35 -35
- package/dist/traveller/index.js +5 -5
- package/dist/{useAgencyTrip-gZB0NILH.d.ts → useAgencyTrip-BgQ4gkyy.d.ts} +1 -1
- package/dist/{useAgencyTrip-C1YmfuQq.d.cts → useAgencyTrip-CtUMpC-J.d.cts} +1 -1
- package/dist/{useNotifications-D262i5BQ.d.ts → useNotifications-B9t5jUQc.d.ts} +1 -1
- package/dist/{useNotifications-BZW1Z_ur.d.cts → useNotifications-xn08Oypa.d.cts} +1 -1
- package/dist/{useVendors-DXOuZWhZ.d.cts → useVendors-B827YIDs.d.cts} +20 -0
- package/dist/{useVendors-DXOuZWhZ.d.ts → useVendors-B827YIDs.d.ts} +20 -0
- package/package.json +2 -2
- package/dist/chunk-2OWH2KDY.cjs.map +0 -1
- package/dist/chunk-7V2XJIXD.js.map +0 -1
- package/dist/chunk-S53XNHRU.cjs.map +0 -1
- package/dist/chunk-TGP4GTIY.js.map +0 -1
- package/dist/chunk-ZZK7USFC.cjs +0 -12
package/dist/admin/index.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-
|
|
6
|
-
var
|
|
7
|
-
var
|
|
3
|
+
var chunkKY752BBA_cjs = require('../chunk-KY752BBA.cjs');
|
|
4
|
+
var chunk2JNB5A6Z_cjs = require('../chunk-2JNB5A6Z.cjs');
|
|
5
|
+
require('../chunk-DRUTYOTN.cjs');
|
|
6
|
+
var chunkUG4Z23IJ_cjs = require('../chunk-UG4Z23IJ.cjs');
|
|
7
|
+
var chunk4TTDAOOG_cjs = require('../chunk-4TTDAOOG.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:
|
|
112
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "kf-admin-shared-patterns-pill", "data-tone": tone, style: chunk4TTDAOOG_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:
|
|
118
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-admin-shared-patterns-tag", "data-tone": tone, style: chunk4TTDAOOG_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:
|
|
186
|
+
style: chunk4TTDAOOG_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 =
|
|
482
|
+
var fieldKindRegistry = chunk4TTDAOOG_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 } =
|
|
632
|
+
const { t } = chunk4TTDAOOG_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:
|
|
636
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-agency-settings-screen__panel-inner", style: chunk4TTDAOOG_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: [
|
|
@@ -1000,7 +1000,7 @@ function orderSectionsByCustomized(sections, isCustomized) {
|
|
|
1000
1000
|
];
|
|
1001
1001
|
}
|
|
1002
1002
|
function AgencySettingsScreen(props) {
|
|
1003
|
-
const session =
|
|
1003
|
+
const session = chunk4TTDAOOG_cjs.useSession();
|
|
1004
1004
|
if (session.status !== "authenticated") {
|
|
1005
1005
|
return null;
|
|
1006
1006
|
}
|
|
@@ -1012,8 +1012,8 @@ function ReadyAgencySettingsScreen({
|
|
|
1012
1012
|
components,
|
|
1013
1013
|
style
|
|
1014
1014
|
}) {
|
|
1015
|
-
const { t } =
|
|
1016
|
-
const { document: document2, loaded, lastFetchFailed, refresh, patchSettings } =
|
|
1015
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
1016
|
+
const { document: document2, loaded, lastFetchFailed, refresh, patchSettings } = chunkKY752BBA_cjs.useAgencySettings();
|
|
1017
1017
|
const [selectedSectionId, setSelectedSectionId] = react.useState(AGENCY_SETTINGS_SECTIONS[0]?.id);
|
|
1018
1018
|
const [savingSectionId, setSavingSectionId] = react.useState(void 0);
|
|
1019
1019
|
const [sectionError, setSectionError] = react.useState(void 0);
|
|
@@ -1030,13 +1030,13 @@ function ReadyAgencySettingsScreen({
|
|
|
1030
1030
|
try {
|
|
1031
1031
|
await patchSettings({ version: document2.version, [sectionId]: patch });
|
|
1032
1032
|
} catch (error) {
|
|
1033
|
-
const kind =
|
|
1033
|
+
const kind = chunk2JNB5A6Z_cjs.classifyError(error).code === "CONFLICT_VERSION" ? "conflict" : "failed";
|
|
1034
1034
|
setSectionError({ sectionId, kind });
|
|
1035
1035
|
} finally {
|
|
1036
1036
|
setSavingSectionId(void 0);
|
|
1037
1037
|
}
|
|
1038
1038
|
}
|
|
1039
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-agency-settings-screen", style:
|
|
1039
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-agency-settings-screen", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
1040
1040
|
title !== void 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-agency-settings-screen__heading", children: [
|
|
1041
1041
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-agency-settings-screen__eyebrow", children: t("chrome.agencySettingsScreen.eyebrow") }),
|
|
1042
1042
|
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "kf-agency-settings-screen__title", children: title }),
|
|
@@ -1153,7 +1153,7 @@ function summaryFor(t, selected, everyLabelKey, optionLabelKey) {
|
|
|
1153
1153
|
return selected.length === 0 ? t(everyLabelKey) : selected.map(optionLabelKey).join(", ");
|
|
1154
1154
|
}
|
|
1155
1155
|
function AutoAttachPanel({ template, saving, onSave }) {
|
|
1156
|
-
const { t } =
|
|
1156
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
1157
1157
|
const titleId = react.useId();
|
|
1158
1158
|
const [dialogOpen, setDialogOpen] = react.useState(false);
|
|
1159
1159
|
const [draft, setDraft] = react.useState(() => draftFromTemplate(template));
|
|
@@ -1389,9 +1389,9 @@ function TemplateEditorHeader({
|
|
|
1389
1389
|
onPublish,
|
|
1390
1390
|
style
|
|
1391
1391
|
}) {
|
|
1392
|
-
const { t } =
|
|
1392
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
1393
1393
|
const statusLabelKey5 = template.status === "PUBLISHED" ? "chrome.checklistTemplateEditor.status.published" : "chrome.checklistTemplateEditor.status.draft";
|
|
1394
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor__header", style:
|
|
1394
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor__header", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
1395
1395
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor__header-identity", children: [
|
|
1396
1396
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor__header-top", children: [
|
|
1397
1397
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1460,7 +1460,7 @@ function TemplateItemEditDialog({
|
|
|
1460
1460
|
onRemove,
|
|
1461
1461
|
onClose
|
|
1462
1462
|
}) {
|
|
1463
|
-
const { t } =
|
|
1463
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
1464
1464
|
const titleId = react.useId();
|
|
1465
1465
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1466
1466
|
SheetDialog,
|
|
@@ -1610,7 +1610,7 @@ function TemplateItemRow({
|
|
|
1610
1610
|
onReorder,
|
|
1611
1611
|
style
|
|
1612
1612
|
}) {
|
|
1613
|
-
const { t } =
|
|
1613
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
1614
1614
|
const dayOffset = item.dayOffset.trim().length > 0 ? Number.parseInt(item.dayOffset, 10) : null;
|
|
1615
1615
|
const dayLabel = dayOffset === null ? "\u2014" : dayOffset > 0 ? `D+${dayOffset}` : `D${dayOffset}`;
|
|
1616
1616
|
return (
|
|
@@ -1638,7 +1638,7 @@ function TemplateItemRow({
|
|
|
1638
1638
|
onReorder(draggedDraftId, item.draftId);
|
|
1639
1639
|
}
|
|
1640
1640
|
},
|
|
1641
|
-
style:
|
|
1641
|
+
style: chunk4TTDAOOG_cjs.tokenStyle(style),
|
|
1642
1642
|
children: [
|
|
1643
1643
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-checklist-template-editor__item-drag", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(DragHandleIcon, {}) }),
|
|
1644
1644
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-checklist-template-editor__item-index", children: String(index + 1).padStart(2, "0") }),
|
|
@@ -1710,8 +1710,8 @@ function ChecklistTemplateEditor({
|
|
|
1710
1710
|
components,
|
|
1711
1711
|
style
|
|
1712
1712
|
}) {
|
|
1713
|
-
const { t } =
|
|
1714
|
-
const { templates, loaded, lastFetchFailed, refresh, patchTemplate, publishTemplate } =
|
|
1713
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
1714
|
+
const { templates, loaded, lastFetchFailed, refresh, patchTemplate, publishTemplate } = chunkKY752BBA_cjs.useAgencyChecklistTemplates();
|
|
1715
1715
|
const template = templates.find((candidate) => candidate.id === templateId);
|
|
1716
1716
|
const [title, setTitle] = react.useState("");
|
|
1717
1717
|
const [items, setItems] = react.useState([]);
|
|
@@ -1828,7 +1828,7 @@ function ChecklistTemplateEditor({
|
|
|
1828
1828
|
}
|
|
1829
1829
|
};
|
|
1830
1830
|
if (lastFetchFailed && !loaded) {
|
|
1831
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-checklist-template-editor", "data-framed": "true", style:
|
|
1831
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-checklist-template-editor", "data-framed": "true", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor__status-block", role: "alert", children: [
|
|
1832
1832
|
/* @__PURE__ */ jsxRuntime.jsx(WarningIcon2, { className: "kf-checklist-template-editor__status-icon kf-checklist-template-editor__status-icon--danger" }),
|
|
1833
1833
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-checklist-template-editor__status-title", children: t("chrome.checklistTemplateEditor.errorTitle") }),
|
|
1834
1834
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1843,20 +1843,20 @@ function ChecklistTemplateEditor({
|
|
|
1843
1843
|
] }) });
|
|
1844
1844
|
}
|
|
1845
1845
|
if (!loaded) {
|
|
1846
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-checklist-template-editor", "data-framed": "true", style:
|
|
1846
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-checklist-template-editor", "data-framed": "true", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor__skeleton", "aria-hidden": "true", children: [
|
|
1847
1847
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-checklist-template-editor__skeleton-block" }),
|
|
1848
1848
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-checklist-template-editor__skeleton-block" }),
|
|
1849
1849
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-checklist-template-editor__skeleton-block" })
|
|
1850
1850
|
] }) });
|
|
1851
1851
|
}
|
|
1852
1852
|
if (template === void 0) {
|
|
1853
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-checklist-template-editor", "data-framed": "true", style:
|
|
1853
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-checklist-template-editor", "data-framed": "true", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor__status-block", children: [
|
|
1854
1854
|
/* @__PURE__ */ jsxRuntime.jsx(EmptyStateIcon2, { className: "kf-checklist-template-editor__status-icon" }),
|
|
1855
1855
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-checklist-template-editor__status-title", children: t("chrome.checklistTemplateEditor.notFoundTitle") })
|
|
1856
1856
|
] }) });
|
|
1857
1857
|
}
|
|
1858
1858
|
const editingItem = items.find((item) => item.draftId === editingDraftId);
|
|
1859
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor", style:
|
|
1859
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-editor", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
1860
1860
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1861
1861
|
TemplateEditorHeader2,
|
|
1862
1862
|
{
|
|
@@ -1959,7 +1959,7 @@ var AUDIENCE_HINT_KEY = {
|
|
|
1959
1959
|
EXTERNAL: "chrome.checklistTemplateLibrary.audience.externalHint"
|
|
1960
1960
|
};
|
|
1961
1961
|
function CreateTemplateSheet({ onSubmit, onClose }) {
|
|
1962
|
-
const { t } =
|
|
1962
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
1963
1963
|
const titleId = react.useId();
|
|
1964
1964
|
const [locale, setLocale] = react.useState("en");
|
|
1965
1965
|
const [title, setTitle] = react.useState("");
|
|
@@ -2076,7 +2076,7 @@ function DeleteTemplateConfirmSheet({
|
|
|
2076
2076
|
onConfirm,
|
|
2077
2077
|
onClose
|
|
2078
2078
|
}) {
|
|
2079
|
-
const { t } =
|
|
2079
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
2080
2080
|
const titleId = react.useId();
|
|
2081
2081
|
if (template === void 0) {
|
|
2082
2082
|
return null;
|
|
@@ -2195,7 +2195,7 @@ function TemplateRow({
|
|
|
2195
2195
|
onDelete,
|
|
2196
2196
|
style
|
|
2197
2197
|
}) {
|
|
2198
|
-
const { t } =
|
|
2198
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
2199
2199
|
const statusLabelKey5 = template.status === "PUBLISHED" ? "chrome.checklistTemplateLibrary.status.published" : "chrome.checklistTemplateLibrary.status.draft";
|
|
2200
2200
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2201
2201
|
"tr",
|
|
@@ -2204,7 +2204,7 @@ function TemplateRow({
|
|
|
2204
2204
|
className: "kf-checklist-template-library__table-row",
|
|
2205
2205
|
"data-selectable": onSelect !== void 0 ? "true" : void 0,
|
|
2206
2206
|
"data-selected": selected === true ? "true" : void 0,
|
|
2207
|
-
style:
|
|
2207
|
+
style: chunk4TTDAOOG_cjs.tokenStyle(style),
|
|
2208
2208
|
children: [
|
|
2209
2209
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2210
2210
|
"td",
|
|
@@ -2294,7 +2294,7 @@ function TemplateLibrarySkeleton() {
|
|
|
2294
2294
|
] }, rowIndex)) }) }) });
|
|
2295
2295
|
}
|
|
2296
2296
|
function CardHeading({ count }) {
|
|
2297
|
-
const { t } =
|
|
2297
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
2298
2298
|
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-checklist-template-library__card-title", children: t(
|
|
2299
2299
|
count === 1 ? "chrome.checklistTemplateLibrary.countLabelOne" : "chrome.checklistTemplateLibrary.countLabel"
|
|
2300
2300
|
).replace("{count}", String(count)) });
|
|
@@ -2310,8 +2310,8 @@ function ChecklistTemplateLibrary({
|
|
|
2310
2310
|
components,
|
|
2311
2311
|
style
|
|
2312
2312
|
}) {
|
|
2313
|
-
const { t } =
|
|
2314
|
-
const { templates, loaded, lastFetchFailed, refresh, createTemplate, removeTemplate } =
|
|
2313
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
2314
|
+
const { templates, loaded, lastFetchFailed, refresh, createTemplate, removeTemplate } = chunkKY752BBA_cjs.useAgencyChecklistTemplates();
|
|
2315
2315
|
const isControlled = controlledCreating !== void 0 && onCreatingChange !== void 0;
|
|
2316
2316
|
const [internalCreating, setInternalCreating] = react.useState(false);
|
|
2317
2317
|
const creating = isControlled ? controlledCreating : internalCreating;
|
|
@@ -2347,7 +2347,7 @@ function ChecklistTemplateLibrary({
|
|
|
2347
2347
|
]
|
|
2348
2348
|
}
|
|
2349
2349
|
);
|
|
2350
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-library", style:
|
|
2350
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-library", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
2351
2351
|
title !== void 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-library__heading", children: [
|
|
2352
2352
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-checklist-template-library__heading-copy", children: [
|
|
2353
2353
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-checklist-template-library__title", children: title }),
|
|
@@ -2642,8 +2642,8 @@ function BuilderHeader({
|
|
|
2642
2642
|
pending,
|
|
2643
2643
|
style
|
|
2644
2644
|
}) {
|
|
2645
|
-
const { t } =
|
|
2646
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-form-builder__header", style:
|
|
2645
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
2646
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-form-builder__header", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
2647
2647
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-form-builder__header-identity", children: [
|
|
2648
2648
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-form-builder__header-top", children: [
|
|
2649
2649
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2839,7 +2839,7 @@ var fallback = {
|
|
|
2839
2839
|
preview: ({ field }) => /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-form-builder__preview-unsupported", children: field.label }),
|
|
2840
2840
|
configFields: NoConfigFields
|
|
2841
2841
|
};
|
|
2842
|
-
var fieldRegistry =
|
|
2842
|
+
var fieldRegistry = chunk4TTDAOOG_cjs.createRegistry({ fallback });
|
|
2843
2843
|
fieldRegistry.register("HEADING", {
|
|
2844
2844
|
preview: ({ field }) => /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-form-builder__preview-heading", children: field.label }),
|
|
2845
2845
|
configFields: NoConfigFields
|
|
@@ -3311,7 +3311,7 @@ fieldRegistry.register("ADDRESS", {
|
|
|
3311
3311
|
}
|
|
3312
3312
|
});
|
|
3313
3313
|
function FieldEditDialog(props) {
|
|
3314
|
-
const { t } =
|
|
3314
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
3315
3315
|
const titleId = react.useId();
|
|
3316
3316
|
const { bindings, saving, onClose } = props;
|
|
3317
3317
|
const isEdit = props.mode === "edit";
|
|
@@ -3548,7 +3548,7 @@ function FieldEditDialog(props) {
|
|
|
3548
3548
|
);
|
|
3549
3549
|
}
|
|
3550
3550
|
function LivePreviewPane({ title, sections, fields }) {
|
|
3551
|
-
const { t } =
|
|
3551
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
3552
3552
|
const [frame, setFrame] = react.useState("desktop");
|
|
3553
3553
|
const [answers, setAnswers] = react.useState({});
|
|
3554
3554
|
function setAnswer(fieldId, value) {
|
|
@@ -3637,7 +3637,7 @@ function FieldRow({
|
|
|
3637
3637
|
onDragEnd,
|
|
3638
3638
|
style
|
|
3639
3639
|
}) {
|
|
3640
|
-
const { t } =
|
|
3640
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
3641
3641
|
const hasHelp = field.helpText !== null && field.helpText.length > 0;
|
|
3642
3642
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3643
3643
|
"li",
|
|
@@ -3645,7 +3645,7 @@ function FieldRow({
|
|
|
3645
3645
|
className: "kf-form-builder__field-row",
|
|
3646
3646
|
"data-dragging": dragging ? "true" : void 0,
|
|
3647
3647
|
"data-drag-over": dragOver ? "true" : void 0,
|
|
3648
|
-
style:
|
|
3648
|
+
style: chunk4TTDAOOG_cjs.tokenStyle(style),
|
|
3649
3649
|
onDragOver: (event) => {
|
|
3650
3650
|
event.preventDefault();
|
|
3651
3651
|
onDragOverRow();
|
|
@@ -3707,7 +3707,7 @@ function SectionBlock({
|
|
|
3707
3707
|
onOpenField,
|
|
3708
3708
|
onReorderField
|
|
3709
3709
|
}) {
|
|
3710
|
-
const { t } =
|
|
3710
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
3711
3711
|
const [title, setTitle] = react.useState(section.title ?? "");
|
|
3712
3712
|
const [draggedFieldId, setDraggedFieldId] = react.useState(void 0);
|
|
3713
3713
|
const [dragOverFieldId, setDragOverFieldId] = react.useState(void 0);
|
|
@@ -3841,7 +3841,7 @@ function draftFromForm(form) {
|
|
|
3841
3841
|
};
|
|
3842
3842
|
}
|
|
3843
3843
|
function TargetingSummary({ form }) {
|
|
3844
|
-
const { t } =
|
|
3844
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
3845
3845
|
const anchorLabel = (anchor) => t(`chrome.formBuilder.summary.anchor.${anchor}`);
|
|
3846
3846
|
const eventTypes = form.appliesToEventTypes.length === 0 ? t("chrome.formBuilder.summary.everyEventType") : form.appliesToEventTypes.map((type) => t(`chrome.formBuilder.targeting.eventType.${type}`)).join(" \xB7 ");
|
|
3847
3847
|
const tripModes = form.appliesToTripModes.length === 0 ? t("chrome.formBuilder.summary.everyTripMode") : form.appliesToTripModes.map((mode) => t(`chrome.formBuilder.targeting.tripMode.${mode}`)).join(" \xB7 ");
|
|
@@ -3902,7 +3902,7 @@ function TargetingSummary({ form }) {
|
|
|
3902
3902
|
] }, cell.key)) });
|
|
3903
3903
|
}
|
|
3904
3904
|
function TargetingPanel({ form, saving, onSave }) {
|
|
3905
|
-
const { t } =
|
|
3905
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
3906
3906
|
const [editing, setEditing] = react.useState(false);
|
|
3907
3907
|
const [submitted, setSubmitted] = react.useState(false);
|
|
3908
3908
|
const [draft, setDraft] = react.useState(() => draftFromForm(form));
|
|
@@ -4198,7 +4198,7 @@ function buildReorderSections(sections, fieldsBySection) {
|
|
|
4198
4198
|
}));
|
|
4199
4199
|
}
|
|
4200
4200
|
function FormBuilder({ formId, onBack, components, style }) {
|
|
4201
|
-
const { t } =
|
|
4201
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
4202
4202
|
const {
|
|
4203
4203
|
getForm,
|
|
4204
4204
|
patchForm,
|
|
@@ -4216,7 +4216,7 @@ function FormBuilder({ formId, onBack, components, style }) {
|
|
|
4216
4216
|
deleteField,
|
|
4217
4217
|
reorderForm,
|
|
4218
4218
|
listBindings
|
|
4219
|
-
} =
|
|
4219
|
+
} = chunkKY752BBA_cjs.useAgencyForms();
|
|
4220
4220
|
const [form, setForm] = react.useState(void 0);
|
|
4221
4221
|
const [loadFailed, setLoadFailed] = react.useState(false);
|
|
4222
4222
|
const [bindings, setBindings] = react.useState([]);
|
|
@@ -4427,7 +4427,7 @@ function FormBuilder({ formId, onBack, components, style }) {
|
|
|
4427
4427
|
}
|
|
4428
4428
|
}
|
|
4429
4429
|
if (loadFailed && form === void 0) {
|
|
4430
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-form-builder", style:
|
|
4430
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-form-builder", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-form-builder__status-block", role: "alert", children: [
|
|
4431
4431
|
/* @__PURE__ */ jsxRuntime.jsx(WarningIcon4, { className: "kf-form-builder__status-icon kf-form-builder__status-icon--danger" }),
|
|
4432
4432
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-form-builder__status-title", children: t("chrome.formBuilder.errorTitle") }),
|
|
4433
4433
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4442,13 +4442,13 @@ function FormBuilder({ formId, onBack, components, style }) {
|
|
|
4442
4442
|
] }) });
|
|
4443
4443
|
}
|
|
4444
4444
|
if (form === void 0) {
|
|
4445
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-form-builder", style:
|
|
4445
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-form-builder", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-form-builder__skeleton", "aria-hidden": "true", children: [
|
|
4446
4446
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-form-builder__skeleton-block" }),
|
|
4447
4447
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-form-builder__skeleton-block" }),
|
|
4448
4448
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-form-builder__skeleton-block" })
|
|
4449
4449
|
] }) });
|
|
4450
4450
|
}
|
|
4451
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-form-builder", style:
|
|
4451
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-form-builder", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
4452
4452
|
onBack !== void 0 ? /* @__PURE__ */ jsxRuntime.jsxs("button", { type: "button", onClick: onBack, className: "kf-form-builder__back-link", children: [
|
|
4453
4453
|
/* @__PURE__ */ jsxRuntime.jsx(BackIcon, {}),
|
|
4454
4454
|
t("chrome.formBuilder.backToLibrary")
|
|
@@ -4602,7 +4602,7 @@ var AUDIENCE_LABEL_KEY2 = {
|
|
|
4602
4602
|
MANAGER: "chrome.formsLibrary.audience.manager"
|
|
4603
4603
|
};
|
|
4604
4604
|
function CreateFormSheet({ onSubmit, onClose }) {
|
|
4605
|
-
const { t } =
|
|
4605
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
4606
4606
|
const titleId = react.useId();
|
|
4607
4607
|
const [locale, setLocale] = react.useState("en");
|
|
4608
4608
|
const [title, setTitle] = react.useState("");
|
|
@@ -4630,7 +4630,7 @@ function CreateFormSheet({ onSubmit, onClose }) {
|
|
|
4630
4630
|
});
|
|
4631
4631
|
onClose();
|
|
4632
4632
|
} catch (error) {
|
|
4633
|
-
setErrorCode(
|
|
4633
|
+
setErrorCode(chunk2JNB5A6Z_cjs.classifyError(error).code ?? "unknown");
|
|
4634
4634
|
} finally {
|
|
4635
4635
|
setPending(false);
|
|
4636
4636
|
}
|
|
@@ -4818,7 +4818,7 @@ function formatDate2(iso) {
|
|
|
4818
4818
|
});
|
|
4819
4819
|
}
|
|
4820
4820
|
function FormRow({ form, selected, onSelect, style }) {
|
|
4821
|
-
const { t } =
|
|
4821
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
4822
4822
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4823
4823
|
"tr",
|
|
4824
4824
|
{
|
|
@@ -4826,7 +4826,7 @@ function FormRow({ form, selected, onSelect, style }) {
|
|
|
4826
4826
|
className: "kf-forms-library__table-row",
|
|
4827
4827
|
"data-selectable": onSelect !== void 0 ? "true" : void 0,
|
|
4828
4828
|
"data-selected": selected === true ? "true" : void 0,
|
|
4829
|
-
style:
|
|
4829
|
+
style: chunk4TTDAOOG_cjs.tokenStyle(style),
|
|
4830
4830
|
children: [
|
|
4831
4831
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4832
4832
|
"td",
|
|
@@ -4882,7 +4882,7 @@ function FormsLibrarySkeleton() {
|
|
|
4882
4882
|
] }, rowIndex)) }) }) });
|
|
4883
4883
|
}
|
|
4884
4884
|
function CardHeading2({ count }) {
|
|
4885
|
-
const { t } =
|
|
4885
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
4886
4886
|
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-forms-library__card-title", children: t(
|
|
4887
4887
|
count === 1 ? "chrome.formsLibrary.countLabelOne" : "chrome.formsLibrary.countLabel"
|
|
4888
4888
|
).replace("{count}", String(count)) });
|
|
@@ -4897,7 +4897,7 @@ function StatusFilterBar({
|
|
|
4897
4897
|
active,
|
|
4898
4898
|
onChange
|
|
4899
4899
|
}) {
|
|
4900
|
-
const { t } =
|
|
4900
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
4901
4901
|
return /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { className: "kf-forms-library__filter-bar", children: [
|
|
4902
4902
|
/* @__PURE__ */ jsxRuntime.jsx("legend", { className: "kf-visually-hidden", children: t("chrome.formsLibrary.filter.legend") }),
|
|
4903
4903
|
STATUS_FILTERS.map((filter) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4923,8 +4923,8 @@ function FormsLibrary({
|
|
|
4923
4923
|
components,
|
|
4924
4924
|
style
|
|
4925
4925
|
}) {
|
|
4926
|
-
const { t } =
|
|
4927
|
-
const { forms, loaded, lastFetchFailed, refresh, createForm } =
|
|
4926
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
4927
|
+
const { forms, loaded, lastFetchFailed, refresh, createForm } = chunkKY752BBA_cjs.useAgencyForms();
|
|
4928
4928
|
const isControlled = controlledCreating !== void 0 && onCreatingChange !== void 0;
|
|
4929
4929
|
const [internalCreating, setInternalCreating] = react.useState(false);
|
|
4930
4930
|
const creating = isControlled ? controlledCreating : internalCreating;
|
|
@@ -4935,7 +4935,7 @@ function FormsLibrary({
|
|
|
4935
4935
|
await createForm(input);
|
|
4936
4936
|
};
|
|
4937
4937
|
const visibleForms = statusFilter === "ALL" ? forms : forms.filter((form) => form.status === statusFilter);
|
|
4938
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-forms-library", style:
|
|
4938
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-forms-library", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
4939
4939
|
title !== void 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-forms-library__heading", children: [
|
|
4940
4940
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-forms-library__title", children: title }),
|
|
4941
4941
|
subtitle !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-forms-library__subtitle", children: subtitle }) : null
|
|
@@ -5011,9 +5011,9 @@ function FormsAuthoringFlow({ initialFormId, style }) {
|
|
|
5011
5011
|
setSelectedFormId(void 0);
|
|
5012
5012
|
}
|
|
5013
5013
|
if (selectedFormId === void 0) {
|
|
5014
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-forms-authoring-flow", style:
|
|
5014
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-forms-authoring-flow", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(FormsLibrary, { onSelectForm: handleSelect }) });
|
|
5015
5015
|
}
|
|
5016
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-forms-authoring-flow", style:
|
|
5016
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-forms-authoring-flow", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(FormBuilder, { formId: selectedFormId, onBack: handleBack }) });
|
|
5017
5017
|
}
|
|
5018
5018
|
function SearchIcon(props) {
|
|
5019
5019
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -5164,7 +5164,7 @@ function AdminAvatar({
|
|
|
5164
5164
|
className: "kf-admin-shared-patterns-avatar",
|
|
5165
5165
|
"data-size": size,
|
|
5166
5166
|
"aria-hidden": "true",
|
|
5167
|
-
style:
|
|
5167
|
+
style: chunk4TTDAOOG_cjs.tokenStyle(style, {
|
|
5168
5168
|
"--kf-admin-shared-patterns-avatar-computed-size": SIZE_VAR[size],
|
|
5169
5169
|
"--kf-admin-shared-patterns-avatar-computed-bg": `var(--kf-color-avatar-${step})`
|
|
5170
5170
|
}),
|
|
@@ -5184,7 +5184,7 @@ function ManagerResultRow({
|
|
|
5184
5184
|
onSelect,
|
|
5185
5185
|
style
|
|
5186
5186
|
}) {
|
|
5187
|
-
const { t } =
|
|
5187
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
5188
5188
|
const initials = initialsFromName(manager.fullName);
|
|
5189
5189
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5190
5190
|
"tr",
|
|
@@ -5192,7 +5192,7 @@ function ManagerResultRow({
|
|
|
5192
5192
|
role: "row",
|
|
5193
5193
|
className: "kf-manager-directory-flow__table-row",
|
|
5194
5194
|
"data-selectable": onSelect !== void 0 ? "true" : void 0,
|
|
5195
|
-
style:
|
|
5195
|
+
style: chunk4TTDAOOG_cjs.tokenStyle(style),
|
|
5196
5196
|
children: [
|
|
5197
5197
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5198
5198
|
"td",
|
|
@@ -5301,8 +5301,8 @@ function ManagerResultsListBody({
|
|
|
5301
5301
|
onCountChange,
|
|
5302
5302
|
onRetry
|
|
5303
5303
|
}) {
|
|
5304
|
-
const { t } =
|
|
5305
|
-
const directories =
|
|
5304
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
5305
|
+
const directories = chunkKY752BBA_cjs.useDirectories();
|
|
5306
5306
|
const [errorMessage, setErrorMessage] = react.useState(void 0);
|
|
5307
5307
|
const [hasSettled, setHasSettled] = react.useState(false);
|
|
5308
5308
|
const ManagerRow = ManagerResultRowComponent ?? ManagerResultRow;
|
|
@@ -5313,7 +5313,7 @@ function ManagerResultsListBody({
|
|
|
5313
5313
|
setErrorMessage(void 0);
|
|
5314
5314
|
return page;
|
|
5315
5315
|
} catch (error) {
|
|
5316
|
-
setErrorMessage(
|
|
5316
|
+
setErrorMessage(chunk2JNB5A6Z_cjs.classifyError(error).code ?? "unknown");
|
|
5317
5317
|
return { rows: [], nextCursor: void 0 };
|
|
5318
5318
|
} finally {
|
|
5319
5319
|
setHasSettled(true);
|
|
@@ -5321,7 +5321,7 @@ function ManagerResultsListBody({
|
|
|
5321
5321
|
},
|
|
5322
5322
|
[directories, filters]
|
|
5323
5323
|
);
|
|
5324
|
-
const { rows, hasNext, hasPrev, loadNext, loadPrev } =
|
|
5324
|
+
const { rows, hasNext, hasPrev, loadNext, loadPrev } = chunkKY752BBA_cjs.usePaginatedList(fetch);
|
|
5325
5325
|
const isLoading = !hasSettled;
|
|
5326
5326
|
const reportedCount = isLoading || errorMessage !== void 0 ? void 0 : rows.length;
|
|
5327
5327
|
react.useEffect(() => {
|
|
@@ -5418,7 +5418,7 @@ function ManagerSearchInput({
|
|
|
5418
5418
|
debounceMs,
|
|
5419
5419
|
onDebouncedChange
|
|
5420
5420
|
}) {
|
|
5421
|
-
const { t } =
|
|
5421
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
5422
5422
|
const [value, setValue] = react.useState("");
|
|
5423
5423
|
react.useEffect(() => {
|
|
5424
5424
|
const timer = setTimeout(() => onDebouncedChange(value), debounceMs);
|
|
@@ -5457,12 +5457,12 @@ function ManagerDirectoryFlow({
|
|
|
5457
5457
|
components,
|
|
5458
5458
|
style
|
|
5459
5459
|
}) {
|
|
5460
|
-
const { t } =
|
|
5460
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
5461
5461
|
const [query, setQuery] = react.useState("");
|
|
5462
5462
|
const [count, setCount] = react.useState(void 0);
|
|
5463
5463
|
const trimmedQuery = query.trim();
|
|
5464
5464
|
const handleCountChange = react.useCallback((next) => setCount(next), []);
|
|
5465
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-directory-flow", style:
|
|
5465
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-directory-flow", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
5466
5466
|
title !== void 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-directory-flow__heading", children: [
|
|
5467
5467
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-manager-directory-flow__title", children: title }),
|
|
5468
5468
|
subtitle !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-directory-flow__subtitle", children: subtitle }) : null
|
|
@@ -5534,7 +5534,7 @@ function formatDate3(iso) {
|
|
|
5534
5534
|
return new Date(iso).toLocaleDateString("en-GB", { day: "2-digit", month: "short" });
|
|
5535
5535
|
}
|
|
5536
5536
|
function ManagerAssignmentsCard({ trips }) {
|
|
5537
|
-
const { t } =
|
|
5537
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
5538
5538
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-manager-profile-section__card", children: [
|
|
5539
5539
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-profile-section__card-head", children: [
|
|
5540
5540
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-manager-profile-section__card-title", children: t("chrome.managerProfileSection.trips.title") }),
|
|
@@ -5598,7 +5598,7 @@ function HeroProfileHeader({
|
|
|
5598
5598
|
glowTone,
|
|
5599
5599
|
style
|
|
5600
5600
|
}) {
|
|
5601
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-shared-patterns-hero", "data-glow": glowTone, style:
|
|
5601
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-shared-patterns-hero", "data-glow": glowTone, style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
5602
5602
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-admin-shared-patterns-hero-glow", "aria-hidden": "true" }),
|
|
5603
5603
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-shared-patterns-hero-row", children: [
|
|
5604
5604
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-admin-shared-patterns-hero-avatar", "aria-hidden": "true", children: avatarInitials }),
|
|
@@ -5631,7 +5631,7 @@ function initialsFromName2(name) {
|
|
|
5631
5631
|
return `${first}${last}`.toUpperCase();
|
|
5632
5632
|
}
|
|
5633
5633
|
function ManagerProfileHero({ profile, onBack }) {
|
|
5634
|
-
const { t } =
|
|
5634
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
5635
5635
|
const initials = initialsFromName2(profile.fullName);
|
|
5636
5636
|
const stats = [
|
|
5637
5637
|
{ key: "trips", label: t("chrome.managerProfileSection.hero.trips"), value: profile.tripCount },
|
|
@@ -5690,12 +5690,12 @@ function ManagerProfileSection({
|
|
|
5690
5690
|
components,
|
|
5691
5691
|
style
|
|
5692
5692
|
}) {
|
|
5693
|
-
const { t } =
|
|
5694
|
-
const { read, readFailed, refresh } =
|
|
5693
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
5694
|
+
const { read, readFailed, refresh } = chunkKY752BBA_cjs.useAgencyManagerProfile(managerRef);
|
|
5695
5695
|
const Hero = components?.Hero ?? ManagerProfileHero;
|
|
5696
5696
|
const AssignmentsCard = components?.AssignmentsCard ?? ManagerAssignmentsCard;
|
|
5697
5697
|
if (readFailed) {
|
|
5698
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-profile-section", style:
|
|
5698
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-profile-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-profile-section__status-block", role: "alert", children: [
|
|
5699
5699
|
/* @__PURE__ */ jsxRuntime.jsx(WarningIcon7, { className: "kf-manager-profile-section__status-icon kf-manager-profile-section__status-icon--danger" }),
|
|
5700
5700
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-profile-section__status-title", children: t("chrome.managerProfileSection.errorTitle") }),
|
|
5701
5701
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-manager-profile-section__status-body", children: t("chrome.managerProfileSection.errorBody") }),
|
|
@@ -5711,9 +5711,9 @@ function ManagerProfileSection({
|
|
|
5711
5711
|
] }) });
|
|
5712
5712
|
}
|
|
5713
5713
|
if (read === void 0) {
|
|
5714
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-profile-section", style:
|
|
5714
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-manager-profile-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(ManagerProfileSkeleton, {}) });
|
|
5715
5715
|
}
|
|
5716
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-profile-section", style:
|
|
5716
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-manager-profile-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
5717
5717
|
/* @__PURE__ */ jsxRuntime.jsx(Hero, { profile: read, onBack }),
|
|
5718
5718
|
/* @__PURE__ */ jsxRuntime.jsx(AssignmentsCard, { trips: read.trips })
|
|
5719
5719
|
] });
|
|
@@ -5740,7 +5740,7 @@ function TemplateAuthoringFlow({
|
|
|
5740
5740
|
initialTemplateId,
|
|
5741
5741
|
style
|
|
5742
5742
|
}) {
|
|
5743
|
-
const { t } =
|
|
5743
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
5744
5744
|
const [selectedTemplateId, setSelectedTemplateId] = react.useState(
|
|
5745
5745
|
initialTemplateId
|
|
5746
5746
|
);
|
|
@@ -5751,9 +5751,9 @@ function TemplateAuthoringFlow({
|
|
|
5751
5751
|
setSelectedTemplateId(void 0);
|
|
5752
5752
|
}
|
|
5753
5753
|
if (selectedTemplateId === void 0) {
|
|
5754
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-template-authoring-flow", style:
|
|
5754
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-template-authoring-flow", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(ChecklistTemplateLibrary, { onSelectTemplate: handleSelect }) });
|
|
5755
5755
|
}
|
|
5756
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-template-authoring-flow", style:
|
|
5756
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-template-authoring-flow", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
5757
5757
|
/* @__PURE__ */ jsxRuntime.jsxs("button", { type: "button", onClick: handleBack, className: "kf-template-authoring-flow__back-link", children: [
|
|
5758
5758
|
/* @__PURE__ */ jsxRuntime.jsx(BackIcon3, {}),
|
|
5759
5759
|
t("chrome.templateAuthoringFlow.backToLibrary")
|
|
@@ -5762,8 +5762,8 @@ function TemplateAuthoringFlow({
|
|
|
5762
5762
|
] });
|
|
5763
5763
|
}
|
|
5764
5764
|
function AddTravellerModal({ onClose, onCreated }) {
|
|
5765
|
-
const { t } =
|
|
5766
|
-
const directories =
|
|
5765
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
5766
|
+
const directories = chunkKY752BBA_cjs.useDirectories();
|
|
5767
5767
|
const titleId = react.useId();
|
|
5768
5768
|
const [fullName, setFullName] = react.useState("");
|
|
5769
5769
|
const [phone, setPhone] = react.useState("");
|
|
@@ -5787,7 +5787,7 @@ function AddTravellerModal({ onClose, onCreated }) {
|
|
|
5787
5787
|
});
|
|
5788
5788
|
onCreated(created);
|
|
5789
5789
|
} catch (error) {
|
|
5790
|
-
setErrorMessage(
|
|
5790
|
+
setErrorMessage(chunk2JNB5A6Z_cjs.classifyError(error).code ?? "unknown");
|
|
5791
5791
|
} finally {
|
|
5792
5792
|
setIsSubmitting(false);
|
|
5793
5793
|
}
|
|
@@ -6001,7 +6001,7 @@ function TravellerResultRow({
|
|
|
6001
6001
|
onSelect,
|
|
6002
6002
|
style
|
|
6003
6003
|
}) {
|
|
6004
|
-
const { t } =
|
|
6004
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
6005
6005
|
const initials = initialsFromName3(traveller.fullName);
|
|
6006
6006
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6007
6007
|
"tr",
|
|
@@ -6009,7 +6009,7 @@ function TravellerResultRow({
|
|
|
6009
6009
|
role: "row",
|
|
6010
6010
|
className: "kf-traveller-directory__table-row",
|
|
6011
6011
|
"data-selectable": onSelect !== void 0 ? "true" : void 0,
|
|
6012
|
-
style:
|
|
6012
|
+
style: chunk4TTDAOOG_cjs.tokenStyle(style),
|
|
6013
6013
|
children: [
|
|
6014
6014
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6015
6015
|
"td",
|
|
@@ -6137,8 +6137,8 @@ function TravellerResultsListBody({
|
|
|
6137
6137
|
onCountChange,
|
|
6138
6138
|
onRetry
|
|
6139
6139
|
}) {
|
|
6140
|
-
const { t } =
|
|
6141
|
-
const directories =
|
|
6140
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
6141
|
+
const directories = chunkKY752BBA_cjs.useDirectories();
|
|
6142
6142
|
const [errorMessage, setErrorMessage] = react.useState(void 0);
|
|
6143
6143
|
const [hasSettled, setHasSettled] = react.useState(false);
|
|
6144
6144
|
const fetch = react.useCallback(
|
|
@@ -6149,7 +6149,7 @@ function TravellerResultsListBody({
|
|
|
6149
6149
|
setErrorMessage(void 0);
|
|
6150
6150
|
return page;
|
|
6151
6151
|
} catch (error) {
|
|
6152
|
-
setErrorMessage(
|
|
6152
|
+
setErrorMessage(chunk2JNB5A6Z_cjs.classifyError(error).code ?? "unknown");
|
|
6153
6153
|
return { rows: [], nextCursor: void 0 };
|
|
6154
6154
|
} finally {
|
|
6155
6155
|
setHasSettled(true);
|
|
@@ -6157,7 +6157,7 @@ function TravellerResultsListBody({
|
|
|
6157
6157
|
},
|
|
6158
6158
|
[directories, query]
|
|
6159
6159
|
);
|
|
6160
|
-
const { rows, hasNext, hasPrev, loadNext, loadPrev } =
|
|
6160
|
+
const { rows, hasNext, hasPrev, loadNext, loadPrev } = chunkKY752BBA_cjs.usePaginatedList(fetch);
|
|
6161
6161
|
const isLoading = !hasSettled;
|
|
6162
6162
|
const reportedCount = isLoading || errorMessage !== void 0 ? void 0 : rows.length;
|
|
6163
6163
|
react.useEffect(() => {
|
|
@@ -6252,7 +6252,7 @@ function TravellerSearchInput({
|
|
|
6252
6252
|
debounceMs,
|
|
6253
6253
|
onDebouncedChange
|
|
6254
6254
|
}) {
|
|
6255
|
-
const { t } =
|
|
6255
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
6256
6256
|
const [value, setValue] = react.useState("");
|
|
6257
6257
|
react.useEffect(() => {
|
|
6258
6258
|
const timer = setTimeout(() => onDebouncedChange(value), debounceMs);
|
|
@@ -6292,13 +6292,13 @@ function TravellerSearchBox({
|
|
|
6292
6292
|
trailingAction,
|
|
6293
6293
|
style
|
|
6294
6294
|
}) {
|
|
6295
|
-
const { t } =
|
|
6295
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
6296
6296
|
const [query, setQuery] = react.useState("");
|
|
6297
6297
|
const [count, setCount] = react.useState(void 0);
|
|
6298
6298
|
const trimmed = query.trim();
|
|
6299
6299
|
const handleCountChange = react.useCallback((next) => setCount(next), []);
|
|
6300
6300
|
const isBelowFloor = minQueryLength > 0 && trimmed.length < minQueryLength;
|
|
6301
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-directory__search-box", style:
|
|
6301
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-directory__search-box", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
6302
6302
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-directory__search-box-input-row", children: [
|
|
6303
6303
|
/* @__PURE__ */ jsxRuntime.jsx(TravellerSearchInput, { debounceMs, onDebouncedChange: setQuery }),
|
|
6304
6304
|
count !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-traveller-directory__count", children: t(
|
|
@@ -6330,7 +6330,7 @@ function TravellerDirectoryFlow({
|
|
|
6330
6330
|
components,
|
|
6331
6331
|
style
|
|
6332
6332
|
}) {
|
|
6333
|
-
const { t } =
|
|
6333
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
6334
6334
|
const [uncontrolledOpen, setUncontrolledOpen] = react.useState(false);
|
|
6335
6335
|
const isControlled = adding !== void 0 && onAddingChange !== void 0;
|
|
6336
6336
|
const isAddModalOpen = isControlled ? adding : uncontrolledOpen;
|
|
@@ -6353,7 +6353,7 @@ function TravellerDirectoryFlow({
|
|
|
6353
6353
|
);
|
|
6354
6354
|
const SearchBox = components?.TravellerSearchBox ?? TravellerSearchBox;
|
|
6355
6355
|
const AddModal = components?.AddTravellerModal ?? AddTravellerModal;
|
|
6356
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-directory-flow", style:
|
|
6356
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-directory-flow", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
6357
6357
|
title !== void 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-directory-flow__heading", children: [
|
|
6358
6358
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-traveller-directory-flow__title", children: title }),
|
|
6359
6359
|
subtitle !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-traveller-directory-flow__subtitle", children: subtitle }) : null
|
|
@@ -6379,7 +6379,7 @@ function TravellerDirectoryFlow({
|
|
|
6379
6379
|
] });
|
|
6380
6380
|
}
|
|
6381
6381
|
function useAgencyTravellerProfile(travellerRef) {
|
|
6382
|
-
const client =
|
|
6382
|
+
const client = chunk4TTDAOOG_cjs.useKaafilClient();
|
|
6383
6383
|
const [read, setRead] = react.useState(void 0);
|
|
6384
6384
|
const [readFailed, setReadFailed] = react.useState(false);
|
|
6385
6385
|
const refresh = react.useCallback(async () => {
|
|
@@ -6436,7 +6436,7 @@ function formatMinor(minor, currency) {
|
|
|
6436
6436
|
}).format(minor / 100);
|
|
6437
6437
|
}
|
|
6438
6438
|
function TravellerLifetimeCard({ lifetime }) {
|
|
6439
|
-
const { t } =
|
|
6439
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
6440
6440
|
if (lifetime.currency === null) {
|
|
6441
6441
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-traveller-profile-section__card", children: [
|
|
6442
6442
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-profile-section__card-head", children: [
|
|
@@ -6484,7 +6484,7 @@ function formatTimestamp(iso) {
|
|
|
6484
6484
|
});
|
|
6485
6485
|
}
|
|
6486
6486
|
function TravellerNotesList({ notes }) {
|
|
6487
|
-
const { t } =
|
|
6487
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
6488
6488
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-traveller-profile-section__card", children: [
|
|
6489
6489
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-profile-section__card-head", children: [
|
|
6490
6490
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-traveller-profile-section__card-title", children: t("chrome.travellerProfileSection.notes.title") }),
|
|
@@ -6530,7 +6530,7 @@ function formatDateOfBirth(iso) {
|
|
|
6530
6530
|
});
|
|
6531
6531
|
}
|
|
6532
6532
|
function TravellerPersonalCard({ profile }) {
|
|
6533
|
-
const { t } =
|
|
6533
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
6534
6534
|
const p = profile.profile;
|
|
6535
6535
|
const dob = formatDateOfBirth(p.dateOfBirth);
|
|
6536
6536
|
const email = p.email ?? profile.email;
|
|
@@ -6645,7 +6645,7 @@ function formatMinor2(minor, currency) {
|
|
|
6645
6645
|
}).format(minor / 100);
|
|
6646
6646
|
}
|
|
6647
6647
|
function TravellerProfileHero({ profile, onBack }) {
|
|
6648
|
-
const { t } =
|
|
6648
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
6649
6649
|
const initials = initialsFromName4(profile.fullName);
|
|
6650
6650
|
const { lifetime } = profile;
|
|
6651
6651
|
const stats = lifetime.currency !== null ? [
|
|
@@ -6736,7 +6736,7 @@ function formatMinor3(minor, currency) {
|
|
|
6736
6736
|
}).format(minor / 100);
|
|
6737
6737
|
}
|
|
6738
6738
|
function TravellerTripHistoryTable({ trips }) {
|
|
6739
|
-
const { t } =
|
|
6739
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
6740
6740
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-traveller-profile-section__card", children: [
|
|
6741
6741
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-profile-section__card-head", children: [
|
|
6742
6742
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-traveller-profile-section__card-title", children: t("chrome.travellerProfileSection.trips.title") }),
|
|
@@ -6787,7 +6787,7 @@ function TravellerProfileSection({
|
|
|
6787
6787
|
components,
|
|
6788
6788
|
style
|
|
6789
6789
|
}) {
|
|
6790
|
-
const { t } =
|
|
6790
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
6791
6791
|
const { read, readFailed, refresh } = useAgencyTravellerProfile(travellerRef);
|
|
6792
6792
|
const Hero = components?.Hero ?? TravellerProfileHero;
|
|
6793
6793
|
const PersonalCard = components?.PersonalCard ?? TravellerPersonalCard;
|
|
@@ -6795,7 +6795,7 @@ function TravellerProfileSection({
|
|
|
6795
6795
|
const TripHistoryTable = components?.TripHistoryTable ?? TravellerTripHistoryTable;
|
|
6796
6796
|
const NotesList = components?.NotesList ?? TravellerNotesList;
|
|
6797
6797
|
if (readFailed) {
|
|
6798
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-traveller-profile-section", style:
|
|
6798
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-traveller-profile-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-profile-section__status-block", role: "alert", children: [
|
|
6799
6799
|
/* @__PURE__ */ jsxRuntime.jsx(WarningIcon9, { className: "kf-traveller-profile-section__status-icon kf-traveller-profile-section__status-icon--danger" }),
|
|
6800
6800
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-traveller-profile-section__status-title", children: t("chrome.travellerProfileSection.errorTitle") }),
|
|
6801
6801
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-traveller-profile-section__status-body", children: t("chrome.travellerProfileSection.errorBody") }),
|
|
@@ -6811,9 +6811,9 @@ function TravellerProfileSection({
|
|
|
6811
6811
|
] }) });
|
|
6812
6812
|
}
|
|
6813
6813
|
if (read === void 0) {
|
|
6814
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-traveller-profile-section", style:
|
|
6814
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-traveller-profile-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(TravellerProfileSkeleton, {}) });
|
|
6815
6815
|
}
|
|
6816
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-profile-section", style:
|
|
6816
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-profile-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
6817
6817
|
/* @__PURE__ */ jsxRuntime.jsx(Hero, { profile: read, onBack }),
|
|
6818
6818
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-profile-section__body", children: [
|
|
6819
6819
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-traveller-profile-section__column", children: [
|
|
@@ -6905,7 +6905,7 @@ function ToggleSwitch({
|
|
|
6905
6905
|
disabled,
|
|
6906
6906
|
className: "kf-admin-shared-patterns-toggle-row",
|
|
6907
6907
|
onClick: () => onChange(!checked),
|
|
6908
|
-
style:
|
|
6908
|
+
style: chunk4TTDAOOG_cjs.tokenStyle(style),
|
|
6909
6909
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6910
6910
|
"span",
|
|
6911
6911
|
{
|
|
@@ -7343,7 +7343,7 @@ function TriggerDetailPanel({
|
|
|
7343
7343
|
style
|
|
7344
7344
|
}) {
|
|
7345
7345
|
const [dialogOpen, setDialogOpen] = react.useState(false);
|
|
7346
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trigger-template-editor__detail", style:
|
|
7346
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trigger-template-editor__detail", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
7347
7347
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trigger-template-editor__detail-head", children: [
|
|
7348
7348
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trigger-template-editor__detail-eyebrow", children: t("chrome.triggerTemplateEditor.selected") }),
|
|
7349
7349
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -7427,8 +7427,8 @@ function TriggerTemplateEditor({
|
|
|
7427
7427
|
onTriggerPatched,
|
|
7428
7428
|
style
|
|
7429
7429
|
}) {
|
|
7430
|
-
const { t } =
|
|
7431
|
-
const { triggers, loaded, lastFetchFailed, refresh, patchTrigger } =
|
|
7430
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
7431
|
+
const { triggers, loaded, lastFetchFailed, refresh, patchTrigger } = chunkKY752BBA_cjs.useAgencyJourneyTriggers();
|
|
7432
7432
|
const [savingId, setSavingId] = react.useState(void 0);
|
|
7433
7433
|
const [selectedId, setSelectedId] = react.useState(void 0);
|
|
7434
7434
|
const filtered = tripModeFilter === void 0 ? triggers : triggers.filter((trigger) => trigger.tripMode === tripModeFilter);
|
|
@@ -7463,7 +7463,7 @@ function TriggerTemplateEditor({
|
|
|
7463
7463
|
setSavingId(void 0);
|
|
7464
7464
|
}
|
|
7465
7465
|
}
|
|
7466
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trigger-template-editor", style:
|
|
7466
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trigger-template-editor", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
7467
7467
|
title !== void 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trigger-template-editor__heading", children: [
|
|
7468
7468
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-trigger-template-editor__title", children: title }),
|
|
7469
7469
|
subtitle !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trigger-template-editor__subtitle", children: subtitle }) : null
|
|
@@ -7611,14 +7611,14 @@ function BookingsSkeleton() {
|
|
|
7611
7611
|
] }, id)) });
|
|
7612
7612
|
}
|
|
7613
7613
|
function BookingsEmpty() {
|
|
7614
|
-
const { t } =
|
|
7614
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
7615
7615
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-bookings-section__state", children: [
|
|
7616
7616
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-bookings-section__state-title", children: t("chrome.tripBookings.emptyTitle") }),
|
|
7617
7617
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-bookings-section__state-body", children: t("chrome.tripBookings.emptyBody") })
|
|
7618
7618
|
] });
|
|
7619
7619
|
}
|
|
7620
7620
|
function BookingsFailed({ onRetry }) {
|
|
7621
|
-
const { t } =
|
|
7621
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
7622
7622
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-bookings-section__state", role: "alert", children: [
|
|
7623
7623
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-bookings-section__state-title", children: t("chrome.tripBookings.failedTitle") }),
|
|
7624
7624
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-bookings-section__state-body", children: t("chrome.tripBookings.failedBody") }),
|
|
@@ -7626,7 +7626,7 @@ function BookingsFailed({ onRetry }) {
|
|
|
7626
7626
|
] });
|
|
7627
7627
|
}
|
|
7628
7628
|
function BookingsDark({ reason }) {
|
|
7629
|
-
const { t } =
|
|
7629
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
7630
7630
|
if (reason === "mode") return null;
|
|
7631
7631
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-bookings-section__state", "data-dark": reason, children: [
|
|
7632
7632
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-bookings-section__state-title", children: t(
|
|
@@ -7667,7 +7667,7 @@ function voucherCount(row) {
|
|
|
7667
7667
|
}
|
|
7668
7668
|
var DAY = { day: "numeric", month: "short", year: "numeric" };
|
|
7669
7669
|
function TripBookingsSection(props) {
|
|
7670
|
-
const session =
|
|
7670
|
+
const session = chunk4TTDAOOG_cjs.useSession();
|
|
7671
7671
|
if (session.status !== "authenticated") {
|
|
7672
7672
|
return null;
|
|
7673
7673
|
}
|
|
@@ -7678,8 +7678,8 @@ function ReadyTripBookingsSection({
|
|
|
7678
7678
|
onOpenDocuments,
|
|
7679
7679
|
style
|
|
7680
7680
|
}) {
|
|
7681
|
-
const { t } =
|
|
7682
|
-
const bookings =
|
|
7681
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
7682
|
+
const bookings = chunkKY752BBA_cjs.useBookings(tripRef);
|
|
7683
7683
|
const ready = bookings.status === "ready" ? bookings : null;
|
|
7684
7684
|
const groups = react.useMemo(
|
|
7685
7685
|
() => ready === null ? [] : groupByKind(liveBookings(ready.bookings)),
|
|
@@ -7689,7 +7689,7 @@ function ReadyTripBookingsSection({
|
|
|
7689
7689
|
const unreadable = ready !== null && ready.syncedAt === void 0;
|
|
7690
7690
|
const refreshLive = ready?.refreshLive;
|
|
7691
7691
|
if (bookings.status === "dark") return /* @__PURE__ */ jsxRuntime.jsx(BookingsDark, { reason: bookings.reason });
|
|
7692
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-bookings-section", style:
|
|
7692
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-bookings-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
7693
7693
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-bookings-section__head", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-bookings-section__head-text", children: [
|
|
7694
7694
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-trip-bookings-section__title", children: t("chrome.tripBookings.panelLabel") }),
|
|
7695
7695
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-bookings-section__subtitle", children: t("chrome.tripBookings.subtitle").replace("{count}", String(total)) })
|
|
@@ -7761,7 +7761,7 @@ function LockIcon2() {
|
|
|
7761
7761
|
);
|
|
7762
7762
|
}
|
|
7763
7763
|
function CloseoutLockNotice({ whatKey }) {
|
|
7764
|
-
const { t } =
|
|
7764
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
7765
7765
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-closeout-lock", role: "status", children: [
|
|
7766
7766
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-admin-closeout-lock__glyph", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(LockIcon2, {}) }),
|
|
7767
7767
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "kf-admin-closeout-lock__body", children: [
|
|
@@ -7865,7 +7865,7 @@ function ChecklistSkeleton() {
|
|
|
7865
7865
|
] }, column)) });
|
|
7866
7866
|
}
|
|
7867
7867
|
function ChecklistEmpty({ onPull }) {
|
|
7868
|
-
const { t } =
|
|
7868
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
7869
7869
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-checklist-section__state", children: [
|
|
7870
7870
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-checklist-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(ChecklistIcon, {}) }),
|
|
7871
7871
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-checklist-section__state-title", children: t("chrome.tripChecklist.emptyTitle") }),
|
|
@@ -7874,7 +7874,7 @@ function ChecklistEmpty({ onPull }) {
|
|
|
7874
7874
|
] });
|
|
7875
7875
|
}
|
|
7876
7876
|
function ChecklistFailed({ onRetry }) {
|
|
7877
|
-
const { t } =
|
|
7877
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
7878
7878
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-checklist-section__state", children: [
|
|
7879
7879
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-checklist-section__state-title", children: t("chrome.tripChecklist.failedTitle") }),
|
|
7880
7880
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-checklist-section__state-body", children: t("chrome.tripChecklist.failedBody") }),
|
|
@@ -7882,7 +7882,7 @@ function ChecklistFailed({ onRetry }) {
|
|
|
7882
7882
|
] });
|
|
7883
7883
|
}
|
|
7884
7884
|
function ChecklistDark({ reason }) {
|
|
7885
|
-
const { t } =
|
|
7885
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
7886
7886
|
if (reason === "mode") return null;
|
|
7887
7887
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-checklist-section__state", "data-dark": reason, children: [
|
|
7888
7888
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-checklist-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(LockIcon3, {}) }),
|
|
@@ -7982,7 +7982,7 @@ function ItemDialog({
|
|
|
7982
7982
|
onClose,
|
|
7983
7983
|
onSubmit
|
|
7984
7984
|
}) {
|
|
7985
|
-
const { t } =
|
|
7985
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
7986
7986
|
const titleId = react.useId();
|
|
7987
7987
|
const [values, setValues] = react.useState(initial);
|
|
7988
7988
|
const [sectionChoice, setSectionChoice] = react.useState(
|
|
@@ -8179,7 +8179,7 @@ function ChecklistItemRow({
|
|
|
8179
8179
|
onToggle,
|
|
8180
8180
|
onEdit
|
|
8181
8181
|
}) {
|
|
8182
|
-
const { t } =
|
|
8182
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
8183
8183
|
const complete = item.status === "COMPLETE";
|
|
8184
8184
|
const day = dayOffsetLabel(item.dayOffset);
|
|
8185
8185
|
const actorKey = actorLabelKey(item.performedByKind);
|
|
@@ -8231,7 +8231,7 @@ function SectionCard2({
|
|
|
8231
8231
|
onAddToSection,
|
|
8232
8232
|
ItemRow: ItemRow2 = ChecklistItemRow
|
|
8233
8233
|
}) {
|
|
8234
|
-
const { t } =
|
|
8234
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
8235
8235
|
const openMandatory = items.filter((one) => one.isMandatory && one.status === "OPEN").length;
|
|
8236
8236
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-checklist-section__section", children: [
|
|
8237
8237
|
/* @__PURE__ */ jsxRuntime.jsxs("header", { className: "kf-trip-checklist-section__section-head", children: [
|
|
@@ -8285,7 +8285,7 @@ function PhasePanel({
|
|
|
8285
8285
|
onAddToPhase,
|
|
8286
8286
|
ItemRow: ItemRow2
|
|
8287
8287
|
}) {
|
|
8288
|
-
const { t } =
|
|
8288
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
8289
8289
|
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: sections.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-checklist-section__phase-empty", children: [
|
|
8290
8290
|
/* @__PURE__ */ jsxRuntime.jsx("p", { children: t("chrome.tripChecklist.phaseEmpty") }),
|
|
8291
8291
|
readOnly ? null : /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -8321,7 +8321,7 @@ function PhaseSwitcher({
|
|
|
8321
8321
|
value,
|
|
8322
8322
|
onChange
|
|
8323
8323
|
}) {
|
|
8324
|
-
const { t } =
|
|
8324
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
8325
8325
|
return /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { className: "kf-trip-checklist-section__segment", children: [
|
|
8326
8326
|
/* @__PURE__ */ jsxRuntime.jsx("legend", { className: "kf-visually-hidden", children: t("chrome.tripChecklist.phaseLabel") }),
|
|
8327
8327
|
OPTIONS.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -8354,7 +8354,7 @@ function TemplatePickerDialog({
|
|
|
8354
8354
|
onClose,
|
|
8355
8355
|
onPull
|
|
8356
8356
|
}) {
|
|
8357
|
-
const { t } =
|
|
8357
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
8358
8358
|
const titleId = react.useId();
|
|
8359
8359
|
const [selectedId, setSelectedId] = react.useState(null);
|
|
8360
8360
|
const [mode, setMode] = react.useState("append");
|
|
@@ -8476,7 +8476,7 @@ function codeOf(error) {
|
|
|
8476
8476
|
return classification?.code ?? "unknown";
|
|
8477
8477
|
}
|
|
8478
8478
|
function TripChecklistSection(props) {
|
|
8479
|
-
const session =
|
|
8479
|
+
const session = chunk4TTDAOOG_cjs.useSession();
|
|
8480
8480
|
if (session.status !== "authenticated") {
|
|
8481
8481
|
return null;
|
|
8482
8482
|
}
|
|
@@ -8490,8 +8490,8 @@ function ReadyTripChecklistSection({
|
|
|
8490
8490
|
components,
|
|
8491
8491
|
style
|
|
8492
8492
|
}) {
|
|
8493
|
-
const { t } =
|
|
8494
|
-
const checklists =
|
|
8493
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
8494
|
+
const checklists = chunk2JNB5A6Z_cjs.useChecklists(tripRef);
|
|
8495
8495
|
const [overlay, setOverlay] = react.useState({ kind: "none" });
|
|
8496
8496
|
const [pending, setPending] = react.useState(false);
|
|
8497
8497
|
const [busyItemId, setBusyItemId] = react.useState(null);
|
|
@@ -8658,7 +8658,7 @@ function ReadyTripChecklistSection({
|
|
|
8658
8658
|
const inert = readOnly || locked;
|
|
8659
8659
|
const unreadable = aggregate?.lastFetchFailed === true && aggregate.loaded === false;
|
|
8660
8660
|
const percent = overallPercent(aggregate?.progress);
|
|
8661
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-checklist-section", style:
|
|
8661
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-checklist-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
8662
8662
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-checklist-section__head", children: [
|
|
8663
8663
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-checklist-section__head-text", children: [
|
|
8664
8664
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-trip-checklist-section__title", children: t("chrome.tripChecklist.panelLabel") }),
|
|
@@ -9047,7 +9047,7 @@ var STATUS_LABEL_KEY5 = {
|
|
|
9047
9047
|
CANCELLED: "chrome.tripDirectory.status.cancelled"
|
|
9048
9048
|
};
|
|
9049
9049
|
function TripRow({ trip, index, onOpen, style }) {
|
|
9050
|
-
const { t } =
|
|
9050
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
9051
9051
|
const derived = deriveTripRow(trip, index);
|
|
9052
9052
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9053
9053
|
"tr",
|
|
@@ -9055,7 +9055,7 @@ function TripRow({ trip, index, onOpen, style }) {
|
|
|
9055
9055
|
role: "row",
|
|
9056
9056
|
className: "kf-trip-directory-flow__row",
|
|
9057
9057
|
"data-dimming": derived.dimming === "none" ? void 0 : derived.dimming,
|
|
9058
|
-
style:
|
|
9058
|
+
style: chunk4TTDAOOG_cjs.tokenStyle(style),
|
|
9059
9059
|
children: [
|
|
9060
9060
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
9061
9061
|
"td",
|
|
@@ -9174,8 +9174,8 @@ function TripResultsListBody({
|
|
|
9174
9174
|
hasActiveFilter,
|
|
9175
9175
|
onRetry
|
|
9176
9176
|
}) {
|
|
9177
|
-
const { t } =
|
|
9178
|
-
const { makeTripsFetch } =
|
|
9177
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
9178
|
+
const { makeTripsFetch } = chunkKY752BBA_cjs.useAgencyTrips();
|
|
9179
9179
|
const [errorCode, setErrorCode] = react.useState(void 0);
|
|
9180
9180
|
const [hasSettled, setHasSettled] = react.useState(false);
|
|
9181
9181
|
const Row = TripRowComponent ?? TripRow;
|
|
@@ -9186,7 +9186,7 @@ function TripResultsListBody({
|
|
|
9186
9186
|
setErrorCode(void 0);
|
|
9187
9187
|
return page;
|
|
9188
9188
|
} catch (error) {
|
|
9189
|
-
setErrorCode(
|
|
9189
|
+
setErrorCode(chunk2JNB5A6Z_cjs.classifyError(error).code ?? "unknown");
|
|
9190
9190
|
return { rows: [], nextCursor: void 0 };
|
|
9191
9191
|
} finally {
|
|
9192
9192
|
setHasSettled(true);
|
|
@@ -9194,7 +9194,7 @@ function TripResultsListBody({
|
|
|
9194
9194
|
},
|
|
9195
9195
|
[makeTripsFetch, filters]
|
|
9196
9196
|
);
|
|
9197
|
-
const { rows, hasNext, hasPrev, loadNext, loadPrev } =
|
|
9197
|
+
const { rows, hasNext, hasPrev, loadNext, loadPrev } = chunkKY752BBA_cjs.usePaginatedList(fetch);
|
|
9198
9198
|
const isLoading = !hasSettled;
|
|
9199
9199
|
const reportedCount = isLoading || errorCode !== void 0 ? void 0 : rows.length;
|
|
9200
9200
|
react.useEffect(() => {
|
|
@@ -9296,7 +9296,7 @@ function TripSearchInput({
|
|
|
9296
9296
|
debounceMs,
|
|
9297
9297
|
onDebouncedChange
|
|
9298
9298
|
}) {
|
|
9299
|
-
const { t } =
|
|
9299
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
9300
9300
|
const [value, setValue] = react.useState("");
|
|
9301
9301
|
react.useEffect(() => {
|
|
9302
9302
|
const timer = setTimeout(() => onDebouncedChange(value.trim()), debounceMs);
|
|
@@ -9366,7 +9366,7 @@ function TripDirectoryFlow({
|
|
|
9366
9366
|
components,
|
|
9367
9367
|
style
|
|
9368
9368
|
}) {
|
|
9369
|
-
const { t } =
|
|
9369
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
9370
9370
|
const [eventType, setEventType] = react.useState(initialEventType ?? "TRIP");
|
|
9371
9371
|
const [segment, setSegment] = react.useState("all");
|
|
9372
9372
|
const [q, setQ] = react.useState("");
|
|
@@ -9386,7 +9386,7 @@ function TripDirectoryFlow({
|
|
|
9386
9386
|
);
|
|
9387
9387
|
const filterKey = react.useMemo(() => JSON.stringify(filters), [filters]);
|
|
9388
9388
|
const hasActiveFilter = segment !== "all" || q.length > 0 || status !== void 0;
|
|
9389
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-directory-flow", style:
|
|
9389
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-directory-flow", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
9390
9390
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-directory-flow__toolbar", children: [
|
|
9391
9391
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-directory-flow__toolbar-row", children: [
|
|
9392
9392
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -9646,8 +9646,13 @@ function KindIcon({
|
|
|
9646
9646
|
if (kind === "pdf") return /* @__PURE__ */ jsxRuntime.jsx(PdfFileIcon, {});
|
|
9647
9647
|
return /* @__PURE__ */ jsxRuntime.jsx(GenericFileIcon, {});
|
|
9648
9648
|
}
|
|
9649
|
-
function DocumentRow({
|
|
9650
|
-
|
|
9649
|
+
function DocumentRow({
|
|
9650
|
+
row,
|
|
9651
|
+
onOpen,
|
|
9652
|
+
onWithdraw,
|
|
9653
|
+
withdrawing = false
|
|
9654
|
+
}) {
|
|
9655
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
9651
9656
|
const { file, spend } = row;
|
|
9652
9657
|
const purged = file.status === "purged";
|
|
9653
9658
|
const retention = retentionStateOf(file);
|
|
@@ -9697,7 +9702,20 @@ function DocumentRow({ row, onOpen }) {
|
|
|
9697
9702
|
) }),
|
|
9698
9703
|
classKey === null ? null : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-documents-section__retention-class", children: t(classKey) })
|
|
9699
9704
|
] }),
|
|
9700
|
-
/* @__PURE__ */ jsxRuntime.
|
|
9705
|
+
/* @__PURE__ */ jsxRuntime.jsxs("td", { className: "kf-trip-documents-section__actions-cell", children: [
|
|
9706
|
+
isBrowsable(file.status) ? /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: "kf-trip-documents-section__link-button", onClick: onOpen, children: t("chrome.tripDocuments.open") }) : null,
|
|
9707
|
+
onWithdraw === void 0 ? null : /* @__PURE__ */ jsxRuntime.jsx(
|
|
9708
|
+
"button",
|
|
9709
|
+
{
|
|
9710
|
+
type: "button",
|
|
9711
|
+
className: "kf-trip-documents-section__link-button",
|
|
9712
|
+
"data-destructive": "true",
|
|
9713
|
+
onClick: onWithdraw,
|
|
9714
|
+
disabled: withdrawing,
|
|
9715
|
+
children: t(withdrawing ? "chrome.tripDocuments.withdrawing" : "chrome.tripDocuments.withdraw")
|
|
9716
|
+
}
|
|
9717
|
+
)
|
|
9718
|
+
] })
|
|
9701
9719
|
] });
|
|
9702
9720
|
}
|
|
9703
9721
|
var SKELETON_ROWS3 = ["s1", "s2", "s3", "s4"];
|
|
@@ -9708,7 +9726,7 @@ function DocumentsSkeleton() {
|
|
|
9708
9726
|
] }, id)) });
|
|
9709
9727
|
}
|
|
9710
9728
|
function DocumentsEmpty() {
|
|
9711
|
-
const { t } =
|
|
9729
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
9712
9730
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-documents-section__state", children: [
|
|
9713
9731
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-documents-section__state-mark", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(EmptyDocumentsIcon, {}) }),
|
|
9714
9732
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-documents-section__state-title", children: t("chrome.tripDocuments.emptyTitle") }),
|
|
@@ -9716,7 +9734,7 @@ function DocumentsEmpty() {
|
|
|
9716
9734
|
] });
|
|
9717
9735
|
}
|
|
9718
9736
|
function DocumentsFailed({ onRetry }) {
|
|
9719
|
-
const { t } =
|
|
9737
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
9720
9738
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-documents-section__state", role: "alert", children: [
|
|
9721
9739
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-documents-section__state-title", children: t("chrome.tripDocuments.failedTitle") }),
|
|
9722
9740
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-documents-section__state-body", children: t("chrome.tripDocuments.failedBody") }),
|
|
@@ -9724,7 +9742,7 @@ function DocumentsFailed({ onRetry }) {
|
|
|
9724
9742
|
] });
|
|
9725
9743
|
}
|
|
9726
9744
|
function DocumentsDark({ reason }) {
|
|
9727
|
-
const { t } =
|
|
9745
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
9728
9746
|
if (reason === "mode") return null;
|
|
9729
9747
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-documents-section__state", "data-dark": reason, children: [
|
|
9730
9748
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-documents-section__state-title", children: t(
|
|
@@ -9747,7 +9765,7 @@ function DocumentViewer({
|
|
|
9747
9765
|
failed,
|
|
9748
9766
|
onClose
|
|
9749
9767
|
}) {
|
|
9750
|
-
const { t } =
|
|
9768
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
9751
9769
|
const titleId = react.useId();
|
|
9752
9770
|
const { file } = row;
|
|
9753
9771
|
const classKey = retentionClassLabelKey(file.retentionClass);
|
|
@@ -9828,7 +9846,7 @@ function DocumentViewer({
|
|
|
9828
9846
|
);
|
|
9829
9847
|
}
|
|
9830
9848
|
function PurposeChips({ counts, value, onChange }) {
|
|
9831
|
-
const { t } =
|
|
9849
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
9832
9850
|
const options = [
|
|
9833
9851
|
{
|
|
9834
9852
|
key: "all",
|
|
@@ -9898,7 +9916,7 @@ function UploadDialog({
|
|
|
9898
9916
|
onClose,
|
|
9899
9917
|
onSubmit
|
|
9900
9918
|
}) {
|
|
9901
|
-
const { t } =
|
|
9919
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
9902
9920
|
const titleId = react.useId();
|
|
9903
9921
|
const nameId = react.useId();
|
|
9904
9922
|
const fileId = react.useId();
|
|
@@ -10059,20 +10077,68 @@ function UploadDialog({
|
|
|
10059
10077
|
}
|
|
10060
10078
|
);
|
|
10061
10079
|
}
|
|
10080
|
+
function WithdrawDialog({
|
|
10081
|
+
documentName,
|
|
10082
|
+
busy,
|
|
10083
|
+
failed,
|
|
10084
|
+
onClose,
|
|
10085
|
+
onConfirm
|
|
10086
|
+
}) {
|
|
10087
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
10088
|
+
const titleId = react.useId();
|
|
10089
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
10090
|
+
SheetDialog,
|
|
10091
|
+
{
|
|
10092
|
+
titleId,
|
|
10093
|
+
eyebrow: t("chrome.tripDocuments.withdraw"),
|
|
10094
|
+
title: t("chrome.tripDocuments.withdrawTitle"),
|
|
10095
|
+
onClose,
|
|
10096
|
+
closeLabel: t("chrome.tripDocuments.withdrawCancel"),
|
|
10097
|
+
footer: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
10098
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10099
|
+
"button",
|
|
10100
|
+
{
|
|
10101
|
+
type: "button",
|
|
10102
|
+
className: "kf-trip-documents-section__dialog-secondary",
|
|
10103
|
+
onClick: onClose,
|
|
10104
|
+
disabled: busy,
|
|
10105
|
+
children: t("chrome.tripDocuments.withdrawCancel")
|
|
10106
|
+
}
|
|
10107
|
+
),
|
|
10108
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10109
|
+
"button",
|
|
10110
|
+
{
|
|
10111
|
+
type: "button",
|
|
10112
|
+
className: "kf-trip-documents-section__dialog-primary",
|
|
10113
|
+
"data-destructive": "true",
|
|
10114
|
+
onClick: onConfirm,
|
|
10115
|
+
disabled: busy,
|
|
10116
|
+
children: t(busy ? "chrome.tripDocuments.withdrawing" : "chrome.tripDocuments.withdrawConfirm")
|
|
10117
|
+
}
|
|
10118
|
+
)
|
|
10119
|
+
] }),
|
|
10120
|
+
children: [
|
|
10121
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-documents-section__withdraw-name", children: documentName }),
|
|
10122
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-documents-section__withdraw-body", children: t("chrome.tripDocuments.withdrawBody") }),
|
|
10123
|
+
failed ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-documents-section__error", role: "alert", children: t("chrome.tripDocuments.withdrawFailed") }) : null
|
|
10124
|
+
]
|
|
10125
|
+
}
|
|
10126
|
+
);
|
|
10127
|
+
}
|
|
10062
10128
|
function TripDocumentsSection(props) {
|
|
10063
|
-
const session =
|
|
10129
|
+
const session = chunk4TTDAOOG_cjs.useSession();
|
|
10064
10130
|
if (session.status !== "authenticated") {
|
|
10065
10131
|
return null;
|
|
10066
10132
|
}
|
|
10067
10133
|
return /* @__PURE__ */ jsxRuntime.jsx(ReadyTripDocumentsSection, { ...props });
|
|
10068
10134
|
}
|
|
10069
10135
|
function ReadyTripDocumentsSection({ tripRef, style }) {
|
|
10070
|
-
const { t } =
|
|
10071
|
-
const files =
|
|
10072
|
-
const expenses =
|
|
10073
|
-
const bookings =
|
|
10074
|
-
const { listTripManifest } =
|
|
10075
|
-
const { statuses, loaded: capabilityLoaded } =
|
|
10136
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
10137
|
+
const files = chunk2JNB5A6Z_cjs.useFiles({ tripRef });
|
|
10138
|
+
const expenses = chunk2JNB5A6Z_cjs.useExpenses(tripRef);
|
|
10139
|
+
const bookings = chunkKY752BBA_cjs.useBookings(tripRef);
|
|
10140
|
+
const { listTripManifest } = chunkKY752BBA_cjs.useDirectories();
|
|
10141
|
+
const { statuses, loaded: capabilityLoaded } = chunkKY752BBA_cjs.useCapabilityStatuses(tripRef);
|
|
10076
10142
|
const capability = statuses.get("files");
|
|
10077
10143
|
const [state, setState] = react.useState({ kind: "loading" });
|
|
10078
10144
|
const [purpose, setPurpose] = react.useState(null);
|
|
@@ -10082,9 +10148,13 @@ function ReadyTripDocumentsSection({ tripRef, style }) {
|
|
|
10082
10148
|
const [uploadErrorKey, setUploadErrorKey] = react.useState(void 0);
|
|
10083
10149
|
const [travellers, setTravellers] = react.useState([]);
|
|
10084
10150
|
const [view, setView] = react.useState(void 0);
|
|
10151
|
+
const [withdrawRow, setWithdrawRow] = react.useState(null);
|
|
10152
|
+
const [withdrawingId, setWithdrawingId] = react.useState(null);
|
|
10153
|
+
const [withdrawFailed, setWithdrawFailed] = react.useState(false);
|
|
10085
10154
|
const [viewFailed, setViewFailed] = react.useState(false);
|
|
10086
10155
|
const list = files.list;
|
|
10087
10156
|
const managerView = files.managerView;
|
|
10157
|
+
const removeFile = files.remove;
|
|
10088
10158
|
const load = react.useCallback(async () => {
|
|
10089
10159
|
setState({ kind: "loading" });
|
|
10090
10160
|
try {
|
|
@@ -10093,6 +10163,22 @@ function ReadyTripDocumentsSection({ tripRef, style }) {
|
|
|
10093
10163
|
setState({ kind: "failed" });
|
|
10094
10164
|
}
|
|
10095
10165
|
}, [list]);
|
|
10166
|
+
const confirmWithdraw = react.useCallback(async () => {
|
|
10167
|
+
if (withdrawRow === null) return;
|
|
10168
|
+
const { id, version } = withdrawRow.file;
|
|
10169
|
+
setWithdrawingId(id);
|
|
10170
|
+
setWithdrawFailed(false);
|
|
10171
|
+
try {
|
|
10172
|
+
await removeFile(id, version);
|
|
10173
|
+
setWithdrawRow(null);
|
|
10174
|
+
setOpen((current) => current?.file.id === id ? null : current);
|
|
10175
|
+
await load();
|
|
10176
|
+
} catch {
|
|
10177
|
+
setWithdrawFailed(true);
|
|
10178
|
+
} finally {
|
|
10179
|
+
setWithdrawingId(null);
|
|
10180
|
+
}
|
|
10181
|
+
}, [withdrawRow, removeFile, load]);
|
|
10096
10182
|
react.useEffect(() => {
|
|
10097
10183
|
let cancelled = false;
|
|
10098
10184
|
setState({ kind: "loading" });
|
|
@@ -10219,7 +10305,7 @@ function ReadyTripDocumentsSection({ tripRef, style }) {
|
|
|
10219
10305
|
if (capabilityLoaded && capability === "mode-dark") return /* @__PURE__ */ jsxRuntime.jsx(DocumentsDark, { reason: "mode" });
|
|
10220
10306
|
if (capabilityLoaded && capability === "flag-dark") return /* @__PURE__ */ jsxRuntime.jsx(DocumentsDark, { reason: "flag" });
|
|
10221
10307
|
if (capabilityLoaded && capability === "data-dark") return /* @__PURE__ */ jsxRuntime.jsx(DocumentsDark, { reason: "data" });
|
|
10222
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-documents-section", style:
|
|
10308
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-documents-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
10223
10309
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-documents-section__head", children: [
|
|
10224
10310
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-documents-section__head-text", children: [
|
|
10225
10311
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-trip-documents-section__title", children: t("chrome.tripDocuments.panelLabel") }),
|
|
@@ -10258,10 +10344,32 @@ function ReadyTripDocumentsSection({ tripRef, style }) {
|
|
|
10258
10344
|
/* @__PURE__ */ jsxRuntime.jsx("th", { scope: "col", children: t("chrome.tripDocuments.columnRetention") }),
|
|
10259
10345
|
/* @__PURE__ */ jsxRuntime.jsx("th", { scope: "col", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-visually-hidden", children: t("chrome.tripDocuments.columnActions") }) })
|
|
10260
10346
|
] }) }),
|
|
10261
|
-
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: shown.map((row) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
10347
|
+
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: shown.map((row) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
10348
|
+
DocumentRow,
|
|
10349
|
+
{
|
|
10350
|
+
row,
|
|
10351
|
+
onOpen: () => setOpen(row),
|
|
10352
|
+
onWithdraw: row.file.purpose === "trip_document" && row.file.status !== "purged" ? () => {
|
|
10353
|
+
setWithdrawFailed(false);
|
|
10354
|
+
setWithdrawRow(row);
|
|
10355
|
+
} : void 0,
|
|
10356
|
+
withdrawing: withdrawingId === row.file.id
|
|
10357
|
+
},
|
|
10358
|
+
row.file.id
|
|
10359
|
+
)) })
|
|
10262
10360
|
] }) }) : null,
|
|
10263
10361
|
state.kind === "ready" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-documents-section__hint", children: t("chrome.tripDocuments.howDocumentsArrive") }) : null,
|
|
10264
10362
|
state.kind === "ready" && counts.expenseReceipt > 0 && spends === void 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-documents-section__hint", "data-tone": "warn", children: t("chrome.tripDocuments.ledgerUnread") }) : null,
|
|
10363
|
+
withdrawRow === null ? null : /* @__PURE__ */ jsxRuntime.jsx(
|
|
10364
|
+
WithdrawDialog,
|
|
10365
|
+
{
|
|
10366
|
+
documentName: withdrawRow.file.title !== null && withdrawRow.file.title !== "" ? withdrawRow.file.title : t("chrome.tripDocuments.chipTripDocuments"),
|
|
10367
|
+
busy: withdrawingId === withdrawRow.file.id,
|
|
10368
|
+
failed: withdrawFailed,
|
|
10369
|
+
onClose: () => setWithdrawRow(null),
|
|
10370
|
+
onConfirm: () => void confirmWithdraw()
|
|
10371
|
+
}
|
|
10372
|
+
),
|
|
10265
10373
|
uploadOpen ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
10266
10374
|
UploadDialog,
|
|
10267
10375
|
{
|
|
@@ -10508,7 +10616,7 @@ function ExpensesSkeleton() {
|
|
|
10508
10616
|
] }, id)) });
|
|
10509
10617
|
}
|
|
10510
10618
|
function ExpensesEmpty({ onLog }) {
|
|
10511
|
-
const { t } =
|
|
10619
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
10512
10620
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-expenses-section__state", children: [
|
|
10513
10621
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-expenses-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(WalletIcon, {}) }),
|
|
10514
10622
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-expenses-section__state-title", children: t("chrome.tripExpenses.emptyTitle") }),
|
|
@@ -10517,7 +10625,7 @@ function ExpensesEmpty({ onLog }) {
|
|
|
10517
10625
|
] });
|
|
10518
10626
|
}
|
|
10519
10627
|
function ExpensesFailed({ onRetry }) {
|
|
10520
|
-
const { t } =
|
|
10628
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
10521
10629
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-expenses-section__state", role: "alert", children: [
|
|
10522
10630
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-expenses-section__state-title", children: t("chrome.tripExpenses.failedTitle") }),
|
|
10523
10631
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-expenses-section__state-body", children: t("chrome.tripExpenses.failedBody") }),
|
|
@@ -10525,7 +10633,7 @@ function ExpensesFailed({ onRetry }) {
|
|
|
10525
10633
|
] });
|
|
10526
10634
|
}
|
|
10527
10635
|
function ExpensesDark({ reason }) {
|
|
10528
|
-
const { t } =
|
|
10636
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
10529
10637
|
if (reason === "mode") {
|
|
10530
10638
|
return null;
|
|
10531
10639
|
}
|
|
@@ -10546,7 +10654,7 @@ function ExpensesTable({
|
|
|
10546
10654
|
onVoid,
|
|
10547
10655
|
onViewReceipt
|
|
10548
10656
|
}) {
|
|
10549
|
-
const { t } =
|
|
10657
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
10550
10658
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-expenses-section__table-wrap", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "kf-trip-expenses-section__table", children: [
|
|
10551
10659
|
/* @__PURE__ */ jsxRuntime.jsx("caption", { className: "kf-visually-hidden", children: t("chrome.tripExpenses.tableCaption") }),
|
|
10552
10660
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
@@ -10606,7 +10714,7 @@ function LogExpenseDialog({
|
|
|
10606
10714
|
onClose,
|
|
10607
10715
|
onSubmit
|
|
10608
10716
|
}) {
|
|
10609
|
-
const { t } =
|
|
10717
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
10610
10718
|
const titleId = react.useId();
|
|
10611
10719
|
const [category, setCategory] = react.useState("MISC");
|
|
10612
10720
|
const [amount, setAmount] = react.useState("");
|
|
@@ -10769,9 +10877,9 @@ function ReceiptDialog({
|
|
|
10769
10877
|
description,
|
|
10770
10878
|
onClose
|
|
10771
10879
|
}) {
|
|
10772
|
-
const { t } =
|
|
10880
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
10773
10881
|
const titleId = react.useId();
|
|
10774
|
-
const files =
|
|
10882
|
+
const files = chunk2JNB5A6Z_cjs.useFiles({ tripRef });
|
|
10775
10883
|
const [phase, setPhase] = react.useState({ kind: "loading" });
|
|
10776
10884
|
const [imageBroke, setImageBroke] = react.useState(false);
|
|
10777
10885
|
const readUrl = files.url;
|
|
@@ -10845,7 +10953,7 @@ function VoidExpenseDialog({
|
|
|
10845
10953
|
onClose,
|
|
10846
10954
|
onSubmit
|
|
10847
10955
|
}) {
|
|
10848
|
-
const { t } =
|
|
10956
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
10849
10957
|
const titleId = react.useId();
|
|
10850
10958
|
const [reason, setReason] = react.useState("");
|
|
10851
10959
|
const trimmed = reason.trim();
|
|
@@ -10919,16 +11027,16 @@ function isCloseoutLocked2(error) {
|
|
|
10919
11027
|
return classification?.status === 423 || classification?.code === "TRIP_CLOSED_OUT";
|
|
10920
11028
|
}
|
|
10921
11029
|
function TripExpensesSection(props) {
|
|
10922
|
-
const session =
|
|
11030
|
+
const session = chunk4TTDAOOG_cjs.useSession();
|
|
10923
11031
|
if (session.status !== "authenticated") {
|
|
10924
11032
|
return null;
|
|
10925
11033
|
}
|
|
10926
11034
|
return /* @__PURE__ */ jsxRuntime.jsx(ReadyTripExpensesSection, { ...props });
|
|
10927
11035
|
}
|
|
10928
11036
|
function ReadyTripExpensesSection({ tripRef, style }) {
|
|
10929
|
-
const { t } =
|
|
10930
|
-
const expenses =
|
|
10931
|
-
const vendors =
|
|
11037
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
11038
|
+
const expenses = chunk2JNB5A6Z_cjs.useExpenses(tripRef);
|
|
11039
|
+
const vendors = chunk2JNB5A6Z_cjs.useVendors(tripRef, "");
|
|
10932
11040
|
const [category, setCategory] = react.useState(null);
|
|
10933
11041
|
const [paymentMode, setPaymentMode] = react.useState(null);
|
|
10934
11042
|
const [missingReceiptOnly, setMissingReceiptOnly] = react.useState(false);
|
|
@@ -10997,7 +11105,7 @@ function ReadyTripExpensesSection({ tripRef, style }) {
|
|
|
10997
11105
|
return /* @__PURE__ */ jsxRuntime.jsx(ExpensesDark, { reason: expenses.reason });
|
|
10998
11106
|
}
|
|
10999
11107
|
const filtered = category !== null || paymentMode !== null || missingReceiptOnly;
|
|
11000
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-expenses-section", style:
|
|
11108
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-expenses-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
11001
11109
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-expenses-section__toolbar", children: [
|
|
11002
11110
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-expenses-section__toolbar-title", children: t("chrome.tripExpenses.panelLabel") }),
|
|
11003
11111
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-expenses-section__toolbar-spacer" }),
|
|
@@ -11277,7 +11385,7 @@ function FloatMovementDialog({
|
|
|
11277
11385
|
onClose,
|
|
11278
11386
|
onSubmit
|
|
11279
11387
|
}) {
|
|
11280
|
-
const { t } =
|
|
11388
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
11281
11389
|
const titleId = react.useId();
|
|
11282
11390
|
const [managerId, setManagerId] = react.useState(manager?.managerId ?? null);
|
|
11283
11391
|
const [amount, setAmount] = react.useState(
|
|
@@ -11510,7 +11618,7 @@ function FloatSkeleton() {
|
|
|
11510
11618
|
] }, id)) });
|
|
11511
11619
|
}
|
|
11512
11620
|
function FloatEmpty({ onIssue }) {
|
|
11513
|
-
const { t } =
|
|
11621
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
11514
11622
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-float-section__state", children: [
|
|
11515
11623
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-float-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(SafeIcon, {}) }),
|
|
11516
11624
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-float-section__state-title", children: t("chrome.tripFloat.emptyTitle") }),
|
|
@@ -11519,7 +11627,7 @@ function FloatEmpty({ onIssue }) {
|
|
|
11519
11627
|
] });
|
|
11520
11628
|
}
|
|
11521
11629
|
function FloatFailed({ onRetry }) {
|
|
11522
|
-
const { t } =
|
|
11630
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
11523
11631
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-float-section__state", role: "alert", children: [
|
|
11524
11632
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-float-section__state-title", children: t("chrome.tripFloat.failedTitle") }),
|
|
11525
11633
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-float-section__state-body", children: t("chrome.tripFloat.failedBody") }),
|
|
@@ -11527,7 +11635,7 @@ function FloatFailed({ onRetry }) {
|
|
|
11527
11635
|
] });
|
|
11528
11636
|
}
|
|
11529
11637
|
function FloatDark({ reason }) {
|
|
11530
|
-
const { t } =
|
|
11638
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
11531
11639
|
if (reason === "mode") {
|
|
11532
11640
|
return null;
|
|
11533
11641
|
}
|
|
@@ -11550,7 +11658,7 @@ function ManagerFloatCard({
|
|
|
11550
11658
|
onAdjust,
|
|
11551
11659
|
onSettle
|
|
11552
11660
|
}) {
|
|
11553
|
-
const { t } =
|
|
11661
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
11554
11662
|
const bodyId = `kf-float-${row.managerId}`;
|
|
11555
11663
|
const summary = row.summary;
|
|
11556
11664
|
const shares = summary === void 0 ? void 0 : usageShares(summary);
|
|
@@ -11756,16 +11864,16 @@ function refusedBalanceOf(error) {
|
|
|
11756
11864
|
return details?.currentBalanceMinor;
|
|
11757
11865
|
}
|
|
11758
11866
|
function TripFloatSection(props) {
|
|
11759
|
-
const session =
|
|
11867
|
+
const session = chunk4TTDAOOG_cjs.useSession();
|
|
11760
11868
|
if (session.status !== "authenticated") {
|
|
11761
11869
|
return null;
|
|
11762
11870
|
}
|
|
11763
11871
|
return /* @__PURE__ */ jsxRuntime.jsx(ReadyTripFloatSection, { ...props });
|
|
11764
11872
|
}
|
|
11765
11873
|
function ReadyTripFloatSection({ tripRef, style }) {
|
|
11766
|
-
const { t } =
|
|
11767
|
-
const float =
|
|
11768
|
-
const managers =
|
|
11874
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
11875
|
+
const float = chunk2JNB5A6Z_cjs.useFloat(tripRef);
|
|
11876
|
+
const managers = chunk2JNB5A6Z_cjs.useManagers(tripRef);
|
|
11769
11877
|
const [openManagerId, setOpenManagerId] = react.useState(null);
|
|
11770
11878
|
const [ledgers, setLedgers] = react.useState({});
|
|
11771
11879
|
const [overlay, setOverlay] = react.useState({ kind: "none" });
|
|
@@ -11891,7 +11999,7 @@ function ReadyTripFloatSection({ tripRef, style }) {
|
|
|
11891
11999
|
if (float.status === "dark") {
|
|
11892
12000
|
return /* @__PURE__ */ jsxRuntime.jsx(FloatDark, { reason: float.reason });
|
|
11893
12001
|
}
|
|
11894
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-float-section", style:
|
|
12002
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-float-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
11895
12003
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-float-section__toolbar", children: [
|
|
11896
12004
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-float-section__toolbar-title", children: t("chrome.tripFloat.panelLabel") }),
|
|
11897
12005
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-float-section__toolbar-spacer" }),
|
|
@@ -12006,7 +12114,7 @@ function DispatchDialog({
|
|
|
12006
12114
|
onClose,
|
|
12007
12115
|
onSend
|
|
12008
12116
|
}) {
|
|
12009
|
-
const { t } =
|
|
12117
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
12010
12118
|
const titleId = react.useId();
|
|
12011
12119
|
const [everyone, setEveryone] = react.useState(true);
|
|
12012
12120
|
const [picked, setPicked] = react.useState(/* @__PURE__ */ new Set());
|
|
@@ -12154,7 +12262,7 @@ function FormRow2({
|
|
|
12154
12262
|
onExport,
|
|
12155
12263
|
onOpenMissing
|
|
12156
12264
|
}) {
|
|
12157
|
-
const { t } =
|
|
12265
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
12158
12266
|
const canSeeMissing = supportsWhoIsMissing(form);
|
|
12159
12267
|
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "kf-trip-forms-section__row", children: [
|
|
12160
12268
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "kf-trip-forms-section__row-body", children: [
|
|
@@ -12207,14 +12315,14 @@ function FormsSkeleton() {
|
|
|
12207
12315
|
] }, id)) });
|
|
12208
12316
|
}
|
|
12209
12317
|
function FormsEmpty() {
|
|
12210
|
-
const { t } =
|
|
12318
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
12211
12319
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-forms-section__state", children: [
|
|
12212
12320
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-forms-section__state-title", children: t("chrome.tripForms.emptyTitle") }),
|
|
12213
12321
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-forms-section__state-body", children: t("chrome.tripForms.emptyBody") })
|
|
12214
12322
|
] });
|
|
12215
12323
|
}
|
|
12216
12324
|
function FormsFailed({ onRetry }) {
|
|
12217
|
-
const { t } =
|
|
12325
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
12218
12326
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-forms-section__state", role: "alert", children: [
|
|
12219
12327
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-forms-section__state-title", children: t("chrome.tripForms.failedTitle") }),
|
|
12220
12328
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-forms-section__state-body", children: t("chrome.tripForms.failedBody") }),
|
|
@@ -12222,7 +12330,7 @@ function FormsFailed({ onRetry }) {
|
|
|
12222
12330
|
] });
|
|
12223
12331
|
}
|
|
12224
12332
|
function FormsDark({ reason }) {
|
|
12225
|
-
const { t } =
|
|
12333
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
12226
12334
|
if (reason === "mode") return null;
|
|
12227
12335
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-forms-section__state", "data-dark": reason, children: [
|
|
12228
12336
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-forms-section__state-title", children: t(reason === "flag" ? "chrome.tripForms.flagDarkTitle" : "chrome.tripForms.dataDarkTitle") }),
|
|
@@ -12267,7 +12375,7 @@ function OnBehalfDialog({
|
|
|
12267
12375
|
onClose,
|
|
12268
12376
|
onSubmit
|
|
12269
12377
|
}) {
|
|
12270
|
-
const { t } =
|
|
12378
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
12271
12379
|
const titleId = react.useId();
|
|
12272
12380
|
const [values, setValues] = react.useState({});
|
|
12273
12381
|
const answerable = react.useMemo(
|
|
@@ -12405,7 +12513,7 @@ function ParticipantRow({
|
|
|
12405
12513
|
onFillOnBehalf,
|
|
12406
12514
|
onOpenResponse
|
|
12407
12515
|
}) {
|
|
12408
|
-
const { t } =
|
|
12516
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
12409
12517
|
const status = row.response?.status;
|
|
12410
12518
|
const submitted = status === "SUBMITTED";
|
|
12411
12519
|
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "kf-trip-forms-section__row", "data-done": submitted ? "true" : void 0, children: [
|
|
@@ -12458,7 +12566,7 @@ function ResponseViewer({
|
|
|
12458
12566
|
failed,
|
|
12459
12567
|
onClose
|
|
12460
12568
|
}) {
|
|
12461
|
-
const { t } =
|
|
12569
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
12462
12570
|
const titleId = react.useId();
|
|
12463
12571
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12464
12572
|
SheetDialog,
|
|
@@ -12489,7 +12597,7 @@ function codeOf4(error) {
|
|
|
12489
12597
|
return classification?.code ?? "unknown";
|
|
12490
12598
|
}
|
|
12491
12599
|
function TripFormsSection(props) {
|
|
12492
|
-
const session =
|
|
12600
|
+
const session = chunk4TTDAOOG_cjs.useSession();
|
|
12493
12601
|
if (session.status !== "authenticated") {
|
|
12494
12602
|
return null;
|
|
12495
12603
|
}
|
|
@@ -12501,9 +12609,9 @@ function ReadyTripFormsSection({
|
|
|
12501
12609
|
components,
|
|
12502
12610
|
style
|
|
12503
12611
|
}) {
|
|
12504
|
-
const { t } =
|
|
12505
|
-
const forms =
|
|
12506
|
-
const { listTripManifest } =
|
|
12612
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
12613
|
+
const forms = chunk2JNB5A6Z_cjs.useForms(tripRef);
|
|
12614
|
+
const { listTripManifest } = chunkKY752BBA_cjs.useDirectories();
|
|
12507
12615
|
const [openFormId, setOpenFormId] = react.useState(null);
|
|
12508
12616
|
const [completion, setCompletion] = react.useState(void 0);
|
|
12509
12617
|
const [manifest, setManifest] = react.useState(void 0);
|
|
@@ -12625,7 +12733,7 @@ function ReadyTripFormsSection({
|
|
|
12625
12733
|
if (forms.status === "dark") return /* @__PURE__ */ jsxRuntime.jsx(FormsDark, { reason: forms.reason });
|
|
12626
12734
|
const inert = readOnly;
|
|
12627
12735
|
const unreadable = ready !== null && ready.syncedAt === void 0 && rows.length === 0;
|
|
12628
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-forms-section", style:
|
|
12736
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-forms-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
12629
12737
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-forms-section__head", children: [
|
|
12630
12738
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-forms-section__head-text", children: [
|
|
12631
12739
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "kf-trip-forms-section__title", children: openForm === null ? t("chrome.tripForms.panelLabel") : openForm.title }),
|
|
@@ -12775,7 +12883,7 @@ function ChangeLogDialog({
|
|
|
12775
12883
|
onRetry,
|
|
12776
12884
|
onClose
|
|
12777
12885
|
}) {
|
|
12778
|
-
const { t } =
|
|
12886
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
12779
12887
|
const titleId = react.useId();
|
|
12780
12888
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12781
12889
|
SheetDialog,
|
|
@@ -13122,7 +13230,7 @@ function ItemRow({
|
|
|
13122
13230
|
onMoveBy,
|
|
13123
13231
|
onOpenVendor
|
|
13124
13232
|
}) {
|
|
13125
|
-
const { t } =
|
|
13233
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
13126
13234
|
const derived = deriveItineraryItem(item, timeZone, serverTime);
|
|
13127
13235
|
const isDone = item.status === "COMPLETED";
|
|
13128
13236
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -13244,7 +13352,7 @@ function DayCard({
|
|
|
13244
13352
|
onSwitchToTimeline,
|
|
13245
13353
|
onOpenVendor
|
|
13246
13354
|
}) {
|
|
13247
|
-
const { t } =
|
|
13355
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
13248
13356
|
const { draggingId, overIndex, rowProps, moveBy } = useListReorder({
|
|
13249
13357
|
enabled: canEdit,
|
|
13250
13358
|
onMove: onReorder
|
|
@@ -13295,7 +13403,7 @@ function DayCard({
|
|
|
13295
13403
|
] });
|
|
13296
13404
|
}
|
|
13297
13405
|
function DayPillStrip({ pills, activeIso, onSelect }) {
|
|
13298
|
-
const { t } =
|
|
13406
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
13299
13407
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13300
13408
|
"div",
|
|
13301
13409
|
{
|
|
@@ -13372,7 +13480,7 @@ function EditDayDialog({
|
|
|
13372
13480
|
onClose,
|
|
13373
13481
|
onSubmit
|
|
13374
13482
|
}) {
|
|
13375
|
-
const { t } =
|
|
13483
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
13376
13484
|
const titleId = react.useId();
|
|
13377
13485
|
const [cardTitle, setCardTitle] = react.useState(group.day.cardTitle);
|
|
13378
13486
|
const [hasSummary, setHasSummary] = react.useState(
|
|
@@ -13515,7 +13623,7 @@ function ItemFormDialog({
|
|
|
13515
13623
|
onSubmit,
|
|
13516
13624
|
onDelete
|
|
13517
13625
|
}) {
|
|
13518
|
-
const { t } =
|
|
13626
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
13519
13627
|
const titleId = react.useId();
|
|
13520
13628
|
const isEdit = item !== null;
|
|
13521
13629
|
const [isoDate, setIsoDate] = react.useState(
|
|
@@ -13770,7 +13878,7 @@ function ItinerarySkeleton({ view }) {
|
|
|
13770
13878
|
] });
|
|
13771
13879
|
}
|
|
13772
13880
|
function ItineraryEmpty() {
|
|
13773
|
-
const { t } =
|
|
13881
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
13774
13882
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-itinerary-section__state", children: [
|
|
13775
13883
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-itinerary-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(CalendarIcon, {}) }),
|
|
13776
13884
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-itinerary-section__state-title", children: t("chrome.tripItinerary.emptyTitle") }),
|
|
@@ -13778,7 +13886,7 @@ function ItineraryEmpty() {
|
|
|
13778
13886
|
] });
|
|
13779
13887
|
}
|
|
13780
13888
|
function ItineraryFailed({ onRetry }) {
|
|
13781
|
-
const { t } =
|
|
13889
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
13782
13890
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-itinerary-section__state", role: "alert", children: [
|
|
13783
13891
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-itinerary-section__state-title", children: t("chrome.tripItinerary.failedTitle") }),
|
|
13784
13892
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-itinerary-section__state-body", children: t("chrome.tripItinerary.failedBody") }),
|
|
@@ -13786,7 +13894,7 @@ function ItineraryFailed({ onRetry }) {
|
|
|
13786
13894
|
] });
|
|
13787
13895
|
}
|
|
13788
13896
|
function TimelineView({ entries, onOpenDay }) {
|
|
13789
|
-
const { t } =
|
|
13897
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
13790
13898
|
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: "kf-trip-itinerary-section__timeline", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-itinerary-section__timeline-grid", children: [
|
|
13791
13899
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-itinerary-section__timeline-line", "aria-hidden": "true" }),
|
|
13792
13900
|
entries.map((entry, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -13873,7 +13981,7 @@ var OPTIONS2 = [
|
|
|
13873
13981
|
{ value: "timeline", labelKey: "chrome.tripItinerary.viewTimeline" }
|
|
13874
13982
|
];
|
|
13875
13983
|
function ViewSegment({ value, onChange }) {
|
|
13876
|
-
const { t } =
|
|
13984
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
13877
13985
|
return /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { className: "kf-trip-itinerary-section__segment", children: [
|
|
13878
13986
|
/* @__PURE__ */ jsxRuntime.jsx("legend", { className: "kf-visually-hidden", children: t("chrome.tripItinerary.viewLabel") }),
|
|
13879
13987
|
OPTIONS2.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -13895,7 +14003,7 @@ function codeOf5(error) {
|
|
|
13895
14003
|
return classification?.code ?? "unknown";
|
|
13896
14004
|
}
|
|
13897
14005
|
function TripItinerarySection(props) {
|
|
13898
|
-
const session =
|
|
14006
|
+
const session = chunk4TTDAOOG_cjs.useSession();
|
|
13899
14007
|
if (session.status !== "authenticated") {
|
|
13900
14008
|
return null;
|
|
13901
14009
|
}
|
|
@@ -13906,8 +14014,8 @@ function ReadyTripItinerarySection({
|
|
|
13906
14014
|
onOpenVendor,
|
|
13907
14015
|
style
|
|
13908
14016
|
}) {
|
|
13909
|
-
const { t } =
|
|
13910
|
-
const itinerary =
|
|
14017
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
14018
|
+
const itinerary = chunk2JNB5A6Z_cjs.useItinerary(tripRef);
|
|
13911
14019
|
const [view, setView] = react.useState("days");
|
|
13912
14020
|
const [activeIso, setActiveIso] = react.useState(null);
|
|
13913
14021
|
const [overlay, setOverlay] = react.useState({ kind: "none" });
|
|
@@ -14080,7 +14188,7 @@ function ReadyTripItinerarySection({
|
|
|
14080
14188
|
setActiveIso(isoDate);
|
|
14081
14189
|
setView("days");
|
|
14082
14190
|
}
|
|
14083
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-itinerary-section", style:
|
|
14191
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-itinerary-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
14084
14192
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-itinerary-section__toolbar", children: [
|
|
14085
14193
|
/* @__PURE__ */ jsxRuntime.jsx(ViewSegment, { value: view, onChange: setView }),
|
|
14086
14194
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-itinerary-section__toolbar-spacer" }),
|
|
@@ -14265,9 +14373,9 @@ function AddTravellerDialog({
|
|
|
14265
14373
|
onClose,
|
|
14266
14374
|
onAdded
|
|
14267
14375
|
}) {
|
|
14268
|
-
const { t } =
|
|
14376
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
14269
14377
|
const titleId = react.useId();
|
|
14270
|
-
const { makeTravellersFetch, addTraveller, createAgencyTraveller } =
|
|
14378
|
+
const { makeTravellersFetch, addTraveller, createAgencyTraveller } = chunkKY752BBA_cjs.useDirectories();
|
|
14271
14379
|
const [mode, setMode] = react.useState("search");
|
|
14272
14380
|
const [term, setTerm] = react.useState("");
|
|
14273
14381
|
const [debounced, setDebounced] = react.useState("");
|
|
@@ -14281,7 +14389,7 @@ function AddTravellerDialog({
|
|
|
14281
14389
|
return () => clearTimeout(timer);
|
|
14282
14390
|
}, [term]);
|
|
14283
14391
|
function reportFailure(error) {
|
|
14284
|
-
setErrorCode(
|
|
14392
|
+
setErrorCode(chunk2JNB5A6Z_cjs.classifyError(error).code ?? "unknown");
|
|
14285
14393
|
}
|
|
14286
14394
|
async function addExisting(externalTravellerId, fullName) {
|
|
14287
14395
|
setPending(true);
|
|
@@ -14433,8 +14541,8 @@ function DirectoryResults({
|
|
|
14433
14541
|
pendingId,
|
|
14434
14542
|
onPick
|
|
14435
14543
|
}) {
|
|
14436
|
-
const { t } =
|
|
14437
|
-
const { rows, hasNext, loadNext, settled, error } =
|
|
14544
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
14545
|
+
const { rows, hasNext, loadNext, settled, error } = chunkKY752BBA_cjs.usePaginatedList(fetch);
|
|
14438
14546
|
if (!settled) {
|
|
14439
14547
|
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-manifest-section__dialog-note", "aria-live": "polite", children: t("chrome.tripManifest.addSearching") });
|
|
14440
14548
|
}
|
|
@@ -14519,9 +14627,9 @@ function ManageGroupsDialog({
|
|
|
14519
14627
|
onClose,
|
|
14520
14628
|
onSaved
|
|
14521
14629
|
}) {
|
|
14522
|
-
const { t } =
|
|
14630
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
14523
14631
|
const titleId = react.useId();
|
|
14524
|
-
const { createParty, patchParty, deleteParty } =
|
|
14632
|
+
const { createParty, patchParty, deleteParty } = chunkKY752BBA_cjs.useDirectories();
|
|
14525
14633
|
const groups = deriveManifestGroups(rows).filter(
|
|
14526
14634
|
(group) => group.id !== SOLO_GROUP_ID && group.party !== null
|
|
14527
14635
|
);
|
|
@@ -14749,7 +14857,7 @@ function ManageGroupsDialog({
|
|
|
14749
14857
|
}
|
|
14750
14858
|
var DIET_BUCKET_CAP = 4;
|
|
14751
14859
|
function ManifestFacetTiles({ facets, filtered }) {
|
|
14752
|
-
const { t } =
|
|
14860
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
14753
14861
|
const dietEntries = Object.entries(facets.dietCounts).filter(([, count]) => count > 0).sort((a, b) => b[1] - a[1]);
|
|
14754
14862
|
const shown = dietEntries.slice(0, DIET_BUCKET_CAP);
|
|
14755
14863
|
const hiddenCount = dietEntries.length - shown.length;
|
|
@@ -14831,7 +14939,7 @@ function ManifestFiltersPopover({
|
|
|
14831
14939
|
value,
|
|
14832
14940
|
onChange
|
|
14833
14941
|
}) {
|
|
14834
|
-
const { t } =
|
|
14942
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
14835
14943
|
const [open, setOpen] = react.useState(false);
|
|
14836
14944
|
const rootRef = react.useRef(null);
|
|
14837
14945
|
const triggerRef = react.useRef(null);
|
|
@@ -14971,7 +15079,7 @@ var KIND_LABEL_KEY2 = {
|
|
|
14971
15079
|
OTHER: "chrome.tripManifest.partyKind.other"
|
|
14972
15080
|
};
|
|
14973
15081
|
function ManifestGroupCard({ group, onEdit, children }) {
|
|
14974
|
-
const { t } =
|
|
15082
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
14975
15083
|
const party = group.party;
|
|
14976
15084
|
const isSolo = party === null;
|
|
14977
15085
|
const heading = isSolo ? t("chrome.tripManifest.soloHeading") : party.label ?? t(KIND_LABEL_KEY2[party.kind] ?? "chrome.tripManifest.partyKind.other");
|
|
@@ -15059,7 +15167,7 @@ function ManifestRowKebab({
|
|
|
15059
15167
|
onShareLink,
|
|
15060
15168
|
onOpenProfile
|
|
15061
15169
|
}) {
|
|
15062
|
-
const { t } =
|
|
15170
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
15063
15171
|
const [open, setOpen] = react.useState(false);
|
|
15064
15172
|
const rootRef = react.useRef(null);
|
|
15065
15173
|
const triggerRef = react.useRef(null);
|
|
@@ -15158,10 +15266,10 @@ function ManifestRow({
|
|
|
15158
15266
|
onOpenProfile,
|
|
15159
15267
|
style
|
|
15160
15268
|
}) {
|
|
15161
|
-
const { t } =
|
|
15269
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
15162
15270
|
const derived = deriveManifestRow(row, index, serverTime);
|
|
15163
15271
|
const traveller = row.traveller;
|
|
15164
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("tr", { role: "row", className: "kf-trip-manifest-section__row", style:
|
|
15272
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("tr", { role: "row", className: "kf-trip-manifest-section__row", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
15165
15273
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
15166
15274
|
"td",
|
|
15167
15275
|
{
|
|
@@ -15235,7 +15343,7 @@ function ManifestTable({
|
|
|
15235
15343
|
onOpenProfile,
|
|
15236
15344
|
RowComponent
|
|
15237
15345
|
}) {
|
|
15238
|
-
const { t } =
|
|
15346
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
15239
15347
|
const Row = RowComponent ?? ManifestRow;
|
|
15240
15348
|
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: [
|
|
15241
15349
|
showHead ? /* @__PURE__ */ jsxRuntime.jsx("thead", { role: "rowgroup", children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { role: "row", className: "kf-trip-manifest-section__head-row", children: [
|
|
@@ -15282,8 +15390,8 @@ function ManifestResultsBody({
|
|
|
15282
15390
|
RowComponent,
|
|
15283
15391
|
onRetry
|
|
15284
15392
|
}) {
|
|
15285
|
-
const { t } =
|
|
15286
|
-
const { makeManifestFetch, facets, groupedPageSize } =
|
|
15393
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
15394
|
+
const { makeManifestFetch, facets, groupedPageSize } = chunkKY752BBA_cjs.useAgencyTripManifest(tripRef);
|
|
15287
15395
|
const [errorCode, setErrorCode] = react.useState(void 0);
|
|
15288
15396
|
const [hasSettled, setHasSettled] = react.useState(false);
|
|
15289
15397
|
const [serverTime, setServerTime] = react.useState(void 0);
|
|
@@ -15300,7 +15408,7 @@ function ManifestResultsBody({
|
|
|
15300
15408
|
if (meta?.serverTime !== void 0) setServerTime(meta.serverTime);
|
|
15301
15409
|
return page;
|
|
15302
15410
|
} catch (error) {
|
|
15303
|
-
setErrorCode(
|
|
15411
|
+
setErrorCode(chunk2JNB5A6Z_cjs.classifyError(error).code ?? "unknown");
|
|
15304
15412
|
return { rows: [], nextCursor: void 0 };
|
|
15305
15413
|
} finally {
|
|
15306
15414
|
setHasSettled(true);
|
|
@@ -15308,7 +15416,7 @@ function ManifestResultsBody({
|
|
|
15308
15416
|
},
|
|
15309
15417
|
[makeManifestFetch, filters, grouped, groupedPageSize]
|
|
15310
15418
|
);
|
|
15311
|
-
const { rows, hasNext, hasPrev, loadNext, loadPrev } =
|
|
15419
|
+
const { rows, hasNext, hasPrev, loadNext, loadPrev } = chunkKY752BBA_cjs.usePaginatedList(fetch, {
|
|
15312
15420
|
accumulate: grouped
|
|
15313
15421
|
});
|
|
15314
15422
|
react.useEffect(() => {
|
|
@@ -15469,7 +15577,7 @@ function ManifestSearchInput({
|
|
|
15469
15577
|
debounceMs,
|
|
15470
15578
|
onDebouncedChange
|
|
15471
15579
|
}) {
|
|
15472
|
-
const { t } =
|
|
15580
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
15473
15581
|
const [value, setValue] = react.useState("");
|
|
15474
15582
|
react.useEffect(() => {
|
|
15475
15583
|
const timer = setTimeout(() => onDebouncedChange(value.trim()), debounceMs);
|
|
@@ -15496,8 +15604,8 @@ function RemoveTravellerDialog({
|
|
|
15496
15604
|
onClose,
|
|
15497
15605
|
onRemoved
|
|
15498
15606
|
}) {
|
|
15499
|
-
const { t } =
|
|
15500
|
-
const { removeFromManifest } =
|
|
15607
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
15608
|
+
const { removeFromManifest } = chunkKY752BBA_cjs.useDirectories();
|
|
15501
15609
|
const titleId = react.useId();
|
|
15502
15610
|
const [pending, setPending] = react.useState(false);
|
|
15503
15611
|
const [errorCode, setErrorCode] = react.useState(void 0);
|
|
@@ -15584,7 +15692,7 @@ function shareAddress(build, token) {
|
|
|
15584
15692
|
}
|
|
15585
15693
|
var warnedNoShareUrl = false;
|
|
15586
15694
|
function warnMissingShareUrl() {
|
|
15587
|
-
if (warnedNoShareUrl || !
|
|
15695
|
+
if (warnedNoShareUrl || !chunk4TTDAOOG_cjs.isDevelopment()) return;
|
|
15588
15696
|
warnedNoShareUrl = true;
|
|
15589
15697
|
console.warn(
|
|
15590
15698
|
"[kaafil-react-uikit] No `buildShareUrl` on <KaafilUIKitProvider>, so the share dialog is showing operators a bare token instead of a sendable address. Kaafil returns a token, never a URL \u2014 the traveller page is on your domain. Fix: buildShareUrl={(token) => `${window.location.origin}/share/${token}`}"
|
|
@@ -15596,14 +15704,14 @@ function ShareLinkDialog({
|
|
|
15596
15704
|
travellerName,
|
|
15597
15705
|
onClose
|
|
15598
15706
|
}) {
|
|
15599
|
-
const { t } =
|
|
15707
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
15600
15708
|
const titleId = react.useId();
|
|
15601
|
-
const buildShareUrl =
|
|
15709
|
+
const buildShareUrl = chunkKY752BBA_cjs.useBuildShareUrl();
|
|
15602
15710
|
const showsBareToken = buildShareUrl === null;
|
|
15603
15711
|
if (showsBareToken) warnMissingShareUrl();
|
|
15604
15712
|
const isFamily = travellerRef === null;
|
|
15605
|
-
const offerable =
|
|
15606
|
-
const { links, readFailed, mint, revoke, regenerate, reveal } =
|
|
15713
|
+
const offerable = chunkKY752BBA_cjs.familySafeSections(isFamily);
|
|
15714
|
+
const { links, readFailed, mint, revoke, regenerate, reveal } = chunkKY752BBA_cjs.useShareLinks(
|
|
15607
15715
|
tripRef,
|
|
15608
15716
|
travellerRef
|
|
15609
15717
|
);
|
|
@@ -15942,7 +16050,7 @@ function SideDrawer({
|
|
|
15942
16050
|
"aria-modal": "true",
|
|
15943
16051
|
"aria-labelledby": titleId,
|
|
15944
16052
|
tabIndex: -1,
|
|
15945
|
-
style:
|
|
16053
|
+
style: chunk4TTDAOOG_cjs.tokenStyle(style),
|
|
15946
16054
|
children: [
|
|
15947
16055
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-admin-side-drawer__header", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-side-drawer__header-row", children: [
|
|
15948
16056
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-side-drawer__identity", children: [
|
|
@@ -16010,11 +16118,11 @@ function TravellerDetailDialog({
|
|
|
16010
16118
|
onClose,
|
|
16011
16119
|
onRemove
|
|
16012
16120
|
}) {
|
|
16013
|
-
const { t } =
|
|
16121
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
16014
16122
|
const titleId = react.useId();
|
|
16015
|
-
const { read, readFailed, refresh } =
|
|
16016
|
-
const forms =
|
|
16017
|
-
const { addTravellerNote } =
|
|
16123
|
+
const { read, readFailed, refresh } = chunk2JNB5A6Z_cjs.useTravellerProfile(tripRef, travellerRef);
|
|
16124
|
+
const forms = chunkKY752BBA_cjs.useTravellerFormResponses(tripRef, travellerRef);
|
|
16125
|
+
const { addTravellerNote } = chunkKY752BBA_cjs.useDirectories();
|
|
16018
16126
|
const [noteDraft, setNoteDraft] = react.useState("");
|
|
16019
16127
|
const [notePending, setNotePending] = react.useState(false);
|
|
16020
16128
|
const [noteFailed, setNoteFailed] = react.useState(false);
|
|
@@ -16243,7 +16351,7 @@ function DetailRow({
|
|
|
16243
16351
|
absentLabel,
|
|
16244
16352
|
meta
|
|
16245
16353
|
}) {
|
|
16246
|
-
const { t } =
|
|
16354
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
16247
16355
|
const has = value !== null && value !== void 0 && value.length > 0;
|
|
16248
16356
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-manifest-section__detail-row", children: [
|
|
16249
16357
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-manifest-section__detail-label", children: label }),
|
|
@@ -16266,7 +16374,7 @@ function TripManifestSection({
|
|
|
16266
16374
|
components,
|
|
16267
16375
|
style
|
|
16268
16376
|
}) {
|
|
16269
|
-
const { t } =
|
|
16377
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
16270
16378
|
const [q, setQ] = react.useState("");
|
|
16271
16379
|
const [groupBy, setGroupBy] = react.useState("booking_group");
|
|
16272
16380
|
const [filters, setFilters] = react.useState({});
|
|
@@ -16295,7 +16403,7 @@ function TripManifestSection({
|
|
|
16295
16403
|
[groupBy, writeToken, wireFilters]
|
|
16296
16404
|
);
|
|
16297
16405
|
const hasActiveFilter = q.length > 0 || Object.keys(filters).length > 0;
|
|
16298
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-manifest-section", style:
|
|
16406
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-manifest-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
16299
16407
|
facets === void 0 ? null : /* @__PURE__ */ jsxRuntime.jsx(ManifestFacetTiles, { facets, filtered: hasActiveFilter }),
|
|
16300
16408
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-manifest-section__toolbar", children: [
|
|
16301
16409
|
/* @__PURE__ */ jsxRuntime.jsx(ManifestSearchInput, { debounceMs: DEBOUNCE_MS, onDebouncedChange: setQ }),
|
|
@@ -16514,7 +16622,7 @@ function PaymentsSkeleton() {
|
|
|
16514
16622
|
] }, id)) });
|
|
16515
16623
|
}
|
|
16516
16624
|
function PaymentsEmpty({ onRecord }) {
|
|
16517
|
-
const { t } =
|
|
16625
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
16518
16626
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-payments-section__state", children: [
|
|
16519
16627
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-payments-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(ReceiptIcon, {}) }),
|
|
16520
16628
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-payments-section__state-title", children: t("chrome.tripPayments.emptyTitle") }),
|
|
@@ -16523,7 +16631,7 @@ function PaymentsEmpty({ onRecord }) {
|
|
|
16523
16631
|
] });
|
|
16524
16632
|
}
|
|
16525
16633
|
function PaymentsFailed({ onRetry }) {
|
|
16526
|
-
const { t } =
|
|
16634
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
16527
16635
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-payments-section__state", role: "alert", children: [
|
|
16528
16636
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-payments-section__state-title", children: t("chrome.tripPayments.failedTitle") }),
|
|
16529
16637
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-payments-section__state-body", children: t("chrome.tripPayments.failedBody") }),
|
|
@@ -16531,7 +16639,7 @@ function PaymentsFailed({ onRetry }) {
|
|
|
16531
16639
|
] });
|
|
16532
16640
|
}
|
|
16533
16641
|
function PaymentsDark({ reason }) {
|
|
16534
|
-
const { t } =
|
|
16642
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
16535
16643
|
if (reason === "mode") {
|
|
16536
16644
|
return null;
|
|
16537
16645
|
}
|
|
@@ -16552,7 +16660,7 @@ function PaymentsTable({
|
|
|
16552
16660
|
locked,
|
|
16553
16661
|
onVoid
|
|
16554
16662
|
}) {
|
|
16555
|
-
const { t } =
|
|
16663
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
16556
16664
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-payments-section__table-wrap", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "kf-trip-payments-section__table", children: [
|
|
16557
16665
|
/* @__PURE__ */ jsxRuntime.jsx("caption", { className: "kf-visually-hidden", children: t("chrome.tripPayments.tableCaption") }),
|
|
16558
16666
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
@@ -16611,7 +16719,7 @@ function RecordPaymentDialog({
|
|
|
16611
16719
|
onClose,
|
|
16612
16720
|
onSubmit
|
|
16613
16721
|
}) {
|
|
16614
|
-
const { t } =
|
|
16722
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
16615
16723
|
const titleId = react.useId();
|
|
16616
16724
|
const [travellerId, setTravellerId] = react.useState(null);
|
|
16617
16725
|
const [amount, setAmount] = react.useState("");
|
|
@@ -16786,7 +16894,7 @@ function VoidPaymentDialog({
|
|
|
16786
16894
|
onClose,
|
|
16787
16895
|
onSubmit
|
|
16788
16896
|
}) {
|
|
16789
|
-
const { t } =
|
|
16897
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
16790
16898
|
const titleId = react.useId();
|
|
16791
16899
|
const [reason, setReason] = react.useState("");
|
|
16792
16900
|
const trimmed = reason.trim();
|
|
@@ -16860,7 +16968,7 @@ function isCloseoutLocked4(error) {
|
|
|
16860
16968
|
return classification?.status === 423 || classification?.code === "TRIP_CLOSED_OUT";
|
|
16861
16969
|
}
|
|
16862
16970
|
function TripPaymentsSection(props) {
|
|
16863
|
-
const session =
|
|
16971
|
+
const session = chunk4TTDAOOG_cjs.useSession();
|
|
16864
16972
|
if (session.status !== "authenticated") {
|
|
16865
16973
|
return null;
|
|
16866
16974
|
}
|
|
@@ -16871,9 +16979,9 @@ function ReadyTripPaymentsSection({
|
|
|
16871
16979
|
balance,
|
|
16872
16980
|
style
|
|
16873
16981
|
}) {
|
|
16874
|
-
const { t } =
|
|
16875
|
-
const collections =
|
|
16876
|
-
const parties =
|
|
16982
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
16983
|
+
const collections = chunk2JNB5A6Z_cjs.useCollections(tripRef);
|
|
16984
|
+
const parties = chunk2JNB5A6Z_cjs.useParties(tripRef);
|
|
16877
16985
|
const [overlay, setOverlay] = react.useState({ kind: "none" });
|
|
16878
16986
|
const [pending, setPending] = react.useState(false);
|
|
16879
16987
|
const [errorCode, setErrorCode] = react.useState(void 0);
|
|
@@ -16953,7 +17061,7 @@ function ReadyTripPaymentsSection({
|
|
|
16953
17061
|
}
|
|
16954
17062
|
const currency = balance?.currency ?? rows[0]?.currency ?? "INR";
|
|
16955
17063
|
const owingCount = eligibleRows.filter((row) => row.outstandingMinor > 0).length;
|
|
16956
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-payments-section", style:
|
|
17064
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-payments-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
16957
17065
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-payments-section__toolbar", children: [
|
|
16958
17066
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-payments-section__toolbar-title", children: t("chrome.tripPayments.panelLabel") }),
|
|
16959
17067
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-payments-section__toolbar-spacer" }),
|
|
@@ -17094,7 +17202,7 @@ function AssignTravellerDialog({
|
|
|
17094
17202
|
onSubmit,
|
|
17095
17203
|
onClose
|
|
17096
17204
|
}) {
|
|
17097
|
-
const { t } =
|
|
17205
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
17098
17206
|
const titleId = react.useId();
|
|
17099
17207
|
const [pointId, setPointId] = react.useState(stops[0]?.id ?? "");
|
|
17100
17208
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -17165,7 +17273,7 @@ function BoardingRoster({
|
|
|
17165
17273
|
onRetry,
|
|
17166
17274
|
stops
|
|
17167
17275
|
}) {
|
|
17168
|
-
const { t } =
|
|
17276
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
17169
17277
|
if (failed) {
|
|
17170
17278
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-pickups-section__state", role: "alert", children: [
|
|
17171
17279
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-pickups-section__state-title", children: t("chrome.tripPickups.boardingFailedTitle") }),
|
|
@@ -17225,7 +17333,7 @@ function TravellerBoardRow({
|
|
|
17225
17333
|
busy,
|
|
17226
17334
|
onCorrect
|
|
17227
17335
|
}) {
|
|
17228
|
-
const { t } =
|
|
17336
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
17229
17337
|
const correctable = occupant.status !== "PENDING";
|
|
17230
17338
|
const next = occupant.status === "BOARDED" ? "NO_SHOW" : "BOARDED";
|
|
17231
17339
|
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "kf-trip-pickups-section__roster-row", children: [
|
|
@@ -17263,7 +17371,7 @@ function DeleteStopDialog({
|
|
|
17263
17371
|
onDelete,
|
|
17264
17372
|
onClose
|
|
17265
17373
|
}) {
|
|
17266
|
-
const { t } =
|
|
17374
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
17267
17375
|
const titleId = react.useId();
|
|
17268
17376
|
const [target, setTarget] = react.useState(siblings[0]?.id ?? "");
|
|
17269
17377
|
const occupied = stop.expectedCount > 0;
|
|
@@ -17517,7 +17625,7 @@ function PickupsEmpty({
|
|
|
17517
17625
|
kindLabel,
|
|
17518
17626
|
onAdd
|
|
17519
17627
|
}) {
|
|
17520
|
-
const { t } =
|
|
17628
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
17521
17629
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-pickups-section__state", children: [
|
|
17522
17630
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-pickups-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(BusIcon, {}) }),
|
|
17523
17631
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-pickups-section__state-title", children: t("chrome.tripPickups.emptyTitle").replace("{kind}", kindLabel) }),
|
|
@@ -17526,7 +17634,7 @@ function PickupsEmpty({
|
|
|
17526
17634
|
] });
|
|
17527
17635
|
}
|
|
17528
17636
|
function PickupsFailed({ onRetry }) {
|
|
17529
|
-
const { t } =
|
|
17637
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
17530
17638
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-pickups-section__state", role: "alert", children: [
|
|
17531
17639
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-pickups-section__state-title", children: t("chrome.tripPickups.failedTitle") }),
|
|
17532
17640
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-pickups-section__state-body", children: t("chrome.tripPickups.failedBody") }),
|
|
@@ -17534,7 +17642,7 @@ function PickupsFailed({ onRetry }) {
|
|
|
17534
17642
|
] });
|
|
17535
17643
|
}
|
|
17536
17644
|
function PickupsDark({ reason }) {
|
|
17537
|
-
const { t } =
|
|
17645
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
17538
17646
|
if (reason === "mode") {
|
|
17539
17647
|
return null;
|
|
17540
17648
|
}
|
|
@@ -17568,7 +17676,7 @@ function StopFormDialog({
|
|
|
17568
17676
|
onClose,
|
|
17569
17677
|
onSubmit
|
|
17570
17678
|
}) {
|
|
17571
|
-
const { t } =
|
|
17679
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
17572
17680
|
const titleId = react.useId();
|
|
17573
17681
|
const isEdit = stop !== null;
|
|
17574
17682
|
const [kind, setKind] = react.useState(stop?.kind ?? defaultKind);
|
|
@@ -17715,7 +17823,7 @@ function StopFormDialog({
|
|
|
17715
17823
|
);
|
|
17716
17824
|
}
|
|
17717
17825
|
function StopKebab({ stopName, onEdit, onDelete }) {
|
|
17718
|
-
const { t } =
|
|
17826
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
17719
17827
|
const [open, setOpen] = react.useState(false);
|
|
17720
17828
|
const rootRef = react.useRef(null);
|
|
17721
17829
|
const triggerRef = react.useRef(null);
|
|
@@ -17792,7 +17900,7 @@ function StopCard({
|
|
|
17792
17900
|
onDelete,
|
|
17793
17901
|
onMoveBy
|
|
17794
17902
|
}) {
|
|
17795
|
-
const { t } =
|
|
17903
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
17796
17904
|
const isClosed = stop.status === "CLOSED";
|
|
17797
17905
|
const canReorder = !isClosed;
|
|
17798
17906
|
const percent = boardedPercent(stop);
|
|
@@ -17940,7 +18048,7 @@ function Segment({
|
|
|
17940
18048
|
value,
|
|
17941
18049
|
onChange
|
|
17942
18050
|
}) {
|
|
17943
|
-
const { t } =
|
|
18051
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
17944
18052
|
return /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { className: "kf-trip-pickups-section__segment", children: [
|
|
17945
18053
|
/* @__PURE__ */ jsxRuntime.jsx("legend", { className: "kf-visually-hidden", children: t(legendKey) }),
|
|
17946
18054
|
options.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -17998,7 +18106,7 @@ function codeOf7(error) {
|
|
|
17998
18106
|
return classification?.code ?? "unknown";
|
|
17999
18107
|
}
|
|
18000
18108
|
function TripPickupsSection(props) {
|
|
18001
|
-
const session =
|
|
18109
|
+
const session = chunk4TTDAOOG_cjs.useSession();
|
|
18002
18110
|
if (session.status !== "authenticated") {
|
|
18003
18111
|
return null;
|
|
18004
18112
|
}
|
|
@@ -18010,8 +18118,8 @@ function ReadyTripPickupsSection({
|
|
|
18010
18118
|
tripStartIso,
|
|
18011
18119
|
style
|
|
18012
18120
|
}) {
|
|
18013
|
-
const { t } =
|
|
18014
|
-
const pickups =
|
|
18121
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
18122
|
+
const pickups = chunk2JNB5A6Z_cjs.usePickups(tripRef);
|
|
18015
18123
|
const [kind, setKind] = react.useState("PICKUP");
|
|
18016
18124
|
const [view, setView] = react.useState("stops");
|
|
18017
18125
|
const [overlay, setOverlay] = react.useState({ kind: "none" });
|
|
@@ -18171,7 +18279,7 @@ function ReadyTripPickupsSection({
|
|
|
18171
18279
|
const kindLabel = t(
|
|
18172
18280
|
kind === "PICKUP" ? "chrome.tripPickups.kindPickupOne" : "chrome.tripPickups.kindDropOne"
|
|
18173
18281
|
);
|
|
18174
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-pickups-section", style:
|
|
18282
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-pickups-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
18175
18283
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-pickups-section__toolbar", children: [
|
|
18176
18284
|
/* @__PURE__ */ jsxRuntime.jsx(ViewSwitcher, { value: view, onChange: setView }),
|
|
18177
18285
|
/* @__PURE__ */ jsxRuntime.jsx(KindSwitcher, { value: kind, onChange: setKind }),
|
|
@@ -18394,7 +18502,7 @@ function AutoAssignDialog({
|
|
|
18394
18502
|
onApply,
|
|
18395
18503
|
onClose
|
|
18396
18504
|
}) {
|
|
18397
|
-
const { t } =
|
|
18505
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
18398
18506
|
const titleId = react.useId();
|
|
18399
18507
|
const [reassignAll, setReassignAll] = react.useState(false);
|
|
18400
18508
|
const roomCodeById = new Map(group.rooms.map((room) => [room.id, room.code]));
|
|
@@ -18489,7 +18597,7 @@ function AutoAssignDialog({
|
|
|
18489
18597
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-rooming-section__plan", children: [
|
|
18490
18598
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-rooming-section__plan-title", children: t("chrome.tripRooming.rulesTitle") }),
|
|
18491
18599
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "kf-trip-rooming-section__rule-list", children: preview.perRule.map((entry) => {
|
|
18492
|
-
const severity =
|
|
18600
|
+
const severity = chunk2JNB5A6Z_cjs.roomingHeuristicSeverity(entry.rule);
|
|
18493
18601
|
const relaxed = entry.outcome === "relaxed";
|
|
18494
18602
|
const violation = relaxed && severity === "never";
|
|
18495
18603
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -18535,7 +18643,7 @@ function DeleteShell({
|
|
|
18535
18643
|
onConfirm,
|
|
18536
18644
|
onClose
|
|
18537
18645
|
}) {
|
|
18538
|
-
const { t } =
|
|
18646
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
18539
18647
|
const titleId = react.useId();
|
|
18540
18648
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
18541
18649
|
SheetDialog,
|
|
@@ -18581,7 +18689,7 @@ function DeleteRoomDialog({
|
|
|
18581
18689
|
onConfirm,
|
|
18582
18690
|
onClose
|
|
18583
18691
|
}) {
|
|
18584
|
-
const { t } =
|
|
18692
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
18585
18693
|
const occupied = room.beds.filter((bed) => bed.occupant !== null).length;
|
|
18586
18694
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
18587
18695
|
DeleteShell,
|
|
@@ -18607,7 +18715,7 @@ function DeleteWindowDialog({
|
|
|
18607
18715
|
onConfirm,
|
|
18608
18716
|
onClose
|
|
18609
18717
|
}) {
|
|
18610
|
-
const { t } =
|
|
18718
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
18611
18719
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
18612
18720
|
DeleteShell,
|
|
18613
18721
|
{
|
|
@@ -18705,15 +18813,15 @@ function roomTypeLabelKey(roomType) {
|
|
|
18705
18813
|
return ROOM_TYPE_LABEL_KEY[roomType] ?? "chrome.tripRooming.roomType.shared";
|
|
18706
18814
|
}
|
|
18707
18815
|
function toneAttrs(tone) {
|
|
18708
|
-
const parsed =
|
|
18816
|
+
const parsed = chunk2JNB5A6Z_cjs.parseRoomingTone(tone);
|
|
18709
18817
|
if (parsed === void 0) {
|
|
18710
|
-
return { family:
|
|
18818
|
+
return { family: chunk2JNB5A6Z_cjs.TONE_FAMILIES.UNKNOWN, shade: 0 };
|
|
18711
18819
|
}
|
|
18712
|
-
const shade = parsed.shade <
|
|
18820
|
+
const shade = parsed.shade < chunk2JNB5A6Z_cjs.SHADES_PER_FAMILY ? parsed.shade : parsed.shade % chunk2JNB5A6Z_cjs.SHADES_PER_FAMILY;
|
|
18713
18821
|
return { family: parsed.family, shade };
|
|
18714
18822
|
}
|
|
18715
18823
|
function glyphOf(occupant) {
|
|
18716
|
-
return occupant.glyph === "" ?
|
|
18824
|
+
return occupant.glyph === "" ? chunk2JNB5A6Z_cjs.FALLBACK_GLYPH : occupant.glyph;
|
|
18717
18825
|
}
|
|
18718
18826
|
function TravellerGlyph({
|
|
18719
18827
|
occupant,
|
|
@@ -18751,7 +18859,7 @@ var COLLAPSED_COUNT = 10;
|
|
|
18751
18859
|
function IdentityLegend({
|
|
18752
18860
|
occupants
|
|
18753
18861
|
}) {
|
|
18754
|
-
const { t } =
|
|
18862
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
18755
18863
|
const [open, setOpen] = react.useState(false);
|
|
18756
18864
|
if (occupants.length === 0) {
|
|
18757
18865
|
return null;
|
|
@@ -18878,7 +18986,7 @@ function RoomFormDialog({
|
|
|
18878
18986
|
onClose,
|
|
18879
18987
|
onSubmit
|
|
18880
18988
|
}) {
|
|
18881
|
-
const { t } =
|
|
18989
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
18882
18990
|
const titleId = react.useId();
|
|
18883
18991
|
const isEdit = room !== null;
|
|
18884
18992
|
const [code, setCode] = react.useState(room?.code ?? "");
|
|
@@ -19002,7 +19110,7 @@ function RoomingSkeleton() {
|
|
|
19002
19110
|
] }, id)) });
|
|
19003
19111
|
}
|
|
19004
19112
|
function RoomingEmpty({ onAddWindow }) {
|
|
19005
|
-
const { t } =
|
|
19113
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
19006
19114
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-rooming-section__state", children: [
|
|
19007
19115
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-rooming-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(BedIcon, {}) }),
|
|
19008
19116
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-rooming-section__state-title", children: t("chrome.tripRooming.emptyTitle") }),
|
|
@@ -19011,7 +19119,7 @@ function RoomingEmpty({ onAddWindow }) {
|
|
|
19011
19119
|
] });
|
|
19012
19120
|
}
|
|
19013
19121
|
function RoomingFailed({ onRetry }) {
|
|
19014
|
-
const { t } =
|
|
19122
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
19015
19123
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-rooming-section__state", role: "alert", children: [
|
|
19016
19124
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-rooming-section__state-title", children: t("chrome.tripRooming.failedTitle") }),
|
|
19017
19125
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-rooming-section__state-body", children: t("chrome.tripRooming.failedBody") }),
|
|
@@ -19019,7 +19127,7 @@ function RoomingFailed({ onRetry }) {
|
|
|
19019
19127
|
] });
|
|
19020
19128
|
}
|
|
19021
19129
|
function RoomingDark({ reason }) {
|
|
19022
|
-
const { t } =
|
|
19130
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
19023
19131
|
if (reason === "mode") {
|
|
19024
19132
|
return null;
|
|
19025
19133
|
}
|
|
@@ -19034,7 +19142,7 @@ function RoomingDark({ reason }) {
|
|
|
19034
19142
|
] });
|
|
19035
19143
|
}
|
|
19036
19144
|
function RoomKebab({ roomCode, onEdit, onDelete }) {
|
|
19037
|
-
const { t } =
|
|
19145
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
19038
19146
|
const [open, setOpen] = react.useState(false);
|
|
19039
19147
|
const rootRef = react.useRef(null);
|
|
19040
19148
|
const triggerRef = react.useRef(null);
|
|
@@ -19099,7 +19207,7 @@ function RoomKebab({ roomCode, onEdit, onDelete }) {
|
|
|
19099
19207
|
] });
|
|
19100
19208
|
}
|
|
19101
19209
|
function RoomCard({ room, drag, busy, onEdit, onDelete }) {
|
|
19102
|
-
const { t } =
|
|
19210
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
19103
19211
|
const occupied = room.beds.filter((bed) => bed.occupant !== null).length;
|
|
19104
19212
|
return /* @__PURE__ */ jsxRuntime.jsxs("article", { className: "kf-trip-rooming-section__room", "data-busy": busy ? "true" : void 0, children: [
|
|
19105
19213
|
/* @__PURE__ */ jsxRuntime.jsxs("header", { className: "kf-trip-rooming-section__room-head", children: [
|
|
@@ -19149,7 +19257,7 @@ function UnassignedStrip({
|
|
|
19149
19257
|
drag,
|
|
19150
19258
|
busy
|
|
19151
19259
|
}) {
|
|
19152
|
-
const { t } =
|
|
19260
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
19153
19261
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19154
19262
|
"div",
|
|
19155
19263
|
{
|
|
@@ -19223,7 +19331,7 @@ function WindowAccordion({
|
|
|
19223
19331
|
onEditRoom,
|
|
19224
19332
|
onDeleteRoom
|
|
19225
19333
|
}) {
|
|
19226
|
-
const { t } =
|
|
19334
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
19227
19335
|
const percent = fillPercent(group);
|
|
19228
19336
|
const bodyId = `kf-rooming-window-${group.window.id}`;
|
|
19229
19337
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -19373,7 +19481,7 @@ function WindowFormDialog({
|
|
|
19373
19481
|
onClose,
|
|
19374
19482
|
onSubmit
|
|
19375
19483
|
}) {
|
|
19376
|
-
const { t } =
|
|
19484
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
19377
19485
|
const titleId = react.useId();
|
|
19378
19486
|
const isEdit = window !== null;
|
|
19379
19487
|
const [label, setLabel] = react.useState(window?.label ?? "");
|
|
@@ -19480,7 +19588,7 @@ function codeOf8(error) {
|
|
|
19480
19588
|
return classification?.code ?? "unknown";
|
|
19481
19589
|
}
|
|
19482
19590
|
function TripRoomingSection(props) {
|
|
19483
|
-
const session =
|
|
19591
|
+
const session = chunk4TTDAOOG_cjs.useSession();
|
|
19484
19592
|
if (session.status !== "authenticated") {
|
|
19485
19593
|
return null;
|
|
19486
19594
|
}
|
|
@@ -19493,8 +19601,8 @@ function ReadyTripRoomingSection({
|
|
|
19493
19601
|
tripEndIso,
|
|
19494
19602
|
style
|
|
19495
19603
|
}) {
|
|
19496
|
-
const { t } =
|
|
19497
|
-
const rooming =
|
|
19604
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
19605
|
+
const rooming = chunk2JNB5A6Z_cjs.useRooming(tripRef);
|
|
19498
19606
|
const [openWindowId, setOpenWindowId] = react.useState(null);
|
|
19499
19607
|
const [overlay, setOverlay] = react.useState({ kind: "none" });
|
|
19500
19608
|
const [pending, setPending] = react.useState(false);
|
|
@@ -19632,7 +19740,7 @@ function ReadyTripRoomingSection({
|
|
|
19632
19740
|
return /* @__PURE__ */ jsxRuntime.jsx(RoomingDark, { reason: rooming.reason });
|
|
19633
19741
|
}
|
|
19634
19742
|
const pool = ready?.unassignedPool;
|
|
19635
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-rooming-section", style:
|
|
19743
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-rooming-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
19636
19744
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-rooming-section__toolbar", children: [
|
|
19637
19745
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-rooming-section__toolbar-title", children: t("chrome.tripRooming.panelLabel") }),
|
|
19638
19746
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-rooming-section__toolbar-spacer" }),
|
|
@@ -19866,7 +19974,7 @@ function isAgencyAuthored(vendor) {
|
|
|
19866
19974
|
return vendor.externalId.startsWith("kf-");
|
|
19867
19975
|
}
|
|
19868
19976
|
function CategoryTabs({ selected, counts, total, onSelect }) {
|
|
19869
|
-
const { t } =
|
|
19977
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
19870
19978
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-suppliers-section__chips", children: [
|
|
19871
19979
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
19872
19980
|
"button",
|
|
@@ -19909,7 +20017,7 @@ function DeleteSupplierDialog({
|
|
|
19909
20017
|
onConfirm,
|
|
19910
20018
|
onClose
|
|
19911
20019
|
}) {
|
|
19912
|
-
const { t } =
|
|
20020
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
19913
20021
|
const titleId = react.useId();
|
|
19914
20022
|
const blockers = deleteBlockers(usage);
|
|
19915
20023
|
const blockedLocally = blockers !== void 0 && blockers.vehicles + blockers.expenses > 0;
|
|
@@ -20062,7 +20170,7 @@ function SupplierFormDialog({
|
|
|
20062
20170
|
onClose,
|
|
20063
20171
|
onSubmit
|
|
20064
20172
|
}) {
|
|
20065
|
-
const { t } =
|
|
20173
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
20066
20174
|
const titleId = react.useId();
|
|
20067
20175
|
const isEdit = supplier !== null;
|
|
20068
20176
|
const [name, setName] = react.useState(supplier?.name ?? "");
|
|
@@ -20184,7 +20292,7 @@ function SuppliersSkeleton() {
|
|
|
20184
20292
|
] }, id)) });
|
|
20185
20293
|
}
|
|
20186
20294
|
function SuppliersEmpty({ onAdd }) {
|
|
20187
|
-
const { t } =
|
|
20295
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
20188
20296
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-suppliers-section__state", children: [
|
|
20189
20297
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-suppliers-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(StorefrontIcon, {}) }),
|
|
20190
20298
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-suppliers-section__state-title", children: t("chrome.tripSuppliers.emptyTitle") }),
|
|
@@ -20193,7 +20301,7 @@ function SuppliersEmpty({ onAdd }) {
|
|
|
20193
20301
|
] });
|
|
20194
20302
|
}
|
|
20195
20303
|
function SuppliersNoMatch({ onClear }) {
|
|
20196
|
-
const { t } =
|
|
20304
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
20197
20305
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-suppliers-section__state", children: [
|
|
20198
20306
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-suppliers-section__state-title", children: t("chrome.tripSuppliers.noMatchTitle") }),
|
|
20199
20307
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-suppliers-section__state-body", children: t("chrome.tripSuppliers.noMatchBody") }),
|
|
@@ -20201,7 +20309,7 @@ function SuppliersNoMatch({ onClear }) {
|
|
|
20201
20309
|
] });
|
|
20202
20310
|
}
|
|
20203
20311
|
function SuppliersFailed({ onRetry }) {
|
|
20204
|
-
const { t } =
|
|
20312
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
20205
20313
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-suppliers-section__state", role: "alert", children: [
|
|
20206
20314
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-suppliers-section__state-title", children: t("chrome.tripSuppliers.failedTitle") }),
|
|
20207
20315
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-suppliers-section__state-body", children: t("chrome.tripSuppliers.failedBody") }),
|
|
@@ -20209,7 +20317,7 @@ function SuppliersFailed({ onRetry }) {
|
|
|
20209
20317
|
] });
|
|
20210
20318
|
}
|
|
20211
20319
|
function SuppliersDark({ reason }) {
|
|
20212
|
-
const { t } =
|
|
20320
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
20213
20321
|
if (reason === "mode") {
|
|
20214
20322
|
return null;
|
|
20215
20323
|
}
|
|
@@ -20224,7 +20332,7 @@ function SuppliersDark({ reason }) {
|
|
|
20224
20332
|
] });
|
|
20225
20333
|
}
|
|
20226
20334
|
function SupplierKebab({ name, busy, onEdit, onDelete }) {
|
|
20227
|
-
const { t } =
|
|
20335
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
20228
20336
|
const [open, setOpen] = react.useState(false);
|
|
20229
20337
|
const rootRef = react.useRef(null);
|
|
20230
20338
|
const triggerRef = react.useRef(null);
|
|
@@ -20291,7 +20399,7 @@ function SupplierKebab({ name, busy, onEdit, onDelete }) {
|
|
|
20291
20399
|
] });
|
|
20292
20400
|
}
|
|
20293
20401
|
function SupplierUsageCell({ usage }) {
|
|
20294
|
-
const { t } =
|
|
20402
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
20295
20403
|
const parts = [];
|
|
20296
20404
|
if (usage.vehicles !== void 0 && usage.vehicles > 0) {
|
|
20297
20405
|
parts.push(
|
|
@@ -20335,7 +20443,7 @@ function SupplierTable({
|
|
|
20335
20443
|
onEdit,
|
|
20336
20444
|
onDelete
|
|
20337
20445
|
}) {
|
|
20338
|
-
const { t } =
|
|
20446
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
20339
20447
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-suppliers-section__table-wrap", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "kf-trip-suppliers-section__table", children: [
|
|
20340
20448
|
/* @__PURE__ */ jsxRuntime.jsx("caption", { className: "kf-visually-hidden", children: t("chrome.tripSuppliers.tableCaption") }),
|
|
20341
20449
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
@@ -20403,18 +20511,18 @@ function serverBlockOf(error) {
|
|
|
20403
20511
|
return { vehicles: details.vehicleCount ?? 0, expenses: details.expenseCount ?? 0 };
|
|
20404
20512
|
}
|
|
20405
20513
|
function TripSuppliersSection(props) {
|
|
20406
|
-
const session =
|
|
20514
|
+
const session = chunk4TTDAOOG_cjs.useSession();
|
|
20407
20515
|
if (session.status !== "authenticated") {
|
|
20408
20516
|
return null;
|
|
20409
20517
|
}
|
|
20410
20518
|
return /* @__PURE__ */ jsxRuntime.jsx(ReadyTripSuppliersSection, { ...props });
|
|
20411
20519
|
}
|
|
20412
20520
|
function ReadyTripSuppliersSection({ tripRef, style }) {
|
|
20413
|
-
const { t } =
|
|
20414
|
-
const vendors =
|
|
20415
|
-
const seating =
|
|
20416
|
-
const itinerary =
|
|
20417
|
-
const expenses =
|
|
20521
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
20522
|
+
const vendors = chunk2JNB5A6Z_cjs.useVendors(tripRef, "");
|
|
20523
|
+
const seating = chunk2JNB5A6Z_cjs.useSeating(tripRef);
|
|
20524
|
+
const itinerary = chunk2JNB5A6Z_cjs.useItinerary(tripRef);
|
|
20525
|
+
const expenses = chunk2JNB5A6Z_cjs.useExpenses(tripRef);
|
|
20418
20526
|
const [category, setCategory] = react.useState(null);
|
|
20419
20527
|
const [query, setQuery] = react.useState("");
|
|
20420
20528
|
const [sortKey, setSortKey] = react.useState("name");
|
|
@@ -20497,7 +20605,7 @@ function ReadyTripSuppliersSection({ tripRef, style }) {
|
|
|
20497
20605
|
return /* @__PURE__ */ jsxRuntime.jsx(SuppliersDark, { reason: vendors.reason });
|
|
20498
20606
|
}
|
|
20499
20607
|
const filtered = category !== null || query.trim() !== "";
|
|
20500
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-suppliers-section", style:
|
|
20608
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-suppliers-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
20501
20609
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-suppliers-section__toolbar", children: [
|
|
20502
20610
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-suppliers-section__toolbar-title", children: t("chrome.tripSuppliers.panelLabel") }),
|
|
20503
20611
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-suppliers-section__toolbar-spacer" }),
|
|
@@ -20636,7 +20744,7 @@ function AutoAssignDialog2({
|
|
|
20636
20744
|
onApply,
|
|
20637
20745
|
onClose
|
|
20638
20746
|
}) {
|
|
20639
|
-
const { t } =
|
|
20747
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
20640
20748
|
const titleId = react.useId();
|
|
20641
20749
|
const [reassignAll, setReassignAll] = react.useState(false);
|
|
20642
20750
|
const [genderAdjacency, setGenderAdjacency] = react.useState("AVOID_UNRELATED");
|
|
@@ -20798,7 +20906,7 @@ function DayFilter({
|
|
|
20798
20906
|
countByDay,
|
|
20799
20907
|
onSelect
|
|
20800
20908
|
}) {
|
|
20801
|
-
const { t } =
|
|
20909
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
20802
20910
|
const days = Array.from({ length: durationDays }, (_unused, index) => index);
|
|
20803
20911
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-vehicles-section__days", children: [
|
|
20804
20912
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-vehicles-section__days-label", children: t("chrome.tripVehicles.showDay") }),
|
|
@@ -20931,7 +21039,7 @@ function DeleteVehicleDialog({
|
|
|
20931
21039
|
onConfirm,
|
|
20932
21040
|
onClose
|
|
20933
21041
|
}) {
|
|
20934
|
-
const { t } =
|
|
21042
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
20935
21043
|
const titleId = react.useId();
|
|
20936
21044
|
const released = occupantsOf(vehicle).length;
|
|
20937
21045
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -21108,7 +21216,7 @@ function ManagerLinkDialog({
|
|
|
21108
21216
|
onClose,
|
|
21109
21217
|
onSubmit
|
|
21110
21218
|
}) {
|
|
21111
|
-
const { t } =
|
|
21219
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
21112
21220
|
const titleId = react.useId();
|
|
21113
21221
|
const [chosen, setChosen] = react.useState(null);
|
|
21114
21222
|
const demotedFrom = chosen === null ? void 0 : managerVehicleByRef.get(chosen);
|
|
@@ -21185,7 +21293,7 @@ function UnassignedStrip2({
|
|
|
21185
21293
|
drag,
|
|
21186
21294
|
busy
|
|
21187
21295
|
}) {
|
|
21188
|
-
const { t } =
|
|
21296
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
21189
21297
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21190
21298
|
"div",
|
|
21191
21299
|
{
|
|
@@ -21252,7 +21360,7 @@ function OccupantRoster({
|
|
|
21252
21360
|
variant,
|
|
21253
21361
|
emptyKey
|
|
21254
21362
|
}) {
|
|
21255
|
-
const { t } =
|
|
21363
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
21256
21364
|
const target = { containerId: vehicleId, slotLabel: "" };
|
|
21257
21365
|
const isOver = drag.overSlot !== null && drag.overSlot.containerId === vehicleId && drag.overSlot.slotLabel === "";
|
|
21258
21366
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -21296,7 +21404,7 @@ function OccupantRoster({
|
|
|
21296
21404
|
);
|
|
21297
21405
|
}
|
|
21298
21406
|
function SeatTile({ seat, vehicleId, drag, busy }) {
|
|
21299
|
-
const { t } =
|
|
21407
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
21300
21408
|
const target = { containerId: vehicleId, slotLabel: seat.seatLabel };
|
|
21301
21409
|
const isOver = drag.overSlot !== null && drag.overSlot.containerId === target.containerId && drag.overSlot.slotLabel === target.slotLabel;
|
|
21302
21410
|
const occupant = seat.occupant;
|
|
@@ -21359,7 +21467,7 @@ function VehicleKebab({
|
|
|
21359
21467
|
onUnlinkManager,
|
|
21360
21468
|
onDelete
|
|
21361
21469
|
}) {
|
|
21362
|
-
const { t } =
|
|
21470
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
21363
21471
|
const [open, setOpen] = react.useState(false);
|
|
21364
21472
|
const rootRef = react.useRef(null);
|
|
21365
21473
|
const triggerRef = react.useRef(null);
|
|
@@ -21469,7 +21577,7 @@ function VehicleCard({
|
|
|
21469
21577
|
onUnlinkManager,
|
|
21470
21578
|
onDelete
|
|
21471
21579
|
}) {
|
|
21472
|
-
const { t } =
|
|
21580
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
21473
21581
|
const percent = fillPercent2(vehicle);
|
|
21474
21582
|
const days = daysLabel(vehicle.days);
|
|
21475
21583
|
const bodyId = `kf-vehicle-${vehicle.id}`;
|
|
@@ -21604,7 +21712,7 @@ function VehicleDaysDialog({
|
|
|
21604
21712
|
onClose,
|
|
21605
21713
|
onSubmit
|
|
21606
21714
|
}) {
|
|
21607
|
-
const { t } =
|
|
21715
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
21608
21716
|
const titleId = react.useId();
|
|
21609
21717
|
const [selected, setSelected] = react.useState(vehicle.days);
|
|
21610
21718
|
const wholeTrip = selected.length === 0;
|
|
@@ -21703,7 +21811,7 @@ function VehicleFormDialog({
|
|
|
21703
21811
|
onClose,
|
|
21704
21812
|
onSubmit
|
|
21705
21813
|
}) {
|
|
21706
|
-
const { t } =
|
|
21814
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
21707
21815
|
const titleId = react.useId();
|
|
21708
21816
|
const isEdit = vehicle !== null;
|
|
21709
21817
|
const [regNo, setRegNo] = react.useState(vehicle?.regNo ?? "");
|
|
@@ -21898,7 +22006,7 @@ function VehiclesSkeleton() {
|
|
|
21898
22006
|
] }, id)) });
|
|
21899
22007
|
}
|
|
21900
22008
|
function VehiclesEmpty({ onAddVehicle }) {
|
|
21901
|
-
const { t } =
|
|
22009
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
21902
22010
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-vehicles-section__state", children: [
|
|
21903
22011
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-vehicles-section__state-glyph", children: /* @__PURE__ */ jsxRuntime.jsx(BusIcon2, {}) }),
|
|
21904
22012
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-vehicles-section__state-title", children: t("chrome.tripVehicles.emptyTitle") }),
|
|
@@ -21907,7 +22015,7 @@ function VehiclesEmpty({ onAddVehicle }) {
|
|
|
21907
22015
|
] });
|
|
21908
22016
|
}
|
|
21909
22017
|
function VehiclesFailed({ onRetry }) {
|
|
21910
|
-
const { t } =
|
|
22018
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
21911
22019
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-vehicles-section__state", role: "alert", children: [
|
|
21912
22020
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "kf-trip-vehicles-section__state-title", children: t("chrome.tripVehicles.failedTitle") }),
|
|
21913
22021
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-vehicles-section__state-body", children: t("chrome.tripVehicles.failedBody") }),
|
|
@@ -21915,7 +22023,7 @@ function VehiclesFailed({ onRetry }) {
|
|
|
21915
22023
|
] });
|
|
21916
22024
|
}
|
|
21917
22025
|
function VehiclesDark({ reason }) {
|
|
21918
|
-
const { t } =
|
|
22026
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
21919
22027
|
if (reason === "mode") {
|
|
21920
22028
|
return null;
|
|
21921
22029
|
}
|
|
@@ -21934,7 +22042,7 @@ function codeOf10(error) {
|
|
|
21934
22042
|
return classification?.code ?? "unknown";
|
|
21935
22043
|
}
|
|
21936
22044
|
function TripVehiclesSection(props) {
|
|
21937
|
-
const session =
|
|
22045
|
+
const session = chunk4TTDAOOG_cjs.useSession();
|
|
21938
22046
|
if (session.status !== "authenticated") {
|
|
21939
22047
|
return null;
|
|
21940
22048
|
}
|
|
@@ -21945,9 +22053,9 @@ function ReadyTripVehiclesSection({
|
|
|
21945
22053
|
durationDays,
|
|
21946
22054
|
style
|
|
21947
22055
|
}) {
|
|
21948
|
-
const { t } =
|
|
21949
|
-
const seating =
|
|
21950
|
-
const managers =
|
|
22056
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
22057
|
+
const seating = chunk2JNB5A6Z_cjs.useSeating(tripRef);
|
|
22058
|
+
const managers = chunk2JNB5A6Z_cjs.useManagers(tripRef);
|
|
21951
22059
|
const [openVehicleId, setOpenVehicleId] = react.useState(null);
|
|
21952
22060
|
const [day, setDay] = react.useState(null);
|
|
21953
22061
|
const [overlay, setOverlay] = react.useState({ kind: "none" });
|
|
@@ -22081,7 +22189,7 @@ function ReadyTripVehiclesSection({
|
|
|
22081
22189
|
return /* @__PURE__ */ jsxRuntime.jsx(VehiclesDark, { reason: seating.reason });
|
|
22082
22190
|
}
|
|
22083
22191
|
const pool = ready?.unassignedPool;
|
|
22084
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-vehicles-section", style:
|
|
22192
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-vehicles-section", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
22085
22193
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-vehicles-section__toolbar", children: [
|
|
22086
22194
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-vehicles-section__toolbar-title", children: t("chrome.tripVehicles.panelLabel") }),
|
|
22087
22195
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-vehicles-section__toolbar-spacer" }),
|
|
@@ -22374,7 +22482,7 @@ function WarningIcon13(props) {
|
|
|
22374
22482
|
|
|
22375
22483
|
// src/admin/composite/office/TripWorkspace/internal/panels/deriveCloseout.ts
|
|
22376
22484
|
function tabForBlocker(row) {
|
|
22377
|
-
return
|
|
22485
|
+
return chunkKY752BBA_cjs.resolveBlockerDeepLink({ actionKey: row.actionKey })?.tab;
|
|
22378
22486
|
}
|
|
22379
22487
|
function orderedBlockers(rows) {
|
|
22380
22488
|
return [...rows].sort((a, b) => {
|
|
@@ -22414,8 +22522,8 @@ function codeOf11(error) {
|
|
|
22414
22522
|
return classification?.code ?? "unknown";
|
|
22415
22523
|
}
|
|
22416
22524
|
function CloseoutCard({ tripRef, onOpenTab, litTabs }) {
|
|
22417
|
-
const { t } =
|
|
22418
|
-
const closeout =
|
|
22525
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
22526
|
+
const closeout = chunk2JNB5A6Z_cjs.useCloseout(tripRef);
|
|
22419
22527
|
const [note, setNote] = react.useState(null);
|
|
22420
22528
|
const [pending, setPending] = react.useState(void 0);
|
|
22421
22529
|
const [errorCode, setErrorCode] = react.useState(void 0);
|
|
@@ -22622,7 +22730,7 @@ function AssignManagerDialog({
|
|
|
22622
22730
|
onClose,
|
|
22623
22731
|
onAssign
|
|
22624
22732
|
}) {
|
|
22625
|
-
const { t } =
|
|
22733
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
22626
22734
|
const titleId = react.useId();
|
|
22627
22735
|
const [query, setQuery] = react.useState("");
|
|
22628
22736
|
const [selected, setSelected] = react.useState(null);
|
|
@@ -22754,8 +22862,8 @@ var ROLE_LABEL_KEY = {
|
|
|
22754
22862
|
COORDINATOR: "chrome.tripWorkspace.managers.roleCoordinator"
|
|
22755
22863
|
};
|
|
22756
22864
|
function OverviewManagersCard({ trip, onChanged }) {
|
|
22757
|
-
const { t } =
|
|
22758
|
-
const { promoteManager, assignManager, unassignManager, makeManagersFetch } =
|
|
22865
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
22866
|
+
const { promoteManager, assignManager, unassignManager, makeManagersFetch } = chunkKY752BBA_cjs.useDirectories();
|
|
22759
22867
|
const [pendingId, setPendingId] = react.useState(void 0);
|
|
22760
22868
|
const [errorCode, setErrorCode] = react.useState(void 0);
|
|
22761
22869
|
const [assignOpen, setAssignOpen] = react.useState(false);
|
|
@@ -22916,13 +23024,13 @@ function TripOverviewPanel({
|
|
|
22916
23024
|
onOpenTab,
|
|
22917
23025
|
onTripChanged
|
|
22918
23026
|
}) {
|
|
22919
|
-
const { t } =
|
|
22920
|
-
const today =
|
|
22921
|
-
const expenses =
|
|
23027
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
23028
|
+
const today = chunk2JNB5A6Z_cjs.useManagerToday(trip.ref);
|
|
23029
|
+
const expenses = chunk2JNB5A6Z_cjs.useExpenses(trip.ref);
|
|
22922
23030
|
const spendTotalMinor = expenses.status === "ready" && expenses.totals.loaded && !expenses.totals.lastFetchFailed ? expenses.totals.spendTotalMinor : void 0;
|
|
22923
23031
|
const finance = deriveFinance(trip, spendTotalMinor);
|
|
22924
23032
|
const quickActions = QUICK_ACTION_TABS.filter((key) => litTabs.has(key));
|
|
22925
|
-
const closeoutProbe =
|
|
23033
|
+
const closeoutProbe = chunk2JNB5A6Z_cjs.useCloseout(trip.ref);
|
|
22926
23034
|
const closeoutStage = closeoutProbe.status === "ready" && hasReturned(closeoutProbe.aggregate) ? closeoutProbe.aggregate?.stage ?? null : null;
|
|
22927
23035
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace__overview", children: [
|
|
22928
23036
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace__overview-main", children: [
|
|
@@ -22961,7 +23069,7 @@ function TripOverviewPanel({
|
|
|
22961
23069
|
function TodayCard({
|
|
22962
23070
|
today
|
|
22963
23071
|
}) {
|
|
22964
|
-
const { t } =
|
|
23072
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
22965
23073
|
if (today.kind === "idle") return null;
|
|
22966
23074
|
const openChecklist = today.checklist ?? [];
|
|
22967
23075
|
const itinerary = today.itinerary ?? [];
|
|
@@ -22985,7 +23093,7 @@ function TodayCard({
|
|
|
22985
23093
|
function FinanceCard({
|
|
22986
23094
|
finance
|
|
22987
23095
|
}) {
|
|
22988
|
-
const { t } =
|
|
23096
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
22989
23097
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "kf-trip-workspace__card", children: [
|
|
22990
23098
|
/* @__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") }) }),
|
|
22991
23099
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace__finance-body", children: [
|
|
@@ -23248,7 +23356,7 @@ var BLOCKER_BODY_KEY = {
|
|
|
23248
23356
|
capabilityDark: "chrome.tripWorkspace.blocker.capabilityDarkBody"
|
|
23249
23357
|
};
|
|
23250
23358
|
function TripTabPlaceholder({ tabKey, blocker }) {
|
|
23251
|
-
const { t } =
|
|
23359
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
23252
23360
|
const label = t(TAB_LABEL_KEY[tabKey]);
|
|
23253
23361
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace__placeholder", children: [
|
|
23254
23362
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-trip-workspace__placeholder-glyph", children: blocker === "deferred" ? /* @__PURE__ */ jsxRuntime.jsx(ClockIcon2, {}) : /* @__PURE__ */ jsxRuntime.jsx(LockIcon11, {}) }),
|
|
@@ -23258,7 +23366,7 @@ function TripTabPlaceholder({ tabKey, blocker }) {
|
|
|
23258
23366
|
] });
|
|
23259
23367
|
}
|
|
23260
23368
|
function TripKpiStrip({ cells }) {
|
|
23261
|
-
const { t } =
|
|
23369
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
23262
23370
|
if (cells.length === 0) return null;
|
|
23263
23371
|
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: [
|
|
23264
23372
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-workspace__kpi-label", children: t(cell.labelKey) }),
|
|
@@ -23267,7 +23375,7 @@ function TripKpiStrip({ cells }) {
|
|
|
23267
23375
|
] }, cell.key)) });
|
|
23268
23376
|
}
|
|
23269
23377
|
function TripTabRail({ tabs, activeKey, onSelect }) {
|
|
23270
|
-
const { t } =
|
|
23378
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
23271
23379
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
23272
23380
|
"div",
|
|
23273
23381
|
{
|
|
@@ -23301,7 +23409,7 @@ var STATUS_LABEL_KEY9 = {
|
|
|
23301
23409
|
CANCELLED: "chrome.tripDirectory.status.cancelled"
|
|
23302
23410
|
};
|
|
23303
23411
|
function TripWorkspaceHead({ trip, onBack, style }) {
|
|
23304
|
-
const { t } =
|
|
23412
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
23305
23413
|
const head = deriveTripHead(trip);
|
|
23306
23414
|
const subLabelParts = [
|
|
23307
23415
|
head.dateRangeLabel,
|
|
@@ -23312,7 +23420,7 @@ function TripWorkspaceHead({ trip, onBack, style }) {
|
|
|
23312
23420
|
trip.manifestCount === 1 ? "chrome.tripWorkspace.travellerCountOne" : "chrome.tripWorkspace.travellerCount"
|
|
23313
23421
|
).replace("{count}", String(trip.manifestCount))
|
|
23314
23422
|
];
|
|
23315
|
-
return /* @__PURE__ */ jsxRuntime.jsx("header", { className: "kf-trip-workspace__head", style:
|
|
23423
|
+
return /* @__PURE__ */ jsxRuntime.jsx("header", { className: "kf-trip-workspace__head", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace__head-identity", children: [
|
|
23316
23424
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace__eyebrow", children: [
|
|
23317
23425
|
onBack === void 0 ? null : /* @__PURE__ */ jsxRuntime.jsx(
|
|
23318
23426
|
"button",
|
|
@@ -23344,7 +23452,7 @@ function TripWorkspaceHead({ trip, onBack, style }) {
|
|
|
23344
23452
|
] }) });
|
|
23345
23453
|
}
|
|
23346
23454
|
function TripWorkspace(props) {
|
|
23347
|
-
const session =
|
|
23455
|
+
const session = chunk4TTDAOOG_cjs.useSession();
|
|
23348
23456
|
if (session.status !== "authenticated") {
|
|
23349
23457
|
return /* @__PURE__ */ jsxRuntime.jsx(TripWorkspaceSkeleton, {});
|
|
23350
23458
|
}
|
|
@@ -23359,10 +23467,10 @@ function ReadyTripWorkspace({
|
|
|
23359
23467
|
components,
|
|
23360
23468
|
style
|
|
23361
23469
|
}) {
|
|
23362
|
-
const { t } =
|
|
23363
|
-
const { read, readFailed, refresh } =
|
|
23470
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
23471
|
+
const { read, readFailed, refresh } = chunkKY752BBA_cjs.useAgencyTrip(tripRef);
|
|
23364
23472
|
if (readFailed) {
|
|
23365
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-workspace", style:
|
|
23473
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-workspace", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace__status-block", role: "alert", children: [
|
|
23366
23474
|
/* @__PURE__ */ jsxRuntime.jsx(WarningIcon13, { className: "kf-trip-workspace__status-icon" }),
|
|
23367
23475
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-workspace__status-title", children: t("chrome.tripWorkspace.errorTitle") }),
|
|
23368
23476
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "kf-trip-workspace__status-body", children: t("chrome.tripWorkspace.errorBody") }),
|
|
@@ -23378,7 +23486,7 @@ function ReadyTripWorkspace({
|
|
|
23378
23486
|
] }) });
|
|
23379
23487
|
}
|
|
23380
23488
|
if (read === void 0) {
|
|
23381
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-workspace", style:
|
|
23489
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "kf-trip-workspace", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: /* @__PURE__ */ jsxRuntime.jsx(TripWorkspaceSkeleton, {}) });
|
|
23382
23490
|
}
|
|
23383
23491
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
23384
23492
|
TripWorkspaceBody,
|
|
@@ -23406,7 +23514,7 @@ function TripWorkspaceBody({
|
|
|
23406
23514
|
components,
|
|
23407
23515
|
style
|
|
23408
23516
|
}) {
|
|
23409
|
-
const { statuses, loaded } =
|
|
23517
|
+
const { statuses, loaded } = chunkKY752BBA_cjs.useCapabilityStatuses(tripRef);
|
|
23410
23518
|
const Head = components?.TripWorkspaceHead ?? TripWorkspaceHead;
|
|
23411
23519
|
const tabs = react.useMemo(() => resolveTripTabs(trip.eventType, statuses), [trip.eventType, statuses]);
|
|
23412
23520
|
const [requestedTab, setRequestedTab] = react.useState(initialTab ?? "overview");
|
|
@@ -23490,7 +23598,7 @@ function TripWorkspaceBody({
|
|
|
23490
23598
|
}),
|
|
23491
23599
|
[trip, litTabs, tripRef, onTripChanged, onOpenTravellerProfile]
|
|
23492
23600
|
);
|
|
23493
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace", style:
|
|
23601
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-trip-workspace", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
23494
23602
|
/* @__PURE__ */ jsxRuntime.jsx(Head, { trip, ...onBack !== void 0 ? { onBack } : {} }),
|
|
23495
23603
|
/* @__PURE__ */ jsxRuntime.jsx(TripKpiStrip, { cells: kpis }),
|
|
23496
23604
|
loaded ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -23687,7 +23795,7 @@ function AdminShell({
|
|
|
23687
23795
|
function renderNavIcon(iconKey) {
|
|
23688
23796
|
return NavIcon !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx(NavIcon, { iconKey }) : navIcon(iconKey);
|
|
23689
23797
|
}
|
|
23690
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-shell", style:
|
|
23798
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-shell", style: chunk4TTDAOOG_cjs.tokenStyle(style), children: [
|
|
23691
23799
|
/* @__PURE__ */ jsxRuntime.jsxs("aside", { className: "kf-admin-shell__sidebar", children: [
|
|
23692
23800
|
brand !== void 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "kf-admin-shell__brand", children: [
|
|
23693
23801
|
brand.logo !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "kf-admin-shell__brand-logo", children: brand.logo }) : null,
|
|
@@ -23791,7 +23899,7 @@ function AdminShell({
|
|
|
23791
23899
|
] });
|
|
23792
23900
|
}
|
|
23793
23901
|
function KaafilAgencyWorkspace(props) {
|
|
23794
|
-
const session =
|
|
23902
|
+
const session = chunk4TTDAOOG_cjs.useSession();
|
|
23795
23903
|
if (session.status !== "authenticated") {
|
|
23796
23904
|
return null;
|
|
23797
23905
|
}
|
|
@@ -23816,8 +23924,8 @@ function ReadyKaafilAgencyWorkspace(props) {
|
|
|
23816
23924
|
components,
|
|
23817
23925
|
style
|
|
23818
23926
|
} = props;
|
|
23819
|
-
const { t } =
|
|
23820
|
-
const agencyAdminMe =
|
|
23927
|
+
const { t } = chunk4TTDAOOG_cjs.useKaafilChrome();
|
|
23928
|
+
const agencyAdminMe = chunkKY752BBA_cjs.useAgencyAdminMe();
|
|
23821
23929
|
const [internalPane, setInternalPane] = react.useState(
|
|
23822
23930
|
initialPane ?? "trips"
|
|
23823
23931
|
);
|
|
@@ -24078,27 +24186,27 @@ function ReadyKaafilAgencyWorkspace(props) {
|
|
|
24078
24186
|
|
|
24079
24187
|
Object.defineProperty(exports, "BootErrorScreen", {
|
|
24080
24188
|
enumerable: true,
|
|
24081
|
-
get: function () { return
|
|
24189
|
+
get: function () { return chunkUG4Z23IJ_cjs.BootErrorScreen; }
|
|
24082
24190
|
});
|
|
24083
24191
|
Object.defineProperty(exports, "LockedTripScreen", {
|
|
24084
24192
|
enumerable: true,
|
|
24085
|
-
get: function () { return
|
|
24193
|
+
get: function () { return chunkUG4Z23IJ_cjs.LockedTripScreen; }
|
|
24086
24194
|
});
|
|
24087
24195
|
Object.defineProperty(exports, "NotFoundScreen", {
|
|
24088
24196
|
enumerable: true,
|
|
24089
|
-
get: function () { return
|
|
24197
|
+
get: function () { return chunkUG4Z23IJ_cjs.NotFoundScreen; }
|
|
24090
24198
|
});
|
|
24091
24199
|
Object.defineProperty(exports, "OfflineFallbackScreen", {
|
|
24092
24200
|
enumerable: true,
|
|
24093
|
-
get: function () { return
|
|
24201
|
+
get: function () { return chunkUG4Z23IJ_cjs.OfflineFallbackScreen; }
|
|
24094
24202
|
});
|
|
24095
24203
|
Object.defineProperty(exports, "PlanLockedScreen", {
|
|
24096
24204
|
enumerable: true,
|
|
24097
|
-
get: function () { return
|
|
24205
|
+
get: function () { return chunkUG4Z23IJ_cjs.PlanLockedScreen; }
|
|
24098
24206
|
});
|
|
24099
24207
|
Object.defineProperty(exports, "SessionExpiredScreen", {
|
|
24100
24208
|
enumerable: true,
|
|
24101
|
-
get: function () { return
|
|
24209
|
+
get: function () { return chunkUG4Z23IJ_cjs.SessionExpiredScreen; }
|
|
24102
24210
|
});
|
|
24103
24211
|
exports.AdminShell = AdminShell;
|
|
24104
24212
|
exports.AgencySettingsScreen = AgencySettingsScreen;
|