pushfeedback 0.1.70 → 0.1.72

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 (46) hide show
  1. package/dist/cjs/canvas-editor_3.cjs.entry.js +1364 -0
  2. package/dist/cjs/index-9a8f4784.js +1584 -0
  3. package/dist/cjs/index.cjs.js +2 -0
  4. package/dist/cjs/loader.cjs.js +22 -0
  5. package/dist/cjs/pushfeedback.cjs.js +23 -0
  6. package/dist/collection/collection-manifest.json +14 -0
  7. package/dist/collection/components/canvas-editor/canvas-editor.css +404 -0
  8. package/dist/collection/components/canvas-editor/canvas-editor.js +1282 -0
  9. package/dist/collection/components/feedback-button/feedback-button.css +81 -0
  10. package/dist/collection/components/feedback-button/feedback-button.js +1149 -0
  11. package/dist/collection/components/feedback-modal/feedback-modal.css +547 -0
  12. package/dist/collection/components/feedback-modal/feedback-modal.js +1238 -0
  13. package/dist/collection/index.js +1 -0
  14. package/dist/components/canvas-editor.js +6 -0
  15. package/dist/{pushfeedback/canvas-editor.entry.js → components/canvas-editor2.js} +64 -7
  16. package/dist/{pushfeedback/feedback-button.entry.js → components/feedback-button.js} +112 -33
  17. package/dist/components/feedback-modal.js +6 -0
  18. package/dist/{pushfeedback/feedback-modal.entry.js → components/feedback-modal2.js} +106 -18
  19. package/dist/components/index.js +4 -0
  20. package/dist/esm/canvas-editor_3.entry.js +1358 -0
  21. package/dist/esm/index-f65e9124.js +1555 -0
  22. package/dist/esm/index.js +1 -0
  23. package/dist/esm/loader.js +18 -0
  24. package/dist/esm/polyfills/core-js.js +11 -0
  25. package/dist/esm/polyfills/css-shim.js +1 -0
  26. package/dist/esm/polyfills/dom.js +79 -0
  27. package/dist/esm/polyfills/es5-html-element.js +1 -0
  28. package/dist/esm/polyfills/index.js +34 -0
  29. package/dist/esm/polyfills/system.js +6 -0
  30. package/dist/esm/pushfeedback.js +18 -0
  31. package/dist/index.cjs.js +1 -0
  32. package/dist/index.js +1 -0
  33. package/dist/pushfeedback/index.esm.js +0 -1
  34. package/dist/pushfeedback/p-881a733a.entry.js +1 -0
  35. package/dist/pushfeedback/p-af2a1f7f.js +2 -0
  36. package/dist/pushfeedback/pushfeedback.css +1 -146
  37. package/dist/pushfeedback/pushfeedback.esm.js +1 -148
  38. package/dist/types/components/feedback-button/feedback-button.d.ts +16 -17
  39. package/dist/types/components/feedback-modal/feedback-modal.d.ts +8 -9
  40. package/dist/types/components.d.ts +28 -32
  41. package/package.json +1 -1
  42. package/dist/pushfeedback/app-globals-0f993ce5.js +0 -3
  43. package/dist/pushfeedback/css-shim-b7d3d95f.js +0 -4
  44. package/dist/pushfeedback/dom-64053c71.js +0 -73
  45. package/dist/pushfeedback/index-36434da0.js +0 -3371
  46. package/dist/pushfeedback/shadow-css-98135883.js +0 -387
@@ -0,0 +1,1149 @@
1
+ import { Host, h } from '@stencil/core';
2
+ export class FeedbackButton {
3
+ constructor() {
4
+ this.buttonPosition = 'default';
5
+ this.buttonStyle = 'default';
6
+ this.hideIcon = false;
7
+ this.hideMobile = false;
8
+ this.sessionId = '';
9
+ this.metadata = '';
10
+ this.submit = false;
11
+ this.customFont = false;
12
+ this.emailAddress = '';
13
+ this.isEmailRequired = false;
14
+ this.fetchData = true;
15
+ this.hideEmail = false;
16
+ this.hidePrivacyPolicy = true;
17
+ this.hideRating = false;
18
+ this.hideScreenshotButton = false;
19
+ this.modalPosition = 'center';
20
+ this.project = '';
21
+ this.rating = undefined;
22
+ this.ratingMode = 'thumbs';
23
+ this.emailPlaceholder = 'Email address (optional)';
24
+ this.errorMessage = 'Please try again later.';
25
+ this.errorMessage403 = 'The request URL does not match the one defined in PushFeedback for this project.';
26
+ this.errorMessage404 = 'We could not find the provided project id in PushFeedback.';
27
+ this.footerText = '';
28
+ this.messagePlaceholder = 'Comments';
29
+ this.modalTitle = 'Share your feedback';
30
+ this.modalTitleError = 'Oops!';
31
+ this.modalTitleSuccess = 'Thanks for your feedback!';
32
+ this.privacyPolicyText = "I have read and expressly consent to the terms of the <a href='https://pushfeedback.com/privacy'>Privacy Policy</a>.";
33
+ this.ratingPlaceholder = 'Was this page helpful?';
34
+ this.ratingStarsPlaceholder = 'How would you rate this page?';
35
+ this.sendButtonText = 'Send';
36
+ this.successMessage = '';
37
+ this.screenshotAttachedText = 'Screenshot attached';
38
+ this.screenshotButtonText = 'Add a screenshot';
39
+ this.screenshotTakingText = 'Taking screenshot...';
40
+ this.screenshotEditTextButtonText = 'Edit text';
41
+ this.screenshotEditorTitle = 'Edit screenshot';
42
+ this.screenshotEditorCancelText = 'Cancel';
43
+ this.screenshotEditorSaveText = 'Save';
44
+ this.screenshotSizeLabelText = 'Size:';
45
+ this.screenshotBorderLabelText = 'Border:';
46
+ this.screenshotEditTextPromptText = 'Edit text:';
47
+ this.screenshotErrorGeneral = 'Failed to capture screenshot.';
48
+ this.screenshotErrorPermission = 'Permission denied. Please allow screen sharing to take screenshots.';
49
+ this.screenshotErrorNotSupported = 'Screen capture is not supported in this browser.';
50
+ this.screenshotErrorNotFound = 'No screen sources available for capture.';
51
+ this.screenshotErrorCancelled = 'Screenshot capture was cancelled.';
52
+ this.screenshotErrorBrowserNotSupported = 'Your browser does not support screen capture. Please use a browser like Chrome, Firefox, or Safari on desktop.';
53
+ this.screenshotErrorUnexpected = 'An unexpected error occurred. Please try again.';
54
+ }
55
+ componentWillLoad() {
56
+ if (!this.sessionId) {
57
+ let storedSessionId = localStorage.getItem('pushfeedback_sessionid');
58
+ if (!storedSessionId) {
59
+ storedSessionId = this.generateRandomSessionId();
60
+ localStorage.setItem('pushfeedback_sessionid', storedSessionId);
61
+ this.sessionId = storedSessionId;
62
+ }
63
+ }
64
+ else {
65
+ localStorage.setItem('pushfeedback_sessionid', this.sessionId);
66
+ }
67
+ }
68
+ componentDidLoad() {
69
+ if (this.buttonPosition === 'center-right') {
70
+ const buttonContent = this.el.shadowRoot.querySelector('.feedback-button-content');
71
+ let adjustement = 0;
72
+ if (this.isSafariBrowser()) {
73
+ adjustement = 5;
74
+ }
75
+ buttonContent.style.right = `${((buttonContent.offsetWidth + adjustement) / 2) * -1}px`;
76
+ }
77
+ if (!this.customFont) {
78
+ this.loadInterFont();
79
+ }
80
+ }
81
+ connectedCallback() {
82
+ this.feedbackModal = document.createElement('feedback-modal');
83
+ const props = [
84
+ 'customFont',
85
+ 'emailAddress',
86
+ 'fetchData',
87
+ 'hideEmail',
88
+ 'hidePrivacyPolicy',
89
+ 'hideRating',
90
+ 'hideScreenshotButton',
91
+ 'isEmailRequired',
92
+ 'modalPosition',
93
+ 'project',
94
+ 'rating',
95
+ 'ratingMode',
96
+ 'screenshotEditorTitle',
97
+ 'screenshotEditorCancelText',
98
+ 'screenshotEditorSaveText',
99
+ 'screenshotEditTextButtonText',
100
+ 'screenshotSizeLabelText',
101
+ 'screenshotBorderLabelText',
102
+ 'screenshotEditTextPromptText',
103
+ 'screenshotErrorGeneral',
104
+ 'screenshotErrorPermission',
105
+ 'screenshotErrorNotSupported',
106
+ 'screenshotErrorNotFound',
107
+ 'screenshotErrorCancelled',
108
+ 'screenshotErrorBrowserNotSupported',
109
+ 'screenshotErrorUnexpected',
110
+ 'emailPlaceholder',
111
+ 'errorMessage',
112
+ 'errorMessage403',
113
+ 'errorMessage404',
114
+ 'footerText',
115
+ 'messagePlaceholder',
116
+ 'metadata',
117
+ 'modalTitle',
118
+ 'modalTitleError',
119
+ 'modalTitleSuccess',
120
+ 'privacyPolicyText',
121
+ 'ratingPlaceholder',
122
+ 'ratingStarsPlaceholder',
123
+ 'screenshotAttachedText',
124
+ 'screenshotButtonText',
125
+ 'screenshotTakingText',
126
+ 'sendButtonText',
127
+ 'successMessage',
128
+ ];
129
+ props.forEach((prop) => {
130
+ this.feedbackModal[prop] = this[prop];
131
+ });
132
+ document.body.appendChild(this.feedbackModal);
133
+ }
134
+ disconnectedCallback() {
135
+ document.body.removeChild(this.feedbackModal);
136
+ }
137
+ generateRandomSessionId(length = 16) {
138
+ return Math.random().toString(36).substr(2, length);
139
+ }
140
+ isSafariBrowser() {
141
+ const isSafari = /safari/i.test(navigator.userAgent) && !/chrome/i.test(navigator.userAgent);
142
+ return isSafari;
143
+ }
144
+ loadInterFont() {
145
+ const link = document.createElement('link');
146
+ link.href = 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500&display=swap';
147
+ link.rel = 'stylesheet';
148
+ document.head.appendChild(link);
149
+ }
150
+ showModal() {
151
+ if (this.submit) {
152
+ this.submitRatingFeedback();
153
+ }
154
+ else {
155
+ this.feedbackModal.openModal();
156
+ }
157
+ }
158
+ async submitRatingFeedback() {
159
+ try {
160
+ const body = {
161
+ url: window.location.href,
162
+ project: this.project,
163
+ rating: this.rating || -1,
164
+ ratingMode: this.ratingMode,
165
+ message: '',
166
+ metadata: this.metadata,
167
+ session: localStorage.getItem('pushfeedback_sessionid') || '',
168
+ };
169
+ const res = await fetch('https://app.pushfeedback.com/api/feedback/', {
170
+ method: 'POST',
171
+ body: JSON.stringify(body),
172
+ headers: {
173
+ 'Content-Type': 'application/json',
174
+ },
175
+ });
176
+ if (res.status === 201) {
177
+ const feedback_with_id = Object.assign(Object.assign({}, body), { id: await res.json() });
178
+ this.feedbackSent.emit({ feedback: feedback_with_id });
179
+ }
180
+ else {
181
+ const errorText = await res.text();
182
+ const response = {
183
+ status: res.status,
184
+ message: errorText,
185
+ };
186
+ this.feedbackError.emit({ error: response });
187
+ }
188
+ }
189
+ catch (error) {
190
+ const response = {
191
+ status: 500,
192
+ message: error,
193
+ };
194
+ this.feedbackError.emit({ error: response });
195
+ }
196
+ }
197
+ render() {
198
+ return (h(Host, null, h("a", { class: `feedback-button-content feedback-button-content--${this.buttonStyle} feedback-button-content--${this.buttonPosition} ${this.customFont ? 'feedback-button-content--custom-font' : ''} ${this.hideMobile ? 'feedback-button-content--hide-mobile' : ''}`, onClick: () => this.showModal() }, !this.hideIcon && this.buttonStyle != 'default' && (h("span", { class: "feedback-button-content-icon" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "#fff", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", class: "icon-edit" }, h("path", { d: "M12 20h9" }), h("path", { d: "M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z" })))), h("slot", null))));
199
+ }
200
+ static get is() { return "feedback-button"; }
201
+ static get encapsulation() { return "shadow"; }
202
+ static get originalStyleUrls() {
203
+ return {
204
+ "$": ["feedback-button.css"]
205
+ };
206
+ }
207
+ static get styleUrls() {
208
+ return {
209
+ "$": ["feedback-button.css"]
210
+ };
211
+ }
212
+ static get properties() {
213
+ return {
214
+ "buttonPosition": {
215
+ "type": "string",
216
+ "mutable": false,
217
+ "complexType": {
218
+ "original": "string",
219
+ "resolved": "string",
220
+ "references": {}
221
+ },
222
+ "required": false,
223
+ "optional": false,
224
+ "docs": {
225
+ "tags": [],
226
+ "text": ""
227
+ },
228
+ "attribute": "button-position",
229
+ "reflect": false,
230
+ "defaultValue": "'default'"
231
+ },
232
+ "buttonStyle": {
233
+ "type": "string",
234
+ "mutable": false,
235
+ "complexType": {
236
+ "original": "string",
237
+ "resolved": "string",
238
+ "references": {}
239
+ },
240
+ "required": false,
241
+ "optional": false,
242
+ "docs": {
243
+ "tags": [],
244
+ "text": ""
245
+ },
246
+ "attribute": "button-style",
247
+ "reflect": false,
248
+ "defaultValue": "'default'"
249
+ },
250
+ "hideIcon": {
251
+ "type": "boolean",
252
+ "mutable": false,
253
+ "complexType": {
254
+ "original": "boolean",
255
+ "resolved": "boolean",
256
+ "references": {}
257
+ },
258
+ "required": false,
259
+ "optional": false,
260
+ "docs": {
261
+ "tags": [],
262
+ "text": ""
263
+ },
264
+ "attribute": "hide-icon",
265
+ "reflect": false,
266
+ "defaultValue": "false"
267
+ },
268
+ "hideMobile": {
269
+ "type": "boolean",
270
+ "mutable": false,
271
+ "complexType": {
272
+ "original": "boolean",
273
+ "resolved": "boolean",
274
+ "references": {}
275
+ },
276
+ "required": false,
277
+ "optional": false,
278
+ "docs": {
279
+ "tags": [],
280
+ "text": ""
281
+ },
282
+ "attribute": "hide-mobile",
283
+ "reflect": false,
284
+ "defaultValue": "false"
285
+ },
286
+ "sessionId": {
287
+ "type": "string",
288
+ "mutable": true,
289
+ "complexType": {
290
+ "original": "string",
291
+ "resolved": "string",
292
+ "references": {}
293
+ },
294
+ "required": false,
295
+ "optional": false,
296
+ "docs": {
297
+ "tags": [],
298
+ "text": ""
299
+ },
300
+ "attribute": "session-id",
301
+ "reflect": true,
302
+ "defaultValue": "''"
303
+ },
304
+ "metadata": {
305
+ "type": "string",
306
+ "mutable": false,
307
+ "complexType": {
308
+ "original": "string",
309
+ "resolved": "string",
310
+ "references": {}
311
+ },
312
+ "required": false,
313
+ "optional": false,
314
+ "docs": {
315
+ "tags": [],
316
+ "text": ""
317
+ },
318
+ "attribute": "metadata",
319
+ "reflect": false,
320
+ "defaultValue": "''"
321
+ },
322
+ "submit": {
323
+ "type": "boolean",
324
+ "mutable": false,
325
+ "complexType": {
326
+ "original": "boolean",
327
+ "resolved": "boolean",
328
+ "references": {}
329
+ },
330
+ "required": false,
331
+ "optional": false,
332
+ "docs": {
333
+ "tags": [],
334
+ "text": ""
335
+ },
336
+ "attribute": "submit",
337
+ "reflect": false,
338
+ "defaultValue": "false"
339
+ },
340
+ "customFont": {
341
+ "type": "boolean",
342
+ "mutable": false,
343
+ "complexType": {
344
+ "original": "boolean",
345
+ "resolved": "boolean",
346
+ "references": {}
347
+ },
348
+ "required": false,
349
+ "optional": false,
350
+ "docs": {
351
+ "tags": [],
352
+ "text": ""
353
+ },
354
+ "attribute": "custom-font",
355
+ "reflect": false,
356
+ "defaultValue": "false"
357
+ },
358
+ "emailAddress": {
359
+ "type": "string",
360
+ "mutable": false,
361
+ "complexType": {
362
+ "original": "string",
363
+ "resolved": "string",
364
+ "references": {}
365
+ },
366
+ "required": false,
367
+ "optional": false,
368
+ "docs": {
369
+ "tags": [],
370
+ "text": ""
371
+ },
372
+ "attribute": "email-address",
373
+ "reflect": false,
374
+ "defaultValue": "''"
375
+ },
376
+ "isEmailRequired": {
377
+ "type": "boolean",
378
+ "mutable": false,
379
+ "complexType": {
380
+ "original": "boolean",
381
+ "resolved": "boolean",
382
+ "references": {}
383
+ },
384
+ "required": false,
385
+ "optional": false,
386
+ "docs": {
387
+ "tags": [],
388
+ "text": ""
389
+ },
390
+ "attribute": "is-email-required",
391
+ "reflect": false,
392
+ "defaultValue": "false"
393
+ },
394
+ "fetchData": {
395
+ "type": "boolean",
396
+ "mutable": false,
397
+ "complexType": {
398
+ "original": "boolean",
399
+ "resolved": "boolean",
400
+ "references": {}
401
+ },
402
+ "required": false,
403
+ "optional": false,
404
+ "docs": {
405
+ "tags": [],
406
+ "text": ""
407
+ },
408
+ "attribute": "fetch-data",
409
+ "reflect": false,
410
+ "defaultValue": "true"
411
+ },
412
+ "hideEmail": {
413
+ "type": "boolean",
414
+ "mutable": false,
415
+ "complexType": {
416
+ "original": "boolean",
417
+ "resolved": "boolean",
418
+ "references": {}
419
+ },
420
+ "required": false,
421
+ "optional": false,
422
+ "docs": {
423
+ "tags": [],
424
+ "text": ""
425
+ },
426
+ "attribute": "hide-email",
427
+ "reflect": false,
428
+ "defaultValue": "false"
429
+ },
430
+ "hidePrivacyPolicy": {
431
+ "type": "boolean",
432
+ "mutable": false,
433
+ "complexType": {
434
+ "original": "boolean",
435
+ "resolved": "boolean",
436
+ "references": {}
437
+ },
438
+ "required": false,
439
+ "optional": false,
440
+ "docs": {
441
+ "tags": [],
442
+ "text": ""
443
+ },
444
+ "attribute": "hide-privacy-policy",
445
+ "reflect": false,
446
+ "defaultValue": "true"
447
+ },
448
+ "hideRating": {
449
+ "type": "boolean",
450
+ "mutable": false,
451
+ "complexType": {
452
+ "original": "boolean",
453
+ "resolved": "boolean",
454
+ "references": {}
455
+ },
456
+ "required": false,
457
+ "optional": false,
458
+ "docs": {
459
+ "tags": [],
460
+ "text": ""
461
+ },
462
+ "attribute": "hide-rating",
463
+ "reflect": false,
464
+ "defaultValue": "false"
465
+ },
466
+ "hideScreenshotButton": {
467
+ "type": "boolean",
468
+ "mutable": false,
469
+ "complexType": {
470
+ "original": "boolean",
471
+ "resolved": "boolean",
472
+ "references": {}
473
+ },
474
+ "required": false,
475
+ "optional": false,
476
+ "docs": {
477
+ "tags": [],
478
+ "text": ""
479
+ },
480
+ "attribute": "hide-screenshot-button",
481
+ "reflect": false,
482
+ "defaultValue": "false"
483
+ },
484
+ "modalPosition": {
485
+ "type": "string",
486
+ "mutable": false,
487
+ "complexType": {
488
+ "original": "string",
489
+ "resolved": "string",
490
+ "references": {}
491
+ },
492
+ "required": false,
493
+ "optional": false,
494
+ "docs": {
495
+ "tags": [],
496
+ "text": ""
497
+ },
498
+ "attribute": "modal-position",
499
+ "reflect": false,
500
+ "defaultValue": "'center'"
501
+ },
502
+ "project": {
503
+ "type": "string",
504
+ "mutable": false,
505
+ "complexType": {
506
+ "original": "string",
507
+ "resolved": "string",
508
+ "references": {}
509
+ },
510
+ "required": false,
511
+ "optional": false,
512
+ "docs": {
513
+ "tags": [],
514
+ "text": ""
515
+ },
516
+ "attribute": "project",
517
+ "reflect": false,
518
+ "defaultValue": "''"
519
+ },
520
+ "rating": {
521
+ "type": "number",
522
+ "mutable": false,
523
+ "complexType": {
524
+ "original": "number",
525
+ "resolved": "number",
526
+ "references": {}
527
+ },
528
+ "required": false,
529
+ "optional": false,
530
+ "docs": {
531
+ "tags": [],
532
+ "text": ""
533
+ },
534
+ "attribute": "rating",
535
+ "reflect": false
536
+ },
537
+ "ratingMode": {
538
+ "type": "string",
539
+ "mutable": false,
540
+ "complexType": {
541
+ "original": "string",
542
+ "resolved": "string",
543
+ "references": {}
544
+ },
545
+ "required": false,
546
+ "optional": false,
547
+ "docs": {
548
+ "tags": [],
549
+ "text": ""
550
+ },
551
+ "attribute": "rating-mode",
552
+ "reflect": false,
553
+ "defaultValue": "'thumbs'"
554
+ },
555
+ "emailPlaceholder": {
556
+ "type": "string",
557
+ "mutable": false,
558
+ "complexType": {
559
+ "original": "string",
560
+ "resolved": "string",
561
+ "references": {}
562
+ },
563
+ "required": false,
564
+ "optional": false,
565
+ "docs": {
566
+ "tags": [],
567
+ "text": ""
568
+ },
569
+ "attribute": "email-placeholder",
570
+ "reflect": false,
571
+ "defaultValue": "'Email address (optional)'"
572
+ },
573
+ "errorMessage": {
574
+ "type": "string",
575
+ "mutable": false,
576
+ "complexType": {
577
+ "original": "string",
578
+ "resolved": "string",
579
+ "references": {}
580
+ },
581
+ "required": false,
582
+ "optional": false,
583
+ "docs": {
584
+ "tags": [],
585
+ "text": ""
586
+ },
587
+ "attribute": "error-message",
588
+ "reflect": false,
589
+ "defaultValue": "'Please try again later.'"
590
+ },
591
+ "errorMessage403": {
592
+ "type": "string",
593
+ "mutable": false,
594
+ "complexType": {
595
+ "original": "string",
596
+ "resolved": "string",
597
+ "references": {}
598
+ },
599
+ "required": false,
600
+ "optional": false,
601
+ "docs": {
602
+ "tags": [],
603
+ "text": ""
604
+ },
605
+ "attribute": "error-message-4-0-3",
606
+ "reflect": false,
607
+ "defaultValue": "'The request URL does not match the one defined in PushFeedback for this project.'"
608
+ },
609
+ "errorMessage404": {
610
+ "type": "string",
611
+ "mutable": false,
612
+ "complexType": {
613
+ "original": "string",
614
+ "resolved": "string",
615
+ "references": {}
616
+ },
617
+ "required": false,
618
+ "optional": false,
619
+ "docs": {
620
+ "tags": [],
621
+ "text": ""
622
+ },
623
+ "attribute": "error-message-4-0-4",
624
+ "reflect": false,
625
+ "defaultValue": "'We could not find the provided project id in PushFeedback.'"
626
+ },
627
+ "footerText": {
628
+ "type": "string",
629
+ "mutable": false,
630
+ "complexType": {
631
+ "original": "string",
632
+ "resolved": "string",
633
+ "references": {}
634
+ },
635
+ "required": false,
636
+ "optional": false,
637
+ "docs": {
638
+ "tags": [],
639
+ "text": ""
640
+ },
641
+ "attribute": "footer-text",
642
+ "reflect": false,
643
+ "defaultValue": "''"
644
+ },
645
+ "messagePlaceholder": {
646
+ "type": "string",
647
+ "mutable": false,
648
+ "complexType": {
649
+ "original": "string",
650
+ "resolved": "string",
651
+ "references": {}
652
+ },
653
+ "required": false,
654
+ "optional": false,
655
+ "docs": {
656
+ "tags": [],
657
+ "text": ""
658
+ },
659
+ "attribute": "message-placeholder",
660
+ "reflect": false,
661
+ "defaultValue": "'Comments'"
662
+ },
663
+ "modalTitle": {
664
+ "type": "string",
665
+ "mutable": false,
666
+ "complexType": {
667
+ "original": "string",
668
+ "resolved": "string",
669
+ "references": {}
670
+ },
671
+ "required": false,
672
+ "optional": false,
673
+ "docs": {
674
+ "tags": [],
675
+ "text": ""
676
+ },
677
+ "attribute": "modal-title",
678
+ "reflect": false,
679
+ "defaultValue": "'Share your feedback'"
680
+ },
681
+ "modalTitleError": {
682
+ "type": "string",
683
+ "mutable": false,
684
+ "complexType": {
685
+ "original": "string",
686
+ "resolved": "string",
687
+ "references": {}
688
+ },
689
+ "required": false,
690
+ "optional": false,
691
+ "docs": {
692
+ "tags": [],
693
+ "text": ""
694
+ },
695
+ "attribute": "modal-title-error",
696
+ "reflect": false,
697
+ "defaultValue": "'Oops!'"
698
+ },
699
+ "modalTitleSuccess": {
700
+ "type": "string",
701
+ "mutable": false,
702
+ "complexType": {
703
+ "original": "string",
704
+ "resolved": "string",
705
+ "references": {}
706
+ },
707
+ "required": false,
708
+ "optional": false,
709
+ "docs": {
710
+ "tags": [],
711
+ "text": ""
712
+ },
713
+ "attribute": "modal-title-success",
714
+ "reflect": false,
715
+ "defaultValue": "'Thanks for your feedback!'"
716
+ },
717
+ "privacyPolicyText": {
718
+ "type": "string",
719
+ "mutable": false,
720
+ "complexType": {
721
+ "original": "string",
722
+ "resolved": "string",
723
+ "references": {}
724
+ },
725
+ "required": false,
726
+ "optional": false,
727
+ "docs": {
728
+ "tags": [],
729
+ "text": ""
730
+ },
731
+ "attribute": "privacy-policy-text",
732
+ "reflect": false,
733
+ "defaultValue": "\"I have read and expressly consent to the terms of the <a href='https://pushfeedback.com/privacy'>Privacy Policy</a>.\""
734
+ },
735
+ "ratingPlaceholder": {
736
+ "type": "string",
737
+ "mutable": false,
738
+ "complexType": {
739
+ "original": "string",
740
+ "resolved": "string",
741
+ "references": {}
742
+ },
743
+ "required": false,
744
+ "optional": false,
745
+ "docs": {
746
+ "tags": [],
747
+ "text": ""
748
+ },
749
+ "attribute": "rating-placeholder",
750
+ "reflect": false,
751
+ "defaultValue": "'Was this page helpful?'"
752
+ },
753
+ "ratingStarsPlaceholder": {
754
+ "type": "string",
755
+ "mutable": false,
756
+ "complexType": {
757
+ "original": "string",
758
+ "resolved": "string",
759
+ "references": {}
760
+ },
761
+ "required": false,
762
+ "optional": false,
763
+ "docs": {
764
+ "tags": [],
765
+ "text": ""
766
+ },
767
+ "attribute": "rating-stars-placeholder",
768
+ "reflect": false,
769
+ "defaultValue": "'How would you rate this page?'"
770
+ },
771
+ "sendButtonText": {
772
+ "type": "string",
773
+ "mutable": false,
774
+ "complexType": {
775
+ "original": "string",
776
+ "resolved": "string",
777
+ "references": {}
778
+ },
779
+ "required": false,
780
+ "optional": false,
781
+ "docs": {
782
+ "tags": [],
783
+ "text": ""
784
+ },
785
+ "attribute": "send-button-text",
786
+ "reflect": false,
787
+ "defaultValue": "'Send'"
788
+ },
789
+ "successMessage": {
790
+ "type": "string",
791
+ "mutable": false,
792
+ "complexType": {
793
+ "original": "string",
794
+ "resolved": "string",
795
+ "references": {}
796
+ },
797
+ "required": false,
798
+ "optional": false,
799
+ "docs": {
800
+ "tags": [],
801
+ "text": ""
802
+ },
803
+ "attribute": "success-message",
804
+ "reflect": false,
805
+ "defaultValue": "''"
806
+ },
807
+ "screenshotAttachedText": {
808
+ "type": "string",
809
+ "mutable": false,
810
+ "complexType": {
811
+ "original": "string",
812
+ "resolved": "string",
813
+ "references": {}
814
+ },
815
+ "required": false,
816
+ "optional": false,
817
+ "docs": {
818
+ "tags": [],
819
+ "text": ""
820
+ },
821
+ "attribute": "screenshot-attached-text",
822
+ "reflect": false,
823
+ "defaultValue": "'Screenshot attached'"
824
+ },
825
+ "screenshotButtonText": {
826
+ "type": "string",
827
+ "mutable": false,
828
+ "complexType": {
829
+ "original": "string",
830
+ "resolved": "string",
831
+ "references": {}
832
+ },
833
+ "required": false,
834
+ "optional": false,
835
+ "docs": {
836
+ "tags": [],
837
+ "text": ""
838
+ },
839
+ "attribute": "screenshot-button-text",
840
+ "reflect": false,
841
+ "defaultValue": "'Add a screenshot'"
842
+ },
843
+ "screenshotTakingText": {
844
+ "type": "string",
845
+ "mutable": false,
846
+ "complexType": {
847
+ "original": "string",
848
+ "resolved": "string",
849
+ "references": {}
850
+ },
851
+ "required": false,
852
+ "optional": false,
853
+ "docs": {
854
+ "tags": [],
855
+ "text": ""
856
+ },
857
+ "attribute": "screenshot-taking-text",
858
+ "reflect": false,
859
+ "defaultValue": "'Taking screenshot...'"
860
+ },
861
+ "screenshotEditTextButtonText": {
862
+ "type": "string",
863
+ "mutable": false,
864
+ "complexType": {
865
+ "original": "string",
866
+ "resolved": "string",
867
+ "references": {}
868
+ },
869
+ "required": false,
870
+ "optional": false,
871
+ "docs": {
872
+ "tags": [],
873
+ "text": ""
874
+ },
875
+ "attribute": "screenshot-edit-text-button-text",
876
+ "reflect": false,
877
+ "defaultValue": "'Edit text'"
878
+ },
879
+ "screenshotEditorTitle": {
880
+ "type": "string",
881
+ "mutable": false,
882
+ "complexType": {
883
+ "original": "string",
884
+ "resolved": "string",
885
+ "references": {}
886
+ },
887
+ "required": false,
888
+ "optional": false,
889
+ "docs": {
890
+ "tags": [],
891
+ "text": ""
892
+ },
893
+ "attribute": "screenshot-editor-title",
894
+ "reflect": false,
895
+ "defaultValue": "'Edit screenshot'"
896
+ },
897
+ "screenshotEditorCancelText": {
898
+ "type": "string",
899
+ "mutable": false,
900
+ "complexType": {
901
+ "original": "string",
902
+ "resolved": "string",
903
+ "references": {}
904
+ },
905
+ "required": false,
906
+ "optional": false,
907
+ "docs": {
908
+ "tags": [],
909
+ "text": ""
910
+ },
911
+ "attribute": "screenshot-editor-cancel-text",
912
+ "reflect": false,
913
+ "defaultValue": "'Cancel'"
914
+ },
915
+ "screenshotEditorSaveText": {
916
+ "type": "string",
917
+ "mutable": false,
918
+ "complexType": {
919
+ "original": "string",
920
+ "resolved": "string",
921
+ "references": {}
922
+ },
923
+ "required": false,
924
+ "optional": false,
925
+ "docs": {
926
+ "tags": [],
927
+ "text": ""
928
+ },
929
+ "attribute": "screenshot-editor-save-text",
930
+ "reflect": false,
931
+ "defaultValue": "'Save'"
932
+ },
933
+ "screenshotSizeLabelText": {
934
+ "type": "string",
935
+ "mutable": false,
936
+ "complexType": {
937
+ "original": "string",
938
+ "resolved": "string",
939
+ "references": {}
940
+ },
941
+ "required": false,
942
+ "optional": false,
943
+ "docs": {
944
+ "tags": [],
945
+ "text": ""
946
+ },
947
+ "attribute": "screenshot-size-label-text",
948
+ "reflect": false,
949
+ "defaultValue": "'Size:'"
950
+ },
951
+ "screenshotBorderLabelText": {
952
+ "type": "string",
953
+ "mutable": false,
954
+ "complexType": {
955
+ "original": "string",
956
+ "resolved": "string",
957
+ "references": {}
958
+ },
959
+ "required": false,
960
+ "optional": false,
961
+ "docs": {
962
+ "tags": [],
963
+ "text": ""
964
+ },
965
+ "attribute": "screenshot-border-label-text",
966
+ "reflect": false,
967
+ "defaultValue": "'Border:'"
968
+ },
969
+ "screenshotEditTextPromptText": {
970
+ "type": "string",
971
+ "mutable": false,
972
+ "complexType": {
973
+ "original": "string",
974
+ "resolved": "string",
975
+ "references": {}
976
+ },
977
+ "required": false,
978
+ "optional": false,
979
+ "docs": {
980
+ "tags": [],
981
+ "text": ""
982
+ },
983
+ "attribute": "screenshot-edit-text-prompt-text",
984
+ "reflect": false,
985
+ "defaultValue": "'Edit text:'"
986
+ },
987
+ "screenshotErrorGeneral": {
988
+ "type": "string",
989
+ "mutable": false,
990
+ "complexType": {
991
+ "original": "string",
992
+ "resolved": "string",
993
+ "references": {}
994
+ },
995
+ "required": false,
996
+ "optional": false,
997
+ "docs": {
998
+ "tags": [],
999
+ "text": ""
1000
+ },
1001
+ "attribute": "screenshot-error-general",
1002
+ "reflect": false,
1003
+ "defaultValue": "'Failed to capture screenshot.'"
1004
+ },
1005
+ "screenshotErrorPermission": {
1006
+ "type": "string",
1007
+ "mutable": false,
1008
+ "complexType": {
1009
+ "original": "string",
1010
+ "resolved": "string",
1011
+ "references": {}
1012
+ },
1013
+ "required": false,
1014
+ "optional": false,
1015
+ "docs": {
1016
+ "tags": [],
1017
+ "text": ""
1018
+ },
1019
+ "attribute": "screenshot-error-permission",
1020
+ "reflect": false,
1021
+ "defaultValue": "'Permission denied. Please allow screen sharing to take screenshots.'"
1022
+ },
1023
+ "screenshotErrorNotSupported": {
1024
+ "type": "string",
1025
+ "mutable": false,
1026
+ "complexType": {
1027
+ "original": "string",
1028
+ "resolved": "string",
1029
+ "references": {}
1030
+ },
1031
+ "required": false,
1032
+ "optional": false,
1033
+ "docs": {
1034
+ "tags": [],
1035
+ "text": ""
1036
+ },
1037
+ "attribute": "screenshot-error-not-supported",
1038
+ "reflect": false,
1039
+ "defaultValue": "'Screen capture is not supported in this browser.'"
1040
+ },
1041
+ "screenshotErrorNotFound": {
1042
+ "type": "string",
1043
+ "mutable": false,
1044
+ "complexType": {
1045
+ "original": "string",
1046
+ "resolved": "string",
1047
+ "references": {}
1048
+ },
1049
+ "required": false,
1050
+ "optional": false,
1051
+ "docs": {
1052
+ "tags": [],
1053
+ "text": ""
1054
+ },
1055
+ "attribute": "screenshot-error-not-found",
1056
+ "reflect": false,
1057
+ "defaultValue": "'No screen sources available for capture.'"
1058
+ },
1059
+ "screenshotErrorCancelled": {
1060
+ "type": "string",
1061
+ "mutable": false,
1062
+ "complexType": {
1063
+ "original": "string",
1064
+ "resolved": "string",
1065
+ "references": {}
1066
+ },
1067
+ "required": false,
1068
+ "optional": false,
1069
+ "docs": {
1070
+ "tags": [],
1071
+ "text": ""
1072
+ },
1073
+ "attribute": "screenshot-error-cancelled",
1074
+ "reflect": false,
1075
+ "defaultValue": "'Screenshot capture was cancelled.'"
1076
+ },
1077
+ "screenshotErrorBrowserNotSupported": {
1078
+ "type": "string",
1079
+ "mutable": false,
1080
+ "complexType": {
1081
+ "original": "string",
1082
+ "resolved": "string",
1083
+ "references": {}
1084
+ },
1085
+ "required": false,
1086
+ "optional": false,
1087
+ "docs": {
1088
+ "tags": [],
1089
+ "text": ""
1090
+ },
1091
+ "attribute": "screenshot-error-browser-not-supported",
1092
+ "reflect": false,
1093
+ "defaultValue": "'Your browser does not support screen capture. Please use a browser like Chrome, Firefox, or Safari on desktop.'"
1094
+ },
1095
+ "screenshotErrorUnexpected": {
1096
+ "type": "string",
1097
+ "mutable": false,
1098
+ "complexType": {
1099
+ "original": "string",
1100
+ "resolved": "string",
1101
+ "references": {}
1102
+ },
1103
+ "required": false,
1104
+ "optional": false,
1105
+ "docs": {
1106
+ "tags": [],
1107
+ "text": ""
1108
+ },
1109
+ "attribute": "screenshot-error-unexpected",
1110
+ "reflect": false,
1111
+ "defaultValue": "'An unexpected error occurred. Please try again.'"
1112
+ }
1113
+ };
1114
+ }
1115
+ static get events() {
1116
+ return [{
1117
+ "method": "feedbackSent",
1118
+ "name": "feedbackSent",
1119
+ "bubbles": true,
1120
+ "cancelable": true,
1121
+ "composed": true,
1122
+ "docs": {
1123
+ "tags": [],
1124
+ "text": ""
1125
+ },
1126
+ "complexType": {
1127
+ "original": "{ feedback: any }",
1128
+ "resolved": "{ feedback: any; }",
1129
+ "references": {}
1130
+ }
1131
+ }, {
1132
+ "method": "feedbackError",
1133
+ "name": "feedbackError",
1134
+ "bubbles": true,
1135
+ "cancelable": true,
1136
+ "composed": true,
1137
+ "docs": {
1138
+ "tags": [],
1139
+ "text": ""
1140
+ },
1141
+ "complexType": {
1142
+ "original": "{ error: any }",
1143
+ "resolved": "{ error: any; }",
1144
+ "references": {}
1145
+ }
1146
+ }];
1147
+ }
1148
+ static get elementRef() { return "el"; }
1149
+ }