@revenuecat/purchases-ui-js 0.0.16 → 0.0.18

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 (67) hide show
  1. package/dist/components/button/Button.svelte +0 -13
  2. package/dist/components/button/Button.svelte.d.ts +4 -2
  3. package/dist/components/button/ButtonNode.stories.svelte +16 -11
  4. package/dist/components/button/ButtonNode.svelte +26 -1
  5. package/dist/components/button/ButtonNode.svelte.d.ts +1 -0
  6. package/dist/components/button/button-utils.d.ts +2 -0
  7. package/dist/components/button/button-utils.js +19 -0
  8. package/dist/components/footer/Footer.stories.svelte +47 -155
  9. package/dist/components/footer/Footer.stories.svelte.d.ts +1 -2
  10. package/dist/components/footer/Footer.svelte +10 -1
  11. package/dist/components/footer/Footer.svelte.d.ts +1 -0
  12. package/dist/components/image/Image.stories.svelte +13 -7
  13. package/dist/components/image/Image.svelte +37 -19
  14. package/dist/components/image/Image.svelte.d.ts +1 -0
  15. package/dist/components/image/image-utils.d.ts +2 -12
  16. package/dist/components/image/image-utils.js +28 -11
  17. package/dist/components/package/Package.stories.svelte +5 -5
  18. package/dist/components/package/Package.svelte +15 -6
  19. package/dist/components/package/Package.svelte.d.ts +1 -0
  20. package/dist/components/paywall/Node.svelte +77 -17
  21. package/dist/components/paywall/Node.svelte.d.ts +21 -2
  22. package/dist/components/paywall/Paywall.stories.svelte +93 -15
  23. package/dist/components/paywall/Paywall.svelte +110 -88
  24. package/dist/components/paywall/Paywall.svelte.d.ts +4 -0
  25. package/dist/components/paywall/paywall-utils.d.ts +1 -1
  26. package/dist/components/paywall/paywall-utils.js +11 -9
  27. package/dist/components/purchase-button/PurchaseButton.stories.svelte +7 -8
  28. package/dist/components/purchase-button/PurchaseButton.svelte +24 -10
  29. package/dist/components/purchase-button/PurchaseButton.svelte.d.ts +1 -0
  30. package/dist/components/purchase-button/purchase-button-utils.d.ts +2 -0
  31. package/dist/components/purchase-button/purchase-button-utils.js +20 -0
  32. package/dist/components/stack/Stack.stories.svelte +1138 -6
  33. package/dist/components/stack/Stack.svelte +160 -42
  34. package/dist/components/stack/Stack.svelte.d.ts +1 -0
  35. package/dist/components/stack/stack-utils.d.ts +24 -24
  36. package/dist/components/stack/stack-utils.js +245 -12
  37. package/dist/components/text/Text.svelte +24 -19
  38. package/dist/components/text/Text.svelte.d.ts +4 -2
  39. package/dist/components/text/TextNode.stories.svelte +13 -13
  40. package/dist/components/text/TextNode.svelte +24 -34
  41. package/dist/components/text/TextNode.svelte.d.ts +1 -0
  42. package/dist/components/text/text-utils.d.ts +11 -14
  43. package/dist/components/text/text-utils.js +130 -15
  44. package/dist/components/timeline/Timeline.stories.svelte +640 -0
  45. package/dist/components/timeline/Timeline.stories.svelte.d.ts +19 -0
  46. package/dist/components/timeline/Timeline.svelte +40 -0
  47. package/dist/components/timeline/Timeline.svelte.d.ts +4 -0
  48. package/dist/components/timeline/TimelineItem.svelte +112 -0
  49. package/dist/components/timeline/TimelineItem.svelte.d.ts +4 -0
  50. package/dist/components/timeline/timeline-utils.d.ts +8 -0
  51. package/dist/components/timeline/timeline-utils.js +128 -0
  52. package/dist/data/entities.d.ts +89 -9
  53. package/dist/data/state.d.ts +2 -0
  54. package/dist/index.d.ts +3 -2
  55. package/dist/index.js +3 -2
  56. package/dist/stories/fixtures.d.ts +7 -1
  57. package/dist/stories/fixtures.js +6898 -7
  58. package/dist/stories/meta-templates.d.ts +0 -1
  59. package/dist/stories/meta-templates.js +0 -5
  60. package/dist/types.d.ts +16 -7
  61. package/dist/types.js +7 -0
  62. package/dist/utils/style-utils.d.ts +80 -41
  63. package/dist/utils/style-utils.js +157 -70
  64. package/dist/utils/variable-utils.d.ts +27 -0
  65. package/dist/utils/variable-utils.js +37 -0
  66. package/package.json +27 -25
  67. package/dist/components/paywall/global-styles.css +0 -9
@@ -0,0 +1,112 @@
1
+ <script lang="ts">
2
+ import {
3
+ getTimelineItemStyles,
4
+ getTimelineItemTextStyles,
5
+ } from "./timeline-utils";
6
+ import type { TimelineItemProps } from "../../data/entities";
7
+
8
+ const props: TimelineItemProps = $props();
9
+ const styles = $derived(getTimelineItemStyles(props));
10
+
11
+ const {
12
+ tagToRender: titleTagToRender,
13
+ textStyles: titleStyles,
14
+ textLabel: titleLabel,
15
+ } = $derived(getTimelineItemTextStyles(props, "title"));
16
+
17
+ const {
18
+ tagToRender: descriptionTagToRender,
19
+ textStyles: descriptionStyles,
20
+ textLabel: descriptionLabel,
21
+ } = $derived(getTimelineItemTextStyles(props, "description"));
22
+ // TODO: Object mapping icon name to icon component
23
+ </script>
24
+
25
+ <div class="rc-pw-timeline-item" style={styles}>
26
+ <div class="rc-pw-timeline-item-icon-container">
27
+ <div class="rc-pw-timeline-item-icon"></div>
28
+ </div>
29
+ <div class="rc-pw-timeline-item-content">
30
+ <svelte:element
31
+ this={titleTagToRender}
32
+ class="rc-pw-timeline-item-content-title"
33
+ style={titleStyles}>{titleLabel}</svelte:element
34
+ >
35
+ {#if descriptionLabel}
36
+ <svelte:element
37
+ this={descriptionTagToRender}
38
+ class="rc-pw-timeline-item-content-description"
39
+ style={descriptionStyles}>{descriptionLabel}</svelte:element
40
+ >
41
+ {/if}
42
+ </div>
43
+ </div>
44
+
45
+ <style>
46
+ .rc-pw-timeline-item {
47
+ display: flex;
48
+ align-items: center;
49
+ gap: var(--timeline-item-spacing, 0px);
50
+ }
51
+
52
+ .rc-pw-timeline-item-icon-container {
53
+ position: relative;
54
+ border-end-start-radius: var(--timeline-item-border-end-start-radius, 0px);
55
+ border-end-end-radius: var(--timeline-item-border-end-end-radius, 0px);
56
+ border-start-start-radius: var(
57
+ --timeline-item-border-start-start-radius,
58
+ 0px
59
+ );
60
+ border-start-end-radius: var(--timeline-item-border-start-end-radius, 0px);
61
+ width: var(--timeline-item-icon-size, 16px);
62
+ height: var(--timeline-item-icon-size, 16px);
63
+ flex-shrink: 0;
64
+ background-color: var(--timeline-item-icon-background-color, #ffffff);
65
+ border: var(--timeline-item-icon-border, initial);
66
+ display: flex;
67
+ align-items: center;
68
+ justify-content: center;
69
+ padding: var(--timeline-item-icon-padding, 0px);
70
+ box-sizing: content-box;
71
+ }
72
+
73
+ .rc-pw-timeline-item-icon-container::before {
74
+ position: absolute;
75
+ content: "";
76
+ z-index: -1;
77
+ top: var(--timeline-item-connector-top, 0px);
78
+ height: var(--timeline-item-connector-height, 0px);
79
+ width: var(--timeline-item-connector-width, 0px);
80
+ background: var(--timeline-item-connector-color, transparent);
81
+ }
82
+
83
+ .rc-pw-timeline-item-icon {
84
+ width: var(--timeline-item-icon-size, 10px);
85
+ height: var(--timeline-item-icon-size, 10px);
86
+ color: var(--timeline-item-icon-color, #ffffff);
87
+ display: flex;
88
+ align-items: center;
89
+ justify-content: center;
90
+ }
91
+
92
+ .rc-pw-timeline-item-content {
93
+ display: flex;
94
+ flex-direction: column;
95
+ justify-content: flex-start;
96
+ align-items: flex-start;
97
+ gap: var(--timeline-item-text-spacing, 0px);
98
+ height: fit-content;
99
+ }
100
+ .rc-pw-timeline-item-content-title,
101
+ .rc-pw-timeline-item-content-description {
102
+ margin-block-start: var(--timeline-item-text-margin-block-start, 0px);
103
+ margin-inline-end: var(--timeline-item-text-margin-inline-end, 0px);
104
+ margin-block-end: var(--timeline-item-text-margin-block-end, 0px);
105
+ margin-inline-start: var(--timeline-item-text-margin-inline-start, 0px);
106
+ padding-block-start: var(--timeline-item-text-padding-block-start, 0);
107
+ padding-inline-end: var(--timeline-item-text-padding-inline-end, 0);
108
+ padding-block-end: var(--timeline-item-text-padding-block-end, 0);
109
+ padding-inline-start: var(--timeline-item-text-padding-inline-start, 0);
110
+ font-family: var(--timeline-item-text-font-family, sans-serif);
111
+ }
112
+ </style>
@@ -0,0 +1,4 @@
1
+ import type { TimelineItemProps } from "../../data/entities";
2
+ declare const TimelineItem: import("svelte").Component<TimelineItemProps, {}, "">;
3
+ type TimelineItem = ReturnType<typeof TimelineItem>;
4
+ export default TimelineItem;
@@ -0,0 +1,8 @@
1
+ import type { TimelineItemProps, TimelineProps } from "../../data/entities";
2
+ export declare function getTimelineStyles(props: TimelineProps): string;
3
+ export declare function getTimelineItemStyles(props: TimelineItemProps): string;
4
+ export declare function getTimelineItemTextStyles(props: TimelineItemProps, kind?: "title" | "description"): {
5
+ textStyles: string;
6
+ tagToRender: import("../../utils/style-utils").TextComponentTags;
7
+ textLabel: string | undefined;
8
+ };
@@ -0,0 +1,128 @@
1
+ import { defaultColor, getTextComponentStyles, } from "../text/text-utils";
2
+ import { getBorderStyle, getColor, getCornerRadiusStyle, getSizeStyle, prefixObject, stringifyStyles, } from "../../utils/style-utils";
3
+ import { getLabelAndReplaceVariables } from "../../utils/variable-utils";
4
+ export function getTimelineStyles(props) {
5
+ const styles = {
6
+ "--item-spacing": `${props.item_spacing}px`,
7
+ "--width": "initial",
8
+ "--height": "initial",
9
+ "--flex": "0 1 auto",
10
+ "--position": "relative",
11
+ "--inset": "0",
12
+ "--transform": "initial",
13
+ };
14
+ Object.assign(styles, getSizeStyle(props.size));
15
+ Object.assign(styles, props.zStackChildStyles);
16
+ const prefixedStyles = prefixObject(styles, "timeline");
17
+ return stringifyStyles(prefixedStyles);
18
+ }
19
+ export function getTimelineItemStyles(props) {
20
+ const styles = {
21
+ "--icon-size": `${props.icon.width_and_height}px`,
22
+ "--icon-padding": `${props.icon.padding}px`,
23
+ "--icon-color": getColor({
24
+ colorMap: props.icon.color,
25
+ colorMode: props.purchaseState?.colorMode,
26
+ }),
27
+ "--icon-background-color": getColor({
28
+ colorMap: props.icon_background?.color,
29
+ colorMode: props.purchaseState.colorMode,
30
+ }),
31
+ "--icon-border": getBorderStyle(props.icon_background?.border, props.purchaseState?.colorMode),
32
+ "--text-spacing": `${props.text_spacing}px`,
33
+ "--border-start-start-radius": `0px`,
34
+ "--border-start-end-radius": `0px`,
35
+ "--border-end-start-radius": `0px`,
36
+ "--border-end-end-radius": `0px`,
37
+ "--connector-color": getColor({
38
+ colorMap: props.connector?.color,
39
+ colorMode: props.purchaseState.colorMode,
40
+ }),
41
+ "--connector-width": `${props.connector?.width || 0}px`,
42
+ "--connector-top": "0px",
43
+ "--connector-height": `${props.item_spacing}px`,
44
+ };
45
+ Object.assign(styles, props.icon_background?.shape?.type === "rectangle"
46
+ ? getCornerRadiusStyle(props.icon_background?.shape?.corners)
47
+ : {
48
+ "--border-start-start-radius": "50%",
49
+ "--border-start-end-radius": "50%",
50
+ "--border-end-start-radius": "50%",
51
+ "--border-end-end-radius": "50%",
52
+ });
53
+ if (props.connector) {
54
+ const hasMarginTop = props.connector.margin.top !== 0;
55
+ const hasMarginBottom = props.connector.margin.bottom !== 0;
56
+ const itemBackgroundSize = props.icon.padding + props.icon.width_and_height / 2;
57
+ if (!hasMarginTop && !hasMarginBottom) {
58
+ styles["--connector-height"] =
59
+ `${props.item_spacing + itemBackgroundSize * 2}px`;
60
+ styles["--connector-top"] = `50%`;
61
+ }
62
+ if (hasMarginTop && hasMarginBottom) {
63
+ styles["--connector-height"] =
64
+ `${props.item_spacing - props.connector.margin.top - props.connector.margin.bottom}px`;
65
+ styles["--connector-top"] =
66
+ `calc(100% + ${props.connector.margin.top}px)`;
67
+ }
68
+ if (!hasMarginTop && hasMarginBottom) {
69
+ styles["--connector-height"] =
70
+ `${props.item_spacing - props.connector.margin.bottom + itemBackgroundSize}px`;
71
+ styles["--connector-top"] = `50%`;
72
+ }
73
+ if (hasMarginTop && !hasMarginBottom) {
74
+ styles["--connector-height"] =
75
+ `${props.item_spacing + itemBackgroundSize}px`;
76
+ styles["--connector-top"] =
77
+ `calc(100% + ${props.connector.margin.top}px)`;
78
+ }
79
+ }
80
+ const prefixedStyles = prefixObject(styles, "timeline-item");
81
+ return stringifyStyles(prefixedStyles);
82
+ }
83
+ export function getTimelineItemTextStyles(props, kind = "title") {
84
+ const styles = {
85
+ "--text-color": "inherit",
86
+ "--text-font-size": "initial",
87
+ "--text-font-weight": "initial",
88
+ "--text-horizontal-alignment": "initial",
89
+ "--text-margin-block-start": "0px",
90
+ "--text-margin-inline-end": "0px",
91
+ "--text-margin-block-end": "0px",
92
+ "--text-margin-inline-start": "0px",
93
+ "--text-padding-block-start": "0px",
94
+ "--text-padding-inline-end": "0px",
95
+ "--text-padding-block-end": "0px",
96
+ "--text-padding-inline-start": "0px",
97
+ };
98
+ const textProps = {
99
+ color: props[kind]?.color || defaultColor,
100
+ font_size: props[kind]?.font_size || "body_m",
101
+ font_weight: props[kind]?.font_weight || "regular",
102
+ horizontal_alignment: props[kind]?.horizontal_alignment || "leading",
103
+ };
104
+ const { tagToRender, textStyles } = getTextComponentStyles({
105
+ ...props,
106
+ components: [],
107
+ ...textProps,
108
+ size: { width: { type: "fit" }, height: { type: "fit" } },
109
+ type: "text",
110
+ margin: { top: 0, bottom: 0, leading: 0, trailing: 0 },
111
+ padding: { top: 0, bottom: 0, leading: 0, trailing: 0 },
112
+ text_lid: "",
113
+ });
114
+ Object.assign(styles, textStyles);
115
+ const stringifiedStyles = stringifyStyles(prefixObject(styles, "timeline-item"));
116
+ const textLabel = getLabelAndReplaceVariables({
117
+ text_lid: props[kind]?.text_lid,
118
+ locale: props.purchaseState.locale,
119
+ defaultLocale: props.purchaseState.defaultLocale,
120
+ labels: props.labels,
121
+ variableDictionary: props.variableDictionary,
122
+ });
123
+ return {
124
+ textStyles: stringifiedStyles,
125
+ tagToRender,
126
+ textLabel,
127
+ };
128
+ }
@@ -1,14 +1,16 @@
1
- import type { BorderType, ColorMode, ColorType, CornerRadiusType, DimensionType, FitTypes, FontSizeTags, FontWeights, ShadowType, ShapeType, SizeType, Spacing, TextAlignment } from "../types";
1
+ import type { AlignmentType, BorderType, CircleShape, ColorType, CornerRadiusType, DimensionType, FitTypes, FontSizeTags, FontWeights, RectangleShape, ShadowType, ShapeType, SizeType, Spacing, TextAlignments } from "../types";
2
2
  import type { PurchaseState } from "./state";
3
3
  import type { VariableDictionary } from "../utils/variable-utils";
4
+ import type { ZStackChildStyles } from "../components/stack/stack-utils";
4
5
  export interface Extra {
5
6
  [key: string]: unknown;
6
7
  }
7
- export type ComponentTypes = "stack" | "text" | "image" | "button" | "purchase_button" | "footer" | "package";
8
+ export type ComponentTypes = "stack" | "text" | "image" | "button" | "purchase_button" | "footer" | "package" | "timeline";
8
9
  export interface PaywallComponent extends Extra {
9
10
  type: ComponentTypes;
10
11
  id: string;
11
12
  name: string;
13
+ fallback?: PaywallComponent;
12
14
  }
13
15
  export interface Stack extends PaywallComponent {
14
16
  spacing: number;
@@ -21,6 +23,8 @@ type BaseNodeBackgroundColor = {
21
23
  export type BaseNodeBackgroundImage = {
22
24
  type: "image";
23
25
  value: ImageSourceType;
26
+ color_overlay?: ColorType;
27
+ fit_mode?: FitTypes;
24
28
  };
25
29
  export type BaseNodeBackgroundType = BaseNodeBackgroundColor | BaseNodeBackgroundImage;
26
30
  export interface ComponentConfig {
@@ -38,10 +42,10 @@ export interface ComponentConfig {
38
42
  background?: BaseNodeBackgroundType;
39
43
  stack: Stack;
40
44
  sticky_footer?: {
41
- stack: {
42
- type: "stack";
43
- components: PaywallComponent[];
44
- };
45
+ stack: Stack;
46
+ id: string;
47
+ name: string;
48
+ type: "footer";
45
49
  } | null;
46
50
  };
47
51
  }
@@ -67,10 +71,10 @@ export type ComponentState = {
67
71
  interface SharedComponentProps extends PaywallComponent, ActionsProps, PurchaseStateProps {
68
72
  labels: ComponentLocalizations;
69
73
  id: string;
70
- colorMode: ColorMode;
71
74
  name: string;
72
75
  variableDictionary?: VariableDictionary;
73
76
  componentState?: ComponentState;
77
+ zStackChildStyles?: ZStackChildStyles;
74
78
  }
75
79
  interface Action {
76
80
  type: "restore_purchases" | "navigate_to" | "navigate_back" | "purchase" | "select_package";
@@ -127,6 +131,24 @@ export interface StackProps extends SharedComponentProps {
127
131
  size: SizeType;
128
132
  spacing?: number;
129
133
  type: "stack";
134
+ badge?: {
135
+ stack: {
136
+ components: PaywallComponent[];
137
+ type: "stack";
138
+ };
139
+ style: "overlay" | "edge_to_edge" | "nested";
140
+ alignment: Exclude<AlignmentType, "center">;
141
+ shape: ShapeType;
142
+ padding: Spacing;
143
+ margin: Spacing;
144
+ text_lid: string;
145
+ color: ColorType;
146
+ font_name?: string;
147
+ font_weight: keyof typeof FontWeights;
148
+ font_size: keyof typeof FontSizeTags;
149
+ horizontal_alignment: keyof typeof TextAlignments;
150
+ background_color: ColorType;
151
+ };
130
152
  overrides?: {
131
153
  [state: string]: StackProps;
132
154
  };
@@ -138,7 +160,7 @@ export interface TextNodeProps extends SharedComponentProps {
138
160
  font_name?: string;
139
161
  font_size: keyof typeof FontSizeTags;
140
162
  font_weight: keyof typeof FontWeights;
141
- horizontal_alignment: TextAlignment;
163
+ horizontal_alignment: keyof typeof TextAlignments;
142
164
  margin: Spacing;
143
165
  padding: Spacing;
144
166
  text_lid: string;
@@ -149,7 +171,15 @@ export interface TextNodeProps extends SharedComponentProps {
149
171
  [state: string]: TextNodeProps;
150
172
  };
151
173
  }
152
- type ImageSourceDictionaryType = Record<"original" | "heic" | "heic_low_res" | "webp" | "webp_low_res", string>;
174
+ type ImageSourceDictionaryType = {
175
+ original: string;
176
+ heic: string;
177
+ heic_low_res: string;
178
+ webp: string;
179
+ webp_low_res: string;
180
+ width?: number;
181
+ height?: number;
182
+ };
153
183
  type ImageSourceType = {
154
184
  light: ImageSourceDictionaryType;
155
185
  dark?: ImageSourceDictionaryType;
@@ -171,4 +201,54 @@ export interface ImageProps extends SharedComponentProps {
171
201
  [state: string]: ImageProps;
172
202
  };
173
203
  }
204
+ export type ItemProps = {
205
+ title: {
206
+ text_lid: string;
207
+ color: ColorType;
208
+ font_name?: string;
209
+ font_weight?: keyof typeof FontWeights;
210
+ font_size?: keyof typeof FontSizeTags;
211
+ horizontal_alignment?: keyof typeof TextAlignments;
212
+ };
213
+ description?: {
214
+ text_lid: string;
215
+ color: ColorType;
216
+ font_name?: string;
217
+ font_weight?: keyof typeof FontWeights;
218
+ font_size?: keyof typeof FontSizeTags;
219
+ horizontal_alignment?: keyof typeof TextAlignments;
220
+ };
221
+ icon: {
222
+ name: string;
223
+ color: ColorType;
224
+ width_and_height: number;
225
+ padding: number;
226
+ };
227
+ icon_background?: {
228
+ shape: CircleShape | RectangleShape;
229
+ color: ColorType;
230
+ border?: BorderType;
231
+ };
232
+ connector?: {
233
+ width: number;
234
+ margin: {
235
+ top: number;
236
+ bottom: number;
237
+ };
238
+ color: ColorType;
239
+ };
240
+ };
241
+ export interface TimelineProps extends SharedComponentProps {
242
+ type: "timeline";
243
+ item_spacing: number;
244
+ text_spacing: number;
245
+ size: SizeType;
246
+ padding: Spacing;
247
+ margin: Spacing;
248
+ items: ItemProps[];
249
+ }
250
+ export interface TimelineItemProps extends ItemProps, SharedComponentProps {
251
+ text_spacing: number;
252
+ item_spacing: number;
253
+ }
174
254
  export {};
@@ -1,7 +1,9 @@
1
+ import type { ColorMode } from "../types";
1
2
  import type { VariableDictionary } from "../utils/variable-utils";
2
3
  export interface PurchaseState {
3
4
  selectedPackageId?: string;
4
5
  locale: string;
5
6
  defaultLocale: string;
6
7
  variablesPerPackage?: Record<string, VariableDictionary>;
8
+ colorMode: ColorMode;
7
9
  }
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- export { type PaywallData as PaywallData } from "./data/entities";
2
1
  export * from "./types";
2
+ export { type PaywallData as PaywallData } from "./data/entities";
3
+ export { type VariableDictionary } from "./utils/variable-utils";
3
4
  export { default as Paywall } from "./components/paywall/Paywall.svelte";
4
5
  export { default as Stack } from "./components/stack/Stack.svelte";
5
6
  export { default as Button } from "./components/button/Button.svelte";
@@ -8,4 +9,4 @@ export { default as Image } from "./components/image/Image.svelte";
8
9
  export { default as PurchaseButton } from "./components/purchase-button/PurchaseButton.svelte";
9
10
  export { default as Package } from "./components/package/Package.svelte";
10
11
  export { default as Footer } from "./components/footer/Footer.svelte";
11
- export { type VariableDictionary } from "./utils/variable-utils";
12
+ export { default as Timeline } from "./components/timeline/Timeline.svelte";
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  // Reexport your entry components here
2
- export {} from "./data/entities";
3
2
  export * from "./types";
3
+ export {} from "./data/entities";
4
+ export {} from "./utils/variable-utils";
4
5
  export { default as Paywall } from "./components/paywall/Paywall.svelte";
5
6
  export { default as Stack } from "./components/stack/Stack.svelte";
6
7
  export { default as Button } from "./components/button/Button.svelte";
@@ -9,4 +10,4 @@ export { default as Image } from "./components/image/Image.svelte";
9
10
  export { default as PurchaseButton } from "./components/purchase-button/PurchaseButton.svelte";
10
11
  export { default as Package } from "./components/package/Package.svelte";
11
12
  export { default as Footer } from "./components/footer/Footer.svelte";
12
- export {} from "./utils/variable-utils";
13
+ export { default as Timeline } from "./components/timeline/Timeline.svelte";
@@ -8,11 +8,17 @@ export declare const gradientPaywallData: PaywallData;
8
8
  export declare const calmPaywallData: PaywallData;
9
9
  export declare const stateTemplate: PaywallData;
10
10
  export declare const posterMakerTemplate: PaywallData;
11
- export declare const testTemplate: PaywallData;
11
+ export declare const e2eTestTemplate: PaywallData;
12
+ export declare const zStackTemplate: PaywallData;
12
13
  export declare const labelsData: {
13
14
  en_US: {
14
15
  id1: string;
15
16
  id2: string;
16
17
  id3: string;
18
+ badge: string;
17
19
  };
18
20
  };
21
+ export declare const colorModeOverrideTemplate: PaywallData;
22
+ export declare const paywallWithFooter: PaywallData;
23
+ export declare const errorPaywallData: PaywallData;
24
+ export declare const fallbackPaywallData: PaywallData;