@saasquatch/squatch-js 2.8.2-13 → 2.8.2-15
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 -433
- package/dist/squatch.cjs.js.map +1 -1
- package/dist/squatch.esm.js +26 -433
- package/dist/squatch.esm.js.map +1 -1
- package/dist/squatch.js +26 -433
- 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) {
|
|
@@ -1467,9 +1122,9 @@ class EmbedWidget extends Widget {
|
|
|
1467
1122
|
var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
|
|
1468
1123
|
const brandingConfig = (_b = (_a2 = this.context.widgetConfig) == null ? void 0 : _a2.values) == null ? void 0 : _b.brandingConfig;
|
|
1469
1124
|
const initialHeight = brandingConfig == null ? void 0 : brandingConfig.loadingHeight;
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1125
|
+
(_d = (_c = brandingConfig == null ? void 0 : brandingConfig.color) == null ? void 0 : _c.loadingSkeleton) == null ? void 0 : _d.background;
|
|
1126
|
+
(_f = (_e = brandingConfig == null ? void 0 : brandingConfig.color) == null ? void 0 : _e.loadingSkeleton) == null ? void 0 : _f.animationBackground;
|
|
1127
|
+
(_g = brandingConfig == null ? void 0 : brandingConfig.border) == null ? void 0 : _g.borderColor;
|
|
1473
1128
|
const sizes = (_h = brandingConfig == null ? void 0 : brandingConfig.widgetSize) == null ? void 0 : _h.embeddedWidgets;
|
|
1474
1129
|
const maxWidth = (sizes == null ? void 0 : sizes.maxWidth) ? formatWidth(sizes.maxWidth) : "";
|
|
1475
1130
|
const minWidth = (sizes == null ? void 0 : sizes.minWidth) ? formatWidth(sizes.minWidth) : "";
|
|
@@ -1478,24 +1133,14 @@ class EmbedWidget extends Widget {
|
|
|
1478
1133
|
initialHeight,
|
|
1479
1134
|
widgetConfig: this.context.widgetConfig
|
|
1480
1135
|
});
|
|
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
1136
|
const frame = this._createFrame({
|
|
1490
1137
|
minWidth,
|
|
1491
1138
|
maxWidth,
|
|
1492
1139
|
initialHeight
|
|
1493
1140
|
});
|
|
1494
1141
|
const element = this._findElement();
|
|
1495
|
-
element.innerHTML = skeletonHTML;
|
|
1496
1142
|
frame.style.display = "none";
|
|
1497
1143
|
const injectContents = (target) => {
|
|
1498
|
-
target.appendChild(skeletonContainer);
|
|
1499
1144
|
target.appendChild(frame);
|
|
1500
1145
|
};
|
|
1501
1146
|
if ((_i = this.context) == null ? void 0 : _i.container) {
|
|
@@ -1544,9 +1189,6 @@ class EmbedWidget extends Widget {
|
|
|
1544
1189
|
`);
|
|
1545
1190
|
frameDoc.close();
|
|
1546
1191
|
domready(frameDoc, async () => {
|
|
1547
|
-
if (skeletonContainer && skeletonContainer.parentNode) {
|
|
1548
|
-
skeletonContainer.parentNode.removeChild(skeletonContainer);
|
|
1549
|
-
}
|
|
1550
1192
|
frame.style.display = "block";
|
|
1551
1193
|
const _sqh = contentWindow.squatch || contentWindow.widgetIdent;
|
|
1552
1194
|
frame.height = initialHeight || frameDoc.body.scrollHeight;
|
|
@@ -2468,49 +2110,22 @@ class DeclarativeEmbedWidget extends DeclarativeWidget {
|
|
|
2468
2110
|
this.loaded = true;
|
|
2469
2111
|
this.container = this.getAttribute("container");
|
|
2470
2112
|
const skeletonHTML = `
|
|
2471
|
-
<div
|
|
2472
|
-
<h1>
|
|
2113
|
+
<div>
|
|
2114
|
+
<h1>Do I see this text ????</h1>
|
|
2473
2115
|
</div>
|
|
2474
2116
|
`;
|
|
2475
|
-
console.log(
|
|
2476
|
-
"/////////////////////////////////TESTING//////////////////////////////"
|
|
2477
|
-
);
|
|
2478
2117
|
const skeletonContainer = document.createElement("div");
|
|
2479
2118
|
skeletonContainer.id = "loading-skeleton";
|
|
2480
2119
|
skeletonContainer.innerHTML = skeletonHTML;
|
|
2481
|
-
skeletonContainer.style.width = "100%";
|
|
2482
2120
|
const root = this.shadowRoot || this.attachShadow({ mode: "open" });
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
const el = root.getElementById("loading-skeleton");
|
|
2490
|
-
if (el) {
|
|
2491
|
-
el.remove();
|
|
2492
|
-
console.log("Skeleton removed successfully via event");
|
|
2493
|
-
}
|
|
2494
|
-
};
|
|
2495
|
-
this.addEventListener("sq:load", removeSkeleton);
|
|
2496
|
-
try {
|
|
2497
|
-
await this.renderWidget();
|
|
2498
|
-
console.log("Widget rendered (initialization complete)");
|
|
2499
|
-
setTimeout(() => {
|
|
2500
|
-
const el = root.getElementById("loading-skeleton");
|
|
2501
|
-
if (el) {
|
|
2502
|
-
console.warn("Removing skeleton via timeout (load event missing)");
|
|
2503
|
-
el.remove();
|
|
2504
|
-
}
|
|
2505
|
-
}, 5e3);
|
|
2506
|
-
} catch (err) {
|
|
2507
|
-
console.error("Critical Error in renderWidget:", err);
|
|
2508
|
-
removeSkeleton();
|
|
2121
|
+
root.innerHTML = "";
|
|
2122
|
+
root.appendChild(skeletonContainer);
|
|
2123
|
+
await this.renderWidget();
|
|
2124
|
+
const loadingElement = root.getElementById("loading-skeleton");
|
|
2125
|
+
if (loadingElement) {
|
|
2126
|
+
loadingElement.remove();
|
|
2509
2127
|
}
|
|
2510
2128
|
if (this.getAttribute("open") !== null) this.open();
|
|
2511
|
-
console.log(
|
|
2512
|
-
"/////////////////////////////////DO YOU SEE THIS CONSOLE LOG????//////////////////////////////"
|
|
2513
|
-
);
|
|
2514
2129
|
}
|
|
2515
2130
|
}
|
|
2516
2131
|
class DeclarativePopupWidget extends DeclarativeWidget {
|
|
@@ -2536,52 +2151,30 @@ class DeclarativePopupWidget extends DeclarativeWidget {
|
|
|
2536
2151
|
}
|
|
2537
2152
|
}
|
|
2538
2153
|
async connectedCallback() {
|
|
2154
|
+
var _a2;
|
|
2539
2155
|
this.loaded = true;
|
|
2540
2156
|
this.container = this.getAttribute("container");
|
|
2541
2157
|
const skeletonHTML = `
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
"/////////////////////////////////TESTING//////////////////////////////"
|
|
2548
|
-
);
|
|
2158
|
+
<div>
|
|
2159
|
+
<h1>Dynamic Content</h1>
|
|
2160
|
+
<p>This content was dynamically added to the widget before it loaded.</p>
|
|
2161
|
+
</div>
|
|
2162
|
+
`;
|
|
2549
2163
|
const skeletonContainer = document.createElement("div");
|
|
2550
2164
|
skeletonContainer.id = "loading-skeleton";
|
|
2551
2165
|
skeletonContainer.innerHTML = skeletonHTML;
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
if (root.firstChild) {
|
|
2555
|
-
root.insertBefore(skeletonContainer, root.firstChild);
|
|
2556
|
-
} else {
|
|
2557
|
-
root.appendChild(skeletonContainer);
|
|
2166
|
+
if (!this.shadowRoot) {
|
|
2167
|
+
this.attachShadow({ mode: "open" });
|
|
2558
2168
|
}
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
this.addEventListener("sq:load", removeSkeleton);
|
|
2567
|
-
try {
|
|
2568
|
-
await this.renderWidget();
|
|
2569
|
-
console.log("Widget rendered (initialization complete)");
|
|
2570
|
-
setTimeout(() => {
|
|
2571
|
-
const el = root.getElementById("loading-skeleton");
|
|
2572
|
-
if (el) {
|
|
2573
|
-
console.warn("Removing skeleton via timeout (load event missing)");
|
|
2574
|
-
el.remove();
|
|
2575
|
-
}
|
|
2576
|
-
}, 5e3);
|
|
2577
|
-
} catch (err) {
|
|
2578
|
-
console.error("Critical Error in renderWidget:", err);
|
|
2579
|
-
removeSkeleton();
|
|
2169
|
+
if (this.shadowRoot) {
|
|
2170
|
+
this.shadowRoot.innerHTML = skeletonHTML;
|
|
2171
|
+
}
|
|
2172
|
+
await this.renderWidget();
|
|
2173
|
+
const loadingElement = (_a2 = this.shadowRoot) == null ? void 0 : _a2.getElementById("loading-skeleton");
|
|
2174
|
+
if (loadingElement) {
|
|
2175
|
+
loadingElement.remove();
|
|
2580
2176
|
}
|
|
2581
2177
|
if (this.getAttribute("open") !== null) this.open();
|
|
2582
|
-
console.log(
|
|
2583
|
-
"/////////////////////////////////DO YOU SEE THIS CONSOLE LOG????//////////////////////////////"
|
|
2584
|
-
);
|
|
2585
2178
|
}
|
|
2586
2179
|
}
|
|
2587
2180
|
class SquatchEmbed extends DeclarativeEmbedWidget {
|