react-feedback-surveys 1.7.0 → 1.8.0
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/README.md +89 -86
- package/dist/index.css +1 -1
- package/dist/index.d.ts +24 -12
- package/dist/index.js +2082 -2189
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -9,28 +9,34 @@
|
|
|
9
9
|
|
|
10
10
|
> Lightweight, customizable survey widgets to collect user feedback in React apps.
|
|
11
11
|
|
|
12
|
+
## Introduction
|
|
13
|
+
|
|
14
|
+
react-feedback-surveys is a standalone, open-source (MIT) UI library — no backend, no hosting, no
|
|
15
|
+
account required. Render the components, wire `onScoreSubmit`/`onFeedbackSubmit` to your own backend
|
|
16
|
+
(or nowhere at all).
|
|
17
|
+
|
|
18
|
+
Want AI-generated insights, a hosted dashboard, and response storage without building your own backend?
|
|
19
|
+
Check out [feedback.tools](https://feedback.tools) — built by the same team.
|
|
20
|
+
|
|
12
21
|
## Table of Contents
|
|
13
22
|
|
|
23
|
+
- [Introduction](#introduction)
|
|
14
24
|
- [Features](#features)
|
|
15
25
|
- [Survey Types](#survey-types)
|
|
16
26
|
- [Installation](#installation)
|
|
17
27
|
* [1. Install](#1-install)
|
|
18
28
|
* [2. Styles](#2-styles)
|
|
19
|
-
- [Survey
|
|
20
|
-
* [
|
|
21
|
-
* [
|
|
22
|
-
* [
|
|
23
|
-
* [CES7 (Customer Effort Score, 7-Point Scale)](#ces7-customer-effort-score-7-point-scale)
|
|
29
|
+
- [Survey Component](#survey-component)
|
|
30
|
+
* [CSAT (Customer Satisfaction Score)](#csat-customer-satisfaction-score)
|
|
31
|
+
* [NPS (Net Promoter Score)](#nps-net-promoter-score)
|
|
32
|
+
* [CES (Customer Effort Score)](#ces-customer-effort-score)
|
|
24
33
|
- [Layout Components](#layout-components)
|
|
25
34
|
* [Popup](#popup)
|
|
26
35
|
* [Surface](#surface)
|
|
27
36
|
- [Props](#props)
|
|
28
37
|
* [Shared Props](#shared-props)
|
|
38
|
+
* [Format Props](#format-props)
|
|
29
39
|
* [Scale Style Options](#scale-style-options)
|
|
30
|
-
+ [CSAT2Survey](#csat2survey)
|
|
31
|
-
+ [CSAT5Survey](#csat5survey)
|
|
32
|
-
+ [CES7Survey](#ces7survey)
|
|
33
|
-
+ [NPS10Survey](#nps10survey)
|
|
34
40
|
- [Styling](#styling)
|
|
35
41
|
* [CSS Variables](#css-variables)
|
|
36
42
|
* [Custom Classes](#custom-classes)
|
|
@@ -47,7 +53,8 @@
|
|
|
47
53
|
|
|
48
54
|
## Features
|
|
49
55
|
|
|
50
|
-
- **
|
|
56
|
+
- **A single `Survey` component** – the format (methodology, scale length, visual style) is configuration, not a different import
|
|
57
|
+
- **Ready-to-use survey formats** – CSAT (2 or 5 points), CES (7 points), NPS (0–10)
|
|
51
58
|
- **Multiple scale styles** – emoji, stars, numbers, thumbs
|
|
52
59
|
- **Flexible placement** – embed inline or display as popup overlay
|
|
53
60
|
- **Follow-up feedback** – optional text input or multiple choice responses
|
|
@@ -58,9 +65,11 @@
|
|
|
58
65
|
|
|
59
66
|
## Survey Types
|
|
60
67
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
- **
|
|
68
|
+
`Survey` covers three feedback methodologies, selected with the `type` prop. `CSAT` is the only one with a variable scale length, set via `points`:
|
|
69
|
+
|
|
70
|
+
- **CSAT (Customer Satisfaction Score):** `type="csat"`, 2-point or 5-point scale (`points={2}` or `points={5}`)
|
|
71
|
+
- **NPS (Net Promoter Score):** `type="nps"`, fixed 0–10 scale
|
|
72
|
+
- **CES (Customer Effort Score):** `type="ces"`, fixed 7-point scale
|
|
64
73
|
|
|
65
74
|
## Installation
|
|
66
75
|
|
|
@@ -78,24 +87,28 @@ yarn add react-feedback-surveys
|
|
|
78
87
|
import 'react-feedback-surveys/index.css';
|
|
79
88
|
```
|
|
80
89
|
|
|
81
|
-
## Survey
|
|
90
|
+
## Survey Component
|
|
91
|
+
|
|
92
|
+
Every format is reached through the same `Survey` import — `type` and `points` pick the methodology and scale length, `scaleStyle` picks the visual style. See [Format Props](#format-props) for the full matrix of valid `type`/`points`/`scaleStyle` combinations.
|
|
82
93
|
|
|
83
|
-
###
|
|
94
|
+
### CSAT (Customer Satisfaction Score)
|
|
84
95
|
|
|
85
|
-
Surveys to ask users about their overall satisfaction.
|
|
96
|
+
Surveys to ask users about their overall satisfaction, or about a specific feature or flow.
|
|
86
97
|
|
|
87
98
|
**Example questions:**
|
|
88
99
|
- "How satisfied are you with our product?"
|
|
89
|
-
- "
|
|
90
|
-
- "
|
|
100
|
+
- "Was this search helpful?"
|
|
101
|
+
- "Are you satisfied with the checkout process?"
|
|
91
102
|
|
|
92
|
-
<img alt="
|
|
103
|
+
<img alt="CSAT, 5-point scale" src="docs/assets/csat5.png" width="416" />
|
|
93
104
|
|
|
94
105
|
```tsx
|
|
95
|
-
import {
|
|
106
|
+
import { Survey } from 'react-feedback-surveys';
|
|
96
107
|
import 'react-feedback-surveys/index.css';
|
|
97
108
|
|
|
98
|
-
<
|
|
109
|
+
<Survey
|
|
110
|
+
type="csat"
|
|
111
|
+
points={5}
|
|
99
112
|
scaleStyle="emoji"
|
|
100
113
|
question="How would you rate your satisfaction with our product?"
|
|
101
114
|
minLabel="Very unsatisfied"
|
|
@@ -110,24 +123,12 @@ import 'react-feedback-surveys/index.css';
|
|
|
110
123
|
/>
|
|
111
124
|
```
|
|
112
125
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
### CSAT2 (Customer Satisfaction Score, 2-Point Scale)
|
|
116
|
-
|
|
117
|
-
Surveys to ask users about specific features or flows.
|
|
118
|
-
|
|
119
|
-
**Example questions:**
|
|
120
|
-
- "Was this search helpful?"
|
|
121
|
-
- "Did you find what you were looking for?"
|
|
122
|
-
- "Are you satisfied with the checkout process?"
|
|
123
|
-
|
|
124
|
-
<img alt="CSAT2" src="docs/assets/csat2.png" width="386" />
|
|
126
|
+
<img alt="CSAT, 2-point scale" src="docs/assets/csat2.png" width="386" />
|
|
125
127
|
|
|
126
128
|
```tsx
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
<CSAT2Survey
|
|
129
|
+
<Survey
|
|
130
|
+
type="csat"
|
|
131
|
+
points={2}
|
|
131
132
|
scaleStyle="thumbs"
|
|
132
133
|
question="Are you satisfied with the result?"
|
|
133
134
|
responseType="text"
|
|
@@ -140,26 +141,27 @@ import 'react-feedback-surveys/index.css';
|
|
|
140
141
|
/>
|
|
141
142
|
```
|
|
142
143
|
|
|
143
|
-
`scaleStyle`: `emoji` | `thumbs`.
|
|
144
|
+
`points={5}` → `scaleStyle`: `emoji` | `numbers` | `stars`. `points={2}` → `scaleStyle`: `emoji` | `thumbs`.
|
|
144
145
|
|
|
145
|
-
###
|
|
146
|
+
### NPS (Net Promoter Score)
|
|
146
147
|
|
|
147
|
-
Surveys to ask users if they'd recommend your product.
|
|
148
|
+
Surveys to ask users if they'd recommend your product. Fixed 0–10 scale — no `points` prop needed.
|
|
148
149
|
|
|
149
150
|
**Example questions:**
|
|
150
151
|
- "How likely are you to recommend us to a friend or colleague?"
|
|
151
152
|
- "On a scale of 0-10, would you recommend our service?"
|
|
152
153
|
- "How likely are you to recommend this product to others?"
|
|
153
154
|
|
|
154
|
-
<img alt="
|
|
155
|
+
<img alt="NPS" src="docs/assets/nps10.png" width="616" />
|
|
155
156
|
|
|
156
|
-
<img alt="
|
|
157
|
+
<img alt="NPS mobile" src="docs/assets/nps10-mobile.png" width="340" />
|
|
157
158
|
|
|
158
159
|
```tsx
|
|
159
|
-
import {
|
|
160
|
+
import { Survey } from 'react-feedback-surveys';
|
|
160
161
|
import 'react-feedback-surveys/index.css';
|
|
161
162
|
|
|
162
|
-
<
|
|
163
|
+
<Survey
|
|
164
|
+
type="nps"
|
|
163
165
|
scaleStyle="numbers"
|
|
164
166
|
question="How likely are you to recommend our product/service to a friend or colleague?"
|
|
165
167
|
minLabel="Very unlikely"
|
|
@@ -176,22 +178,23 @@ import 'react-feedback-surveys/index.css';
|
|
|
176
178
|
|
|
177
179
|
`scaleStyle`: `numbers`.
|
|
178
180
|
|
|
179
|
-
###
|
|
181
|
+
### CES (Customer Effort Score)
|
|
180
182
|
|
|
181
|
-
Surveys to ask users how easy it is to use your product.
|
|
183
|
+
Surveys to ask users how easy it is to use your product. Fixed 7-point scale — no `points` prop needed.
|
|
182
184
|
|
|
183
185
|
**Example questions:**
|
|
184
186
|
- "How easy was it to complete your task?"
|
|
185
187
|
- "How much effort did it take to resolve your issue?"
|
|
186
188
|
- "How easy was it to sign up for an account?"
|
|
187
189
|
|
|
188
|
-
<img alt="
|
|
190
|
+
<img alt="CES" src="docs/assets/ces7.png" width="436" />
|
|
189
191
|
|
|
190
192
|
```tsx
|
|
191
|
-
import {
|
|
193
|
+
import { Survey } from 'react-feedback-surveys';
|
|
192
194
|
import 'react-feedback-surveys/index.css';
|
|
193
195
|
|
|
194
|
-
<
|
|
196
|
+
<Survey
|
|
197
|
+
type="ces"
|
|
195
198
|
scaleStyle="numbers"
|
|
196
199
|
question="How easy was it to complete your task?"
|
|
197
200
|
minLabel="Very difficult"
|
|
@@ -219,7 +222,7 @@ The `<Popup>` component wraps survey widgets in a fixed overlay that slides in f
|
|
|
219
222
|
#### Usage
|
|
220
223
|
|
|
221
224
|
```tsx
|
|
222
|
-
import { Popup,
|
|
225
|
+
import { Popup, Survey } from 'react-feedback-surveys';
|
|
223
226
|
import 'react-feedback-surveys/index.css';
|
|
224
227
|
|
|
225
228
|
<Popup
|
|
@@ -232,7 +235,9 @@ import 'react-feedback-surveys/index.css';
|
|
|
232
235
|
placement="bottomRight"
|
|
233
236
|
onClose={() => console.log('Closed')}
|
|
234
237
|
>
|
|
235
|
-
<
|
|
238
|
+
<Survey
|
|
239
|
+
type="csat"
|
|
240
|
+
points={5}
|
|
236
241
|
scaleStyle="stars"
|
|
237
242
|
question="How would you rate your satisfaction?"
|
|
238
243
|
onScoreSubmit={({ value }) => {/* ... */}}
|
|
@@ -251,7 +256,7 @@ import 'react-feedback-surveys/index.css';
|
|
|
251
256
|
| `children` | `React.ReactNode` | - | - | Content to render inside the popup (typically a survey component). |
|
|
252
257
|
| `onClose` | `() => void` | - | - | Callback fired when the close button is clicked. |
|
|
253
258
|
|
|
254
|
-
For more examples, check out the Storybook stories
|
|
259
|
+
For more examples, check out the Storybook stories under `widgets/Survey` (grouped by CSAT/NPS/CES in the sidebar).
|
|
255
260
|
|
|
256
261
|
### Surface
|
|
257
262
|
|
|
@@ -265,11 +270,13 @@ The Surface component provides:
|
|
|
265
270
|
#### Usage
|
|
266
271
|
|
|
267
272
|
```tsx
|
|
268
|
-
import { Surface,
|
|
273
|
+
import { Surface, Survey } from 'react-feedback-surveys';
|
|
269
274
|
import 'react-feedback-surveys/index.css';
|
|
270
275
|
|
|
271
276
|
<Surface className="custom-surface">
|
|
272
|
-
<
|
|
277
|
+
<Survey
|
|
278
|
+
type="csat"
|
|
279
|
+
points={5}
|
|
273
280
|
scaleStyle="stars"
|
|
274
281
|
question="How would you rate your satisfaction?"
|
|
275
282
|
onScoreSubmit={({ value }) => {/* ... */}}
|
|
@@ -288,7 +295,7 @@ The Surface component uses the `--ft-surface-padding`, `--ft-surface-padding-mob
|
|
|
288
295
|
|
|
289
296
|
## Props
|
|
290
297
|
|
|
291
|
-
Most props are shared across
|
|
298
|
+
Most props are shared across every survey format. `type` (and `points`, for CSAT) select the format; `scaleStyle` picks its visual style — see [Format Props](#format-props).
|
|
292
299
|
|
|
293
300
|
### Shared Props
|
|
294
301
|
|
|
@@ -399,7 +406,9 @@ When `collectContact` is `true` and no `userId` is provided, an optional email c
|
|
|
399
406
|
- `email: string` — the email address entered by the respondent.
|
|
400
407
|
|
|
401
408
|
```tsx
|
|
402
|
-
<
|
|
409
|
+
<Survey
|
|
410
|
+
type="csat"
|
|
411
|
+
points={5}
|
|
403
412
|
scaleStyle="numbers"
|
|
404
413
|
question="How would you rate your satisfaction with our product?"
|
|
405
414
|
responseType="text"
|
|
@@ -416,35 +425,25 @@ When `collectContact` is `true` and no `userId` is provided, an optional email c
|
|
|
416
425
|
/>
|
|
417
426
|
```
|
|
418
427
|
|
|
419
|
-
###
|
|
420
|
-
|
|
421
|
-
Each survey type supports specific scale styles for displaying the rating interface:
|
|
428
|
+
### Format Props
|
|
422
429
|
|
|
423
|
-
|
|
430
|
+
| Prop | Type | Required | Description |
|
|
431
|
+
|------|------|----------|--------------|
|
|
432
|
+
| `type` | `'csat'` \| `'nps'` \| `'ces'` | required | Survey methodology. Determines the scale range and which `scaleStyle`/`points` combinations are valid. |
|
|
433
|
+
| `points` | `2` \| `5` | required for `type="csat"`; not used otherwise | Number of points on the scale. `nps` is a fixed 0–10 scale and `ces` a fixed 1–7 scale, so neither takes `points`. |
|
|
424
434
|
|
|
425
|
-
|
|
426
|
-
|--------------------------|-------------------------|----------|-----------------------------------------------------------------------------------|
|
|
427
|
-
| `scaleStyle` | `'emoji'` \| `'thumbs'` | required | Emoji mood scale style (happy/sad faces) or thumbs up/down emoji scale style. |
|
|
428
|
-
|
|
429
|
-
#### CSAT5Survey
|
|
430
|
-
|
|
431
|
-
| Prop | Type | Required | Description |
|
|
432
|
-
|--------------------------|---------------------------------------|----------|----------------------------------------------------------------------------------------------------------------------|
|
|
433
|
-
| `scaleStyle` | `'emoji'` \| `'numbers'` \| `'stars'` | required | Emoji scale style (5 emotion levels), numeric scale style (1–5), or star rating scale style (1–5 stars). |
|
|
434
|
-
|
|
435
|
-
#### CES7Survey
|
|
436
|
-
|
|
437
|
-
| Prop | Type | Required | Description |
|
|
438
|
-
|--------------------------|-------------|----------|------------------------------------|
|
|
439
|
-
| `scaleStyle` | `'numbers'` | required | Numeric scale style (1–7). |
|
|
435
|
+
### Scale Style Options
|
|
440
436
|
|
|
441
|
-
|
|
437
|
+
Valid `scaleStyle` values depend on `type` (and `points`, for CSAT):
|
|
442
438
|
|
|
443
|
-
|
|
|
444
|
-
|
|
445
|
-
| `
|
|
439
|
+
| `type` | `points` | Scale range | Valid `scaleStyle` |
|
|
440
|
+
|--------|----------|-------------|---------------------|
|
|
441
|
+
| `csat` | `5` | 1–5 | `'emoji'` (5 emotion levels) \| `'numbers'` \| `'stars'` (1–5 stars) |
|
|
442
|
+
| `csat` | `2` | 0–1 | `'emoji'` (happy/sad faces) \| `'thumbs'` (thumbs up/down) |
|
|
443
|
+
| `ces` | — | 1–7 | `'numbers'` |
|
|
444
|
+
| `nps` | — | 0–10 | `'numbers'` |
|
|
446
445
|
|
|
447
|
-
|
|
446
|
+
Invalid combinations (e.g. `type="ces"` with `scaleStyle="stars"`) are rejected at the type level.
|
|
448
447
|
|
|
449
448
|
## Styling
|
|
450
449
|
|
|
@@ -549,7 +548,7 @@ Here's an example of dark theme colors that work well with the survey components
|
|
|
549
548
|
**Implementation example with React:**
|
|
550
549
|
|
|
551
550
|
```tsx
|
|
552
|
-
import {
|
|
551
|
+
import { Survey } from 'react-feedback-surveys';
|
|
553
552
|
import 'react-feedback-surveys/index.css';
|
|
554
553
|
import { useEffect } from 'react';
|
|
555
554
|
|
|
@@ -573,7 +572,9 @@ function App() {
|
|
|
573
572
|
}, []);
|
|
574
573
|
|
|
575
574
|
return (
|
|
576
|
-
<
|
|
575
|
+
<Survey
|
|
576
|
+
type="csat"
|
|
577
|
+
points={5}
|
|
577
578
|
scaleStyle="emoji"
|
|
578
579
|
question="How satisfied are you with our product?"
|
|
579
580
|
onScoreSubmit={({ value }) => console.log('Score:', value)}
|
|
@@ -608,7 +609,7 @@ For deeper customization strategies, see the section below.
|
|
|
608
609
|
|
|
609
610
|
### Custom Classes
|
|
610
611
|
|
|
611
|
-
|
|
612
|
+
`Survey` accepts a `classNames` prop with two optional groups: `base` (outer shell) and `scale` (the interactive
|
|
612
613
|
rating UI). Pass your own class names to override styles without relying on internal selectors.
|
|
613
614
|
|
|
614
615
|
When is this useful?
|
|
@@ -637,13 +638,13 @@ Reference: available keys
|
|
|
637
638
|
| `scale.score` | Number inside a scale button (for numeric variants) |
|
|
638
639
|
| `scale.labels` | Left/Right labels displayed under the scale |
|
|
639
640
|
|
|
640
|
-
Example: customizing a
|
|
641
|
+
Example: customizing a `Survey` widget
|
|
641
642
|
|
|
642
643
|
```tsx
|
|
643
|
-
import {
|
|
644
|
+
import { Survey } from 'react-feedback-surveys';
|
|
644
645
|
import 'react-feedback-surveys/index.css';
|
|
645
646
|
|
|
646
|
-
<
|
|
647
|
+
<Survey
|
|
647
648
|
classNames={{
|
|
648
649
|
base: {
|
|
649
650
|
base: 'my-survey-base',
|
|
@@ -659,6 +660,8 @@ import 'react-feedback-surveys/index.css';
|
|
|
659
660
|
labels: 'my-scale-labels',
|
|
660
661
|
}
|
|
661
662
|
}}
|
|
663
|
+
type="csat"
|
|
664
|
+
points={5}
|
|
662
665
|
scaleStyle="numbers"
|
|
663
666
|
question="How would you rate your satisfaction with our product?"
|
|
664
667
|
minLabel="Very unsatisfied"
|
package/dist/index.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
:root,:host{--_color-text:var(--ft-color-text,30 8% 14%);--_color-bg:var(--ft-color-bg,0 0% 100%);--_color-muted:var(--ft-color-muted,222 11% 46%);--_color-error:var(--ft-color-error,32 95% 44%);--_color-border:var(--ft-color-border,214 14% 83%);--_color-outline:var(--ft-color-outline,218 14% 65%);--_color-shadow:var(--ft-color-shadow,0 0% 0%);--_color-control:var(--ft-color-control,214 20% 96%);--_popup-z-index:var(--ft-popup-z-index,49);--_popup-head-offset:var(--ft-popup-head-offset,0);--_surface-padding:var(--ft-surface-padding,24px);--_surface-padding-mobile:var(--ft-surface-padding-mobile,20px);--_surface-radius:var(--ft-surface-radius,8px)}._base_d5qlz_1{padding:var(--_surface-padding);background-color:hsl(var(--_color-bg)/100%);border-radius:var(--_surface-radius);box-shadow:0 0 10px hsl(var(--_color-shadow)/20%);display:block;position:relative;overflow:auto}@media (width<=399px){._base_d5qlz_1{padding:var(--_surface-padding-mobile)}}._base_1vr2h_1{--_popup-head-offset:32px;z-index:var(--_popup-z-index);box-sizing:border-box;max-width:calc(100vw - var(--_surface-padding) * 2);max-height:calc(100vh - var(--_surface-padding) * 2);transform-origin:50% 100%;margin:0;display:flex;position:fixed}@media (width<=399px){._base_1vr2h_1{max-width:calc(100vw - var(--_surface-padding-mobile) * 2);max-height:calc(100vh - var(--_surface-padding-mobile) * 2)}}._animated_1vr2h_19{opacity:0;animation:.12s ease-in-out forwards _fadeForward_1vr2h_1}@keyframes _fadeForward_1vr2h_1{0%{opacity:0;transform:translateY(8px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}._topLeft_1vr2h_34{top:var(--_surface-padding);left:var(--_surface-padding)}@media (width<=399px){._topLeft_1vr2h_34{top:var(--_surface-padding-mobile);left:var(--_surface-padding-mobile)}}._topRight_1vr2h_45{top:var(--_surface-padding);right:var(--_surface-padding)}@media (width<=399px){._topRight_1vr2h_45{top:var(--_surface-padding-mobile);right:var(--_surface-padding-mobile)}}._bottomRight_1vr2h_56{right:var(--_surface-padding);bottom:var(--_surface-padding)}@media (width<=399px){._bottomRight_1vr2h_56{right:var(--_surface-padding-mobile);bottom:var(--_surface-padding-mobile)}}._bottomLeft_1vr2h_67{bottom:var(--_surface-padding);left:var(--_surface-padding)}@media (width<=399px){._bottomLeft_1vr2h_67{bottom:var(--_surface-padding-mobile);left:var(--_surface-padding-mobile)}}._close_1vr2h_78{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._close_1vr2h_78:disabled{cursor:default}._close_1vr2h_78{top:var(--_surface-padding);width:24px;height:24px;color:hsl(var(--_color-outline)/100%);transition:color .15s;position:absolute;inset-inline-end:var(--_surface-padding)}._close_1vr2h_78:hover{color:hsl(var(--_color-text)/100%)}._close_1vr2h_78:before,._close_1vr2h_78:after{content:"";background-color:currentColor;border-radius:1px;position:absolute;top:50%;left:50%;transform:rotate(45deg)}._close_1vr2h_78:before{width:16px;height:2px;margin:-1px 0 0 -8px}._close_1vr2h_78:after{width:2px;height:16px;margin:-8px 0 0 -1px}@media (width<=399px){._close_1vr2h_78{top:var(--_surface-padding-mobile);inset-inline-end:var(--_surface-padding-mobile)}}._sr_clg7k_1{white-space:nowrap;clip-path:inset(50%);border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._subtext_clg7k_13{margin:0 0 16px;line-height:1.25}._input_clg7k_18{box-sizing:border-box;width:100%;color:hsl(var(--_color-text)/100%);background-color:hsl(var(--_color-bg)/100%);border:1px solid hsl(var(--_color-border)/100%);border-radius:var(--_surface-radius);outline:0 solid hsl(var(--_color-outline)/14%);padding:4px 12px;font-family:inherit;font-size:16px;line-height:1.5;transition:background-color .15s,border-color .15s,outline-width .2s}._input_clg7k_18:focus{outline:4px solid hsl(var(--_color-outline)/14%)}._input_clg7k_18._invalid_clg7k_35{border-color:hsl(var(--_color-error)/100%)}._input_clg7k_18._invalid_clg7k_35:focus{outline-color:hsl(var(--_color-error)/14%)}._submit_clg7k_42{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._submit_clg7k_42:disabled{cursor:default}._submit_clg7k_42{text-align:center;color:hsl(var(--_color-bg)/100%);background-color:hsl(var(--_color-text)/100%);border-radius:var(--_surface-radius);padding:8px 32px;font-size:16px;font-weight:400;transition:opacity .2s}._submit_clg7k_42:hover{opacity:.85}._submit_clg7k_42{width:100%;margin-top:16px}._skip_clg7k_74{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._skip_clg7k_74:disabled{cursor:default}._skip_clg7k_74{text-align:center;width:100%;color:hsl(var(--_color-muted)/100%);cursor:pointer;margin-top:8px;padding:4px;font-size:16px;font-weight:500;line-height:1.5;display:block}._skip_clg7k_74:hover{color:hsl(var(--_color-text)/100%)}._choices_nhux3_1{margin:0 0 12px}._choice_nhux3_1{display:flex}._choice_nhux3_1+._choice_nhux3_1{margin-top:12px}._label_nhux3_12{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:8px;display:inline-flex;position:relative}._sr_nhux3_21{white-space:nowrap;clip-path:inset(50%);border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._checkbox_nhux3_33{white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}._check_nhux3_33{border:1px solid hsl(var(--_color-border)/100%);border-radius:4px;min-width:20px;height:20px}._label_nhux3_12:hover ._check_nhux3_33{border-color:hsl(var(--_color-text)/100%)}._checkbox_nhux3_33:focus-visible+._check_nhux3_33{outline:4px solid hsl(var(--_color-outline)/14%)}._checkbox_nhux3_33:checked+._check_nhux3_33{background-color:hsl(var(--_color-text)/100%);border-color:hsl(var(--_color-text)/100%);position:relative}._checkbox_nhux3_33:checked+._check_nhux3_33:after{content:"";border:2px solid;border-color:transparent transparent hsl(var(--_color-bg)/100%) hsl(var(--_color-bg)/100%);pointer-events:none;width:10px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-45%,-75%)rotate(-45deg)}._input_nhux3_74{margin-top:8px;padding:4px 12px}._textarea_nhux3_79{height:120px;padding:8px 12px}._input_nhux3_74,._textarea_nhux3_79{box-sizing:border-box;width:100%;color:hsl(var(--_color-text)/100%);background-color:hsl(var(--_color-bg)/100%);border:1px solid hsl(var(--_color-border)/100%);border-radius:var(--_surface-radius);outline:0 solid hsl(var(--_color-outline)/14%);resize:none;font-family:inherit;font-size:16px;line-height:1.5;transition:background-color .15s,border-color .15s,outline-width .2s}._input_nhux3_74:focus,._textarea_nhux3_79:focus{outline:4px solid hsl(var(--_color-outline)/14%)}._submit_nhux3_104{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._submit_nhux3_104:disabled{cursor:default}._submit_nhux3_104{text-align:center;color:hsl(var(--_color-bg)/100%);background-color:hsl(var(--_color-text)/100%);border-radius:var(--_surface-radius);padding:8px 32px;font-size:16px;font-weight:400;transition:opacity .2s}._submit_nhux3_104:hover{opacity:.85}._submit_nhux3_104{width:100%;margin-top:16px}._skip_nhux3_136{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._skip_nhux3_136:disabled{cursor:default}._skip_nhux3_136{text-align:center;width:100%;color:hsl(var(--_color-muted)/100%);cursor:pointer;margin-top:8px;padding:4px;font-size:16px;font-weight:500;line-height:1.5;display:block}._skip_nhux3_136:hover{color:hsl(var(--_color-text)/100%)}._success_nhux3_166{text-align:center;padding:16px 0 32px;font-size:16px;font-weight:600;line-height:1.5}._base_1ilpx_1{text-align:center;padding:0 24px}._icon_1ilpx_6{display:inline-block}._base_1xpqq_1{color:hsl(var(--_color-text)/100%);padding:0;font-family:Helvetica Neue,Arial Nova,Helvetica,Arial,sans-serif}._head_1xpqq_7{padding-block:0 20px;padding-inline:0 var(--_popup-head-offset);gap:8px;display:flex}._title_1xpqq_14{flex:1 0;font-family:inherit;font-size:16px;font-style:normal;font-weight:500;line-height:1.4}._base_nswpf_1{margin:12px 0 0;display:flex}._label_nswpf_6{box-sizing:border-box;max-width:50%;color:hsl(var(--_color-muted)/100%);flex:0 0 50%;font-size:14px;line-height:1.4286}._between_nswpf_15{justify-content:space-between}._between_nswpf_15 ._label_nswpf_6{flex:0 0 50%;max-width:50%}._between_nswpf_15 ._label_nswpf_6:first-child{text-align:start}._between_nswpf_15 ._label_nswpf_6:last-child{text-align:end}._center_nswpf_29 ._label_nswpf_6{flex:0 0 50%;max-width:50%}._center_nswpf_29 ._label_nswpf_6:first-child{text-align:end;padding-right:8px}._center_nswpf_29 ._label_nswpf_6:last-child{text-align:start;padding-left:8px}._center_nswpf_29 ._text_nswpf_41{text-align:center;min-width:56px;display:inline-block}@media (width<=599px){._center_nswpf_29 ._text_nswpf_41{min-width:48px}}._list_grany_1{justify-content:center;gap:16px;display:flex}._icon_grany_7{transition:transform .12s;transform:scale(1)}._button_grany_12{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._button_grany_12:disabled{cursor:default}._button_grany_12{background-color:hsl(var(--_color-control)/100%);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex}._button_grany_12:hover ._icon_grany_7{transform:scale(1.15)}._button_grany_12:focus-visible{outline:2px solid hsl(var(--_color-outline)/100%)}@media (width<=399px){._button_grany_12{width:48px;height:48px}}._list_1yzyr_1{justify-content:center;gap:16px;display:flex}._icon_1yzyr_7{transition:transform .12s;transform:scale(1)}._button_1yzyr_12{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._button_1yzyr_12:disabled{cursor:default}._button_1yzyr_12{background-color:hsl(var(--_color-control)/100%);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex}._button_1yzyr_12:hover ._icon_1yzyr_7{transform:scale(1.15)}._button_1yzyr_12:focus-visible{outline:2px solid hsl(var(--_color-outline)/100%)}._base_1nccq_1{max-width:100%}._rating_1nccq_5,._feedback_1nccq_6,._contact_1nccq_7,._success_1nccq_8{width:280px}@media (width<=399px){._rating_1nccq_5,._feedback_1nccq_6,._contact_1nccq_7,._success_1nccq_8{width:100%}}._list_1vfe4_1{justify-content:space-between;display:flex}._icon_1vfe4_6{transition:transform .12s;transform:scale(1)}._button_1vfe4_11{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._button_1vfe4_11:disabled{cursor:default}._button_1vfe4_11{background-color:hsl(var(--_color-control)/100%);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex}._button_1vfe4_11:hover ._icon_1vfe4_6{transform:scale(1.15)}._button_1vfe4_11:focus-visible{outline:2px solid hsl(var(--_color-outline)/100%)}@media (width<=399px){._button_1vfe4_11{width:48px;height:48px}}._list_16sag_1{justify-content:space-between;display:flex}._button_16sag_6{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._button_16sag_6:disabled{cursor:default}._button_16sag_6{width:40px;height:40px;color:hsl(var(--_color-muted)/100%);background-color:hsl(var(--_color-control)/100%);box-shadow:0 0 0 0 hsl(var(--_color-control)/100%);border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:700;transition:color .12s,box-shadow .12s;display:flex}._button_16sag_6:hover{color:hsl(var(--_color-text)/100%);box-shadow:0 0 0 2px hsl(var(--_color-control)/100%)}._button_16sag_6:focus-visible{outline:2px solid hsl(var(--_color-outline)/100%)}._list_1kpxu_1{justify-content:space-between;display:flex}._icon_1kpxu_6{transition:transform .12s;transform:scale(1)}._button_1kpxu_11{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._button_1kpxu_11:disabled{cursor:default}._button_1kpxu_11{justify-content:center;align-items:center;width:40px;height:40px;display:flex}._button_1kpxu_11:hover ._icon_1kpxu_6{transform:scale(1.1)}._button_1kpxu_11:focus-visible{outline:2px solid hsl(var(--_color-outline)/100%)}._base_sfbnw_1{max-width:100%}._rating_sfbnw_5,._feedback_sfbnw_6,._contact_sfbnw_7,._success_sfbnw_8{width:320px}@media (width<=399px){._rating_sfbnw_5,._feedback_sfbnw_6,._contact_sfbnw_7,._success_sfbnw_8{width:100%}}._list_whbas_1{justify-content:space-between;gap:6px;display:flex}@media (width<=599px){._list_whbas_1{flex-direction:column-reverse;gap:4px}}._button_whbas_13{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._button_whbas_13:disabled{cursor:default}._button_whbas_13{text-align:center;width:40px;height:40px;color:hsl(var(--_color-muted)/100%);background-color:hsl(var(--_color-control)/100%);box-shadow:0 0 0 0 hsl(var(--_color-control)/100%);border-radius:50%;font-size:18px;font-weight:700;transition:color .12s,box-shadow .12s;display:inline-block}._button_whbas_13:hover{color:hsl(var(--_color-text)/100%);box-shadow:0 0 0 2px hsl(var(--_color-control)/100%)}@media (width<=599px){._button_whbas_13:hover{box-shadow:none}}._button_whbas_13:focus-visible{outline:2px solid hsl(var(--_color-outline)/100%)}._button_whbas_13 ._score_whbas_52{display:inline}._button_whbas_13 ._label_whbas_55{display:none}@media (width<=599px){._button_whbas_13 ._label_whbas_55{display:inline}._button_whbas_13{border-radius:6px;width:100%;height:auto;padding:6px;font-size:14px;line-height:20px}._labels_whbas_75{display:none}}._base_tj93m_1{max-width:100%}._rating_tj93m_5{width:340px}@media (width<=599px){._rating_tj93m_5{width:280px}}@media (width<=399px){._rating_tj93m_5{width:100%}}._feedback_tj93m_19,._contact_tj93m_20,._success_tj93m_21{width:280px}@media (width<=599px){._feedback_tj93m_19,._contact_tj93m_20,._success_tj93m_21{width:100%}}._list_divjm_1{justify-content:space-between;gap:6px;display:flex}@media (width<=599px){._list_divjm_1{flex-direction:column-reverse;gap:4px}}._button_divjm_13{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._button_divjm_13:disabled{cursor:default}._button_divjm_13{text-align:center;width:40px;height:40px;color:hsl(var(--_color-muted)/100%);background-color:hsl(var(--_color-control)/100%);box-shadow:0 0 0 0 hsl(var(--_color-control)/100%);border-radius:50%;font-size:18px;font-weight:700;transition:color .12s,box-shadow .12s;display:block}._button_divjm_13:hover{color:hsl(var(--_color-text)/100%);box-shadow:0 0 0 2px hsl(var(--_color-control)/100%)}@media (width<=599px){._button_divjm_13:hover{box-shadow:none}}._button_divjm_13:focus-visible{outline:2px solid hsl(var(--_color-outline)/100%)}._button_divjm_13 ._score_divjm_52{display:inline}._button_divjm_13 ._label_divjm_55{display:none}@media (width<=599px){._button_divjm_13 ._label_divjm_55{display:inline}._button_divjm_13{border-radius:6px;width:100%;height:auto;padding:6px;font-size:14px;line-height:20px}._labels_divjm_75{display:none}}._base_kj5ew_1{max-width:100%}._rating_kj5ew_5{width:520px}@media (width<=599px){._rating_kj5ew_5{width:320px}}@media (width<=399px){._rating_kj5ew_5{width:100%}}._feedback_kj5ew_19,._contact_kj5ew_20,._success_kj5ew_21{width:280px}@media (width<=599px){._feedback_kj5ew_19,._contact_kj5ew_20,._success_kj5ew_21{width:100%}}
|
|
1
|
+
:root,:host{--_color-text:var(--ft-color-text,30 8% 14%);--_color-bg:var(--ft-color-bg,0 0% 100%);--_color-muted:var(--ft-color-muted,222 11% 46%);--_color-error:var(--ft-color-error,32 95% 44%);--_color-border:var(--ft-color-border,214 14% 83%);--_color-outline:var(--ft-color-outline,218 14% 65%);--_color-shadow:var(--ft-color-shadow,0 0% 0%);--_color-control:var(--ft-color-control,214 20% 96%);--_popup-z-index:var(--ft-popup-z-index,49);--_popup-head-offset:var(--ft-popup-head-offset,0);--_surface-padding:var(--ft-surface-padding,24px);--_surface-padding-mobile:var(--ft-surface-padding-mobile,20px);--_surface-radius:var(--ft-surface-radius,8px);--_font-family:var(--ft-font-family,system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-family:var(--_font-family)}input,textarea,select{font:inherit}._base_d5qlz_1{padding:var(--_surface-padding);background-color:hsl(var(--_color-bg)/100%);border-radius:var(--_surface-radius);box-shadow:0 0 10px hsl(var(--_color-shadow)/20%);display:block;position:relative;overflow:auto}@media (width<=399px){._base_d5qlz_1{padding:var(--_surface-padding-mobile)}}._base_1vr2h_1{--_popup-head-offset:32px;z-index:var(--_popup-z-index);box-sizing:border-box;max-width:calc(100vw - var(--_surface-padding) * 2);max-height:calc(100vh - var(--_surface-padding) * 2);transform-origin:50% 100%;margin:0;display:flex;position:fixed}@media (width<=399px){._base_1vr2h_1{max-width:calc(100vw - var(--_surface-padding-mobile) * 2);max-height:calc(100vh - var(--_surface-padding-mobile) * 2)}}._animated_1vr2h_19{opacity:0;animation:.12s ease-in-out forwards _fadeForward_1vr2h_1}@keyframes _fadeForward_1vr2h_1{0%{opacity:0;transform:translateY(8px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}._topLeft_1vr2h_34{top:var(--_surface-padding);left:var(--_surface-padding)}@media (width<=399px){._topLeft_1vr2h_34{top:var(--_surface-padding-mobile);left:var(--_surface-padding-mobile)}}._topRight_1vr2h_45{top:var(--_surface-padding);right:var(--_surface-padding)}@media (width<=399px){._topRight_1vr2h_45{top:var(--_surface-padding-mobile);right:var(--_surface-padding-mobile)}}._bottomRight_1vr2h_56{right:var(--_surface-padding);bottom:var(--_surface-padding)}@media (width<=399px){._bottomRight_1vr2h_56{right:var(--_surface-padding-mobile);bottom:var(--_surface-padding-mobile)}}._bottomLeft_1vr2h_67{bottom:var(--_surface-padding);left:var(--_surface-padding)}@media (width<=399px){._bottomLeft_1vr2h_67{bottom:var(--_surface-padding-mobile);left:var(--_surface-padding-mobile)}}._close_1vr2h_78{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._close_1vr2h_78:disabled{cursor:default}._close_1vr2h_78{top:var(--_surface-padding);width:24px;height:24px;color:hsl(var(--_color-outline)/100%);transition:color .15s;position:absolute;inset-inline-end:var(--_surface-padding)}._close_1vr2h_78:hover{color:hsl(var(--_color-text)/100%)}._close_1vr2h_78:before,._close_1vr2h_78:after{content:"";background-color:currentColor;border-radius:1px;position:absolute;top:50%;left:50%;transform:rotate(45deg)}._close_1vr2h_78:before{width:16px;height:2px;margin:-1px 0 0 -8px}._close_1vr2h_78:after{width:2px;height:16px;margin:-8px 0 0 -1px}@media (width<=399px){._close_1vr2h_78{top:var(--_surface-padding-mobile);inset-inline-end:var(--_surface-padding-mobile)}}._sr_clg7k_1{white-space:nowrap;clip-path:inset(50%);border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._subtext_clg7k_13{margin:0 0 16px;line-height:1.25}._input_clg7k_18{box-sizing:border-box;width:100%;color:hsl(var(--_color-text)/100%);background-color:hsl(var(--_color-bg)/100%);border:1px solid hsl(var(--_color-border)/100%);border-radius:var(--_surface-radius);outline:0 solid hsl(var(--_color-outline)/14%);padding:4px 12px;font-family:inherit;font-size:16px;line-height:1.5;transition:background-color .15s,border-color .15s,outline-width .2s}._input_clg7k_18:focus{outline:4px solid hsl(var(--_color-outline)/14%)}._input_clg7k_18._invalid_clg7k_35{border-color:hsl(var(--_color-error)/100%)}._input_clg7k_18._invalid_clg7k_35:focus{outline-color:hsl(var(--_color-error)/14%)}._submit_clg7k_42{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._submit_clg7k_42:disabled{cursor:default}._submit_clg7k_42{text-align:center;color:hsl(var(--_color-bg)/100%);background-color:hsl(var(--_color-text)/100%);border-radius:var(--_surface-radius);padding:8px 32px;font-size:16px;font-weight:400;transition:opacity .2s}._submit_clg7k_42:hover{opacity:.85}._submit_clg7k_42{width:100%;margin-top:16px}._skip_clg7k_74{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._skip_clg7k_74:disabled{cursor:default}._skip_clg7k_74{text-align:center;width:100%;color:hsl(var(--_color-muted)/100%);cursor:pointer;margin-top:8px;padding:4px;font-size:16px;font-weight:500;line-height:1.5;display:block}._skip_clg7k_74:hover{color:hsl(var(--_color-text)/100%)}._choices_nhux3_1{margin:0 0 12px}._choice_nhux3_1{display:flex}._choice_nhux3_1+._choice_nhux3_1{margin-top:12px}._label_nhux3_12{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:8px;display:inline-flex;position:relative}._sr_nhux3_21{white-space:nowrap;clip-path:inset(50%);border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._checkbox_nhux3_33{white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}._check_nhux3_33{border:1px solid hsl(var(--_color-border)/100%);border-radius:4px;min-width:20px;height:20px}._label_nhux3_12:hover ._check_nhux3_33{border-color:hsl(var(--_color-text)/100%)}._checkbox_nhux3_33:focus-visible+._check_nhux3_33{outline:4px solid hsl(var(--_color-outline)/14%)}._checkbox_nhux3_33:checked+._check_nhux3_33{background-color:hsl(var(--_color-text)/100%);border-color:hsl(var(--_color-text)/100%);position:relative}._checkbox_nhux3_33:checked+._check_nhux3_33:after{content:"";border:2px solid;border-color:transparent transparent hsl(var(--_color-bg)/100%) hsl(var(--_color-bg)/100%);pointer-events:none;width:10px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-45%,-75%)rotate(-45deg)}._input_nhux3_74{margin-top:8px;padding:4px 12px}._textarea_nhux3_79{height:120px;padding:8px 12px}._input_nhux3_74,._textarea_nhux3_79{box-sizing:border-box;width:100%;color:hsl(var(--_color-text)/100%);background-color:hsl(var(--_color-bg)/100%);border:1px solid hsl(var(--_color-border)/100%);border-radius:var(--_surface-radius);outline:0 solid hsl(var(--_color-outline)/14%);resize:none;font-family:inherit;font-size:16px;line-height:1.5;transition:background-color .15s,border-color .15s,outline-width .2s}._input_nhux3_74:focus,._textarea_nhux3_79:focus{outline:4px solid hsl(var(--_color-outline)/14%)}._submit_nhux3_104{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._submit_nhux3_104:disabled{cursor:default}._submit_nhux3_104{text-align:center;color:hsl(var(--_color-bg)/100%);background-color:hsl(var(--_color-text)/100%);border-radius:var(--_surface-radius);padding:8px 32px;font-size:16px;font-weight:400;transition:opacity .2s}._submit_nhux3_104:hover{opacity:.85}._submit_nhux3_104{width:100%;margin-top:16px}._skip_nhux3_136{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._skip_nhux3_136:disabled{cursor:default}._skip_nhux3_136{text-align:center;width:100%;color:hsl(var(--_color-muted)/100%);cursor:pointer;margin-top:8px;padding:4px;font-size:16px;font-weight:500;line-height:1.5;display:block}._skip_nhux3_136:hover{color:hsl(var(--_color-text)/100%)}._success_nhux3_166{text-align:center;padding:16px 0 32px;font-size:16px;font-weight:600;line-height:1.5}._base_1ilpx_1{text-align:center;padding:0 24px}._icon_1ilpx_6{display:inline-block}._base_1xpqq_1{color:hsl(var(--_color-text)/100%);padding:0;font-family:Helvetica Neue,Arial Nova,Helvetica,Arial,sans-serif}._head_1xpqq_7{padding-block:0 20px;padding-inline:0 var(--_popup-head-offset);gap:8px;display:flex}._title_1xpqq_14{flex:1 0;font-family:inherit;font-size:16px;font-style:normal;font-weight:500;line-height:1.4}._base_nswpf_1{margin:12px 0 0;display:flex}._label_nswpf_6{box-sizing:border-box;max-width:50%;color:hsl(var(--_color-muted)/100%);flex:0 0 50%;font-size:14px;line-height:1.4286}._between_nswpf_15{justify-content:space-between}._between_nswpf_15 ._label_nswpf_6{flex:0 0 50%;max-width:50%}._between_nswpf_15 ._label_nswpf_6:first-child{text-align:start}._between_nswpf_15 ._label_nswpf_6:last-child{text-align:end}._center_nswpf_29 ._label_nswpf_6{flex:0 0 50%;max-width:50%}._center_nswpf_29 ._label_nswpf_6:first-child{text-align:end;padding-right:8px}._center_nswpf_29 ._label_nswpf_6:last-child{text-align:start;padding-left:8px}._center_nswpf_29 ._text_nswpf_41{text-align:center;min-width:56px;display:inline-block}@media (width<=599px){._center_nswpf_29 ._text_nswpf_41{min-width:48px}}._list_1vfe4_1{justify-content:space-between;display:flex}._icon_1vfe4_6{transition:transform .12s;transform:scale(1)}._button_1vfe4_11{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._button_1vfe4_11:disabled{cursor:default}._button_1vfe4_11{background-color:hsl(var(--_color-control)/100%);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex}._button_1vfe4_11:hover ._icon_1vfe4_6{transform:scale(1.15)}._button_1vfe4_11:focus-visible{outline:2px solid hsl(var(--_color-outline)/100%)}@media (width<=399px){._button_1vfe4_11{width:48px;height:48px}}._list_16sag_1{justify-content:space-between;display:flex}._button_16sag_6{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._button_16sag_6:disabled{cursor:default}._button_16sag_6{width:40px;height:40px;color:hsl(var(--_color-muted)/100%);background-color:hsl(var(--_color-control)/100%);box-shadow:0 0 0 0 hsl(var(--_color-control)/100%);border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:700;transition:color .12s,box-shadow .12s;display:flex}._button_16sag_6:hover{color:hsl(var(--_color-text)/100%);box-shadow:0 0 0 2px hsl(var(--_color-control)/100%)}._button_16sag_6:focus-visible{outline:2px solid hsl(var(--_color-outline)/100%)}._list_1kpxu_1{justify-content:space-between;display:flex}._icon_1kpxu_6{transition:transform .12s;transform:scale(1)}._button_1kpxu_11{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._button_1kpxu_11:disabled{cursor:default}._button_1kpxu_11{justify-content:center;align-items:center;width:40px;height:40px;display:flex}._button_1kpxu_11:hover ._icon_1kpxu_6{transform:scale(1.1)}._button_1kpxu_11:focus-visible{outline:2px solid hsl(var(--_color-outline)/100%)}._list_grany_1{justify-content:center;gap:16px;display:flex}._icon_grany_7{transition:transform .12s;transform:scale(1)}._button_grany_12{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._button_grany_12:disabled{cursor:default}._button_grany_12{background-color:hsl(var(--_color-control)/100%);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex}._button_grany_12:hover ._icon_grany_7{transform:scale(1.15)}._button_grany_12:focus-visible{outline:2px solid hsl(var(--_color-outline)/100%)}@media (width<=399px){._button_grany_12{width:48px;height:48px}}._list_1yzyr_1{justify-content:center;gap:16px;display:flex}._icon_1yzyr_7{transition:transform .12s;transform:scale(1)}._button_1yzyr_12{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._button_1yzyr_12:disabled{cursor:default}._button_1yzyr_12{background-color:hsl(var(--_color-control)/100%);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex}._button_1yzyr_12:hover ._icon_1yzyr_7{transform:scale(1.15)}._button_1yzyr_12:focus-visible{outline:2px solid hsl(var(--_color-outline)/100%)}._list_whbas_1{justify-content:space-between;gap:6px;display:flex}@media (width<=599px){._list_whbas_1{flex-direction:column-reverse;gap:4px}}._button_whbas_13{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._button_whbas_13:disabled{cursor:default}._button_whbas_13{text-align:center;width:40px;height:40px;color:hsl(var(--_color-muted)/100%);background-color:hsl(var(--_color-control)/100%);box-shadow:0 0 0 0 hsl(var(--_color-control)/100%);border-radius:50%;font-size:18px;font-weight:700;transition:color .12s,box-shadow .12s;display:inline-block}._button_whbas_13:hover{color:hsl(var(--_color-text)/100%);box-shadow:0 0 0 2px hsl(var(--_color-control)/100%)}@media (width<=599px){._button_whbas_13:hover{box-shadow:none}}._button_whbas_13:focus-visible{outline:2px solid hsl(var(--_color-outline)/100%)}._button_whbas_13 ._score_whbas_52{display:inline}._button_whbas_13 ._label_whbas_55{display:none}@media (width<=599px){._button_whbas_13 ._label_whbas_55{display:inline}._button_whbas_13{border-radius:6px;width:100%;height:auto;padding:6px;font-size:14px;line-height:20px}._labels_whbas_75{display:none}}._list_divjm_1{justify-content:space-between;gap:6px;display:flex}@media (width<=599px){._list_divjm_1{flex-direction:column-reverse;gap:4px}}._button_divjm_13{appearance:none;text-align:center;box-shadow:none;cursor:pointer;background-color:#0000;border:none;margin:0;padding:0;font-family:inherit}._button_divjm_13:disabled{cursor:default}._button_divjm_13{text-align:center;width:40px;height:40px;color:hsl(var(--_color-muted)/100%);background-color:hsl(var(--_color-control)/100%);box-shadow:0 0 0 0 hsl(var(--_color-control)/100%);border-radius:50%;font-size:18px;font-weight:700;transition:color .12s,box-shadow .12s;display:block}._button_divjm_13:hover{color:hsl(var(--_color-text)/100%);box-shadow:0 0 0 2px hsl(var(--_color-control)/100%)}@media (width<=599px){._button_divjm_13:hover{box-shadow:none}}._button_divjm_13:focus-visible{outline:2px solid hsl(var(--_color-outline)/100%)}._button_divjm_13 ._score_divjm_52{display:inline}._button_divjm_13 ._label_divjm_55{display:none}@media (width<=599px){._button_divjm_13 ._label_divjm_55{display:inline}._button_divjm_13{border-radius:6px;width:100%;height:auto;padding:6px;font-size:14px;line-height:20px}._labels_divjm_75{display:none}}._base_umzkr_1{max-width:100%}._ratingCsat5_umzkr_5,._feedbackCsat5_umzkr_6,._contactCsat5_umzkr_7,._successCsat5_umzkr_8{width:320px}@media (width<=399px){._ratingCsat5_umzkr_5,._feedbackCsat5_umzkr_6,._contactCsat5_umzkr_7,._successCsat5_umzkr_8{width:100%}}._ratingCsat2_umzkr_20,._feedbackCsat2_umzkr_21,._contactCsat2_umzkr_22,._successCsat2_umzkr_23{width:280px}@media (width<=399px){._ratingCsat2_umzkr_20,._feedbackCsat2_umzkr_21,._contactCsat2_umzkr_22,._successCsat2_umzkr_23{width:100%}}._ratingCes_umzkr_35{width:340px}@media (width<=599px){._ratingCes_umzkr_35{width:280px}}@media (width<=399px){._ratingCes_umzkr_35{width:100%}}._feedbackCes_umzkr_49,._contactCes_umzkr_50,._successCes_umzkr_51{width:280px}@media (width<=599px){._feedbackCes_umzkr_49,._contactCes_umzkr_50,._successCes_umzkr_51{width:100%}}._ratingNps_umzkr_62{width:520px}@media (width<=599px){._ratingNps_umzkr_62{width:320px}}@media (width<=399px){._ratingNps_umzkr_62{width:100%}}._feedbackNps_umzkr_76,._contactNps_umzkr_77,._successNps_umzkr_78{width:280px}@media (width<=599px){._feedbackNps_umzkr_76,._contactNps_umzkr_77,._successNps_umzkr_78{width:100%}}
|
|
2
2
|
/*$vite$:1*/
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { default as default_2 } from 'react';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
/** Customer Effort Score survey, rated on a fixed 7-point scale */
|
|
4
|
+
export declare interface CesSurveyProps extends SharedSurveyProps {
|
|
5
|
+
/** Survey methodology */
|
|
6
|
+
type: 'ces';
|
|
6
7
|
/** Visual style for the rating scale */
|
|
7
8
|
scaleStyle: 'numbers';
|
|
8
9
|
}
|
|
@@ -26,23 +27,30 @@ export declare interface ContactSubmitPayload {
|
|
|
26
27
|
email: string;
|
|
27
28
|
}
|
|
28
29
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
/** Customer Satisfaction survey, rated on a 2-point scale */
|
|
31
|
+
export declare interface CsatSurveyProps2 extends SharedSurveyProps {
|
|
32
|
+
/** Survey methodology */
|
|
33
|
+
type: 'csat';
|
|
34
|
+
/** Number of points on the rating scale */
|
|
35
|
+
points: 2;
|
|
32
36
|
/** Visual style for the rating scale */
|
|
33
37
|
scaleStyle: 'emoji' | 'thumbs';
|
|
34
38
|
}
|
|
35
39
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
40
|
+
/** Customer Satisfaction survey, rated on a 5-point scale */
|
|
41
|
+
export declare interface CsatSurveyProps5 extends SharedSurveyProps {
|
|
42
|
+
/** Survey methodology */
|
|
43
|
+
type: 'csat';
|
|
44
|
+
/** Number of points on the rating scale */
|
|
45
|
+
points: 5;
|
|
39
46
|
/** Visual style for the rating scale */
|
|
40
47
|
scaleStyle: 'emoji' | 'numbers' | 'stars';
|
|
41
48
|
}
|
|
42
49
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
50
|
+
/** Net Promoter Score survey, rated on a fixed 0–10 scale */
|
|
51
|
+
export declare interface NpsSurveyProps extends SharedSurveyProps {
|
|
52
|
+
/** Survey methodology */
|
|
53
|
+
type: 'nps';
|
|
46
54
|
/** Visual style for the rating scale */
|
|
47
55
|
scaleStyle: 'numbers';
|
|
48
56
|
}
|
|
@@ -155,6 +163,8 @@ export declare const Surface: React.FC<SurfaceProps>;
|
|
|
155
163
|
|
|
156
164
|
export declare type SurfaceProps = React.HTMLAttributes<HTMLDivElement>;
|
|
157
165
|
|
|
166
|
+
export declare const Survey: default_2.FC<SurveyProps>;
|
|
167
|
+
|
|
158
168
|
/**
|
|
159
169
|
* Callback function for survey submission
|
|
160
170
|
* @param payload - The survey data to submit
|
|
@@ -162,6 +172,8 @@ export declare type SurfaceProps = React.HTMLAttributes<HTMLDivElement>;
|
|
|
162
172
|
*/
|
|
163
173
|
export declare type SurveyCallback = (payload: SurveySubmitPayload) => void | Promise<void>;
|
|
164
174
|
|
|
175
|
+
export declare type SurveyProps = CsatSurveyProps5 | CsatSurveyProps2 | CesSurveyProps | NpsSurveyProps;
|
|
176
|
+
|
|
165
177
|
/**
|
|
166
178
|
* Available screens in survey flow
|
|
167
179
|
*/
|