@saasquatch/squatch-js 2.8.2-2 → 2.8.2-20
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 +114 -378
- package/dist/squatch.cjs.js.map +1 -1
- package/dist/squatch.esm.js +114 -378
- package/dist/squatch.esm.js.map +1 -1
- package/dist/squatch.js +114 -378
- 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,366 +1110,89 @@ 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) {
|
|
1461
1116
|
super(params);
|
|
1462
1117
|
__publicField(this, "show", this.open);
|
|
1463
1118
|
__publicField(this, "hide", this.close);
|
|
1464
|
-
if (container)
|
|
1465
|
-
|
|
1119
|
+
if (container) {
|
|
1120
|
+
this.container = container;
|
|
1121
|
+
}
|
|
1122
|
+
}
|
|
1123
|
+
//Old code for testing
|
|
1124
|
+
// async load() {
|
|
1125
|
+
// const brandingConfig = this.context.widgetConfig?.values?.brandingConfig;
|
|
1126
|
+
// const sizes = brandingConfig?.widgetSize?.embeddedWidgets;
|
|
1127
|
+
// const maxWidth = sizes?.maxWidth ? formatWidth(sizes.maxWidth) : "";
|
|
1128
|
+
// const minWidth = sizes?.minWidth ? formatWidth(sizes.minWidth) : "";
|
|
1129
|
+
// const frame = this._createFrame({ minWidth, maxWidth });
|
|
1130
|
+
// const element = this._findElement();
|
|
1131
|
+
// if (this.context?.container) {
|
|
1132
|
+
// // Custom container is used
|
|
1133
|
+
// element.style.visibility = "hidden";
|
|
1134
|
+
// element.style.height = "0";
|
|
1135
|
+
// element.style["overflow-y"] = "hidden";
|
|
1136
|
+
// }
|
|
1137
|
+
// if (this.container) {
|
|
1138
|
+
// if (element.shadowRoot) {
|
|
1139
|
+
// if (element.shadowRoot.lastChild?.nodeName === "IFRAME") {
|
|
1140
|
+
// element.shadowRoot.replaceChild(frame, element.shadowRoot.lastChild);
|
|
1141
|
+
// } else {
|
|
1142
|
+
// element.shadowRoot.appendChild(frame);
|
|
1143
|
+
// }
|
|
1144
|
+
// }
|
|
1145
|
+
// // Widget reloaded - replace existing element
|
|
1146
|
+
// else if (element.firstChild) {
|
|
1147
|
+
// element.replaceChild(frame, element.firstChild);
|
|
1148
|
+
// // Add iframe for the first time
|
|
1149
|
+
// } else {
|
|
1150
|
+
// element.appendChild(frame);
|
|
1151
|
+
// }
|
|
1152
|
+
// } else if (!element.firstChild || element.firstChild.nodeName === "#text") {
|
|
1153
|
+
// element.appendChild(frame);
|
|
1154
|
+
// }
|
|
1155
|
+
// const { contentWindow } = frame;
|
|
1156
|
+
// if (!contentWindow) {
|
|
1157
|
+
// throw new Error("Frame needs a content window");
|
|
1158
|
+
// }
|
|
1159
|
+
// const frameDoc = contentWindow.document;
|
|
1160
|
+
// frameDoc.open();
|
|
1161
|
+
// frameDoc.write(this.content);
|
|
1162
|
+
// frameDoc.write(
|
|
1163
|
+
// `<script src="${this.npmCdn}/resize-observer-polyfill@1.5.x"><\/script>`
|
|
1164
|
+
// );
|
|
1165
|
+
// frameDoc.close();
|
|
1166
|
+
// domready(frameDoc, async () => {
|
|
1167
|
+
// const _sqh = contentWindow.squatch || contentWindow.widgetIdent;
|
|
1168
|
+
// // @ts-ignore -- number will be cast to string by browsers
|
|
1169
|
+
// frame.height = frameDoc.body.scrollHeight;
|
|
1170
|
+
// // Adjust frame height when size of body changes
|
|
1171
|
+
// /* istanbul ignore next: hard to test */
|
|
1172
|
+
// const ro = new contentWindow["ResizeObserver"]((entries) => {
|
|
1173
|
+
// for (const entry of entries) {
|
|
1174
|
+
// const { height } = entry.contentRect;
|
|
1175
|
+
// // @ts-ignore -- number will be cast to string by browsers
|
|
1176
|
+
// frame.height = height;
|
|
1177
|
+
// }
|
|
1178
|
+
// });
|
|
1179
|
+
// const container = await this._findInnerContainer(frame);
|
|
1180
|
+
// ro.observe(container);
|
|
1181
|
+
// if (this._shouldFireLoadEvent()) {
|
|
1182
|
+
// this._loadEvent(_sqh);
|
|
1183
|
+
// _log("loaded");
|
|
1184
|
+
// } else if (frameDoc) {
|
|
1185
|
+
// this._attachLoadEventListener(frameDoc, _sqh);
|
|
1186
|
+
// }
|
|
1187
|
+
// });
|
|
1188
|
+
// }
|
|
1466
1189
|
async load() {
|
|
1467
1190
|
var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
|
|
1468
1191
|
const brandingConfig = (_b = (_a2 = this.context.widgetConfig) == null ? void 0 : _a2.values) == null ? void 0 : _b.brandingConfig;
|
|
1469
1192
|
const initialHeight = brandingConfig == null ? void 0 : brandingConfig.loadingHeight;
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1193
|
+
(_d = (_c = brandingConfig == null ? void 0 : brandingConfig.color) == null ? void 0 : _c.loadingSkeleton) == null ? void 0 : _d.background;
|
|
1194
|
+
(_f = (_e = brandingConfig == null ? void 0 : brandingConfig.color) == null ? void 0 : _e.loadingSkeleton) == null ? void 0 : _f.animationBackground;
|
|
1195
|
+
(_g = brandingConfig == null ? void 0 : brandingConfig.border) == null ? void 0 : _g.borderColor;
|
|
1473
1196
|
const sizes = (_h = brandingConfig == null ? void 0 : brandingConfig.widgetSize) == null ? void 0 : _h.embeddedWidgets;
|
|
1474
1197
|
const maxWidth = (sizes == null ? void 0 : sizes.maxWidth) ? formatWidth(sizes.maxWidth) : "";
|
|
1475
1198
|
const minWidth = (sizes == null ? void 0 : sizes.minWidth) ? formatWidth(sizes.minWidth) : "";
|
|
@@ -1478,25 +1201,12 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1478
1201
|
initialHeight,
|
|
1479
1202
|
widgetConfig: this.context.widgetConfig
|
|
1480
1203
|
});
|
|
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
1204
|
const frame = this._createFrame({
|
|
1490
1205
|
minWidth,
|
|
1491
1206
|
maxWidth,
|
|
1492
1207
|
initialHeight
|
|
1493
1208
|
});
|
|
1494
1209
|
const element = this._findElement();
|
|
1495
|
-
frame.style.display = "none";
|
|
1496
|
-
const injectContents = (target) => {
|
|
1497
|
-
target.appendChild(skeletonContainer);
|
|
1498
|
-
target.appendChild(frame);
|
|
1499
|
-
};
|
|
1500
1210
|
if ((_i = this.context) == null ? void 0 : _i.container) {
|
|
1501
1211
|
element.style.visibility = "hidden";
|
|
1502
1212
|
element.style.height = "0";
|
|
@@ -1507,16 +1217,15 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1507
1217
|
if (((_j = element.shadowRoot.lastChild) == null ? void 0 : _j.nodeName) === "IFRAME") {
|
|
1508
1218
|
element.shadowRoot.replaceChild(frame, element.shadowRoot.lastChild);
|
|
1509
1219
|
} else {
|
|
1510
|
-
|
|
1220
|
+
element.shadowRoot.appendChild(frame);
|
|
1511
1221
|
}
|
|
1512
1222
|
} else if (element.firstChild) {
|
|
1513
|
-
element.
|
|
1514
|
-
injectContents(element);
|
|
1223
|
+
element.replaceChild(frame, element.firstChild);
|
|
1515
1224
|
} else {
|
|
1516
|
-
|
|
1225
|
+
element.appendChild(frame);
|
|
1517
1226
|
}
|
|
1518
1227
|
} else if (!element.firstChild || element.firstChild.nodeName === "#text") {
|
|
1519
|
-
|
|
1228
|
+
element.appendChild(frame);
|
|
1520
1229
|
}
|
|
1521
1230
|
const { contentWindow } = frame;
|
|
1522
1231
|
if (!contentWindow) {
|
|
@@ -1524,16 +1233,15 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1524
1233
|
}
|
|
1525
1234
|
const frameDoc = contentWindow.document;
|
|
1526
1235
|
frameDoc.open();
|
|
1527
|
-
console.log({ content: this.content, context: this.context, this: this });
|
|
1528
1236
|
const domain = this.widgetApi.domain;
|
|
1529
1237
|
frameDoc.write(`
|
|
1530
|
-
${((_k = brandingConfig == null ? void 0 : brandingConfig.main) == null ? void 0 : _k.brandFont)
|
|
1238
|
+
${((_k = brandingConfig == null ? void 0 : brandingConfig.main) == null ? void 0 : _k.brandFont) ? `
|
|
1531
1239
|
<link rel="preconnect" href="https://fast${domain === "https://staging.referralsaasquatch.com" && "-staging"}.ssqt.io">
|
|
1532
1240
|
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
1533
1241
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
1534
1242
|
<link rel="preload" href="https://fonts.googleapis.com/css2?family=${encodeURIComponent(
|
|
1535
1243
|
(_l = brandingConfig == null ? void 0 : brandingConfig.main) == null ? void 0 : _l.brandFont
|
|
1536
|
-
)}">`}
|
|
1244
|
+
)}" as="style">` : ""}
|
|
1537
1245
|
<script src="${this.npmCdn}/resize-observer-polyfill@1.5.x"><\/script>
|
|
1538
1246
|
<style data-styles>
|
|
1539
1247
|
html { visibility:hidden;}
|
|
@@ -1543,10 +1251,6 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1543
1251
|
`);
|
|
1544
1252
|
frameDoc.close();
|
|
1545
1253
|
domready(frameDoc, async () => {
|
|
1546
|
-
if (skeletonContainer && skeletonContainer.parentNode) {
|
|
1547
|
-
skeletonContainer.parentNode.removeChild(skeletonContainer);
|
|
1548
|
-
}
|
|
1549
|
-
frame.style.display = "block";
|
|
1550
1254
|
const _sqh = contentWindow.squatch || contentWindow.widgetIdent;
|
|
1551
1255
|
frame.height = initialHeight || frameDoc.body.scrollHeight;
|
|
1552
1256
|
console.log({ height: frameDoc.body.scrollHeight });
|
|
@@ -2464,12 +2168,24 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
2464
2168
|
}
|
|
2465
2169
|
}
|
|
2466
2170
|
async connectedCallback() {
|
|
2467
|
-
var _a2, _b;
|
|
2468
2171
|
this.loaded = true;
|
|
2469
2172
|
this.container = this.getAttribute("container");
|
|
2173
|
+
const skeletonHTML = `
|
|
2174
|
+
<div>
|
|
2175
|
+
<h1>Do I see this text ????</h1>
|
|
2176
|
+
</div>
|
|
2177
|
+
`;
|
|
2178
|
+
const skeletonContainer = document.createElement("div");
|
|
2179
|
+
skeletonContainer.id = "loading-skeleton";
|
|
2180
|
+
skeletonContainer.innerHTML = skeletonHTML;
|
|
2181
|
+
const root = this.shadowRoot || this.attachShadow({ mode: "open" });
|
|
2182
|
+
root.innerHTML = "";
|
|
2183
|
+
root.appendChild(skeletonContainer);
|
|
2470
2184
|
await this.renderWidget();
|
|
2471
|
-
const
|
|
2472
|
-
if (
|
|
2185
|
+
const loadingElement = root.getElementById("loading-skeleton");
|
|
2186
|
+
if (loadingElement) {
|
|
2187
|
+
loadingElement.remove();
|
|
2188
|
+
}
|
|
2473
2189
|
if (this.getAttribute("open") !== null) this.open();
|
|
2474
2190
|
}
|
|
2475
2191
|
}
|
|
@@ -2496,9 +2212,29 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
2496
2212
|
}
|
|
2497
2213
|
}
|
|
2498
2214
|
async connectedCallback() {
|
|
2215
|
+
var _a2;
|
|
2499
2216
|
this.loaded = true;
|
|
2500
2217
|
this.container = this.getAttribute("container");
|
|
2218
|
+
const skeletonHTML = `
|
|
2219
|
+
<div>
|
|
2220
|
+
<h1>Dynamic Content</h1>
|
|
2221
|
+
<p>This content was dynamically added to the widget before it loaded.</p>
|
|
2222
|
+
</div>
|
|
2223
|
+
`;
|
|
2224
|
+
const skeletonContainer = document.createElement("div");
|
|
2225
|
+
skeletonContainer.id = "loading-skeleton";
|
|
2226
|
+
skeletonContainer.innerHTML = skeletonHTML;
|
|
2227
|
+
if (!this.shadowRoot) {
|
|
2228
|
+
this.attachShadow({ mode: "open" });
|
|
2229
|
+
}
|
|
2230
|
+
if (this.shadowRoot) {
|
|
2231
|
+
this.shadowRoot.innerHTML = skeletonHTML;
|
|
2232
|
+
}
|
|
2501
2233
|
await this.renderWidget();
|
|
2234
|
+
const loadingElement = (_a2 = this.shadowRoot) == null ? void 0 : _a2.getElementById("loading-skeleton");
|
|
2235
|
+
if (loadingElement) {
|
|
2236
|
+
loadingElement.remove();
|
|
2237
|
+
}
|
|
2502
2238
|
if (this.getAttribute("open") !== null) this.open();
|
|
2503
2239
|
}
|
|
2504
2240
|
}
|