pushfeedback 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/feedback-button_2.cjs.entry.js +1024 -0
  3. package/dist/cjs/index-ecaab1ef.js +1466 -0
  4. package/dist/cjs/index.cjs.js +2 -0
  5. package/dist/cjs/loader.cjs.js +21 -0
  6. package/dist/cjs/pushfeedback.cjs.js +19 -0
  7. package/dist/collection/collection-manifest.json +13 -0
  8. package/dist/collection/components/feedback-button/feedback-button.css +16 -0
  9. package/dist/collection/components/feedback-button/feedback-button.js +263 -0
  10. package/dist/collection/components/feedback-modal/feedback-modal.css +209 -0
  11. package/dist/collection/components/feedback-modal/feedback-modal.js +462 -0
  12. package/dist/collection/index.js +1 -0
  13. package/dist/components/feedback-button.d.ts +11 -0
  14. package/dist/components/feedback-button.js +88 -0
  15. package/dist/components/feedback-modal.d.ts +11 -0
  16. package/dist/components/feedback-modal.js +6 -0
  17. package/dist/components/feedback-modal2.js +1007 -0
  18. package/dist/components/index.d.ts +23 -0
  19. package/dist/components/index.js +3 -0
  20. package/dist/esm/feedback-button_2.entry.js +1019 -0
  21. package/dist/esm/index-4051fc1e.js +1440 -0
  22. package/dist/esm/index.js +1 -0
  23. package/dist/esm/loader.js +17 -0
  24. package/dist/esm/polyfills/core-js.js +11 -0
  25. package/dist/esm/polyfills/css-shim.js +1 -0
  26. package/dist/esm/polyfills/dom.js +79 -0
  27. package/dist/esm/polyfills/es5-html-element.js +1 -0
  28. package/dist/esm/polyfills/index.js +34 -0
  29. package/dist/esm/polyfills/system.js +6 -0
  30. package/dist/esm/pushfeedback.js +17 -0
  31. package/dist/index.cjs.js +1 -0
  32. package/dist/index.js +1 -0
  33. package/dist/pushfeedback/index.esm.js +0 -0
  34. package/dist/pushfeedback/p-a5896889.entry.js +1 -0
  35. package/dist/pushfeedback/p-e53ad7c2.js +2 -0
  36. package/dist/pushfeedback/pushfeedback.css +1 -0
  37. package/dist/pushfeedback/pushfeedback.esm.js +1 -0
  38. package/dist/types/components/feedback-button/feedback-button.d.ts +18 -0
  39. package/dist/types/components/feedback-modal/feedback-modal.d.ts +40 -0
  40. package/dist/types/components.d.ts +100 -0
  41. package/dist/types/index.d.ts +1 -0
  42. package/dist/types/stencil-public-runtime.d.ts +1581 -0
  43. package/loader/cdn.js +3 -0
  44. package/loader/index.cjs.js +3 -0
  45. package/loader/index.d.ts +12 -0
  46. package/loader/index.es2017.js +3 -0
  47. package/loader/index.js +4 -0
  48. package/loader/package.json +11 -0
  49. package/package.json +39 -0
  50. package/readme.md +75 -0
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-ecaab1ef.js');
6
+
7
+ /*
8
+ Stencil Client Patch Esm v2.20.0 | MIT Licensed | https://stenciljs.com
9
+ */
10
+ const patchEsm = () => {
11
+ return index.promiseResolve();
12
+ };
13
+
14
+ const defineCustomElements = (win, options) => {
15
+ if (typeof window === 'undefined') return Promise.resolve();
16
+ return patchEsm().then(() => {
17
+ return index.bootstrapLazy([["feedback-button_2.cjs",[[1,"feedback-button",{"modalTitle":[1,"modal-title"],"successModalTitle":[1,"success-modal-title"],"errorModalTitle":[1,"error-modal-title"],"modalPosition":[1,"modal-position"],"sendButtonText":[1,"send-button-text"],"project":[1],"screenshotButtonTooltipText":[1,"screenshot-button-tooltip-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"email":[1],"emailPlaceholder":[1,"email-placeholder"],"messagePlaceholder":[1,"message-placeholder"],"feedbackModal":[32]}],[1,"feedback-modal",{"modalTitle":[1,"modal-title"],"successModalTitle":[1,"success-modal-title"],"errorModalTitle":[1,"error-modal-title"],"modalPosition":[1,"modal-position"],"sendButtonText":[1,"send-button-text"],"project":[1],"screenshotButtonTooltipText":[1,"screenshot-button-tooltip-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"email":[1],"emailPlaceholder":[1,"email-placeholder"],"messagePlaceholder":[1,"message-placeholder"],"showModal":[1540,"show-modal"],"showScreenshotMode":[1540,"show-screenshot-mode"],"hasSelectedElement":[1540,"has-selected-element"],"sending":[32],"formMessage":[32],"formEmail":[32],"formSuccess":[32],"formError":[32],"encodedScreenshot":[32]}]]]], options);
18
+ });
19
+ };
20
+
21
+ exports.defineCustomElements = defineCustomElements;
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ const index = require('./index-ecaab1ef.js');
4
+
5
+ /*
6
+ Stencil Client Patch Browser v2.20.0 | MIT Licensed | https://stenciljs.com
7
+ */
8
+ const patchBrowser = () => {
9
+ const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('pushfeedback.cjs.js', document.baseURI).href));
10
+ const opts = {};
11
+ if (importMeta !== '') {
12
+ opts.resourcesUrl = new URL('.', importMeta).href;
13
+ }
14
+ return index.promiseResolve(opts);
15
+ };
16
+
17
+ patchBrowser().then(options => {
18
+ return index.bootstrapLazy([["feedback-button_2.cjs",[[1,"feedback-button",{"modalTitle":[1,"modal-title"],"successModalTitle":[1,"success-modal-title"],"errorModalTitle":[1,"error-modal-title"],"modalPosition":[1,"modal-position"],"sendButtonText":[1,"send-button-text"],"project":[1],"screenshotButtonTooltipText":[1,"screenshot-button-tooltip-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"email":[1],"emailPlaceholder":[1,"email-placeholder"],"messagePlaceholder":[1,"message-placeholder"],"feedbackModal":[32]}],[1,"feedback-modal",{"modalTitle":[1,"modal-title"],"successModalTitle":[1,"success-modal-title"],"errorModalTitle":[1,"error-modal-title"],"modalPosition":[1,"modal-position"],"sendButtonText":[1,"send-button-text"],"project":[1],"screenshotButtonTooltipText":[1,"screenshot-button-tooltip-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"email":[1],"emailPlaceholder":[1,"email-placeholder"],"messagePlaceholder":[1,"message-placeholder"],"showModal":[1540,"show-modal"],"showScreenshotMode":[1540,"show-screenshot-mode"],"hasSelectedElement":[1540,"has-selected-element"],"sending":[32],"formMessage":[32],"formEmail":[32],"formSuccess":[32],"formError":[32],"encodedScreenshot":[32]}]]]], options);
19
+ });
@@ -0,0 +1,13 @@
1
+ {
2
+ "entries": [
3
+ "./components/feedback-modal/feedback-modal.js",
4
+ "./components/feedback-button/feedback-button.js"
5
+ ],
6
+ "compiler": {
7
+ "name": "@stencil/core",
8
+ "version": "2.20.0",
9
+ "typescriptVersion": "4.8.4"
10
+ },
11
+ "collections": [],
12
+ "bundles": []
13
+ }
@@ -0,0 +1,16 @@
1
+ .feedback-button-content {
2
+ cursor: pointer;
3
+ background-color: var(--feedback-button-bg-color);
4
+ border: 1px solid var(--feedback-button-border-color);
5
+ border-radius: var(--feedback-button-border-radius);
6
+ color: var(--feedback-button-text-color);
7
+ cursor: pointer;
8
+ font-size: var(--feedback-modal-button-font-size);
9
+ padding: 5px 10px;
10
+ }
11
+
12
+ .feedback-button-content:hover {
13
+ color: var(--feedback-button-text-color-active);
14
+ background-color: var(--feedback-button-bg-color-active);
15
+ border: 1px solid var(--feedback-button-border-color-active);
16
+ }
@@ -0,0 +1,263 @@
1
+ import { Host, h } from '@stencil/core';
2
+ export class FeedbackButton {
3
+ constructor() {
4
+ this.feedbackModal = undefined;
5
+ this.modalTitle = 'Share your feedback';
6
+ this.successModalTitle = 'Thanks for your feedback!';
7
+ this.errorModalTitle = "Oops! We didn't receive your feedback. Please try again later.";
8
+ this.modalPosition = 'center';
9
+ this.sendButtonText = 'Send';
10
+ this.project = '';
11
+ this.screenshotButtonTooltipText = 'Take a Screenshot';
12
+ this.screenshotTopbarText = 'SELECT AN ELEMENT ON THE PAGE';
13
+ this.email = '';
14
+ this.emailPlaceholder = 'Email address (optional)';
15
+ this.messagePlaceholder = 'How could this page be more helpful?';
16
+ }
17
+ componentDidLoad() {
18
+ this.feedbackModal.showModal = false;
19
+ }
20
+ showModal() {
21
+ this.feedbackModal.showModal = true;
22
+ }
23
+ render() {
24
+ const propKeys = [
25
+ 'modalTitle',
26
+ 'successModalTitle',
27
+ 'errorModalTitle',
28
+ 'modalPosition',
29
+ 'sendButtonText',
30
+ 'project',
31
+ 'screenshotButtonTooltipText',
32
+ 'screenshotTopbarText',
33
+ 'email',
34
+ 'emailPlaceholder',
35
+ 'messagePlaceholder',
36
+ 'showModal',
37
+ ];
38
+ let feedbackModalProps = {};
39
+ propKeys.forEach((key) => {
40
+ feedbackModalProps[key] = this[key];
41
+ });
42
+ return (h(Host, null, h("a", { class: "feedback-button-content", onClick: () => this.showModal() }, h("slot", null)), h("feedback-modal", Object.assign({}, feedbackModalProps, { ref: (el) => this.feedbackModal = el }))));
43
+ }
44
+ static get is() { return "feedback-button"; }
45
+ static get encapsulation() { return "shadow"; }
46
+ static get originalStyleUrls() {
47
+ return {
48
+ "$": ["feedback-button.css"]
49
+ };
50
+ }
51
+ static get styleUrls() {
52
+ return {
53
+ "$": ["feedback-button.css"]
54
+ };
55
+ }
56
+ static get properties() {
57
+ return {
58
+ "modalTitle": {
59
+ "type": "string",
60
+ "mutable": false,
61
+ "complexType": {
62
+ "original": "string",
63
+ "resolved": "string",
64
+ "references": {}
65
+ },
66
+ "required": false,
67
+ "optional": false,
68
+ "docs": {
69
+ "tags": [],
70
+ "text": ""
71
+ },
72
+ "attribute": "modal-title",
73
+ "reflect": false,
74
+ "defaultValue": "'Share your feedback'"
75
+ },
76
+ "successModalTitle": {
77
+ "type": "string",
78
+ "mutable": false,
79
+ "complexType": {
80
+ "original": "string",
81
+ "resolved": "string",
82
+ "references": {}
83
+ },
84
+ "required": false,
85
+ "optional": false,
86
+ "docs": {
87
+ "tags": [],
88
+ "text": ""
89
+ },
90
+ "attribute": "success-modal-title",
91
+ "reflect": false,
92
+ "defaultValue": "'Thanks for your feedback!'"
93
+ },
94
+ "errorModalTitle": {
95
+ "type": "string",
96
+ "mutable": false,
97
+ "complexType": {
98
+ "original": "string",
99
+ "resolved": "string",
100
+ "references": {}
101
+ },
102
+ "required": false,
103
+ "optional": false,
104
+ "docs": {
105
+ "tags": [],
106
+ "text": ""
107
+ },
108
+ "attribute": "error-modal-title",
109
+ "reflect": false,
110
+ "defaultValue": "\"Oops! We didn't receive your feedback. Please try again later.\""
111
+ },
112
+ "modalPosition": {
113
+ "type": "string",
114
+ "mutable": false,
115
+ "complexType": {
116
+ "original": "string",
117
+ "resolved": "string",
118
+ "references": {}
119
+ },
120
+ "required": false,
121
+ "optional": false,
122
+ "docs": {
123
+ "tags": [],
124
+ "text": ""
125
+ },
126
+ "attribute": "modal-position",
127
+ "reflect": false,
128
+ "defaultValue": "'center'"
129
+ },
130
+ "sendButtonText": {
131
+ "type": "string",
132
+ "mutable": false,
133
+ "complexType": {
134
+ "original": "string",
135
+ "resolved": "string",
136
+ "references": {}
137
+ },
138
+ "required": false,
139
+ "optional": false,
140
+ "docs": {
141
+ "tags": [],
142
+ "text": ""
143
+ },
144
+ "attribute": "send-button-text",
145
+ "reflect": false,
146
+ "defaultValue": "'Send'"
147
+ },
148
+ "project": {
149
+ "type": "string",
150
+ "mutable": false,
151
+ "complexType": {
152
+ "original": "string",
153
+ "resolved": "string",
154
+ "references": {}
155
+ },
156
+ "required": false,
157
+ "optional": false,
158
+ "docs": {
159
+ "tags": [],
160
+ "text": ""
161
+ },
162
+ "attribute": "project",
163
+ "reflect": false,
164
+ "defaultValue": "''"
165
+ },
166
+ "screenshotButtonTooltipText": {
167
+ "type": "string",
168
+ "mutable": false,
169
+ "complexType": {
170
+ "original": "string",
171
+ "resolved": "string",
172
+ "references": {}
173
+ },
174
+ "required": false,
175
+ "optional": false,
176
+ "docs": {
177
+ "tags": [],
178
+ "text": ""
179
+ },
180
+ "attribute": "screenshot-button-tooltip-text",
181
+ "reflect": false,
182
+ "defaultValue": "'Take a Screenshot'"
183
+ },
184
+ "screenshotTopbarText": {
185
+ "type": "string",
186
+ "mutable": false,
187
+ "complexType": {
188
+ "original": "string",
189
+ "resolved": "string",
190
+ "references": {}
191
+ },
192
+ "required": false,
193
+ "optional": false,
194
+ "docs": {
195
+ "tags": [],
196
+ "text": ""
197
+ },
198
+ "attribute": "screenshot-topbar-text",
199
+ "reflect": false,
200
+ "defaultValue": "'SELECT AN ELEMENT ON THE PAGE'"
201
+ },
202
+ "email": {
203
+ "type": "string",
204
+ "mutable": false,
205
+ "complexType": {
206
+ "original": "string",
207
+ "resolved": "string",
208
+ "references": {}
209
+ },
210
+ "required": false,
211
+ "optional": false,
212
+ "docs": {
213
+ "tags": [],
214
+ "text": ""
215
+ },
216
+ "attribute": "email",
217
+ "reflect": false,
218
+ "defaultValue": "''"
219
+ },
220
+ "emailPlaceholder": {
221
+ "type": "string",
222
+ "mutable": false,
223
+ "complexType": {
224
+ "original": "string",
225
+ "resolved": "string",
226
+ "references": {}
227
+ },
228
+ "required": false,
229
+ "optional": false,
230
+ "docs": {
231
+ "tags": [],
232
+ "text": ""
233
+ },
234
+ "attribute": "email-placeholder",
235
+ "reflect": false,
236
+ "defaultValue": "'Email address (optional)'"
237
+ },
238
+ "messagePlaceholder": {
239
+ "type": "string",
240
+ "mutable": false,
241
+ "complexType": {
242
+ "original": "string",
243
+ "resolved": "string",
244
+ "references": {}
245
+ },
246
+ "required": false,
247
+ "optional": false,
248
+ "docs": {
249
+ "tags": [],
250
+ "text": ""
251
+ },
252
+ "attribute": "message-placeholder",
253
+ "reflect": false,
254
+ "defaultValue": "'How could this page be more helpful?'"
255
+ }
256
+ };
257
+ }
258
+ static get states() {
259
+ return {
260
+ "feedbackModal": {}
261
+ };
262
+ }
263
+ }
@@ -0,0 +1,209 @@
1
+ .text-center {
2
+ text-align: center;
3
+ flex-grow: 1;
4
+ }
5
+
6
+ .feedback-modal {
7
+ display: inline-block;
8
+ position: relative;
9
+ }
10
+
11
+ .feedback-modal-content {
12
+ background-color: var(--feedback-modal-content-bg-color);
13
+ border-color: 1px solid var(--feedback-modal-header-text-color);
14
+ border-radius: var(--feedback-modal-content-border-radius);
15
+ box-shadow: 0px 1px 2px 0px rgba(60, 64, 67, .30), 0px 2px 6px 2px rgba(60, 64, 67, .15);
16
+ box-sizing: border-box;
17
+ color: var(--feedback-modal-content-text-color);
18
+ display: flex;
19
+ flex-direction: column;
20
+ font-family: var(--feedback-modal-content-font-family);
21
+ max-width: 300px;
22
+ padding: 20px;
23
+ position: fixed;
24
+ width: 100%;
25
+ z-index: 300;
26
+ }
27
+
28
+ .feedback-modal-content.feedback-modal-content--center {
29
+ left: 50%;
30
+ top: 50%;
31
+ transform: translate(-50%, -50%);
32
+ }
33
+
34
+ .feedback-modal-content.feedback-modal-content--bottom-right {
35
+ bottom: var(--feedback-modal-content-position-bottom);
36
+ right: var(--feedback-modal-content-position-right);
37
+ }
38
+
39
+ .feedback-modal-content.feedback-modal-content--bottom-left {
40
+ bottom: var(--feedback-modal-content-position-bottom);
41
+ left: var(--feedback-modal-content-position-left);
42
+ }
43
+
44
+ .feedback-modal-content.feedback-modal-content--top-right {
45
+ right: var(--feedback-modal-content-position-right);
46
+ top: var(--fedback-modal-content-position-top);
47
+ }
48
+
49
+ .feedback-modal-content.feedback-modal-content--top-left {
50
+ left: var(--feedback-modal-content-position-left);
51
+ top: var(--fedback-modal-content-position-top);
52
+ }
53
+
54
+ .feedback-modal-header {
55
+ align-items: center;
56
+ color: var(--feedback-modal-header-text-color);
57
+ font-family: var(--feedback-modal-header-font-family);
58
+ display: flex;
59
+ font-size: var(--feedback-header-font-size);
60
+ justify-content: space-between;
61
+ margin-bottom: 20px;
62
+ }
63
+
64
+ .feedback-modal-text {
65
+ margin-bottom: 20px;
66
+ }
67
+
68
+ .feedback-modal-text textarea {
69
+ border: 1px solid var(--feedback-modal-input-border-color);
70
+ border-radius: 4px;
71
+ box-sizing: border-box;
72
+ font-family: var(--feedback-modal-content-font-family);
73
+ font-size: var(--feedback-modal-input-font-size);
74
+ height: 100px;
75
+ padding: 10px;
76
+ resize: none;
77
+ width: 100%;
78
+ }
79
+
80
+ .feedback-modal-email {
81
+ margin-bottom: 20px;
82
+ }
83
+
84
+ .feedback-modal-email input {
85
+ border: 1px solid var(--feedback-modal-input-border-color);
86
+ border-radius: 4px;
87
+ box-sizing: border-box;
88
+ font-family: var(--feedback-modal-content-font-family);
89
+ font-size: var(--feedback-modal-input-font-size);
90
+ height: 40px;
91
+ padding: 10px;
92
+ width: 100%;
93
+ }
94
+
95
+ .feedback-modal-text textarea:focus, .feedback-modal-email input:focus {
96
+ border: 1px solid var(--feedback-modal-input-border-color-focused);
97
+ outline: none;
98
+ }
99
+
100
+ .feedback-modal-buttons {
101
+ display: flex;
102
+ justify-content: space-between;
103
+ }
104
+
105
+ .button {
106
+ background-color: transparent;
107
+ border: 1px solid var(--feedback-modal-button-border-color);
108
+ border-radius: var(--feedback-modal-button-border-radius);
109
+ color: var(--feedback-modal-button-text-color);
110
+ cursor: pointer;
111
+ font-size: var(--feedback-modal-button-font-size);
112
+ padding: 5px 10px;
113
+ }
114
+
115
+ .button:hover,
116
+ .button.active {
117
+ color: var(--feedback-modal-button-text-color-active);
118
+ background-color: var(--feedback-modal-button-bg-color-active);
119
+ border: 1px solid var(--feedback-modal-button-border-color-active);
120
+ }
121
+
122
+ .feedback-modal-footer {
123
+ font-size: 12px;
124
+ margin-top: 5px 0;
125
+ text-align: center;
126
+ }
127
+
128
+ .feedback-modal-footer a {
129
+ color: #191919;
130
+ text-decoration: none;
131
+ }
132
+
133
+ .feedback-logo {
134
+ display: flex;
135
+ align-items: center;
136
+ justify-content: center;
137
+ margin-top: 5px;
138
+ }
139
+
140
+ .feedback-logo svg {
141
+ max-width: 12px;
142
+ margin-right: 5px;
143
+ }
144
+
145
+
146
+ .feedback-modal-close {
147
+ background-color: var(--feedback-modal-close-bg-color);
148
+ border: 0;
149
+ border-radius: 50%;
150
+ cursor: pointer;
151
+ margin-left: auto;
152
+ padding: 0;
153
+ width: 24px;
154
+ height: 24px;
155
+ }
156
+
157
+ .feedback-modal-screenshot {
158
+ background-color: var(--feedback-modal-screenshot-bg-color);
159
+ box-shadow: 0px 0px 0px 5px var(--feedback-modal-screenshot-element-selected-bg-color) inset;
160
+ height: 100vh;
161
+ left: 0;
162
+ position: fixed;
163
+ top: 0;
164
+ width: 100%;
165
+ z-index: 100;
166
+ }
167
+
168
+ .feedback-modal-screenshot-header {
169
+ align-items: center;
170
+ background-color: var(--feedback-modal-screenshot-header-bg-color);
171
+ color: var(--feedback-modal-screenshot-element-selected-text-color);
172
+ cursor: pointer;
173
+ display: flex;
174
+ padding: 5px;
175
+ position: fixed;
176
+ justify-content: center;
177
+ width: 100%;
178
+ z-index: 200;
179
+ }
180
+
181
+ .feedback-modal-screenshot-header span {
182
+ padding-left: 10px;
183
+ padding-right: 10px;
184
+ }
185
+
186
+ .feedback-modal-screenshot-overlay {
187
+ background-color: transparent;
188
+ cursor: unset;
189
+ height: 100vh;
190
+ left: 0;
191
+ position: fixed;
192
+ top: 0;
193
+ width: 100%;
194
+ z-index: 100;
195
+ }
196
+
197
+ .feedback-modal-message {
198
+ font-size: var(--fedback-modal-message-font-size);
199
+ }
200
+
201
+ .feedback-modal-element-hover {
202
+ cursor: pointer;
203
+ background-color: transparent;
204
+ border: 4px dashed var(--feedback-modal-screenshot-element-hover-border-color);
205
+ }
206
+
207
+ .feedback-modal-element-selected {
208
+ border: 4px solid var(--feedback-modal-screenshot-element-selected-border-color);
209
+ }