@cleartrip/ct-platform-floater 0.1.42-b5

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.
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface AnimatedIconProps {
3
+ image: string;
4
+ }
5
+ declare const AnimatedIcon: React.FC<AnimatedIconProps>;
6
+ export default AnimatedIcon;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/components/Floater/src/AminatedIcon/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,iBAAiB;IACvB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAE7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { FloaterProps } from './Floater.types';
3
+ declare const Floater: React.FC<FloaterProps>;
4
+ export default Floater;
5
+ //# sourceMappingURL=Floater.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Floater.d.ts","sourceRoot":"","sources":["../packages/components/Floater/src/Floater.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAaf,OAAO,EAAE,YAAY,EAA+B,MAAM,iBAAiB,CAAC;AAc5E,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAmVnC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,41 @@
1
+ export interface MediaData {
2
+ title: string;
3
+ url: HTMLImageElement | Record<string, unknown> | string;
4
+ imageType: 'ANIMATION' | 'IMAGE';
5
+ time?: number;
6
+ }
7
+ export interface ButtonAttribute {
8
+ type: 'button';
9
+ action: 'close' | 'maximize' | 'redirect';
10
+ minimisedOnly?: boolean;
11
+ properties?: {
12
+ title: string;
13
+ url: string;
14
+ };
15
+ }
16
+ export interface ArtifactAttribute {
17
+ type: 'artifact';
18
+ properties: MediaData;
19
+ }
20
+ export interface DataItem {
21
+ id: number;
22
+ campaignType: string;
23
+ attributes: Array<ButtonAttribute | ArtifactAttribute>;
24
+ }
25
+ export interface FooterButtonData {
26
+ title: string;
27
+ url: string;
28
+ }
29
+ export interface FloaterProps {
30
+ data: DataItem[];
31
+ onClose?: (campaignType: string) => void;
32
+ onExpand?: (campaignType: string) => void;
33
+ onTapToNextStory?: (campaignType: string) => void;
34
+ onTapToPreviousStory?: (campaignType: string) => void;
35
+ onFooterClick?: () => void;
36
+ onWidgetLoad?: (campaignType: string) => void;
37
+ onDestroy?: () => void;
38
+ delayToShow?: number;
39
+ timeoutToCloseFloater?: number;
40
+ }
41
+ //# sourceMappingURL=Floater.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Floater.types.d.ts","sourceRoot":"","sources":["../packages/components/Floater/src/Floater.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IACzD,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;KACf,CAAC;CACL;AACD,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,SAAS,CAAC;CACzB;AACD,MAAM,WAAW,QAAQ;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,KAAK,CAAC,eAAe,GAAG,iBAAiB,CAAC,CAAC;CAC1D;AACD,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAClC"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ interface FooterProps {
3
+ campaignType: string;
4
+ redirectLink: string;
5
+ footerText: string;
6
+ footerIcon?: string;
7
+ onFooterClick?: (redirectLink: string, campaignType: string) => void;
8
+ }
9
+ declare const Footer: React.FC<FooterProps>;
10
+ export default Footer;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/components/Floater/src/Footer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,UAAU,WAAW;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;CACxE;AAED,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAwBjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ interface ProgressBarProps {
3
+ duration: number;
4
+ resetProgress: number;
5
+ hidden: boolean;
6
+ completed: boolean;
7
+ disabled: boolean;
8
+ }
9
+ declare const ProgressBar: React.FC<ProgressBarProps>;
10
+ export default ProgressBar;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/components/Floater/src/ProgressBar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,UAAU,gBAAgB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA6D3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface TouchAreaProps {
3
+ handleTapToPrevStory: () => void;
4
+ handleTapToNextStory: () => void;
5
+ }
6
+ declare const TouchArea: React.FC<TouchAreaProps>;
7
+ export default TouchArea;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/components/Floater/src/TouchArea/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,cAAc;IACpB,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,oBAAoB,EAAE,MAAM,IAAI,CAAC;CACpC;AAED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAgBvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,349 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var react = require('react');
6
+ var Lottie = require('lottie-react');
7
+ var ctPlatformAssets = require('@cleartrip/ct-platform-assets');
8
+
9
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+
11
+ var Lottie__default = /*#__PURE__*/_interopDefault(Lottie);
12
+
13
+ function styleInject(css, ref) {
14
+ if (ref === void 0) ref = {};
15
+ var insertAt = ref.insertAt;
16
+ if (!css || typeof document === 'undefined') {
17
+ return;
18
+ }
19
+ var head = document.head || document.getElementsByTagName('head')[0];
20
+ var style = document.createElement('style');
21
+ style.type = 'text/css';
22
+ if (insertAt === 'top') {
23
+ if (head.firstChild) {
24
+ head.insertBefore(style, head.firstChild);
25
+ } else {
26
+ head.appendChild(style);
27
+ }
28
+ } else {
29
+ head.appendChild(style);
30
+ }
31
+ if (style.styleSheet) {
32
+ style.styleSheet.cssText = css;
33
+ } else {
34
+ style.appendChild(document.createTextNode(css));
35
+ }
36
+ }
37
+
38
+ var css_248z = ".index-module_floater-container__SeIgJ{align-items:center;background-color:#fff;border-radius:.75rem;bottom:-40rem;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Ubuntu,Arial,sans-serif;justify-content:center;left:1rem;overflow:hidden;position:fixed;transition:all .5s ease-in-out;z-index:0}.index-module_floater-container__SeIgJ>*{box-sizing:border-box}.index-module_floater-container__SeIgJ a{color:inherit;text-decoration:none}.index-module_full-screen__7Hk0z{border-radius:0;bottom:0;left:0;z-index:1000}.index-module_floater-container__SeIgJ.index-module_minimised__4gSMC{bottom:4.5rem}.index-module_hidden__YO30N{opacity:0;transform:translateY(100%)}.index-module_floater-icon-container__-KpEq{align-items:center;display:flex;justify-content:space-between;padding:.75rem;position:absolute;right:0;top:0;width:100%;z-index:1005}.index-module_maximised__2Msru{gap:1.5rem;justify-content:flex-end;padding-right:.75rem;top:1rem}.index-module_progressBarContainer__Ix6zp{box-sizing:border-box;display:flex;gap:4px;padding:1rem;position:absolute;top:0;width:100%;z-index:1002}.index-module_interaction-layer__IqOfq{align-items:center;bottom:0;display:flex;flex-direction:column;height:100%;justify-content:space-between;left:0;margin-top:2rem;position:absolute;width:100%;z-index:1001}.index-module_gradientContainer__cXb-u{background:linear-gradient(180deg,rgba(26,26,26,.6),transparent);height:74px;position:absolute;top:0;width:100%}.index-module_footer-container__hMTGt{align-items:center;background:linear-gradient(1turn,rgba(26,26,26,.6),rgba(26,26,26,0));bottom:0;display:flex;flex-direction:column;justify-content:center;padding:1.5rem 1rem;position:absolute;width:100%}.index-module_footer-text__Z9com{color:#fff;font-size:.875rem;font-style:normal;font-weight:600;line-height:1.25rem}.index-module_icon__jXdTc{animation:index-module_bounce__JVGDA 1s infinite alternate;background-color:transparent;height:1.5rem;width:1.5rem}@keyframes index-module_bounce__JVGDA{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.index-module_progress-container__HD7cS{align-items:center;background-color:transparent;display:flex;justify-content:center;width:100%}.index-module_progress-bar__j98cB{background:hsla(0,0%,100%,.694);overflow:hidden;width:100%}.index-module_progress__kJAbe{background-color:#fff;height:100%;opacity:1}.index-module_screenTapArea__Fr0SC{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.index-module_leftScreenTapArea__vh-yR{height:100%;width:30%}.index-module_rightScreenTapArea__u3Nlm{height:100%;width:70%}";
39
+ var styles = {"floater-container":"index-module_floater-container__SeIgJ","full-screen":"index-module_full-screen__7Hk0z","minimised":"index-module_minimised__4gSMC","hidden":"index-module_hidden__YO30N","floater-icon-container":"index-module_floater-icon-container__-KpEq","maximised":"index-module_maximised__2Msru","progressBarContainer":"index-module_progressBarContainer__Ix6zp","interaction-layer":"index-module_interaction-layer__IqOfq","gradientContainer":"index-module_gradientContainer__cXb-u","footer-container":"index-module_footer-container__hMTGt","footer-text":"index-module_footer-text__Z9com","icon":"index-module_icon__jXdTc","bounce":"index-module_bounce__JVGDA","progress-container":"index-module_progress-container__HD7cS","progress-bar":"index-module_progress-bar__j98cB","progress":"index-module_progress__kJAbe","screenTapArea":"index-module_screenTapArea__Fr0SC","leftScreenTapArea":"index-module_leftScreenTapArea__vh-yR","rightScreenTapArea":"index-module_rightScreenTapArea__u3Nlm"};
40
+ styleInject(css_248z);
41
+
42
+ var AnimatedIcon = function (_a) {
43
+ var image = _a.image;
44
+ return jsxRuntime.jsx("img", { src: image, className: styles.icon, alt: 'Animated Icon' });
45
+ };
46
+
47
+ var handleClickWithStopPropagation = function (e, onClickFunction) {
48
+ e.stopPropagation();
49
+ onClickFunction();
50
+ };
51
+ var getMediaData = function (data) {
52
+ return data
53
+ .map(function (item) {
54
+ var artifact = item.attributes.find(function (attribute) { return attribute.type === 'artifact'; });
55
+ return artifact === null || artifact === void 0 ? void 0 : artifact.properties;
56
+ })
57
+ .filter(function (property) { return !!property; });
58
+ };
59
+ var getFooterButtonData = function (data) {
60
+ var button = data.attributes.find(function (attribute) {
61
+ return attribute.type === 'button' && attribute.action === 'redirect';
62
+ });
63
+ if (button && (button === null || button === void 0 ? void 0 : button.properties)) {
64
+ return button.properties;
65
+ }
66
+ return;
67
+ };
68
+ var calculateFloaterDimensions = function () {
69
+ var containerHeight = window.innerHeight;
70
+ var containerWidth = window.innerWidth;
71
+ var height, width;
72
+ if (containerHeight <= 640) {
73
+ height = '256px';
74
+ width = '144px';
75
+ }
76
+ else if (containerHeight <= 812) {
77
+ height = '284px';
78
+ width = '160px';
79
+ }
80
+ else if (containerHeight <= 926) {
81
+ height = '320px';
82
+ width = '180px';
83
+ }
84
+ else {
85
+ width = "".concat(Math.floor(containerWidth * 0.4), "px");
86
+ height = "".concat(Math.floor(containerWidth * 0.4 * 1.775), "px");
87
+ }
88
+ return { width: width, height: height };
89
+ };
90
+
91
+ var Footer = function (_a) {
92
+ var campaignType = _a.campaignType, redirectLink = _a.redirectLink, footerText = _a.footerText, footerIcon = _a.footerIcon, onFooterClick = _a.onFooterClick;
93
+ var handleClick = function (e) {
94
+ if (onFooterClick) {
95
+ handleClickWithStopPropagation(e, function () {
96
+ return onFooterClick(redirectLink, campaignType);
97
+ });
98
+ }
99
+ };
100
+ return (jsxRuntime.jsx("div", tslib.__assign({ className: styles['footer-container'] }, { children: jsxRuntime.jsxs("div", tslib.__assign({ onClick: handleClick }, { children: [footerIcon && jsxRuntime.jsx(AnimatedIcon, { image: footerIcon }), jsxRuntime.jsx("p", tslib.__assign({ className: styles['footer-text'] }, { children: footerText }))] })) })));
101
+ };
102
+
103
+ var TouchArea = function (_a) {
104
+ var handleTapToPrevStory = _a.handleTapToPrevStory, handleTapToNextStory = _a.handleTapToNextStory;
105
+ return (jsxRuntime.jsxs("div", tslib.__assign({ className: styles['screenTapArea'] }, { children: [jsxRuntime.jsx("div", { className: styles['leftScreenTapArea'], onClick: handleTapToPrevStory }), jsxRuntime.jsx("div", { className: styles['rightScreenTapArea'], onClick: handleTapToNextStory })] })));
106
+ };
107
+
108
+ var ProgressBar = function (_a) {
109
+ var duration = _a.duration, resetProgress = _a.resetProgress, hidden = _a.hidden, completed = _a.completed, disabled = _a.disabled;
110
+ var _b = react.useState(0), progress = _b[0], setProgress = _b[1];
111
+ react.useEffect(function () {
112
+ if (!(completed || disabled)) {
113
+ var interval_1 = null;
114
+ var startTime_1 = Date.now();
115
+ if (resetProgress && interval_1) {
116
+ startTime_1 = Date.now();
117
+ clearInterval(interval_1);
118
+ }
119
+ interval_1 = setInterval(function () {
120
+ var now = Date.now();
121
+ var elapsedTime = now - startTime_1;
122
+ var currentProgress = (elapsedTime / duration) * 100;
123
+ if (currentProgress <= 100) {
124
+ setProgress(currentProgress);
125
+ }
126
+ }, 10);
127
+ return function () {
128
+ if (interval_1) {
129
+ clearInterval(interval_1);
130
+ }
131
+ };
132
+ }
133
+ }, [duration, resetProgress, completed, disabled]);
134
+ return (jsxRuntime.jsx("div", tslib.__assign({ className: styles['progress-container'], style: {
135
+ zIndex: hidden ? 0 : 9999,
136
+ } }, { children: jsxRuntime.jsx("div", tslib.__assign({ className: styles['progress-bar'], style: {
137
+ height: hidden ? '0' : '2px',
138
+ } }, { children: !disabled && (jsxRuntime.jsx("div", { className: styles['progress'], style: {
139
+ width: "".concat(completed ? 100 : progress, "%"),
140
+ } })) })) })));
141
+ };
142
+
143
+ var MEDIA_TYPE = {
144
+ IMAGE: 'IMAGE',
145
+ ANIMATION: 'ANIMATION',
146
+ VIDEO: 'VIDEO',
147
+ GIF: 'GIF',
148
+ };
149
+
150
+ var TIME_TO_CLOSE_FLOATER = 5000;
151
+ var imageTimeout = null;
152
+ var timeout = null;
153
+ var Floater = function (_a) {
154
+ var data = _a.data, onClose = _a.onClose, onExpand = _a.onExpand, onTapToNextStory = _a.onTapToNextStory, onTapToPreviousStory = _a.onTapToPreviousStory, onFooterClick = _a.onFooterClick, timeoutToCloseFloater = _a.timeoutToCloseFloater, onDestroy = _a.onDestroy, delayToShow = _a.delayToShow, onWidgetLoad = _a.onWidgetLoad;
155
+ var _b = react.useState(null), durationOfLottie = _b[0], setDurationOfLottie = _b[1];
156
+ var _c = react.useState(0), resetProgress = _c[0], setResetProgress = _c[1];
157
+ var _d = react.useState(0), current = _d[0], setCurrent = _d[1];
158
+ var _e = react.useState(calculateFloaterDimensions()), floaterDimensions = _e[0], setFloaterDimensions = _e[1];
159
+ var _f = react.useState(false), fullScreenFloater = _f[0], setFullScreenFloater = _f[1];
160
+ var _g = react.useState(false), showFloaterWithAnimation = _g[0], setShowFloaterWithAnimation = _g[1];
161
+ var _h = react.useState(false), hiddenFloater = _h[0], setHiddenFloater = _h[1];
162
+ var _j = react.useState(false), isLastStoryCompleted = _j[0], setIsLastStoryCompleted = _j[1];
163
+ var mediaData = react.useState(function () {
164
+ return getMediaData(data);
165
+ })[0];
166
+ var _k = react.useState(null), footerButtonData = _k[0], setFooterButtonData = _k[1];
167
+ react.useEffect(function () {
168
+ var _a;
169
+ var handleResize = function () {
170
+ setFloaterDimensions(calculateFloaterDimensions());
171
+ };
172
+ var timeout = setTimeout(function () { return setShowFloaterWithAnimation(true); }, delayToShow || 0);
173
+ window.addEventListener('resize', handleResize);
174
+ onWidgetLoad && onWidgetLoad((_a = data[current]) === null || _a === void 0 ? void 0 : _a.campaignType);
175
+ return function () {
176
+ window.removeEventListener('resize', handleResize);
177
+ clearTimeout(timeout);
178
+ };
179
+ }, []);
180
+ react.useEffect(function () {
181
+ var timeoutHandle = null;
182
+ if (hiddenFloater) {
183
+ timeoutHandle = setTimeout(function () {
184
+ onDestroy && onDestroy();
185
+ }, 1500);
186
+ }
187
+ return function () {
188
+ if (timeoutHandle)
189
+ clearTimeout(timeoutHandle);
190
+ };
191
+ }, [hiddenFloater]);
192
+ react.useEffect(function () {
193
+ setFooterButtonData(function () {
194
+ return getFooterButtonData(data[current]);
195
+ });
196
+ var currentMedia = mediaData[current];
197
+ if (currentMedia.imageType === MEDIA_TYPE.IMAGE) {
198
+ var handleImageTimer = function (time) {
199
+ if (imageTimeout)
200
+ clearTimeout(imageTimeout);
201
+ imageTimeout = setTimeout(function () {
202
+ if (fullScreenFloater && current < (mediaData === null || mediaData === void 0 ? void 0 : mediaData.length) - 1) {
203
+ setCurrent(function (prev) { return prev + 1; });
204
+ setResetProgress(function (prev) { return prev + 1; });
205
+ }
206
+ else if (fullScreenFloater &&
207
+ current >= (mediaData === null || mediaData === void 0 ? void 0 : mediaData.length) - 1) {
208
+ setIsLastStoryCompleted(function (prev) { return !prev; });
209
+ }
210
+ }, time);
211
+ };
212
+ if (currentMedia.time) {
213
+ handleImageTimer(currentMedia.time * 1000);
214
+ }
215
+ }
216
+ return function () {
217
+ if (imageTimeout)
218
+ clearTimeout(imageTimeout);
219
+ };
220
+ }, [current, mediaData]);
221
+ react.useEffect(function () {
222
+ if (timeout) {
223
+ clearTimeout(timeout);
224
+ }
225
+ if (isLastStoryCompleted && current === mediaData.length - 1) {
226
+ timeout = setTimeout(function () {
227
+ setHiddenFloater(true);
228
+ }, timeoutToCloseFloater || TIME_TO_CLOSE_FLOATER);
229
+ }
230
+ return function () {
231
+ if (timeout) {
232
+ clearTimeout(timeout);
233
+ }
234
+ };
235
+ }, [isLastStoryCompleted, current]);
236
+ var lottieRef = react.useRef();
237
+ var handleLottieLoop = function () {
238
+ var _a;
239
+ if (!fullScreenFloater) {
240
+ setResetProgress(function (prev) { return prev + 1; });
241
+ return;
242
+ }
243
+ if (fullScreenFloater && current < (mediaData === null || mediaData === void 0 ? void 0 : mediaData.length) - 1) {
244
+ setCurrent(function (prev) { return prev + 1; });
245
+ setResetProgress(function (prev) { return prev + 1; });
246
+ }
247
+ else if (fullScreenFloater &&
248
+ durationOfLottie &&
249
+ current >= (mediaData === null || mediaData === void 0 ? void 0 : mediaData.length) - 1) {
250
+ (_a = lottieRef === null || lottieRef === void 0 ? void 0 : lottieRef.current) === null || _a === void 0 ? void 0 : _a.goToAndStop(durationOfLottie, true);
251
+ setIsLastStoryCompleted(function (prev) { return !prev; });
252
+ }
253
+ };
254
+ var updateDurationOnLottieLoad = function () {
255
+ var _a;
256
+ var duration = (_a = lottieRef === null || lottieRef === void 0 ? void 0 : lottieRef.current) === null || _a === void 0 ? void 0 : _a.getDuration();
257
+ if (duration) {
258
+ setDurationOfLottie(duration);
259
+ }
260
+ };
261
+ var handleClose = function () {
262
+ var _a;
263
+ setHiddenFloater(true);
264
+ onClose && onClose((_a = data[current]) === null || _a === void 0 ? void 0 : _a.campaignType);
265
+ };
266
+ var handleTapToChangeStory = function (input) {
267
+ var _a, _b;
268
+ if (imageTimeout)
269
+ clearTimeout(imageTimeout);
270
+ if (input && current < data.length - 1) {
271
+ onTapToNextStory &&
272
+ onTapToNextStory((_a = data[current + 1]) === null || _a === void 0 ? void 0 : _a.campaignType);
273
+ setCurrent(function (prev) { return prev + 1; });
274
+ setResetProgress(function (prev) { return prev + 1; });
275
+ }
276
+ else if (!input && current > 0) {
277
+ onTapToPreviousStory &&
278
+ onTapToPreviousStory((_b = data[current - 1]) === null || _b === void 0 ? void 0 : _b.campaignType);
279
+ setCurrent(function (prev) { return prev - 1; });
280
+ setResetProgress(function (prev) { return prev + 1; });
281
+ }
282
+ };
283
+ var handleExpand = function () {
284
+ var _a;
285
+ setFullScreenFloater(true);
286
+ !fullScreenFloater && onExpand && onExpand((_a = data[current]) === null || _a === void 0 ? void 0 : _a.campaignType);
287
+ };
288
+ var renderButtons = react.useMemo(function () {
289
+ var _a;
290
+ var getButton = function (action, index) {
291
+ if (action === 'close') {
292
+ return (jsxRuntime.jsx("img", { loading: 'lazy', src: ctPlatformAssets.FloaterClose, onClick: function (e) {
293
+ handleClickWithStopPropagation(e, handleClose);
294
+ }, alt: 'Close' }, "button-".concat(index)));
295
+ }
296
+ else if (action === 'maximize') {
297
+ return (jsxRuntime.jsx("img", { loading: 'lazy', src: ctPlatformAssets.FloaterExpand, alt: 'Expand', onClick: function (e) {
298
+ handleClickWithStopPropagation(e, handleExpand);
299
+ } }, "button-".concat(index)));
300
+ }
301
+ };
302
+ return (_a = data[current]) === null || _a === void 0 ? void 0 : _a.attributes.map(function (item, index) {
303
+ if (item.type !== 'button')
304
+ return null;
305
+ else if (fullScreenFloater && !item.minimisedOnly) {
306
+ return getButton(item.action, index);
307
+ }
308
+ else if (!fullScreenFloater) {
309
+ return getButton(item.action, index);
310
+ }
311
+ return null;
312
+ });
313
+ }, [data, current, fullScreenFloater]);
314
+ return (jsxRuntime.jsx("div", tslib.__assign({ className: "".concat(styles['utilswrapper'], " utilswrapper") }, { children: jsxRuntime.jsxs("div", tslib.__assign({ onClick: handleExpand, className: "".concat(styles['floater-container'], " ").concat(hiddenFloater ? styles['hidden'] : '', " ").concat(fullScreenFloater ? styles['full-screen'] : '').concat(showFloaterWithAnimation && !fullScreenFloater
315
+ ? styles['minimised']
316
+ : '', " "), style: !fullScreenFloater
317
+ ? {
318
+ width: floaterDimensions.width,
319
+ height: floaterDimensions.height,
320
+ }
321
+ : { width: '100vw', height: '100dvh' } }, { children: [showFloaterWithAnimation && !fullScreenFloater && (jsxRuntime.jsx("div", tslib.__assign({ className: styles['floater-icon-container'] }, { children: renderButtons }))), showFloaterWithAnimation && (jsxRuntime.jsx("div", tslib.__assign({ className: styles['progressBarContainer'] }, { children: mediaData === null || mediaData === void 0 ? void 0 : mediaData.map(function (item, index) {
322
+ return (jsxRuntime.jsx(ProgressBar, { completed: current > index, disabled: current < index, hidden: !fullScreenFloater, resetProgress: resetProgress, duration: item.imageType === MEDIA_TYPE.ANIMATION
323
+ ? durationOfLottie *
324
+ 1000
325
+ : item.imageType ===
326
+ MEDIA_TYPE.IMAGE
327
+ ? (item === null || item === void 0 ? void 0 : item.time) * 1000
328
+ : 0 }, index));
329
+ }) }))), showFloaterWithAnimation && fullScreenFloater && (jsxRuntime.jsxs("div", tslib.__assign({ className: styles['interaction-layer'] }, { children: [jsxRuntime.jsx("div", { className: styles['gradientContainer'] }), jsxRuntime.jsx("div", tslib.__assign({ className: "\n ".concat(styles['floater-icon-container'], " ").concat(styles['maximised'], "\n ") }, { children: renderButtons })), jsxRuntime.jsx(TouchArea, { handleTapToNextStory: function () {
330
+ handleTapToChangeStory(1);
331
+ }, handleTapToPrevStory: function () {
332
+ handleTapToChangeStory(0);
333
+ } }), footerButtonData && (jsxRuntime.jsx(Footer, { campaignType: data[current].campaignType, redirectLink: footerButtonData.url, footerText: footerButtonData.title, onFooterClick: onFooterClick }))] }))), showFloaterWithAnimation &&
334
+ mediaData[current].imageType === MEDIA_TYPE.ANIMATION && (jsxRuntime.jsx(Lottie__default.default, { style: fullScreenFloater
335
+ ? {
336
+ borderRadius: '1rem 1rem 0 0',
337
+ width: '100%',
338
+ }
339
+ : {
340
+ borderRadius: '0px',
341
+ }, onDOMLoaded: updateDurationOnLottieLoad, onLoopComplete: handleLottieLoop, lottieRef: lottieRef, animationData: mediaData[current].url, autoPlay: true, loop: true })), showFloaterWithAnimation &&
342
+ mediaData[current].imageType === MEDIA_TYPE.IMAGE && (jsxRuntime.jsx("img", { loading: 'lazy', style: { width: '100%' }, src: mediaData[current].url.src
343
+ ? mediaData[current]
344
+ .url.src
345
+ : mediaData[current].url, alt: mediaData[current].title }))] })) })));
346
+ };
347
+
348
+ exports.Floater = Floater;
349
+ //# sourceMappingURL=ct-platform-floater.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ct-platform-floater.cjs.js","sources":["../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js","../packages/components/Floater/src/AminatedIcon/index.tsx","../packages/components/Floater/src/floater.utils.ts","../packages/components/Floater/src/Footer/index.tsx","../packages/components/Floater/src/TouchArea/index.tsx","../packages/components/Floater/src/ProgressBar/index.tsx","../packages/components/Floater/src/floater.constants.ts","../packages/components/Floater/src/Floater.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n",null,null,null,null,null,null,null],"names":["styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","_jsx","__assign","_jsxs","useState","useEffect","useRef","useMemo","FloaterClose","FloaterExpand","Lottie"],"mappings":";;;;;;;;;;;;AAAA,SAASA,WAAWA,CAACC,GAAG,EAAEC,GAAG,EAAE;EAC7B,IAAKA,GAAG,KAAK,KAAK,CAAC,EAAGA,GAAG,GAAG,EAAE,CAAA;AAC9B,EAAA,IAAIC,QAAQ,GAAGD,GAAG,CAACC,QAAQ,CAAA;AAE3B,EAAA,IAAI,CAACF,GAAG,IAAI,OAAOG,QAAQ,KAAK,WAAW,EAAE;AAAE,IAAA,OAAA;AAAQ,GAAA;AAEvD,EAAA,IAAIC,IAAI,GAAGD,QAAQ,CAACC,IAAI,IAAID,QAAQ,CAACE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AACpE,EAAA,IAAIC,KAAK,GAAGH,QAAQ,CAACI,aAAa,CAAC,OAAO,CAAC,CAAA;EAC3CD,KAAK,CAACE,IAAI,GAAG,UAAU,CAAA;EAEvB,IAAIN,QAAQ,KAAK,KAAK,EAAE;IACtB,IAAIE,IAAI,CAACK,UAAU,EAAE;MACnBL,IAAI,CAACM,YAAY,CAACJ,KAAK,EAAEF,IAAI,CAACK,UAAU,CAAC,CAAA;AAC3C,KAAC,MAAM;AACLL,MAAAA,IAAI,CAACO,WAAW,CAACL,KAAK,CAAC,CAAA;AACzB,KAAA;AACF,GAAC,MAAM;AACLF,IAAAA,IAAI,CAACO,WAAW,CAACL,KAAK,CAAC,CAAA;AACzB,GAAA;EAEA,IAAIA,KAAK,CAACM,UAAU,EAAE;AACpBN,IAAAA,KAAK,CAACM,UAAU,CAACC,OAAO,GAAGb,GAAG,CAAA;AAChC,GAAC,MAAM;IACLM,KAAK,CAACK,WAAW,CAACR,QAAQ,CAACW,cAAc,CAACd,GAAG,CAAC,CAAC,CAAA;AACjD,GAAA;AACF;;;;;;AClBA,IAAM,YAAY,GAAgC,UAAC,EAAS,EAAA;AAAP,IAAA,IAAA,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;AACtD,IAAA,OAAOe,cAAK,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAC,eAAe,GAAG,CAAC;AAC3E,CAAC;;ACDD,IAAM,8BAA8B,GAAG,UACnC,CAAmB,EACnB,eAA2B,EAAA;IAE3B,CAAC,CAAC,eAAe,EAAE,CAAC;AACpB,IAAA,eAAe,EAAE,CAAC;AACtB,CAAC,CAAC;AAEF,IAAM,YAAY,GAAG,UAAC,IAAgB,EAAA;AAClC,IAAA,OAAO,IAAI;SACN,GAAG,CAAC,UAAC,IAAI,EAAA;QACN,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACjC,UAAC,SAAS,IAAK,OAAA,SAAS,CAAC,IAAI,KAAK,UAAU,CAA7B,EAA6B,CACd,CAAC;AACnC,QAAA,OAAO,QAAQ,KAAR,IAAA,IAAA,QAAQ,uBAAR,QAAQ,CAAE,UAAU,CAAC;AAChC,KAAC,CAAC;SACD,MAAM,CAAC,UAAC,QAAQ,EAA4B,EAAA,OAAA,CAAC,CAAC,QAAQ,CAAA,EAAA,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF,IAAM,mBAAmB,GAAG,UAAC,IAAc,EAAA;IACvC,IAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAC/B,UAAC,SAA8C,EAAA;QAC3C,OAAA,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU,CAAA;AAA9D,KAA8D,CACrE,CAAC;IAEF,IAAK,MAA0B,KAAI,MAAM,KAAN,IAAA,IAAA,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAA,EAAE;QACnD,OAAQ,MAA0B,CAAC,UAAU,CAAC;AACjD,KAAA;IAED,OAAO;AACX,CAAC,CAAC;AAEF,IAAM,0BAA0B,GAAG,YAAA;AAC/B,IAAA,IAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC;AAC3C,IAAA,IAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC;IACzC,IAAI,MAAc,EAAE,KAAa,CAAC;IAElC,IAAI,eAAe,IAAI,GAAG,EAAE;QACxB,MAAM,GAAG,OAAO,CAAC;QACjB,KAAK,GAAG,OAAO,CAAC;AACnB,KAAA;SAAM,IAAI,eAAe,IAAI,GAAG,EAAE;QAC/B,MAAM,GAAG,OAAO,CAAC;QACjB,KAAK,GAAG,OAAO,CAAC;AACnB,KAAA;SAAM,IAAI,eAAe,IAAI,GAAG,EAAE;QAC/B,MAAM,GAAG,OAAO,CAAC;QACjB,KAAK,GAAG,OAAO,CAAC;AACnB,KAAA;AAAM,SAAA;QACH,KAAK,GAAG,EAAG,CAAA,MAAA,CAAA,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC,EAAA,IAAA,CAAI,CAAC;AAChD,QAAA,MAAM,GAAG,EAAA,CAAA,MAAA,CAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,GAAG,KAAK,CAAC,OAAI,CAAC;AAC5D,KAAA;AAED,IAAA,OAAO,EAAE,KAAK,EAAA,KAAA,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC;AAC7B,CAAC;;AC/CD,IAAM,MAAM,GAA0B,UAAC,EAMtC,EAAA;AALG,IAAA,IAAA,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,aAAa,GAAA,EAAA,CAAA,aAAA,CAAA;IAGb,IAAM,WAAW,GAAG,UAAC,CAAM,EAAA;AACvB,QAAA,IAAI,aAAa,EAAE;YACf,8BAA8B,CAAC,CAAC,EAAE,YAAA;AAC9B,gBAAA,OAAA,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;AAAzC,aAAyC,CAC5C,CAAC;AACL,SAAA;AACL,KAAC,CAAC;AAEF,IAAA,QACIA,cAAK,CAAA,KAAA,EAAAC,cAAA,CAAA,EAAA,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,EACtC,EAAA,EAAA,QAAA,EAAAC,eAAA,CAAA,KAAA,EAAAD,cAAA,CAAA,EAAK,OAAO,EAAE,WAAW,EACpB,EAAA,EAAA,QAAA,EAAA,CAAA,UAAU,IAAID,cAAC,CAAA,YAAY,EAAC,EAAA,KAAK,EAAE,UAAU,EAAA,CAAI,EAClDA,cAAA,CAAA,GAAA,EAAAC,cAAA,CAAA,EAAG,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,EAAG,EAAA,EAAA,QAAA,EAAA,UAAU,IAAK,CACnD,EAAA,CAAA,CAAA,EAAA,CAAA,CACJ,EACR;AACN,CAAC;;AC7BD,IAAM,SAAS,GAA6B,UAAC,EAG5C,EAAA;QAFG,oBAAoB,GAAA,EAAA,CAAA,oBAAA,EACpB,oBAAoB,GAAA,EAAA,CAAA,oBAAA,CAAA;AAEpB,IAAA,QACIC,eAAK,CAAA,KAAA,EAAAD,cAAA,CAAA,EAAA,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,EACnC,EAAA,EAAA,QAAA,EAAA,CAAAD,cAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EACtC,OAAO,EAAE,oBAAoB,GAC1B,EACPA,cAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC,EACvC,OAAO,EAAE,oBAAoB,EAC1B,CAAA,CAAA,EAAA,CAAA,CACL,EACR;AACN,CAAC;;ACbD,IAAM,WAAW,GAA+B,UAAC,EAMhD,EAAA;AALG,IAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA;IAEF,IAAA,EAAA,GAA0BG,cAAQ,CAAS,CAAC,CAAC,EAA5C,QAAQ,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,WAAW,GAAA,EAAA,CAAA,CAAA,CAAuB,CAAC;AAEpD,IAAAC,eAAS,CAAC,YAAA;AACN,QAAA,IAAI,EAAE,SAAS,IAAI,QAAQ,CAAC,EAAE;YAC1B,IAAI,UAAQ,GAA0B,IAAI,CAAC;AAC3C,YAAA,IAAI,WAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,aAAa,IAAI,UAAQ,EAAE;AAE3B,gBAAA,WAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,aAAa,CAAC,UAAQ,CAAC,CAAC;AAC3B,aAAA;YAED,UAAQ,GAAG,WAAW,CAAC,YAAA;AACnB,gBAAA,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACvB,gBAAA,IAAM,WAAW,GAAG,GAAG,GAAG,WAAS,CAAC;gBACpC,IAAM,eAAe,GAAG,CAAC,WAAW,GAAG,QAAQ,IAAI,GAAG,CAAC;gBAEvD,IAAI,eAAe,IAAI,GAAG,EAAE;oBACxB,WAAW,CAAC,eAAe,CAAC,CAAC;AAChC,iBAAA;aACJ,EAAE,EAAE,CAAC,CAAC;YAEP,OAAO,YAAA;AACH,gBAAA,IAAI,UAAQ,EAAE;oBACV,aAAa,CAAC,UAAQ,CAAC,CAAC;AAC3B,iBAAA;AACL,aAAC,CAAC;AACL,SAAA;KACJ,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEnD,QACIJ,cACI,CAAA,KAAA,EAAAC,cAAA,CAAA,EAAA,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC,EACvC,KAAK,EAAE;YACH,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;SAC5B,EAED,EAAA,EAAA,QAAA,EAAAD,cAAA,CAAA,KAAA,EAAAC,cAAA,CAAA,EACI,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,EACjC,KAAK,EAAE;gBACH,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,KAAK;AAC/B,aAAA,EAAA,EAAA,EAAA,QAAA,EAEA,CAAC,QAAQ,KACND,cACI,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,EAC7B,KAAK,EAAE;oBACH,KAAK,EAAE,EAAG,CAAA,MAAA,CAAA,SAAS,GAAG,GAAG,GAAG,QAAQ,EAAG,GAAA,CAAA;AAC1C,iBAAA,EAAA,CACH,CACL,EAAA,CAAA,CACC,EACJ,CAAA,CAAA,EACR;AACN,CAAC;;ACxEM,IAAM,UAAU,GAAG;AACtB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,GAAG,EAAE,KAAK;CACb;;ACwBD,IAAM,qBAAqB,GAAG,IAAI,CAAC;AACnC,IAAI,YAAY,GAA0B,IAAI,CAAC;AAC/C,IAAI,OAAO,GAA0B,IAAI,CAAC;AAEpC,IAAA,OAAO,GAA2B,UAAC,EAWxC,EAAA;QAVG,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAChB,oBAAoB,GAAA,EAAA,CAAA,oBAAA,EACpB,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,qBAAqB,GAAA,EAAA,CAAA,qBAAA,EACrB,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,YAAY,GAAA,EAAA,CAAA,YAAA,CAAA;IAGN,IAAA,EAAA,GAA0CG,cAAQ,CACpD,IAAI,CACP,EAFM,gBAAgB,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,mBAAmB,GAAA,EAAA,CAAA,CAAA,CAE3C,CAAC;IACI,IAAA,EAAA,GAAoCA,cAAQ,CAAC,CAAC,CAAC,EAA9C,aAAa,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,gBAAgB,GAAA,EAAA,CAAA,CAAA,CAAe,CAAC;IAChD,IAAA,EAAA,GAAwBA,cAAQ,CAAC,CAAC,CAAC,EAAlC,OAAO,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,UAAU,GAAA,EAAA,CAAA,CAAA,CAAe,CAAC;AACpC,IAAA,IAAA,EAA4C,GAAAA,cAAQ,CACtD,0BAA0B,EAAE,CAC/B,EAFM,iBAAiB,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,oBAAoB,GAAA,EAAA,CAAA,CAAA,CAE7C,CAAC;IACI,IAAA,EAAA,GAA4CA,cAAQ,CAAC,KAAK,CAAC,EAA1D,iBAAiB,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,oBAAoB,GAAA,EAAA,CAAA,CAAA,CAAmB,CAAC;IAC5D,IAAA,EAAA,GACFA,cAAQ,CAAC,KAAK,CAAC,EADZ,wBAAwB,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,2BAA2B,GAAA,EAAA,CAAA,CAAA,CACzC,CAAC;IACd,IAAA,EAAA,GAAoCA,cAAQ,CAAC,KAAK,CAAC,EAAlD,aAAa,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,gBAAgB,GAAA,EAAA,CAAA,CAAA,CAAmB,CAAC;IACpD,IAAA,EAAA,GAAkDA,cAAQ,CAAC,KAAK,CAAC,EAAhE,oBAAoB,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,uBAAuB,GAAA,EAAA,CAAA,CAAA,CAAmB,CAAC;IAEjE,IAAA,SAAS,GAAIA,cAAQ,CAAc,YAAA;AACtC,QAAA,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;KAC7B,CAAC,GAFc,CAEb;IACG,IAAA,EAAA,GACFA,cAAQ,CAA0B,IAAI,CAAC,EADpC,gBAAgB,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,mBAAmB,GAAA,EAAA,CAAA,CAAA,CACD,CAAC;AAM5C,IAAAC,eAAS,CAAC,YAAA;;AACN,QAAA,IAAM,YAAY,GAAG,YAAA;AACjB,YAAA,oBAAoB,CAAC,0BAA0B,EAAE,CAAC,CAAC;AACvD,SAAC,CAAC;AACF,QAAA,IAAM,OAAO,GAAG,UAAU,CACtB,YAAA,EAAM,OAAA,2BAA2B,CAAC,IAAI,CAAC,GAAA,EACvC,WAAW,IAAI,CAAC,CACnB,CAAC;AACF,QAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAChD,YAAY,IAAI,YAAY,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,CAAC,CAAC;QAC1D,OAAO,YAAA;AACH,YAAA,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACnD,YAAY,CAAC,OAAO,CAAC,CAAC;AAC1B,SAAC,CAAC;KACL,EAAE,EAAE,CAAC,CAAC;AAGP,IAAAA,eAAS,CAAC,YAAA;QACN,IAAI,aAAa,GAA0B,IAAI,CAAC;AAChD,QAAA,IAAI,aAAa,EAAE;YACf,aAAa,GAAG,UAAU,CAAC,YAAA;gBACvB,SAAS,IAAI,SAAS,EAAE,CAAC;aAC5B,EAAE,IAAI,CAAC,CAAC;AACZ,SAAA;QAED,OAAO,YAAA;AACH,YAAA,IAAI,aAAa;gBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;AACnD,SAAC,CAAC;AACN,KAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;AAGpB,IAAAA,eAAS,CAAC,YAAA;AACN,QAAA,mBAAmB,CAAC,YAAA;AAChB,YAAA,OAAO,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAqB,CAAC;AAClE,SAAC,CAAC,CAAC;AAEH,QAAA,IAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AAExC,QAAA,IAAI,YAAY,CAAC,SAAS,KAAK,UAAU,CAAC,KAAK,EAAE;YAC7C,IAAM,gBAAgB,GAAG,UAAC,IAAY,EAAA;AAClC,gBAAA,IAAI,YAAY;oBAAE,YAAY,CAAC,YAAY,CAAC,CAAC;gBAE7C,YAAY,GAAG,UAAU,CAAC,YAAA;AACtB,oBAAA,IAAI,iBAAiB,IAAI,OAAO,GAAG,CAAA,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,MAAM,IAAG,CAAC,EAAE;wBACtD,UAAU,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,GAAG,CAAC,CAAA,EAAA,CAAC,CAAC;wBAC/B,gBAAgB,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,GAAG,CAAC,CAAA,EAAA,CAAC,CAAC;AACxC,qBAAA;AAAM,yBAAA,IACH,iBAAiB;wBACjB,OAAO,IAAI,CAAA,SAAS,KAAT,IAAA,IAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,SAAS,CAAE,MAAM,IAAG,CAAC,EAClC;wBAEE,uBAAuB,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,CAAC,IAAI,CAAA,EAAA,CAAC,CAAC;AAC5C,qBAAA;iBACJ,EAAE,IAAI,CAAC,CAAC;AACb,aAAC,CAAC;YAEF,IAAI,YAAY,CAAC,IAAI,EAAE;AACnB,gBAAA,gBAAgB,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;AAC9C,aAAA;AACJ,SAAA;QAED,OAAO,YAAA;AACH,YAAA,IAAI,YAAY;gBAAE,YAAY,CAAC,YAAY,CAAC,CAAC;AACjD,SAAC,CAAC;AACN,KAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAGzB,IAAAA,eAAS,CAAC,YAAA;AACN,QAAA,IAAI,OAAO,EAAE;YACT,YAAY,CAAC,OAAO,CAAC,CAAC;AACzB,SAAA;QACD,IAAI,oBAAoB,IAAI,OAAO,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1D,OAAO,GAAG,UAAU,CAAC,YAAA;gBACjB,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC3B,aAAC,EAAE,qBAAqB,IAAI,qBAAqB,CAAC,CAAC;AACtD,SAAA;QAED,OAAO,YAAA;AACH,YAAA,IAAI,OAAO,EAAE;gBACT,YAAY,CAAC,OAAO,CAAC,CAAC;AACzB,aAAA;AACL,SAAC,CAAC;AACN,KAAC,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC;AAGpC,IAAA,IAAM,SAAS,GAAGC,YAAM,EAAyB,CAAC;AAGlD,IAAA,IAAM,gBAAgB,GAAG,YAAA;;QACrB,IAAI,CAAC,iBAAiB,EAAE;YACpB,gBAAgB,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,GAAG,CAAC,CAAA,EAAA,CAAC,CAAC;YACrC,OAAO;AACV,SAAA;AACD,QAAA,IAAI,iBAAiB,IAAI,OAAO,GAAG,CAAA,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,MAAM,IAAG,CAAC,EAAE;YACtD,UAAU,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,GAAG,CAAC,CAAA,EAAA,CAAC,CAAC;YAC/B,gBAAgB,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,GAAG,CAAC,CAAA,EAAA,CAAC,CAAC;AACxC,SAAA;AAAM,aAAA,IACH,iBAAiB;YACjB,gBAAgB;YAChB,OAAO,IAAI,CAAA,SAAS,KAAT,IAAA,IAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,SAAS,CAAE,MAAM,IAAG,CAAC,EAClC;AACE,YAAA,CAAA,EAAA,GAAA,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,CAAC,gBAA0B,EAAE,IAAI,CAAC,CAAC;YAElE,uBAAuB,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,CAAC,IAAI,CAAA,EAAA,CAAC,CAAC;AAC5C,SAAA;AACL,KAAC,CAAC;AAEF,IAAA,IAAM,0BAA0B,GAAG,YAAA;;AAC/B,QAAA,IAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,SAAS,KAAT,IAAA,IAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,SAAS,CAAE,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAC;AACnD,QAAA,IAAI,QAAQ,EAAE;YACV,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AACjC,SAAA;AACL,KAAC,CAAC;AAEF,IAAA,IAAM,WAAW,GAAG,YAAA;;QAChB,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,IAAI,OAAO,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,CAAC,CAAC;AACpD,KAAC,CAAC;IAEF,IAAM,sBAAsB,GAAG,UAAC,KAAa,EAAA;;AACzC,QAAA,IAAI,YAAY;YAAE,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,KAAK,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,gBAAgB;gBACZ,gBAAgB,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,CAAC,CAAC;YACtD,UAAU,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,GAAG,CAAC,CAAA,EAAA,CAAC,CAAC;YAC/B,gBAAgB,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,GAAG,CAAC,CAAA,EAAA,CAAC,CAAC;AACxC,SAAA;AAAM,aAAA,IAAI,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE;YAC9B,oBAAoB;gBAChB,oBAAoB,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,CAAC,CAAC;YAC1D,UAAU,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,GAAG,CAAC,CAAA,EAAA,CAAC,CAAC;YAC/B,gBAAgB,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,GAAG,CAAC,CAAA,EAAA,CAAC,CAAC;AACxC,SAAA;AACL,KAAC,CAAC;AAEF,IAAA,IAAM,YAAY,GAAG,YAAA;;QACjB,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAC3B,QAAA,CAAC,iBAAiB,IAAI,QAAQ,IAAI,QAAQ,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAY,CAAC,CAAC;AAC5E,KAAC,CAAC;IAEF,IAAM,aAAa,GAAGC,aAAO,CAAC,YAAA;;AAC1B,QAAA,IAAM,SAAS,GAAG,UAAC,MAAc,EAAE,KAAa,EAAA;YAC5C,IAAI,MAAM,KAAK,OAAO,EAAE;AACpB,gBAAA,QACIN,cAAA,CAAA,KAAA,EAAA,EAEI,OAAO,EAAC,MAAM,EACd,GAAG,EAAEO,6BAAY,EACjB,OAAO,EAAE,UAAC,CAAC,EAAA;AACP,wBAAA,8BAA8B,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;qBAClD,EACD,GAAG,EAAC,OAAO,EAAA,EANN,iBAAU,KAAK,CAAE,CAOxB,EACJ;AACL,aAAA;iBAAM,IAAI,MAAM,KAAK,UAAU,EAAE;AAC9B,gBAAA,QACIP,cAEI,CAAA,KAAA,EAAA,EAAA,OAAO,EAAC,MAAM,EACd,GAAG,EAAEQ,8BAAa,EAClB,GAAG,EAAC,QAAQ,EACZ,OAAO,EAAE,UAAC,CAAC,EAAA;AACP,wBAAA,8BAA8B,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;AACpD,qBAAC,IANI,SAAU,CAAA,MAAA,CAAA,KAAK,CAAE,CAOxB,EACJ;AACL,aAAA;AACL,SAAC,CAAC;AAEF,QAAA,OAAO,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,EAAA;AAC7C,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;AAAE,gBAAA,OAAO,IAAI,CAAC;AACnC,iBAAA,IAAI,iBAAiB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBAC/C,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACxC,aAAA;iBAAM,IAAI,CAAC,iBAAiB,EAAE;gBAC3B,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACxC,aAAA;AACD,YAAA,OAAO,IAAI,CAAC;AAChB,SAAC,CAAC,CAAC;KACN,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEvC,QACIR,cAAK,CAAA,KAAA,EAAAC,cAAA,CAAA,EAAA,SAAS,EAAE,EAAA,CAAA,MAAA,CAAG,MAAM,CAAC,cAAc,CAAC,EAAA,eAAA,CAAe,EACpD,EAAA,EAAA,QAAA,EAAAC,eAAA,CAAA,KAAA,EAAAD,cAAA,CAAA,EACI,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,EAAA,CAAA,MAAA,CAAG,MAAM,CAAC,mBAAmB,CAAC,EAAA,GAAA,CAAA,CAAA,MAAA,CACrC,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EACrC,GAAA,CAAA,CAAA,MAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAC9C,CAAA,MAAA,CAAA,wBAAwB,IAAI,CAAC,iBAAiB;AAC1C,kBAAE,MAAM,CAAC,WAAW,CAAC;AACrB,kBAAE,EAAE,EAAA,GAAA,CACT,EACH,KAAK,EACD,CAAC,iBAAiB;AACd,kBAAE;oBACI,KAAK,EAAE,iBAAiB,CAAC,KAAK;oBAC9B,MAAM,EAAE,iBAAiB,CAAC,MAAM;AACnC,iBAAA;kBACD,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAA,EAAA,EAAA,QAAA,EAAA,CAG7C,wBAAwB,IAAI,CAAC,iBAAiB,KAC3CD,cAAA,CAAA,KAAA,EAAAC,cAAA,CAAA,EAAK,SAAS,EAAE,MAAM,CAAC,wBAAwB,CAAC,EAAA,EAAA,EAAA,QAAA,EAC3C,aAAa,EACZ,CAAA,CAAA,CACT,EAEA,wBAAwB,KACrBD,uCAAK,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,gBACzC,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,EAAA;AACxB,wBAAA,QACIA,cAAA,CAAC,WAAW,EAAA,EAER,SAAS,EAAE,OAAO,GAAG,KAAK,EAC1B,QAAQ,EAAE,OAAO,GAAG,KAAK,EACzB,MAAM,EAAE,CAAC,iBAAiB,EAC1B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EACJ,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,SAAS;AACnC,kCAAG,gBAA2B;oCAC5B,IAAI;kCACJ,IAAI,CAAC,SAAS;AACZ,oCAAA,UAAU,CAAC,KAAK;sCAChB,CAAC,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,IAAe,IAAG,IAAI;AAC/B,sCAAE,CAAC,EAAA,EAZR,KAAK,CAcZ,EACJ;qBACL,CAAC,IACA,CACT,EAEA,wBAAwB,IAAI,iBAAiB,KAC1CE,eAAK,CAAA,KAAA,EAAAD,cAAA,CAAA,EAAA,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAA,EAAA,EAAA,QAAA,EAAA,CACvCD,wBAAK,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,GAAQ,EACnDA,cAAA,CAAA,KAAA,EAAAC,cAAA,CAAA,EACI,SAAS,EAAE,wCAAA,CAAA,MAAA,CACD,MAAM,CAAC,wBAAwB,CAAC,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,MAAM,CAAC,WAAW,CAAC,EAAA,oCAAA,CAC5D,gBAEJ,aAAa,EAAA,CAAA,CACZ,EACND,cAAC,CAAA,SAAS,EACN,EAAA,oBAAoB,EAAE,YAAA;gCAClB,sBAAsB,CAAC,CAAC,CAAC,CAAC;6BAC7B,EACD,oBAAoB,EAAE,YAAA;gCAClB,sBAAsB,CAAC,CAAC,CAAC,CAAC;AAC9B,6BAAC,GACH,EACD,gBAAgB,KACbA,eAAC,MAAM,EAAA,EACH,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,EACxC,YAAY,EAAE,gBAAgB,CAAC,GAAG,EAClC,UAAU,EAAE,gBAAgB,CAAC,KAAK,EAClC,aAAa,EAAE,aAAa,EAAA,CAC9B,CACL,CACC,EAAA,CAAA,CAAA,CACT,EAEA,wBAAwB;AACrB,oBAAA,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC,SAAS,KACjDA,cAAC,CAAAS,uBAAM,EACH,EAAA,KAAK,EACD,iBAAiB;AACb,0BAAE;AACI,4BAAA,YAAY,EAAE,eAAe;AAC7B,4BAAA,KAAK,EAAE,MAAM;AAChB,yBAAA;AACH,0BAAE;AACI,4BAAA,YAAY,EAAE,KAAK;AACtB,yBAAA,EAEX,WAAW,EAAE,0BAA0B,EACvC,cAAc,EAAE,gBAAgB,EAChC,SAAS,EAEL,SAAoD,EAExD,aAAa,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EACrC,QAAQ,EAAE,IAAI,EACd,IAAI,EAAE,IAAI,EACZ,CAAA,CACL,EACJ,wBAAwB;AACrB,oBAAA,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC,KAAK,KAC7CT,cACI,CAAA,KAAA,EAAA,EAAA,OAAO,EAAC,MAAM,EACd,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EACxB,GAAG,EACE,SAAS,CAAC,OAAO,CAAC,CAAC,GAAwB,CAAC,GAAG;AAC5C,0BACM,SAAS,CAAC,OAAO,CAAC;AACb,6BAAA,GACR,CAAC,GAAG;0BACJ,SAAS,CAAC,OAAO,CAAC,CAAC,GAAc,EAE5C,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,GAC/B,CACL,CAAA,EAAA,CAAA,CACH,EACJ,CAAA,CAAA,EACR;AACN;;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,343 @@
1
+ import { __assign } from 'tslib';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { useState, useEffect, useRef, useMemo } from 'react';
4
+ import Lottie from 'lottie-react';
5
+ import { FloaterClose, FloaterExpand } from '@cleartrip/ct-platform-assets';
6
+
7
+ function styleInject(css, ref) {
8
+ if (ref === void 0) ref = {};
9
+ var insertAt = ref.insertAt;
10
+ if (!css || typeof document === 'undefined') {
11
+ return;
12
+ }
13
+ var head = document.head || document.getElementsByTagName('head')[0];
14
+ var style = document.createElement('style');
15
+ style.type = 'text/css';
16
+ if (insertAt === 'top') {
17
+ if (head.firstChild) {
18
+ head.insertBefore(style, head.firstChild);
19
+ } else {
20
+ head.appendChild(style);
21
+ }
22
+ } else {
23
+ head.appendChild(style);
24
+ }
25
+ if (style.styleSheet) {
26
+ style.styleSheet.cssText = css;
27
+ } else {
28
+ style.appendChild(document.createTextNode(css));
29
+ }
30
+ }
31
+
32
+ var css_248z = ".index-module_floater-container__SeIgJ{align-items:center;background-color:#fff;border-radius:.75rem;bottom:-40rem;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Ubuntu,Arial,sans-serif;justify-content:center;left:1rem;overflow:hidden;position:fixed;transition:all .5s ease-in-out;z-index:0}.index-module_floater-container__SeIgJ>*{box-sizing:border-box}.index-module_floater-container__SeIgJ a{color:inherit;text-decoration:none}.index-module_full-screen__7Hk0z{border-radius:0;bottom:0;left:0;z-index:1000}.index-module_floater-container__SeIgJ.index-module_minimised__4gSMC{bottom:4.5rem}.index-module_hidden__YO30N{opacity:0;transform:translateY(100%)}.index-module_floater-icon-container__-KpEq{align-items:center;display:flex;justify-content:space-between;padding:.75rem;position:absolute;right:0;top:0;width:100%;z-index:1005}.index-module_maximised__2Msru{gap:1.5rem;justify-content:flex-end;padding-right:.75rem;top:1rem}.index-module_progressBarContainer__Ix6zp{box-sizing:border-box;display:flex;gap:4px;padding:1rem;position:absolute;top:0;width:100%;z-index:1002}.index-module_interaction-layer__IqOfq{align-items:center;bottom:0;display:flex;flex-direction:column;height:100%;justify-content:space-between;left:0;margin-top:2rem;position:absolute;width:100%;z-index:1001}.index-module_gradientContainer__cXb-u{background:linear-gradient(180deg,rgba(26,26,26,.6),transparent);height:74px;position:absolute;top:0;width:100%}.index-module_footer-container__hMTGt{align-items:center;background:linear-gradient(1turn,rgba(26,26,26,.6),rgba(26,26,26,0));bottom:0;display:flex;flex-direction:column;justify-content:center;padding:1.5rem 1rem;position:absolute;width:100%}.index-module_footer-text__Z9com{color:#fff;font-size:.875rem;font-style:normal;font-weight:600;line-height:1.25rem}.index-module_icon__jXdTc{animation:index-module_bounce__JVGDA 1s infinite alternate;background-color:transparent;height:1.5rem;width:1.5rem}@keyframes index-module_bounce__JVGDA{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.index-module_progress-container__HD7cS{align-items:center;background-color:transparent;display:flex;justify-content:center;width:100%}.index-module_progress-bar__j98cB{background:hsla(0,0%,100%,.694);overflow:hidden;width:100%}.index-module_progress__kJAbe{background-color:#fff;height:100%;opacity:1}.index-module_screenTapArea__Fr0SC{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.index-module_leftScreenTapArea__vh-yR{height:100%;width:30%}.index-module_rightScreenTapArea__u3Nlm{height:100%;width:70%}";
33
+ var styles = {"floater-container":"index-module_floater-container__SeIgJ","full-screen":"index-module_full-screen__7Hk0z","minimised":"index-module_minimised__4gSMC","hidden":"index-module_hidden__YO30N","floater-icon-container":"index-module_floater-icon-container__-KpEq","maximised":"index-module_maximised__2Msru","progressBarContainer":"index-module_progressBarContainer__Ix6zp","interaction-layer":"index-module_interaction-layer__IqOfq","gradientContainer":"index-module_gradientContainer__cXb-u","footer-container":"index-module_footer-container__hMTGt","footer-text":"index-module_footer-text__Z9com","icon":"index-module_icon__jXdTc","bounce":"index-module_bounce__JVGDA","progress-container":"index-module_progress-container__HD7cS","progress-bar":"index-module_progress-bar__j98cB","progress":"index-module_progress__kJAbe","screenTapArea":"index-module_screenTapArea__Fr0SC","leftScreenTapArea":"index-module_leftScreenTapArea__vh-yR","rightScreenTapArea":"index-module_rightScreenTapArea__u3Nlm"};
34
+ styleInject(css_248z);
35
+
36
+ var AnimatedIcon = function (_a) {
37
+ var image = _a.image;
38
+ return jsx("img", { src: image, className: styles.icon, alt: 'Animated Icon' });
39
+ };
40
+
41
+ var handleClickWithStopPropagation = function (e, onClickFunction) {
42
+ e.stopPropagation();
43
+ onClickFunction();
44
+ };
45
+ var getMediaData = function (data) {
46
+ return data
47
+ .map(function (item) {
48
+ var artifact = item.attributes.find(function (attribute) { return attribute.type === 'artifact'; });
49
+ return artifact === null || artifact === void 0 ? void 0 : artifact.properties;
50
+ })
51
+ .filter(function (property) { return !!property; });
52
+ };
53
+ var getFooterButtonData = function (data) {
54
+ var button = data.attributes.find(function (attribute) {
55
+ return attribute.type === 'button' && attribute.action === 'redirect';
56
+ });
57
+ if (button && (button === null || button === void 0 ? void 0 : button.properties)) {
58
+ return button.properties;
59
+ }
60
+ return;
61
+ };
62
+ var calculateFloaterDimensions = function () {
63
+ var containerHeight = window.innerHeight;
64
+ var containerWidth = window.innerWidth;
65
+ var height, width;
66
+ if (containerHeight <= 640) {
67
+ height = '256px';
68
+ width = '144px';
69
+ }
70
+ else if (containerHeight <= 812) {
71
+ height = '284px';
72
+ width = '160px';
73
+ }
74
+ else if (containerHeight <= 926) {
75
+ height = '320px';
76
+ width = '180px';
77
+ }
78
+ else {
79
+ width = "".concat(Math.floor(containerWidth * 0.4), "px");
80
+ height = "".concat(Math.floor(containerWidth * 0.4 * 1.775), "px");
81
+ }
82
+ return { width: width, height: height };
83
+ };
84
+
85
+ var Footer = function (_a) {
86
+ var campaignType = _a.campaignType, redirectLink = _a.redirectLink, footerText = _a.footerText, footerIcon = _a.footerIcon, onFooterClick = _a.onFooterClick;
87
+ var handleClick = function (e) {
88
+ if (onFooterClick) {
89
+ handleClickWithStopPropagation(e, function () {
90
+ return onFooterClick(redirectLink, campaignType);
91
+ });
92
+ }
93
+ };
94
+ return (jsx("div", __assign({ className: styles['footer-container'] }, { children: jsxs("div", __assign({ onClick: handleClick }, { children: [footerIcon && jsx(AnimatedIcon, { image: footerIcon }), jsx("p", __assign({ className: styles['footer-text'] }, { children: footerText }))] })) })));
95
+ };
96
+
97
+ var TouchArea = function (_a) {
98
+ var handleTapToPrevStory = _a.handleTapToPrevStory, handleTapToNextStory = _a.handleTapToNextStory;
99
+ return (jsxs("div", __assign({ className: styles['screenTapArea'] }, { children: [jsx("div", { className: styles['leftScreenTapArea'], onClick: handleTapToPrevStory }), jsx("div", { className: styles['rightScreenTapArea'], onClick: handleTapToNextStory })] })));
100
+ };
101
+
102
+ var ProgressBar = function (_a) {
103
+ var duration = _a.duration, resetProgress = _a.resetProgress, hidden = _a.hidden, completed = _a.completed, disabled = _a.disabled;
104
+ var _b = useState(0), progress = _b[0], setProgress = _b[1];
105
+ useEffect(function () {
106
+ if (!(completed || disabled)) {
107
+ var interval_1 = null;
108
+ var startTime_1 = Date.now();
109
+ if (resetProgress && interval_1) {
110
+ startTime_1 = Date.now();
111
+ clearInterval(interval_1);
112
+ }
113
+ interval_1 = setInterval(function () {
114
+ var now = Date.now();
115
+ var elapsedTime = now - startTime_1;
116
+ var currentProgress = (elapsedTime / duration) * 100;
117
+ if (currentProgress <= 100) {
118
+ setProgress(currentProgress);
119
+ }
120
+ }, 10);
121
+ return function () {
122
+ if (interval_1) {
123
+ clearInterval(interval_1);
124
+ }
125
+ };
126
+ }
127
+ }, [duration, resetProgress, completed, disabled]);
128
+ return (jsx("div", __assign({ className: styles['progress-container'], style: {
129
+ zIndex: hidden ? 0 : 9999,
130
+ } }, { children: jsx("div", __assign({ className: styles['progress-bar'], style: {
131
+ height: hidden ? '0' : '2px',
132
+ } }, { children: !disabled && (jsx("div", { className: styles['progress'], style: {
133
+ width: "".concat(completed ? 100 : progress, "%"),
134
+ } })) })) })));
135
+ };
136
+
137
+ var MEDIA_TYPE = {
138
+ IMAGE: 'IMAGE',
139
+ ANIMATION: 'ANIMATION',
140
+ VIDEO: 'VIDEO',
141
+ GIF: 'GIF',
142
+ };
143
+
144
+ var TIME_TO_CLOSE_FLOATER = 5000;
145
+ var imageTimeout = null;
146
+ var timeout = null;
147
+ var Floater = function (_a) {
148
+ var data = _a.data, onClose = _a.onClose, onExpand = _a.onExpand, onTapToNextStory = _a.onTapToNextStory, onTapToPreviousStory = _a.onTapToPreviousStory, onFooterClick = _a.onFooterClick, timeoutToCloseFloater = _a.timeoutToCloseFloater, onDestroy = _a.onDestroy, delayToShow = _a.delayToShow, onWidgetLoad = _a.onWidgetLoad;
149
+ var _b = useState(null), durationOfLottie = _b[0], setDurationOfLottie = _b[1];
150
+ var _c = useState(0), resetProgress = _c[0], setResetProgress = _c[1];
151
+ var _d = useState(0), current = _d[0], setCurrent = _d[1];
152
+ var _e = useState(calculateFloaterDimensions()), floaterDimensions = _e[0], setFloaterDimensions = _e[1];
153
+ var _f = useState(false), fullScreenFloater = _f[0], setFullScreenFloater = _f[1];
154
+ var _g = useState(false), showFloaterWithAnimation = _g[0], setShowFloaterWithAnimation = _g[1];
155
+ var _h = useState(false), hiddenFloater = _h[0], setHiddenFloater = _h[1];
156
+ var _j = useState(false), isLastStoryCompleted = _j[0], setIsLastStoryCompleted = _j[1];
157
+ var mediaData = useState(function () {
158
+ return getMediaData(data);
159
+ })[0];
160
+ var _k = useState(null), footerButtonData = _k[0], setFooterButtonData = _k[1];
161
+ useEffect(function () {
162
+ var _a;
163
+ var handleResize = function () {
164
+ setFloaterDimensions(calculateFloaterDimensions());
165
+ };
166
+ var timeout = setTimeout(function () { return setShowFloaterWithAnimation(true); }, delayToShow || 0);
167
+ window.addEventListener('resize', handleResize);
168
+ onWidgetLoad && onWidgetLoad((_a = data[current]) === null || _a === void 0 ? void 0 : _a.campaignType);
169
+ return function () {
170
+ window.removeEventListener('resize', handleResize);
171
+ clearTimeout(timeout);
172
+ };
173
+ }, []);
174
+ useEffect(function () {
175
+ var timeoutHandle = null;
176
+ if (hiddenFloater) {
177
+ timeoutHandle = setTimeout(function () {
178
+ onDestroy && onDestroy();
179
+ }, 1500);
180
+ }
181
+ return function () {
182
+ if (timeoutHandle)
183
+ clearTimeout(timeoutHandle);
184
+ };
185
+ }, [hiddenFloater]);
186
+ useEffect(function () {
187
+ setFooterButtonData(function () {
188
+ return getFooterButtonData(data[current]);
189
+ });
190
+ var currentMedia = mediaData[current];
191
+ if (currentMedia.imageType === MEDIA_TYPE.IMAGE) {
192
+ var handleImageTimer = function (time) {
193
+ if (imageTimeout)
194
+ clearTimeout(imageTimeout);
195
+ imageTimeout = setTimeout(function () {
196
+ if (fullScreenFloater && current < (mediaData === null || mediaData === void 0 ? void 0 : mediaData.length) - 1) {
197
+ setCurrent(function (prev) { return prev + 1; });
198
+ setResetProgress(function (prev) { return prev + 1; });
199
+ }
200
+ else if (fullScreenFloater &&
201
+ current >= (mediaData === null || mediaData === void 0 ? void 0 : mediaData.length) - 1) {
202
+ setIsLastStoryCompleted(function (prev) { return !prev; });
203
+ }
204
+ }, time);
205
+ };
206
+ if (currentMedia.time) {
207
+ handleImageTimer(currentMedia.time * 1000);
208
+ }
209
+ }
210
+ return function () {
211
+ if (imageTimeout)
212
+ clearTimeout(imageTimeout);
213
+ };
214
+ }, [current, mediaData]);
215
+ useEffect(function () {
216
+ if (timeout) {
217
+ clearTimeout(timeout);
218
+ }
219
+ if (isLastStoryCompleted && current === mediaData.length - 1) {
220
+ timeout = setTimeout(function () {
221
+ setHiddenFloater(true);
222
+ }, timeoutToCloseFloater || TIME_TO_CLOSE_FLOATER);
223
+ }
224
+ return function () {
225
+ if (timeout) {
226
+ clearTimeout(timeout);
227
+ }
228
+ };
229
+ }, [isLastStoryCompleted, current]);
230
+ var lottieRef = useRef();
231
+ var handleLottieLoop = function () {
232
+ var _a;
233
+ if (!fullScreenFloater) {
234
+ setResetProgress(function (prev) { return prev + 1; });
235
+ return;
236
+ }
237
+ if (fullScreenFloater && current < (mediaData === null || mediaData === void 0 ? void 0 : mediaData.length) - 1) {
238
+ setCurrent(function (prev) { return prev + 1; });
239
+ setResetProgress(function (prev) { return prev + 1; });
240
+ }
241
+ else if (fullScreenFloater &&
242
+ durationOfLottie &&
243
+ current >= (mediaData === null || mediaData === void 0 ? void 0 : mediaData.length) - 1) {
244
+ (_a = lottieRef === null || lottieRef === void 0 ? void 0 : lottieRef.current) === null || _a === void 0 ? void 0 : _a.goToAndStop(durationOfLottie, true);
245
+ setIsLastStoryCompleted(function (prev) { return !prev; });
246
+ }
247
+ };
248
+ var updateDurationOnLottieLoad = function () {
249
+ var _a;
250
+ var duration = (_a = lottieRef === null || lottieRef === void 0 ? void 0 : lottieRef.current) === null || _a === void 0 ? void 0 : _a.getDuration();
251
+ if (duration) {
252
+ setDurationOfLottie(duration);
253
+ }
254
+ };
255
+ var handleClose = function () {
256
+ var _a;
257
+ setHiddenFloater(true);
258
+ onClose && onClose((_a = data[current]) === null || _a === void 0 ? void 0 : _a.campaignType);
259
+ };
260
+ var handleTapToChangeStory = function (input) {
261
+ var _a, _b;
262
+ if (imageTimeout)
263
+ clearTimeout(imageTimeout);
264
+ if (input && current < data.length - 1) {
265
+ onTapToNextStory &&
266
+ onTapToNextStory((_a = data[current + 1]) === null || _a === void 0 ? void 0 : _a.campaignType);
267
+ setCurrent(function (prev) { return prev + 1; });
268
+ setResetProgress(function (prev) { return prev + 1; });
269
+ }
270
+ else if (!input && current > 0) {
271
+ onTapToPreviousStory &&
272
+ onTapToPreviousStory((_b = data[current - 1]) === null || _b === void 0 ? void 0 : _b.campaignType);
273
+ setCurrent(function (prev) { return prev - 1; });
274
+ setResetProgress(function (prev) { return prev + 1; });
275
+ }
276
+ };
277
+ var handleExpand = function () {
278
+ var _a;
279
+ setFullScreenFloater(true);
280
+ !fullScreenFloater && onExpand && onExpand((_a = data[current]) === null || _a === void 0 ? void 0 : _a.campaignType);
281
+ };
282
+ var renderButtons = useMemo(function () {
283
+ var _a;
284
+ var getButton = function (action, index) {
285
+ if (action === 'close') {
286
+ return (jsx("img", { loading: 'lazy', src: FloaterClose, onClick: function (e) {
287
+ handleClickWithStopPropagation(e, handleClose);
288
+ }, alt: 'Close' }, "button-".concat(index)));
289
+ }
290
+ else if (action === 'maximize') {
291
+ return (jsx("img", { loading: 'lazy', src: FloaterExpand, alt: 'Expand', onClick: function (e) {
292
+ handleClickWithStopPropagation(e, handleExpand);
293
+ } }, "button-".concat(index)));
294
+ }
295
+ };
296
+ return (_a = data[current]) === null || _a === void 0 ? void 0 : _a.attributes.map(function (item, index) {
297
+ if (item.type !== 'button')
298
+ return null;
299
+ else if (fullScreenFloater && !item.minimisedOnly) {
300
+ return getButton(item.action, index);
301
+ }
302
+ else if (!fullScreenFloater) {
303
+ return getButton(item.action, index);
304
+ }
305
+ return null;
306
+ });
307
+ }, [data, current, fullScreenFloater]);
308
+ return (jsx("div", __assign({ className: "".concat(styles['utilswrapper'], " utilswrapper") }, { children: jsxs("div", __assign({ onClick: handleExpand, className: "".concat(styles['floater-container'], " ").concat(hiddenFloater ? styles['hidden'] : '', " ").concat(fullScreenFloater ? styles['full-screen'] : '').concat(showFloaterWithAnimation && !fullScreenFloater
309
+ ? styles['minimised']
310
+ : '', " "), style: !fullScreenFloater
311
+ ? {
312
+ width: floaterDimensions.width,
313
+ height: floaterDimensions.height,
314
+ }
315
+ : { width: '100vw', height: '100dvh' } }, { children: [showFloaterWithAnimation && !fullScreenFloater && (jsx("div", __assign({ className: styles['floater-icon-container'] }, { children: renderButtons }))), showFloaterWithAnimation && (jsx("div", __assign({ className: styles['progressBarContainer'] }, { children: mediaData === null || mediaData === void 0 ? void 0 : mediaData.map(function (item, index) {
316
+ return (jsx(ProgressBar, { completed: current > index, disabled: current < index, hidden: !fullScreenFloater, resetProgress: resetProgress, duration: item.imageType === MEDIA_TYPE.ANIMATION
317
+ ? durationOfLottie *
318
+ 1000
319
+ : item.imageType ===
320
+ MEDIA_TYPE.IMAGE
321
+ ? (item === null || item === void 0 ? void 0 : item.time) * 1000
322
+ : 0 }, index));
323
+ }) }))), showFloaterWithAnimation && fullScreenFloater && (jsxs("div", __assign({ className: styles['interaction-layer'] }, { children: [jsx("div", { className: styles['gradientContainer'] }), jsx("div", __assign({ className: "\n ".concat(styles['floater-icon-container'], " ").concat(styles['maximised'], "\n ") }, { children: renderButtons })), jsx(TouchArea, { handleTapToNextStory: function () {
324
+ handleTapToChangeStory(1);
325
+ }, handleTapToPrevStory: function () {
326
+ handleTapToChangeStory(0);
327
+ } }), footerButtonData && (jsx(Footer, { campaignType: data[current].campaignType, redirectLink: footerButtonData.url, footerText: footerButtonData.title, onFooterClick: onFooterClick }))] }))), showFloaterWithAnimation &&
328
+ mediaData[current].imageType === MEDIA_TYPE.ANIMATION && (jsx(Lottie, { style: fullScreenFloater
329
+ ? {
330
+ borderRadius: '1rem 1rem 0 0',
331
+ width: '100%',
332
+ }
333
+ : {
334
+ borderRadius: '0px',
335
+ }, onDOMLoaded: updateDurationOnLottieLoad, onLoopComplete: handleLottieLoop, lottieRef: lottieRef, animationData: mediaData[current].url, autoPlay: true, loop: true })), showFloaterWithAnimation &&
336
+ mediaData[current].imageType === MEDIA_TYPE.IMAGE && (jsx("img", { loading: 'lazy', style: { width: '100%' }, src: mediaData[current].url.src
337
+ ? mediaData[current]
338
+ .url.src
339
+ : mediaData[current].url, alt: mediaData[current].title }))] })) })));
340
+ };
341
+
342
+ export { Floater };
343
+ //# sourceMappingURL=ct-platform-floater.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ct-platform-floater.esm.js","sources":["../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js","../packages/components/Floater/src/AminatedIcon/index.tsx","../packages/components/Floater/src/floater.utils.ts","../packages/components/Floater/src/Footer/index.tsx","../packages/components/Floater/src/TouchArea/index.tsx","../packages/components/Floater/src/ProgressBar/index.tsx","../packages/components/Floater/src/floater.constants.ts","../packages/components/Floater/src/Floater.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n",null,null,null,null,null,null,null],"names":["styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","_jsx","_jsxs"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,7 @@
1
+ export declare const MEDIA_TYPE: {
2
+ IMAGE: string;
3
+ ANIMATION: string;
4
+ VIDEO: string;
5
+ GIF: string;
6
+ };
7
+ //# sourceMappingURL=floater.constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"floater.constants.d.ts","sourceRoot":"","sources":["../packages/components/Floater/src/floater.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;CAKtB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { DataItem, MediaData, FooterButtonData } from './Floater.types';
2
+ declare const handleClickWithStopPropagation: (e: React.MouseEvent, onClickFunction: () => void) => void;
3
+ declare const getMediaData: (data: DataItem[]) => MediaData[];
4
+ declare const getFooterButtonData: (data: DataItem) => FooterButtonData | undefined;
5
+ declare const calculateFloaterDimensions: () => {
6
+ width: string;
7
+ height: string;
8
+ };
9
+ export { handleClickWithStopPropagation, getMediaData, getFooterButtonData, calculateFloaterDimensions, };
10
+ //# sourceMappingURL=floater.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"floater.utils.d.ts","sourceRoot":"","sources":["../packages/components/Floater/src/floater.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,SAAS,EAET,gBAAgB,EAEnB,MAAM,iBAAiB,CAAC;AAEzB,QAAA,MAAM,8BAA8B,MAC7B,gBAAgB,mBACF,MAAM,IAAI,KAC5B,IAGF,CAAC;AAEF,QAAA,MAAM,YAAY,SAAU,QAAQ,EAAE,KAAG,SAAS,EASjD,CAAC;AAEF,QAAA,MAAM,mBAAmB,SAAU,QAAQ,KAAG,gBAAgB,GAAG,SAWhE,CAAC;AAEF,QAAA,MAAM,0BAA0B;WAAgB,MAAM;YAAU,MAAM;CAoBrE,CAAC;AAEF,OAAO,EACH,8BAA8B,EAC9B,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,GAC7B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default as Floater } from './Floater';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../packages/components/Floater/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC"}
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@cleartrip/ct-platform-floater",
3
+ "version": "0.1.42-b5",
4
+ "description": "Drawer Component",
5
+ "types": "dist/index.d.ts",
6
+ "main": "dist/ct-platform-drawer.cjs.js",
7
+ "module": "dist/ct-platform-drawer.esm.js",
8
+ "sideEffects": false,
9
+ "files": [
10
+ "dist"
11
+ ],
12
+ "devDependencies": {},
13
+ "dependencies": {
14
+ "lottie-react": "^2.4.0",
15
+ "@cleartrip/ct-platform-assets": "0.1.42-b5"
16
+ },
17
+ "peerDependencies": {
18
+ "react": ">=16.8.0",
19
+ "react-dom": ">=16.8.0"
20
+ },
21
+ "publishConfig": {
22
+ "access": "public"
23
+ },
24
+ "author": "Cleartrip",
25
+ "license": "ISC",
26
+ "scripts": {
27
+ "test": "echo \"Error: no test specified\" && exit 1",
28
+ "watch-package": "rollup -c -w",
29
+ "build-package": "rollup -c",
30
+ "build-package:clean": "rm -rf dist && rollup -c"
31
+ }
32
+ }