@mindbill/react 0.15.0 → 0.17.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/README.md +35 -0
- package/dist/index.d.ts +59 -3
- package/dist/index.js +426 -130
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1296,6 +1296,240 @@ function ConnectedBillStatus({
|
|
|
1296
1296
|
);
|
|
1297
1297
|
}
|
|
1298
1298
|
|
|
1299
|
+
// src/bill-lifecycle-surfaces.tsx
|
|
1300
|
+
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
1301
|
+
function visibleBillLifecycleActions(actions, showUnavailable = false) {
|
|
1302
|
+
return actions.filter((action) => action.enabled || showUnavailable);
|
|
1303
|
+
}
|
|
1304
|
+
function BillLifecycleActions({
|
|
1305
|
+
actions,
|
|
1306
|
+
onAction,
|
|
1307
|
+
showUnavailable = false,
|
|
1308
|
+
disabled = false,
|
|
1309
|
+
appearance,
|
|
1310
|
+
className,
|
|
1311
|
+
style
|
|
1312
|
+
}) {
|
|
1313
|
+
const visible = visibleBillLifecycleActions(actions, showUnavailable);
|
|
1314
|
+
if (!visible.length) return null;
|
|
1315
|
+
return /* @__PURE__ */ jsxs3("div", { className: classes("mb-lifecycle-actions", className), style: mindBillAppearanceStyle(appearance, style), "aria-label": "Bill actions", children: [
|
|
1316
|
+
/* @__PURE__ */ jsx3("style", { children: lifecycleSurfaceStyles }),
|
|
1317
|
+
visible.map((action) => /* @__PURE__ */ jsxs3("div", { className: "mb-lifecycle-action", children: [
|
|
1318
|
+
/* @__PURE__ */ jsx3("button", { type: "button", className: action.primary ? "mb-action-button is-primary" : "mb-action-button", disabled: disabled || !action.enabled, onClick: () => onAction(action), children: action.label }),
|
|
1319
|
+
!action.enabled && action.reason ? /* @__PURE__ */ jsx3("span", { className: "mb-action-reason", children: action.reason }) : null
|
|
1320
|
+
] }, action.id))
|
|
1321
|
+
] });
|
|
1322
|
+
}
|
|
1323
|
+
var activityLabels = {
|
|
1324
|
+
"bill.created": "Bill created",
|
|
1325
|
+
"bill.draft": "Bill saved",
|
|
1326
|
+
"bill.scrub_failed": "Submission needs attention",
|
|
1327
|
+
"bill.submitted": "Bill submitted",
|
|
1328
|
+
"bill.accepted": "Bill accepted",
|
|
1329
|
+
"bill.rejected": "Bill rejected",
|
|
1330
|
+
"bill.denied": "Bill denied",
|
|
1331
|
+
"bill.partially_paid": "Partial payment received",
|
|
1332
|
+
"bill.paid": "Bill paid",
|
|
1333
|
+
"bill.second_review": "Second Bill Review submitted",
|
|
1334
|
+
"bill.lien": "Bill moved to lien",
|
|
1335
|
+
"bill.ibr": "Independent Bill Review submitted",
|
|
1336
|
+
"bill.closed": "Bill closed",
|
|
1337
|
+
"bill.written_off": "Balance written off",
|
|
1338
|
+
"payment.posted": "Payment posted",
|
|
1339
|
+
"eor.received": "EOR received",
|
|
1340
|
+
"bill.autofill_completed": "Bill data extracted"
|
|
1341
|
+
};
|
|
1342
|
+
function billActivityEventLabel(type) {
|
|
1343
|
+
return activityLabels[type] ?? type.replace(/[._-]+/g, " ").replace(/\b\w/g, (character) => character.toUpperCase());
|
|
1344
|
+
}
|
|
1345
|
+
function defaultFormatDate(createdAt) {
|
|
1346
|
+
const parsed = new Date(createdAt);
|
|
1347
|
+
if (Number.isNaN(parsed.getTime())) return createdAt;
|
|
1348
|
+
return new Intl.DateTimeFormat(void 0, { dateStyle: "medium", timeStyle: "short" }).format(parsed);
|
|
1349
|
+
}
|
|
1350
|
+
function BillActivityTimeline({ events, emptyLabel = "No bill activity yet.", appearance, className, style, formatDate = defaultFormatDate }) {
|
|
1351
|
+
return /* @__PURE__ */ jsxs3("section", { className: classes("mb-surface mb-activity", className), style: mindBillAppearanceStyle(appearance, style), "aria-label": "Bill activity", children: [
|
|
1352
|
+
/* @__PURE__ */ jsx3("style", { children: lifecycleSurfaceStyles }),
|
|
1353
|
+
/* @__PURE__ */ jsxs3("header", { className: "mb-surface-heading", children: [
|
|
1354
|
+
/* @__PURE__ */ jsxs3("div", { children: [
|
|
1355
|
+
/* @__PURE__ */ jsx3("strong", { children: "Bill history" }),
|
|
1356
|
+
/* @__PURE__ */ jsx3("span", { children: "Submission, payer responses, follow-up, and payments." })
|
|
1357
|
+
] }),
|
|
1358
|
+
/* @__PURE__ */ jsx3("span", { children: events.length })
|
|
1359
|
+
] }),
|
|
1360
|
+
!events.length ? /* @__PURE__ */ jsx3("p", { className: "mb-activity-empty", children: emptyLabel }) : /* @__PURE__ */ jsx3("ol", { className: "mb-activity-list", children: events.map((event) => /* @__PURE__ */ jsxs3("li", { className: "mb-activity-item", children: [
|
|
1361
|
+
/* @__PURE__ */ jsx3("span", { className: "mb-activity-marker", "aria-hidden": "true" }),
|
|
1362
|
+
/* @__PURE__ */ jsxs3("div", { className: "mb-activity-content", children: [
|
|
1363
|
+
/* @__PURE__ */ jsx3("strong", { children: event.title ?? billActivityEventLabel(event.type) }),
|
|
1364
|
+
event.description ? /* @__PURE__ */ jsx3("p", { children: event.description }) : null,
|
|
1365
|
+
/* @__PURE__ */ jsxs3("span", { children: [
|
|
1366
|
+
formatDate(event.createdAt),
|
|
1367
|
+
event.actor ? ` \xB7 ${event.actor}` : ""
|
|
1368
|
+
] })
|
|
1369
|
+
] })
|
|
1370
|
+
] }, event.id)) })
|
|
1371
|
+
] });
|
|
1372
|
+
}
|
|
1373
|
+
var lifecycleStages = [
|
|
1374
|
+
{ id: "created", label: "Created" },
|
|
1375
|
+
{ id: "submitted", label: "Submitted" },
|
|
1376
|
+
{ id: "accepted", label: "Accepted" },
|
|
1377
|
+
{ id: "response", label: "Payer response" },
|
|
1378
|
+
{ id: "follow_up", label: "Follow-up" },
|
|
1379
|
+
{ id: "closed", label: "Closed" }
|
|
1380
|
+
];
|
|
1381
|
+
function billLifecycleStage(state) {
|
|
1382
|
+
const value = state.toLowerCase();
|
|
1383
|
+
if (value.includes("closed") || value.includes("written_off")) return "closed";
|
|
1384
|
+
if (value.includes("second_review") || value.includes("ibr") || value.includes("lien") || value.includes("appeal")) return "follow_up";
|
|
1385
|
+
if (value.includes("processed") || value.includes("paid") || value.includes("denied") || value.includes("rejected") || value.includes("response")) return "response";
|
|
1386
|
+
if (value.includes("accepted")) return "accepted";
|
|
1387
|
+
if (value.includes("submitted") || value.includes("queued") || value.includes("sent")) return "submitted";
|
|
1388
|
+
return "created";
|
|
1389
|
+
}
|
|
1390
|
+
function BillLifecycleProgress({ state, nativeStatus, submittedAt, agingDays, appearance, className, style }) {
|
|
1391
|
+
const current = billLifecycleStage(state);
|
|
1392
|
+
const currentIndex = lifecycleStages.findIndex((stage) => stage.id === current);
|
|
1393
|
+
return /* @__PURE__ */ jsxs3("section", { className: classes("mb-surface mb-progress", className), style: mindBillAppearanceStyle(appearance, style), "aria-label": "Bill lifecycle", children: [
|
|
1394
|
+
/* @__PURE__ */ jsx3("style", { children: lifecycleSurfaceStyles }),
|
|
1395
|
+
/* @__PURE__ */ jsx3("header", { className: "mb-surface-heading", children: /* @__PURE__ */ jsxs3("div", { children: [
|
|
1396
|
+
/* @__PURE__ */ jsx3("strong", { children: humanize(nativeStatus || state) }),
|
|
1397
|
+
/* @__PURE__ */ jsxs3("span", { children: [
|
|
1398
|
+
submittedAt ? `Submitted ${defaultFormatDate(submittedAt)}` : "Not submitted",
|
|
1399
|
+
typeof agingDays === "number" ? ` \xB7 ${agingDays} days old` : ""
|
|
1400
|
+
] })
|
|
1401
|
+
] }) }),
|
|
1402
|
+
/* @__PURE__ */ jsx3("ol", { className: "mb-progress-list", children: lifecycleStages.map((stage, index) => {
|
|
1403
|
+
const status = index < currentIndex ? "complete" : index === currentIndex ? "current" : "upcoming";
|
|
1404
|
+
return /* @__PURE__ */ jsxs3("li", { className: `is-${status}`, "aria-current": status === "current" ? "step" : void 0, children: [
|
|
1405
|
+
/* @__PURE__ */ jsx3("span", { "aria-hidden": "true", children: status === "complete" ? "\u2713" : index + 1 }),
|
|
1406
|
+
/* @__PURE__ */ jsx3("b", { children: stage.label })
|
|
1407
|
+
] }, stage.id);
|
|
1408
|
+
}) })
|
|
1409
|
+
] });
|
|
1410
|
+
}
|
|
1411
|
+
function BillSnapshotSummary({ bill, patient, injury, delivery, appearance, className, style }) {
|
|
1412
|
+
const values = [
|
|
1413
|
+
["Patient", patient.name || [patient.firstName, patient.lastName].filter(Boolean).join(" ")],
|
|
1414
|
+
["Claim", injury.claimNumber || "\u2014"],
|
|
1415
|
+
["Payer", delivery.payerName || injury.claimsAdminName || "\u2014"],
|
|
1416
|
+
["Date of service", bill.dos || "\u2014"],
|
|
1417
|
+
["Charged", currency(bill.totalCharge)],
|
|
1418
|
+
["Balance", currency(bill.balanceDue)]
|
|
1419
|
+
];
|
|
1420
|
+
return /* @__PURE__ */ jsxs3("section", { className: classes("mb-surface mb-snapshot", className), style: mindBillAppearanceStyle(appearance, style), "aria-label": "Bill snapshot", children: [
|
|
1421
|
+
/* @__PURE__ */ jsx3("style", { children: lifecycleSurfaceStyles }),
|
|
1422
|
+
/* @__PURE__ */ jsx3("header", { className: "mb-surface-heading", children: /* @__PURE__ */ jsxs3("div", { children: [
|
|
1423
|
+
/* @__PURE__ */ jsx3("strong", { children: "Bill snapshot" }),
|
|
1424
|
+
/* @__PURE__ */ jsxs3("span", { children: [
|
|
1425
|
+
"Bill #",
|
|
1426
|
+
bill.billNumber
|
|
1427
|
+
] })
|
|
1428
|
+
] }) }),
|
|
1429
|
+
/* @__PURE__ */ jsx3("dl", { children: values.map(([label, value]) => /* @__PURE__ */ jsxs3("div", { children: [
|
|
1430
|
+
/* @__PURE__ */ jsx3("dt", { children: label }),
|
|
1431
|
+
/* @__PURE__ */ jsx3("dd", { children: value })
|
|
1432
|
+
] }, label)) })
|
|
1433
|
+
] });
|
|
1434
|
+
}
|
|
1435
|
+
function BillRemittanceCard({ remittance, appearance, className, style }) {
|
|
1436
|
+
return /* @__PURE__ */ jsxs3("section", { className: classes("mb-surface mb-remittance", className), style: mindBillAppearanceStyle(appearance, style), "aria-label": "Remittance summary", children: [
|
|
1437
|
+
/* @__PURE__ */ jsx3("style", { children: lifecycleSurfaceStyles }),
|
|
1438
|
+
/* @__PURE__ */ jsx3("header", { className: "mb-surface-heading", children: /* @__PURE__ */ jsxs3("div", { children: [
|
|
1439
|
+
/* @__PURE__ */ jsx3("strong", { children: "Remittance" }),
|
|
1440
|
+
/* @__PURE__ */ jsx3("span", { children: "Amounts reported by the payer and posted to the bill." })
|
|
1441
|
+
] }) }),
|
|
1442
|
+
/* @__PURE__ */ jsxs3("dl", { children: [
|
|
1443
|
+
/* @__PURE__ */ jsxs3("div", { children: [
|
|
1444
|
+
/* @__PURE__ */ jsx3("dt", { children: "Payer reported" }),
|
|
1445
|
+
/* @__PURE__ */ jsx3("dd", { children: remittance.payerReportedPaid === null ? "\u2014" : currency(remittance.payerReportedPaid) })
|
|
1446
|
+
] }),
|
|
1447
|
+
/* @__PURE__ */ jsxs3("div", { children: [
|
|
1448
|
+
/* @__PURE__ */ jsx3("dt", { children: "Posted" }),
|
|
1449
|
+
/* @__PURE__ */ jsx3("dd", { children: currency(remittance.totalPaid) })
|
|
1450
|
+
] }),
|
|
1451
|
+
/* @__PURE__ */ jsxs3("div", { children: [
|
|
1452
|
+
/* @__PURE__ */ jsx3("dt", { children: "Balance" }),
|
|
1453
|
+
/* @__PURE__ */ jsx3("dd", { children: currency(remittance.balanceDue) })
|
|
1454
|
+
] })
|
|
1455
|
+
] }),
|
|
1456
|
+
remittance.denialReason ? /* @__PURE__ */ jsxs3("div", { className: "mb-denial", children: [
|
|
1457
|
+
/* @__PURE__ */ jsx3("strong", { children: "Denial reason" }),
|
|
1458
|
+
/* @__PURE__ */ jsx3("p", { children: remittance.denialReason })
|
|
1459
|
+
] }) : null
|
|
1460
|
+
] });
|
|
1461
|
+
}
|
|
1462
|
+
function BillPayerContactCard({ delivery, appearance, className, style }) {
|
|
1463
|
+
const contacts = [
|
|
1464
|
+
delivery.contacts.adjusterName ? ["Adjuster", delivery.contacts.adjusterName, null] : null,
|
|
1465
|
+
delivery.contacts.adjusterPhone ? ["Adjuster phone", delivery.contacts.adjusterPhone, `tel:${delivery.contacts.adjusterPhone}`] : null,
|
|
1466
|
+
delivery.contacts.adjusterEmail ? ["Adjuster email", delivery.contacts.adjusterEmail, `mailto:${delivery.contacts.adjusterEmail}`] : null,
|
|
1467
|
+
delivery.contacts.faxNumber ? ["Fax", delivery.contacts.faxNumber, `tel:${delivery.contacts.faxNumber}`] : null,
|
|
1468
|
+
delivery.contacts.claimsEmail ? ["Email", delivery.contacts.claimsEmail, `mailto:${delivery.contacts.claimsEmail}`] : null,
|
|
1469
|
+
delivery.contacts.mailingAddress ? ["Mail", delivery.contacts.mailingAddress, null] : null,
|
|
1470
|
+
delivery.contacts.portalUrl ? ["Portal", "Open payer portal", delivery.contacts.portalUrl] : null
|
|
1471
|
+
].filter(Boolean);
|
|
1472
|
+
if (!delivery.payerName && !contacts.length) return null;
|
|
1473
|
+
return /* @__PURE__ */ jsxs3("section", { className: classes("mb-surface mb-contacts", className), style: mindBillAppearanceStyle(appearance, style), "aria-label": "Payer contact information", children: [
|
|
1474
|
+
/* @__PURE__ */ jsx3("style", { children: lifecycleSurfaceStyles }),
|
|
1475
|
+
/* @__PURE__ */ jsx3("header", { className: "mb-surface-heading", children: /* @__PURE__ */ jsxs3("div", { children: [
|
|
1476
|
+
/* @__PURE__ */ jsx3("strong", { children: delivery.payerName || "Claims administrator" }),
|
|
1477
|
+
/* @__PURE__ */ jsx3("span", { children: "Billing and follow-up contacts." })
|
|
1478
|
+
] }) }),
|
|
1479
|
+
!contacts.length ? /* @__PURE__ */ jsx3("p", { className: "mb-empty", children: "No payer contact details are available." }) : /* @__PURE__ */ jsx3("dl", { children: contacts.map(([label, value, href]) => /* @__PURE__ */ jsxs3("div", { children: [
|
|
1480
|
+
/* @__PURE__ */ jsx3("dt", { children: label }),
|
|
1481
|
+
/* @__PURE__ */ jsx3("dd", { children: href ? /* @__PURE__ */ jsx3("a", { href, target: label === "Portal" ? "_blank" : void 0, rel: label === "Portal" ? "noreferrer noopener" : void 0, children: value }) : value })
|
|
1482
|
+
] }, label)) })
|
|
1483
|
+
] });
|
|
1484
|
+
}
|
|
1485
|
+
function BillPaymentLedger({ payments, appearance, className, style }) {
|
|
1486
|
+
return /* @__PURE__ */ jsxs3("section", { className: classes("mb-surface mb-payments", className), style: mindBillAppearanceStyle(appearance, style), "aria-label": "Payment ledger", children: [
|
|
1487
|
+
/* @__PURE__ */ jsx3("style", { children: lifecycleSurfaceStyles }),
|
|
1488
|
+
/* @__PURE__ */ jsxs3("header", { className: "mb-surface-heading", children: [
|
|
1489
|
+
/* @__PURE__ */ jsxs3("div", { children: [
|
|
1490
|
+
/* @__PURE__ */ jsx3("strong", { children: "Payments" }),
|
|
1491
|
+
/* @__PURE__ */ jsx3("span", { children: "Payments posted to this bill." })
|
|
1492
|
+
] }),
|
|
1493
|
+
/* @__PURE__ */ jsx3("span", { children: payments.length })
|
|
1494
|
+
] }),
|
|
1495
|
+
!payments.length ? /* @__PURE__ */ jsx3("p", { className: "mb-empty", children: "No payments posted." }) : /* @__PURE__ */ jsx3("div", { className: "mb-payment-list", children: payments.map((payment) => /* @__PURE__ */ jsxs3("article", { children: [
|
|
1496
|
+
/* @__PURE__ */ jsxs3("div", { children: [
|
|
1497
|
+
/* @__PURE__ */ jsx3("strong", { children: currency(payment.amount) }),
|
|
1498
|
+
/* @__PURE__ */ jsxs3("span", { children: [
|
|
1499
|
+
humanize(payment.status || "posted"),
|
|
1500
|
+
" \xB7 ",
|
|
1501
|
+
payment.method.toUpperCase()
|
|
1502
|
+
] })
|
|
1503
|
+
] }),
|
|
1504
|
+
/* @__PURE__ */ jsxs3("div", { children: [
|
|
1505
|
+
/* @__PURE__ */ jsx3("span", { children: payment.checkNumber ? `#${payment.checkNumber}` : payment.source.toUpperCase() }),
|
|
1506
|
+
/* @__PURE__ */ jsx3("span", { children: payment.depositDate || defaultFormatDate(payment.postedAt) })
|
|
1507
|
+
] }),
|
|
1508
|
+
payment.note ? /* @__PURE__ */ jsx3("p", { children: payment.note }) : null
|
|
1509
|
+
] }, payment.id)) })
|
|
1510
|
+
] });
|
|
1511
|
+
}
|
|
1512
|
+
function classes(base, className) {
|
|
1513
|
+
return [base, className].filter(Boolean).join(" ");
|
|
1514
|
+
}
|
|
1515
|
+
function humanize(value) {
|
|
1516
|
+
return value.replace(/[._-]+/g, " ").replace(/\b\w/g, (character) => character.toUpperCase());
|
|
1517
|
+
}
|
|
1518
|
+
function currency(value) {
|
|
1519
|
+
return new Intl.NumberFormat(void 0, { style: "currency", currency: "USD" }).format(value);
|
|
1520
|
+
}
|
|
1521
|
+
var lifecycleSurfaceStyles = `
|
|
1522
|
+
.mb-lifecycle-actions,.mb-surface{box-sizing:border-box;color:var(--mb-text);font-family:var(--mb-font,ui-sans-serif,system-ui,sans-serif)}
|
|
1523
|
+
.mb-surface *{box-sizing:border-box}.mb-surface{background:var(--mb-surface);border:1px solid var(--mb-border);border-radius:var(--mb-radius,12px);box-shadow:var(--mb-shadow);padding:20px}
|
|
1524
|
+
.mb-surface-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.mb-surface-heading>div{display:grid;gap:2px}.mb-surface-heading strong{font-size:16px}.mb-surface-heading span,.mb-empty{color:var(--mb-muted);font-size:13px}.mb-surface-heading>span{border-radius:999px;background:var(--mb-soft);font-weight:750;padding:4px 8px}
|
|
1525
|
+
.mb-lifecycle-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}.mb-lifecycle-action{display:grid;gap:5px;max-width:260px}.mb-action-button{appearance:none;border:1px solid var(--mb-border);border-radius:var(--mb-control-radius,8px);background:var(--mb-surface);color:var(--mb-text);font:inherit;font-weight:700;line-height:1.2;padding:11px 15px;cursor:pointer}.mb-action-button:hover:not(:disabled){border-color:var(--mb-accent);color:var(--mb-accent)}.mb-action-button:focus-visible{outline:3px solid color-mix(in srgb,var(--mb-accent) 28%,transparent);outline-offset:2px}.mb-action-button.is-primary{background:var(--mb-accent);border-color:var(--mb-accent);color:var(--mb-accent-contrast)}.mb-action-button:disabled{cursor:not-allowed;opacity:.55}.mb-action-reason{color:var(--mb-muted);font-size:12px;line-height:1.35}
|
|
1526
|
+
.mb-activity-list{list-style:none;margin:0;padding:0}.mb-activity-item{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;position:relative;padding:0 0 22px}.mb-activity-item:last-child{padding-bottom:0}.mb-activity-item:not(:last-child)::before{background:var(--mb-border);content:"";left:8px;position:absolute;top:10px;bottom:0;width:1px}.mb-activity-marker{background:var(--mb-surface);border:3px solid var(--mb-accent);border-radius:999px;height:11px;margin-top:4px;position:relative;width:11px;z-index:1}.mb-activity-content{display:grid;gap:4px;min-width:0}.mb-activity-content strong{font-size:15px;line-height:1.35}.mb-activity-content p{color:var(--mb-text);font-size:14px;line-height:1.5;margin:0}.mb-activity-content span,.mb-activity-empty{color:var(--mb-muted);font-size:13px;line-height:1.45}.mb-activity-empty,.mb-empty{margin:0}
|
|
1527
|
+
.mb-progress-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));list-style:none;margin:0;padding:0}.mb-progress-list li{display:grid;gap:7px;position:relative;text-align:center;color:var(--mb-muted);font-size:12px}.mb-progress-list li:not(:last-child)::after{content:"";position:absolute;left:calc(50% + 14px);right:calc(-50% + 14px);top:13px;height:2px;background:var(--mb-border)}.mb-progress-list li.is-complete:not(:last-child)::after{background:var(--mb-accent)}.mb-progress-list li>span{display:grid;place-items:center;justify-self:center;position:relative;z-index:1;width:28px;height:28px;border:2px solid var(--mb-border);border-radius:50%;background:var(--mb-surface);font-weight:800}.mb-progress-list li.is-complete>span,.mb-progress-list li.is-current>span{border-color:var(--mb-accent);background:var(--mb-accent);color:var(--mb-accent-contrast)}.mb-progress-list li.is-current{color:var(--mb-text)}
|
|
1528
|
+
.mb-snapshot dl,.mb-remittance dl,.mb-contacts dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0}.mb-snapshot dl>div,.mb-remittance dl>div,.mb-contacts dl>div{display:grid;gap:3px;padding:10px 14px;border-left:1px solid var(--mb-border)}.mb-snapshot dl>div:nth-child(3n+1),.mb-remittance dl>div:first-child,.mb-contacts dl>div:first-child{border-left:0}.mb-snapshot dt,.mb-remittance dt,.mb-contacts dt{color:var(--mb-muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.mb-snapshot dd,.mb-remittance dd,.mb-contacts dd{font-size:14px;font-weight:750;margin:0;overflow-wrap:anywhere}.mb-contacts a{color:var(--mb-accent)}.mb-denial{margin-top:16px;border-left:4px solid var(--mb-danger);border-radius:var(--mb-control-radius);background:color-mix(in srgb,var(--mb-danger) 8%,var(--mb-surface));padding:12px 14px}.mb-denial p{margin:4px 0 0}
|
|
1529
|
+
.mb-payment-list{display:grid}.mb-payment-list article{display:grid;grid-template-columns:1fr auto;gap:5px 18px;padding:12px 0;border-top:1px solid var(--mb-border)}.mb-payment-list article:first-child{border-top:0}.mb-payment-list article>div{display:grid;gap:2px}.mb-payment-list article>div:nth-child(2){text-align:right}.mb-payment-list article span{color:var(--mb-muted);font-size:12px}.mb-payment-list article p{grid-column:1/-1;margin:0;color:var(--mb-muted);font-size:13px}
|
|
1530
|
+
@media(max-width:700px){.mb-progress-list{grid-template-columns:1fr;text-align:left}.mb-progress-list li{grid-template-columns:28px 1fr;align-items:center;text-align:left}.mb-progress-list li:not(:last-child)::after{left:13px;right:auto;top:28px;bottom:-7px;width:2px;height:auto}.mb-progress-list li>span{grid-row:1}.mb-snapshot dl,.mb-remittance dl,.mb-contacts dl{grid-template-columns:1fr 1fr}.mb-snapshot dl>div,.mb-remittance dl>div,.mb-contacts dl>div{border:0;border-top:1px solid var(--mb-border);padding:10px 0}.mb-snapshot dl>div:nth-child(-n+2),.mb-remittance dl>div:nth-child(-n+2),.mb-contacts dl>div:nth-child(-n+2){border-top:0}.mb-payment-list article{grid-template-columns:1fr}.mb-payment-list article>div:nth-child(2){text-align:left}}
|
|
1531
|
+
`;
|
|
1532
|
+
|
|
1299
1533
|
// src/connected-bill-lifecycle.tsx
|
|
1300
1534
|
import {
|
|
1301
1535
|
useCallback as useCallback2,
|
|
@@ -1310,7 +1544,7 @@ import {
|
|
|
1310
1544
|
createBillLifecycleClient
|
|
1311
1545
|
} from "@mindbill/browser";
|
|
1312
1546
|
import { createBillLifecycleClient as createBillLifecycleClient2 } from "@mindbill/browser";
|
|
1313
|
-
import { Fragment as Fragment3, jsx as
|
|
1547
|
+
import { Fragment as Fragment3, jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1314
1548
|
var DEFAULT_REFRESH_INTERVAL2 = 6e4;
|
|
1315
1549
|
function openPdf(blob, filename) {
|
|
1316
1550
|
const url = URL.createObjectURL(blob);
|
|
@@ -1462,7 +1696,7 @@ function useBillLifecycle({
|
|
|
1462
1696
|
setData(result.data);
|
|
1463
1697
|
return result.data;
|
|
1464
1698
|
} catch (cause) {
|
|
1465
|
-
const nextError = cause instanceof Error ? cause : new Error("
|
|
1699
|
+
const nextError = cause instanceof Error ? cause : new Error("The correction could not be created.");
|
|
1466
1700
|
setError(nextError);
|
|
1467
1701
|
throw nextError;
|
|
1468
1702
|
} finally {
|
|
@@ -1497,6 +1731,31 @@ function useBillLifecycle({
|
|
|
1497
1731
|
startCorrection
|
|
1498
1732
|
};
|
|
1499
1733
|
}
|
|
1734
|
+
function LifecycleDialog({
|
|
1735
|
+
children,
|
|
1736
|
+
title,
|
|
1737
|
+
onClose
|
|
1738
|
+
}) {
|
|
1739
|
+
const dialog = useRef3(null);
|
|
1740
|
+
useEffect3(() => {
|
|
1741
|
+
const previous = document.activeElement;
|
|
1742
|
+
dialog.current?.focus();
|
|
1743
|
+
const onKeyDown = (event) => {
|
|
1744
|
+
if (event.key === "Escape") onClose();
|
|
1745
|
+
};
|
|
1746
|
+
document.addEventListener("keydown", onKeyDown);
|
|
1747
|
+
return () => {
|
|
1748
|
+
document.removeEventListener("keydown", onKeyDown);
|
|
1749
|
+
previous?.focus();
|
|
1750
|
+
};
|
|
1751
|
+
}, [onClose]);
|
|
1752
|
+
return /* @__PURE__ */ jsx4("div", { className: "mb-lifecycle-dialog-backdrop", onMouseDown: (event) => {
|
|
1753
|
+
if (event.currentTarget === event.target) onClose();
|
|
1754
|
+
}, children: /* @__PURE__ */ jsxs4("div", { ref: dialog, className: "mb-lifecycle-dialog", role: "dialog", "aria-modal": "true", "aria-label": title, tabIndex: -1, children: [
|
|
1755
|
+
/* @__PURE__ */ jsx4("button", { type: "button", className: "mb-lifecycle-dialog-close", "aria-label": "Close", onClick: onClose, children: "\xD7" }),
|
|
1756
|
+
children
|
|
1757
|
+
] }) });
|
|
1758
|
+
}
|
|
1500
1759
|
function dateInputValue() {
|
|
1501
1760
|
const now = /* @__PURE__ */ new Date();
|
|
1502
1761
|
const offset = now.getTimezoneOffset() * 6e4;
|
|
@@ -1509,18 +1768,18 @@ function SupportingDocumentControl({
|
|
|
1509
1768
|
const [file, setFile] = useState3(null);
|
|
1510
1769
|
const [type, setType] = useState3("appeal");
|
|
1511
1770
|
const [busy, setBusy] = useState3(false);
|
|
1512
|
-
return /* @__PURE__ */
|
|
1513
|
-
/* @__PURE__ */
|
|
1514
|
-
/* @__PURE__ */
|
|
1515
|
-
/* @__PURE__ */
|
|
1516
|
-
/* @__PURE__ */
|
|
1517
|
-
/* @__PURE__ */
|
|
1518
|
-
/* @__PURE__ */
|
|
1519
|
-
/* @__PURE__ */
|
|
1520
|
-
/* @__PURE__ */
|
|
1771
|
+
return /* @__PURE__ */ jsxs4("div", { className: "mb-lifecycle-upload", children: [
|
|
1772
|
+
/* @__PURE__ */ jsxs4("select", { "aria-label": "Supporting document type", value: type, disabled: disabled || busy, onChange: (event) => setType(event.target.value), children: [
|
|
1773
|
+
/* @__PURE__ */ jsx4("option", { value: "appeal", children: "Second Review support" }),
|
|
1774
|
+
/* @__PURE__ */ jsx4("option", { value: "final_report", children: "Final report" }),
|
|
1775
|
+
/* @__PURE__ */ jsx4("option", { value: "proof_of_service", children: "Proof of service" }),
|
|
1776
|
+
/* @__PURE__ */ jsx4("option", { value: "letter_of_attestation", children: "Letter of attestation" }),
|
|
1777
|
+
/* @__PURE__ */ jsx4("option", { value: "form_122", children: "DWC Form 122" }),
|
|
1778
|
+
/* @__PURE__ */ jsx4("option", { value: "w9", children: "W-9" }),
|
|
1779
|
+
/* @__PURE__ */ jsx4("option", { value: "other", children: "Other supporting document" })
|
|
1521
1780
|
] }),
|
|
1522
|
-
/* @__PURE__ */
|
|
1523
|
-
/* @__PURE__ */
|
|
1781
|
+
/* @__PURE__ */ jsx4("input", { "aria-label": "Choose supporting PDF", type: "file", accept: "application/pdf,.pdf", disabled: disabled || busy, onChange: (event) => setFile(event.target.files?.[0] ?? null) }),
|
|
1782
|
+
/* @__PURE__ */ jsx4("button", { type: "button", className: "mb-lifecycle-button secondary", disabled: disabled || busy || !file, onClick: () => {
|
|
1524
1783
|
if (!file) return;
|
|
1525
1784
|
setBusy(true);
|
|
1526
1785
|
void onAdd(file, type).then(() => setFile(null)).catch(() => void 0).finally(() => setBusy(false));
|
|
@@ -1557,6 +1816,7 @@ function ConnectedBillLifecycle({
|
|
|
1557
1816
|
route: "ebill"
|
|
1558
1817
|
});
|
|
1559
1818
|
const lastData = useRef3(null);
|
|
1819
|
+
const closePanel = useCallback2(() => setPanel(""), []);
|
|
1560
1820
|
useEffect3(() => {
|
|
1561
1821
|
if (!data || data === lastData.current) return;
|
|
1562
1822
|
lastData.current = data;
|
|
@@ -1572,14 +1832,14 @@ function ConnectedBillLifecycle({
|
|
|
1572
1832
|
}));
|
|
1573
1833
|
}, [data, onChanged]);
|
|
1574
1834
|
if (lifecycle.isLoading && !data) {
|
|
1575
|
-
return /* @__PURE__ */
|
|
1835
|
+
return /* @__PURE__ */ jsx4(Fragment3, { children: loadingFallback ?? /* @__PURE__ */ jsx4("div", { className: "mb-lifecycle-loading", children: "Loading billing\u2026" }) });
|
|
1576
1836
|
}
|
|
1577
1837
|
if (!data) {
|
|
1578
1838
|
const error = lifecycle.error ?? new Error("Bill could not be loaded.");
|
|
1579
|
-
return /* @__PURE__ */
|
|
1580
|
-
/* @__PURE__ */
|
|
1581
|
-
/* @__PURE__ */
|
|
1582
|
-
/* @__PURE__ */
|
|
1839
|
+
return /* @__PURE__ */ jsx4(Fragment3, { children: errorFallback?.(error, lifecycle.refresh) ?? /* @__PURE__ */ jsxs4("div", { className: "mb-lifecycle-error", role: "alert", children: [
|
|
1840
|
+
/* @__PURE__ */ jsx4("strong", { children: "Billing is unavailable." }),
|
|
1841
|
+
/* @__PURE__ */ jsx4("span", { children: error.message }),
|
|
1842
|
+
/* @__PURE__ */ jsx4("button", { type: "button", onClick: () => void lifecycle.refresh(), children: "Try again" })
|
|
1583
1843
|
] }) });
|
|
1584
1844
|
}
|
|
1585
1845
|
const actionMap = new Map(data.lifecycle.actions.map((action) => [action.id, action]));
|
|
@@ -1609,10 +1869,30 @@ function ConnectedBillLifecycle({
|
|
|
1609
1869
|
disabled: !action.enabled || lifecycle.isMutating
|
|
1610
1870
|
}));
|
|
1611
1871
|
const canEditAndSubmit = Boolean(has("edit_and_submit"));
|
|
1612
|
-
return /* @__PURE__ */
|
|
1613
|
-
/* @__PURE__ */
|
|
1614
|
-
/* @__PURE__ */
|
|
1615
|
-
|
|
1872
|
+
return /* @__PURE__ */ jsxs4("section", { className: ["mb-connected-lifecycle", className].filter(Boolean).join(" "), style: mindBillAppearanceStyle(appearance, style), children: [
|
|
1873
|
+
/* @__PURE__ */ jsx4("style", { children: CONNECTED_LIFECYCLE_STYLES }),
|
|
1874
|
+
/* @__PURE__ */ jsx4("style", { children: CONNECTED_THEME_OVERRIDE_STYLES }),
|
|
1875
|
+
/* @__PURE__ */ jsx4(
|
|
1876
|
+
BillLifecycleProgress,
|
|
1877
|
+
{
|
|
1878
|
+
state: data.lifecycle.state,
|
|
1879
|
+
nativeStatus: data.lifecycle.nativeStatus,
|
|
1880
|
+
submittedAt: data.lifecycle.submittedAt ?? null,
|
|
1881
|
+
agingDays: data.lifecycle.agingDays ?? null,
|
|
1882
|
+
...appearance ? { appearance } : {}
|
|
1883
|
+
}
|
|
1884
|
+
),
|
|
1885
|
+
/* @__PURE__ */ jsx4(
|
|
1886
|
+
BillSnapshotSummary,
|
|
1887
|
+
{
|
|
1888
|
+
bill: data.bill,
|
|
1889
|
+
patient: data.patient,
|
|
1890
|
+
injury: data.injury,
|
|
1891
|
+
delivery: data.delivery,
|
|
1892
|
+
...appearance ? { appearance } : {}
|
|
1893
|
+
}
|
|
1894
|
+
),
|
|
1895
|
+
canEditAndSubmit ? /* @__PURE__ */ jsx4(
|
|
1616
1896
|
BillReviewForm,
|
|
1617
1897
|
{
|
|
1618
1898
|
data,
|
|
@@ -1633,7 +1913,7 @@ function ConnectedBillLifecycle({
|
|
|
1633
1913
|
},
|
|
1634
1914
|
onOpenAttachment: (attachment) => void lifecycle.openAttachment(attachment).catch(() => void 0)
|
|
1635
1915
|
}
|
|
1636
|
-
) : /* @__PURE__ */
|
|
1916
|
+
) : /* @__PURE__ */ jsx4(
|
|
1637
1917
|
BillStatusSummary,
|
|
1638
1918
|
{
|
|
1639
1919
|
status: data.lifecycle.state,
|
|
@@ -1647,96 +1927,102 @@ function ConnectedBillLifecycle({
|
|
|
1647
1927
|
...appearance ? { appearance } : {}
|
|
1648
1928
|
}
|
|
1649
1929
|
),
|
|
1650
|
-
/* @__PURE__ */
|
|
1651
|
-
/* @__PURE__ */
|
|
1652
|
-
/* @__PURE__ */
|
|
1930
|
+
/* @__PURE__ */ jsxs4("div", { className: "mb-lifecycle-toolbar", children: [
|
|
1931
|
+
/* @__PURE__ */ jsxs4("div", { children: [
|
|
1932
|
+
/* @__PURE__ */ jsxs4("strong", { children: [
|
|
1653
1933
|
"Bill #",
|
|
1654
1934
|
data.bill.billNumber
|
|
1655
1935
|
] }),
|
|
1656
|
-
/* @__PURE__ */
|
|
1936
|
+
/* @__PURE__ */ jsx4("span", { children: lifecycle.isRefreshing ? "Refreshing\u2026" : "Status and actions update automatically." })
|
|
1657
1937
|
] }),
|
|
1658
|
-
/* @__PURE__ */
|
|
1659
|
-
has("view_eor") ? /* @__PURE__ */
|
|
1660
|
-
canEditAndSubmit && has("close") ? /* @__PURE__ */
|
|
1938
|
+
/* @__PURE__ */ jsxs4("div", { className: "mb-lifecycle-toolbar-actions", children: [
|
|
1939
|
+
has("view_eor") ? /* @__PURE__ */ jsx4("button", { type: "button", className: "mb-lifecycle-button secondary", onClick: () => document.getElementById(`mb-eors-${data.bill.id}`)?.scrollIntoView({ behavior: "smooth", block: "center" }), children: "View EOR" }) : null,
|
|
1940
|
+
canEditAndSubmit && has("close") ? /* @__PURE__ */ jsx4("button", { type: "button", className: "mb-lifecycle-button quiet", onClick: () => selectPanel("close"), children: "Close bill" }) : null
|
|
1661
1941
|
] })
|
|
1662
1942
|
] }),
|
|
1663
|
-
data.eors.length ? /* @__PURE__ */
|
|
1664
|
-
/* @__PURE__ */
|
|
1665
|
-
/* @__PURE__ */
|
|
1666
|
-
/* @__PURE__ */
|
|
1667
|
-
/* @__PURE__ */
|
|
1943
|
+
data.eors.length ? /* @__PURE__ */ jsxs4("section", { className: "mb-lifecycle-card", id: `mb-eors-${data.bill.id}`, children: [
|
|
1944
|
+
/* @__PURE__ */ jsxs4("header", { children: [
|
|
1945
|
+
/* @__PURE__ */ jsxs4("div", { children: [
|
|
1946
|
+
/* @__PURE__ */ jsx4("h3", { children: "Explanation of Review" }),
|
|
1947
|
+
/* @__PURE__ */ jsx4("p", { children: "Review the payer response and original PDF before posting payment." })
|
|
1668
1948
|
] }),
|
|
1669
|
-
/* @__PURE__ */
|
|
1949
|
+
/* @__PURE__ */ jsxs4("span", { children: [
|
|
1670
1950
|
data.eors.length,
|
|
1671
1951
|
" PDF",
|
|
1672
1952
|
data.eors.length === 1 ? "" : "s"
|
|
1673
1953
|
] })
|
|
1674
1954
|
] }),
|
|
1675
|
-
/* @__PURE__ */
|
|
1676
|
-
/* @__PURE__ */
|
|
1677
|
-
/* @__PURE__ */
|
|
1678
|
-
/* @__PURE__ */
|
|
1955
|
+
/* @__PURE__ */ jsx4("ul", { className: "mb-lifecycle-documents", children: data.eors.map((eor) => /* @__PURE__ */ jsxs4("li", { children: [
|
|
1956
|
+
/* @__PURE__ */ jsxs4("div", { children: [
|
|
1957
|
+
/* @__PURE__ */ jsx4("strong", { children: eor.filename }),
|
|
1958
|
+
/* @__PURE__ */ jsx4("span", { children: eor.description || `Added ${new Date(eor.addedAt).toLocaleDateString()}` })
|
|
1679
1959
|
] }),
|
|
1680
|
-
/* @__PURE__ */
|
|
1960
|
+
/* @__PURE__ */ jsx4("button", { type: "button", className: "mb-lifecycle-button secondary", onClick: () => void lifecycle.openEor(eor).catch(() => void 0), children: "View PDF" })
|
|
1681
1961
|
] }, eor.id)) })
|
|
1682
1962
|
] }) : null,
|
|
1683
|
-
|
|
1684
|
-
/* @__PURE__ */
|
|
1685
|
-
/* @__PURE__ */
|
|
1963
|
+
/* @__PURE__ */ jsxs4("div", { className: "mb-lifecycle-detail-grid", children: [
|
|
1964
|
+
/* @__PURE__ */ jsx4(BillRemittanceCard, { remittance: data.remittance, ...appearance ? { appearance } : {} }),
|
|
1965
|
+
/* @__PURE__ */ jsx4(BillPayerContactCard, { delivery: data.delivery, ...appearance ? { appearance } : {} }),
|
|
1966
|
+
/* @__PURE__ */ jsx4(BillPaymentLedger, { payments: data.payments, ...appearance ? { appearance } : {} })
|
|
1967
|
+
] }),
|
|
1968
|
+
/* @__PURE__ */ jsx4(BillActivityTimeline, { events: data.activity, ...appearance ? { appearance } : {} }),
|
|
1969
|
+
has("independent_bill_review") ? /* @__PURE__ */ jsxs4("div", { className: "mb-lifecycle-info", children: [
|
|
1970
|
+
/* @__PURE__ */ jsx4("strong", { children: has("independent_bill_review")?.label }),
|
|
1971
|
+
/* @__PURE__ */ jsx4("span", { children: has("independent_bill_review")?.reason })
|
|
1686
1972
|
] }) : null,
|
|
1687
|
-
panel === "correction" ? /* @__PURE__ */
|
|
1688
|
-
/* @__PURE__ */
|
|
1689
|
-
/* @__PURE__ */
|
|
1690
|
-
/* @__PURE__ */
|
|
1973
|
+
panel === "correction" ? /* @__PURE__ */ jsx4(LifecycleDialog, { title: "Correct and resubmit", onClose: closePanel, children: /* @__PURE__ */ jsxs4("section", { className: "mb-lifecycle-panel", children: [
|
|
1974
|
+
/* @__PURE__ */ jsxs4("div", { children: [
|
|
1975
|
+
/* @__PURE__ */ jsx4("h3", { children: "Correct and resubmit" }),
|
|
1976
|
+
/* @__PURE__ */ jsx4("p", { children: "The rejected bill stays in history. A copied correction opens here so you can fix the rejected values and resubmit." })
|
|
1691
1977
|
] }),
|
|
1692
|
-
/* @__PURE__ */
|
|
1693
|
-
/* @__PURE__ */
|
|
1694
|
-
/* @__PURE__ */
|
|
1978
|
+
/* @__PURE__ */ jsxs4("div", { className: "mb-lifecycle-panel-actions", children: [
|
|
1979
|
+
/* @__PURE__ */ jsx4("button", { type: "button", className: "mb-lifecycle-button secondary", onClick: closePanel, children: "Cancel" }),
|
|
1980
|
+
/* @__PURE__ */ jsx4("button", { type: "button", className: "mb-lifecycle-button primary", disabled: lifecycle.isMutating, onClick: () => void complete("Correction created.", lifecycle.startCorrection), children: lifecycle.isMutating ? "Creating\u2026" : "Create correction" })
|
|
1695
1981
|
] })
|
|
1696
|
-
] }) : null,
|
|
1697
|
-
panel === "second_review" ? /* @__PURE__ */
|
|
1698
|
-
/* @__PURE__ */
|
|
1699
|
-
/* @__PURE__ */
|
|
1700
|
-
/* @__PURE__ */
|
|
1982
|
+
] }) }) : null,
|
|
1983
|
+
panel === "second_review" ? /* @__PURE__ */ jsx4(LifecycleDialog, { title: "Submit Second Review", onClose: closePanel, children: /* @__PURE__ */ jsxs4("section", { className: "mb-lifecycle-panel wide", children: [
|
|
1984
|
+
/* @__PURE__ */ jsxs4("div", { children: [
|
|
1985
|
+
/* @__PURE__ */ jsx4("h3", { children: "Submit Second Review" }),
|
|
1986
|
+
/* @__PURE__ */ jsx4("p", { children: "State why payment is disputed, confirm the payer control number, and choose the supporting documents to send." })
|
|
1701
1987
|
] }),
|
|
1702
|
-
/* @__PURE__ */
|
|
1703
|
-
/* @__PURE__ */
|
|
1704
|
-
/* @__PURE__ */
|
|
1705
|
-
/* @__PURE__ */
|
|
1988
|
+
/* @__PURE__ */ jsxs4("div", { className: "mb-lifecycle-fields two", children: [
|
|
1989
|
+
/* @__PURE__ */ jsxs4("label", { children: [
|
|
1990
|
+
/* @__PURE__ */ jsx4("span", { children: "Reason for Second Review" }),
|
|
1991
|
+
/* @__PURE__ */ jsx4("textarea", { required: true, value: review.reason, onChange: (event) => setReview((current) => ({ ...current, reason: event.target.value })) })
|
|
1706
1992
|
] }),
|
|
1707
|
-
/* @__PURE__ */
|
|
1708
|
-
/* @__PURE__ */
|
|
1709
|
-
/* @__PURE__ */
|
|
1710
|
-
/* @__PURE__ */
|
|
1993
|
+
/* @__PURE__ */ jsxs4("div", { className: "mb-lifecycle-fields", children: [
|
|
1994
|
+
/* @__PURE__ */ jsxs4("label", { children: [
|
|
1995
|
+
/* @__PURE__ */ jsx4("span", { children: "Payer claim control number" }),
|
|
1996
|
+
/* @__PURE__ */ jsx4("input", { required: true, value: review.payerClaimControlNumber, onChange: (event) => setReview((current) => ({ ...current, payerClaimControlNumber: event.target.value })) })
|
|
1711
1997
|
] }),
|
|
1712
|
-
/* @__PURE__ */
|
|
1713
|
-
/* @__PURE__ */
|
|
1714
|
-
/* @__PURE__ */
|
|
1998
|
+
/* @__PURE__ */ jsxs4("label", { children: [
|
|
1999
|
+
/* @__PURE__ */ jsx4("span", { children: "Disputed amount" }),
|
|
2000
|
+
/* @__PURE__ */ jsx4("input", { type: "number", min: "0.01", step: "0.01", value: review.disputedAmount ?? "", onChange: (event) => setReview((current) => ({ ...current, disputedAmount: event.target.value ? Number(event.target.value) : void 0 })) })
|
|
1715
2001
|
] }),
|
|
1716
|
-
/* @__PURE__ */
|
|
1717
|
-
/* @__PURE__ */
|
|
1718
|
-
/* @__PURE__ */
|
|
1719
|
-
/* @__PURE__ */
|
|
1720
|
-
/* @__PURE__ */
|
|
1721
|
-
/* @__PURE__ */
|
|
1722
|
-
/* @__PURE__ */
|
|
2002
|
+
/* @__PURE__ */ jsxs4("label", { children: [
|
|
2003
|
+
/* @__PURE__ */ jsx4("span", { children: "Send via" }),
|
|
2004
|
+
/* @__PURE__ */ jsxs4("select", { value: review.route, onChange: (event) => setReview((current) => ({ ...current, route: event.target.value })), children: [
|
|
2005
|
+
/* @__PURE__ */ jsx4("option", { value: "ebill", children: "E-bill" }),
|
|
2006
|
+
/* @__PURE__ */ jsx4("option", { value: "fax", children: "Fax" }),
|
|
2007
|
+
/* @__PURE__ */ jsx4("option", { value: "mail", children: "Mail" }),
|
|
2008
|
+
/* @__PURE__ */ jsx4("option", { value: "email", children: "Email" })
|
|
1723
2009
|
] })
|
|
1724
2010
|
] })
|
|
1725
2011
|
] })
|
|
1726
2012
|
] }),
|
|
1727
|
-
/* @__PURE__ */
|
|
1728
|
-
/* @__PURE__ */
|
|
1729
|
-
data.bill.attachments.map((attachment) => /* @__PURE__ */
|
|
1730
|
-
/* @__PURE__ */
|
|
1731
|
-
/* @__PURE__ */
|
|
1732
|
-
/* @__PURE__ */
|
|
1733
|
-
/* @__PURE__ */
|
|
2013
|
+
/* @__PURE__ */ jsxs4("fieldset", { className: "mb-lifecycle-packet", children: [
|
|
2014
|
+
/* @__PURE__ */ jsx4("legend", { children: "Supporting packet" }),
|
|
2015
|
+
data.bill.attachments.map((attachment) => /* @__PURE__ */ jsxs4("label", { children: [
|
|
2016
|
+
/* @__PURE__ */ jsx4("input", { type: "checkbox", checked: review.attachmentIds.includes(attachment.id), onChange: (event) => setReview((current) => ({ ...current, attachmentIds: event.target.checked ? [...current.attachmentIds, attachment.id] : current.attachmentIds.filter((id) => id !== attachment.id) })) }),
|
|
2017
|
+
/* @__PURE__ */ jsxs4("span", { children: [
|
|
2018
|
+
/* @__PURE__ */ jsx4("strong", { children: attachment.filename }),
|
|
2019
|
+
/* @__PURE__ */ jsx4("small", { children: attachment.description || attachment.documentType })
|
|
1734
2020
|
] }),
|
|
1735
|
-
/* @__PURE__ */
|
|
1736
|
-
/* @__PURE__ */
|
|
2021
|
+
/* @__PURE__ */ jsx4("button", { type: "button", onClick: () => void lifecycle.openAttachment(attachment).catch(() => void 0), children: "View" }),
|
|
2022
|
+
/* @__PURE__ */ jsx4("button", { type: "button", "aria-label": `Remove ${attachment.filename}`, onClick: () => void lifecycle.removeAttachment(attachment.id).catch(() => void 0), children: "\xD7" })
|
|
1737
2023
|
] }, attachment.id))
|
|
1738
2024
|
] }),
|
|
1739
|
-
/* @__PURE__ */
|
|
2025
|
+
/* @__PURE__ */ jsx4(SupportingDocumentControl, { disabled: lifecycle.isMutating, onAdd: async (file, type, description) => {
|
|
1740
2026
|
const next = await lifecycle.addAttachment(file, type, description);
|
|
1741
2027
|
setReview((current) => ({
|
|
1742
2028
|
...current,
|
|
@@ -1746,69 +2032,69 @@ function ConnectedBillLifecycle({
|
|
|
1746
2032
|
]))
|
|
1747
2033
|
}));
|
|
1748
2034
|
} }),
|
|
1749
|
-
/* @__PURE__ */
|
|
1750
|
-
/* @__PURE__ */
|
|
1751
|
-
/* @__PURE__ */
|
|
2035
|
+
/* @__PURE__ */ jsxs4("div", { className: "mb-lifecycle-panel-actions", children: [
|
|
2036
|
+
/* @__PURE__ */ jsx4("button", { type: "button", className: "mb-lifecycle-button secondary", onClick: closePanel, children: "Cancel" }),
|
|
2037
|
+
/* @__PURE__ */ jsx4("button", { type: "button", className: "mb-lifecycle-button primary", disabled: lifecycle.isMutating || !review.reason.trim() || !review.payerClaimControlNumber.trim(), onClick: () => void complete("Second Review submitted.", () => lifecycle.submitSecondReview(review)), children: lifecycle.isMutating ? "Submitting\u2026" : "Submit Second Review" })
|
|
1752
2038
|
] })
|
|
1753
|
-
] }) : null,
|
|
1754
|
-
panel === "payment" ? /* @__PURE__ */
|
|
1755
|
-
/* @__PURE__ */
|
|
1756
|
-
/* @__PURE__ */
|
|
1757
|
-
/* @__PURE__ */
|
|
2039
|
+
] }) }) : null,
|
|
2040
|
+
panel === "payment" ? /* @__PURE__ */ jsx4(LifecycleDialog, { title: "Post payment", onClose: closePanel, children: /* @__PURE__ */ jsxs4("section", { className: "mb-lifecycle-panel", children: [
|
|
2041
|
+
/* @__PURE__ */ jsxs4("div", { children: [
|
|
2042
|
+
/* @__PURE__ */ jsx4("h3", { children: "Post payment" }),
|
|
2043
|
+
/* @__PURE__ */ jsx4("p", { children: "Record funds shown on the EOR. The balance updates and the bill closes automatically when configured." })
|
|
1758
2044
|
] }),
|
|
1759
|
-
/* @__PURE__ */
|
|
1760
|
-
/* @__PURE__ */
|
|
1761
|
-
/* @__PURE__ */
|
|
1762
|
-
/* @__PURE__ */
|
|
2045
|
+
/* @__PURE__ */ jsxs4("div", { className: "mb-lifecycle-fields two", children: [
|
|
2046
|
+
/* @__PURE__ */ jsxs4("label", { children: [
|
|
2047
|
+
/* @__PURE__ */ jsx4("span", { children: "Amount" }),
|
|
2048
|
+
/* @__PURE__ */ jsx4("input", { type: "number", min: "0.01", max: data.bill.balanceDue, step: "0.01", required: true, value: payment.amount || "", onChange: (event) => setPayment((current) => ({ ...current, amount: Number(event.target.value) })) })
|
|
1763
2049
|
] }),
|
|
1764
|
-
/* @__PURE__ */
|
|
1765
|
-
/* @__PURE__ */
|
|
1766
|
-
/* @__PURE__ */
|
|
1767
|
-
/* @__PURE__ */
|
|
1768
|
-
/* @__PURE__ */
|
|
2050
|
+
/* @__PURE__ */ jsxs4("label", { children: [
|
|
2051
|
+
/* @__PURE__ */ jsx4("span", { children: "Method" }),
|
|
2052
|
+
/* @__PURE__ */ jsxs4("select", { value: payment.method, onChange: (event) => setPayment((current) => ({ ...current, method: event.target.value })), children: [
|
|
2053
|
+
/* @__PURE__ */ jsx4("option", { value: "check", children: "Check" }),
|
|
2054
|
+
/* @__PURE__ */ jsx4("option", { value: "eft", children: "EFT" })
|
|
1769
2055
|
] })
|
|
1770
2056
|
] }),
|
|
1771
|
-
/* @__PURE__ */
|
|
1772
|
-
/* @__PURE__ */
|
|
1773
|
-
/* @__PURE__ */
|
|
2057
|
+
/* @__PURE__ */ jsxs4("label", { children: [
|
|
2058
|
+
/* @__PURE__ */ jsx4("span", { children: payment.method === "check" ? "Check number" : "EFT reference" }),
|
|
2059
|
+
/* @__PURE__ */ jsx4("input", { value: payment.checkNumber, onChange: (event) => setPayment((current) => ({ ...current, checkNumber: event.target.value })) })
|
|
1774
2060
|
] }),
|
|
1775
|
-
/* @__PURE__ */
|
|
1776
|
-
/* @__PURE__ */
|
|
1777
|
-
/* @__PURE__ */
|
|
2061
|
+
/* @__PURE__ */ jsxs4("label", { children: [
|
|
2062
|
+
/* @__PURE__ */ jsx4("span", { children: "Deposit date" }),
|
|
2063
|
+
/* @__PURE__ */ jsx4("input", { type: "date", required: true, value: payment.depositDate, onChange: (event) => setPayment((current) => ({ ...current, depositDate: event.target.value })) })
|
|
1778
2064
|
] }),
|
|
1779
|
-
/* @__PURE__ */
|
|
1780
|
-
/* @__PURE__ */
|
|
2065
|
+
/* @__PURE__ */ jsxs4("label", { className: "full", children: [
|
|
2066
|
+
/* @__PURE__ */ jsxs4("span", { children: [
|
|
1781
2067
|
"Note ",
|
|
1782
|
-
/* @__PURE__ */
|
|
2068
|
+
/* @__PURE__ */ jsx4("small", { children: "Optional" })
|
|
1783
2069
|
] }),
|
|
1784
|
-
/* @__PURE__ */
|
|
2070
|
+
/* @__PURE__ */ jsx4("input", { value: payment.note, onChange: (event) => setPayment((current) => ({ ...current, note: event.target.value })) })
|
|
1785
2071
|
] })
|
|
1786
2072
|
] }),
|
|
1787
|
-
/* @__PURE__ */
|
|
1788
|
-
/* @__PURE__ */
|
|
1789
|
-
/* @__PURE__ */
|
|
2073
|
+
/* @__PURE__ */ jsxs4("div", { className: "mb-lifecycle-panel-actions", children: [
|
|
2074
|
+
/* @__PURE__ */ jsx4("button", { type: "button", className: "mb-lifecycle-button secondary", onClick: closePanel, children: "Cancel" }),
|
|
2075
|
+
/* @__PURE__ */ jsx4("button", { type: "button", className: "mb-lifecycle-button primary", disabled: lifecycle.isMutating || payment.amount <= 0 || payment.amount > data.bill.balanceDue || !payment.depositDate, onClick: () => void complete("Payment posted.", () => lifecycle.postPayment(payment)), children: lifecycle.isMutating ? "Posting\u2026" : "Post payment" })
|
|
1790
2076
|
] })
|
|
1791
|
-
] }) : null,
|
|
1792
|
-
panel === "close" ? /* @__PURE__ */
|
|
1793
|
-
/* @__PURE__ */
|
|
1794
|
-
/* @__PURE__ */
|
|
1795
|
-
/* @__PURE__ */
|
|
2077
|
+
] }) }) : null,
|
|
2078
|
+
panel === "close" ? /* @__PURE__ */ jsx4(LifecycleDialog, { title: "Close bill", onClose: closePanel, children: /* @__PURE__ */ jsxs4("section", { className: "mb-lifecycle-panel danger", children: [
|
|
2079
|
+
/* @__PURE__ */ jsxs4("div", { children: [
|
|
2080
|
+
/* @__PURE__ */ jsx4("h3", { children: "Close bill" }),
|
|
2081
|
+
/* @__PURE__ */ jsx4("p", { children: "Closing removes this bill from active A/R. Any remaining balance will be written off and the original lifecycle is preserved." })
|
|
1796
2082
|
] }),
|
|
1797
|
-
/* @__PURE__ */
|
|
1798
|
-
/* @__PURE__ */
|
|
1799
|
-
/* @__PURE__ */
|
|
2083
|
+
/* @__PURE__ */ jsxs4("label", { children: [
|
|
2084
|
+
/* @__PURE__ */ jsx4("span", { children: "Reason for closing" }),
|
|
2085
|
+
/* @__PURE__ */ jsx4("textarea", { required: true, value: closeReason, onChange: (event) => setCloseReason(event.target.value) })
|
|
1800
2086
|
] }),
|
|
1801
|
-
/* @__PURE__ */
|
|
1802
|
-
/* @__PURE__ */
|
|
1803
|
-
/* @__PURE__ */
|
|
2087
|
+
/* @__PURE__ */ jsxs4("div", { className: "mb-lifecycle-panel-actions", children: [
|
|
2088
|
+
/* @__PURE__ */ jsx4("button", { type: "button", className: "mb-lifecycle-button secondary", onClick: closePanel, children: "Cancel" }),
|
|
2089
|
+
/* @__PURE__ */ jsx4("button", { type: "button", className: "mb-lifecycle-button danger", disabled: lifecycle.isMutating || !closeReason.trim(), onClick: () => void complete("Bill closed.", () => lifecycle.closeBill({ reason: closeReason })), children: lifecycle.isMutating ? "Closing\u2026" : "Close bill" })
|
|
1804
2090
|
] })
|
|
1805
|
-
] }) : null,
|
|
1806
|
-
notice ? /* @__PURE__ */
|
|
1807
|
-
lifecycle.error ? /* @__PURE__ */
|
|
2091
|
+
] }) }) : null,
|
|
2092
|
+
notice ? /* @__PURE__ */ jsx4("div", { className: "mb-lifecycle-message success", role: "status", children: notice }) : null,
|
|
2093
|
+
lifecycle.error ? /* @__PURE__ */ jsx4("div", { className: "mb-lifecycle-message error", role: "alert", children: lifecycle.error.message }) : null
|
|
1808
2094
|
] });
|
|
1809
2095
|
}
|
|
1810
2096
|
var CONNECTED_LIFECYCLE_STYLES = `
|
|
1811
|
-
.mb-connected-lifecycle{--mb-accent:#238dbd;--mb-text:#203743;--mb-muted:#657982;--mb-border:#dbe6ea;--mb-soft:#f3f8fa;--mb-surface:#fff;display:grid;gap:14px;color:var(--mb-text);font:14px/1.45 var(--mb-font,Inter,ui-sans-serif,system-ui,sans-serif)}.mb-connected-lifecycle *{box-sizing:border-box}.mb-lifecycle-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--mb-border);border-radius:10px;background:var(--mb-surface)}.mb-lifecycle-toolbar>div:first-child{display:grid;gap:2px}.mb-lifecycle-toolbar span,.mb-lifecycle-card p,.mb-lifecycle-panel p,.mb-lifecycle-info span{color:var(--mb-muted)}.mb-lifecycle-toolbar-actions,.mb-lifecycle-panel-actions{display:flex;justify-content:flex-end;gap:8px}.mb-lifecycle-button{min-height:38px;border:1px solid var(--mb-border);border-radius:8px;background:#fff;color:var(--mb-text);cursor:pointer;font:inherit;font-weight:750;padding:8px 13px}.mb-lifecycle-button.primary{border-color:var(--mb-accent);background:var(--mb-accent);color:#fff}.mb-lifecycle-button.quiet{border-color:transparent;background:transparent;color:var(--mb-muted)}.mb-lifecycle-button.danger{border-color:#b63d35;background:#b63d35;color:#fff}.mb-lifecycle-button:disabled{cursor:not-allowed;opacity:.5}.mb-lifecycle-card,.mb-lifecycle-panel{padding:18px;border:1px solid var(--mb-border);border-radius:12px;background:var(--mb-surface)}.mb-lifecycle-card header{display:flex;align-items:start;justify-content:space-between;gap:16px}.mb-lifecycle-card h3,.mb-lifecycle-panel h3{margin:0;font-size:18px}.mb-lifecycle-card p,.mb-lifecycle-panel p{margin:3px 0 0}.mb-lifecycle-card header>span{padding:5px 8px;border-radius:999px;background:var(--mb-soft);color:var(--mb-muted);font-size:11px;font-weight:800;text-transform:uppercase}.mb-lifecycle-documents{list-style:none;margin:12px 0 0;padding:0}.mb-lifecycle-documents li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--mb-border)}.mb-lifecycle-documents li>div{display:grid}.mb-lifecycle-documents span{color:var(--mb-muted);font-size:12px}.mb-lifecycle-info{display:grid;gap:3px;padding:13px 15px;border:1px solid #cddfe5;border-radius:10px;background:var(--mb-soft)}.mb-lifecycle-panel{display:grid;gap:16px;box-shadow:0
|
|
2097
|
+
.mb-connected-lifecycle{--mb-accent:#238dbd;--mb-text:#203743;--mb-muted:#657982;--mb-border:#dbe6ea;--mb-soft:#f3f8fa;--mb-surface:#fff;display:grid;gap:14px;color:var(--mb-text);font:14px/1.45 var(--mb-font,Inter,ui-sans-serif,system-ui,sans-serif)}.mb-connected-lifecycle *{box-sizing:border-box}.mb-lifecycle-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mb-lifecycle-detail-grid>*:last-child:nth-child(odd){grid-column:1/-1}.mb-lifecycle-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--mb-border);border-radius:10px;background:var(--mb-surface)}.mb-lifecycle-toolbar>div:first-child{display:grid;gap:2px}.mb-lifecycle-toolbar span,.mb-lifecycle-card p,.mb-lifecycle-panel p,.mb-lifecycle-info span{color:var(--mb-muted)}.mb-lifecycle-toolbar-actions,.mb-lifecycle-panel-actions{display:flex;justify-content:flex-end;gap:8px}.mb-lifecycle-button{min-height:38px;border:1px solid var(--mb-border);border-radius:8px;background:#fff;color:var(--mb-text);cursor:pointer;font:inherit;font-weight:750;padding:8px 13px}.mb-lifecycle-button.primary{border-color:var(--mb-accent);background:var(--mb-accent);color:#fff}.mb-lifecycle-button.quiet{border-color:transparent;background:transparent;color:var(--mb-muted)}.mb-lifecycle-button.danger{border-color:#b63d35;background:#b63d35;color:#fff}.mb-lifecycle-button:disabled{cursor:not-allowed;opacity:.5}.mb-lifecycle-card,.mb-lifecycle-panel{padding:18px;border:1px solid var(--mb-border);border-radius:12px;background:var(--mb-surface)}.mb-lifecycle-card header{display:flex;align-items:start;justify-content:space-between;gap:16px}.mb-lifecycle-card h3,.mb-lifecycle-panel h3{margin:0;font-size:18px}.mb-lifecycle-card p,.mb-lifecycle-panel p{margin:3px 0 0}.mb-lifecycle-card header>span{padding:5px 8px;border-radius:999px;background:var(--mb-soft);color:var(--mb-muted);font-size:11px;font-weight:800;text-transform:uppercase}.mb-lifecycle-documents{list-style:none;margin:12px 0 0;padding:0}.mb-lifecycle-documents li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--mb-border)}.mb-lifecycle-documents li>div{display:grid}.mb-lifecycle-documents span{color:var(--mb-muted);font-size:12px}.mb-lifecycle-info{display:grid;gap:3px;padding:13px 15px;border:1px solid #cddfe5;border-radius:10px;background:var(--mb-soft)}.mb-lifecycle-dialog-backdrop{position:fixed;z-index:2147483000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(18,35,43,.56);backdrop-filter:blur(3px)}.mb-lifecycle-dialog{position:relative;width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;outline:0}.mb-lifecycle-dialog-close{position:absolute;z-index:1;top:12px;right:12px;width:34px;height:34px;border:1px solid var(--mb-border);border-radius:8px;background:var(--mb-surface);color:var(--mb-text);cursor:pointer;font:22px/1 inherit}.mb-lifecycle-panel{display:grid;gap:16px;padding-top:24px;box-shadow:0 24px 70px rgba(18,35,43,.22)}.mb-lifecycle-panel.danger{border-color:#ecc5c2}.mb-lifecycle-panel label{display:grid;gap:6px;font-size:12px;font-weight:750}.mb-lifecycle-panel label small{color:var(--mb-muted);font-size:inherit;font-weight:500}.mb-lifecycle-panel input,.mb-lifecycle-panel select,.mb-lifecycle-panel textarea,.mb-lifecycle-upload input,.mb-lifecycle-upload select{width:100%;min-height:42px;border:1px solid var(--mb-border);border-radius:8px;background:#fff;color:var(--mb-text);font:inherit;padding:9px 11px}.mb-lifecycle-panel textarea{min-height:100px;resize:vertical}.mb-lifecycle-fields{display:grid;gap:12px}.mb-lifecycle-fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.mb-lifecycle-fields .full{grid-column:1/-1}.mb-lifecycle-packet{display:grid;gap:0;margin:0;padding:0;border:0}.mb-lifecycle-packet legend{margin-bottom:7px;font-size:12px;font-weight:800}.mb-lifecycle-packet>label{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:10px 2px;border-top:1px solid var(--mb-border)}.mb-lifecycle-packet>label>input{width:16px;min-height:16px}.mb-lifecycle-packet>label>span{display:grid}.mb-lifecycle-packet button{border:0;background:transparent;color:var(--mb-accent);cursor:pointer;font:inherit}.mb-lifecycle-upload{display:grid;grid-template-columns:220px 1fr auto;align-items:end;gap:10px;padding:12px;border-radius:9px;background:var(--mb-soft)}.mb-lifecycle-message,.mb-lifecycle-error,.mb-lifecycle-loading{padding:12px 14px;border-radius:9px}.mb-lifecycle-message.success{background:#edf9f2;color:#217449}.mb-lifecycle-message.error,.mb-lifecycle-error{background:#fff0ef;color:#9d3029}.mb-lifecycle-error{display:flex;align-items:center;gap:12px}.mb-lifecycle-error span{flex:1}.mb-lifecycle-error button{border:1px solid currentColor;border-radius:7px;background:transparent;color:inherit;padding:7px 10px}@media(max-width:760px){.mb-lifecycle-detail-grid{grid-template-columns:1fr}.mb-lifecycle-detail-grid>*:last-child:nth-child(odd){grid-column:auto}.mb-lifecycle-toolbar,.mb-lifecycle-card header{align-items:stretch;flex-direction:column}.mb-lifecycle-toolbar-actions,.mb-lifecycle-panel-actions{justify-content:start}.mb-lifecycle-fields.two,.mb-lifecycle-upload{grid-template-columns:1fr}.mb-lifecycle-documents li{align-items:start}.mb-lifecycle-packet>label{grid-template-columns:auto 1fr auto}.mb-lifecycle-dialog-backdrop{align-items:end;padding:0}.mb-lifecycle-dialog{max-height:92vh}.mb-lifecycle-dialog .mb-lifecycle-panel{border-radius:18px 18px 0 0}.mb-lifecycle-packet>label>button:last-child{grid-column:3}}
|
|
1812
2098
|
`;
|
|
1813
2099
|
var CONNECTED_THEME_OVERRIDE_STYLES = `
|
|
1814
2100
|
.mb-connected-lifecycle{color:var(--mb-text);font-family:var(--mb-font,Inter,ui-sans-serif,system-ui,sans-serif)}
|
|
@@ -1868,12 +2154,21 @@ function MindBillBillReview(props) {
|
|
|
1868
2154
|
return widget("mindbill-bill-review", props);
|
|
1869
2155
|
}
|
|
1870
2156
|
export {
|
|
2157
|
+
BillActivityTimeline,
|
|
2158
|
+
BillLifecycleActions,
|
|
2159
|
+
BillLifecycleProgress,
|
|
2160
|
+
BillPayerContactCard,
|
|
2161
|
+
BillPaymentLedger,
|
|
2162
|
+
BillRemittanceCard,
|
|
1871
2163
|
BillReviewForm,
|
|
2164
|
+
BillSnapshotSummary,
|
|
1872
2165
|
BillStatusSummary,
|
|
1873
2166
|
ConnectedBillLifecycle,
|
|
1874
2167
|
ConnectedBillStatus,
|
|
1875
2168
|
MindBillBillReview,
|
|
1876
2169
|
MindBillBillTimeline,
|
|
2170
|
+
billActivityEventLabel,
|
|
2171
|
+
billLifecycleStage,
|
|
1877
2172
|
buildBillReviewSaveInput,
|
|
1878
2173
|
createBillLifecycleClient2 as createBillLifecycleClient,
|
|
1879
2174
|
createBillStatusClient,
|
|
@@ -1882,6 +2177,7 @@ export {
|
|
|
1882
2177
|
mindBillThemePresets,
|
|
1883
2178
|
resolveMindBillAppearance,
|
|
1884
2179
|
useBillLifecycle,
|
|
1885
|
-
useBillStatus
|
|
2180
|
+
useBillStatus,
|
|
2181
|
+
visibleBillLifecycleActions
|
|
1886
2182
|
};
|
|
1887
2183
|
//# sourceMappingURL=index.js.map
|