@saasquatch/squatch-js 2.8.2-1 → 2.8.2-3
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 +412 -29
- package/dist/squatch.cjs.js.map +1 -1
- package/dist/squatch.d.ts +1 -1
- package/dist/squatch.esm.js +412 -29
- package/dist/squatch.esm.js.map +1 -1
- package/dist/squatch.js +412 -29
- 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,19 +1110,369 @@ 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) {
|
|
1115
1461
|
super(params);
|
|
1116
1462
|
__publicField(this, "show", this.open);
|
|
1117
1463
|
__publicField(this, "hide", this.close);
|
|
1118
|
-
if (container)
|
|
1464
|
+
if (container) {
|
|
1465
|
+
this.container = container;
|
|
1466
|
+
}
|
|
1119
1467
|
}
|
|
1120
1468
|
async load() {
|
|
1121
|
-
var _a2, _b, _c, _d, _e, _f, _g, _h;
|
|
1469
|
+
var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
|
|
1122
1470
|
const brandingConfig = (_b = (_a2 = this.context.widgetConfig) == null ? void 0 : _a2.values) == null ? void 0 : _b.brandingConfig;
|
|
1123
|
-
const initialHeight =
|
|
1124
|
-
const
|
|
1471
|
+
const initialHeight = brandingConfig == null ? void 0 : brandingConfig.loadingHeight;
|
|
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;
|
|
1125
1476
|
const maxWidth = (sizes == null ? void 0 : sizes.maxWidth) ? formatWidth(sizes.maxWidth) : "";
|
|
1126
1477
|
const minWidth = (sizes == null ? void 0 : sizes.minWidth) ? formatWidth(sizes.minWidth) : "";
|
|
1127
1478
|
console.log({
|
|
@@ -1129,31 +1480,46 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1129
1480
|
initialHeight,
|
|
1130
1481
|
widgetConfig: this.context.widgetConfig
|
|
1131
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;
|
|
1132
1491
|
const frame = this._createFrame({
|
|
1133
1492
|
minWidth,
|
|
1134
1493
|
maxWidth,
|
|
1135
1494
|
initialHeight
|
|
1136
1495
|
});
|
|
1137
1496
|
const element = this._findElement();
|
|
1138
|
-
|
|
1497
|
+
element.innerHTML = skeletonHTML;
|
|
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) {
|
|
1139
1504
|
element.style.visibility = "hidden";
|
|
1140
1505
|
element.style.height = "0";
|
|
1141
1506
|
element.style["overflow-y"] = "hidden";
|
|
1142
1507
|
}
|
|
1143
1508
|
if (this.container) {
|
|
1144
1509
|
if (element.shadowRoot) {
|
|
1145
|
-
if (((
|
|
1510
|
+
if (((_j = element.shadowRoot.lastChild) == null ? void 0 : _j.nodeName) === "IFRAME") {
|
|
1146
1511
|
element.shadowRoot.replaceChild(frame, element.shadowRoot.lastChild);
|
|
1147
1512
|
} else {
|
|
1148
|
-
element.shadowRoot
|
|
1513
|
+
injectContents(element.shadowRoot);
|
|
1149
1514
|
}
|
|
1150
1515
|
} else if (element.firstChild) {
|
|
1151
|
-
element.
|
|
1516
|
+
element.innerHTML = "";
|
|
1517
|
+
injectContents(element);
|
|
1152
1518
|
} else {
|
|
1153
|
-
element
|
|
1519
|
+
injectContents(element);
|
|
1154
1520
|
}
|
|
1155
1521
|
} else if (!element.firstChild || element.firstChild.nodeName === "#text") {
|
|
1156
|
-
element
|
|
1522
|
+
injectContents(element);
|
|
1157
1523
|
}
|
|
1158
1524
|
const { contentWindow } = frame;
|
|
1159
1525
|
if (!contentWindow) {
|
|
@@ -1161,16 +1527,29 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1161
1527
|
}
|
|
1162
1528
|
const frameDoc = contentWindow.document;
|
|
1163
1529
|
frameDoc.open();
|
|
1164
|
-
console.log({ content: this.content });
|
|
1530
|
+
console.log({ content: this.content, context: this.context, this: this });
|
|
1531
|
+
const domain = this.widgetApi.domain;
|
|
1165
1532
|
frameDoc.write(`
|
|
1533
|
+
${((_k = brandingConfig == null ? void 0 : brandingConfig.main) == null ? void 0 : _k.brandFont) && `
|
|
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">`}
|
|
1166
1540
|
<script src="${this.npmCdn}/resize-observer-polyfill@1.5.x"><\/script>
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
html:not(.hydrated) { visibility:hidden; }
|
|
1541
|
+
<style data-styles>
|
|
1542
|
+
html { visibility:hidden;}
|
|
1170
1543
|
</style>
|
|
1544
|
+
${this.content}
|
|
1545
|
+
|
|
1171
1546
|
`);
|
|
1172
1547
|
frameDoc.close();
|
|
1173
1548
|
domready(frameDoc, async () => {
|
|
1549
|
+
if (skeletonContainer && skeletonContainer.parentNode) {
|
|
1550
|
+
skeletonContainer.parentNode.removeChild(skeletonContainer);
|
|
1551
|
+
}
|
|
1552
|
+
frame.style.display = "block";
|
|
1174
1553
|
const _sqh = contentWindow.squatch || contentWindow.widgetIdent;
|
|
1175
1554
|
frame.height = initialHeight || frameDoc.body.scrollHeight;
|
|
1176
1555
|
console.log({ height: frameDoc.body.scrollHeight });
|
|
@@ -1809,7 +2188,8 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1809
2188
|
}
|
|
1810
2189
|
}
|
|
1811
2190
|
const _log$3 = browserExports.debug("squatch-js");
|
|
1812
|
-
function _getAutoConfig(
|
|
2191
|
+
function _getAutoConfig() {
|
|
2192
|
+
var _a2;
|
|
1813
2193
|
const queryString = window.location.search;
|
|
1814
2194
|
const urlParams = new URLSearchParams(queryString);
|
|
1815
2195
|
const refParam = urlParams.get("_saasquatchExtra") || "";
|
|
@@ -1817,6 +2197,13 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1817
2197
|
_log$3("No _saasquatchExtra param");
|
|
1818
2198
|
return;
|
|
1819
2199
|
}
|
|
2200
|
+
const config = validateConfig({
|
|
2201
|
+
tenantAlias: "UNKNOWN"
|
|
2202
|
+
});
|
|
2203
|
+
if (!config.domain) {
|
|
2204
|
+
_log$3("domain must be provided in config to use _saasquatchExtra");
|
|
2205
|
+
return;
|
|
2206
|
+
}
|
|
1820
2207
|
let raw;
|
|
1821
2208
|
try {
|
|
1822
2209
|
raw = JSON.parse(b64decode(refParam));
|
|
@@ -1824,8 +2211,13 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1824
2211
|
_log$3("Unable to decode _saasquatchExtra config");
|
|
1825
2212
|
return;
|
|
1826
2213
|
}
|
|
1827
|
-
|
|
1828
|
-
|
|
2214
|
+
function normalizeDomain(domain) {
|
|
2215
|
+
return domain.replace(/^https?:\/\//, "");
|
|
2216
|
+
}
|
|
2217
|
+
const normalizedDomain = normalizeDomain(config.domain);
|
|
2218
|
+
const tenantAlias = Object.keys((raw == null ? void 0 : raw[normalizedDomain]) || {})[0];
|
|
2219
|
+
const widgetConfig = (_a2 = raw == null ? void 0 : raw[normalizedDomain]) == null ? void 0 : _a2[tenantAlias];
|
|
2220
|
+
if (!widgetConfig) {
|
|
1829
2221
|
_log$3("_saasquatchExtra did not have an expected structure");
|
|
1830
2222
|
return void 0;
|
|
1831
2223
|
}
|
|
@@ -1837,20 +2229,11 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
1837
2229
|
...rest
|
|
1838
2230
|
},
|
|
1839
2231
|
squatchConfig: {
|
|
1840
|
-
...
|
|
1841
|
-
domain,
|
|
2232
|
+
...config,
|
|
1842
2233
|
tenantAlias
|
|
1843
2234
|
}
|
|
1844
2235
|
};
|
|
1845
2236
|
}
|
|
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
2237
|
const _log$2 = browserExports.debug("squatch-js:decodeUserJwt");
|
|
1855
2238
|
function decodeUserJwt(tokenStr) {
|
|
1856
2239
|
var _a2;
|
|
@@ -2163,9 +2546,9 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
2163
2546
|
var _a2;
|
|
2164
2547
|
return (_a2 = widgets()) == null ? void 0 : _a2.render(widgetConfig);
|
|
2165
2548
|
}
|
|
2166
|
-
function _auto(
|
|
2549
|
+
function _auto() {
|
|
2167
2550
|
var _a2;
|
|
2168
|
-
const configs = _getAutoConfig(
|
|
2551
|
+
const configs = _getAutoConfig();
|
|
2169
2552
|
if (configs) {
|
|
2170
2553
|
const { squatchConfig, widgetConfig } = configs;
|
|
2171
2554
|
init(squatchConfig);
|