rasp-feedback 1.0.2 → 1.0.4

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 (32) hide show
  1. package/dist/nextjs/components/MainViewHandler.d.ts +10 -0
  2. package/dist/nextjs/components/MainViewHandler.d.ts.map +1 -0
  3. package/dist/nextjs/components/MainViewHandler.js +17 -0
  4. package/dist/nextjs/components/PostItem.d.ts +7 -0
  5. package/dist/nextjs/components/PostItem.d.ts.map +1 -0
  6. package/dist/nextjs/components/PostItem.js +56 -0
  7. package/dist/nextjs/components/Posttem.d.ts +7 -0
  8. package/dist/nextjs/components/Posttem.d.ts.map +1 -0
  9. package/dist/nextjs/components/Posttem.js +14 -0
  10. package/dist/nextjs/components/RaspForm.d.ts.map +1 -1
  11. package/dist/nextjs/components/RaspForm.js +35 -12
  12. package/dist/nextjs/components/RaspProvider.d.ts.map +1 -1
  13. package/dist/nextjs/components/RaspProvider.js +346 -100
  14. package/dist/nextjs/components/StaticFormComponent.d.ts.map +1 -1
  15. package/dist/nextjs/components/StaticFormComponent.js +73 -24
  16. package/dist/nextjs/functions/functionsexp.d.ts +3 -0
  17. package/dist/nextjs/functions/functionsexp.d.ts.map +1 -1
  18. package/dist/nextjs/functions/functionsexp.js +71 -0
  19. package/dist/vue/components/PostItem.vue.d.ts +13 -0
  20. package/dist/vue/components/PostItem.vue.d.ts.map +1 -0
  21. package/dist/vue/components/RaspForm.vue.d.ts.map +1 -1
  22. package/dist/vue/components/RaspProvider.vue.d.ts.map +1 -1
  23. package/dist/vue/components/Skeleton.vue.d.ts.map +1 -1
  24. package/dist/vue/components/StaticFormComponent.vue.d.ts +3 -3
  25. package/dist/vue/components/StaticFormComponent.vue.d.ts.map +1 -1
  26. package/dist/vue/functions/functionsexp.d.ts +3 -0
  27. package/dist/vue/functions/functionsexp.d.ts.map +1 -1
  28. package/dist/vue/index.css +1 -1
  29. package/dist/vue/index.js +978 -440
  30. package/dist/vue/index.umd.cjs +1 -1
  31. package/dist/vue/rasp-feedback.css +1 -0
  32. package/package.json +97 -97
@@ -4,9 +4,17 @@ import { iconMap } from '../constants/iconexp';
4
4
  import { fontMap } from '../constants/fontexp';
5
5
  import { addFeedback } from '../functions/functionsexp';
6
6
  function StaticFormComponent({ form, mainTheme, fields }) {
7
+ const [disabled, setDisabled] = useState(false);
8
+ const [isMobile, setIsMobile] = useState(false);
7
9
  useEffect(() => {
8
10
  if (typeof window === 'undefined')
9
11
  return;
12
+ // Check if mobile
13
+ const checkMobile = () => {
14
+ setIsMobile(window.innerWidth <= 768);
15
+ };
16
+ checkMobile();
17
+ window.addEventListener('resize', checkMobile);
10
18
  if (!document.getElementById('rasp-google-fonts')) {
11
19
  const link = document.createElement('link');
12
20
  link.id = 'rasp-google-fonts';
@@ -14,6 +22,7 @@ function StaticFormComponent({ form, mainTheme, fields }) {
14
22
  link.href = 'https://fonts.googleapis.com/css2?family=Inter:wght@600&family=Roboto:wght@600&family=Poppins:wght@800&family=Wix+Madefor+Text:wght@400&family=Montserrat:wght@600&family=Nunito:wght@600&family=Open+Sans:wght@600&family=Lato:wght@700&family=Work+Sans:wght@600&family=Source+Sans+3:wght@600&family=Rubik:wght@600&family=Playfair+Display:wght@700&family=Raleway:wght@700&family=DM+Serif+Display&family=Oswald:wght@600&family=Bebas+Neue&family=Merriweather:wght@700&family=Libre+Baskerville:wght@700&family=Cormorant+Garamond:wght@600&family=JetBrains+Mono:wght@600&family=Fira+Code:wght@600&display=swap';
15
23
  document.head.appendChild(link);
16
24
  }
25
+ return () => window.removeEventListener('resize', checkMobile);
17
26
  }, []);
18
27
  const [responses, setResponses] = useState(() => form.fieldsResponseObj.map((field) => ({
19
28
  ...field,
@@ -32,18 +41,25 @@ function StaticFormComponent({ form, mainTheme, fields }) {
32
41
  const handleSubmit = async (e) => {
33
42
  e.preventDefault();
34
43
  try {
35
- await addFeedback(form.companyId, form.formId, responses);
36
- // Clear fields
37
- setResponses(form.fieldsResponseObj.map((field) => ({
38
- ...field,
39
- response: ""
40
- })));
41
- // Show success UI
42
- setSubmitted(true);
44
+ if (form.companyId && form.formId && responses) {
45
+ setDisabled(true);
46
+ // Debug: log the actual field structure
47
+ //console.log('Fields structure:', props.fields);
48
+ //console.log('Responses:', responses.value);
49
+ // Transform responses to match the expected schema
50
+ const formattedResponses = responses.map((field, index) => ({
51
+ name: field.name || field.placeholder || `field_${index}`, // Fallback if name doesn't exist
52
+ response: field.response || ""
53
+ }));
54
+ //console.log('Formatted responses:', formattedResponses);
55
+ await addFeedback(form.companyId, form.formId, formattedResponses);
56
+ setSubmitted(true);
57
+ }
43
58
  }
44
59
  catch (error) {
45
60
  console.error('Error submitting feedback:', error);
46
61
  alert('Failed to submit feedback. Please try again.');
62
+ setDisabled(false); // Re-enable button on error
47
63
  }
48
64
  };
49
65
  return (_jsx(_Fragment, { children: mainTheme && mainTheme.data && _jsx("div", { style: {
@@ -51,50 +67,83 @@ function StaticFormComponent({ form, mainTheme, fields }) {
51
67
  justifyContent: 'center',
52
68
  borderRadius: '0.75rem',
53
69
  backgroundColor: mainTheme.data.background,
54
- margin: '1.25rem',
55
- width: '470px',
56
- minHeight: '400px',
70
+ margin: isMobile ? '0.5rem' : '1.25rem',
71
+ width: isMobile ? '90vw' : '470px',
72
+ maxWidth: '470px',
73
+ height: 'auto',
57
74
  border: '1px solid black',
58
- padding: '1rem',
75
+ padding: isMobile ? '0.75rem' : '1rem',
59
76
  boxShadow: '0 1px 3px 0 rgba(0, 0, 0, 1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)'
60
- }, children: form && _jsxs(_Fragment, { children: [!submitted && _jsxs("form", { onSubmit: handleSubmit, id: formContainerId, style: { display: 'flex', flexDirection: 'column', alignItems: 'center', width: '100%' }, children: [_jsx("h2", { className: fontMap[form.design.title.fontId].className, style: { marginTop: '1rem', fontSize: form.design.title.size + "px", textAlign: 'center', color: mainTheme.data.text.title }, children: form.title }), _jsx("p", { className: fontMap[form.design.subtitle.fontId].className, style: { marginTop: '1rem', fontSize: form.design.subtitle.size + "px", textAlign: 'center', color: mainTheme.data.text.subtitle }, children: form.subtitle }), _jsx("br", {}), fields.map((field, index) => {
77
+ }, children: form && _jsxs(_Fragment, { children: [!submitted && _jsxs("form", { onSubmit: handleSubmit, id: formContainerId, style: { display: 'flex', flexDirection: 'column', alignItems: 'center', width: '100%' }, children: [_jsx("h2", { className: fontMap[form.design.title.fontId].className, style: {
78
+ marginTop: '1rem',
79
+ fontSize: isMobile ? Math.max(form.design.title.size * 0.8, 16) + "px" : form.design.title.size + "px",
80
+ textAlign: 'center',
81
+ color: mainTheme.data.text.title
82
+ }, children: form.title }), _jsx("p", { className: fontMap[form.design.subtitle.fontId].className, style: {
83
+ marginTop: '1rem',
84
+ fontSize: isMobile ? Math.max(form.design.subtitle.size * 0.85, 12) + "px" : form.design.subtitle.size + "px",
85
+ textAlign: 'center',
86
+ color: mainTheme.data.text.subtitle
87
+ }, children: form.subtitle }), _jsx("br", {}), fields.map((field, index) => {
61
88
  if (field._type === 'input') {
62
89
  return (_jsx("input", { required: true, value: responses[index]?.response || "", placeholder: field.placeholder, className: fontMap.wixmadefor.className, onChange: (e) => updateResponse(index, e.target.value), style: {
63
90
  width: "100%",
64
- padding: 10,
91
+ padding: isMobile ? 8 : 10,
65
92
  borderColor: mainTheme.data.text.title,
66
93
  borderWidth: 1,
67
94
  marginTop: '5px',
68
95
  borderRadius: 10,
69
- color: mainTheme.data.text.title
96
+ color: mainTheme.data.text.title,
97
+ fontSize: isMobile ? '14px' : '16px'
70
98
  } }, index));
71
99
  }
72
100
  if (field._type === "rating") {
73
101
  const currentRating = parseInt(responses[index]?.response || 0);
74
- return (_jsx("div", { style: { display: "flex", gap: "10px", marginTop: "10px" }, children: [1, 2, 3, 4, 5].map((num) => (_jsx("div", { style: { cursor: "pointer" }, onClick: () => updateResponse(index, String(num)), children: currentRating >= num ? iconMap.starActive : iconMap.starUnactive }, num))) }, index));
102
+ return (_jsx("div", { style: {
103
+ display: "flex",
104
+ gap: isMobile ? "8px" : "10px",
105
+ marginTop: "10px",
106
+ flexWrap: "wrap",
107
+ justifyContent: "center"
108
+ }, children: [1, 2, 3, 4, 5].map((num) => (_jsx("div", { style: {
109
+ cursor: "pointer",
110
+ transform: isMobile ? "scale(0.9)" : "scale(1)"
111
+ }, onClick: () => updateResponse(index, String(num)), children: currentRating >= num ? iconMap.starActive : iconMap.starUnactive }, num))) }, index));
75
112
  }
76
113
  if (field._type === 'textarea') {
77
- return (_jsx("textarea", { required: true, className: fontMap.wixmadefor.className, value: responses[index]?.response || "", placeholder: field.placeholder, onChange: (e) => updateResponse(index, e.target.value), style: {
78
- height: '7.5rem',
114
+ return (_jsx("textarea", { required: true, className: `${fontMap.wixmadefor.className} rasp-input`, value: responses[index]?.response || "", placeholder: field.placeholder, onChange: (e) => updateResponse(index, e.target.value), style: {
115
+ height: isMobile ? '6rem' : '7.5rem',
79
116
  marginTop: '5px',
80
117
  borderWidth: 1,
81
118
  borderColor: mainTheme.data.text.title,
82
- padding: 10,
119
+ padding: isMobile ? 8 : 10,
83
120
  borderRadius: 10,
84
121
  width: "100%",
85
- color: mainTheme.data.text.title
122
+ color: mainTheme.data.text.title,
123
+ fontSize: isMobile ? '14px' : '16px'
86
124
  } }, index));
87
125
  }
88
126
  return null;
89
127
  }), _jsx("br", {}), _jsx("button", { type: "submit", className: fontMap.poppins.className, style: {
90
- padding: "15px",
128
+ padding: isMobile ? "12px" : "15px",
91
129
  borderRadius: "15px",
92
130
  backgroundColor: mainTheme.data.highlight,
93
131
  color: "white",
94
- width: "40%",
95
- fontSize: "13px",
132
+ width: isMobile ? "60%" : "40%",
133
+ fontSize: isMobile ? "12px" : "13px",
96
134
  cursor: "pointer",
97
135
  border: "none"
98
- }, children: "Send Feedback" })] }), submitted && _jsxs("div", { id: successContainerId, style: { display: "flex", flexDirection: 'column', alignItems: 'center', width: '100%' }, children: [_jsx("br", {}), _jsx("br", {}), _jsx("br", {}), form.success_icon && iconMap[form.success_icon] ? iconMap[form.success_icon] : iconMap.circleCheckBig, _jsx("h2", { className: fontMap[form.success_heading_font].className, style: { marginTop: '1rem', fontSize: form.design.title.size + "px", color: mainTheme.data.text.title }, children: form.success_heading }), _jsx("p", { className: fontMap[form.success_message_font].className, style: { marginTop: '1rem', fontSize: '0.875rem', textAlign: 'center', color: mainTheme.data.text.subtitle }, children: form.success_message })] })] }) }) }));
136
+ }, children: "Send Feedback" })] }), submitted && _jsxs("div", { id: successContainerId, style: { display: "flex", flexDirection: 'column', alignItems: 'center', width: '100%', padding: isMobile ? '1rem 0' : '0' }, children: [_jsx("br", {}), form.success_icon && iconMap[form.success_icon] ? iconMap[form.success_icon] : iconMap.circleCheckBig, _jsx("h2", { className: fontMap[form.success_heading_font].className, style: {
137
+ marginTop: '1rem',
138
+ fontSize: isMobile ? Math.max(form.design.title.size * 0.8, 16) + "px" : form.design.title.size + "px",
139
+ color: mainTheme.data.text.title,
140
+ textAlign: 'center'
141
+ }, children: form.success_heading }), _jsx("p", { className: fontMap[form.success_message_font].className, style: {
142
+ marginTop: '1rem',
143
+ fontSize: isMobile ? '0.75rem' : '0.875rem',
144
+ textAlign: 'center',
145
+ color: mainTheme.data.text.subtitle,
146
+ padding: isMobile ? '0 0.5rem' : '0'
147
+ }, children: form.success_message })] })] }) }) }));
99
148
  }
100
149
  export default StaticFormComponent;
@@ -2,4 +2,7 @@ export declare function addFeedback(companyId: string, formId: string, fieldsRes
2
2
  export declare function getFormByDomainOrCompany(companyId: string, domainUrl: string): Promise<any>;
3
3
  export declare function getBrandTheme(companyId: string): Promise<any>;
4
4
  export declare function getFormTheme(formId: string): Promise<any>;
5
+ export declare function getBoardPosts(companyId: string): Promise<any>;
6
+ export declare function upvoteBoardPost(postId: string): Promise<any>;
7
+ export declare function downvoteBoardPost(postId: string): Promise<any>;
5
8
  //# sourceMappingURL=functionsexp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"functionsexp.d.ts","sourceRoot":"","sources":["../../../src/nextjs/functions/functionsexp.ts"],"names":[],"mappings":"AAAA,wBAAsB,WAAW,CAC/B,SAAS,EAAC,MAAM,EAChB,MAAM,EAAC,MAAM,EACb,iBAAiB,EAAC,GAAG,gBAqCtB;AAED,wBAAsB,wBAAwB,CAC5C,SAAS,EAAC,MAAM,EAChB,SAAS,EAAC,MAAM,gBAqCjB;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAC,MAAM,gBAqBnD;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAC,MAAM,gBAuB/C"}
1
+ {"version":3,"file":"functionsexp.d.ts","sourceRoot":"","sources":["../../../src/nextjs/functions/functionsexp.ts"],"names":[],"mappings":"AAAA,wBAAsB,WAAW,CAC/B,SAAS,EAAC,MAAM,EAChB,MAAM,EAAC,MAAM,EACb,iBAAiB,EAAC,GAAG,gBAqCtB;AAED,wBAAsB,wBAAwB,CAC5C,SAAS,EAAC,MAAM,EAChB,SAAS,EAAC,MAAM,gBAqCjB;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAC,MAAM,gBAqBnD;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAC,MAAM,gBAuB/C;AAGD,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,gBAwCpD;AAGD,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,gBAqBnD;AAGD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,gBAqBrD"}
@@ -94,3 +94,74 @@ export async function getFormTheme(formId) {
94
94
  throw error;
95
95
  }
96
96
  }
97
+ // Get all board posts for a company
98
+ export async function getBoardPosts(companyId) {
99
+ // Add validation
100
+ if (!companyId || companyId.trim() === '') {
101
+ console.error("Invalid companyId provided");
102
+ return null;
103
+ }
104
+ try {
105
+ const response = await fetch(`https://disciplined-wombat-944.convex.site/posts?companyId=${encodeURIComponent(companyId)}`, {
106
+ method: "GET",
107
+ headers: { "Content-Type": "application/json" },
108
+ });
109
+ //console.log("Response status:", response.status);
110
+ if (!response.ok) {
111
+ const errorText = await response.text();
112
+ //console.error(`Error fetching posts! status: ${response.status}, message: ${errorText}`);
113
+ // If 404, return empty array instead of throwing
114
+ if (response.status === 404) {
115
+ console.log("No posts found, returning empty array");
116
+ return [];
117
+ }
118
+ throw new Error(`Error fetching posts! status: ${response.status}, message: ${errorText}`);
119
+ }
120
+ const posts = await response.json();
121
+ //console.log("Posts fetched successfully:", posts);
122
+ return posts;
123
+ }
124
+ catch (error) {
125
+ console.error("Exception in getBoardPosts:", error);
126
+ // Return empty array instead of throwing to prevent null
127
+ return [];
128
+ }
129
+ }
130
+ // Upvote a board post
131
+ export async function upvoteBoardPost(postId) {
132
+ try {
133
+ const response = await fetch(`https://disciplined-wombat-944.convex.site/posts/upvote`, {
134
+ method: "POST",
135
+ headers: { "Content-Type": "application/json" },
136
+ body: JSON.stringify({ postId })
137
+ });
138
+ if (!response.ok) {
139
+ const errorText = await response.text();
140
+ throw new Error(`Error upvoting post! status: ${response.status}, message: ${errorText}`);
141
+ }
142
+ const result = await response.json();
143
+ return result; // Returns { success: true, newCount: number }
144
+ }
145
+ catch (error) {
146
+ throw error;
147
+ }
148
+ }
149
+ // Downvote a board post
150
+ export async function downvoteBoardPost(postId) {
151
+ try {
152
+ const response = await fetch(`https://disciplined-wombat-944.convex.site/posts/downvote`, {
153
+ method: "POST",
154
+ headers: { "Content-Type": "application/json" },
155
+ body: JSON.stringify({ postId })
156
+ });
157
+ if (!response.ok) {
158
+ const errorText = await response.text();
159
+ throw new Error(`Error downvoting post! status: ${response.status}, message: ${errorText}`);
160
+ }
161
+ const result = await response.json();
162
+ return result; // Returns { success: true, newCount: number }
163
+ }
164
+ catch (error) {
165
+ throw error;
166
+ }
167
+ }
@@ -0,0 +1,13 @@
1
+ type __VLS_Props = {
2
+ post: any;
3
+ };
4
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
5
+ "update:showVoteUI": (value: boolean) => any;
6
+ "update:currentPost": (value: any) => any;
7
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
8
+ "onUpdate:showVoteUI"?: ((value: boolean) => any) | undefined;
9
+ "onUpdate:currentPost"?: ((value: any) => any) | undefined;
10
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
13
+ //# sourceMappingURL=PostItem.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostItem.vue.d.ts","sourceRoot":"","sources":["../../../src/vue/components/PostItem.vue"],"names":[],"mappings":"AAuHA,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AA+IF,QAAA,MAAM,YAAY;;;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RaspForm.vue.d.ts","sourceRoot":"","sources":["../../../src/vue/components/RaspForm.vue"],"names":[],"mappings":"AAyMA,OAAO,EAAmC,KAAK,aAAa,EAAE,MAAM,KAAK,CAAC;AAU1E,UAAU,KAAK;IACb,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyRD,QAAA,MAAM,YAAY;iBA3RF,aAAa;6EA8R3B,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"RaspForm.vue.d.ts","sourceRoot":"","sources":["../../../src/vue/components/RaspForm.vue"],"names":[],"mappings":"AA4OA,OAAO,EAAmC,KAAK,aAAa,EAAE,MAAM,KAAK,CAAC;AAU1E,UAAU,KAAK;IACb,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA0TD,QAAA,MAAM,YAAY;iBA5TF,aAAa;6EA+T3B,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RaspProvider.vue.d.ts","sourceRoot":"","sources":["../../../src/vue/components/RaspProvider.vue"],"names":[],"mappings":"AA4QA,OAAO,cAAc,CAAC;AAItB,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,CAAC,EAAE;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAuVD,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAK/C,QAAA,MAAM,UAAU;sBAnWK;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;6EAmWD,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"RaspProvider.vue.d.ts","sourceRoot":"","sources":["../../../src/vue/components/RaspProvider.vue"],"names":[],"mappings":"AAgqBA,OAAO,cAAc,CAAC;AAKtB,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,CAAC,EAAE;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA44BD,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAK/C,QAAA,MAAM,UAAU;sBAx5BK;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;6EAw5BD,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.vue.d.ts","sourceRoot":"","sources":["../../../src/vue/components/Skeleton.vue"],"names":[],"mappings":"wBAkEqB,OAAO,YAAY;;AANxC;;;;;;kGAKG"}
1
+ {"version":3,"file":"Skeleton.vue.d.ts","sourceRoot":"","sources":["../../../src/vue/components/Skeleton.vue"],"names":[],"mappings":"wBAmEqB,OAAO,YAAY;;AANxC;;;;;;kGAKG"}
@@ -1,9 +1,9 @@
1
- interface Props {
1
+ type __VLS_Props = {
2
2
  form: any;
3
3
  mainTheme: any;
4
4
  fields: any[];
5
- }
6
- declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
+ };
6
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
7
  declare const _default: typeof __VLS_export;
8
8
  export default _default;
9
9
  //# sourceMappingURL=StaticFormComponent.vue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StaticFormComponent.vue.d.ts","sourceRoot":"","sources":["../../../src/vue/components/StaticFormComponent.vue"],"names":[],"mappings":"AA+OA,UAAU,KAAK;IACb,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,GAAG,CAAC;IACf,MAAM,EAAE,GAAG,EAAE,CAAC;CACf;AAmOD,QAAA,MAAM,YAAY,sRAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"StaticFormComponent.vue.d.ts","sourceRoot":"","sources":["../../../src/vue/components/StaticFormComponent.vue"],"names":[],"mappings":"AA4QA,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,GAAG,CAAC;IACf,MAAM,EAAE,GAAG,EAAE,CAAC;CACf,CAAC;AAyTF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -2,4 +2,7 @@ export declare function addFeedback(companyId: string, formId: string, fieldsRes
2
2
  export declare function getFormByDomainOrCompany(companyId: string, domainUrl: string): Promise<any>;
3
3
  export declare function getBrandTheme(companyId: string): Promise<any>;
4
4
  export declare function getFormTheme(formId: string): Promise<any>;
5
+ export declare function getBoardPosts(companyId: string): Promise<any>;
6
+ export declare function upvoteBoardPost(postId: string): Promise<any>;
7
+ export declare function downvoteBoardPost(postId: string): Promise<any>;
5
8
  //# sourceMappingURL=functionsexp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"functionsexp.d.ts","sourceRoot":"","sources":["../../../src/vue/functions/functionsexp.ts"],"names":[],"mappings":"AAAA,wBAAsB,WAAW,CAC/B,SAAS,EAAC,MAAM,EAChB,MAAM,EAAC,MAAM,EACb,iBAAiB,EAAC,GAAG,gBAqCtB;AAED,wBAAsB,wBAAwB,CAC5C,SAAS,EAAC,MAAM,EAChB,SAAS,EAAC,MAAM,gBAqCjB;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAC,MAAM,gBAqBnD;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAC,MAAM,gBAuB/C"}
1
+ {"version":3,"file":"functionsexp.d.ts","sourceRoot":"","sources":["../../../src/vue/functions/functionsexp.ts"],"names":[],"mappings":"AAAA,wBAAsB,WAAW,CAC/B,SAAS,EAAC,MAAM,EAChB,MAAM,EAAC,MAAM,EACb,iBAAiB,EAAC,GAAG,gBAqCtB;AAED,wBAAsB,wBAAwB,CAC5C,SAAS,EAAC,MAAM,EAChB,SAAS,EAAC,MAAM,gBAqCjB;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAC,MAAM,gBAqBnD;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAC,MAAM,gBAuB/C;AAGD,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,gBAwCpD;AAGD,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,gBAqBnD;AAGD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,gBAqBrD"}
@@ -1 +1 @@
1
- #rasp-launcher:hover{transform:scale(1.1)}#rasp-form-div{transform:translateY(20px);opacity:0;animation:rasp-slide-up .3s ease-in both;will-change:transform,opacity;transform-origin:bottom center}.rasp-exit{animation:rasp-slide-down .25s ease-out both;will-change:transform,opacity;transform-origin:bottom center}@keyframes rasp-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes rasp-slide-down{0%{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}@keyframes skeleton-loading{0%{background-position:100% 0}to{background-position:-100% 0}}
1
+ #rasp-launcher:hover{transform:scale(1.1)}#rasp-form-div{transform:translateY(20px);opacity:0;animation:rasp-slide-up .3s ease-in both;will-change:transform,opacity;transform-origin:bottom center}.rasp-exit{animation:rasp-slide-down .25s ease-out both;will-change:transform,opacity;transform-origin:bottom center}@keyframes rasp-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes rasp-slide-down{0%{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}@keyframes skeleton-loading{0%{background-position:100% 0}to{background-position:-100% 0}}