@saasquatch/squatch-js 2.8.2-14 → 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.
@@ -1106,351 +1106,6 @@ function delay(duration) {
1106
1106
  setTimeout(resolve, duration);
1107
1107
  });
1108
1108
  }
1109
- const getSkeleton = ({
1110
- height = "500px",
1111
- skeletonBackgroundColor = "#e0e0e0",
1112
- skeletonShimmerColor = "#f5f5f5",
1113
- borderColor = "#ccc"
1114
- }) => {
1115
- return `
1116
- <style>
1117
- * {
1118
- box-sizing: border-box;
1119
- padding: 0;
1120
- margin: 0;
1121
- }
1122
-
1123
- .widget-container {
1124
- background: white;
1125
- width: 100%;
1126
- max-width: 900px;
1127
- padding: 40px;
1128
- border-radius: 12px;
1129
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
1130
- box-sizing: border-box;
1131
- }
1132
-
1133
- @keyframes shimmer {
1134
- 0% {
1135
- background-position: -100% 0;
1136
- }
1137
- 100% {
1138
- background-position: 100% 0;
1139
- }
1140
- }
1141
-
1142
- .skeleton {
1143
- background: ${skeletonBackgroundColor};
1144
- background: linear-gradient(
1145
- 90deg,
1146
- ${skeletonBackgroundColor} 25%,
1147
- ${skeletonShimmerColor} 50%,
1148
- ${skeletonBackgroundColor} 75%
1149
- );
1150
- background-size: 200% 100%;
1151
- animation: shimmer 1.5s infinite linear;
1152
- border-radius: 6px;
1153
- margin-bottom: 12px;
1154
- }
1155
-
1156
- .sk-title-lg {
1157
- height: 36px;
1158
- width: 50%;
1159
- margin-bottom: 16px;
1160
- }
1161
- .sk-title-md {
1162
- height: 28px;
1163
- width: 30%;
1164
- margin-bottom: 20px;
1165
- margin-top: 40px;
1166
- }
1167
- .sk-text {
1168
- height: 16px;
1169
- width: 80%;
1170
- margin-bottom: 8px;
1171
- }
1172
- .sk-text-short {
1173
- width: 40%;
1174
- }
1175
- .sk-label {
1176
- height: 14px;
1177
- width: 25%;
1178
- margin-bottom: 10px;
1179
- }
1180
-
1181
- .hero-section {
1182
- display: flex;
1183
- gap: 40px;
1184
- margin-bottom: 40px;
1185
- border-bottom: 1px solid ${borderColor};
1186
- padding-bottom: 40px;
1187
- flex-direction: row;
1188
- }
1189
- .hero-content {
1190
- flex: 1;
1191
- display: flex;
1192
- flex-direction: column;
1193
- justify-content: center;
1194
- }
1195
- .hero-image {
1196
- flex: 1;
1197
- height: 300px;
1198
- border-radius: 12px;
1199
- }
1200
-
1201
- .share-section {
1202
- margin-bottom: 40px;
1203
- }
1204
- .sk-input {
1205
- height: 50px;
1206
- width: 100%;
1207
- border-radius: 8px;
1208
- margin-bottom: 16px;
1209
- }
1210
- .social-buttons {
1211
- display: flex;
1212
- gap: 12px;
1213
- }
1214
- .sk-btn-social {
1215
- flex: 1;
1216
- height: 50px;
1217
- border-radius: 8px;
1218
- }
1219
-
1220
- .stats-section {
1221
- display: flex;
1222
- gap: 24px;
1223
- margin-bottom: 40px;
1224
- padding: 30px 0;
1225
- border-top: 1px solid ${borderColor};
1226
- border-bottom: 1px solid ${borderColor};
1227
- }
1228
- .stat-card {
1229
- flex: 1;
1230
- display: flex;
1231
- flex-direction: column;
1232
- align-items: center;
1233
- }
1234
- .stat-divider {
1235
- padding-left: 24px;
1236
- }
1237
-
1238
- .sk-stat-num {
1239
- height: 48px;
1240
- width: 120px;
1241
- margin-bottom: 8px;
1242
- }
1243
- .sk-stat-label {
1244
- height: 18px;
1245
- width: 80px;
1246
- }
1247
-
1248
- .table-header {
1249
- display: flex;
1250
- gap: 16px;
1251
- margin-bottom: 16px;
1252
- }
1253
- .sk-th {
1254
- height: 16px;
1255
- }
1256
- .table-row {
1257
- display: flex;
1258
- align-items: center;
1259
- gap: 16px;
1260
- padding: 16px 0;
1261
- border-bottom: 1px solid ${borderColor};
1262
- }
1263
-
1264
- .col-user {
1265
- flex: 2;
1266
- }
1267
- .col-status {
1268
- flex: 1;
1269
- }
1270
- .col-reward {
1271
- flex: 2;
1272
- }
1273
- .col-date {
1274
- flex: 1;
1275
- }
1276
-
1277
- .sk-badge {
1278
- height: 28px;
1279
- width: 90px;
1280
- border-radius: 14px;
1281
- }
1282
- .sk-reward-block {
1283
- height: 36px;
1284
- width: 100%;
1285
- border-radius: 6px;
1286
- }
1287
-
1288
- .pagination {
1289
- display: flex;
1290
- justify-content: flex-end;
1291
- gap: 8px;
1292
- margin-top: 24px;
1293
- }
1294
- .sk-btn-page {
1295
- height: 36px;
1296
- width: 64px;
1297
- border-radius: 6px;
1298
- margin-bottom: 0;
1299
- }
1300
-
1301
- @media (max-width: 768px) {
1302
- body {
1303
- padding: 20px;
1304
- }
1305
- .widget-container {
1306
- padding: 24px;
1307
- }
1308
-
1309
- .hero-section {
1310
- flex-direction: column-reverse;
1311
- gap: 24px;
1312
- }
1313
- .hero-image {
1314
- height: 220px;
1315
- width: 100%;
1316
- }
1317
- .sk-title-lg {
1318
- width: 80%;
1319
- }
1320
-
1321
- .col-date {
1322
- display: none;
1323
- }
1324
- }
1325
-
1326
- @media (max-width: 480px) {
1327
- body {
1328
- padding: 10px;
1329
- }
1330
- .widget-container {
1331
- padding: 16px;
1332
- }
1333
-
1334
- .sk-stat-num {
1335
- width: 80px;
1336
- height: 40px;
1337
- }
1338
-
1339
- .col-reward {
1340
- display: none;
1341
- }
1342
-
1343
- .col-user {
1344
- flex: 3;
1345
- }
1346
- .col-status {
1347
- flex: 2;
1348
- display: flex;
1349
- justify-content: flex-end;
1350
- }
1351
- }
1352
- </style>
1353
-
1354
- <div class="widget-container">
1355
- <div class="hero-section">
1356
- <div class="hero-content">
1357
- <div class="skeleton sk-title-lg"></div>
1358
- <div class="skeleton sk-text"></div>
1359
- <div class="skeleton sk-text sk-text-short"></div>
1360
- </div>
1361
- <div class="skeleton hero-image"></div>
1362
- </div>
1363
-
1364
- <div class="share-section">
1365
- <div class="skeleton sk-label"></div>
1366
- <div class="skeleton sk-input"></div>
1367
- <div class="social-buttons">
1368
- <div class="skeleton sk-btn-social"></div>
1369
- <div class="skeleton sk-btn-social"></div>
1370
- <div class="skeleton sk-btn-social"></div>
1371
- <div class="skeleton sk-btn-social"></div>
1372
- </div>
1373
- </div>
1374
-
1375
- <div
1376
- class="skeleton sk-title-md"
1377
- style="margin-top: 0; width: 30%; margin-left: auto; margin-right: auto"
1378
- ></div>
1379
- <div
1380
- class="skeleton sk-text"
1381
- style="width: 60%; margin-left: auto; margin-right: auto"
1382
- ></div>
1383
-
1384
- <div class="stats-section">
1385
- <div class="stat-card">
1386
- <div class="skeleton sk-stat-num"></div>
1387
- <div class="skeleton sk-stat-label"></div>
1388
- </div>
1389
- <div class="stat-card stat-divider">
1390
- <div class="skeleton sk-stat-num"></div>
1391
- <div class="skeleton sk-stat-label"></div>
1392
- </div>
1393
- </div>
1394
-
1395
- <div class="skeleton sk-title-md"></div>
1396
-
1397
- <div class="table-header">
1398
- <div class="skeleton sk-th col-user"></div>
1399
- <div class="skeleton sk-th col-status"></div>
1400
- <div class="skeleton sk-th col-reward"></div>
1401
- <div class="skeleton sk-th col-date"></div>
1402
- </div>
1403
-
1404
- <div class="table-row">
1405
- <div class="col-user">
1406
- <div class="skeleton sk-text" style="width: 70%; margin: 0"></div>
1407
- </div>
1408
- <div class="col-status">
1409
- <div class="skeleton sk-badge" style="margin: 0"></div>
1410
- </div>
1411
- <div class="col-reward">
1412
- <div class="skeleton sk-reward-block" style="margin: 0"></div>
1413
- </div>
1414
- <div class="col-date">
1415
- <div class="skeleton sk-text" style="width: 80%; margin: 0"></div>
1416
- </div>
1417
- </div>
1418
- <div class="table-row">
1419
- <div class="col-user">
1420
- <div class="skeleton sk-text" style="width: 60%; margin: 0"></div>
1421
- </div>
1422
- <div class="col-status">
1423
- <div class="skeleton sk-badge" style="margin: 0"></div>
1424
- </div>
1425
- <div class="col-reward">
1426
- <div class="skeleton sk-reward-block" style="margin: 0"></div>
1427
- </div>
1428
- <div class="col-date">
1429
- <div class="skeleton sk-text" style="width: 80%; margin: 0"></div>
1430
- </div>
1431
- </div>
1432
- <div class="table-row">
1433
- <div class="col-user">
1434
- <div class="skeleton sk-text" style="width: 75%; margin: 0"></div>
1435
- </div>
1436
- <div class="col-status">
1437
- <div class="skeleton sk-badge" style="margin: 0"></div>
1438
- </div>
1439
- <div class="col-reward">
1440
- <div class="skeleton sk-reward-block" style="margin: 0"></div>
1441
- </div>
1442
- <div class="col-date">
1443
- <div class="skeleton sk-text" style="width: 80%; margin: 0"></div>
1444
- </div>
1445
- </div>
1446
-
1447
- <div class="pagination">
1448
- <div class="skeleton sk-btn-page"></div>
1449
- <div class="skeleton sk-btn-page"></div>
1450
- </div>
1451
- </div>
1452
- `;
1453
- };
1454
1109
  const _log$7 = browserExports.debug("squatch-js:EMBEDwidget");
1455
1110
  class EmbedWidget extends Widget {
1456
1111
  constructor(params, container) {
@@ -1465,9 +1120,9 @@ class EmbedWidget extends Widget {
1465
1120
  var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
1466
1121
  const brandingConfig = (_b = (_a2 = this.context.widgetConfig) == null ? void 0 : _a2.values) == null ? void 0 : _b.brandingConfig;
1467
1122
  const initialHeight = brandingConfig == null ? void 0 : brandingConfig.loadingHeight;
1468
- const skeletonBackgroundColor = (_d = (_c = brandingConfig == null ? void 0 : brandingConfig.color) == null ? void 0 : _c.loadingSkeleton) == null ? void 0 : _d.background;
1469
- const skeletonShimmerColor = (_f = (_e = brandingConfig == null ? void 0 : brandingConfig.color) == null ? void 0 : _e.loadingSkeleton) == null ? void 0 : _f.animationBackground;
1470
- const borderColor = (_g = brandingConfig == null ? void 0 : brandingConfig.border) == null ? void 0 : _g.borderColor;
1123
+ (_d = (_c = brandingConfig == null ? void 0 : brandingConfig.color) == null ? void 0 : _c.loadingSkeleton) == null ? void 0 : _d.background;
1124
+ (_f = (_e = brandingConfig == null ? void 0 : brandingConfig.color) == null ? void 0 : _e.loadingSkeleton) == null ? void 0 : _f.animationBackground;
1125
+ (_g = brandingConfig == null ? void 0 : brandingConfig.border) == null ? void 0 : _g.borderColor;
1471
1126
  const sizes = (_h = brandingConfig == null ? void 0 : brandingConfig.widgetSize) == null ? void 0 : _h.embeddedWidgets;
1472
1127
  const maxWidth = (sizes == null ? void 0 : sizes.maxWidth) ? formatWidth(sizes.maxWidth) : "";
1473
1128
  const minWidth = (sizes == null ? void 0 : sizes.minWidth) ? formatWidth(sizes.minWidth) : "";
@@ -1476,24 +1131,14 @@ class EmbedWidget extends Widget {
1476
1131
  initialHeight,
1477
1132
  widgetConfig: this.context.widgetConfig
1478
1133
  });
1479
- const skeletonHTML = getSkeleton({
1480
- height: initialHeight,
1481
- skeletonBackgroundColor,
1482
- skeletonShimmerColor,
1483
- borderColor
1484
- });
1485
- const skeletonContainer = document.createElement("div");
1486
- skeletonContainer.innerHTML = skeletonHTML;
1487
1134
  const frame = this._createFrame({
1488
1135
  minWidth,
1489
1136
  maxWidth,
1490
1137
  initialHeight
1491
1138
  });
1492
1139
  const element = this._findElement();
1493
- element.innerHTML = skeletonHTML;
1494
1140
  frame.style.display = "none";
1495
1141
  const injectContents = (target) => {
1496
- target.appendChild(skeletonContainer);
1497
1142
  target.appendChild(frame);
1498
1143
  };
1499
1144
  if ((_i = this.context) == null ? void 0 : _i.container) {
@@ -1542,9 +1187,6 @@ class EmbedWidget extends Widget {
1542
1187
  `);
1543
1188
  frameDoc.close();
1544
1189
  domready(frameDoc, async () => {
1545
- if (skeletonContainer && skeletonContainer.parentNode) {
1546
- skeletonContainer.parentNode.removeChild(skeletonContainer);
1547
- }
1548
1190
  frame.style.display = "block";
1549
1191
  const _sqh = contentWindow.squatch || contentWindow.widgetIdent;
1550
1192
  frame.height = initialHeight || frameDoc.body.scrollHeight;