@saasquatch/squatch-js 2.8.0-4 → 2.8.0-6
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 +19 -1
- package/dist/squatch.cjs.js +14 -10
- package/dist/squatch.cjs.js.map +1 -1
- package/dist/squatch.esm.js +14 -10
- package/dist/squatch.esm.js.map +1 -1
- package/dist/squatch.js +14 -10
- package/dist/squatch.js.map +1 -1
- package/dist/squatch.min.js +1 -1
- package/dist/widgets/Widget.d.ts +12 -1
- 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/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.8.0] - 2025-10-22
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Added support for branding configuration to control widget sizing
|
|
15
|
+
- Embedded widgets now support configurable `minWidth` and `maxWidth` through `brandingConfig.widgetSize.embeddedWidgets`
|
|
16
|
+
- Popup widgets now support configurable `minWidth` and `maxWidth` through `brandingConfig.widgetSize.popupWidgets`
|
|
17
|
+
- Added new `WidgetValueConfig` interface to pass branding configuration to widgets
|
|
18
|
+
- Added `widgetConfig` parameter to `UpsertWidgetContext` and `BaseWidgetContext` types
|
|
19
|
+
- Created `formatWidth` utility function to handle width formatting with px and % units
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- Updated widget rendering flow to include branding configuration from API responses
|
|
24
|
+
- Modified `EmbedWidget` and `PopupWidget` to apply dynamic sizing based on branding configuration
|
|
25
|
+
- Enhanced declarative widgets to support branding configuration through the widget API
|
|
26
|
+
|
|
10
27
|
## [2.7.0] - 2025-05-14
|
|
11
28
|
|
|
12
29
|
### Changed
|
|
@@ -370,7 +387,8 @@ No release notes.
|
|
|
370
387
|
|
|
371
388
|
No release notes.
|
|
372
389
|
|
|
373
|
-
[unreleased]: https://github.com/saasquatch/squatch-js/compare/@saasquatch%2Fsquatch-js@2.
|
|
390
|
+
[unreleased]: https://github.com/saasquatch/squatch-js/compare/@saasquatch%2Fsquatch-js@2.8.0...HEAD
|
|
391
|
+
[2.8.0]: https://github.com/saasquatch/squatch-js/compare/@saasquatch%2Fsquatch-js@2.7.0...@saasquatch%2Fsquatch-js@2.8.0
|
|
374
392
|
[2.7.0]: https://github.com/saasquatch/squatch-js/compare/@saasquatch%2Fsquatch-js@2.6.3...@saasquatch%2Fsquatch-js@2.7.0
|
|
375
393
|
[2.6.3]: https://github.com/saasquatch/squatch-js/compare/@saasquatch%2Fsquatch-js@2.6.2...@saasquatch%2Fsquatch-js@2.6.3
|
|
376
394
|
[2.6.2]: https://github.com/saasquatch/squatch-js/compare/@saasquatch%2Fsquatch-js@2.6.1...@saasquatch%2Fsquatch-js@2.6.2
|
package/dist/squatch.cjs.js
CHANGED
|
@@ -874,7 +874,7 @@ class Widget {
|
|
|
874
874
|
);
|
|
875
875
|
return element;
|
|
876
876
|
}
|
|
877
|
-
_createFrame() {
|
|
877
|
+
_createFrame(options) {
|
|
878
878
|
const frame = document.createElement("iframe");
|
|
879
879
|
frame["squatchJsApi"] = this;
|
|
880
880
|
frame.id = "squatchFrame";
|
|
@@ -885,6 +885,11 @@ class Widget {
|
|
|
885
885
|
"style",
|
|
886
886
|
"border: 0; background-color: none; width: 1px; min-width: 100%;"
|
|
887
887
|
);
|
|
888
|
+
if (options == null ? void 0 : options.minWidth) frame.style.minWidth = options.minWidth;
|
|
889
|
+
if (options == null ? void 0 : options.maxWidth) frame.style.maxWidth = options.maxWidth;
|
|
890
|
+
if ((options == null ? void 0 : options.maxWidth) || (options == null ? void 0 : options.minWidth)) {
|
|
891
|
+
frame.style.width = "100%";
|
|
892
|
+
}
|
|
888
893
|
return frame;
|
|
889
894
|
}
|
|
890
895
|
_findFrame() {
|
|
@@ -1109,19 +1114,18 @@ class EmbedWidget extends Widget {
|
|
|
1109
1114
|
}
|
|
1110
1115
|
async load() {
|
|
1111
1116
|
var _a2, _b, _c, _d, _e;
|
|
1112
|
-
const
|
|
1117
|
+
const brandingConfig = (_b = (_a2 = this.context.widgetConfig) == null ? void 0 : _a2.values) == null ? void 0 : _b.brandingConfig;
|
|
1118
|
+
console.log({ brandingConfig });
|
|
1119
|
+
const sizes = (_c = brandingConfig == null ? void 0 : brandingConfig.widgetSize) == null ? void 0 : _c.embeddedWidgets;
|
|
1120
|
+
const maxWidth = (sizes == null ? void 0 : sizes.maxWidth) ? formatWidth(sizes.maxWidth) : "";
|
|
1121
|
+
const minWidth = (sizes == null ? void 0 : sizes.minWidth) ? formatWidth(sizes.minWidth) : "";
|
|
1122
|
+
const frame = this._createFrame({ minWidth, maxWidth });
|
|
1113
1123
|
const element = this._findElement();
|
|
1114
|
-
if ((
|
|
1124
|
+
if ((_d = this.context) == null ? void 0 : _d.container) {
|
|
1115
1125
|
element.style.visibility = "hidden";
|
|
1116
1126
|
element.style.height = "0";
|
|
1117
1127
|
element.style["overflow-y"] = "hidden";
|
|
1118
1128
|
}
|
|
1119
|
-
const brandingConfig = (_c = (_b = this.context.widgetConfig) == null ? void 0 : _b.values) == null ? void 0 : _c.brandingConfig;
|
|
1120
|
-
const sizes = (_d = brandingConfig == null ? void 0 : brandingConfig.widgetSize) == null ? void 0 : _d.embeddedWidgets;
|
|
1121
|
-
const maxWidth = (sizes == null ? void 0 : sizes.maxWidth) ? formatWidth(sizes.maxWidth) : "100%";
|
|
1122
|
-
const minWidth = (sizes == null ? void 0 : sizes.minWidth) ? formatWidth(sizes.minWidth) : "100%";
|
|
1123
|
-
element.style.maxWidth = maxWidth;
|
|
1124
|
-
element.style.minWidth = minWidth;
|
|
1125
1129
|
if (this.container) {
|
|
1126
1130
|
if (element.shadowRoot) {
|
|
1127
1131
|
if (((_e = element.shadowRoot.lastChild) == null ? void 0 : _e.nodeName) === "IFRAME") {
|
|
@@ -1251,7 +1255,7 @@ class PopupWidget extends Widget {
|
|
|
1251
1255
|
const dialog = document.createElement("dialog");
|
|
1252
1256
|
const brandingConfig = (_b = (_a2 = this.context.widgetConfig) == null ? void 0 : _a2.values) == null ? void 0 : _b.brandingConfig;
|
|
1253
1257
|
const sizes = (_c = brandingConfig == null ? void 0 : brandingConfig.widgetSize) == null ? void 0 : _c.popupWidgets;
|
|
1254
|
-
const minWidth = (sizes == null ? void 0 : sizes.minWidth) ? formatWidth(sizes.minWidth) : "
|
|
1258
|
+
const minWidth = (sizes == null ? void 0 : sizes.minWidth) ? formatWidth(sizes.minWidth) : "auto";
|
|
1255
1259
|
const maxWidth = (sizes == null ? void 0 : sizes.maxWidth) ? formatWidth(sizes.maxWidth) : "500px";
|
|
1256
1260
|
dialog.id = this.id;
|
|
1257
1261
|
dialog.setAttribute(
|