@namiml/web-sdk 3.4.3-dev.202606111948 → 3.4.3-dev.202606120223

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.
@@ -7,6 +7,9 @@ export declare class NamiResponsiveGrid extends NamiElement {
7
7
  inFocusedState: boolean;
8
8
  scaleFactor: number;
9
9
  minSDKVersion: TSemverObj;
10
+ private timelineDots;
11
+ private railHeight;
12
+ private timelineResizeObserver?;
10
13
  private mouseDown;
11
14
  private startX;
12
15
  scrollLeft: any;
@@ -16,8 +19,12 @@ export declare class NamiResponsiveGrid extends NamiElement {
16
19
  stopDragging: () => void;
17
20
  move: (e: any) => void;
18
21
  private isGroupedHorizontal;
22
+ private isTimelineActive;
19
23
  protected styles(): CSSResult;
20
- render(): any[][] | import("lit-html").TemplateResult<1>[];
24
+ render(): import("lit-html").TemplateResult<1> | any[][] | import("lit-html").TemplateResult<1>[];
25
+ protected updated(): void;
26
+ private measureTimeline;
27
+ private readTimelineGeometry;
21
28
  private _rowMouseDown;
22
29
  private _rowStartX;
23
30
  private _rowStartDragging;
@@ -1,5 +1,5 @@
1
1
  import { TBaseComponent, TComponent } from '@namiml/sdk-core';
2
- import { TButtonContainer, TProductContainer, TResponsiveGrid, TRepeatingGrid } from "@namiml/sdk-core";
2
+ import { TButtonContainer, TProductContainer, TResponsiveGrid, TRepeatingGrid, TTimelineRail } from "@namiml/sdk-core";
3
3
  import { TConditionalComponent } from "@namiml/sdk-core";
4
4
  import { TPaywallMedia } from "@namiml/sdk-core";
5
5
  import { PaywallSKU } from "@namiml/sdk-core";
@@ -13,10 +13,12 @@ export declare function getSkuButtonComponents(contextProvider: PaywallContextPr
13
13
  [mediaName: string]: Pick<TPaywallMedia, 'content'>;
14
14
  }): [boolean, TComponent[]][];
15
15
  /**
16
- * A repeating-list section. `header` is null when grouping is inactive; otherwise it is the
16
+ * A repeating-list section. `key` is the group key (empty string when grouping is
17
+ * inactive). `header` is null when grouping is inactive; otherwise it is the
17
18
  * interpolated group-header component-list. `items` holds one component-list per repeated item.
18
19
  */
19
20
  export type TRepeatingListSection = {
21
+ key: string;
20
22
  header: TComponent[] | null;
21
23
  items: TComponent[][];
22
24
  };
@@ -40,4 +42,34 @@ export declare function valueFromSmartText<T>(contextProvider: PaywallContextPro
40
42
  export declare const totalTimeSpentOnPaywall: (contextProvider: PaywallContextProvider) => number | undefined;
41
43
  export declare const rgbaToHex: (rgba?: string) => string | null;
42
44
  export declare const sameColors: (color1?: string, color2?: string) => boolean;
45
+ export type TResolvedTimeline = Required<Omit<TTimelineRail, 'id' | 'namiComponentType' | 'conditionAttributes'>> & Pick<TTimelineRail, 'conditionAttributes'>;
46
+ export declare function resolveTimelineDefaults(timeline: TTimelineRail): TResolvedTimeline;
47
+ export type TTimelineDotStyle = {
48
+ dotSize: number;
49
+ dotColor: string;
50
+ dotCornerRadius: number;
51
+ dotBorderWidth: number;
52
+ dotBorderColor: string;
53
+ };
54
+ /**
55
+ * Per-group dot style: base timeline values overlaid with any conditionAttributes
56
+ * whose assertions pass for this group. `${group.key}` is pre-resolved via
57
+ * interpolate before evaluation, so the assertion values become literals and
58
+ * conditionComponentMatches evaluates them against the context state cleanly.
59
+ */
60
+ export declare function resolveTimelineDotStyle(contextProvider: PaywallContextProvider, timeline: TTimelineRail, groupKey: string): TTimelineDotStyle;
61
+ export type TTimelineSegment = {
62
+ top: number;
63
+ height: number;
64
+ };
65
+ export declare function computeTimelineSegments(args: {
66
+ railHeight: number;
67
+ lineTopOffset: number;
68
+ lineBottomOffset: number;
69
+ dotLineSpacing: number;
70
+ dots: Array<{
71
+ centerY: number;
72
+ size: number;
73
+ }>;
74
+ }): TTimelineSegment[];
43
75
  export {};