@namiml/web-sdk 3.4.0-dev.202604010118 → 3.4.0-dev.202604182042

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 (135) hide show
  1. package/dist/adapters/index.d.ts +1 -0
  2. package/dist/adapters/web-device.adapter.d.ts +14 -0
  3. package/dist/adapters/web-storage.adapter.d.ts +8 -0
  4. package/dist/adapters/web-ui.adapter.d.ts +9 -0
  5. package/dist/components/ContextConsumer.d.ts +1 -1
  6. package/dist/components/ContextProvider.d.ts +32 -87
  7. package/dist/components/NamiElement.d.ts +1 -1
  8. package/dist/components/Paywall.d.ts +1 -5
  9. package/dist/components/PaywallScreen.d.ts +2 -4
  10. package/dist/components/TemplateComponent.d.ts +2 -2
  11. package/dist/components/containers/BackgroundContainer.d.ts +1 -2
  12. package/dist/components/containers/CarouselContainer.d.ts +3 -3
  13. package/dist/components/containers/CollapseContainer.d.ts +3 -3
  14. package/dist/components/containers/Container.d.ts +3 -3
  15. package/dist/components/containers/Content.d.ts +1 -2
  16. package/dist/components/containers/Footer.d.ts +2 -2
  17. package/dist/components/containers/Header.d.ts +2 -2
  18. package/dist/components/containers/ProductContainer.d.ts +2 -2
  19. package/dist/components/containers/RepeatingGrid.d.ts +1 -2
  20. package/dist/components/containers/ResponsiveGrid.d.ts +2 -2
  21. package/dist/components/elements/Button.d.ts +3 -3
  22. package/dist/components/elements/CountdownTimerText.d.ts +2 -3
  23. package/dist/components/elements/Image.d.ts +1 -1
  24. package/dist/components/elements/PlayPauseButton.d.ts +2 -2
  25. package/dist/components/elements/ProgressBar.d.ts +2 -2
  26. package/dist/components/elements/ProgressIndicator.d.ts +2 -2
  27. package/dist/components/elements/QRCode.d.ts +2 -2
  28. package/dist/components/elements/RadioButton.d.ts +2 -2
  29. package/dist/components/elements/SegmentPicker.d.ts +3 -3
  30. package/dist/components/elements/SegmentPickerItem.d.ts +2 -2
  31. package/dist/components/elements/Spacer.d.ts +2 -2
  32. package/dist/components/elements/Stack.d.ts +2 -2
  33. package/dist/components/elements/Text.d.ts +2 -2
  34. package/dist/components/elements/ToggleButton.d.ts +2 -2
  35. package/dist/components/elements/ToggleSwitch.d.ts +2 -2
  36. package/dist/components/elements/Video.d.ts +1 -1
  37. package/dist/components/elements/VolumeButton.d.ts +2 -2
  38. package/dist/components/productDetails.d.ts +1 -1
  39. package/dist/components/utils/actionTap.d.ts +1 -1
  40. package/dist/components/utils/helpers.d.ts +5 -5
  41. package/dist/components/utils/impression.d.ts +2 -2
  42. package/dist/components/utils/products.d.ts +1 -2
  43. package/dist/components/utils/state.d.ts +4 -4
  44. package/dist/components/utils/styles.d.ts +12 -4
  45. package/dist/legacy-support.cjs +213 -25528
  46. package/dist/legacy-support.d.ts +48 -1
  47. package/dist/legacy-support.mjs +213 -25528
  48. package/dist/nami-web.cjs +26 -26
  49. package/dist/nami-web.d.ts +606 -10
  50. package/dist/nami-web.mjs +26 -26
  51. package/dist/nami-web.umd.js +91 -91
  52. package/dist/polyfills.cjs +50 -25519
  53. package/dist/polyfills.js +50 -25519
  54. package/dist/translations/translate.d.ts +1 -6
  55. package/dist/types/externals/campaign.d.ts +2 -62
  56. package/dist/types/externals/config.d.ts +1 -41
  57. package/dist/types/externals/customer.d.ts +1 -18
  58. package/dist/types/externals/entitlement.d.ts +1 -38
  59. package/dist/types/externals/errors.d.ts +1 -12
  60. package/dist/types/externals/flow.d.ts +2 -51
  61. package/dist/types/externals/languages.d.ts +1 -197
  62. package/dist/types/externals/loglevel.d.ts +2 -10
  63. package/dist/types/externals/paywall.d.ts +2 -109
  64. package/dist/types/externals/product.d.ts +1 -32
  65. package/dist/types/externals/purchase.d.ts +1 -42
  66. package/dist/types/externals/sku.d.ts +1 -31
  67. package/dist/utils/animations.d.ts +1 -1
  68. package/dist/utils/fonts.d.ts +1 -1
  69. package/package.json +35 -51
  70. package/dist/core/errors.d.ts +0 -55
  71. package/dist/core/withRetry.d.ts +0 -2
  72. package/dist/decorators/index.d.ts +0 -2
  73. package/dist/nami/api.d.ts +0 -20
  74. package/dist/nami/campaign.d.ts +0 -87
  75. package/dist/nami/customer.d.ts +0 -136
  76. package/dist/nami/emitter.d.ts +0 -13
  77. package/dist/nami/entitlement.d.ts +0 -46
  78. package/dist/nami/flow/NamiFlow.d.ts +0 -77
  79. package/dist/nami/flow/NamiFlowManager.d.ts +0 -77
  80. package/dist/nami/index.d.ts +0 -19
  81. package/dist/nami/namiRefs.d.ts +0 -17
  82. package/dist/nami/paywalls.d.ts +0 -77
  83. package/dist/nami/profile.d.ts +0 -12
  84. package/dist/nami/purchase.d.ts +0 -9
  85. package/dist/nami/utils/campaign.d.ts +0 -29
  86. package/dist/nami/utils/entitlement.d.ts +0 -55
  87. package/dist/nami/utils/index.d.ts +0 -1
  88. package/dist/nami/utils/paywall.d.ts +0 -21
  89. package/dist/nami/utils/purchase.d.ts +0 -4
  90. package/dist/nami/utils/resolvers/BaseNamespaceResolver.d.ts +0 -7
  91. package/dist/nami/utils/resolvers/ConditionalEvaluator.d.ts +0 -19
  92. package/dist/nami/utils/resolvers/DeviceResolver.d.ts +0 -10
  93. package/dist/nami/utils/resolvers/FlowLiquidResolver.d.ts +0 -19
  94. package/dist/nami/utils/resolvers/FormStateResolver.d.ts +0 -7
  95. package/dist/nami/utils/resolvers/LaunchContextResolver.d.ts +0 -8
  96. package/dist/nami/utils/resolvers/PlacementLabelResolver.d.ts +0 -8
  97. package/dist/nami/utils/resolvers/URLParamsResolver.d.ts +0 -7
  98. package/dist/repositories/campaignRule.repository.d.ts +0 -21
  99. package/dist/repositories/config.repository.d.ts +0 -5
  100. package/dist/repositories/customerJourney.repository.d.ts +0 -5
  101. package/dist/repositories/device.repository.d.ts +0 -16
  102. package/dist/repositories/entitlement.repository.d.ts +0 -11
  103. package/dist/repositories/paywall.repository.d.ts +0 -10
  104. package/dist/repositories/products.repository.d.ts +0 -6
  105. package/dist/services/logger.service.d.ts +0 -13
  106. package/dist/services/session.service.d.ts +0 -4
  107. package/dist/services/storage.service.d.ts +0 -90
  108. package/dist/types/api.d.ts +0 -30
  109. package/dist/types/campaign.d.ts +0 -16
  110. package/dist/types/components/animation.d.ts +0 -40
  111. package/dist/types/components/containers.d.ts +0 -182
  112. package/dist/types/components/elements.d.ts +0 -188
  113. package/dist/types/components/index.d.ts +0 -137
  114. package/dist/types/conditions.d.ts +0 -26
  115. package/dist/types/config.d.ts +0 -38
  116. package/dist/types/customer.d.ts +0 -2
  117. package/dist/types/device.d.ts +0 -36
  118. package/dist/types/entitlements.d.ts +0 -21
  119. package/dist/types/flow.d.ts +0 -108
  120. package/dist/types/paywall.d.ts +0 -201
  121. package/dist/types/products.d.ts +0 -6
  122. package/dist/types/profile.d.ts +0 -21
  123. package/dist/types/purchase.d.ts +0 -32
  124. package/dist/types/sku.d.ts +0 -26
  125. package/dist/types/utils.d.ts +0 -1
  126. package/dist/utils/anonymousMode.d.ts +0 -25
  127. package/dist/utils/config.d.ts +0 -10
  128. package/dist/utils/const.d.ts +0 -1
  129. package/dist/utils/device.d.ts +0 -10
  130. package/dist/utils/events.d.ts +0 -30
  131. package/dist/utils/feature-flags.d.ts +0 -1
  132. package/dist/utils/helpers.d.ts +0 -1
  133. package/dist/utils/parsers.d.ts +0 -26
  134. package/dist/utils/simple-event-target.d.ts +0 -7
  135. package/dist/utils/url-params.d.ts +0 -11
@@ -1,10 +1,606 @@
1
- import "./shims/globalThis";
2
- import "./shims/getAttributeNames";
3
- import "./utils/ssr-shim";
4
- export { Nami } from "./nami";
5
- export { NamiCampaignManager } from "./nami/campaign";
6
- export { NamiCustomerManager } from "./nami/customer";
7
- export { NamiPaywallManager } from "./nami/paywalls";
8
- export { NamiEntitlementManager } from "./nami/entitlement";
9
- export * from "./types/externals";
10
- import "./components";
1
+ import { PaywallState, IPaywall, NamiPaywallLaunchContext, NamiCampaign, TPaywallContext, TBaseComponent, TSpacerComponent, TSemverObj, TButtonContainer, THeaderFooter, TTextComponent, TSymbolComponent, TContainer, TProductContainer, TImageComponent, TSegmentPicker, TSegmentPickerItem, TVideoComponent, TCollapseContainer, TResponsiveGrid, TRepeatingGrid, TCarouselContainer, TVolumeButton, TPlayPauseButton, TStack, TPaywallLaunchContext, NamiFlow, TQRCodeComponent, TToggleSwitch, TRadioButton, TProgressIndicatorComponent, TToggleButtonComponent, TCountdownTimerTextComponent, TProgressBarComponent } from '@namiml/sdk-core';
2
+ export { CustomerJourneyState, DeviceProfile, LaunchCampaignError, LogLevel, Nami, NamiAnonymousCampaign, NamiCampaign, NamiCampaignManager, NamiCampaignRuleType, NamiCampaignSegment, NamiConfiguration, NamiCustomerManager, NamiEntitlement, NamiEntitlementManager, NamiFlowCampaign, NamiFlowEventHandler, NamiFlowHandoffStepHandler, NamiFlowManager, NamiInitialConfig, NamiLanguageCodes, NamiLogLevel, NamiPaywallAction, NamiPaywallActionHandler, NamiPaywallComponentChange, NamiPaywallEvent, NamiPaywallEventVideoMetadata, NamiPaywallLaunchContext, NamiPaywallManager, NamiPaywallManagerEvents, NamiProductDetails, NamiProductOffer, NamiPurchase, NamiPurchaseDetails, NamiPurchasesState, NamiSKU, NamiSKUType, NamiSubscriptionInterval, NamiSubscriptionPeriod, isNamiFlowCampaign } from '@namiml/sdk-core';
3
+ import * as lit from 'lit';
4
+ import { ReactiveController, ReactiveControllerHost, LitElement, CSSResultGroup, CSSResult, PropertyValueMap, TemplateResult, PropertyValues } from 'lit';
5
+ import * as lit_html from 'lit-html';
6
+ import Swiper from 'swiper';
7
+
8
+ /* eslint-disable @typescript-eslint/no-implied-eval */
9
+ (() => {
10
+ if (typeof globalThis !== 'undefined') {
11
+ return;
12
+ }
13
+
14
+ const resolveGlobal = () => {
15
+ if (typeof self !== 'undefined') {
16
+ return self;
17
+ }
18
+ if (typeof window !== 'undefined') {
19
+ return window;
20
+ }
21
+ if (typeof global !== 'undefined') {
22
+ return global;
23
+ }
24
+
25
+ return Function('return this')();
26
+ };
27
+
28
+ const resolvedGlobal = resolveGlobal();
29
+
30
+ Object.defineProperty(resolvedGlobal, 'globalThis', {
31
+ value: resolvedGlobal,
32
+ writable: true,
33
+ enumerable: false,
34
+ configurable: true,
35
+ });
36
+ })();
37
+
38
+ (() => {
39
+ if (
40
+ typeof Element === "undefined" ||
41
+ typeof Element.prototype.getAttributeNames === "function"
42
+ ) {
43
+ return;
44
+ }
45
+
46
+ Element.prototype.getAttributeNames = function getAttributeNames() {
47
+ const attributes = this.attributes;
48
+ const names = new Array(attributes.length);
49
+
50
+ for (let i = 0; i < attributes.length; i += 1) {
51
+ names[i] = attributes[i].name;
52
+ }
53
+
54
+ return names;
55
+ };
56
+ })();
57
+
58
+ /**
59
+ * Web-specific extension of PaywallState that integrates with Lit's
60
+ * reactive rendering system.
61
+ *
62
+ * PaywallState (from @namiml/sdk-core) contains ALL platform-agnostic
63
+ * business logic: setPaywall, setCurrentGroupData, setFlow, setState,
64
+ * setCustomerAttribute, selectedProducts, getSelectedCampaign,
65
+ * getPaywallActionEventData, setOpenHeaderIds, setPurchase, etc.
66
+ *
67
+ * This subclass adds only web-specific concerns:
68
+ * - Lit ReactiveController integration (host.requestUpdate on state change)
69
+ * - Dynamic state getters that read from the DOM (tvQuality, viewport dims)
70
+ * - Type-safe static method overrides returning PaywallContextProvider
71
+ */
72
+ declare class PaywallContextProvider extends PaywallState implements ReactiveController {
73
+ host: ReactiveControllerHost | null;
74
+ static create(paywall: IPaywall, context: NamiPaywallLaunchContext, campaign: NamiCampaign): PaywallContextProvider;
75
+ static remove(provider: PaywallContextProvider): void;
76
+ static get currentProvider(): PaywallContextProvider | undefined;
77
+ constructor(paywall: IPaywall, context: NamiPaywallLaunchContext, campaign: NamiCampaign);
78
+ hostConnected(): void;
79
+ hostDisconnected(): void;
80
+ /**
81
+ * Called by PaywallState.setState() after every state mutation.
82
+ * Re-attaches DOM-dependent computed getters and triggers a Lit re-render.
83
+ */
84
+ protected onStateChanged(): void;
85
+ /**
86
+ * Attaches computed getters to `this.state` for properties that depend
87
+ * on the browser DOM (window dimensions, device pixel ratio).
88
+ * Must be called after every setState() since setState replaces the
89
+ * state object, losing the previous getters.
90
+ */
91
+ private defineDynamicStateProps;
92
+ private getTVQuality;
93
+ private getViewportWidth;
94
+ private getViewportHeight;
95
+ }
96
+
97
+ declare class ContextConsumer implements ReactiveController {
98
+ private host;
99
+ state: TPaywallContext;
100
+ contextProvider: PaywallContextProvider;
101
+ constructor(host: ReactiveControllerHost, contextProvider: PaywallContextProvider);
102
+ handleStateChange(): void;
103
+ hostConnected(): void;
104
+ hostDisconnected(): void;
105
+ }
106
+
107
+ declare class NamiElementBase extends LitElement {
108
+ static styles: CSSResultGroup;
109
+ contextConsumer: ContextConsumer;
110
+ contextProvider: PaywallContextProvider;
111
+ private _instanceStyleSheet?;
112
+ private _instanceStyleElement?;
113
+ constructor();
114
+ protected styles(): CSSResult;
115
+ createRenderRoot(): HTMLElement | DocumentFragment;
116
+ protected shouldUpdate(): boolean;
117
+ protected willUpdate(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
118
+ disconnectedCallback(): void;
119
+ protected getInstanceStyles(): CSSResult[];
120
+ private ensureInstanceStyleTarget;
121
+ private applyInstanceStyles;
122
+ }
123
+ declare abstract class NamiElement<C extends TBaseComponent = TBaseComponent> extends NamiElementBase {
124
+ static styles: CSSResultGroup;
125
+ contextConsumer: ContextConsumer;
126
+ contextProvider: PaywallContextProvider;
127
+ abstract component: C;
128
+ protected willUpdate(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
129
+ private applyTestId;
130
+ protected animationStyles(): CSSResult;
131
+ protected getInstanceStyles(): CSSResult[];
132
+ }
133
+
134
+ declare class NamiSpacer extends NamiElement {
135
+ component: TSpacerComponent;
136
+ inFocusedState: boolean;
137
+ scaleFactor: number;
138
+ minSDKVersion: TSemverObj;
139
+ protected styles(): CSSResult;
140
+ render(): TemplateResult;
141
+ }
142
+
143
+ declare class NamiButton extends NamiElement {
144
+ component: TButtonContainer;
145
+ inFocusedState: boolean;
146
+ scaleFactor: number;
147
+ minSDKVersion: TSemverObj;
148
+ constructor();
149
+ firstTextValue(): string | undefined;
150
+ connectedCallback(): void;
151
+ disconnectedCallback(): void;
152
+ protected updated(changedProperties: PropertyValueMap<this>): void;
153
+ private _handleFocus;
154
+ private _announceButtonLabel;
155
+ private _handleBlur;
156
+ private _dispatchFocusChange;
157
+ private _dispatchPageChange;
158
+ private _handleKeyDown;
159
+ private _handleKeyUp;
160
+ private _handleClick;
161
+ protected styles(): CSSResult;
162
+ render(): any[] | lit_html.TemplateResult<1>;
163
+ }
164
+
165
+ declare class NamiHeader extends NamiElementBase {
166
+ components: THeaderFooter;
167
+ zIndex: string;
168
+ inFullScreen: boolean;
169
+ inFocusedState: boolean;
170
+ scaleFactor: number;
171
+ minSDKVersion: TSemverObj;
172
+ private formFactor;
173
+ protected styles(): CSSResult;
174
+ render(): any[];
175
+ }
176
+
177
+ declare class NamiFooter extends NamiElementBase {
178
+ components: THeaderFooter;
179
+ zIndex: string;
180
+ inFocusedState: boolean;
181
+ scaleFactor: number;
182
+ minSDKVersion: TSemverObj;
183
+ protected styles(): CSSResult;
184
+ render(): any[];
185
+ }
186
+
187
+ declare class NamiText extends NamiElement {
188
+ component: TTextComponent;
189
+ inFocusedState: boolean;
190
+ scaleFactor: number;
191
+ minSDKVersion: TSemverObj;
192
+ protected styles(): CSSResult;
193
+ render(): TemplateResult;
194
+ }
195
+ declare class NamiSymbol extends NamiElement {
196
+ component: TSymbolComponent;
197
+ inFocusedState: boolean;
198
+ scaleFactor: number;
199
+ previousSymbolName: string;
200
+ protected styles(): CSSResult;
201
+ protected updated(): void;
202
+ private shouldRenderCurrentIcon;
203
+ private renderSvgIcon;
204
+ render(): TemplateResult;
205
+ }
206
+
207
+ declare class NamiContainer extends NamiElement {
208
+ component: TContainer | TProductContainer;
209
+ inFocusedState: boolean;
210
+ scaleFactor: number;
211
+ minSDKVersion: TSemverObj;
212
+ private readonly handleFocusIn;
213
+ private readonly handleFocusOut;
214
+ private readonly handleFocusChanged;
215
+ constructor();
216
+ disconnectedCallback(): void;
217
+ protected styles(): CSSResult;
218
+ render(): any[];
219
+ private setFocusState;
220
+ }
221
+
222
+ declare class NamiProductContainer extends NamiElement {
223
+ component: TProductContainer;
224
+ inFocusedState: boolean;
225
+ scaleFactor: number;
226
+ minSDKVersion: TSemverObj;
227
+ private currentGroupId;
228
+ protected styles(): CSSResult;
229
+ updated(): void;
230
+ render(): any[][];
231
+ }
232
+
233
+ declare class NamiImage extends NamiElement {
234
+ component: TImageComponent;
235
+ inFocusedState: boolean;
236
+ scaleFactor: number;
237
+ protected styles(): CSSResult;
238
+ protected render(): TemplateResult;
239
+ }
240
+
241
+ declare class NamiBackgroundContainer extends NamiElement {
242
+ component: TContainer;
243
+ fullscreen: boolean;
244
+ inFocusedState: boolean;
245
+ scaleFactor: number;
246
+ minSDKVersion: TSemverObj;
247
+ connectedCallback(): void;
248
+ protected styles(): CSSResult;
249
+ protected updated(): void;
250
+ render(): any[];
251
+ }
252
+
253
+ declare class NamiContentContainer extends NamiElement {
254
+ component: TContainer;
255
+ zIndex: number;
256
+ inFocusedState: boolean;
257
+ scaleFactor: number;
258
+ minSDKVersion: TSemverObj;
259
+ protected styles(): CSSResult;
260
+ firstUpdated(): void;
261
+ render(): any[];
262
+ }
263
+
264
+ declare class NamiSegmentPicker extends NamiElement {
265
+ component: TSegmentPicker;
266
+ inFocusedState: boolean;
267
+ scaleFactor: number;
268
+ minSDKVersion: TSemverObj;
269
+ constructor();
270
+ private _handleClick;
271
+ protected styles(): CSSResult;
272
+ render(): lit_html.TemplateResult<1>;
273
+ }
274
+
275
+ declare class NamiSegmentPickerItem extends NamiElement {
276
+ component: TSegmentPickerItem;
277
+ inFocusedState: boolean;
278
+ scaleFactor: number;
279
+ private _isActive;
280
+ connectedCallback(): void;
281
+ disconnectedCallback(): void;
282
+ private _handleFocus;
283
+ private _announceButtonLabel;
284
+ private _handleKeyDown;
285
+ private _getParentPicker;
286
+ private _getParentFormId;
287
+ private _updateFormState;
288
+ private _handleClick;
289
+ private _handleHover;
290
+ updated(changedProperties: PropertyValues): void;
291
+ protected styles(): CSSResult;
292
+ render(): lit_html.TemplateResult<1>;
293
+ }
294
+
295
+ declare class NamiVideo extends NamiElement {
296
+ component: TVideoComponent;
297
+ inFocusedState: boolean;
298
+ scaleFactor: number;
299
+ private bgVideo;
300
+ disconnectedCallback(): void;
301
+ protected styles(): CSSResult;
302
+ loadMediaSrc(video: HTMLVideoElement): void;
303
+ updated(): void;
304
+ protected render(): TemplateResult;
305
+ }
306
+
307
+ declare class NamiCollapseContainer extends NamiElement {
308
+ component: TCollapseContainer;
309
+ inFocusedState: boolean;
310
+ height: number;
311
+ scaleFactor: number;
312
+ minSDKVersion: TSemverObj;
313
+ private isCollapsed;
314
+ private _handleClick;
315
+ protected styles(): CSSResult;
316
+ render(): lit_html.TemplateResult<1>;
317
+ }
318
+
319
+ declare class NamiResponsiveGrid extends NamiElement {
320
+ component: TResponsiveGrid;
321
+ inFocusedState: boolean;
322
+ scaleFactor: number;
323
+ minSDKVersion: TSemverObj;
324
+ private mouseDown;
325
+ private startX;
326
+ scrollLeft: any;
327
+ connectedCallback(): void;
328
+ disconnectedCallback(): void;
329
+ startDragging: (e: any) => void;
330
+ stopDragging: () => void;
331
+ move: (e: any) => void;
332
+ protected styles(): CSSResult;
333
+ render(): any[][];
334
+ }
335
+
336
+ declare class NamiRepeatingGrid extends NamiElement {
337
+ component: TRepeatingGrid;
338
+ inFocusedState: boolean;
339
+ scaleFactor: number;
340
+ minSDKVersion: TSemverObj;
341
+ protected styles(): CSSResult;
342
+ render(): any[][];
343
+ }
344
+
345
+ declare class NamiCarouselContainer extends NamiElement {
346
+ component: TCarouselContainer;
347
+ inFocusedState: boolean;
348
+ scaleFactor: number;
349
+ minSDKVersion: TSemverObj;
350
+ swiperInstance: Swiper;
351
+ slideSpacing: number;
352
+ connectedCallback(): void;
353
+ disconnectedCallback(): void;
354
+ updateSpacing: (e: CustomEvent) => void;
355
+ protected styles(): CSSResult;
356
+ protected updated(): void;
357
+ private handleSlideChange;
358
+ private getCarouselOnChange;
359
+ private getCarouselSlides;
360
+ render(): lit_html.TemplateResult<1>;
361
+ }
362
+
363
+ declare class NamiVolumeButton extends NamiElement {
364
+ component: TVolumeButton;
365
+ inFocusedState: boolean;
366
+ scaleFactor: number;
367
+ minSDKVersion: TSemverObj;
368
+ private muted;
369
+ constructor();
370
+ private _handleFocus;
371
+ private _announceButtonLabel;
372
+ private _handleBlur;
373
+ private _handleKeyDown;
374
+ private _handleClick;
375
+ updated(): void;
376
+ protected styles(): CSSResult;
377
+ render(): any[];
378
+ }
379
+
380
+ declare class NamiPlayPauseButton extends NamiElement {
381
+ component: TPlayPauseButton;
382
+ inFocusedState: boolean;
383
+ scaleFactor: number;
384
+ minSDKVersion: TSemverObj;
385
+ private playing;
386
+ constructor();
387
+ private _handleFocus;
388
+ private _announceButtonLabel;
389
+ private _handleBlur;
390
+ private _handleKeyDown;
391
+ private _handleClick;
392
+ updated(): void;
393
+ protected styles(): CSSResult;
394
+ render(): any[];
395
+ }
396
+
397
+ declare class NamiStack extends NamiElement {
398
+ component: TStack;
399
+ inFocusedState: boolean;
400
+ scaleFactor: number;
401
+ minSDKVersion: TSemverObj;
402
+ protected styles(): lit.CSSResult;
403
+ protected render(): any[];
404
+ }
405
+
406
+ declare class NamiPaywallScreen extends LitElement {
407
+ paywall: IPaywall;
408
+ campaign: NamiCampaign;
409
+ context: TPaywallLaunchContext;
410
+ private contextProvider;
411
+ private contextConsumer;
412
+ private minSDKVersion;
413
+ timeSpentOnPaywall: number;
414
+ flow?: NamiFlow;
415
+ private teardownEvent;
416
+ static styles: lit.CSSResult;
417
+ connectedCallback(): void;
418
+ disconnectedCallback(): void;
419
+ private userInteractionListener;
420
+ firstUpdated(): void;
421
+ private postImpression;
422
+ private postPaywallScreenData;
423
+ private getTemplate;
424
+ render(): lit_html.TemplateResult<1>;
425
+ }
426
+
427
+ declare class NamiQRCode extends NamiElement {
428
+ component: TQRCodeComponent;
429
+ scaleFactor: number;
430
+ protected styles(): lit.CSSResult;
431
+ private renderQr;
432
+ firstUpdated(): void;
433
+ protected updated(changedProps: Map<string, unknown>): void;
434
+ private get computedSize();
435
+ render(): lit_html.TemplateResult<1>;
436
+ }
437
+
438
+ declare class NamiToggleSwitch extends NamiElement {
439
+ component: TToggleSwitch;
440
+ inFocusedState: boolean;
441
+ scaleFactor: number;
442
+ isActive: boolean;
443
+ constructor();
444
+ connectedCallback(): void;
445
+ disconnectedCallback(): void;
446
+ private _handleKeyDown;
447
+ private _handleClick;
448
+ protected styles(): CSSResult;
449
+ private applyPlateStyles;
450
+ private applyHandleStyles;
451
+ render(): lit_html.TemplateResult<1>;
452
+ }
453
+
454
+ declare class NamiRadioButton extends NamiElement {
455
+ component: TRadioButton;
456
+ inFocusedState: boolean;
457
+ scaleFactor: number;
458
+ constructor();
459
+ protected styles(): CSSResult;
460
+ private get isActive();
461
+ render(): lit_html.TemplateResult<1>;
462
+ }
463
+
464
+ declare class NamiProgressIndicator extends NamiElement {
465
+ component: TProgressIndicatorComponent;
466
+ scaleFactor: number;
467
+ inFocusedState: boolean;
468
+ minSDKVersion: TSemverObj;
469
+ currentWidth: number;
470
+ private hasInitialized;
471
+ connectedCallback(): void;
472
+ firstUpdated(changedProperties: any): void;
473
+ updated(changedProperties: any): void;
474
+ protected styles(): CSSResult;
475
+ private getProgressPercentage;
476
+ private animateProgress;
477
+ render(): TemplateResult;
478
+ }
479
+
480
+ declare class NamiToggleButton extends NamiElement {
481
+ component: TToggleButtonComponent;
482
+ inFocusedState: boolean;
483
+ scaleFactor: number;
484
+ minSDKVersion: TSemverObj;
485
+ isActive: boolean;
486
+ connectedCallback(): void;
487
+ disconnectedCallback(): void;
488
+ private _handleFocus;
489
+ private _announceButtonLabel;
490
+ private _handleKeyDown;
491
+ private _handleClick;
492
+ updated(): void;
493
+ protected styles(): CSSResult;
494
+ render(): any[];
495
+ }
496
+
497
+ declare class NamiCountdownTimerText extends NamiElement {
498
+ component: TCountdownTimerTextComponent;
499
+ inFocusedState: boolean;
500
+ scaleFactor: number;
501
+ minSDKVersion: TSemverObj;
502
+ private timer;
503
+ private startTime;
504
+ private initialDuration;
505
+ private hasEmittedCompletion;
506
+ private timerState;
507
+ private static readonly DEFAULT_LABELS;
508
+ private static readonly DEFAULT_UNITS;
509
+ private static readonly SECONDS_PER_DAY;
510
+ private static readonly SECONDS_PER_HOUR;
511
+ private static readonly SECONDS_PER_MINUTE;
512
+ private static readonly TIMER_INTERVAL_MS;
513
+ protected firstUpdated(): void;
514
+ disconnectedCallback(): void;
515
+ private getTimerId;
516
+ private loadTimerState;
517
+ private saveTimerState;
518
+ private getSavedTimerState;
519
+ private startTimer;
520
+ private initializeTimerState;
521
+ private restoreTimerFromState;
522
+ private resetTimerState;
523
+ private onTimerTick;
524
+ private clearTimer;
525
+ private calculateTimeValues;
526
+ private calculateTotalRemainingSeconds;
527
+ private calculateDurationRemainingSeconds;
528
+ private calculateTargetDateTimeRemainingSeconds;
529
+ private calculateCurrentRemainingSeconds;
530
+ private convertSecondsToTimeUnits;
531
+ private formatValue;
532
+ private emitCompletionEvent;
533
+ updated(changedProperties: PropertyValues): void;
534
+ private updateAccessibilityAttributes;
535
+ private handleComponentChange;
536
+ protected styles(): CSSResult;
537
+ render(): lit_html.TemplateResult<1>;
538
+ private buildUnitsToRender;
539
+ private normalizeLabelPosition;
540
+ private shouldDisplayLabels;
541
+ private getLabel;
542
+ private renderTimerUnits;
543
+ private renderUnit;
544
+ }
545
+
546
+ declare class NamiProgressBar extends NamiElement {
547
+ component: TProgressBarComponent;
548
+ scaleFactor: number;
549
+ inFocusedState: boolean;
550
+ minSDKVersion: TSemverObj;
551
+ private currentProgress;
552
+ private isAnimating;
553
+ private screenreaderAnnouncement;
554
+ private hasInitialized;
555
+ private delayTimeoutId;
556
+ private animationFrameId;
557
+ private animationStartTime;
558
+ private startPercentage;
559
+ connectedCallback(): void;
560
+ disconnectedCallback(): void;
561
+ firstUpdated(changedProperties: any): void;
562
+ updated(changedProperties: any): void;
563
+ private cleanup;
564
+ private getResolvedDuration;
565
+ private startAnimation;
566
+ private beginAnimation;
567
+ private animateDeterminate;
568
+ private getActiveWidthCss;
569
+ private isActiveWidthPercent;
570
+ protected styles(): CSSResult;
571
+ render(): TemplateResult;
572
+ }
573
+
574
+ declare global {
575
+ interface HTMLElementTagNameMap {
576
+ "nami-spacer": NamiSpacer;
577
+ "nami-button": NamiButton;
578
+ "nami-text": NamiText;
579
+ "nami-segment-picker": NamiSegmentPicker;
580
+ "nami-segment-picker-item": NamiSegmentPickerItem;
581
+ "nami-header": NamiHeader;
582
+ "nami-footer": NamiFooter;
583
+ "nami-container": NamiContainer;
584
+ "nami-product-container": NamiProductContainer;
585
+ "nami-image": NamiImage;
586
+ "nami-background-container": NamiBackgroundContainer;
587
+ "nami-content-container": NamiContentContainer;
588
+ "nami-symbol": NamiSymbol;
589
+ "nami-video": NamiVideo;
590
+ "nami-collapse-container": NamiCollapseContainer;
591
+ "nami-responsive-grid": NamiResponsiveGrid;
592
+ "nami-repeating-grid": NamiRepeatingGrid;
593
+ "nami-carousel-container": NamiCarouselContainer;
594
+ "nami-volume-button": NamiVolumeButton;
595
+ "nami-play-pause-button": NamiPlayPauseButton;
596
+ "nami-stack": NamiStack;
597
+ "nami-paywall-screen": NamiPaywallScreen;
598
+ "nami-qr-code": NamiQRCode;
599
+ "nami-toggle-switch": NamiToggleSwitch;
600
+ "nami-radio-button": NamiRadioButton;
601
+ "nami-progress-indicator": NamiProgressIndicator;
602
+ "nami-toggle-button": NamiToggleButton;
603
+ "nami-countdown-timer-text": NamiCountdownTimerText;
604
+ "nami-progress-bar": NamiProgressBar;
605
+ }
606
+ }