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