@mj-biz-apps/orders-ng 5.30.0 → 5.32.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 (137) hide show
  1. package/README.md +43 -13
  2. package/dist/checkout-element/main.js +162 -38
  3. package/dist/lib/checkout-widget/checkout-public-host.component.d.ts +7 -0
  4. package/dist/lib/checkout-widget/checkout-public-host.component.d.ts.map +1 -1
  5. package/dist/lib/checkout-widget/checkout-public-host.component.js +62 -38
  6. package/dist/lib/checkout-widget/checkout-public-host.component.js.map +1 -1
  7. package/dist/lib/checkout-widget/checkout-turnstile.d.ts +62 -0
  8. package/dist/lib/checkout-widget/checkout-turnstile.d.ts.map +1 -0
  9. package/dist/lib/checkout-widget/checkout-turnstile.js +121 -0
  10. package/dist/lib/checkout-widget/checkout-turnstile.js.map +1 -0
  11. package/dist/lib/custom/EventOrderLine/line-event-summary.js +3 -3
  12. package/dist/lib/custom/EventOrderLine/line-event-summary.js.map +1 -1
  13. package/dist/lib/custom/Product/product-save-guard-form.component.d.ts +1 -2
  14. package/dist/lib/custom/Product/product-save-guard-form.component.d.ts.map +1 -1
  15. package/dist/lib/custom/Product/product-save-guard-form.component.js +2 -3
  16. package/dist/lib/custom/Product/product-save-guard-form.component.js.map +1 -1
  17. package/dist/lib/custom/Product/widgets/product-gl-links.component.d.ts +8 -2
  18. package/dist/lib/custom/Product/widgets/product-gl-links.component.d.ts.map +1 -1
  19. package/dist/lib/custom/Product/widgets/product-gl-links.component.js +9 -3
  20. package/dist/lib/custom/Product/widgets/product-gl-links.component.js.map +1 -1
  21. package/dist/lib/custom/Product/widgets/product-pricing-widget.component.d.ts +3 -0
  22. package/dist/lib/custom/Product/widgets/product-pricing-widget.component.d.ts.map +1 -1
  23. package/dist/lib/custom/Product/widgets/product-pricing-widget.component.js +9 -8
  24. package/dist/lib/custom/Product/widgets/product-pricing-widget.component.js.map +1 -1
  25. package/dist/lib/custom/custom-forms.module.d.ts +23 -28
  26. package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
  27. package/dist/lib/custom/custom-forms.module.js +2 -32
  28. package/dist/lib/custom/custom-forms.module.js.map +1 -1
  29. package/dist/lib/data/orders-queries.js +1 -1
  30. package/dist/lib/data/orders-queries.js.map +1 -1
  31. package/dist/lib/form-panels/catalog-overviews.panels.js +3 -3
  32. package/dist/lib/form-panels/catalog-overviews.panels.js.map +1 -1
  33. package/dist/lib/form-panels/commercial-overviews.panels.js +2 -2
  34. package/dist/lib/form-panels/commercial-overviews.panels.js.map +1 -1
  35. package/dist/lib/form-panels/document-form.helpers.d.ts +9 -0
  36. package/dist/lib/form-panels/document-form.helpers.d.ts.map +1 -1
  37. package/dist/lib/form-panels/document-form.helpers.js +21 -6
  38. package/dist/lib/form-panels/document-form.helpers.js.map +1 -1
  39. package/dist/lib/form-panels/document-overviews.panels.js +5 -5
  40. package/dist/lib/form-panels/document-overviews.panels.js.map +1 -1
  41. package/dist/lib/form-panels/external-invoices.panel.d.ts +1 -0
  42. package/dist/lib/form-panels/external-invoices.panel.d.ts.map +1 -1
  43. package/dist/lib/form-panels/external-invoices.panel.js +3 -2
  44. package/dist/lib/form-panels/external-invoices.panel.js.map +1 -1
  45. package/dist/lib/form-panels/organization-staff-orders.contributor.d.ts +30 -0
  46. package/dist/lib/form-panels/organization-staff-orders.contributor.d.ts.map +1 -0
  47. package/dist/lib/form-panels/organization-staff-orders.contributor.js +113 -0
  48. package/dist/lib/form-panels/organization-staff-orders.contributor.js.map +1 -0
  49. package/dist/lib/form-panels/party-order-stats.js +2 -2
  50. package/dist/lib/form-panels/party-order-stats.js.map +1 -1
  51. package/dist/lib/form-panels/promotion-header.panel.js +2 -2
  52. package/dist/lib/form-panels/promotion-header.panel.js.map +1 -1
  53. package/dist/lib/pages/catalog/pricing.page.d.ts.map +1 -1
  54. package/dist/lib/pages/catalog/pricing.page.js +5 -3
  55. package/dist/lib/pages/catalog/pricing.page.js.map +1 -1
  56. package/dist/lib/pages/catalog/products.page.d.ts +1 -0
  57. package/dist/lib/pages/catalog/products.page.d.ts.map +1 -1
  58. package/dist/lib/pages/catalog/products.page.js +8 -7
  59. package/dist/lib/pages/catalog/products.page.js.map +1 -1
  60. package/dist/lib/pages/orders/order-document.page.d.ts.map +1 -1
  61. package/dist/lib/pages/orders/order-document.page.js +2 -2
  62. package/dist/lib/pages/orders/order-document.page.js.map +1 -1
  63. package/dist/lib/pages/orders/orders-dashboard.page.d.ts.map +1 -1
  64. package/dist/lib/pages/orders/orders-dashboard.page.js +13 -11
  65. package/dist/lib/pages/orders/orders-dashboard.page.js.map +1 -1
  66. package/dist/lib/pages/receivables/customer-ar.page.d.ts +2 -1
  67. package/dist/lib/pages/receivables/customer-ar.page.d.ts.map +1 -1
  68. package/dist/lib/pages/receivables/customer-ar.page.js +6 -4
  69. package/dist/lib/pages/receivables/customer-ar.page.js.map +1 -1
  70. package/dist/lib/pages/receivables/external-invoicing-queue.page.d.ts +20 -2
  71. package/dist/lib/pages/receivables/external-invoicing-queue.page.d.ts.map +1 -1
  72. package/dist/lib/pages/receivables/external-invoicing-queue.page.js +84 -15
  73. package/dist/lib/pages/receivables/external-invoicing-queue.page.js.map +1 -1
  74. package/dist/lib/pages/receivables/overdue.page.d.ts.map +1 -1
  75. package/dist/lib/pages/receivables/overdue.page.js +3 -3
  76. package/dist/lib/pages/receivables/overdue.page.js.map +1 -1
  77. package/dist/lib/pages/receivables/subscriptions.page.d.ts +9 -11
  78. package/dist/lib/pages/receivables/subscriptions.page.d.ts.map +1 -1
  79. package/dist/lib/pages/receivables/subscriptions.page.js +14 -18
  80. package/dist/lib/pages/receivables/subscriptions.page.js.map +1 -1
  81. package/dist/lib/panels/money-format.d.ts +43 -15
  82. package/dist/lib/panels/money-format.d.ts.map +1 -1
  83. package/dist/lib/panels/money-format.js +85 -40
  84. package/dist/lib/panels/money-format.js.map +1 -1
  85. package/dist/lib/panels/party-orders-overview.component.d.ts.map +1 -1
  86. package/dist/lib/panels/party-orders-overview.component.js +16 -18
  87. package/dist/lib/panels/party-orders-overview.component.js.map +1 -1
  88. package/dist/lib/panels/status-stepper.component.d.ts +1 -1
  89. package/dist/public-api.d.ts +2 -5
  90. package/dist/public-api.d.ts.map +1 -1
  91. package/dist/public-api.js +3 -5
  92. package/dist/public-api.js.map +1 -1
  93. package/package.json +6 -6
  94. package/dist/lib/custom/PriceList/price-list-form.component.d.ts +0 -46
  95. package/dist/lib/custom/PriceList/price-list-form.component.d.ts.map +0 -1
  96. package/dist/lib/custom/PriceList/price-list-form.component.js +0 -363
  97. package/dist/lib/custom/PriceList/price-list-form.component.js.map +0 -1
  98. package/dist/lib/custom/Product/product-form.component.d.ts +0 -98
  99. package/dist/lib/custom/Product/product-form.component.d.ts.map +0 -1
  100. package/dist/lib/custom/Product/product-form.component.js +0 -695
  101. package/dist/lib/custom/Product/product-form.component.js.map +0 -1
  102. package/dist/lib/custom/Product/written-key.d.ts +0 -20
  103. package/dist/lib/custom/Product/written-key.d.ts.map +0 -1
  104. package/dist/lib/custom/Product/written-key.js +0 -22
  105. package/dist/lib/custom/Product/written-key.js.map +0 -1
  106. package/dist/lib/custom/Promotion/promotion-form.component.d.ts +0 -33
  107. package/dist/lib/custom/Promotion/promotion-form.component.d.ts.map +0 -1
  108. package/dist/lib/custom/Promotion/promotion-form.component.js +0 -350
  109. package/dist/lib/custom/Promotion/promotion-form.component.js.map +0 -1
  110. package/dist/lib/custom/Subscription/subscription-form.component.d.ts +0 -96
  111. package/dist/lib/custom/Subscription/subscription-form.component.d.ts.map +0 -1
  112. package/dist/lib/custom/Subscription/subscription-form.component.js +0 -885
  113. package/dist/lib/custom/Subscription/subscription-form.component.js.map +0 -1
  114. package/dist/lib/custom/SubscriptionTerm/subscription-term-form.component.d.ts +0 -60
  115. package/dist/lib/custom/SubscriptionTerm/subscription-term-form.component.d.ts.map +0 -1
  116. package/dist/lib/custom/SubscriptionTerm/subscription-term-form.component.js +0 -567
  117. package/dist/lib/custom/SubscriptionTerm/subscription-term-form.component.js.map +0 -1
  118. package/dist/lib/transfer-pending/workspace-tabs/workspace-card.component.d.ts +0 -55
  119. package/dist/lib/transfer-pending/workspace-tabs/workspace-card.component.d.ts.map +0 -1
  120. package/dist/lib/transfer-pending/workspace-tabs/workspace-card.component.js +0 -243
  121. package/dist/lib/transfer-pending/workspace-tabs/workspace-card.component.js.map +0 -1
  122. package/dist/lib/transfer-pending/workspace-tabs/workspace-tab-store.d.ts +0 -47
  123. package/dist/lib/transfer-pending/workspace-tabs/workspace-tab-store.d.ts.map +0 -1
  124. package/dist/lib/transfer-pending/workspace-tabs/workspace-tab-store.js +0 -112
  125. package/dist/lib/transfer-pending/workspace-tabs/workspace-tab-store.js.map +0 -1
  126. package/dist/lib/transfer-pending/workspace-tabs/workspace-tab-strip.component.d.ts +0 -36
  127. package/dist/lib/transfer-pending/workspace-tabs/workspace-tab-strip.component.d.ts.map +0 -1
  128. package/dist/lib/transfer-pending/workspace-tabs/workspace-tab-strip.component.js +0 -179
  129. package/dist/lib/transfer-pending/workspace-tabs/workspace-tab-strip.component.js.map +0 -1
  130. package/dist/lib/transfer-pending/workspace-tabs/workspace-tabs.types.d.ts +0 -36
  131. package/dist/lib/transfer-pending/workspace-tabs/workspace-tabs.types.d.ts.map +0 -1
  132. package/dist/lib/transfer-pending/workspace-tabs/workspace-tabs.types.js +0 -9
  133. package/dist/lib/transfer-pending/workspace-tabs/workspace-tabs.types.js.map +0 -1
  134. package/dist/lib/transfer-pending/workspace-tabs/workspace-tip.directive.d.ts +0 -35
  135. package/dist/lib/transfer-pending/workspace-tabs/workspace-tip.directive.d.ts.map +0 -1
  136. package/dist/lib/transfer-pending/workspace-tabs/workspace-tip.directive.js +0 -124
  137. package/dist/lib/transfer-pending/workspace-tabs/workspace-tip.directive.js.map +0 -1
@@ -3,14 +3,13 @@ import { Metadata, RunView, CompositeKey, EntityFieldTSType } from '@memberjunct
3
3
  import { GetGlobalObjectStore } from '@memberjunction/global';
4
4
  import { NavigationService } from '@memberjunction/ng-shared';
5
5
  import { moveItemInArray } from '@angular/cdk/drag-drop';
6
- import { FormatMoney } from '../../../panels/money-format.js';
6
+ import { FormatDate, FormatMoney } from '../../../panels/money-format.js';
7
7
  import { LoadOrdersEngine, OrdersEngine, PRICE_APPLICABILITY_SOURCES, TodayAsDateValue, priceApplies } from '@mj-biz-apps/orders-entities';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/forms";
10
10
  import * as i2 from "@angular/cdk/drag-drop";
11
11
  import * as i3 from "@memberjunction/ng-base-forms";
12
12
  import * as i4 from "@memberjunction/ng-filter-builder";
13
- import * as i5 from "@angular/common";
14
13
  const _forTrack0 = ($index, $item) => $item.ID;
15
14
  function BizAppsProductPricingWidgetComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
16
15
  const _r1 = i0.ɵɵgetCurrentView();
@@ -290,19 +289,19 @@ function BizAppsProductPricingWidgetComponent_Conditional_19_Conditional_2_For_2
290
289
  function BizAppsProductPricingWidgetComponent_Conditional_19_Conditional_2_For_2_Conditional_11_Conditional_2_Conditional_4_Conditional_4_Conditional_4_Template(rf, ctx) { if (rf & 1) {
291
290
  i0.ɵɵelementStart(0, "span");
292
291
  i0.ɵɵtext(1);
293
- i0.ɵɵpipe(2, "date");
294
292
  i0.ɵɵelementEnd();
295
293
  } if (rf & 2) {
296
294
  const row_r8 = i0.ɵɵnextContext(5).$implicit;
295
+ const ctx_r1 = i0.ɵɵnextContext(3);
297
296
  i0.ɵɵadvance();
298
- i0.ɵɵtextInterpolate1("Until ", i0.ɵɵpipeBind2(2, 1, row_r8.Record.EffectiveTo, "mediumDate"));
297
+ i0.ɵɵtextInterpolate1("Until ", ctx_r1.FormatDate(row_r8.Record.EffectiveTo));
299
298
  } }
300
299
  function BizAppsProductPricingWidgetComponent_Conditional_19_Conditional_2_For_2_Conditional_11_Conditional_2_Conditional_4_Conditional_4_Template(rf, ctx) { if (rf & 1) {
301
300
  i0.ɵɵelementStart(0, "div", 61);
302
301
  i0.ɵɵconditionalCreate(1, BizAppsProductPricingWidgetComponent_Conditional_19_Conditional_2_For_2_Conditional_11_Conditional_2_Conditional_4_Conditional_4_Conditional_1_Template, 2, 1, "span");
303
302
  i0.ɵɵconditionalCreate(2, BizAppsProductPricingWidgetComponent_Conditional_19_Conditional_2_For_2_Conditional_11_Conditional_2_Conditional_4_Conditional_4_Conditional_2_Template, 2, 1, "span");
304
303
  i0.ɵɵconditionalCreate(3, BizAppsProductPricingWidgetComponent_Conditional_19_Conditional_2_For_2_Conditional_11_Conditional_2_Conditional_4_Conditional_4_Conditional_3_Template, 2, 1, "span");
305
- i0.ɵɵconditionalCreate(4, BizAppsProductPricingWidgetComponent_Conditional_19_Conditional_2_For_2_Conditional_11_Conditional_2_Conditional_4_Conditional_4_Conditional_4_Template, 3, 4, "span");
304
+ i0.ɵɵconditionalCreate(4, BizAppsProductPricingWidgetComponent_Conditional_19_Conditional_2_For_2_Conditional_11_Conditional_2_Conditional_4_Conditional_4_Conditional_4_Template, 2, 1, "span");
306
305
  i0.ɵɵelementEnd();
307
306
  } if (rf & 2) {
308
307
  const row_r8 = i0.ɵɵnextContext(4).$implicit;
@@ -574,6 +573,8 @@ export class BizAppsProductPricingWidgetComponent {
574
573
  this.navService = undefined;
575
574
  }
576
575
  }
576
+ /** Template access to the shared date formatter: an `EffectiveTo` is a calendar day, not an instant. */
577
+ FormatDate = FormatDate;
577
578
  IsLoading = false;
578
579
  IsSaving = false;
579
580
  IsAdvancedGridView = false;
@@ -924,7 +925,7 @@ export class BizAppsProductPricingWidgetComponent {
924
925
  UnitSavings: savings,
925
926
  PricingModel: rec.PricingModel || 'PerUnit',
926
927
  FeeType: rec.FeeType || 'Standard',
927
- EffectiveDatesText: rec.EffectiveTo ? `Until ${new Date(rec.EffectiveTo).toLocaleDateString()}` : 'Always Active',
928
+ EffectiveDatesText: rec.EffectiveTo ? `Until ${FormatDate(rec.EffectiveTo)}` : 'Always Active',
928
929
  IsBaseBracket: index === 0 && min === 1 && this.SelectedChannelID === null,
929
930
  };
930
931
  });
@@ -1484,11 +1485,11 @@ export class BizAppsProductPricingWidgetComponent {
1484
1485
  i0.ɵɵconditional(ctx.IsAdvancedGridView ? 18 : 19);
1485
1486
  i0.ɵɵadvance(2);
1486
1487
  i0.ɵɵconditional(ctx.QuoteDrawerOpen ? 20 : -1);
1487
- } }, dependencies: [i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.DefaultValueAccessor, i1.NumberValueAccessor, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.MinValidator, i1.NgModel, i2.CdkDropList, i2.CdkDrag, i2.CdkDragHandle, i3.ExplorerEntityDataGridComponent, i4.FilterBuilderComponent, i5.DatePipe], styles: [".mjo-pricing-widget-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n width: 100%;\n position: relative;\n}\n\n\n\n.mjo-toast[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 16px;\n border-radius: var(--mj-radius-md, 8px);\n font-size: 13px;\n font-weight: 500;\n animation: _ngcontent-%COMP%_mjo-toast-in 0.25s cubic-bezier(0.16, 1, 0.3, 1);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n border: 1px solid transparent;\n}\n\n@keyframes _ngcontent-%COMP%_mjo-toast-in {\n from { opacity: 0; transform: translateY(-6px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n.mjo-toast--success[_ngcontent-%COMP%] {\n background: rgba(22, 163, 74, 0.15);\n border-color: rgba(22, 163, 74, 0.3);\n color: #22c55e;\n}\n\n.mjo-toast--error[_ngcontent-%COMP%] {\n background: rgba(239, 68, 68, 0.15);\n border-color: rgba(239, 68, 68, 0.3);\n color: #f87171;\n}\n\n.mjo-toast--info[_ngcontent-%COMP%] {\n background: rgba(2, 132, 199, 0.15);\n border-color: rgba(2, 132, 199, 0.3);\n color: #38bdf8;\n}\n\n.mjo-toast-left[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.mjo-toast-left[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n\n.mjo-toast-msg[_ngcontent-%COMP%] {\n line-height: 1.4;\n}\n\n.mjo-toast-close[_ngcontent-%COMP%] {\n background: transparent;\n border: none;\n color: currentColor;\n opacity: 0.7;\n cursor: pointer;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 13px;\n}\n\n.mjo-toast-close[_ngcontent-%COMP%]:hover {\n opacity: 1;\n}\n\n.mjo-pricing-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card, rgba(255, 255, 255, 0.05));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n border-radius: var(--mj-radius-lg, 10px);\n overflow: hidden;\n}\n\n.mjo-card-header-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.mjo-card-header[_ngcontent-%COMP%] {\n padding: 12px 16px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-bottom: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n}\n\n.mjo-card-title[_ngcontent-%COMP%] {\n font-size: 13.5px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mjo-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-base-pill[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted, #64748b);\n}\n\n.mjo-base-pill[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n font-family: var(--mj-font-mono, monospace);\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-pricing-fields[_ngcontent-%COMP%] {\n padding: 16px;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n gap: 16px;\n}\n\n\n\n.mjo-channel-bar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-bottom: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n padding: 0 12px;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.mjo-channel-list[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n overflow-x: auto;\n}\n\n.mjo-channel-tab[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 12px 14px;\n background: transparent;\n border: none;\n border-bottom: 2px solid transparent;\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-muted, #94a3b8);\n cursor: pointer;\n transition: all 0.15s ease;\n white-space: nowrap;\n}\n\n.mjo-channel-tab[_ngcontent-%COMP%]:hover {\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-channel-tab.active[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary, #0284c7);\n border-bottom-color: var(--mj-brand-primary, #0284c7);\n background: var(--mj-bg-surface-card, rgba(255, 255, 255, 0.05));\n}\n\n.mjo-channel-count[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 700;\n padding: 2px 6px;\n border-radius: 9999px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.15));\n color: var(--mj-text-secondary, #cbd5e1);\n}\n\n.mjo-channel-tab.active[_ngcontent-%COMP%] .mjo-channel-count[_ngcontent-%COMP%] {\n background: rgba(2, 132, 199, 0.18);\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-channel-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mjo-btn-subtle[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n border-radius: 6px;\n font-size: 11.5px;\n font-weight: 600;\n color: var(--mj-text-primary, #0f172a);\n background: var(--mj-bg-surface-card, rgba(255, 255, 255, 0.05));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.mjo-btn-subtle[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary, #0284c7);\n color: var(--mj-brand-primary, #0284c7);\n}\n\n\n\n.mjo-ladder-table-wrap[_ngcontent-%COMP%] {\n overflow-x: auto;\n width: 100%;\n}\n\n.mjo-ladder-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n text-align: left;\n}\n\n.mjo-ladder-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 10px 14px;\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: var(--mj-text-muted, #64748b);\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.05));\n border-bottom: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n}\n\n.mjo-ladder-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 11px 14px;\n border-bottom: 1px solid var(--mj-border-subtle, rgba(255, 255, 255, 0.06));\n color: var(--mj-text-primary, #0f172a);\n vertical-align: middle;\n}\n\n.mjo-ladder-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover, rgba(255, 255, 255, 0.03));\n}\n\n.mjo-tier-title[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-range-pill[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-family: var(--mj-font-mono, monospace);\n font-weight: 700;\n font-size: 12px;\n padding: 3px 8px;\n border-radius: 6px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.12));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n}\n\n.mjo-price-input[_ngcontent-%COMP%] {\n font-family: var(--mj-font-mono, monospace);\n font-size: 13.5px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n background: var(--mj-bg-surface, rgba(0, 0, 0, 0.2));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.15));\n border-radius: 6px;\n padding: 5px 8px;\n width: 100px;\n transition: all 0.15s ease;\n}\n\n.mjo-price-input[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary, #0284c7);\n box-shadow: 0 0 0 2px rgba(2, 132, 199, 0.25);\n}\n\n.mjo-price-val[_ngcontent-%COMP%] {\n font-family: var(--mj-font-mono, monospace);\n font-size: 13px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n display: inline-block;\n padding: 4px 0;\n}\n\n.mjo-disc-tag[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n font-weight: 700;\n padding: 2px 7px;\n border-radius: 4px;\n background: rgba(22, 163, 74, 0.15);\n color: #22c55e;\n}\n\n.mjo-standard-tag[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-savings-val[_ngcontent-%COMP%] {\n color: #22c55e;\n font-family: var(--mj-font-mono, monospace);\n font-size: 12.5px;\n}\n\n.mjo-model-tag[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n padding: 2px 7px;\n border-radius: 4px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n color: var(--mj-text-secondary, #cbd5e1);\n}\n\n.mjo-date-tag[_ngcontent-%COMP%] {\n font-size: 11.5px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-th-num[_ngcontent-%COMP%], .mjo-td-num[_ngcontent-%COMP%] { text-align: left; }\n.mjo-th-actions[_ngcontent-%COMP%], .mjo-td-actions[_ngcontent-%COMP%] { text-align: right; }\n\n.mjo-action-btn[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n background: var(--mj-bg-surface, rgba(255, 255, 255, 0.05));\n color: var(--mj-text-muted, #94a3b8);\n cursor: pointer;\n font-size: 11px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n transition: all 0.15s ease;\n margin-left: 4px;\n}\n\n.mjo-action-btn[_ngcontent-%COMP%]:hover {\n color: var(--mj-brand-primary, #0284c7);\n border-color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-action-btn--delete[_ngcontent-%COMP%]:hover {\n color: #ef4444;\n border-color: #ef4444;\n}\n\n\n\n.mjo-quick-add-bar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-top: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n gap: 12px;\n flex-wrap: wrap;\n}\n\n.mjo-quick-add-inputs[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.mjo-quick-add-label[_ngcontent-%COMP%] {\n font-size: 12.5px;\n font-weight: 700;\n color: var(--mj-brand-primary, #0284c7);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.mjo-field-group[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.mjo-sub-label[_ngcontent-%COMP%] {\n font-size: 11.5px;\n font-weight: 600;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-input-num[_ngcontent-%COMP%] {\n width: 65px;\n padding: 5px 8px;\n font-size: 12.5px;\n font-family: var(--mj-font-mono, monospace);\n font-weight: 700;\n text-align: center;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.15));\n background: var(--mj-bg-surface, rgba(0, 0, 0, 0.2));\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-input-price[_ngcontent-%COMP%] {\n width: 85px;\n padding: 5px 8px;\n font-size: 12.5px;\n font-family: var(--mj-font-mono, monospace);\n font-weight: 700;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.15));\n background: var(--mj-bg-surface, rgba(0, 0, 0, 0.2));\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-input-select[_ngcontent-%COMP%] {\n padding: 5px 8px;\n font-size: 12px;\n font-weight: 600;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.15));\n background: var(--mj-bg-surface, rgba(0, 0, 0, 0.2));\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-btn-add[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n border-radius: 6px;\n font-size: 12px;\n font-weight: 700;\n color: #ffffff;\n background: #0284c7;\n border: none;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.mjo-btn-add[_ngcontent-%COMP%]:hover {\n background: #0369a1;\n}\n\n.mjo-btn-add[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.mjo-guard-badge[_ngcontent-%COMP%] {\n font-size: 11.5px;\n color: #22c55e;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n\n\n.mjo-step-curve-wrap[_ngcontent-%COMP%] {\n padding: 14px 18px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.mjo-step-curve-title[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: var(--mj-text-muted, #94a3b8);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.mjo-step-curve-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-step-curve-bars[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-end;\n gap: 12px;\n height: 80px;\n padding-top: 8px;\n}\n\n.mjo-step-col[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n height: 100%;\n justify-content: flex-end;\n}\n\n.mjo-step-track[_ngcontent-%COMP%] {\n width: 100%;\n max-width: 60px;\n height: 100%;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-radius: 4px 4px 0 0;\n display: flex;\n align-items: flex-end;\n}\n\n.mjo-step-fill[_ngcontent-%COMP%] {\n width: 100%;\n border-radius: 4px 4px 0 0;\n background: linear-gradient(180deg, #0284c7 0%, #0369a1 100%);\n min-height: 8px;\n transition: height 0.3s ease;\n}\n\n.mjo-step-val[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 700;\n font-family: var(--mj-font-mono, monospace);\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-step-label[_ngcontent-%COMP%] {\n font-size: 10px;\n font-family: var(--mj-font-mono, monospace);\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-loading-state[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n padding: 30px;\n font-size: 13px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-empty-tiers[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 24px;\n}\n\n.mjo-empty-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n border-radius: 50%;\n background: rgba(2, 132, 199, 0.15);\n color: var(--mj-brand-primary, #0284c7);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 18px;\n}\n\n.mjo-empty-text[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0 0 4px 0;\n font-size: 13.5px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-empty-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-grid-wrap[_ngcontent-%COMP%] {\n padding: 0;\n min-height: 400px;\n height: 420px;\n}\n\n.mjo-price-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 12px 14px 16px;\n}\n\n.mjo-offer[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n border-radius: 12px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.12));\n overflow: hidden;\n}\n\n.mjo-offer.selected[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary, #38bdf8);\n box-shadow: inset 0 0 0 1px var(--mj-brand-primary, #38bdf8);\n}\n\n.mjo-offer-grip[_ngcontent-%COMP%] {\n color: var(--mj-text-muted, #94a3b8);\n cursor: grab;\n padding: 0 4px 0 0;\n display: inline-flex;\n}\n\n.mjo-offer-h[_ngcontent-%COMP%] {\n width: 100%;\n display: grid;\n grid-template-columns: 108px 1fr auto;\n gap: 14px;\n align-items: center;\n padding: 12px 14px;\n border: 0;\n background: transparent;\n color: inherit;\n text-align: left;\n cursor: pointer;\n}\n\n.mjo-offer-h[_ngcontent-%COMP%]:has(.mjo-offer-grip) {\n grid-template-columns: 18px 108px 1fr auto;\n}\n\n.mjo-offer-h[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary, #0076b6) 8%, transparent);\n}\n\n.mjo-offer-amt[_ngcontent-%COMP%] {\n font-variant-numeric: tabular-nums;\n font-weight: 700;\n font-size: 18px;\n letter-spacing: -0.02em;\n text-align: left;\n}\n\n.mjo-offer-copy[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-offer-name[_ngcontent-%COMP%] {\n font-weight: 700;\n font-size: 14px;\n}\n\n.mjo-offer-when[_ngcontent-%COMP%] {\n font-size: 12.5px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-offer-from[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 700;\n color: var(--mj-status-success-text, #86efac);\n white-space: nowrap;\n}\n\n.mjo-offer-body[_ngcontent-%COMP%] {\n padding: 0 14px 14px;\n border-top: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n}\n\n.mjo-when-read[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n padding-top: 12px;\n font-size: 13px;\n color: var(--mj-text-secondary, #cbd5e1);\n}\n\n.mjo-when-edit[_ngcontent-%COMP%] {\n padding-top: 12px;\n}\n\n.mjo-when-actions[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n margin-top: 10px;\n}\n\n.mjo-quote-scrim[_ngcontent-%COMP%] {\n position: fixed;\n inset: 0;\n background: rgba(2, 6, 23, 0.55);\n z-index: 40;\n}\n\n.mjo-quote-drawer[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n right: 0;\n height: 100vh;\n width: min(420px, 100vw);\n background: var(--mj-bg-page, #0f172a);\n border-left: 1px solid var(--mj-border-default, #334155);\n z-index: 50;\n padding: 20px 18px;\n box-shadow: -16px 0 40px rgba(0, 0, 0, 0.35);\n}\n\n.mjo-quote-drawer-h[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n}\n\n.mjo-quote-drawer[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n}\n\n.mjo-quote-lede[_ngcontent-%COMP%] {\n color: var(--mj-text-muted, #94a3b8);\n font-size: 12.5px;\n margin: 0 0 16px;\n}\n\n.mjo-quote-amt[_ngcontent-%COMP%] {\n font-size: 28px;\n font-weight: 700;\n letter-spacing: -0.02em;\n margin: 16px 0 6px;\n}\n\n.mjo-quote-why[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-offer.inherited[_ngcontent-%COMP%] {\n border-style: dashed;\n}\n\n.mjo-offer-from.inherited[_ngcontent-%COMP%] {\n color: #a78bfa;\n}\n\n.mjo-offer-fields[_ngcontent-%COMP%], \n.mjo-adv-grid[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 10px;\n padding-top: 12px;\n}\n\n.mjo-input-text[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.2));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n color: inherit;\n border-radius: 8px;\n padding: 6px 8px;\n min-width: 120px;\n}\n\n.mjo-when-title[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.05em;\n text-transform: uppercase;\n color: var(--mj-text-muted, #94a3b8);\n margin-bottom: 8px;\n}\n\n.mjo-when-rule[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr 110px 1fr;\n gap: 6px;\n}\n\n.mjo-when-rule[_ngcontent-%COMP%] select[_ngcontent-%COMP%], \n.mjo-when-rule[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.2));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n color: inherit;\n border-radius: 8px;\n padding: 6px 8px;\n}\n\n.mjo-inherit-note[_ngcontent-%COMP%] {\n font-size: 12.5px;\n color: var(--mj-text-muted, #94a3b8);\n margin: 12px 0 0;\n}\n\n.mjo-adv[_ngcontent-%COMP%] {\n margin-top: 10px;\n font-size: 12px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-adv-read[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 10px 16px;\n padding-top: 4px;\n font-size: 13px;\n color: var(--mj-text-secondary, #cbd5e1);\n}"] });
1488
+ } }, dependencies: [i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.DefaultValueAccessor, i1.NumberValueAccessor, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.MinValidator, i1.NgModel, i2.CdkDropList, i2.CdkDrag, i2.CdkDragHandle, i3.ExplorerEntityDataGridComponent, i4.FilterBuilderComponent], styles: [".mjo-pricing-widget-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n width: 100%;\n position: relative;\n}\n\n\n\n.mjo-toast[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 16px;\n border-radius: var(--mj-radius-md, 8px);\n font-size: 13px;\n font-weight: 500;\n animation: _ngcontent-%COMP%_mjo-toast-in 0.25s cubic-bezier(0.16, 1, 0.3, 1);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n border: 1px solid transparent;\n}\n\n@keyframes _ngcontent-%COMP%_mjo-toast-in {\n from { opacity: 0; transform: translateY(-6px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n.mjo-toast--success[_ngcontent-%COMP%] {\n background: rgba(22, 163, 74, 0.15);\n border-color: rgba(22, 163, 74, 0.3);\n color: #22c55e;\n}\n\n.mjo-toast--error[_ngcontent-%COMP%] {\n background: rgba(239, 68, 68, 0.15);\n border-color: rgba(239, 68, 68, 0.3);\n color: #f87171;\n}\n\n.mjo-toast--info[_ngcontent-%COMP%] {\n background: rgba(2, 132, 199, 0.15);\n border-color: rgba(2, 132, 199, 0.3);\n color: #38bdf8;\n}\n\n.mjo-toast-left[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.mjo-toast-left[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n\n.mjo-toast-msg[_ngcontent-%COMP%] {\n line-height: 1.4;\n}\n\n.mjo-toast-close[_ngcontent-%COMP%] {\n background: transparent;\n border: none;\n color: currentColor;\n opacity: 0.7;\n cursor: pointer;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 13px;\n}\n\n.mjo-toast-close[_ngcontent-%COMP%]:hover {\n opacity: 1;\n}\n\n.mjo-pricing-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card, rgba(255, 255, 255, 0.05));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n border-radius: var(--mj-radius-lg, 10px);\n overflow: hidden;\n}\n\n.mjo-card-header-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.mjo-card-header[_ngcontent-%COMP%] {\n padding: 12px 16px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-bottom: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n}\n\n.mjo-card-title[_ngcontent-%COMP%] {\n font-size: 13.5px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mjo-card-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-base-pill[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted, #64748b);\n}\n\n.mjo-base-pill[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n font-family: var(--mj-font-mono, monospace);\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-pricing-fields[_ngcontent-%COMP%] {\n padding: 16px;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n gap: 16px;\n}\n\n\n\n.mjo-channel-bar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-bottom: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n padding: 0 12px;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.mjo-channel-list[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n overflow-x: auto;\n}\n\n.mjo-channel-tab[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 12px 14px;\n background: transparent;\n border: none;\n border-bottom: 2px solid transparent;\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-muted, #94a3b8);\n cursor: pointer;\n transition: all 0.15s ease;\n white-space: nowrap;\n}\n\n.mjo-channel-tab[_ngcontent-%COMP%]:hover {\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-channel-tab.active[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary, #0284c7);\n border-bottom-color: var(--mj-brand-primary, #0284c7);\n background: var(--mj-bg-surface-card, rgba(255, 255, 255, 0.05));\n}\n\n.mjo-channel-count[_ngcontent-%COMP%] {\n font-size: 10px;\n font-weight: 700;\n padding: 2px 6px;\n border-radius: 9999px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.15));\n color: var(--mj-text-secondary, #cbd5e1);\n}\n\n.mjo-channel-tab.active[_ngcontent-%COMP%] .mjo-channel-count[_ngcontent-%COMP%] {\n background: rgba(2, 132, 199, 0.18);\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-channel-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mjo-btn-subtle[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n border-radius: 6px;\n font-size: 11.5px;\n font-weight: 600;\n color: var(--mj-text-primary, #0f172a);\n background: var(--mj-bg-surface-card, rgba(255, 255, 255, 0.05));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.mjo-btn-subtle[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary, #0284c7);\n color: var(--mj-brand-primary, #0284c7);\n}\n\n\n\n.mjo-ladder-table-wrap[_ngcontent-%COMP%] {\n overflow-x: auto;\n width: 100%;\n}\n\n.mjo-ladder-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n text-align: left;\n}\n\n.mjo-ladder-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 10px 14px;\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: var(--mj-text-muted, #64748b);\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.05));\n border-bottom: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n}\n\n.mjo-ladder-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 11px 14px;\n border-bottom: 1px solid var(--mj-border-subtle, rgba(255, 255, 255, 0.06));\n color: var(--mj-text-primary, #0f172a);\n vertical-align: middle;\n}\n\n.mjo-ladder-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover, rgba(255, 255, 255, 0.03));\n}\n\n.mjo-tier-title[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-range-pill[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-family: var(--mj-font-mono, monospace);\n font-weight: 700;\n font-size: 12px;\n padding: 3px 8px;\n border-radius: 6px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.12));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n}\n\n.mjo-price-input[_ngcontent-%COMP%] {\n font-family: var(--mj-font-mono, monospace);\n font-size: 13.5px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n background: var(--mj-bg-surface, rgba(0, 0, 0, 0.2));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.15));\n border-radius: 6px;\n padding: 5px 8px;\n width: 100px;\n transition: all 0.15s ease;\n}\n\n.mjo-price-input[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary, #0284c7);\n box-shadow: 0 0 0 2px rgba(2, 132, 199, 0.25);\n}\n\n.mjo-price-val[_ngcontent-%COMP%] {\n font-family: var(--mj-font-mono, monospace);\n font-size: 13px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n display: inline-block;\n padding: 4px 0;\n}\n\n.mjo-disc-tag[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n font-weight: 700;\n padding: 2px 7px;\n border-radius: 4px;\n background: rgba(22, 163, 74, 0.15);\n color: #22c55e;\n}\n\n.mjo-standard-tag[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-savings-val[_ngcontent-%COMP%] {\n color: #22c55e;\n font-family: var(--mj-font-mono, monospace);\n font-size: 12.5px;\n}\n\n.mjo-model-tag[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n padding: 2px 7px;\n border-radius: 4px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n color: var(--mj-text-secondary, #cbd5e1);\n}\n\n.mjo-date-tag[_ngcontent-%COMP%] {\n font-size: 11.5px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-th-num[_ngcontent-%COMP%], .mjo-td-num[_ngcontent-%COMP%] { text-align: left; }\n.mjo-th-actions[_ngcontent-%COMP%], .mjo-td-actions[_ngcontent-%COMP%] { text-align: right; }\n\n.mjo-action-btn[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n background: var(--mj-bg-surface, rgba(255, 255, 255, 0.05));\n color: var(--mj-text-muted, #94a3b8);\n cursor: pointer;\n font-size: 11px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n transition: all 0.15s ease;\n margin-left: 4px;\n}\n\n.mjo-action-btn[_ngcontent-%COMP%]:hover {\n color: var(--mj-brand-primary, #0284c7);\n border-color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-action-btn--delete[_ngcontent-%COMP%]:hover {\n color: #ef4444;\n border-color: #ef4444;\n}\n\n\n\n.mjo-quick-add-bar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-top: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n gap: 12px;\n flex-wrap: wrap;\n}\n\n.mjo-quick-add-inputs[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.mjo-quick-add-label[_ngcontent-%COMP%] {\n font-size: 12.5px;\n font-weight: 700;\n color: var(--mj-brand-primary, #0284c7);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.mjo-field-group[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.mjo-sub-label[_ngcontent-%COMP%] {\n font-size: 11.5px;\n font-weight: 600;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-input-num[_ngcontent-%COMP%] {\n width: 65px;\n padding: 5px 8px;\n font-size: 12.5px;\n font-family: var(--mj-font-mono, monospace);\n font-weight: 700;\n text-align: center;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.15));\n background: var(--mj-bg-surface, rgba(0, 0, 0, 0.2));\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-input-price[_ngcontent-%COMP%] {\n width: 85px;\n padding: 5px 8px;\n font-size: 12.5px;\n font-family: var(--mj-font-mono, monospace);\n font-weight: 700;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.15));\n background: var(--mj-bg-surface, rgba(0, 0, 0, 0.2));\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-input-select[_ngcontent-%COMP%] {\n padding: 5px 8px;\n font-size: 12px;\n font-weight: 600;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.15));\n background: var(--mj-bg-surface, rgba(0, 0, 0, 0.2));\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-btn-add[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n border-radius: 6px;\n font-size: 12px;\n font-weight: 700;\n color: #ffffff;\n background: #0284c7;\n border: none;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.mjo-btn-add[_ngcontent-%COMP%]:hover {\n background: #0369a1;\n}\n\n.mjo-btn-add[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.mjo-guard-badge[_ngcontent-%COMP%] {\n font-size: 11.5px;\n color: #22c55e;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n\n\n.mjo-step-curve-wrap[_ngcontent-%COMP%] {\n padding: 14px 18px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.mjo-step-curve-title[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: var(--mj-text-muted, #94a3b8);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.mjo-step-curve-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-step-curve-bars[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-end;\n gap: 12px;\n height: 80px;\n padding-top: 8px;\n}\n\n.mjo-step-col[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n height: 100%;\n justify-content: flex-end;\n}\n\n.mjo-step-track[_ngcontent-%COMP%] {\n width: 100%;\n max-width: 60px;\n height: 100%;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-radius: 4px 4px 0 0;\n display: flex;\n align-items: flex-end;\n}\n\n.mjo-step-fill[_ngcontent-%COMP%] {\n width: 100%;\n border-radius: 4px 4px 0 0;\n background: linear-gradient(180deg, #0284c7 0%, #0369a1 100%);\n min-height: 8px;\n transition: height 0.3s ease;\n}\n\n.mjo-step-val[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 700;\n font-family: var(--mj-font-mono, monospace);\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-step-label[_ngcontent-%COMP%] {\n font-size: 10px;\n font-family: var(--mj-font-mono, monospace);\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-loading-state[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n padding: 30px;\n font-size: 13px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-empty-tiers[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 24px;\n}\n\n.mjo-empty-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n border-radius: 50%;\n background: rgba(2, 132, 199, 0.15);\n color: var(--mj-brand-primary, #0284c7);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 18px;\n}\n\n.mjo-empty-text[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0 0 4px 0;\n font-size: 13.5px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-empty-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-grid-wrap[_ngcontent-%COMP%] {\n padding: 0;\n min-height: 400px;\n height: 420px;\n}\n\n.mjo-price-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 12px 14px 16px;\n}\n\n.mjo-offer[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n border-radius: 12px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.12));\n overflow: hidden;\n}\n\n.mjo-offer.selected[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary, #38bdf8);\n box-shadow: inset 0 0 0 1px var(--mj-brand-primary, #38bdf8);\n}\n\n.mjo-offer-grip[_ngcontent-%COMP%] {\n color: var(--mj-text-muted, #94a3b8);\n cursor: grab;\n padding: 0 4px 0 0;\n display: inline-flex;\n}\n\n.mjo-offer-h[_ngcontent-%COMP%] {\n width: 100%;\n display: grid;\n grid-template-columns: 108px 1fr auto;\n gap: 14px;\n align-items: center;\n padding: 12px 14px;\n border: 0;\n background: transparent;\n color: inherit;\n text-align: left;\n cursor: pointer;\n}\n\n.mjo-offer-h[_ngcontent-%COMP%]:has(.mjo-offer-grip) {\n grid-template-columns: 18px 108px 1fr auto;\n}\n\n.mjo-offer-h[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary, #0076b6) 8%, transparent);\n}\n\n.mjo-offer-amt[_ngcontent-%COMP%] {\n font-variant-numeric: tabular-nums;\n font-weight: 700;\n font-size: 18px;\n letter-spacing: -0.02em;\n text-align: left;\n}\n\n.mjo-offer-copy[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-offer-name[_ngcontent-%COMP%] {\n font-weight: 700;\n font-size: 14px;\n}\n\n.mjo-offer-when[_ngcontent-%COMP%] {\n font-size: 12.5px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-offer-from[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 700;\n color: var(--mj-status-success-text, #86efac);\n white-space: nowrap;\n}\n\n.mjo-offer-body[_ngcontent-%COMP%] {\n padding: 0 14px 14px;\n border-top: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n}\n\n.mjo-when-read[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n padding-top: 12px;\n font-size: 13px;\n color: var(--mj-text-secondary, #cbd5e1);\n}\n\n.mjo-when-edit[_ngcontent-%COMP%] {\n padding-top: 12px;\n}\n\n.mjo-when-actions[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n margin-top: 10px;\n}\n\n.mjo-quote-scrim[_ngcontent-%COMP%] {\n position: fixed;\n inset: 0;\n background: rgba(2, 6, 23, 0.55);\n z-index: 40;\n}\n\n.mjo-quote-drawer[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n right: 0;\n height: 100vh;\n width: min(420px, 100vw);\n background: var(--mj-bg-page, #0f172a);\n border-left: 1px solid var(--mj-border-default, #334155);\n z-index: 50;\n padding: 20px 18px;\n box-shadow: -16px 0 40px rgba(0, 0, 0, 0.35);\n}\n\n.mjo-quote-drawer-h[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n}\n\n.mjo-quote-drawer[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n}\n\n.mjo-quote-lede[_ngcontent-%COMP%] {\n color: var(--mj-text-muted, #94a3b8);\n font-size: 12.5px;\n margin: 0 0 16px;\n}\n\n.mjo-quote-amt[_ngcontent-%COMP%] {\n font-size: 28px;\n font-weight: 700;\n letter-spacing: -0.02em;\n margin: 16px 0 6px;\n}\n\n.mjo-quote-why[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-offer.inherited[_ngcontent-%COMP%] {\n border-style: dashed;\n}\n\n.mjo-offer-from.inherited[_ngcontent-%COMP%] {\n color: #a78bfa;\n}\n\n.mjo-offer-fields[_ngcontent-%COMP%], \n.mjo-adv-grid[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 10px;\n padding-top: 12px;\n}\n\n.mjo-input-text[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.2));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n color: inherit;\n border-radius: 8px;\n padding: 6px 8px;\n min-width: 120px;\n}\n\n.mjo-when-title[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.05em;\n text-transform: uppercase;\n color: var(--mj-text-muted, #94a3b8);\n margin-bottom: 8px;\n}\n\n.mjo-when-rule[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr 110px 1fr;\n gap: 6px;\n}\n\n.mjo-when-rule[_ngcontent-%COMP%] select[_ngcontent-%COMP%], \n.mjo-when-rule[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.2));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n color: inherit;\n border-radius: 8px;\n padding: 6px 8px;\n}\n\n.mjo-inherit-note[_ngcontent-%COMP%] {\n font-size: 12.5px;\n color: var(--mj-text-muted, #94a3b8);\n margin: 12px 0 0;\n}\n\n.mjo-adv[_ngcontent-%COMP%] {\n margin-top: 10px;\n font-size: 12px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-adv-read[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 10px 16px;\n padding-top: 4px;\n font-size: 13px;\n color: var(--mj-text-secondary, #cbd5e1);\n}"] });
1488
1489
  }
1489
1490
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BizAppsProductPricingWidgetComponent, [{
1490
1491
  type: Component,
1491
- args: [{ standalone: false, selector: 'bizapps-product-pricing-widget', template: "<div class=\"mjo-pricing-widget-wrap\">\n @if (ActiveToast) {\n <div class=\"mjo-toast\" [class]=\"'mjo-toast--' + ActiveToast.Type\">\n <div class=\"mjo-toast-left\">\n <i [class]=\"ActiveToast.Icon\"></i>\n <span class=\"mjo-toast-msg\">{{ ActiveToast.Message }}</span>\n </div>\n <button type=\"button\" class=\"mjo-toast-close\" (click)=\"DismissToast()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n }\n\n <div class=\"mjo-pricing-card\">\n <div class=\"mjo-card-header\">\n <div class=\"mjo-card-title\">\n <i class=\"fa-solid fa-tags\"></i>\n <span>Prices</span>\n </div>\n <div class=\"mjo-card-header-actions\">\n <button type=\"button\" class=\"mjo-btn-subtle\" (click)=\"OpenQuote()\">\n <i class=\"fa-solid fa-flask\"></i>\n <span>Test a quote</span>\n </button>\n <button type=\"button\" class=\"mjo-btn-subtle\" (click)=\"ToggleAdvancedView()\">\n <i [class]=\"IsAdvancedGridView ? 'fa-solid fa-tags' : 'fa-solid fa-table-cells'\"></i>\n <span>{{ IsAdvancedGridView ? 'Prices' : 'Advanced grid' }}</span>\n </button>\n </div>\n </div>\n\n @if (ShowChannelBar) {\n <div class=\"mjo-channel-bar\">\n <div class=\"mjo-channel-list\">\n @for (ch of Channels; track ch.ID) {\n <button\n type=\"button\"\n class=\"mjo-channel-tab\"\n [class.active]=\"SelectedChannelID === ch.ID\"\n (click)=\"SelectChannel(ch.ID)\">\n <i [class]=\"ch.Icon\"></i>\n <span>{{ ch.Name }}</span>\n <span class=\"mjo-channel-count\">{{ ch.TierCount }} {{ ch.TierCount === 1 ? 'price' : 'prices' }}</span>\n </button>\n }\n </div>\n </div>\n }\n\n @if (IsAdvancedGridView) {\n @if (ProductPricesViewParams) {\n <div class=\"mjo-grid-wrap\">\n <mj-explorer-entity-data-grid\n [Params]=\"ProductPricesViewParams\"\n [NewRecordValues]=\"NewPriceRecordValues\"\n [Height]=\"420\"\n [AllowLoad]=\"true\"\n [ShowToolbar]=\"true\"\n [ShowNewButton]=\"EditMode\"\n [ShowDeleteButton]=\"EditMode\"\n (Navigate)=\"Navigate.emit($event)\">\n </mj-explorer-entity-data-grid>\n </div>\n }\n } @else {\n @if (IsLoading) {\n <div class=\"mjo-loading-state\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Loading prices\u2026</span>\n </div>\n } @else if (VisiblePrices.length === 0) {\n <div class=\"mjo-empty-tiers\">\n <div class=\"mjo-empty-icon\"><i class=\"fa-solid fa-tags\"></i></div>\n <div class=\"mjo-empty-text\">\n <h4>No prices on this channel</h4>\n <p>\n @if (EditMode) {\n Add a price. When is optional \u2014 only if this rate is not for everyone.\n } @else {\n Switch to Edit to add prices.\n }\n </p>\n </div>\n </div>\n } @else {\n <div\n class=\"mjo-price-list\"\n cdkDropList\n [cdkDropListDisabled]=\"!EditMode\"\n (cdkDropListDropped)=\"OnPriceDrop($event)\">\n @for (row of VisiblePrices; track row.ID) {\n <article\n class=\"mjo-offer\"\n cdkDrag\n [cdkDragDisabled]=\"!EditMode || row.Inherited\"\n [class.open]=\"ExpandedPriceID === row.ID && PriceCanExpand(row)\"\n [class.selected]=\"SelectedPriceID === row.ID\"\n [class.inherited]=\"row.Inherited\">\n <button type=\"button\" class=\"mjo-offer-h\" (click)=\"TogglePrice(row)\">\n @if (EditMode && !row.Inherited) {\n <span class=\"mjo-offer-grip\" cdkDragHandle title=\"Drag to change rank\">\n <i class=\"fa-solid fa-grip-vertical\"></i>\n </span>\n }\n <span class=\"mjo-offer-amt\">{{ FormatCurrency(row.Amount) }}</span>\n <span class=\"mjo-offer-copy\">\n <span class=\"mjo-offer-name\">{{ row.Name }}</span>\n @if (row.WhenText) {\n <span class=\"mjo-offer-when\">{{ row.WhenText }}</span>\n }\n </span>\n <span class=\"mjo-offer-from\" [class.inherited]=\"row.Inherited\">{{ row.SourceLabel }}</span>\n </button>\n @if (ExpandedPriceID === row.ID && PriceCanExpand(row)) {\n <div class=\"mjo-offer-body\" (click)=\"$event.stopPropagation()\">\n @if (row.Inherited) {\n <p class=\"mjo-inherit-note\">\n Inherited. A price with this name on the product replaces it.\n @if (EditMode) {\n <button type=\"button\" class=\"mjo-btn-subtle\" (click)=\"OverrideInherited(row)\">Override on this product</button>\n }\n </p>\n } @else {\n @if (EditMode) {\n <div class=\"mjo-offer-fields\">\n <label class=\"mjo-field-group\">\n <span class=\"mjo-sub-label\">Name</span>\n <input class=\"mjo-input-text\" [(ngModel)]=\"row.Record.Name\" (blur)=\"SavePrice(row.Record)\">\n </label>\n <label class=\"mjo-field-group\">\n <span class=\"mjo-sub-label\">Amount</span>\n <input type=\"number\" class=\"mjo-input-price\" [(ngModel)]=\"row.Record.Amount\" min=\"0\" step=\"0.01\" (blur)=\"SavePrice(row.Record)\">\n </label>\n <label class=\"mjo-field-group\">\n <span class=\"mjo-sub-label\">Model</span>\n <select class=\"mjo-input-select\" [(ngModel)]=\"row.Record.PricingModel\" (change)=\"SavePrice(row.Record)\">\n <option value=\"PerUnit\">Per unit</option>\n <option value=\"Package\">Package</option>\n <option value=\"Volume\">Volume</option>\n <option value=\"Flat\">Flat</option>\n </select>\n </label>\n </div>\n }\n @if (EditMode && row.WhenText && WhenEditorPriceID !== row.ID) {\n <div class=\"mjo-when-read\">\n <button type=\"button\" class=\"mjo-btn-subtle\" (click)=\"OpenWhenEditor(row)\">Edit When</button>\n </div>\n } @else if (EditMode && WhenEditorPriceID !== row.ID) {\n <button type=\"button\" class=\"mjo-btn-subtle\" (click)=\"OpenWhenEditor(row)\">+ When</button>\n }\n @if (EditMode && WhenEditorPriceID === row.ID) {\n <div class=\"mjo-when-edit\">\n <div class=\"mjo-when-title\">When this price applies</div>\n <mj-filter-builder\n [fields]=\"WhenFields\"\n [filter]=\"WhenFilter\"\n [showSummary]=\"true\"\n (filterChange)=\"OnWhenFilterChange($event)\">\n </mj-filter-builder>\n <div class=\"mjo-when-actions\">\n <button type=\"button\" class=\"mjo-btn-subtle\" (click)=\"ClearWhen(row)\">Remove When</button>\n <button type=\"button\" class=\"mjo-btn-subtle\" (click)=\"CloseWhenEditor()\">Cancel</button>\n <button type=\"button\" class=\"mjo-btn-add\" (click)=\"SaveWhen(row)\">Save When</button>\n </div>\n </div>\n }\n @if (HasAdvanced(row.Record) || AdvancedEditingID === row.ID) {\n <div class=\"mjo-adv\">\n <div class=\"mjo-when-title\">Qty, dates, fee</div>\n @if (EditMode) {\n <div class=\"mjo-adv-grid\">\n <label class=\"mjo-field-group\"><span class=\"mjo-sub-label\">Min qty</span>\n <input type=\"number\" class=\"mjo-input-num\" [(ngModel)]=\"row.Record.MinQuantity\" (blur)=\"SavePrice(row.Record)\">\n </label>\n <label class=\"mjo-field-group\"><span class=\"mjo-sub-label\">Max qty</span>\n <input type=\"number\" class=\"mjo-input-num\" [(ngModel)]=\"row.Record.MaxQuantity\" (blur)=\"SavePrice(row.Record)\">\n </label>\n <label class=\"mjo-field-group\"><span class=\"mjo-sub-label\">Fee type</span>\n <input class=\"mjo-input-text\" [(ngModel)]=\"row.Record.FeeType\" (blur)=\"SavePrice(row.Record)\">\n </label>\n <label class=\"mjo-field-group\"><span class=\"mjo-sub-label\">Priority</span>\n <input type=\"number\" class=\"mjo-input-num\" [(ngModel)]=\"row.Record.Priority\" (blur)=\"SavePrice(row.Record)\">\n </label>\n </div>\n } @else {\n <div class=\"mjo-adv-read\">\n @if (row.Record.MinQuantity != null) {\n <span>Min qty {{ row.Record.MinQuantity }}</span>\n }\n @if (row.Record.MaxQuantity != null) {\n <span>Max qty {{ row.Record.MaxQuantity }}</span>\n }\n @if (row.Record.FeeType && row.Record.FeeType !== 'Standard') {\n <span>{{ row.Record.FeeType }}</span>\n }\n @if (row.Record.EffectiveTo) {\n <span>Until {{ row.Record.EffectiveTo | date:'mediumDate' }}</span>\n }\n </div>\n }\n </div>\n } @else if (EditMode) {\n <button type=\"button\" class=\"mjo-btn-subtle\" (click)=\"OpenAdvanced(row.ID, $event)\">+ Qty, dates, fee</button>\n }\n }\n </div>\n }\n </article>\n }\n </div>\n }\n\n @if (EditMode) {\n <div class=\"mjo-quick-add-bar\">\n <div class=\"mjo-quick-add-inputs\">\n <span class=\"mjo-quick-add-label\">\n <i class=\"fa-solid fa-plus-circle\"></i> Add price\n </span>\n <label class=\"mjo-field-group\">\n <span class=\"mjo-sub-label\">Name</span>\n <input class=\"mjo-input-text\" [(ngModel)]=\"NewPriceName\" placeholder=\"Base\">\n </label>\n <label class=\"mjo-field-group\">\n <span class=\"mjo-sub-label\">Amount</span>\n <input type=\"number\" class=\"mjo-input-price\" [(ngModel)]=\"NewPriceAmount\" min=\"0\" step=\"0.01\">\n </label>\n <button type=\"button\" class=\"mjo-btn-add\" [disabled]=\"IsSaving\" (click)=\"AddPrice()\">\n @if (IsSaving) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Saving\u2026</span>\n } @else {\n <i class=\"fa-solid fa-plus\"></i>\n <span>Add price</span>\n }\n </button>\n </div>\n </div>\n }\n }\n </div>\n</div>\n\n@if (QuoteDrawerOpen) {\n <div class=\"mjo-quote-scrim\" (click)=\"CloseQuote()\"></div>\n <aside class=\"mjo-quote-drawer\" role=\"dialog\" aria-label=\"Test a quote\">\n <div class=\"mjo-quote-drawer-h\">\n <h3>Test a quote</h3>\n <button type=\"button\" class=\"mjo-btn-subtle\" (click)=\"CloseQuote()\">Close</button>\n </div>\n <p class=\"mjo-quote-lede\">Optional. Sample bill-to type against these prices. Same walk as GL \u2014 product then category.</p>\n <label class=\"mjo-field-group\">\n <span class=\"mjo-sub-label\">Bill-to organization Type</span>\n <select class=\"mjo-input-select\" [(ngModel)]=\"QuoteOrgType\" (ngModelChange)=\"RunQuote()\">\n <option value=\"Member\">Member</option>\n <option value=\"Prospect\">Prospect</option>\n </select>\n </label>\n <label class=\"mjo-field-group\">\n <span class=\"mjo-sub-label\">Qty</span>\n <input type=\"number\" class=\"mjo-input-num\" [(ngModel)]=\"SimQuantity\" min=\"1\" (ngModelChange)=\"RunQuote()\">\n </label>\n <div class=\"mjo-quote-amt\">{{ QuoteResult.AmountText }}</div>\n <p class=\"mjo-quote-why\">{{ QuoteResult.Why }}</p>\n @if (QuoteResult.Skipped) {\n <p class=\"mjo-quote-why\">{{ QuoteResult.Skipped }}</p>\n }\n </aside>\n}\n", styles: [".mjo-pricing-widget-wrap {\n display: flex;\n flex-direction: column;\n gap: 16px;\n width: 100%;\n position: relative;\n}\n\n/* In-Widget Toast Notification */\n.mjo-toast {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 16px;\n border-radius: var(--mj-radius-md, 8px);\n font-size: 13px;\n font-weight: 500;\n animation: mjo-toast-in 0.25s cubic-bezier(0.16, 1, 0.3, 1);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n border: 1px solid transparent;\n}\n\n@keyframes mjo-toast-in {\n from { opacity: 0; transform: translateY(-6px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n.mjo-toast--success {\n background: rgba(22, 163, 74, 0.15);\n border-color: rgba(22, 163, 74, 0.3);\n color: #22c55e;\n}\n\n.mjo-toast--error {\n background: rgba(239, 68, 68, 0.15);\n border-color: rgba(239, 68, 68, 0.3);\n color: #f87171;\n}\n\n.mjo-toast--info {\n background: rgba(2, 132, 199, 0.15);\n border-color: rgba(2, 132, 199, 0.3);\n color: #38bdf8;\n}\n\n.mjo-toast-left {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.mjo-toast-left i {\n font-size: 16px;\n}\n\n.mjo-toast-msg {\n line-height: 1.4;\n}\n\n.mjo-toast-close {\n background: transparent;\n border: none;\n color: currentColor;\n opacity: 0.7;\n cursor: pointer;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 13px;\n}\n\n.mjo-toast-close:hover {\n opacity: 1;\n}\n\n.mjo-pricing-card {\n background: var(--mj-bg-surface-card, rgba(255, 255, 255, 0.05));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n border-radius: var(--mj-radius-lg, 10px);\n overflow: hidden;\n}\n\n.mjo-card-header-actions {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.mjo-card-header {\n padding: 12px 16px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-bottom: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n}\n\n.mjo-card-title {\n font-size: 13.5px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mjo-card-title i {\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-base-pill {\n font-size: 12px;\n color: var(--mj-text-muted, #64748b);\n}\n\n.mjo-base-pill strong {\n font-family: var(--mj-font-mono, monospace);\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-pricing-fields {\n padding: 16px;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n gap: 16px;\n}\n\n/* Channel Tabs Header */\n.mjo-channel-bar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-bottom: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n padding: 0 12px;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.mjo-channel-list {\n display: flex;\n align-items: center;\n gap: 4px;\n overflow-x: auto;\n}\n\n.mjo-channel-tab {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 12px 14px;\n background: transparent;\n border: none;\n border-bottom: 2px solid transparent;\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-muted, #94a3b8);\n cursor: pointer;\n transition: all 0.15s ease;\n white-space: nowrap;\n}\n\n.mjo-channel-tab:hover {\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-channel-tab.active {\n color: var(--mj-brand-primary, #0284c7);\n border-bottom-color: var(--mj-brand-primary, #0284c7);\n background: var(--mj-bg-surface-card, rgba(255, 255, 255, 0.05));\n}\n\n.mjo-channel-count {\n font-size: 10px;\n font-weight: 700;\n padding: 2px 6px;\n border-radius: 9999px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.15));\n color: var(--mj-text-secondary, #cbd5e1);\n}\n\n.mjo-channel-tab.active .mjo-channel-count {\n background: rgba(2, 132, 199, 0.18);\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-channel-actions {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mjo-btn-subtle {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n border-radius: 6px;\n font-size: 11.5px;\n font-weight: 600;\n color: var(--mj-text-primary, #0f172a);\n background: var(--mj-bg-surface-card, rgba(255, 255, 255, 0.05));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.mjo-btn-subtle:hover {\n border-color: var(--mj-brand-primary, #0284c7);\n color: var(--mj-brand-primary, #0284c7);\n}\n\n/* Tier Ladder Table */\n.mjo-ladder-table-wrap {\n overflow-x: auto;\n width: 100%;\n}\n\n.mjo-ladder-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n text-align: left;\n}\n\n.mjo-ladder-table th {\n padding: 10px 14px;\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: var(--mj-text-muted, #64748b);\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.05));\n border-bottom: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n}\n\n.mjo-ladder-table td {\n padding: 11px 14px;\n border-bottom: 1px solid var(--mj-border-subtle, rgba(255, 255, 255, 0.06));\n color: var(--mj-text-primary, #0f172a);\n vertical-align: middle;\n}\n\n.mjo-ladder-table tr:hover {\n background: var(--mj-bg-surface-hover, rgba(255, 255, 255, 0.03));\n}\n\n.mjo-tier-title {\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-range-pill {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-family: var(--mj-font-mono, monospace);\n font-weight: 700;\n font-size: 12px;\n padding: 3px 8px;\n border-radius: 6px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.12));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n}\n\n.mjo-price-input {\n font-family: var(--mj-font-mono, monospace);\n font-size: 13.5px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n background: var(--mj-bg-surface, rgba(0, 0, 0, 0.2));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.15));\n border-radius: 6px;\n padding: 5px 8px;\n width: 100px;\n transition: all 0.15s ease;\n}\n\n.mjo-price-input:focus {\n outline: none;\n border-color: var(--mj-brand-primary, #0284c7);\n box-shadow: 0 0 0 2px rgba(2, 132, 199, 0.25);\n}\n\n.mjo-price-val {\n font-family: var(--mj-font-mono, monospace);\n font-size: 13px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n display: inline-block;\n padding: 4px 0;\n}\n\n.mjo-disc-tag {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n font-weight: 700;\n padding: 2px 7px;\n border-radius: 4px;\n background: rgba(22, 163, 74, 0.15);\n color: #22c55e;\n}\n\n.mjo-standard-tag {\n font-size: 11px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-savings-val {\n color: #22c55e;\n font-family: var(--mj-font-mono, monospace);\n font-size: 12.5px;\n}\n\n.mjo-model-tag {\n font-size: 11px;\n font-weight: 600;\n padding: 2px 7px;\n border-radius: 4px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n color: var(--mj-text-secondary, #cbd5e1);\n}\n\n.mjo-date-tag {\n font-size: 11.5px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-th-num, .mjo-td-num { text-align: left; }\n.mjo-th-actions, .mjo-td-actions { text-align: right; }\n\n.mjo-action-btn {\n width: 28px;\n height: 28px;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n background: var(--mj-bg-surface, rgba(255, 255, 255, 0.05));\n color: var(--mj-text-muted, #94a3b8);\n cursor: pointer;\n font-size: 11px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n transition: all 0.15s ease;\n margin-left: 4px;\n}\n\n.mjo-action-btn:hover {\n color: var(--mj-brand-primary, #0284c7);\n border-color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-action-btn--delete:hover {\n color: #ef4444;\n border-color: #ef4444;\n}\n\n/* 1-Click Quick Add Bar */\n.mjo-quick-add-bar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-top: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n gap: 12px;\n flex-wrap: wrap;\n}\n\n.mjo-quick-add-inputs {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.mjo-quick-add-label {\n font-size: 12.5px;\n font-weight: 700;\n color: var(--mj-brand-primary, #0284c7);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.mjo-field-group {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.mjo-sub-label {\n font-size: 11.5px;\n font-weight: 600;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-input-num {\n width: 65px;\n padding: 5px 8px;\n font-size: 12.5px;\n font-family: var(--mj-font-mono, monospace);\n font-weight: 700;\n text-align: center;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.15));\n background: var(--mj-bg-surface, rgba(0, 0, 0, 0.2));\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-input-price {\n width: 85px;\n padding: 5px 8px;\n font-size: 12.5px;\n font-family: var(--mj-font-mono, monospace);\n font-weight: 700;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.15));\n background: var(--mj-bg-surface, rgba(0, 0, 0, 0.2));\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-input-select {\n padding: 5px 8px;\n font-size: 12px;\n font-weight: 600;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.15));\n background: var(--mj-bg-surface, rgba(0, 0, 0, 0.2));\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-btn-add {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n border-radius: 6px;\n font-size: 12px;\n font-weight: 700;\n color: #ffffff;\n background: #0284c7;\n border: none;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.mjo-btn-add:hover {\n background: #0369a1;\n}\n\n.mjo-btn-add:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.mjo-guard-badge {\n font-size: 11.5px;\n color: #22c55e;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n/* Volume Step Curve Diagram */\n.mjo-step-curve-wrap {\n padding: 14px 18px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.mjo-step-curve-title {\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: var(--mj-text-muted, #94a3b8);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.mjo-step-curve-title i {\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-step-curve-bars {\n display: flex;\n align-items: flex-end;\n gap: 12px;\n height: 80px;\n padding-top: 8px;\n}\n\n.mjo-step-col {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n height: 100%;\n justify-content: flex-end;\n}\n\n.mjo-step-track {\n width: 100%;\n max-width: 60px;\n height: 100%;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-radius: 4px 4px 0 0;\n display: flex;\n align-items: flex-end;\n}\n\n.mjo-step-fill {\n width: 100%;\n border-radius: 4px 4px 0 0;\n background: linear-gradient(180deg, #0284c7 0%, #0369a1 100%);\n min-height: 8px;\n transition: height 0.3s ease;\n}\n\n.mjo-step-val {\n font-size: 11px;\n font-weight: 700;\n font-family: var(--mj-font-mono, monospace);\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-step-label {\n font-size: 10px;\n font-family: var(--mj-font-mono, monospace);\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-loading-state {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n padding: 30px;\n font-size: 13px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-empty-tiers {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 24px;\n}\n\n.mjo-empty-icon {\n width: 40px;\n height: 40px;\n border-radius: 50%;\n background: rgba(2, 132, 199, 0.15);\n color: var(--mj-brand-primary, #0284c7);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 18px;\n}\n\n.mjo-empty-text h4 {\n margin: 0 0 4px 0;\n font-size: 13.5px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-empty-text p {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-grid-wrap {\n padding: 0;\n min-height: 400px;\n height: 420px;\n}\n\n.mjo-price-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 12px 14px 16px;\n}\n\n.mjo-offer {\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n border-radius: 12px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.12));\n overflow: hidden;\n}\n\n.mjo-offer.selected {\n border-color: var(--mj-brand-primary, #38bdf8);\n box-shadow: inset 0 0 0 1px var(--mj-brand-primary, #38bdf8);\n}\n\n.mjo-offer-grip {\n color: var(--mj-text-muted, #94a3b8);\n cursor: grab;\n padding: 0 4px 0 0;\n display: inline-flex;\n}\n\n.mjo-offer-h {\n width: 100%;\n display: grid;\n grid-template-columns: 108px 1fr auto;\n gap: 14px;\n align-items: center;\n padding: 12px 14px;\n border: 0;\n background: transparent;\n color: inherit;\n text-align: left;\n cursor: pointer;\n}\n\n.mjo-offer-h:has(.mjo-offer-grip) {\n grid-template-columns: 18px 108px 1fr auto;\n}\n\n.mjo-offer-h:hover {\n background: color-mix(in srgb, var(--mj-brand-primary, #0076b6) 8%, transparent);\n}\n\n.mjo-offer-amt {\n font-variant-numeric: tabular-nums;\n font-weight: 700;\n font-size: 18px;\n letter-spacing: -0.02em;\n text-align: left;\n}\n\n.mjo-offer-copy {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-offer-name {\n font-weight: 700;\n font-size: 14px;\n}\n\n.mjo-offer-when {\n font-size: 12.5px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-offer-from {\n font-size: 11px;\n font-weight: 700;\n color: var(--mj-status-success-text, #86efac);\n white-space: nowrap;\n}\n\n.mjo-offer-body {\n padding: 0 14px 14px;\n border-top: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n}\n\n.mjo-when-read {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n padding-top: 12px;\n font-size: 13px;\n color: var(--mj-text-secondary, #cbd5e1);\n}\n\n.mjo-when-edit {\n padding-top: 12px;\n}\n\n.mjo-when-actions {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n margin-top: 10px;\n}\n\n.mjo-quote-scrim {\n position: fixed;\n inset: 0;\n background: rgba(2, 6, 23, 0.55);\n z-index: 40;\n}\n\n.mjo-quote-drawer {\n position: fixed;\n top: 0;\n right: 0;\n height: 100vh;\n width: min(420px, 100vw);\n background: var(--mj-bg-page, #0f172a);\n border-left: 1px solid var(--mj-border-default, #334155);\n z-index: 50;\n padding: 20px 18px;\n box-shadow: -16px 0 40px rgba(0, 0, 0, 0.35);\n}\n\n.mjo-quote-drawer-h {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n}\n\n.mjo-quote-drawer h3 {\n margin: 0;\n font-size: 16px;\n}\n\n.mjo-quote-lede {\n color: var(--mj-text-muted, #94a3b8);\n font-size: 12.5px;\n margin: 0 0 16px;\n}\n\n.mjo-quote-amt {\n font-size: 28px;\n font-weight: 700;\n letter-spacing: -0.02em;\n margin: 16px 0 6px;\n}\n\n.mjo-quote-why {\n font-size: 13px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-offer.inherited {\n border-style: dashed;\n}\n\n.mjo-offer-from.inherited {\n color: #a78bfa;\n}\n\n.mjo-offer-fields,\n.mjo-adv-grid {\n display: flex;\n flex-wrap: wrap;\n gap: 10px;\n padding-top: 12px;\n}\n\n.mjo-input-text {\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.2));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n color: inherit;\n border-radius: 8px;\n padding: 6px 8px;\n min-width: 120px;\n}\n\n.mjo-when-title {\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.05em;\n text-transform: uppercase;\n color: var(--mj-text-muted, #94a3b8);\n margin-bottom: 8px;\n}\n\n.mjo-when-rule {\n display: grid;\n grid-template-columns: 1fr 1fr 110px 1fr;\n gap: 6px;\n}\n\n.mjo-when-rule select,\n.mjo-when-rule input {\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.2));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n color: inherit;\n border-radius: 8px;\n padding: 6px 8px;\n}\n\n.mjo-inherit-note {\n font-size: 12.5px;\n color: var(--mj-text-muted, #94a3b8);\n margin: 12px 0 0;\n}\n\n.mjo-adv {\n margin-top: 10px;\n font-size: 12px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-adv-read {\n display: flex;\n flex-wrap: wrap;\n gap: 10px 16px;\n padding-top: 4px;\n font-size: 13px;\n color: var(--mj-text-secondary, #cbd5e1);\n}\n"] }]
1492
+ args: [{ standalone: false, selector: 'bizapps-product-pricing-widget', template: "<div class=\"mjo-pricing-widget-wrap\">\n @if (ActiveToast) {\n <div class=\"mjo-toast\" [class]=\"'mjo-toast--' + ActiveToast.Type\">\n <div class=\"mjo-toast-left\">\n <i [class]=\"ActiveToast.Icon\"></i>\n <span class=\"mjo-toast-msg\">{{ ActiveToast.Message }}</span>\n </div>\n <button type=\"button\" class=\"mjo-toast-close\" (click)=\"DismissToast()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n }\n\n <div class=\"mjo-pricing-card\">\n <div class=\"mjo-card-header\">\n <div class=\"mjo-card-title\">\n <i class=\"fa-solid fa-tags\"></i>\n <span>Prices</span>\n </div>\n <div class=\"mjo-card-header-actions\">\n <button type=\"button\" class=\"mjo-btn-subtle\" (click)=\"OpenQuote()\">\n <i class=\"fa-solid fa-flask\"></i>\n <span>Test a quote</span>\n </button>\n <button type=\"button\" class=\"mjo-btn-subtle\" (click)=\"ToggleAdvancedView()\">\n <i [class]=\"IsAdvancedGridView ? 'fa-solid fa-tags' : 'fa-solid fa-table-cells'\"></i>\n <span>{{ IsAdvancedGridView ? 'Prices' : 'Advanced grid' }}</span>\n </button>\n </div>\n </div>\n\n @if (ShowChannelBar) {\n <div class=\"mjo-channel-bar\">\n <div class=\"mjo-channel-list\">\n @for (ch of Channels; track ch.ID) {\n <button\n type=\"button\"\n class=\"mjo-channel-tab\"\n [class.active]=\"SelectedChannelID === ch.ID\"\n (click)=\"SelectChannel(ch.ID)\">\n <i [class]=\"ch.Icon\"></i>\n <span>{{ ch.Name }}</span>\n <span class=\"mjo-channel-count\">{{ ch.TierCount }} {{ ch.TierCount === 1 ? 'price' : 'prices' }}</span>\n </button>\n }\n </div>\n </div>\n }\n\n @if (IsAdvancedGridView) {\n @if (ProductPricesViewParams) {\n <div class=\"mjo-grid-wrap\">\n <mj-explorer-entity-data-grid\n [Params]=\"ProductPricesViewParams\"\n [NewRecordValues]=\"NewPriceRecordValues\"\n [Height]=\"420\"\n [AllowLoad]=\"true\"\n [ShowToolbar]=\"true\"\n [ShowNewButton]=\"EditMode\"\n [ShowDeleteButton]=\"EditMode\"\n (Navigate)=\"Navigate.emit($event)\">\n </mj-explorer-entity-data-grid>\n </div>\n }\n } @else {\n @if (IsLoading) {\n <div class=\"mjo-loading-state\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Loading prices\u2026</span>\n </div>\n } @else if (VisiblePrices.length === 0) {\n <div class=\"mjo-empty-tiers\">\n <div class=\"mjo-empty-icon\"><i class=\"fa-solid fa-tags\"></i></div>\n <div class=\"mjo-empty-text\">\n <h4>No prices on this channel</h4>\n <p>\n @if (EditMode) {\n Add a price. When is optional \u2014 only if this rate is not for everyone.\n } @else {\n Switch to Edit to add prices.\n }\n </p>\n </div>\n </div>\n } @else {\n <div\n class=\"mjo-price-list\"\n cdkDropList\n [cdkDropListDisabled]=\"!EditMode\"\n (cdkDropListDropped)=\"OnPriceDrop($event)\">\n @for (row of VisiblePrices; track row.ID) {\n <article\n class=\"mjo-offer\"\n cdkDrag\n [cdkDragDisabled]=\"!EditMode || row.Inherited\"\n [class.open]=\"ExpandedPriceID === row.ID && PriceCanExpand(row)\"\n [class.selected]=\"SelectedPriceID === row.ID\"\n [class.inherited]=\"row.Inherited\">\n <button type=\"button\" class=\"mjo-offer-h\" (click)=\"TogglePrice(row)\">\n @if (EditMode && !row.Inherited) {\n <span class=\"mjo-offer-grip\" cdkDragHandle title=\"Drag to change rank\">\n <i class=\"fa-solid fa-grip-vertical\"></i>\n </span>\n }\n <span class=\"mjo-offer-amt\">{{ FormatCurrency(row.Amount) }}</span>\n <span class=\"mjo-offer-copy\">\n <span class=\"mjo-offer-name\">{{ row.Name }}</span>\n @if (row.WhenText) {\n <span class=\"mjo-offer-when\">{{ row.WhenText }}</span>\n }\n </span>\n <span class=\"mjo-offer-from\" [class.inherited]=\"row.Inherited\">{{ row.SourceLabel }}</span>\n </button>\n @if (ExpandedPriceID === row.ID && PriceCanExpand(row)) {\n <div class=\"mjo-offer-body\" (click)=\"$event.stopPropagation()\">\n @if (row.Inherited) {\n <p class=\"mjo-inherit-note\">\n Inherited. A price with this name on the product replaces it.\n @if (EditMode) {\n <button type=\"button\" class=\"mjo-btn-subtle\" (click)=\"OverrideInherited(row)\">Override on this product</button>\n }\n </p>\n } @else {\n @if (EditMode) {\n <div class=\"mjo-offer-fields\">\n <label class=\"mjo-field-group\">\n <span class=\"mjo-sub-label\">Name</span>\n <input class=\"mjo-input-text\" [(ngModel)]=\"row.Record.Name\" (blur)=\"SavePrice(row.Record)\">\n </label>\n <label class=\"mjo-field-group\">\n <span class=\"mjo-sub-label\">Amount</span>\n <input type=\"number\" class=\"mjo-input-price\" [(ngModel)]=\"row.Record.Amount\" min=\"0\" step=\"0.01\" (blur)=\"SavePrice(row.Record)\">\n </label>\n <label class=\"mjo-field-group\">\n <span class=\"mjo-sub-label\">Model</span>\n <select class=\"mjo-input-select\" [(ngModel)]=\"row.Record.PricingModel\" (change)=\"SavePrice(row.Record)\">\n <option value=\"PerUnit\">Per unit</option>\n <option value=\"Package\">Package</option>\n <option value=\"Volume\">Volume</option>\n <option value=\"Flat\">Flat</option>\n </select>\n </label>\n </div>\n }\n @if (EditMode && row.WhenText && WhenEditorPriceID !== row.ID) {\n <div class=\"mjo-when-read\">\n <button type=\"button\" class=\"mjo-btn-subtle\" (click)=\"OpenWhenEditor(row)\">Edit When</button>\n </div>\n } @else if (EditMode && WhenEditorPriceID !== row.ID) {\n <button type=\"button\" class=\"mjo-btn-subtle\" (click)=\"OpenWhenEditor(row)\">+ When</button>\n }\n @if (EditMode && WhenEditorPriceID === row.ID) {\n <div class=\"mjo-when-edit\">\n <div class=\"mjo-when-title\">When this price applies</div>\n <mj-filter-builder\n [fields]=\"WhenFields\"\n [filter]=\"WhenFilter\"\n [showSummary]=\"true\"\n (filterChange)=\"OnWhenFilterChange($event)\">\n </mj-filter-builder>\n <div class=\"mjo-when-actions\">\n <button type=\"button\" class=\"mjo-btn-subtle\" (click)=\"ClearWhen(row)\">Remove When</button>\n <button type=\"button\" class=\"mjo-btn-subtle\" (click)=\"CloseWhenEditor()\">Cancel</button>\n <button type=\"button\" class=\"mjo-btn-add\" (click)=\"SaveWhen(row)\">Save When</button>\n </div>\n </div>\n }\n @if (HasAdvanced(row.Record) || AdvancedEditingID === row.ID) {\n <div class=\"mjo-adv\">\n <div class=\"mjo-when-title\">Qty, dates, fee</div>\n @if (EditMode) {\n <div class=\"mjo-adv-grid\">\n <label class=\"mjo-field-group\"><span class=\"mjo-sub-label\">Min qty</span>\n <input type=\"number\" class=\"mjo-input-num\" [(ngModel)]=\"row.Record.MinQuantity\" (blur)=\"SavePrice(row.Record)\">\n </label>\n <label class=\"mjo-field-group\"><span class=\"mjo-sub-label\">Max qty</span>\n <input type=\"number\" class=\"mjo-input-num\" [(ngModel)]=\"row.Record.MaxQuantity\" (blur)=\"SavePrice(row.Record)\">\n </label>\n <label class=\"mjo-field-group\"><span class=\"mjo-sub-label\">Fee type</span>\n <input class=\"mjo-input-text\" [(ngModel)]=\"row.Record.FeeType\" (blur)=\"SavePrice(row.Record)\">\n </label>\n <label class=\"mjo-field-group\"><span class=\"mjo-sub-label\">Priority</span>\n <input type=\"number\" class=\"mjo-input-num\" [(ngModel)]=\"row.Record.Priority\" (blur)=\"SavePrice(row.Record)\">\n </label>\n </div>\n } @else {\n <div class=\"mjo-adv-read\">\n @if (row.Record.MinQuantity != null) {\n <span>Min qty {{ row.Record.MinQuantity }}</span>\n }\n @if (row.Record.MaxQuantity != null) {\n <span>Max qty {{ row.Record.MaxQuantity }}</span>\n }\n @if (row.Record.FeeType && row.Record.FeeType !== 'Standard') {\n <span>{{ row.Record.FeeType }}</span>\n }\n @if (row.Record.EffectiveTo) {\n <span>Until {{ FormatDate(row.Record.EffectiveTo) }}</span>\n }\n </div>\n }\n </div>\n } @else if (EditMode) {\n <button type=\"button\" class=\"mjo-btn-subtle\" (click)=\"OpenAdvanced(row.ID, $event)\">+ Qty, dates, fee</button>\n }\n }\n </div>\n }\n </article>\n }\n </div>\n }\n\n @if (EditMode) {\n <div class=\"mjo-quick-add-bar\">\n <div class=\"mjo-quick-add-inputs\">\n <span class=\"mjo-quick-add-label\">\n <i class=\"fa-solid fa-plus-circle\"></i> Add price\n </span>\n <label class=\"mjo-field-group\">\n <span class=\"mjo-sub-label\">Name</span>\n <input class=\"mjo-input-text\" [(ngModel)]=\"NewPriceName\" placeholder=\"Base\">\n </label>\n <label class=\"mjo-field-group\">\n <span class=\"mjo-sub-label\">Amount</span>\n <input type=\"number\" class=\"mjo-input-price\" [(ngModel)]=\"NewPriceAmount\" min=\"0\" step=\"0.01\">\n </label>\n <button type=\"button\" class=\"mjo-btn-add\" [disabled]=\"IsSaving\" (click)=\"AddPrice()\">\n @if (IsSaving) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Saving\u2026</span>\n } @else {\n <i class=\"fa-solid fa-plus\"></i>\n <span>Add price</span>\n }\n </button>\n </div>\n </div>\n }\n }\n </div>\n</div>\n\n@if (QuoteDrawerOpen) {\n <div class=\"mjo-quote-scrim\" (click)=\"CloseQuote()\"></div>\n <aside class=\"mjo-quote-drawer\" role=\"dialog\" aria-label=\"Test a quote\">\n <div class=\"mjo-quote-drawer-h\">\n <h3>Test a quote</h3>\n <button type=\"button\" class=\"mjo-btn-subtle\" (click)=\"CloseQuote()\">Close</button>\n </div>\n <p class=\"mjo-quote-lede\">Optional. Sample bill-to type against these prices. Same walk as GL \u2014 product then category.</p>\n <label class=\"mjo-field-group\">\n <span class=\"mjo-sub-label\">Bill-to organization Type</span>\n <select class=\"mjo-input-select\" [(ngModel)]=\"QuoteOrgType\" (ngModelChange)=\"RunQuote()\">\n <option value=\"Member\">Member</option>\n <option value=\"Prospect\">Prospect</option>\n </select>\n </label>\n <label class=\"mjo-field-group\">\n <span class=\"mjo-sub-label\">Qty</span>\n <input type=\"number\" class=\"mjo-input-num\" [(ngModel)]=\"SimQuantity\" min=\"1\" (ngModelChange)=\"RunQuote()\">\n </label>\n <div class=\"mjo-quote-amt\">{{ QuoteResult.AmountText }}</div>\n <p class=\"mjo-quote-why\">{{ QuoteResult.Why }}</p>\n @if (QuoteResult.Skipped) {\n <p class=\"mjo-quote-why\">{{ QuoteResult.Skipped }}</p>\n }\n </aside>\n}\n", styles: [".mjo-pricing-widget-wrap {\n display: flex;\n flex-direction: column;\n gap: 16px;\n width: 100%;\n position: relative;\n}\n\n/* In-Widget Toast Notification */\n.mjo-toast {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 16px;\n border-radius: var(--mj-radius-md, 8px);\n font-size: 13px;\n font-weight: 500;\n animation: mjo-toast-in 0.25s cubic-bezier(0.16, 1, 0.3, 1);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n border: 1px solid transparent;\n}\n\n@keyframes mjo-toast-in {\n from { opacity: 0; transform: translateY(-6px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n.mjo-toast--success {\n background: rgba(22, 163, 74, 0.15);\n border-color: rgba(22, 163, 74, 0.3);\n color: #22c55e;\n}\n\n.mjo-toast--error {\n background: rgba(239, 68, 68, 0.15);\n border-color: rgba(239, 68, 68, 0.3);\n color: #f87171;\n}\n\n.mjo-toast--info {\n background: rgba(2, 132, 199, 0.15);\n border-color: rgba(2, 132, 199, 0.3);\n color: #38bdf8;\n}\n\n.mjo-toast-left {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.mjo-toast-left i {\n font-size: 16px;\n}\n\n.mjo-toast-msg {\n line-height: 1.4;\n}\n\n.mjo-toast-close {\n background: transparent;\n border: none;\n color: currentColor;\n opacity: 0.7;\n cursor: pointer;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 13px;\n}\n\n.mjo-toast-close:hover {\n opacity: 1;\n}\n\n.mjo-pricing-card {\n background: var(--mj-bg-surface-card, rgba(255, 255, 255, 0.05));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n border-radius: var(--mj-radius-lg, 10px);\n overflow: hidden;\n}\n\n.mjo-card-header-actions {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.mjo-card-header {\n padding: 12px 16px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-bottom: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n}\n\n.mjo-card-title {\n font-size: 13.5px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mjo-card-title i {\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-base-pill {\n font-size: 12px;\n color: var(--mj-text-muted, #64748b);\n}\n\n.mjo-base-pill strong {\n font-family: var(--mj-font-mono, monospace);\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-pricing-fields {\n padding: 16px;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n gap: 16px;\n}\n\n/* Channel Tabs Header */\n.mjo-channel-bar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-bottom: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n padding: 0 12px;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.mjo-channel-list {\n display: flex;\n align-items: center;\n gap: 4px;\n overflow-x: auto;\n}\n\n.mjo-channel-tab {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 12px 14px;\n background: transparent;\n border: none;\n border-bottom: 2px solid transparent;\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-muted, #94a3b8);\n cursor: pointer;\n transition: all 0.15s ease;\n white-space: nowrap;\n}\n\n.mjo-channel-tab:hover {\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-channel-tab.active {\n color: var(--mj-brand-primary, #0284c7);\n border-bottom-color: var(--mj-brand-primary, #0284c7);\n background: var(--mj-bg-surface-card, rgba(255, 255, 255, 0.05));\n}\n\n.mjo-channel-count {\n font-size: 10px;\n font-weight: 700;\n padding: 2px 6px;\n border-radius: 9999px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.15));\n color: var(--mj-text-secondary, #cbd5e1);\n}\n\n.mjo-channel-tab.active .mjo-channel-count {\n background: rgba(2, 132, 199, 0.18);\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-channel-actions {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mjo-btn-subtle {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n border-radius: 6px;\n font-size: 11.5px;\n font-weight: 600;\n color: var(--mj-text-primary, #0f172a);\n background: var(--mj-bg-surface-card, rgba(255, 255, 255, 0.05));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.mjo-btn-subtle:hover {\n border-color: var(--mj-brand-primary, #0284c7);\n color: var(--mj-brand-primary, #0284c7);\n}\n\n/* Tier Ladder Table */\n.mjo-ladder-table-wrap {\n overflow-x: auto;\n width: 100%;\n}\n\n.mjo-ladder-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n text-align: left;\n}\n\n.mjo-ladder-table th {\n padding: 10px 14px;\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: var(--mj-text-muted, #64748b);\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.05));\n border-bottom: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n}\n\n.mjo-ladder-table td {\n padding: 11px 14px;\n border-bottom: 1px solid var(--mj-border-subtle, rgba(255, 255, 255, 0.06));\n color: var(--mj-text-primary, #0f172a);\n vertical-align: middle;\n}\n\n.mjo-ladder-table tr:hover {\n background: var(--mj-bg-surface-hover, rgba(255, 255, 255, 0.03));\n}\n\n.mjo-tier-title {\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-range-pill {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-family: var(--mj-font-mono, monospace);\n font-weight: 700;\n font-size: 12px;\n padding: 3px 8px;\n border-radius: 6px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.12));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n}\n\n.mjo-price-input {\n font-family: var(--mj-font-mono, monospace);\n font-size: 13.5px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n background: var(--mj-bg-surface, rgba(0, 0, 0, 0.2));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.15));\n border-radius: 6px;\n padding: 5px 8px;\n width: 100px;\n transition: all 0.15s ease;\n}\n\n.mjo-price-input:focus {\n outline: none;\n border-color: var(--mj-brand-primary, #0284c7);\n box-shadow: 0 0 0 2px rgba(2, 132, 199, 0.25);\n}\n\n.mjo-price-val {\n font-family: var(--mj-font-mono, monospace);\n font-size: 13px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n display: inline-block;\n padding: 4px 0;\n}\n\n.mjo-disc-tag {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n font-weight: 700;\n padding: 2px 7px;\n border-radius: 4px;\n background: rgba(22, 163, 74, 0.15);\n color: #22c55e;\n}\n\n.mjo-standard-tag {\n font-size: 11px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-savings-val {\n color: #22c55e;\n font-family: var(--mj-font-mono, monospace);\n font-size: 12.5px;\n}\n\n.mjo-model-tag {\n font-size: 11px;\n font-weight: 600;\n padding: 2px 7px;\n border-radius: 4px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n color: var(--mj-text-secondary, #cbd5e1);\n}\n\n.mjo-date-tag {\n font-size: 11.5px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-th-num, .mjo-td-num { text-align: left; }\n.mjo-th-actions, .mjo-td-actions { text-align: right; }\n\n.mjo-action-btn {\n width: 28px;\n height: 28px;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n background: var(--mj-bg-surface, rgba(255, 255, 255, 0.05));\n color: var(--mj-text-muted, #94a3b8);\n cursor: pointer;\n font-size: 11px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n transition: all 0.15s ease;\n margin-left: 4px;\n}\n\n.mjo-action-btn:hover {\n color: var(--mj-brand-primary, #0284c7);\n border-color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-action-btn--delete:hover {\n color: #ef4444;\n border-color: #ef4444;\n}\n\n/* 1-Click Quick Add Bar */\n.mjo-quick-add-bar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-top: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n gap: 12px;\n flex-wrap: wrap;\n}\n\n.mjo-quick-add-inputs {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.mjo-quick-add-label {\n font-size: 12.5px;\n font-weight: 700;\n color: var(--mj-brand-primary, #0284c7);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.mjo-field-group {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.mjo-sub-label {\n font-size: 11.5px;\n font-weight: 600;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-input-num {\n width: 65px;\n padding: 5px 8px;\n font-size: 12.5px;\n font-family: var(--mj-font-mono, monospace);\n font-weight: 700;\n text-align: center;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.15));\n background: var(--mj-bg-surface, rgba(0, 0, 0, 0.2));\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-input-price {\n width: 85px;\n padding: 5px 8px;\n font-size: 12.5px;\n font-family: var(--mj-font-mono, monospace);\n font-weight: 700;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.15));\n background: var(--mj-bg-surface, rgba(0, 0, 0, 0.2));\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-input-select {\n padding: 5px 8px;\n font-size: 12px;\n font-weight: 600;\n border-radius: 6px;\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.15));\n background: var(--mj-bg-surface, rgba(0, 0, 0, 0.2));\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-btn-add {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n border-radius: 6px;\n font-size: 12px;\n font-weight: 700;\n color: #ffffff;\n background: #0284c7;\n border: none;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.mjo-btn-add:hover {\n background: #0369a1;\n}\n\n.mjo-btn-add:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.mjo-guard-badge {\n font-size: 11.5px;\n color: #22c55e;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n/* Volume Step Curve Diagram */\n.mjo-step-curve-wrap {\n padding: 14px 18px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.mjo-step-curve-title {\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: var(--mj-text-muted, #94a3b8);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.mjo-step-curve-title i {\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-step-curve-bars {\n display: flex;\n align-items: flex-end;\n gap: 12px;\n height: 80px;\n padding-top: 8px;\n}\n\n.mjo-step-col {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n height: 100%;\n justify-content: flex-end;\n}\n\n.mjo-step-track {\n width: 100%;\n max-width: 60px;\n height: 100%;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.1));\n border-radius: 4px 4px 0 0;\n display: flex;\n align-items: flex-end;\n}\n\n.mjo-step-fill {\n width: 100%;\n border-radius: 4px 4px 0 0;\n background: linear-gradient(180deg, #0284c7 0%, #0369a1 100%);\n min-height: 8px;\n transition: height 0.3s ease;\n}\n\n.mjo-step-val {\n font-size: 11px;\n font-weight: 700;\n font-family: var(--mj-font-mono, monospace);\n color: var(--mj-brand-primary, #0284c7);\n}\n\n.mjo-step-label {\n font-size: 10px;\n font-family: var(--mj-font-mono, monospace);\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-loading-state {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n padding: 30px;\n font-size: 13px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-empty-tiers {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 24px;\n}\n\n.mjo-empty-icon {\n width: 40px;\n height: 40px;\n border-radius: 50%;\n background: rgba(2, 132, 199, 0.15);\n color: var(--mj-brand-primary, #0284c7);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 18px;\n}\n\n.mjo-empty-text h4 {\n margin: 0 0 4px 0;\n font-size: 13.5px;\n font-weight: 700;\n color: var(--mj-text-primary, #0f172a);\n}\n\n.mjo-empty-text p {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-grid-wrap {\n padding: 0;\n min-height: 400px;\n height: 420px;\n}\n\n.mjo-price-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 12px 14px 16px;\n}\n\n.mjo-offer {\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n border-radius: 12px;\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.12));\n overflow: hidden;\n}\n\n.mjo-offer.selected {\n border-color: var(--mj-brand-primary, #38bdf8);\n box-shadow: inset 0 0 0 1px var(--mj-brand-primary, #38bdf8);\n}\n\n.mjo-offer-grip {\n color: var(--mj-text-muted, #94a3b8);\n cursor: grab;\n padding: 0 4px 0 0;\n display: inline-flex;\n}\n\n.mjo-offer-h {\n width: 100%;\n display: grid;\n grid-template-columns: 108px 1fr auto;\n gap: 14px;\n align-items: center;\n padding: 12px 14px;\n border: 0;\n background: transparent;\n color: inherit;\n text-align: left;\n cursor: pointer;\n}\n\n.mjo-offer-h:has(.mjo-offer-grip) {\n grid-template-columns: 18px 108px 1fr auto;\n}\n\n.mjo-offer-h:hover {\n background: color-mix(in srgb, var(--mj-brand-primary, #0076b6) 8%, transparent);\n}\n\n.mjo-offer-amt {\n font-variant-numeric: tabular-nums;\n font-weight: 700;\n font-size: 18px;\n letter-spacing: -0.02em;\n text-align: left;\n}\n\n.mjo-offer-copy {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n\n.mjo-offer-name {\n font-weight: 700;\n font-size: 14px;\n}\n\n.mjo-offer-when {\n font-size: 12.5px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-offer-from {\n font-size: 11px;\n font-weight: 700;\n color: var(--mj-status-success-text, #86efac);\n white-space: nowrap;\n}\n\n.mjo-offer-body {\n padding: 0 14px 14px;\n border-top: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.1));\n}\n\n.mjo-when-read {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n padding-top: 12px;\n font-size: 13px;\n color: var(--mj-text-secondary, #cbd5e1);\n}\n\n.mjo-when-edit {\n padding-top: 12px;\n}\n\n.mjo-when-actions {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n margin-top: 10px;\n}\n\n.mjo-quote-scrim {\n position: fixed;\n inset: 0;\n background: rgba(2, 6, 23, 0.55);\n z-index: 40;\n}\n\n.mjo-quote-drawer {\n position: fixed;\n top: 0;\n right: 0;\n height: 100vh;\n width: min(420px, 100vw);\n background: var(--mj-bg-page, #0f172a);\n border-left: 1px solid var(--mj-border-default, #334155);\n z-index: 50;\n padding: 20px 18px;\n box-shadow: -16px 0 40px rgba(0, 0, 0, 0.35);\n}\n\n.mjo-quote-drawer-h {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n}\n\n.mjo-quote-drawer h3 {\n margin: 0;\n font-size: 16px;\n}\n\n.mjo-quote-lede {\n color: var(--mj-text-muted, #94a3b8);\n font-size: 12.5px;\n margin: 0 0 16px;\n}\n\n.mjo-quote-amt {\n font-size: 28px;\n font-weight: 700;\n letter-spacing: -0.02em;\n margin: 16px 0 6px;\n}\n\n.mjo-quote-why {\n font-size: 13px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-offer.inherited {\n border-style: dashed;\n}\n\n.mjo-offer-from.inherited {\n color: #a78bfa;\n}\n\n.mjo-offer-fields,\n.mjo-adv-grid {\n display: flex;\n flex-wrap: wrap;\n gap: 10px;\n padding-top: 12px;\n}\n\n.mjo-input-text {\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.2));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n color: inherit;\n border-radius: 8px;\n padding: 6px 8px;\n min-width: 120px;\n}\n\n.mjo-when-title {\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.05em;\n text-transform: uppercase;\n color: var(--mj-text-muted, #94a3b8);\n margin-bottom: 8px;\n}\n\n.mjo-when-rule {\n display: grid;\n grid-template-columns: 1fr 1fr 110px 1fr;\n gap: 6px;\n}\n\n.mjo-when-rule select,\n.mjo-when-rule input {\n background: var(--mj-bg-surface-sunken, rgba(0, 0, 0, 0.2));\n border: 1px solid var(--mj-border-default, rgba(255, 255, 255, 0.12));\n color: inherit;\n border-radius: 8px;\n padding: 6px 8px;\n}\n\n.mjo-inherit-note {\n font-size: 12.5px;\n color: var(--mj-text-muted, #94a3b8);\n margin: 12px 0 0;\n}\n\n.mjo-adv {\n margin-top: 10px;\n font-size: 12px;\n color: var(--mj-text-muted, #94a3b8);\n}\n\n.mjo-adv-read {\n display: flex;\n flex-wrap: wrap;\n gap: 10px 16px;\n padding-top: 4px;\n font-size: 13px;\n color: var(--mj-text-secondary, #cbd5e1);\n}\n"] }]
1492
1493
  }], () => [], { Product: [{
1493
1494
  type: Input
1494
1495
  }], EditMode: [{
@@ -1 +1 @@
1
- {"version":3,"file":"product-pricing-widget.component.js","sourceRoot":"","sources":["../../../../../src/lib/custom/Product/widgets/product-pricing-widget.component.ts","../../../../../src/lib/custom/Product/widgets/product-pricing-widget.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-pricing-widget.component.js","sourceRoot":"","sources":["../../../../../src/lib/custom/Product/widgets/product-pricing-widget.component.ts","../../../../../src/lib/custom/Product/widgets/product-pricing-widget.component.html"],"names":[],"mappings":"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"}