@mindbill/react 0.31.1 → 0.31.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -3530,16 +3530,37 @@ function BillLifecycleProgress({ state, nativeStatus, submittedAt, agingDays, ap
3530
3530
  ] }, step.id)) })
3531
3531
  ] });
3532
3532
  }
3533
- function BillRejectionNotice({ rejection, title = "Why it was rejected", appearance, className, style }) {
3533
+ function BillRejectionNotice({ rejection, title = "Rejected \u2014 action required", appearance, className, style }) {
3534
+ const issues = rejection.issues?.length ? rejection.issues : [{ code: rejection.code, description: rejection.reason }];
3534
3535
  return /* @__PURE__ */ jsxs8("section", { className: classes("mb-surface mb-rejection-notice", className), style: mindBillAppearanceStyle(appearance, style), role: "alert", "aria-label": "Bill rejection reason", children: [
3535
3536
  /* @__PURE__ */ jsx8("style", { children: lifecycleSurfaceStyles }),
3536
- /* @__PURE__ */ jsx8("header", { className: "mb-surface-heading", children: /* @__PURE__ */ jsxs8("div", { children: [
3537
- /* @__PURE__ */ jsx8("strong", { children: title }),
3538
- /* @__PURE__ */ jsx8("span", { children: "Correct this issue before resubmitting." })
3539
- ] }) }),
3540
- /* @__PURE__ */ jsxs8("div", { className: "mb-rejection-reason", children: [
3541
- rejection.code ? /* @__PURE__ */ jsx8("span", { className: "mb-rejection-code", children: rejection.code }) : null,
3542
- /* @__PURE__ */ jsx8("p", { children: rejection.reason })
3537
+ /* @__PURE__ */ jsxs8("header", { className: "mb-rejection-heading", children: [
3538
+ /* @__PURE__ */ jsx8("span", { className: "mb-rejection-icon", "aria-hidden": "true", children: "!" }),
3539
+ /* @__PURE__ */ jsxs8("div", { children: [
3540
+ /* @__PURE__ */ jsx8("strong", { children: title }),
3541
+ /* @__PURE__ */ jsxs8("span", { children: [
3542
+ "Fix the ",
3543
+ issues.length === 1 ? "issue" : `${issues.length} issues`,
3544
+ " below, then resubmit."
3545
+ ] })
3546
+ ] })
3547
+ ] }),
3548
+ /* @__PURE__ */ jsxs8("ol", { className: "mb-rejection-progress", "aria-label": "Submission status", children: [
3549
+ /* @__PURE__ */ jsxs8("li", { className: "is-complete", children: [
3550
+ /* @__PURE__ */ jsx8("span", { "aria-hidden": "true", children: "\u2713" }),
3551
+ /* @__PURE__ */ jsx8("b", { children: "Sent" })
3552
+ ] }),
3553
+ /* @__PURE__ */ jsxs8("li", { className: "is-rejected", children: [
3554
+ /* @__PURE__ */ jsx8("span", { "aria-hidden": "true", children: "!" }),
3555
+ /* @__PURE__ */ jsx8("b", { children: "Rejected" })
3556
+ ] })
3557
+ ] }),
3558
+ /* @__PURE__ */ jsxs8("div", { className: "mb-rejection-issues", children: [
3559
+ /* @__PURE__ */ jsx8("strong", { children: issues.length === 1 ? "Issue to correct" : `${issues.length} issues to correct` }),
3560
+ /* @__PURE__ */ jsx8("ol", { children: issues.map((issue, index) => /* @__PURE__ */ jsxs8("li", { children: [
3561
+ issue.code ? /* @__PURE__ */ jsx8("span", { className: "mb-rejection-code", children: issue.code }) : null,
3562
+ /* @__PURE__ */ jsx8("p", { children: issue.description })
3563
+ ] }, `${issue.code ?? "issue"}-${index}`)) })
3543
3564
  ] }),
3544
3565
  rejection.receivedAt || rejection.source ? /* @__PURE__ */ jsxs8("p", { className: "mb-rejection-meta", children: [
3545
3566
  rejection.receivedAt ? `Received ${defaultFormatDate(rejection.receivedAt)}` : "Received from payer",
@@ -3817,11 +3838,11 @@ var lifecycleSurfaceStyles = `
3817
3838
  .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}
3818
3839
  .mb-progress-list{display:grid;grid-template-columns:repeat(4,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)}
3819
3840
  .mb-progress.is-rejected{border-color:color-mix(in srgb,var(--mb-danger) 34%,var(--mb-border));background:color-mix(in srgb,var(--mb-danger) 3%,var(--mb-surface));box-shadow:0 8px 24px color-mix(in srgb,var(--mb-danger) 8%,transparent)}.mb-progress.is-rejected .mb-surface-heading strong,.mb-progress.is-rejected .mb-progress-list li.is-current{color:var(--mb-danger)}.mb-progress.is-rejected .mb-progress-list li.is-current>span{border-color:var(--mb-danger);background:var(--mb-danger);color:#fff}
3820
- .mb-rejection-notice{border-left:5px solid var(--mb-danger);background:color-mix(in srgb,var(--mb-danger) 6%,var(--mb-surface));padding-left:18px}.mb-rejection-notice .mb-surface-heading{margin-bottom:12px}.mb-rejection-notice .mb-surface-heading strong{color:var(--mb-danger)}.mb-rejection-reason{display:flex;align-items:flex-start;gap:10px}.mb-rejection-reason p{margin:1px 0 0;font-size:15px;line-height:1.5}.mb-rejection-code{flex:0 0 auto;border:1px solid color-mix(in srgb,var(--mb-danger) 35%,var(--mb-border));border-radius:999px;background:var(--mb-surface);color:var(--mb-danger);font-size:12px;font-weight:800;padding:3px 8px}.mb-rejection-meta{margin:12px 0 0;color:var(--mb-muted);font-size:12px}
3841
+ .mb-rejection-notice{border:1px solid color-mix(in srgb,var(--mb-danger) 38%,var(--mb-border));border-top:5px solid var(--mb-danger);background:color-mix(in srgb,var(--mb-danger) 7%,var(--mb-surface));box-shadow:0 10px 28px color-mix(in srgb,var(--mb-danger) 10%,transparent);padding:19px 20px 16px}.mb-rejection-heading{display:flex;align-items:flex-start;gap:12px}.mb-rejection-heading>div{display:grid;gap:3px}.mb-rejection-heading strong{color:var(--mb-danger);font-size:17px;line-height:1.25}.mb-rejection-heading span{color:color-mix(in srgb,var(--mb-danger) 62%,var(--mb-text));font-size:13px}.mb-rejection-icon{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--mb-danger);color:#fff;font-size:17px;font-weight:900}.mb-rejection-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:19px 0 18px;padding:0}.mb-rejection-progress li{display:grid;gap:7px;position:relative;text-align:center;color:var(--mb-text);font-size:12px}.mb-rejection-progress li:first-child::after{content:"";position:absolute;left:calc(50% + 14px);right:calc(-50% + 14px);top:13px;height:2px;background:var(--mb-danger)}.mb-rejection-progress li>span{display:grid;place-items:center;justify-self:center;position:relative;z-index:1;width:28px;height:28px;border-radius:50%;background:var(--mb-danger);color:#fff;font-weight:800}.mb-rejection-progress li.is-complete>span{background:color-mix(in srgb,var(--mb-danger) 72%,var(--mb-text))}.mb-rejection-issues{border:1px solid color-mix(in srgb,var(--mb-danger) 22%,var(--mb-border));border-radius:10px;background:color-mix(in srgb,var(--mb-danger) 3%,var(--mb-surface));overflow:hidden}.mb-rejection-issues>strong{display:block;padding:10px 13px;border-bottom:1px solid color-mix(in srgb,var(--mb-danger) 18%,var(--mb-border));color:color-mix(in srgb,var(--mb-danger) 74%,var(--mb-text));font-size:12px;letter-spacing:.02em;text-transform:uppercase}.mb-rejection-issues ol{list-style:none;margin:0;padding:0}.mb-rejection-issues li{display:flex;align-items:flex-start;gap:11px;padding:12px 13px}.mb-rejection-issues li+li{border-top:1px solid color-mix(in srgb,var(--mb-danger) 13%,var(--mb-border))}.mb-rejection-issues p{margin:1px 0 0;font-size:14px;line-height:1.45}.mb-rejection-code{flex:0 0 auto;border:1px solid color-mix(in srgb,var(--mb-danger) 35%,var(--mb-border));border-radius:999px;background:color-mix(in srgb,var(--mb-danger) 6%,var(--mb-surface));color:var(--mb-danger);font-size:11px;font-weight:850;line-height:1.2;padding:4px 8px}.mb-rejection-meta{margin:11px 1px 0;color:color-mix(in srgb,var(--mb-danger) 50%,var(--mb-muted));font-size:12px}
3821
3842
  .mb-snapshot dl,.mb-remittance dl,.mb-contacts dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0}.mb-remittance dl{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:1px;background:var(--mb-border)}.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-remittance dl>div{border:0;background:var(--mb-surface)}.mb-snapshot dl>div:nth-child(3n+1),.mb-contacts dl>div:first-child{border-left:0}.mb-snapshot dt,.mb-remittance dt,.mb-contacts dt,.mb-payment-list 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,.mb-payment-list 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}
3822
3843
  .mb-payment-list{display:grid}.mb-payment-list article{display:grid;grid-template-columns:minmax(120px,.35fr) 1fr;gap:14px 24px;padding:16px 0;border-top:1px solid var(--mb-border)}.mb-payment-list article:first-child{border-top:0}.mb-payment-amount{display:grid;align-content:start;gap:2px}.mb-payment-amount strong{font-size:1.2rem}.mb-payment-list article>dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}.mb-payment-list article>dl>div{display:grid;align-content:start;gap:3px}.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}
3823
3844
  .mb-eor-review{border-top:4px solid var(--mb-accent);padding-top:17px}.mb-eor-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 18px;border:1px solid var(--mb-border);border-radius:10px;overflow:hidden}.mb-eor-metrics>div{display:grid;gap:4px;padding:13px 15px;border-left:1px solid var(--mb-border);border-top:1px solid var(--mb-border)}.mb-eor-metrics>div:nth-child(-n+4){border-top:0}.mb-eor-metrics>div:nth-child(4n+1){border-left:0}.mb-eor-metrics dt{color:var(--mb-muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.mb-eor-metrics dd{margin:0;font-size:15px;font-weight:800}.mb-eor-metrics .is-balance{background:color-mix(in srgb,var(--mb-accent) 7%,var(--mb-surface))}.mb-eor-table-wrap{overflow-x:auto;border:1px solid var(--mb-border);border-radius:10px}.mb-eor-table{width:100%;min-width:1080px;border-collapse:collapse;font-size:12px}.mb-eor-table th,.mb-eor-table td{padding:10px 12px;border-left:1px solid var(--mb-border);border-top:1px solid var(--mb-border);text-align:left;vertical-align:top}.mb-eor-table th:first-child,.mb-eor-table td:first-child{border-left:0}.mb-eor-table thead th{background:var(--mb-soft);color:var(--mb-muted);font-weight:800}.mb-eor-table .mb-eor-groups th{border-top:0;background:color-mix(in srgb,var(--mb-accent) 13%,var(--mb-surface));color:var(--mb-text);text-align:center}.mb-eor-table td>strong,.mb-eor-table td>span{display:block}.mb-eor-table td>span{margin-top:3px;color:var(--mb-muted)}.mb-eor-link,.mb-eor-documents button{border:0;background:transparent;color:var(--mb-accent);font:inherit;font-weight:750;padding:0;text-align:left;text-decoration:underline;cursor:pointer;overflow-wrap:anywhere}.mb-eor-documents{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
3824
- @media(max-width:700px){.mb-surface.mb-progress{padding:16px 10px}.mb-progress-list{grid-template-columns:repeat(4,minmax(0,1fr))}.mb-progress-list li{display:grid;grid-template-columns:1fr;align-items:start;gap:6px;text-align:center;font-size:10px;min-width:0}.mb-progress-list li b{font-size:10px;white-space:nowrap}.mb-progress-list li:not(:last-child)::after{left:calc(50% + 12px);right:calc(-50% + 12px);top:11px;bottom:auto;width:auto;height:2px}.mb-progress-list li>span{grid-row:auto;width:24px;height:24px;font-size:11px}.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>dl{grid-template-columns:1fr 1fr}}
3845
+ @media(max-width:700px){.mb-surface.mb-progress{padding:16px 10px}.mb-progress-list{grid-template-columns:repeat(4,minmax(0,1fr))}.mb-progress-list li{display:grid;grid-template-columns:1fr;align-items:start;gap:6px;text-align:center;font-size:10px;min-width:0}.mb-progress-list li b{font-size:10px;white-space:nowrap}.mb-progress-list li:not(:last-child)::after{left:calc(50% + 12px);right:calc(-50% + 12px);top:11px;bottom:auto;width:auto;height:2px}.mb-progress-list li>span{grid-row:auto;width:24px;height:24px;font-size:11px}.mb-rejection-notice{padding:16px 13px 13px}.mb-rejection-issues li{display:grid;gap:7px}.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>dl{grid-template-columns:1fr 1fr}}
3825
3846
  `;
3826
3847
 
3827
3848
  // src/connected-bill-lifecycle.tsx
@@ -4081,8 +4102,7 @@ function ConnectedBillLifecycle({ appearance, sandboxControls = false, className
4081
4102
  const simulations = showSandboxControls ? sandboxScenarios(data.lifecycle.state) : [];
4082
4103
  return /* @__PURE__ */ jsxs9("section", { className: ["mb-connected-lifecycle", className].filter(Boolean).join(" "), style: mindBillAppearanceStyle(appearance, style), children: [
4083
4104
  /* @__PURE__ */ jsx9("style", { children: CONNECTED_LIFECYCLE_STYLES }),
4084
- /* @__PURE__ */ jsx9(BillLifecycleProgress, { state: data.lifecycle.state, nativeStatus: data.lifecycle.nativeStatus, submittedAt: data.lifecycle.submittedAt ?? null, agingDays: data.lifecycle.agingDays ?? null, ...appearance ? { appearance } : {} }),
4085
- data.lifecycle.state.toLowerCase() === "rejected" && data.rejection ? /* @__PURE__ */ jsx9(BillRejectionNotice, { rejection: data.rejection, ...appearance ? { appearance } : {} }) : null,
4105
+ data.lifecycle.state.toLowerCase() === "rejected" && data.rejection ? /* @__PURE__ */ jsx9(BillRejectionNotice, { rejection: data.rejection, ...appearance ? { appearance } : {} }) : /* @__PURE__ */ jsx9(BillLifecycleProgress, { state: data.lifecycle.state, nativeStatus: data.lifecycle.nativeStatus, submittedAt: data.lifecycle.submittedAt ?? null, agingDays: data.lifecycle.agingDays ?? null, ...appearance ? { appearance } : {} }),
4086
4106
  /* @__PURE__ */ jsxs9("header", { className: "mb-lifecycle-head", children: [
4087
4107
  /* @__PURE__ */ jsxs9("div", { children: [
4088
4108
  /* @__PURE__ */ jsx9("div", { className: "mb-lifecycle-title", children: /* @__PURE__ */ jsxs9("h2", { children: [