pushfeedback 0.1.65 → 0.1.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/feedback-button_2.cjs.entry.js +41 -15
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/pushfeedback.cjs.js +1 -1
- package/dist/collection/components/feedback-button/feedback-button.js +44 -0
- package/dist/collection/components/feedback-modal/feedback-modal.css +33 -0
- package/dist/collection/components/feedback-modal/feedback-modal.js +67 -14
- package/dist/components/feedback-button.js +10 -0
- package/dist/components/feedback-modal2.js +35 -15
- package/dist/esm/feedback-button_2.entry.js +41 -15
- package/dist/esm/loader.js +1 -1
- package/dist/esm/pushfeedback.js +1 -1
- package/dist/pushfeedback/{p-d671215c.entry.js → p-e6c2f829.entry.js} +2 -2
- package/dist/pushfeedback/pushfeedback.esm.js +1 -1
- package/dist/types/components/feedback-button/feedback-button.d.ts +2 -0
- package/dist/types/components/feedback-modal/feedback-modal.d.ts +4 -0
- package/dist/types/components.d.ts +8 -0
- package/package.json +1 -1
|
@@ -16,6 +16,7 @@ const FeedbackButton = class {
|
|
|
16
16
|
this.hideIcon = false;
|
|
17
17
|
this.hideMobile = false;
|
|
18
18
|
this.sessionId = '';
|
|
19
|
+
this.metadata = '';
|
|
19
20
|
this.submit = false;
|
|
20
21
|
this.customFont = false;
|
|
21
22
|
this.emailAddress = '';
|
|
@@ -41,6 +42,7 @@ const FeedbackButton = class {
|
|
|
41
42
|
this.privacyPolicyText = "I have read and expressly consent to the terms of the <a href='https://pushfeedback.com/privacy'>Privacy Policy</a>.";
|
|
42
43
|
this.ratingPlaceholder = 'Was this page helpful?';
|
|
43
44
|
this.ratingStarsPlaceholder = 'How would you rate this page?';
|
|
45
|
+
this.screenshotAttachedText = 'Screenshot attached';
|
|
44
46
|
this.screenshotButtonText = 'Add a screenshot';
|
|
45
47
|
this.screenshotTopbarText = 'Select an element on this page';
|
|
46
48
|
this.sendButtonText = 'Send';
|
|
@@ -55,6 +57,9 @@ const FeedbackButton = class {
|
|
|
55
57
|
this.sessionId = storedSessionId;
|
|
56
58
|
}
|
|
57
59
|
}
|
|
60
|
+
else {
|
|
61
|
+
localStorage.setItem('pushfeedback_sessionid', this.sessionId);
|
|
62
|
+
}
|
|
58
63
|
}
|
|
59
64
|
componentDidLoad() {
|
|
60
65
|
if (this.buttonPosition === 'center-right') {
|
|
@@ -90,12 +95,14 @@ const FeedbackButton = class {
|
|
|
90
95
|
'errorMessage404',
|
|
91
96
|
'footerText',
|
|
92
97
|
'messagePlaceholder',
|
|
98
|
+
'metadata',
|
|
93
99
|
'modalTitle',
|
|
94
100
|
'modalTitleError',
|
|
95
101
|
'modalTitleSuccess',
|
|
96
102
|
'privacyPolicyText',
|
|
97
103
|
'ratingPlaceholder',
|
|
98
104
|
'ratingStarsPlaceholder',
|
|
105
|
+
'screenshotAttachedText',
|
|
99
106
|
'screenshotButtonText',
|
|
100
107
|
'screenshotTopbarText',
|
|
101
108
|
'sendButtonText',
|
|
@@ -138,6 +145,7 @@ const FeedbackButton = class {
|
|
|
138
145
|
rating: this.rating || -1,
|
|
139
146
|
ratingMode: this.ratingMode,
|
|
140
147
|
message: '',
|
|
148
|
+
metadata: this.metadata,
|
|
141
149
|
session: localStorage.getItem('pushfeedback_sessionid') || '',
|
|
142
150
|
};
|
|
143
151
|
const res = await fetch('https://app.pushfeedback.com/api/feedback/', {
|
|
@@ -8966,7 +8974,7 @@ var html2canvasPro = createCommonjsModule(function (module, exports) {
|
|
|
8966
8974
|
//# sourceMappingURL=html2canvas-pro.js.map
|
|
8967
8975
|
});
|
|
8968
8976
|
|
|
8969
|
-
const feedbackModalCss = ".text-center{flex-grow:1;text-align:center}.feedback-modal-wrapper *{font-family:var(--feedback-font-family)}.feedback-modal-wrapper--custom-font *{font-family:inherit}.feedback-modal-wrapper{position:absolute;z-index:var(--feedback-modal-modal-wrapper-z-index)}.feedback-overlay{background-color:var(--feedback-modal-screenshot-bg-color);height:100%;left:0;opacity:0;position:fixed;top:0;width:100%;z-index:var(--feedback-modal-screnshot-z-index);transition:opacity 0.2s ease-out}.feedback-overlay--visible{opacity:1}.feedback-modal{display:inline-block;position:relative}.feedback-modal-content{background-color:var(--feedback-modal-content-bg-color);border-color:1px solid var(--feedback-modal-header-text-color);border-radius:var(--feedback-modal-content-border-radius);box-shadow:0px 1px 2px 0px rgba(60, 64, 67, .30), 0px 2px 6px 2px rgba(60, 64, 67, .15);box-sizing:border-box;color:var(--feedback-modal-content-text-color);display:flex;flex-direction:column;left:50%;max-width:90%;padding:20px;position:fixed;top:50%;transform:translate(-50%, -50%) scale(0.95);opacity:0;width:100%;z-index:var(--feedback-modal-content-z-index);transition:transform 0.2s ease-out, opacity 0.2s ease-out}.feedback-modal-content--open{transform:translate(-50%, -50%) scale(1);opacity:1}.feedback-modal-header{align-items:center;color:var(--feedback-modal-header-text-color);display:flex;font-size:var(--feedback-header-font-size);font-weight:var(--feedback-modal-header-font-weight);justify-content:space-between;margin-bottom:20px}.feedback-modal-rating-buttons{width:100%;margin-bottom:20px}.feedback-modal-rating-button{padding:0;background-color:transparent;border:transparent;margin-right:5px;cursor:pointer}.feedback-modal-rating-buttons--thumbs .feedback-modal-rating-button{border:1px solid var(--feedback-modal-button-border-color);border-radius:var(--feedback-modal-button-border-radius);color:var(--feedback-modal-button-text-color);font-size:var(--feedback-modal-button-font-size);font-weight:500;margin-right:10px;justify-content:center;padding:5px 10px}.feedback-modal-rating-buttons--thumbs .feedback-modal-rating-button:hover,.feedback-modal-rating-buttons--thumbs .feedback-modal-rating-button--selected{background-color:var(--feedback-modal-button-bg-color-active);border:1px solid var(--feedback-modal-button-border-color-active);color:var(--feedback-modal-button-text-color-active)}.feedback-modal-rating-buttons--thumbs .feedback-modal-rating-button:hover svg,.feedback-modal-rating-buttons--thumbs .feedback-modal-rating-button--selected svg{stroke:var(--feedback-modal-rating-button-selected-color)}.feedback-modal-rating-buttons svg{stroke:var(--feedback-modal-rating-button-color);cursor:pointer}.feedback-modal-rating-buttons--stars .feedback-modal-rating-button--selected svg{fill:var(--feedback-modal-rating-button-stars-selected-color);stroke:var(--feedback-modal-rating-button-stars-selected-color)}.feedback-modal-text textarea{background-color:var(--feedback-modal-input-bg-color);border:1px solid var(--feedback-modal-input-border-color);border-radius:var(--feedback-modal-input-border-radius);box-sizing:border-box;color:var(--feedback-modal-input-text-color);font-size:var(--feedback-modal-input-font-size);margin-bottom:20px;height:100px;min-height:100px;padding:10px;resize:vertical;width:100%}.feedback-modal-email input{background-color:var(--feedback-modal-input-bg-color);border:1px solid var(--feedback-modal-input-border-color);border-radius:var(--feedback-modal-input-border-radius);box-sizing:border-box;color:var(--feedback-modal-input-text-color);font-size:var(--feedback-modal-input-font-size);margin-bottom:20px;height:40px;padding:10px;width:100%;margin-bottom:20px}.feedback-modal-privacy{font-size:var(--feedback-modal-input-font-size);margin-bottom:20px}.feedback-modal-text textarea:focus,.feedback-modal-email input:focus{border:1px solid var(--feedback-modal-input-border-color-focused);outline:none}.feedback-modal-buttons{display:flex;flex-direction:column}.feedback-modal-buttons .feedback-modal-button{margin-bottom:20px}.feedback-modal-button{align-items:center;background-color:transparent;border:1px solid var(--feedback-modal-button-border-color);border-radius:var(--feedback-modal-button-border-radius);color:var(--feedback-modal-button-text-color);cursor:pointer;display:flex;font-size:var(--feedback-modal-button-font-size);font-weight:500;justify-content:center;min-height:40px;padding:5px 10px}.feedback-modal-button svg{margin-right:6px}.feedback-modal-button path{fill:var(--feedback-modal-button-icon-color)}.feedback-modal-button:hover path,.feedback-modal-button--active path{fill:var(--feedback-modal-button-icon-color-active)}.feedback-modal-button--submit{background-color:var(--feedback-modal-button-submit-bg-color);border:1px solid var(--feedback-modal-button-border-color-active);color:var(--feedback-modal-button-submit-text-color)}.feedback-modal-button:hover,.feedback-modal-button--active{background-color:var(--feedback-modal-button-bg-color-active);border:1px solid var(--feedback-modal-button-border-color-active);color:var(--feedback-modal-button-text-color-active)}.feedback-modal-button--submit:hover{background-color:var(--feedback-modal-button-submit-bg-color-hover);border:1px solid var(--feedback-modal-button-submit-border-color-hover);color:var(--feedback-modal-button-submit-text-color-hover)}.feedback-modal-input-heading{display:block;font-size:14px;font-weight:300;padding-bottom:10px}.feedback-modal-footer{font-size:12px;text-align:center}.feedback-modal-footer a{color:var(--feedback-modal-footer-link);font-weight:500;text-decoration:none}.feedback-logo,.feedback-footer-text{display:block;text-align:center;margin-top:5px}.feedback-footer-text{margin-top:10px;line-height:1.5}.feedback-modal-close{background-color:var(--feedback-modal-close-bg-color);border:0;border-radius:50%;cursor:pointer;height:22px;margin-left:auto;padding:0;width:22px}.feedback-modal-close svg{stroke:var(--feedback-modal-close-color)}.feedback-modal-screenshot{background-color:var(--feedback-modal-screenshot-bg-color);height:100%;left:0;position:fixed;top:0;width:100%;z-index:var(--feedback-modal-screnshot-z-index)}.feedback-modal-screenshot-header{align-items:center;background-color:var(--feedback-modal-screenshot-header-bg-color);border-radius:var(--feedback-modal-content-border-radius);box-shadow:0px 1px 2px 0px rgba(60, 64, 67, .30), 0px 2px 6px 2px rgba(60, 64, 67, .15);box-sizing:border-box;color:var(--feedback-modal-screenshot-header-text-color);cursor:pointer;display:flex;left:50%;top:20px;transform:translateX(-50%);padding:10px;position:fixed;width:max-content;z-index:var(--feedback-modal-screenshot-header-z-index)}.feedback-modal-screenshot-close{height:24px;padding-left:10px;width:24px}.feedback-modal-screenshot-close svg{stroke:var(--feedback-modal-close-color)}.feedback-modal-message{font-size:var(--feedback-modal-message-font-size);margin-top:0}.feedback-modal-element-hover{background-color:transparent;cursor:pointer;border:1px solid var(--feedback-modal-element-hover-border-color)}.feedback-modal-element-selected{background-color:transparent;border:1px solid var(--feedback-modal-element-selected-border-color)}@media screen and (min-width: 768px){.feedback-modal-content{max-width:var(--feedback-modal-content-max-width)}.feedback-modal-content.feedback-modal-content--bottom-right{bottom:var(--feedback-modal-content-position-bottom);left:initial;right:var(--feedback-modal-content-position-right);top:initial;transform:initial}.feedback-modal-content.feedback-modal-content--bottom-left{bottom:var(--feedback-modal-content-position-bottom);left:var(--feedback-modal-content-position-left);top:initial;transform:initial}.feedback-modal-content.feedback-modal-content--top-right{right:var(--feedback-modal-content-position-right);top:var(--feedback-modal-content-position-top);transform:initial}.feedback-modal-content.feedback-modal-content--top-left{left:var(--feedback-modal-content-position-left);top:var(--feedback-modal-content-position-top);transform:initial}.feedback-modal-content.feedback-modal-content--center-left{left:5px;right:auto;top:50%;transform:translateY(-50%)}.feedback-modal-content.feedback-modal-content--center-right{left:auto;right:5px;top:50%;transform:translateY(-50%)}.feedback-modal-content.feedback-modal-content--sidebar-left.feedback-modal-content--open,.feedback-modal-content.feedback-modal-content--sidebar-right.feedback-modal-content--open{transform:translateX(0)}.feedback-modal-content.feedback-modal-content--sidebar-left{max-width:var(--feedback-modal-content-sidebar-max-width);left:0;right:auto;height:100vh;top:0;transform:translateX(-100%);transition:transform 0.5s ease-in-out;border-radius:0}.feedback-modal-content.feedback-modal-content--sidebar-right{max-width:var(--feedback-modal-content-sidebar-max-width);left:auto;right:0;height:100vh;top:0;transform:translateX(100%);transition:transform 0.5s ease-in-out;border-radius:0}.feedback-modal-text textarea{height:150px;min-height:150px}.feedback-modal-content.feedback-modal-content--bottom-right{transform:translateY(20px)}.feedback-modal-content.feedback-modal-content--bottom-right.feedback-modal-content--open{transform:translateY(0)}.feedback-modal-content.feedback-modal-content--bottom-left{transform:translateY(20px)}.feedback-modal-content.feedback-modal-content--bottom-left.feedback-modal-content--open{transform:translateY(0)}.feedback-modal-content.feedback-modal-content--top-right{transform:translateY(-20px)}.feedback-modal-content.feedback-modal-content--top-right.feedback-modal-content--open{transform:translateY(0)}.feedback-modal-content.feedback-modal-content--top-left{transform:translateY(-20px)}.feedback-modal-content.feedback-modal-content--top-left.feedback-modal-content--open{transform:translateY(0)}}";
|
|
8977
|
+
const feedbackModalCss = ".text-center{flex-grow:1;text-align:center}.feedback-modal-wrapper *{font-family:var(--feedback-font-family)}.feedback-modal-wrapper--custom-font *{font-family:inherit}.feedback-modal-wrapper{position:absolute;z-index:var(--feedback-modal-modal-wrapper-z-index)}.feedback-overlay{background-color:var(--feedback-modal-screenshot-bg-color);height:100%;left:0;opacity:0;position:fixed;top:0;width:100%;z-index:var(--feedback-modal-screnshot-z-index);transition:opacity 0.2s ease-out}.feedback-overlay--visible{opacity:1}.feedback-modal{display:inline-block;position:relative}.feedback-modal-content{background-color:var(--feedback-modal-content-bg-color);border-color:1px solid var(--feedback-modal-header-text-color);border-radius:var(--feedback-modal-content-border-radius);box-shadow:0px 1px 2px 0px rgba(60, 64, 67, .30), 0px 2px 6px 2px rgba(60, 64, 67, .15);box-sizing:border-box;color:var(--feedback-modal-content-text-color);display:flex;flex-direction:column;left:50%;max-width:90%;padding:20px;position:fixed;top:50%;transform:translate(-50%, -50%) scale(0.95);opacity:0;width:100%;z-index:var(--feedback-modal-content-z-index);transition:transform 0.2s ease-out, opacity 0.2s ease-out}.feedback-modal-content--open{transform:translate(-50%, -50%) scale(1);opacity:1}.feedback-modal-header{align-items:center;color:var(--feedback-modal-header-text-color);display:flex;font-size:var(--feedback-header-font-size);font-weight:var(--feedback-modal-header-font-weight);justify-content:space-between;margin-bottom:20px}.feedback-modal-rating-buttons{width:100%;margin-bottom:20px}.feedback-modal-rating-button{padding:0;background-color:transparent;border:transparent;margin-right:5px;cursor:pointer}.feedback-modal-rating-buttons--thumbs .feedback-modal-rating-button{border:1px solid var(--feedback-modal-button-border-color);border-radius:var(--feedback-modal-button-border-radius);color:var(--feedback-modal-button-text-color);font-size:var(--feedback-modal-button-font-size);font-weight:500;margin-right:10px;justify-content:center;padding:5px 10px}.feedback-modal-rating-buttons--thumbs .feedback-modal-rating-button:hover,.feedback-modal-rating-buttons--thumbs .feedback-modal-rating-button--selected{background-color:var(--feedback-modal-button-bg-color-active);border:1px solid var(--feedback-modal-button-border-color-active);color:var(--feedback-modal-button-text-color-active)}.feedback-modal-rating-buttons--thumbs .feedback-modal-rating-button:hover svg,.feedback-modal-rating-buttons--thumbs .feedback-modal-rating-button--selected svg{stroke:var(--feedback-modal-rating-button-selected-color)}.feedback-modal-rating-buttons svg{stroke:var(--feedback-modal-rating-button-color);cursor:pointer}.feedback-modal-rating-buttons--stars .feedback-modal-rating-button--selected svg{fill:var(--feedback-modal-rating-button-stars-selected-color);stroke:var(--feedback-modal-rating-button-stars-selected-color)}.feedback-modal-text textarea{background-color:var(--feedback-modal-input-bg-color);border:1px solid var(--feedback-modal-input-border-color);border-radius:var(--feedback-modal-input-border-radius);box-sizing:border-box;color:var(--feedback-modal-input-text-color);font-size:var(--feedback-modal-input-font-size);margin-bottom:20px;height:100px;min-height:100px;padding:10px;resize:vertical;width:100%}.feedback-modal-email input{background-color:var(--feedback-modal-input-bg-color);border:1px solid var(--feedback-modal-input-border-color);border-radius:var(--feedback-modal-input-border-radius);box-sizing:border-box;color:var(--feedback-modal-input-text-color);font-size:var(--feedback-modal-input-font-size);margin-bottom:20px;height:40px;padding:10px;width:100%;margin-bottom:20px}.feedback-modal-privacy{font-size:var(--feedback-modal-input-font-size);margin-bottom:20px}.feedback-modal-text textarea:focus,.feedback-modal-email input:focus{border:1px solid var(--feedback-modal-input-border-color-focused);outline:none}.feedback-modal-buttons{display:flex;flex-direction:column}.feedback-modal-buttons .feedback-modal-button{margin-bottom:20px}.feedback-modal-button{align-items:center;background-color:transparent;border:1px solid var(--feedback-modal-button-border-color);border-radius:var(--feedback-modal-button-border-radius);color:var(--feedback-modal-button-text-color);cursor:pointer;display:flex;font-size:var(--feedback-modal-button-font-size);font-weight:500;justify-content:center;min-height:40px;padding:5px 10px}.feedback-modal-button svg{margin-right:6px}.feedback-modal-button path{fill:var(--feedback-modal-button-icon-color)}.feedback-modal-button:hover path,.feedback-modal-button--active path{fill:var(--feedback-modal-button-icon-color-active)}.feedback-modal-button--submit{background-color:var(--feedback-modal-button-submit-bg-color);border:1px solid var(--feedback-modal-button-border-color-active);color:var(--feedback-modal-button-submit-text-color)}.feedback-modal-button:hover,.feedback-modal-button--active{background-color:var(--feedback-modal-button-bg-color-active);border:1px solid var(--feedback-modal-button-border-color-active);color:var(--feedback-modal-button-text-color-active)}.feedback-modal-button--submit:hover{background-color:var(--feedback-modal-button-submit-bg-color-hover);border:1px solid var(--feedback-modal-button-submit-border-color-hover);color:var(--feedback-modal-button-submit-text-color-hover)}.feedback-modal-input-heading{display:block;font-size:14px;font-weight:300;padding-bottom:10px}.feedback-modal-footer{font-size:12px;text-align:center}.feedback-modal-footer a{color:var(--feedback-modal-footer-link);font-weight:500;text-decoration:none}.feedback-logo,.feedback-footer-text{display:block;text-align:center;margin-top:5px}.feedback-footer-text{margin-top:10px;line-height:1.5}.feedback-modal-close{background-color:var(--feedback-modal-close-bg-color);border:0;border-radius:50%;cursor:pointer;height:22px;margin-left:auto;padding:0;width:22px}.feedback-modal-close svg{stroke:var(--feedback-modal-close-color)}.feedback-modal-screenshot{background-color:var(--feedback-modal-screenshot-bg-color);height:100%;left:0;position:fixed;top:0;width:100%;z-index:var(--feedback-modal-screnshot-z-index)}.feedback-modal-screenshot-header{align-items:center;background-color:var(--feedback-modal-screenshot-header-bg-color);border-radius:var(--feedback-modal-content-border-radius);box-shadow:0px 1px 2px 0px rgba(60, 64, 67, .30), 0px 2px 6px 2px rgba(60, 64, 67, .15);box-sizing:border-box;color:var(--feedback-modal-screenshot-header-text-color);cursor:pointer;display:flex;left:50%;top:20px;transform:translateX(-50%);padding:10px;position:fixed;width:max-content;z-index:var(--feedback-modal-screenshot-header-z-index)}.feedback-modal-screenshot-close{height:24px;padding-left:10px;width:24px}.feedback-modal-screenshot-close svg{stroke:var(--feedback-modal-close-color)}.feedback-modal-message{font-size:var(--feedback-modal-message-font-size);margin-top:0}.feedback-modal-element-hover{background-color:transparent;cursor:pointer;border:1px solid var(--feedback-modal-element-hover-border-color)}.feedback-modal-element-selected{background-color:transparent;border:1px solid var(--feedback-modal-element-selected-border-color)}.screenshot-preview{display:inline-block;width:30px;height:30px;overflow:hidden;border-radius:4px;margin-right:10px;box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);cursor:pointer}.screenshot-preview img{width:100%;height:100%;object-fit:cover}.preview-modal{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);background-color:rgba(0, 0, 0, 0.8);padding:20px;border-radius:8px;z-index:1000}.preview-modal img{max-width:90vw;max-height:90vh}@media screen and (min-width: 768px){.feedback-modal-content{max-width:var(--feedback-modal-content-max-width)}.feedback-modal-content.feedback-modal-content--bottom-right{bottom:var(--feedback-modal-content-position-bottom);left:initial;right:var(--feedback-modal-content-position-right);top:initial;transform:initial}.feedback-modal-content.feedback-modal-content--bottom-left{bottom:var(--feedback-modal-content-position-bottom);left:var(--feedback-modal-content-position-left);top:initial;transform:initial}.feedback-modal-content.feedback-modal-content--top-right{right:var(--feedback-modal-content-position-right);top:var(--feedback-modal-content-position-top);transform:initial}.feedback-modal-content.feedback-modal-content--top-left{left:var(--feedback-modal-content-position-left);top:var(--feedback-modal-content-position-top);transform:initial}.feedback-modal-content.feedback-modal-content--center-left{left:5px;right:auto;top:50%;transform:translateY(-50%)}.feedback-modal-content.feedback-modal-content--center-right{left:auto;right:5px;top:50%;transform:translateY(-50%)}.feedback-modal-content.feedback-modal-content--sidebar-left.feedback-modal-content--open,.feedback-modal-content.feedback-modal-content--sidebar-right.feedback-modal-content--open{transform:translateX(0)}.feedback-modal-content.feedback-modal-content--sidebar-left{max-width:var(--feedback-modal-content-sidebar-max-width);left:0;right:auto;height:100vh;top:0;transform:translateX(-100%);transition:transform 0.5s ease-in-out;border-radius:0}.feedback-modal-content.feedback-modal-content--sidebar-right{max-width:var(--feedback-modal-content-sidebar-max-width);left:auto;right:0;height:100vh;top:0;transform:translateX(100%);transition:transform 0.5s ease-in-out;border-radius:0}.feedback-modal-text textarea{height:150px;min-height:150px}.feedback-modal-content.feedback-modal-content--bottom-right{transform:translateY(20px)}.feedback-modal-content.feedback-modal-content--bottom-right.feedback-modal-content--open{transform:translateY(0)}.feedback-modal-content.feedback-modal-content--bottom-left{transform:translateY(20px)}.feedback-modal-content.feedback-modal-content--bottom-left.feedback-modal-content--open{transform:translateY(0)}.feedback-modal-content.feedback-modal-content--top-right{transform:translateY(-20px)}.feedback-modal-content.feedback-modal-content--top-right.feedback-modal-content--open{transform:translateY(0)}.feedback-modal-content.feedback-modal-content--top-left{transform:translateY(-20px)}.feedback-modal-content.feedback-modal-content--top-left.feedback-modal-content--open{transform:translateY(0)}}";
|
|
8970
8978
|
|
|
8971
8979
|
const FeedbackModal = class {
|
|
8972
8980
|
constructor(hostRef) {
|
|
@@ -9000,6 +9008,7 @@ const FeedbackModal = class {
|
|
|
9000
9008
|
screenshot: this.encodedScreenshot,
|
|
9001
9009
|
rating: this.selectedRating,
|
|
9002
9010
|
ratingMode: this.ratingMode,
|
|
9011
|
+
metadata: this.metadata,
|
|
9003
9012
|
verification: this.formVerification,
|
|
9004
9013
|
session: localStorage.getItem('pushfeedback_sessionid') || '',
|
|
9005
9014
|
};
|
|
@@ -9052,6 +9061,8 @@ const FeedbackModal = class {
|
|
|
9052
9061
|
this.showScreenshotTopBar = false;
|
|
9053
9062
|
this.hasSelectedElement = false;
|
|
9054
9063
|
this.encodedScreenshot = null;
|
|
9064
|
+
this.originalElement = null;
|
|
9065
|
+
this.selectedElementBounds = null;
|
|
9055
9066
|
this.formSuccess = false;
|
|
9056
9067
|
this.formError = false;
|
|
9057
9068
|
this.formErrorStatus = 500;
|
|
@@ -9066,6 +9077,8 @@ const FeedbackModal = class {
|
|
|
9066
9077
|
this.showScreenshotMode = true;
|
|
9067
9078
|
this.showScreenshotTopBar = true;
|
|
9068
9079
|
this.encodedScreenshot = null;
|
|
9080
|
+
this.originalElement = null;
|
|
9081
|
+
this.selectedElementBounds = null;
|
|
9069
9082
|
if (window.innerWidth > document.documentElement.clientWidth) {
|
|
9070
9083
|
document.documentElement.classList.add('feedback-modal-screenshot-open--scroll');
|
|
9071
9084
|
}
|
|
@@ -9080,6 +9093,8 @@ const FeedbackModal = class {
|
|
|
9080
9093
|
this.showScreenshotTopBar = false;
|
|
9081
9094
|
this.hasSelectedElement = false;
|
|
9082
9095
|
this.encodedScreenshot = null;
|
|
9096
|
+
this.originalElement = null;
|
|
9097
|
+
this.selectedElementBounds = null;
|
|
9083
9098
|
this.resetOverflow();
|
|
9084
9099
|
};
|
|
9085
9100
|
this.handleMouseOverScreenShot = (event) => {
|
|
@@ -9137,16 +9152,12 @@ const FeedbackModal = class {
|
|
|
9137
9152
|
}
|
|
9138
9153
|
this.hasSelectedElement = true;
|
|
9139
9154
|
this.elementSelected.classList.add('feedback-modal-element-selected');
|
|
9140
|
-
//
|
|
9141
|
-
|
|
9142
|
-
|
|
9143
|
-
|
|
9144
|
-
this.
|
|
9145
|
-
//
|
|
9146
|
-
const clonedElementSelected = this.elementSelected.cloneNode(true);
|
|
9147
|
-
document.body.appendChild(clonedElementSelected);
|
|
9148
|
-
// Reset the top position of the original element
|
|
9149
|
-
this.elementSelected.style.top = `${rectTop}px`;
|
|
9155
|
+
// Store the original element that was under the mouse
|
|
9156
|
+
this.screenshotModal.style.display = 'none';
|
|
9157
|
+
this.originalElement = document.elementFromPoint(event.clientX, event.clientY);
|
|
9158
|
+
this.selectedElementBounds = this.originalElement.getBoundingClientRect();
|
|
9159
|
+
this.screenshotModal.style.display = '';
|
|
9160
|
+
// Hide the screenshot interface
|
|
9150
9161
|
this.showScreenshotTopBar = false;
|
|
9151
9162
|
this.showModal = false;
|
|
9152
9163
|
try {
|
|
@@ -9159,8 +9170,7 @@ const FeedbackModal = class {
|
|
|
9159
9170
|
this.hasSelectedElement = false;
|
|
9160
9171
|
}
|
|
9161
9172
|
finally {
|
|
9162
|
-
//
|
|
9163
|
-
document.body.removeChild(clonedElementSelected);
|
|
9173
|
+
// Show the modal again
|
|
9164
9174
|
this.showModal = true;
|
|
9165
9175
|
}
|
|
9166
9176
|
};
|
|
@@ -9191,6 +9201,7 @@ const FeedbackModal = class {
|
|
|
9191
9201
|
this.showScreenshotTopBar = false;
|
|
9192
9202
|
this.showModal = false;
|
|
9193
9203
|
this.rating = undefined;
|
|
9204
|
+
this.metadata = undefined;
|
|
9194
9205
|
this.fetchData = true;
|
|
9195
9206
|
this.emailPlaceholder = 'Email address (optional)';
|
|
9196
9207
|
this.errorMessage = 'Please try again later.';
|
|
@@ -9207,6 +9218,7 @@ const FeedbackModal = class {
|
|
|
9207
9218
|
this.ratingStarsPlaceholder = 'How would you rate this page?';
|
|
9208
9219
|
this.sendButtonText = 'Send';
|
|
9209
9220
|
this.screenshotButtonText = 'Add a screenshot';
|
|
9221
|
+
this.screenshotAttachedText = 'Screenshot attached';
|
|
9210
9222
|
this.screenshotTopbarText = 'Select an element on this page';
|
|
9211
9223
|
this.successMessage = '';
|
|
9212
9224
|
}
|
|
@@ -9256,13 +9268,23 @@ const FeedbackModal = class {
|
|
|
9256
9268
|
y: window.scrollY,
|
|
9257
9269
|
width: window.innerWidth,
|
|
9258
9270
|
height: window.innerHeight,
|
|
9271
|
+
allowTaint: true,
|
|
9272
|
+
useCORS: true,
|
|
9273
|
+
scale: 1,
|
|
9259
9274
|
})
|
|
9260
9275
|
.then((canvas) => {
|
|
9276
|
+
const context = canvas.getContext('2d');
|
|
9277
|
+
if (context && this.selectedElementBounds) {
|
|
9278
|
+
// Use the same color as HTML highlight
|
|
9279
|
+
context.strokeStyle = 'rgba(0, 123, 255, 0.8)'; // Example color
|
|
9280
|
+
context.lineWidth = 3;
|
|
9281
|
+
context.strokeRect(this.selectedElementBounds.left + window.scrollX, this.selectedElementBounds.top + window.scrollY, this.selectedElementBounds.width, this.selectedElementBounds.height);
|
|
9282
|
+
}
|
|
9261
9283
|
const dataUrl = canvas.toDataURL();
|
|
9262
9284
|
resolve(dataUrl);
|
|
9263
9285
|
})
|
|
9264
9286
|
.catch((error) => {
|
|
9265
|
-
console.error(error);
|
|
9287
|
+
console.error('Failed to capture screenshot:', error);
|
|
9266
9288
|
reject(error);
|
|
9267
9289
|
});
|
|
9268
9290
|
});
|
|
@@ -9277,6 +9299,10 @@ const FeedbackModal = class {
|
|
|
9277
9299
|
handleRatingChange(newRating) {
|
|
9278
9300
|
this.selectedRating = newRating;
|
|
9279
9301
|
}
|
|
9302
|
+
// Remove the preview modal toggle function
|
|
9303
|
+
// togglePreviewModal() {
|
|
9304
|
+
// this.showPreviewModal = !this.showPreviewModal;
|
|
9305
|
+
// }
|
|
9280
9306
|
render() {
|
|
9281
9307
|
return (index.h("div", { class: `feedback-modal-wrapper ${this.customFont ? 'feedback-modal-wrapper--custom-font' : ''}` }, this.showScreenshotMode && (index.h("div", { class: "feedback-modal-screenshot", ref: (el) => (this.screenshotModal = el), onMouseMove: this.handleMouseOverScreenShot }, index.h("div", { class: "feedback-modal-screenshot-element-selected", ref: (el) => (this.elementSelected = el), onClick: this.handleMouseClickedSelectedElement }), index.h("div", { class: "top-side", ref: (el) => (this.topSide = el) }), index.h("div", { class: "left-side", ref: (el) => (this.leftSide = el) }), index.h("div", { class: "bottom-side", ref: (el) => (this.bottomSide = el) }), index.h("div", { class: "right-side", ref: (el) => (this.rightSide = el) }), this.showScreenshotTopBar && (index.h("div", { class: "feedback-modal-screenshot-header", onClick: this.closeScreenShot }, index.h("span", null, this.screenshotTopbarText), index.h("span", { class: "feedback-modal-screenshot-close" }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 24 24", fill: "none", stroke: "#191919", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", class: "feather feather-x" }, index.h("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), index.h("line", { x1: "6", y1: "6", x2: "18", y2: "18" }))))))), this.showModal && (index.h("div", { class: `feedback-overlay ${this.isAnimating ? 'feedback-overlay--visible' : ''}` })), this.showModal && (index.h("div", { class: `feedback-modal-content feedback-modal-content--${this.modalPosition} ${this.isAnimating ? 'feedback-modal-content--open' : ''}`, ref: (el) => (this.modalContent = el) }, index.h("div", { class: "feedback-modal-header" }, !this.formSuccess && !this.formError ? (index.h("span", null, this.modalTitle)) : this.formSuccess ? (index.h("span", null, this.modalTitleSuccess)) : (index.h("span", null, this.modalTitleError)), index.h("button", { class: "feedback-modal-close", onClick: this.close }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 24 24", fill: "none", stroke: "#191919", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", class: "feather feather-x" }, index.h("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), index.h("line", { x1: "6", y1: "6", x2: "18", y2: "18" })))), index.h("div", { class: "feedback-modal-body" }, !this.formSuccess && !this.formError ? (index.h("form", { onSubmit: this.handleSubmit }, !this.hideRating && (index.h("div", { class: "feedback-modal-rating" }, this.ratingMode === 'thumbs' ? (index.h("div", { class: "feedback-modal-rating-content" }, index.h("span", { class: "feedback-modal-input-heading" }, this.ratingPlaceholder), index.h("div", { class: "feedback-modal-rating-buttons feedback-modal-rating-buttons--thumbs" }, index.h("button", { title: "Yes", class: `feedback-modal-rating-button ${this.selectedRating === 1
|
|
9282
9308
|
? 'feedback-modal-rating-button--selected'
|
|
@@ -9293,7 +9319,7 @@ const FeedbackModal = class {
|
|
|
9293
9319
|
: ''}`, onClick: (event) => {
|
|
9294
9320
|
event.preventDefault();
|
|
9295
9321
|
this.handleRatingChange(rating);
|
|
9296
|
-
} }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "28", height: "28", viewBox: "0 0 24 24", fill: "none", stroke: "#5F6368", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, index.h("polygon", { points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" })))))))))), index.h("div", { class: "feedback-modal-text" }, index.h("textarea", { placeholder: this.messagePlaceholder, value: this.formMessage, onInput: (event) => this.handleMessageInput(event) })), !this.hideEmail && (index.h("div", { class: "feedback-modal-email" }, index.h("input", { placeholder: this.emailPlaceholder, type: "email", onInput: (event) => this.handleEmailInput(event), value: this.formEmail, required: this.isEmailRequired }))), index.h("div", { class: "feedback-verification" }, index.h("input", { type: "text", name: "verification", style: { display: 'none' }, onInput: (event) => this.handleVerification(event), value: this.formVerification })), !this.hidePrivacyPolicy && (index.h("div", { class: "feedback-modal-privacy" }, index.h("input", { type: "checkbox", id: "privacyPolicy", onChange: (ev) => this.handleCheckboxChange(ev), required: true }), index.h("span", { innerHTML: this.privacyPolicyText }))), index.h("div", { class: `feedback-modal-buttons ${this.hideScreenshotButton ? 'single' : ''}` }, !this.hideScreenshotButton && (index.h("button", { type: "button", class: `feedback-modal-button feedback-modal-button--screenshot ${this.encodedScreenshot ? 'feedback-modal-button--active' : ''}`, onClick: this.openScreenShot, disabled: this.sending }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", height: "24", viewBox: "0 -960 960 960", width: "24" }, index.h("path", { d: "M680-80v-120H560v-80h120v-120h80v120h120v80H760v120h-80ZM200-200v-200h80v120h120v80H200Zm0-360v-200h200v80H280v120h-80Zm480 0v-120H560v-80h200v200h-80Z" })), this.screenshotButtonText)), index.h("button", { class: "feedback-modal-button feedback-modal-button--submit", type: "submit", disabled: this.sending }, this.sendButtonText)))) : this.formSuccess && !this.formError ? (index.h("div", { class: "feedback-modal-success" }, index.h("p", { class: "feedback-modal-message" }, this.successMessage))) : this.formError && this.formErrorStatus == 404 ? (index.h("p", { class: "feedback-modal-message" }, this.errorMessage404)) : this.formError && this.formErrorStatus == 403 ? (index.h("p", { class: "feedback-modal-message" }, this.errorMessage403)) : this.formError ? (index.h("p", { class: "feedback-modal-message" }, this.errorMessage)) : (index.h("span", null))), index.h("div", { class: "feedback-modal-footer" }, index.h("div", { class: "feedback-logo", style: { display: this.whitelabel ? 'none' : 'block' } }, "Powered by", ' ', index.h("a", { target: "_blank", href: "https://pushfeedback.com" }, "PushFeedback.com")), this.footerText && (index.h("div", { class: "feedback-footer-text" }, index.h("span", { innerHTML: this.footerText }))))))));
|
|
9322
|
+
} }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "28", height: "28", viewBox: "0 0 24 24", fill: "none", stroke: "#5F6368", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, index.h("polygon", { points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" })))))))))), index.h("div", { class: "feedback-modal-text" }, index.h("textarea", { placeholder: this.messagePlaceholder, value: this.formMessage, onInput: (event) => this.handleMessageInput(event) })), !this.hideEmail && (index.h("div", { class: "feedback-modal-email" }, index.h("input", { placeholder: this.emailPlaceholder, type: "email", onInput: (event) => this.handleEmailInput(event), value: this.formEmail, required: this.isEmailRequired }))), index.h("div", { class: "feedback-verification" }, index.h("input", { type: "text", name: "verification", style: { display: 'none' }, onInput: (event) => this.handleVerification(event), value: this.formVerification })), !this.hidePrivacyPolicy && (index.h("div", { class: "feedback-modal-privacy" }, index.h("input", { type: "checkbox", id: "privacyPolicy", onChange: (ev) => this.handleCheckboxChange(ev), required: true }), index.h("span", { innerHTML: this.privacyPolicyText }))), index.h("div", { class: `feedback-modal-buttons ${this.hideScreenshotButton ? 'single' : ''}` }, !this.hideScreenshotButton && (index.h("button", { type: "button", class: `feedback-modal-button feedback-modal-button--screenshot ${this.encodedScreenshot ? 'feedback-modal-button--active' : ''}`, onClick: this.openScreenShot, disabled: this.sending }, this.encodedScreenshot && (index.h("div", { class: "screenshot-preview" }, index.h("img", { src: this.encodedScreenshot, alt: "Screenshot Preview" }))), !this.encodedScreenshot && (index.h("svg", { xmlns: "http://www.w3.org/2000/svg", height: "24", viewBox: "0 -960 960 960", width: "24" }, index.h("path", { d: "M680-80v-120H560v-80h120v-120h80v120h120v80H760v120h-80ZM200-200v-200h80v120h120v80H200Zm0-360v-200h200v80H280v120h-80Zm480 0v-120H560v-80h200v200h-80Z" }))), this.encodedScreenshot ? this.screenshotAttachedText : this.screenshotButtonText)), index.h("button", { class: "feedback-modal-button feedback-modal-button--submit", type: "submit", disabled: this.sending }, this.sendButtonText)))) : this.formSuccess && !this.formError ? (index.h("div", { class: "feedback-modal-success" }, index.h("p", { class: "feedback-modal-message" }, this.successMessage))) : this.formError && this.formErrorStatus == 404 ? (index.h("p", { class: "feedback-modal-message" }, this.errorMessage404)) : this.formError && this.formErrorStatus == 403 ? (index.h("p", { class: "feedback-modal-message" }, this.errorMessage403)) : this.formError ? (index.h("p", { class: "feedback-modal-message" }, this.errorMessage)) : (index.h("span", null))), index.h("div", { class: "feedback-modal-footer" }, index.h("div", { class: "feedback-logo", style: { display: this.whitelabel ? 'none' : 'block' } }, "Powered by", ' ', index.h("a", { target: "_blank", href: "https://pushfeedback.com" }, "PushFeedback.com")), this.footerText && (index.h("div", { class: "feedback-footer-text" }, index.h("span", { innerHTML: this.footerText }))))))));
|
|
9297
9323
|
}
|
|
9298
9324
|
componentDidRender() {
|
|
9299
9325
|
if (this.showModal) {
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -14,7 +14,7 @@ const patchEsm = () => {
|
|
|
14
14
|
const defineCustomElements = (win, options) => {
|
|
15
15
|
if (typeof window === 'undefined') return Promise.resolve();
|
|
16
16
|
return patchEsm().then(() => {
|
|
17
|
-
return index.bootstrapLazy([["feedback-button_2.cjs",[[1,"feedback-button",{"buttonPosition":[1,"button-position"],"buttonStyle":[1,"button-style"],"hideIcon":[4,"hide-icon"],"hideMobile":[4,"hide-mobile"],"sessionId":[1537,"session-id"],"submit":[4],"customFont":[4,"custom-font"],"emailAddress":[1,"email-address"],"isEmailRequired":[4,"is-email-required"],"fetchData":[4,"fetch-data"],"hideEmail":[4,"hide-email"],"hidePrivacyPolicy":[4,"hide-privacy-policy"],"hideRating":[4,"hide-rating"],"hideScreenshotButton":[4,"hide-screenshot-button"],"modalPosition":[1,"modal-position"],"project":[1],"rating":[2],"ratingMode":[1,"rating-mode"],"emailPlaceholder":[1,"email-placeholder"],"errorMessage":[1,"error-message"],"errorMessage403":[1,"error-message-4-0-3"],"errorMessage404":[1,"error-message-4-0-4"],"footerText":[1,"footer-text"],"messagePlaceholder":[1,"message-placeholder"],"modalTitle":[1,"modal-title"],"modalTitleError":[1,"modal-title-error"],"modalTitleSuccess":[1,"modal-title-success"],"privacyPolicyText":[1,"privacy-policy-text"],"ratingPlaceholder":[1,"rating-placeholder"],"ratingStarsPlaceholder":[1,"rating-stars-placeholder"],"screenshotButtonText":[1,"screenshot-button-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"sendButtonText":[1,"send-button-text"],"successMessage":[1,"success-message"]}],[1,"feedback-modal",{"customFont":[4,"custom-font"],"emailAddress":[1,"email-address"],"hideEmail":[4,"hide-email"],"isEmailRequired":[4,"is-email-required"],"ratingMode":[1,"rating-mode"],"hasSelectedElement":[1540,"has-selected-element"],"hidePrivacyPolicy":[4,"hide-privacy-policy"],"hideRating":[4,"hide-rating"],"hideScreenshotButton":[4,"hide-screenshot-button"],"project":[1],"showScreenshotMode":[1540,"show-screenshot-mode"],"showScreenshotTopBar":[1540,"show-screenshot-top-bar"],"showModal":[1540,"show-modal"],"rating":[2],"fetchData":[4,"fetch-data"],"emailPlaceholder":[1,"email-placeholder"],"errorMessage":[1,"error-message"],"errorMessage403":[1,"error-message-4-0-3"],"errorMessage404":[1,"error-message-4-0-4"],"messagePlaceholder":[1,"message-placeholder"],"footerText":[1,"footer-text"],"modalPosition":[1,"modal-position"],"modalTitle":[1,"modal-title"],"modalTitleError":[1,"modal-title-error"],"modalTitleSuccess":[1,"modal-title-success"],"privacyPolicyText":[1,"privacy-policy-text"],"ratingPlaceholder":[1,"rating-placeholder"],"ratingStarsPlaceholder":[1,"rating-stars-placeholder"],"sendButtonText":[1,"send-button-text"],"screenshotButtonText":[1,"screenshot-button-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"successMessage":[1,"success-message"],"sending":[32],"formMessage":[32],"formEmail":[32],"formSuccess":[32],"formVerification":[32],"formError":[32],"formErrorStatus":[32],"encodedScreenshot":[32],"isPrivacyChecked":[32],"whitelabel":[32],"selectedRating":[32],"overlayVisible":[32],"isAnimating":[32],"openModal":[64]}]]]], options);
|
|
17
|
+
return index.bootstrapLazy([["feedback-button_2.cjs",[[1,"feedback-button",{"buttonPosition":[1,"button-position"],"buttonStyle":[1,"button-style"],"hideIcon":[4,"hide-icon"],"hideMobile":[4,"hide-mobile"],"sessionId":[1537,"session-id"],"metadata":[1],"submit":[4],"customFont":[4,"custom-font"],"emailAddress":[1,"email-address"],"isEmailRequired":[4,"is-email-required"],"fetchData":[4,"fetch-data"],"hideEmail":[4,"hide-email"],"hidePrivacyPolicy":[4,"hide-privacy-policy"],"hideRating":[4,"hide-rating"],"hideScreenshotButton":[4,"hide-screenshot-button"],"modalPosition":[1,"modal-position"],"project":[1],"rating":[2],"ratingMode":[1,"rating-mode"],"emailPlaceholder":[1,"email-placeholder"],"errorMessage":[1,"error-message"],"errorMessage403":[1,"error-message-4-0-3"],"errorMessage404":[1,"error-message-4-0-4"],"footerText":[1,"footer-text"],"messagePlaceholder":[1,"message-placeholder"],"modalTitle":[1,"modal-title"],"modalTitleError":[1,"modal-title-error"],"modalTitleSuccess":[1,"modal-title-success"],"privacyPolicyText":[1,"privacy-policy-text"],"ratingPlaceholder":[1,"rating-placeholder"],"ratingStarsPlaceholder":[1,"rating-stars-placeholder"],"screenshotAttachedText":[1,"screenshot-attached-text"],"screenshotButtonText":[1,"screenshot-button-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"sendButtonText":[1,"send-button-text"],"successMessage":[1,"success-message"]}],[1,"feedback-modal",{"customFont":[4,"custom-font"],"emailAddress":[1,"email-address"],"hideEmail":[4,"hide-email"],"isEmailRequired":[4,"is-email-required"],"ratingMode":[1,"rating-mode"],"hasSelectedElement":[1540,"has-selected-element"],"hidePrivacyPolicy":[4,"hide-privacy-policy"],"hideRating":[4,"hide-rating"],"hideScreenshotButton":[4,"hide-screenshot-button"],"project":[1],"showScreenshotMode":[1540,"show-screenshot-mode"],"showScreenshotTopBar":[1540,"show-screenshot-top-bar"],"showModal":[1540,"show-modal"],"rating":[2],"metadata":[1],"fetchData":[4,"fetch-data"],"emailPlaceholder":[1,"email-placeholder"],"errorMessage":[1,"error-message"],"errorMessage403":[1,"error-message-4-0-3"],"errorMessage404":[1,"error-message-4-0-4"],"messagePlaceholder":[1,"message-placeholder"],"footerText":[1,"footer-text"],"modalPosition":[1,"modal-position"],"modalTitle":[1,"modal-title"],"modalTitleError":[1,"modal-title-error"],"modalTitleSuccess":[1,"modal-title-success"],"privacyPolicyText":[1,"privacy-policy-text"],"ratingPlaceholder":[1,"rating-placeholder"],"ratingStarsPlaceholder":[1,"rating-stars-placeholder"],"sendButtonText":[1,"send-button-text"],"screenshotButtonText":[1,"screenshot-button-text"],"screenshotAttachedText":[1,"screenshot-attached-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"successMessage":[1,"success-message"],"sending":[32],"formMessage":[32],"formEmail":[32],"formSuccess":[32],"formVerification":[32],"formError":[32],"formErrorStatus":[32],"encodedScreenshot":[32],"isPrivacyChecked":[32],"whitelabel":[32],"selectedRating":[32],"overlayVisible":[32],"isAnimating":[32],"openModal":[64]}]]]], options);
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
|
|
@@ -17,7 +17,7 @@ const patchBrowser = () => {
|
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
patchBrowser().then(options => {
|
|
20
|
-
return index.bootstrapLazy([["feedback-button_2.cjs",[[1,"feedback-button",{"buttonPosition":[1,"button-position"],"buttonStyle":[1,"button-style"],"hideIcon":[4,"hide-icon"],"hideMobile":[4,"hide-mobile"],"sessionId":[1537,"session-id"],"submit":[4],"customFont":[4,"custom-font"],"emailAddress":[1,"email-address"],"isEmailRequired":[4,"is-email-required"],"fetchData":[4,"fetch-data"],"hideEmail":[4,"hide-email"],"hidePrivacyPolicy":[4,"hide-privacy-policy"],"hideRating":[4,"hide-rating"],"hideScreenshotButton":[4,"hide-screenshot-button"],"modalPosition":[1,"modal-position"],"project":[1],"rating":[2],"ratingMode":[1,"rating-mode"],"emailPlaceholder":[1,"email-placeholder"],"errorMessage":[1,"error-message"],"errorMessage403":[1,"error-message-4-0-3"],"errorMessage404":[1,"error-message-4-0-4"],"footerText":[1,"footer-text"],"messagePlaceholder":[1,"message-placeholder"],"modalTitle":[1,"modal-title"],"modalTitleError":[1,"modal-title-error"],"modalTitleSuccess":[1,"modal-title-success"],"privacyPolicyText":[1,"privacy-policy-text"],"ratingPlaceholder":[1,"rating-placeholder"],"ratingStarsPlaceholder":[1,"rating-stars-placeholder"],"screenshotButtonText":[1,"screenshot-button-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"sendButtonText":[1,"send-button-text"],"successMessage":[1,"success-message"]}],[1,"feedback-modal",{"customFont":[4,"custom-font"],"emailAddress":[1,"email-address"],"hideEmail":[4,"hide-email"],"isEmailRequired":[4,"is-email-required"],"ratingMode":[1,"rating-mode"],"hasSelectedElement":[1540,"has-selected-element"],"hidePrivacyPolicy":[4,"hide-privacy-policy"],"hideRating":[4,"hide-rating"],"hideScreenshotButton":[4,"hide-screenshot-button"],"project":[1],"showScreenshotMode":[1540,"show-screenshot-mode"],"showScreenshotTopBar":[1540,"show-screenshot-top-bar"],"showModal":[1540,"show-modal"],"rating":[2],"fetchData":[4,"fetch-data"],"emailPlaceholder":[1,"email-placeholder"],"errorMessage":[1,"error-message"],"errorMessage403":[1,"error-message-4-0-3"],"errorMessage404":[1,"error-message-4-0-4"],"messagePlaceholder":[1,"message-placeholder"],"footerText":[1,"footer-text"],"modalPosition":[1,"modal-position"],"modalTitle":[1,"modal-title"],"modalTitleError":[1,"modal-title-error"],"modalTitleSuccess":[1,"modal-title-success"],"privacyPolicyText":[1,"privacy-policy-text"],"ratingPlaceholder":[1,"rating-placeholder"],"ratingStarsPlaceholder":[1,"rating-stars-placeholder"],"sendButtonText":[1,"send-button-text"],"screenshotButtonText":[1,"screenshot-button-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"successMessage":[1,"success-message"],"sending":[32],"formMessage":[32],"formEmail":[32],"formSuccess":[32],"formVerification":[32],"formError":[32],"formErrorStatus":[32],"encodedScreenshot":[32],"isPrivacyChecked":[32],"whitelabel":[32],"selectedRating":[32],"overlayVisible":[32],"isAnimating":[32],"openModal":[64]}]]]], options);
|
|
20
|
+
return index.bootstrapLazy([["feedback-button_2.cjs",[[1,"feedback-button",{"buttonPosition":[1,"button-position"],"buttonStyle":[1,"button-style"],"hideIcon":[4,"hide-icon"],"hideMobile":[4,"hide-mobile"],"sessionId":[1537,"session-id"],"metadata":[1],"submit":[4],"customFont":[4,"custom-font"],"emailAddress":[1,"email-address"],"isEmailRequired":[4,"is-email-required"],"fetchData":[4,"fetch-data"],"hideEmail":[4,"hide-email"],"hidePrivacyPolicy":[4,"hide-privacy-policy"],"hideRating":[4,"hide-rating"],"hideScreenshotButton":[4,"hide-screenshot-button"],"modalPosition":[1,"modal-position"],"project":[1],"rating":[2],"ratingMode":[1,"rating-mode"],"emailPlaceholder":[1,"email-placeholder"],"errorMessage":[1,"error-message"],"errorMessage403":[1,"error-message-4-0-3"],"errorMessage404":[1,"error-message-4-0-4"],"footerText":[1,"footer-text"],"messagePlaceholder":[1,"message-placeholder"],"modalTitle":[1,"modal-title"],"modalTitleError":[1,"modal-title-error"],"modalTitleSuccess":[1,"modal-title-success"],"privacyPolicyText":[1,"privacy-policy-text"],"ratingPlaceholder":[1,"rating-placeholder"],"ratingStarsPlaceholder":[1,"rating-stars-placeholder"],"screenshotAttachedText":[1,"screenshot-attached-text"],"screenshotButtonText":[1,"screenshot-button-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"sendButtonText":[1,"send-button-text"],"successMessage":[1,"success-message"]}],[1,"feedback-modal",{"customFont":[4,"custom-font"],"emailAddress":[1,"email-address"],"hideEmail":[4,"hide-email"],"isEmailRequired":[4,"is-email-required"],"ratingMode":[1,"rating-mode"],"hasSelectedElement":[1540,"has-selected-element"],"hidePrivacyPolicy":[4,"hide-privacy-policy"],"hideRating":[4,"hide-rating"],"hideScreenshotButton":[4,"hide-screenshot-button"],"project":[1],"showScreenshotMode":[1540,"show-screenshot-mode"],"showScreenshotTopBar":[1540,"show-screenshot-top-bar"],"showModal":[1540,"show-modal"],"rating":[2],"metadata":[1],"fetchData":[4,"fetch-data"],"emailPlaceholder":[1,"email-placeholder"],"errorMessage":[1,"error-message"],"errorMessage403":[1,"error-message-4-0-3"],"errorMessage404":[1,"error-message-4-0-4"],"messagePlaceholder":[1,"message-placeholder"],"footerText":[1,"footer-text"],"modalPosition":[1,"modal-position"],"modalTitle":[1,"modal-title"],"modalTitleError":[1,"modal-title-error"],"modalTitleSuccess":[1,"modal-title-success"],"privacyPolicyText":[1,"privacy-policy-text"],"ratingPlaceholder":[1,"rating-placeholder"],"ratingStarsPlaceholder":[1,"rating-stars-placeholder"],"sendButtonText":[1,"send-button-text"],"screenshotButtonText":[1,"screenshot-button-text"],"screenshotAttachedText":[1,"screenshot-attached-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"successMessage":[1,"success-message"],"sending":[32],"formMessage":[32],"formEmail":[32],"formSuccess":[32],"formVerification":[32],"formError":[32],"formErrorStatus":[32],"encodedScreenshot":[32],"isPrivacyChecked":[32],"whitelabel":[32],"selectedRating":[32],"overlayVisible":[32],"isAnimating":[32],"openModal":[64]}]]]], options);
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
exports.setNonce = index.setNonce;
|
|
@@ -6,6 +6,7 @@ export class FeedbackButton {
|
|
|
6
6
|
this.hideIcon = false;
|
|
7
7
|
this.hideMobile = false;
|
|
8
8
|
this.sessionId = '';
|
|
9
|
+
this.metadata = '';
|
|
9
10
|
this.submit = false;
|
|
10
11
|
this.customFont = false;
|
|
11
12
|
this.emailAddress = '';
|
|
@@ -31,6 +32,7 @@ export class FeedbackButton {
|
|
|
31
32
|
this.privacyPolicyText = "I have read and expressly consent to the terms of the <a href='https://pushfeedback.com/privacy'>Privacy Policy</a>.";
|
|
32
33
|
this.ratingPlaceholder = 'Was this page helpful?';
|
|
33
34
|
this.ratingStarsPlaceholder = 'How would you rate this page?';
|
|
35
|
+
this.screenshotAttachedText = 'Screenshot attached';
|
|
34
36
|
this.screenshotButtonText = 'Add a screenshot';
|
|
35
37
|
this.screenshotTopbarText = 'Select an element on this page';
|
|
36
38
|
this.sendButtonText = 'Send';
|
|
@@ -45,6 +47,9 @@ export class FeedbackButton {
|
|
|
45
47
|
this.sessionId = storedSessionId;
|
|
46
48
|
}
|
|
47
49
|
}
|
|
50
|
+
else {
|
|
51
|
+
localStorage.setItem('pushfeedback_sessionid', this.sessionId);
|
|
52
|
+
}
|
|
48
53
|
}
|
|
49
54
|
componentDidLoad() {
|
|
50
55
|
if (this.buttonPosition === 'center-right') {
|
|
@@ -80,12 +85,14 @@ export class FeedbackButton {
|
|
|
80
85
|
'errorMessage404',
|
|
81
86
|
'footerText',
|
|
82
87
|
'messagePlaceholder',
|
|
88
|
+
'metadata',
|
|
83
89
|
'modalTitle',
|
|
84
90
|
'modalTitleError',
|
|
85
91
|
'modalTitleSuccess',
|
|
86
92
|
'privacyPolicyText',
|
|
87
93
|
'ratingPlaceholder',
|
|
88
94
|
'ratingStarsPlaceholder',
|
|
95
|
+
'screenshotAttachedText',
|
|
89
96
|
'screenshotButtonText',
|
|
90
97
|
'screenshotTopbarText',
|
|
91
98
|
'sendButtonText',
|
|
@@ -128,6 +135,7 @@ export class FeedbackButton {
|
|
|
128
135
|
rating: this.rating || -1,
|
|
129
136
|
ratingMode: this.ratingMode,
|
|
130
137
|
message: '',
|
|
138
|
+
metadata: this.metadata,
|
|
131
139
|
session: localStorage.getItem('pushfeedback_sessionid') || '',
|
|
132
140
|
};
|
|
133
141
|
const res = await fetch('https://app.pushfeedback.com/api/feedback/', {
|
|
@@ -265,6 +273,24 @@ export class FeedbackButton {
|
|
|
265
273
|
"reflect": true,
|
|
266
274
|
"defaultValue": "''"
|
|
267
275
|
},
|
|
276
|
+
"metadata": {
|
|
277
|
+
"type": "string",
|
|
278
|
+
"mutable": false,
|
|
279
|
+
"complexType": {
|
|
280
|
+
"original": "string",
|
|
281
|
+
"resolved": "string",
|
|
282
|
+
"references": {}
|
|
283
|
+
},
|
|
284
|
+
"required": false,
|
|
285
|
+
"optional": false,
|
|
286
|
+
"docs": {
|
|
287
|
+
"tags": [],
|
|
288
|
+
"text": ""
|
|
289
|
+
},
|
|
290
|
+
"attribute": "metadata",
|
|
291
|
+
"reflect": false,
|
|
292
|
+
"defaultValue": "''"
|
|
293
|
+
},
|
|
268
294
|
"submit": {
|
|
269
295
|
"type": "boolean",
|
|
270
296
|
"mutable": false,
|
|
@@ -714,6 +740,24 @@ export class FeedbackButton {
|
|
|
714
740
|
"reflect": false,
|
|
715
741
|
"defaultValue": "'How would you rate this page?'"
|
|
716
742
|
},
|
|
743
|
+
"screenshotAttachedText": {
|
|
744
|
+
"type": "string",
|
|
745
|
+
"mutable": false,
|
|
746
|
+
"complexType": {
|
|
747
|
+
"original": "string",
|
|
748
|
+
"resolved": "string",
|
|
749
|
+
"references": {}
|
|
750
|
+
},
|
|
751
|
+
"required": false,
|
|
752
|
+
"optional": false,
|
|
753
|
+
"docs": {
|
|
754
|
+
"tags": [],
|
|
755
|
+
"text": ""
|
|
756
|
+
},
|
|
757
|
+
"attribute": "screenshot-attached-text",
|
|
758
|
+
"reflect": false,
|
|
759
|
+
"defaultValue": "'Screenshot attached'"
|
|
760
|
+
},
|
|
717
761
|
"screenshotButtonText": {
|
|
718
762
|
"type": "string",
|
|
719
763
|
"mutable": false,
|
|
@@ -321,6 +321,39 @@
|
|
|
321
321
|
border: 1px solid var(--feedback-modal-element-selected-border-color);
|
|
322
322
|
}
|
|
323
323
|
|
|
324
|
+
.screenshot-preview {
|
|
325
|
+
display: inline-block;
|
|
326
|
+
width: 30px;
|
|
327
|
+
height: 30px;
|
|
328
|
+
overflow: hidden;
|
|
329
|
+
border-radius: 4px;
|
|
330
|
+
margin-right: 10px;
|
|
331
|
+
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
332
|
+
cursor: pointer;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
.screenshot-preview img {
|
|
336
|
+
width: 100%;
|
|
337
|
+
height: 100%;
|
|
338
|
+
object-fit: cover;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
.preview-modal {
|
|
342
|
+
position: fixed;
|
|
343
|
+
top: 50%;
|
|
344
|
+
left: 50%;
|
|
345
|
+
transform: translate(-50%, -50%);
|
|
346
|
+
background-color: rgba(0, 0, 0, 0.8);
|
|
347
|
+
padding: 20px;
|
|
348
|
+
border-radius: 8px;
|
|
349
|
+
z-index: 1000;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
.preview-modal img {
|
|
353
|
+
max-width: 90vw;
|
|
354
|
+
max-height: 90vh;
|
|
355
|
+
}
|
|
356
|
+
|
|
324
357
|
@media screen and (min-width: 768px) {
|
|
325
358
|
|
|
326
359
|
.feedback-modal-content {
|
|
@@ -29,6 +29,7 @@ export class FeedbackModal {
|
|
|
29
29
|
screenshot: this.encodedScreenshot,
|
|
30
30
|
rating: this.selectedRating,
|
|
31
31
|
ratingMode: this.ratingMode,
|
|
32
|
+
metadata: this.metadata,
|
|
32
33
|
verification: this.formVerification,
|
|
33
34
|
session: localStorage.getItem('pushfeedback_sessionid') || '',
|
|
34
35
|
};
|
|
@@ -81,6 +82,8 @@ export class FeedbackModal {
|
|
|
81
82
|
this.showScreenshotTopBar = false;
|
|
82
83
|
this.hasSelectedElement = false;
|
|
83
84
|
this.encodedScreenshot = null;
|
|
85
|
+
this.originalElement = null;
|
|
86
|
+
this.selectedElementBounds = null;
|
|
84
87
|
this.formSuccess = false;
|
|
85
88
|
this.formError = false;
|
|
86
89
|
this.formErrorStatus = 500;
|
|
@@ -95,6 +98,8 @@ export class FeedbackModal {
|
|
|
95
98
|
this.showScreenshotMode = true;
|
|
96
99
|
this.showScreenshotTopBar = true;
|
|
97
100
|
this.encodedScreenshot = null;
|
|
101
|
+
this.originalElement = null;
|
|
102
|
+
this.selectedElementBounds = null;
|
|
98
103
|
if (window.innerWidth > document.documentElement.clientWidth) {
|
|
99
104
|
document.documentElement.classList.add('feedback-modal-screenshot-open--scroll');
|
|
100
105
|
}
|
|
@@ -109,6 +114,8 @@ export class FeedbackModal {
|
|
|
109
114
|
this.showScreenshotTopBar = false;
|
|
110
115
|
this.hasSelectedElement = false;
|
|
111
116
|
this.encodedScreenshot = null;
|
|
117
|
+
this.originalElement = null;
|
|
118
|
+
this.selectedElementBounds = null;
|
|
112
119
|
this.resetOverflow();
|
|
113
120
|
};
|
|
114
121
|
this.handleMouseOverScreenShot = (event) => {
|
|
@@ -166,16 +173,12 @@ export class FeedbackModal {
|
|
|
166
173
|
}
|
|
167
174
|
this.hasSelectedElement = true;
|
|
168
175
|
this.elementSelected.classList.add('feedback-modal-element-selected');
|
|
169
|
-
//
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
this.
|
|
174
|
-
//
|
|
175
|
-
const clonedElementSelected = this.elementSelected.cloneNode(true);
|
|
176
|
-
document.body.appendChild(clonedElementSelected);
|
|
177
|
-
// Reset the top position of the original element
|
|
178
|
-
this.elementSelected.style.top = `${rectTop}px`;
|
|
176
|
+
// Store the original element that was under the mouse
|
|
177
|
+
this.screenshotModal.style.display = 'none';
|
|
178
|
+
this.originalElement = document.elementFromPoint(event.clientX, event.clientY);
|
|
179
|
+
this.selectedElementBounds = this.originalElement.getBoundingClientRect();
|
|
180
|
+
this.screenshotModal.style.display = '';
|
|
181
|
+
// Hide the screenshot interface
|
|
179
182
|
this.showScreenshotTopBar = false;
|
|
180
183
|
this.showModal = false;
|
|
181
184
|
try {
|
|
@@ -188,8 +191,7 @@ export class FeedbackModal {
|
|
|
188
191
|
this.hasSelectedElement = false;
|
|
189
192
|
}
|
|
190
193
|
finally {
|
|
191
|
-
//
|
|
192
|
-
document.body.removeChild(clonedElementSelected);
|
|
194
|
+
// Show the modal again
|
|
193
195
|
this.showModal = true;
|
|
194
196
|
}
|
|
195
197
|
};
|
|
@@ -220,6 +222,7 @@ export class FeedbackModal {
|
|
|
220
222
|
this.showScreenshotTopBar = false;
|
|
221
223
|
this.showModal = false;
|
|
222
224
|
this.rating = undefined;
|
|
225
|
+
this.metadata = undefined;
|
|
223
226
|
this.fetchData = true;
|
|
224
227
|
this.emailPlaceholder = 'Email address (optional)';
|
|
225
228
|
this.errorMessage = 'Please try again later.';
|
|
@@ -236,6 +239,7 @@ export class FeedbackModal {
|
|
|
236
239
|
this.ratingStarsPlaceholder = 'How would you rate this page?';
|
|
237
240
|
this.sendButtonText = 'Send';
|
|
238
241
|
this.screenshotButtonText = 'Add a screenshot';
|
|
242
|
+
this.screenshotAttachedText = 'Screenshot attached';
|
|
239
243
|
this.screenshotTopbarText = 'Select an element on this page';
|
|
240
244
|
this.successMessage = '';
|
|
241
245
|
}
|
|
@@ -285,13 +289,23 @@ export class FeedbackModal {
|
|
|
285
289
|
y: window.scrollY,
|
|
286
290
|
width: window.innerWidth,
|
|
287
291
|
height: window.innerHeight,
|
|
292
|
+
allowTaint: true,
|
|
293
|
+
useCORS: true,
|
|
294
|
+
scale: 1,
|
|
288
295
|
})
|
|
289
296
|
.then((canvas) => {
|
|
297
|
+
const context = canvas.getContext('2d');
|
|
298
|
+
if (context && this.selectedElementBounds) {
|
|
299
|
+
// Use the same color as HTML highlight
|
|
300
|
+
context.strokeStyle = 'rgba(0, 123, 255, 0.8)'; // Example color
|
|
301
|
+
context.lineWidth = 3;
|
|
302
|
+
context.strokeRect(this.selectedElementBounds.left + window.scrollX, this.selectedElementBounds.top + window.scrollY, this.selectedElementBounds.width, this.selectedElementBounds.height);
|
|
303
|
+
}
|
|
290
304
|
const dataUrl = canvas.toDataURL();
|
|
291
305
|
resolve(dataUrl);
|
|
292
306
|
})
|
|
293
307
|
.catch((error) => {
|
|
294
|
-
console.error(error);
|
|
308
|
+
console.error('Failed to capture screenshot:', error);
|
|
295
309
|
reject(error);
|
|
296
310
|
});
|
|
297
311
|
});
|
|
@@ -306,6 +320,10 @@ export class FeedbackModal {
|
|
|
306
320
|
handleRatingChange(newRating) {
|
|
307
321
|
this.selectedRating = newRating;
|
|
308
322
|
}
|
|
323
|
+
// Remove the preview modal toggle function
|
|
324
|
+
// togglePreviewModal() {
|
|
325
|
+
// this.showPreviewModal = !this.showPreviewModal;
|
|
326
|
+
// }
|
|
309
327
|
render() {
|
|
310
328
|
return (h("div", { class: `feedback-modal-wrapper ${this.customFont ? 'feedback-modal-wrapper--custom-font' : ''}` }, this.showScreenshotMode && (h("div", { class: "feedback-modal-screenshot", ref: (el) => (this.screenshotModal = el), onMouseMove: this.handleMouseOverScreenShot }, h("div", { class: "feedback-modal-screenshot-element-selected", ref: (el) => (this.elementSelected = el), onClick: this.handleMouseClickedSelectedElement }), h("div", { class: "top-side", ref: (el) => (this.topSide = el) }), h("div", { class: "left-side", ref: (el) => (this.leftSide = el) }), h("div", { class: "bottom-side", ref: (el) => (this.bottomSide = el) }), h("div", { class: "right-side", ref: (el) => (this.rightSide = el) }), this.showScreenshotTopBar && (h("div", { class: "feedback-modal-screenshot-header", onClick: this.closeScreenShot }, h("span", null, this.screenshotTopbarText), h("span", { class: "feedback-modal-screenshot-close" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 24 24", fill: "none", stroke: "#191919", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", class: "feather feather-x" }, h("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), h("line", { x1: "6", y1: "6", x2: "18", y2: "18" }))))))), this.showModal && (h("div", { class: `feedback-overlay ${this.isAnimating ? 'feedback-overlay--visible' : ''}` })), this.showModal && (h("div", { class: `feedback-modal-content feedback-modal-content--${this.modalPosition} ${this.isAnimating ? 'feedback-modal-content--open' : ''}`, ref: (el) => (this.modalContent = el) }, h("div", { class: "feedback-modal-header" }, !this.formSuccess && !this.formError ? (h("span", null, this.modalTitle)) : this.formSuccess ? (h("span", null, this.modalTitleSuccess)) : (h("span", null, this.modalTitleError)), h("button", { class: "feedback-modal-close", onClick: this.close }, h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "22", viewBox: "0 0 24 24", fill: "none", stroke: "#191919", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", class: "feather feather-x" }, h("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), h("line", { x1: "6", y1: "6", x2: "18", y2: "18" })))), h("div", { class: "feedback-modal-body" }, !this.formSuccess && !this.formError ? (h("form", { onSubmit: this.handleSubmit }, !this.hideRating && (h("div", { class: "feedback-modal-rating" }, this.ratingMode === 'thumbs' ? (h("div", { class: "feedback-modal-rating-content" }, h("span", { class: "feedback-modal-input-heading" }, this.ratingPlaceholder), h("div", { class: "feedback-modal-rating-buttons feedback-modal-rating-buttons--thumbs" }, h("button", { title: "Yes", class: `feedback-modal-rating-button ${this.selectedRating === 1
|
|
311
329
|
? 'feedback-modal-rating-button--selected'
|
|
@@ -322,7 +340,7 @@ export class FeedbackModal {
|
|
|
322
340
|
: ''}`, onClick: (event) => {
|
|
323
341
|
event.preventDefault();
|
|
324
342
|
this.handleRatingChange(rating);
|
|
325
|
-
} }, h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "28", height: "28", viewBox: "0 0 24 24", fill: "none", stroke: "#5F6368", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("polygon", { points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" })))))))))), h("div", { class: "feedback-modal-text" }, h("textarea", { placeholder: this.messagePlaceholder, value: this.formMessage, onInput: (event) => this.handleMessageInput(event) })), !this.hideEmail && (h("div", { class: "feedback-modal-email" }, h("input", { placeholder: this.emailPlaceholder, type: "email", onInput: (event) => this.handleEmailInput(event), value: this.formEmail, required: this.isEmailRequired }))), h("div", { class: "feedback-verification" }, h("input", { type: "text", name: "verification", style: { display: 'none' }, onInput: (event) => this.handleVerification(event), value: this.formVerification })), !this.hidePrivacyPolicy && (h("div", { class: "feedback-modal-privacy" }, h("input", { type: "checkbox", id: "privacyPolicy", onChange: (ev) => this.handleCheckboxChange(ev), required: true }), h("span", { innerHTML: this.privacyPolicyText }))), h("div", { class: `feedback-modal-buttons ${this.hideScreenshotButton ? 'single' : ''}` }, !this.hideScreenshotButton && (h("button", { type: "button", class: `feedback-modal-button feedback-modal-button--screenshot ${this.encodedScreenshot ? 'feedback-modal-button--active' : ''}`, onClick: this.openScreenShot, disabled: this.sending }, h("svg", { xmlns: "http://www.w3.org/2000/svg", height: "24", viewBox: "0 -960 960 960", width: "24" }, h("path", { d: "M680-80v-120H560v-80h120v-120h80v120h120v80H760v120h-80ZM200-200v-200h80v120h120v80H200Zm0-360v-200h200v80H280v120h-80Zm480 0v-120H560v-80h200v200h-80Z" })), this.screenshotButtonText)), h("button", { class: "feedback-modal-button feedback-modal-button--submit", type: "submit", disabled: this.sending }, this.sendButtonText)))) : this.formSuccess && !this.formError ? (h("div", { class: "feedback-modal-success" }, h("p", { class: "feedback-modal-message" }, this.successMessage))) : this.formError && this.formErrorStatus == 404 ? (h("p", { class: "feedback-modal-message" }, this.errorMessage404)) : this.formError && this.formErrorStatus == 403 ? (h("p", { class: "feedback-modal-message" }, this.errorMessage403)) : this.formError ? (h("p", { class: "feedback-modal-message" }, this.errorMessage)) : (h("span", null))), h("div", { class: "feedback-modal-footer" }, h("div", { class: "feedback-logo", style: { display: this.whitelabel ? 'none' : 'block' } }, "Powered by", ' ', h("a", { target: "_blank", href: "https://pushfeedback.com" }, "PushFeedback.com")), this.footerText && (h("div", { class: "feedback-footer-text" }, h("span", { innerHTML: this.footerText }))))))));
|
|
343
|
+
} }, h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "28", height: "28", viewBox: "0 0 24 24", fill: "none", stroke: "#5F6368", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("polygon", { points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" })))))))))), h("div", { class: "feedback-modal-text" }, h("textarea", { placeholder: this.messagePlaceholder, value: this.formMessage, onInput: (event) => this.handleMessageInput(event) })), !this.hideEmail && (h("div", { class: "feedback-modal-email" }, h("input", { placeholder: this.emailPlaceholder, type: "email", onInput: (event) => this.handleEmailInput(event), value: this.formEmail, required: this.isEmailRequired }))), h("div", { class: "feedback-verification" }, h("input", { type: "text", name: "verification", style: { display: 'none' }, onInput: (event) => this.handleVerification(event), value: this.formVerification })), !this.hidePrivacyPolicy && (h("div", { class: "feedback-modal-privacy" }, h("input", { type: "checkbox", id: "privacyPolicy", onChange: (ev) => this.handleCheckboxChange(ev), required: true }), h("span", { innerHTML: this.privacyPolicyText }))), h("div", { class: `feedback-modal-buttons ${this.hideScreenshotButton ? 'single' : ''}` }, !this.hideScreenshotButton && (h("button", { type: "button", class: `feedback-modal-button feedback-modal-button--screenshot ${this.encodedScreenshot ? 'feedback-modal-button--active' : ''}`, onClick: this.openScreenShot, disabled: this.sending }, this.encodedScreenshot && (h("div", { class: "screenshot-preview" }, h("img", { src: this.encodedScreenshot, alt: "Screenshot Preview" }))), !this.encodedScreenshot && (h("svg", { xmlns: "http://www.w3.org/2000/svg", height: "24", viewBox: "0 -960 960 960", width: "24" }, h("path", { d: "M680-80v-120H560v-80h120v-120h80v120h120v80H760v120h-80ZM200-200v-200h80v120h120v80H200Zm0-360v-200h200v80H280v120h-80Zm480 0v-120H560v-80h200v200h-80Z" }))), this.encodedScreenshot ? this.screenshotAttachedText : this.screenshotButtonText)), h("button", { class: "feedback-modal-button feedback-modal-button--submit", type: "submit", disabled: this.sending }, this.sendButtonText)))) : this.formSuccess && !this.formError ? (h("div", { class: "feedback-modal-success" }, h("p", { class: "feedback-modal-message" }, this.successMessage))) : this.formError && this.formErrorStatus == 404 ? (h("p", { class: "feedback-modal-message" }, this.errorMessage404)) : this.formError && this.formErrorStatus == 403 ? (h("p", { class: "feedback-modal-message" }, this.errorMessage403)) : this.formError ? (h("p", { class: "feedback-modal-message" }, this.errorMessage)) : (h("span", null))), h("div", { class: "feedback-modal-footer" }, h("div", { class: "feedback-logo", style: { display: this.whitelabel ? 'none' : 'block' } }, "Powered by", ' ', h("a", { target: "_blank", href: "https://pushfeedback.com" }, "PushFeedback.com")), this.footerText && (h("div", { class: "feedback-footer-text" }, h("span", { innerHTML: this.footerText }))))))));
|
|
326
344
|
}
|
|
327
345
|
componentDidRender() {
|
|
328
346
|
if (this.showModal) {
|
|
@@ -604,6 +622,23 @@ export class FeedbackModal {
|
|
|
604
622
|
"attribute": "rating",
|
|
605
623
|
"reflect": false
|
|
606
624
|
},
|
|
625
|
+
"metadata": {
|
|
626
|
+
"type": "string",
|
|
627
|
+
"mutable": false,
|
|
628
|
+
"complexType": {
|
|
629
|
+
"original": "''",
|
|
630
|
+
"resolved": "\"\"",
|
|
631
|
+
"references": {}
|
|
632
|
+
},
|
|
633
|
+
"required": false,
|
|
634
|
+
"optional": false,
|
|
635
|
+
"docs": {
|
|
636
|
+
"tags": [],
|
|
637
|
+
"text": ""
|
|
638
|
+
},
|
|
639
|
+
"attribute": "metadata",
|
|
640
|
+
"reflect": false
|
|
641
|
+
},
|
|
607
642
|
"fetchData": {
|
|
608
643
|
"type": "boolean",
|
|
609
644
|
"mutable": false,
|
|
@@ -892,6 +927,24 @@ export class FeedbackModal {
|
|
|
892
927
|
"reflect": false,
|
|
893
928
|
"defaultValue": "'Add a screenshot'"
|
|
894
929
|
},
|
|
930
|
+
"screenshotAttachedText": {
|
|
931
|
+
"type": "string",
|
|
932
|
+
"mutable": false,
|
|
933
|
+
"complexType": {
|
|
934
|
+
"original": "string",
|
|
935
|
+
"resolved": "string",
|
|
936
|
+
"references": {}
|
|
937
|
+
},
|
|
938
|
+
"required": false,
|
|
939
|
+
"optional": false,
|
|
940
|
+
"docs": {
|
|
941
|
+
"tags": [],
|
|
942
|
+
"text": ""
|
|
943
|
+
},
|
|
944
|
+
"attribute": "screenshot-attached-text",
|
|
945
|
+
"reflect": false,
|
|
946
|
+
"defaultValue": "'Screenshot attached'"
|
|
947
|
+
},
|
|
895
948
|
"screenshotTopbarText": {
|
|
896
949
|
"type": "string",
|
|
897
950
|
"mutable": false,
|