@saasquatch/squatch-js 2.8.2-1 → 2.8.2-2
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/CHANGELOG.md +8 -1
- package/README.md +3 -11
- package/dist/squatch.cjs.js +408 -28
- package/dist/squatch.cjs.js.map +1 -1
- package/dist/squatch.d.ts +1 -1
- package/dist/squatch.esm.js +408 -28
- package/dist/squatch.esm.js.map +1 -1
- package/dist/squatch.js +408 -28
- package/dist/squatch.js.map +1 -1
- package/dist/squatch.min.js +2 -2
- package/dist/utils/utmUtils.d.ts +1 -10
- package/dist/widgets/SkeletonTemplate.d.ts +12 -0
- package/package.json +1 -1
- package/coverage/clover.xml +0 -708
- package/coverage/coverage-final.json +0 -16
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov.info +0 -1276
package/dist/squatch.js
CHANGED
|
@@ -704,6 +704,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
704
704
|
const raw = params;
|
|
705
705
|
const clean = validatePasswordlessConfig(raw);
|
|
706
706
|
const { widgetType, engagementMedium = "POPUP", jwt, user } = clean;
|
|
707
|
+
console.log({ params });
|
|
707
708
|
const tenantAlias = encodeURIComponent(this.tenantAlias);
|
|
708
709
|
const accountId = (user == null ? void 0 : user.accountId) ? encodeURIComponent(user.accountId) : null;
|
|
709
710
|
const userId = (user == null ? void 0 : user.id) ? encodeURIComponent(user.id) : null;
|
|
@@ -1109,6 +1110,351 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1109
1110
|
setTimeout(resolve, duration);
|
|
1110
1111
|
});
|
|
1111
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
|
+
};
|
|
1112
1458
|
const _log$7 = browserExports.debug("squatch-js:EMBEDwidget");
|
|
1113
1459
|
class EmbedWidget extends Widget {
|
|
1114
1460
|
constructor(params, container) {
|
|
@@ -1118,10 +1464,13 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1118
1464
|
if (container) this.container = container;
|
|
1119
1465
|
}
|
|
1120
1466
|
async load() {
|
|
1121
|
-
var _a2, _b, _c, _d, _e, _f, _g, _h;
|
|
1467
|
+
var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
|
|
1122
1468
|
const brandingConfig = (_b = (_a2 = this.context.widgetConfig) == null ? void 0 : _a2.values) == null ? void 0 : _b.brandingConfig;
|
|
1123
|
-
const initialHeight =
|
|
1124
|
-
const
|
|
1469
|
+
const initialHeight = brandingConfig == null ? void 0 : brandingConfig.loadingHeight;
|
|
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
1474
|
const maxWidth = (sizes == null ? void 0 : sizes.maxWidth) ? formatWidth(sizes.maxWidth) : "";
|
|
1126
1475
|
const minWidth = (sizes == null ? void 0 : sizes.minWidth) ? formatWidth(sizes.minWidth) : "";
|
|
1127
1476
|
console.log({
|
|
@@ -1129,31 +1478,45 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1129
1478
|
initialHeight,
|
|
1130
1479
|
widgetConfig: this.context.widgetConfig
|
|
1131
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;
|
|
1132
1489
|
const frame = this._createFrame({
|
|
1133
1490
|
minWidth,
|
|
1134
1491
|
maxWidth,
|
|
1135
1492
|
initialHeight
|
|
1136
1493
|
});
|
|
1137
1494
|
const element = this._findElement();
|
|
1138
|
-
|
|
1495
|
+
frame.style.display = "none";
|
|
1496
|
+
const injectContents = (target) => {
|
|
1497
|
+
target.appendChild(skeletonContainer);
|
|
1498
|
+
target.appendChild(frame);
|
|
1499
|
+
};
|
|
1500
|
+
if ((_i = this.context) == null ? void 0 : _i.container) {
|
|
1139
1501
|
element.style.visibility = "hidden";
|
|
1140
1502
|
element.style.height = "0";
|
|
1141
1503
|
element.style["overflow-y"] = "hidden";
|
|
1142
1504
|
}
|
|
1143
1505
|
if (this.container) {
|
|
1144
1506
|
if (element.shadowRoot) {
|
|
1145
|
-
if (((
|
|
1507
|
+
if (((_j = element.shadowRoot.lastChild) == null ? void 0 : _j.nodeName) === "IFRAME") {
|
|
1146
1508
|
element.shadowRoot.replaceChild(frame, element.shadowRoot.lastChild);
|
|
1147
1509
|
} else {
|
|
1148
|
-
element.shadowRoot
|
|
1510
|
+
injectContents(element.shadowRoot);
|
|
1149
1511
|
}
|
|
1150
1512
|
} else if (element.firstChild) {
|
|
1151
|
-
element.
|
|
1513
|
+
element.innerHTML = "";
|
|
1514
|
+
injectContents(element);
|
|
1152
1515
|
} else {
|
|
1153
|
-
element
|
|
1516
|
+
injectContents(element);
|
|
1154
1517
|
}
|
|
1155
1518
|
} else if (!element.firstChild || element.firstChild.nodeName === "#text") {
|
|
1156
|
-
element
|
|
1519
|
+
injectContents(element);
|
|
1157
1520
|
}
|
|
1158
1521
|
const { contentWindow } = frame;
|
|
1159
1522
|
if (!contentWindow) {
|
|
@@ -1161,16 +1524,29 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1161
1524
|
}
|
|
1162
1525
|
const frameDoc = contentWindow.document;
|
|
1163
1526
|
frameDoc.open();
|
|
1164
|
-
console.log({ content: this.content });
|
|
1527
|
+
console.log({ content: this.content, context: this.context, this: this });
|
|
1528
|
+
const domain = this.widgetApi.domain;
|
|
1165
1529
|
frameDoc.write(`
|
|
1530
|
+
${((_k = brandingConfig == null ? void 0 : brandingConfig.main) == null ? void 0 : _k.brandFont) && `
|
|
1531
|
+
<link rel="preconnect" href="https://fast${domain === "https://staging.referralsaasquatch.com" && "-staging"}.ssqt.io">
|
|
1532
|
+
<link rel="preconnect" href="https://fonts.gstatic.com">
|
|
1533
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
1534
|
+
<link rel="preload" href="https://fonts.googleapis.com/css2?family=${encodeURIComponent(
|
|
1535
|
+
(_l = brandingConfig == null ? void 0 : brandingConfig.main) == null ? void 0 : _l.brandFont
|
|
1536
|
+
)}">`}
|
|
1166
1537
|
<script src="${this.npmCdn}/resize-observer-polyfill@1.5.x"><\/script>
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
html:not(.hydrated) { visibility:hidden; }
|
|
1538
|
+
<style data-styles>
|
|
1539
|
+
html { visibility:hidden;}
|
|
1170
1540
|
</style>
|
|
1541
|
+
${this.content}
|
|
1542
|
+
|
|
1171
1543
|
`);
|
|
1172
1544
|
frameDoc.close();
|
|
1173
1545
|
domready(frameDoc, async () => {
|
|
1546
|
+
if (skeletonContainer && skeletonContainer.parentNode) {
|
|
1547
|
+
skeletonContainer.parentNode.removeChild(skeletonContainer);
|
|
1548
|
+
}
|
|
1549
|
+
frame.style.display = "block";
|
|
1174
1550
|
const _sqh = contentWindow.squatch || contentWindow.widgetIdent;
|
|
1175
1551
|
frame.height = initialHeight || frameDoc.body.scrollHeight;
|
|
1176
1552
|
console.log({ height: frameDoc.body.scrollHeight });
|
|
@@ -1809,7 +2185,8 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1809
2185
|
}
|
|
1810
2186
|
}
|
|
1811
2187
|
const _log$3 = browserExports.debug("squatch-js");
|
|
1812
|
-
function _getAutoConfig(
|
|
2188
|
+
function _getAutoConfig() {
|
|
2189
|
+
var _a2;
|
|
1813
2190
|
const queryString = window.location.search;
|
|
1814
2191
|
const urlParams = new URLSearchParams(queryString);
|
|
1815
2192
|
const refParam = urlParams.get("_saasquatchExtra") || "";
|
|
@@ -1817,6 +2194,13 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1817
2194
|
_log$3("No _saasquatchExtra param");
|
|
1818
2195
|
return;
|
|
1819
2196
|
}
|
|
2197
|
+
const config = validateConfig({
|
|
2198
|
+
tenantAlias: "UNKNOWN"
|
|
2199
|
+
});
|
|
2200
|
+
if (!config.domain) {
|
|
2201
|
+
_log$3("domain must be provided in config to use _saasquatchExtra");
|
|
2202
|
+
return;
|
|
2203
|
+
}
|
|
1820
2204
|
let raw;
|
|
1821
2205
|
try {
|
|
1822
2206
|
raw = JSON.parse(b64decode(refParam));
|
|
@@ -1824,8 +2208,13 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1824
2208
|
_log$3("Unable to decode _saasquatchExtra config");
|
|
1825
2209
|
return;
|
|
1826
2210
|
}
|
|
1827
|
-
|
|
1828
|
-
|
|
2211
|
+
function normalizeDomain(domain) {
|
|
2212
|
+
return domain.replace(/^https?:\/\//, "");
|
|
2213
|
+
}
|
|
2214
|
+
const normalizedDomain = normalizeDomain(config.domain);
|
|
2215
|
+
const tenantAlias = Object.keys((raw == null ? void 0 : raw[normalizedDomain]) || {})[0];
|
|
2216
|
+
const widgetConfig = (_a2 = raw == null ? void 0 : raw[normalizedDomain]) == null ? void 0 : _a2[tenantAlias];
|
|
2217
|
+
if (!widgetConfig) {
|
|
1829
2218
|
_log$3("_saasquatchExtra did not have an expected structure");
|
|
1830
2219
|
return void 0;
|
|
1831
2220
|
}
|
|
@@ -1837,20 +2226,11 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1837
2226
|
...rest
|
|
1838
2227
|
},
|
|
1839
2228
|
squatchConfig: {
|
|
1840
|
-
...
|
|
1841
|
-
domain,
|
|
2229
|
+
...config,
|
|
1842
2230
|
tenantAlias
|
|
1843
2231
|
}
|
|
1844
2232
|
};
|
|
1845
2233
|
}
|
|
1846
|
-
function convertExtraToConfig(obj) {
|
|
1847
|
-
var _a2;
|
|
1848
|
-
const _domain = Object.keys(obj || {})[0];
|
|
1849
|
-
const tenantAlias = Object.keys((obj == null ? void 0 : obj[_domain]) || {})[0];
|
|
1850
|
-
const widgetConfig = (_a2 = obj == null ? void 0 : obj[_domain]) == null ? void 0 : _a2[tenantAlias];
|
|
1851
|
-
const domain = _domain ? `https://${_domain}` : void 0;
|
|
1852
|
-
return { domain, tenantAlias, widgetConfig };
|
|
1853
|
-
}
|
|
1854
2234
|
const _log$2 = browserExports.debug("squatch-js:decodeUserJwt");
|
|
1855
2235
|
function decodeUserJwt(tokenStr) {
|
|
1856
2236
|
var _a2;
|
|
@@ -2163,9 +2543,9 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
2163
2543
|
var _a2;
|
|
2164
2544
|
return (_a2 = widgets()) == null ? void 0 : _a2.render(widgetConfig);
|
|
2165
2545
|
}
|
|
2166
|
-
function _auto(
|
|
2546
|
+
function _auto() {
|
|
2167
2547
|
var _a2;
|
|
2168
|
-
const configs = _getAutoConfig(
|
|
2548
|
+
const configs = _getAutoConfig();
|
|
2169
2549
|
if (configs) {
|
|
2170
2550
|
const { squatchConfig, widgetConfig } = configs;
|
|
2171
2551
|
init(squatchConfig);
|