pricing-renderer 0.1.0 → 0.2.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 (175) hide show
  1. package/CHANGELOG.md +133 -0
  2. package/README.md +142 -25
  3. package/THIRD_PARTY_NOTICES.md +84 -6
  4. package/custom-elements.json +233 -3
  5. package/dist/core/apply-selection.d.ts +8 -0
  6. package/dist/core/apply-selection.d.ts.map +1 -0
  7. package/dist/core/apply-selection.js +76 -0
  8. package/dist/core/apply-selection.js.map +1 -0
  9. package/dist/core/breakdown.d.ts +13 -0
  10. package/dist/core/breakdown.d.ts.map +1 -0
  11. package/dist/core/breakdown.js +56 -0
  12. package/dist/core/breakdown.js.map +1 -0
  13. package/dist/core/compare-sides.d.ts +16 -0
  14. package/dist/core/compare-sides.d.ts.map +1 -0
  15. package/dist/core/compare-sides.js +73 -0
  16. package/dist/core/compare-sides.js.map +1 -0
  17. package/dist/core/compare-values.d.ts +13 -0
  18. package/dist/core/compare-values.d.ts.map +1 -0
  19. package/dist/core/compare-values.js +100 -0
  20. package/dist/core/compare-values.js.map +1 -0
  21. package/dist/core/compare.d.ts +7 -0
  22. package/dist/core/compare.d.ts.map +1 -0
  23. package/dist/core/compare.js +301 -0
  24. package/dist/core/compare.js.map +1 -0
  25. package/dist/core/expression.js +2 -2
  26. package/dist/core/expression.js.map +1 -1
  27. package/dist/core/i18n.d.ts.map +1 -1
  28. package/dist/core/i18n.js +136 -2
  29. package/dist/core/i18n.js.map +1 -1
  30. package/dist/core/index.d.ts +9 -2
  31. package/dist/core/index.d.ts.map +1 -1
  32. package/dist/core/index.js +6 -1
  33. package/dist/core/index.js.map +1 -1
  34. package/dist/core/normalize.d.ts.map +1 -1
  35. package/dist/core/normalize.js +70 -9
  36. package/dist/core/normalize.js.map +1 -1
  37. package/dist/core/plan-relation.d.ts +8 -0
  38. package/dist/core/plan-relation.d.ts.map +1 -0
  39. package/dist/core/plan-relation.js +15 -0
  40. package/dist/core/plan-relation.js.map +1 -0
  41. package/dist/core/price-stabilizer.d.ts +3 -0
  42. package/dist/core/price-stabilizer.d.ts.map +1 -0
  43. package/dist/core/price-stabilizer.js +73 -0
  44. package/dist/core/price-stabilizer.js.map +1 -0
  45. package/dist/core/resolve.d.ts +7 -1
  46. package/dist/core/resolve.d.ts.map +1 -1
  47. package/dist/core/resolve.js +66 -21
  48. package/dist/core/resolve.js.map +1 -1
  49. package/dist/core/search-params.d.ts +15 -0
  50. package/dist/core/search-params.d.ts.map +1 -0
  51. package/dist/core/search-params.js +175 -0
  52. package/dist/core/search-params.js.map +1 -0
  53. package/dist/core/selection-change.d.ts +10 -0
  54. package/dist/core/selection-change.d.ts.map +1 -0
  55. package/dist/core/selection-change.js +124 -0
  56. package/dist/core/selection-change.js.map +1 -0
  57. package/dist/core/types.d.ts +209 -0
  58. package/dist/core/types.d.ts.map +1 -1
  59. package/dist/core/units.d.ts +13 -0
  60. package/dist/core/units.d.ts.map +1 -0
  61. package/dist/core/units.js +84 -0
  62. package/dist/core/units.js.map +1 -0
  63. package/dist/core/utils.d.ts.map +1 -1
  64. package/dist/core/utils.js +91 -32
  65. package/dist/core/utils.js.map +1 -1
  66. package/dist/core/view-model.d.ts +3 -1
  67. package/dist/core/view-model.d.ts.map +1 -1
  68. package/dist/core/view-model.js +113 -7
  69. package/dist/core/view-model.js.map +1 -1
  70. package/dist/element/change-review-define.d.ts +4 -0
  71. package/dist/element/change-review-define.d.ts.map +1 -0
  72. package/dist/element/change-review-define.js +17 -0
  73. package/dist/element/change-review-define.js.map +1 -0
  74. package/dist/element/change-review-element.d.ts +53 -0
  75. package/dist/element/change-review-element.d.ts.map +1 -0
  76. package/dist/element/change-review-element.js +104 -0
  77. package/dist/element/change-review-element.js.map +1 -0
  78. package/dist/element/change-review-events.d.ts +10 -0
  79. package/dist/element/change-review-events.d.ts.map +1 -0
  80. package/dist/element/change-review-events.js +2 -0
  81. package/dist/element/change-review-events.js.map +1 -0
  82. package/dist/element/change-review-renderers.d.ts +23 -0
  83. package/dist/element/change-review-renderers.d.ts.map +1 -0
  84. package/dist/element/change-review-renderers.js +391 -0
  85. package/dist/element/change-review-renderers.js.map +1 -0
  86. package/dist/element/cta.d.ts +45 -0
  87. package/dist/element/cta.d.ts.map +1 -0
  88. package/dist/element/cta.js +90 -0
  89. package/dist/element/cta.js.map +1 -0
  90. package/dist/element/current-selection.d.ts +13 -0
  91. package/dist/element/current-selection.d.ts.map +1 -0
  92. package/dist/element/current-selection.js +57 -0
  93. package/dist/element/current-selection.js.map +1 -0
  94. package/dist/element/define-change-review.d.ts +2 -0
  95. package/dist/element/define-change-review.d.ts.map +1 -0
  96. package/dist/element/define-change-review.js +7 -0
  97. package/dist/element/define-change-review.js.map +1 -0
  98. package/dist/element/events.d.ts +32 -6
  99. package/dist/element/events.d.ts.map +1 -1
  100. package/dist/element/hide-sections.d.ts +6 -0
  101. package/dist/element/hide-sections.d.ts.map +1 -0
  102. package/dist/element/hide-sections.js +26 -0
  103. package/dist/element/hide-sections.js.map +1 -0
  104. package/dist/element/index.d.ts +8 -1
  105. package/dist/element/index.d.ts.map +1 -1
  106. package/dist/element/index.js +3 -0
  107. package/dist/element/index.js.map +1 -1
  108. package/dist/element/pricing-renderer-element.d.ts +95 -7
  109. package/dist/element/pricing-renderer-element.d.ts.map +1 -1
  110. package/dist/element/pricing-renderer-element.js +563 -217
  111. package/dist/element/pricing-renderer-element.js.map +1 -1
  112. package/dist/element/renderers.d.ts +49 -4
  113. package/dist/element/renderers.d.ts.map +1 -1
  114. package/dist/element/renderers.js +795 -263
  115. package/dist/element/renderers.js.map +1 -1
  116. package/dist/element/same-input.d.ts +3 -0
  117. package/dist/element/same-input.d.ts.map +1 -0
  118. package/dist/element/same-input.js +56 -0
  119. package/dist/element/same-input.js.map +1 -0
  120. package/dist/react/headless.d.ts +9 -0
  121. package/dist/react/headless.d.ts.map +1 -0
  122. package/dist/react/headless.js +8 -0
  123. package/dist/react/headless.js.map +1 -0
  124. package/dist/react/index.d.ts +54 -4
  125. package/dist/react/index.d.ts.map +1 -1
  126. package/dist/react/index.js +156 -6
  127. package/dist/react/index.js.map +1 -1
  128. package/dist/react/provider.d.ts +17 -0
  129. package/dist/react/provider.d.ts.map +1 -0
  130. package/dist/react/provider.js +38 -0
  131. package/dist/react/provider.js.map +1 -0
  132. package/dist/react/selection-store.d.ts +51 -0
  133. package/dist/react/selection-store.d.ts.map +1 -0
  134. package/dist/react/selection-store.js +239 -0
  135. package/dist/react/selection-store.js.map +1 -0
  136. package/dist/react/slots-types.d.ts +38 -0
  137. package/dist/react/slots-types.d.ts.map +1 -0
  138. package/dist/react/slots-types.js +2 -0
  139. package/dist/react/slots-types.js.map +1 -0
  140. package/dist/react/slots.d.ts +40 -0
  141. package/dist/react/slots.d.ts.map +1 -0
  142. package/dist/react/slots.js +165 -0
  143. package/dist/react/slots.js.map +1 -0
  144. package/dist/react/use-pricing-selection.d.ts +10 -0
  145. package/dist/react/use-pricing-selection.d.ts.map +1 -0
  146. package/dist/react/use-pricing-selection.js +44 -0
  147. package/dist/react/use-pricing-selection.js.map +1 -0
  148. package/dist/react/use-pricing-source.d.ts +34 -0
  149. package/dist/react/use-pricing-source.d.ts.map +1 -0
  150. package/dist/react/use-pricing-source.js +186 -0
  151. package/dist/react/use-pricing-source.js.map +1 -0
  152. package/dist/react/use-renderer-state.d.ts +22 -0
  153. package/dist/react/use-renderer-state.d.ts.map +1 -0
  154. package/dist/react/use-renderer-state.js +112 -0
  155. package/dist/react/use-renderer-state.js.map +1 -0
  156. package/dist/space/index.d.ts +26 -0
  157. package/dist/space/index.d.ts.map +1 -0
  158. package/dist/space/index.js +71 -0
  159. package/dist/space/index.js.map +1 -0
  160. package/dist/styles/base.css +1030 -76
  161. package/dist/styles/theme-minimal.css +103 -0
  162. package/dist/styles/theme.css +22 -3
  163. package/dist/styles/tokens-shadcn.css +40 -0
  164. package/dist/yaml/index.d.ts +2 -0
  165. package/dist/yaml/index.d.ts.map +1 -1
  166. package/dist/yaml/index.js +1 -0
  167. package/dist/yaml/index.js.map +1 -1
  168. package/dist/yaml/load.d.ts.map +1 -1
  169. package/dist/yaml/load.js +106 -17
  170. package/dist/yaml/load.js.map +1 -1
  171. package/dist/yaml/source.d.ts +18 -0
  172. package/dist/yaml/source.d.ts.map +1 -0
  173. package/dist/yaml/source.js +46 -0
  174. package/dist/yaml/source.js.map +1 -0
  175. package/package.json +25 -13
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=define-change-review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-change-review.d.ts","sourceRoot":"","sources":["../../src/element/define-change-review.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { definePricingChangeReview } from './change-review-define.js';
2
+ // The side-effect module published as
3
+ // pricing-renderer/define-change-review. It is the only module that registers the tag on import.
4
+ if (typeof globalThis.customElements !== 'undefined') {
5
+ definePricingChangeReview();
6
+ }
7
+ //# sourceMappingURL=define-change-review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-change-review.js","sourceRoot":"","sources":["../../src/element/define-change-review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,sCAAsC;AACtC,iGAAiG;AACjG,IAAI,OAAO,UAAU,CAAC,cAAc,KAAK,WAAW,EAAE,CAAC;IACrD,yBAAyB,EAAE,CAAC;AAC9B,CAAC"}
@@ -1,7 +1,9 @@
1
- import type { NormalizedPricing, PricingDiagnostic, PricingSelection, ResolvedPricing, UnknownRecord } from '../core/index.js';
1
+ import type { NormalizedPricing, PendingAddOnChange, PricingDiagnostic, PricingSelection, ResolvedPricing, SelectionRelation, UnknownRecord } from '../core/index.js';
2
2
  export interface PricingReadyDetail {
3
3
  pricing: NormalizedPricing;
4
4
  diagnostics: PricingDiagnostic[];
5
+ selection: PricingSelection;
6
+ resolved: ResolvedPricing;
5
7
  }
6
8
  export interface PricingSelectionChangeDetail {
7
9
  selection: PricingSelection;
@@ -14,18 +16,42 @@ export interface PricingActionDetail {
14
16
  selection: PricingSelection;
15
17
  resolved: ResolvedPricing;
16
18
  metadata?: UnknownRecord;
19
+ relation?: SelectionRelation;
20
+ source?: 'plan' | 'summary';
17
21
  }
18
22
  export interface PricingDiagnosticDetail {
19
23
  diagnostics: PricingDiagnostic[];
20
24
  }
25
+ export type ApplySelectionResult = {
26
+ applied: true;
27
+ selection: PricingSelection;
28
+ resolved: ResolvedPricing;
29
+ removedAddOnIds: string[];
30
+ diagnostics: PricingDiagnostic[];
31
+ } | {
32
+ applied: false;
33
+ selection: PricingSelection | undefined;
34
+ resolved: ResolvedPricing | undefined;
35
+ removedAddOnIds: [];
36
+ diagnostics: PricingDiagnostic[];
37
+ };
38
+ export type PricingSlotName = 'plan-cta' | 'summary-actions' | 'loading' | 'error';
39
+ export interface PricingSlotsChangeDetail {
40
+ nodes: HTMLElement[];
41
+ }
21
42
  export type PricingReadyEvent = CustomEvent<PricingReadyDetail>;
22
43
  export type PricingSelectionChangeEvent = CustomEvent<PricingSelectionChangeDetail>;
23
44
  export type PricingActionEvent = CustomEvent<PricingActionDetail>;
24
45
  export type PricingDiagnosticEvent = CustomEvent<PricingDiagnosticDetail>;
25
- export interface PendingAddOnChange {
26
- addOnId: string;
27
- select: boolean;
28
- addIds: string[];
29
- removeIds: string[];
46
+ export type PricingSlotsChangeEvent = CustomEvent<PricingSlotsChangeDetail>;
47
+ declare global {
48
+ interface HTMLElementEventMap {
49
+ 'pricing-ready': PricingReadyEvent;
50
+ 'pricing-selection-change': PricingSelectionChangeEvent;
51
+ 'pricing-action': PricingActionEvent;
52
+ 'pricing-diagnostic': PricingDiagnosticEvent;
53
+ 'pricing-slots-change': PricingSlotsChangeEvent;
54
+ }
30
55
  }
56
+ export type { PendingAddOnChange };
31
57
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/element/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACd,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAClC;AAED,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;AAChE,MAAM,MAAM,2BAA2B,GAAG,WAAW,CAAC,4BAA4B,CAAC,CAAC;AACpF,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC;AAClE,MAAM,MAAM,sBAAsB,GAAG,WAAW,CAAC,uBAAuB,CAAC,CAAC;AAE1E,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/element/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACd,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAClC;AAED,MAAM,MAAM,oBAAoB,GAC5B;IACE,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,EAAE,eAAe,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAClC,GACD;IACE,OAAO,EAAE,KAAK,CAAC;IACf,SAAS,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACxC,QAAQ,EAAE,eAAe,GAAG,SAAS,CAAC;IACtC,eAAe,EAAE,EAAE,CAAC;IACpB,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAClC,CAAC;AAGN,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAAC;AAEnF,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;AAChE,MAAM,MAAM,2BAA2B,GAAG,WAAW,CAAC,4BAA4B,CAAC,CAAC;AACpF,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC;AAClE,MAAM,MAAM,sBAAsB,GAAG,WAAW,CAAC,uBAAuB,CAAC,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAI5E,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,mBAAmB;QAC3B,eAAe,EAAE,iBAAiB,CAAC;QACnC,0BAA0B,EAAE,2BAA2B,CAAC;QACxD,gBAAgB,EAAE,kBAAkB,CAAC;QACrC,oBAAoB,EAAE,sBAAsB,CAAC;QAC7C,sBAAsB,EAAE,uBAAuB,CAAC;KACjD;CACF;AAED,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface SectionsConverter<T extends string> {
2
+ fromAttribute(value: string | null): T[] | undefined;
3
+ }
4
+ export declare function sectionsConverter<T extends string>(names: readonly T[]): SectionsConverter<T>;
5
+ export declare function hiddenNamesOf<T extends string>(names: readonly T[], value: unknown): ReadonlySet<T>;
6
+ //# sourceMappingURL=hide-sections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hide-sections.d.ts","sourceRoot":"","sources":["../../src/element/hide-sections.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM;IACjD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;CACtD;AAGD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAS7F;AAGD,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAC5C,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,OAAO,GACb,WAAW,CAAC,CAAC,CAAC,CAOhB"}
@@ -0,0 +1,26 @@
1
+ // A whitespace separated attribute and an array property, both narrowed to a fixed set of part
2
+ // names. Shared by the sections of <pricing-renderer> and the parts of <pricing-change-review>.
3
+ // Whitespace separated; only tokens that exactly match a name are kept, in order.
4
+ export function sectionsConverter(names) {
5
+ return {
6
+ fromAttribute(value) {
7
+ if (value === null)
8
+ return undefined;
9
+ return value
10
+ .split(/[\t\n\f\r ]+/)
11
+ .filter((token) => names.includes(token));
12
+ },
13
+ };
14
+ }
15
+ // A value that is not an array hides nothing, and neither does an item that is not a name.
16
+ export function hiddenNamesOf(names, value) {
17
+ const hidden = new Set();
18
+ if (!Array.isArray(value))
19
+ return hidden;
20
+ for (const item of value) {
21
+ if (names.includes(item))
22
+ hidden.add(item);
23
+ }
24
+ return hidden;
25
+ }
26
+ //# sourceMappingURL=hide-sections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hide-sections.js","sourceRoot":"","sources":["../../src/element/hide-sections.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,gGAAgG;AAMhG,kFAAkF;AAClF,MAAM,UAAU,iBAAiB,CAAmB,KAAmB;IACrE,OAAO;QACL,aAAa,CAAC,KAAoB;YAChC,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,SAAS,CAAC;YACrC,OAAO,KAAK;iBACT,KAAK,CAAC,cAAc,CAAC;iBACrB,MAAM,CAAC,CAAC,KAAK,EAAc,EAAE,CAAE,KAA2B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,CAAC;KACF,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,aAAa,CAC3B,KAAmB,EACnB,KAAc;IAEd,MAAM,MAAM,GAAG,IAAI,GAAG,EAAK,CAAC;IAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAK,KAA4B,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,IAAS,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,8 +1,15 @@
1
1
  export { PricingRendererElement } from './pricing-renderer-element.js';
2
- export type { PendingAddOnChange, PricingActionDetail, PricingActionEvent, PricingDiagnosticDetail, PricingDiagnosticEvent, PricingReadyDetail, PricingReadyEvent, PricingSelectionChangeDetail, PricingSelectionChangeEvent, } from './events.js';
2
+ export { PricingChangeReviewElement } from './change-review-element.js';
3
+ export { PRICING_CHANGE_REVIEW_TAG, definePricingChangeReview } from './change-review-define.js';
4
+ export type { PricingChangeBackDetail, PricingChangeBackEvent, PricingChangeConfirmDetail, PricingChangeConfirmEvent, } from './change-review-events.js';
5
+ export type { ApplySelectionResult, PendingAddOnChange, PricingActionDetail, PricingActionEvent, PricingDiagnosticDetail, PricingDiagnosticEvent, PricingReadyDetail, PricingReadyEvent, PricingSelectionChangeDetail, PricingSelectionChangeEvent, PricingSlotName, PricingSlotsChangeDetail, PricingSlotsChangeEvent, } from './events.js';
6
+ export type { PricingSectionName } from './renderers.js';
7
+ export type { ReviewSectionName } from './change-review-renderers.js';
8
+ export type { SelectionRelation } from '../core/index.js';
3
9
  declare global {
4
10
  interface HTMLElementTagNameMap {
5
11
  'pricing-renderer': import('./pricing-renderer-element.js').PricingRendererElement;
12
+ 'pricing-change-review': import('./change-review-element.js').PricingChangeReviewElement;
6
13
  }
7
14
  }
8
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/element/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AAErB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,OAAO,+BAA+B,EAAE,sBAAsB,CAAC;KACpF;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/element/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACjG,YAAY,EACV,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,2BAA2B,EAC3B,eAAe,EACf,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,OAAO,+BAA+B,EAAE,sBAAsB,CAAC;QACnF,uBAAuB,EAAE,OAAO,4BAA4B,EAAE,0BAA0B,CAAC;KAC1F;CACF"}
@@ -1,2 +1,5 @@
1
1
  export { PricingRendererElement } from './pricing-renderer-element.js';
2
+ // Exported, not registered: only define-change-review.ts registers the tag on import.
3
+ export { PricingChangeReviewElement } from './change-review-element.js';
4
+ export { PRICING_CHANGE_REVIEW_TAG, definePricingChangeReview } from './change-review-define.js';
2
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/element/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/element/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,sFAAsF;AACtF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -1,10 +1,19 @@
1
1
  import { LitElement, type PropertyValues, type TemplateResult } from 'lit';
2
- import { type IPricingLike, type ExpressionOptions, type MessageCatalog, type NormalizePricingOptions, type PricingLayout, type PricingMode, type PricingPresentation, type PricingSelection, type PricingVisibility } from '../core/index.js';
2
+ import { type IPricingLike, type ExpressionOptions, type MessageCatalog, type NormalizePricingOptions, type PricingDiagnosticsMode, type PricingLayout, type PricingMode, type PricingPresentation, type PricingSelection, type PricingVisibility } from '../core/index.js';
3
+ import { inputChanged } from './same-input.js';
3
4
  import { type PricingLoader, type PricingRequestOptions } from '../yaml/index.js';
5
+ import type { ApplySelectionResult, PricingSelectionChangeDetail, PricingSlotName } from './events.js';
6
+ import { type PricingSectionName, type RenderState } from './renderers.js';
7
+ export declare function renderAfterPlans(state: RenderState, wide?: boolean): TemplateResult;
8
+ export declare const onlyDifferencesConverter: {
9
+ fromAttribute(value: string | null): boolean | undefined;
10
+ };
11
+ export declare const hideSectionsConverter: import("./hide-sections.js").SectionsConverter<"addOns" | "comparison" | "summary" | "metadata" | "variables" | "hero" | "billing" | "plans" | "saasName" | "description" | "tags">;
4
12
  export declare class PricingRendererElement extends LitElement {
5
13
  static properties: {
6
14
  pricing: {
7
15
  attribute: boolean;
16
+ hasChanged: typeof inputChanged;
8
17
  };
9
18
  yaml: {
10
19
  attribute: boolean;
@@ -15,12 +24,14 @@ export declare class PricingRendererElement extends LitElement {
15
24
  };
16
25
  request: {
17
26
  attribute: boolean;
27
+ hasChanged: typeof inputChanged;
18
28
  };
19
29
  loadPricing: {
20
30
  attribute: boolean;
21
31
  };
22
32
  normalizeOptions: {
23
33
  attribute: boolean;
34
+ hasChanged: typeof inputChanged;
24
35
  };
25
36
  expressionOptions: {
26
37
  attribute: boolean;
@@ -31,6 +42,14 @@ export declare class PricingRendererElement extends LitElement {
31
42
  defaultSelection: {
32
43
  attribute: boolean;
33
44
  };
45
+ currentSelection: {
46
+ attribute: boolean;
47
+ hasChanged: (value: unknown, previous: unknown) => boolean;
48
+ };
49
+ pendingActionId: {
50
+ type: StringConstructor;
51
+ attribute: string;
52
+ };
34
53
  presentation: {
35
54
  attribute: boolean;
36
55
  };
@@ -70,10 +89,42 @@ export declare class PricingRendererElement extends LitElement {
70
89
  type: StringConstructor;
71
90
  reflect: boolean;
72
91
  };
92
+ diagnostics: {
93
+ type: StringConstructor;
94
+ reflect: boolean;
95
+ };
96
+ density: {
97
+ type: StringConstructor;
98
+ reflect: boolean;
99
+ noAccessor: boolean;
100
+ useDefault: boolean;
101
+ };
73
102
  loadingLabel: {
74
103
  type: StringConstructor;
75
104
  attribute: string;
76
105
  };
106
+ onlyDifferences: {
107
+ attribute: string;
108
+ converter: {
109
+ fromAttribute(value: string | null): boolean | undefined;
110
+ };
111
+ };
112
+ toolbarThreshold: {
113
+ type: NumberConstructor;
114
+ attribute: string;
115
+ };
116
+ addOnFilterThreshold: {
117
+ type: NumberConstructor;
118
+ attribute: string;
119
+ };
120
+ hideSections: {
121
+ attribute: string;
122
+ converter: import("./hide-sections.js").SectionsConverter<"addOns" | "comparison" | "summary" | "metadata" | "variables" | "hero" | "billing" | "plans" | "saasName" | "description" | "tags">;
123
+ hasChanged: (value: unknown, previous: unknown) => boolean;
124
+ };
125
+ slots: {
126
+ attribute: boolean;
127
+ };
77
128
  };
78
129
  pricing?: IPricingLike;
79
130
  yaml?: string;
@@ -84,6 +135,7 @@ export declare class PricingRendererElement extends LitElement {
84
135
  expressionOptions?: ExpressionOptions;
85
136
  selection?: PricingSelection;
86
137
  defaultSelection?: Partial<PricingSelection>;
138
+ pendingActionId?: string;
87
139
  presentation?: PricingPresentation;
88
140
  locale: string;
89
141
  pricingPath: string;
@@ -95,46 +147,79 @@ export declare class PricingRendererElement extends LitElement {
95
147
  layout: PricingLayout;
96
148
  visibility: PricingVisibility;
97
149
  theme: 'light' | 'dark' | 'auto';
150
+ diagnostics: PricingDiagnosticsMode;
98
151
  loadingLabel?: string;
152
+ onlyDifferences?: boolean;
153
+ toolbarThreshold: number;
154
+ addOnFilterThreshold: number;
155
+ hideSections?: readonly PricingSectionName[];
156
+ slots?: readonly PricingSlotName[];
157
+ private _lastSlotsDispatch;
99
158
  private _status;
100
159
  private readonly _projectPresentation;
101
160
  private _normalized?;
102
161
  private _diagnostics;
103
162
  private _internalSelection?;
163
+ private _currentSelection?;
164
+ private _diagnosedSelection?;
165
+ private _diagnosedPricing?;
104
166
  private _compact;
167
+ private _wide;
105
168
  private _search;
106
- private _onlyDifferences;
169
+ private _onlyDifferencesOverride?;
107
170
  private _expandedGroups;
108
171
  private _revealedGroups;
172
+ private _addOnSearch;
173
+ private _addOnsRevealed;
109
174
  private _pendingAddOnChange?;
110
- private _lastValidPlanPrices;
111
- private _lastValidAddOnPrices;
175
+ private readonly _priceStabilizer;
112
176
  private _resizeObserver?;
113
177
  private _abortController?;
114
178
  private _loadSequence;
115
179
  private _loadedOnce;
116
180
  private _reloadOnPropertyChange;
117
181
  private _previousFocus?;
182
+ private _breakdownOpen;
183
+ private readonly _instanceNumber;
184
+ private readonly _breakdownId;
185
+ private readonly _idPrefix;
118
186
  constructor();
187
+ private _density;
188
+ get density(): 'comfortable' | 'compact';
189
+ set density(value: unknown);
190
+ get currentSelection(): Partial<PricingSelection> | undefined;
191
+ set currentSelection(value: Partial<PricingSelection> | undefined);
119
192
  protected createRenderRoot(): HTMLElement | DocumentFragment;
120
193
  connectedCallback(): void;
121
194
  disconnectedCallback(): void;
195
+ private _resumeAfterReconnect;
196
+ private _observeSize;
122
197
  protected firstUpdated(): void;
198
+ protected willUpdate(changed: PropertyValues<this>): void;
123
199
  protected updated(changed: PropertyValues<this>): void;
200
+ private _reportSlots;
201
+ triggerPlanAction(planId: string): boolean;
202
+ private _reportCurrentSelection;
124
203
  reload(): Promise<void>;
204
+ get resolvedState(): PricingSelectionChangeDetail | undefined;
205
+ applySelection(selection: Partial<PricingSelection>): ApplySelectionResult;
206
+ private _isReady;
207
+ private _selectionInEffect;
208
+ private _snapshot;
209
+ private _refuseSelection;
210
+ private _dispatchSelectionDiagnostics;
125
211
  private _applyLoadResult;
126
212
  private _effectiveSelection;
127
213
  private _viewModelOptions;
128
- private _stabilizeResolvedPrices;
129
214
  private _viewModel;
215
+ private _summaryAction;
130
216
  private _updateCompactLayout;
131
217
  private _setSelection;
132
218
  private _selectPlan;
219
+ private _openChangeDialog;
133
220
  private _selectBilling;
134
221
  private _updateVariable;
135
222
  private _resetVariables;
136
- private _collectDependencies;
137
- private _selectedDependents;
138
223
  private _toggleAddOn;
139
224
  private _applyAddOnChange;
140
225
  private _updateAddOnQuantity;
@@ -145,6 +230,9 @@ export declare class PricingRendererElement extends LitElement {
145
230
  private _toggleGroup;
146
231
  private _setAllGroups;
147
232
  private _revealGroup;
233
+ private _focusRevealed;
234
+ private _toggleBreakdown;
235
+ private _closeBreakdownOnEscape;
148
236
  private _handleDialogKeyboard;
149
237
  private _actions;
150
238
  protected render(): TemplateResult;
@@ -1 +1 @@
1
- {"version":3,"file":"pricing-renderer-element.d.ts","sourceRoot":"","sources":["../../src/element/pricing-renderer-element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pricing-renderer-element.d.ts","sourceRoot":"","sources":["../../src/element/pricing-renderer-element.ts"],"names":[],"mappings":"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"}