workwonders-sdk 0.0.1

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.
Files changed (103) hide show
  1. package/.dockerignore +1 -0
  2. package/.env.example +2 -0
  3. package/Dockerfile +17 -0
  4. package/README.md +1 -0
  5. package/dist/index.d.ts +7 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +49 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/types/changelogContextConditionsDto.d.ts +16 -0
  10. package/dist/types/changelogContextConditionsDto.d.ts.map +1 -0
  11. package/dist/types/changelogContextConditionsDto.js +2 -0
  12. package/dist/types/changelogContextConditionsDto.js.map +1 -0
  13. package/dist/types/changelogContextConditionsDtoAND.d.ts +10 -0
  14. package/dist/types/changelogContextConditionsDtoAND.d.ts.map +1 -0
  15. package/dist/types/changelogContextConditionsDtoAND.js +8 -0
  16. package/dist/types/changelogContextConditionsDtoAND.js.map +1 -0
  17. package/dist/types/changelogContextConditionsDtoNOT.d.ts +10 -0
  18. package/dist/types/changelogContextConditionsDtoNOT.d.ts.map +1 -0
  19. package/dist/types/changelogContextConditionsDtoNOT.js +8 -0
  20. package/dist/types/changelogContextConditionsDtoNOT.js.map +1 -0
  21. package/dist/types/changelogContextConditionsDtoORItem.d.ts +10 -0
  22. package/dist/types/changelogContextConditionsDtoORItem.d.ts.map +1 -0
  23. package/dist/types/changelogContextConditionsDtoORItem.js +8 -0
  24. package/dist/types/changelogContextConditionsDtoORItem.js.map +1 -0
  25. package/dist/types/changelogSummaryDto.d.ts +23 -0
  26. package/dist/types/changelogSummaryDto.d.ts.map +1 -0
  27. package/dist/types/changelogSummaryDto.js +2 -0
  28. package/dist/types/changelogSummaryDto.js.map +1 -0
  29. package/dist/types/changelogSummaryDtoShowMode.d.ts +12 -0
  30. package/dist/types/changelogSummaryDtoShowMode.d.ts.map +1 -0
  31. package/dist/types/changelogSummaryDtoShowMode.js +12 -0
  32. package/dist/types/changelogSummaryDtoShowMode.js.map +1 -0
  33. package/dist/types/organizationChangelogConfigDto.d.ts +11 -0
  34. package/dist/types/organizationChangelogConfigDto.d.ts.map +1 -0
  35. package/dist/types/organizationChangelogConfigDto.js +8 -0
  36. package/dist/types/organizationChangelogConfigDto.js.map +1 -0
  37. package/dist/types/organizationDto.d.ts +55 -0
  38. package/dist/types/organizationDto.d.ts.map +1 -0
  39. package/dist/types/organizationDto.js +2 -0
  40. package/dist/types/organizationDto.js.map +1 -0
  41. package/dist/types/organizationDtoAccessLevel.d.ts +15 -0
  42. package/dist/types/organizationDtoAccessLevel.d.ts.map +1 -0
  43. package/dist/types/organizationDtoAccessLevel.js +12 -0
  44. package/dist/types/organizationDtoAccessLevel.js.map +1 -0
  45. package/dist/types/organizationDtoEnabledModulesItem.d.ts +14 -0
  46. package/dist/types/organizationDtoEnabledModulesItem.d.ts.map +1 -0
  47. package/dist/types/organizationDtoEnabledModulesItem.js +14 -0
  48. package/dist/types/organizationDtoEnabledModulesItem.js.map +1 -0
  49. package/dist/types/organizationDtoRole.d.ts +16 -0
  50. package/dist/types/organizationDtoRole.d.ts.map +1 -0
  51. package/dist/types/organizationDtoRole.js +13 -0
  52. package/dist/types/organizationDtoRole.js.map +1 -0
  53. package/dist/types/organizationDtoTheme.d.ts +15 -0
  54. package/dist/types/organizationDtoTheme.d.ts.map +1 -0
  55. package/dist/types/organizationDtoTheme.js +12 -0
  56. package/dist/types/organizationDtoTheme.js.map +1 -0
  57. package/dist/types/organizationFeaturesDto.d.ts +18 -0
  58. package/dist/types/organizationFeaturesDto.d.ts.map +1 -0
  59. package/dist/types/organizationFeaturesDto.js +8 -0
  60. package/dist/types/organizationFeaturesDto.js.map +1 -0
  61. package/dist/types/organizationFeedbackPostConfigDto.d.ts +14 -0
  62. package/dist/types/organizationFeedbackPostConfigDto.d.ts.map +1 -0
  63. package/dist/types/organizationFeedbackPostConfigDto.js +2 -0
  64. package/dist/types/organizationFeedbackPostConfigDto.js.map +1 -0
  65. package/dist/types/organizationFeedbackPostConfigDtoCopywriting.d.ts +11 -0
  66. package/dist/types/organizationFeedbackPostConfigDtoCopywriting.d.ts.map +1 -0
  67. package/dist/types/organizationFeedbackPostConfigDtoCopywriting.js +2 -0
  68. package/dist/types/organizationFeedbackPostConfigDtoCopywriting.js.map +1 -0
  69. package/dist/types/organizationFeedbackPostCopywritingDto.d.ts +13 -0
  70. package/dist/types/organizationFeedbackPostCopywritingDto.d.ts.map +1 -0
  71. package/dist/types/organizationFeedbackPostCopywritingDto.js +8 -0
  72. package/dist/types/organizationFeedbackPostCopywritingDto.js.map +1 -0
  73. package/dist/workwonders-sdk.d.ts +31 -0
  74. package/dist/workwonders-sdk.d.ts.map +1 -0
  75. package/dist/workwonders-sdk.js +265 -0
  76. package/dist/workwonders-sdk.js.map +1 -0
  77. package/docker-compose.yml +15 -0
  78. package/index.html +51 -0
  79. package/package.json +20 -0
  80. package/public/_headers +4 -0
  81. package/public/style.css +78 -0
  82. package/public/ww.png +0 -0
  83. package/src/index.ts +80 -0
  84. package/src/types/changelogContextConditionsDto.ts +16 -0
  85. package/src/types/changelogContextConditionsDtoAND.ts +8 -0
  86. package/src/types/changelogContextConditionsDtoNOT.ts +8 -0
  87. package/src/types/changelogContextConditionsDtoORItem.ts +8 -0
  88. package/src/types/changelogSummaryDto.ts +24 -0
  89. package/src/types/changelogSummaryDtoShowMode.ts +15 -0
  90. package/src/types/organizationChangelogConfigDto.ts +12 -0
  91. package/src/types/organizationDto.ts +56 -0
  92. package/src/types/organizationDtoAccessLevel.ts +18 -0
  93. package/src/types/organizationDtoEnabledModulesItem.ts +17 -0
  94. package/src/types/organizationDtoRole.ts +21 -0
  95. package/src/types/organizationDtoTheme.ts +18 -0
  96. package/src/types/organizationFeaturesDto.ts +18 -0
  97. package/src/types/organizationFeedbackPostConfigDto.ts +14 -0
  98. package/src/types/organizationFeedbackPostConfigDtoCopywriting.ts +11 -0
  99. package/src/types/organizationFeedbackPostCopywritingDto.ts +13 -0
  100. package/src/vite-env.d.ts +11 -0
  101. package/src/workwonders-sdk.ts +417 -0
  102. package/tsconfig.json +29 -0
  103. package/vite.config.ts +14 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organizationFeedbackPostConfigDtoCopywriting.js","sourceRoot":"","sources":["../../src/types/organizationFeedbackPostConfigDtoCopywriting.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Generated by orval v7.11.2 🍺
3
+ * Do not edit manually.
4
+ * Work Wonders API
5
+ * OpenAPI spec version: 1.0
6
+ */
7
+ export interface OrganizationFeedbackPostCopywritingDto {
8
+ title: string;
9
+ buttonText: string;
10
+ message: string;
11
+ widgetButtonText: string;
12
+ }
13
+ //# sourceMappingURL=organizationFeedbackPostCopywritingDto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organizationFeedbackPostCopywritingDto.d.ts","sourceRoot":"","sources":["../../src/types/organizationFeedbackPostCopywritingDto.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,sCAAsC;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Generated by orval v7.11.2 🍺
3
+ * Do not edit manually.
4
+ * Work Wonders API
5
+ * OpenAPI spec version: 1.0
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=organizationFeedbackPostCopywritingDto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organizationFeedbackPostCopywritingDto.js","sourceRoot":"","sources":["../../src/types/organizationFeedbackPostCopywritingDto.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,31 @@
1
+ interface InitArgs {
2
+ organization: string;
3
+ token?: string;
4
+ locale?: string;
5
+ }
6
+ export declare class WorkWondersSdk {
7
+ private ky;
8
+ private $feedbackContainer;
9
+ private $changelogContainer;
10
+ private $changelogIframe;
11
+ private $changelogMiniContainer;
12
+ private $feedbackButton;
13
+ private widgetBaseUrl;
14
+ private args;
15
+ private organizationData;
16
+ private contextBasedChangelogs;
17
+ init: (args: InitArgs) => Promise<void>;
18
+ initFeedbackWidget: () => void;
19
+ private initFeedbackButton;
20
+ initChangelogWidget: () => Promise<void>;
21
+ showChangelogs: (changelogIdsToShow: number[], language: string) => void;
22
+ initChangelogWidgetMini: () => void;
23
+ openFeedbackWidget: () => void;
24
+ openChangelogWidget: (id?: string) => void;
25
+ openChangelogMiniWidget: () => void;
26
+ closeChangelogWidget: () => void;
27
+ closeFeedbackWidget: () => void;
28
+ closeChangelogMiniWidget: () => void;
29
+ }
30
+ export {};
31
+ //# sourceMappingURL=workwonders-sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workwonders-sdk.d.ts","sourceRoot":"","sources":["../src/workwonders-sdk.ts"],"names":[],"mappings":"AAIA,UAAU,QAAQ;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAEP;IAEH,OAAO,CAAC,kBAAkB,CAA+B;IACzD,OAAO,CAAC,mBAAmB,CAA+B;IAC1D,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,uBAAuB,CAA+B;IAC9D,OAAO,CAAC,eAAe,CAAkC;IAEzD,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,IAAI,CAAyB;IACrC,OAAO,CAAC,gBAAgB,CAAgC;IAExD,OAAO,CAAC,sBAAsB,CAA6B;IAE3D,IAAI,SAAgB,QAAQ,mBA6D1B;IAEF,kBAAkB,aA+ChB;IAEF,OAAO,CAAC,kBAAkB;IAmC1B,mBAAmB,sBAoFjB;IAEF,cAAc,uBAAwB,MAAM,EAAE,YAAY,MAAM,UAuC9D;IAEF,uBAAuB,aAmDrB;IAEF,kBAAkB,aAMhB;IAEF,mBAAmB,QAAS,MAAM,UAkBhC;IAEF,uBAAuB,aAOrB;IAEF,oBAAoB,aAMlB;IAEF,mBAAmB,aAMjB;IAEF,wBAAwB,aAOtB;CACH"}
@@ -0,0 +1,265 @@
1
+ import ky from "ky";
2
+ export class WorkWondersSdk {
3
+ ky = ky.create({
4
+ prefixUrl: import.meta.env.VITE_WORKWONDERS_API_URL,
5
+ });
6
+ $feedbackContainer = null;
7
+ $changelogContainer = null;
8
+ $changelogIframe = null;
9
+ $changelogMiniContainer = null;
10
+ $feedbackButton = null;
11
+ widgetBaseUrl = "";
12
+ args = null;
13
+ organizationData = null;
14
+ contextBasedChangelogs = [];
15
+ init = async (args) => {
16
+ this.args = args;
17
+ console.log(this.contextBasedChangelogs);
18
+ if (this.$changelogContainer) {
19
+ this.$changelogContainer.remove();
20
+ this.$changelogContainer = null;
21
+ }
22
+ if (this.$feedbackContainer) {
23
+ this.$feedbackContainer.remove();
24
+ this.$feedbackContainer = null;
25
+ }
26
+ if (this.$changelogMiniContainer) {
27
+ this.$changelogMiniContainer.remove();
28
+ this.$changelogMiniContainer = null;
29
+ }
30
+ if (this.$feedbackButton) {
31
+ this.$feedbackButton.remove();
32
+ this.$feedbackButton = null;
33
+ }
34
+ if (!args.organization) {
35
+ console.error("Cannot init Work Wonders SDK. Organization is required.");
36
+ return;
37
+ }
38
+ const organizationData = await this.ky
39
+ .get(`organizations/${args.organization}`)
40
+ .then((res) => res.json());
41
+ if (organizationData.accessLevel === "Private" && !args.token) {
42
+ console.error("Cannot init Work Wonders SDK. This organization is private, a token is required.");
43
+ return;
44
+ }
45
+ if (!organizationData.features.widgets) {
46
+ console.error("Cannot init Work Wonders SDK. This organization does not have widgets feature enabled.");
47
+ return;
48
+ }
49
+ this.organizationData = organizationData;
50
+ const language = organizationData.languages.find((lang) => lang === args.locale) ??
51
+ organizationData.defaultLanguage;
52
+ args.locale = language;
53
+ const workwondersUrl = new URL(import.meta.env.VITE_WORKWONDERS_URL);
54
+ this.widgetBaseUrl = `https://${args.organization}.${workwondersUrl.host}/widget/`;
55
+ console.log("Work Wonders SDK initialized");
56
+ };
57
+ initFeedbackWidget = () => {
58
+ if (this.$feedbackContainer) {
59
+ return;
60
+ }
61
+ const args = this.args;
62
+ const organizationData = this.organizationData;
63
+ if (!args) {
64
+ return;
65
+ }
66
+ if (!organizationData) {
67
+ return;
68
+ }
69
+ if (!organizationData.enabledModules.includes("FEEDBACK")) {
70
+ console.warn("Feedback module is not enabled for this organization.");
71
+ return;
72
+ }
73
+ const $feedbackContainer = document.createElement("div");
74
+ this.$feedbackContainer = $feedbackContainer;
75
+ $feedbackContainer.id = "workwonders-feedback-container";
76
+ $feedbackContainer.classList.add("workwonders-widget-container");
77
+ $feedbackContainer.classList.add("workwonders-widget-container--hidden");
78
+ const $feedbackIframe = document.createElement("iframe");
79
+ $feedbackIframe.id = "workwonders-feedback-iframe";
80
+ $feedbackIframe.classList.add("workwonders-widget-iframe");
81
+ $feedbackIframe.classList.add("workwonders-feedback-iframe");
82
+ const widgetUrl = new URL("feedback", `${this.widgetBaseUrl}`);
83
+ widgetUrl.searchParams.append("jwt", args.token || "");
84
+ widgetUrl.searchParams.append("lang", args.locale || "");
85
+ $feedbackIframe.src = widgetUrl.toString();
86
+ $feedbackContainer.onclick = () => {
87
+ this.closeFeedbackWidget();
88
+ };
89
+ $feedbackContainer.appendChild($feedbackIframe);
90
+ document.body.appendChild($feedbackContainer);
91
+ this.initFeedbackButton();
92
+ };
93
+ initFeedbackButton() {
94
+ if (this.$feedbackButton) {
95
+ return;
96
+ }
97
+ const args = this.args;
98
+ const organizationData = this.organizationData;
99
+ if (!args?.locale || !organizationData) {
100
+ return;
101
+ }
102
+ const $feedbackButton = document.createElement("button");
103
+ this.$feedbackButton = $feedbackButton;
104
+ const buttonText = organizationData.feedbackPostConfig.copywriting[args.locale]
105
+ ?.widgetButtonText ??
106
+ organizationData.feedbackPostConfig.copywriting[organizationData.defaultLanguage].widgetButtonText ??
107
+ "Feedback";
108
+ $feedbackButton.id = "workwonders-feedback-button";
109
+ $feedbackButton.textContent = buttonText;
110
+ $feedbackButton.classList.add("workwonders-feedback-button");
111
+ $feedbackButton.style.backgroundColor = organizationData.primaryColor;
112
+ $feedbackButton.onclick = () => {
113
+ this.openFeedbackWidget();
114
+ };
115
+ document.body.appendChild($feedbackButton);
116
+ }
117
+ initChangelogWidget = async () => {
118
+ if (this.$changelogContainer) {
119
+ return;
120
+ }
121
+ const args = this.args;
122
+ const organizationData = this.organizationData;
123
+ if (!args?.locale || !organizationData) {
124
+ return;
125
+ }
126
+ if (!organizationData.enabledModules.includes("CHANGELOG")) {
127
+ console.warn("Changelog module is not enabled for this organization.");
128
+ return;
129
+ }
130
+ const $changelogContainer = document.createElement("div");
131
+ this.$changelogContainer = $changelogContainer;
132
+ const existingsChangelogs = await this.ky
133
+ .get(`organizations/${args.organization}/changelogs/summary?language=${args.locale}`)
134
+ .then((res) => res.json())
135
+ .then((changelogs) => changelogs.sort((a, b) => new Date(b.publishedAt ?? 0).getTime() -
136
+ new Date(a.publishedAt ?? 0).getTime()));
137
+ const regularChangelogs = existingsChangelogs.filter((changelog) => changelog.showMode === "Regular");
138
+ this.contextBasedChangelogs = existingsChangelogs.filter((changelog) => changelog.showMode === "ContextBased");
139
+ $changelogContainer.id = "workwonders-changelog-container";
140
+ $changelogContainer.classList.add("workwonders-widget-container", "workwonders-widget-container--hidden");
141
+ const $changelogIframe = document.createElement("iframe");
142
+ $changelogIframe.id = "workwonders-changelog-iframe";
143
+ $changelogIframe.classList.add("workwonders-widget-iframe", "workwonders-changelog-iframe");
144
+ const seenChangelogs = localStorage.getItem(`workwonders-seen-changelogs-${args.organization}`);
145
+ const seenChangelogsArray = seenChangelogs
146
+ ? JSON.parse(seenChangelogs)
147
+ : [];
148
+ const unseenChangelogs = regularChangelogs.filter((changelog) => !seenChangelogsArray.includes(changelog.id));
149
+ const shouldShowChangelogOnStart = unseenChangelogs.length > 0 &&
150
+ (seenChangelogsArray.length > 0 ||
151
+ organizationData.changelogConfig.showLatestChangelogOnFirstVisit);
152
+ if (shouldShowChangelogOnStart) {
153
+ const changelogIdsToShow = seenChangelogsArray.length === 0
154
+ ? [unseenChangelogs[0].id]
155
+ : unseenChangelogs.map((c) => c.id);
156
+ this.showChangelogs(changelogIdsToShow, args.locale);
157
+ }
158
+ $changelogContainer.onclick = () => {
159
+ this.closeChangelogWidget();
160
+ };
161
+ document.body.appendChild($changelogContainer);
162
+ };
163
+ showChangelogs = (changelogIdsToShow, language) => {
164
+ const widgetUrl = new URL("changelog", `${this.widgetBaseUrl}`);
165
+ widgetUrl.searchParams.append("jwt", this.args?.token || "");
166
+ widgetUrl.searchParams.append("lang", language);
167
+ widgetUrl.searchParams.append("changelogIds", changelogIdsToShow.join(","));
168
+ const $changelogIframe = this.$changelogIframe;
169
+ const $changelogContainer = this.$changelogContainer;
170
+ if (!$changelogIframe || !$changelogContainer) {
171
+ return;
172
+ }
173
+ $changelogIframe.src = widgetUrl.toString();
174
+ $changelogContainer.appendChild($changelogIframe);
175
+ $changelogIframe.onload = () => {
176
+ const currentSeenChangelogs = localStorage.getItem(`workwonders-seen-changelogs-${this.args?.organization}`);
177
+ const currentSeenChangelogsArray = currentSeenChangelogs
178
+ ? JSON.parse(currentSeenChangelogs)
179
+ : [];
180
+ const newSeenChangelogs = [
181
+ ...currentSeenChangelogsArray,
182
+ ...changelogIdsToShow,
183
+ ];
184
+ localStorage.setItem(`workwonders-seen-changelogs-${this.args?.organization}`, JSON.stringify(newSeenChangelogs));
185
+ $changelogContainer.classList.remove("workwonders-widget-container--hidden");
186
+ };
187
+ };
188
+ initChangelogWidgetMini = () => {
189
+ if (this.$changelogMiniContainer) {
190
+ return;
191
+ }
192
+ const args = this.args;
193
+ const organizationData = this.organizationData;
194
+ if (!args) {
195
+ return;
196
+ }
197
+ if (!organizationData) {
198
+ return;
199
+ }
200
+ if (!organizationData.enabledModules.includes("CHANGELOG")) {
201
+ console.warn("Changelog module is not enabled for this organization.");
202
+ return;
203
+ }
204
+ const $changelogMiniContainer = document.createElement("div");
205
+ this.$changelogMiniContainer = $changelogMiniContainer;
206
+ $changelogMiniContainer.id = "workwonders-changelog-mini-container";
207
+ $changelogMiniContainer.classList.add("workwonders-widget-container");
208
+ $changelogMiniContainer.classList.add("workwonders-changelog-mini-container");
209
+ $changelogMiniContainer.classList.add("workwonders-widget-container--hidden");
210
+ const $changelogMiniIframe = document.createElement("iframe");
211
+ $changelogMiniIframe.id = "workwonders-changelog-mini-iframe";
212
+ $changelogMiniIframe.classList.add("workwonders-widget-iframe");
213
+ $changelogMiniIframe.classList.add("workwonders-changelog-mini-iframe");
214
+ const widgetUrl = new URL("changelog/mini", `${this.widgetBaseUrl}`);
215
+ widgetUrl.searchParams.append("jwt", args.token || "");
216
+ widgetUrl.searchParams.append("lang", args.locale || "");
217
+ $changelogMiniIframe.src = widgetUrl.toString();
218
+ $changelogMiniContainer.appendChild($changelogMiniIframe);
219
+ $changelogMiniContainer.onclick = () => {
220
+ this.closeChangelogMiniWidget();
221
+ };
222
+ document.body.appendChild($changelogMiniContainer);
223
+ };
224
+ openFeedbackWidget = () => {
225
+ if (this.$feedbackContainer) {
226
+ this.$feedbackContainer.classList.remove("workwonders-widget-container--hidden");
227
+ }
228
+ };
229
+ openChangelogWidget = (id) => {
230
+ if (this.$changelogContainer) {
231
+ if (id) {
232
+ const $iframe = document.getElementById("workwonders-changelog-iframe");
233
+ const widgetUrl = new URL("changelog", `${this.widgetBaseUrl}`);
234
+ widgetUrl.searchParams.append("jwt", this.args?.token || "");
235
+ widgetUrl.searchParams.append("lang", this.args?.locale || "");
236
+ widgetUrl.searchParams.append("changelogIds", id);
237
+ $iframe.src = widgetUrl.toString();
238
+ }
239
+ this.$changelogContainer.classList.remove("workwonders-widget-container--hidden");
240
+ }
241
+ };
242
+ openChangelogMiniWidget = () => {
243
+ if (this.$changelogMiniContainer) {
244
+ console.log("Opening changelog mini");
245
+ this.$changelogMiniContainer.classList.remove("workwonders-widget-container--hidden");
246
+ }
247
+ };
248
+ closeChangelogWidget = () => {
249
+ if (this.$changelogContainer) {
250
+ this.$changelogContainer.classList.add("workwonders-widget-container--hidden");
251
+ }
252
+ };
253
+ closeFeedbackWidget = () => {
254
+ if (this.$feedbackContainer) {
255
+ this.$feedbackContainer.classList.add("workwonders-widget-container--hidden");
256
+ }
257
+ };
258
+ closeChangelogMiniWidget = () => {
259
+ if (this.$changelogMiniContainer) {
260
+ console.log("Closing changelog mini");
261
+ this.$changelogMiniContainer.classList.add("workwonders-widget-container--hidden");
262
+ }
263
+ };
264
+ }
265
+ //# sourceMappingURL=workwonders-sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workwonders-sdk.js","sourceRoot":"","sources":["../src/workwonders-sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ services:
2
+ app:
3
+ build:
4
+ context: .
5
+ dockerfile: Dockerfile
6
+ ports:
7
+ - 3012:80
8
+ develop:
9
+ watch:
10
+ - action: rebuild
11
+ path: ./src
12
+ - action: rebuild
13
+ path: ./public
14
+ - action: rebuild
15
+ path: package.json
package/index.html ADDED
@@ -0,0 +1,51 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/ww.png" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>Work Wonders SDK Example</title>
8
+ </head>
9
+ <body>
10
+ <input type="text" placeholder="Organization slug" id="slug" name="slug" />
11
+ <input type="text" placeholder="Locale" id="locale" name="locale" />
12
+ <button type="button" onclick="initSdk()">Init SDK</button>
13
+
14
+ <div id="buttons-container"></div>
15
+
16
+ <button type="button" onclick="clearLocalStorage()">
17
+ Clear local storage
18
+ </button>
19
+ <script type="module" src="/src/index.ts"></script>
20
+ <script>
21
+ function initSdk() {
22
+ const $buttonsContainer = document.getElementById("buttons-container");
23
+
24
+ $buttonsContainer.innerHTML = ``;
25
+
26
+ window.workwondersSdk
27
+ .init({
28
+ organization: document.getElementById("slug").value,
29
+ token: "",
30
+ locale: document.getElementById("locale").value,
31
+ })
32
+ .then(() => {
33
+ window.workwondersSdk.initFeedbackWidget();
34
+ window.workwondersSdk.initChangelogWidget();
35
+ window.workwondersSdk.initChangelogWidgetMini();
36
+
37
+ $buttonsContainer.innerHTML = `
38
+ <button type="button" data-open-workwonders-feedback>Open feedback</button>
39
+ <button type="button" data-open-workwonders-changelog>Open changelog</button>
40
+ <button type="button" data-open-workwonders-changelog-mini>Open mini</button>
41
+ `;
42
+ });
43
+ }
44
+
45
+ function clearLocalStorage() {
46
+ localStorage.clear();
47
+ }
48
+ </script>
49
+ </body>
50
+ </html>
51
+
package/package.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "workwonders-sdk",
3
+ "author": "Work Wonders",
4
+ "version": "0.0.1",
5
+ "description": "",
6
+ "main": "dist/index.js",
7
+ "scripts": {
8
+ "dev": "vite",
9
+ "build": "tsc && vite build",
10
+ "preview": "vite preview"
11
+ },
12
+ "devDependencies": {
13
+ "@types/node": "^22.13.0",
14
+ "typescript": "~5.6.2",
15
+ "vite": "^6.0.1"
16
+ },
17
+ "dependencies": {
18
+ "ky": "^1.11.0"
19
+ }
20
+ }
@@ -0,0 +1,4 @@
1
+ /*
2
+ Access-Control-Allow-Origin: *
3
+ Access-Control-Allow-Methods: GET, OPTIONS
4
+ Access-Control-Allow-Headers: Content-Type
@@ -0,0 +1,78 @@
1
+ .workwonders-widget-container {
2
+ position: fixed;
3
+ top: 0;
4
+ left: 0;
5
+ z-index: 9999;
6
+ /* add blur to background */
7
+ backdrop-filter: blur(2px);
8
+ width: 100%;
9
+ height: 100%;
10
+ transition: opacity 0.3s ease-in-out;
11
+ opacity: 1;
12
+ display: flex;
13
+ justify-content: center;
14
+ align-items: center;
15
+ }
16
+
17
+ .workwonders-widget-container--hidden {
18
+ opacity: 0;
19
+ display: none;
20
+ }
21
+
22
+ .workwonders-widget-iframe {
23
+ width: 400px;
24
+ height: 500px;
25
+ border: none;
26
+ border-radius: 16px;
27
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
28
+ }
29
+
30
+ .workwonders-changelog-iframe {
31
+ width: 642px;
32
+ height: 672px;
33
+ }
34
+
35
+ .workwonders-feedback-iframe {
36
+ width: 500px;
37
+ height: 470px;
38
+ }
39
+
40
+ .workwonders-changelog-mini-container {
41
+ backdrop-filter: none;
42
+ right: 0;
43
+ bottom: 0;
44
+ width: inherit;
45
+ height: inherit;
46
+ top: inherit;
47
+ left: inherit;
48
+ justify-content: end;
49
+ align-items: end;
50
+ }
51
+
52
+ .workwonders-feedback-button {
53
+ position: absolute;
54
+ right: 0;
55
+ top: 75%;
56
+ transform: translateY(-50%) translateX(40%) rotate(90deg);
57
+ transform-origin: center;
58
+ z-index: 9999;
59
+ cursor: pointer;
60
+ background-color: #1a1a1a;
61
+ color: #fff;
62
+ font-size: 16px;
63
+ padding: 16px 16px 8px 16px;
64
+ border-radius: 8px;
65
+ display: flex;
66
+ justify-content: center;
67
+ align-items: center;
68
+ font-weight: bold;
69
+ border: none;
70
+ outline: none;
71
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
72
+ transition: all 0.3s ease-in-out;
73
+ &:hover {
74
+ background-color: #333;
75
+ transform: translateY(-50%) translateX(38%) rotate(90deg) scale(1.1);
76
+ }
77
+ }
78
+
package/public/ww.png ADDED
Binary file
package/src/index.ts ADDED
@@ -0,0 +1,80 @@
1
+ import { WorkWondersSdk } from "./workwonders-sdk";
2
+
3
+ declare global {
4
+ interface Window {
5
+ workwondersSdk: WorkWondersSdk;
6
+ }
7
+ }
8
+
9
+ window.addEventListener("message", (message) => {
10
+ if (message.data.type === "changelog_widget_closed") {
11
+ window.workwondersSdk.closeChangelogWidget();
12
+ }
13
+
14
+ if (message.data.type === "changelog_mini_widget_closed") {
15
+ window.workwondersSdk.closeChangelogMiniWidget();
16
+ }
17
+
18
+ if (message.data.type === "changelog_mini_widget_item_clicked") {
19
+ window.workwondersSdk.openChangelogWidget(message.data.id);
20
+ window.workwondersSdk.closeChangelogMiniWidget();
21
+ }
22
+
23
+ if (message.data.type === "feedback_widget_closed") {
24
+ window.workwondersSdk.closeFeedbackWidget();
25
+ }
26
+ });
27
+
28
+ document.addEventListener("click", async (event) => {
29
+ const $triggerFeedbackTarget = (event.target as HTMLElement).closest(
30
+ "[data-open-workwonders-feedback]"
31
+ );
32
+
33
+ const $triggerChangelogTarget = (event.target as HTMLElement).closest(
34
+ "[data-open-workwonders-changelog]"
35
+ );
36
+
37
+ const $triggerChangelogMiniTarget = (event.target as HTMLElement).closest(
38
+ "[data-open-workwonders-changelog-mini]"
39
+ );
40
+
41
+ const $changelogMiniContainerTarget = (event.target as HTMLElement).closest(
42
+ "#workwonders-changelog-mini-container"
43
+ );
44
+
45
+ if (!$changelogMiniContainerTarget) {
46
+ window.workwondersSdk.closeChangelogMiniWidget();
47
+ }
48
+
49
+ if ($triggerFeedbackTarget) {
50
+ console.log("Opening feedback");
51
+ window.workwondersSdk.openFeedbackWidget();
52
+ return;
53
+ }
54
+
55
+ if ($triggerChangelogTarget) {
56
+ console.log("Opening changelog");
57
+ window.workwondersSdk.openChangelogWidget();
58
+ return;
59
+ }
60
+
61
+ if ($triggerChangelogMiniTarget) {
62
+ console.log("Opening changelog mini");
63
+ window.workwondersSdk.openChangelogMiniWidget();
64
+ return;
65
+ }
66
+ });
67
+
68
+ (() => {
69
+ const $styleLink = document.createElement("link");
70
+ $styleLink.rel = "stylesheet";
71
+
72
+ $styleLink.href = "https://sdk.workwonders.app/style.css";
73
+
74
+ document.head.appendChild($styleLink);
75
+
76
+ window.workwondersSdk = new WorkWondersSdk();
77
+
78
+ console.log("Work Wonders SDK loaded");
79
+ })();
80
+
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Generated by orval v7.11.2 🍺
3
+ * Do not edit manually.
4
+ * Work Wonders API
5
+ * OpenAPI spec version: 1.0
6
+ */
7
+ import type { ChangelogContextConditionsDtoAND } from './changelogContextConditionsDtoAND';
8
+ import type { ChangelogContextConditionsDtoORItem } from './changelogContextConditionsDtoORItem';
9
+ import type { ChangelogContextConditionsDtoNOT } from './changelogContextConditionsDtoNOT';
10
+
11
+ export interface ChangelogContextConditionsDto {
12
+ AND?: ChangelogContextConditionsDtoAND;
13
+ OR?: ChangelogContextConditionsDtoORItem[];
14
+ NOT?: ChangelogContextConditionsDtoNOT;
15
+ urlPathContains?: string;
16
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Generated by orval v7.11.2 🍺
3
+ * Do not edit manually.
4
+ * Work Wonders API
5
+ * OpenAPI spec version: 1.0
6
+ */
7
+
8
+ export type ChangelogContextConditionsDtoAND = { [key: string]: unknown };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Generated by orval v7.11.2 🍺
3
+ * Do not edit manually.
4
+ * Work Wonders API
5
+ * OpenAPI spec version: 1.0
6
+ */
7
+
8
+ export type ChangelogContextConditionsDtoNOT = { [key: string]: unknown };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Generated by orval v7.11.2 🍺
3
+ * Do not edit manually.
4
+ * Work Wonders API
5
+ * OpenAPI spec version: 1.0
6
+ */
7
+
8
+ export type ChangelogContextConditionsDtoORItem = { [key: string]: unknown };