@encatch/web-sdk 0.0.35 → 1.0.0-beta.0

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 (33) hide show
  1. package/README.md +140 -638
  2. package/dist/encatch.es.js +2 -0
  3. package/dist/encatch.es.js.map +1 -0
  4. package/dist/encatch.iife.js +2 -0
  5. package/dist/encatch.iife.js.map +1 -0
  6. package/dist/index.d.ts +191 -0
  7. package/package.json +32 -50
  8. package/dist-sdk/plugin/sdk/core-wrapper-BMvOyc0u.js +0 -22926
  9. package/dist-sdk/plugin/sdk/module-DC2Edddk.js +0 -481
  10. package/dist-sdk/plugin/sdk/module.js +0 -5
  11. package/dist-sdk/plugin/sdk/preview-sdk.html +0 -1182
  12. package/dist-sdk/plugin/sdk/vite.svg +0 -15
  13. package/dist-sdk/plugin/sdk/web-form-engine-core.css +0 -1
  14. package/index.d.ts +0 -207
  15. package/src/@types/encatch-type.ts +0 -111
  16. package/src/encatch-instance.ts +0 -161
  17. package/src/feedback-api-types.ts +0 -18
  18. package/src/hooks/useDevice.ts +0 -30
  19. package/src/hooks/useFeedbackInterval.ts +0 -71
  20. package/src/hooks/useFeedbackTriggers.ts +0 -342
  21. package/src/hooks/useFetchElligibleFeedbackConfiguration.ts +0 -363
  22. package/src/hooks/useFetchFeedbackConfigurationDetails.ts +0 -92
  23. package/src/hooks/usePageChangeTracker.ts +0 -88
  24. package/src/hooks/usePrepopulatedAnswers.ts +0 -123
  25. package/src/hooks/useRefineTextForm.ts +0 -55
  26. package/src/hooks/useSubmitFeedbackForm.ts +0 -134
  27. package/src/hooks/useUserSession.ts +0 -53
  28. package/src/module.tsx +0 -428
  29. package/src/store/formResponses.ts +0 -211
  30. package/src/utils/browser-details.ts +0 -36
  31. package/src/utils/duration-utils.ts +0 -158
  32. package/src/utils/feedback-frequency-storage.ts +0 -214
  33. package/src/utils/feedback-storage.ts +0 -166
@@ -1,166 +0,0 @@
1
- import { FeedbackConfigurationItem } from "@encatch/schema";
2
-
3
- /**
4
- * Session storage keys
5
- */
6
- const STORAGE_KEYS = {
7
- PENDING_FEEDBACKS: "encatch-pending-feedbacks",
8
- SUBMITTED_FEEDBACKS: "encatch-submitted-feedbacks",
9
- } as const;
10
-
11
- /**
12
- * Submitted feedback with timestamp
13
- */
14
- export interface SubmittedFeedback {
15
- feedbackConfigurationId: string;
16
- feedbackTitle: string;
17
- submittedAt: number; // Unix timestamp
18
- feedbackConfig: FeedbackConfigurationItem;
19
- }
20
-
21
- /**
22
- * Get all pending (unsubmitted) feedbacks from session storage
23
- */
24
- export const getPendingFeedbacks = (): FeedbackConfigurationItem[] => {
25
- try {
26
- const stored = sessionStorage.getItem(STORAGE_KEYS.PENDING_FEEDBACKS);
27
- if (!stored) return [];
28
- return JSON.parse(stored) as FeedbackConfigurationItem[];
29
- } catch (error) {
30
- console.error("Error reading pending feedbacks:", error);
31
- return [];
32
- }
33
- };
34
-
35
- /**
36
- * Set pending feedbacks to session storage
37
- */
38
- export const setPendingFeedbacks = (
39
- feedbacks: FeedbackConfigurationItem[]
40
- ): void => {
41
- try {
42
- sessionStorage.setItem(
43
- STORAGE_KEYS.PENDING_FEEDBACKS,
44
- JSON.stringify(feedbacks)
45
- );
46
- } catch (error) {
47
- console.error("Error storing pending feedbacks:", error);
48
- }
49
- };
50
-
51
- /**
52
- * Get all submitted feedbacks with timestamps
53
- */
54
- export const getSubmittedFeedbacks = (): SubmittedFeedback[] => {
55
- try {
56
- const stored = sessionStorage.getItem(STORAGE_KEYS.SUBMITTED_FEEDBACKS);
57
- if (!stored) return [];
58
- return JSON.parse(stored) as SubmittedFeedback[];
59
- } catch (error) {
60
- console.error("Error reading submitted feedbacks:", error);
61
- return [];
62
- }
63
- };
64
-
65
- /**
66
- * Add a submitted feedback with current timestamp
67
- */
68
- export const addSubmittedFeedback = (
69
- feedback: FeedbackConfigurationItem
70
- ): void => {
71
- try {
72
- const submittedFeedbacks = getSubmittedFeedbacks();
73
- const newSubmittedFeedback: SubmittedFeedback = {
74
- feedbackConfigurationId: feedback.feedbackConfigurationId,
75
- feedbackTitle: feedback.feedbackTitle,
76
- submittedAt: Date.now(),
77
- feedbackConfig: feedback,
78
- };
79
- submittedFeedbacks.push(newSubmittedFeedback);
80
- sessionStorage.setItem(
81
- STORAGE_KEYS.SUBMITTED_FEEDBACKS,
82
- JSON.stringify(submittedFeedbacks)
83
- );
84
- } catch (error) {
85
- console.error("Error adding submitted feedback:", error);
86
- }
87
- };
88
-
89
- /**
90
- * Remove a feedback from pending list by feedback configuration ID
91
- */
92
- export const removePendingFeedback = (
93
- feedbackConfigurationId: string
94
- ): void => {
95
- try {
96
- const pendingFeedbacks = getPendingFeedbacks();
97
- const updatedPending = pendingFeedbacks.filter(
98
- (feedback) =>
99
- feedback.feedbackConfigurationId !== feedbackConfigurationId
100
- );
101
- setPendingFeedbacks(updatedPending);
102
- } catch (error) {
103
- console.error("Error removing pending feedback:", error);
104
- }
105
- };
106
-
107
- /**
108
- * Move a feedback from pending to submitted
109
- * This is the main function to call when a feedback is submitted
110
- */
111
- export const moveFeedbackToSubmitted = (
112
- feedbackConfigurationId: string
113
- ): void => {
114
- try {
115
- const pendingFeedbacks = getPendingFeedbacks();
116
- const feedbackToSubmit = pendingFeedbacks.find(
117
- (feedback) =>
118
- feedback.feedbackConfigurationId === feedbackConfigurationId
119
- );
120
-
121
- if (!feedbackToSubmit) {
122
- console.warn(
123
- `Feedback with ID ${feedbackConfigurationId} not found in pending list`
124
- );
125
- return;
126
- }
127
-
128
- // Add to submitted with timestamp
129
- addSubmittedFeedback(feedbackToSubmit);
130
-
131
- // Remove from pending
132
- removePendingFeedback(feedbackConfigurationId);
133
- } catch (error) {
134
- console.error("Error moving feedback to submitted:", error);
135
- }
136
- };
137
-
138
- /**
139
- * Clear all submitted feedbacks
140
- */
141
- export const clearSubmittedFeedbacks = (): void => {
142
- try {
143
- sessionStorage.removeItem(STORAGE_KEYS.SUBMITTED_FEEDBACKS);
144
- } catch (error) {
145
- console.error("Error clearing submitted feedbacks:", error);
146
- }
147
- };
148
-
149
- /**
150
- * Clear all pending feedbacks
151
- */
152
- export const clearPendingFeedbacks = (): void => {
153
- try {
154
- sessionStorage.removeItem(STORAGE_KEYS.PENDING_FEEDBACKS);
155
- } catch (error) {
156
- console.error("Error clearing pending feedbacks:", error);
157
- }
158
- };
159
-
160
- /**
161
- * Clear all feedback storage (both pending and submitted)
162
- */
163
- export const clearAllFeedbackStorage = (): void => {
164
- clearPendingFeedbacks();
165
- clearSubmittedFeedbacks();
166
- };