@saasquatch/squatch-js 2.8.2-14 → 2.8.2-16
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 +135 -405
- package/dist/squatch.cjs.js.map +1 -1
- package/dist/squatch.esm.js +135 -405
- package/dist/squatch.esm.js.map +1 -1
- package/dist/squatch.js +135 -405
- package/dist/squatch.js.map +1 -1
- package/dist/squatch.min.js +1 -1
- package/package.json +1 -1
package/dist/squatch.cjs.js
CHANGED
|
@@ -1108,351 +1108,6 @@ function delay(duration) {
|
|
|
1108
1108
|
setTimeout(resolve, duration);
|
|
1109
1109
|
});
|
|
1110
1110
|
}
|
|
1111
|
-
const getSkeleton = ({
|
|
1112
|
-
height = "500px",
|
|
1113
|
-
skeletonBackgroundColor = "#e0e0e0",
|
|
1114
|
-
skeletonShimmerColor = "#f5f5f5",
|
|
1115
|
-
borderColor = "#ccc"
|
|
1116
|
-
}) => {
|
|
1117
|
-
return `
|
|
1118
|
-
<style>
|
|
1119
|
-
* {
|
|
1120
|
-
box-sizing: border-box;
|
|
1121
|
-
padding: 0;
|
|
1122
|
-
margin: 0;
|
|
1123
|
-
}
|
|
1124
|
-
|
|
1125
|
-
.widget-container {
|
|
1126
|
-
background: white;
|
|
1127
|
-
width: 100%;
|
|
1128
|
-
max-width: 900px;
|
|
1129
|
-
padding: 40px;
|
|
1130
|
-
border-radius: 12px;
|
|
1131
|
-
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
|
|
1132
|
-
box-sizing: border-box;
|
|
1133
|
-
}
|
|
1134
|
-
|
|
1135
|
-
@keyframes shimmer {
|
|
1136
|
-
0% {
|
|
1137
|
-
background-position: -100% 0;
|
|
1138
|
-
}
|
|
1139
|
-
100% {
|
|
1140
|
-
background-position: 100% 0;
|
|
1141
|
-
}
|
|
1142
|
-
}
|
|
1143
|
-
|
|
1144
|
-
.skeleton {
|
|
1145
|
-
background: ${skeletonBackgroundColor};
|
|
1146
|
-
background: linear-gradient(
|
|
1147
|
-
90deg,
|
|
1148
|
-
${skeletonBackgroundColor} 25%,
|
|
1149
|
-
${skeletonShimmerColor} 50%,
|
|
1150
|
-
${skeletonBackgroundColor} 75%
|
|
1151
|
-
);
|
|
1152
|
-
background-size: 200% 100%;
|
|
1153
|
-
animation: shimmer 1.5s infinite linear;
|
|
1154
|
-
border-radius: 6px;
|
|
1155
|
-
margin-bottom: 12px;
|
|
1156
|
-
}
|
|
1157
|
-
|
|
1158
|
-
.sk-title-lg {
|
|
1159
|
-
height: 36px;
|
|
1160
|
-
width: 50%;
|
|
1161
|
-
margin-bottom: 16px;
|
|
1162
|
-
}
|
|
1163
|
-
.sk-title-md {
|
|
1164
|
-
height: 28px;
|
|
1165
|
-
width: 30%;
|
|
1166
|
-
margin-bottom: 20px;
|
|
1167
|
-
margin-top: 40px;
|
|
1168
|
-
}
|
|
1169
|
-
.sk-text {
|
|
1170
|
-
height: 16px;
|
|
1171
|
-
width: 80%;
|
|
1172
|
-
margin-bottom: 8px;
|
|
1173
|
-
}
|
|
1174
|
-
.sk-text-short {
|
|
1175
|
-
width: 40%;
|
|
1176
|
-
}
|
|
1177
|
-
.sk-label {
|
|
1178
|
-
height: 14px;
|
|
1179
|
-
width: 25%;
|
|
1180
|
-
margin-bottom: 10px;
|
|
1181
|
-
}
|
|
1182
|
-
|
|
1183
|
-
.hero-section {
|
|
1184
|
-
display: flex;
|
|
1185
|
-
gap: 40px;
|
|
1186
|
-
margin-bottom: 40px;
|
|
1187
|
-
border-bottom: 1px solid ${borderColor};
|
|
1188
|
-
padding-bottom: 40px;
|
|
1189
|
-
flex-direction: row;
|
|
1190
|
-
}
|
|
1191
|
-
.hero-content {
|
|
1192
|
-
flex: 1;
|
|
1193
|
-
display: flex;
|
|
1194
|
-
flex-direction: column;
|
|
1195
|
-
justify-content: center;
|
|
1196
|
-
}
|
|
1197
|
-
.hero-image {
|
|
1198
|
-
flex: 1;
|
|
1199
|
-
height: 300px;
|
|
1200
|
-
border-radius: 12px;
|
|
1201
|
-
}
|
|
1202
|
-
|
|
1203
|
-
.share-section {
|
|
1204
|
-
margin-bottom: 40px;
|
|
1205
|
-
}
|
|
1206
|
-
.sk-input {
|
|
1207
|
-
height: 50px;
|
|
1208
|
-
width: 100%;
|
|
1209
|
-
border-radius: 8px;
|
|
1210
|
-
margin-bottom: 16px;
|
|
1211
|
-
}
|
|
1212
|
-
.social-buttons {
|
|
1213
|
-
display: flex;
|
|
1214
|
-
gap: 12px;
|
|
1215
|
-
}
|
|
1216
|
-
.sk-btn-social {
|
|
1217
|
-
flex: 1;
|
|
1218
|
-
height: 50px;
|
|
1219
|
-
border-radius: 8px;
|
|
1220
|
-
}
|
|
1221
|
-
|
|
1222
|
-
.stats-section {
|
|
1223
|
-
display: flex;
|
|
1224
|
-
gap: 24px;
|
|
1225
|
-
margin-bottom: 40px;
|
|
1226
|
-
padding: 30px 0;
|
|
1227
|
-
border-top: 1px solid ${borderColor};
|
|
1228
|
-
border-bottom: 1px solid ${borderColor};
|
|
1229
|
-
}
|
|
1230
|
-
.stat-card {
|
|
1231
|
-
flex: 1;
|
|
1232
|
-
display: flex;
|
|
1233
|
-
flex-direction: column;
|
|
1234
|
-
align-items: center;
|
|
1235
|
-
}
|
|
1236
|
-
.stat-divider {
|
|
1237
|
-
padding-left: 24px;
|
|
1238
|
-
}
|
|
1239
|
-
|
|
1240
|
-
.sk-stat-num {
|
|
1241
|
-
height: 48px;
|
|
1242
|
-
width: 120px;
|
|
1243
|
-
margin-bottom: 8px;
|
|
1244
|
-
}
|
|
1245
|
-
.sk-stat-label {
|
|
1246
|
-
height: 18px;
|
|
1247
|
-
width: 80px;
|
|
1248
|
-
}
|
|
1249
|
-
|
|
1250
|
-
.table-header {
|
|
1251
|
-
display: flex;
|
|
1252
|
-
gap: 16px;
|
|
1253
|
-
margin-bottom: 16px;
|
|
1254
|
-
}
|
|
1255
|
-
.sk-th {
|
|
1256
|
-
height: 16px;
|
|
1257
|
-
}
|
|
1258
|
-
.table-row {
|
|
1259
|
-
display: flex;
|
|
1260
|
-
align-items: center;
|
|
1261
|
-
gap: 16px;
|
|
1262
|
-
padding: 16px 0;
|
|
1263
|
-
border-bottom: 1px solid ${borderColor};
|
|
1264
|
-
}
|
|
1265
|
-
|
|
1266
|
-
.col-user {
|
|
1267
|
-
flex: 2;
|
|
1268
|
-
}
|
|
1269
|
-
.col-status {
|
|
1270
|
-
flex: 1;
|
|
1271
|
-
}
|
|
1272
|
-
.col-reward {
|
|
1273
|
-
flex: 2;
|
|
1274
|
-
}
|
|
1275
|
-
.col-date {
|
|
1276
|
-
flex: 1;
|
|
1277
|
-
}
|
|
1278
|
-
|
|
1279
|
-
.sk-badge {
|
|
1280
|
-
height: 28px;
|
|
1281
|
-
width: 90px;
|
|
1282
|
-
border-radius: 14px;
|
|
1283
|
-
}
|
|
1284
|
-
.sk-reward-block {
|
|
1285
|
-
height: 36px;
|
|
1286
|
-
width: 100%;
|
|
1287
|
-
border-radius: 6px;
|
|
1288
|
-
}
|
|
1289
|
-
|
|
1290
|
-
.pagination {
|
|
1291
|
-
display: flex;
|
|
1292
|
-
justify-content: flex-end;
|
|
1293
|
-
gap: 8px;
|
|
1294
|
-
margin-top: 24px;
|
|
1295
|
-
}
|
|
1296
|
-
.sk-btn-page {
|
|
1297
|
-
height: 36px;
|
|
1298
|
-
width: 64px;
|
|
1299
|
-
border-radius: 6px;
|
|
1300
|
-
margin-bottom: 0;
|
|
1301
|
-
}
|
|
1302
|
-
|
|
1303
|
-
@media (max-width: 768px) {
|
|
1304
|
-
body {
|
|
1305
|
-
padding: 20px;
|
|
1306
|
-
}
|
|
1307
|
-
.widget-container {
|
|
1308
|
-
padding: 24px;
|
|
1309
|
-
}
|
|
1310
|
-
|
|
1311
|
-
.hero-section {
|
|
1312
|
-
flex-direction: column-reverse;
|
|
1313
|
-
gap: 24px;
|
|
1314
|
-
}
|
|
1315
|
-
.hero-image {
|
|
1316
|
-
height: 220px;
|
|
1317
|
-
width: 100%;
|
|
1318
|
-
}
|
|
1319
|
-
.sk-title-lg {
|
|
1320
|
-
width: 80%;
|
|
1321
|
-
}
|
|
1322
|
-
|
|
1323
|
-
.col-date {
|
|
1324
|
-
display: none;
|
|
1325
|
-
}
|
|
1326
|
-
}
|
|
1327
|
-
|
|
1328
|
-
@media (max-width: 480px) {
|
|
1329
|
-
body {
|
|
1330
|
-
padding: 10px;
|
|
1331
|
-
}
|
|
1332
|
-
.widget-container {
|
|
1333
|
-
padding: 16px;
|
|
1334
|
-
}
|
|
1335
|
-
|
|
1336
|
-
.sk-stat-num {
|
|
1337
|
-
width: 80px;
|
|
1338
|
-
height: 40px;
|
|
1339
|
-
}
|
|
1340
|
-
|
|
1341
|
-
.col-reward {
|
|
1342
|
-
display: none;
|
|
1343
|
-
}
|
|
1344
|
-
|
|
1345
|
-
.col-user {
|
|
1346
|
-
flex: 3;
|
|
1347
|
-
}
|
|
1348
|
-
.col-status {
|
|
1349
|
-
flex: 2;
|
|
1350
|
-
display: flex;
|
|
1351
|
-
justify-content: flex-end;
|
|
1352
|
-
}
|
|
1353
|
-
}
|
|
1354
|
-
</style>
|
|
1355
|
-
|
|
1356
|
-
<div class="widget-container">
|
|
1357
|
-
<div class="hero-section">
|
|
1358
|
-
<div class="hero-content">
|
|
1359
|
-
<div class="skeleton sk-title-lg"></div>
|
|
1360
|
-
<div class="skeleton sk-text"></div>
|
|
1361
|
-
<div class="skeleton sk-text sk-text-short"></div>
|
|
1362
|
-
</div>
|
|
1363
|
-
<div class="skeleton hero-image"></div>
|
|
1364
|
-
</div>
|
|
1365
|
-
|
|
1366
|
-
<div class="share-section">
|
|
1367
|
-
<div class="skeleton sk-label"></div>
|
|
1368
|
-
<div class="skeleton sk-input"></div>
|
|
1369
|
-
<div class="social-buttons">
|
|
1370
|
-
<div class="skeleton sk-btn-social"></div>
|
|
1371
|
-
<div class="skeleton sk-btn-social"></div>
|
|
1372
|
-
<div class="skeleton sk-btn-social"></div>
|
|
1373
|
-
<div class="skeleton sk-btn-social"></div>
|
|
1374
|
-
</div>
|
|
1375
|
-
</div>
|
|
1376
|
-
|
|
1377
|
-
<div
|
|
1378
|
-
class="skeleton sk-title-md"
|
|
1379
|
-
style="margin-top: 0; width: 30%; margin-left: auto; margin-right: auto"
|
|
1380
|
-
></div>
|
|
1381
|
-
<div
|
|
1382
|
-
class="skeleton sk-text"
|
|
1383
|
-
style="width: 60%; margin-left: auto; margin-right: auto"
|
|
1384
|
-
></div>
|
|
1385
|
-
|
|
1386
|
-
<div class="stats-section">
|
|
1387
|
-
<div class="stat-card">
|
|
1388
|
-
<div class="skeleton sk-stat-num"></div>
|
|
1389
|
-
<div class="skeleton sk-stat-label"></div>
|
|
1390
|
-
</div>
|
|
1391
|
-
<div class="stat-card stat-divider">
|
|
1392
|
-
<div class="skeleton sk-stat-num"></div>
|
|
1393
|
-
<div class="skeleton sk-stat-label"></div>
|
|
1394
|
-
</div>
|
|
1395
|
-
</div>
|
|
1396
|
-
|
|
1397
|
-
<div class="skeleton sk-title-md"></div>
|
|
1398
|
-
|
|
1399
|
-
<div class="table-header">
|
|
1400
|
-
<div class="skeleton sk-th col-user"></div>
|
|
1401
|
-
<div class="skeleton sk-th col-status"></div>
|
|
1402
|
-
<div class="skeleton sk-th col-reward"></div>
|
|
1403
|
-
<div class="skeleton sk-th col-date"></div>
|
|
1404
|
-
</div>
|
|
1405
|
-
|
|
1406
|
-
<div class="table-row">
|
|
1407
|
-
<div class="col-user">
|
|
1408
|
-
<div class="skeleton sk-text" style="width: 70%; margin: 0"></div>
|
|
1409
|
-
</div>
|
|
1410
|
-
<div class="col-status">
|
|
1411
|
-
<div class="skeleton sk-badge" style="margin: 0"></div>
|
|
1412
|
-
</div>
|
|
1413
|
-
<div class="col-reward">
|
|
1414
|
-
<div class="skeleton sk-reward-block" style="margin: 0"></div>
|
|
1415
|
-
</div>
|
|
1416
|
-
<div class="col-date">
|
|
1417
|
-
<div class="skeleton sk-text" style="width: 80%; margin: 0"></div>
|
|
1418
|
-
</div>
|
|
1419
|
-
</div>
|
|
1420
|
-
<div class="table-row">
|
|
1421
|
-
<div class="col-user">
|
|
1422
|
-
<div class="skeleton sk-text" style="width: 60%; margin: 0"></div>
|
|
1423
|
-
</div>
|
|
1424
|
-
<div class="col-status">
|
|
1425
|
-
<div class="skeleton sk-badge" style="margin: 0"></div>
|
|
1426
|
-
</div>
|
|
1427
|
-
<div class="col-reward">
|
|
1428
|
-
<div class="skeleton sk-reward-block" style="margin: 0"></div>
|
|
1429
|
-
</div>
|
|
1430
|
-
<div class="col-date">
|
|
1431
|
-
<div class="skeleton sk-text" style="width: 80%; margin: 0"></div>
|
|
1432
|
-
</div>
|
|
1433
|
-
</div>
|
|
1434
|
-
<div class="table-row">
|
|
1435
|
-
<div class="col-user">
|
|
1436
|
-
<div class="skeleton sk-text" style="width: 75%; margin: 0"></div>
|
|
1437
|
-
</div>
|
|
1438
|
-
<div class="col-status">
|
|
1439
|
-
<div class="skeleton sk-badge" style="margin: 0"></div>
|
|
1440
|
-
</div>
|
|
1441
|
-
<div class="col-reward">
|
|
1442
|
-
<div class="skeleton sk-reward-block" style="margin: 0"></div>
|
|
1443
|
-
</div>
|
|
1444
|
-
<div class="col-date">
|
|
1445
|
-
<div class="skeleton sk-text" style="width: 80%; margin: 0"></div>
|
|
1446
|
-
</div>
|
|
1447
|
-
</div>
|
|
1448
|
-
|
|
1449
|
-
<div class="pagination">
|
|
1450
|
-
<div class="skeleton sk-btn-page"></div>
|
|
1451
|
-
<div class="skeleton sk-btn-page"></div>
|
|
1452
|
-
</div>
|
|
1453
|
-
</div>
|
|
1454
|
-
`;
|
|
1455
|
-
};
|
|
1456
1111
|
const _log$7 = browserExports.debug("squatch-js:EMBEDwidget");
|
|
1457
1112
|
class EmbedWidget extends Widget {
|
|
1458
1113
|
constructor(params, container) {
|
|
@@ -1463,61 +1118,34 @@ class EmbedWidget extends Widget {
|
|
|
1463
1118
|
this.container = container;
|
|
1464
1119
|
}
|
|
1465
1120
|
}
|
|
1121
|
+
//Old code for testing
|
|
1466
1122
|
async load() {
|
|
1467
|
-
var _a2, _b, _c, _d, _e
|
|
1123
|
+
var _a2, _b, _c, _d, _e;
|
|
1468
1124
|
const brandingConfig = (_b = (_a2 = this.context.widgetConfig) == null ? void 0 : _a2.values) == null ? void 0 : _b.brandingConfig;
|
|
1469
|
-
const
|
|
1470
|
-
const skeletonBackgroundColor = (_d = (_c = brandingConfig == null ? void 0 : brandingConfig.color) == null ? void 0 : _c.loadingSkeleton) == null ? void 0 : _d.background;
|
|
1471
|
-
const skeletonShimmerColor = (_f = (_e = brandingConfig == null ? void 0 : brandingConfig.color) == null ? void 0 : _e.loadingSkeleton) == null ? void 0 : _f.animationBackground;
|
|
1472
|
-
const borderColor = (_g = brandingConfig == null ? void 0 : brandingConfig.border) == null ? void 0 : _g.borderColor;
|
|
1473
|
-
const sizes = (_h = brandingConfig == null ? void 0 : brandingConfig.widgetSize) == null ? void 0 : _h.embeddedWidgets;
|
|
1125
|
+
const sizes = (_c = brandingConfig == null ? void 0 : brandingConfig.widgetSize) == null ? void 0 : _c.embeddedWidgets;
|
|
1474
1126
|
const maxWidth = (sizes == null ? void 0 : sizes.maxWidth) ? formatWidth(sizes.maxWidth) : "";
|
|
1475
1127
|
const minWidth = (sizes == null ? void 0 : sizes.minWidth) ? formatWidth(sizes.minWidth) : "";
|
|
1476
|
-
|
|
1477
|
-
brandingConfig,
|
|
1478
|
-
initialHeight,
|
|
1479
|
-
widgetConfig: this.context.widgetConfig
|
|
1480
|
-
});
|
|
1481
|
-
const skeletonHTML = getSkeleton({
|
|
1482
|
-
height: initialHeight,
|
|
1483
|
-
skeletonBackgroundColor,
|
|
1484
|
-
skeletonShimmerColor,
|
|
1485
|
-
borderColor
|
|
1486
|
-
});
|
|
1487
|
-
const skeletonContainer = document.createElement("div");
|
|
1488
|
-
skeletonContainer.innerHTML = skeletonHTML;
|
|
1489
|
-
const frame = this._createFrame({
|
|
1490
|
-
minWidth,
|
|
1491
|
-
maxWidth,
|
|
1492
|
-
initialHeight
|
|
1493
|
-
});
|
|
1128
|
+
const frame = this._createFrame({ minWidth, maxWidth });
|
|
1494
1129
|
const element = this._findElement();
|
|
1495
|
-
|
|
1496
|
-
frame.style.display = "none";
|
|
1497
|
-
const injectContents = (target) => {
|
|
1498
|
-
target.appendChild(skeletonContainer);
|
|
1499
|
-
target.appendChild(frame);
|
|
1500
|
-
};
|
|
1501
|
-
if ((_i = this.context) == null ? void 0 : _i.container) {
|
|
1130
|
+
if ((_d = this.context) == null ? void 0 : _d.container) {
|
|
1502
1131
|
element.style.visibility = "hidden";
|
|
1503
1132
|
element.style.height = "0";
|
|
1504
1133
|
element.style["overflow-y"] = "hidden";
|
|
1505
1134
|
}
|
|
1506
1135
|
if (this.container) {
|
|
1507
1136
|
if (element.shadowRoot) {
|
|
1508
|
-
if (((
|
|
1137
|
+
if (((_e = element.shadowRoot.lastChild) == null ? void 0 : _e.nodeName) === "IFRAME") {
|
|
1509
1138
|
element.shadowRoot.replaceChild(frame, element.shadowRoot.lastChild);
|
|
1510
1139
|
} else {
|
|
1511
|
-
|
|
1140
|
+
element.shadowRoot.appendChild(frame);
|
|
1512
1141
|
}
|
|
1513
1142
|
} else if (element.firstChild) {
|
|
1514
|
-
element.
|
|
1515
|
-
injectContents(element);
|
|
1143
|
+
element.replaceChild(frame, element.firstChild);
|
|
1516
1144
|
} else {
|
|
1517
|
-
|
|
1145
|
+
element.appendChild(frame);
|
|
1518
1146
|
}
|
|
1519
1147
|
} else if (!element.firstChild || element.firstChild.nodeName === "#text") {
|
|
1520
|
-
|
|
1148
|
+
element.appendChild(frame);
|
|
1521
1149
|
}
|
|
1522
1150
|
const { contentWindow } = frame;
|
|
1523
1151
|
if (!contentWindow) {
|
|
@@ -1525,32 +1153,14 @@ class EmbedWidget extends Widget {
|
|
|
1525
1153
|
}
|
|
1526
1154
|
const frameDoc = contentWindow.document;
|
|
1527
1155
|
frameDoc.open();
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
<link rel="preconnect" href="https://fast${domain === "https://staging.referralsaasquatch.com" && "-staging"}.ssqt.io">
|
|
1533
|
-
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
1534
|
-
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
1535
|
-
<link rel="preload" href="https://fonts.googleapis.com/css2?family=${encodeURIComponent(
|
|
1536
|
-
(_l = brandingConfig == null ? void 0 : brandingConfig.main) == null ? void 0 : _l.brandFont
|
|
1537
|
-
)}" as="style">`}
|
|
1538
|
-
<script src="${this.npmCdn}/resize-observer-polyfill@1.5.x"><\/script>
|
|
1539
|
-
<style data-styles>
|
|
1540
|
-
html { visibility:hidden;}
|
|
1541
|
-
</style>
|
|
1542
|
-
${this.content}
|
|
1543
|
-
|
|
1544
|
-
`);
|
|
1156
|
+
frameDoc.write(this.content);
|
|
1157
|
+
frameDoc.write(
|
|
1158
|
+
`<script src="${this.npmCdn}/resize-observer-polyfill@1.5.x"><\/script>`
|
|
1159
|
+
);
|
|
1545
1160
|
frameDoc.close();
|
|
1546
1161
|
domready(frameDoc, async () => {
|
|
1547
|
-
if (skeletonContainer && skeletonContainer.parentNode) {
|
|
1548
|
-
skeletonContainer.parentNode.removeChild(skeletonContainer);
|
|
1549
|
-
}
|
|
1550
|
-
frame.style.display = "block";
|
|
1551
1162
|
const _sqh = contentWindow.squatch || contentWindow.widgetIdent;
|
|
1552
|
-
frame.height =
|
|
1553
|
-
console.log({ height: frameDoc.body.scrollHeight });
|
|
1163
|
+
frame.height = frameDoc.body.scrollHeight;
|
|
1554
1164
|
const ro = new contentWindow["ResizeObserver"]((entries) => {
|
|
1555
1165
|
for (const entry of entries) {
|
|
1556
1166
|
const { height } = entry.contentRect;
|
|
@@ -1567,6 +1177,126 @@ class EmbedWidget extends Widget {
|
|
|
1567
1177
|
}
|
|
1568
1178
|
});
|
|
1569
1179
|
}
|
|
1180
|
+
// async load() {
|
|
1181
|
+
// const brandingConfig = this.context.widgetConfig?.values?.brandingConfig;
|
|
1182
|
+
// // @ts-ignore
|
|
1183
|
+
// const initialHeight = brandingConfig?.loadingHeight;
|
|
1184
|
+
// const skeletonBackgroundColor =
|
|
1185
|
+
// brandingConfig?.color?.loadingSkeleton?.background;
|
|
1186
|
+
// const skeletonShimmerColor =
|
|
1187
|
+
// brandingConfig?.color?.loadingSkeleton?.animationBackground;
|
|
1188
|
+
// const borderColor = brandingConfig?.border?.borderColor;
|
|
1189
|
+
// const sizes = brandingConfig?.widgetSize?.embeddedWidgets;
|
|
1190
|
+
// const maxWidth = sizes?.maxWidth ? formatWidth(sizes.maxWidth) : "";
|
|
1191
|
+
// const minWidth = sizes?.minWidth ? formatWidth(sizes.minWidth) : "";
|
|
1192
|
+
// console.log({
|
|
1193
|
+
// brandingConfig,
|
|
1194
|
+
// initialHeight,
|
|
1195
|
+
// widgetConfig: this.context.widgetConfig,
|
|
1196
|
+
// });
|
|
1197
|
+
// // const skeletonHTML = getSkeleton({
|
|
1198
|
+
// // height: initialHeight,
|
|
1199
|
+
// // skeletonBackgroundColor,
|
|
1200
|
+
// // skeletonShimmerColor,
|
|
1201
|
+
// // borderColor,
|
|
1202
|
+
// // });
|
|
1203
|
+
// // const skeletonContainer = document.createElement("div");
|
|
1204
|
+
// // skeletonContainer.innerHTML = skeletonHTML;
|
|
1205
|
+
// const frame = this._createFrame({
|
|
1206
|
+
// minWidth,
|
|
1207
|
+
// maxWidth,
|
|
1208
|
+
// initialHeight,
|
|
1209
|
+
// });
|
|
1210
|
+
// const element = this._findElement();
|
|
1211
|
+
// // element.innerHTML = skeletonHTML;
|
|
1212
|
+
// // Hide frame initially
|
|
1213
|
+
// frame.style.display = "none";
|
|
1214
|
+
// const injectContents = (target: HTMLElement | ShadowRoot) => {
|
|
1215
|
+
// // Optional: Clear target to prevent duplicates if load() is called twice
|
|
1216
|
+
// // target.innerHTML = "";
|
|
1217
|
+
// // target.appendChild(skeletonContainer);
|
|
1218
|
+
// target.appendChild(frame);
|
|
1219
|
+
// };
|
|
1220
|
+
// if (this.context?.container) {
|
|
1221
|
+
// // Custom container is used
|
|
1222
|
+
// element.style.visibility = "hidden";
|
|
1223
|
+
// element.style.height = "0";
|
|
1224
|
+
// element.style["overflow-y"] = "hidden";
|
|
1225
|
+
// }
|
|
1226
|
+
// if (this.container) {
|
|
1227
|
+
// if (element.shadowRoot) {
|
|
1228
|
+
// if (element.shadowRoot.lastChild?.nodeName === "IFRAME") {
|
|
1229
|
+
// element.shadowRoot.replaceChild(frame, element.shadowRoot.lastChild);
|
|
1230
|
+
// } else {
|
|
1231
|
+
// injectContents(element.shadowRoot);
|
|
1232
|
+
// }
|
|
1233
|
+
// } else if (element.firstChild) {
|
|
1234
|
+
// // If replacing, wipe and reload
|
|
1235
|
+
// element.innerHTML = "";
|
|
1236
|
+
// injectContents(element);
|
|
1237
|
+
// } else {
|
|
1238
|
+
// injectContents(element);
|
|
1239
|
+
// }
|
|
1240
|
+
// }
|
|
1241
|
+
// // else if (!element.firstChild || element.firstChild.nodeName === "#text") {
|
|
1242
|
+
// // injectContents(element);
|
|
1243
|
+
// // }
|
|
1244
|
+
// const { contentWindow } = frame;
|
|
1245
|
+
// if (!contentWindow) {
|
|
1246
|
+
// throw new Error("Frame needs a content window");
|
|
1247
|
+
// }
|
|
1248
|
+
// const frameDoc = contentWindow.document;
|
|
1249
|
+
// frameDoc.open();
|
|
1250
|
+
// console.log({ content: this.content, context: this.context, this: this });
|
|
1251
|
+
// const domain = this.widgetApi.domain;
|
|
1252
|
+
// frameDoc.write(`
|
|
1253
|
+
// ${
|
|
1254
|
+
// brandingConfig?.main?.brandFont &&
|
|
1255
|
+
// `
|
|
1256
|
+
// <link rel="preconnect" href="https://fast${
|
|
1257
|
+
// domain === "https://staging.referralsaasquatch.com" && "-staging"
|
|
1258
|
+
// }.ssqt.io">
|
|
1259
|
+
// <link rel="preconnect" href="https://fonts.gstatic.com">
|
|
1260
|
+
// <link rel="preconnect" href="https://fonts.googleapis.com">
|
|
1261
|
+
// <link rel="preload" href="https://fonts.googleapis.com/css2?family=${encodeURIComponent(
|
|
1262
|
+
// brandingConfig?.main?.brandFont
|
|
1263
|
+
// )}" as="style">`
|
|
1264
|
+
// }
|
|
1265
|
+
// <script src="${this.npmCdn}/resize-observer-polyfill@1.5.x"><\/script>
|
|
1266
|
+
// <style data-styles>
|
|
1267
|
+
// html { visibility:hidden;}
|
|
1268
|
+
// </style>
|
|
1269
|
+
// ${this.content}
|
|
1270
|
+
// `);
|
|
1271
|
+
// frameDoc.close();
|
|
1272
|
+
// domready(frameDoc, async () => {
|
|
1273
|
+
// // if (skeletonContainer && skeletonContainer.parentNode) {
|
|
1274
|
+
// // skeletonContainer.parentNode.removeChild(skeletonContainer);
|
|
1275
|
+
// // }
|
|
1276
|
+
// frame.style.display = "block";
|
|
1277
|
+
// const _sqh = contentWindow.squatch || contentWindow.widgetIdent;
|
|
1278
|
+
// // @ts-ignore -- number will be cast to string by browsers
|
|
1279
|
+
// frame.height = initialHeight || frameDoc.body.scrollHeight;
|
|
1280
|
+
// console.log({ height: frameDoc.body.scrollHeight });
|
|
1281
|
+
// // Adjust frame height when size of body changes
|
|
1282
|
+
// /* istanbul ignore next: hard to test */
|
|
1283
|
+
// const ro = new contentWindow["ResizeObserver"]((entries) => {
|
|
1284
|
+
// for (const entry of entries) {
|
|
1285
|
+
// const { height } = entry.contentRect;
|
|
1286
|
+
// // @ts-ignore -- number will be cast to string by browsers
|
|
1287
|
+
// frame.height = height;
|
|
1288
|
+
// }
|
|
1289
|
+
// });
|
|
1290
|
+
// const container = await this._findInnerContainer(frame);
|
|
1291
|
+
// ro.observe(container);
|
|
1292
|
+
// if (this._shouldFireLoadEvent()) {
|
|
1293
|
+
// this._loadEvent(_sqh);
|
|
1294
|
+
// _log("loaded");
|
|
1295
|
+
// } else if (frameDoc) {
|
|
1296
|
+
// this._attachLoadEventListener(frameDoc, _sqh);
|
|
1297
|
+
// }
|
|
1298
|
+
// });
|
|
1299
|
+
// }
|
|
1570
1300
|
/**
|
|
1571
1301
|
* Un-hide if element is available and refresh data
|
|
1572
1302
|
*/
|