pushfeedback 0.1.45 → 0.1.47
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 +8268 -0
- package/dist/cjs/index-b596cc3a.js +1551 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/loader.cjs.js +22 -0
- package/dist/cjs/pushfeedback.cjs.js +23 -0
- package/dist/collection/collection-manifest.json +13 -0
- package/dist/collection/components/feedback-button/feedback-button.css +75 -0
- package/dist/collection/components/feedback-button/feedback-button.js +671 -0
- package/dist/collection/components/feedback-modal/feedback-modal.css +389 -0
- package/dist/collection/components/feedback-modal/feedback-modal.js +864 -0
- package/dist/collection/index.js +1 -0
- package/dist/components/feedback-button.js +178 -0
- package/dist/components/feedback-modal.js +6 -0
- package/dist/{pushfeedback/feedback-modal.entry.js → components/feedback-modal2.js} +71 -46
- package/dist/components/index.js +3 -0
- package/dist/esm/feedback-button_2.entry.js +8263 -0
- package/dist/esm/index-deb00b84.js +1523 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/loader.js +18 -0
- package/dist/esm/polyfills/core-js.js +11 -0
- package/dist/esm/polyfills/css-shim.js +1 -0
- package/dist/esm/polyfills/dom.js +79 -0
- package/dist/esm/polyfills/es5-html-element.js +1 -0
- package/dist/esm/polyfills/index.js +34 -0
- package/dist/esm/polyfills/system.js +6 -0
- package/dist/esm/pushfeedback.js +18 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/pushfeedback/index.esm.js +0 -1
- package/dist/pushfeedback/p-4398a3ae.entry.js +22 -0
- package/dist/pushfeedback/p-90e8ba79.js +2 -0
- package/dist/pushfeedback/pushfeedback.css +1 -108
- package/dist/pushfeedback/pushfeedback.esm.js +1 -148
- package/dist/types/components/feedback-modal/feedback-modal.d.ts +1 -0
- package/dist/types/components.d.ts +2 -0
- package/package.json +1 -1
- package/dist/pushfeedback/app-globals-0f993ce5.js +0 -3
- package/dist/pushfeedback/css-shim-b7d3d95f.js +0 -4
- package/dist/pushfeedback/dom-64053c71.js +0 -73
- package/dist/pushfeedback/feedback-button.entry.js +0 -123
- package/dist/pushfeedback/index-6a05f159.js +0 -3371
- package/dist/pushfeedback/shadow-css-98135883.js +0 -387
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './components';
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { d as defineCustomElement$2 } from './feedback-modal2.js';
|
|
3
|
+
|
|
4
|
+
const feedbackButtonCss = ".feedback-button-content{cursor:pointer;max-width:fit-content;z-index:var(--feedback-button-z-index);font-family:var(--feedback-font-family)}.feedback-button-content--custom-font{font-family:inherit}.feedback-button-content--light{align-items:center;background-color:var(--feedback-button-light-bg-color);border-radius:var(--feedback-button-border-radius);box-shadow:rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px;box-sizing:border-box;color:var(--feedback-button-light-text-color);display:flex;font-size:var(--feedback-button-text-font-size);font-weight:var(--feedback-button-text-font-weight);padding:8px 15px}.feedback-button-content--dark{align-items:center;background-color:var(--feedback-button-dark-bg-color);border-radius:var(--feedback-button-border-radius);box-shadow:rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px;box-sizing:border-box;color:var(--feedback-button-dark-text-color);display:flex;font-weight:var(--feedback-button-text-font-weight);font-size:var(--feedback-button-text-font-size);padding:8px 15px}.icon-edit{stroke:var(--feedback-button-light-text-color)}.feedback-button-content--dark .icon-edit{stroke:var(--feedback-button-dark-text-color)}.feedback-button-content--bottom-right{bottom:10px;position:fixed;right:10px}.feedback-button-content--center-right{position:fixed;transform:rotate(-90deg) translateY(-50%);top:50%}.feedback-button-content--center-right.feedback-button-content--dark,.feedback-button-content--center-right.feedback-button-content--light{border-radius:4px;border-bottom-left-radius:0px;border-bottom-right-radius:0px}.feedback-button-content-icon{height:16px;margin-right:5px;width:16px}.feedback-button-content--center-right .feedback-button-content-icon{rotate:90deg}";
|
|
5
|
+
|
|
6
|
+
const FeedbackButton$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
this.__registerHost();
|
|
10
|
+
this.__attachShadow();
|
|
11
|
+
this.sessionId = "";
|
|
12
|
+
this.customFont = false;
|
|
13
|
+
this.errorMessage = "Please try again later.";
|
|
14
|
+
this.errorMessage403 = "The request URL does not match the one defined in PushFeedback for this project.";
|
|
15
|
+
this.errorMessage404 = "We could not find the provided project id in PushFeedback.";
|
|
16
|
+
this.modalTitle = 'Share your feedback';
|
|
17
|
+
this.modalTitleSuccess = 'Thanks for your feedback!';
|
|
18
|
+
this.modalTitleError = "Oops!";
|
|
19
|
+
this.modalPosition = 'center';
|
|
20
|
+
this.sendButtonText = 'Send';
|
|
21
|
+
this.successMessage = "";
|
|
22
|
+
this.project = '';
|
|
23
|
+
this.screenshotButtonText = 'Add a screenshot';
|
|
24
|
+
this.screenshotTopbarText = 'Select an element on this page';
|
|
25
|
+
this.hideEmail = false;
|
|
26
|
+
this.emailAddress = '';
|
|
27
|
+
this.emailPlaceholder = 'Email address (optional)';
|
|
28
|
+
this.messagePlaceholder = 'Comments';
|
|
29
|
+
this.hideRating = false;
|
|
30
|
+
this.rating = undefined;
|
|
31
|
+
this.ratingMode = 'thumbs';
|
|
32
|
+
this.ratingPlaceholder = 'Was this page helpful?';
|
|
33
|
+
this.ratingStarsPlaceholder = 'How would you rate this page?';
|
|
34
|
+
this.buttonStyle = 'default';
|
|
35
|
+
this.buttonPosition = 'default';
|
|
36
|
+
this.hideIcon = false;
|
|
37
|
+
this.hideScreenshotButton = false;
|
|
38
|
+
this.hidePrivacyPolicy = true;
|
|
39
|
+
this.privacyPolicyText = "I have read and expressly consent to the terms of the <a href='https://pushfeedback.com/privacy'>Privacy Policy</a>.";
|
|
40
|
+
this.fetchData = true;
|
|
41
|
+
}
|
|
42
|
+
componentWillLoad() {
|
|
43
|
+
if (!this.sessionId) {
|
|
44
|
+
let storedSessionId = localStorage.getItem('pushfeedback_sessionid');
|
|
45
|
+
if (!storedSessionId) {
|
|
46
|
+
storedSessionId = this.generateRandomSessionId();
|
|
47
|
+
localStorage.setItem('pushfeedback_sessionid', storedSessionId);
|
|
48
|
+
this.sessionId = storedSessionId;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
componentDidLoad() {
|
|
53
|
+
if (this.buttonPosition === 'center-right') {
|
|
54
|
+
const buttonContent = this.el.shadowRoot.querySelector('.feedback-button-content');
|
|
55
|
+
let adjustement = 0;
|
|
56
|
+
if (this.isSafariBrowser()) {
|
|
57
|
+
adjustement = 10;
|
|
58
|
+
}
|
|
59
|
+
buttonContent.style.right = `${(buttonContent.offsetWidth + adjustement) / 2 * -1}px`;
|
|
60
|
+
}
|
|
61
|
+
if (!this.customFont) {
|
|
62
|
+
this.loadInterFont();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
connectedCallback() {
|
|
66
|
+
this.feedbackModal = document.createElement('feedback-modal');
|
|
67
|
+
const props = [
|
|
68
|
+
'customFont',
|
|
69
|
+
'errorMessage',
|
|
70
|
+
'errorMessage403',
|
|
71
|
+
'errorMessage404',
|
|
72
|
+
'modalTitle',
|
|
73
|
+
'modalTitleSuccess',
|
|
74
|
+
'modalTitleError',
|
|
75
|
+
'modalPosition',
|
|
76
|
+
'sendButtonText',
|
|
77
|
+
'successMessage',
|
|
78
|
+
'project',
|
|
79
|
+
'screenshotButtonText',
|
|
80
|
+
'screenshotTopbarText',
|
|
81
|
+
'hideEmail',
|
|
82
|
+
'emailAddress',
|
|
83
|
+
'emailPlaceholder',
|
|
84
|
+
'messagePlaceholder',
|
|
85
|
+
'hideRating',
|
|
86
|
+
'rating',
|
|
87
|
+
'ratingMode',
|
|
88
|
+
'ratingPlaceholder',
|
|
89
|
+
'ratingStarsPlaceholder',
|
|
90
|
+
'hideScreenshotButton',
|
|
91
|
+
'hidePrivacyPolicy',
|
|
92
|
+
'privacyPolicyText',
|
|
93
|
+
'fetchData'
|
|
94
|
+
];
|
|
95
|
+
props.forEach(prop => {
|
|
96
|
+
this.feedbackModal[prop] = this[prop];
|
|
97
|
+
});
|
|
98
|
+
document.body.appendChild(this.feedbackModal);
|
|
99
|
+
}
|
|
100
|
+
disconnectedCallback() {
|
|
101
|
+
document.body.removeChild(this.feedbackModal);
|
|
102
|
+
}
|
|
103
|
+
generateRandomSessionId(length = 16) {
|
|
104
|
+
return Math.random().toString(36).substr(2, length);
|
|
105
|
+
}
|
|
106
|
+
isSafariBrowser() {
|
|
107
|
+
const isSafari = /safari/i.test(navigator.userAgent) && !/chrome/i.test(navigator.userAgent);
|
|
108
|
+
return isSafari;
|
|
109
|
+
}
|
|
110
|
+
loadInterFont() {
|
|
111
|
+
const link = document.createElement('link');
|
|
112
|
+
link.href = 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500&display=swap';
|
|
113
|
+
link.rel = 'stylesheet';
|
|
114
|
+
document.head.appendChild(link);
|
|
115
|
+
}
|
|
116
|
+
showModal() {
|
|
117
|
+
this.feedbackModal.showModal = true;
|
|
118
|
+
}
|
|
119
|
+
render() {
|
|
120
|
+
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' : ''}`, 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))));
|
|
121
|
+
}
|
|
122
|
+
get el() { return this; }
|
|
123
|
+
static get style() { return feedbackButtonCss; }
|
|
124
|
+
}, [1, "feedback-button", {
|
|
125
|
+
"sessionId": [1537, "session-id"],
|
|
126
|
+
"customFont": [4, "custom-font"],
|
|
127
|
+
"errorMessage": [1, "error-message"],
|
|
128
|
+
"errorMessage403": [1, "error-message-4-0-3"],
|
|
129
|
+
"errorMessage404": [1, "error-message-4-0-4"],
|
|
130
|
+
"modalTitle": [1, "modal-title"],
|
|
131
|
+
"modalTitleSuccess": [1, "modal-title-success"],
|
|
132
|
+
"modalTitleError": [1, "modal-title-error"],
|
|
133
|
+
"modalPosition": [1, "modal-position"],
|
|
134
|
+
"sendButtonText": [1, "send-button-text"],
|
|
135
|
+
"successMessage": [1, "success-message"],
|
|
136
|
+
"project": [1],
|
|
137
|
+
"screenshotButtonText": [1, "screenshot-button-text"],
|
|
138
|
+
"screenshotTopbarText": [1, "screenshot-topbar-text"],
|
|
139
|
+
"hideEmail": [4, "hide-email"],
|
|
140
|
+
"emailAddress": [1, "email-address"],
|
|
141
|
+
"emailPlaceholder": [1, "email-placeholder"],
|
|
142
|
+
"messagePlaceholder": [1, "message-placeholder"],
|
|
143
|
+
"hideRating": [4, "hide-rating"],
|
|
144
|
+
"rating": [2],
|
|
145
|
+
"ratingMode": [1, "rating-mode"],
|
|
146
|
+
"ratingPlaceholder": [1, "rating-placeholder"],
|
|
147
|
+
"ratingStarsPlaceholder": [1, "rating-stars-placeholder"],
|
|
148
|
+
"buttonStyle": [1, "button-style"],
|
|
149
|
+
"buttonPosition": [1, "button-position"],
|
|
150
|
+
"hideIcon": [4, "hide-icon"],
|
|
151
|
+
"hideScreenshotButton": [4, "hide-screenshot-button"],
|
|
152
|
+
"hidePrivacyPolicy": [4, "hide-privacy-policy"],
|
|
153
|
+
"privacyPolicyText": [1, "privacy-policy-text"],
|
|
154
|
+
"fetchData": [4, "fetch-data"]
|
|
155
|
+
}]);
|
|
156
|
+
function defineCustomElement$1() {
|
|
157
|
+
if (typeof customElements === "undefined") {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
const components = ["feedback-button", "feedback-modal"];
|
|
161
|
+
components.forEach(tagName => { switch (tagName) {
|
|
162
|
+
case "feedback-button":
|
|
163
|
+
if (!customElements.get(tagName)) {
|
|
164
|
+
customElements.define(tagName, FeedbackButton$1);
|
|
165
|
+
}
|
|
166
|
+
break;
|
|
167
|
+
case "feedback-modal":
|
|
168
|
+
if (!customElements.get(tagName)) {
|
|
169
|
+
defineCustomElement$2();
|
|
170
|
+
}
|
|
171
|
+
break;
|
|
172
|
+
} });
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
const FeedbackButton = FeedbackButton$1;
|
|
176
|
+
const defineCustomElement = defineCustomElement$1;
|
|
177
|
+
|
|
178
|
+
export { FeedbackButton, defineCustomElement };
|
|
@@ -1,44 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
|
|
2
2
|
|
|
3
3
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
4
4
|
|
|
5
|
-
function getDefaultExportFromCjs (x) {
|
|
6
|
-
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
5
|
function createCommonjsModule(fn, basedir, module) {
|
|
10
6
|
return module = {
|
|
11
7
|
path: basedir,
|
|
12
8
|
exports: {},
|
|
13
9
|
require: function (path, base) {
|
|
14
|
-
return commonjsRequire(
|
|
10
|
+
return commonjsRequire();
|
|
15
11
|
}
|
|
16
12
|
}, fn(module, module.exports), module.exports;
|
|
17
13
|
}
|
|
18
14
|
|
|
19
|
-
function getDefaultExportFromNamespaceIfPresent (n) {
|
|
20
|
-
return n && Object.prototype.hasOwnProperty.call(n, 'default') ? n['default'] : n;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
function getDefaultExportFromNamespaceIfNotNamed (n) {
|
|
24
|
-
return n && Object.prototype.hasOwnProperty.call(n, 'default') && Object.keys(n).length === 1 ? n['default'] : n;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function getAugmentedNamespace(n) {
|
|
28
|
-
if (n.__esModule) return n;
|
|
29
|
-
var a = Object.defineProperty({}, '__esModule', {value: true});
|
|
30
|
-
Object.keys(n).forEach(function (k) {
|
|
31
|
-
var d = Object.getOwnPropertyDescriptor(n, k);
|
|
32
|
-
Object.defineProperty(a, k, d.get ? d : {
|
|
33
|
-
enumerable: true,
|
|
34
|
-
get: function () {
|
|
35
|
-
return n[k];
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
return a;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
15
|
function commonjsRequire () {
|
|
43
16
|
throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
|
|
44
17
|
}
|
|
@@ -50,11 +23,8 @@ var html2canvas = createCommonjsModule(function (module, exports) {
|
|
|
50
23
|
* Released under MIT License
|
|
51
24
|
*/
|
|
52
25
|
(function (global, factory) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.html2canvas = factory());
|
|
56
|
-
}(commonjsGlobal, (function () { 'use strict';
|
|
57
|
-
|
|
26
|
+
module.exports = factory() ;
|
|
27
|
+
}(commonjsGlobal, (function () {
|
|
58
28
|
/*! *****************************************************************************
|
|
59
29
|
Copyright (c) Microsoft Corporation.
|
|
60
30
|
|
|
@@ -3209,8 +3179,7 @@ var html2canvas = createCommonjsModule(function (module, exports) {
|
|
|
3209
3179
|
// doesn't support 3D transforms at the moment
|
|
3210
3180
|
var matrix3d = function (args) {
|
|
3211
3181
|
var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; });
|
|
3212
|
-
var a1 = values[0], b1 = values[1];
|
|
3213
|
-
return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;
|
|
3182
|
+
var a1 = values[0], b1 = values[1]; var a2 = values[4], b2 = values[5]; var a4 = values[12], b4 = values[13]; return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;
|
|
3214
3183
|
};
|
|
3215
3184
|
var SUPPORTED_TRANSFORM_FUNCTIONS = {
|
|
3216
3185
|
matrix: matrix,
|
|
@@ -4794,7 +4763,6 @@ var html2canvas = createCommonjsModule(function (module, exports) {
|
|
|
4794
4763
|
container.flags |= 8 /* IS_LIST_OWNER */;
|
|
4795
4764
|
}
|
|
4796
4765
|
parent.elements.push(container);
|
|
4797
|
-
childNode.slot;
|
|
4798
4766
|
if (childNode.shadowRoot) {
|
|
4799
4767
|
parseNodeTree(context, childNode.shadowRoot, container, root);
|
|
4800
4768
|
}
|
|
@@ -7876,11 +7844,13 @@ var html2canvas = createCommonjsModule(function (module, exports) {
|
|
|
7876
7844
|
//# sourceMappingURL=html2canvas.js.map
|
|
7877
7845
|
});
|
|
7878
7846
|
|
|
7879
|
-
const feedbackModalCss = ".text-center{flex-grow:1;text-align:center}.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;position:fixed;top:0;width:100%;z-index:var(--feedback-modal-screnshot-z-index)}.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;
|
|
7847
|
+
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;position:fixed;top:0;width:100%;z-index:var(--feedback-modal-screnshot-z-index)}.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%);width:100%;z-index:var(--feedback-modal-content-z-index)}.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{align-items:center;display:flex;justify-content:center;margin-top:5px}.feedback-logo a{margin-left:3px}.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:600px}.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:300px;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:300px;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}}";
|
|
7880
7848
|
|
|
7881
|
-
const FeedbackModal = class {
|
|
7882
|
-
constructor(
|
|
7883
|
-
|
|
7849
|
+
const FeedbackModal = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
7850
|
+
constructor() {
|
|
7851
|
+
super();
|
|
7852
|
+
this.__registerHost();
|
|
7853
|
+
this.__attachShadow();
|
|
7884
7854
|
this.onScrollDebounced = () => {
|
|
7885
7855
|
clearTimeout(this.scrollTimeout);
|
|
7886
7856
|
this.scrollTimeout = setTimeout(() => {
|
|
@@ -8012,7 +7982,6 @@ const FeedbackModal = class {
|
|
|
8012
7982
|
// Right
|
|
8013
7983
|
this.rightSide.style.position = "absolute";
|
|
8014
7984
|
this.rightSide.style.left = `${rect.right + borderOffset}px`;
|
|
8015
|
-
;
|
|
8016
7985
|
this.rightSide.style.top = '0px';
|
|
8017
7986
|
this.rightSide.style.width = '100%';
|
|
8018
7987
|
this.rightSide.style.height = '100vh';
|
|
@@ -8065,6 +8034,7 @@ const FeedbackModal = class {
|
|
|
8065
8034
|
this.isPrivacyChecked = false;
|
|
8066
8035
|
this.whitelabel = false;
|
|
8067
8036
|
this.selectedRating = 0;
|
|
8037
|
+
this.customFont = false;
|
|
8068
8038
|
this.errorMessage = "Please try again later.";
|
|
8069
8039
|
this.errorMessage403 = "The request URL does not match the one defined in PushFeedback for this project.";
|
|
8070
8040
|
this.errorMessage404 = "We could not find the provided project ID in PushFeedback.";
|
|
@@ -8158,7 +8128,7 @@ const FeedbackModal = class {
|
|
|
8158
8128
|
this.selectedRating = newRating;
|
|
8159
8129
|
}
|
|
8160
8130
|
render() {
|
|
8161
|
-
return (h("div", { class: 'feedback-modal-wrapper' }, 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.showModal && (h("div", { class: `feedback-modal-content feedback-modal-content--${this.modalPosition} ${this.showModal ? '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 ? 'feedback-modal-rating-button--selected' : ''}`, onClick: (event) => {
|
|
8131
|
+
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.showModal && (h("div", { class: `feedback-modal-content feedback-modal-content--${this.modalPosition} ${this.showModal ? '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 ? 'feedback-modal-rating-button--selected' : ''}`, onClick: (event) => {
|
|
8162
8132
|
event.preventDefault();
|
|
8163
8133
|
this.handleRatingChange(1);
|
|
8164
8134
|
} }, h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "#5F6368", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("path", { d: "M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3" }))), h("button", { title: "No", class: `feedback-modal-rating-button ${this.selectedRating === 5 ? 'feedback-modal-rating-button--selected' : ''}`, onClick: (event) => {
|
|
@@ -8169,7 +8139,62 @@ const FeedbackModal = class {
|
|
|
8169
8139
|
this.handleRatingChange(rating);
|
|
8170
8140
|
} }, 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 }))), 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("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", style: { display: this.whitelabel ? 'none' : 'block' } }, h("div", { class: "feedback-logo" }, "Powered by ", h("a", { target: "_blank", href: "https://pushfeedback.com" }, "PushFeedback.com")))))));
|
|
8171
8141
|
}
|
|
8172
|
-
}
|
|
8173
|
-
|
|
8142
|
+
static get style() { return feedbackModalCss; }
|
|
8143
|
+
}, [1, "feedback-modal", {
|
|
8144
|
+
"customFont": [4, "custom-font"],
|
|
8145
|
+
"errorMessage": [1, "error-message"],
|
|
8146
|
+
"errorMessage403": [1, "error-message-4-0-3"],
|
|
8147
|
+
"errorMessage404": [1, "error-message-4-0-4"],
|
|
8148
|
+
"modalTitle": [1, "modal-title"],
|
|
8149
|
+
"modalTitleSuccess": [1, "modal-title-success"],
|
|
8150
|
+
"modalTitleError": [1, "modal-title-error"],
|
|
8151
|
+
"modalPosition": [1, "modal-position"],
|
|
8152
|
+
"sendButtonText": [1, "send-button-text"],
|
|
8153
|
+
"successMessage": [1, "success-message"],
|
|
8154
|
+
"project": [1],
|
|
8155
|
+
"screenshotButtonText": [1, "screenshot-button-text"],
|
|
8156
|
+
"screenshotTopbarText": [1, "screenshot-topbar-text"],
|
|
8157
|
+
"hideEmail": [4, "hide-email"],
|
|
8158
|
+
"emailAddress": [1, "email-address"],
|
|
8159
|
+
"emailPlaceholder": [1, "email-placeholder"],
|
|
8160
|
+
"messagePlaceholder": [1, "message-placeholder"],
|
|
8161
|
+
"hideRating": [4, "hide-rating"],
|
|
8162
|
+
"rating": [2],
|
|
8163
|
+
"ratingMode": [1, "rating-mode"],
|
|
8164
|
+
"ratingPlaceholder": [1, "rating-placeholder"],
|
|
8165
|
+
"ratingStarsPlaceholder": [1, "rating-stars-placeholder"],
|
|
8166
|
+
"showModal": [1540, "show-modal"],
|
|
8167
|
+
"showScreenshotMode": [1540, "show-screenshot-mode"],
|
|
8168
|
+
"showScreenshotTopBar": [1540, "show-screenshot-top-bar"],
|
|
8169
|
+
"hasSelectedElement": [1540, "has-selected-element"],
|
|
8170
|
+
"hideScreenshotButton": [4, "hide-screenshot-button"],
|
|
8171
|
+
"hidePrivacyPolicy": [4, "hide-privacy-policy"],
|
|
8172
|
+
"privacyPolicyText": [1, "privacy-policy-text"],
|
|
8173
|
+
"fetchData": [4, "fetch-data"],
|
|
8174
|
+
"sending": [32],
|
|
8175
|
+
"formMessage": [32],
|
|
8176
|
+
"formEmail": [32],
|
|
8177
|
+
"formSuccess": [32],
|
|
8178
|
+
"formVerification": [32],
|
|
8179
|
+
"formError": [32],
|
|
8180
|
+
"formErrorStatus": [32],
|
|
8181
|
+
"encodedScreenshot": [32],
|
|
8182
|
+
"isPrivacyChecked": [32],
|
|
8183
|
+
"whitelabel": [32],
|
|
8184
|
+
"selectedRating": [32]
|
|
8185
|
+
}]);
|
|
8186
|
+
function defineCustomElement() {
|
|
8187
|
+
if (typeof customElements === "undefined") {
|
|
8188
|
+
return;
|
|
8189
|
+
}
|
|
8190
|
+
const components = ["feedback-modal"];
|
|
8191
|
+
components.forEach(tagName => { switch (tagName) {
|
|
8192
|
+
case "feedback-modal":
|
|
8193
|
+
if (!customElements.get(tagName)) {
|
|
8194
|
+
customElements.define(tagName, FeedbackModal);
|
|
8195
|
+
}
|
|
8196
|
+
break;
|
|
8197
|
+
} });
|
|
8198
|
+
}
|
|
8174
8199
|
|
|
8175
|
-
export { FeedbackModal as
|
|
8200
|
+
export { FeedbackModal as F, defineCustomElement as d };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { setAssetPath, setNonce, setPlatformOptions } from '@stencil/core/internal/client';
|
|
2
|
+
export { FeedbackButton, defineCustomElement as defineCustomElementFeedbackButton } from './feedback-button.js';
|
|
3
|
+
export { FeedbackModal, defineCustomElement as defineCustomElementFeedbackModal } from './feedback-modal.js';
|