@saasquatch/squatch-js 2.8.2-36 → 2.8.2-37
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.
- package/dist/squatch.cjs.js +26 -367
- package/dist/squatch.cjs.js.map +1 -1
- package/dist/squatch.esm.js +26 -367
- package/dist/squatch.esm.js.map +1 -1
- package/dist/squatch.js +26 -367
- package/dist/squatch.js.map +1 -1
- package/dist/squatch.min.js +2 -2
- package/dist/widgets/PopupWidget.d.ts +2 -2
- package/dist/widgets/Widget.d.ts +0 -1
- package/dist/widgets/declarative/DeclarativeWidget.d.ts +0 -1
- package/package.json +1 -1
- package/dist/widgets/SkeletonTemplate.d.ts +0 -13
package/dist/squatch.js
CHANGED
|
@@ -704,7 +704,6 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
704
704
|
const raw = params;
|
|
705
705
|
const clean = validatePasswordlessConfig(raw);
|
|
706
706
|
const { widgetType, engagementMedium = "POPUP", jwt, user } = clean;
|
|
707
|
-
console.log({ params });
|
|
708
707
|
const tenantAlias = encodeURIComponent(this.tenantAlias);
|
|
709
708
|
const accountId = (user == null ? void 0 : user.accountId) ? encodeURIComponent(user.accountId) : null;
|
|
710
709
|
const userId = (user == null ? void 0 : user.id) ? encodeURIComponent(user.id) : null;
|
|
@@ -893,9 +892,6 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
893
892
|
if ((options == null ? void 0 : options.maxWidth) || (options == null ? void 0 : options.minWidth)) {
|
|
894
893
|
frame.style.width = "100%";
|
|
895
894
|
}
|
|
896
|
-
if (options == null ? void 0 : options.initialHeight) {
|
|
897
|
-
frame.height = options.initialHeight;
|
|
898
|
-
}
|
|
899
895
|
return frame;
|
|
900
896
|
}
|
|
901
897
|
_findFrame() {
|
|
@@ -1116,22 +1112,15 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1116
1112
|
super(params);
|
|
1117
1113
|
__publicField(this, "show", this.open);
|
|
1118
1114
|
__publicField(this, "hide", this.close);
|
|
1119
|
-
if (container)
|
|
1120
|
-
this.container = container;
|
|
1121
|
-
}
|
|
1115
|
+
if (container) this.container = container;
|
|
1122
1116
|
}
|
|
1123
1117
|
async load() {
|
|
1124
|
-
var _a2, _b, _c, _d, _e
|
|
1118
|
+
var _a2, _b, _c, _d, _e;
|
|
1125
1119
|
const brandingConfig = (_b = (_a2 = this.context.widgetConfig) == null ? void 0 : _a2.values) == null ? void 0 : _b.brandingConfig;
|
|
1126
|
-
const initialHeight = brandingConfig == null ? void 0 : brandingConfig.loadingHeight;
|
|
1127
1120
|
const sizes = (_c = brandingConfig == null ? void 0 : brandingConfig.widgetSize) == null ? void 0 : _c.embeddedWidgets;
|
|
1128
1121
|
const maxWidth = (sizes == null ? void 0 : sizes.maxWidth) ? formatWidth(sizes.maxWidth) : "";
|
|
1129
1122
|
const minWidth = (sizes == null ? void 0 : sizes.minWidth) ? formatWidth(sizes.minWidth) : "";
|
|
1130
|
-
const frame = this._createFrame({
|
|
1131
|
-
minWidth,
|
|
1132
|
-
maxWidth,
|
|
1133
|
-
initialHeight
|
|
1134
|
-
});
|
|
1123
|
+
const frame = this._createFrame({ minWidth, maxWidth });
|
|
1135
1124
|
const element = this._findElement();
|
|
1136
1125
|
if ((_d = this.context) == null ? void 0 : _d.container) {
|
|
1137
1126
|
element.style.visibility = "hidden";
|
|
@@ -1159,29 +1148,14 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1159
1148
|
}
|
|
1160
1149
|
const frameDoc = contentWindow.document;
|
|
1161
1150
|
frameDoc.open();
|
|
1162
|
-
|
|
1163
|
-
frameDoc.write(
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
1167
|
-
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
1168
|
-
<link rel="preload" href="https://fonts.googleapis.com/css2?family=${encodeURIComponent(
|
|
1169
|
-
(_g = brandingConfig == null ? void 0 : brandingConfig.main) == null ? void 0 : _g.brandFont
|
|
1170
|
-
)}" as="style">` : ""}
|
|
1171
|
-
<link rel="dns-prefetch" href="https://res.cloudinary.com">
|
|
1172
|
-
<link rel="preconnect" href="https://res.cloudinary.com" crossorigin>
|
|
1173
|
-
<script src="${this.npmCdn}/resize-observer-polyfill@1.5.x"><\/script>
|
|
1174
|
-
<style data-styles>
|
|
1175
|
-
html { visibility:hidden;}
|
|
1176
|
-
</style>
|
|
1177
|
-
${this.content}
|
|
1178
|
-
|
|
1179
|
-
`);
|
|
1151
|
+
frameDoc.write(this.content);
|
|
1152
|
+
frameDoc.write(
|
|
1153
|
+
`<script src="${this.npmCdn}/resize-observer-polyfill@1.5.x"><\/script>`
|
|
1154
|
+
);
|
|
1180
1155
|
frameDoc.close();
|
|
1181
1156
|
domready(frameDoc, async () => {
|
|
1182
1157
|
const _sqh = contentWindow.squatch || contentWindow.widgetIdent;
|
|
1183
|
-
frame.height =
|
|
1184
|
-
console.log({ height: frameDoc.body.scrollHeight });
|
|
1158
|
+
frame.height = frameDoc.body.scrollHeight;
|
|
1185
1159
|
const ro = new contentWindow["ResizeObserver"]((entries) => {
|
|
1186
1160
|
for (const entry of entries) {
|
|
1187
1161
|
const { height } = entry.contentRect;
|
|
@@ -1277,10 +1251,11 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1277
1251
|
};
|
|
1278
1252
|
}
|
|
1279
1253
|
}
|
|
1280
|
-
_createPopupDialog(
|
|
1281
|
-
var _a2;
|
|
1254
|
+
_createPopupDialog() {
|
|
1255
|
+
var _a2, _b, _c;
|
|
1282
1256
|
const dialog = document.createElement("dialog");
|
|
1283
|
-
const
|
|
1257
|
+
const brandingConfig = (_b = (_a2 = this.context.widgetConfig) == null ? void 0 : _a2.values) == null ? void 0 : _b.brandingConfig;
|
|
1258
|
+
const sizes = (_c = brandingConfig == null ? void 0 : brandingConfig.widgetSize) == null ? void 0 : _c.popupWidgets;
|
|
1284
1259
|
const minWidth = (sizes == null ? void 0 : sizes.minWidth) ? formatWidth(sizes.minWidth) : "auto";
|
|
1285
1260
|
const maxWidth = (sizes == null ? void 0 : sizes.maxWidth) ? formatWidth(sizes.maxWidth) : "500px";
|
|
1286
1261
|
dialog.id = this.id;
|
|
@@ -1296,18 +1271,14 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1296
1271
|
return dialog;
|
|
1297
1272
|
}
|
|
1298
1273
|
async load() {
|
|
1299
|
-
var _a2
|
|
1300
|
-
|
|
1301
|
-
const brandingConfig = (_b = (_a2 = this.context.widgetConfig) == null ? void 0 : _a2.values) == null ? void 0 : _b.brandingConfig;
|
|
1302
|
-
const initialHeight = brandingConfig == null ? void 0 : brandingConfig.loadingHeight;
|
|
1303
|
-
console.log({ initialHeight, brandingConfig });
|
|
1304
|
-
const frame = this._createFrame({ initialHeight });
|
|
1274
|
+
var _a2;
|
|
1275
|
+
const frame = this._createFrame();
|
|
1305
1276
|
this._initialiseCTA();
|
|
1306
1277
|
const element = this.container ? this._findElement() : document.body;
|
|
1307
1278
|
const dialogParent = element.shadowRoot || element;
|
|
1308
|
-
const dialog = this._createPopupDialog(
|
|
1279
|
+
const dialog = this._createPopupDialog();
|
|
1309
1280
|
dialog.appendChild(frame);
|
|
1310
|
-
if (((
|
|
1281
|
+
if (((_a2 = dialogParent.lastChild) == null ? void 0 : _a2.nodeName) === "DIALOG") {
|
|
1311
1282
|
dialogParent.replaceChild(dialog, dialogParent.lastChild);
|
|
1312
1283
|
} else {
|
|
1313
1284
|
dialogParent.appendChild(dialog);
|
|
@@ -1318,29 +1289,15 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1318
1289
|
}
|
|
1319
1290
|
const frameDoc = contentWindow.document;
|
|
1320
1291
|
frameDoc.open();
|
|
1321
|
-
|
|
1322
|
-
frameDoc.write(
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
1326
|
-
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
1327
|
-
<link rel="preload" href="https://fonts.googleapis.com/css2?family=${encodeURIComponent(
|
|
1328
|
-
(_e = brandingConfig == null ? void 0 : brandingConfig.main) == null ? void 0 : _e.brandFont
|
|
1329
|
-
)}" as="style">` : ""}
|
|
1330
|
-
<link rel="dns-prefetch" href="https://res.cloudinary.com">
|
|
1331
|
-
<link rel="preconnect" href="https://res.cloudinary.com" crossorigin>
|
|
1332
|
-
<script src="${this.npmCdn}/resize-observer-polyfill@1.5.x"><\/script>
|
|
1333
|
-
<style data-styles>
|
|
1334
|
-
html { visibility:hidden;}
|
|
1335
|
-
</style>
|
|
1336
|
-
${this.content}
|
|
1337
|
-
|
|
1338
|
-
`);
|
|
1292
|
+
frameDoc.write(this.content);
|
|
1293
|
+
frameDoc.write(
|
|
1294
|
+
`<script src="${this.npmCdn}/resize-observer-polyfill@1.5.x"><\/script>`
|
|
1295
|
+
);
|
|
1339
1296
|
frameDoc.close();
|
|
1340
1297
|
_log$6("Popup template loaded into iframe");
|
|
1341
|
-
await this._setupResizeHandler(frame
|
|
1298
|
+
await this._setupResizeHandler(frame);
|
|
1342
1299
|
}
|
|
1343
|
-
async _setupResizeHandler(frame
|
|
1300
|
+
async _setupResizeHandler(frame) {
|
|
1344
1301
|
const { contentWindow } = frame;
|
|
1345
1302
|
if (!contentWindow) {
|
|
1346
1303
|
throw new Error("Frame needs a content window");
|
|
@@ -1348,7 +1305,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1348
1305
|
const frameDoc = contentWindow.document;
|
|
1349
1306
|
domready(frameDoc, async () => {
|
|
1350
1307
|
frameDoc.body.style.overflowY = "hidden";
|
|
1351
|
-
frame.height =
|
|
1308
|
+
frame.height = `${frameDoc.body.offsetHeight}px`;
|
|
1352
1309
|
const ro = new contentWindow["ResizeObserver"]((entries) => {
|
|
1353
1310
|
for (const entry of entries) {
|
|
1354
1311
|
const { top, bottom } = entry.contentRect;
|
|
@@ -1876,264 +1833,6 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1876
1833
|
}
|
|
1877
1834
|
};
|
|
1878
1835
|
}
|
|
1879
|
-
const getSkeleton = ({
|
|
1880
|
-
type = "verified-access",
|
|
1881
|
-
height = "500px",
|
|
1882
|
-
skeletonBackgroundColor = "#e0e0e0",
|
|
1883
|
-
skeletonShimmerColor = "#f5f5f5"
|
|
1884
|
-
}) => {
|
|
1885
|
-
const referrerHTML = `
|
|
1886
|
-
<div class="hero-section">
|
|
1887
|
-
<div class="hero-content">
|
|
1888
|
-
<div class="skeleton sk-title-lg"></div>
|
|
1889
|
-
<div class="skeleton sk-text"></div>
|
|
1890
|
-
<div class="skeleton sk-text sk-text-short"></div>
|
|
1891
|
-
</div>
|
|
1892
|
-
<div class="skeleton hero-image"></div>
|
|
1893
|
-
</div>
|
|
1894
|
-
|
|
1895
|
-
<div class="share-section">
|
|
1896
|
-
<div class="skeleton sk-label"></div>
|
|
1897
|
-
<div class="skeleton sk-input"></div>
|
|
1898
|
-
<div class="social-buttons">
|
|
1899
|
-
<div class="skeleton sk-btn-social"></div>
|
|
1900
|
-
<div class="skeleton sk-btn-social"></div>
|
|
1901
|
-
<div class="skeleton sk-btn-social"></div>
|
|
1902
|
-
<div class="skeleton sk-btn-social"></div>
|
|
1903
|
-
</div>
|
|
1904
|
-
</div>
|
|
1905
|
-
|
|
1906
|
-
<div class="skeleton sk-title-md" style="margin-top: 0; width: 30%; margin-left: auto; margin-right: auto"></div>
|
|
1907
|
-
<div class="skeleton sk-text" style="width: 60%; margin-left: auto; margin-right: auto"></div>
|
|
1908
|
-
|
|
1909
|
-
<div class="stats-section">
|
|
1910
|
-
<div class="stat-card">
|
|
1911
|
-
<div class="skeleton sk-stat-num"></div>
|
|
1912
|
-
<div class="skeleton sk-stat-label"></div>
|
|
1913
|
-
</div>
|
|
1914
|
-
<div class="stat-card stat-divider">
|
|
1915
|
-
<div class="skeleton sk-stat-num"></div>
|
|
1916
|
-
<div class="skeleton sk-stat-label"></div>
|
|
1917
|
-
</div>
|
|
1918
|
-
</div>
|
|
1919
|
-
|
|
1920
|
-
<div class="skeleton sk-title-md"></div>
|
|
1921
|
-
|
|
1922
|
-
<div class="table-header">
|
|
1923
|
-
<div class="skeleton sk-th col-user"></div>
|
|
1924
|
-
<div class="skeleton sk-th col-status"></div>
|
|
1925
|
-
<div class="skeleton sk-th col-reward"></div>
|
|
1926
|
-
<div class="skeleton sk-th col-date"></div>
|
|
1927
|
-
</div>
|
|
1928
|
-
|
|
1929
|
-
<div class="table-row">
|
|
1930
|
-
<div class="col-user"><div class="skeleton sk-text" style="width: 70%; margin: 0"></div></div>
|
|
1931
|
-
<div class="col-status"><div class="skeleton sk-badge" style="margin: 0"></div></div>
|
|
1932
|
-
<div class="col-reward"><div class="skeleton sk-reward-block" style="margin: 0"></div></div>
|
|
1933
|
-
<div class="col-date"><div class="skeleton sk-text" style="width: 80%; margin: 0"></div></div>
|
|
1934
|
-
</div>
|
|
1935
|
-
|
|
1936
|
-
<div class="table-row">
|
|
1937
|
-
<div class="col-user"><div class="skeleton sk-text" style="width: 60%; margin: 0"></div></div>
|
|
1938
|
-
<div class="col-status"><div class="skeleton sk-badge" style="margin: 0"></div></div>
|
|
1939
|
-
<div class="col-reward"><div class="skeleton sk-reward-block" style="margin: 0"></div></div>
|
|
1940
|
-
<div class="col-date"><div class="skeleton sk-text" style="width: 80%; margin: 0"></div></div>
|
|
1941
|
-
</div>
|
|
1942
|
-
|
|
1943
|
-
<div class="table-row">
|
|
1944
|
-
<div class="col-user"><div class="skeleton sk-text" style="width: 75%; margin: 0"></div></div>
|
|
1945
|
-
<div class="col-status"><div class="skeleton sk-badge" style="margin: 0"></div></div>
|
|
1946
|
-
<div class="col-reward"><div class="skeleton sk-reward-block" style="margin: 0"></div></div>
|
|
1947
|
-
<div class="col-date"><div class="skeleton sk-text" style="width: 80%; margin: 0"></div></div>
|
|
1948
|
-
</div>
|
|
1949
|
-
|
|
1950
|
-
<div class="pagination">
|
|
1951
|
-
<div class="skeleton sk-btn-page"></div>
|
|
1952
|
-
<div class="skeleton sk-btn-page"></div>
|
|
1953
|
-
</div>
|
|
1954
|
-
`;
|
|
1955
|
-
const instantAccessHTML = `
|
|
1956
|
-
<div class="hero-section instant-access-layout">
|
|
1957
|
-
<div class="skeleton hero-image ia-image"></div>
|
|
1958
|
-
|
|
1959
|
-
<div class="hero-content ia-content">
|
|
1960
|
-
<div class="skeleton sk-title-lg ia-center"></div>
|
|
1961
|
-
<div class="skeleton sk-text ia-center"></div>
|
|
1962
|
-
|
|
1963
|
-
<div class="skeleton sk-btn-action"></div>
|
|
1964
|
-
|
|
1965
|
-
<div class="skeleton sk-label"></div>
|
|
1966
|
-
<div class="input-group">
|
|
1967
|
-
<div class="skeleton sk-input"></div>
|
|
1968
|
-
<div class="skeleton sk-btn-copy"></div>
|
|
1969
|
-
</div>
|
|
1970
|
-
|
|
1971
|
-
<div class="skeleton sk-text-short ia-center" style="margin-top: 20px; width: 30%"></div>
|
|
1972
|
-
<div class="skeleton sk-text-short ia-center" style="width: 20%"></div>
|
|
1973
|
-
</div>
|
|
1974
|
-
</div>
|
|
1975
|
-
`;
|
|
1976
|
-
return `
|
|
1977
|
-
<style>
|
|
1978
|
-
* {
|
|
1979
|
-
box-sizing: border-box;
|
|
1980
|
-
padding: 0;
|
|
1981
|
-
margin: 0;
|
|
1982
|
-
}
|
|
1983
|
-
|
|
1984
|
-
.widget-container {
|
|
1985
|
-
background: white;
|
|
1986
|
-
width: 100%;
|
|
1987
|
-
padding: 40px;
|
|
1988
|
-
box-sizing: border-box;
|
|
1989
|
-
overflow: hidden;
|
|
1990
|
-
}
|
|
1991
|
-
|
|
1992
|
-
@keyframes shimmer {
|
|
1993
|
-
0% { background-position: -100% 0; }
|
|
1994
|
-
100% { background-position: 100% 0; }
|
|
1995
|
-
}
|
|
1996
|
-
|
|
1997
|
-
.skeleton {
|
|
1998
|
-
background: ${skeletonBackgroundColor};
|
|
1999
|
-
background: linear-gradient(
|
|
2000
|
-
90deg,
|
|
2001
|
-
${skeletonBackgroundColor} 25%,
|
|
2002
|
-
${skeletonShimmerColor} 50%,
|
|
2003
|
-
${skeletonBackgroundColor} 75%
|
|
2004
|
-
);
|
|
2005
|
-
background-size: 200% 100%;
|
|
2006
|
-
animation: shimmer 1.5s infinite linear;
|
|
2007
|
-
border-radius: 6px;
|
|
2008
|
-
margin-bottom: 12px;
|
|
2009
|
-
}
|
|
2010
|
-
|
|
2011
|
-
/* Typography Skeletons */
|
|
2012
|
-
.sk-title-lg { height: 36px; width: 80%; margin-bottom: 16px; }
|
|
2013
|
-
.sk-title-md { height: 28px; width: 30%; margin-bottom: 20px; margin-top: 40px; }
|
|
2014
|
-
.sk-text { height: 16px; width: 90%; margin-bottom: 8px; }
|
|
2015
|
-
.sk-text-short { width: 40%; }
|
|
2016
|
-
.sk-label { height: 14px; width: 25%; margin-bottom: 10px; }
|
|
2017
|
-
|
|
2018
|
-
/* Layouts */
|
|
2019
|
-
.hero-section {
|
|
2020
|
-
display: flex;
|
|
2021
|
-
gap: 40px;
|
|
2022
|
-
margin-bottom: 40px;
|
|
2023
|
-
padding-bottom: 40px;
|
|
2024
|
-
flex-direction: row;
|
|
2025
|
-
height: 100%;
|
|
2026
|
-
/* Removed border-bottom */
|
|
2027
|
-
}
|
|
2028
|
-
|
|
2029
|
-
.hero-content {
|
|
2030
|
-
flex: 1;
|
|
2031
|
-
display: flex;
|
|
2032
|
-
flex-direction: column;
|
|
2033
|
-
justify-content: center;
|
|
2034
|
-
}
|
|
2035
|
-
|
|
2036
|
-
.hero-image {
|
|
2037
|
-
flex: 1;
|
|
2038
|
-
height: 300px;
|
|
2039
|
-
border-radius: 12px;
|
|
2040
|
-
}
|
|
2041
|
-
|
|
2042
|
-
/* -- Specific Instant Access Overrides -- */
|
|
2043
|
-
.instant-access-layout {
|
|
2044
|
-
margin-bottom: 0;
|
|
2045
|
-
padding-bottom: 0;
|
|
2046
|
-
align-items: center;
|
|
2047
|
-
}
|
|
2048
|
-
.ia-image {
|
|
2049
|
-
height: 400px;
|
|
2050
|
-
}
|
|
2051
|
-
.ia-center {
|
|
2052
|
-
margin-left: auto;
|
|
2053
|
-
margin-right: auto;
|
|
2054
|
-
}
|
|
2055
|
-
.ia-content {
|
|
2056
|
-
align-items: center;
|
|
2057
|
-
text-align: center;
|
|
2058
|
-
}
|
|
2059
|
-
.sk-btn-action {
|
|
2060
|
-
height: 45px;
|
|
2061
|
-
width: 140px;
|
|
2062
|
-
border-radius: 6px;
|
|
2063
|
-
margin: 24px auto;
|
|
2064
|
-
}
|
|
2065
|
-
.input-group {
|
|
2066
|
-
display: flex;
|
|
2067
|
-
gap: 10px;
|
|
2068
|
-
width: 100%;
|
|
2069
|
-
max-width: 400px;
|
|
2070
|
-
}
|
|
2071
|
-
.sk-btn-copy {
|
|
2072
|
-
height: 50px;
|
|
2073
|
-
width: 120px;
|
|
2074
|
-
border-radius: 8px;
|
|
2075
|
-
}
|
|
2076
|
-
/* ------------------------------------- */
|
|
2077
|
-
|
|
2078
|
-
.share-section { margin-bottom: 40px; }
|
|
2079
|
-
.sk-input { height: 50px; width: 100%; border-radius: 8px; margin-bottom: 16px; }
|
|
2080
|
-
|
|
2081
|
-
.social-buttons { display: flex; gap: 12px; }
|
|
2082
|
-
.sk-btn-social { flex: 1; height: 50px; border-radius: 8px; }
|
|
2083
|
-
|
|
2084
|
-
.stats-section {
|
|
2085
|
-
display: flex;
|
|
2086
|
-
gap: 24px;
|
|
2087
|
-
margin-bottom: 40px;
|
|
2088
|
-
padding: 30px 0;
|
|
2089
|
-
/* Removed border-top and border-bottom */
|
|
2090
|
-
}
|
|
2091
|
-
.stat-card { flex: 1; display: flex; flex-direction: column; align-items: center; }
|
|
2092
|
-
.stat-divider { padding-left: 24px; }
|
|
2093
|
-
.sk-stat-num { height: 48px; width: 120px; margin-bottom: 8px; }
|
|
2094
|
-
.sk-stat-label { height: 18px; width: 80px; }
|
|
2095
|
-
|
|
2096
|
-
/* Table Styles */
|
|
2097
|
-
.table-header { display: flex; gap: 16px; margin-bottom: 16px; }
|
|
2098
|
-
.sk-th { height: 16px; }
|
|
2099
|
-
.table-row {
|
|
2100
|
-
display: flex;
|
|
2101
|
-
align-items: center;
|
|
2102
|
-
gap: 16px;
|
|
2103
|
-
padding: 16px 0;
|
|
2104
|
-
/* Removed border-bottom */
|
|
2105
|
-
}
|
|
2106
|
-
|
|
2107
|
-
.col-user { flex: 2; }
|
|
2108
|
-
.col-status { flex: 1; }
|
|
2109
|
-
.col-reward { flex: 2; }
|
|
2110
|
-
.col-date { flex: 1; }
|
|
2111
|
-
|
|
2112
|
-
.sk-badge { height: 28px; width: 90px; border-radius: 14px; }
|
|
2113
|
-
.sk-reward-block { height: 36px; width: 100%; border-radius: 6px; }
|
|
2114
|
-
|
|
2115
|
-
.pagination { display: flex; justify-content: flex-end; gap: 8px; margin-top: 24px; }
|
|
2116
|
-
.sk-btn-page { height: 36px; width: 64px; border-radius: 6px; margin-bottom: 0; }
|
|
2117
|
-
|
|
2118
|
-
@media (max-width: 768px) {
|
|
2119
|
-
body { padding: 20px; }
|
|
2120
|
-
.widget-container { padding: 24px; }
|
|
2121
|
-
|
|
2122
|
-
.hero-section { flex-direction: column-reverse; gap: 24px; }
|
|
2123
|
-
.instant-access-layout { flex-direction: column; }
|
|
2124
|
-
|
|
2125
|
-
.hero-image { height: 220px; width: 100%; }
|
|
2126
|
-
.sk-title-lg { width: 100%; }
|
|
2127
|
-
|
|
2128
|
-
.col-date { display: none; }
|
|
2129
|
-
}
|
|
2130
|
-
</style>
|
|
2131
|
-
|
|
2132
|
-
<div class="widget-container">
|
|
2133
|
-
${type === "verified-access" ? referrerHTML : instantAccessHTML}
|
|
2134
|
-
</div>
|
|
2135
|
-
`;
|
|
2136
|
-
};
|
|
2137
1836
|
const _log$2 = browserExports.debug("squatch-js:decodeUserJwt");
|
|
2138
1837
|
function decodeUserJwt(tokenStr) {
|
|
2139
1838
|
var _a2;
|
|
@@ -2272,12 +1971,6 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
2272
1971
|
domain: (config == null ? void 0 : config.domain) || ((_b = this.config) == null ? void 0 : _b.domain) || DEFAULT_DOMAIN
|
|
2273
1972
|
});
|
|
2274
1973
|
}
|
|
2275
|
-
getWidgetType(widgetType) {
|
|
2276
|
-
if (widgetType && (widgetType.includes("websiteReferralWidget") || widgetType.includes("friendWidget"))) {
|
|
2277
|
-
return "instant-access";
|
|
2278
|
-
}
|
|
2279
|
-
return "verified-access";
|
|
2280
|
-
}
|
|
2281
1974
|
async renderPasswordlessVariant() {
|
|
2282
1975
|
this._setupApis();
|
|
2283
1976
|
_log$1("Rendering as an Instant Access widget");
|
|
@@ -2373,26 +2066,12 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
2373
2066
|
}
|
|
2374
2067
|
}
|
|
2375
2068
|
async connectedCallback() {
|
|
2069
|
+
var _a2, _b;
|
|
2376
2070
|
this.loaded = true;
|
|
2377
2071
|
this.container = this.getAttribute("container");
|
|
2378
|
-
this.widgetType = this.getAttribute("widget") || void 0;
|
|
2379
|
-
console.log("widget type", this.widgetType);
|
|
2380
|
-
const skeletonWidgetType = this.getWidgetType(this.widgetType);
|
|
2381
|
-
const skeletonHTML = getSkeleton({
|
|
2382
|
-
height: "100%",
|
|
2383
|
-
type: skeletonWidgetType
|
|
2384
|
-
});
|
|
2385
|
-
const skeletonContainer = document.createElement("div");
|
|
2386
|
-
skeletonContainer.id = "loading-skeleton";
|
|
2387
|
-
skeletonContainer.innerHTML = skeletonHTML;
|
|
2388
|
-
const root = this.shadowRoot || this.attachShadow({ mode: "open" });
|
|
2389
|
-
root.innerHTML = "";
|
|
2390
|
-
root.appendChild(skeletonContainer);
|
|
2391
2072
|
await this.renderWidget();
|
|
2392
|
-
const
|
|
2393
|
-
if (
|
|
2394
|
-
loadingElement.remove();
|
|
2395
|
-
}
|
|
2073
|
+
const slot = (_a2 = this.shadowRoot && Array.from(this.shadowRoot.children)) == null ? void 0 : _a2.find((c) => c.tagName === "SLOT");
|
|
2074
|
+
if (slot) (_b = this.shadowRoot) == null ? void 0 : _b.removeChild(slot);
|
|
2396
2075
|
if (this.getAttribute("open") !== null) this.open();
|
|
2397
2076
|
}
|
|
2398
2077
|
}
|
|
@@ -2421,27 +2100,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
2421
2100
|
async connectedCallback() {
|
|
2422
2101
|
this.loaded = true;
|
|
2423
2102
|
this.container = this.getAttribute("container");
|
|
2424
|
-
this.widgetType = this.getAttribute("widget") || void 0;
|
|
2425
|
-
const skeletonWidgetType = this.getWidgetType(this.widgetType);
|
|
2426
|
-
const skeletonHTML = getSkeleton({
|
|
2427
|
-
height: "100%",
|
|
2428
|
-
type: skeletonWidgetType
|
|
2429
|
-
});
|
|
2430
|
-
const skeletonContainer = document.createElement("div");
|
|
2431
|
-
skeletonContainer.id = "loading-skeleton";
|
|
2432
|
-
skeletonContainer.innerHTML = skeletonHTML;
|
|
2433
|
-
const root = this.shadowRoot || this.attachShadow({ mode: "open" });
|
|
2434
|
-
const container = root.getElementById("#squatchModal");
|
|
2435
|
-
console.log("Container is ", container);
|
|
2436
|
-
if (container) {
|
|
2437
|
-
container.innerHTML = "";
|
|
2438
|
-
container.appendChild(skeletonContainer);
|
|
2439
|
-
}
|
|
2440
2103
|
await this.renderWidget();
|
|
2441
|
-
const loadingElement = root.getElementById("loading-skeleton");
|
|
2442
|
-
if (loadingElement) {
|
|
2443
|
-
loadingElement.remove();
|
|
2444
|
-
}
|
|
2445
2104
|
if (this.getAttribute("open") !== null) this.open();
|
|
2446
2105
|
}
|
|
2447
2106
|
}
|