@opengovsg/confetti 0.1.8 → 0.1.9

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.
@@ -1,585 +1,2 @@
1
- :root {
2
- --confetti-font-scale: 16px;
3
- /* Define CSS Variables with defaults */
4
- --confetti-box-padding: 24px;
5
- --confetti-max-width: 300px;
6
- --confetti-z-index: 2147483647;
7
- --confetti-border-color: #e4e4e7;
8
- --confetti-border-bottom: 1.5px solid var(--confetti-border-color);
9
- --confetti-border-radius: 12px;
10
- --confetti-background-color: #ffffff;
11
- --confetti-hover-background-color: #f5f5f5;
12
- --confetti-box-shadow:
13
- 0 4px 6px -4px rgba(16, 24, 40, 0.1), 0 10px 15px -3px rgba(0, 0, 0, 0.1);
14
- --confetti-focus-shadow: 0 0 0 2px rgba(9, 9, 11, 0.3);
15
- --confetti-submit-button-color: #18181b;
16
- --confetti-submit-button-text-color: #fafafa;
17
- --confetti-rating-bg-color: white;
18
- --confetti-rating-text-color: #09090b;
19
- --confetti-rating-active-bg-color: #09090b;
20
- --confetti-rating-active-text-color: white;
21
-
22
- --confetti-indicator-active-bg-color: var(--confetti-rating-text-color);
23
- --confetti-indicator-active-dot-color: white;
24
-
25
- --confetti-text-primary-color: #09090b;
26
- --confetti-text-subtle-color: #71717a;
27
-
28
- /* Widget/Embedded Tab CSS Variables */
29
- --confetti-widget-color: #e0a045; /* Default color */
30
- --confetti-widget-text-color: white; /* Default text color (usually white for contrast) */
31
- --confetti-scrollbar-thumb-color: var(--confetti-border-color);
32
- --confetti-scrollbar-track-color: var(--confetti-background-color);
33
- --confetti-outline-color: rgba(9, 9, 11, 0.8);
34
- --confetti-input-background: white;
35
- --confetti-input-text-color: #020617;
36
- --confetti-disabled-button-opacity: 0.6;
37
- }
38
-
39
- /* Popover Confetti CSS classes */
40
- .confetti-dialog {
41
- width: var(--confetti-max-width);
42
- max-height: 95dvh;
43
- overflow: auto;
44
- max-width: 100%;
45
- background: transparent;
46
- position: relative;
47
- box-shadow: var(--confetti-box-shadow);
48
- border: 1px solid var(--confetti-border-color);
49
- border-radius: var(--confetti-border-radius);
50
- background: var(--confetti-background-color);
51
- padding: var(--confetti-box-padding);
52
-
53
- .confetti-dialog-close {
54
- position: absolute;
55
- top: 8px;
56
- right: 8px;
57
- background: transparent;
58
- border: none;
59
- cursor: pointer;
60
- padding: 8px;
61
- border-radius: 8px;
62
- transition: background 200ms;
63
-
64
- & svg {
65
- width: 16px;
66
- height: 16px;
67
- color: var(--confetti-text-subtle-color);
68
- }
69
-
70
- &:hover {
71
- background: rgba(0, 0, 0, 0.05);
72
- }
73
-
74
- &:focus-visible {
75
- outline: 2px solid var(--confetti-outline-color);
76
- outline-offset: 2px;
77
- }
78
- }
79
-
80
- /* Adjust title padding to accommodate close button */
81
- .cf-header {
82
- .cf-title {
83
- padding-right: 20px;
84
- }
85
- }
86
- }
87
-
88
- /* Modal Confetti CSS classes */
89
- .confetti-modal-overlay {
90
- position: fixed;
91
- inset: 0;
92
- z-index: var(--confetti-z-index);
93
- background: rgba(0, 0, 0, 0.4);
94
- display: flex;
95
- justify-content: center;
96
- overflow-y: auto;
97
- overscroll-behavior: none;
98
- padding: 10vh 0;
99
- }
100
-
101
- .confetti-modal {
102
- margin: auto;
103
-
104
- .confetti-modal-dialog {
105
- width: var(--confetti-max-width);
106
- max-width: 100%;
107
- position: relative;
108
- box-shadow: var(--confetti-box-shadow);
109
- border: 1px solid var(--confetti-border-color);
110
- border-radius: var(--confetti-border-radius);
111
- background: var(--confetti-background-color);
112
- padding: var(--confetti-box-padding);
113
-
114
- &:focus-visible {
115
- outline: none;
116
- }
117
-
118
- .confetti-modal-dialog-close {
119
- position: absolute;
120
- top: 8px;
121
- right: 8px;
122
- background: transparent;
123
- border: none;
124
- cursor: pointer;
125
- padding: 8px;
126
- border-radius: 8px;
127
- transition: background 200ms;
128
-
129
- & svg {
130
- width: 16px;
131
- height: 16px;
132
- color: var(--confetti-text-subtle-color);
133
- }
134
-
135
- &:hover {
136
- background: rgba(0, 0, 0, 0.05);
137
- }
138
-
139
- &:focus-visible {
140
- outline: 2px solid var(--confetti-outline-color);
141
- outline-offset: 2px;
142
- }
143
- }
144
-
145
- /* Adjust title padding to accommodate close button */
146
- .cf-header {
147
- .cf-title {
148
- padding-right: 20px;
149
- }
150
- }
151
- }
152
- }
153
-
154
- .confetti {
155
- font-family: var(--confetti-font-family);
156
- display: flex;
157
- flex-direction: column;
158
- gap: 16px;
159
- color: var(--confetti-text-primary-color);
160
- font-size: var(--confetti-font-scale);
161
- width: 100%;
162
-
163
- .cf-submit-button {
164
- align-self: end;
165
- color: var(--confetti-submit-button-text-color);
166
- background: var(--confetti-submit-button-color);
167
- padding: 8px 16px;
168
- border-radius: 8px;
169
- cursor: pointer;
170
- transition: transform 200ms;
171
- font-size: 0.875em;
172
- font-weight: 500;
173
- line-height: 20px;
174
-
175
- transition: background 200ms ease-out;
176
-
177
- &:focus-visible {
178
- outline: 2px solid var(--confetti-outline-color);
179
- outline-offset: 2px;
180
- }
181
-
182
- &[data-disabled] {
183
- opacity: var(--confetti-disabled-button-opacity);
184
- cursor: not-allowed;
185
- transform: none;
186
- }
187
-
188
- &:hover {
189
- background: color-mix(
190
- in srgb,
191
- white 10%,
192
- var(--confetti-submit-button-color)
193
- );
194
- }
195
-
196
- &:active {
197
- background: color-mix(
198
- in srgb,
199
- white 5%,
200
- var(--confetti-submit-button-color)
201
- );
202
- }
203
- }
204
-
205
- .sr-only {
206
- clip: rect(0, 0, 0, 0);
207
- border: 0;
208
- height: 1px;
209
- margin: -1px;
210
- overflow: hidden;
211
- padding: 0;
212
- position: absolute;
213
- white-space: nowrap;
214
- width: 1px;
215
- }
216
-
217
- .cf-response-choices {
218
- display: flex;
219
- flex-direction: column;
220
- gap: 12px;
221
- }
222
-
223
- .cf-choice {
224
- font-size: 1em;
225
- cursor: pointer;
226
- padding: 8px 10px;
227
- border-radius: 6px;
228
- border: 1px solid var(--confetti-border-color);
229
-
230
- transition: background 200ms ease-out;
231
-
232
- &:hover {
233
- background: var(--confetti-hover-background-color);
234
- }
235
-
236
- .cf-choice-label {
237
- gap: 8px;
238
- display: inline-flex;
239
- align-items: center;
240
- }
241
-
242
- .cf-choice-description {
243
- font-size: 0.875em;
244
- margin-left: 26px;
245
- color: var(--confetti-text-subtle-color);
246
- }
247
- }
248
-
249
- .cf-response-choices-tag {
250
- flex-direction: row;
251
- flex-wrap: wrap;
252
- gap: 8px;
253
- }
254
-
255
- .cf-tag-input {
256
- display: none;
257
-
258
- &[data-visible='true'] {
259
- display: inline;
260
- }
261
- }
262
-
263
- .cf-tag {
264
- border-radius: 8px;
265
- padding: 6px 12px;
266
- font-weight: 500;
267
- font-size: 0.875em;
268
- transition:
269
- background 200ms ease-out,
270
- border-color 200ms ease-out;
271
-
272
- &[data-selected='true'] {
273
- background: var(--confetti-indicator-active-bg-color);
274
- border-color: var(--confetti-indicator-active-bg-color);
275
- color: var(--confetti-indicator-active-dot-color);
276
- }
277
-
278
- &[data-focus-visible='true'] {
279
- outline: 2px solid var(--confetti-outline-color);
280
- outline-offset: 2px;
281
- }
282
-
283
- &:active {
284
- scale: 0.96;
285
- }
286
- }
287
-
288
- .cf-radio,
289
- .cf-checkbox {
290
- cursor: pointer;
291
- display: flex;
292
- flex-direction: column;
293
- /* This is needed so the hidden input is positioned correctly */
294
- position: relative;
295
- align-items: start;
296
- color: var(--confetti-text-primary-color);
297
- forced-color-adjust: none;
298
- }
299
-
300
- .cf-checkbox {
301
- --checkmark-color: var(--confetti-indicator-active-dot-color);
302
-
303
- .cf-checkbox-indicator {
304
- background: white;
305
- border: 1px solid var(--confetti-border-color);
306
- width: 18px;
307
- height: 18px;
308
- box-sizing: border-box;
309
- border-radius: 4px;
310
- transition: color 200ms ease-out;
311
-
312
- display: flex;
313
- align-items: center;
314
- justify-content: center;
315
- flex-shrink: 0;
316
- }
317
-
318
- svg {
319
- width: calc(100% - 8px);
320
- height: calc(100% - 8px);
321
- fill: none;
322
- stroke: var(--checkmark-color);
323
- stroke-width: 3px;
324
- stroke-dasharray: 22px;
325
- stroke-dashoffset: 66;
326
- stroke-linecap: round;
327
- stroke-linejoin: round;
328
- transition: all 200ms;
329
- }
330
-
331
- &[data-focus-visible='true'] {
332
- .cf-checkbox-indicator {
333
- outline: 2px solid var(--confetti-outline-color);
334
- outline-offset: 2px;
335
- }
336
- }
337
- &[data-selected],
338
- &[data-indeterminate] {
339
- .cf-checkbox-indicator {
340
- background: var(--confetti-indicator-active-bg-color);
341
- border: none;
342
- }
343
- svg {
344
- stroke-dashoffset: 44;
345
- }
346
- }
347
-
348
- &[data-indeterminate] {
349
- svg {
350
- stroke: none;
351
- fill: var(--checkmark-color);
352
- }
353
- }
354
- }
355
-
356
- .cf-radio {
357
- -webkit-tap-highlight-color: transparent;
358
- --dot-color: var(--confetti-indicator-active-dot-color);
359
-
360
- .cf-radio-indicator {
361
- position: relative;
362
- width: 18px;
363
- height: 18px;
364
- flex-shrink: 0;
365
- box-sizing: border-box;
366
- border-radius: 50%;
367
- transition: color 200ms ease-out;
368
- border: 1px solid var(--confetti-border-color);
369
- background: white;
370
-
371
- &::after {
372
- content: '';
373
- position: absolute;
374
- inset: 1px;
375
- border-radius: inherit;
376
- background: transparent;
377
- transition: scale 200ms;
378
- scale: 0;
379
- }
380
- }
381
-
382
- &[data-selected] {
383
- .cf-radio-indicator {
384
- background: var(--confetti-indicator-active-bg-color);
385
- border-color: var(--confetti-indicator-active-bg-color);
386
-
387
- &::after {
388
- background: var(--dot-color);
389
- scale: 0.4;
390
- }
391
- }
392
- }
393
-
394
- &[data-disabled] {
395
- color: var(--text-color-disabled);
396
- --dot-color: var(--text-color-disabled);
397
- }
398
-
399
- &[data-focus-visible='true'] {
400
- .cf-radio-indicator {
401
- outline: 2px solid var(--confetti-outline-color);
402
- outline-offset: 2px;
403
- }
404
- }
405
- }
406
-
407
- .cf-input,
408
- .cf-textarea {
409
- background: var(--confetti-input-background);
410
- border: 1px solid var(--confetti-border-color);
411
- border-radius: 8px;
412
- color: var(--confetti-input-text-color);
413
- padding: 10px;
414
- transition:
415
- border-color 0.2s ease-out,
416
- box-shadow 0.2s ease-out,
417
- transform 0.15s ease-out;
418
-
419
- &:focus {
420
- border-color: var(--confetti-outline-color);
421
- box-shadow: var(--confetti-focus-shadow);
422
- outline: none;
423
- }
424
- }
425
-
426
- .cf-question {
427
- display: flex;
428
- flex-direction: column;
429
- gap: 16px;
430
-
431
- .cf-error {
432
- display: none;
433
- }
434
-
435
- .cf-header {
436
- display: flex;
437
- flex-direction: column;
438
- gap: 2px;
439
-
440
- .cf-title {
441
- line-height: 24px;
442
- font-weight: 500;
443
- }
444
-
445
- .cf-label-optional {
446
- font-weight: 400;
447
- color: var(--confetti-text-subtle-color);
448
- }
449
-
450
- .cf-description {
451
- font-size: 0.875em;
452
- line-height: 20px;
453
- font-weight: 400;
454
- color: var(--confetti-text-subtle-color);
455
- }
456
- }
457
-
458
- .cf-others-choice {
459
- display: flex;
460
- flex-direction: column;
461
- gap: 8px;
462
- }
463
- }
464
-
465
- .cf-rating-section {
466
- display: flex;
467
- flex-direction: column;
468
- gap: 4px;
469
- }
470
-
471
- .cf-rating-emoji {
472
- opacity: 0.5;
473
- }
474
-
475
- .cf-rating-display-star,
476
- .cf-rating-display-emoji {
477
- display: grid;
478
- grid-template-columns: repeat(auto-fit, 40px);
479
- justify-content: space-between;
480
- gap: 8px;
481
-
482
- .cf-rating-emoji,
483
- .cf-rating-star {
484
- font-size: 1em;
485
- background-color: transparent;
486
- border: none;
487
- padding: 0;
488
- transition: transform 0.15s ease-out;
489
- color: var(--confetti-rating-active-bg-color);
490
-
491
- &[data-focus-visible='true'] {
492
- outline: 2px solid var(--confetti-outline-color);
493
- outline-offset: 2px;
494
- }
495
-
496
- &:hover {
497
- cursor: pointer;
498
- transform: scale(1.15);
499
- opacity: 1 !important;
500
- }
501
-
502
- &[data-filled='true'] {
503
- opacity: 1;
504
- }
505
-
506
- &[data-selected='true'] {
507
- opacity: 1;
508
- }
509
-
510
- & svg {
511
- /* Smooth color transitions */
512
- transition: fill 0.15s ease-out;
513
- }
514
- }
515
- }
516
-
517
- .cf-rating-text {
518
- display: flex;
519
- justify-content: space-between;
520
- font-size: 0.75em;
521
- color: var(--confetti-text-subtle-color);
522
- font-weight: 500;
523
- line-height: 1;
524
-
525
- .cf-rating-text-lower {
526
- flex: 1;
527
- text-align: start;
528
- }
529
-
530
- .cf-rating-text-upper {
531
- flex: 1;
532
- text-align: end;
533
- }
534
- }
535
-
536
- /* Special classes to make previous radio filled with color when one is selected */
537
- .cf-rating-display-star {
538
- .cf-rating-star[data-selected='true'] ~ .cf-rating-star {
539
- opacity: 0.5;
540
- }
541
- }
542
-
543
- .cf-rating-display-number {
544
- display: grid;
545
- grid-auto-columns: 1fr;
546
- grid-auto-flow: column;
547
- border: 1px solid var(--confetti-border-color);
548
- border-radius: 8px;
549
- overflow: hidden;
550
-
551
- .cf-rating-number {
552
- border-right: 1px solid var(--confetti-border-color);
553
- text-align: center;
554
- cursor: pointer;
555
- color: var(--confetti-rating-text-color);
556
- border-left: none;
557
- border-top: none;
558
- border-bottom: none;
559
- font-weight: 700;
560
- padding: 8px 0;
561
- margin-top: -1px;
562
- margin-bottom: -1px;
563
-
564
- &:first-of-type {
565
- border-top-left-radius: 8px;
566
- border-bottom-left-radius: 8px;
567
- }
568
-
569
- &:last-of-type {
570
- border-top-right-radius: 8px;
571
- border-bottom-right-radius: 8px;
572
- border-right: 0;
573
- }
574
-
575
- &[data-focus-visible='true'] {
576
- box-shadow: inset 0 0 0 1px var(--confetti-outline-color);
577
- }
578
-
579
- &[data-selected='true'] {
580
- background: var(--confetti-rating-active-bg-color);
581
- color: var(--confetti-rating-active-text-color);
582
- }
583
- }
584
- }
585
- }
1
+ :root{--confetti-font-scale: 16px;--confetti-box-padding: 24px;--confetti-max-width: 300px;--confetti-z-index: 2147483647;--confetti-border-color: #e4e4e7;--confetti-border-bottom: 1.5px solid var(--confetti-border-color);--confetti-border-radius: 12px;--confetti-background-color: #ffffff;--confetti-hover-background-color: #f5f5f5;--confetti-box-shadow:
2
+ 0 4px 6px -4px rgba(16, 24, 40, 0.1), 0 10px 15px -3px rgba(0, 0, 0, 0.1);--confetti-focus-shadow: 0 0 0 2px rgba(9, 9, 11, 0.3);--confetti-submit-button-color: #18181b;--confetti-submit-button-text-color: #fafafa;--confetti-rating-bg-color: white;--confetti-rating-text-color: #09090b;--confetti-rating-active-bg-color: #09090b;--confetti-rating-active-text-color: white;--confetti-indicator-active-bg-color: var(--confetti-rating-text-color);--confetti-indicator-active-dot-color: white;--confetti-text-primary-color: #09090b;--confetti-text-subtle-color: #71717a;--confetti-widget-color: #e0a045;--confetti-widget-text-color: white;--confetti-scrollbar-thumb-color: var(--confetti-border-color);--confetti-scrollbar-track-color: var(--confetti-background-color);--confetti-outline-color: rgba(9, 9, 11, 0.8);--confetti-input-background: white;--confetti-input-text-color: #020617;--confetti-disabled-button-opacity: 0.6;}.confetti-dialog{width:var(--confetti-max-width);max-height:95dvh;overflow:auto;max-width:100%;background:transparent;position:relative;box-shadow:var(--confetti-box-shadow);border:1px solid var(--confetti-border-color);border-radius:var(--confetti-border-radius);background:var(--confetti-background-color);padding:var(--confetti-box-padding)}.confetti-dialog .confetti-dialog-close{position:absolute;top:8px;right:8px;background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:background 200ms}:is(.confetti-dialog .confetti-dialog-close) svg{width:16px;height:16px;color:var(--confetti-text-subtle-color)}:is(.confetti-dialog .confetti-dialog-close):hover{background:rgba(0, 0, 0, 0.05)}:is(.confetti-dialog .confetti-dialog-close):focus-visible{outline:2px solid var(--confetti-outline-color);outline-offset:2px}:is(.confetti-dialog .cf-header) .cf-title{padding-right:20px}.confetti-modal-overlay{position:fixed;inset:0;z-index:var(--confetti-z-index);background:rgba(0, 0, 0, 0.4);display:flex;justify-content:center;overflow-y:auto;overscroll-behavior:none;padding:10vh 0}.confetti-modal{margin:auto}.confetti-modal .confetti-modal-dialog{width:var(--confetti-max-width);max-width:100%;position:relative;box-shadow:var(--confetti-box-shadow);border:1px solid var(--confetti-border-color);border-radius:var(--confetti-border-radius);background:var(--confetti-background-color);padding:var(--confetti-box-padding)}:is(.confetti-modal .confetti-modal-dialog):focus-visible{outline:none}:is(.confetti-modal .confetti-modal-dialog) .confetti-modal-dialog-close{position:absolute;top:8px;right:8px;background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:background 200ms}:is(:is(.confetti-modal .confetti-modal-dialog) .confetti-modal-dialog-close) svg{width:16px;height:16px;color:var(--confetti-text-subtle-color)}:is(:is(.confetti-modal .confetti-modal-dialog) .confetti-modal-dialog-close):hover{background:rgba(0, 0, 0, 0.05)}:is(:is(.confetti-modal .confetti-modal-dialog) .confetti-modal-dialog-close):focus-visible{outline:2px solid var(--confetti-outline-color);outline-offset:2px}:is(:is(.confetti-modal .confetti-modal-dialog) .cf-header) .cf-title{padding-right:20px}.confetti{font-family:var(--confetti-font-family);display:flex;flex-direction:column;gap:16px;color:var(--confetti-text-primary-color);font-size:var(--confetti-font-scale);width:100%}.confetti .cf-submit-button{align-self:end;color:var(--confetti-submit-button-text-color);background:var(--confetti-submit-button-color);padding:8px 16px;border-radius:8px;cursor:pointer;transition:transform 200ms;font-size:0.875em;font-weight:500;line-height:20px;transition:background 200ms ease-out}:is(.confetti .cf-submit-button):focus-visible{outline:2px solid var(--confetti-outline-color);outline-offset:2px}[data-disabled]:is(.confetti .cf-submit-button){opacity:var(--confetti-disabled-button-opacity);cursor:not-allowed;transform:none}:is(.confetti .cf-submit-button):hover{background:color-mix( in srgb, white 10%, var(--confetti-submit-button-color) )}:is(.confetti .cf-submit-button):active{background:color-mix( in srgb, white 5%, var(--confetti-submit-button-color) )}.confetti .sr-only{clip:rect(0, 0, 0, 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.confetti .cf-response-choices{display:flex;flex-direction:column;gap:12px}.confetti .cf-choice{font-size:1em;cursor:pointer;padding:8px 10px;border-radius:6px;border:1px solid var(--confetti-border-color);transition:background 200ms ease-out}:is(.confetti .cf-choice):hover{background:var(--confetti-hover-background-color)}:is(.confetti .cf-choice) .cf-choice-label{gap:8px;display:inline-flex;align-items:center}:is(.confetti .cf-choice) .cf-choice-description{font-size:0.875em;margin-left:26px;color:var(--confetti-text-subtle-color)}.confetti .cf-response-choices-tag{flex-direction:row;flex-wrap:wrap;gap:8px}.confetti .cf-tag-input{display:none}[data-visible='true']:is(.confetti .cf-tag-input){display:inline}.confetti .cf-tag{border-radius:8px;padding:6px 12px;font-weight:500;font-size:0.875em;transition:background 200ms ease-out, border-color 200ms ease-out}[data-selected='true']:is(.confetti .cf-tag){background:var(--confetti-indicator-active-bg-color);border-color:var(--confetti-indicator-active-bg-color);color:var(--confetti-indicator-active-dot-color)}[data-focus-visible='true']:is(.confetti .cf-tag){outline:2px solid var(--confetti-outline-color);outline-offset:2px}:is(.confetti .cf-tag):active{scale:0.96}.confetti .cf-radio,.confetti .cf-checkbox{cursor:pointer;display:flex;flex-direction:column;position:relative;align-items:start;color:var(--confetti-text-primary-color);forced-color-adjust:none}.confetti .cf-checkbox{--checkmark-color: var(--confetti-indicator-active-dot-color);}:is(.confetti .cf-checkbox) .cf-checkbox-indicator{background:white;border:1px solid var(--confetti-border-color);width:18px;height:18px;box-sizing:border-box;border-radius:4px;transition:color 200ms ease-out;display:flex;align-items:center;justify-content:center;flex-shrink:0}:is(.confetti .cf-checkbox) svg{width:calc(100% - 8px);height:calc(100% - 8px);fill:none;stroke:var(--checkmark-color);stroke-width:3px;stroke-dasharray:22px;stroke-dashoffset:66;stroke-linecap:round;stroke-linejoin:round;transition:all 200ms}[data-focus-visible='true']:is(.confetti .cf-checkbox) .cf-checkbox-indicator{outline:2px solid var(--confetti-outline-color);outline-offset:2px}:is([data-selected]:is(.confetti .cf-checkbox),[data-indeterminate]:is(.confetti .cf-checkbox)) .cf-checkbox-indicator{background:var(--confetti-indicator-active-bg-color);border:none}:is([data-selected]:is(.confetti .cf-checkbox),[data-indeterminate]:is(.confetti .cf-checkbox)) svg{stroke-dashoffset:44}[data-indeterminate]:is(.confetti .cf-checkbox) svg{stroke:none;fill:var(--checkmark-color)}.confetti .cf-radio{-webkit-tap-highlight-color:transparent;--dot-color: var(--confetti-indicator-active-dot-color);}:is(.confetti .cf-radio) .cf-radio-indicator{position:relative;width:18px;height:18px;flex-shrink:0;box-sizing:border-box;border-radius:50%;transition:color 200ms ease-out;border:1px solid var(--confetti-border-color);background:white}:is(:is(.confetti .cf-radio) .cf-radio-indicator)::after{content:'';position:absolute;inset:1px;border-radius:inherit;background:transparent;transition:scale 200ms;scale:0}[data-selected]:is(.confetti .cf-radio) .cf-radio-indicator{background:var(--confetti-indicator-active-bg-color);border-color:var(--confetti-indicator-active-bg-color)}:is([data-selected]:is(.confetti .cf-radio) .cf-radio-indicator)::after{background:var(--dot-color);scale:0.4}[data-disabled]:is(.confetti .cf-radio){color:var(--text-color-disabled);--dot-color: var(--text-color-disabled);}[data-focus-visible='true']:is(.confetti .cf-radio) .cf-radio-indicator{outline:2px solid var(--confetti-outline-color);outline-offset:2px}.confetti .cf-input,.confetti .cf-textarea{background:var(--confetti-input-background);border:1px solid var(--confetti-border-color);border-radius:8px;color:var(--confetti-input-text-color);padding:10px;transition:border-color 0.2s ease-out, box-shadow 0.2s ease-out, transform 0.15s ease-out}:is(.confetti .cf-input,.confetti .cf-textarea):focus{border-color:var(--confetti-outline-color);box-shadow:var(--confetti-focus-shadow);outline:none}.confetti .cf-question{display:flex;flex-direction:column;gap:16px}:is(.confetti .cf-question) .cf-error{display:none}:is(.confetti .cf-question) .cf-header{display:flex;flex-direction:column;gap:2px}:is(:is(.confetti .cf-question) .cf-header) .cf-title{line-height:24px;font-weight:500}:is(:is(.confetti .cf-question) .cf-header) .cf-label-optional{font-weight:400;color:var(--confetti-text-subtle-color)}:is(:is(.confetti .cf-question) .cf-header) .cf-description{font-size:0.875em;line-height:20px;font-weight:400;color:var(--confetti-text-subtle-color)}:is(.confetti .cf-question) .cf-others-choice{display:flex;flex-direction:column;gap:8px}.confetti .cf-rating-section{display:flex;flex-direction:column;gap:4px}.confetti .cf-rating-emoji{opacity:0.5}.confetti .cf-rating-display-star,.confetti .cf-rating-display-emoji{display:grid;grid-template-columns:repeat(auto-fit, 40px);justify-content:space-between;gap:8px}:is(.confetti .cf-rating-display-star,.confetti .cf-rating-display-emoji) .cf-rating-emoji,:is(.confetti .cf-rating-display-star,.confetti .cf-rating-display-emoji) .cf-rating-star{font-size:1em;background-color:transparent;border:none;padding:0;transition:transform 0.15s ease-out;color:var(--confetti-rating-active-bg-color)}[data-focus-visible='true']:is(:is(.confetti .cf-rating-display-star,.confetti .cf-rating-display-emoji) .cf-rating-emoji,:is(.confetti .cf-rating-display-star,.confetti .cf-rating-display-emoji) .cf-rating-star){outline:2px solid var(--confetti-outline-color);outline-offset:2px}:is(:is(.confetti .cf-rating-display-star,.confetti .cf-rating-display-emoji) .cf-rating-emoji,:is(.confetti .cf-rating-display-star,.confetti .cf-rating-display-emoji) .cf-rating-star):hover{cursor:pointer;transform:scale(1.15);opacity:1!important}[data-filled='true']:is(:is(.confetti .cf-rating-display-star,.confetti .cf-rating-display-emoji) .cf-rating-emoji,:is(.confetti .cf-rating-display-star,.confetti .cf-rating-display-emoji) .cf-rating-star){opacity:1}[data-selected='true']:is(:is(.confetti .cf-rating-display-star,.confetti .cf-rating-display-emoji) .cf-rating-emoji,:is(.confetti .cf-rating-display-star,.confetti .cf-rating-display-emoji) .cf-rating-star){opacity:1}:is(:is(.confetti .cf-rating-display-star,.confetti .cf-rating-display-emoji) .cf-rating-emoji,:is(.confetti .cf-rating-display-star,.confetti .cf-rating-display-emoji) .cf-rating-star) svg{transition:fill 0.15s ease-out}.confetti .cf-rating-text{display:flex;justify-content:space-between;font-size:0.75em;color:var(--confetti-text-subtle-color);font-weight:500;line-height:1}:is(.confetti .cf-rating-text) .cf-rating-text-lower{flex:1;text-align:start}:is(.confetti .cf-rating-text) .cf-rating-text-upper{flex:1;text-align:end}:is(.confetti .cf-rating-display-star) .cf-rating-star[data-selected='true'] ~ .cf-rating-star{opacity:0.5}.confetti .cf-rating-display-number{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;border:1px solid var(--confetti-border-color);border-radius:8px;overflow:hidden}:is(.confetti .cf-rating-display-number) .cf-rating-number{border-right:1px solid var(--confetti-border-color);text-align:center;cursor:pointer;color:var(--confetti-rating-text-color);border-left:none;border-top:none;border-bottom:none;font-weight:700;padding:8px 0;margin-top:-1px;margin-bottom:-1px}:is(:is(.confetti .cf-rating-display-number) .cf-rating-number):first-of-type{border-top-left-radius:8px;border-bottom-left-radius:8px}:is(:is(.confetti .cf-rating-display-number) .cf-rating-number):last-of-type{border-top-right-radius:8px;border-bottom-right-radius:8px;border-right:0}[data-focus-visible='true']:is(:is(.confetti .cf-rating-display-number) .cf-rating-number){box-shadow:inset 0 0 0 1px var(--confetti-outline-color)}[data-selected='true']:is(:is(.confetti .cf-rating-display-number) .cf-rating-number){background:var(--confetti-rating-active-bg-color);color:var(--confetti-rating-active-text-color)}
package/build/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { a as MultiSelectQuestionProperties, c as StatementQuestionProperties, i as PublicGetSurveyOutput, l as TextQuestionProperties, n as ConfettiState, o as RatingQuestionProperties, r as Question, s as SingleSelectQuestionProperties, t as Answer } from "./types-DvzzMSv8.js";
2
2
  import * as react0 from "react";
3
3
  import { HTMLAttributes, PropsWithChildren } from "react";
4
- import * as react_jsx_runtime11 from "react/jsx-runtime";
4
+ import * as react_jsx_runtime4 from "react/jsx-runtime";
5
5
 
6
6
  //#region src/core/ConfettiController.d.ts
7
7
  interface ConfettiControllerProps {
@@ -19,7 +19,7 @@ declare const ConfettiController: ({
19
19
  shouldAutoSubmit,
20
20
  onFinished,
21
21
  children
22
- }: ConfettiControllerProps) => react_jsx_runtime11.JSX.Element;
22
+ }: ConfettiControllerProps) => react_jsx_runtime4.JSX.Element;
23
23
  //#endregion
24
24
  //#region src/core/ConfettiProvider.d.ts
25
25
  interface ConfettiContextValue {
@@ -54,7 +54,7 @@ declare const ConfettiProvider: ({
54
54
  metadata,
55
55
  isSurveyVisible: isSurveyVisibleInput,
56
56
  apiBaseUrl
57
- }: ConfettiProviderProps) => react_jsx_runtime11.JSX.Element | null;
57
+ }: ConfettiProviderProps) => react_jsx_runtime4.JSX.Element | null;
58
58
  declare const useConfetti: () => ConfettiContextValue;
59
59
  //#endregion
60
60
  //#region src/components/Confetti.d.ts
@@ -64,7 +64,7 @@ declare const Confetti: ({
64
64
  onFinished,
65
65
  shouldAutoSubmit,
66
66
  ...props
67
- }: ConfettiProps & Pick<ConfettiControllerProps, "children" | "shouldAutoSubmit">) => react_jsx_runtime11.JSX.Element;
67
+ }: ConfettiProps & Pick<ConfettiControllerProps, "children" | "shouldAutoSubmit">) => react_jsx_runtime4.JSX.Element;
68
68
  //#endregion
69
69
  //#region src/components/ThankYouMessage.d.ts
70
70
  interface ThankYouMessageProps {
@@ -81,7 +81,7 @@ declare const ThankYouMessage: ({
81
81
  title,
82
82
  description,
83
83
  classNames
84
- }: ThankYouMessageProps) => react_jsx_runtime11.JSX.Element | null;
84
+ }: ThankYouMessageProps) => react_jsx_runtime4.JSX.Element | null;
85
85
  //#endregion
86
86
  //#region src/components/container/ModalContainer.d.ts
87
87
  interface ModalContainerProps {
@@ -105,7 +105,7 @@ declare const ModalContainer: ({
105
105
  onDismiss,
106
106
  isDismissable,
107
107
  closeOnFinishMs
108
- }: ModalContainerProps) => react_jsx_runtime11.JSX.Element;
108
+ }: ModalContainerProps) => react_jsx_runtime4.JSX.Element;
109
109
  //#endregion
110
110
  //#region src/components/container/PopoverContainer.d.ts
111
111
  interface PopoverContainerProps {
@@ -127,7 +127,7 @@ declare const PopoverContainer: ({
127
127
  containerProps,
128
128
  onDismiss,
129
129
  closeOnFinishMs
130
- }: PopoverContainerProps) => react_jsx_runtime11.JSX.Element;
130
+ }: PopoverContainerProps) => react_jsx_runtime4.JSX.Element;
131
131
  //#endregion
132
132
  //#region src/components/questions/types.d.ts
133
133
  type Question$1 = PublicGetSurveyOutput['questions'][number];
@@ -150,7 +150,7 @@ declare const SurveyQuestionFactory: ({
150
150
  question,
151
151
  onChange,
152
152
  error
153
- }: SurveyQuestionFactoryProps) => react_jsx_runtime11.JSX.Element;
153
+ }: SurveyQuestionFactoryProps) => react_jsx_runtime4.JSX.Element;
154
154
  //#endregion
155
155
  //#region src/components/questions/Rating.d.ts
156
156
  interface RatingProps extends BaseFieldProps {
@@ -184,7 +184,7 @@ declare const Rating: ({
184
184
  id,
185
185
  error,
186
186
  required
187
- }: RatingProps) => react_jsx_runtime11.JSX.Element;
187
+ }: RatingProps) => react_jsx_runtime4.JSX.Element;
188
188
  //#endregion
189
189
  //#region src/components/questions/FreeText.d.ts
190
190
  interface FreeTextProps extends BaseFieldProps {
@@ -208,7 +208,7 @@ declare const FreeText: ({
208
208
  classNames,
209
209
  required,
210
210
  error
211
- }: FreeTextProps) => react_jsx_runtime11.JSX.Element;
211
+ }: FreeTextProps) => react_jsx_runtime4.JSX.Element;
212
212
  //#endregion
213
213
  //#region src/components/questions/SingleChoice.d.ts
214
214
  interface SingleChoiceProps extends BaseFieldProps {
@@ -238,7 +238,7 @@ declare const SingleChoice: ({
238
238
  id,
239
239
  required,
240
240
  error
241
- }: SingleChoiceProps) => react_jsx_runtime11.JSX.Element;
241
+ }: SingleChoiceProps) => react_jsx_runtime4.JSX.Element;
242
242
  //#endregion
243
243
  //#region src/components/questions/MultiChoice.d.ts
244
244
  interface MultiChoiceProps extends BaseFieldProps {
@@ -271,7 +271,7 @@ declare const MultiChoice: ({
271
271
  id,
272
272
  required,
273
273
  error
274
- }: MultiChoiceProps) => react_jsx_runtime11.JSX.Element;
274
+ }: MultiChoiceProps) => react_jsx_runtime4.JSX.Element;
275
275
  //#endregion
276
276
  //#region src/components/questions/Statement.d.ts
277
277
  interface StatementProps extends BaseFieldProps {
@@ -289,7 +289,7 @@ declare const Statement: ({
289
289
  title,
290
290
  description,
291
291
  classNames
292
- }: StatementProps) => react_jsx_runtime11.JSX.Element;
292
+ }: StatementProps) => react_jsx_runtime4.JSX.Element;
293
293
  //#endregion
294
294
  //#region src/components/presentation/Flow.d.ts
295
295
  type ChildField = (_: {
@@ -308,7 +308,7 @@ declare const Flow: ({
308
308
  children,
309
309
  question,
310
310
  isLastQuestion
311
- }: FlowProps) => react_jsx_runtime11.JSX.Element;
311
+ }: FlowProps) => react_jsx_runtime4.JSX.Element;
312
312
  //#endregion
313
313
  //#region src/components/presentation/Embed.d.ts
314
314
  declare const Embed: ({
@@ -318,10 +318,10 @@ declare const Embed: ({
318
318
  }: PropsWithChildren<{
319
319
  isCompleted: boolean;
320
320
  onSubmit: () => void;
321
- }>) => react_jsx_runtime11.JSX.Element;
321
+ }>) => react_jsx_runtime4.JSX.Element;
322
322
  //#endregion
323
323
  //#region src/templates/EmbeddedConfetti.d.ts
324
- declare const EmbeddedConfetti: (props: ConfettiProps) => react_jsx_runtime11.JSX.Element;
324
+ declare const EmbeddedConfetti: (props: ConfettiProps) => react_jsx_runtime4.JSX.Element;
325
325
  //#endregion
326
326
  //#region src/templates/ModalConfetti.d.ts
327
327
  interface ModalConfettiProps extends ConfettiProps {
@@ -334,7 +334,7 @@ declare const ModalConfetti: ({
334
334
  closeOnFinishMs,
335
335
  isDismissable,
336
336
  ...props
337
- }: ModalConfettiProps) => react_jsx_runtime11.JSX.Element;
337
+ }: ModalConfettiProps) => react_jsx_runtime4.JSX.Element;
338
338
  //#endregion
339
339
  //#region src/templates/PopoverConfetti.d.ts
340
340
  interface PopoverConfettiProps extends ConfettiProps {
@@ -354,10 +354,10 @@ declare const PopoverConfetti: ({
354
354
  onDismiss,
355
355
  closeOnFinishMs,
356
356
  ...props
357
- }: PopoverConfettiProps) => react_jsx_runtime11.JSX.Element;
357
+ }: PopoverConfettiProps) => react_jsx_runtime4.JSX.Element;
358
358
  //#endregion
359
359
  //#region src/templates/StepperConfetti.d.ts
360
- declare const StepperConfetti: (props: ConfettiProps) => react_jsx_runtime11.JSX.Element;
360
+ declare const StepperConfetti: (props: ConfettiProps) => react_jsx_runtime4.JSX.Element;
361
361
  //#endregion
362
362
  //#region src/hooks/useVisibleAfterDelay.d.ts
363
363
  interface UseVisibleAfterDelayOptions {
package/build/index.js CHANGED
@@ -8,4 +8,4 @@ import{n as e,t}from"./routing-ZHrE7mgA.js";import{ErrorBoundary as n}from"react
8
8
  * {
9
9
  overscroll-behavior: contain;
10
10
  }
11
- }`,document.head.prepend(r);let i=n=>{if(!(n.touches.length===2||t)){if(!e||e===document.documentElement||e===document.body){n.preventDefault();return}e.scrollHeight===e.clientHeight&&e.scrollWidth===e.clientWidth&&n.preventDefault()}},a=e=>{let t=e.target,n=e.relatedTarget;n&&Jt(n)?(n.focus({preventScroll:!0}),Hi(n,Jt(t))):n||(t.parentElement?.closest(`[tabindex]`))?.focus({preventScroll:!0})},o=HTMLElement.prototype.focus;HTMLElement.prototype.focus=function(e){let t=document.activeElement!=null&&Jt(document.activeElement);o.call(this,{...e,preventScroll:!0}),(!e||!e.preventScroll)&&Hi(this,t)};let s=ot(Vi(document,`touchstart`,n,{passive:!1,capture:!0}),Vi(document,`touchmove`,i,{passive:!1,capture:!0}),Vi(document,`blur`,a,!0));return()=>{s(),r.remove(),HTMLElement.prototype.focus=o}}function Bi(e,t,n){let r=e.style[t];return e.style[t]=n,()=>{e.style[t]=r}}function Vi(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function Hi(e,t){t||!Pi?Ui(e):Pi.addEventListener(`resize`,()=>Ui(e),{once:!0})}function Ui(e){let t=document.scrollingElement||document.documentElement,n=e;for(;n&&n!==t;){let e=Kt(n);if(e!==document.documentElement&&e!==document.body&&e!==n){let t=e.getBoundingClientRect(),r=n.getBoundingClientRect();if(r.top<t.top||r.bottom>t.top+n.clientHeight){let n=t.bottom;Pi&&(n=Math.min(n,Pi.offsetTop+Pi.height));let i=r.top-t.top-((n-t.top)/2-r.height/2);e.scrollTo({top:Math.max(0,Math.min(e.scrollHeight-e.clientHeight,e.scrollTop+i)),behavior:`smooth`})}}n=e.parentElement}}const Wi=i({});function Gi(){return s(Wi)??{}}var Ki={};Ki={dismiss:`تجاهل`};var qi={};qi={dismiss:`Отхвърляне`};var Ji={};Ji={dismiss:`Odstranit`};var Yi={};Yi={dismiss:`Luk`};var Xi={};Xi={dismiss:`Schließen`};var Zi={};Zi={dismiss:`Απόρριψη`};var Qi={};Qi={dismiss:`Dismiss`};var $i={};$i={dismiss:`Descartar`};var ea={};ea={dismiss:`Lõpeta`};var ta={};ta={dismiss:`Hylkää`};var na={};na={dismiss:`Rejeter`};var ra={};ra={dismiss:`התעלם`};var ia={};ia={dismiss:`Odbaci`};var aa={};aa={dismiss:`Elutasítás`};var oa={};oa={dismiss:`Ignora`};var sa={};sa={dismiss:`閉じる`};var ca={};ca={dismiss:`무시`};var la={};la={dismiss:`Atmesti`};var ua={};ua={dismiss:`Nerādīt`};var da={};da={dismiss:`Lukk`};var fa={};fa={dismiss:`Negeren`};var pa={};pa={dismiss:`Zignoruj`};var ma={};ma={dismiss:`Descartar`};var ha={};ha={dismiss:`Dispensar`};var ga={};ga={dismiss:`Revocare`};var _a={};_a={dismiss:`Пропустить`};var va={};va={dismiss:`Zrušiť`};var ya={};ya={dismiss:`Opusti`};var ba={};ba={dismiss:`Odbaci`};var xa={};xa={dismiss:`Avvisa`};var Sa={};Sa={dismiss:`Kapat`};var Ca={};Ca={dismiss:`Скасувати`};var wa={};wa={dismiss:`取消`};var Ta={};Ta={dismiss:`關閉`};var Ea={};Ea={"ar-AE":Ki,"bg-BG":qi,"cs-CZ":Ji,"da-DK":Yi,"de-DE":Xi,"el-GR":Zi,"en-US":Qi,"es-ES":$i,"et-EE":ea,"fi-FI":ta,"fr-FR":na,"he-IL":ra,"hr-HR":ia,"hu-HU":aa,"it-IT":oa,"ja-JP":sa,"ko-KR":ca,"lt-LT":la,"lv-LV":ua,"nb-NO":da,"nl-NL":fa,"pl-PL":pa,"pt-BR":ma,"pt-PT":ha,"ro-RO":ga,"ru-RU":_a,"sk-SK":va,"sl-SI":ya,"sr-SP":ba,"sv-SE":xa,"tr-TR":Sa,"uk-UA":Ca,"zh-CN":wa,"zh-TW":Ta};const Da={border:0,clip:`rect(0 0 0 0)`,clipPath:`inset(50%)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,width:`1px`,whiteSpace:`nowrap`};function Oa(e={}){let{style:t,isFocusable:n}=e,[r,i]=f(!1),{focusWithinProps:a}=ri({isDisabled:!n,onFocusWithinChange:e=>i(e)}),o=l(()=>r?t:t?{...Da,...t}:Da,[r]);return{visuallyHiddenProps:{...a,style:o}}}function ka(e){let{children:t,elementType:n=`div`,isFocusable:i,style:a,...o}=e,{visuallyHiddenProps:s}=Oa(e);return r.createElement(n,L(o,s),t)}function Aa(e){return e&&e.__esModule?e.default:e}function ja(e){let{onDismiss:t,...n}=e,i=Vt(n,Yn(Aa(Ea),`@react-aria/overlays`).format(`dismiss`)),a=()=>{t&&t()};return r.createElement(ka,null,r.createElement(`button`,{...i,tabIndex:-1,onClick:a,style:{width:1,height:1}}))}const Ma=typeof HTMLElement<`u`&&`inert`in HTMLElement.prototype;let Na=new WeakMap,$=[];function Pa(e,t){let n=N(e?.[0]),r=t instanceof n.Element?{root:t}:t,i=r?.root??document.body,a=r?.shouldUseInert&&Ma,o=new Set(e),s=new Set,c=e=>a&&e instanceof n.HTMLElement?e.inert:e.getAttribute(`aria-hidden`)===`true`,l=(e,t)=>{a&&e instanceof n.HTMLElement?e.inert=t:t?e.setAttribute(`aria-hidden`,`true`):(e.removeAttribute(`aria-hidden`),e instanceof n.HTMLElement&&(e.inert=!1))},u=e=>{for(let t of e.querySelectorAll(`[data-live-announcer], [data-react-aria-top-layer]`))o.add(t);let t=e=>{if(s.has(e)||o.has(e)||e.parentElement&&s.has(e.parentElement)&&e.parentElement.getAttribute(`role`)!==`row`)return NodeFilter.FILTER_REJECT;for(let t of o)if(e.contains(t))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:t}),r=t(e);if(r===NodeFilter.FILTER_ACCEPT&&d(e),r!==NodeFilter.FILTER_REJECT){let e=n.nextNode();for(;e!=null;)d(e),e=n.nextNode()}},d=e=>{let t=Na.get(e)??0;c(e)&&t===0||(t===0&&l(e,!0),s.add(e),Na.set(e,t+1))};$.length&&$[$.length-1].disconnect(),u(i);let f=new MutationObserver(e=>{for(let t of e)if(t.type===`childList`&&![...o,...s].some(e=>e.contains(t.target)))for(let e of t.addedNodes)(e instanceof HTMLElement||e instanceof SVGElement)&&(e.dataset.liveAnnouncer===`true`||e.dataset.reactAriaTopLayer===`true`)?o.add(e):e instanceof Element&&u(e)});f.observe(i,{childList:!0,subtree:!0});let p={visibleNodes:o,hiddenNodes:s,observe(){f.observe(i,{childList:!0,subtree:!0})},disconnect(){f.disconnect()}};return $.push(p),()=>{f.disconnect();for(let e of s){let t=Na.get(e);t!=null&&(t===1?(l(e,!1),Na.delete(e)):Na.set(e,t-1))}p===$[$.length-1]?($.pop(),$.length&&$[$.length-1].observe()):$.splice($.indexOf(p),1)}}const Fa=r.createContext(null);function Ia(e){let t=$e(),{portalContainer:n=t?null:document.body,isExiting:i}=e,[a,o]=f(!1),s=l(()=>({contain:a,setContain:o}),[a,o]),{getContainer:c}=Gi();if(!e.portalContainer&&c&&(n=c()),!n)return null;let u=e.children;return e.disableFocusManagement||(u=r.createElement(mi,{restoreFocus:!0,contain:(e.shouldContainFocus||a)&&!i},u)),u=r.createElement(Fa.Provider,{value:s},r.createElement(ni,null,u)),S.createPortal(u,n)}function La(){let e=s(Fa)?.setContain;j(()=>{e?.(!0)},[e])}function Ra(e,t,n){let{overlayProps:r,underlayProps:i}=Ni({...e,isOpen:t.isOpen,onClose:t.close},n);return Li({isDisabled:!t.isOpen}),La(),c(()=>{if(t.isOpen&&n.current)return Pa([n.current],{shouldUseInert:!0})},[t.isOpen,n]),{modalProps:L(r),underlayProps:i}}function za(e){let{id:t,label:n,"aria-labelledby":r,"aria-label":i,labelElementType:a=`label`}=e;t=rt(t);let o=rt(),s={};n&&(r=r?`${o} ${r}`:o,s={id:o,htmlFor:a===`label`?t:void 0});let c=Vt({id:t,"aria-label":i,"aria-labelledby":r});return{labelProps:s,fieldProps:c}}function Ba(e){let{description:t,errorMessage:n,isInvalid:r,validationState:i}=e,{labelProps:a,fieldProps:o}=za(e),s=at([!!t,!!n,r,i]),c=at([!!t,!!n,r,i]);return o=L(o,{"aria-describedby":[s,c,e[`aria-describedby`]].filter(Boolean).join(` `)||void 0}),{labelProps:a,fieldProps:o,descriptionProps:{id:s},errorMessageProps:{id:c}}}const Va={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valueMissing:!1,valid:!0},Ha={...Va,customError:!0,valid:!1},Ua={isInvalid:!1,validationDetails:Va,validationErrors:[]},Wa=i({}),Ga=`__formValidationState`+Date.now();function Ka(e){if(e[Ga]){let{realtimeValidation:t,displayValidation:n,updateValidation:r,resetValidation:i,commitValidation:a}=e[Ga];return{realtimeValidation:t,displayValidation:n,updateValidation:r,resetValidation:i,commitValidation:a}}return qa(e)}function qa(e){let{isInvalid:t,validationState:n,name:r,value:i,builtinValidation:a,validate:o,validationBehavior:u=`aria`}=e;n&&(t||=n===`invalid`);let p=t===void 0?null:{isInvalid:t,validationErrors:[],validationDetails:Ha},m=l(()=>!o||i==null?null:Xa(Ya(o,i)),[o,i]);a?.validationDetails.valid&&(a=void 0);let h=s(Wa),g=l(()=>r?Array.isArray(r)?r.flatMap(e=>Ja(h[e])):Ja(h[r]):[],[h,r]),[_,v]=f(h),[y,b]=f(!1);h!==_&&(v(h),b(!1));let x=l(()=>Xa(y?[]:g),[y,g]),S=d(Ua),[C,w]=f(Ua),T=d(Ua),E=()=>{if(!D)return;O(!1);let e=m||a||S.current;Za(e,T.current)||(T.current=e,w(e))},[D,O]=f(!1);return c(E),{realtimeValidation:p||x||m||a||Ua,displayValidation:u===`native`?p||x||C:p||x||m||a||C,updateValidation(e){u===`aria`&&!Za(C,e)?w(e):S.current=e},resetValidation(){let e=Ua;Za(e,T.current)||(T.current=e,w(e)),u===`native`&&O(!1),b(!0)},commitValidation(){u===`native`&&O(!0),b(!0)}}}function Ja(e){return e?Array.isArray(e)?e:[e]:[]}function Ya(e,t){if(typeof e==`function`){let n=e(t);if(n&&typeof n!=`boolean`)return Ja(n)}return[]}function Xa(e){return e.length?{isInvalid:!0,validationErrors:e,validationDetails:Ha}:null}function Za(e,t){return e===t?!0:!!e&&!!t&&e.isInvalid===t.isInvalid&&e.validationErrors.length===t.validationErrors.length&&e.validationErrors.every((e,n)=>e===t.validationErrors[n])&&Object.entries(e.validationDetails).every(([e,n])=>t.validationDetails[e]===n)}function Qa(...e){let t=new Set,n=!1,r={...Va};for(let o of e){var i,a;for(let e of o.validationErrors)t.add(e);for(let e in n||=o.isInvalid,r)(i=r)[a=e]||(i[a]=o.validationDetails[e])}return r.valid=!n,{isInvalid:n,validationErrors:[...t],validationDetails:r}}function $a(e,t,n){let{validationBehavior:r,focus:i}=e;j(()=>{if(r===`native`&&n?.current&&!n.current.disabled){let e=t.realtimeValidation.isInvalid?t.realtimeValidation.validationErrors.join(` `)||`Invalid value.`:``;n.current.setCustomValidity(e),n.current.hasAttribute(`title`)||(n.current.title=``),t.realtimeValidation.isInvalid||t.updateValidation(to(n.current))}});let a=d(!1),o=V(()=>{a.current||t.resetValidation()}),s=V(e=>{t.displayValidation.isInvalid||t.commitValidation();let r=n?.current?.form;if(!e.defaultPrevented&&n&&r&&no(r)===n.current){var a;i?i():(a=n.current)==null||a.focus(),Gr(`keyboard`)}e.preventDefault()}),l=V(()=>{t.commitValidation()});c(()=>{let e=n?.current;if(!e)return;let t=e.form,r=t?.reset;return t&&(t.reset=()=>{a.current=!window.event||window.event.type===`message`&&window.event.target instanceof MessagePort,r?.call(t),a.current=!1}),e.addEventListener(`invalid`,s),e.addEventListener(`change`,l),t?.addEventListener(`reset`,o),()=>{e.removeEventListener(`invalid`,s),e.removeEventListener(`change`,l),t?.removeEventListener(`reset`,o),t&&(t.reset=r)}},[n,r])}function eo(e){let t=e.validity;return{badInput:t.badInput,customError:t.customError,patternMismatch:t.patternMismatch,rangeOverflow:t.rangeOverflow,rangeUnderflow:t.rangeUnderflow,stepMismatch:t.stepMismatch,tooLong:t.tooLong,tooShort:t.tooShort,typeMismatch:t.typeMismatch,valueMissing:t.valueMissing,valid:t.valid}}function to(e){return{isInvalid:!e.validity.valid,validationDetails:eo(e),validationErrors:e.validationMessage?[e.validationMessage]:[]}}function no(e){for(let t=0;t<e.elements.length;t++){let n=e.elements[t];if(!n.validity.valid)return n}return null}function ro(e,t){let{inputElementType:n=`input`,isDisabled:i=!1,isRequired:a=!1,isReadOnly:o=!1,type:s=`text`,validationBehavior:c=`aria`}=e,[l,u]=hn(e.value,e.defaultValue||``,e.onChange),{focusableProps:d}=ti(e,t),p=Ka({...e,value:l}),{isInvalid:m,validationErrors:h,validationDetails:g}=p.displayValidation,{labelProps:_,fieldProps:v,descriptionProps:y,errorMessageProps:b}=Ba({...e,isInvalid:m,errorMessage:e.errorMessage||h}),x=R(e,{labelable:!0}),S={type:s,pattern:e.pattern},[C]=f(l);return $t(t,e.defaultValue??C,u),$a(e,p,t),{labelProps:_,inputProps:L(x,n===`input`?S:void 0,{disabled:i,readOnly:o,required:a&&c===`native`,"aria-required":a&&c===`aria`||void 0,"aria-invalid":m||void 0,"aria-errormessage":e[`aria-errormessage`],"aria-activedescendant":e[`aria-activedescendant`],"aria-autocomplete":e[`aria-autocomplete`],"aria-haspopup":e[`aria-haspopup`],"aria-controls":e[`aria-controls`],value:l,onChange:e=>u(e.target.value),autoComplete:e.autoComplete,autoCapitalize:e.autoCapitalize,maxLength:e.maxLength,minLength:e.minLength,name:e.name,form:e.form,placeholder:e.placeholder,inputMode:e.inputMode,autoCorrect:e.autoCorrect,spellCheck:e.spellCheck,[parseInt(r.version,10)>=17?`enterKeyHint`:`enterkeyhint`]:e.enterKeyHint,onCopy:e.onCopy,onCut:e.onCut,onPaste:e.onPaste,onCompositionEnd:e.onCompositionEnd,onCompositionStart:e.onCompositionStart,onCompositionUpdate:e.onCompositionUpdate,onSelect:e.onSelect,onBeforeInput:e.onBeforeInput,onInput:e.onInput,...d,...v}),descriptionProps:y,errorMessageProps:b,isInvalid:m,validationErrors:h,validationDetails:g}}if(typeof HTMLTemplateElement<`u`){let e=Object.getOwnPropertyDescriptor(Node.prototype,`firstChild`).get;Object.defineProperty(HTMLTemplateElement.prototype,`firstChild`,{configurable:!0,enumerable:!0,get:function(){return this.dataset.reactAriaHidden?this.content.firstChild:e.call(this)}})}const io=i(!1);function ao(e){let t=(t,n)=>s(io)?null:e(t,n);return t.displayName=e.displayName||e.name,a(t)}function oo(e,t){let{elementType:n=`button`,isDisabled:r,onPress:i,onPressStart:a,onPressEnd:o,onPressUp:s,onPressChange:c,preventFocusOnPress:l,allowFocusWhenDisabled:u,onClick:d,href:f,target:p,rel:m,type:h=`button`}=e,g;g=n===`button`?{type:h,disabled:r,form:e.form,formAction:e.formAction,formEncType:e.formEncType,formMethod:e.formMethod,formNoValidate:e.formNoValidate,formTarget:e.formTarget,name:e.name,value:e.value}:{role:`button`,href:n===`a`&&!r?f:void 0,target:n===`a`?p:void 0,type:n===`input`?h:void 0,disabled:n===`input`?r:void 0,"aria-disabled":!r||n===`input`?void 0:r,rel:n===`a`?m:void 0};let{pressProps:_,isPressed:v}=br({onPressStart:a,onPressEnd:o,onPressChange:c,onPress:i,onPressUp:s,onClick:d,isDisabled:r,preventFocusOnPress:l,ref:t}),{focusableProps:y}=ti(e,t);u&&(y.tabIndex=r?-1:y.tabIndex);let b=L(y,_,R(e,{labelable:!0}));return{isPressed:v,buttonProps:L(g,b,{"aria-haspopup":e[`aria-haspopup`],"aria-expanded":e[`aria-expanded`],"aria-controls":e[`aria-controls`],"aria-pressed":e[`aria-pressed`],"aria-current":e[`aria-current`],"aria-disabled":e[`aria-disabled`]})}}function so(e,t,n){let{isDisabled:r=!1,isReadOnly:i=!1,value:a,name:o,form:s,children:c,"aria-label":l,"aria-labelledby":u,validationState:d=`valid`,isInvalid:f,onPressStart:p,onPressEnd:m,onPressChange:h,onPress:g,onPressUp:_,onClick:v}=e,y=e=>{e.stopPropagation(),t.setSelected(e.target.checked)},{pressProps:b,isPressed:x}=br({onPressStart:p,onPressEnd:m,onPressChange:h,onPress:g,onPressUp:_,onClick:v,isDisabled:r}),{pressProps:S,isPressed:C}=br({onPressStart:p,onPressEnd:m,onPressChange:h,onPressUp:_,onClick:v,onPress(e){var r;g?.(e),t.toggle(),(r=n.current)==null||r.focus()},isDisabled:r||i}),{focusableProps:w}=ti(e,n),T=L(b,w),E=R(e,{labelable:!0});return $t(n,t.defaultSelected,t.setSelected),{labelProps:L(S,{onClick:e=>e.preventDefault()}),inputProps:L(E,{"aria-invalid":f||d===`invalid`||void 0,"aria-errormessage":e[`aria-errormessage`],"aria-controls":e[`aria-controls`],"aria-readonly":i||void 0,onChange:y,disabled:r,...a==null?{}:{value:a},name:o,form:s,type:`checkbox`,...T}),isSelected:t.isSelected,isPressed:x||C,isDisabled:r,isReadOnly:i,isInvalid:f||d===`invalid`}}function co(e,t,n){let r=Ka({...e,value:t.isSelected}),{isInvalid:i,validationErrors:a,validationDetails:o}=r.displayValidation,{labelProps:s,inputProps:u,isSelected:d,isPressed:f,isDisabled:p,isReadOnly:m}=so({...e,isInvalid:i},t,n);$a(e,r,n);let{isIndeterminate:h,isRequired:g,validationBehavior:_=`aria`}=e;c(()=>{n.current&&(n.current.indeterminate=!!h)});let{pressProps:v}=br({isDisabled:p||m,onPress(){let{[Ga]:t}=e,{commitValidation:n}=t||r;n()}});return{labelProps:L(s,v,l(()=>({onMouseDown:e=>e.preventDefault()}),[])),inputProps:{...u,checked:d,"aria-required":g&&_===`aria`||void 0,required:g&&_===`native`},isSelected:d,isPressed:f,isDisabled:p,isReadOnly:m,isInvalid:i,validationErrors:a,validationDetails:o}}const lo=new WeakMap;function uo(e,t){let{isDisabled:n,name:r,form:i,validationBehavior:a=`aria`}=e,{isInvalid:o,validationErrors:s,validationDetails:c}=t.displayValidation,{labelProps:l,fieldProps:u,descriptionProps:d,errorMessageProps:f}=Ba({...e,labelElementType:`span`,isInvalid:o,errorMessage:e.errorMessage||s});lo.set(t,{name:r,form:i,descriptionId:d.id,errorMessageId:f.id,validationBehavior:a});let p=R(e,{labelable:!0}),{focusWithinProps:m}=ri({onBlurWithin:e.onBlur,onFocusWithin:e.onFocus,onFocusWithinChange:e.onFocusChange});return{groupProps:L(p,{role:`group`,"aria-disabled":n||void 0,...u,...m}),labelProps:l,descriptionProps:d,errorMessageProps:f,isInvalid:o,validationErrors:s,validationDetails:c}}function fo(e={}){let{isReadOnly:t}=e,[n,r]=hn(e.isSelected,e.defaultSelected||!1,e.onChange),[i]=f(n);function a(e){t||r(e)}function o(){t||r(!n)}return{isSelected:n,defaultSelected:e.defaultSelected??i,setSelected:a,toggle:o}}function po(e,t,n){let r=fo({isReadOnly:e.isReadOnly||t.isReadOnly,isSelected:t.isSelected(e.value),defaultSelected:t.defaultValue.includes(e.value),onChange(n){n?t.addValue(e.value):t.removeValue(e.value),e.onChange&&e.onChange(n)}}),{name:i,form:a,descriptionId:o,errorMessageId:s,validationBehavior:l}=lo.get(t);l=e.validationBehavior??l;let{realtimeValidation:u}=Ka({...e,value:r.isSelected,name:void 0,validationBehavior:`aria`}),f=d(Ua),p=()=>{t.setInvalid(e.value,u.isInvalid?u:f.current)};c(p);let m=t.realtimeValidation.isInvalid?t.realtimeValidation:u,h=l===`native`?t.displayValidation:m,g=co({...e,isReadOnly:e.isReadOnly||t.isReadOnly,isDisabled:e.isDisabled||t.isDisabled,name:e.name||i,form:e.form||a,isRequired:e.isRequired??t.isRequired,validationBehavior:l,[Ga]:{realtimeValidation:m,displayValidation:h,resetValidation:t.resetValidation,commitValidation:t.commitValidation,updateValidation(e){f.current=e,p()}}},r,n);return{...g,inputProps:{...g.inputProps,"aria-describedby":[e[`aria-describedby`],t.isInvalid?s:null,o].filter(Boolean).join(` `)||void 0}}}function mo(e,t){let{role:n=`dialog`}=e,r=at();r=e[`aria-label`]?void 0:r;let i=d(!1);return c(()=>{if(t.current&&!t.current.contains(document.activeElement)){Yr(t.current);let e=setTimeout(()=>{(document.activeElement===t.current||document.activeElement===document.body)&&(i.current=!0,t.current&&(t.current.blur(),Yr(t.current)),i.current=!1)},500);return()=>{clearTimeout(e)}}},[t]),La(),{dialogProps:{...R(e,{labelable:!0}),role:n,tabIndex:-1,"aria-labelledby":e[`aria-labelledby`]||r,onBlur:e=>{i.current&&e.stopPropagation()}},titleProps:{id:r}}}const ho=new WeakMap;function go(e,t,n){let{value:r,children:i,"aria-label":a,"aria-labelledby":o,onPressStart:s,onPressEnd:c,onPressChange:u,onPress:d,onPressUp:f,onClick:p}=e,m=e.isDisabled||t.isDisabled,h=t.selectedValue===r,g=e=>{e.stopPropagation(),t.setSelectedValue(r)},{pressProps:_,isPressed:v}=br({onPressStart:s,onPressEnd:c,onPressChange:u,onPress:d,onPressUp:f,onClick:p,isDisabled:m}),{pressProps:y,isPressed:b}=br({onPressStart:s,onPressEnd:c,onPressChange:u,onPressUp:f,onClick:p,isDisabled:m,onPress(e){var i;d?.(e),t.setSelectedValue(r),(i=n.current)==null||i.focus()}}),{focusableProps:x}=ti(L(e,{onFocus:()=>t.setLastFocusedValue(r)}),n),S=L(_,x),C=R(e,{labelable:!0}),w=-1;t.selectedValue==null?(t.lastFocusedValue===r||t.lastFocusedValue==null)&&(w=0):t.selectedValue===r&&(w=0),m&&(w=void 0);let{name:T,form:E,descriptionId:D,errorMessageId:O,validationBehavior:ee}=ho.get(t);return $t(n,t.defaultSelectedValue,t.setSelectedValue),$a({validationBehavior:ee},t,n),{labelProps:L(y,l(()=>({onClick:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault()}),[])),inputProps:L(C,{...S,type:`radio`,name:T,form:E,tabIndex:w,disabled:m,required:t.isRequired&&ee===`native`,checked:h,value:r,onChange:g,"aria-describedby":[e[`aria-describedby`],t.isInvalid?O:null,D].filter(Boolean).join(` `)||void 0}),isDisabled:m,isSelected:h,isPressed:v||b}}function _o(e,t){let{name:n,form:r,isReadOnly:i,isRequired:a,isDisabled:o,orientation:s=`vertical`,validationBehavior:c=`aria`}=e,{direction:l}=In(),{isInvalid:u,validationErrors:d,validationDetails:f}=t.displayValidation,{labelProps:p,fieldProps:m,descriptionProps:h,errorMessageProps:g}=Ba({...e,labelElementType:`span`,isInvalid:t.isInvalid,errorMessage:e.errorMessage||d}),_=R(e,{labelable:!0}),{focusWithinProps:v}=ri({onBlurWithin(n){var r;(r=e.onBlur)==null||r.call(e,n),t.selectedValue||t.setLastFocusedValue(null)},onFocusWithin:e.onFocus,onFocusWithinChange:e.onFocusChange}),y=e=>{let n;switch(e.key){case`ArrowRight`:n=l===`rtl`&&s!==`vertical`?`prev`:`next`;break;case`ArrowLeft`:n=l===`rtl`&&s!==`vertical`?`next`:`prev`;break;case`ArrowDown`:n=`next`;break;case`ArrowUp`:n=`prev`;break;default:return}e.preventDefault();let r=X(e.currentTarget,{from:e.target,accept:e=>e instanceof N(e).HTMLInputElement&&e.type===`radio`}),i;n===`next`?(i=r.nextNode(),i||=(r.currentNode=e.currentTarget,r.firstChild())):(i=r.previousNode(),i||=(r.currentNode=e.currentTarget,r.lastChild())),i&&(i.focus(),t.setSelectedValue(i.value))},b=rt(n);return ho.set(t,{name:b,form:r,descriptionId:h.id,errorMessageId:g.id,validationBehavior:c}),{radioGroupProps:L(_,{role:`radiogroup`,onKeyDown:y,"aria-invalid":t.isInvalid||void 0,"aria-errormessage":e[`aria-errormessage`],"aria-readonly":i||void 0,"aria-required":a||void 0,"aria-disabled":o||void 0,"aria-orientation":s,...m,...v}),labelProps:p,descriptionProps:h,errorMessageProps:g,isInvalid:u,validationErrors:d,validationDetails:f}}const vo=i({}),yo=ao(function(e,t){[e,t]=W(e,t,vo);let{elementType:n=`label`,...i}=e;return r.createElement(n,{className:`react-aria-Label`,...i,ref:t})}),bo=i(null),xo=i({}),So=ao(function(e,t){[e,t]=W(e,t,xo);let n=e,{isPending:i}=n,{buttonProps:a,isPressed:o}=oo(e,t);a=Co(a,i);let{focusProps:s,isFocused:l,isFocusVisible:u}=Mi(e),{hoverProps:f,isHovered:p}=li({...e,isDisabled:e.isDisabled||i}),m={isHovered:p,isPressed:(n.isPressed||o)&&!i,isFocused:l,isFocusVisible:u,isDisabled:e.isDisabled||!1,isPending:i??!1},h=U({...e,values:m,defaultClassName:`react-aria-Button`}),g=rt(a.id),_=rt(),v=a[`aria-labelledby`];i&&(v?v=`${v} ${_}`:a[`aria-label`]&&(v=`${g} ${_}`));let y=d(i);c(()=>{let e={"aria-labelledby":v||g};(!y.current&&l&&i||y.current&&l&&!i)&&wn(e,`assertive`),y.current=i},[i,l,v,g]);let b=R(e,{global:!0});return delete b.onClick,r.createElement(`button`,{...L(b,h,a,s,f),type:a.type===`submit`&&i?`button`:a.type,id:g,ref:t,"aria-labelledby":v,slot:e.slot||void 0,"aria-disabled":i?`true`:a[`aria-disabled`],"data-disabled":e.isDisabled||void 0,"data-pressed":m.isPressed||void 0,"data-hovered":p||void 0,"data-focused":l||void 0,"data-pending":i||void 0,"data-focus-visible":u||void 0},r.createElement(bo.Provider,{value:{id:_}},h.children))});function Co(e,t){if(t){for(let t in e)t.startsWith(`on`)&&!(t.includes(`Focus`)||t.includes(`Blur`))&&(e[t]=void 0);e.href=void 0,e.target=void 0}return e}const wo=i({}),To=a(function(e,t){[e,t]=W(e,t,wo);let{elementType:n=`span`,...i}=e;return r.createElement(n,{className:`react-aria-Text`,...i,ref:t})});function Eo(e={}){let[t,n]=hn(e.value,e.defaultValue||[],e.onChange),[r]=f(t),i=!!e.isRequired&&t.length===0,a=d(new Map),o=Ka({...e,value:t}),s=o.displayValidation.isInvalid;return{...o,value:t,defaultValue:e.defaultValue??r,setValue(t){e.isReadOnly||e.isDisabled||n(t)},isDisabled:e.isDisabled||!1,isReadOnly:e.isReadOnly||!1,isSelected(e){return t.includes(e)},addValue(t){e.isReadOnly||e.isDisabled||n(e=>e.includes(t)?e:e.concat(t))},removeValue(r){e.isReadOnly||e.isDisabled||t.includes(r)&&n(t.filter(e=>e!==r))},toggleValue(r){e.isReadOnly||e.isDisabled||(t.includes(r)?n(t.filter(e=>e!==r)):n(t.concat(r)))},setInvalid(e,t){let n=new Map(a.current);t.isInvalid?n.set(e,t):n.delete(e),a.current=n,o.updateValidation(Qa(...n.values()))},validationState:e.validationState??(s?`invalid`:null),isInvalid:s,isRequired:i}}function Do(e){let[t,n]=hn(e.isOpen,e.defaultOpen||!1,e.onOpenChange);return{isOpen:t,setOpen:n,open:o(()=>{n(!0)},[n]),close:o(()=>{n(!1)},[n]),toggle:o(()=>{n(!t)},[n,t])}}let Oo=Math.round(Math.random()*1e10),ko=0;function Ao(e){let t=l(()=>e.name||`radio-group-${Oo}-${++ko}`,[e.name]),[n,r]=hn(e.value,e.defaultValue??null,e.onChange),[i]=f(n),[a,o]=f(null),s=Ka({...e,value:n}),c=t=>{!e.isReadOnly&&!e.isDisabled&&(r(t),s.commitValidation())},u=s.displayValidation.isInvalid;return{...s,name:t,selectedValue:n,defaultSelectedValue:e.value===void 0?e.defaultValue??null:i,setSelectedValue:c,lastFocusedValue:a,setLastFocusedValue:o,isDisabled:e.isDisabled||!1,isReadOnly:e.isReadOnly||!1,isRequired:e.isRequired||!1,validationState:e.validationState||(u?`invalid`:null),isInvalid:u}}const jo=i(null),Mo=a(function(e,t){return s(jo)?.isInvalid?r.createElement(No,{...e,ref:t}):null}),No=a((e,t)=>{let n=s(jo),i=R(e,{global:!0}),a=U({...e,defaultClassName:`react-aria-FieldError`,defaultChildren:n.validationErrors.length===0?void 0:n.validationErrors.join(` `),values:n});return a.children==null?null:r.createElement(To,{slot:`errorMessage`,...i,...a,ref:t})}),Po=i(null),Fo=i(null),Io=i(null),Lo=a(function(e,t){[e,t]=W(e,t,Fo);let{validationBehavior:n}=yn(Po)||{},i=e.validationBehavior??n??`native`,a=Eo({...e,validationBehavior:i}),[o,s]=bn(!e[`aria-label`]&&!e[`aria-labelledby`]),{groupProps:c,labelProps:l,descriptionProps:u,errorMessageProps:d,...f}=uo({...e,label:s,validationBehavior:i},a),p=U({...e,values:{isDisabled:a.isDisabled,isReadOnly:a.isReadOnly,isRequired:e.isRequired||!1,isInvalid:a.isInvalid,state:a},defaultClassName:`react-aria-CheckboxGroup`}),m=R(e,{global:!0});return r.createElement(`div`,{...L(m,p,c),ref:t,slot:e.slot||void 0,"data-readonly":a.isReadOnly||void 0,"data-required":e.isRequired||void 0,"data-invalid":a.isInvalid||void 0,"data-disabled":e.isDisabled||void 0},r.createElement(_n,{values:[[Io,a],[vo,{...l,ref:o,elementType:`span`}],[wo,{slots:{description:u,errorMessage:d}}],[jo,f]]},p.children))}),Ro=a(function(e,t){let{inputRef:n=null,...i}=e;[e,t]=W(i,t,Re);let{validationBehavior:a}=yn(Po)||{},o=e.validationBehavior??a??`native`,c=s(Io),u=Ht(l(()=>ft(n,e.inputRef===void 0?null:e.inputRef),[n,e.inputRef])),{labelProps:d,inputProps:f,isSelected:p,isDisabled:m,isReadOnly:h,isPressed:g,isInvalid:_}=c?po({...xn(e),value:e.value,children:typeof e.children==`function`?!0:e.children},c,u):co({...xn(e),children:typeof e.children==`function`?!0:e.children,validationBehavior:o},fo(e),u),{isFocused:v,isFocusVisible:y,focusProps:b}=Mi(),x=m||h,{hoverProps:S,isHovered:C}=li({...e,isDisabled:x}),w=U({...e,defaultClassName:`react-aria-Checkbox`,values:{isSelected:p,isIndeterminate:e.isIndeterminate||!1,isPressed:g,isHovered:C,isFocused:v,isFocusVisible:y,isDisabled:m,isReadOnly:h,isInvalid:_,isRequired:e.isRequired||!1}}),T=R(e,{global:!0});return delete T.id,delete T.onClick,r.createElement(`label`,{...L(T,d,S,w),ref:t,slot:e.slot||void 0,"data-selected":p||void 0,"data-indeterminate":e.isIndeterminate||void 0,"data-pressed":g||void 0,"data-hovered":C||void 0,"data-focused":v||void 0,"data-focus-visible":y||void 0,"data-disabled":m||void 0,"data-readonly":h||void 0,"data-invalid":_||void 0,"data-required":e.isRequired||void 0},r.createElement(ka,{elementType:`span`},r.createElement(`input`,{...L(f,b),ref:u})),w.children)}),zo=i({}),Bo=i({});let Vo=e=>{let{onHoverStart:t,onHoverChange:n,onHoverEnd:r,...i}=e;return i};const Ho=ao(function(e,t){[e,t]=W(e,t,Bo);let{hoverProps:n,isHovered:i}=li({...e,isDisabled:e.disabled}),{isFocused:a,isFocusVisible:o,focusProps:s}=Mi({isTextInput:!0,autoFocus:e.autoFocus}),c=!!e[`aria-invalid`]&&e[`aria-invalid`]!==`false`,l=U({...e,values:{isHovered:i,isFocused:a,isFocusVisible:o,isDisabled:e.disabled||!1,isInvalid:c},defaultClassName:`react-aria-Input`});return r.createElement(`input`,{...L(Vo(e),s,n),...l,ref:t,"data-focused":a||void 0,"data-disabled":e.disabled||void 0,"data-hovered":i||void 0,"data-focus-visible":o||void 0,"data-invalid":c||void 0})}),Uo=i(null);function Wo(e){let t=d({});return r.createElement(Uo.Provider,{value:t},e.children)}const Go=i({isSelected:!1}),Ko=i(null),qo=i(null),Jo=a(function(e,t){let n=e[`aria-labelledby`];[e,t]=W(e,t,Ko);let{dialogProps:i,titleProps:a}=mo({...e,"aria-labelledby":n},t),o=s(qo);!i[`aria-label`]&&!i[`aria-labelledby`]&&e[`aria-labelledby`]&&(i[`aria-labelledby`]=e[`aria-labelledby`]);let c=U({defaultClassName:`react-aria-Dialog`,className:e.className,style:e.style,children:e.children,values:{close:o?.close||(()=>{})}}),l=R(e,{global:!0});return r.createElement(`section`,{...L(l,c,i),ref:t,slot:e.slot||void 0},r.createElement(_n,{values:[[ze,{slots:{[gn]:{},title:{...a,level:2}}}],[xo,{slots:{[gn]:{},close:{onPress:()=>o?.close()}}}]]},c.children))}),Yo=i(null),Xo=i(null),Zo=a(function(e,t){if(s(Xo))return r.createElement(ts,{...e,modalRef:t},e.children);let{isDismissable:n,isKeyboardDismissDisabled:i,isOpen:a,defaultOpen:o,onOpenChange:c,children:l,isEntering:u,isExiting:d,UNSTABLE_portalContainer:f,shouldCloseOnInteractOutside:p,...m}=e;return r.createElement($o,{isDismissable:n,isKeyboardDismissDisabled:i,isOpen:a,defaultOpen:o,onOpenChange:c,isEntering:u,isExiting:d,UNSTABLE_portalContainer:f,shouldCloseOnInteractOutside:p},r.createElement(ts,{...m,modalRef:t},l))});function Qo(e,t){[e,t]=W(e,t,Yo);let n=s(qo),i=Do(e),a=e.isOpen!=null||e.defaultOpen!=null||!n?i:n,o=Ht(t),c=d(null),l=tn(o,a.isOpen),u=tn(c,a.isOpen),f=l||u||e.isExiting||!1,p=$e();return!a.isOpen&&!f||p?null:r.createElement(es,{...e,state:a,isExiting:f,overlayRef:o,modalRef:c})}const $o=a(Qo);function es({UNSTABLE_portalContainer:e,...t}){let n=t.modalRef,{state:i}=t,{modalProps:a,underlayProps:o}=Ra(t,i,n),s=en(t.overlayRef)||t.isEntering||!1,c=U({...t,defaultClassName:`react-aria-ModalOverlay`,values:{isEntering:s,isExiting:t.isExiting,state:i}}),l=Yt(),u;if(typeof document<`u`){let e=Gt(document.body)?document.body:document.scrollingElement||document.documentElement,t=e.getBoundingClientRect().height%1;u=e.scrollHeight-t}let d={...c.style,"--visual-viewport-height":l.height+`px`,"--page-height":u===void 0?void 0:u+`px`};return r.createElement(Ia,{isExiting:t.isExiting,portalContainer:e},r.createElement(`div`,{...L(R(t,{global:!0}),o),...c,style:d,ref:t.overlayRef,"data-entering":s||void 0,"data-exiting":t.isExiting||void 0},r.createElement(_n,{values:[[Xo,{modalProps:a,modalRef:n,isExiting:t.isExiting,isDismissable:t.isDismissable}],[qo,i]]},c.children)))}function ts(e){let{modalProps:t,modalRef:n,isExiting:i,isDismissable:a}=s(Xo),o=s(qo),c=Ht(l(()=>ft(e.modalRef,n),[e.modalRef,n])),u=en(c),d=U({...e,defaultClassName:`react-aria-Modal`,values:{isEntering:u,isExiting:i,state:o}});return r.createElement(`div`,{...L(R(e,{global:!0}),t),...d,ref:c,"data-entering":u||void 0,"data-exiting":i||void 0},a&&r.createElement(ja,{onDismiss:o.close}),d.children)}const ns=i(null),rs=i(null),is=i(null),as=a(function(e,t){[e,t]=W(e,t,ns);let{validationBehavior:n}=yn(Po)||{},i=e.validationBehavior??n??`native`,a=Ao({...e,validationBehavior:i}),[o,s]=bn(!e[`aria-label`]&&!e[`aria-labelledby`]),{radioGroupProps:c,labelProps:l,descriptionProps:u,errorMessageProps:d,...f}=_o({...e,label:s,validationBehavior:i},a),p=U({...e,values:{orientation:e.orientation||`vertical`,isDisabled:a.isDisabled,isReadOnly:a.isReadOnly,isRequired:a.isRequired,isInvalid:a.isInvalid,state:a},defaultClassName:`react-aria-RadioGroup`}),m=R(e,{global:!0});return r.createElement(`div`,{...L(m,p,c),ref:t,slot:e.slot||void 0,"data-orientation":e.orientation||`vertical`,"data-invalid":a.isInvalid||void 0,"data-disabled":a.isDisabled||void 0,"data-readonly":a.isReadOnly||void 0,"data-required":a.isRequired||void 0},r.createElement(_n,{values:[[is,a],[vo,{...l,ref:o,elementType:`span`}],[wo,{slots:{description:u,errorMessage:d}}],[jo,f]]},r.createElement(Wo,null,p.children)))}),os=a(function(e,t){let{inputRef:n=null,...i}=e;[e,t]=W(i,t,rs);let a=r.useContext(is),o=Ht(l(()=>ft(n,e.inputRef===void 0?null:e.inputRef),[n,e.inputRef])),{labelProps:s,inputProps:c,isSelected:u,isDisabled:d,isPressed:f}=go({...xn(e),children:typeof e.children==`function`?!0:e.children},a,o),{isFocused:p,isFocusVisible:m,focusProps:h}=Mi(),g=d||a.isReadOnly,{hoverProps:_,isHovered:v}=li({...e,isDisabled:g}),y=U({...e,defaultClassName:`react-aria-Radio`,values:{isSelected:u,isPressed:f,isHovered:v,isFocused:p,isFocusVisible:m,isDisabled:d,isReadOnly:a.isReadOnly,isInvalid:a.isInvalid,isRequired:a.isRequired}}),b=R(e,{global:!0});return delete b.id,delete b.onClick,r.createElement(`label`,{...L(b,s,_,y),ref:t,"data-selected":u||void 0,"data-pressed":f||void 0,"data-hovered":v||void 0,"data-focused":p||void 0,"data-focus-visible":m||void 0,"data-disabled":d||void 0,"data-readonly":a.isReadOnly||void 0,"data-invalid":a.isInvalid||void 0,"data-required":a.isRequired||void 0},r.createElement(ka,{elementType:`span`},r.createElement(`input`,{...L(c,h),ref:o})),r.createElement(Go.Provider,{value:{isSelected:u}},y.children))}),ss=i({});let cs=e=>{let{onHoverStart:t,onHoverChange:n,onHoverEnd:r,...i}=e;return i};const ls=a(function(e,t){[e,t]=W(e,t,ss);let{hoverProps:n,isHovered:i}=li(e),{isFocused:a,isFocusVisible:o,focusProps:s}=Mi({isTextInput:!0,autoFocus:e.autoFocus}),c=!!e[`aria-invalid`]&&e[`aria-invalid`]!==`false`,l=U({...e,values:{isHovered:i,isFocused:a,isFocusVisible:o,isDisabled:e.disabled||!1,isInvalid:c},defaultClassName:`react-aria-TextArea`});return r.createElement(`textarea`,{...L(cs(e),s,n),...l,ref:t,"data-focused":a||void 0,"data-disabled":e.disabled||void 0,"data-hovered":i||void 0,"data-focus-visible":o||void 0,"data-invalid":c||void 0})}),us=i(null),ds=ao(function(e,t){[e,t]=W(e,t,us);let{validationBehavior:n}=yn(Po)||{},i=e.validationBehavior??n??`native`,a=d(null);[e,a]=W(e,a,Be);let[s,c]=bn(!e[`aria-label`]&&!e[`aria-labelledby`]),[l,u]=f(`input`),{labelProps:p,inputProps:m,descriptionProps:h,errorMessageProps:g,..._}=ro({...xn(e),inputElementType:l,label:c,validationBehavior:i},a),v=o(e=>{a.current=e,e&&u(e instanceof HTMLTextAreaElement?`textarea`:`input`)},[a]),y=U({...e,values:{isDisabled:e.isDisabled||!1,isInvalid:_.isInvalid,isReadOnly:e.isReadOnly||!1,isRequired:e.isRequired||!1},defaultClassName:`react-aria-TextField`}),b=R(e,{global:!0});return delete b.id,r.createElement(`div`,{...b,...y,ref:t,slot:e.slot||void 0,"data-disabled":e.isDisabled||void 0,"data-invalid":_.isInvalid||void 0,"data-readonly":e.isReadOnly||void 0,"data-required":e.isRequired||void 0},r.createElement(_n,{values:[[vo,{...p,ref:s}],[Bo,{...m,ref:v}],[ss,{...m,ref:v}],[zo,{role:`presentation`,isInvalid:_.isInvalid,isDisabled:e.isDisabled||!1}],[wo,{slots:{description:h,errorMessage:g}}],[jo,_]]},y.children))}),fs=({title:e,description:t,classNames:n})=>{let{survey:r,dismiss:i}=ke();if(!r)return null;let a=t||r.confirmation.description;return b(v,{children:[y(`div`,{className:x(`cf-question`,n?.question),children:b(`div`,{className:x(`cf-header`,n?.header),children:[y(yo,{className:x(`cf-title`,n?.title),children:e||r.confirmation.title||`Feedback submitted!`}),a&&y(To,{slot:`description`,className:x(`cf-description`,n?.description),children:a})]})}),y(So,{className:`cf-submit-button`,onPress:i,children:r.confirmation.buttonText||`Close`})]})},ps=({className:e,iconClassName:t,onClose:n})=>y(`button`,{type:`button`,className:e,"aria-label":`Dismiss`,onClick:n,children:y(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 16 16`,fill:`none`,className:t,children:y(`path`,{fill:`currentColor`,fillRule:`evenodd`,d:`M3.53 3.529c.26-.26.682-.26.942 0l3.529 3.528 3.528-3.528a.667.667 0 0 1 .943.942L8.943 8l3.53 3.528a.667.667 0 0 1-.944.943L8.001 8.943 4.472 12.47a.667.667 0 1 1-.943-.943L7.058 8 3.529 4.47a.667.667 0 0 1 0-.942Z`,clipRule:`evenodd`})})}),ms=({children:e,classNames:t,onDismiss:n,isDismissable:r=!0,closeOnFinishMs:i=3e3})=>{let{survey:a,surveyId:o,dismiss:s}=ke(),[c,l]=f(!1);return h(()=>{a&&s()},c?i:null),y($o,{isOpen:!0,isDismissable:r,isKeyboardDismissDisabled:!r,onOpenChange:async e=>{e||(await s(),n?.())},className:x(`confetti-modal-overlay`,t?.overlay),children:y(Zo,{className:x(`confetti-modal`,t?.modal),children:b(Jo,{"aria-label":`Survey`,id:`${o}-popover`,className:x(`confetti-modal-dialog`,t?.dialog),children:[r&&y(ps,{className:x(`confetti-modal-dialog-close`,t?.closeButton),iconClassName:t?.icon,onClose:async()=>{await s(),n?.()}}),typeof e==`function`?e({setIsFinished:()=>l(!0)}):e]})})})},hs=({children:e,classNames:t,containerProps:n,onDismiss:r,closeOnFinishMs:i=3e3})=>{let{surveyId:a,survey:o,dismiss:s}=ke(),[c,l]=f(!1);return h(()=>{o&&s()},c?i:null),b(`div`,{className:x(`confetti-dialog`,t?.dialog),id:`${a}-popover`,...n,children:[y(ps,{className:x(`confetti-dialog-close`,t?.closeButton),iconClassName:t?.icon,onClose:async()=>{await s(),r?.()}}),typeof e==`function`?e({setIsFinished:()=>l(!0)}):e]})},gs=({id:e,title:t,description:n,properties:r,onChange:i,classNames:a,required:o,error:s})=>{let[l,u]=f(``);return c(()=>{i(l)},[i,l]),b(ds,{isRequired:o,isInvalid:!!s,name:e,className:x(`cf-question`,a?.question),value:l,onChange:e=>{u(e),i(e)},children:[b(`div`,{className:x(`cf-header`,a?.header),children:[b(yo,{className:x(`cf-title`,a?.title),children:[t,!o&&b(`span`,{className:x(`cf-label-optional`,a?.optionalLabel),children:[` `,`(optional)`]})]}),n&&y(To,{slot:`description`,className:x(`cf-description`,a?.description),children:n})]}),y(ls,{className:x(`cf-textarea`,a?.textarea),maxLength:r.max,rows:4,placeholder:r.placeholder||`Start typing...`}),y(Mo,{className:x(`cf-error`,a?.error),children:s})]})},_s=({children:e,classNames:t,description:n,...r})=>y(Ro,{...r,children:({isIndeterminate:r})=>b(v,{children:[b(`div`,{className:x(`cf-choice-label`,t?.label),children:[y(`div`,{className:x(`cf-checkbox-indicator`,t?.indicator),children:y(`svg`,{viewBox:`0 0 18 18`,"aria-hidden":`true`,className:x(`cf-checkbox-indicator-svg`,t?.svg),children:r?y(`rect`,{x:1,y:7.5,width:16,height:3}):y(`polyline`,{points:`2 9 7 14 16 4`})},r?`indeterminate`:`check`)}),e]}),n&&y(`span`,{className:x(`cf-choice-description`,t?.choiceDescription),children:n})]})}),vs=({children:e,classNames:t,...n})=>y(Ro,{...n,children:y(`div`,{className:x(`cf-tag-label`,t?.tagLabel),children:e})}),ys=({title:e,description:t,properties:n,classNames:r,onChange:i,id:a,required:o,error:s})=>{let u=!!n.editable,p=n.display??`checkbox`,[m,h]=f([]),[g,_]=f(``),S=d(null),C=d(null),w=l(()=>{let e=m.indexOf(A);if(e===-1)return m;let t=[...m];return t[e]=g||A,t},[g,m]),T=p===`tag`;return c(()=>{i(w)},[i,w]),y(Lo,{isRequired:o,isInvalid:!!s,name:a,value:m,onChange:h,className:x(`cf-question`,r?.question),children:({state:i})=>b(v,{children:[b(`div`,{className:x(`cf-header`,r?.header),children:[b(yo,{className:x(`cf-title`,r?.title),children:[e,!o&&b(`span`,{className:x(`cf-label-optional`,r?.optionalLabel),children:[` `,`(optional)`]})]}),t&&y(To,{slot:`description`,className:x(`cf-description`,r?.description),children:t})]}),b(`div`,{className:x(`cf-response-choices`,p===`tag`&&`cf-response-choices-tag`,r?.group),children:[n.options.map((e,t)=>y(T?vs:_s,{className:x(`cf-choice`,T&&[`cf-tag`,r?.tag],!T&&[`cf-checkbox`,r?.checkbox]),description:e.description,value:e.value,classNames:{tag:r?.tag,tagLabel:r?.tagLabel,choiceDescription:r?.choiceDescription,label:r?.label,indicator:r?.indicator,svg:r?.svg},children:e.value},t)),u&&(T?b(v,{children:[y(vs,{inputRef:S,onChange:e=>{C.current&&e&&requestAnimationFrame(()=>{C.current&&C.current.focus()})},className:x(`cf-choice cf-tag`,r?.tag),value:A,children:n.editable?.label}),y(Ho,{"data-visible":i.value.includes(A)||void 0,value:g,onChange:e=>{_(e.target.value)},ref:C,className:x(`cf-input cf-tag-input`,r?.othersInput)})]}):b(`div`,{className:x(`cf-choice cf-others-choice`,r?.othersChoice),children:[y(_s,{inputRef:S,onChange:e=>{C.current&&e&&requestAnimationFrame(()=>{C.current&&C.current.focus()})},className:x(`cf-checkbox`,r?.checkbox),value:A,classNames:{indicator:r?.indicator,svg:r?.svg},description:n.editable?.description,children:n.editable?.label}),y(Ho,{value:g,onChange:e=>{_(e.target.value)},tabIndex:i.value.includes(A)?0:-1,ref:C,onFocus:()=>{S.current?.checked===!1&&S.current.click()},className:x(`cf-input`,r?.othersInput)})]}))]}),y(Mo,{className:x(`cf-error`,r?.error),children:s})]})})},bs=e=>b(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:40,height:40,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,...e,children:[y(`circle`,{cx:12,cy:12,r:10}),y(`path`,{d:`M16 16s-1.5-2-4-2-4 2-4 2M7.5 8 10 9M14 9l2.5-1M9 10h.01M15 10h.01`})]}),xs=e=>b(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:40,height:40,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,...e,children:[y(`circle`,{cx:12,cy:12,r:10}),y(`path`,{d:`M18 13a6 6 0 0 1-6 5 6 6 0 0 1-6-5h12ZM9 9h.01M15 9h.01`})]}),Ss=e=>b(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:40,height:40,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,...e,children:[y(`circle`,{cx:12,cy:12,r:10}),y(`path`,{d:`M16 16s-1.5-2-4-2-4 2-4 2M9 9h.01M15 9h.01`})]}),Cs=e=>b(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:40,height:40,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,...e,children:[y(`circle`,{cx:12,cy:12,r:10}),y(`path`,{d:`M8 15h8M9 9h.01M15 9h.01`})]}),ws=e=>b(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:40,height:40,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,...e,children:[y(`circle`,{cx:12,cy:12,r:10}),y(`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2M9 9h.01M15 9h.01`})]}),Ts=e=>y(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:40,height:40,fill:`none`,...e,children:y(`path`,{fill:`currentColor`,d:`m6.516 14.323-1.49 6.452a.998.998 0 0 0 1.529 1.057L12 18.202l5.445 3.63a1.001 1.001 0 0 0 1.517-1.106l-1.829-6.4 4.536-4.082a1 1 0 0 0-.59-1.74l-5.701-.454-2.467-5.461a.998.998 0 0 0-1.822 0L8.622 8.05l-5.701.453a1 1 0 0 0-.619 1.713l4.214 4.107zm2.853-4.326a.998.998 0 0 0 .832-.586L12 5.43l1.799 3.981a.998.998 0 0 0 .832.586l3.972.315-3.271 2.944c-.284.256-.397.65-.293 1.018l1.253 4.385-3.736-2.491a.995.995 0 0 0-1.109 0l-3.904 2.603 1.05-4.546a1 1 0 0 0-.276-.94l-3.038-2.962 4.09-.326z`})}),Es=e=>y(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:40,height:40,viewBox:`0 0 24 24`,...e,children:y(`path`,{fill:`currentColor`,d:`M21.947 9.179a1.001 1.001 0 0 0-.868-.676l-5.701-.453-2.467-5.461a.998.998 0 0 0-1.822-.001L8.622 8.05l-5.701.453a1 1 0 0 0-.619 1.713l4.213 4.107-1.49 6.452a1 1 0 0 0 1.53 1.057L12 18.202l5.445 3.63a1.001 1.001 0 0 0 1.517-1.106l-1.829-6.4 4.536-4.082c.297-.268.406-.686.278-1.065z`})}),Ds=({state:e,properties:t,classNames:n})=>{let r=e.selectedValue?Number(e.selectedValue):null;return y(`div`,{className:x(`cf-rating-display-star`,n?.ratingDisplayStar),children:Array.from({length:t.scale},(e,t)=>{let i=t+1,a=String(i),o=r&&i<=r;return y(os,{className:x(`cf-rating-star`,n?.ratingStar),value:a,"data-filled":o?`true`:void 0,children:y(o?Es:Ts,{})},t)})})},Os=({properties:e,classNames:t})=>y(`div`,{className:x(`cf-rating-display-number`,t?.ratingDisplayNumber),children:Array.from({length:e.scale},(e,n)=>{let r=n+1,i=String(r);return y(os,{className:x(`cf-rating-number`,t?.ratingNumber),value:i,children:r},n)})}),ks=({properties:e,classNames:t,state:n})=>{let r=l(()=>[bs,Ss,Cs,ws,xs],[]),i=l(()=>[Ss,Cs,ws],[]);return l(()=>e.scale===3||e.scale===5,[e.scale])?y(`div`,{className:x(`cf-rating-display-emoji`,t?.ratingDisplayEmoji),children:Array.from({length:e.scale},(n,a)=>{let o=a+1,s=String(o),c=e.scale===5?r[a]:i[a];return y(os,{className:x(`cf-rating-emoji`,t?.ratingEmoji),value:s,children:c&&y(c,{})},a)})}):y(Os,{properties:e,classNames:t,state:n})},As=e=>{switch(e.properties.display??`star`){case`emoji`:return y(ks,{...e});case`number`:return y(Os,{...e});case`star`:return y(Ds,{...e})}},js=({properties:e,title:t,description:n,classNames:r,onChange:i,id:a,error:o,required:s})=>{let[u,d]=f(null),p=l(()=>u?Number(u):void 0,[u]);return c(()=>{i(p)},[i,p]),y(as,{isRequired:s,isInvalid:!!o,name:a,className:x(`cf-question`,r?.question),value:u,onChange:d,children:({state:i})=>b(v,{children:[b(`div`,{className:x(`cf-header`,r?.header),children:[b(yo,{className:x(`cf-title`,r?.title),children:[t,!s&&b(`span`,{className:x(`cf-label-optional`,r?.optionalLabel),children:[` `,`(optional)`]})]}),n&&y(To,{slot:`description`,className:x(`cf-description`,r?.description),children:n})]}),b(`div`,{className:x(`cf-rating-section`,r?.ratingSection),children:[y(As,{state:i,properties:e,classNames:r}),b(`div`,{className:x(`cf-rating-text`,r?.ratingText),children:[y(`span`,{className:x(`cf-rating-text-lower`,r?.ratingTextLower),children:e.labels?.lower}),y(`span`,{className:x(`cf-rating-text-upper`,r?.ratingTextUpper),children:e.labels?.upper})]})]}),y(Mo,{className:x(`cf-error`,r?.error),children:o})]})})},Ms=({classNames:e,className:t,description:n,...r})=>y(os,{...r,className:x(t,e?.radio),children:vn(r.children,t=>b(v,{children:[b(`div`,{className:x(`cf-choice-label`,e?.label),children:[y(`div`,{className:x(`cf-radio-indicator`,e?.indicator)}),t]}),n&&y(`span`,{className:x(`cf-choice-description`,e?.choiceDescription),children:n})]}))}),Ns=({title:e,description:t,properties:n,classNames:r,onChange:i,id:a,required:o,error:s})=>{let[u,p]=f(null),[m,h]=f(``),g=!!n.editable,_=d(null),S=d(null),C=l(()=>u===he?m||he:u??void 0,[m,u]);return c(()=>{i(C)},[i,C]),y(as,{isRequired:o,isInvalid:!!s,name:a,onChange:e=>{p(e),e===he&&requestAnimationFrame(()=>{S.current&&S.current.focus()})},value:u,className:x(`cf-question`,r?.question),children:({state:i})=>b(v,{children:[b(`div`,{className:x(`cf-header`,r?.header),children:[b(yo,{className:x(`cf-title`,r?.title),children:[e,!o&&b(`span`,{className:x(`cf-label-optional`,r?.optionalLabel),children:[` `,`(optional)`]})]}),t&&y(To,{slot:`description`,className:x(`cf-description`,r?.description),children:t})]}),b(`div`,{className:x(`cf-response-choices`,r?.group),children:[n.options.map((e,t)=>y(Ms,{classNames:{indicator:r?.indicator,radio:x(`cf-choice cf-radio`,r?.radio)},value:e.value,description:e.description,children:e.value},t)),g&&b(`div`,{className:x(`cf-choice cf-others-choice`,r?.othersChoice),children:[y(Ms,{inputRef:_,value:he,classNames:{indicator:r?.indicator,radio:x(`cf-radio`,r?.radio)},description:n.editable?.description,children:n.editable?.label}),y(Ho,{tabIndex:i.selectedValue===he?0:-1,ref:S,value:m,onChange:e=>h(e.target.value),onFocus:()=>{_.current?.checked===!1&&_.current.click()},className:x(`cf-input`,r?.othersInput)})]})]}),y(Mo,{className:x(`cf-error`,r?.error),children:s})]})})},Ps=({properties:e,title:t,description:n,classNames:r})=>y(`div`,{className:x(`cf-question`,r?.question),children:b(`div`,{className:x(`cf-header`,r?.header),children:[t&&y(`div`,{className:x(`cf-title`,r?.title),children:t}),n&&y(`div`,{className:x(`cf-description`,r?.description),children:n})]})}),Fs=({question:e,onChange:t,error:n})=>{switch(e.properties.type){case`rating`:return y(js,{...e,properties:e.properties,onChange:t,error:n},e.id);case`open-ended`:return y(gs,{...e,properties:e.properties,onChange:t,error:n},e.id);case`single-select`:return y(Ns,{...e,properties:e.properties,onChange:t,error:n},e.id);case`multi-select`:return y(ys,{...e,properties:e.properties,onChange:t,error:n},e.id);case`statement`:return y(Ps,{...e,properties:e.properties,onChange:t,error:n},e.id)}return y(`div`,{children:`Unsupported question type`},e.id)},Is=({onPress:e,isDisabled:t,children:n=`Submit`})=>y(So,{isDisabled:t,className:`cf-submit-button`,onPress:e,children:n}),Ls=e=>{switch(e){case`multi-select`:return[];case`statement`:return;default:return``}},Rs=e=>e!==void 0&&e!==``&&!(Array.isArray(e)&&e.length===0),zs=({onSubmit:e,children:n,question:r,isLastQuestion:i})=>{let[a,s]=f(Ls(r.properties.type)),c=l(()=>je(r.properties,{required:r.required}),[r.properties,r.required]),u=l(()=>{let e=c.safeParse(a);if(!e.success)return w(e.error)},[a,c]),d=l(()=>{let e=r.routingLogic;if(e.type!==`always`&&!Rs(a)&&r.required)return!0;let n=e.type===`always`?e.target:e.cases.find(e=>t({answer:a,condition:e}))?.target??e.default;return n.type===`end`?!1:n.type===`next`?!i:!0},[a,i,r.required,r.routingLogic]),p=l(()=>r.properties.buttonLabel?r.properties.buttonLabel:d?!r.required&&!Rs(a)?`Skip`:`Next`:`Submit`,[a,d,r.properties.buttonLabel,r.required]),m=o(()=>{switch(r.properties.type){case`statement`:if(r.properties.buttonUrl&&typeof window<`u`){let e=ie.safeParse(r.properties.buttonUrl).data;e&&window.open(e,`_blank`)}return e(void 0);default:return e(a)}},[a,e,r.properties]),h=l(()=>{switch(r.properties.type){case`rating`:case`single-select`:return!!r.properties.shouldAutoProgress;default:return!1}},[r.properties]);return b(v,{children:[n({onChange:o(t=>{s(t),h&&Rs(t)&&c.safeParse(t).success&&e(t)},[h,c,e]),question:r,error:u}),(!h||!r.required)&&y(Is,{isDisabled:!!u,onPress:m,children:p})]})},Bs=({isCompleted:e,onSubmit:t,children:n})=>b(v,{children:[n,e&&y(Is,{onPress:t})]}),Vs=e=>y(Le,{...e,shouldAutoSubmit:!1,children:({questions:e,update:t,isCompleted:n,submit:r,isSubmitted:i,errors:a})=>i?y(fs,{}):y(Bs,{onSubmit:r,isCompleted:n,children:e.filter(({visible:e})=>!!e).map(e=>y(Fs,{question:e,error:a[e.id]||``,onChange:n=>t({question:e.position,answer:n})},e.position))})}),Hs=({onDismiss:e,closeOnFinishMs:t,isDismissable:r,...i})=>y(n,{fallback:y(v,{}),children:y(Oe,{...i,children:y(ms,{onDismiss:e,closeOnFinishMs:t,isDismissable:r,children:({setIsFinished:e})=>y(Ie,{...i,shouldAutoSubmit:!1,onFinished:()=>{e(),i.onFinished?.()},children:({questions:e,update:t,isCompleted:n,errors:r,submit:i,isSubmitted:a})=>a?y(fs,{}):y(Bs,{onSubmit:i,isCompleted:n,children:e.filter(({visible:e})=>!!e).map(e=>y(Fs,{question:e,error:r[e.id]||``,onChange:n=>t({question:e.position,answer:n})},e.position))})})})})}),Us=({onDismiss:e,closeOnFinishMs:t,...r})=>y(n,{fallback:y(v,{}),children:y(Oe,{...r,children:y(hs,{onDismiss:e,closeOnFinishMs:t,children:({setIsFinished:e})=>y(Ie,{shouldAutoSubmit:!0,...r,onFinished:()=>{e(),r.onFinished?.()},children:({current:e,questions:t,update:n,isSubmitted:r})=>{let i=e===t.length-1;if(r)return y(fs,{});let a=t[e];return a?y(zs,{isLastQuestion:i,question:a,onSubmit:t=>n({question:e,answer:t}),children:e=>y(Fs,{...e})}):y(v,{})}})})})}),Ws=e=>y(Le,{...e,shouldAutoSubmit:!0,children:({current:e,questions:t,update:n,isSubmitted:r})=>{let i=e===t.length-1;if(r)return y(fs,{});let a=t[e];return a?y(zs,{isLastQuestion:i,question:a,onSubmit:t=>n({question:e,answer:t}),children:e=>y(Fs,{...e})}):y(v,{})}}),Gs=({delay:e})=>{let[t,n]=f(!1),r=l(()=>e,[]);return c(()=>{let e=setTimeout(()=>{n(!0)},r);return()=>clearTimeout(e)},[]),{isVisible:t}},Ks=({visits:e,respondent:t})=>{let[n,r]=p(`cfti:${l(()=>window.location.pathname,[])}:visits:${t??``}`,0);return c(()=>{r(e=>e+1)},[r]),{isVisible:n>=e,reset:o(()=>r(0),[r])}},qs=({visits:e,respondent:t})=>{let[n,r]=m(`cfti:${l(()=>window.location.pathname,[])}:visits:${t??``}`,0);return c(()=>{r(e=>e+1)},[r]),{isVisible:n>=e,reset:o(()=>r(0),[r])}},Js=({threshold:e})=>{let[t,n]=f(()=>typeof window>`u`?!1:window.scrollY>=e);return c(()=>{let t=()=>{window.scrollY>=e&&n(!0)};return window.addEventListener(`scroll`,t,{passive:!0}),()=>window.removeEventListener(`scroll`,t)},[e]),{isVisible:t}};export{Le as Confetti,De as ConfettiContext,Ie as ConfettiController,Oe as ConfettiProvider,Bs as Embed,Vs as EmbeddedConfetti,zs as Flow,gs as FreeText,Hs as ModalConfetti,ms as ModalContainer,ys as MultiChoice,Us as PopoverConfetti,hs as PopoverContainer,js as Rating,Ns as SingleChoice,Ps as Statement,Ws as StepperConfetti,Fs as SurveyQuestionFactory,fs as ThankYouMessage,ke as useConfetti,Gs as useVisibleAfterDelay,Ks as useVisibleAfterPageVisits,Js as useVisibleAfterScroll,qs as useVisibleAfterSessionPageVisits};
11
+ }`,document.head.prepend(r);let i=n=>{if(!(n.touches.length===2||t)){if(!e||e===document.documentElement||e===document.body){n.preventDefault();return}e.scrollHeight===e.clientHeight&&e.scrollWidth===e.clientWidth&&n.preventDefault()}},a=e=>{let t=e.target,n=e.relatedTarget;n&&Jt(n)?(n.focus({preventScroll:!0}),Hi(n,Jt(t))):n||(t.parentElement?.closest(`[tabindex]`))?.focus({preventScroll:!0})},o=HTMLElement.prototype.focus;HTMLElement.prototype.focus=function(e){let t=document.activeElement!=null&&Jt(document.activeElement);o.call(this,{...e,preventScroll:!0}),(!e||!e.preventScroll)&&Hi(this,t)};let s=ot(Vi(document,`touchstart`,n,{passive:!1,capture:!0}),Vi(document,`touchmove`,i,{passive:!1,capture:!0}),Vi(document,`blur`,a,!0));return()=>{s(),r.remove(),HTMLElement.prototype.focus=o}}function Bi(e,t,n){let r=e.style[t];return e.style[t]=n,()=>{e.style[t]=r}}function Vi(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function Hi(e,t){t||!Pi?Ui(e):Pi.addEventListener(`resize`,()=>Ui(e),{once:!0})}function Ui(e){let t=document.scrollingElement||document.documentElement,n=e;for(;n&&n!==t;){let e=Kt(n);if(e!==document.documentElement&&e!==document.body&&e!==n){let t=e.getBoundingClientRect(),r=n.getBoundingClientRect();if(r.top<t.top||r.bottom>t.top+n.clientHeight){let n=t.bottom;Pi&&(n=Math.min(n,Pi.offsetTop+Pi.height));let i=r.top-t.top-((n-t.top)/2-r.height/2);e.scrollTo({top:Math.max(0,Math.min(e.scrollHeight-e.clientHeight,e.scrollTop+i)),behavior:`smooth`})}}n=e.parentElement}}const Wi=i({});function Gi(){return s(Wi)??{}}var Ki={};Ki={dismiss:`تجاهل`};var qi={};qi={dismiss:`Отхвърляне`};var Ji={};Ji={dismiss:`Odstranit`};var Yi={};Yi={dismiss:`Luk`};var Xi={};Xi={dismiss:`Schließen`};var Zi={};Zi={dismiss:`Απόρριψη`};var Qi={};Qi={dismiss:`Dismiss`};var $i={};$i={dismiss:`Descartar`};var ea={};ea={dismiss:`Lõpeta`};var ta={};ta={dismiss:`Hylkää`};var na={};na={dismiss:`Rejeter`};var ra={};ra={dismiss:`התעלם`};var ia={};ia={dismiss:`Odbaci`};var aa={};aa={dismiss:`Elutasítás`};var oa={};oa={dismiss:`Ignora`};var sa={};sa={dismiss:`閉じる`};var ca={};ca={dismiss:`무시`};var la={};la={dismiss:`Atmesti`};var ua={};ua={dismiss:`Nerādīt`};var da={};da={dismiss:`Lukk`};var fa={};fa={dismiss:`Negeren`};var pa={};pa={dismiss:`Zignoruj`};var ma={};ma={dismiss:`Descartar`};var ha={};ha={dismiss:`Dispensar`};var ga={};ga={dismiss:`Revocare`};var _a={};_a={dismiss:`Пропустить`};var va={};va={dismiss:`Zrušiť`};var ya={};ya={dismiss:`Opusti`};var ba={};ba={dismiss:`Odbaci`};var xa={};xa={dismiss:`Avvisa`};var Sa={};Sa={dismiss:`Kapat`};var Ca={};Ca={dismiss:`Скасувати`};var wa={};wa={dismiss:`取消`};var Ta={};Ta={dismiss:`關閉`};var Ea={};Ea={"ar-AE":Ki,"bg-BG":qi,"cs-CZ":Ji,"da-DK":Yi,"de-DE":Xi,"el-GR":Zi,"en-US":Qi,"es-ES":$i,"et-EE":ea,"fi-FI":ta,"fr-FR":na,"he-IL":ra,"hr-HR":ia,"hu-HU":aa,"it-IT":oa,"ja-JP":sa,"ko-KR":ca,"lt-LT":la,"lv-LV":ua,"nb-NO":da,"nl-NL":fa,"pl-PL":pa,"pt-BR":ma,"pt-PT":ha,"ro-RO":ga,"ru-RU":_a,"sk-SK":va,"sl-SI":ya,"sr-SP":ba,"sv-SE":xa,"tr-TR":Sa,"uk-UA":Ca,"zh-CN":wa,"zh-TW":Ta};const Da={border:0,clip:`rect(0 0 0 0)`,clipPath:`inset(50%)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,width:`1px`,whiteSpace:`nowrap`};function Oa(e={}){let{style:t,isFocusable:n}=e,[r,i]=f(!1),{focusWithinProps:a}=ri({isDisabled:!n,onFocusWithinChange:e=>i(e)}),o=l(()=>r?t:t?{...Da,...t}:Da,[r]);return{visuallyHiddenProps:{...a,style:o}}}function ka(e){let{children:t,elementType:n=`div`,isFocusable:i,style:a,...o}=e,{visuallyHiddenProps:s}=Oa(e);return r.createElement(n,L(o,s),t)}function Aa(e){return e&&e.__esModule?e.default:e}function ja(e){let{onDismiss:t,...n}=e,i=Vt(n,Yn(Aa(Ea),`@react-aria/overlays`).format(`dismiss`)),a=()=>{t&&t()};return r.createElement(ka,null,r.createElement(`button`,{...i,tabIndex:-1,onClick:a,style:{width:1,height:1}}))}const Ma=typeof HTMLElement<`u`&&`inert`in HTMLElement.prototype;let Na=new WeakMap,$=[];function Pa(e,t){let n=N(e?.[0]),r=t instanceof n.Element?{root:t}:t,i=r?.root??document.body,a=r?.shouldUseInert&&Ma,o=new Set(e),s=new Set,c=e=>a&&e instanceof n.HTMLElement?e.inert:e.getAttribute(`aria-hidden`)===`true`,l=(e,t)=>{a&&e instanceof n.HTMLElement?e.inert=t:t?e.setAttribute(`aria-hidden`,`true`):(e.removeAttribute(`aria-hidden`),e instanceof n.HTMLElement&&(e.inert=!1))},u=e=>{for(let t of e.querySelectorAll(`[data-live-announcer], [data-react-aria-top-layer]`))o.add(t);let t=e=>{if(s.has(e)||o.has(e)||e.parentElement&&s.has(e.parentElement)&&e.parentElement.getAttribute(`role`)!==`row`)return NodeFilter.FILTER_REJECT;for(let t of o)if(e.contains(t))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:t}),r=t(e);if(r===NodeFilter.FILTER_ACCEPT&&d(e),r!==NodeFilter.FILTER_REJECT){let e=n.nextNode();for(;e!=null;)d(e),e=n.nextNode()}},d=e=>{let t=Na.get(e)??0;c(e)&&t===0||(t===0&&l(e,!0),s.add(e),Na.set(e,t+1))};$.length&&$[$.length-1].disconnect(),u(i);let f=new MutationObserver(e=>{for(let t of e)if(t.type===`childList`&&![...o,...s].some(e=>e.contains(t.target)))for(let e of t.addedNodes)(e instanceof HTMLElement||e instanceof SVGElement)&&(e.dataset.liveAnnouncer===`true`||e.dataset.reactAriaTopLayer===`true`)?o.add(e):e instanceof Element&&u(e)});f.observe(i,{childList:!0,subtree:!0});let p={visibleNodes:o,hiddenNodes:s,observe(){f.observe(i,{childList:!0,subtree:!0})},disconnect(){f.disconnect()}};return $.push(p),()=>{f.disconnect();for(let e of s){let t=Na.get(e);t!=null&&(t===1?(l(e,!1),Na.delete(e)):Na.set(e,t-1))}p===$[$.length-1]?($.pop(),$.length&&$[$.length-1].observe()):$.splice($.indexOf(p),1)}}const Fa=r.createContext(null);function Ia(e){let t=$e(),{portalContainer:n=t?null:document.body,isExiting:i}=e,[a,o]=f(!1),s=l(()=>({contain:a,setContain:o}),[a,o]),{getContainer:c}=Gi();if(!e.portalContainer&&c&&(n=c()),!n)return null;let u=e.children;return e.disableFocusManagement||(u=r.createElement(mi,{restoreFocus:!0,contain:(e.shouldContainFocus||a)&&!i},u)),u=r.createElement(Fa.Provider,{value:s},r.createElement(ni,null,u)),S.createPortal(u,n)}function La(){let e=s(Fa)?.setContain;j(()=>{e?.(!0)},[e])}function Ra(e,t,n){let{overlayProps:r,underlayProps:i}=Ni({...e,isOpen:t.isOpen,onClose:t.close},n);return Li({isDisabled:!t.isOpen}),La(),c(()=>{if(t.isOpen&&n.current)return Pa([n.current],{shouldUseInert:!0})},[t.isOpen,n]),{modalProps:L(r),underlayProps:i}}function za(e){let{id:t,label:n,"aria-labelledby":r,"aria-label":i,labelElementType:a=`label`}=e;t=rt(t);let o=rt(),s={};n&&(r=r?`${o} ${r}`:o,s={id:o,htmlFor:a===`label`?t:void 0});let c=Vt({id:t,"aria-label":i,"aria-labelledby":r});return{labelProps:s,fieldProps:c}}function Ba(e){let{description:t,errorMessage:n,isInvalid:r,validationState:i}=e,{labelProps:a,fieldProps:o}=za(e),s=at([!!t,!!n,r,i]),c=at([!!t,!!n,r,i]);return o=L(o,{"aria-describedby":[s,c,e[`aria-describedby`]].filter(Boolean).join(` `)||void 0}),{labelProps:a,fieldProps:o,descriptionProps:{id:s},errorMessageProps:{id:c}}}const Va={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valueMissing:!1,valid:!0},Ha={...Va,customError:!0,valid:!1},Ua={isInvalid:!1,validationDetails:Va,validationErrors:[]},Wa=i({}),Ga=`__formValidationState`+Date.now();function Ka(e){if(e[Ga]){let{realtimeValidation:t,displayValidation:n,updateValidation:r,resetValidation:i,commitValidation:a}=e[Ga];return{realtimeValidation:t,displayValidation:n,updateValidation:r,resetValidation:i,commitValidation:a}}return qa(e)}function qa(e){let{isInvalid:t,validationState:n,name:r,value:i,builtinValidation:a,validate:o,validationBehavior:u=`aria`}=e;n&&(t||=n===`invalid`);let p=t===void 0?null:{isInvalid:t,validationErrors:[],validationDetails:Ha},m=l(()=>!o||i==null?null:Xa(Ya(o,i)),[o,i]);a?.validationDetails.valid&&(a=void 0);let h=s(Wa),g=l(()=>r?Array.isArray(r)?r.flatMap(e=>Ja(h[e])):Ja(h[r]):[],[h,r]),[_,v]=f(h),[y,b]=f(!1);h!==_&&(v(h),b(!1));let x=l(()=>Xa(y?[]:g),[y,g]),S=d(Ua),[C,w]=f(Ua),T=d(Ua),E=()=>{if(!D)return;O(!1);let e=m||a||S.current;Za(e,T.current)||(T.current=e,w(e))},[D,O]=f(!1);return c(E),{realtimeValidation:p||x||m||a||Ua,displayValidation:u===`native`?p||x||C:p||x||m||a||C,updateValidation(e){u===`aria`&&!Za(C,e)?w(e):S.current=e},resetValidation(){let e=Ua;Za(e,T.current)||(T.current=e,w(e)),u===`native`&&O(!1),b(!0)},commitValidation(){u===`native`&&O(!0),b(!0)}}}function Ja(e){return e?Array.isArray(e)?e:[e]:[]}function Ya(e,t){if(typeof e==`function`){let n=e(t);if(n&&typeof n!=`boolean`)return Ja(n)}return[]}function Xa(e){return e.length?{isInvalid:!0,validationErrors:e,validationDetails:Ha}:null}function Za(e,t){return e===t?!0:!!e&&!!t&&e.isInvalid===t.isInvalid&&e.validationErrors.length===t.validationErrors.length&&e.validationErrors.every((e,n)=>e===t.validationErrors[n])&&Object.entries(e.validationDetails).every(([e,n])=>t.validationDetails[e]===n)}function Qa(...e){let t=new Set,n=!1,r={...Va};for(let o of e){var i,a;for(let e of o.validationErrors)t.add(e);for(let e in n||=o.isInvalid,r)(i=r)[a=e]||(i[a]=o.validationDetails[e])}return r.valid=!n,{isInvalid:n,validationErrors:[...t],validationDetails:r}}function $a(e,t,n){let{validationBehavior:r,focus:i}=e;j(()=>{if(r===`native`&&n?.current&&!n.current.disabled){let e=t.realtimeValidation.isInvalid?t.realtimeValidation.validationErrors.join(` `)||`Invalid value.`:``;n.current.setCustomValidity(e),n.current.hasAttribute(`title`)||(n.current.title=``),t.realtimeValidation.isInvalid||t.updateValidation(to(n.current))}});let a=d(!1),o=V(()=>{a.current||t.resetValidation()}),s=V(e=>{t.displayValidation.isInvalid||t.commitValidation();let r=n?.current?.form;if(!e.defaultPrevented&&n&&r&&no(r)===n.current){var a;i?i():(a=n.current)==null||a.focus(),Gr(`keyboard`)}e.preventDefault()}),l=V(()=>{t.commitValidation()});c(()=>{let e=n?.current;if(!e)return;let t=e.form,r=t?.reset;return t&&(t.reset=()=>{a.current=!window.event||window.event.type===`message`&&window.event.target instanceof MessagePort,r?.call(t),a.current=!1}),e.addEventListener(`invalid`,s),e.addEventListener(`change`,l),t?.addEventListener(`reset`,o),()=>{e.removeEventListener(`invalid`,s),e.removeEventListener(`change`,l),t?.removeEventListener(`reset`,o),t&&(t.reset=r)}},[n,r])}function eo(e){let t=e.validity;return{badInput:t.badInput,customError:t.customError,patternMismatch:t.patternMismatch,rangeOverflow:t.rangeOverflow,rangeUnderflow:t.rangeUnderflow,stepMismatch:t.stepMismatch,tooLong:t.tooLong,tooShort:t.tooShort,typeMismatch:t.typeMismatch,valueMissing:t.valueMissing,valid:t.valid}}function to(e){return{isInvalid:!e.validity.valid,validationDetails:eo(e),validationErrors:e.validationMessage?[e.validationMessage]:[]}}function no(e){for(let t=0;t<e.elements.length;t++){let n=e.elements[t];if(!n.validity.valid)return n}return null}function ro(e,t){let{inputElementType:n=`input`,isDisabled:i=!1,isRequired:a=!1,isReadOnly:o=!1,type:s=`text`,validationBehavior:c=`aria`}=e,[l,u]=hn(e.value,e.defaultValue||``,e.onChange),{focusableProps:d}=ti(e,t),p=Ka({...e,value:l}),{isInvalid:m,validationErrors:h,validationDetails:g}=p.displayValidation,{labelProps:_,fieldProps:v,descriptionProps:y,errorMessageProps:b}=Ba({...e,isInvalid:m,errorMessage:e.errorMessage||h}),x=R(e,{labelable:!0}),S={type:s,pattern:e.pattern},[C]=f(l);return $t(t,e.defaultValue??C,u),$a(e,p,t),{labelProps:_,inputProps:L(x,n===`input`?S:void 0,{disabled:i,readOnly:o,required:a&&c===`native`,"aria-required":a&&c===`aria`||void 0,"aria-invalid":m||void 0,"aria-errormessage":e[`aria-errormessage`],"aria-activedescendant":e[`aria-activedescendant`],"aria-autocomplete":e[`aria-autocomplete`],"aria-haspopup":e[`aria-haspopup`],"aria-controls":e[`aria-controls`],value:l,onChange:e=>u(e.target.value),autoComplete:e.autoComplete,autoCapitalize:e.autoCapitalize,maxLength:e.maxLength,minLength:e.minLength,name:e.name,form:e.form,placeholder:e.placeholder,inputMode:e.inputMode,autoCorrect:e.autoCorrect,spellCheck:e.spellCheck,[parseInt(r.version,10)>=17?`enterKeyHint`:`enterkeyhint`]:e.enterKeyHint,onCopy:e.onCopy,onCut:e.onCut,onPaste:e.onPaste,onCompositionEnd:e.onCompositionEnd,onCompositionStart:e.onCompositionStart,onCompositionUpdate:e.onCompositionUpdate,onSelect:e.onSelect,onBeforeInput:e.onBeforeInput,onInput:e.onInput,...d,...v}),descriptionProps:y,errorMessageProps:b,isInvalid:m,validationErrors:h,validationDetails:g}}if(typeof HTMLTemplateElement<`u`){let e=Object.getOwnPropertyDescriptor(Node.prototype,`firstChild`).get;Object.defineProperty(HTMLTemplateElement.prototype,`firstChild`,{configurable:!0,enumerable:!0,get:function(){return this.dataset.reactAriaHidden?this.content.firstChild:e.call(this)}})}const io=i(!1);function ao(e){let t=(t,n)=>s(io)?null:e(t,n);return t.displayName=e.displayName||e.name,a(t)}function oo(e,t){let{elementType:n=`button`,isDisabled:r,onPress:i,onPressStart:a,onPressEnd:o,onPressUp:s,onPressChange:c,preventFocusOnPress:l,allowFocusWhenDisabled:u,onClick:d,href:f,target:p,rel:m,type:h=`button`}=e,g;g=n===`button`?{type:h,disabled:r,form:e.form,formAction:e.formAction,formEncType:e.formEncType,formMethod:e.formMethod,formNoValidate:e.formNoValidate,formTarget:e.formTarget,name:e.name,value:e.value}:{role:`button`,href:n===`a`&&!r?f:void 0,target:n===`a`?p:void 0,type:n===`input`?h:void 0,disabled:n===`input`?r:void 0,"aria-disabled":!r||n===`input`?void 0:r,rel:n===`a`?m:void 0};let{pressProps:_,isPressed:v}=br({onPressStart:a,onPressEnd:o,onPressChange:c,onPress:i,onPressUp:s,onClick:d,isDisabled:r,preventFocusOnPress:l,ref:t}),{focusableProps:y}=ti(e,t);u&&(y.tabIndex=r?-1:y.tabIndex);let b=L(y,_,R(e,{labelable:!0}));return{isPressed:v,buttonProps:L(g,b,{"aria-haspopup":e[`aria-haspopup`],"aria-expanded":e[`aria-expanded`],"aria-controls":e[`aria-controls`],"aria-pressed":e[`aria-pressed`],"aria-current":e[`aria-current`],"aria-disabled":e[`aria-disabled`]})}}function so(e,t,n){let{isDisabled:r=!1,isReadOnly:i=!1,value:a,name:o,form:s,children:c,"aria-label":l,"aria-labelledby":u,validationState:d=`valid`,isInvalid:f,onPressStart:p,onPressEnd:m,onPressChange:h,onPress:g,onPressUp:_,onClick:v}=e,y=e=>{e.stopPropagation(),t.setSelected(e.target.checked)},{pressProps:b,isPressed:x}=br({onPressStart:p,onPressEnd:m,onPressChange:h,onPress:g,onPressUp:_,onClick:v,isDisabled:r}),{pressProps:S,isPressed:C}=br({onPressStart:p,onPressEnd:m,onPressChange:h,onPressUp:_,onClick:v,onPress(e){var r;g?.(e),t.toggle(),(r=n.current)==null||r.focus()},isDisabled:r||i}),{focusableProps:w}=ti(e,n),T=L(b,w),E=R(e,{labelable:!0});return $t(n,t.defaultSelected,t.setSelected),{labelProps:L(S,{onClick:e=>e.preventDefault()}),inputProps:L(E,{"aria-invalid":f||d===`invalid`||void 0,"aria-errormessage":e[`aria-errormessage`],"aria-controls":e[`aria-controls`],"aria-readonly":i||void 0,onChange:y,disabled:r,...a==null?{}:{value:a},name:o,form:s,type:`checkbox`,...T}),isSelected:t.isSelected,isPressed:x||C,isDisabled:r,isReadOnly:i,isInvalid:f||d===`invalid`}}function co(e,t,n){let r=Ka({...e,value:t.isSelected}),{isInvalid:i,validationErrors:a,validationDetails:o}=r.displayValidation,{labelProps:s,inputProps:u,isSelected:d,isPressed:f,isDisabled:p,isReadOnly:m}=so({...e,isInvalid:i},t,n);$a(e,r,n);let{isIndeterminate:h,isRequired:g,validationBehavior:_=`aria`}=e;c(()=>{n.current&&(n.current.indeterminate=!!h)});let{pressProps:v}=br({isDisabled:p||m,onPress(){let{[Ga]:t}=e,{commitValidation:n}=t||r;n()}});return{labelProps:L(s,v,l(()=>({onMouseDown:e=>e.preventDefault()}),[])),inputProps:{...u,checked:d,"aria-required":g&&_===`aria`||void 0,required:g&&_===`native`},isSelected:d,isPressed:f,isDisabled:p,isReadOnly:m,isInvalid:i,validationErrors:a,validationDetails:o}}const lo=new WeakMap;function uo(e,t){let{isDisabled:n,name:r,form:i,validationBehavior:a=`aria`}=e,{isInvalid:o,validationErrors:s,validationDetails:c}=t.displayValidation,{labelProps:l,fieldProps:u,descriptionProps:d,errorMessageProps:f}=Ba({...e,labelElementType:`span`,isInvalid:o,errorMessage:e.errorMessage||s});lo.set(t,{name:r,form:i,descriptionId:d.id,errorMessageId:f.id,validationBehavior:a});let p=R(e,{labelable:!0}),{focusWithinProps:m}=ri({onBlurWithin:e.onBlur,onFocusWithin:e.onFocus,onFocusWithinChange:e.onFocusChange});return{groupProps:L(p,{role:`group`,"aria-disabled":n||void 0,...u,...m}),labelProps:l,descriptionProps:d,errorMessageProps:f,isInvalid:o,validationErrors:s,validationDetails:c}}function fo(e={}){let{isReadOnly:t}=e,[n,r]=hn(e.isSelected,e.defaultSelected||!1,e.onChange),[i]=f(n);function a(e){t||r(e)}function o(){t||r(!n)}return{isSelected:n,defaultSelected:e.defaultSelected??i,setSelected:a,toggle:o}}function po(e,t,n){let r=fo({isReadOnly:e.isReadOnly||t.isReadOnly,isSelected:t.isSelected(e.value),defaultSelected:t.defaultValue.includes(e.value),onChange(n){n?t.addValue(e.value):t.removeValue(e.value),e.onChange&&e.onChange(n)}}),{name:i,form:a,descriptionId:o,errorMessageId:s,validationBehavior:l}=lo.get(t);l=e.validationBehavior??l;let{realtimeValidation:u}=Ka({...e,value:r.isSelected,name:void 0,validationBehavior:`aria`}),f=d(Ua),p=()=>{t.setInvalid(e.value,u.isInvalid?u:f.current)};c(p);let m=t.realtimeValidation.isInvalid?t.realtimeValidation:u,h=l===`native`?t.displayValidation:m,g=co({...e,isReadOnly:e.isReadOnly||t.isReadOnly,isDisabled:e.isDisabled||t.isDisabled,name:e.name||i,form:e.form||a,isRequired:e.isRequired??t.isRequired,validationBehavior:l,[Ga]:{realtimeValidation:m,displayValidation:h,resetValidation:t.resetValidation,commitValidation:t.commitValidation,updateValidation(e){f.current=e,p()}}},r,n);return{...g,inputProps:{...g.inputProps,"aria-describedby":[e[`aria-describedby`],t.isInvalid?s:null,o].filter(Boolean).join(` `)||void 0}}}function mo(e,t){let{role:n=`dialog`}=e,r=at();r=e[`aria-label`]?void 0:r;let i=d(!1);return c(()=>{if(t.current&&!t.current.contains(document.activeElement)){Yr(t.current);let e=setTimeout(()=>{(document.activeElement===t.current||document.activeElement===document.body)&&(i.current=!0,t.current&&(t.current.blur(),Yr(t.current)),i.current=!1)},500);return()=>{clearTimeout(e)}}},[t]),La(),{dialogProps:{...R(e,{labelable:!0}),role:n,tabIndex:-1,"aria-labelledby":e[`aria-labelledby`]||r,onBlur:e=>{i.current&&e.stopPropagation()}},titleProps:{id:r}}}const ho=new WeakMap;function go(e,t,n){let{value:r,children:i,"aria-label":a,"aria-labelledby":o,onPressStart:s,onPressEnd:c,onPressChange:u,onPress:d,onPressUp:f,onClick:p}=e,m=e.isDisabled||t.isDisabled,h=t.selectedValue===r,g=e=>{e.stopPropagation(),t.setSelectedValue(r)},{pressProps:_,isPressed:v}=br({onPressStart:s,onPressEnd:c,onPressChange:u,onPress:d,onPressUp:f,onClick:p,isDisabled:m}),{pressProps:y,isPressed:b}=br({onPressStart:s,onPressEnd:c,onPressChange:u,onPressUp:f,onClick:p,isDisabled:m,onPress(e){var i;d?.(e),t.setSelectedValue(r),(i=n.current)==null||i.focus()}}),{focusableProps:x}=ti(L(e,{onFocus:()=>t.setLastFocusedValue(r)}),n),S=L(_,x),C=R(e,{labelable:!0}),w=-1;t.selectedValue==null?(t.lastFocusedValue===r||t.lastFocusedValue==null)&&(w=0):t.selectedValue===r&&(w=0),m&&(w=void 0);let{name:T,form:E,descriptionId:D,errorMessageId:O,validationBehavior:ee}=ho.get(t);return $t(n,t.defaultSelectedValue,t.setSelectedValue),$a({validationBehavior:ee},t,n),{labelProps:L(y,l(()=>({onClick:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault()}),[])),inputProps:L(C,{...S,type:`radio`,name:T,form:E,tabIndex:w,disabled:m,required:t.isRequired&&ee===`native`,checked:h,value:r,onChange:g,"aria-describedby":[e[`aria-describedby`],t.isInvalid?O:null,D].filter(Boolean).join(` `)||void 0}),isDisabled:m,isSelected:h,isPressed:v||b}}function _o(e,t){let{name:n,form:r,isReadOnly:i,isRequired:a,isDisabled:o,orientation:s=`vertical`,validationBehavior:c=`aria`}=e,{direction:l}=In(),{isInvalid:u,validationErrors:d,validationDetails:f}=t.displayValidation,{labelProps:p,fieldProps:m,descriptionProps:h,errorMessageProps:g}=Ba({...e,labelElementType:`span`,isInvalid:t.isInvalid,errorMessage:e.errorMessage||d}),_=R(e,{labelable:!0}),{focusWithinProps:v}=ri({onBlurWithin(n){var r;(r=e.onBlur)==null||r.call(e,n),t.selectedValue||t.setLastFocusedValue(null)},onFocusWithin:e.onFocus,onFocusWithinChange:e.onFocusChange}),y=e=>{let n;switch(e.key){case`ArrowRight`:n=l===`rtl`&&s!==`vertical`?`prev`:`next`;break;case`ArrowLeft`:n=l===`rtl`&&s!==`vertical`?`next`:`prev`;break;case`ArrowDown`:n=`next`;break;case`ArrowUp`:n=`prev`;break;default:return}e.preventDefault();let r=X(e.currentTarget,{from:e.target,accept:e=>e instanceof N(e).HTMLInputElement&&e.type===`radio`}),i;n===`next`?(i=r.nextNode(),i||=(r.currentNode=e.currentTarget,r.firstChild())):(i=r.previousNode(),i||=(r.currentNode=e.currentTarget,r.lastChild())),i&&(i.focus(),t.setSelectedValue(i.value))},b=rt(n);return ho.set(t,{name:b,form:r,descriptionId:h.id,errorMessageId:g.id,validationBehavior:c}),{radioGroupProps:L(_,{role:`radiogroup`,onKeyDown:y,"aria-invalid":t.isInvalid||void 0,"aria-errormessage":e[`aria-errormessage`],"aria-readonly":i||void 0,"aria-required":a||void 0,"aria-disabled":o||void 0,"aria-orientation":s,...m,...v}),labelProps:p,descriptionProps:h,errorMessageProps:g,isInvalid:u,validationErrors:d,validationDetails:f}}const vo=i({}),yo=ao(function(e,t){[e,t]=W(e,t,vo);let{elementType:n=`label`,...i}=e;return r.createElement(n,{className:`react-aria-Label`,...i,ref:t})}),bo=i(null),xo=i({}),So=ao(function(e,t){[e,t]=W(e,t,xo);let n=e,{isPending:i}=n,{buttonProps:a,isPressed:o}=oo(e,t);a=Co(a,i);let{focusProps:s,isFocused:l,isFocusVisible:u}=Mi(e),{hoverProps:f,isHovered:p}=li({...e,isDisabled:e.isDisabled||i}),m={isHovered:p,isPressed:(n.isPressed||o)&&!i,isFocused:l,isFocusVisible:u,isDisabled:e.isDisabled||!1,isPending:i??!1},h=U({...e,values:m,defaultClassName:`react-aria-Button`}),g=rt(a.id),_=rt(),v=a[`aria-labelledby`];i&&(v?v=`${v} ${_}`:a[`aria-label`]&&(v=`${g} ${_}`));let y=d(i);c(()=>{let e={"aria-labelledby":v||g};(!y.current&&l&&i||y.current&&l&&!i)&&wn(e,`assertive`),y.current=i},[i,l,v,g]);let b=R(e,{global:!0});return delete b.onClick,r.createElement(`button`,{...L(b,h,a,s,f),type:a.type===`submit`&&i?`button`:a.type,id:g,ref:t,"aria-labelledby":v,slot:e.slot||void 0,"aria-disabled":i?`true`:a[`aria-disabled`],"data-disabled":e.isDisabled||void 0,"data-pressed":m.isPressed||void 0,"data-hovered":p||void 0,"data-focused":l||void 0,"data-pending":i||void 0,"data-focus-visible":u||void 0},r.createElement(bo.Provider,{value:{id:_}},h.children))});function Co(e,t){if(t){for(let t in e)t.startsWith(`on`)&&!(t.includes(`Focus`)||t.includes(`Blur`))&&(e[t]=void 0);e.href=void 0,e.target=void 0}return e}const wo=i({}),To=a(function(e,t){[e,t]=W(e,t,wo);let{elementType:n=`span`,...i}=e;return r.createElement(n,{className:`react-aria-Text`,...i,ref:t})});function Eo(e={}){let[t,n]=hn(e.value,e.defaultValue||[],e.onChange),[r]=f(t),i=!!e.isRequired&&t.length===0,a=d(new Map),o=Ka({...e,value:t}),s=o.displayValidation.isInvalid;return{...o,value:t,defaultValue:e.defaultValue??r,setValue(t){e.isReadOnly||e.isDisabled||n(t)},isDisabled:e.isDisabled||!1,isReadOnly:e.isReadOnly||!1,isSelected(e){return t.includes(e)},addValue(t){e.isReadOnly||e.isDisabled||n(e=>e.includes(t)?e:e.concat(t))},removeValue(r){e.isReadOnly||e.isDisabled||t.includes(r)&&n(t.filter(e=>e!==r))},toggleValue(r){e.isReadOnly||e.isDisabled||(t.includes(r)?n(t.filter(e=>e!==r)):n(t.concat(r)))},setInvalid(e,t){let n=new Map(a.current);t.isInvalid?n.set(e,t):n.delete(e),a.current=n,o.updateValidation(Qa(...n.values()))},validationState:e.validationState??(s?`invalid`:null),isInvalid:s,isRequired:i}}function Do(e){let[t,n]=hn(e.isOpen,e.defaultOpen||!1,e.onOpenChange);return{isOpen:t,setOpen:n,open:o(()=>{n(!0)},[n]),close:o(()=>{n(!1)},[n]),toggle:o(()=>{n(!t)},[n,t])}}let Oo=Math.round(Math.random()*1e10),ko=0;function Ao(e){let t=l(()=>e.name||`radio-group-${Oo}-${++ko}`,[e.name]),[n,r]=hn(e.value,e.defaultValue??null,e.onChange),[i]=f(n),[a,o]=f(null),s=Ka({...e,value:n}),c=t=>{!e.isReadOnly&&!e.isDisabled&&(r(t),s.commitValidation())},u=s.displayValidation.isInvalid;return{...s,name:t,selectedValue:n,defaultSelectedValue:e.value===void 0?e.defaultValue??null:i,setSelectedValue:c,lastFocusedValue:a,setLastFocusedValue:o,isDisabled:e.isDisabled||!1,isReadOnly:e.isReadOnly||!1,isRequired:e.isRequired||!1,validationState:e.validationState||(u?`invalid`:null),isInvalid:u}}const jo=i(null),Mo=a(function(e,t){return s(jo)?.isInvalid?r.createElement(No,{...e,ref:t}):null}),No=a((e,t)=>{let n=s(jo),i=R(e,{global:!0}),a=U({...e,defaultClassName:`react-aria-FieldError`,defaultChildren:n.validationErrors.length===0?void 0:n.validationErrors.join(` `),values:n});return a.children==null?null:r.createElement(To,{slot:`errorMessage`,...i,...a,ref:t})}),Po=i(null),Fo=i(null),Io=i(null),Lo=a(function(e,t){[e,t]=W(e,t,Fo);let{validationBehavior:n}=yn(Po)||{},i=e.validationBehavior??n??`native`,a=Eo({...e,validationBehavior:i}),[o,s]=bn(!e[`aria-label`]&&!e[`aria-labelledby`]),{groupProps:c,labelProps:l,descriptionProps:u,errorMessageProps:d,...f}=uo({...e,label:s,validationBehavior:i},a),p=U({...e,values:{isDisabled:a.isDisabled,isReadOnly:a.isReadOnly,isRequired:e.isRequired||!1,isInvalid:a.isInvalid,state:a},defaultClassName:`react-aria-CheckboxGroup`}),m=R(e,{global:!0});return r.createElement(`div`,{...L(m,p,c),ref:t,slot:e.slot||void 0,"data-readonly":a.isReadOnly||void 0,"data-required":e.isRequired||void 0,"data-invalid":a.isInvalid||void 0,"data-disabled":e.isDisabled||void 0},r.createElement(_n,{values:[[Io,a],[vo,{...l,ref:o,elementType:`span`}],[wo,{slots:{description:u,errorMessage:d}}],[jo,f]]},p.children))}),Ro=a(function(e,t){let{inputRef:n=null,...i}=e;[e,t]=W(i,t,Re);let{validationBehavior:a}=yn(Po)||{},o=e.validationBehavior??a??`native`,c=s(Io),u=Ht(l(()=>ft(n,e.inputRef===void 0?null:e.inputRef),[n,e.inputRef])),{labelProps:d,inputProps:f,isSelected:p,isDisabled:m,isReadOnly:h,isPressed:g,isInvalid:_}=c?po({...xn(e),value:e.value,children:typeof e.children==`function`?!0:e.children},c,u):co({...xn(e),children:typeof e.children==`function`?!0:e.children,validationBehavior:o},fo(e),u),{isFocused:v,isFocusVisible:y,focusProps:b}=Mi(),x=m||h,{hoverProps:S,isHovered:C}=li({...e,isDisabled:x}),w=U({...e,defaultClassName:`react-aria-Checkbox`,values:{isSelected:p,isIndeterminate:e.isIndeterminate||!1,isPressed:g,isHovered:C,isFocused:v,isFocusVisible:y,isDisabled:m,isReadOnly:h,isInvalid:_,isRequired:e.isRequired||!1}}),T=R(e,{global:!0});return delete T.id,delete T.onClick,r.createElement(`label`,{...L(T,d,S,w),ref:t,slot:e.slot||void 0,"data-selected":p||void 0,"data-indeterminate":e.isIndeterminate||void 0,"data-pressed":g||void 0,"data-hovered":C||void 0,"data-focused":v||void 0,"data-focus-visible":y||void 0,"data-disabled":m||void 0,"data-readonly":h||void 0,"data-invalid":_||void 0,"data-required":e.isRequired||void 0},r.createElement(ka,{elementType:`span`},r.createElement(`input`,{...L(f,b),ref:u})),w.children)}),zo=i({}),Bo=i({});let Vo=e=>{let{onHoverStart:t,onHoverChange:n,onHoverEnd:r,...i}=e;return i};const Ho=ao(function(e,t){[e,t]=W(e,t,Bo);let{hoverProps:n,isHovered:i}=li({...e,isDisabled:e.disabled}),{isFocused:a,isFocusVisible:o,focusProps:s}=Mi({isTextInput:!0,autoFocus:e.autoFocus}),c=!!e[`aria-invalid`]&&e[`aria-invalid`]!==`false`,l=U({...e,values:{isHovered:i,isFocused:a,isFocusVisible:o,isDisabled:e.disabled||!1,isInvalid:c},defaultClassName:`react-aria-Input`});return r.createElement(`input`,{...L(Vo(e),s,n),...l,ref:t,"data-focused":a||void 0,"data-disabled":e.disabled||void 0,"data-hovered":i||void 0,"data-focus-visible":o||void 0,"data-invalid":c||void 0})}),Uo=i(null);function Wo(e){let t=d({});return r.createElement(Uo.Provider,{value:t},e.children)}const Go=i({isSelected:!1}),Ko=i(null),qo=i(null),Jo=a(function(e,t){let n=e[`aria-labelledby`];[e,t]=W(e,t,Ko);let{dialogProps:i,titleProps:a}=mo({...e,"aria-labelledby":n},t),o=s(qo);!i[`aria-label`]&&!i[`aria-labelledby`]&&e[`aria-labelledby`]&&(i[`aria-labelledby`]=e[`aria-labelledby`]);let c=U({defaultClassName:`react-aria-Dialog`,className:e.className,style:e.style,children:e.children,values:{close:o?.close||(()=>{})}}),l=R(e,{global:!0});return r.createElement(`section`,{...L(l,c,i),ref:t,slot:e.slot||void 0},r.createElement(_n,{values:[[ze,{slots:{[gn]:{},title:{...a,level:2}}}],[xo,{slots:{[gn]:{},close:{onPress:()=>o?.close()}}}]]},c.children))}),Yo=i(null),Xo=i(null),Zo=a(function(e,t){if(s(Xo))return r.createElement(ts,{...e,modalRef:t},e.children);let{isDismissable:n,isKeyboardDismissDisabled:i,isOpen:a,defaultOpen:o,onOpenChange:c,children:l,isEntering:u,isExiting:d,UNSTABLE_portalContainer:f,shouldCloseOnInteractOutside:p,...m}=e;return r.createElement($o,{isDismissable:n,isKeyboardDismissDisabled:i,isOpen:a,defaultOpen:o,onOpenChange:c,isEntering:u,isExiting:d,UNSTABLE_portalContainer:f,shouldCloseOnInteractOutside:p},r.createElement(ts,{...m,modalRef:t},l))});function Qo(e,t){[e,t]=W(e,t,Yo);let n=s(qo),i=Do(e),a=e.isOpen!=null||e.defaultOpen!=null||!n?i:n,o=Ht(t),c=d(null),l=tn(o,a.isOpen),u=tn(c,a.isOpen),f=l||u||e.isExiting||!1,p=$e();return!a.isOpen&&!f||p?null:r.createElement(es,{...e,state:a,isExiting:f,overlayRef:o,modalRef:c})}const $o=a(Qo);function es({UNSTABLE_portalContainer:e,...t}){let n=t.modalRef,{state:i}=t,{modalProps:a,underlayProps:o}=Ra(t,i,n),s=en(t.overlayRef)||t.isEntering||!1,c=U({...t,defaultClassName:`react-aria-ModalOverlay`,values:{isEntering:s,isExiting:t.isExiting,state:i}}),l=Yt(),u;if(typeof document<`u`){let e=Gt(document.body)?document.body:document.scrollingElement||document.documentElement,t=e.getBoundingClientRect().height%1;u=e.scrollHeight-t}let d={...c.style,"--visual-viewport-height":l.height+`px`,"--page-height":u===void 0?void 0:u+`px`};return r.createElement(Ia,{isExiting:t.isExiting,portalContainer:e},r.createElement(`div`,{...L(R(t,{global:!0}),o),...c,style:d,ref:t.overlayRef,"data-entering":s||void 0,"data-exiting":t.isExiting||void 0},r.createElement(_n,{values:[[Xo,{modalProps:a,modalRef:n,isExiting:t.isExiting,isDismissable:t.isDismissable}],[qo,i]]},c.children)))}function ts(e){let{modalProps:t,modalRef:n,isExiting:i,isDismissable:a}=s(Xo),o=s(qo),c=Ht(l(()=>ft(e.modalRef,n),[e.modalRef,n])),u=en(c),d=U({...e,defaultClassName:`react-aria-Modal`,values:{isEntering:u,isExiting:i,state:o}});return r.createElement(`div`,{...L(R(e,{global:!0}),t),...d,ref:c,"data-entering":u||void 0,"data-exiting":i||void 0},a&&r.createElement(ja,{onDismiss:o.close}),d.children)}const ns=i(null),rs=i(null),is=i(null),as=a(function(e,t){[e,t]=W(e,t,ns);let{validationBehavior:n}=yn(Po)||{},i=e.validationBehavior??n??`native`,a=Ao({...e,validationBehavior:i}),[o,s]=bn(!e[`aria-label`]&&!e[`aria-labelledby`]),{radioGroupProps:c,labelProps:l,descriptionProps:u,errorMessageProps:d,...f}=_o({...e,label:s,validationBehavior:i},a),p=U({...e,values:{orientation:e.orientation||`vertical`,isDisabled:a.isDisabled,isReadOnly:a.isReadOnly,isRequired:a.isRequired,isInvalid:a.isInvalid,state:a},defaultClassName:`react-aria-RadioGroup`}),m=R(e,{global:!0});return r.createElement(`div`,{...L(m,p,c),ref:t,slot:e.slot||void 0,"data-orientation":e.orientation||`vertical`,"data-invalid":a.isInvalid||void 0,"data-disabled":a.isDisabled||void 0,"data-readonly":a.isReadOnly||void 0,"data-required":a.isRequired||void 0},r.createElement(_n,{values:[[is,a],[vo,{...l,ref:o,elementType:`span`}],[wo,{slots:{description:u,errorMessage:d}}],[jo,f]]},r.createElement(Wo,null,p.children)))}),os=a(function(e,t){let{inputRef:n=null,...i}=e;[e,t]=W(i,t,rs);let a=r.useContext(is),o=Ht(l(()=>ft(n,e.inputRef===void 0?null:e.inputRef),[n,e.inputRef])),{labelProps:s,inputProps:c,isSelected:u,isDisabled:d,isPressed:f}=go({...xn(e),children:typeof e.children==`function`?!0:e.children},a,o),{isFocused:p,isFocusVisible:m,focusProps:h}=Mi(),g=d||a.isReadOnly,{hoverProps:_,isHovered:v}=li({...e,isDisabled:g}),y=U({...e,defaultClassName:`react-aria-Radio`,values:{isSelected:u,isPressed:f,isHovered:v,isFocused:p,isFocusVisible:m,isDisabled:d,isReadOnly:a.isReadOnly,isInvalid:a.isInvalid,isRequired:a.isRequired}}),b=R(e,{global:!0});return delete b.id,delete b.onClick,r.createElement(`label`,{...L(b,s,_,y),ref:t,"data-selected":u||void 0,"data-pressed":f||void 0,"data-hovered":v||void 0,"data-focused":p||void 0,"data-focus-visible":m||void 0,"data-disabled":d||void 0,"data-readonly":a.isReadOnly||void 0,"data-invalid":a.isInvalid||void 0,"data-required":a.isRequired||void 0},r.createElement(ka,{elementType:`span`},r.createElement(`input`,{...L(c,h),ref:o})),r.createElement(Go.Provider,{value:{isSelected:u}},y.children))}),ss=i({});let cs=e=>{let{onHoverStart:t,onHoverChange:n,onHoverEnd:r,...i}=e;return i};const ls=a(function(e,t){[e,t]=W(e,t,ss);let{hoverProps:n,isHovered:i}=li(e),{isFocused:a,isFocusVisible:o,focusProps:s}=Mi({isTextInput:!0,autoFocus:e.autoFocus}),c=!!e[`aria-invalid`]&&e[`aria-invalid`]!==`false`,l=U({...e,values:{isHovered:i,isFocused:a,isFocusVisible:o,isDisabled:e.disabled||!1,isInvalid:c},defaultClassName:`react-aria-TextArea`});return r.createElement(`textarea`,{...L(cs(e),s,n),...l,ref:t,"data-focused":a||void 0,"data-disabled":e.disabled||void 0,"data-hovered":i||void 0,"data-focus-visible":o||void 0,"data-invalid":c||void 0})}),us=i(null),ds=ao(function(e,t){[e,t]=W(e,t,us);let{validationBehavior:n}=yn(Po)||{},i=e.validationBehavior??n??`native`,a=d(null);[e,a]=W(e,a,Be);let[s,c]=bn(!e[`aria-label`]&&!e[`aria-labelledby`]),[l,u]=f(`input`),{labelProps:p,inputProps:m,descriptionProps:h,errorMessageProps:g,..._}=ro({...xn(e),inputElementType:l,label:c,validationBehavior:i},a),v=o(e=>{a.current=e,e&&u(e instanceof HTMLTextAreaElement?`textarea`:`input`)},[a]),y=U({...e,values:{isDisabled:e.isDisabled||!1,isInvalid:_.isInvalid,isReadOnly:e.isReadOnly||!1,isRequired:e.isRequired||!1},defaultClassName:`react-aria-TextField`}),b=R(e,{global:!0});return delete b.id,r.createElement(`div`,{...b,...y,ref:t,slot:e.slot||void 0,"data-disabled":e.isDisabled||void 0,"data-invalid":_.isInvalid||void 0,"data-readonly":e.isReadOnly||void 0,"data-required":e.isRequired||void 0},r.createElement(_n,{values:[[vo,{...p,ref:s}],[Bo,{...m,ref:v}],[ss,{...m,ref:v}],[zo,{role:`presentation`,isInvalid:_.isInvalid,isDisabled:e.isDisabled||!1}],[wo,{slots:{description:h,errorMessage:g}}],[jo,_]]},y.children))}),fs=({title:e,description:t,classNames:n})=>{let{survey:r,dismiss:i}=ke();if(!r)return null;let a=t||r.confirmation.description;return b(v,{children:[y(`div`,{className:x(`cf-question`,n?.question),children:b(`div`,{className:x(`cf-header`,n?.header),children:[y(yo,{className:x(`cf-title`,n?.title),children:e||r.confirmation.title||`Feedback submitted!`}),a&&y(To,{slot:`description`,className:x(`cf-description`,n?.description),children:a})]})}),y(So,{className:`cf-submit-button`,onPress:i,children:r.confirmation.buttonText||`Close`})]})},ps=({className:e,iconClassName:t,onClose:n})=>y(`button`,{type:`button`,className:e,"aria-label":`Dismiss`,onClick:n,children:y(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 16 16`,fill:`none`,className:t,children:y(`path`,{fill:`currentColor`,fillRule:`evenodd`,d:`M3.53 3.529c.26-.26.682-.26.942 0l3.529 3.528 3.528-3.528a.667.667 0 0 1 .943.942L8.943 8l3.53 3.528a.667.667 0 0 1-.944.943L8.001 8.943 4.472 12.47a.667.667 0 1 1-.943-.943L7.058 8 3.529 4.47a.667.667 0 0 1 0-.942Z`,clipRule:`evenodd`})})}),ms=({children:e,classNames:t,onDismiss:n,isDismissable:r=!0,closeOnFinishMs:i=3e3})=>{let{survey:a,surveyId:o,dismiss:s}=ke(),[c,l]=f(!1);return h(()=>{a&&s()},c?i:null),y($o,{isOpen:!0,isDismissable:r,isKeyboardDismissDisabled:!r,onOpenChange:async e=>{e||(await s(),n?.())},className:x(`confetti-modal-overlay`,t?.overlay),children:y(Zo,{className:x(`confetti-modal`,t?.modal),children:b(Jo,{"aria-label":`Survey`,id:`${o}-popover`,className:x(`confetti-modal-dialog`,t?.dialog),children:[r&&y(ps,{className:x(`confetti-modal-dialog-close`,t?.closeButton),iconClassName:t?.icon,onClose:async()=>{await s(),n?.()}}),typeof e==`function`?e({setIsFinished:()=>l(!0)}):e]})})})},hs=({children:e,classNames:t,containerProps:n,onDismiss:r,closeOnFinishMs:i=3e3})=>{let{surveyId:a,survey:o,dismiss:s}=ke(),[c,l]=f(!1),[u,d]=f(!1),[p,m]=f(!1);return h(()=>{o&&s()},c&&!(u||p)?i:null),b(`div`,{className:x(`confetti-dialog`,t?.dialog),id:`${a}-popover`,...n,onMouseEnter:e=>{n?.onMouseEnter?.(e),d(!0)},onMouseLeave:e=>{n?.onMouseLeave?.(e),d(!1)},onFocusCapture:e=>{n?.onFocusCapture?.(e),m(!0)},onBlurCapture:e=>{n?.onBlurCapture?.(e),e.currentTarget.contains(e.relatedTarget)||m(!1)},children:[y(ps,{className:x(`confetti-dialog-close`,t?.closeButton),iconClassName:t?.icon,onClose:async()=>{await s(),r?.()}}),typeof e==`function`?e({setIsFinished:()=>l(!0)}):e]})},gs=({id:e,title:t,description:n,properties:r,onChange:i,classNames:a,required:o,error:s})=>{let[l,u]=f(``);return c(()=>{i(l)},[i,l]),b(ds,{isRequired:o,isInvalid:!!s,name:e,className:x(`cf-question`,a?.question),value:l,onChange:e=>{u(e),i(e)},children:[b(`div`,{className:x(`cf-header`,a?.header),children:[b(yo,{className:x(`cf-title`,a?.title),children:[t,!o&&b(`span`,{className:x(`cf-label-optional`,a?.optionalLabel),children:[` `,`(optional)`]})]}),n&&y(To,{slot:`description`,className:x(`cf-description`,a?.description),children:n})]}),y(ls,{className:x(`cf-textarea`,a?.textarea),maxLength:r.max,rows:4,placeholder:r.placeholder||`Start typing...`}),y(Mo,{className:x(`cf-error`,a?.error),children:s})]})},_s=({children:e,classNames:t,description:n,...r})=>y(Ro,{...r,children:({isIndeterminate:r})=>b(v,{children:[b(`div`,{className:x(`cf-choice-label`,t?.label),children:[y(`div`,{className:x(`cf-checkbox-indicator`,t?.indicator),children:y(`svg`,{viewBox:`0 0 18 18`,"aria-hidden":`true`,className:x(`cf-checkbox-indicator-svg`,t?.svg),children:r?y(`rect`,{x:1,y:7.5,width:16,height:3}):y(`polyline`,{points:`2 9 7 14 16 4`})},r?`indeterminate`:`check`)}),e]}),n&&y(`span`,{className:x(`cf-choice-description`,t?.choiceDescription),children:n})]})}),vs=({children:e,classNames:t,...n})=>y(Ro,{...n,children:y(`div`,{className:x(`cf-tag-label`,t?.tagLabel),children:e})}),ys=({title:e,description:t,properties:n,classNames:r,onChange:i,id:a,required:o,error:s})=>{let u=!!n.editable,p=n.display??`checkbox`,[m,h]=f([]),[g,_]=f(``),S=d(null),C=d(null),w=l(()=>{let e=m.indexOf(A);if(e===-1)return m;let t=[...m];return t[e]=g||A,t},[g,m]),T=p===`tag`;return c(()=>{i(w)},[i,w]),y(Lo,{isRequired:o,isInvalid:!!s,name:a,value:m,onChange:h,className:x(`cf-question`,r?.question),children:({state:i})=>b(v,{children:[b(`div`,{className:x(`cf-header`,r?.header),children:[b(yo,{className:x(`cf-title`,r?.title),children:[e,!o&&b(`span`,{className:x(`cf-label-optional`,r?.optionalLabel),children:[` `,`(optional)`]})]}),t&&y(To,{slot:`description`,className:x(`cf-description`,r?.description),children:t})]}),b(`div`,{className:x(`cf-response-choices`,p===`tag`&&`cf-response-choices-tag`,r?.group),children:[n.options.map((e,t)=>y(T?vs:_s,{className:x(`cf-choice`,T&&[`cf-tag`,r?.tag],!T&&[`cf-checkbox`,r?.checkbox]),description:e.description,value:e.value,classNames:{tag:r?.tag,tagLabel:r?.tagLabel,choiceDescription:r?.choiceDescription,label:r?.label,indicator:r?.indicator,svg:r?.svg},children:e.value},t)),u&&(T?b(v,{children:[y(vs,{inputRef:S,onChange:e=>{C.current&&e&&requestAnimationFrame(()=>{C.current&&C.current.focus()})},className:x(`cf-choice cf-tag`,r?.tag),value:A,children:n.editable?.label}),y(Ho,{"data-visible":i.value.includes(A)||void 0,value:g,onChange:e=>{_(e.target.value)},ref:C,className:x(`cf-input cf-tag-input`,r?.othersInput)})]}):b(`div`,{className:x(`cf-choice cf-others-choice`,r?.othersChoice),children:[y(_s,{inputRef:S,onChange:e=>{C.current&&e&&requestAnimationFrame(()=>{C.current&&C.current.focus()})},className:x(`cf-checkbox`,r?.checkbox),value:A,classNames:{indicator:r?.indicator,svg:r?.svg},description:n.editable?.description,children:n.editable?.label}),y(Ho,{value:g,onChange:e=>{_(e.target.value)},tabIndex:i.value.includes(A)?0:-1,ref:C,onFocus:()=>{S.current?.checked===!1&&S.current.click()},className:x(`cf-input`,r?.othersInput)})]}))]}),y(Mo,{className:x(`cf-error`,r?.error),children:s})]})})},bs=e=>b(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:40,height:40,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,...e,children:[y(`circle`,{cx:12,cy:12,r:10}),y(`path`,{d:`M16 16s-1.5-2-4-2-4 2-4 2M7.5 8 10 9M14 9l2.5-1M9 10h.01M15 10h.01`})]}),xs=e=>b(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:40,height:40,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,...e,children:[y(`circle`,{cx:12,cy:12,r:10}),y(`path`,{d:`M18 13a6 6 0 0 1-6 5 6 6 0 0 1-6-5h12ZM9 9h.01M15 9h.01`})]}),Ss=e=>b(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:40,height:40,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,...e,children:[y(`circle`,{cx:12,cy:12,r:10}),y(`path`,{d:`M16 16s-1.5-2-4-2-4 2-4 2M9 9h.01M15 9h.01`})]}),Cs=e=>b(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:40,height:40,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,...e,children:[y(`circle`,{cx:12,cy:12,r:10}),y(`path`,{d:`M8 15h8M9 9h.01M15 9h.01`})]}),ws=e=>b(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:40,height:40,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,...e,children:[y(`circle`,{cx:12,cy:12,r:10}),y(`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2M9 9h.01M15 9h.01`})]}),Ts=e=>y(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:40,height:40,fill:`none`,...e,children:y(`path`,{fill:`currentColor`,d:`m6.516 14.323-1.49 6.452a.998.998 0 0 0 1.529 1.057L12 18.202l5.445 3.63a1.001 1.001 0 0 0 1.517-1.106l-1.829-6.4 4.536-4.082a1 1 0 0 0-.59-1.74l-5.701-.454-2.467-5.461a.998.998 0 0 0-1.822 0L8.622 8.05l-5.701.453a1 1 0 0 0-.619 1.713l4.214 4.107zm2.853-4.326a.998.998 0 0 0 .832-.586L12 5.43l1.799 3.981a.998.998 0 0 0 .832.586l3.972.315-3.271 2.944c-.284.256-.397.65-.293 1.018l1.253 4.385-3.736-2.491a.995.995 0 0 0-1.109 0l-3.904 2.603 1.05-4.546a1 1 0 0 0-.276-.94l-3.038-2.962 4.09-.326z`})}),Es=e=>y(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:40,height:40,viewBox:`0 0 24 24`,...e,children:y(`path`,{fill:`currentColor`,d:`M21.947 9.179a1.001 1.001 0 0 0-.868-.676l-5.701-.453-2.467-5.461a.998.998 0 0 0-1.822-.001L8.622 8.05l-5.701.453a1 1 0 0 0-.619 1.713l4.213 4.107-1.49 6.452a1 1 0 0 0 1.53 1.057L12 18.202l5.445 3.63a1.001 1.001 0 0 0 1.517-1.106l-1.829-6.4 4.536-4.082c.297-.268.406-.686.278-1.065z`})}),Ds=({state:e,properties:t,classNames:n})=>{let r=e.selectedValue?Number(e.selectedValue):null;return y(`div`,{className:x(`cf-rating-display-star`,n?.ratingDisplayStar),children:Array.from({length:t.scale},(e,t)=>{let i=t+1,a=String(i),o=r&&i<=r;return y(os,{className:x(`cf-rating-star`,n?.ratingStar),value:a,"data-filled":o?`true`:void 0,children:y(o?Es:Ts,{})},t)})})},Os=({properties:e,classNames:t})=>y(`div`,{className:x(`cf-rating-display-number`,t?.ratingDisplayNumber),children:Array.from({length:e.scale},(e,n)=>{let r=n+1,i=String(r);return y(os,{className:x(`cf-rating-number`,t?.ratingNumber),value:i,children:r},n)})}),ks=({properties:e,classNames:t,state:n})=>{let r=l(()=>[bs,Ss,Cs,ws,xs],[]),i=l(()=>[Ss,Cs,ws],[]);return l(()=>e.scale===3||e.scale===5,[e.scale])?y(`div`,{className:x(`cf-rating-display-emoji`,t?.ratingDisplayEmoji),children:Array.from({length:e.scale},(n,a)=>{let o=a+1,s=String(o),c=e.scale===5?r[a]:i[a];return y(os,{className:x(`cf-rating-emoji`,t?.ratingEmoji),value:s,children:c&&y(c,{})},a)})}):y(Os,{properties:e,classNames:t,state:n})},As=e=>{switch(e.properties.display??`star`){case`emoji`:return y(ks,{...e});case`number`:return y(Os,{...e});case`star`:return y(Ds,{...e})}},js=({properties:e,title:t,description:n,classNames:r,onChange:i,id:a,error:o,required:s})=>{let[u,d]=f(null),p=l(()=>u?Number(u):void 0,[u]);return c(()=>{i(p)},[i,p]),y(as,{isRequired:s,isInvalid:!!o,name:a,className:x(`cf-question`,r?.question),value:u,onChange:d,children:({state:i})=>b(v,{children:[b(`div`,{className:x(`cf-header`,r?.header),children:[b(yo,{className:x(`cf-title`,r?.title),children:[t,!s&&b(`span`,{className:x(`cf-label-optional`,r?.optionalLabel),children:[` `,`(optional)`]})]}),n&&y(To,{slot:`description`,className:x(`cf-description`,r?.description),children:n})]}),b(`div`,{className:x(`cf-rating-section`,r?.ratingSection),children:[y(As,{state:i,properties:e,classNames:r}),b(`div`,{className:x(`cf-rating-text`,r?.ratingText),children:[y(`span`,{className:x(`cf-rating-text-lower`,r?.ratingTextLower),children:e.labels?.lower}),y(`span`,{className:x(`cf-rating-text-upper`,r?.ratingTextUpper),children:e.labels?.upper})]})]}),y(Mo,{className:x(`cf-error`,r?.error),children:o})]})})},Ms=({classNames:e,className:t,description:n,...r})=>y(os,{...r,className:x(t,e?.radio),children:vn(r.children,t=>b(v,{children:[b(`div`,{className:x(`cf-choice-label`,e?.label),children:[y(`div`,{className:x(`cf-radio-indicator`,e?.indicator)}),t]}),n&&y(`span`,{className:x(`cf-choice-description`,e?.choiceDescription),children:n})]}))}),Ns=({title:e,description:t,properties:n,classNames:r,onChange:i,id:a,required:o,error:s})=>{let[u,p]=f(null),[m,h]=f(``),g=!!n.editable,_=d(null),S=d(null),C=l(()=>u===he?m||he:u??void 0,[m,u]);return c(()=>{i(C)},[i,C]),y(as,{isRequired:o,isInvalid:!!s,name:a,onChange:e=>{p(e),e===he&&requestAnimationFrame(()=>{S.current&&S.current.focus()})},value:u,className:x(`cf-question`,r?.question),children:({state:i})=>b(v,{children:[b(`div`,{className:x(`cf-header`,r?.header),children:[b(yo,{className:x(`cf-title`,r?.title),children:[e,!o&&b(`span`,{className:x(`cf-label-optional`,r?.optionalLabel),children:[` `,`(optional)`]})]}),t&&y(To,{slot:`description`,className:x(`cf-description`,r?.description),children:t})]}),b(`div`,{className:x(`cf-response-choices`,r?.group),children:[n.options.map((e,t)=>y(Ms,{classNames:{indicator:r?.indicator,radio:x(`cf-choice cf-radio`,r?.radio)},value:e.value,description:e.description,children:e.value},t)),g&&b(`div`,{className:x(`cf-choice cf-others-choice`,r?.othersChoice),children:[y(Ms,{inputRef:_,value:he,classNames:{indicator:r?.indicator,radio:x(`cf-radio`,r?.radio)},description:n.editable?.description,children:n.editable?.label}),y(Ho,{tabIndex:i.selectedValue===he?0:-1,ref:S,value:m,onChange:e=>h(e.target.value),onFocus:()=>{_.current?.checked===!1&&_.current.click()},className:x(`cf-input`,r?.othersInput)})]})]}),y(Mo,{className:x(`cf-error`,r?.error),children:s})]})})},Ps=({properties:e,title:t,description:n,classNames:r})=>y(`div`,{className:x(`cf-question`,r?.question),children:b(`div`,{className:x(`cf-header`,r?.header),children:[t&&y(`div`,{className:x(`cf-title`,r?.title),children:t}),n&&y(`div`,{className:x(`cf-description`,r?.description),children:n})]})}),Fs=({question:e,onChange:t,error:n})=>{switch(e.properties.type){case`rating`:return y(js,{...e,properties:e.properties,onChange:t,error:n},e.id);case`open-ended`:return y(gs,{...e,properties:e.properties,onChange:t,error:n},e.id);case`single-select`:return y(Ns,{...e,properties:e.properties,onChange:t,error:n},e.id);case`multi-select`:return y(ys,{...e,properties:e.properties,onChange:t,error:n},e.id);case`statement`:return y(Ps,{...e,properties:e.properties,onChange:t,error:n},e.id)}return y(`div`,{children:`Unsupported question type`},e.id)},Is=({onPress:e,isDisabled:t,children:n=`Submit`})=>y(So,{isDisabled:t,className:`cf-submit-button`,onPress:e,children:n}),Ls=e=>{switch(e){case`multi-select`:return[];case`statement`:return;default:return``}},Rs=e=>e!==void 0&&e!==``&&!(Array.isArray(e)&&e.length===0),zs=({onSubmit:e,children:n,question:r,isLastQuestion:i})=>{let[a,s]=f(Ls(r.properties.type)),c=l(()=>je(r.properties,{required:r.required}),[r.properties,r.required]),u=l(()=>{let e=c.safeParse(a);if(!e.success)return w(e.error)},[a,c]),d=l(()=>{let e=r.routingLogic;if(e.type!==`always`&&!Rs(a)&&r.required)return!0;let n=e.type===`always`?e.target:e.cases.find(e=>t({answer:a,condition:e}))?.target??e.default;return n.type===`end`?!1:n.type===`next`?!i:!0},[a,i,r.required,r.routingLogic]),p=l(()=>r.properties.buttonLabel?r.properties.buttonLabel:d?!r.required&&!Rs(a)?`Skip`:`Next`:`Submit`,[a,d,r.properties.buttonLabel,r.required]),m=o(()=>{switch(r.properties.type){case`statement`:if(r.properties.buttonUrl&&typeof window<`u`){let e=ie.safeParse(r.properties.buttonUrl).data;e&&window.open(e,`_blank`)}return e(void 0);default:return e(a)}},[a,e,r.properties]),h=l(()=>{switch(r.properties.type){case`rating`:case`single-select`:return!!r.properties.shouldAutoProgress;default:return!1}},[r.properties]);return b(v,{children:[n({onChange:o(t=>{s(t),h&&Rs(t)&&c.safeParse(t).success&&e(t)},[h,c,e]),question:r,error:u}),(!h||!r.required)&&y(Is,{isDisabled:!!u,onPress:m,children:p})]})},Bs=({isCompleted:e,onSubmit:t,children:n})=>b(v,{children:[n,e&&y(Is,{onPress:t})]}),Vs=e=>y(Le,{...e,shouldAutoSubmit:!1,children:({questions:e,update:t,isCompleted:n,submit:r,isSubmitted:i,errors:a})=>i?y(fs,{}):y(Bs,{onSubmit:r,isCompleted:n,children:e.filter(({visible:e})=>!!e).map(e=>y(Fs,{question:e,error:a[e.id]||``,onChange:n=>t({question:e.position,answer:n})},e.position))})}),Hs=({onDismiss:e,closeOnFinishMs:t,isDismissable:r,...i})=>y(n,{fallback:y(v,{}),children:y(Oe,{...i,children:y(ms,{onDismiss:e,closeOnFinishMs:t,isDismissable:r,children:({setIsFinished:e})=>y(Ie,{...i,shouldAutoSubmit:!1,onFinished:()=>{e(),i.onFinished?.()},children:({questions:e,update:t,isCompleted:n,errors:r,submit:i,isSubmitted:a})=>a?y(fs,{}):y(Bs,{onSubmit:i,isCompleted:n,children:e.filter(({visible:e})=>!!e).map(e=>y(Fs,{question:e,error:r[e.id]||``,onChange:n=>t({question:e.position,answer:n})},e.position))})})})})}),Us=({onDismiss:e,closeOnFinishMs:t,...r})=>y(n,{fallback:y(v,{}),children:y(Oe,{...r,children:y(hs,{onDismiss:e,closeOnFinishMs:t,children:({setIsFinished:e})=>y(Ie,{shouldAutoSubmit:!0,...r,onFinished:()=>{e(),r.onFinished?.()},children:({current:e,questions:t,update:n,isSubmitted:r})=>{let i=e===t.length-1;if(r)return y(fs,{});let a=t[e];return a?y(zs,{isLastQuestion:i,question:a,onSubmit:t=>n({question:e,answer:t}),children:e=>y(Fs,{...e})}):y(v,{})}})})})}),Ws=e=>y(Le,{...e,shouldAutoSubmit:!0,children:({current:e,questions:t,update:n,isSubmitted:r})=>{let i=e===t.length-1;if(r)return y(fs,{});let a=t[e];return a?y(zs,{isLastQuestion:i,question:a,onSubmit:t=>n({question:e,answer:t}),children:e=>y(Fs,{...e})}):y(v,{})}}),Gs=({delay:e})=>{let[t,n]=f(!1),r=l(()=>e,[]);return c(()=>{let e=setTimeout(()=>{n(!0)},r);return()=>clearTimeout(e)},[]),{isVisible:t}},Ks=({visits:e,respondent:t})=>{let[n,r]=p(`cfti:${l(()=>window.location.pathname,[])}:visits:${t??``}`,0);return c(()=>{r(e=>e+1)},[r]),{isVisible:n>=e,reset:o(()=>r(0),[r])}},qs=({visits:e,respondent:t})=>{let[n,r]=m(`cfti:${l(()=>window.location.pathname,[])}:visits:${t??``}`,0);return c(()=>{r(e=>e+1)},[r]),{isVisible:n>=e,reset:o(()=>r(0),[r])}},Js=({threshold:e})=>{let[t,n]=f(()=>typeof window>`u`?!1:window.scrollY>=e);return c(()=>{let t=()=>{window.scrollY>=e&&n(!0)};return window.addEventListener(`scroll`,t,{passive:!0}),()=>window.removeEventListener(`scroll`,t)},[e]),{isVisible:t}};export{Le as Confetti,De as ConfettiContext,Ie as ConfettiController,Oe as ConfettiProvider,Bs as Embed,Vs as EmbeddedConfetti,zs as Flow,gs as FreeText,Hs as ModalConfetti,ms as ModalContainer,ys as MultiChoice,Us as PopoverConfetti,hs as PopoverContainer,js as Rating,Ns as SingleChoice,Ps as Statement,Ws as StepperConfetti,Fs as SurveyQuestionFactory,fs as ThankYouMessage,ke as useConfetti,Gs as useVisibleAfterDelay,Ks as useVisibleAfterPageVisits,Js as useVisibleAfterScroll,qs as useVisibleAfterSessionPageVisits};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengovsg/confetti",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "sideEffects": false,
5
5
  "description": "Widgets for Confetti",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -39,21 +39,26 @@
39
39
  "react-dom": "^18.2.0 || ^19.0.0"
40
40
  },
41
41
  "devDependencies": {
42
+ "@csstools/postcss-minify": "^3.0.0",
42
43
  "@types/react": "^19.2.14",
43
44
  "esbuild": "^0.27.2",
44
45
  "eslint": "^9.39.2",
46
+ "postcss": "^8.5.9",
47
+ "postcss-cli": "^11.0.1",
48
+ "postcss-nesting": "^14.0.0",
45
49
  "prettier": "^3.7.4",
46
50
  "react-aria-components": "1.14.0",
47
51
  "tsdown": "0.19.0",
48
52
  "typescript": "^5.9.3",
53
+ "@confetti/eslint-config": "0.0.0",
49
54
  "@confetti/prettier-config": "0.0.0",
50
55
  "@confetti/tsconfig": "0.0.0",
51
- "@confetti/eslint-config": "0.0.0",
52
56
  "@confetti/validators": "0.0.0"
53
57
  },
54
58
  "prettier": "@confetti/prettier-config",
55
59
  "scripts": {
56
- "build": "tsdown && cp ./src/confetti.css ./build/confetti.css",
60
+ "build:css": "postcss ./src/confetti.css -o ./build/confetti.css",
61
+ "build": "tsdown && pnpm run build:css",
57
62
  "clean": "git clean -xdf .cache .turbo dist node_modules",
58
63
  "dev": "tsc",
59
64
  "format": "prettier --check . --ignore-path ../../.gitignore",