@mj-biz-apps/orders-ng 5.12.2 → 5.13.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.
Files changed (41) hide show
  1. package/dist/lib/data/orders-grid-state.d.ts +16 -0
  2. package/dist/lib/data/orders-grid-state.d.ts.map +1 -0
  3. package/dist/lib/data/orders-grid-state.js +45 -0
  4. package/dist/lib/data/orders-grid-state.js.map +1 -0
  5. package/dist/lib/form-panels/catalog-overviews.panels.js +6 -6
  6. package/dist/lib/form-panels/commercial-overviews.panels.js +5 -5
  7. package/dist/lib/form-panels/document-hero.component.js +2 -2
  8. package/dist/lib/form-panels/document-overviews.panels.js +7 -7
  9. package/dist/lib/form-panels/lookup-headers.panels.js +10 -10
  10. package/dist/lib/form-panels/overview-cards.component.js +2 -2
  11. package/dist/lib/form-panels/payment-header.panel.js +2 -2
  12. package/dist/lib/form-panels/price-list-header.panel.js +2 -2
  13. package/dist/lib/form-panels/product-header.panel.js +53 -16
  14. package/dist/lib/form-panels/product-header.panel.js.map +1 -1
  15. package/dist/lib/form-panels/promotion-header.panel.js +2 -2
  16. package/dist/lib/form-panels/subscription-header.panel.js +2 -2
  17. package/dist/lib/form-panels/subscription-revrec.panel.js +2 -2
  18. package/dist/lib/form-panels/subscription-term-header.panel.js +2 -2
  19. package/dist/lib/form-panels/subscription-term-revrec.panel.js +2 -2
  20. package/dist/lib/form-panels/subscription-terms.panel.js +2 -2
  21. package/dist/lib/pages/orders/orders-dashboard.page.d.ts +1 -0
  22. package/dist/lib/pages/orders/orders-dashboard.page.d.ts.map +1 -1
  23. package/dist/lib/pages/orders/orders-dashboard.page.js +19 -14
  24. package/dist/lib/pages/orders/orders-dashboard.page.js.map +1 -1
  25. package/dist/lib/pages/orders/orders-list.page.d.ts +1 -0
  26. package/dist/lib/pages/orders/orders-list.page.d.ts.map +1 -1
  27. package/dist/lib/pages/orders/orders-list.page.js +7 -4
  28. package/dist/lib/pages/orders/orders-list.page.js.map +1 -1
  29. package/dist/lib/pages/payments/account-credit.page.d.ts +1 -0
  30. package/dist/lib/pages/payments/account-credit.page.d.ts.map +1 -1
  31. package/dist/lib/pages/payments/account-credit.page.js +7 -4
  32. package/dist/lib/pages/payments/account-credit.page.js.map +1 -1
  33. package/dist/lib/pages/receivables/customer-ar.page.d.ts +1 -0
  34. package/dist/lib/pages/receivables/customer-ar.page.d.ts.map +1 -1
  35. package/dist/lib/pages/receivables/customer-ar.page.js +7 -4
  36. package/dist/lib/pages/receivables/customer-ar.page.js.map +1 -1
  37. package/dist/lib/pages/receivables/overdue.page.d.ts +1 -0
  38. package/dist/lib/pages/receivables/overdue.page.d.ts.map +1 -1
  39. package/dist/lib/pages/receivables/overdue.page.js +7 -4
  40. package/dist/lib/pages/receivables/overdue.page.js.map +1 -1
  41. package/package.json +2 -2
@@ -101,11 +101,11 @@ export class PaymentHeaderPanel extends BaseFormPanel {
101
101
  i0.ɵɵtextInterpolate(ctx.Money.Net);
102
102
  i0.ɵɵadvance(5);
103
103
  i0.ɵɵtextInterpolate(ctx.Payer);
104
- } }, styles: [".mjo-doc-hero[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: var(--mj-space-4) var(--mj-space-5);\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n}\n\n.mjo-doc-hero__identity[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.mjo-doc-hero__avatar[_ngcontent-%COMP%] {\n flex: none;\n width: 52px;\n height: 52px;\n border-radius: var(--mj-radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 1.25rem;\n}\n\n.mjo-doc-hero__avatar--reverse[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 22%, var(--mj-bg-surface));\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-hero__copy[_ngcontent-%COMP%] {\n min-width: 0;\n flex: 1;\n}\n\n.mjo-doc-hero__title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.mjo-doc-hero__title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-lg);\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1.25;\n}\n\n.mjo-doc-hero__meta[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: var(--mj-space-3);\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n}\n\n.mjo-doc-hero__stats[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));\n gap: var(--mj-space-3);\n}\n\n.mjo-doc-stat[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-doc-stat__label[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n font-weight: 600;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__value[_ngcontent-%COMP%] {\n font-size: var(--mj-text-md);\n font-weight: 650;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mjo-doc-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n font-size: var(--mj-text-xs);\n font-weight: 600;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--ok[_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--draft[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--error[_ngcontent-%COMP%] {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.mjo-doc-chip--warn[_ngcontent-%COMP%] {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-chip--info[_ngcontent-%COMP%] {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.mjo-doc-chip--muted[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-chip--on[_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--off[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-terms-toolbar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n margin-bottom: var(--mj-space-3);\n}\n\n.mjo-term-empty[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__sub[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.mjo-ov[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4);\n}\n\n.mjo-ov-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n min-width: 0;\n}\n\n.mjo-ov-card--wide[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] {\n padding: var(--mj-space-3) var(--mj-space-4) var(--mj-space-2);\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 700;\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 12px;\n}\n\n.mjo-ov-card__b[_ngcontent-%COMP%] {\n padding: 4px var(--mj-space-4) var(--mj-space-4);\n}\n\n.mjo-ov-note[_ngcontent-%COMP%] {\n margin: 0 0 var(--mj-space-3);\n font-size: var(--mj-text-sm);\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.mjo-ov-facts[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-3) var(--mj-space-4);\n}\n\n.mjo-ov-fact__l[_ngcontent-%COMP%] {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-ov-fact__v[_ngcontent-%COMP%] {\n font-size: var(--mj-text-sm);\n font-weight: 650;\n color: var(--mj-text-primary);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n font-size: var(--mj-text-sm);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n text-align: left;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child td[_ngcontent-%COMP%] {\n border-bottom: 0;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mj-space-3);\n padding: 8px 0;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-ov-row[_ngcontent-%COMP%]:last-child {\n border-bottom: 0;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 650;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 2px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-empty[_ngcontent-%COMP%] {\n padding: 12px 4px;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n}\n\n@media (max-width: 800px) {\n .mjo-ov[_ngcontent-%COMP%], \n .mjo-ov-facts[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n\n .mjo-ov-card--wide[_ngcontent-%COMP%] {\n grid-column: auto;\n }\n}"] });
104
+ } }, styles: [".mjo-doc-hero[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: var(--mj-space-4) var(--mj-space-5);\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n}\n\n.mjo-doc-hero__identity[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.mjo-doc-hero__avatar[_ngcontent-%COMP%] {\n flex: none;\n width: 52px;\n height: 52px;\n border-radius: var(--mj-radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 1.25rem;\n}\n\n.mjo-doc-hero__avatar--reverse[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 22%, var(--mj-bg-surface));\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-hero__copy[_ngcontent-%COMP%] {\n min-width: 0;\n flex: 1;\n}\n\n.mjo-doc-hero__title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.mjo-doc-hero__title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-lg);\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1.25;\n}\n\n.mjo-doc-hero__meta[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: var(--mj-space-3);\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n}\n\n.mjo-doc-hero__stats[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));\n gap: var(--mj-space-3);\n}\n\n.mjo-doc-stat[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-doc-stat__label[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n font-weight: 600;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__value[_ngcontent-%COMP%] {\n font-size: var(--mj-text-md);\n font-weight: 650;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mjo-doc-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n font-size: var(--mj-text-xs);\n font-weight: 600;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--ok[_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--draft[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--error[_ngcontent-%COMP%] {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.mjo-doc-chip--warn[_ngcontent-%COMP%] {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-chip--info[_ngcontent-%COMP%] {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.mjo-doc-chip--muted[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-chip--on[_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--off[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-terms-toolbar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n margin-bottom: var(--mj-space-3);\n}\n\n.mjo-term-empty[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__sub[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.mjo-ov[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4);\n}\n\n.mjo-ov-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n min-width: 0;\n}\n\n.mjo-ov-card--wide[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] {\n padding: var(--mj-space-3) var(--mj-space-4) var(--mj-space-2);\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 700;\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 12px;\n}\n\n.mjo-ov-card__b[_ngcontent-%COMP%] {\n padding: 4px var(--mj-space-4) var(--mj-space-4);\n}\n\n.mjo-ov-note[_ngcontent-%COMP%] {\n margin: 0 0 var(--mj-space-3);\n font-size: var(--mj-text-sm);\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.mjo-ov-facts[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-3) var(--mj-space-4);\n}\n\n.mjo-ov-fact__l[_ngcontent-%COMP%] {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-ov-fact__v[_ngcontent-%COMP%] {\n font-size: var(--mj-text-sm);\n font-weight: 650;\n color: var(--mj-text-primary);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n font-size: var(--mj-text-sm);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n text-align: left;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child td[_ngcontent-%COMP%] {\n border-bottom: 0;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mj-space-3);\n padding: 8px 0;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-ov-row[_ngcontent-%COMP%]:last-child {\n border-bottom: 0;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 650;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 2px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-empty[_ngcontent-%COMP%] {\n padding: 12px 4px;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n}\n\n@media (max-width: 800px) {\n .mjo-ov[_ngcontent-%COMP%], \n .mjo-ov-facts[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n\n .mjo-ov-card--wide[_ngcontent-%COMP%] {\n grid-column: auto;\n }\n}\n\n.mjo-doc-hero__description[_ngcontent-%COMP%] {\n margin: 0;\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n line-height: 1.5;\n white-space: pre-wrap;\n}\n\n\n\n\n.mjo-doc-hero__edit[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));\n gap: var(--mj-space-3) var(--mj-space-4);\n padding-top: var(--mj-space-4);\n border-top: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] {\n min-width: 0;\n}\n\n.mjo-doc-hero__field--span[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n}\n\n\n\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] .mj-forms-field {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: 4px;\n padding: 0;\n}\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] .mj-forms-field-label {\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-bold);\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] .mj-forms-field--editing:hover {\n margin: 0;\n padding: 0;\n}\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] .mj-forms-field-control {\n width: 100%;\n}"] });
105
105
  }
106
106
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PaymentHeaderPanel, [{
107
107
  type: Component,
108
- args: [{ standalone: false, selector: 'mjo-payment-header-panel', template: "<div class=\"mjo-doc-hero\">\n <div class=\"mjo-doc-hero__identity\">\n <div class=\"mjo-doc-hero__avatar\" [class.mjo-doc-hero__avatar--reverse]=\"IsReversal\">\n <i [class]=\"AvatarIcon\" aria-hidden=\"true\"></i>\n </div>\n <div class=\"mjo-doc-hero__copy\">\n <div class=\"mjo-doc-hero__title-row\">\n <h1 class=\"mjo-doc-hero__title\">{{ Title }}</h1>\n <span [class]=\"StatusClass\">{{ Record.Status || 'Draft' }}</span>\n @if (Record.PaymentType) {\n <span class=\"mjo-doc-chip\">{{ Record.PaymentType }}</span>\n }\n @if (IsReversal) {\n <span class=\"mjo-doc-chip mjo-doc-chip--warn\">\n <i class=\"fa-solid fa-rotate-left\" aria-hidden=\"true\"></i> Reversal\n </span>\n }\n </div>\n </div>\n </div>\n <div class=\"mjo-doc-hero__stats\">\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">Gross</span>\n <span class=\"mjo-doc-stat__value\">{{ Money.Gross }}</span>\n </div>\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">Fee</span>\n <span class=\"mjo-doc-stat__value\">{{ Money.Fee }}</span>\n </div>\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">Net</span>\n <span class=\"mjo-doc-stat__value\">{{ Money.Net }}</span>\n </div>\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">Payer</span>\n <span class=\"mjo-doc-stat__value\">{{ Payer }}</span>\n </div>\n </div>\n</div>\n", styles: [".mjo-doc-hero {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: var(--mj-space-4) var(--mj-space-5);\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n}\n\n.mjo-doc-hero__identity {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.mjo-doc-hero__avatar {\n flex: none;\n width: 52px;\n height: 52px;\n border-radius: var(--mj-radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 1.25rem;\n}\n\n.mjo-doc-hero__avatar--reverse {\n background: color-mix(in srgb, var(--mj-status-warning) 22%, var(--mj-bg-surface));\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-hero__copy {\n min-width: 0;\n flex: 1;\n}\n\n.mjo-doc-hero__title-row {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.mjo-doc-hero__title {\n margin: 0;\n font-size: var(--mj-text-lg);\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1.25;\n}\n\n.mjo-doc-hero__meta {\n display: flex;\n flex-wrap: wrap;\n gap: var(--mj-space-3);\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n}\n\n.mjo-doc-hero__stats {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));\n gap: var(--mj-space-3);\n}\n\n.mjo-doc-stat {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-doc-stat__label {\n font-size: var(--mj-text-xs);\n font-weight: 600;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__value {\n font-size: var(--mj-text-md);\n font-weight: 650;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mjo-doc-chip {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n font-size: var(--mj-text-xs);\n font-weight: 600;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--ok {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--draft {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--error {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.mjo-doc-chip--warn {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-chip--info {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.mjo-doc-chip--muted {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-chip--on {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--off {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-terms-toolbar {\n display: flex;\n justify-content: flex-end;\n margin-bottom: var(--mj-space-3);\n}\n\n.mjo-term-empty {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__sub {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.mjo-ov {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4);\n}\n\n.mjo-ov-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n min-width: 0;\n}\n\n.mjo-ov-card--wide {\n grid-column: 1 / -1;\n}\n\n.mjo-ov-card__h {\n padding: var(--mj-space-3) var(--mj-space-4) var(--mj-space-2);\n}\n\n.mjo-ov-card__h h3 {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 700;\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n}\n\n.mjo-ov-card__h i {\n color: var(--mj-brand-primary);\n font-size: 12px;\n}\n\n.mjo-ov-card__b {\n padding: 4px var(--mj-space-4) var(--mj-space-4);\n}\n\n.mjo-ov-note {\n margin: 0 0 var(--mj-space-3);\n font-size: var(--mj-text-sm);\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.mjo-ov-facts {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-3) var(--mj-space-4);\n}\n\n.mjo-ov-fact__l {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-ov-fact__v {\n font-size: var(--mj-text-sm);\n font-weight: 650;\n color: var(--mj-text-primary);\n}\n\n.mjo-ov-table {\n width: 100%;\n border-collapse: collapse;\n font-size: var(--mj-text-sm);\n}\n\n.mjo-ov-table th {\n text-align: left;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mjo-ov-table td {\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-table tr:last-child td {\n border-bottom: 0;\n}\n\n.mjo-ov-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mj-space-3);\n padding: 8px 0;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-ov-row:last-child {\n border-bottom: 0;\n}\n\n.mjo-ov-row h4 {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 650;\n}\n\n.mjo-ov-row p {\n margin: 2px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-empty {\n padding: 12px 4px;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n}\n\n@media (max-width: 800px) {\n .mjo-ov,\n .mjo-ov-facts {\n grid-template-columns: 1fr;\n }\n\n .mjo-ov-card--wide {\n grid-column: auto;\n }\n}\n"] }]
108
+ args: [{ standalone: false, selector: 'mjo-payment-header-panel', template: "<div class=\"mjo-doc-hero\">\n <div class=\"mjo-doc-hero__identity\">\n <div class=\"mjo-doc-hero__avatar\" [class.mjo-doc-hero__avatar--reverse]=\"IsReversal\">\n <i [class]=\"AvatarIcon\" aria-hidden=\"true\"></i>\n </div>\n <div class=\"mjo-doc-hero__copy\">\n <div class=\"mjo-doc-hero__title-row\">\n <h1 class=\"mjo-doc-hero__title\">{{ Title }}</h1>\n <span [class]=\"StatusClass\">{{ Record.Status || 'Draft' }}</span>\n @if (Record.PaymentType) {\n <span class=\"mjo-doc-chip\">{{ Record.PaymentType }}</span>\n }\n @if (IsReversal) {\n <span class=\"mjo-doc-chip mjo-doc-chip--warn\">\n <i class=\"fa-solid fa-rotate-left\" aria-hidden=\"true\"></i> Reversal\n </span>\n }\n </div>\n </div>\n </div>\n <div class=\"mjo-doc-hero__stats\">\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">Gross</span>\n <span class=\"mjo-doc-stat__value\">{{ Money.Gross }}</span>\n </div>\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">Fee</span>\n <span class=\"mjo-doc-stat__value\">{{ Money.Fee }}</span>\n </div>\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">Net</span>\n <span class=\"mjo-doc-stat__value\">{{ Money.Net }}</span>\n </div>\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">Payer</span>\n <span class=\"mjo-doc-stat__value\">{{ Payer }}</span>\n </div>\n </div>\n</div>\n", styles: [".mjo-doc-hero {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: var(--mj-space-4) var(--mj-space-5);\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n}\n\n.mjo-doc-hero__identity {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.mjo-doc-hero__avatar {\n flex: none;\n width: 52px;\n height: 52px;\n border-radius: var(--mj-radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 1.25rem;\n}\n\n.mjo-doc-hero__avatar--reverse {\n background: color-mix(in srgb, var(--mj-status-warning) 22%, var(--mj-bg-surface));\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-hero__copy {\n min-width: 0;\n flex: 1;\n}\n\n.mjo-doc-hero__title-row {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.mjo-doc-hero__title {\n margin: 0;\n font-size: var(--mj-text-lg);\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1.25;\n}\n\n.mjo-doc-hero__meta {\n display: flex;\n flex-wrap: wrap;\n gap: var(--mj-space-3);\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n}\n\n.mjo-doc-hero__stats {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));\n gap: var(--mj-space-3);\n}\n\n.mjo-doc-stat {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-doc-stat__label {\n font-size: var(--mj-text-xs);\n font-weight: 600;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__value {\n font-size: var(--mj-text-md);\n font-weight: 650;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mjo-doc-chip {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n font-size: var(--mj-text-xs);\n font-weight: 600;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--ok {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--draft {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--error {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.mjo-doc-chip--warn {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-chip--info {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.mjo-doc-chip--muted {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-chip--on {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--off {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-terms-toolbar {\n display: flex;\n justify-content: flex-end;\n margin-bottom: var(--mj-space-3);\n}\n\n.mjo-term-empty {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__sub {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.mjo-ov {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4);\n}\n\n.mjo-ov-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n min-width: 0;\n}\n\n.mjo-ov-card--wide {\n grid-column: 1 / -1;\n}\n\n.mjo-ov-card__h {\n padding: var(--mj-space-3) var(--mj-space-4) var(--mj-space-2);\n}\n\n.mjo-ov-card__h h3 {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 700;\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n}\n\n.mjo-ov-card__h i {\n color: var(--mj-brand-primary);\n font-size: 12px;\n}\n\n.mjo-ov-card__b {\n padding: 4px var(--mj-space-4) var(--mj-space-4);\n}\n\n.mjo-ov-note {\n margin: 0 0 var(--mj-space-3);\n font-size: var(--mj-text-sm);\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.mjo-ov-facts {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-3) var(--mj-space-4);\n}\n\n.mjo-ov-fact__l {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-ov-fact__v {\n font-size: var(--mj-text-sm);\n font-weight: 650;\n color: var(--mj-text-primary);\n}\n\n.mjo-ov-table {\n width: 100%;\n border-collapse: collapse;\n font-size: var(--mj-text-sm);\n}\n\n.mjo-ov-table th {\n text-align: left;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mjo-ov-table td {\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-table tr:last-child td {\n border-bottom: 0;\n}\n\n.mjo-ov-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mj-space-3);\n padding: 8px 0;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-ov-row:last-child {\n border-bottom: 0;\n}\n\n.mjo-ov-row h4 {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 650;\n}\n\n.mjo-ov-row p {\n margin: 2px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-empty {\n padding: 12px 4px;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n}\n\n@media (max-width: 800px) {\n .mjo-ov,\n .mjo-ov-facts {\n grid-template-columns: 1fr;\n }\n\n .mjo-ov-card--wide {\n grid-column: auto;\n }\n}\n\n.mjo-doc-hero__description {\n margin: 0;\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n line-height: 1.5;\n white-space: pre-wrap;\n}\n\n/* mj-form-field is display: contents \u2014 its label and control would otherwise\n become direct children of this grid. Each field sits in a wrapping cell. */\n.mjo-doc-hero__edit {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));\n gap: var(--mj-space-3) var(--mj-space-4);\n padding-top: var(--mj-space-4);\n border-top: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-doc-hero__field {\n min-width: 0;\n}\n\n.mjo-doc-hero__field--span {\n grid-column: 1 / -1;\n}\n\n/* Label above the control. The shared field is a 200px | 1fr row, which needs\n ~28rem per field \u2014 far more than a hero column gets. */\n.mjo-doc-hero__field ::ng-deep .mj-forms-field {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: 4px;\n padding: 0;\n}\n\n.mjo-doc-hero__field ::ng-deep .mj-forms-field-label {\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-bold);\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-hero__field ::ng-deep .mj-forms-field--editing:hover {\n margin: 0;\n padding: 0;\n}\n\n.mjo-doc-hero__field ::ng-deep .mj-forms-field-control {\n width: 100%;\n}\n"] }]
109
109
  }], null, null); })();
110
110
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PaymentHeaderPanel, { className: "PaymentHeaderPanel", filePath: "lib/form-panels/payment-header.panel.ts", lineNumber: 21 }); })();
111
111
  //# sourceMappingURL=payment-header.panel.js.map
@@ -54,7 +54,7 @@ let PriceListHeaderPanel = class PriceListHeaderPanel extends BaseFormPanel {
54
54
  i0.ɵɵtextInterpolate(ctx.Record.Status || "Active");
55
55
  i0.ɵɵadvance(5);
56
56
  i0.ɵɵtextInterpolate(ctx.Validity);
57
- } }, styles: [".mjo-doc-hero[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: var(--mj-space-4) var(--mj-space-5);\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n}\n\n.mjo-doc-hero__identity[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.mjo-doc-hero__avatar[_ngcontent-%COMP%] {\n flex: none;\n width: 52px;\n height: 52px;\n border-radius: var(--mj-radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 1.25rem;\n}\n\n.mjo-doc-hero__avatar--reverse[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 22%, var(--mj-bg-surface));\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-hero__copy[_ngcontent-%COMP%] {\n min-width: 0;\n flex: 1;\n}\n\n.mjo-doc-hero__title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.mjo-doc-hero__title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-lg);\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1.25;\n}\n\n.mjo-doc-hero__meta[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: var(--mj-space-3);\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n}\n\n.mjo-doc-hero__stats[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));\n gap: var(--mj-space-3);\n}\n\n.mjo-doc-stat[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-doc-stat__label[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n font-weight: 600;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__value[_ngcontent-%COMP%] {\n font-size: var(--mj-text-md);\n font-weight: 650;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mjo-doc-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n font-size: var(--mj-text-xs);\n font-weight: 600;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--ok[_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--draft[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--error[_ngcontent-%COMP%] {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.mjo-doc-chip--warn[_ngcontent-%COMP%] {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-chip--info[_ngcontent-%COMP%] {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.mjo-doc-chip--muted[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-chip--on[_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--off[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-terms-toolbar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n margin-bottom: var(--mj-space-3);\n}\n\n.mjo-term-empty[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__sub[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.mjo-ov[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4);\n}\n\n.mjo-ov-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n min-width: 0;\n}\n\n.mjo-ov-card--wide[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] {\n padding: var(--mj-space-3) var(--mj-space-4) var(--mj-space-2);\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 700;\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 12px;\n}\n\n.mjo-ov-card__b[_ngcontent-%COMP%] {\n padding: 4px var(--mj-space-4) var(--mj-space-4);\n}\n\n.mjo-ov-note[_ngcontent-%COMP%] {\n margin: 0 0 var(--mj-space-3);\n font-size: var(--mj-text-sm);\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.mjo-ov-facts[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-3) var(--mj-space-4);\n}\n\n.mjo-ov-fact__l[_ngcontent-%COMP%] {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-ov-fact__v[_ngcontent-%COMP%] {\n font-size: var(--mj-text-sm);\n font-weight: 650;\n color: var(--mj-text-primary);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n font-size: var(--mj-text-sm);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n text-align: left;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child td[_ngcontent-%COMP%] {\n border-bottom: 0;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mj-space-3);\n padding: 8px 0;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-ov-row[_ngcontent-%COMP%]:last-child {\n border-bottom: 0;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 650;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 2px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-empty[_ngcontent-%COMP%] {\n padding: 12px 4px;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n}\n\n@media (max-width: 800px) {\n .mjo-ov[_ngcontent-%COMP%], \n .mjo-ov-facts[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n\n .mjo-ov-card--wide[_ngcontent-%COMP%] {\n grid-column: auto;\n }\n}"] });
57
+ } }, styles: [".mjo-doc-hero[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: var(--mj-space-4) var(--mj-space-5);\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n}\n\n.mjo-doc-hero__identity[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.mjo-doc-hero__avatar[_ngcontent-%COMP%] {\n flex: none;\n width: 52px;\n height: 52px;\n border-radius: var(--mj-radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 1.25rem;\n}\n\n.mjo-doc-hero__avatar--reverse[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 22%, var(--mj-bg-surface));\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-hero__copy[_ngcontent-%COMP%] {\n min-width: 0;\n flex: 1;\n}\n\n.mjo-doc-hero__title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.mjo-doc-hero__title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-lg);\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1.25;\n}\n\n.mjo-doc-hero__meta[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: var(--mj-space-3);\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n}\n\n.mjo-doc-hero__stats[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));\n gap: var(--mj-space-3);\n}\n\n.mjo-doc-stat[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-doc-stat__label[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n font-weight: 600;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__value[_ngcontent-%COMP%] {\n font-size: var(--mj-text-md);\n font-weight: 650;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mjo-doc-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n font-size: var(--mj-text-xs);\n font-weight: 600;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--ok[_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--draft[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--error[_ngcontent-%COMP%] {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.mjo-doc-chip--warn[_ngcontent-%COMP%] {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-chip--info[_ngcontent-%COMP%] {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.mjo-doc-chip--muted[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-chip--on[_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--off[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-terms-toolbar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n margin-bottom: var(--mj-space-3);\n}\n\n.mjo-term-empty[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__sub[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.mjo-ov[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4);\n}\n\n.mjo-ov-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n min-width: 0;\n}\n\n.mjo-ov-card--wide[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] {\n padding: var(--mj-space-3) var(--mj-space-4) var(--mj-space-2);\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 700;\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 12px;\n}\n\n.mjo-ov-card__b[_ngcontent-%COMP%] {\n padding: 4px var(--mj-space-4) var(--mj-space-4);\n}\n\n.mjo-ov-note[_ngcontent-%COMP%] {\n margin: 0 0 var(--mj-space-3);\n font-size: var(--mj-text-sm);\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.mjo-ov-facts[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-3) var(--mj-space-4);\n}\n\n.mjo-ov-fact__l[_ngcontent-%COMP%] {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-ov-fact__v[_ngcontent-%COMP%] {\n font-size: var(--mj-text-sm);\n font-weight: 650;\n color: var(--mj-text-primary);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n font-size: var(--mj-text-sm);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n text-align: left;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child td[_ngcontent-%COMP%] {\n border-bottom: 0;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mj-space-3);\n padding: 8px 0;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-ov-row[_ngcontent-%COMP%]:last-child {\n border-bottom: 0;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 650;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 2px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-empty[_ngcontent-%COMP%] {\n padding: 12px 4px;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n}\n\n@media (max-width: 800px) {\n .mjo-ov[_ngcontent-%COMP%], \n .mjo-ov-facts[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n\n .mjo-ov-card--wide[_ngcontent-%COMP%] {\n grid-column: auto;\n }\n}\n\n.mjo-doc-hero__description[_ngcontent-%COMP%] {\n margin: 0;\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n line-height: 1.5;\n white-space: pre-wrap;\n}\n\n\n\n\n.mjo-doc-hero__edit[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));\n gap: var(--mj-space-3) var(--mj-space-4);\n padding-top: var(--mj-space-4);\n border-top: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] {\n min-width: 0;\n}\n\n.mjo-doc-hero__field--span[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n}\n\n\n\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] .mj-forms-field {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: 4px;\n padding: 0;\n}\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] .mj-forms-field-label {\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-bold);\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] .mj-forms-field--editing:hover {\n margin: 0;\n padding: 0;\n}\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] .mj-forms-field-control {\n width: 100%;\n}"] });
58
58
  };
59
59
  PriceListHeaderPanel = __decorate([
60
60
  RegisterClassEx(BaseFormPanel, {
@@ -70,7 +70,7 @@ PriceListHeaderPanel = __decorate([
70
70
  export { PriceListHeaderPanel };
71
71
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PriceListHeaderPanel, [{
72
72
  type: Component,
73
- args: [{ standalone: false, selector: 'mjo-price-list-header-panel', template: "<div class=\"mjo-doc-hero\">\n <div class=\"mjo-doc-hero__identity\">\n <div class=\"mjo-doc-hero__avatar\">\n <i class=\"fa-solid fa-tags\" aria-hidden=\"true\"></i>\n </div>\n <div class=\"mjo-doc-hero__copy\">\n <div class=\"mjo-doc-hero__title-row\">\n <h1 class=\"mjo-doc-hero__title\">{{ Title }}</h1>\n <span class=\"mjo-doc-chip\">{{ Record.Code || 'CODE TBD' }}</span>\n <span [class]=\"StatusClass\">{{ Record.Status || 'Active' }}</span>\n </div>\n <div class=\"mjo-doc-hero__meta\">\n <span>Validity: <strong>{{ Validity }}</strong></span>\n </div>\n </div>\n </div>\n</div>\n", styles: [".mjo-doc-hero {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: var(--mj-space-4) var(--mj-space-5);\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n}\n\n.mjo-doc-hero__identity {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.mjo-doc-hero__avatar {\n flex: none;\n width: 52px;\n height: 52px;\n border-radius: var(--mj-radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 1.25rem;\n}\n\n.mjo-doc-hero__avatar--reverse {\n background: color-mix(in srgb, var(--mj-status-warning) 22%, var(--mj-bg-surface));\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-hero__copy {\n min-width: 0;\n flex: 1;\n}\n\n.mjo-doc-hero__title-row {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.mjo-doc-hero__title {\n margin: 0;\n font-size: var(--mj-text-lg);\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1.25;\n}\n\n.mjo-doc-hero__meta {\n display: flex;\n flex-wrap: wrap;\n gap: var(--mj-space-3);\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n}\n\n.mjo-doc-hero__stats {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));\n gap: var(--mj-space-3);\n}\n\n.mjo-doc-stat {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-doc-stat__label {\n font-size: var(--mj-text-xs);\n font-weight: 600;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__value {\n font-size: var(--mj-text-md);\n font-weight: 650;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mjo-doc-chip {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n font-size: var(--mj-text-xs);\n font-weight: 600;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--ok {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--draft {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--error {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.mjo-doc-chip--warn {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-chip--info {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.mjo-doc-chip--muted {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-chip--on {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--off {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-terms-toolbar {\n display: flex;\n justify-content: flex-end;\n margin-bottom: var(--mj-space-3);\n}\n\n.mjo-term-empty {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__sub {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.mjo-ov {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4);\n}\n\n.mjo-ov-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n min-width: 0;\n}\n\n.mjo-ov-card--wide {\n grid-column: 1 / -1;\n}\n\n.mjo-ov-card__h {\n padding: var(--mj-space-3) var(--mj-space-4) var(--mj-space-2);\n}\n\n.mjo-ov-card__h h3 {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 700;\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n}\n\n.mjo-ov-card__h i {\n color: var(--mj-brand-primary);\n font-size: 12px;\n}\n\n.mjo-ov-card__b {\n padding: 4px var(--mj-space-4) var(--mj-space-4);\n}\n\n.mjo-ov-note {\n margin: 0 0 var(--mj-space-3);\n font-size: var(--mj-text-sm);\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.mjo-ov-facts {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-3) var(--mj-space-4);\n}\n\n.mjo-ov-fact__l {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-ov-fact__v {\n font-size: var(--mj-text-sm);\n font-weight: 650;\n color: var(--mj-text-primary);\n}\n\n.mjo-ov-table {\n width: 100%;\n border-collapse: collapse;\n font-size: var(--mj-text-sm);\n}\n\n.mjo-ov-table th {\n text-align: left;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mjo-ov-table td {\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-table tr:last-child td {\n border-bottom: 0;\n}\n\n.mjo-ov-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mj-space-3);\n padding: 8px 0;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-ov-row:last-child {\n border-bottom: 0;\n}\n\n.mjo-ov-row h4 {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 650;\n}\n\n.mjo-ov-row p {\n margin: 2px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-empty {\n padding: 12px 4px;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n}\n\n@media (max-width: 800px) {\n .mjo-ov,\n .mjo-ov-facts {\n grid-template-columns: 1fr;\n }\n\n .mjo-ov-card--wide {\n grid-column: auto;\n }\n}\n"] }]
73
+ args: [{ standalone: false, selector: 'mjo-price-list-header-panel', template: "<div class=\"mjo-doc-hero\">\n <div class=\"mjo-doc-hero__identity\">\n <div class=\"mjo-doc-hero__avatar\">\n <i class=\"fa-solid fa-tags\" aria-hidden=\"true\"></i>\n </div>\n <div class=\"mjo-doc-hero__copy\">\n <div class=\"mjo-doc-hero__title-row\">\n <h1 class=\"mjo-doc-hero__title\">{{ Title }}</h1>\n <span class=\"mjo-doc-chip\">{{ Record.Code || 'CODE TBD' }}</span>\n <span [class]=\"StatusClass\">{{ Record.Status || 'Active' }}</span>\n </div>\n <div class=\"mjo-doc-hero__meta\">\n <span>Validity: <strong>{{ Validity }}</strong></span>\n </div>\n </div>\n </div>\n</div>\n", styles: [".mjo-doc-hero {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: var(--mj-space-4) var(--mj-space-5);\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n}\n\n.mjo-doc-hero__identity {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.mjo-doc-hero__avatar {\n flex: none;\n width: 52px;\n height: 52px;\n border-radius: var(--mj-radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 1.25rem;\n}\n\n.mjo-doc-hero__avatar--reverse {\n background: color-mix(in srgb, var(--mj-status-warning) 22%, var(--mj-bg-surface));\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-hero__copy {\n min-width: 0;\n flex: 1;\n}\n\n.mjo-doc-hero__title-row {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.mjo-doc-hero__title {\n margin: 0;\n font-size: var(--mj-text-lg);\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1.25;\n}\n\n.mjo-doc-hero__meta {\n display: flex;\n flex-wrap: wrap;\n gap: var(--mj-space-3);\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n}\n\n.mjo-doc-hero__stats {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));\n gap: var(--mj-space-3);\n}\n\n.mjo-doc-stat {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-doc-stat__label {\n font-size: var(--mj-text-xs);\n font-weight: 600;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__value {\n font-size: var(--mj-text-md);\n font-weight: 650;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mjo-doc-chip {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n font-size: var(--mj-text-xs);\n font-weight: 600;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--ok {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--draft {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--error {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.mjo-doc-chip--warn {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-chip--info {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.mjo-doc-chip--muted {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-chip--on {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--off {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-terms-toolbar {\n display: flex;\n justify-content: flex-end;\n margin-bottom: var(--mj-space-3);\n}\n\n.mjo-term-empty {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__sub {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.mjo-ov {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4);\n}\n\n.mjo-ov-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n min-width: 0;\n}\n\n.mjo-ov-card--wide {\n grid-column: 1 / -1;\n}\n\n.mjo-ov-card__h {\n padding: var(--mj-space-3) var(--mj-space-4) var(--mj-space-2);\n}\n\n.mjo-ov-card__h h3 {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 700;\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n}\n\n.mjo-ov-card__h i {\n color: var(--mj-brand-primary);\n font-size: 12px;\n}\n\n.mjo-ov-card__b {\n padding: 4px var(--mj-space-4) var(--mj-space-4);\n}\n\n.mjo-ov-note {\n margin: 0 0 var(--mj-space-3);\n font-size: var(--mj-text-sm);\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.mjo-ov-facts {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-3) var(--mj-space-4);\n}\n\n.mjo-ov-fact__l {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-ov-fact__v {\n font-size: var(--mj-text-sm);\n font-weight: 650;\n color: var(--mj-text-primary);\n}\n\n.mjo-ov-table {\n width: 100%;\n border-collapse: collapse;\n font-size: var(--mj-text-sm);\n}\n\n.mjo-ov-table th {\n text-align: left;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mjo-ov-table td {\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-table tr:last-child td {\n border-bottom: 0;\n}\n\n.mjo-ov-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mj-space-3);\n padding: 8px 0;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-ov-row:last-child {\n border-bottom: 0;\n}\n\n.mjo-ov-row h4 {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 650;\n}\n\n.mjo-ov-row p {\n margin: 2px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-empty {\n padding: 12px 4px;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n}\n\n@media (max-width: 800px) {\n .mjo-ov,\n .mjo-ov-facts {\n grid-template-columns: 1fr;\n }\n\n .mjo-ov-card--wide {\n grid-column: auto;\n }\n}\n\n.mjo-doc-hero__description {\n margin: 0;\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n line-height: 1.5;\n white-space: pre-wrap;\n}\n\n/* mj-form-field is display: contents \u2014 its label and control would otherwise\n become direct children of this grid. Each field sits in a wrapping cell. */\n.mjo-doc-hero__edit {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));\n gap: var(--mj-space-3) var(--mj-space-4);\n padding-top: var(--mj-space-4);\n border-top: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-doc-hero__field {\n min-width: 0;\n}\n\n.mjo-doc-hero__field--span {\n grid-column: 1 / -1;\n}\n\n/* Label above the control. The shared field is a 200px | 1fr row, which needs\n ~28rem per field \u2014 far more than a hero column gets. */\n.mjo-doc-hero__field ::ng-deep .mj-forms-field {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: 4px;\n padding: 0;\n}\n\n.mjo-doc-hero__field ::ng-deep .mj-forms-field-label {\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-bold);\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-hero__field ::ng-deep .mj-forms-field--editing:hover {\n margin: 0;\n padding: 0;\n}\n\n.mjo-doc-hero__field ::ng-deep .mj-forms-field-control {\n width: 100%;\n}\n"] }]
74
74
  }], null, null); })();
75
75
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PriceListHeaderPanel, { className: "PriceListHeaderPanel", filePath: "lib/form-panels/price-list-header.panel.ts", lineNumber: 22 }); })();
76
76
  //# sourceMappingURL=price-list-header.panel.js.map
@@ -11,6 +11,36 @@ import { LoadProductListPriceLabel } from '../panels/catalog-list-price.js';
11
11
  import { LoadProductLookupNames } from '../panels/product-lookup-names.js';
12
12
  import { ProductAvatarIcon, ProductStatusChipClass } from './document-form.helpers.js';
13
13
  import * as i0 from "@angular/core";
14
+ import * as i1 from "@memberjunction/ng-base-forms";
15
+ function ProductHeaderPanel_Conditional_14_Template(rf, ctx) { if (rf & 1) {
16
+ i0.ɵɵelementStart(0, "p", 8);
17
+ i0.ɵɵtext(1);
18
+ i0.ɵɵelementEnd();
19
+ } if (rf & 2) {
20
+ const ctx_r0 = i0.ɵɵnextContext();
21
+ i0.ɵɵadvance();
22
+ i0.ɵɵtextInterpolate(ctx_r0.Record.Description);
23
+ } }
24
+ function ProductHeaderPanel_Conditional_31_Template(rf, ctx) { if (rf & 1) {
25
+ const _r2 = i0.ɵɵgetCurrentView();
26
+ i0.ɵɵelementStart(0, "div", 13)(1, "div", 14)(2, "mj-form-field", 15);
27
+ i0.ɵɵlistener("Navigate", function ProductHeaderPanel_Conditional_31_Template_mj_form_field_Navigate_2_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.FormComponent.OnFormNavigate($event)); });
28
+ i0.ɵɵelementEnd()();
29
+ i0.ɵɵelementStart(3, "div", 14)(4, "mj-form-field", 16);
30
+ i0.ɵɵlistener("Navigate", function ProductHeaderPanel_Conditional_31_Template_mj_form_field_Navigate_4_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.FormComponent.OnFormNavigate($event)); });
31
+ i0.ɵɵelementEnd()();
32
+ i0.ɵɵelementStart(5, "div", 17)(6, "mj-form-field", 18);
33
+ i0.ɵɵlistener("Navigate", function ProductHeaderPanel_Conditional_31_Template_mj_form_field_Navigate_6_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.FormComponent.OnFormNavigate($event)); });
34
+ i0.ɵɵelementEnd()()();
35
+ } if (rf & 2) {
36
+ const ctx_r0 = i0.ɵɵnextContext();
37
+ i0.ɵɵadvance(2);
38
+ i0.ɵɵproperty("Record", ctx_r0.Record)("ShowLabel", true)("EditMode", ctx_r0.EditMode)("FormContext", ctx_r0.FormContext);
39
+ i0.ɵɵadvance(2);
40
+ i0.ɵɵproperty("Record", ctx_r0.Record)("ShowLabel", true)("EditMode", ctx_r0.EditMode)("FormContext", ctx_r0.FormContext);
41
+ i0.ɵɵadvance(2);
42
+ i0.ɵɵproperty("Record", ctx_r0.Record)("ShowLabel", true)("EditMode", ctx_r0.EditMode)("FormContext", ctx_r0.FormContext);
43
+ } }
14
44
  let ProductHeaderPanel = class ProductHeaderPanel extends BaseFormPanel {
15
45
  ListPriceLabel = '—';
16
46
  /** Resolved by id — the record's virtual name fields are unreliable (Pin 28). */
@@ -49,7 +79,7 @@ let ProductHeaderPanel = class ProductHeaderPanel extends BaseFormPanel {
49
79
  return this.Lookups.RevRec;
50
80
  }
51
81
  static ɵfac = /*@__PURE__*/ (() => { let ɵProductHeaderPanel_BaseFactory; return function ProductHeaderPanel_Factory(__ngFactoryType__) { return (ɵProductHeaderPanel_BaseFactory || (ɵProductHeaderPanel_BaseFactory = i0.ɵɵgetInheritedFactory(ProductHeaderPanel)))(__ngFactoryType__ || ProductHeaderPanel); }; })();
52
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ProductHeaderPanel, selectors: [["mjo-product-header-panel"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 30, vars: 11, consts: [[1, "mjo-doc-hero"], [1, "mjo-doc-hero__identity"], [1, "mjo-doc-hero__avatar"], ["aria-hidden", "true"], [1, "mjo-doc-hero__copy"], [1, "mjo-doc-hero__title-row"], [1, "mjo-doc-hero__title"], [1, "mjo-doc-chip"], [1, "mjo-doc-hero__stats"], [1, "mjo-doc-stat"], [1, "mjo-doc-stat__label"], [1, "mjo-doc-stat__value"]], template: function ProductHeaderPanel_Template(rf, ctx) { if (rf & 1) {
82
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ProductHeaderPanel, selectors: [["mjo-product-header-panel"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 32, vars: 13, consts: [[1, "mjo-doc-hero"], [1, "mjo-doc-hero__identity"], [1, "mjo-doc-hero__avatar"], ["aria-hidden", "true"], [1, "mjo-doc-hero__copy"], [1, "mjo-doc-hero__title-row"], [1, "mjo-doc-hero__title"], [1, "mjo-doc-chip"], [1, "mjo-doc-hero__description"], [1, "mjo-doc-hero__stats"], [1, "mjo-doc-stat"], [1, "mjo-doc-stat__label"], [1, "mjo-doc-stat__value"], [1, "mjo-doc-hero__edit"], [1, "mjo-doc-hero__field"], ["FieldName", "Name", "Type", "textbox", 3, "Navigate", "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "SKU", "Type", "textbox", 3, "Navigate", "Record", "ShowLabel", "EditMode", "FormContext"], [1, "mjo-doc-hero__field", "mjo-doc-hero__field--span"], ["FieldName", "Description", "Type", "textarea", 3, "Navigate", "Record", "ShowLabel", "EditMode", "FormContext"]], template: function ProductHeaderPanel_Template(rf, ctx) { if (rf & 1) {
53
83
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
54
84
  i0.ɵɵelement(3, "i", 3);
55
85
  i0.ɵɵelementEnd();
@@ -65,24 +95,27 @@ let ProductHeaderPanel = class ProductHeaderPanel extends BaseFormPanel {
65
95
  i0.ɵɵelementStart(12, "span");
66
96
  i0.ɵɵtext(13);
67
97
  i0.ɵɵelementEnd()()()();
68
- i0.ɵɵelementStart(14, "div", 8)(15, "div", 9)(16, "span", 10);
69
- i0.ɵɵtext(17, "List price");
98
+ i0.ɵɵconditionalCreate(14, ProductHeaderPanel_Conditional_14_Template, 2, 1, "p", 8);
99
+ i0.ɵɵelementStart(15, "div", 9)(16, "div", 10)(17, "span", 11);
100
+ i0.ɵɵtext(18, "List price");
70
101
  i0.ɵɵelementEnd();
71
- i0.ɵɵelementStart(18, "span", 11);
72
- i0.ɵɵtext(19);
102
+ i0.ɵɵelementStart(19, "span", 12);
103
+ i0.ɵɵtext(20);
73
104
  i0.ɵɵelementEnd()();
74
- i0.ɵɵelementStart(20, "div", 9)(21, "span", 10);
75
- i0.ɵɵtext(22, "Rev-rec");
105
+ i0.ɵɵelementStart(21, "div", 10)(22, "span", 11);
106
+ i0.ɵɵtext(23, "Rev-rec");
76
107
  i0.ɵɵelementEnd();
77
- i0.ɵɵelementStart(23, "span", 11);
78
- i0.ɵɵtext(24);
108
+ i0.ɵɵelementStart(24, "span", 12);
109
+ i0.ɵɵtext(25);
79
110
  i0.ɵɵelementEnd()();
80
- i0.ɵɵelementStart(25, "div", 9)(26, "span", 10);
81
- i0.ɵɵtext(27, "Tax");
111
+ i0.ɵɵelementStart(26, "div", 10)(27, "span", 11);
112
+ i0.ɵɵtext(28, "Tax");
113
+ i0.ɵɵelementEnd();
114
+ i0.ɵɵelementStart(29, "span", 12);
115
+ i0.ɵɵtext(30);
116
+ i0.ɵɵelementEnd()()();
117
+ i0.ɵɵconditionalCreate(31, ProductHeaderPanel_Conditional_31_Template, 7, 12, "div", 13);
82
118
  i0.ɵɵelementEnd();
83
- i0.ɵɵelementStart(28, "span", 11);
84
- i0.ɵɵtext(29);
85
- i0.ɵɵelementEnd()()()();
86
119
  } if (rf & 2) {
87
120
  i0.ɵɵadvance(3);
88
121
  i0.ɵɵclassMap(ctx.AvatarIcon);
@@ -96,13 +129,17 @@ let ProductHeaderPanel = class ProductHeaderPanel extends BaseFormPanel {
96
129
  i0.ɵɵclassMap(ctx.StatusClass);
97
130
  i0.ɵɵadvance();
98
131
  i0.ɵɵtextInterpolate(ctx.Record.Status || "Draft");
132
+ i0.ɵɵadvance();
133
+ i0.ɵɵconditional(!ctx.EditMode && ctx.Record.Description ? 14 : -1);
99
134
  i0.ɵɵadvance(6);
100
135
  i0.ɵɵtextInterpolate(ctx.Price);
101
136
  i0.ɵɵadvance(5);
102
137
  i0.ɵɵtextInterpolate(ctx.RevRec);
103
138
  i0.ɵɵadvance(5);
104
139
  i0.ɵɵtextInterpolate(ctx.Record.IsTaxable ? "Taxable" : "Exempt");
105
- } }, styles: [".mjo-doc-hero[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: var(--mj-space-4) var(--mj-space-5);\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n}\n\n.mjo-doc-hero__identity[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.mjo-doc-hero__avatar[_ngcontent-%COMP%] {\n flex: none;\n width: 52px;\n height: 52px;\n border-radius: var(--mj-radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 1.25rem;\n}\n\n.mjo-doc-hero__avatar--reverse[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 22%, var(--mj-bg-surface));\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-hero__copy[_ngcontent-%COMP%] {\n min-width: 0;\n flex: 1;\n}\n\n.mjo-doc-hero__title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.mjo-doc-hero__title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-lg);\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1.25;\n}\n\n.mjo-doc-hero__meta[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: var(--mj-space-3);\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n}\n\n.mjo-doc-hero__stats[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));\n gap: var(--mj-space-3);\n}\n\n.mjo-doc-stat[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-doc-stat__label[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n font-weight: 600;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__value[_ngcontent-%COMP%] {\n font-size: var(--mj-text-md);\n font-weight: 650;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mjo-doc-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n font-size: var(--mj-text-xs);\n font-weight: 600;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--ok[_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--draft[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--error[_ngcontent-%COMP%] {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.mjo-doc-chip--warn[_ngcontent-%COMP%] {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-chip--info[_ngcontent-%COMP%] {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.mjo-doc-chip--muted[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-chip--on[_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--off[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-terms-toolbar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n margin-bottom: var(--mj-space-3);\n}\n\n.mjo-term-empty[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__sub[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.mjo-ov[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4);\n}\n\n.mjo-ov-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n min-width: 0;\n}\n\n.mjo-ov-card--wide[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] {\n padding: var(--mj-space-3) var(--mj-space-4) var(--mj-space-2);\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 700;\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 12px;\n}\n\n.mjo-ov-card__b[_ngcontent-%COMP%] {\n padding: 4px var(--mj-space-4) var(--mj-space-4);\n}\n\n.mjo-ov-note[_ngcontent-%COMP%] {\n margin: 0 0 var(--mj-space-3);\n font-size: var(--mj-text-sm);\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.mjo-ov-facts[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-3) var(--mj-space-4);\n}\n\n.mjo-ov-fact__l[_ngcontent-%COMP%] {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-ov-fact__v[_ngcontent-%COMP%] {\n font-size: var(--mj-text-sm);\n font-weight: 650;\n color: var(--mj-text-primary);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n font-size: var(--mj-text-sm);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n text-align: left;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child td[_ngcontent-%COMP%] {\n border-bottom: 0;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mj-space-3);\n padding: 8px 0;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-ov-row[_ngcontent-%COMP%]:last-child {\n border-bottom: 0;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 650;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 2px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-empty[_ngcontent-%COMP%] {\n padding: 12px 4px;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n}\n\n@media (max-width: 800px) {\n .mjo-ov[_ngcontent-%COMP%], \n .mjo-ov-facts[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n\n .mjo-ov-card--wide[_ngcontent-%COMP%] {\n grid-column: auto;\n }\n}"] });
140
+ i0.ɵɵadvance();
141
+ i0.ɵɵconditional(ctx.EditMode ? 31 : -1);
142
+ } }, dependencies: [i1.MjFormFieldComponent], styles: [".mjo-doc-hero[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: var(--mj-space-4) var(--mj-space-5);\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n}\n\n.mjo-doc-hero__identity[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.mjo-doc-hero__avatar[_ngcontent-%COMP%] {\n flex: none;\n width: 52px;\n height: 52px;\n border-radius: var(--mj-radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 1.25rem;\n}\n\n.mjo-doc-hero__avatar--reverse[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 22%, var(--mj-bg-surface));\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-hero__copy[_ngcontent-%COMP%] {\n min-width: 0;\n flex: 1;\n}\n\n.mjo-doc-hero__title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.mjo-doc-hero__title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-lg);\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1.25;\n}\n\n.mjo-doc-hero__meta[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: var(--mj-space-3);\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n}\n\n.mjo-doc-hero__stats[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));\n gap: var(--mj-space-3);\n}\n\n.mjo-doc-stat[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-doc-stat__label[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n font-weight: 600;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__value[_ngcontent-%COMP%] {\n font-size: var(--mj-text-md);\n font-weight: 650;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mjo-doc-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n font-size: var(--mj-text-xs);\n font-weight: 600;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--ok[_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--draft[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--error[_ngcontent-%COMP%] {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.mjo-doc-chip--warn[_ngcontent-%COMP%] {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-chip--info[_ngcontent-%COMP%] {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.mjo-doc-chip--muted[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-chip--on[_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--off[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-terms-toolbar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n margin-bottom: var(--mj-space-3);\n}\n\n.mjo-term-empty[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__sub[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.mjo-ov[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4);\n}\n\n.mjo-ov-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n min-width: 0;\n}\n\n.mjo-ov-card--wide[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] {\n padding: var(--mj-space-3) var(--mj-space-4) var(--mj-space-2);\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 700;\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 12px;\n}\n\n.mjo-ov-card__b[_ngcontent-%COMP%] {\n padding: 4px var(--mj-space-4) var(--mj-space-4);\n}\n\n.mjo-ov-note[_ngcontent-%COMP%] {\n margin: 0 0 var(--mj-space-3);\n font-size: var(--mj-text-sm);\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.mjo-ov-facts[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-3) var(--mj-space-4);\n}\n\n.mjo-ov-fact__l[_ngcontent-%COMP%] {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-ov-fact__v[_ngcontent-%COMP%] {\n font-size: var(--mj-text-sm);\n font-weight: 650;\n color: var(--mj-text-primary);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n font-size: var(--mj-text-sm);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n text-align: left;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child td[_ngcontent-%COMP%] {\n border-bottom: 0;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mj-space-3);\n padding: 8px 0;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-ov-row[_ngcontent-%COMP%]:last-child {\n border-bottom: 0;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 650;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 2px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-empty[_ngcontent-%COMP%] {\n padding: 12px 4px;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n}\n\n@media (max-width: 800px) {\n .mjo-ov[_ngcontent-%COMP%], \n .mjo-ov-facts[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n\n .mjo-ov-card--wide[_ngcontent-%COMP%] {\n grid-column: auto;\n }\n}\n\n.mjo-doc-hero__description[_ngcontent-%COMP%] {\n margin: 0;\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n line-height: 1.5;\n white-space: pre-wrap;\n}\n\n\n\n\n.mjo-doc-hero__edit[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));\n gap: var(--mj-space-3) var(--mj-space-4);\n padding-top: var(--mj-space-4);\n border-top: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] {\n min-width: 0;\n}\n\n.mjo-doc-hero__field--span[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n}\n\n\n\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] .mj-forms-field {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: 4px;\n padding: 0;\n}\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] .mj-forms-field-label {\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-bold);\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] .mj-forms-field--editing:hover {\n margin: 0;\n padding: 0;\n}\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] .mj-forms-field-control {\n width: 100%;\n}"] });
106
143
  };
107
144
  ProductHeaderPanel = __decorate([
108
145
  RegisterClassEx(BaseFormPanel, {
@@ -119,7 +156,7 @@ ProductHeaderPanel = __decorate([
119
156
  export { ProductHeaderPanel };
120
157
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ProductHeaderPanel, [{
121
158
  type: Component,
122
- args: [{ standalone: false, selector: 'mjo-product-header-panel', template: "<div class=\"mjo-doc-hero\">\n <div class=\"mjo-doc-hero__identity\">\n <div class=\"mjo-doc-hero__avatar\">\n <i [class]=\"AvatarIcon\" aria-hidden=\"true\"></i>\n </div>\n <div class=\"mjo-doc-hero__copy\">\n <div class=\"mjo-doc-hero__title-row\">\n <h1 class=\"mjo-doc-hero__title\">{{ Title }}</h1>\n <span class=\"mjo-doc-chip\">{{ Record.SKU || 'SKU TBD' }}</span>\n <span class=\"mjo-doc-chip\">{{ TypeName }}</span>\n <span [class]=\"StatusClass\">{{ Record.Status || 'Draft' }}</span>\n </div>\n </div>\n </div>\n <div class=\"mjo-doc-hero__stats\">\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">List price</span>\n <span class=\"mjo-doc-stat__value\">{{ Price }}</span>\n </div>\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">Rev-rec</span>\n <span class=\"mjo-doc-stat__value\">{{ RevRec }}</span>\n </div>\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">Tax</span>\n <span class=\"mjo-doc-stat__value\">{{ Record.IsTaxable ? 'Taxable' : 'Exempt' }}</span>\n </div>\n </div>\n</div>\n", styles: [".mjo-doc-hero {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: var(--mj-space-4) var(--mj-space-5);\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n}\n\n.mjo-doc-hero__identity {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.mjo-doc-hero__avatar {\n flex: none;\n width: 52px;\n height: 52px;\n border-radius: var(--mj-radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 1.25rem;\n}\n\n.mjo-doc-hero__avatar--reverse {\n background: color-mix(in srgb, var(--mj-status-warning) 22%, var(--mj-bg-surface));\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-hero__copy {\n min-width: 0;\n flex: 1;\n}\n\n.mjo-doc-hero__title-row {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.mjo-doc-hero__title {\n margin: 0;\n font-size: var(--mj-text-lg);\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1.25;\n}\n\n.mjo-doc-hero__meta {\n display: flex;\n flex-wrap: wrap;\n gap: var(--mj-space-3);\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n}\n\n.mjo-doc-hero__stats {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));\n gap: var(--mj-space-3);\n}\n\n.mjo-doc-stat {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-doc-stat__label {\n font-size: var(--mj-text-xs);\n font-weight: 600;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__value {\n font-size: var(--mj-text-md);\n font-weight: 650;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mjo-doc-chip {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n font-size: var(--mj-text-xs);\n font-weight: 600;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--ok {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--draft {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--error {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.mjo-doc-chip--warn {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-chip--info {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.mjo-doc-chip--muted {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-chip--on {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--off {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-terms-toolbar {\n display: flex;\n justify-content: flex-end;\n margin-bottom: var(--mj-space-3);\n}\n\n.mjo-term-empty {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__sub {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.mjo-ov {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4);\n}\n\n.mjo-ov-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n min-width: 0;\n}\n\n.mjo-ov-card--wide {\n grid-column: 1 / -1;\n}\n\n.mjo-ov-card__h {\n padding: var(--mj-space-3) var(--mj-space-4) var(--mj-space-2);\n}\n\n.mjo-ov-card__h h3 {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 700;\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n}\n\n.mjo-ov-card__h i {\n color: var(--mj-brand-primary);\n font-size: 12px;\n}\n\n.mjo-ov-card__b {\n padding: 4px var(--mj-space-4) var(--mj-space-4);\n}\n\n.mjo-ov-note {\n margin: 0 0 var(--mj-space-3);\n font-size: var(--mj-text-sm);\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.mjo-ov-facts {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-3) var(--mj-space-4);\n}\n\n.mjo-ov-fact__l {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-ov-fact__v {\n font-size: var(--mj-text-sm);\n font-weight: 650;\n color: var(--mj-text-primary);\n}\n\n.mjo-ov-table {\n width: 100%;\n border-collapse: collapse;\n font-size: var(--mj-text-sm);\n}\n\n.mjo-ov-table th {\n text-align: left;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mjo-ov-table td {\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-table tr:last-child td {\n border-bottom: 0;\n}\n\n.mjo-ov-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mj-space-3);\n padding: 8px 0;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-ov-row:last-child {\n border-bottom: 0;\n}\n\n.mjo-ov-row h4 {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 650;\n}\n\n.mjo-ov-row p {\n margin: 2px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-empty {\n padding: 12px 4px;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n}\n\n@media (max-width: 800px) {\n .mjo-ov,\n .mjo-ov-facts {\n grid-template-columns: 1fr;\n }\n\n .mjo-ov-card--wide {\n grid-column: auto;\n }\n}\n"] }]
159
+ args: [{ standalone: false, selector: 'mjo-product-header-panel', template: "<div class=\"mjo-doc-hero\">\n <div class=\"mjo-doc-hero__identity\">\n <div class=\"mjo-doc-hero__avatar\">\n <i [class]=\"AvatarIcon\" aria-hidden=\"true\"></i>\n </div>\n <div class=\"mjo-doc-hero__copy\">\n <div class=\"mjo-doc-hero__title-row\">\n <h1 class=\"mjo-doc-hero__title\">{{ Title }}</h1>\n <span class=\"mjo-doc-chip\">{{ Record.SKU || 'SKU TBD' }}</span>\n <span class=\"mjo-doc-chip\">{{ TypeName }}</span>\n <span [class]=\"StatusClass\">{{ Record.Status || 'Draft' }}</span>\n </div>\n </div>\n </div>\n @if (!EditMode && Record.Description) {\n <p class=\"mjo-doc-hero__description\">{{ Record.Description }}</p>\n }\n <div class=\"mjo-doc-hero__stats\">\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">List price</span>\n <span class=\"mjo-doc-stat__value\">{{ Price }}</span>\n </div>\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">Rev-rec</span>\n <span class=\"mjo-doc-stat__value\">{{ RevRec }}</span>\n </div>\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">Tax</span>\n <span class=\"mjo-doc-stat__value\">{{ Record.IsTaxable ? 'Taxable' : 'Exempt' }}</span>\n </div>\n </div>\n <!-- This panel claims the generated `productIdentification` section, so it OWNS\n Name, SKU and Description: they render nowhere else on the form. Editing them\n has to live here, or the section's only fields are unreachable and a product\n can never be named. Same contract the Common identity headers honor. -->\n @if (EditMode) {\n <div class=\"mjo-doc-hero__edit\">\n <div class=\"mjo-doc-hero__field\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"Name\"\n Type=\"textbox\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\"\n (Navigate)=\"FormComponent.OnFormNavigate($event)\"></mj-form-field>\n </div>\n <div class=\"mjo-doc-hero__field\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"SKU\"\n Type=\"textbox\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\"\n (Navigate)=\"FormComponent.OnFormNavigate($event)\"></mj-form-field>\n </div>\n <div class=\"mjo-doc-hero__field mjo-doc-hero__field--span\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"Description\"\n Type=\"textarea\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\"\n (Navigate)=\"FormComponent.OnFormNavigate($event)\"></mj-form-field>\n </div>\n </div>\n }\n</div>\n", styles: [".mjo-doc-hero {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: var(--mj-space-4) var(--mj-space-5);\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n}\n\n.mjo-doc-hero__identity {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.mjo-doc-hero__avatar {\n flex: none;\n width: 52px;\n height: 52px;\n border-radius: var(--mj-radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 1.25rem;\n}\n\n.mjo-doc-hero__avatar--reverse {\n background: color-mix(in srgb, var(--mj-status-warning) 22%, var(--mj-bg-surface));\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-hero__copy {\n min-width: 0;\n flex: 1;\n}\n\n.mjo-doc-hero__title-row {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.mjo-doc-hero__title {\n margin: 0;\n font-size: var(--mj-text-lg);\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1.25;\n}\n\n.mjo-doc-hero__meta {\n display: flex;\n flex-wrap: wrap;\n gap: var(--mj-space-3);\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n}\n\n.mjo-doc-hero__stats {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));\n gap: var(--mj-space-3);\n}\n\n.mjo-doc-stat {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-doc-stat__label {\n font-size: var(--mj-text-xs);\n font-weight: 600;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__value {\n font-size: var(--mj-text-md);\n font-weight: 650;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mjo-doc-chip {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n font-size: var(--mj-text-xs);\n font-weight: 600;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--ok {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--draft {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--error {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.mjo-doc-chip--warn {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-chip--info {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.mjo-doc-chip--muted {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-chip--on {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--off {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-terms-toolbar {\n display: flex;\n justify-content: flex-end;\n margin-bottom: var(--mj-space-3);\n}\n\n.mjo-term-empty {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__sub {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.mjo-ov {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4);\n}\n\n.mjo-ov-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n min-width: 0;\n}\n\n.mjo-ov-card--wide {\n grid-column: 1 / -1;\n}\n\n.mjo-ov-card__h {\n padding: var(--mj-space-3) var(--mj-space-4) var(--mj-space-2);\n}\n\n.mjo-ov-card__h h3 {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 700;\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n}\n\n.mjo-ov-card__h i {\n color: var(--mj-brand-primary);\n font-size: 12px;\n}\n\n.mjo-ov-card__b {\n padding: 4px var(--mj-space-4) var(--mj-space-4);\n}\n\n.mjo-ov-note {\n margin: 0 0 var(--mj-space-3);\n font-size: var(--mj-text-sm);\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.mjo-ov-facts {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-3) var(--mj-space-4);\n}\n\n.mjo-ov-fact__l {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-ov-fact__v {\n font-size: var(--mj-text-sm);\n font-weight: 650;\n color: var(--mj-text-primary);\n}\n\n.mjo-ov-table {\n width: 100%;\n border-collapse: collapse;\n font-size: var(--mj-text-sm);\n}\n\n.mjo-ov-table th {\n text-align: left;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mjo-ov-table td {\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-table tr:last-child td {\n border-bottom: 0;\n}\n\n.mjo-ov-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mj-space-3);\n padding: 8px 0;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-ov-row:last-child {\n border-bottom: 0;\n}\n\n.mjo-ov-row h4 {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 650;\n}\n\n.mjo-ov-row p {\n margin: 2px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-empty {\n padding: 12px 4px;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n}\n\n@media (max-width: 800px) {\n .mjo-ov,\n .mjo-ov-facts {\n grid-template-columns: 1fr;\n }\n\n .mjo-ov-card--wide {\n grid-column: auto;\n }\n}\n\n.mjo-doc-hero__description {\n margin: 0;\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n line-height: 1.5;\n white-space: pre-wrap;\n}\n\n/* mj-form-field is display: contents \u2014 its label and control would otherwise\n become direct children of this grid. Each field sits in a wrapping cell. */\n.mjo-doc-hero__edit {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));\n gap: var(--mj-space-3) var(--mj-space-4);\n padding-top: var(--mj-space-4);\n border-top: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-doc-hero__field {\n min-width: 0;\n}\n\n.mjo-doc-hero__field--span {\n grid-column: 1 / -1;\n}\n\n/* Label above the control. The shared field is a 200px | 1fr row, which needs\n ~28rem per field \u2014 far more than a hero column gets. */\n.mjo-doc-hero__field ::ng-deep .mj-forms-field {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: 4px;\n padding: 0;\n}\n\n.mjo-doc-hero__field ::ng-deep .mj-forms-field-label {\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-bold);\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-hero__field ::ng-deep .mj-forms-field--editing:hover {\n margin: 0;\n padding: 0;\n}\n\n.mjo-doc-hero__field ::ng-deep .mj-forms-field-control {\n width: 100%;\n}\n"] }]
123
160
  }], null, null); })();
124
161
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProductHeaderPanel, { className: "ProductHeaderPanel", filePath: "lib/form-panels/product-header.panel.ts", lineNumber: 25 }); })();
125
162
  //# sourceMappingURL=product-header.panel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"product-header.panel.js","sourceRoot":"","sources":["../../../src/lib/form-panels/product-header.panel.ts","../../../src/lib/form-panels/product-header.panel.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-header.panel.js","sourceRoot":"","sources":["../../../src/lib/form-panels/product-header.panel.ts","../../../src/lib/form-panels/product-header.panel.html"],"names":[],"mappings":"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"}
@@ -90,7 +90,7 @@ let PromotionHeaderPanel = class PromotionHeaderPanel extends BaseFormPanel {
90
90
  i0.ɵɵtextInterpolate(ctx.Schedule);
91
91
  i0.ɵɵadvance(5);
92
92
  i0.ɵɵtextInterpolate(ctx.MaxUses);
93
- } }, styles: [".mjo-doc-hero[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: var(--mj-space-4) var(--mj-space-5);\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n}\n\n.mjo-doc-hero__identity[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.mjo-doc-hero__avatar[_ngcontent-%COMP%] {\n flex: none;\n width: 52px;\n height: 52px;\n border-radius: var(--mj-radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 1.25rem;\n}\n\n.mjo-doc-hero__avatar--reverse[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 22%, var(--mj-bg-surface));\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-hero__copy[_ngcontent-%COMP%] {\n min-width: 0;\n flex: 1;\n}\n\n.mjo-doc-hero__title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.mjo-doc-hero__title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-lg);\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1.25;\n}\n\n.mjo-doc-hero__meta[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: var(--mj-space-3);\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n}\n\n.mjo-doc-hero__stats[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));\n gap: var(--mj-space-3);\n}\n\n.mjo-doc-stat[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-doc-stat__label[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n font-weight: 600;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__value[_ngcontent-%COMP%] {\n font-size: var(--mj-text-md);\n font-weight: 650;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mjo-doc-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n font-size: var(--mj-text-xs);\n font-weight: 600;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--ok[_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--draft[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--error[_ngcontent-%COMP%] {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.mjo-doc-chip--warn[_ngcontent-%COMP%] {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-chip--info[_ngcontent-%COMP%] {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.mjo-doc-chip--muted[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-chip--on[_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--off[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-terms-toolbar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n margin-bottom: var(--mj-space-3);\n}\n\n.mjo-term-empty[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__sub[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.mjo-ov[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4);\n}\n\n.mjo-ov-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n min-width: 0;\n}\n\n.mjo-ov-card--wide[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] {\n padding: var(--mj-space-3) var(--mj-space-4) var(--mj-space-2);\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 700;\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 12px;\n}\n\n.mjo-ov-card__b[_ngcontent-%COMP%] {\n padding: 4px var(--mj-space-4) var(--mj-space-4);\n}\n\n.mjo-ov-note[_ngcontent-%COMP%] {\n margin: 0 0 var(--mj-space-3);\n font-size: var(--mj-text-sm);\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.mjo-ov-facts[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-3) var(--mj-space-4);\n}\n\n.mjo-ov-fact__l[_ngcontent-%COMP%] {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-ov-fact__v[_ngcontent-%COMP%] {\n font-size: var(--mj-text-sm);\n font-weight: 650;\n color: var(--mj-text-primary);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n font-size: var(--mj-text-sm);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n text-align: left;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child td[_ngcontent-%COMP%] {\n border-bottom: 0;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mj-space-3);\n padding: 8px 0;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-ov-row[_ngcontent-%COMP%]:last-child {\n border-bottom: 0;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 650;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 2px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-empty[_ngcontent-%COMP%] {\n padding: 12px 4px;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n}\n\n@media (max-width: 800px) {\n .mjo-ov[_ngcontent-%COMP%], \n .mjo-ov-facts[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n\n .mjo-ov-card--wide[_ngcontent-%COMP%] {\n grid-column: auto;\n }\n}"] });
93
+ } }, styles: [".mjo-doc-hero[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: var(--mj-space-4) var(--mj-space-5);\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n}\n\n.mjo-doc-hero__identity[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.mjo-doc-hero__avatar[_ngcontent-%COMP%] {\n flex: none;\n width: 52px;\n height: 52px;\n border-radius: var(--mj-radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 1.25rem;\n}\n\n.mjo-doc-hero__avatar--reverse[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 22%, var(--mj-bg-surface));\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-hero__copy[_ngcontent-%COMP%] {\n min-width: 0;\n flex: 1;\n}\n\n.mjo-doc-hero__title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.mjo-doc-hero__title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-lg);\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1.25;\n}\n\n.mjo-doc-hero__meta[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: var(--mj-space-3);\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n}\n\n.mjo-doc-hero__stats[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));\n gap: var(--mj-space-3);\n}\n\n.mjo-doc-stat[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-doc-stat__label[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n font-weight: 600;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__value[_ngcontent-%COMP%] {\n font-size: var(--mj-text-md);\n font-weight: 650;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mjo-doc-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n font-size: var(--mj-text-xs);\n font-weight: 600;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--ok[_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--draft[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--error[_ngcontent-%COMP%] {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.mjo-doc-chip--warn[_ngcontent-%COMP%] {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-chip--info[_ngcontent-%COMP%] {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.mjo-doc-chip--muted[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-chip--on[_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--off[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-terms-toolbar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n margin-bottom: var(--mj-space-3);\n}\n\n.mjo-term-empty[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__sub[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.mjo-ov[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4);\n}\n\n.mjo-ov-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n min-width: 0;\n}\n\n.mjo-ov-card--wide[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] {\n padding: var(--mj-space-3) var(--mj-space-4) var(--mj-space-2);\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 700;\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n}\n\n.mjo-ov-card__h[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 12px;\n}\n\n.mjo-ov-card__b[_ngcontent-%COMP%] {\n padding: 4px var(--mj-space-4) var(--mj-space-4);\n}\n\n.mjo-ov-note[_ngcontent-%COMP%] {\n margin: 0 0 var(--mj-space-3);\n font-size: var(--mj-text-sm);\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.mjo-ov-facts[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-3) var(--mj-space-4);\n}\n\n.mjo-ov-fact__l[_ngcontent-%COMP%] {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-ov-fact__v[_ngcontent-%COMP%] {\n font-size: var(--mj-text-sm);\n font-weight: 650;\n color: var(--mj-text-primary);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n font-size: var(--mj-text-sm);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n text-align: left;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child td[_ngcontent-%COMP%] {\n border-bottom: 0;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mj-space-3);\n padding: 8px 0;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-ov-row[_ngcontent-%COMP%]:last-child {\n border-bottom: 0;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 650;\n}\n\n.mjo-ov-row[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 2px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-empty[_ngcontent-%COMP%] {\n padding: 12px 4px;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n}\n\n@media (max-width: 800px) {\n .mjo-ov[_ngcontent-%COMP%], \n .mjo-ov-facts[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n\n .mjo-ov-card--wide[_ngcontent-%COMP%] {\n grid-column: auto;\n }\n}\n\n.mjo-doc-hero__description[_ngcontent-%COMP%] {\n margin: 0;\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n line-height: 1.5;\n white-space: pre-wrap;\n}\n\n\n\n\n.mjo-doc-hero__edit[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));\n gap: var(--mj-space-3) var(--mj-space-4);\n padding-top: var(--mj-space-4);\n border-top: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] {\n min-width: 0;\n}\n\n.mjo-doc-hero__field--span[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n}\n\n\n\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] .mj-forms-field {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: 4px;\n padding: 0;\n}\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] .mj-forms-field-label {\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-bold);\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] .mj-forms-field--editing:hover {\n margin: 0;\n padding: 0;\n}\n\n.mjo-doc-hero__field[_ngcontent-%COMP%] .mj-forms-field-control {\n width: 100%;\n}"] });
94
94
  };
95
95
  PromotionHeaderPanel = __decorate([
96
96
  RegisterClassEx(BaseFormPanel, {
@@ -106,7 +106,7 @@ PromotionHeaderPanel = __decorate([
106
106
  export { PromotionHeaderPanel };
107
107
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PromotionHeaderPanel, [{
108
108
  type: Component,
109
- args: [{ standalone: false, selector: 'mjo-promotion-header-panel', template: "<div class=\"mjo-doc-hero\">\n <div class=\"mjo-doc-hero__identity\">\n <div class=\"mjo-doc-hero__avatar\">\n <i class=\"fa-solid fa-ticket\" aria-hidden=\"true\"></i>\n </div>\n <div class=\"mjo-doc-hero__copy\">\n <div class=\"mjo-doc-hero__title-row\">\n <h1 class=\"mjo-doc-hero__title\">{{ Title }}</h1>\n <span class=\"mjo-doc-chip\">{{ Record.Code || 'CODE TBD' }}</span>\n <span class=\"mjo-doc-chip\">{{ ValueLabel }}</span>\n <span class=\"mjo-doc-chip\">{{ Stacking }}</span>\n <span [class]=\"StatusClass\">{{ Record.Status || 'Active' }}</span>\n </div>\n </div>\n </div>\n <div class=\"mjo-doc-hero__stats\">\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">Discount</span>\n <span class=\"mjo-doc-stat__value\">{{ ValueLabel }}</span>\n </div>\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">Schedule</span>\n <span class=\"mjo-doc-stat__value\">{{ Schedule }}</span>\n </div>\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">Max uses</span>\n <span class=\"mjo-doc-stat__value\">{{ MaxUses }}</span>\n </div>\n </div>\n</div>\n", styles: [".mjo-doc-hero {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: var(--mj-space-4) var(--mj-space-5);\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n}\n\n.mjo-doc-hero__identity {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.mjo-doc-hero__avatar {\n flex: none;\n width: 52px;\n height: 52px;\n border-radius: var(--mj-radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 1.25rem;\n}\n\n.mjo-doc-hero__avatar--reverse {\n background: color-mix(in srgb, var(--mj-status-warning) 22%, var(--mj-bg-surface));\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-hero__copy {\n min-width: 0;\n flex: 1;\n}\n\n.mjo-doc-hero__title-row {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.mjo-doc-hero__title {\n margin: 0;\n font-size: var(--mj-text-lg);\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1.25;\n}\n\n.mjo-doc-hero__meta {\n display: flex;\n flex-wrap: wrap;\n gap: var(--mj-space-3);\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n}\n\n.mjo-doc-hero__stats {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));\n gap: var(--mj-space-3);\n}\n\n.mjo-doc-stat {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-doc-stat__label {\n font-size: var(--mj-text-xs);\n font-weight: 600;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__value {\n font-size: var(--mj-text-md);\n font-weight: 650;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mjo-doc-chip {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n font-size: var(--mj-text-xs);\n font-weight: 600;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--ok {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--draft {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--error {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.mjo-doc-chip--warn {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-chip--info {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.mjo-doc-chip--muted {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-chip--on {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--off {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-terms-toolbar {\n display: flex;\n justify-content: flex-end;\n margin-bottom: var(--mj-space-3);\n}\n\n.mjo-term-empty {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__sub {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.mjo-ov {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4);\n}\n\n.mjo-ov-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n min-width: 0;\n}\n\n.mjo-ov-card--wide {\n grid-column: 1 / -1;\n}\n\n.mjo-ov-card__h {\n padding: var(--mj-space-3) var(--mj-space-4) var(--mj-space-2);\n}\n\n.mjo-ov-card__h h3 {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 700;\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n}\n\n.mjo-ov-card__h i {\n color: var(--mj-brand-primary);\n font-size: 12px;\n}\n\n.mjo-ov-card__b {\n padding: 4px var(--mj-space-4) var(--mj-space-4);\n}\n\n.mjo-ov-note {\n margin: 0 0 var(--mj-space-3);\n font-size: var(--mj-text-sm);\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.mjo-ov-facts {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-3) var(--mj-space-4);\n}\n\n.mjo-ov-fact__l {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-ov-fact__v {\n font-size: var(--mj-text-sm);\n font-weight: 650;\n color: var(--mj-text-primary);\n}\n\n.mjo-ov-table {\n width: 100%;\n border-collapse: collapse;\n font-size: var(--mj-text-sm);\n}\n\n.mjo-ov-table th {\n text-align: left;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mjo-ov-table td {\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-table tr:last-child td {\n border-bottom: 0;\n}\n\n.mjo-ov-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mj-space-3);\n padding: 8px 0;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-ov-row:last-child {\n border-bottom: 0;\n}\n\n.mjo-ov-row h4 {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 650;\n}\n\n.mjo-ov-row p {\n margin: 2px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-empty {\n padding: 12px 4px;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n}\n\n@media (max-width: 800px) {\n .mjo-ov,\n .mjo-ov-facts {\n grid-template-columns: 1fr;\n }\n\n .mjo-ov-card--wide {\n grid-column: auto;\n }\n}\n"] }]
109
+ args: [{ standalone: false, selector: 'mjo-promotion-header-panel', template: "<div class=\"mjo-doc-hero\">\n <div class=\"mjo-doc-hero__identity\">\n <div class=\"mjo-doc-hero__avatar\">\n <i class=\"fa-solid fa-ticket\" aria-hidden=\"true\"></i>\n </div>\n <div class=\"mjo-doc-hero__copy\">\n <div class=\"mjo-doc-hero__title-row\">\n <h1 class=\"mjo-doc-hero__title\">{{ Title }}</h1>\n <span class=\"mjo-doc-chip\">{{ Record.Code || 'CODE TBD' }}</span>\n <span class=\"mjo-doc-chip\">{{ ValueLabel }}</span>\n <span class=\"mjo-doc-chip\">{{ Stacking }}</span>\n <span [class]=\"StatusClass\">{{ Record.Status || 'Active' }}</span>\n </div>\n </div>\n </div>\n <div class=\"mjo-doc-hero__stats\">\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">Discount</span>\n <span class=\"mjo-doc-stat__value\">{{ ValueLabel }}</span>\n </div>\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">Schedule</span>\n <span class=\"mjo-doc-stat__value\">{{ Schedule }}</span>\n </div>\n <div class=\"mjo-doc-stat\">\n <span class=\"mjo-doc-stat__label\">Max uses</span>\n <span class=\"mjo-doc-stat__value\">{{ MaxUses }}</span>\n </div>\n </div>\n</div>\n", styles: [".mjo-doc-hero {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: var(--mj-space-4) var(--mj-space-5);\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n}\n\n.mjo-doc-hero__identity {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.mjo-doc-hero__avatar {\n flex: none;\n width: 52px;\n height: 52px;\n border-radius: var(--mj-radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n background: color-mix(in srgb, var(--mj-brand-primary) 18%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 1.25rem;\n}\n\n.mjo-doc-hero__avatar--reverse {\n background: color-mix(in srgb, var(--mj-status-warning) 22%, var(--mj-bg-surface));\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-hero__copy {\n min-width: 0;\n flex: 1;\n}\n\n.mjo-doc-hero__title-row {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.mjo-doc-hero__title {\n margin: 0;\n font-size: var(--mj-text-lg);\n font-weight: 700;\n color: var(--mj-text-primary);\n line-height: 1.25;\n}\n\n.mjo-doc-hero__meta {\n display: flex;\n flex-wrap: wrap;\n gap: var(--mj-space-3);\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n}\n\n.mjo-doc-hero__stats {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));\n gap: var(--mj-space-3);\n}\n\n.mjo-doc-stat {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-doc-stat__label {\n font-size: var(--mj-text-xs);\n font-weight: 600;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__value {\n font-size: var(--mj-text-md);\n font-weight: 650;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mjo-doc-chip {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n font-size: var(--mj-text-xs);\n font-weight: 600;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--ok {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--draft {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.mjo-doc-chip--error {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.mjo-doc-chip--warn {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.mjo-doc-chip--info {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.mjo-doc-chip--muted {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-chip--on {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.mjo-doc-chip--off {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n}\n\n.mjo-terms-toolbar {\n display: flex;\n justify-content: flex-end;\n margin-bottom: var(--mj-space-3);\n}\n\n.mjo-term-empty {\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n padding: var(--mj-space-4);\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-stat__sub {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.mjo-ov {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-4);\n}\n\n.mjo-ov-card {\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg);\n box-shadow: var(--mj-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.04));\n min-width: 0;\n}\n\n.mjo-ov-card--wide {\n grid-column: 1 / -1;\n}\n\n.mjo-ov-card__h {\n padding: var(--mj-space-3) var(--mj-space-4) var(--mj-space-2);\n}\n\n.mjo-ov-card__h h3 {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 700;\n display: flex;\n align-items: center;\n gap: var(--mj-space-2);\n}\n\n.mjo-ov-card__h i {\n color: var(--mj-brand-primary);\n font-size: 12px;\n}\n\n.mjo-ov-card__b {\n padding: 4px var(--mj-space-4) var(--mj-space-4);\n}\n\n.mjo-ov-note {\n margin: 0 0 var(--mj-space-3);\n font-size: var(--mj-text-sm);\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.mjo-ov-facts {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--mj-space-3) var(--mj-space-4);\n}\n\n.mjo-ov-fact__l {\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-ov-fact__v {\n font-size: var(--mj-text-sm);\n font-weight: 650;\n color: var(--mj-text-primary);\n}\n\n.mjo-ov-table {\n width: 100%;\n border-collapse: collapse;\n font-size: var(--mj-text-sm);\n}\n\n.mjo-ov-table th {\n text-align: left;\n font-size: 10.5px;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n padding: 6px 8px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mjo-ov-table td {\n padding: 8px;\n border-bottom: 1px solid var(--mj-border-subtle);\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-table tr:last-child td {\n border-bottom: 0;\n}\n\n.mjo-ov-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mj-space-3);\n padding: 8px 0;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-ov-row:last-child {\n border-bottom: 0;\n}\n\n.mjo-ov-row h4 {\n margin: 0;\n font-size: var(--mj-text-sm);\n font-weight: 650;\n}\n\n.mjo-ov-row p {\n margin: 2px 0 0;\n font-size: 12px;\n color: var(--mj-text-secondary);\n}\n\n.mjo-ov-empty {\n padding: 12px 4px;\n color: var(--mj-text-muted);\n font-size: var(--mj-text-sm);\n}\n\n@media (max-width: 800px) {\n .mjo-ov,\n .mjo-ov-facts {\n grid-template-columns: 1fr;\n }\n\n .mjo-ov-card--wide {\n grid-column: auto;\n }\n}\n\n.mjo-doc-hero__description {\n margin: 0;\n color: var(--mj-text-secondary);\n font-size: var(--mj-text-sm);\n line-height: 1.5;\n white-space: pre-wrap;\n}\n\n/* mj-form-field is display: contents \u2014 its label and control would otherwise\n become direct children of this grid. Each field sits in a wrapping cell. */\n.mjo-doc-hero__edit {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));\n gap: var(--mj-space-3) var(--mj-space-4);\n padding-top: var(--mj-space-4);\n border-top: 1px solid var(--mj-border-subtle);\n}\n\n.mjo-doc-hero__field {\n min-width: 0;\n}\n\n.mjo-doc-hero__field--span {\n grid-column: 1 / -1;\n}\n\n/* Label above the control. The shared field is a 200px | 1fr row, which needs\n ~28rem per field \u2014 far more than a hero column gets. */\n.mjo-doc-hero__field ::ng-deep .mj-forms-field {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: 4px;\n padding: 0;\n}\n\n.mjo-doc-hero__field ::ng-deep .mj-forms-field-label {\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-bold);\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.mjo-doc-hero__field ::ng-deep .mj-forms-field--editing:hover {\n margin: 0;\n padding: 0;\n}\n\n.mjo-doc-hero__field ::ng-deep .mj-forms-field-control {\n width: 100%;\n}\n"] }]
110
110
  }], null, null); })();
111
111
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PromotionHeaderPanel, { className: "PromotionHeaderPanel", filePath: "lib/form-panels/promotion-header.panel.ts", lineNumber: 22 }); })();
112
112
  //# sourceMappingURL=promotion-header.panel.js.map