@opengovsg/confetti 0.9.5 → 0.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/build/{Confetti-jymDhp41.d.ts → Confetti-D_KmrN8z.d.ts} +27 -4
- package/build/{DefaultConfettiTrigger-Bw8xis2D.js → DefaultConfettiTrigger-DfKhP7hV.js} +1 -1
- package/build/{Embed-CDUZq4lp.js → Embed-BKSP4LXK.js} +1 -1
- package/build/{ModalContainer-BX7AxPDq.d.ts → ModalContainer-DQD9jvoG.d.ts} +1 -1
- package/build/ModalContainer-igsKZUi1.js +5 -0
- package/build/client-internals.d.ts +1 -1
- package/build/client-internals.js +1 -1
- package/build/components.d.ts +4 -4
- package/build/components.js +1 -1
- package/build/{index-C6cGD5WB.d.ts → index-Bw3Vmeyu.d.ts} +12 -10
- package/build/index.d.ts +3 -3
- package/build/index.js +1 -1
- package/build/{internals-BLvZj8JP.js → internals-B--R9Zxw.js} +1 -1
- package/build/internals.d.ts +19 -2
- package/build/internals.js +1 -1
- package/build/{src-C4lgg92q.js → src-CzDdylBF.js} +1 -1
- package/build/static.d.ts +4 -4
- package/build/static.js +1 -1
- package/package.json +2 -3
- package/build/ModalContainer-DsMd0ic_.js +0 -5
package/README.md
CHANGED
|
@@ -204,7 +204,7 @@ To always show one language, pass `locale` directly and skip the hook:
|
|
|
204
204
|
| `en` | English (default) |
|
|
205
205
|
| `zh` | 中文 |
|
|
206
206
|
| `ms` | Bahasa Melayu |
|
|
207
|
-
| `ta` | தமிழ்
|
|
207
|
+
| `ta` | தமிழ் |
|
|
208
208
|
|
|
209
209
|
Widget chrome you did not customise — Skip, Next, Submit, Back, Close, Other,
|
|
210
210
|
placeholders, and validation errors — still localises for the given locale.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as
|
|
1
|
+
import { a as MultiSelectAnswer, i as BugReportAnswer, n as PublicGetSurveyOutput, o as RatingAnswer, r as Locale, s as SingleSelectAnswer, t as PublicPutResponseOutput } from "./index-Bw3Vmeyu.js";
|
|
2
2
|
import { PropsWithChildren, ReactNode } from "react";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
|
|
@@ -72,12 +72,35 @@ interface Proxyable {
|
|
|
72
72
|
proxyUrl?: string;
|
|
73
73
|
}
|
|
74
74
|
type WithProxyable<T> = Omit<T, 'apiBaseUrl'> & Proxyable;
|
|
75
|
+
/** A saved answer paired with the question it answers. */
|
|
76
|
+
interface ResponseAnswer {
|
|
77
|
+
question: {
|
|
78
|
+
id: string; /** The question title in the locale the survey was shown in. */
|
|
79
|
+
title: string;
|
|
80
|
+
type: Question$1['properties']['type'];
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* The saved value. Select answers are option values, not their localized
|
|
84
|
+
* labels. Bug report answers are their bug report ID.
|
|
85
|
+
*/
|
|
86
|
+
answer: NonNullable<PublicPutResponseOutput['data']>[string];
|
|
87
|
+
}
|
|
88
|
+
/** The result passed to `onFinished` after a successful submission. */
|
|
89
|
+
interface FinishResult extends Omit<PublicPutResponseOutput, 'data'> {
|
|
90
|
+
/**
|
|
91
|
+
* The saved answers in survey order. `null` when the server discarded the
|
|
92
|
+
* submission. Absent when the server predates this field, or when this widget
|
|
93
|
+
* version cannot read the saved answers.
|
|
94
|
+
*/
|
|
95
|
+
answers?: ResponseAnswer[] | null;
|
|
96
|
+
}
|
|
75
97
|
interface Finishable {
|
|
76
98
|
/**
|
|
77
99
|
* Callback is invoked after the survey response is submitted and the
|
|
78
|
-
* submission network call settles.
|
|
100
|
+
* submission network call settles. `result.answers` holds the saved answers
|
|
101
|
+
* with their question titles. `result` is `undefined` when the request fails.
|
|
79
102
|
*/
|
|
80
|
-
onFinished?: (result?:
|
|
103
|
+
onFinished?: (result?: FinishResult) => void;
|
|
81
104
|
}
|
|
82
105
|
interface Closable {
|
|
83
106
|
/**
|
|
@@ -354,4 +377,4 @@ declare const Confetti: ({
|
|
|
354
377
|
...props
|
|
355
378
|
}: ConfettiProps) => import("react").JSX.Element;
|
|
356
379
|
//#endregion
|
|
357
|
-
export {
|
|
380
|
+
export { Question$1 as A, ConfettiState as C, Finishable as D, FinishResult as E, WithProxyable as M, OptionallyDismissable as O, ConfettiContainer as S, Dismissable as T, useSurvey as _, BaseFieldProps as a, Answer as b, ConfettiProviderProps as c, RespondentVisibilityProviderProps as d, WithVisibilityControl as f, SurveyProviderProps as g, SurveyProvider as h, BugReportOptions as i, ResponseAnswer as j, Proxyable as k, RespondentVisibilityContext as l, SurveyContext as m, Confetti as n, Question as o, useRespondentVisibility as p, ConfettiProps as r, ConfettiProvider as s, BaseConfettiProps as t, RespondentVisibilityProvider as u, ConfettiController as v, Containable as w, Closable as x, ConfettiControllerProps as y };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./Button-BGUCuTdV.js";import{t}from"./src-
|
|
1
|
+
import{n as e}from"./Button-BGUCuTdV.js";import{t}from"./src-CzDdylBF.js";import{useEffect as n,useState as r}from"react";import{useLocalStorage as i}from"usehooks-ts";import{jsx as a,jsxs as o}from"react/jsx-runtime";import s from"clsx";function c(e,t){return t===void 0?!0:t===!0||t===!1?t:t(e)}function l(e){return e!==!0&&e!==!1}function u({surveyId:e,override:t}){let[r,a]=i(`cfti:${e}:respondent`,``);return n(()=>{r||a(crypto.randomUUID())},[r,a]),t||r}const d={lastRespondedAt:null,lastDismissedAt:null};async function f({client:e,surveyId:n,respondent:r,signal:i}){try{let a=await e.get(`api/v1/cfti/${encodeURIComponent(n)}/respondent/${encodeURIComponent(r)}`,{signal:i}).json(),o=t.safeParse(a);return o.success?{lastRespondedAt:o.data.lastRespondedAt?new Date(o.data.lastRespondedAt):null,lastDismissedAt:o.data.lastDismissedAt?new Date(o.data.lastDismissedAt):null}:(console.warn(`[confetti] Respondent response failed schema validation`,o.error),d)}catch{return d}}function p({client:e,surveyId:t,respondent:i,enabled:a=!0}){let[o,s]=r(d),[c,l]=r(()=>!a),[u,p]=r({client:e,surveyId:t,respondent:i,enabled:a});return(u.client!==e||u.surveyId!==t||u.respondent!==i||u.enabled!==a)&&(p({client:e,surveyId:t,respondent:i,enabled:a}),s(d),l(!a)),n(()=>{if(!a||!i||typeof window>`u`||typeof document>`u`)return;let n=null,r=()=>{n?.abort(),n=new AbortController;let r=n;f({client:e,surveyId:t,respondent:i,signal:r.signal}).then(e=>{r.signal.aborted||(s(e),l(!0))})};r();let o=()=>{document.visibilityState===`visible`&&r()};return document.addEventListener(`visibilitychange`,o),()=>{n?.abort(),document.removeEventListener(`visibilitychange`,o)}},[e,t,i,a]),{state:o,isSettled:c}}function m({client:e,surveyId:t}){let[i,a]=r(!1),[o,s]=r(!1),[c,l]=r({client:e,surveyId:t});return(c.client!==e||c.surveyId!==t)&&(l({client:e,surveyId:t}),a(!1),s(!1)),n(()=>{if(typeof window>`u`)return;let n=new AbortController;return e.head(`api/v1/cfti/${encodeURIComponent(t)}`,{signal:n.signal}).then(()=>{n.signal.aborted||a(!0)}).catch(()=>{n.signal.aborted||a(!1)}).finally(()=>{n.signal.aborted||s(!0)}),()=>n.abort()},[e,t]),{isAvailable:i,isSettled:o}}const h=e=>a(`svg`,{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 44 38`,...e,children:o(`g`,{transform:`translate(-2 -2) scale(1.1)`,children:[a(`path`,{d:`M16.8395 3.2139C8.2208 3.9522 1.8331 11.5311 2.5721 20.1416C3.3111 28.7523 10.897 35.134 19.5157 34.3956L27.1631 33.7406C28.9787 33.585 30.6949 33.1248 32.2669 32.4163L38.7663 35.4396C39.3254 35.6994 39.9048 35.1205 39.6447 34.562L37.0707 29.0396C40.1147 25.8995 41.8336 21.5102 41.4304 16.8128C40.6913 8.2022 33.1054 1.8205 24.4867 2.5588L16.8395 3.2139Z`,fill:`#BAE6FD`}),a(`path`,{d:`M19.6764 24.0307C19.6764 24.0307 20.9773 25.4496 23.5438 25.1228C26.1103 24.7959 27.3642 23.0095 27.3642 23.0095`,stroke:`#382F40`,strokeWidth:2.4821,strokeLinecap:`round`}),a(`path`,{d:`M18.0861 16.4082C18.0861 16.4082 17.1255 18.619 14.8183 18.9139C12.5111 19.2088 11.1697 17.237 11.1697 17.237`,stroke:`#382F40`,strokeWidth:2.4821,strokeLinecap:`round`}),a(`path`,{d:`M32.6296 15.0398C32.6296 15.0398 31.6691 17.2506 29.3619 17.5455C27.0548 17.8404 25.7132 15.8686 25.7132 15.8686`,stroke:`#382F40`,strokeWidth:2.4821,strokeLinecap:`round`})]})}),g=({onClick:t,isWidgetOpen:n,classNames:r,label:i=`Help us improve`})=>n?null:o(e,{onPress:t,className:s(`confetti-trigger`,r?.trigger),children:[a(`span`,{className:s(`confetti-trigger-icon-wrapper`,r?.iconWrapper),"aria-hidden":!0,children:a(h,{className:s(`confetti-trigger-icon`,r?.icon),width:24})}),a(`span`,{className:s(`confetti-trigger-label`,r?.label),children:i})]});export{u as a,p as i,h as n,c as o,m as r,l as s,g as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,i as t,o as n,r,s as i}from"./DefaultConfettiTrigger-Bw8xis2D.js";import{B as a,D as o,F as s,G as c,H as l,I as u,K as d,L as f,M as p,P as m,R as h,U as g,V as _,W as v,Y as y,Z as b,_ as x,a as S,d as C,h as w,i as T,l as E,n as D,o as O,p as k,q as A,r as j,u as M}from"./Button-BGUCuTdV.js";import{c as N,d as ee,l as te,o as ne,s as re,u as ie}from"./src-C4lgg92q.js";import{a as ae,n as oe,o as se,r as ce,t as le}from"./internals-BLvZj8JP.js";import{_ as P,a as F,b as ue,c as de,g as fe,h as pe,i as me,l as he,o as ge,p as _e,r as ve,s as ye,u as be,v as xe,x as Se,y as Ce}from"./ModalContainer-DsMd0ic_.js";import I,{Suspense as we,cloneElement as Te,createContext as L,forwardRef as R,isValidElement as Ee,lazy as De,useCallback as z,useContext as B,useEffect as V,useMemo as H,useRef as U,useState as W}from"react";import{useTimeout as Oe}from"usehooks-ts";import{z as G}from"zod";import{Fragment as K,jsx as q,jsxs as J}from"react/jsx-runtime";import Y from"clsx";import"react-dom";const ke=L(null),Ae=L({}),X=M(function(e,t){[e,t]=s(e,t,Ae);let{elementType:n=`label`,...r}=e,i=a[n];return I.createElement(i,{className:`react-aria-Label`,...r,ref:t})});function je(e){let{id:t,label:n,"aria-labelledby":r,"aria-label":i,labelElementType:a=`label`}=e;t=A(t);let o=A(),s={};n&&(r=r?`${o} ${r}`:o,s={id:o,htmlFor:a===`label`?t:void 0});let c=Se({id:t,"aria-label":i,"aria-labelledby":r});return{labelProps:s,fieldProps:c}}const Z=L(null),Me=R(function(e,t){return B(Z)?.isInvalid?I.createElement(Ne,{...e,ref:t}):null}),Ne=R((e,t)=>{let n=B(Z),{elementType:r,...i}=e,a=E(i,{global:!0}),o=u({...i,defaultClassName:`react-aria-FieldError`,defaultChildren:n.validationErrors.length===0?void 0:n.validationErrors.join(` `),values:n});return o.children==null?null:I.createElement(P,{slot:`errorMessage`,elementType:r,...a,...o,ref:t})}),Pe={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valueMissing:!1,valid:!0},Fe={...Pe,customError:!0,valid:!1},Q={isInvalid:!1,validationDetails:Pe,validationErrors:[]},Ie=L({}),Le=`__reactAriaFormValidationState`;function Re(e){if(e.__reactAriaFormValidationState){let{realtimeValidation:t,displayValidation:n,updateValidation:r,resetValidation:i,commitValidation:a}=e[Le];return{realtimeValidation:t,displayValidation:n,updateValidation:r,resetValidation:i,commitValidation:a}}return ze(e)}function ze(e){let{isInvalid:t,validationState:n,name:r,value:i,builtinValidation:a,validate:o,validationBehavior:s=`aria`}=e;n&&(t||=n===`invalid`);let c=t===void 0?null:{isInvalid:t,validationErrors:[],validationDetails:Fe},l=H(()=>!o||i==null?null:He(Ve(o,i)),[o,i]);a?.validationDetails.valid&&(a=void 0);let u=B(Ie),d=H(()=>r?Array.isArray(r)?r.flatMap(e=>Be(u[e])):Be(u[r]):[],[u,r]),[f,p]=W(u),[m,h]=W(!1);u!==f&&(p(u),h(!1));let g=H(()=>He(m?[]:d),[m,d]),_=U(Q),[v,y]=W(Q),b=U(Q),x=()=>{if(!S)return;C(!1);let e=l||a||_.current;Ue(e,b.current)||(b.current=e,y(e))},[S,C]=W(!1);return V(x),{realtimeValidation:c||g||l||a||Q,displayValidation:s===`native`?c||g||v:c||g||l||a||v,updateValidation(e){s===`aria`&&!Ue(v,e)?y(e):_.current=e},resetValidation(){let e=Q;Ue(e,b.current)||(b.current=e,y(e)),s===`native`&&C(!1),h(!0)},commitValidation(){s===`native`&&C(!0),h(!0)}}}function Be(e){return e?Array.isArray(e)?e:[e]:[]}function Ve(e,t){if(typeof e==`function`){let n=e(t);if(n&&typeof n!=`boolean`)return Be(n)}return[]}function He(e){return e.length?{isInvalid:!0,validationErrors:e,validationDetails:Fe}:null}function Ue(e,t){return e===t||!!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 We(...e){let t=new Set,n=!1,r={...Pe};for(let i of e){for(let e of i.validationErrors)t.add(e);n||=i.isInvalid;for(let e in r)r[e]||=i.validationDetails[e]}return r.valid=!n,{isInvalid:n,validationErrors:[...t],validationDetails:r}}const Ge=L(null),Ke=new WeakMap;function qe(e){let{description:t,errorMessage:n,isInvalid:r,validationState:i}=e,{labelProps:a,fieldProps:o}=je(e),s=d([!!t,!!n,r,i]),c=d([!!t,!!n,r,i]);return o=v(o,{"aria-describedby":[s,c,e[`aria-describedby`]].filter(Boolean).join(` `)||void 0}),{labelProps:a,fieldProps:o,descriptionProps:{id:s},errorMessageProps:{id:c}}}function Je(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}=qe({...e,labelElementType:`span`,isInvalid:o,errorMessage:e.errorMessage||s});Ke.set(t,{name:r,form:i,descriptionId:d.id,errorMessageId:f.id,validationBehavior:a});let p=E(e,{labelable:!0}),{focusWithinProps:m}=S({onBlurWithin:e.onBlur,onFocusWithin:e.onFocus,onFocusWithinChange:e.onFocusChange});return{groupProps:v(p,{role:`group`,"aria-disabled":n||void 0,...u,...m}),labelProps:l,descriptionProps:d,errorMessageProps:f,isInvalid:o,validationErrors:s,validationDetails:c}}function Ye(e,t,n){let r=w(e=>{n&&!e.defaultPrevented&&n(t)});V(()=>{let t=e?.current?.form;return t?.addEventListener(`reset`,r),()=>{t?.removeEventListener(`reset`,r)}},[e])}function Xe(e,t,n){let{validationBehavior:r,focus:i}=e;y(()=>{if(r===`native`&&n?.current&&`setCustomValidity`in 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(Qe(n.current))}});let a=U(!1),s=w(()=>{a.current||t.resetValidation()}),c=w(e=>{t.displayValidation.isInvalid||t.commitValidation();let r=n?.current?.form;!e.defaultPrevented&&n&&r&&$e(r)===n.current&&(i?i():n.current?.focus(),x(`keyboard`)),e.preventDefault()}),l=w(()=>{t.commitValidation()});V(()=>{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`&&o(window.event)instanceof MessagePort,r?.call(t),a.current=!1}),e.addEventListener(`invalid`,c),e.addEventListener(`change`,l),t?.addEventListener(`reset`,s),()=>{e.removeEventListener(`invalid`,c),e.removeEventListener(`change`,l),t?.removeEventListener(`reset`,s),t&&(t.reset=r)}},[n,r])}function Ze(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 Qe(e){return{isInvalid:!e.validity.valid,validationDetails:Ze(e),validationErrors:e.validationMessage?[e.validationMessage]:[]}}function $e(e){for(let t=0;t<e.elements.length;t++){let n=e.elements[t];if(n.validity?.valid===!1)return n}return null}function et(e=!0){let[t,n]=W(e),r=U(!1),i=z(e=>{r.current=!0,n(!!e)},[]);return y(()=>{r.current||n(!1)},[]),[i,t]}function tt(e=!0){let t=A(),[n,r]=et(e);return{id:r?t:void 0,ref:n}}function nt(e,t,n){let{isDisabled:r=!1,isReadOnly:i=!1,value:a,name:s,form:c,children:l,isRequired:u,validationBehavior:d=`aria`,"aria-label":f,"aria-labelledby":p,"aria-describedby":m,onPressStart:h,onPressEnd:g,onPressChange:_,onPress:y,onPressUp:b,onClick:x}=e,S=Re({...e,value:t.isSelected}),{isInvalid:w,validationErrors:T,validationDetails:D}=S.displayValidation;Xe(e,S,n);let k=e=>{e.stopPropagation(),t.setSelected(o(e).checked)},{pressProps:A,isPressed:j}=O({onPressStart:h,onPressEnd:g,onPressChange:_,onPress:y,onPressUp:b,onClick:x,isDisabled:r}),[M,N]=W(!1),{pressProps:ee}=O({onPressStart(e){if(e.pointerType===`keyboard`||e.pointerType===`virtual`){e.continuePropagation();return}h?.(e),_?.(!0),N(!0)},onPressEnd(e){if(e.pointerType===`keyboard`||e.pointerType===`virtual`){e.continuePropagation();return}g?.(e),_?.(!1),N(!1)},onPressUp(e){if(e.pointerType===`keyboard`||e.pointerType===`virtual`){e.continuePropagation();return}b?.(e)},onClick:x,onPress(r){if(r.pointerType===`keyboard`||r.pointerType===`virtual`){r.continuePropagation();return}y?.(r),t.toggle(),n.current?.focus();let{[Le]:i}=e,{commitValidation:a}=i||S;a()},isDisabled:r||i}),{focusableProps:te}=C(e,n),ne=v(A,te),re=E(e,{labelable:!0});Ye(n,t.defaultSelected,t.setSelected);let ie=tt(),ae=tt();return{labelProps:v(ee,{onClick:e=>e.preventDefault()}),inputProps:v(re,{checked:t.isSelected,"aria-required":u&&d===`aria`||void 0,required:u&&d===`native`,"aria-invalid":w||e.validationState===`invalid`||void 0,"aria-errormessage":e[`aria-errormessage`],"aria-controls":e[`aria-controls`],"aria-readonly":i||void 0,"aria-describedby":[ie.id,ae.id,m].filter(Boolean).join(` `)||void 0,onChange:k,disabled:r,...a==null?{}:{value:a},name:s,form:c,type:`checkbox`,...ne}),descriptionProps:ie,errorMessageProps:ae,isSelected:t.isSelected,isPressed:j||M,isDisabled:r,isReadOnly:i,isInvalid:w||e.validationState===`invalid`,validationErrors:T,validationDetails:D}}function rt(e,t,n){let{labelProps:r,inputProps:i,descriptionProps:a,errorMessageProps:o,isSelected:s,isPressed:c,isDisabled:l,isReadOnly:u,isInvalid:d,validationErrors:f,validationDetails:p}=nt(e,t,n),{isIndeterminate:m}=e;return V(()=>{n.current&&(n.current.indeterminate=!!m)}),{labelProps:v(r,H(()=>({onMouseDown:e=>e.preventDefault()}),[])),inputProps:i,descriptionProps:a,errorMessageProps:o,isSelected:s,isPressed:c,isDisabled:l,isReadOnly:u,isInvalid:d,validationErrors:f,validationDetails:p}}function it(e={}){let{isReadOnly:t}=e,[n,r]=Ce(e.isSelected,e.defaultSelected||!1,e.onChange),[i]=W(n);function a(e){t||r(e)}function o(){t||r(!n)}return{isSelected:n,defaultSelected:e.defaultSelected??i,setSelected:a,toggle:o}}function at(e,t,n){let r=it({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:c}=Ke.get(t);c=e.validationBehavior??c;let{realtimeValidation:l}=Re({...e,value:r.isSelected,name:void 0,validationBehavior:`aria`}),u=U(Q),d=()=>{t.setInvalid(e.value,l.isInvalid?l:u.current)};V(d);let f=t.realtimeValidation.isInvalid?t.realtimeValidation:l,p=c===`native`?t.displayValidation:f,m=rt({...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:c,[Le]:{realtimeValidation:f,displayValidation:p,resetValidation:t.resetValidation,commitValidation:t.commitValidation,updateValidation(e){u.current=e,d()}}},r,n);return{...m,inputProps:{...m.inputProps,"aria-describedby":[m.inputProps[`aria-describedby`],t.isInvalid?s:null,o].filter(Boolean).join(` `)||void 0}}}function ot(e={}){let[t,n]=Ce(e.value,e.defaultValue||[],e.onChange),[r]=W(t),i=!!e.isRequired&&t.length===0,a=U(new Map),o=Re({...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(We(...n.values()))},validationState:e.validationState??(s?`invalid`:null),isInvalid:s,isRequired:i}}const st=L(null),ct=L(null),lt=L(null),ut=R(function(e,t){[e,t]=s(e,t,ct);let{validationBehavior:n}=l(Ge)||{},r=e.validationBehavior??n??`native`,i=ot({...e,validationBehavior:r}),[o,c]=f(!e[`aria-label`]&&!e[`aria-labelledby`]),{groupProps:d,labelProps:p,descriptionProps:h,errorMessageProps:g,..._}=Je({...e,label:c,validationBehavior:r},i),y=u({...e,values:{isDisabled:i.isDisabled,isReadOnly:i.isReadOnly,isRequired:e.isRequired||!1,isInvalid:i.isInvalid,state:i},defaultClassName:`react-aria-CheckboxGroup`}),b=E(e,{global:!0});return I.createElement(a.div,{...v(b,y,d),ref:t,slot:e.slot||void 0,"data-readonly":i.isReadOnly||void 0,"data-required":e.isRequired||void 0,"data-invalid":i.isInvalid||void 0,"data-disabled":e.isDisabled||void 0},I.createElement(m,{values:[[lt,i],[Ae,{...p,ref:o,elementType:`span`}],[xe,{slots:{description:h,errorMessage:g}}],[Z,_]]},y.children))}),dt=L(null);function ft(e,t){let{validationBehavior:n}=l(Ge)||{},r=e.validationBehavior??n??`native`,i=B(lt),a=g(H(()=>c(t,e.inputRef===void 0?null:e.inputRef),[t,e.inputRef])),o={..._(e),children:typeof e.children==`function`||e.children,value:e.value,validationBehavior:r};return[i?at(o,i,a):rt(o,it(e),a),a]}const pt=R(function(e,t){let{inputRef:n=null,...r}=e;[e,t]=s(r,t,st);let[i,a]=ft(e,n);return I.createElement(dt.Provider,{value:{...i,inputRef:a,defaultClassName:`react-aria-Checkbox`,isIndeterminate:e.isIndeterminate,isRequired:e.isRequired}},I.createElement(mt,{...e,ref:t}))}),mt=R(function(e,t){let{labelProps:n,inputProps:r,isSelected:i,isDisabled:o,isReadOnly:s,isPressed:c,isInvalid:l,inputRef:d,defaultClassName:f,isIndeterminate:p,isRequired:m}=B(dt),{isFocused:h,isFocusVisible:g,focusProps:_}=T(),y=o||s,{hoverProps:b,isHovered:x}=j({...e,isDisabled:y}),S=u({...e,defaultClassName:f,values:{isSelected:i,isIndeterminate:p||!1,isPressed:c,isHovered:x,isFocused:h,isFocusVisible:g,isDisabled:o,isReadOnly:s,isInvalid:l,isRequired:m||!1}}),C=E(e,{global:!0});return delete C.id,delete C.onClick,I.createElement(a.label,{...v(C,n,b,S),ref:t,slot:e.slot||void 0,"data-selected":i||void 0,"data-indeterminate":p||void 0,"data-pressed":c||void 0,"data-hovered":x||void 0,"data-focused":h||void 0,"data-focus-visible":g||void 0,"data-disabled":o||void 0,"data-readonly":s||void 0,"data-invalid":l||void 0,"data-required":m||void 0},I.createElement(fe,{elementType:`span`},I.createElement(`input`,{...v(r,_),ref:d})),S.children)}),ht=L({}),gt=L({});let _t=e=>{let{onHoverStart:t,onHoverChange:n,onHoverEnd:r,...i}=e;return i};const vt=M(function(e,t){[e,t]=s(e,t,gt);let{hoverProps:n,isHovered:r}=j({...e,isDisabled:e.disabled}),{isFocused:i,isFocusVisible:o,focusProps:c}=T({isTextInput:!0,autoFocus:e.autoFocus}),l=!!e[`aria-invalid`]&&e[`aria-invalid`]!==`false`,d=u({...e,values:{isHovered:r,isFocused:i,isFocusVisible:o,isDisabled:e.disabled||!1,isInvalid:l},defaultClassName:`react-aria-Input`});return I.createElement(a.input,{...v(_t(e),c,n),...d,ref:t,"data-focused":i||void 0,"data-disabled":e.disabled||void 0,"data-hovered":r||void 0,"data-focus-visible":o||void 0,"data-invalid":l||void 0})});function yt(e,t){let{inputElementType:n=`input`,isDisabled:r=!1,isRequired:i=!1,isReadOnly:a=!1,type:s=`text`,validationBehavior:c=`aria`}=e,[l,u]=Ce(e.value,e.defaultValue||``,e.onChange),{focusableProps:d}=C(e,t),f=Re({...e,value:l}),{isInvalid:p,validationErrors:m,validationDetails:h}=f.displayValidation,{labelProps:g,fieldProps:_,descriptionProps:y,errorMessageProps:b}=qe({...e,isInvalid:p,errorMessage:e.errorMessage||m}),x=E(e,{labelable:!0}),S={type:s,pattern:e.pattern},[w]=W(l);return Ye(t,e.defaultValue??w,u),Xe(e,f,t),{labelProps:g,inputProps:v(x,n===`input`?S:void 0,{disabled:r,readOnly:a,required:i&&c===`native`,"aria-required":i&&c===`aria`||void 0,"aria-invalid":p||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(o(e).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(I.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,..._}),descriptionProps:y,errorMessageProps:b,isInvalid:p,validationErrors:m,validationDetails:h}}const bt=L(null);function xt(e){let t=U({});return I.createElement(bt.Provider,{value:t},e.children)}const St=new WeakMap;function Ct(e,t,n){let{value:r,children:i,"aria-label":a,"aria-labelledby":o,onPressStart:s,onPressEnd:c,onPressChange:l,onPress:u,onPressUp:d,onClick:f}=e,p=e.isDisabled||t.isDisabled,m=t.selectedValue===r,h=e=>{e.stopPropagation(),t.setSelectedValue(r)},{pressProps:g,isPressed:_}=O({onPressStart:s,onPressEnd:c,onPressChange:l,onPress:u,onPressUp:d,onClick:f,isDisabled:p}),{pressProps:y,isPressed:b}=O({onPressStart:s,onPressEnd:c,onPressChange:l,onPressUp:d,onClick:f,isDisabled:p,onPress(e){u?.(e),t.setSelectedValue(r),n.current?.focus()}}),{focusableProps:x}=C(v(e,{onFocus:()=>t.setLastFocusedValue(r)}),n),S=v(g,x),w=E(e,{labelable:!0}),T=-1;t.selectedValue==null?(t.lastFocusedValue===r||t.lastFocusedValue==null)&&(T=0):t.selectedValue===r&&(T=0),p&&(T=void 0);let{name:D,form:k,descriptionId:A,errorMessageId:j,validationBehavior:M}=St.get(t);Ye(n,t.defaultSelectedValue,t.setSelectedValue),Xe({validationBehavior:M},t,n);let N=tt();return{labelProps:v(y,H(()=>({onClick:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault()}),[])),inputProps:v(w,{...S,type:`radio`,name:D,form:k,tabIndex:T,disabled:p,required:t.isRequired&&M===`native`,checked:m,value:r,onChange:h,"aria-describedby":[e[`aria-describedby`],N.id,t.isInvalid?j:null,A].filter(Boolean).join(` `)||void 0}),descriptionProps:N,isDisabled:p,isSelected:m,isPressed:_||b}}function wt(e,t){let{name:n,form:r,isReadOnly:i,isRequired:a,isDisabled:s,orientation:c=`vertical`,validationBehavior:l=`aria`}=e,{direction:u}=ue(),{isInvalid:d,validationErrors:f,validationDetails:m}=t.displayValidation,{labelProps:h,fieldProps:g,descriptionProps:_,errorMessageProps:y}=qe({...e,labelElementType:`span`,isInvalid:t.isInvalid,errorMessage:e.errorMessage||f}),b=E(e,{labelable:!0}),{focusWithinProps:x}=S({onBlurWithin(n){e.onBlur?.(n),t.selectedValue||t.setLastFocusedValue(null)},onFocusWithin:e.onFocus,onFocusWithinChange:e.onFocusChange});function C(e,n){let r=pe(n.currentTarget,{from:o(n),accept:e=>e instanceof p(e).HTMLInputElement&&e.type===`radio`}),i;return e===`next`?(i=r.nextNode(),i||=(r.currentNode=n.currentTarget,r.firstChild())):(i=r.previousNode(),i||=(r.currentNode=n.currentTarget,r.lastChild())),i?(i.focus(),t.setSelectedValue(i.value),!0):!1}let{keyboardProps:w}=k({shortcuts:{ArrowRight:e=>C(u===`rtl`&&c!==`vertical`?`prev`:`next`,e),ArrowLeft:e=>C(u===`rtl`&&c!==`vertical`?`next`:`prev`,e),ArrowDown:e=>C(`next`,e),ArrowUp:e=>C(`prev`,e)},allowRepeats:!0}),T=A(n);return St.set(t,{name:T,form:r,descriptionId:_.id,errorMessageId:y.id,validationBehavior:l}),{radioGroupProps:v(b,{role:`radiogroup`,...w,"aria-invalid":t.isInvalid||void 0,"aria-errormessage":e[`aria-errormessage`],"aria-readonly":i||void 0,"aria-required":a||void 0,"aria-disabled":s||void 0,"aria-orientation":c,...g,...x}),labelProps:h,descriptionProps:_,errorMessageProps:y,isInvalid:d,validationErrors:f,validationDetails:m}}let Tt=Math.round(Math.random()*1e10),Et=0;function Dt(e){let t=H(()=>e.name||`radio-group-${Tt}-${++Et}`,[e.name]),[n,r]=Ce(e.value,e.defaultValue??null,e.onChange),[i]=W(n),[a,o]=W(null),s=Re({...e,value:n}),c=t=>{!e.isReadOnly&&!e.isDisabled&&(r(t),s.commitValidation())},l=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||(l?`invalid`:null),isInvalid:l}}const Ot=L(null),kt=L(null),At=L(null),jt=R(function(e,t){[e,t]=s(e,t,Ot);let{validationBehavior:n}=l(Ge)||{},r=e.validationBehavior??n??`native`,i=Dt({...e,validationBehavior:r}),[o,c]=f(!e[`aria-label`]&&!e[`aria-labelledby`]),{radioGroupProps:d,labelProps:p,descriptionProps:h,errorMessageProps:g,..._}=wt({...e,label:c,validationBehavior:r},i),y=u({...e,values:{orientation:e.orientation||`vertical`,isDisabled:i.isDisabled,isReadOnly:i.isReadOnly,isRequired:i.isRequired,isInvalid:i.isInvalid,state:i},defaultClassName:`react-aria-RadioGroup`}),b=E(e,{global:!0});return I.createElement(a.div,{...v(b,y,d),ref:t,slot:e.slot||void 0,"data-orientation":e.orientation||`vertical`,"data-invalid":i.isInvalid||void 0,"data-disabled":i.isDisabled||void 0,"data-readonly":i.isReadOnly||void 0,"data-required":i.isRequired||void 0},I.createElement(m,{values:[[At,i],[Ae,{...p,ref:o,elementType:`span`}],[xe,{slots:{description:h,errorMessage:g}}],[Z,_]]},I.createElement(xt,null,y.children)))}),Mt=R(function(e,t){let{inputRef:n=null,...r}=e;[e,t]=s(r,t,kt);let i=I.useContext(At),a=g(H(()=>c(n,e.inputRef===void 0?null:e.inputRef),[n,e.inputRef])),o=Ct({..._(e),children:typeof e.children==`function`||e.children},i,a);return I.createElement(Nt.Provider,{value:{...o,inputRef:a,defaultClassName:`react-aria-Radio`}},I.createElement(Pt,{...e,ref:t}))}),Nt=L(null),Pt=R(function(e,t){let{labelProps:n,inputProps:r,isSelected:i,isDisabled:o,isPressed:s,defaultClassName:c,inputRef:l}=B(Nt),d=I.useContext(At),{isFocused:f,isFocusVisible:p,focusProps:m}=T(),h=o||d.isReadOnly,{hoverProps:g,isHovered:_}=j({...e,isDisabled:h}),y=u({...e,defaultClassName:c,values:{isSelected:i,isPressed:s,isHovered:_,isFocused:f,isFocusVisible:p,isDisabled:o,isReadOnly:d.isReadOnly,isInvalid:d.isInvalid,isRequired:d.isRequired}}),b=E(e,{global:!0});return delete b.id,delete b.onClick,I.createElement(a.label,{...v(b,n,g,y),ref:t,"data-selected":i||void 0,"data-pressed":s||void 0,"data-hovered":_||void 0,"data-focused":f||void 0,"data-focus-visible":p||void 0,"data-disabled":o||void 0,"data-readonly":d.isReadOnly||void 0,"data-invalid":d.isInvalid||void 0,"data-required":d.isRequired||void 0},I.createElement(fe,{elementType:`span`},I.createElement(`input`,{...v(r,m),ref:l})),y.children)}),Ft=L({});let It=e=>{let{onHoverStart:t,onHoverChange:n,onHoverEnd:r,...i}=e;return i};const Lt=R(function(e,t){[e,t]=s(e,t,Ft);let{hoverProps:n,isHovered:r}=j(e),{isFocused:i,isFocusVisible:o,focusProps:c}=T({isTextInput:!0,autoFocus:e.autoFocus}),l=!!e[`aria-invalid`]&&e[`aria-invalid`]!==`false`,d=u({...e,values:{isHovered:r,isFocused:i,isFocusVisible:o,isDisabled:e.disabled||!1,isInvalid:l},defaultClassName:`react-aria-TextArea`});return I.createElement(a.textarea,{...v(It(e),c,n),...d,ref:t,"data-focused":i||void 0,"data-disabled":e.disabled||void 0,"data-hovered":r||void 0,"data-focus-visible":o||void 0,"data-invalid":l||void 0})}),Rt=L(null),zt=M(function(e,t){[e,t]=s(e,t,Rt);let{validationBehavior:n}=l(Ge)||{},r=e.validationBehavior??n??`native`,i=U(null);[e,i]=s(e,i,ke);let[o,c]=f(!e[`aria-label`]&&!e[`aria-labelledby`]),[d,p]=W(`input`),{labelProps:h,inputProps:g,descriptionProps:v,errorMessageProps:y,...b}=yt({..._(e),inputElementType:d,label:c,validationBehavior:r},i),x=z(e=>{i.current=e,e&&p(e instanceof HTMLTextAreaElement?`textarea`:`input`)},[i]),S=u({...e,values:{isDisabled:e.isDisabled||!1,isInvalid:b.isInvalid,isReadOnly:e.isReadOnly||!1,isRequired:e.isRequired||!1},defaultClassName:`react-aria-TextField`}),C=E(e,{global:!0});return delete C.id,I.createElement(a.div,{...C,...S,ref:t,slot:e.slot||void 0,"data-disabled":e.isDisabled||void 0,"data-invalid":b.isInvalid||void 0,"data-readonly":e.isReadOnly||void 0,"data-required":e.isRequired||void 0},I.createElement(m,{values:[[Ae,{...h,ref:o}],[gt,{...g,ref:x}],[Ft,{...g,ref:x}],[ht,{role:`presentation`,isInvalid:b.isInvalid,isDisabled:e.isDisabled||!1}],[xe,{slots:{description:v,errorMessage:y}}],[Z,b]]},S.children))}),Bt={en:{required:`This field is required`,selectOption:`Please select an option`,fillFreeText:`Please fill out the free text field`,selectAtLeastOne:`Please select at least one option`,selectRating:`Please select a rating`,titleRequired:`Title is required`,invalidImage:`Invalid image data URL`,invalidRecording:`Invalid recording events`,invalidInput:`Invalid input`,maxLength:`Please enter less than {max} characters`,maxSelected:`Please select less than {max} options`},zh:{required:`此字段为必填项`,selectOption:`请选择一个选项`,fillFreeText:`请填写文本框`,selectAtLeastOne:`请至少选择一个选项`,selectRating:`请选择评分`,titleRequired:`标题为必填项`,invalidImage:`图片数据网址无效`,invalidRecording:`录制事件无效`,invalidInput:`输入无效`,maxLength:`请输入少于 {max} 个字符`,maxSelected:`请选择少于 {max} 个选项`},ms:{required:`Ruangan ini diperlukan`,selectOption:`Sila pilih satu pilihan`,fillFreeText:`Sila isikan ruangan teks`,selectAtLeastOne:`Sila pilih sekurang-kurangnya satu pilihan`,selectRating:`Sila pilih penilaian`,titleRequired:`Tajuk diperlukan`,invalidImage:`URL data imej tidak sah`,invalidRecording:`Acara rakaman tidak sah`,invalidInput:`Masukan tidak sah`,maxLength:`Sila masukkan kurang daripada {max} aksara`,maxSelected:`Sila pilih kurang daripada {max} pilihan`},ta:{required:`இந்தப் புலம் தேவை`,selectOption:`ஒரு விருப்பத்தைத் தேர்ந்தெடுக்கவும்`,fillFreeText:`உரைப் புலத்தில் விவரங்களை உள்ளிடவும்`,selectAtLeastOne:`குறைந்தது ஒரு விருப்பத்தையாவது தேர்ந்தெடுக்கவும்`,selectRating:`மதிப்பீட்டைத் தேர்ந்தெடுக்கவும்`,titleRequired:`தலைப்பு தேவை`,invalidImage:`படத்தின் URL தவறானது`,invalidRecording:`தவறான பதிவு நிகழ்வுகள்`,invalidInput:`தவறான உள்ளீடு`,maxLength:`{max} எழுத்துகளுக்கு மிகாமல் உள்ளிடவும்`,maxSelected:`அதிகபட்சம் {max} விருப்பங்களைத் தேர்ந்தெடுக்கவும்`}},Vt=/^Please enter less than (\d+) characters$/,Ht=/^Please select less than (\d+) options$/,Ut=(e,t=`en`)=>{let n=Bt[t],r=e.match(Vt);if(r)return n.maxLength.replace(`{max}`,r[1]??``);let i=e.match(Ht);if(i)return n.maxSelected.replace(`{max}`,i[1]??``);switch(e){case`This field is required`:return n.required;case`Please select an option`:return n.selectOption;case`Please fill out the free text field`:return n.fillFreeText;case`Please select at least one option`:return n.selectAtLeastOne;case`Please select a rating`:return n.selectRating;case`Title is required`:return n.titleRequired;case`Invalid image data URL`:return n.invalidImage;case`Invalid recording events`:return n.invalidRecording;case`Invalid input`:return n.invalidInput;default:return e}};function Wt(e,t){let n=e.issues[0];return Ut(n?.message??`Invalid input`,t)}const Gt=G.object({title:G.string(),description:G.string().optional(),screenshotDataUrl:G.string().optional(),recordingEventsJson:G.string().optional()}),$=e=>{if(Array.isArray(e))return e.length===0;let t=Gt.safeParse(e);return t.success?re(t.data):e===void 0||e===``},Kt=({answer:e,defaultAnswer:t})=>{if(!$(e)||!$(t))return e},qt=({routingLogic:e,answer:t,required:n,isLastQuestion:r})=>{if(e.type!==`always`&&$(t)&&n)return!0;let i=e.type===`always`?e.target:$(t)?e.default:e.cases.find(e=>ae({answer:t,condition:e}))?.target??e.default;return i.type===`jump`||i.type===`next`&&!r},Jt=({originalQuestions:e=[],answers:t,errors:n,pointer:r=-1})=>{let i=[...e].sort((e,t)=>e.position-t.position),a=r>=0?i[r]:void 0,o=se(i,t,{forceReachableIds:a?[a.id]:void 0}),s=i.map(e=>{let t=n[e.id];return{...e,...t&&{error:t},visible:o.has(e.id)}}),c=s.findIndex((e,n)=>n>r&&e.visible&&t[e.id]===void 0);return c===-1&&(c=s.findLastIndex(e=>!!e.visible)),{questions:s,currentIndex:c}},Yt=({questions:e,answers:t})=>Object.fromEntries(Object.entries(t).filter(t=>!!e.find(e=>e.id===t[0])?.visible&&t[1]!==null)),Xt={},Zt=({questions:e,answers:t,errors:n,locale:r})=>{let i={};for(let a of e){if(!a.visible||!a.required||t[a.id]!==void 0||n[a.id])continue;let e=ne(a.properties,{required:a.required}).safeParse(void 0);e.success||(i[a.id]=Wt(e.error,r))}return i},Qt=e=>{let t=e.querySelector(`[data-invalid]`);if(!t)return;let n=t.getAttribute(`role`);if(n===`radiogroup`||n===`group`){t.tabIndex=-1,t.focus();return}t.querySelector(`textarea, input`)?.focus()},$t=({current:e,shouldAutoSubmit:t,onSubmitted:n,onFinished:r,children:i,locale:a})=>{let{survey:o,submit:s}=_e(),[c,l]=W({}),[u,d]=W({}),[f,p]=W(null),m=H(()=>Jt({originalQuestions:o?.questions,answers:c,errors:u,pointer:e}),[o?.questions,c,u,e]),h=e??f??m.currentIndex,g=H(()=>!!o?.isBackNavigationAllowed&&h>0&&m.questions.slice(0,h).some(e=>!!e.visible),[o?.isBackNavigationAllowed,m.questions,h]),_=z((e,t)=>{let n=m.questions.find(t=>t.id===e)?.required??!1,r=$(t);l(i=>{if(n&&r){if(!(e in i))return i;let t={...i};return delete t[e],t}let a=!n&&r?null:t;return i[e]===a?i:{...i,[e]:a}})},[m.questions]),v=z(()=>{o?.isBackNavigationAllowed&&p(t=>{let n=t??e??m.currentIndex;for(let e=n-1;e>=0;e--)if(m.questions[e]?.visible)return e;return t})},[o?.isBackNavigationAllowed,m.questions,m.currentIndex,e]),[y,b]=W(0),x=y>0,S=U(null),[C,w]=W(!1);V(()=>{y===0||!S.current||Qt(S.current)},[y]);let T=z(({answers:e})=>{Promise.resolve(s({answers:e})).then(e=>r?.(e??void 0),()=>r?.())},[r,s]),E=z(()=>{let e=Object.fromEntries(Object.entries(u).filter(([e])=>!!m.questions.find(t=>t.id===e)?.visible)),t=Zt({questions:m.questions,answers:c,errors:e,locale:a}),r=Object.keys(t).length>0;if(Object.keys(e).length>0||r)return r&&d(e=>({...e,...t})),b(e=>e+1),!1;let i=Yt({questions:m.questions,answers:c});return T({answers:i}),w(!0),n?.(),!0},[c,u,m.questions,T,n,a]),D=z(({question:r,answer:i})=>{let s=m.questions.at(r);if(!s)return{error:`Question index is invalid`};let h=ne(s.properties,{required:s.required}).safeParse(i);if(!h.success){let e=Wt(h.error,a);return d(t=>t[s.id]===e?t:{...t,[s.id]:e}),l(e=>{if(!(s.id in e))return e;let t={...e};return delete t[s.id],t}),{error:e}}d(e=>{if(!e[s.id])return e;let t={...e};return delete t[s.id],t});let g=$(i),_=!s.required&&g?null:i,v={...c},y=v[s.id]!==_;v[s.id]=_;let b=Jt({originalQuestions:o?.questions,answers:v,errors:u,pointer:e});y&&l(v);let x=b.questions.findIndex((e,t)=>t>r&&!!e.visible);if(f!==null&&x!==-1)return p(x),{next:x};if(p(null),b.questions.every(({visible:e,id:t})=>!e||v[t]!==void 0)&&t){let e=Yt({questions:b.questions,answers:v});T({answers:e}),w(!0),n?.()}return{next:b.currentIndex}},[m.questions,c,o?.questions,u,t,e,f,T,n,a]);return m.questions.length===0?q(K,{}):q(`div`,{ref:S,className:`confetti ${le}`,"data-show-errors":x||void 0,children:i({questions:m.questions,current:h,answers:c,update:D,back:v,canGoBack:g,backButtonLabel:o?.backButtonLabel??void 0,saveAnswer:_,submit:E,isSubmitted:C,errors:x?u:Xt})})},en=L(null);function tn({children:a,surveyId:o,publishableKey:s,apiBaseUrl:c,respondent:l,isSurveyVisible:u}){let d=e({surveyId:o,override:l}),f=b({publishableKey:s,apiBaseUrl:c}),{isAvailable:p,isSettled:m}=r({client:f,surveyId:o}),{state:h,isSettled:g}=t({client:f,surveyId:o,respondent:d,enabled:i(u)}),_=H(()=>({respondent:d}),[d]);return!d||!m||!g||!p||!n(h,u)?null:q(en.Provider,{value:_,children:a})}function nn(e){return B(en)?q(K,{children:e.children}):q(tn,{...e})}function rn(){let e=B(en);if(!e)throw Error(`useRespondentVisibility must be used within a RespondentVisibilityProvider`);return e}const an=({children:e,classNames:t,containerProps:n,onDismiss:r,onClose:i,closeOnFinishMs:a=3e3,locale:o})=>{let{surveyId:s,survey:c,dismiss:l}=_e(),[u,d]=W(!1),[f,p]=W(!1),[m,h]=W(!1),[g,_]=W(!1);return Oe(()=>{c&&i?.()},f&&!(m||g)?a:null),J(`div`,{className:Y(`confetti-dialog ${le}`,t?.dialog),id:`${s}-popover`,...n,onMouseEnter:e=>{n?.onMouseEnter?.(e),h(!0)},onMouseLeave:e=>{n?.onMouseLeave?.(e),h(!1)},onFocusCapture:e=>{n?.onFocusCapture?.(e),_(!0)},onBlurCapture:e=>{n?.onBlurCapture?.(e),e.currentTarget.contains(e.relatedTarget)||_(!1)},children:[q(ve,{className:Y(`confetti-dialog-close`,t?.closeButton),iconClassName:t?.icon,locale:o,onClose:async()=>{u||(await l(),r?.()),i?.()}}),typeof e==`function`?e({setIsSubmitted:()=>d(!0),setIsFinished:()=>p(!0)}):e]})},on=({maskAllInputs:e,initialEventsJson:t,locale:n}={})=>{let[r,i]=W(()=>t??null),[a,o]=W(!1),[s,c]=W(null),[l,u]=W(30),d=U(null),f=U(null),p=U(null),m=U([]);V(()=>{let e=new CustomEvent(ce,{detail:{isRecording:a}});document.dispatchEvent(e)},[a]);let h=z(()=>{f.current&&=(clearInterval(f.current),null),p.current&&=(clearTimeout(p.current),null),d.current=null,u(30)},[]),g=z(()=>{d.current?.(),h(),o(!1),i(JSON.stringify(m.current))},[h]);return{recordingEventsJson:r,isRecording:a,recordingError:s,remainingSeconds:l,startRecording:z(async()=>{o(!0),c(null),i(null),m.current=[];try{let{record:t}=await import(`./record--U99gpCM.js`);d.current=t({slimDOMOptions:{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0},sampling:{mousemove:50,scroll:100,input:`last`},emit:e=>{m.current.push(e)},blockClass:`cfti-block`,maskTextClass:`cfti-mask`,maskAllInputs:e})??null;let n=30;u(n),f.current=setInterval(()=>{--n,u(n)},1e3),p.current=setTimeout(g,3e4)}catch{c(F(n).recordingError),o(!1),h()}},[e,g,h,n]),stopRecording:g,clear:z(()=>{h(),o(!1),i(null),c(null),m.current=[]},[h])}},sn=e=>e.replace(/\S/g,`*`),cn=e=>`*`.repeat(e.length),ln=(e,t)=>{for(let n of Array.from(e.childNodes))n instanceof Text?t(n):ln(n,t)},un=e=>{if(e instanceof HTMLInputElement)e.setAttribute(`value`,cn(e.getAttribute(`value`)??``));else if(e instanceof HTMLTextAreaElement)e.textContent=cn(e.textContent);else if(e instanceof HTMLSelectElement)for(let t of e.querySelectorAll(`option`))t.textContent=cn(t.textContent)},dn=({maskInputs:e})=>({name:`cfti-redact`,afterClone:t=>{let{clone:n}=t;if(n instanceof HTMLElement){for(let e of n.querySelectorAll(`.${oe}`)){ln(e,e=>{e.data=sn(e.data)}),un(e);for(let t of e.querySelectorAll(`input, textarea, select`))un(t)}if(e)for(let e of n.querySelectorAll(`input, textarea, select`))un(e)}}}),fn=({maskAllInputs:e,initialDataUrl:t,locale:n}={})=>{let[r,i]=W(()=>t??null),[a,o]=W(!1),[s,c]=W(null);return{screenshotDataUrl:r,isCapturing:a,captureError:s,capture:z(async()=>{o(!0),c(null);try{let{snapdom:t}=await import(`./snapdom-BbRa4ZYv.js`),n=await(await t(document.documentElement,{embedFonts:!0,exclude:[`.${le}`],excludeMode:`hide`,plugins:[dn({maskInputs:!!e})],fast:!1})).toCanvas(),r=window.devicePixelRatio||1,a=Math.min(Math.round(window.innerWidth*r),n.width),o=Math.min(Math.round(window.innerHeight*r),n.height),s=document.createElement(`canvas`);s.width=a,s.height=o;let c=s.getContext(`2d`);if(!c)throw Error(`Failed to get 2D context for cropping`);c.drawImage(n,0,0,a,o,0,0,a,o),i(s.toDataURL(`image/png`))}catch{c(F(n).captureError)}finally{o(!1)}},[e,n]),clear:z(()=>{i(null),c(null)},[])}},pn=e=>J(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,...e,children:[q(`circle`,{cx:`12`,cy:`12`,r:`10`}),q(`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`})]}),mn=e=>J(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,...e,children:[q(`path`,{d:`M10 11v6`}),q(`path`,{d:`M14 11v6`}),q(`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}),q(`path`,{d:`M3 6h18`}),q(`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`})]}),hn=G.object({session_id:G.string().optional()}),gn=G.object({getInternalContext:G.function(),getSessionReplayLink:G.function()});function _n(){try{let e=gn.safeParse(window.DD_RUM);if(!e.success)return null;let t=hn.safeParse(e.data.getInternalContext.call(window.DD_RUM)).data,n=G.string().safeParse(e.data.getSessionReplayLink.call(window.DD_RUM)).data;return{sessionId:t?.session_id,sessionReplayLink:n}}catch{return null}}function vn(){if(typeof window>`u`||typeof navigator>`u`)return;let e=navigator,t=window.screen,n=_n();return{userAgent:e.userAgent,screenResolution:`${t.width}x${t.height}`,viewportSize:`${window.innerWidth}x${window.innerHeight}`,pageUrl:window.location.href,pageTitle:document.title,referrer:document.referrer,language:e.language,timestamp:new Date().toISOString(),datadogTraceId:void 0,datadogSessionId:n?.sessionId,datadogSessionReplayLink:n?.sessionReplayLink}}const yn=De(()=>import(`./RecordingReplayer-D1vUPmxV.js`)),bn=({id:e,title:t,description:n,properties:r,onChange:i,required:a,error:o,classNames:s,maskAllInputs:c,defaultAnswer:l,locale:u})=>{let d=F(u),f=H(()=>vn(),[]),p=Gt.safeParse(l).data,[m,h]=W(()=>p?.title??``),[g,_]=W(()=>p?.description??``),{screenshotDataUrl:v,isCapturing:y,captureError:b,capture:x,clear:S}=fn({maskAllInputs:c,initialDataUrl:p?.screenshotDataUrl,locale:u}),{recordingEventsJson:C,isRecording:w,recordingError:T,remainingSeconds:E,startRecording:O,stopRecording:k,clear:A}=on({maskAllInputs:c,initialEventsJson:p?.recordingEventsJson,locale:u}),j=H(()=>({title:m,...g&&{description:g},...v&&{screenshotDataUrl:v},...C&&{recordingEventsJson:C},metadata:f}),[g,f,C,v,m]);V(()=>{i(j)},[j,i]),V(()=>k,[k]);let M=H(()=>C?N.parse(JSON.parse(C)):[],[C]);return q(K,{children:w?J(D,{className:Y(`cf-bug-report-button`,`cf-bug-report-record-button`,s?.button,s?.recordButton),onPress:k,children:[q(pn,{}),J(`span`,{children:[30-E,`s /`,` `,30,`s`]})]}):J(`div`,{className:Y(`cf-bug-report`,s?.base),children:[J(zt,{isRequired:a,isInvalid:!!o,name:`${e}-title`,value:m,onChange:h,className:Y(`cf-question`,s?.question),children:[J(`div`,{className:Y(`cf-header`,s?.header),children:[J(X,{className:Y(`cf-title`,s?.title),children:[t,!a&&J(`span`,{className:Y(`cf-label-optional`,s?.optionalLabel),children:[` `,d.optional]})]}),n&&q(P,{slot:`description`,className:Y(`cf-description`,s?.description),children:n})]}),q(vt,{placeholder:ye(r.placeholder,u),className:Y(`cf-input`,s?.input)}),q(Me,{className:Y(`cf-error`,s?.error),children:o})]}),J(zt,{name:`${e}-description`,value:g,onChange:_,className:Y(`cf-question`,s?.question),children:[q(X,{className:Y(`cf-title`,s?.title),children:r.detailsLabel}),q(Lt,{placeholder:ge(r.detailsPlaceholder,u),className:Y(`cf-textarea`,s?.textArea),rows:4})]}),r.enableScreenshot||r.enableRecording?J(`section`,{className:Y(`cf-question`,s?.question),children:[q(X,{className:Y(`cf-title`,s?.title),children:d.attachments}),J(`div`,{className:Y(`cf-bug-report-actions`,s?.actions),children:[r.enableScreenshot&&J(`div`,{className:Y(`cf-bug-report-screenshot-section`,s?.screenshotSection),children:[v?J(`div`,{className:Y(`cf-bug-report-media-preview`,s?.mediaPreview),children:[q(`img`,{src:v,alt:d.screenshotPreview,className:Y(`cf-bug-report-screenshot-img`,s?.screenshotImg)}),q(`div`,{className:Y(`cf-bug-report-media-actions`,s?.mediaActions),children:q(D,{className:Y(`cf-bug-report-button`,`cf-bug-report-button-action`,s?.button,s?.buttonAction),onPress:S,"aria-label":d.removeScreenshot,children:q(mn,{})})})]}):q(D,{className:Y(`cf-bug-report-button`,s?.button),onPress:x,isDisabled:y,children:y?d.capturing:d.screenshot}),b&&q(`div`,{className:Y(`cf-error`,s?.error),children:b})]}),r.enableRecording&&J(`div`,{className:Y(`cf-bug-report-recording-section`,s?.recordingSection),children:[M.length>0?J(`div`,{className:Y(`cf-bug-report-media-preview`,s?.mediaPreview),children:[q(we,{fallback:q(`span`,{className:Y(`cf-bug-report-player-loading`,s?.playerLoading),"aria-label":d.loadingRecordingPreview}),children:q(yn,{events:M})}),q(`div`,{className:Y(`cf-bug-report-media-actions`,s?.mediaActions),children:q(D,{className:Y(`cf-bug-report-button`,`cf-bug-report-button-action`,s?.button,s?.buttonAction),onPress:A,"aria-label":d.removeRecording,children:q(mn,{})})})]}):q(D,{className:Y(`cf-bug-report-button`,s?.button),onPress:O,children:d.record}),T&&q(`div`,{className:Y(`cf-error`,s?.error),children:T})]})]})]}):null]})})},xn=({id:e,title:t,description:n,properties:r,onChange:i,classNames:a,required:o,error:s,defaultAnswer:c,locale:l})=>{let[u,d]=W(()=>G.string().safeParse(c).data??``);return V(()=>{i(u)},[i,u]),J(zt,{isRequired:o,isInvalid:!!s,name:e,className:Y(`cf-question`,a?.question),value:u,onChange:e=>{d(e),i(e)},children:[J(`div`,{className:Y(`cf-header`,a?.header),children:[J(X,{className:Y(`cf-title`,a?.title),children:[t,!o&&J(`span`,{className:Y(`cf-label-optional`,a?.optionalLabel),children:[` `,F(l).optional]})]}),n&&q(P,{slot:`description`,className:Y(`cf-description`,a?.description),children:n})]}),q(Lt,{className:Y(`cf-textarea`,a?.textarea),maxLength:r.max,rows:4,placeholder:r.placeholder||F(l).startTyping}),q(Me,{className:Y(`cf-error`,a?.error),children:s})]})},Sn=({children:e,classNames:t,description:n,...r})=>q(pt,{...r,children:({isIndeterminate:r})=>J(K,{children:[J(`div`,{className:Y(`cf-choice-label`,t?.label),children:[q(`div`,{className:Y(`cf-checkbox-indicator`,t?.indicator),children:q(`svg`,{viewBox:`0 0 18 18`,"aria-hidden":`true`,className:Y(`cf-checkbox-indicator-svg`,t?.svg),children:r?q(`rect`,{x:1,y:7.5,width:16,height:3}):q(`polyline`,{points:`2 9 7 14 16 4`})},r?`indeterminate`:`check`)}),e]}),n&&q(`span`,{className:Y(`cf-choice-description`,t?.choiceDescription),children:n})]})}),Cn=({children:e,classNames:t,...n})=>q(pt,{...n,children:q(`div`,{className:Y(`cf-tag-label`,t?.tagLabel),children:e})}),wn=({title:e,description:t,properties:n,classNames:r,onChange:i,id:a,required:o,error:s,defaultAnswer:c,locale:l})=>{let u=!!n.editable,d=be(n.editable?.label,l),f=n.display===`tag`,p=Array.isArray(c)?c:[],m=new Set(n.options.map(e=>e.value)),h=p.find(e=>!m.has(e)),[g,_]=W(()=>{let e=p.filter(e=>m.has(e));return h!==void 0&&u&&e.push(te),e}),[v,y]=W(()=>h!==void 0&&u?h:``),b=U(null),x=U(null),S=e=>{!x.current||!e||requestAnimationFrame(()=>{x.current?.focus()})},C=H(()=>{let e=g.indexOf(te);if(e===-1)return g;let t=[...g];return t[e]=v||`__CONFETTI_CHECKBOX_Others`,t},[v,g]),w=f?Cn:Sn;return V(()=>{i(C)},[i,C]),q(ut,{isRequired:o,isInvalid:!!s,name:a,value:g,onChange:_,className:Y(`cf-question`,r?.question),children:({state:i})=>J(K,{children:[J(`div`,{className:Y(`cf-header`,r?.header),children:[J(X,{className:Y(`cf-title`,r?.title),children:[e,!o&&J(`span`,{className:Y(`cf-label-optional`,r?.optionalLabel),children:[` `,F(l).optional]})]}),t&&q(P,{slot:`description`,className:Y(`cf-description`,r?.description),children:t})]}),J(`div`,{className:Y(`cf-response-choices`,f&&`cf-response-choices-tag`,r?.group),children:[n.options.map((e,t)=>q(w,{className:Y(`cf-choice`,f&&[`cf-tag`,r?.tag],!f&&[`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.label??e.value},t)),u&&(f?J(K,{children:[q(Cn,{inputRef:b,onChange:S,className:Y(`cf-choice cf-tag`,r?.tag),value:`__CONFETTI_CHECKBOX_Others`,children:d}),q(vt,{"data-visible":i.value.includes(`__CONFETTI_CHECKBOX_Others`)||void 0,value:v,onChange:e=>{y(e.target.value)},ref:x,className:Y(`cf-input cf-tag-input`,r?.othersInput)})]}):J(`div`,{className:Y(`cf-choice cf-others-choice`,r?.othersChoice),children:[q(Sn,{inputRef:b,onChange:S,className:Y(`cf-checkbox`,r?.checkbox),value:`__CONFETTI_CHECKBOX_Others`,classNames:{indicator:r?.indicator,svg:r?.svg},description:n.editable?.description,children:d}),q(vt,{value:v,onChange:e=>{y(e.target.value)},tabIndex:i.value.includes(`__CONFETTI_CHECKBOX_Others`)?0:-1,ref:x,onFocus:()=>{b.current?.checked===!1&&b.current.click()},className:Y(`cf-input`,r?.othersInput)})]}))]}),q(Me,{className:Y(`cf-error`,r?.error),children:s})]})})},Tn=e=>J(`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:[q(`circle`,{cx:12,cy:12,r:10}),q(`path`,{d:`M16 16s-1.5-2-4-2-4 2-4 2M7.5 8 10 9M14 9l2.5-1M9 10h.01M15 10h.01`})]}),En=e=>J(`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:[q(`circle`,{cx:12,cy:12,r:10}),q(`path`,{d:`M18 13a6 6 0 0 1-6 5 6 6 0 0 1-6-5h12ZM9 9h.01M15 9h.01`})]}),Dn=e=>J(`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:[q(`circle`,{cx:12,cy:12,r:10}),q(`path`,{d:`M16 16s-1.5-2-4-2-4 2-4 2M9 9h.01M15 9h.01`})]}),On=e=>J(`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:[q(`circle`,{cx:12,cy:12,r:10}),q(`path`,{d:`M8 15h8M9 9h.01M15 9h.01`})]}),kn=e=>J(`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:[q(`circle`,{cx:12,cy:12,r:10}),q(`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2M9 9h.01M15 9h.01`})]}),An=e=>q(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:40,height:40,fill:`none`,...e,children:q(`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`})}),jn=e=>q(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:40,height:40,viewBox:`0 0 24 24`,...e,children:q(`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`})}),Mn=({state:e,properties:t,classNames:n})=>{let r=e.selectedValue?Number(e.selectedValue):null;return q(`div`,{className:Y(`cf-rating-display-star`,n?.ratingDisplayStar),children:Array.from({length:t.scale},(e,t)=>{let i=t+1,a=r&&i<=r;return q(Mt,{className:Y(`cf-rating-star`,n?.ratingStar),value:String(i),"data-filled":a?`true`:void 0,children:q(a?jn:An,{})},t)})})},Nn=({properties:e,classNames:t})=>q(`div`,{className:Y(`cf-rating-display-number`,t?.ratingDisplayNumber),children:Array.from({length:e.scale},(e,n)=>{let r=n+1;return q(Mt,{className:Y(`cf-rating-number`,t?.ratingNumber),value:String(r),children:r},n)})}),Pn=[Tn,Dn,On,kn,En],Fn=[Dn,On,kn],In=({properties:e,classNames:t,state:n})=>e.scale===3||e.scale===5?q(`div`,{className:Y(`cf-rating-display-emoji`,t?.ratingDisplayEmoji),children:Array.from({length:e.scale},(n,r)=>{let i=r+1,a=e.scale===5?Pn[r]:Fn[r];return q(Mt,{className:Y(`cf-rating-emoji`,t?.ratingEmoji),value:String(i),children:a&&q(a,{})},r)})}):q(Nn,{properties:e,classNames:t,state:n}),Ln=e=>{switch(e.properties.display??`star`){case`emoji`:return q(In,{...e});case`number`:return q(Nn,{...e});case`star`:return q(Mn,{...e})}},Rn=({properties:e,title:t,description:n,classNames:r,onChange:i,id:a,error:o,required:s,defaultAnswer:c,locale:l})=>{let[u,d]=W(()=>G.number().safeParse(c).data?.toString()??null),f=u?Number(u):void 0;return V(()=>{i(f)},[i,f]),q(jt,{isRequired:s,isInvalid:!!o,name:a,className:Y(`cf-question`,r?.question),value:u,onChange:d,children:({state:i})=>J(K,{children:[J(`div`,{className:Y(`cf-header`,r?.header),children:[J(X,{className:Y(`cf-title`,r?.title),children:[t,!s&&J(`span`,{className:Y(`cf-label-optional`,r?.optionalLabel),children:[` `,F(l).optional]})]}),n&&q(P,{slot:`description`,className:Y(`cf-description`,r?.description),children:n})]}),J(`div`,{className:Y(`cf-rating-section`,r?.ratingSection),children:[q(Ln,{state:i,properties:e,classNames:r}),J(`div`,{className:Y(`cf-rating-text`,r?.ratingText),children:[q(`span`,{className:Y(`cf-rating-text-lower`,r?.ratingTextLower),children:e.labels?.lower}),q(`span`,{className:Y(`cf-rating-text-upper`,r?.ratingTextUpper),children:e.labels?.upper})]})]}),q(Me,{className:Y(`cf-error`,r?.error),children:o})]})})},zn=({classNames:e,className:t,description:n,...r})=>q(Mt,{...r,className:Y(t,e?.radio),children:h(r.children,t=>J(K,{children:[J(`div`,{className:Y(`cf-choice-label`,e?.label),children:[q(`div`,{className:Y(`cf-radio-indicator`,e?.indicator)}),t]}),n&&q(`span`,{className:Y(`cf-choice-description`,e?.choiceDescription),children:n})]}))}),Bn=({title:e,description:t,properties:n,classNames:r,onChange:i,id:a,required:o,error:s,defaultAnswer:c,locale:l})=>{let u=!!n.editable,d=be(n.editable?.label,l),f=G.string().safeParse(c).data??null,p=f!==null&&n.options.some(e=>e.value===f),[m,h]=W(()=>f===null?null:p?f:u?ie:null),[g,_]=W(()=>f!==null&&!p&&u?f:``),v=U(null),y=U(null),b=m===`__CONFETTI_RADIO_Others`?g||`__CONFETTI_RADIO_Others`:m??void 0;return V(()=>{i(b)},[i,b]),q(jt,{isRequired:o,isInvalid:!!s,name:a,onChange:e=>{h(e),e===`__CONFETTI_RADIO_Others`&&requestAnimationFrame(()=>{y.current?.focus()})},value:m,className:Y(`cf-question`,r?.question),children:({state:i})=>J(K,{children:[J(`div`,{className:Y(`cf-header`,r?.header),children:[J(X,{className:Y(`cf-title`,r?.title),children:[e,!o&&J(`span`,{className:Y(`cf-label-optional`,r?.optionalLabel),children:[` `,F(l).optional]})]}),t&&q(P,{slot:`description`,className:Y(`cf-description`,r?.description),children:t})]}),J(`div`,{className:Y(`cf-response-choices`,r?.group),children:[n.options.map((e,t)=>q(zn,{classNames:{indicator:r?.indicator,radio:Y(`cf-choice cf-radio`,r?.radio)},value:e.value,description:e.description,children:e.label??e.value},t)),u&&J(`div`,{className:Y(`cf-choice cf-others-choice`,r?.othersChoice),children:[q(zn,{inputRef:v,value:`__CONFETTI_RADIO_Others`,classNames:{indicator:r?.indicator,radio:Y(`cf-radio`,r?.radio)},description:n.editable?.description,children:d}),q(vt,{tabIndex:i.selectedValue===`__CONFETTI_RADIO_Others`?0:-1,ref:y,value:g,onChange:e=>_(e.target.value),onFocus:()=>{v.current?.checked===!1&&v.current.click()},className:Y(`cf-input`,r?.othersInput)})]})]}),q(Me,{className:Y(`cf-error`,r?.error),children:s})]})})},Vn=({properties:e,title:t,description:n,classNames:r})=>q(`div`,{className:Y(`cf-question`,r?.question),children:J(`div`,{className:Y(`cf-header`,r?.header),children:[t&&q(`div`,{className:Y(`cf-title`,r?.title),children:t}),n&&q(`div`,{className:Y(`cf-description`,r?.description),children:n})]})}),Hn=({question:e,onChange:t,error:n,maskAllInputs:r,defaultAnswer:i,locale:a})=>{switch(e.properties.type){case`rating`:return q(Rn,{...e,properties:e.properties,onChange:t,error:n,defaultAnswer:i,locale:a},e.id);case`open-ended`:return q(xn,{...e,properties:e.properties,onChange:t,error:n,defaultAnswer:i,locale:a},e.id);case`single-select`:return q(Bn,{...e,properties:e.properties,onChange:t,error:n,defaultAnswer:i,locale:a},e.id);case`multi-select`:return q(wn,{...e,properties:e.properties,onChange:t,error:n,defaultAnswer:i,locale:a},e.id);case`statement`:return q(Vn,{...e,properties:e.properties,onChange:t,error:n},e.id);case`bug-report`:return q(bn,{...e,properties:e.properties,onChange:t,error:n,maskAllInputs:r,defaultAnswer:i,locale:a},e.id)}return q(`div`,{children:F(a).unsupportedQuestionType},e.id)},Un=({title:e,description:t,classNames:n,onClose:r,locale:i})=>{let{survey:a}=_e();if(!a)return null;let o=t||a.confirmation.description;return J(K,{children:[q(`div`,{className:Y(`cf-question`,n?.question),children:J(`div`,{className:Y(`cf-header`,n?.header),children:[q(X,{className:Y(`cf-title`,n?.title),children:e||he(a.confirmation.title,i)}),o&&q(P,{slot:`description`,className:Y(`cf-description`,n?.description),children:o})]})}),q(D,{className:`cf-submit-button`,onPress:()=>{r?.()},children:de(a.confirmation.buttonText,i)})]})},Wn=({onPress:e,children:t,locale:n})=>me()?null:q(D,{className:`cf-back-button`,onPress:e,children:t===void 0?F(n).back:t}),Gn=({question:e,answer:t,isLastQuestion:n,locale:r})=>{if(e.properties.buttonLabel)return e.properties.buttonLabel;let i=F(r);return qt({routingLogic:e.routingLogic,answer:t,required:e.required,isLastQuestion:n})?!e.required&&$(t)?i.skip:i.next:i.submit},Kn=({onPress:e,isDisabled:t,children:n,locale:r})=>me()?null:q(D,{isDisabled:t,className:`cf-submit-button`,onPress:e,children:n===void 0?F(r).submit:n}),qn=e=>{switch(e){case`multi-select`:return[];case`bug-report`:return{title:``};case`statement`:return;default:return``}},Jn=({onSubmit:e,children:t,question:n,isLastQuestion:r,defaultAnswer:i,backButton:a,saveAnswer:o,locale:s})=>{let c=me(),[l,u]=W(i??qn(n.properties.type)),d=H(()=>ne(n.properties,{required:n.required}),[n.properties,n.required]),f=H(()=>{let e=d.safeParse(l);if(!e.success)return Wt(e.error,s)},[l,d,s]),p=Gn({question:n,answer:l,isLastQuestion:r,locale:s}),m=z(()=>{if(n.properties.type===`statement`){if(n.properties.buttonUrl&&typeof window<`u`){let e=ee.safeParse(n.properties.buttonUrl).data;e&&window.open(e,`_blank`)}return e(void 0)}return e(l)},[l,e,n.properties]),h=!$(i),g=(n.properties.type===`rating`||n.properties.type===`single-select`)&&!!n.properties.shouldAutoProgress&&!h,_=z(t=>{u(t),g&&!$(t)&&d.safeParse(t).success&&e(t)},[g,d,e]),v=H(()=>Ee(a)?Te(a,{onPress:()=>{let e=Kt({answer:l,defaultAnswer:i});e!==void 0&&o?.(e),a.props.onPress?.()}}):a,[a,l,i,o]);return J(K,{children:[t({onChange:_,question:n,error:f,defaultAnswer:i}),!c&&J(`div`,{className:`cf-button-row`,children:[v,(!g||!n.required)&&q(Kn,{isDisabled:!!f,onPress:m,children:p})]})]})},Yn=({onSubmit:e,children:t,locale:n})=>J(K,{children:[t,q(Kn,{onPress:e,locale:n})]});export{Hn as a,Rn as c,an as d,en as f,$t as h,Un as i,wn as l,rn as m,Jn as n,Vn as o,nn as p,Wn as r,Bn as s,Yn as t,xn as u};
|
|
1
|
+
import{a as e,i as t,o as n,r,s as i}from"./DefaultConfettiTrigger-DfKhP7hV.js";import{B as a,D as o,F as s,G as c,H as l,I as u,K as d,L as f,M as p,P as m,R as h,U as g,V as _,W as v,Y as y,Z as b,_ as x,a as S,d as C,h as w,i as T,l as E,n as D,o as O,p as k,q as A,r as j,u as M}from"./Button-BGUCuTdV.js";import{c as N,d as ee,l as te,o as ne,s as re,u as ie}from"./src-CzDdylBF.js";import{a as ae,n as oe,o as se,r as ce,t as le}from"./internals-B--R9Zxw.js";import{_ as P,a as F,b as ue,c as de,g as fe,h as pe,i as me,l as he,o as ge,p as _e,r as ve,s as ye,u as be,v as xe,x as Se,y as Ce}from"./ModalContainer-igsKZUi1.js";import I,{Suspense as we,cloneElement as Te,createContext as L,forwardRef as R,isValidElement as Ee,lazy as De,useCallback as z,useContext as B,useEffect as V,useMemo as H,useRef as U,useState as W}from"react";import{useTimeout as Oe}from"usehooks-ts";import{z as G}from"zod";import{Fragment as K,jsx as q,jsxs as J}from"react/jsx-runtime";import Y from"clsx";import"react-dom";const ke=L(null),Ae=L({}),X=M(function(e,t){[e,t]=s(e,t,Ae);let{elementType:n=`label`,...r}=e,i=a[n];return I.createElement(i,{className:`react-aria-Label`,...r,ref:t})});function je(e){let{id:t,label:n,"aria-labelledby":r,"aria-label":i,labelElementType:a=`label`}=e;t=A(t);let o=A(),s={};n&&(r=r?`${o} ${r}`:o,s={id:o,htmlFor:a===`label`?t:void 0});let c=Se({id:t,"aria-label":i,"aria-labelledby":r});return{labelProps:s,fieldProps:c}}const Z=L(null),Me=R(function(e,t){return B(Z)?.isInvalid?I.createElement(Ne,{...e,ref:t}):null}),Ne=R((e,t)=>{let n=B(Z),{elementType:r,...i}=e,a=E(i,{global:!0}),o=u({...i,defaultClassName:`react-aria-FieldError`,defaultChildren:n.validationErrors.length===0?void 0:n.validationErrors.join(` `),values:n});return o.children==null?null:I.createElement(P,{slot:`errorMessage`,elementType:r,...a,...o,ref:t})}),Pe={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valueMissing:!1,valid:!0},Fe={...Pe,customError:!0,valid:!1},Q={isInvalid:!1,validationDetails:Pe,validationErrors:[]},Ie=L({}),Le=`__reactAriaFormValidationState`;function Re(e){if(e.__reactAriaFormValidationState){let{realtimeValidation:t,displayValidation:n,updateValidation:r,resetValidation:i,commitValidation:a}=e[Le];return{realtimeValidation:t,displayValidation:n,updateValidation:r,resetValidation:i,commitValidation:a}}return ze(e)}function ze(e){let{isInvalid:t,validationState:n,name:r,value:i,builtinValidation:a,validate:o,validationBehavior:s=`aria`}=e;n&&(t||=n===`invalid`);let c=t===void 0?null:{isInvalid:t,validationErrors:[],validationDetails:Fe},l=H(()=>!o||i==null?null:He(Ve(o,i)),[o,i]);a?.validationDetails.valid&&(a=void 0);let u=B(Ie),d=H(()=>r?Array.isArray(r)?r.flatMap(e=>Be(u[e])):Be(u[r]):[],[u,r]),[f,p]=W(u),[m,h]=W(!1);u!==f&&(p(u),h(!1));let g=H(()=>He(m?[]:d),[m,d]),_=U(Q),[v,y]=W(Q),b=U(Q),x=()=>{if(!S)return;C(!1);let e=l||a||_.current;Ue(e,b.current)||(b.current=e,y(e))},[S,C]=W(!1);return V(x),{realtimeValidation:c||g||l||a||Q,displayValidation:s===`native`?c||g||v:c||g||l||a||v,updateValidation(e){s===`aria`&&!Ue(v,e)?y(e):_.current=e},resetValidation(){let e=Q;Ue(e,b.current)||(b.current=e,y(e)),s===`native`&&C(!1),h(!0)},commitValidation(){s===`native`&&C(!0),h(!0)}}}function Be(e){return e?Array.isArray(e)?e:[e]:[]}function Ve(e,t){if(typeof e==`function`){let n=e(t);if(n&&typeof n!=`boolean`)return Be(n)}return[]}function He(e){return e.length?{isInvalid:!0,validationErrors:e,validationDetails:Fe}:null}function Ue(e,t){return e===t||!!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 We(...e){let t=new Set,n=!1,r={...Pe};for(let i of e){for(let e of i.validationErrors)t.add(e);n||=i.isInvalid;for(let e in r)r[e]||=i.validationDetails[e]}return r.valid=!n,{isInvalid:n,validationErrors:[...t],validationDetails:r}}const Ge=L(null),Ke=new WeakMap;function qe(e){let{description:t,errorMessage:n,isInvalid:r,validationState:i}=e,{labelProps:a,fieldProps:o}=je(e),s=d([!!t,!!n,r,i]),c=d([!!t,!!n,r,i]);return o=v(o,{"aria-describedby":[s,c,e[`aria-describedby`]].filter(Boolean).join(` `)||void 0}),{labelProps:a,fieldProps:o,descriptionProps:{id:s},errorMessageProps:{id:c}}}function Je(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}=qe({...e,labelElementType:`span`,isInvalid:o,errorMessage:e.errorMessage||s});Ke.set(t,{name:r,form:i,descriptionId:d.id,errorMessageId:f.id,validationBehavior:a});let p=E(e,{labelable:!0}),{focusWithinProps:m}=S({onBlurWithin:e.onBlur,onFocusWithin:e.onFocus,onFocusWithinChange:e.onFocusChange});return{groupProps:v(p,{role:`group`,"aria-disabled":n||void 0,...u,...m}),labelProps:l,descriptionProps:d,errorMessageProps:f,isInvalid:o,validationErrors:s,validationDetails:c}}function Ye(e,t,n){let r=w(e=>{n&&!e.defaultPrevented&&n(t)});V(()=>{let t=e?.current?.form;return t?.addEventListener(`reset`,r),()=>{t?.removeEventListener(`reset`,r)}},[e])}function Xe(e,t,n){let{validationBehavior:r,focus:i}=e;y(()=>{if(r===`native`&&n?.current&&`setCustomValidity`in 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(Qe(n.current))}});let a=U(!1),s=w(()=>{a.current||t.resetValidation()}),c=w(e=>{t.displayValidation.isInvalid||t.commitValidation();let r=n?.current?.form;!e.defaultPrevented&&n&&r&&$e(r)===n.current&&(i?i():n.current?.focus(),x(`keyboard`)),e.preventDefault()}),l=w(()=>{t.commitValidation()});V(()=>{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`&&o(window.event)instanceof MessagePort,r?.call(t),a.current=!1}),e.addEventListener(`invalid`,c),e.addEventListener(`change`,l),t?.addEventListener(`reset`,s),()=>{e.removeEventListener(`invalid`,c),e.removeEventListener(`change`,l),t?.removeEventListener(`reset`,s),t&&(t.reset=r)}},[n,r])}function Ze(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 Qe(e){return{isInvalid:!e.validity.valid,validationDetails:Ze(e),validationErrors:e.validationMessage?[e.validationMessage]:[]}}function $e(e){for(let t=0;t<e.elements.length;t++){let n=e.elements[t];if(n.validity?.valid===!1)return n}return null}function et(e=!0){let[t,n]=W(e),r=U(!1),i=z(e=>{r.current=!0,n(!!e)},[]);return y(()=>{r.current||n(!1)},[]),[i,t]}function tt(e=!0){let t=A(),[n,r]=et(e);return{id:r?t:void 0,ref:n}}function nt(e,t,n){let{isDisabled:r=!1,isReadOnly:i=!1,value:a,name:s,form:c,children:l,isRequired:u,validationBehavior:d=`aria`,"aria-label":f,"aria-labelledby":p,"aria-describedby":m,onPressStart:h,onPressEnd:g,onPressChange:_,onPress:y,onPressUp:b,onClick:x}=e,S=Re({...e,value:t.isSelected}),{isInvalid:w,validationErrors:T,validationDetails:D}=S.displayValidation;Xe(e,S,n);let k=e=>{e.stopPropagation(),t.setSelected(o(e).checked)},{pressProps:A,isPressed:j}=O({onPressStart:h,onPressEnd:g,onPressChange:_,onPress:y,onPressUp:b,onClick:x,isDisabled:r}),[M,N]=W(!1),{pressProps:ee}=O({onPressStart(e){if(e.pointerType===`keyboard`||e.pointerType===`virtual`){e.continuePropagation();return}h?.(e),_?.(!0),N(!0)},onPressEnd(e){if(e.pointerType===`keyboard`||e.pointerType===`virtual`){e.continuePropagation();return}g?.(e),_?.(!1),N(!1)},onPressUp(e){if(e.pointerType===`keyboard`||e.pointerType===`virtual`){e.continuePropagation();return}b?.(e)},onClick:x,onPress(r){if(r.pointerType===`keyboard`||r.pointerType===`virtual`){r.continuePropagation();return}y?.(r),t.toggle(),n.current?.focus();let{[Le]:i}=e,{commitValidation:a}=i||S;a()},isDisabled:r||i}),{focusableProps:te}=C(e,n),ne=v(A,te),re=E(e,{labelable:!0});Ye(n,t.defaultSelected,t.setSelected);let ie=tt(),ae=tt();return{labelProps:v(ee,{onClick:e=>e.preventDefault()}),inputProps:v(re,{checked:t.isSelected,"aria-required":u&&d===`aria`||void 0,required:u&&d===`native`,"aria-invalid":w||e.validationState===`invalid`||void 0,"aria-errormessage":e[`aria-errormessage`],"aria-controls":e[`aria-controls`],"aria-readonly":i||void 0,"aria-describedby":[ie.id,ae.id,m].filter(Boolean).join(` `)||void 0,onChange:k,disabled:r,...a==null?{}:{value:a},name:s,form:c,type:`checkbox`,...ne}),descriptionProps:ie,errorMessageProps:ae,isSelected:t.isSelected,isPressed:j||M,isDisabled:r,isReadOnly:i,isInvalid:w||e.validationState===`invalid`,validationErrors:T,validationDetails:D}}function rt(e,t,n){let{labelProps:r,inputProps:i,descriptionProps:a,errorMessageProps:o,isSelected:s,isPressed:c,isDisabled:l,isReadOnly:u,isInvalid:d,validationErrors:f,validationDetails:p}=nt(e,t,n),{isIndeterminate:m}=e;return V(()=>{n.current&&(n.current.indeterminate=!!m)}),{labelProps:v(r,H(()=>({onMouseDown:e=>e.preventDefault()}),[])),inputProps:i,descriptionProps:a,errorMessageProps:o,isSelected:s,isPressed:c,isDisabled:l,isReadOnly:u,isInvalid:d,validationErrors:f,validationDetails:p}}function it(e={}){let{isReadOnly:t}=e,[n,r]=Ce(e.isSelected,e.defaultSelected||!1,e.onChange),[i]=W(n);function a(e){t||r(e)}function o(){t||r(!n)}return{isSelected:n,defaultSelected:e.defaultSelected??i,setSelected:a,toggle:o}}function at(e,t,n){let r=it({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:c}=Ke.get(t);c=e.validationBehavior??c;let{realtimeValidation:l}=Re({...e,value:r.isSelected,name:void 0,validationBehavior:`aria`}),u=U(Q),d=()=>{t.setInvalid(e.value,l.isInvalid?l:u.current)};V(d);let f=t.realtimeValidation.isInvalid?t.realtimeValidation:l,p=c===`native`?t.displayValidation:f,m=rt({...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:c,[Le]:{realtimeValidation:f,displayValidation:p,resetValidation:t.resetValidation,commitValidation:t.commitValidation,updateValidation(e){u.current=e,d()}}},r,n);return{...m,inputProps:{...m.inputProps,"aria-describedby":[m.inputProps[`aria-describedby`],t.isInvalid?s:null,o].filter(Boolean).join(` `)||void 0}}}function ot(e={}){let[t,n]=Ce(e.value,e.defaultValue||[],e.onChange),[r]=W(t),i=!!e.isRequired&&t.length===0,a=U(new Map),o=Re({...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(We(...n.values()))},validationState:e.validationState??(s?`invalid`:null),isInvalid:s,isRequired:i}}const st=L(null),ct=L(null),lt=L(null),ut=R(function(e,t){[e,t]=s(e,t,ct);let{validationBehavior:n}=l(Ge)||{},r=e.validationBehavior??n??`native`,i=ot({...e,validationBehavior:r}),[o,c]=f(!e[`aria-label`]&&!e[`aria-labelledby`]),{groupProps:d,labelProps:p,descriptionProps:h,errorMessageProps:g,..._}=Je({...e,label:c,validationBehavior:r},i),y=u({...e,values:{isDisabled:i.isDisabled,isReadOnly:i.isReadOnly,isRequired:e.isRequired||!1,isInvalid:i.isInvalid,state:i},defaultClassName:`react-aria-CheckboxGroup`}),b=E(e,{global:!0});return I.createElement(a.div,{...v(b,y,d),ref:t,slot:e.slot||void 0,"data-readonly":i.isReadOnly||void 0,"data-required":e.isRequired||void 0,"data-invalid":i.isInvalid||void 0,"data-disabled":e.isDisabled||void 0},I.createElement(m,{values:[[lt,i],[Ae,{...p,ref:o,elementType:`span`}],[xe,{slots:{description:h,errorMessage:g}}],[Z,_]]},y.children))}),dt=L(null);function ft(e,t){let{validationBehavior:n}=l(Ge)||{},r=e.validationBehavior??n??`native`,i=B(lt),a=g(H(()=>c(t,e.inputRef===void 0?null:e.inputRef),[t,e.inputRef])),o={..._(e),children:typeof e.children==`function`||e.children,value:e.value,validationBehavior:r};return[i?at(o,i,a):rt(o,it(e),a),a]}const pt=R(function(e,t){let{inputRef:n=null,...r}=e;[e,t]=s(r,t,st);let[i,a]=ft(e,n);return I.createElement(dt.Provider,{value:{...i,inputRef:a,defaultClassName:`react-aria-Checkbox`,isIndeterminate:e.isIndeterminate,isRequired:e.isRequired}},I.createElement(mt,{...e,ref:t}))}),mt=R(function(e,t){let{labelProps:n,inputProps:r,isSelected:i,isDisabled:o,isReadOnly:s,isPressed:c,isInvalid:l,inputRef:d,defaultClassName:f,isIndeterminate:p,isRequired:m}=B(dt),{isFocused:h,isFocusVisible:g,focusProps:_}=T(),y=o||s,{hoverProps:b,isHovered:x}=j({...e,isDisabled:y}),S=u({...e,defaultClassName:f,values:{isSelected:i,isIndeterminate:p||!1,isPressed:c,isHovered:x,isFocused:h,isFocusVisible:g,isDisabled:o,isReadOnly:s,isInvalid:l,isRequired:m||!1}}),C=E(e,{global:!0});return delete C.id,delete C.onClick,I.createElement(a.label,{...v(C,n,b,S),ref:t,slot:e.slot||void 0,"data-selected":i||void 0,"data-indeterminate":p||void 0,"data-pressed":c||void 0,"data-hovered":x||void 0,"data-focused":h||void 0,"data-focus-visible":g||void 0,"data-disabled":o||void 0,"data-readonly":s||void 0,"data-invalid":l||void 0,"data-required":m||void 0},I.createElement(fe,{elementType:`span`},I.createElement(`input`,{...v(r,_),ref:d})),S.children)}),ht=L({}),gt=L({});let _t=e=>{let{onHoverStart:t,onHoverChange:n,onHoverEnd:r,...i}=e;return i};const vt=M(function(e,t){[e,t]=s(e,t,gt);let{hoverProps:n,isHovered:r}=j({...e,isDisabled:e.disabled}),{isFocused:i,isFocusVisible:o,focusProps:c}=T({isTextInput:!0,autoFocus:e.autoFocus}),l=!!e[`aria-invalid`]&&e[`aria-invalid`]!==`false`,d=u({...e,values:{isHovered:r,isFocused:i,isFocusVisible:o,isDisabled:e.disabled||!1,isInvalid:l},defaultClassName:`react-aria-Input`});return I.createElement(a.input,{...v(_t(e),c,n),...d,ref:t,"data-focused":i||void 0,"data-disabled":e.disabled||void 0,"data-hovered":r||void 0,"data-focus-visible":o||void 0,"data-invalid":l||void 0})});function yt(e,t){let{inputElementType:n=`input`,isDisabled:r=!1,isRequired:i=!1,isReadOnly:a=!1,type:s=`text`,validationBehavior:c=`aria`}=e,[l,u]=Ce(e.value,e.defaultValue||``,e.onChange),{focusableProps:d}=C(e,t),f=Re({...e,value:l}),{isInvalid:p,validationErrors:m,validationDetails:h}=f.displayValidation,{labelProps:g,fieldProps:_,descriptionProps:y,errorMessageProps:b}=qe({...e,isInvalid:p,errorMessage:e.errorMessage||m}),x=E(e,{labelable:!0}),S={type:s,pattern:e.pattern},[w]=W(l);return Ye(t,e.defaultValue??w,u),Xe(e,f,t),{labelProps:g,inputProps:v(x,n===`input`?S:void 0,{disabled:r,readOnly:a,required:i&&c===`native`,"aria-required":i&&c===`aria`||void 0,"aria-invalid":p||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(o(e).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(I.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,..._}),descriptionProps:y,errorMessageProps:b,isInvalid:p,validationErrors:m,validationDetails:h}}const bt=L(null);function xt(e){let t=U({});return I.createElement(bt.Provider,{value:t},e.children)}const St=new WeakMap;function Ct(e,t,n){let{value:r,children:i,"aria-label":a,"aria-labelledby":o,onPressStart:s,onPressEnd:c,onPressChange:l,onPress:u,onPressUp:d,onClick:f}=e,p=e.isDisabled||t.isDisabled,m=t.selectedValue===r,h=e=>{e.stopPropagation(),t.setSelectedValue(r)},{pressProps:g,isPressed:_}=O({onPressStart:s,onPressEnd:c,onPressChange:l,onPress:u,onPressUp:d,onClick:f,isDisabled:p}),{pressProps:y,isPressed:b}=O({onPressStart:s,onPressEnd:c,onPressChange:l,onPressUp:d,onClick:f,isDisabled:p,onPress(e){u?.(e),t.setSelectedValue(r),n.current?.focus()}}),{focusableProps:x}=C(v(e,{onFocus:()=>t.setLastFocusedValue(r)}),n),S=v(g,x),w=E(e,{labelable:!0}),T=-1;t.selectedValue==null?(t.lastFocusedValue===r||t.lastFocusedValue==null)&&(T=0):t.selectedValue===r&&(T=0),p&&(T=void 0);let{name:D,form:k,descriptionId:A,errorMessageId:j,validationBehavior:M}=St.get(t);Ye(n,t.defaultSelectedValue,t.setSelectedValue),Xe({validationBehavior:M},t,n);let N=tt();return{labelProps:v(y,H(()=>({onClick:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault()}),[])),inputProps:v(w,{...S,type:`radio`,name:D,form:k,tabIndex:T,disabled:p,required:t.isRequired&&M===`native`,checked:m,value:r,onChange:h,"aria-describedby":[e[`aria-describedby`],N.id,t.isInvalid?j:null,A].filter(Boolean).join(` `)||void 0}),descriptionProps:N,isDisabled:p,isSelected:m,isPressed:_||b}}function wt(e,t){let{name:n,form:r,isReadOnly:i,isRequired:a,isDisabled:s,orientation:c=`vertical`,validationBehavior:l=`aria`}=e,{direction:u}=ue(),{isInvalid:d,validationErrors:f,validationDetails:m}=t.displayValidation,{labelProps:h,fieldProps:g,descriptionProps:_,errorMessageProps:y}=qe({...e,labelElementType:`span`,isInvalid:t.isInvalid,errorMessage:e.errorMessage||f}),b=E(e,{labelable:!0}),{focusWithinProps:x}=S({onBlurWithin(n){e.onBlur?.(n),t.selectedValue||t.setLastFocusedValue(null)},onFocusWithin:e.onFocus,onFocusWithinChange:e.onFocusChange});function C(e,n){let r=pe(n.currentTarget,{from:o(n),accept:e=>e instanceof p(e).HTMLInputElement&&e.type===`radio`}),i;return e===`next`?(i=r.nextNode(),i||=(r.currentNode=n.currentTarget,r.firstChild())):(i=r.previousNode(),i||=(r.currentNode=n.currentTarget,r.lastChild())),i?(i.focus(),t.setSelectedValue(i.value),!0):!1}let{keyboardProps:w}=k({shortcuts:{ArrowRight:e=>C(u===`rtl`&&c!==`vertical`?`prev`:`next`,e),ArrowLeft:e=>C(u===`rtl`&&c!==`vertical`?`next`:`prev`,e),ArrowDown:e=>C(`next`,e),ArrowUp:e=>C(`prev`,e)},allowRepeats:!0}),T=A(n);return St.set(t,{name:T,form:r,descriptionId:_.id,errorMessageId:y.id,validationBehavior:l}),{radioGroupProps:v(b,{role:`radiogroup`,...w,"aria-invalid":t.isInvalid||void 0,"aria-errormessage":e[`aria-errormessage`],"aria-readonly":i||void 0,"aria-required":a||void 0,"aria-disabled":s||void 0,"aria-orientation":c,...g,...x}),labelProps:h,descriptionProps:_,errorMessageProps:y,isInvalid:d,validationErrors:f,validationDetails:m}}let Tt=Math.round(Math.random()*1e10),Et=0;function Dt(e){let t=H(()=>e.name||`radio-group-${Tt}-${++Et}`,[e.name]),[n,r]=Ce(e.value,e.defaultValue??null,e.onChange),[i]=W(n),[a,o]=W(null),s=Re({...e,value:n}),c=t=>{!e.isReadOnly&&!e.isDisabled&&(r(t),s.commitValidation())},l=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||(l?`invalid`:null),isInvalid:l}}const Ot=L(null),kt=L(null),At=L(null),jt=R(function(e,t){[e,t]=s(e,t,Ot);let{validationBehavior:n}=l(Ge)||{},r=e.validationBehavior??n??`native`,i=Dt({...e,validationBehavior:r}),[o,c]=f(!e[`aria-label`]&&!e[`aria-labelledby`]),{radioGroupProps:d,labelProps:p,descriptionProps:h,errorMessageProps:g,..._}=wt({...e,label:c,validationBehavior:r},i),y=u({...e,values:{orientation:e.orientation||`vertical`,isDisabled:i.isDisabled,isReadOnly:i.isReadOnly,isRequired:i.isRequired,isInvalid:i.isInvalid,state:i},defaultClassName:`react-aria-RadioGroup`}),b=E(e,{global:!0});return I.createElement(a.div,{...v(b,y,d),ref:t,slot:e.slot||void 0,"data-orientation":e.orientation||`vertical`,"data-invalid":i.isInvalid||void 0,"data-disabled":i.isDisabled||void 0,"data-readonly":i.isReadOnly||void 0,"data-required":i.isRequired||void 0},I.createElement(m,{values:[[At,i],[Ae,{...p,ref:o,elementType:`span`}],[xe,{slots:{description:h,errorMessage:g}}],[Z,_]]},I.createElement(xt,null,y.children)))}),Mt=R(function(e,t){let{inputRef:n=null,...r}=e;[e,t]=s(r,t,kt);let i=I.useContext(At),a=g(H(()=>c(n,e.inputRef===void 0?null:e.inputRef),[n,e.inputRef])),o=Ct({..._(e),children:typeof e.children==`function`||e.children},i,a);return I.createElement(Nt.Provider,{value:{...o,inputRef:a,defaultClassName:`react-aria-Radio`}},I.createElement(Pt,{...e,ref:t}))}),Nt=L(null),Pt=R(function(e,t){let{labelProps:n,inputProps:r,isSelected:i,isDisabled:o,isPressed:s,defaultClassName:c,inputRef:l}=B(Nt),d=I.useContext(At),{isFocused:f,isFocusVisible:p,focusProps:m}=T(),h=o||d.isReadOnly,{hoverProps:g,isHovered:_}=j({...e,isDisabled:h}),y=u({...e,defaultClassName:c,values:{isSelected:i,isPressed:s,isHovered:_,isFocused:f,isFocusVisible:p,isDisabled:o,isReadOnly:d.isReadOnly,isInvalid:d.isInvalid,isRequired:d.isRequired}}),b=E(e,{global:!0});return delete b.id,delete b.onClick,I.createElement(a.label,{...v(b,n,g,y),ref:t,"data-selected":i||void 0,"data-pressed":s||void 0,"data-hovered":_||void 0,"data-focused":f||void 0,"data-focus-visible":p||void 0,"data-disabled":o||void 0,"data-readonly":d.isReadOnly||void 0,"data-invalid":d.isInvalid||void 0,"data-required":d.isRequired||void 0},I.createElement(fe,{elementType:`span`},I.createElement(`input`,{...v(r,m),ref:l})),y.children)}),Ft=L({});let It=e=>{let{onHoverStart:t,onHoverChange:n,onHoverEnd:r,...i}=e;return i};const Lt=R(function(e,t){[e,t]=s(e,t,Ft);let{hoverProps:n,isHovered:r}=j(e),{isFocused:i,isFocusVisible:o,focusProps:c}=T({isTextInput:!0,autoFocus:e.autoFocus}),l=!!e[`aria-invalid`]&&e[`aria-invalid`]!==`false`,d=u({...e,values:{isHovered:r,isFocused:i,isFocusVisible:o,isDisabled:e.disabled||!1,isInvalid:l},defaultClassName:`react-aria-TextArea`});return I.createElement(a.textarea,{...v(It(e),c,n),...d,ref:t,"data-focused":i||void 0,"data-disabled":e.disabled||void 0,"data-hovered":r||void 0,"data-focus-visible":o||void 0,"data-invalid":l||void 0})}),Rt=L(null),zt=M(function(e,t){[e,t]=s(e,t,Rt);let{validationBehavior:n}=l(Ge)||{},r=e.validationBehavior??n??`native`,i=U(null);[e,i]=s(e,i,ke);let[o,c]=f(!e[`aria-label`]&&!e[`aria-labelledby`]),[d,p]=W(`input`),{labelProps:h,inputProps:g,descriptionProps:v,errorMessageProps:y,...b}=yt({..._(e),inputElementType:d,label:c,validationBehavior:r},i),x=z(e=>{i.current=e,e&&p(e instanceof HTMLTextAreaElement?`textarea`:`input`)},[i]),S=u({...e,values:{isDisabled:e.isDisabled||!1,isInvalid:b.isInvalid,isReadOnly:e.isReadOnly||!1,isRequired:e.isRequired||!1},defaultClassName:`react-aria-TextField`}),C=E(e,{global:!0});return delete C.id,I.createElement(a.div,{...C,...S,ref:t,slot:e.slot||void 0,"data-disabled":e.isDisabled||void 0,"data-invalid":b.isInvalid||void 0,"data-readonly":e.isReadOnly||void 0,"data-required":e.isRequired||void 0},I.createElement(m,{values:[[Ae,{...h,ref:o}],[gt,{...g,ref:x}],[Ft,{...g,ref:x}],[ht,{role:`presentation`,isInvalid:b.isInvalid,isDisabled:e.isDisabled||!1}],[xe,{slots:{description:v,errorMessage:y}}],[Z,b]]},S.children))}),Bt={en:{required:`This field is required`,selectOption:`Please select an option`,fillFreeText:`Please fill out the free text field`,selectAtLeastOne:`Please select at least one option`,selectRating:`Please select a rating`,titleRequired:`Title is required`,invalidImage:`Invalid image data URL`,invalidRecording:`Invalid recording events`,invalidInput:`Invalid input`,maxLength:`Please enter less than {max} characters`,maxSelected:`Please select less than {max} options`},zh:{required:`此字段为必填项`,selectOption:`请选择一个选项`,fillFreeText:`请填写文本框`,selectAtLeastOne:`请至少选择一个选项`,selectRating:`请选择评分`,titleRequired:`标题为必填项`,invalidImage:`图片数据网址无效`,invalidRecording:`录制事件无效`,invalidInput:`输入无效`,maxLength:`请输入少于 {max} 个字符`,maxSelected:`请选择少于 {max} 个选项`},ms:{required:`Ruangan ini diperlukan`,selectOption:`Sila pilih satu pilihan`,fillFreeText:`Sila isikan ruangan teks`,selectAtLeastOne:`Sila pilih sekurang-kurangnya satu pilihan`,selectRating:`Sila pilih penilaian`,titleRequired:`Tajuk diperlukan`,invalidImage:`URL data imej tidak sah`,invalidRecording:`Acara rakaman tidak sah`,invalidInput:`Masukan tidak sah`,maxLength:`Sila masukkan kurang daripada {max} aksara`,maxSelected:`Sila pilih kurang daripada {max} pilihan`},ta:{required:`இந்தப் புலம் தேவை`,selectOption:`ஒரு விருப்பத்தைத் தேர்ந்தெடுக்கவும்`,fillFreeText:`உரைப் புலத்தில் விவரங்களை உள்ளிடவும்`,selectAtLeastOne:`குறைந்தது ஒரு விருப்பத்தையாவது தேர்ந்தெடுக்கவும்`,selectRating:`மதிப்பீட்டைத் தேர்ந்தெடுக்கவும்`,titleRequired:`தலைப்பு தேவை`,invalidImage:`படத்தின் URL தவறானது`,invalidRecording:`தவறான பதிவு நிகழ்வுகள்`,invalidInput:`தவறான உள்ளீடு`,maxLength:`{max} எழுத்துகளுக்கு மிகாமல் உள்ளிடவும்`,maxSelected:`அதிகபட்சம் {max} விருப்பங்களைத் தேர்ந்தெடுக்கவும்`}},Vt=/^Please enter less than (\d+) characters$/,Ht=/^Please select less than (\d+) options$/,Ut=(e,t=`en`)=>{let n=Bt[t],r=e.match(Vt);if(r)return n.maxLength.replace(`{max}`,r[1]??``);let i=e.match(Ht);if(i)return n.maxSelected.replace(`{max}`,i[1]??``);switch(e){case`This field is required`:return n.required;case`Please select an option`:return n.selectOption;case`Please fill out the free text field`:return n.fillFreeText;case`Please select at least one option`:return n.selectAtLeastOne;case`Please select a rating`:return n.selectRating;case`Title is required`:return n.titleRequired;case`Invalid image data URL`:return n.invalidImage;case`Invalid recording events`:return n.invalidRecording;case`Invalid input`:return n.invalidInput;default:return e}};function Wt(e,t){let n=e.issues[0];return Ut(n?.message??`Invalid input`,t)}const Gt=G.object({title:G.string(),description:G.string().optional(),screenshotDataUrl:G.string().optional(),recordingEventsJson:G.string().optional()}),$=e=>{if(Array.isArray(e))return e.length===0;let t=Gt.safeParse(e);return t.success?re(t.data):e===void 0||e===``},Kt=({answer:e,defaultAnswer:t})=>{if(!$(e)||!$(t))return e},qt=({routingLogic:e,answer:t,required:n,isLastQuestion:r})=>{if(e.type!==`always`&&$(t)&&n)return!0;let i=e.type===`always`?e.target:$(t)?e.default:e.cases.find(e=>ae({answer:t,condition:e}))?.target??e.default;return i.type===`jump`||i.type===`next`&&!r},Jt=({originalQuestions:e=[],answers:t,errors:n,pointer:r=-1})=>{let i=[...e].sort((e,t)=>e.position-t.position),a=r>=0?i[r]:void 0,o=se(i,t,{forceReachableIds:a?[a.id]:void 0}),s=i.map(e=>{let t=n[e.id];return{...e,...t&&{error:t},visible:o.has(e.id)}}),c=s.findIndex((e,n)=>n>r&&e.visible&&t[e.id]===void 0);return c===-1&&(c=s.findLastIndex(e=>!!e.visible)),{questions:s,currentIndex:c}},Yt=({questions:e,answers:t})=>Object.fromEntries(Object.entries(t).filter(t=>!!e.find(e=>e.id===t[0])?.visible&&t[1]!==null)),Xt={},Zt=({questions:e,answers:t,errors:n,locale:r})=>{let i={};for(let a of e){if(!a.visible||!a.required||t[a.id]!==void 0||n[a.id])continue;let e=ne(a.properties,{required:a.required}).safeParse(void 0);e.success||(i[a.id]=Wt(e.error,r))}return i},Qt=e=>{let t=e.querySelector(`[data-invalid]`);if(!t)return;let n=t.getAttribute(`role`);if(n===`radiogroup`||n===`group`){t.tabIndex=-1,t.focus();return}t.querySelector(`textarea, input`)?.focus()},$t=(e,t)=>{let{data:n,...r}=e;return n===void 0?r:n===null?{...r,answers:null}:{...r,answers:t.flatMap(e=>{let t=n[e.id];return t===void 0?[]:[{question:{id:e.id,title:e.title,type:e.properties.type},answer:t}]})}},en=({current:e,shouldAutoSubmit:t,onSubmitted:n,onFinished:r,children:i,locale:a})=>{let{survey:o,submit:s}=_e(),[c,l]=W({}),[u,d]=W({}),[f,p]=W(null),m=H(()=>Jt({originalQuestions:o?.questions,answers:c,errors:u,pointer:e}),[o?.questions,c,u,e]),h=e??f??m.currentIndex,g=H(()=>!!o?.isBackNavigationAllowed&&h>0&&m.questions.slice(0,h).some(e=>!!e.visible),[o?.isBackNavigationAllowed,m.questions,h]),_=z((e,t)=>{let n=m.questions.find(t=>t.id===e)?.required??!1,r=$(t);l(i=>{if(n&&r){if(!(e in i))return i;let t={...i};return delete t[e],t}let a=!n&&r?null:t;return i[e]===a?i:{...i,[e]:a}})},[m.questions]),v=z(()=>{o?.isBackNavigationAllowed&&p(t=>{let n=t??e??m.currentIndex;for(let e=n-1;e>=0;e--)if(m.questions[e]?.visible)return e;return t})},[o?.isBackNavigationAllowed,m.questions,m.currentIndex,e]),[y,b]=W(0),x=y>0,S=U(null),[C,w]=W(!1);V(()=>{y===0||!S.current||Qt(S.current)},[y]);let T=z(({answers:e})=>{let t=o?.questions??[];Promise.resolve(s({answers:e})).then(e=>r?.(e?$t(e,t):void 0),()=>r?.())},[r,s,o?.questions]),E=z(()=>{let e=Object.fromEntries(Object.entries(u).filter(([e])=>!!m.questions.find(t=>t.id===e)?.visible)),t=Zt({questions:m.questions,answers:c,errors:e,locale:a}),r=Object.keys(t).length>0;if(Object.keys(e).length>0||r)return r&&d(e=>({...e,...t})),b(e=>e+1),!1;let i=Yt({questions:m.questions,answers:c});return T({answers:i}),w(!0),n?.(),!0},[c,u,m.questions,T,n,a]),D=z(({question:r,answer:i})=>{let s=m.questions.at(r);if(!s)return{error:`Question index is invalid`};let h=ne(s.properties,{required:s.required}).safeParse(i);if(!h.success){let e=Wt(h.error,a);return d(t=>t[s.id]===e?t:{...t,[s.id]:e}),l(e=>{if(!(s.id in e))return e;let t={...e};return delete t[s.id],t}),{error:e}}d(e=>{if(!e[s.id])return e;let t={...e};return delete t[s.id],t});let g=$(i),_=!s.required&&g?null:i,v={...c},y=v[s.id]!==_;v[s.id]=_;let b=Jt({originalQuestions:o?.questions,answers:v,errors:u,pointer:e});y&&l(v);let x=b.questions.findIndex((e,t)=>t>r&&!!e.visible);if(f!==null&&x!==-1)return p(x),{next:x};if(p(null),b.questions.every(({visible:e,id:t})=>!e||v[t]!==void 0)&&t){let e=Yt({questions:b.questions,answers:v});T({answers:e}),w(!0),n?.()}return{next:b.currentIndex}},[m.questions,c,o?.questions,u,t,e,f,T,n,a]);return m.questions.length===0?q(K,{}):q(`div`,{ref:S,className:`confetti ${le}`,"data-show-errors":x||void 0,children:i({questions:m.questions,current:h,answers:c,update:D,back:v,canGoBack:g,backButtonLabel:o?.backButtonLabel??void 0,saveAnswer:_,submit:E,isSubmitted:C,errors:x?u:Xt})})},tn=L(null);function nn({children:a,surveyId:o,publishableKey:s,apiBaseUrl:c,respondent:l,isSurveyVisible:u}){let d=e({surveyId:o,override:l}),f=b({publishableKey:s,apiBaseUrl:c}),{isAvailable:p,isSettled:m}=r({client:f,surveyId:o}),{state:h,isSettled:g}=t({client:f,surveyId:o,respondent:d,enabled:i(u)}),_=H(()=>({respondent:d}),[d]);return!d||!m||!g||!p||!n(h,u)?null:q(tn.Provider,{value:_,children:a})}function rn(e){return B(tn)?q(K,{children:e.children}):q(nn,{...e})}function an(){let e=B(tn);if(!e)throw Error(`useRespondentVisibility must be used within a RespondentVisibilityProvider`);return e}const on=({children:e,classNames:t,containerProps:n,onDismiss:r,onClose:i,closeOnFinishMs:a=3e3,locale:o})=>{let{surveyId:s,survey:c,dismiss:l}=_e(),[u,d]=W(!1),[f,p]=W(!1),[m,h]=W(!1),[g,_]=W(!1);return Oe(()=>{c&&i?.()},f&&!(m||g)?a:null),J(`div`,{className:Y(`confetti-dialog ${le}`,t?.dialog),id:`${s}-popover`,...n,onMouseEnter:e=>{n?.onMouseEnter?.(e),h(!0)},onMouseLeave:e=>{n?.onMouseLeave?.(e),h(!1)},onFocusCapture:e=>{n?.onFocusCapture?.(e),_(!0)},onBlurCapture:e=>{n?.onBlurCapture?.(e),e.currentTarget.contains(e.relatedTarget)||_(!1)},children:[q(ve,{className:Y(`confetti-dialog-close`,t?.closeButton),iconClassName:t?.icon,locale:o,onClose:async()=>{u||(await l(),r?.()),i?.()}}),typeof e==`function`?e({setIsSubmitted:()=>d(!0),setIsFinished:()=>p(!0)}):e]})},sn=({maskAllInputs:e,initialEventsJson:t,locale:n}={})=>{let[r,i]=W(()=>t??null),[a,o]=W(!1),[s,c]=W(null),[l,u]=W(30),d=U(null),f=U(null),p=U(null),m=U([]);V(()=>{let e=new CustomEvent(ce,{detail:{isRecording:a}});document.dispatchEvent(e)},[a]);let h=z(()=>{f.current&&=(clearInterval(f.current),null),p.current&&=(clearTimeout(p.current),null),d.current=null,u(30)},[]),g=z(()=>{d.current?.(),h(),o(!1),i(JSON.stringify(m.current))},[h]);return{recordingEventsJson:r,isRecording:a,recordingError:s,remainingSeconds:l,startRecording:z(async()=>{o(!0),c(null),i(null),m.current=[];try{let{record:t}=await import(`./record--U99gpCM.js`);d.current=t({slimDOMOptions:{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0},sampling:{mousemove:50,scroll:100,input:`last`},emit:e=>{m.current.push(e)},blockClass:`cfti-block`,maskTextClass:`cfti-mask`,maskAllInputs:e})??null;let n=30;u(n),f.current=setInterval(()=>{--n,u(n)},1e3),p.current=setTimeout(g,3e4)}catch{c(F(n).recordingError),o(!1),h()}},[e,g,h,n]),stopRecording:g,clear:z(()=>{h(),o(!1),i(null),c(null),m.current=[]},[h])}},cn=e=>e.replace(/\S/g,`*`),ln=e=>`*`.repeat(e.length),un=(e,t)=>{for(let n of Array.from(e.childNodes))n instanceof Text?t(n):un(n,t)},dn=e=>{if(e instanceof HTMLInputElement)e.setAttribute(`value`,ln(e.getAttribute(`value`)??``));else if(e instanceof HTMLTextAreaElement)e.textContent=ln(e.textContent);else if(e instanceof HTMLSelectElement)for(let t of e.querySelectorAll(`option`))t.textContent=ln(t.textContent)},fn=({maskInputs:e})=>({name:`cfti-redact`,afterClone:t=>{let{clone:n}=t;if(n instanceof HTMLElement){for(let e of n.querySelectorAll(`.${oe}`)){un(e,e=>{e.data=cn(e.data)}),dn(e);for(let t of e.querySelectorAll(`input, textarea, select`))dn(t)}if(e)for(let e of n.querySelectorAll(`input, textarea, select`))dn(e)}}}),pn=({maskAllInputs:e,initialDataUrl:t,locale:n}={})=>{let[r,i]=W(()=>t??null),[a,o]=W(!1),[s,c]=W(null);return{screenshotDataUrl:r,isCapturing:a,captureError:s,capture:z(async()=>{o(!0),c(null);try{let{snapdom:t}=await import(`./snapdom-BbRa4ZYv.js`),n=await(await t(document.documentElement,{embedFonts:!0,exclude:[`.${le}`],excludeMode:`hide`,plugins:[fn({maskInputs:!!e})],fast:!1})).toCanvas(),r=window.devicePixelRatio||1,a=Math.min(Math.round(window.innerWidth*r),n.width),o=Math.min(Math.round(window.innerHeight*r),n.height),s=document.createElement(`canvas`);s.width=a,s.height=o;let c=s.getContext(`2d`);if(!c)throw Error(`Failed to get 2D context for cropping`);c.drawImage(n,0,0,a,o,0,0,a,o),i(s.toDataURL(`image/png`))}catch{c(F(n).captureError)}finally{o(!1)}},[e,n]),clear:z(()=>{i(null),c(null)},[])}},mn=e=>J(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,...e,children:[q(`circle`,{cx:`12`,cy:`12`,r:`10`}),q(`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`})]}),hn=e=>J(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,...e,children:[q(`path`,{d:`M10 11v6`}),q(`path`,{d:`M14 11v6`}),q(`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}),q(`path`,{d:`M3 6h18`}),q(`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`})]}),gn=G.object({session_id:G.string().optional()}),_n=G.object({getInternalContext:G.function(),getSessionReplayLink:G.function()});function vn(){try{let e=_n.safeParse(window.DD_RUM);if(!e.success)return null;let t=gn.safeParse(e.data.getInternalContext.call(window.DD_RUM)).data,n=G.string().safeParse(e.data.getSessionReplayLink.call(window.DD_RUM)).data;return{sessionId:t?.session_id,sessionReplayLink:n}}catch{return null}}function yn(){if(typeof window>`u`||typeof navigator>`u`)return;let e=navigator,t=window.screen,n=vn();return{userAgent:e.userAgent,screenResolution:`${t.width}x${t.height}`,viewportSize:`${window.innerWidth}x${window.innerHeight}`,pageUrl:window.location.href,pageTitle:document.title,referrer:document.referrer,language:e.language,timestamp:new Date().toISOString(),datadogTraceId:void 0,datadogSessionId:n?.sessionId,datadogSessionReplayLink:n?.sessionReplayLink}}const bn=De(()=>import(`./RecordingReplayer-D1vUPmxV.js`)),xn=({id:e,title:t,description:n,properties:r,onChange:i,required:a,error:o,classNames:s,maskAllInputs:c,defaultAnswer:l,locale:u})=>{let d=F(u),f=H(()=>yn(),[]),p=Gt.safeParse(l).data,[m,h]=W(()=>p?.title??``),[g,_]=W(()=>p?.description??``),{screenshotDataUrl:v,isCapturing:y,captureError:b,capture:x,clear:S}=pn({maskAllInputs:c,initialDataUrl:p?.screenshotDataUrl,locale:u}),{recordingEventsJson:C,isRecording:w,recordingError:T,remainingSeconds:E,startRecording:O,stopRecording:k,clear:A}=sn({maskAllInputs:c,initialEventsJson:p?.recordingEventsJson,locale:u}),j=H(()=>({title:m,...g&&{description:g},...v&&{screenshotDataUrl:v},...C&&{recordingEventsJson:C},metadata:f}),[g,f,C,v,m]);V(()=>{i(j)},[j,i]),V(()=>k,[k]);let M=H(()=>C?N.parse(JSON.parse(C)):[],[C]);return q(K,{children:w?J(D,{className:Y(`cf-bug-report-button`,`cf-bug-report-record-button`,s?.button,s?.recordButton),onPress:k,children:[q(mn,{}),J(`span`,{children:[30-E,`s /`,` `,30,`s`]})]}):J(`div`,{className:Y(`cf-bug-report`,s?.base),children:[J(zt,{isRequired:a,isInvalid:!!o,name:`${e}-title`,value:m,onChange:h,className:Y(`cf-question`,s?.question),children:[J(`div`,{className:Y(`cf-header`,s?.header),children:[J(X,{className:Y(`cf-title`,s?.title),children:[t,!a&&J(`span`,{className:Y(`cf-label-optional`,s?.optionalLabel),children:[` `,d.optional]})]}),n&&q(P,{slot:`description`,className:Y(`cf-description`,s?.description),children:n})]}),q(vt,{placeholder:ye(r.placeholder,u),className:Y(`cf-input`,s?.input)}),q(Me,{className:Y(`cf-error`,s?.error),children:o})]}),J(zt,{name:`${e}-description`,value:g,onChange:_,className:Y(`cf-question`,s?.question),children:[q(X,{className:Y(`cf-title`,s?.title),children:r.detailsLabel}),q(Lt,{placeholder:ge(r.detailsPlaceholder,u),className:Y(`cf-textarea`,s?.textArea),rows:4})]}),r.enableScreenshot||r.enableRecording?J(`section`,{className:Y(`cf-question`,s?.question),children:[q(X,{className:Y(`cf-title`,s?.title),children:d.attachments}),J(`div`,{className:Y(`cf-bug-report-actions`,s?.actions),children:[r.enableScreenshot&&J(`div`,{className:Y(`cf-bug-report-screenshot-section`,s?.screenshotSection),children:[v?J(`div`,{className:Y(`cf-bug-report-media-preview`,s?.mediaPreview),children:[q(`img`,{src:v,alt:d.screenshotPreview,className:Y(`cf-bug-report-screenshot-img`,s?.screenshotImg)}),q(`div`,{className:Y(`cf-bug-report-media-actions`,s?.mediaActions),children:q(D,{className:Y(`cf-bug-report-button`,`cf-bug-report-button-action`,s?.button,s?.buttonAction),onPress:S,"aria-label":d.removeScreenshot,children:q(hn,{})})})]}):q(D,{className:Y(`cf-bug-report-button`,s?.button),onPress:x,isDisabled:y,children:y?d.capturing:d.screenshot}),b&&q(`div`,{className:Y(`cf-error`,s?.error),children:b})]}),r.enableRecording&&J(`div`,{className:Y(`cf-bug-report-recording-section`,s?.recordingSection),children:[M.length>0?J(`div`,{className:Y(`cf-bug-report-media-preview`,s?.mediaPreview),children:[q(we,{fallback:q(`span`,{className:Y(`cf-bug-report-player-loading`,s?.playerLoading),"aria-label":d.loadingRecordingPreview}),children:q(bn,{events:M})}),q(`div`,{className:Y(`cf-bug-report-media-actions`,s?.mediaActions),children:q(D,{className:Y(`cf-bug-report-button`,`cf-bug-report-button-action`,s?.button,s?.buttonAction),onPress:A,"aria-label":d.removeRecording,children:q(hn,{})})})]}):q(D,{className:Y(`cf-bug-report-button`,s?.button),onPress:O,children:d.record}),T&&q(`div`,{className:Y(`cf-error`,s?.error),children:T})]})]})]}):null]})})},Sn=({id:e,title:t,description:n,properties:r,onChange:i,classNames:a,required:o,error:s,defaultAnswer:c,locale:l})=>{let[u,d]=W(()=>G.string().safeParse(c).data??``);return V(()=>{i(u)},[i,u]),J(zt,{isRequired:o,isInvalid:!!s,name:e,className:Y(`cf-question`,a?.question),value:u,onChange:e=>{d(e),i(e)},children:[J(`div`,{className:Y(`cf-header`,a?.header),children:[J(X,{className:Y(`cf-title`,a?.title),children:[t,!o&&J(`span`,{className:Y(`cf-label-optional`,a?.optionalLabel),children:[` `,F(l).optional]})]}),n&&q(P,{slot:`description`,className:Y(`cf-description`,a?.description),children:n})]}),q(Lt,{className:Y(`cf-textarea`,a?.textarea),maxLength:r.max,rows:4,placeholder:r.placeholder||F(l).startTyping}),q(Me,{className:Y(`cf-error`,a?.error),children:s})]})},Cn=({children:e,classNames:t,description:n,...r})=>q(pt,{...r,children:({isIndeterminate:r})=>J(K,{children:[J(`div`,{className:Y(`cf-choice-label`,t?.label),children:[q(`div`,{className:Y(`cf-checkbox-indicator`,t?.indicator),children:q(`svg`,{viewBox:`0 0 18 18`,"aria-hidden":`true`,className:Y(`cf-checkbox-indicator-svg`,t?.svg),children:r?q(`rect`,{x:1,y:7.5,width:16,height:3}):q(`polyline`,{points:`2 9 7 14 16 4`})},r?`indeterminate`:`check`)}),e]}),n&&q(`span`,{className:Y(`cf-choice-description`,t?.choiceDescription),children:n})]})}),wn=({children:e,classNames:t,...n})=>q(pt,{...n,children:q(`div`,{className:Y(`cf-tag-label`,t?.tagLabel),children:e})}),Tn=({title:e,description:t,properties:n,classNames:r,onChange:i,id:a,required:o,error:s,defaultAnswer:c,locale:l})=>{let u=!!n.editable,d=be(n.editable?.label,l),f=n.display===`tag`,p=Array.isArray(c)?c:[],m=new Set(n.options.map(e=>e.value)),h=p.find(e=>!m.has(e)),[g,_]=W(()=>{let e=p.filter(e=>m.has(e));return h!==void 0&&u&&e.push(te),e}),[v,y]=W(()=>h!==void 0&&u?h:``),b=U(null),x=U(null),S=e=>{!x.current||!e||requestAnimationFrame(()=>{x.current?.focus()})},C=H(()=>{let e=g.indexOf(te);if(e===-1)return g;let t=[...g];return t[e]=v||`__CONFETTI_CHECKBOX_Others`,t},[v,g]),w=f?wn:Cn;return V(()=>{i(C)},[i,C]),q(ut,{isRequired:o,isInvalid:!!s,name:a,value:g,onChange:_,className:Y(`cf-question`,r?.question),children:({state:i})=>J(K,{children:[J(`div`,{className:Y(`cf-header`,r?.header),children:[J(X,{className:Y(`cf-title`,r?.title),children:[e,!o&&J(`span`,{className:Y(`cf-label-optional`,r?.optionalLabel),children:[` `,F(l).optional]})]}),t&&q(P,{slot:`description`,className:Y(`cf-description`,r?.description),children:t})]}),J(`div`,{className:Y(`cf-response-choices`,f&&`cf-response-choices-tag`,r?.group),children:[n.options.map((e,t)=>q(w,{className:Y(`cf-choice`,f&&[`cf-tag`,r?.tag],!f&&[`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.label??e.value},t)),u&&(f?J(K,{children:[q(wn,{inputRef:b,onChange:S,className:Y(`cf-choice cf-tag`,r?.tag),value:`__CONFETTI_CHECKBOX_Others`,children:d}),q(vt,{"data-visible":i.value.includes(`__CONFETTI_CHECKBOX_Others`)||void 0,value:v,onChange:e=>{y(e.target.value)},ref:x,className:Y(`cf-input cf-tag-input`,r?.othersInput)})]}):J(`div`,{className:Y(`cf-choice cf-others-choice`,r?.othersChoice),children:[q(Cn,{inputRef:b,onChange:S,className:Y(`cf-checkbox`,r?.checkbox),value:`__CONFETTI_CHECKBOX_Others`,classNames:{indicator:r?.indicator,svg:r?.svg},description:n.editable?.description,children:d}),q(vt,{value:v,onChange:e=>{y(e.target.value)},tabIndex:i.value.includes(`__CONFETTI_CHECKBOX_Others`)?0:-1,ref:x,onFocus:()=>{b.current?.checked===!1&&b.current.click()},className:Y(`cf-input`,r?.othersInput)})]}))]}),q(Me,{className:Y(`cf-error`,r?.error),children:s})]})})},En=e=>J(`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:[q(`circle`,{cx:12,cy:12,r:10}),q(`path`,{d:`M16 16s-1.5-2-4-2-4 2-4 2M7.5 8 10 9M14 9l2.5-1M9 10h.01M15 10h.01`})]}),Dn=e=>J(`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:[q(`circle`,{cx:12,cy:12,r:10}),q(`path`,{d:`M18 13a6 6 0 0 1-6 5 6 6 0 0 1-6-5h12ZM9 9h.01M15 9h.01`})]}),On=e=>J(`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:[q(`circle`,{cx:12,cy:12,r:10}),q(`path`,{d:`M16 16s-1.5-2-4-2-4 2-4 2M9 9h.01M15 9h.01`})]}),kn=e=>J(`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:[q(`circle`,{cx:12,cy:12,r:10}),q(`path`,{d:`M8 15h8M9 9h.01M15 9h.01`})]}),An=e=>J(`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:[q(`circle`,{cx:12,cy:12,r:10}),q(`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2M9 9h.01M15 9h.01`})]}),jn=e=>q(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:40,height:40,fill:`none`,...e,children:q(`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`})}),Mn=e=>q(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:40,height:40,viewBox:`0 0 24 24`,...e,children:q(`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`})}),Nn=({state:e,properties:t,classNames:n})=>{let r=e.selectedValue?Number(e.selectedValue):null;return q(`div`,{className:Y(`cf-rating-display-star`,n?.ratingDisplayStar),children:Array.from({length:t.scale},(e,t)=>{let i=t+1,a=r&&i<=r;return q(Mt,{className:Y(`cf-rating-star`,n?.ratingStar),value:String(i),"data-filled":a?`true`:void 0,children:q(a?Mn:jn,{})},t)})})},Pn=({properties:e,classNames:t})=>q(`div`,{className:Y(`cf-rating-display-number`,t?.ratingDisplayNumber),children:Array.from({length:e.scale},(e,n)=>{let r=n+1;return q(Mt,{className:Y(`cf-rating-number`,t?.ratingNumber),value:String(r),children:r},n)})}),Fn=[En,On,kn,An,Dn],In=[On,kn,An],Ln=({properties:e,classNames:t,state:n})=>e.scale===3||e.scale===5?q(`div`,{className:Y(`cf-rating-display-emoji`,t?.ratingDisplayEmoji),children:Array.from({length:e.scale},(n,r)=>{let i=r+1,a=e.scale===5?Fn[r]:In[r];return q(Mt,{className:Y(`cf-rating-emoji`,t?.ratingEmoji),value:String(i),children:a&&q(a,{})},r)})}):q(Pn,{properties:e,classNames:t,state:n}),Rn=e=>{switch(e.properties.display??`star`){case`emoji`:return q(Ln,{...e});case`number`:return q(Pn,{...e});case`star`:return q(Nn,{...e})}},zn=({properties:e,title:t,description:n,classNames:r,onChange:i,id:a,error:o,required:s,defaultAnswer:c,locale:l})=>{let[u,d]=W(()=>G.number().safeParse(c).data?.toString()??null),f=u?Number(u):void 0;return V(()=>{i(f)},[i,f]),q(jt,{isRequired:s,isInvalid:!!o,name:a,className:Y(`cf-question`,r?.question),value:u,onChange:d,children:({state:i})=>J(K,{children:[J(`div`,{className:Y(`cf-header`,r?.header),children:[J(X,{className:Y(`cf-title`,r?.title),children:[t,!s&&J(`span`,{className:Y(`cf-label-optional`,r?.optionalLabel),children:[` `,F(l).optional]})]}),n&&q(P,{slot:`description`,className:Y(`cf-description`,r?.description),children:n})]}),J(`div`,{className:Y(`cf-rating-section`,r?.ratingSection),children:[q(Rn,{state:i,properties:e,classNames:r}),J(`div`,{className:Y(`cf-rating-text`,r?.ratingText),children:[q(`span`,{className:Y(`cf-rating-text-lower`,r?.ratingTextLower),children:e.labels?.lower}),q(`span`,{className:Y(`cf-rating-text-upper`,r?.ratingTextUpper),children:e.labels?.upper})]})]}),q(Me,{className:Y(`cf-error`,r?.error),children:o})]})})},Bn=({classNames:e,className:t,description:n,...r})=>q(Mt,{...r,className:Y(t,e?.radio),children:h(r.children,t=>J(K,{children:[J(`div`,{className:Y(`cf-choice-label`,e?.label),children:[q(`div`,{className:Y(`cf-radio-indicator`,e?.indicator)}),t]}),n&&q(`span`,{className:Y(`cf-choice-description`,e?.choiceDescription),children:n})]}))}),Vn=({title:e,description:t,properties:n,classNames:r,onChange:i,id:a,required:o,error:s,defaultAnswer:c,locale:l})=>{let u=!!n.editable,d=be(n.editable?.label,l),f=G.string().safeParse(c).data??null,p=f!==null&&n.options.some(e=>e.value===f),[m,h]=W(()=>f===null?null:p?f:u?ie:null),[g,_]=W(()=>f!==null&&!p&&u?f:``),v=U(null),y=U(null),b=m===`__CONFETTI_RADIO_Others`?g||`__CONFETTI_RADIO_Others`:m??void 0;return V(()=>{i(b)},[i,b]),q(jt,{isRequired:o,isInvalid:!!s,name:a,onChange:e=>{h(e),e===`__CONFETTI_RADIO_Others`&&requestAnimationFrame(()=>{y.current?.focus()})},value:m,className:Y(`cf-question`,r?.question),children:({state:i})=>J(K,{children:[J(`div`,{className:Y(`cf-header`,r?.header),children:[J(X,{className:Y(`cf-title`,r?.title),children:[e,!o&&J(`span`,{className:Y(`cf-label-optional`,r?.optionalLabel),children:[` `,F(l).optional]})]}),t&&q(P,{slot:`description`,className:Y(`cf-description`,r?.description),children:t})]}),J(`div`,{className:Y(`cf-response-choices`,r?.group),children:[n.options.map((e,t)=>q(Bn,{classNames:{indicator:r?.indicator,radio:Y(`cf-choice cf-radio`,r?.radio)},value:e.value,description:e.description,children:e.label??e.value},t)),u&&J(`div`,{className:Y(`cf-choice cf-others-choice`,r?.othersChoice),children:[q(Bn,{inputRef:v,value:`__CONFETTI_RADIO_Others`,classNames:{indicator:r?.indicator,radio:Y(`cf-radio`,r?.radio)},description:n.editable?.description,children:d}),q(vt,{tabIndex:i.selectedValue===`__CONFETTI_RADIO_Others`?0:-1,ref:y,value:g,onChange:e=>_(e.target.value),onFocus:()=>{v.current?.checked===!1&&v.current.click()},className:Y(`cf-input`,r?.othersInput)})]})]}),q(Me,{className:Y(`cf-error`,r?.error),children:s})]})})},Hn=({properties:e,title:t,description:n,classNames:r})=>q(`div`,{className:Y(`cf-question`,r?.question),children:J(`div`,{className:Y(`cf-header`,r?.header),children:[t&&q(`div`,{className:Y(`cf-title`,r?.title),children:t}),n&&q(`div`,{className:Y(`cf-description`,r?.description),children:n})]})}),Un=({question:e,onChange:t,error:n,maskAllInputs:r,defaultAnswer:i,locale:a})=>{switch(e.properties.type){case`rating`:return q(zn,{...e,properties:e.properties,onChange:t,error:n,defaultAnswer:i,locale:a},e.id);case`open-ended`:return q(Sn,{...e,properties:e.properties,onChange:t,error:n,defaultAnswer:i,locale:a},e.id);case`single-select`:return q(Vn,{...e,properties:e.properties,onChange:t,error:n,defaultAnswer:i,locale:a},e.id);case`multi-select`:return q(Tn,{...e,properties:e.properties,onChange:t,error:n,defaultAnswer:i,locale:a},e.id);case`statement`:return q(Hn,{...e,properties:e.properties,onChange:t,error:n},e.id);case`bug-report`:return q(xn,{...e,properties:e.properties,onChange:t,error:n,maskAllInputs:r,defaultAnswer:i,locale:a},e.id)}return q(`div`,{children:F(a).unsupportedQuestionType},e.id)},Wn=({title:e,description:t,classNames:n,onClose:r,locale:i})=>{let{survey:a}=_e();if(!a)return null;let o=t||a.confirmation.description;return J(K,{children:[q(`div`,{className:Y(`cf-question`,n?.question),children:J(`div`,{className:Y(`cf-header`,n?.header),children:[q(X,{className:Y(`cf-title`,n?.title),children:e||he(a.confirmation.title,i)}),o&&q(P,{slot:`description`,className:Y(`cf-description`,n?.description),children:o})]})}),q(D,{className:`cf-submit-button`,onPress:()=>{r?.()},children:de(a.confirmation.buttonText,i)})]})},Gn=({onPress:e,children:t,locale:n})=>me()?null:q(D,{className:`cf-back-button`,onPress:e,children:t===void 0?F(n).back:t}),Kn=({question:e,answer:t,isLastQuestion:n,locale:r})=>{if(e.properties.buttonLabel)return e.properties.buttonLabel;let i=F(r);return qt({routingLogic:e.routingLogic,answer:t,required:e.required,isLastQuestion:n})?!e.required&&$(t)?i.skip:i.next:i.submit},qn=({onPress:e,isDisabled:t,children:n,locale:r})=>me()?null:q(D,{isDisabled:t,className:`cf-submit-button`,onPress:e,children:n===void 0?F(r).submit:n}),Jn=e=>{switch(e){case`multi-select`:return[];case`bug-report`:return{title:``};case`statement`:return;default:return``}},Yn=({onSubmit:e,children:t,question:n,isLastQuestion:r,defaultAnswer:i,backButton:a,saveAnswer:o,locale:s})=>{let c=me(),[l,u]=W(i??Jn(n.properties.type)),d=H(()=>ne(n.properties,{required:n.required}),[n.properties,n.required]),f=H(()=>{let e=d.safeParse(l);if(!e.success)return Wt(e.error,s)},[l,d,s]),p=Kn({question:n,answer:l,isLastQuestion:r,locale:s}),m=z(()=>{if(n.properties.type===`statement`){if(n.properties.buttonUrl&&typeof window<`u`){let e=ee.safeParse(n.properties.buttonUrl).data;e&&window.open(e,`_blank`)}return e(void 0)}return e(l)},[l,e,n.properties]),h=!$(i),g=(n.properties.type===`rating`||n.properties.type===`single-select`)&&!!n.properties.shouldAutoProgress&&!h,_=z(t=>{u(t),g&&!$(t)&&d.validate(t)&&e(t)},[g,d,e]),v=H(()=>Ee(a)?Te(a,{onPress:()=>{let e=Kt({answer:l,defaultAnswer:i});e!==void 0&&o?.(e),a.props.onPress?.()}}):a,[a,l,i,o]);return J(K,{children:[t({onChange:_,question:n,error:f,defaultAnswer:i}),!c&&J(`div`,{className:`cf-button-row`,children:[v,(!g||!n.required)&&q(qn,{isDisabled:!!f,onPress:m,children:p})]})]})},Xn=({onSubmit:e,children:t,locale:n})=>J(K,{children:[t,q(qn,{onPress:e,locale:n})]});export{Un as a,zn as c,on as d,tn as f,en as h,Wn as i,Tn as l,an as m,Yn as n,Hn as o,rn as p,Gn as r,Vn as s,Xn as t,Sn as u};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,I as s,J as c,K as l,M as u,N as d,O as f,P as p,S as m,T as h,U as g,W as _,X as v,Y as y,Z as ee,a as te,b as ne,c as re,f as ie,g as ae,h as oe,j as b,k as x,l as S,m as se,p as ce,q as le,s as ue,t as de,u as fe,v as pe,w as C,x as me,y as he,z as ge}from"./Button-BGUCuTdV.js";import{i as _e,n as ve,r as ye}from"./src-CzDdylBF.js";import{i as be,r as xe,t as Se}from"./internals-B--R9Zxw.js";import w,{createContext as T,forwardRef as Ce,useCallback as E,useContext as D,useEffect as O,useMemo as k,useReducer as we,useRef as A,useState as j}from"react";import{useTimeout as Te}from"usehooks-ts";import{z as M}from"zod";import{Fragment as Ee,jsx as N,jsxs as De}from"react/jsx-runtime";import P from"clsx";import Oe,{flushSync as ke}from"react-dom";const Ae=new Set([`checkbox`,`radio`,`range`,`color`,`file`,`image`,`button`,`submit`,`reset`]);function F(e){return e instanceof HTMLInputElement&&!Ae.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function je(e,t){let{id:n,"aria-label":r,"aria-labelledby":i}=e;return n=le(n),i&&r?i=[...new Set([n,...i.trim().split(/\s+/)])].join(` `):i&&=i.trim().split(/\s+/).join(` `),!r&&!i&&t&&(r=t),{id:n,"aria-label":r,"aria-labelledby":i}}const Me=new Set([`Arab`,`Syrc`,`Samr`,`Mand`,`Thaa`,`Mend`,`Nkoo`,`Adlm`,`Rohg`,`Hebr`]),Ne=new Set([`ae`,`ar`,`arc`,`bcc`,`bqi`,`ckb`,`dv`,`fa`,`glk`,`he`,`ku`,`mzn`,`nqo`,`pnb`,`ps`,`sd`,`ug`,`ur`,`yi`]);function Pe(e){if(Intl.Locale){let t=new Intl.Locale(e).maximize(),n=typeof t.getTextInfo==`function`?t.getTextInfo():t.textInfo;if(n)return n.direction===`rtl`;if(t.script)return Me.has(t.script)}let t=e.split(`-`)[0];return Ne.has(t)}const Fe=Symbol.for(`react-aria.i18n.locale`);function Ie(){let e=typeof window<`u`&&window[Fe]||typeof navigator<`u`&&(navigator.language||navigator.userLanguage)||`en-US`;try{Intl.DateTimeFormat.supportedLocalesOf([e])}catch{e=`en-US`}return{locale:e,direction:Pe(e)?`rtl`:`ltr`}}let Le=Ie(),I=new Set;function Re(){Le=Ie();for(let e of I)e(Le)}function ze(){let e=c(),[t,n]=j(Le);return O(()=>(I.size===0&&window.addEventListener(`languagechange`,Re),I.add(n),()=>{I.delete(n),I.size===0&&window.removeEventListener(`languagechange`,Re)}),[]),e?{locale:typeof window<`u`&&window[Fe]||`en-US`,direction:`ltr`}:t}const Be=w.createContext(null);function Ve(){let e=ze();return D(Be)||e}const He=Symbol.for(`react-aria.i18n.locale`),Ue=Symbol.for(`react-aria.i18n.strings`);let L;var We=class e{constructor(e,t=`en-US`){this.strings=Object.fromEntries(Object.entries(e).filter(([,e])=>e)),this.defaultLocale=t}getStringForLocale(e,t){let n=this.getStringsForLocale(t)[e];if(!n)throw Error(`Could not find intl message ${e} in ${t} locale`);return n}getStringsForLocale(e){let t=this.strings[e];return t||(t=Ge(e,this.strings,this.defaultLocale),this.strings[e]=t),t}static getGlobalDictionaryForPackage(t){if(typeof window>`u`)return null;let n=window[He];if(L===void 0){let t=window[Ue];if(!t)return null;L={};for(let r in t)L[r]=new e({[n]:t[r]},n)}let r=L?.[t];if(!r)throw Error(`Strings for package "${t}" were not included by LocalizedStringProvider. Please add it to the list passed to createLocalizedStringDictionary.`);return r}};function Ge(e,t,n=`en-US`){if(t[e])return t[e];let r=Ke(e),i=qe(e);if(i&&t[`${r}-${i}`])return t[`${r}-${i}`];if(t[r])return t[r];for(let e in t)if(e.startsWith(r+`-`))return t[e];return t[n]}function Ke(e){return Intl.Locale?new Intl.Locale(e).language:e.split(`-`)[0]}function qe(e){if(Intl.Locale)return new Intl.Locale(e).script}const Je=new Map,Ye=new Map;var Xe=class{constructor(e,t){this.locale=e,this.strings=t}format(e,t){let n=this.strings.getStringForLocale(e,this.locale);return typeof n==`function`?n(t,this):n}plural(e,t,n=`cardinal`){let r=t[`=`+e];if(r)return typeof r==`function`?r():r;let i=this.locale+`:`+n,a=Je.get(i);return a||(a=new Intl.PluralRules(this.locale,{type:n}),Je.set(i,a)),r=t[a.select(e)]||t.other,typeof r==`function`?r():r}number(e){let t=Ye.get(this.locale);return t||(t=new Intl.NumberFormat(this.locale),Ye.set(this.locale,t)),t.format(e)}select(e,t){let n=e[t]||e.other;return typeof n==`function`?n():n}};const Ze=new WeakMap;function Qe(e){let t=Ze.get(e);return t||(t=new We(e),Ze.set(e,t)),t}function $e(e,t){return t&&We.getGlobalDictionaryForPackage(t)||Qe(e)}function et(e,t){let{locale:n}=Ve(),r=$e(e,t);return k(()=>new Xe(n,r),[n,r])}const tt=typeof document<`u`?w.useInsertionEffect??w.useLayoutEffect:()=>{};function nt(e,t,n){let[r,i]=j(e||t),a=A(r),o=A(e!==void 0),s=e!==void 0;O(()=>{o.current,o.current=s},[s]);let c=s?e:r;tt(()=>{a.current=c});let[,l]=we(()=>({}),{});return[c,E((e,...t)=>{let r=typeof e==`function`?e(a.current):e;Object.is(a.current,r)||(a.current=r,i(r),l(),n?.(r,...t))},[n])]}const rt=T({}),it=T({}),at=fe(function(e,n){[e,n]=a(e,n,it);let{elementType:r=`span`,...i}=e,o=t[r];return w.createElement(o,{className:`react-aria-Text`,...i,ref:n})});function R(e,t){if(!e)return!1;let n=window.getComputedStyle(e),r=document.scrollingElement||document.documentElement,i=/(auto|scroll)/.test(n.overflow+n.overflowX+n.overflowY);return e===r&&n.overflow!==`hidden`&&(i=!0),i&&t&&(i=e.scrollHeight!==e.clientHeight||e.scrollWidth!==e.clientWidth),i}function ot(e,t){let n=e;for(R(n,t)&&(n=n.parentElement);n&&!R(n,t);)n=n.parentElement;return n||document.scrollingElement||document.documentElement}const st={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 ct(e={}){let{style:t,isFocusable:n}=e,[r,i]=j(!1),{focusWithinProps:a}=te({isDisabled:!n,onFocusWithinChange:e=>i(e)}),o=k(()=>r?t:t?{...st,...t}:st,[r]);return{visuallyHiddenProps:{...a,style:o}}}function lt(e){let{children:t,elementType:n=`div`,isFocusable:r,style:i,...a}=e,{visuallyHiddenProps:o}=ct(e);return w.createElement(n,_(a,o),t)}var ut=class{constructor(e,t,n,r){this._walkerStack=[],this._currentSetFor=new Set,this._acceptNode=e=>{if(e.nodeType===Node.ELEMENT_NODE){let t=e.shadowRoot;if(t){let e=this._doc.createTreeWalker(t,this.whatToShow,{acceptNode:this._acceptNode});return this._walkerStack.unshift(e),NodeFilter.FILTER_ACCEPT}else if(typeof this.filter==`function`)return this.filter(e);else if(this.filter?.acceptNode)return this.filter.acceptNode(e);else if(this.filter===null)return NodeFilter.FILTER_ACCEPT}return NodeFilter.FILTER_SKIP},this._doc=e,this.root=t,this.filter=r??null,this.whatToShow=n??NodeFilter.SHOW_ALL,this._currentNode=t,this._walkerStack.unshift(e.createTreeWalker(t,n,this._acceptNode));let i=t.shadowRoot;if(i){let e=this._doc.createTreeWalker(i,this.whatToShow,{acceptNode:this._acceptNode});this._walkerStack.unshift(e)}}get currentNode(){return this._currentNode}set currentNode(e){if(!C(this.root,e))throw Error(`Cannot set currentNode to a node that is not contained by the root node.`);let t=[],n=e,r=e;for(this._currentNode=e;n&&n!==this.root;)if(n.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let e=n,i=this._doc.createTreeWalker(e,this.whatToShow,{acceptNode:this._acceptNode});t.push(i),i.currentNode=r,this._currentSetFor.add(i),n=r=e.host}else n=n.parentNode;let i=this._doc.createTreeWalker(this.root,this.whatToShow,{acceptNode:this._acceptNode});t.push(i),i.currentNode=r,this._currentSetFor.add(i),this._walkerStack=t}get doc(){return this._doc}firstChild(){let e=this.currentNode,t=this.nextNode();return C(e,t)?(t&&(this.currentNode=t),t):(this.currentNode=e,null)}lastChild(){let e=this._walkerStack[0].lastChild();return e&&(this.currentNode=e),e}nextNode(){let e=this._walkerStack[0].nextNode();if(e){if(e.shadowRoot){let t;if(typeof this.filter==`function`?t=this.filter(e):this.filter?.acceptNode&&(t=this.filter.acceptNode(e)),t===NodeFilter.FILTER_ACCEPT)return this.currentNode=e,e;let n=this.nextNode();return n&&(this.currentNode=n),n}return e&&(this.currentNode=e),e}else if(this._walkerStack.length>1){this._walkerStack.shift();let e=this.nextNode();return e&&(this.currentNode=e),e}else return null}previousNode(){let e=this._walkerStack[0];if(e.currentNode===e.root){if(this._currentSetFor.has(e))if(this._currentSetFor.delete(e),this._walkerStack.length>1){this._walkerStack.shift();let e=this.previousNode();return e&&(this.currentNode=e),e}else return null;return null}let t=e.previousNode();if(t){if(t.shadowRoot){let e;if(typeof this.filter==`function`?e=this.filter(t):this.filter?.acceptNode&&(e=this.filter.acceptNode(t)),e===NodeFilter.FILTER_ACCEPT)return t&&(this.currentNode=t),t;let n=this.lastChild();return n&&(this.currentNode=n),n}return t&&(this.currentNode=t),t}else if(this._walkerStack.length>1){this._walkerStack.shift();let e=this.previousNode();return e&&(this.currentNode=e),e}else return null}nextSibling(){return null}previousSibling(){return null}parentNode(){return null}};function dt(e,t,n,r){return f()?new ut(e,t,n,r):e.createTreeWalker(t,n,r)}const ft=w.createContext(null),pt=`react-aria-focus-scope-restore`;let z=null;function mt(e){let{children:t,contain:n,restoreFocus:r,autoFocus:a}=e,o=A(null),s=A(null),c=A([]),{parentNode:l}=D(ft)||{},u=k(()=>new kt({scopeRef:c}),[c]);y(()=>{let e=l||q.root;if(q.getTreeNode(e.scopeRef)&&z&&!W(z,e.scopeRef)){let t=q.getTreeNode(z);t&&(e=t)}e.addChild(u),q.addNode(u)},[u,l]),y(()=>{let e=q.getTreeNode(c);e&&(e.contain=!!n)},[n]),y(()=>{let e=o.current?.nextSibling,t=[],n=e=>e.stopPropagation();for(;e&&e!==s.current;)t.push(e),e.addEventListener(pt,n),e=e.nextSibling;return c.current=t,()=>{for(let e of t)e.removeEventListener(pt,n)}},[t]),wt(c,r,n),vt(c,n),Et(c,r,n),Ct(c,a),O(()=>{let e=i(b(c.current?c.current[0]:void 0)),t=null;if(H(e,c.current)){for(let n of q.traverse())n.scopeRef&&H(e,n.scopeRef.current)&&(t=n);t===q.getTreeNode(c)&&(z=t.scopeRef)}},[c]),y(()=>()=>{let e=q.getTreeNode(c)?.parent?.scopeRef??null;(c===z||W(c,z))&&(!e||q.getTreeNode(e))&&(z=e),q.removeTreeNode(c)},[c]);let d=k(()=>ht(c),[]),f=k(()=>({focusManager:d,parentNode:u}),[u,d]);return w.createElement(ft.Provider,{value:f},w.createElement(`span`,{"data-focus-scope-start":!0,hidden:!0,ref:o}),t,w.createElement(`span`,{"data-focus-scope-end":!0,hidden:!0,ref:s}))}function ht(e){return{focusNext(t={}){let n=e.current,{from:r,tabbable:a,wrap:o,accept:s}=t,c=r||i(b(n[0]??void 0)),l=n[0].previousElementSibling,u=K(B(n),{tabbable:a,accept:s},n);u.currentNode=H(c,n)?c:l;let d=u.nextNode();return!d&&o&&(u.currentNode=l,d=u.nextNode()),d&&G(d,!0),d},focusPrevious(t={}){let n=e.current,{from:r,tabbable:a,wrap:o,accept:s}=t,c=r||i(b(n[0]??void 0)),l=n[n.length-1].nextElementSibling,u=K(B(n),{tabbable:a,accept:s},n);u.currentNode=H(c,n)?c:l;let d=u.previousNode();return!d&&o&&(u.currentNode=l,d=u.previousNode()),d&&G(d,!0),d},focusFirst(t={}){let n=e.current,{tabbable:r,accept:i}=t,a=K(B(n),{tabbable:r,accept:i},n);a.currentNode=n[0].previousElementSibling;let o=a.nextNode();return o&&G(o,!0),o},focusLast(t={}){let n=e.current,{tabbable:r,accept:i}=t,a=K(B(n),{tabbable:r,accept:i},n);a.currentNode=n[n.length-1].nextElementSibling;let o=a.previousNode();return o&&G(o,!0),o}}}function B(e){return e[0].parentElement}function V(e){let t=q.getTreeNode(z);for(;t&&t.scopeRef!==e;){if(t.contain)return!1;t=t.parent}return!0}function gt(e){if(!e.form)return Array.from(b(e).querySelectorAll(`input[type="radio"][name="${CSS.escape(e.name)}"]`)).filter(e=>!e.form);let t=e.form.elements.namedItem(e.name),n=u(e);return t instanceof n.RadioNodeList?Array.from(t).filter(e=>e instanceof n.HTMLInputElement):t instanceof n.HTMLInputElement?[t]:[]}function _t(e){if(e.checked)return!0;let t=gt(e);return t.length>0&&!t.some(e=>e.checked)}function vt(e,t){let n=A(void 0),a=A(void 0);y(()=>{let o=e.current;if(!t){a.current&&=(cancelAnimationFrame(a.current),void 0);return}let s=b(o?o[0]:void 0),c=t=>{if(t.key!==`Tab`||t.altKey||t.ctrlKey||t.metaKey||!V(e)||t.isComposing)return;let n=i(s),r=e.current;if(!r||!H(n,r))return;let a=K(B(r),{tabbable:!0},r);if(!n)return;a.currentNode=n;let o=t.shiftKey?a.previousNode():a.nextNode();o||=(a.currentNode=t.shiftKey?r[r.length-1].nextElementSibling:r[0].previousElementSibling,t.shiftKey?a.previousNode():a.nextNode()),t.preventDefault(),o&&(G(o,!0),o instanceof u(o).HTMLInputElement&&o.select())},l=t=>{(!z||W(z,e))&&H(r(t),e.current)?(z=e,n.current=r(t)):V(e)&&!U(r(t),e)?n.current?G(n.current):z&&z.current&&St(z.current):V(e)&&(n.current=r(t))},d=t=>{a.current&&cancelAnimationFrame(a.current),a.current=requestAnimationFrame(()=>{let a=ae(),o=(a===`virtual`||a===null)&&ne()&&pe(),c=i(s);if(!o&&c&&V(e)&&!U(c,e)){z=e;let i=r(t);i&&i.isConnected?(n.current=i,G(n.current)):z.current&&St(z.current)}})};return s.addEventListener(`keydown`,c,!1),s.addEventListener(`focusin`,l,!1),o?.forEach(e=>e.addEventListener(`focusin`,l,!1)),o?.forEach(e=>e.addEventListener(`focusout`,d,!1)),()=>{s.removeEventListener(`keydown`,c,!1),s.removeEventListener(`focusin`,l,!1),o?.forEach(e=>e.removeEventListener(`focusin`,l,!1)),o?.forEach(e=>e.removeEventListener(`focusout`,d,!1))}},[e,t]),y(()=>()=>{a.current&&cancelAnimationFrame(a.current)},[a])}function yt(e){return U(e)}function H(e,t){return!e||!t?!1:t.some(t=>C(t,e))}function U(e,t=null){if(e instanceof Element&&e.closest(`[data-react-aria-top-layer]`))return!0;for(let{scopeRef:n}of q.traverse(q.getTreeNode(t)))if(n&&H(e,n.current))return!0;return!1}function bt(e){return U(e,z)}function W(e,t){let n=q.getTreeNode(t)?.parent;for(;n;){if(n.scopeRef===e)return!0;n=n.parent}return!1}function G(e,t=!1){if(e!=null&&!t)try{se(e)}catch{}else if(e!=null)try{e.focus()}catch{}}function xt(e,t=!0){let n=e[0].previousElementSibling,r=B(e),i=K(r,{tabbable:t},e);i.currentNode=n;let a=i.nextNode();return t&&!a&&(r=B(e),i=K(r,{tabbable:!1},e),i.currentNode=n,a=i.nextNode()),a}function St(e,t=!0){G(xt(e,t))}function Ct(e,t){let n=w.useRef(t);O(()=>{n.current&&(z=e,!H(i(b(e.current?e.current[0]:void 0)),z.current)&&e.current&&St(e.current)),n.current=!1},[e])}function wt(e,t,n){y(()=>{if(t||n)return;let i=e.current,a=b(i?i[0]:void 0),o=t=>{let n=r(t);H(n,e.current)?z=e:yt(n)||(z=null)};return a.addEventListener(`focusin`,o,!1),i?.forEach(e=>e.addEventListener(`focusin`,o,!1)),()=>{a.removeEventListener(`focusin`,o,!1),i?.forEach(e=>e.removeEventListener(`focusin`,o,!1))}},[e,t,n])}function Tt(e){let t=q.getTreeNode(z);for(;t&&t.scopeRef!==e;){if(t.nodeToRestore)return!1;t=t.parent}return t?.scopeRef===e}function Et(e,t,n){let r=A(typeof document<`u`?i(b(e.current?e.current[0]:void 0)):null);y(()=>{let r=e.current,a=b(r?r[0]:void 0);if(!t||n)return;let o=()=>{(!z||W(z,e))&&H(i(a),e.current)&&(z=e)};return a.addEventListener(`focusin`,o,!1),r?.forEach(e=>e.addEventListener(`focusin`,o,!1)),()=>{a.removeEventListener(`focusin`,o,!1),r?.forEach(e=>e.removeEventListener(`focusin`,o,!1))}},[e,n]),y(()=>{let r=b(e.current?e.current[0]:void 0);if(!t)return;let i=t=>{if(t.key!==`Tab`||t.altKey||t.ctrlKey||t.metaKey||!V(e)||t.isComposing)return;let n=r.activeElement;if(!U(n,e)||!Tt(e))return;let i=q.getTreeNode(e);if(!i)return;let a=i.nodeToRestore,o=K(r.body,{tabbable:!0});o.currentNode=n;let s=t.shiftKey?o.previousNode():o.nextNode();if((!a||!a.isConnected||a===r.body)&&(a=void 0,i.nodeToRestore=void 0),(!s||!U(s,e))&&a){o.currentNode=a;do s=t.shiftKey?o.previousNode():o.nextNode();while(U(s,e));t.preventDefault(),t.stopPropagation(),s?G(s,!0):yt(a)?G(a,!0):n.blur()}};return n||r.addEventListener(`keydown`,i,!0),()=>{n||r.removeEventListener(`keydown`,i,!0)}},[e,t,n]),y(()=>{let n=b(e.current?e.current[0]:void 0);if(!t)return;let a=q.getTreeNode(e);if(a)return a.nodeToRestore=r.current??void 0,()=>{let r=q.getTreeNode(e);if(!r)return;let a=r.nodeToRestore,o=i(n);if(t&&a&&(o&&U(o,e)||o===n.body&&Tt(e))){let t=q.clone();requestAnimationFrame(()=>{if(n.activeElement===n.body){let n=t.getTreeNode(e);for(;n;){if(n.nodeToRestore&&n.nodeToRestore.isConnected){Dt(n.nodeToRestore);return}n=n.parent}for(n=t.getTreeNode(e);n;){if(n.scopeRef&&n.scopeRef.current&&q.getTreeNode(n.scopeRef)){let e=xt(n.scopeRef.current,!0);if(e){Dt(e);return}}n=n.parent}}})}}},[e,t])}function Dt(e){e.dispatchEvent(new CustomEvent(pt,{bubbles:!0,cancelable:!0}))&&G(e)}function K(e,t,r){let i=t?.tabbable?n:m,a=b(e?.nodeType===Node.ELEMENT_NODE?e:null),o=dt(a,e||a,NodeFilter.SHOW_ELEMENT,{acceptNode(e){return C(t?.from,e)||t?.tabbable&&e.tagName===`INPUT`&&e.getAttribute(`type`)===`radio`&&(!_t(e)||o.currentNode.tagName===`INPUT`&&o.currentNode.type===`radio`&&o.currentNode.name===e.name)?NodeFilter.FILTER_REJECT:i(e)&&(!r||H(e,r))&&(!t?.accept||t.accept(e))?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});return t?.from&&(o.currentNode=t.from),o}var Ot=class e{constructor(){this.fastMap=new Map,this.root=new kt({scopeRef:null}),this.fastMap.set(null,this.root)}get size(){return this.fastMap.size}getTreeNode(e){return this.fastMap.get(e)}addTreeNode(e,t,n){let r=this.fastMap.get(t??null);if(!r)return;let i=new kt({scopeRef:e});r.addChild(i),i.parent=r,this.fastMap.set(e,i),n&&(i.nodeToRestore=n)}addNode(e){this.fastMap.set(e.scopeRef,e)}removeTreeNode(e){if(e===null)return;let t=this.fastMap.get(e);if(!t)return;let n=t.parent;for(let e of this.traverse())e!==t&&t.nodeToRestore&&e.nodeToRestore&&t.scopeRef&&t.scopeRef.current&&H(e.nodeToRestore,t.scopeRef.current)&&(e.nodeToRestore=t.nodeToRestore);let r=t.children;n&&(n.removeChild(t),r.size>0&&r.forEach(e=>n&&n.addChild(e))),this.fastMap.delete(t.scopeRef)}*traverse(e=this.root){if(e.scopeRef!=null&&(yield e),e.children.size>0)for(let t of e.children)yield*this.traverse(t)}clone(){let t=new e;for(let e of this.traverse())t.addTreeNode(e.scopeRef,e.parent?.scopeRef??null,e.nodeToRestore);return t}},kt=class{constructor(e){this.children=new Set,this.contain=!1,this.scopeRef=e.scopeRef}addChild(e){this.children.add(e),e.parent=this}removeChild(e){this.children.delete(e),e.parent=void 0}};let q=new Ot;const At=typeof HTMLElement<`u`&&`inert`in HTMLElement.prototype;function jt(e){return e.dataset.liveAnnouncer===`true`||e.dataset.reactAriaTopLayer!==void 0}let J=new WeakMap,Y=[];function Mt(t,n){let r=u(t?.[0]),i=n instanceof r.Element?{root:n}:n,a=i?.root??document.body,o=i?.shouldUseInert&&At,s=new Set(t),c=new Set,l=e=>o&&e instanceof r.HTMLElement?e.inert:e.getAttribute(`aria-hidden`)===`true`,d=(e,t)=>{o&&e instanceof r.HTMLElement?e.inert=t:t?e.setAttribute(`aria-hidden`,`true`):(e.removeAttribute(`aria-hidden`),e instanceof r.HTMLElement&&(e.inert=!1))},p=new Set;if(f()){let n=a.getRootNode();for(let r of t){let t=r.getRootNode();for(;e(t)&&t!==n;)p.add(t),t=t.host.getRootNode()}}let m=e=>{for(let t of e.querySelectorAll(`[data-live-announcer], [data-react-aria-top-layer]`))s.add(t);let t=e=>{if(c.has(e)||s.has(e)||e.parentElement&&c.has(e.parentElement)&&e.parentElement.getAttribute(`role`)!==`row`)return NodeFilter.FILTER_REJECT;for(let t of s)if(C(e,t))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},n=dt(b(e),e,NodeFilter.SHOW_ELEMENT,{acceptNode:t}),r=t(e);if(r===NodeFilter.FILTER_ACCEPT&&h(e),r!==NodeFilter.FILTER_REJECT){let e=n.nextNode();for(;e!=null;)h(e),e=n.nextNode()}},h=e=>{let t=J.get(e)??0;l(e)&&t===0||(t===0&&d(e,!0),c.add(e),J.set(e,t+1))};Y.length&&Y[Y.length-1].disconnect(),m(a);let g=new MutationObserver(e=>{for(let t of e)if(t.type===`childList`){if(t.target.isConnected&&![...s,...c].some(e=>C(e,t.target)))for(let e of t.addedNodes)(e instanceof HTMLElement||e instanceof SVGElement)&&jt(e)?s.add(e):e instanceof Element&&m(e);if(f()){for(let e of p)if(!e.isConnected){g.disconnect();break}}}});g.observe(a,{childList:!0,subtree:!0});let _=new Set;if(f())for(let e of p){let t=new MutationObserver(e=>{for(let t of e)if(t.type===`childList`){if(t.target.isConnected&&![...s,...c].some(e=>C(e,t.target)))for(let e of t.addedNodes)(e instanceof HTMLElement||e instanceof SVGElement)&&jt(e)?s.add(e):e instanceof Element&&m(e);if(f()){for(let e of p)if(!e.isConnected){g.disconnect();break}}}});t.observe(e,{childList:!0,subtree:!0}),_.add(t)}let v={visibleNodes:s,hiddenNodes:c,observe(){g.observe(a,{childList:!0,subtree:!0})},disconnect(){g.disconnect()}};return Y.push(v),()=>{if(g.disconnect(),f())for(let e of _)e.disconnect();for(let e of c){let t=J.get(e);t!=null&&(t===1?(d(e,!1),J.delete(e)):J.set(e,t-1))}v===Y[Y.length-1]?(Y.pop(),Y.length&&Y[Y.length-1].observe()):Y.splice(Y.indexOf(v),1)}}function Nt(e){let{ref:t,onInteractOutside:n,isDisabled:r,onInteractOutsideStart:i}=e,a=A({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),o=oe(e=>{n&&Pt(e,t)&&(i&&i(e),a.current.isPointerDown=!0)}),s=oe(e=>{n&&n(e)});O(()=>{let e=a.current;if(r)return;let n=t.current,i=b(n);if(typeof PointerEvent<`u`){let n=n=>{e.isPointerDown&&Pt(n,t)&&s(n),e.isPointerDown=!1};return i.addEventListener(`pointerdown`,o,!0),i.addEventListener(`click`,n,!0),()=>{i.removeEventListener(`pointerdown`,o,!0),i.removeEventListener(`click`,n,!0)}}},[t,r])}function Pt(e,t){if(e.button>0)return!1;let n=r(e);if(n){let e=n.ownerDocument;if(!e||!C(e.documentElement,n)||n.closest(`[data-react-aria-top-layer]`))return!1}return t.current?!e.composedPath().includes(t.current):!1}const X=[];function Ft(e,t){let{onClose:n,shouldCloseOnBlur:i,isOpen:a,isDismissable:o=!1,isKeyboardDismissDisabled:s=!1,shouldCloseOnInteractOutside:c}=e,l=A(void 0);O(()=>{if(a&&!X.includes(t))return X.push(t),()=>{let e=X.indexOf(t);e>=0&&X.splice(e,1)}},[a,t]);let u=()=>{X[X.length-1]===t&&n&&n()},d=e=>{let n=X[X.length-1];l.current=n,(!c||c(r(e)))&&n===t&&e.stopPropagation()},f=e=>{(!c||c(r(e)))&&(X[X.length-1]===t&&e.stopPropagation(),l.current===t&&u()),l.current=void 0},{keyboardProps:p}=ce({shortcuts:{Escape:()=>{if(!s){u();return}return!1}}});Nt({ref:t,onInteractOutside:o&&a?f:void 0,onInteractOutsideStart:d});let{focusWithinProps:m}=te({isDisabled:!i,onBlurWithin:e=>{!e.relatedTarget||bt(e.relatedTarget)||(!c||c(e.relatedTarget))&&n?.()}});return{overlayProps:{...p,...m},underlayProps:{}}}const Z=typeof document<`u`&&window.visualViewport;let It=0,Lt;function Rt(e={}){let{isDisabled:t}=e;y(()=>{if(!t)return It++,It===1&&(Lt=me()&&he()?Bt():zt()),()=>{It--,It===0&&Lt()}},[t])}function zt(){let e=window.innerWidth-document.documentElement.clientWidth;return v(e>0&&(`scrollbarGutter`in document.documentElement.style?x(document.documentElement,`scrollbar-gutter`,`stable`):x(document.documentElement,`padding-right`,`${e}px`)),x(document.documentElement,`overflow`,`hidden`))}function Bt(){let e=x(document.documentElement,`overflow`,`hidden`),t,n=!1,a=e=>{let i=r(e);t=R(i)?i:ot(i,!0),n=!1;let a=i.ownerDocument.defaultView.getSelection();a&&!a.isCollapsed&&a.containsNode(i,!0)&&(n=!0),e.composedPath().some(e=>e instanceof HTMLInputElement&&e.type===`range`)&&(n=!0),`selectionStart`in i&&`selectionEnd`in i&&i.selectionStart<i.selectionEnd&&i.ownerDocument.activeElement===i&&(n=!0)},o=document.createElement(`style`),s=re();s&&(o.nonce=s),o.textContent=`@layer {
|
|
2
|
+
* {
|
|
3
|
+
overscroll-behavior: contain;
|
|
4
|
+
}
|
|
5
|
+
}`,document.head.prepend(o);let c=e=>{if(!(e.touches.length===2||n)){if(!t||t===document.documentElement||t===document.body){e.preventDefault();return}t.scrollHeight===t.clientHeight&&t.scrollWidth===t.clientWidth&&e.preventDefault()}},l=e=>{let t=r(e),n=e.relatedTarget;n&&F(n)?(n.focus({preventScroll:!0}),Vt(n,F(t))):n||(t.parentElement?.closest(`[tabindex]`))?.focus({preventScroll:!0})},u=HTMLElement.prototype.focus;Reflect.defineProperty(HTMLElement.prototype,"focus",{configurable:!0,writable:!0,value:function(e){let t=i(),n=t!=null&&F(t);u.call(this,{...e,preventScroll:!0}),(!e||!e.preventScroll)&&Vt(this,n)}});let f=v(d(document,`touchstart`,a,{passive:!1,capture:!0}),d(document,`touchmove`,c,{passive:!1,capture:!0}),d(document,`blur`,l,!0));return()=>{e(),f(),o.remove(),Reflect.defineProperty(HTMLElement.prototype,"focus",{configurable:!0,writable:!0,value:u})}}function Vt(e,t){t||!Z?Ht(e):Z.addEventListener(`resize`,()=>Ht(e),{once:!0})}function Ht(e){let t=document.scrollingElement||document.documentElement,n=e;for(;n&&n!==t;){let e=ot(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;Z&&(n=Math.min(n,Z.offsetTop+Z.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}}var Ut={};Ut={dismiss:`تجاهل`};var Wt={};Wt={dismiss:`Отхвърляне`};var Gt={};Gt={dismiss:`Odstranit`};var Kt={};Kt={dismiss:`Luk`};var qt={};qt={dismiss:`Schließen`};var Jt={};Jt={dismiss:`Απόρριψη`};var Yt={};Yt={dismiss:`Dismiss`};var Xt={};Xt={dismiss:`Descartar`};var Zt={};Zt={dismiss:`Lõpeta`};var Qt={};Qt={dismiss:`Hylkää`};var $t={};$t={dismiss:`Rejeter`};var en={};en={dismiss:`התעלם`};var tn={};tn={dismiss:`Odbaci`};var nn={};nn={dismiss:`Elutasítás`};var rn={};rn={dismiss:`Ignora`};var an={};an={dismiss:`閉じる`};var on={};on={dismiss:`무시`};var sn={};sn={dismiss:`Atmesti`};var cn={};cn={dismiss:`Nerādīt`};var ln={};ln={dismiss:`Lukk`};var un={};un={dismiss:`Negeren`};var dn={};dn={dismiss:`Zignoruj`};var fn={};fn={dismiss:`Descartar`};var pn={};pn={dismiss:`Dispensar`};var mn={};mn={dismiss:`Revocare`};var hn={};hn={dismiss:`Пропустить`};var gn={};gn={dismiss:`Zrušiť`};var _n={};_n={dismiss:`Opusti`};var vn={};vn={dismiss:`Odbaci`};var yn={};yn={dismiss:`Avvisa`};var bn={};bn={dismiss:`Kapat`};var xn={};xn={dismiss:`Скасувати`};var Sn={};Sn={dismiss:`取消`};var Cn={};Cn={dismiss:`關閉`};var wn={};wn={"ar-AE":Ut,"bg-BG":Wt,"cs-CZ":Gt,"da-DK":Kt,"de-DE":qt,"el-GR":Jt,"en-US":Yt,"es-ES":Xt,"et-EE":Zt,"fi-FI":Qt,"fr-FR":$t,"he-IL":en,"hr-HR":tn,"hu-HU":nn,"it-IT":rn,"ja-JP":an,"ko-KR":on,"lt-LT":sn,"lv-LV":cn,"nb-NO":ln,"nl-NL":un,"pl-PL":dn,"pt-BR":fn,"pt-PT":pn,"ro-RO":mn,"ru-RU":hn,"sk-SK":gn,"sl-SI":_n,"sr-SP":vn,"sv-SE":yn,"tr-TR":bn,"uk-UA":xn,"zh-CN":Sn,"zh-TW":Cn};function Tn(e){return e&&e.__esModule?e.default:e}function En(e){let{onDismiss:t,...n}=e,r=je(n,et(Tn(wn),`@react-aria/overlays`).format(`dismiss`)),i=()=>{t&&t()};return w.createElement(lt,null,w.createElement(`button`,{...r,tabIndex:-1,onClick:i,style:{width:1,height:1}}))}function Dn({children:e}){let t=k(()=>({register:()=>{}}),[]);return w.createElement(ue.Provider,{value:t},e)}const On=T({});function kn(){return D(On)??{}}const An=w.createContext(null);function jn(e){let t=c(),{portalContainer:n=t?null:document.body,isExiting:r}=e,[i,a]=j(!1),o=k(()=>({contain:i,setContain:a}),[i,a]),{getContainer:s}=kn();if(!e.portalContainer&&s&&(n=s()),!n)return null;let l=e.children;return e.disableFocusManagement||(l=w.createElement(mt,{restoreFocus:!0,contain:(e.shouldContainFocus||i)&&!r},l)),l=w.createElement(An.Provider,{value:o},w.createElement(Dn,null,w.createElement(ie.Provider,{value:null},l))),Oe.createPortal(l,n)}function Mn(){let e=D(An)?.setContain;y(()=>{e?.(!0)},[e])}function Nn(e){let[t,n]=nt(e.isOpen,e.defaultOpen||!1,e.onOpenChange),[r,i]=j(null);return{isOpen:t,setOpen:n,open:E(()=>{n(!0)},[n]),close:E(()=>{n(!1)},[n]),toggle:E(()=>{n(!t)},[n,t]),point:r,setPoint:i}}function Pn(e,t=!0){let[n,r]=j(!0),i=n&&t;return y(()=>{if(i&&e.current&&`getAnimations`in e.current)for(let t of e.current.getAnimations())t instanceof CSSTransition&&t.cancel()},[e,i]),In(e,i,E(()=>r(!1),[])),i}function Fn(e,t){let[n,r]=j(t?`open`:`closed`);switch(n){case`open`:t||r(`exiting`);break;case`closed`:case`exiting`:t&&r(`open`);break}let i=n===`exiting`;return In(e,i,E(()=>{r(e=>e===`exiting`?`closed`:e)},[])),i}function In(e,t,n){y(()=>{if(t&&e.current){if(!(`getAnimations`in e.current)){n();return}let t=e.current.getAnimations();if(t.length===0){n();return}let r=!1;return Promise.allSettled(t.map(e=>e.finished)).then(()=>{r||ke(()=>{n()})}),()=>{r=!0}}},[e,t,n])}function Ln(e,t){let{role:n=`dialog`}=e,r=l();r=e[`aria-label`]?void 0:r;let a=l();a=n===`alertdialog`&&!e[`aria-describedby`]?a:void 0;let o=A(!1);O(()=>{if(t.current&&!h(t.current)){se(t.current);let e=setTimeout(()=>{(i()===t.current||i()===document.body)&&(o.current=!0,t.current&&(t.current.blur(),se(t.current)),o.current=!1)},500);return()=>{clearTimeout(e)}}},[t]),Mn(),A(!1),O(()=>{});let s=e[`aria-describedby`]??a;return{dialogProps:{...S(e,{labelable:!0}),role:n,tabIndex:-1,"aria-labelledby":e[`aria-labelledby`]??r,"aria-describedby":s,onBlur:e=>{o.current&&e.stopPropagation()}},titleProps:{id:r},contentProps:{id:a}}}const Rn=T(null),zn=T(null),Bn=Ce(function(e,n){let r=e[`aria-labelledby`];[e,n]=a(e,n,Rn);let{dialogProps:i,titleProps:o,contentProps:c}=Ln({...e,"aria-labelledby":r},n),l=D(zn);!i[`aria-label`]&&!i[`aria-labelledby`]&&e[`aria-labelledby`]&&(i[`aria-labelledby`]=e[`aria-labelledby`]);let u=s({defaultClassName:`react-aria-Dialog`,className:e.className,style:e.style,children:e.children,values:{close:l?.close||(()=>{})}}),d=S(e,{global:!0});return w.createElement(t.section,{..._(d,u,i),render:e.render,ref:n,slot:e.slot||void 0},w.createElement(p,{values:[[rt,{slots:{[ge]:{},title:{...o,level:2}}}],[it,{slots:{[ge]:{},description:c}}],[de,{slots:{[ge]:{},close:{onPress:()=>l?.close()}}}]]},u.children))});function Vn(e,t,n){let{overlayProps:r,underlayProps:i}=Ft({...e,isOpen:t.isOpen,onClose:t.close},n);return Rt({isDisabled:!t.isOpen}),Mn(),O(()=>{if(t.isOpen&&n.current)return Mt([n.current],{shouldUseInert:!0})},[t.isOpen,n]),{modalProps:_(r),underlayProps:i}}let Q=typeof document<`u`&&window.visualViewport;function Hn(){let e=c(),[t,n]=j(()=>e?{width:0,height:0}:Un());return O(()=>{let e=e=>{n(t=>e.width===t.width&&e.height===t.height?t:e)},t=()=>{Q&&Q.scale>1||e(Un())},a,o=t=>{Q&&Q.scale>1||F(r(t))&&(a=requestAnimationFrame(()=>{let t=i();(!t||!F(t))&&e({width:document.documentElement.clientWidth,height:document.documentElement.clientHeight})}))};return e(Un()),me()&&he()&&window.addEventListener(`blur`,o,!0),Q?Q.addEventListener(`resize`,t):window.addEventListener(`resize`,t),()=>{cancelAnimationFrame(a),me()&&he()&&window.removeEventListener(`blur`,o,!0),Q?Q.removeEventListener(`resize`,t):window.removeEventListener(`resize`,t)}},[]),t}function Un(){return{width:Q?Math.min(Q.width*Q.scale,document.documentElement.clientWidth):document.documentElement.clientWidth,height:Q?Q.height*Q.scale:document.documentElement.clientHeight}}const Wn=T(null),Gn=T(null),Kn=Ce(function(e,t){if(D(Gn))return w.createElement(Xn,{...e,modalRef:t},e.children);let{isDismissable:n,isKeyboardDismissDisabled:r,isOpen:i,defaultOpen:a,onOpenChange:o,children:s,isEntering:c,isExiting:l,UNSTABLE_portalContainer:u,shouldCloseOnInteractOutside:d,...f}=e;return w.createElement(Jn,{isDismissable:n,isKeyboardDismissDisabled:r,isOpen:i,defaultOpen:a,onOpenChange:o,isEntering:c,isExiting:l,UNSTABLE_portalContainer:u,shouldCloseOnInteractOutside:d},w.createElement(Xn,{...f,modalRef:t},s))});function qn(e,t){[e,t]=a(e,t,Wn);let n=D(zn),r=Nn(e),i=e.isOpen!=null||e.defaultOpen!=null||!n?r:n,o=g(t),s=A(null),l=Fn(o,i.isOpen),u=Fn(s,i.isOpen),d=l||u||e.isExiting||!1,f=c();return!i.isOpen&&!d||f?null:w.createElement(Yn,{...e,state:i,isExiting:d,overlayRef:o,modalRef:s})}const Jn=Ce(qn);function Yn({UNSTABLE_portalContainer:e,...n}){let r=n.modalRef,{state:i}=n,{modalProps:a,underlayProps:o}=Vn(n,i,r),c=Pn(n.overlayRef)||n.isEntering||!1,l=s({...n,defaultClassName:`react-aria-ModalOverlay`,values:{isEntering:c,isExiting:n.isExiting,state:i}}),u=Hn(),d,f;if(typeof document<`u`){let e=R(document.body)?document.body:document.scrollingElement||document.documentElement,t=e.getBoundingClientRect().width%1,n=e.getBoundingClientRect().height%1;d=e.scrollWidth-t,f=e.scrollHeight-n}let m={...l.style,"--visual-viewport-width":u.width+`px`,"--visual-viewport-height":u.height+`px`,"--page-width":d===void 0?void 0:d+`px`,"--page-height":f===void 0?void 0:f+`px`};return w.createElement(jn,{isExiting:n.isExiting,portalContainer:e},w.createElement(t.div,{..._(S(n,{global:!0}),o),...l,style:m,ref:n.overlayRef,"data-entering":c||void 0,"data-exiting":n.isExiting||void 0},w.createElement(p,{values:[[Gn,{modalProps:a,modalRef:r,isExiting:n.isExiting,isDismissable:n.isDismissable}],[zn,i]]},l.children)))}function Xn(e){let{modalProps:n,modalRef:r,isExiting:i,isDismissable:a}=D(Gn),c=D(zn),l=g(k(()=>o(e.modalRef,r),[e.modalRef,r])),u=Pn(l),d=s({...e,defaultClassName:`react-aria-Modal`,values:{isEntering:u,isExiting:i,state:c}});return w.createElement(t.div,{..._(S(e,{global:!0}),n),...d,ref:l,"data-entering":u||void 0,"data-exiting":i||void 0},a&&w.createElement(En,{onDismiss:c.close}),d.children)}const Zn=M.union([M.string(),M.number(),M.boolean()]),Qn=[`id`,`email`,`name`],$n=M.function(),er=e=>{let t=M.object({[e]:$n});return M.custom(e=>t.validate(e))},tr=er(`get_distinct_id`),nr=er(`get_session_id`),rr=er(`getUser`),ir=er(`getInternalContext`),ar=M.string(),or=M.record(M.string(),M.unknown()),sr=M.object({session_id:M.string().optional()}),cr=(e,t)=>{if(!(typeof window>`u`))return t.safeParse(window[e]).data},lr=()=>{try{let e=cr(`posthog`,tr);return ar.safeParse(e?.get_distinct_id()).data}catch{return}},ur=()=>{try{let e=cr(`posthog`,nr);return ar.safeParse(e?.get_session_id()).data}catch{return}},dr=()=>{try{let e=cr(`DD_RUM`,rr),t=or.safeParse(e?.getUser());return!t.success||Object.keys(t.data).length===0?void 0:t.data}catch{return}},fr=()=>{try{let e=cr(`DD_RUM`,ir);return sr.safeParse(e?.getInternalContext()).data?.session_id}catch{return}},pr=e=>{let t={...e},n=dr(),r;try{r=JSON.stringify(n)}catch{r=void 0}let i=[[`posthog_distinct_id`,lr()],[`posthog_session_id`,ur()],[`datadog_rum_user`,r],[`datadog_rum_session_id`,fr()],...Qn.map(e=>[`datadog_rum_user_${e}`,Zn.safeParse(n?.[e]).data?.toString()])];for(let[e,n]of i)Object.prototype.hasOwnProperty.call(t,e)||n===void 0||n.trim()===``||(t[e]=n);return t},mr=(e,t=!1)=>t?pr(e):e,hr=T({}),gr=()=>D(hr),_r=T({}),vr=({type:e,children:t})=>{let n=k(()=>({type:e}),[e]);return N(_r.Provider,{value:n,children:t})},yr=()=>D(_r),br=T(null),xr=({children:e,surveyId:t,publishableKey:n,respondent:r,metadata:i={},autoInjectAnalyticsMetadata:a=!1,locale:o,apiBaseUrl:s})=>{let{type:c}=yr(),l=gr(),u=l.version??`0.9.7`,d=l.build,f=ee({publishableKey:n,apiBaseUrl:s}),p=A(void 0),[m,h]=j(),g=m?.client===f&&m.surveyId===t?m.data:void 0;O(()=>{let e=new AbortController;return(async()=>{try{let n=`api/v1/cfti/${encodeURIComponent(t)}${o?`?locale=${encodeURIComponent(o)}`:``}`,r=await f.get(n,{signal:e.signal}).json(),i=_e.safeParse(r);if(!i.success||e.signal.aborted)return;h({client:f,surveyId:t,data:i.data})}catch{}})(),()=>e.abort()},[f,o,t]);let _=E(async({answers:e})=>{let n=crypto.randomUUID(),o=ye({metadata:mr(i,a)}),s=await f.put(`api/v1/cfti/${encodeURIComponent(t)}/response/${encodeURIComponent(n)}`,{json:{respondent:r,data:Object.fromEntries(Object.entries(e).filter(e=>e[1]!==void 0)),metadata:o.metadata,warnings:o.warnings,telemetry:{...c!==void 0&&{type:c},version:u,...d&&{build:d}}}}).json(),l={...s,createdAt:new Date(s.createdAt)},p=ve.safeParse(l);return p.success?p.data:ve.parse({...l,data:void 0})},[a,d,f,i,r,t,u,c]),v=E(()=>{f.post(`api/v1/cfti/${encodeURIComponent(t)}/respondent/${encodeURIComponent(r)}/event`,{json:{type:`dismiss`}}).catch(()=>{})},[f,r,t]);return O(()=>{let e=p.current;e?.client===f&&e.surveyId===t&&e.respondent===r||g&&r&&(p.current={client:f,surveyId:t,respondent:r},f.post(`api/v1/cfti/${encodeURIComponent(t)}/respondent/${encodeURIComponent(r)}/event`,{json:{type:`view`}}).catch(()=>{}))},[f,r,g,t]),g?N(br.Provider,{value:{submit:_,dismiss:v,surveyId:t,survey:g,metadata:i},children:e}):null},Sr=e=>D(br)?N(Ee,{children:e.children}):N(xr,{...e}),Cr=()=>{let e=D(br);if(!e)throw Error(`useSurvey must be used within a SurveyProvider`);return e},wr={en:{skip:`Skip`,next:`Next`,back:`Back`,submit:`Submit`,submitAnotherResponse:`Submit another response`,other:`Other`,dismiss:`Dismiss`,close:`Close`,optional:`(optional)`,startTyping:`Start typing...`,feedbackSubmitted:`Feedback submitted!`,surveyDialog:`Survey`,unsupportedQuestionType:`Unsupported question type`,bugReportTitlePlaceholder:`Brief description of the issue`,bugReportDetailsPlaceholder:`Steps to reproduce, expected vs actual behavior, etc.`,attachments:`Attachments`,capturing:`Capturing...`,screenshot:`Screenshot`,screenshotPreview:`Screenshot preview`,removeScreenshot:`Remove screenshot`,loadingRecordingPreview:`Loading recording preview...`,removeRecording:`Remove recording`,record:`Record`,captureError:`Failed to capture screenshot. Please try again.`,recordingError:`Failed to start recording. Please try again.`},zh:{skip:`跳过`,next:`下一步`,back:`上一步`,submit:`提交`,submitAnotherResponse:`提交另一份回复`,other:`其他`,dismiss:`忽略`,close:`关闭`,optional:`(选填)`,startTyping:`开始输入…`,feedbackSubmitted:`反馈已提交!`,surveyDialog:`调查对话框`,unsupportedQuestionType:`不支持的问题类型`,bugReportTitlePlaceholder:`在此输入问题标题`,bugReportDetailsPlaceholder:`在此输入问题内容`,attachments:`附件`,capturing:`截屏中…`,screenshot:`截图`,screenshotPreview:`截图预览`,removeScreenshot:`移除截图`,loadingRecordingPreview:`录像加载中…`,removeRecording:`移除录像`,record:`录制`,captureError:`截图失败,请重试。`,recordingError:`录制启动失败,请重试。`},ms:{skip:`Langkau`,next:`Seterusnya`,back:`Kembali`,submit:`Hantar`,submitAnotherResponse:`Hantar respons lain`,other:`Lain-lain`,dismiss:`Tutup`,close:`Tutup`,optional:`(Pilihan)`,startTyping:`Mula menaip...`,feedbackSubmitted:`Maklum balas dihantar!`,surveyDialog:`Tinjauan`,unsupportedQuestionType:`Jenis soalan tidak disokong`,bugReportTitlePlaceholder:`Penerangan ringkas tentang isu`,bugReportDetailsPlaceholder:`Langkah untuk mengulang semula, tingkah laku dijangka berbanding sebenar, dll.`,attachments:`Lampiran`,capturing:`Sedang menangkap...`,screenshot:`Tangkapan skrin`,screenshotPreview:`Pratonton tangkapan skrin`,removeScreenshot:`Alih keluar tangkapan skrin`,loadingRecordingPreview:`Memuatkan pratonton rakaman...`,removeRecording:`Alih keluar rakaman`,record:`Rakam`,captureError:`Gagal menangkap tangkapan skrin. Sila cuba lagi.`,recordingError:`Gagal memulakan rakaman. Sila cuba lagi.`},ta:{skip:`தவிர்க்கவும்`,next:`அடுத்து`,back:`பின்செல்`,submit:`சமர்ப்பிக்கவும்`,submitAnotherResponse:`மற்றொரு பதிலைச் சமர்ப்பிக்கவும்`,other:`மற்றவை`,dismiss:`மூடு`,close:`மூடு`,optional:`(கட்டாயமில்லை)`,startTyping:`தட்டச்சு செய்யத் தொடங்கவும்...`,feedbackSubmitted:`கருத்து சமர்ப்பிக்கப்பட்டது!`,surveyDialog:`கருத்துக்கணிப்பு`,unsupportedQuestionType:`ஆதரிக்கப்படாத கேள்வி வகை`,bugReportTitlePlaceholder:`சிக்கலின் சுருக்கமான விளக்கம்`,bugReportDetailsPlaceholder:`சிக்கல் எப்படி ஏற்பட்டது, நீங்கள் என்ன எதிர்பார்த்தீர்கள், மேலும் என்ன நடந்தது என்பதை விவரிக்கவும்`,attachments:`இணைப்புகள்`,capturing:`ஸ்கிரீன்ஷாட் எடுக்கப்படுகிறது...`,screenshot:`ஸ்கிரீன்ஷாட்`,screenshotPreview:`ஸ்கிரீன்ஷாட் முன்னோட்டம்`,removeScreenshot:`ஸ்கிரீன்ஷாட்டை அகற்று`,loadingRecordingPreview:`பதிவு முன்னோட்டம் தயாராகிறது...`,removeRecording:`பதிவை அகற்று`,record:`பதிவுசெய்`,captureError:`ஸ்கிரீன்ஷாட் எடுக்க முடியவில்லை. மீண்டும் முயற்சிக்கவும்.`,recordingError:`பதிவைத் தொடங்க முடியவில்லை. மீண்டும் முயற்சிக்கவும்.`}},$=(e=`en`)=>wr[e],Tr=(e,t,n)=>!e||e===wr.en[t]?$(n)[t]:e,Er=(e,t)=>e===wr.en.other?$(t).other:e,Dr=(e,t)=>Tr(e,`close`,t),Or=(e,t)=>Tr(e,`feedbackSubmitted`,t),kr=(e,t)=>Tr(e,`bugReportTitlePlaceholder`,t),Ar=(e,t)=>Tr(e,`bugReportDetailsPlaceholder`,t),jr=()=>{let[e,t]=j(!1);return O(()=>{let e=e=>{let n=be.safeParse(e);n.error||t(n.data.detail.isRecording)};return document.addEventListener(xe,e),()=>document.removeEventListener(xe,e)},[]),e},Mr=({className:e,iconClassName:t,onClose:n,locale:r})=>jr()?null:N(`button`,{type:`button`,className:e,"aria-label":$(r).dismiss,onClick:n,children:N(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 16 16`,fill:`none`,className:t,children:N(`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`})})}),Nr=({children:e,classNames:t,isDismissable:n,onDismiss:r,onClose:i,closeOnFinishMs:a,isSubmitted:o,onSubmitted:s,locale:c})=>{let{survey:l,surveyId:u,dismiss:d}=Cr(),[f,p]=j(!1);return Te(()=>{l&&i?.()},f?a:null),De(Bn,{"aria-label":$(c).surveyDialog,id:`${u}-popover`,className:P(`confetti-modal-dialog ${Se}`,t?.dialog),children:[n&&N(Mr,{className:P(`confetti-modal-dialog-close`,t?.closeButton),iconClassName:t?.icon,locale:c,onClose:async()=>{!o&&!f&&(await d(),r?.()),i?.()}}),typeof e==`function`?e({setIsSubmitted:()=>s?.(),setIsFinished:()=>p(!0)}):e]})},Pr=({children:e,classNames:t,onDismiss:n,onClose:r,isDismissable:i=!0,closeOnFinishMs:a=3e3,locale:o})=>{let{dismiss:s}=Cr(),[c,l]=j(!1);return N(Jn,{isOpen:!0,isDismissable:i,isKeyboardDismissDisabled:!i,onOpenChange:async e=>{e||(c||(await s(),n?.()),r?.())},className:P(`confetti-modal-overlay ${Se}`,t?.overlay),children:N(Kn,{className:P(`confetti-modal ${Se}`,t?.modal),children:N(Nr,{classNames:t,isDismissable:i,onDismiss:n,onClose:r,closeOnFinishMs:a,isSubmitted:c,onSubmitted:()=>l(!0),locale:o,children:e})})})};export{at as _,$ as a,Ve as b,Dr as c,br as d,Sr as f,lt as g,K as h,jr as i,Or as l,vr as m,Nr as n,Ar as o,Cr as p,Mr as r,kr as s,Pr as t,Er as u,it as v,je as x,nt as y};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { r as ModalContent } from "./ModalContainer-
|
|
1
|
+
import { r as ModalContent } from "./ModalContainer-DQD9jvoG.js";
|
|
2
2
|
export { ModalContent as UnstableModalContent };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./ModalContainer-
|
|
1
|
+
import{n as e}from"./ModalContainer-igsKZUi1.js";export{e as UnstableModalContent};
|
package/build/components.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as ModalContainerProps, t as ModalContainer } from "./ModalContainer-
|
|
3
|
-
import { C as ConfettiState, _ as useSurvey, a as BaseFieldProps, b as Answer, c as ConfettiProviderProps, d as RespondentVisibilityProviderProps, g as SurveyProviderProps, h as SurveyProvider, i as BugReportOptions,
|
|
1
|
+
import { c as MultiSelectQuestionProperties, d as StatementQuestionProperties, f as TextQuestionProperties, l as RatingQuestionProperties, r as Locale, u as SingleSelectQuestionProperties } from "./index-Bw3Vmeyu.js";
|
|
2
|
+
import { n as ModalContainerProps, t as ModalContainer } from "./ModalContainer-DQD9jvoG.js";
|
|
3
|
+
import { A as Question, C as ConfettiState, E as FinishResult, _ as useSurvey, a as BaseFieldProps, b as Answer, c as ConfettiProviderProps, d as RespondentVisibilityProviderProps, g as SurveyProviderProps, h as SurveyProvider, i as BugReportOptions, j as ResponseAnswer, l as RespondentVisibilityContext, m as SurveyContext, n as Confetti, o as Question$1, p as useRespondentVisibility, r as ConfettiProps, s as ConfettiProvider, t as BaseConfettiProps, u as RespondentVisibilityProvider, v as ConfettiController, y as ConfettiControllerProps } from "./Confetti-D_KmrN8z.js";
|
|
4
4
|
import { HTMLAttributes, JSX, PropsWithChildren, SVGProps } from "react";
|
|
5
5
|
|
|
6
6
|
//#region src/components/container/PopoverContainer.d.ts
|
|
@@ -394,4 +394,4 @@ declare const DefaultConfettiTrigger: ({
|
|
|
394
394
|
label
|
|
395
395
|
}: DefaultConfettiTriggerProps) => import("react").JSX.Element | null;
|
|
396
396
|
//#endregion
|
|
397
|
-
export { type Answer, BackButton, type BaseConfettiProps, CloseButton, Confetti, ConfettiController, type ConfettiControllerProps, type ConfettiProps, ConfettiProvider, type ConfettiProviderProps, type ConfettiState, ConfettiTriggerIcon, DefaultConfettiTrigger, type DefaultConfettiTriggerProps, Embed, type EmbedProps, Flow, type FlowProps, FreeText, type FreeTextProps, ModalContainer, type ModalContainerProps, MultiChoice, type MultiChoiceProps, PopoverContainer, type PopoverContainerProps, type Question, Rating, type RatingProps, RespondentVisibilityContext, RespondentVisibilityProvider, type RespondentVisibilityProviderProps, SingleChoice, type SingleChoiceProps, Statement, type StatementProps, SurveyContext, SurveyProvider, type SurveyProviderProps, SurveyQuestionFactory, type SurveyQuestionFactoryProps, ThankYouMessage, useRespondentVisibility, useSurvey };
|
|
397
|
+
export { type Answer, BackButton, type BaseConfettiProps, CloseButton, Confetti, ConfettiController, type ConfettiControllerProps, type ConfettiProps, ConfettiProvider, type ConfettiProviderProps, type ConfettiState, ConfettiTriggerIcon, DefaultConfettiTrigger, type DefaultConfettiTriggerProps, Embed, type EmbedProps, type FinishResult, Flow, type FlowProps, FreeText, type FreeTextProps, ModalContainer, type ModalContainerProps, MultiChoice, type MultiChoiceProps, PopoverContainer, type PopoverContainerProps, type Question, Rating, type RatingProps, RespondentVisibilityContext, RespondentVisibilityProvider, type RespondentVisibilityProviderProps, type ResponseAnswer, SingleChoice, type SingleChoiceProps, Statement, type StatementProps, SurveyContext, SurveyProvider, type SurveyProviderProps, SurveyQuestionFactory, type SurveyQuestionFactoryProps, ThankYouMessage, useRespondentVisibility, useSurvey };
|
package/build/components.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"./DefaultConfettiTrigger-
|
|
1
|
+
import{n as e,t}from"./DefaultConfettiTrigger-DfKhP7hV.js";import{d as n,f as r,p as i,r as a,t as o}from"./ModalContainer-igsKZUi1.js";import{a as s,c,d as l,f as u,h as d,i as f,l as p,m,n as h,o as g,p as _,r as v,s as y,t as b,u as x}from"./Embed-BKSP4LXK.js";import{ErrorBoundary as S}from"react-error-boundary";import{Fragment as C,jsx as w}from"react/jsx-runtime";const T=({children:e,respondent:t,isSurveyVisible:n,...i})=>{let{respondent:a}=m();return w(r,{...i,respondent:a,children:e})},E=({children:e,...t})=>w(_,{...t,children:w(T,{...t,children:e})}),D=({children:e,onFinished:t,shouldAutoSubmit:n,...r})=>w(S,{fallback:w(C,{}),children:w(E,{...r,children:w(d,{shouldAutoSubmit:n,onFinished:t,children:e})})});export{v as BackButton,a as CloseButton,D as Confetti,d as ConfettiController,E as ConfettiProvider,e as ConfettiTriggerIcon,t as DefaultConfettiTrigger,b as Embed,h as Flow,x as FreeText,o as ModalContainer,p as MultiChoice,l as PopoverContainer,c as Rating,u as RespondentVisibilityContext,_ as RespondentVisibilityProvider,y as SingleChoice,g as Statement,n as SurveyContext,r as SurveyProvider,s as SurveyQuestionFactory,f as ThankYouMessage,m as useRespondentVisibility,i as useSurvey};
|
|
@@ -108,7 +108,7 @@ declare const ratingAnswerSchemaFactory: ({
|
|
|
108
108
|
required
|
|
109
109
|
}: {
|
|
110
110
|
required: boolean;
|
|
111
|
-
}) => z.ZodOptional<z.ZodPreprocess<z.ZodNumber>> | z.ZodPreprocess<z.ZodNumber>;
|
|
111
|
+
}) => z.ZodOptional<z.ZodPreprocess<z.ZodNumber, unknown>> | z.ZodPreprocess<z.ZodNumber, unknown>;
|
|
112
112
|
type RatingAnswer = z.infer<ReturnType<typeof ratingAnswerSchemaFactory>>;
|
|
113
113
|
declare const singleSelectAnswerSchemaFactory: (properties: Pick<SingleSelectQuestionProperties, 'options' | 'editable'>, {
|
|
114
114
|
required
|
|
@@ -123,14 +123,6 @@ declare const multiSelectAnswerSchemaFactory: (properties: Pick<MultiSelectQuest
|
|
|
123
123
|
}) => z.ZodArray<z.ZodString>;
|
|
124
124
|
type MultiSelectAnswer = z.infer<ReturnType<typeof multiSelectAnswerSchemaFactory>>;
|
|
125
125
|
//#endregion
|
|
126
|
-
//#region ../validators/dist/questions/reachability.d.ts
|
|
127
|
-
/**
|
|
128
|
-
* Answer shape the routing engine can evaluate. Mirrors the widget's `Answer`
|
|
129
|
-
* union. Condition evaluation only meaningfully inspects string / number /
|
|
130
|
-
* string[] answers; any other shape never satisfies a condition.
|
|
131
|
-
*/
|
|
132
|
-
type RoutableAnswer = BugReportAnswer | RatingAnswer | MultiSelectAnswer | SingleSelectAnswer;
|
|
133
|
-
//#endregion
|
|
134
126
|
//#region ../validators/dist/locale.d.ts
|
|
135
127
|
declare const LOCALES: readonly ['en', 'zh', 'ms', 'ta'];
|
|
136
128
|
type Locale = (typeof LOCALES)[number];
|
|
@@ -280,10 +272,20 @@ declare const responseWarningsSchema: z.ZodObject<{
|
|
|
280
272
|
}, z.core.$strict>], "code">>;
|
|
281
273
|
}, z.core.$strict>;
|
|
282
274
|
type ResponseWarnings = z.infer<typeof responseWarningsSchema>;
|
|
275
|
+
declare const savedResponseDataSchema: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodArray<z.ZodString>]>>;
|
|
283
276
|
interface PublicPutResponseOutput {
|
|
284
277
|
id: string;
|
|
285
278
|
createdAt: Date;
|
|
279
|
+
/**
|
|
280
|
+
* The answers as saved, keyed by question ID. The server drops answers to
|
|
281
|
+
* questions the respondent could not reach, out-of-range ratings and skipped
|
|
282
|
+
* bug reports, and stores bug report answers as their bug report ID. `null`
|
|
283
|
+
* when this submission was discarded, in which case any answers saved earlier
|
|
284
|
+
* under the same response ID are kept. Absent from servers that predate this
|
|
285
|
+
* field.
|
|
286
|
+
*/
|
|
287
|
+
data?: z.output<typeof savedResponseDataSchema> | null;
|
|
286
288
|
warnings?: ResponseWarnings;
|
|
287
289
|
}
|
|
288
290
|
//#endregion
|
|
289
|
-
export {
|
|
291
|
+
export { MultiSelectAnswer as a, MultiSelectQuestionProperties as c, StatementQuestionProperties as d, TextQuestionProperties as f, BugReportAnswer as i, RatingQuestionProperties as l, PublicGetSurveyOutput as n, RatingAnswer as o, BinaryOperatorCondition as p, Locale as r, SingleSelectAnswer as s, PublicPutResponseOutput as t, SingleSelectQuestionProperties as u };
|
package/build/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as Locale } from "./index-
|
|
2
|
-
import { D as
|
|
1
|
+
import { r as Locale } from "./index-Bw3Vmeyu.js";
|
|
2
|
+
import { D as Finishable, E as FinishResult, O as OptionallyDismissable, S as ConfettiContainer, T as Dismissable, j as ResponseAnswer, k as Proxyable, t as BaseConfettiProps, w as Containable, x as Closable } from "./Confetti-D_KmrN8z.js";
|
|
3
3
|
|
|
4
4
|
//#region src/contracts/api.d.ts
|
|
5
5
|
type Template = 'TriggerPopover' | 'Popover' | 'Modal' | 'Embedded' | 'Stepper';
|
|
@@ -266,4 +266,4 @@ declare const useVisibleAfterScroll: ({
|
|
|
266
266
|
isVisible: boolean;
|
|
267
267
|
};
|
|
268
268
|
//#endregion
|
|
269
|
-
export { type ConfettiContainer, EmbeddedConfetti, type EmbeddedConfettiProps, type Locale, ModalConfetti, type ModalConfettiProps, PopoverConfetti, type PopoverConfettiProps, StepperConfetti, type StepperConfettiProps, TriggerPopoverConfetti, type TriggerPopoverConfettiProps, type TriggerRenderProps, type UseResolveLocaleOptions, type UseRespondentStateOptions, type UseRespondentStateResult, useResolveLocale, useRespondentState, useVisibleAfterDelay, useVisibleAfterPageVisits, useVisibleAfterScroll, useVisibleAfterSessionPageVisits };
|
|
269
|
+
export { type ConfettiContainer, EmbeddedConfetti, type EmbeddedConfettiProps, type FinishResult, type Locale, ModalConfetti, type ModalConfettiProps, PopoverConfetti, type PopoverConfettiProps, type ResponseAnswer, StepperConfetti, type StepperConfettiProps, TriggerPopoverConfetti, type TriggerPopoverConfettiProps, type TriggerRenderProps, type UseResolveLocaleOptions, type UseRespondentStateOptions, type UseRespondentStateResult, useResolveLocale, useRespondentState, useVisibleAfterDelay, useVisibleAfterPageVisits, useVisibleAfterScroll, useVisibleAfterSessionPageVisits };
|
package/build/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,i as t,o as n,r,s as i,t as a}from"./DefaultConfettiTrigger-Bw8xis2D.js";import{Z as o}from"./Button-BGUCuTdV.js";import{a as s}from"./src-C4lgg92q.js";import c,{useCallback as l,useEffect as u,useMemo as d,useRef as f,useState as p}from"react";import{ErrorBoundary as m}from"react-error-boundary";import{useLocalStorage as h,useSessionStorage as g}from"usehooks-ts";import{Fragment as _,jsx as v,jsxs as y}from"react/jsx-runtime";const b=`confetti:ready`,x=`https://confetti.gov.sg`,S={promise:null,channel:null,url:null};function C(){S.promise=null,S.channel=null,S.url=null}function w(){S.promise=null}function T(e){return new URL(``,e).href}function E(e,t,n){let r=new URL(e);return r.pathname.endsWith(`/`)||(r.pathname+=`/`),new URL(`widget/v1/${t}.${n}`,r).href}function D(e=`stable`,t=x){if(typeof window>`u`)return Promise.reject(Error(`[confetti] No window found, SSR environments are not supported`));let n;try{n=T(t)}catch{return Promise.reject(Error(`[confetti] Invalid URL: ${t}`))}if(S.promise)return S.channel===e?S.url===n?S.promise:Promise.reject(Error(`[confetti] Cannot switch baseUrl from ${String(S.url)} to ${n} on the same page`)):Promise.reject(Error(`[confetti] Cannot switch channel from ${String(S.channel)} to ${e} on the same page`));let r=window.__confetti;if(r){let t=String(r.channel);return t===e?S.url!==null&&S.url!==n?Promise.reject(Error(`[confetti] Cannot switch URL from ${S.url} to ${n} on the same page`)):M(r):Promise.reject(Error(`[confetti] Cannot switch channel from ${t} to ${e} on the same page`))}let i=k(n,e);return S.channel=e,S.url=n,S.promise=i,i}function O(e=`stable`,t=x){if(typeof window>`u`)return Promise.resolve();let n;try{n=T(t)}catch{return Promise.reject(Error(`[confetti] Invalid URL: ${t}`))}return A(n,e)}async function k(e,t){let n=!!document.querySelector(`link[data-confetti-loader]`),r,i=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`[confetti] Script load timeout`)),1e4)});try{let[,n]=await Promise.race([i,Promise.all([A(e,t),j(e,t)])]);return clearTimeout(r),w(),n}catch(e){throw clearTimeout(r),n||document.querySelector(`link[data-confetti-loader]`)?.remove(),document.querySelector(`script[data-confetti-loader]`)?.remove(),C(),e}}function A(e,t){return new Promise((n,r)=>{if(document.querySelector(`link[data-confetti-loader]`)){n();return}let i=document.createElement(`link`);i.rel=`stylesheet`,i.href=E(e,t,`css`),i.crossOrigin=`anonymous`,i.dataset.confettiLoader=``,i.onload=()=>n(),i.onerror=e=>{i.remove(),console.error(`[confetti] Stylesheet load failed. If your site uses a Content-Security-Policy, ensure style-src includes https://confetti.gov.sg (and script-src for the bundle).`),r(Error(`[confetti] Stylesheet load failed (check CSP allowlist for confetti.gov.sg)`,{cause:e}))},document.head.appendChild(i)})}function j(e,t){return new Promise((n,r)=>{let i=()=>{let e=window.__confetti;if(!e){r(Error(`[confetti] Ready event fired but global state is missing`));return}M(e).then(n,r)};if(window.addEventListener(b,i,{once:!0}),document.querySelector(`script[data-confetti-loader]`))return;let a=document.createElement(`script`);a.src=E(e,t,`js`),a.async=!0,a.crossOrigin=`anonymous`,a.dataset.confettiLoader=``,a.onerror=e=>{window.removeEventListener(b,i),console.error(`[confetti] Script load failed. If your site uses a Content-Security-Policy, ensure script-src includes https://confetti.gov.sg (and style-src for the CSS).`),r(Error(`[confetti] Script load failed (check CSP allowlist for confetti.gov.sg)`,{cause:e}))},document.head.appendChild(a)})}function M(e){let t=Number(e.protocolVersion);return Number.isFinite(t)?t===1?Promise.resolve(e):Promise.reject(Error(`[confetti] Wire protocol v${t} does not match expected v1`)):Promise.reject(Error(`[confetti] Wire protocol value is not a number (got ${String(e.protocolVersion)})`))}function N(e){let t=f(null),n=f(null),r=f(e.props),i=e.channel??`stable`,a=e.scriptBaseUrl??`https://confetti.gov.sg`;r.current=e.props,u(()=>{if(!e.element)return;let o=!1;return D(i,a).then(i=>{o||!e.element||(n.current=i,t.current=i.mount({template:e.template,element:e.element,props:r.current}))}).catch(t=>e.onError?.(t instanceof Error?t:Error(String(t)))),()=>{o=!0,t.current&&n.current&&n.current.unmount(t.current),t.current=null,n.current=null}},[i,a,e.element,e.template]),u(()=>{t.current&&n.current&&n.current.update(t.current,e.props)},[e.props])}function P(e){let[t,n]=p(null);return N({...e,element:t}),v(m,{fallback:v(_,{}),children:v(`div`,{ref:n,"data-confetti-mount":!0})})}function F(a){let s=e({surveyId:a.surveyId,override:a.respondent}),c=o({publishableKey:a.publishableKey,apiBaseUrl:a.proxyUrl}),{isAvailable:l,isSettled:u}=r({client:c,surveyId:a.surveyId}),{state:f,isSettled:h}=t({client:c,surveyId:a.surveyId,respondent:s,enabled:i(a.isSurveyVisible)}),g=n(f,a.isSurveyVisible),[y,b]=p(!1),x=u&&l&&h&&g&&!y,S=a.onFinished,C=a.onClose,w=d(()=>({surveyId:a.surveyId,publishableKey:a.publishableKey,respondent:s,locale:a.locale,metadata:a.metadata,autoInjectAnalyticsMetadata:a.autoInjectAnalyticsMetadata,apiBaseUrl:a.proxyUrl,telemetry:{version:`0.9.5`},onFinished:S,onClose:()=>{b(!0),C?.()},options:a.options}),[a.surveyId,a.publishableKey,s,a.locale,a.metadata,a.autoInjectAnalyticsMetadata,a.proxyUrl,a.options,S,C]);if(!x)return null;let T=v(P,{template:`Embedded`,channel:a.channel,scriptBaseUrl:a.proxyUrl,onError:a.onError,props:w});return v(m,{fallback:v(_,{}),children:a.container?a.container({survey:T}):T})}function I(a){let s=e({surveyId:a.surveyId,override:a.respondent}),c=o({publishableKey:a.publishableKey,apiBaseUrl:a.proxyUrl}),{isAvailable:l,isSettled:u}=r({client:c,surveyId:a.surveyId}),{state:f,isSettled:h}=t({client:c,surveyId:a.surveyId,respondent:s,enabled:i(a.isSurveyVisible)}),g=n(f,a.isSurveyVisible),[y,b]=p(!1),x=u&&l&&h&&g&&!y,S=a.onFinished,C=a.onDismiss,w=a.onClose,T=d(()=>({surveyId:a.surveyId,publishableKey:a.publishableKey,respondent:s,locale:a.locale,metadata:a.metadata,autoInjectAnalyticsMetadata:a.autoInjectAnalyticsMetadata,apiBaseUrl:a.proxyUrl,telemetry:{version:`0.9.5`},closeOnFinishMs:a.closeOnFinishMs,isDismissable:a.isDismissable,onFinished:S,onClose:()=>{b(!0),w?.()},onDismiss:()=>{C?.()},options:a.options}),[a.surveyId,a.publishableKey,s,a.locale,a.metadata,a.autoInjectAnalyticsMetadata,a.proxyUrl,a.closeOnFinishMs,a.isDismissable,a.options,S,C,w]);return x?v(m,{fallback:v(_,{}),children:v(P,{template:`Modal`,channel:a.channel,scriptBaseUrl:a.proxyUrl,onError:a.onError,props:T})}):null}function L(a){let s=e({surveyId:a.surveyId,override:a.respondent}),c=o({publishableKey:a.publishableKey,apiBaseUrl:a.proxyUrl}),{isAvailable:l,isSettled:u}=r({client:c,surveyId:a.surveyId}),{state:f,isSettled:h}=t({client:c,surveyId:a.surveyId,respondent:s,enabled:i(a.isSurveyVisible)}),g=n(f,a.isSurveyVisible),[y,b]=p(!1),x=u&&l&&h&&g&&!y,S=a.onFinished,C=a.onDismiss,w=a.onClose,T=d(()=>({surveyId:a.surveyId,publishableKey:a.publishableKey,respondent:s,locale:a.locale,metadata:a.metadata,autoInjectAnalyticsMetadata:a.autoInjectAnalyticsMetadata,apiBaseUrl:a.proxyUrl,telemetry:{version:`0.9.5`},closeOnFinishMs:a.closeOnFinishMs,onFinished:S,onClose:()=>{b(!0),w?.()},onDismiss:()=>{C?.()},options:a.options}),[a.surveyId,a.publishableKey,s,a.locale,a.metadata,a.autoInjectAnalyticsMetadata,a.proxyUrl,a.closeOnFinishMs,a.options,S,C,w]);return x?v(m,{fallback:v(_,{}),children:v(P,{template:`Popover`,channel:a.channel,scriptBaseUrl:a.proxyUrl,onError:a.onError,props:T})}):null}function R(a){let s=e({surveyId:a.surveyId,override:a.respondent}),c=o({publishableKey:a.publishableKey,apiBaseUrl:a.proxyUrl}),{isAvailable:l,isSettled:u}=r({client:c,surveyId:a.surveyId}),{state:f,isSettled:h}=t({client:c,surveyId:a.surveyId,respondent:s,enabled:i(a.isSurveyVisible)}),g=n(f,a.isSurveyVisible),[y,b]=p(!1),x=u&&l&&h&&g&&!y,S=a.onFinished,C=a.onClose,w=d(()=>({surveyId:a.surveyId,publishableKey:a.publishableKey,respondent:s,locale:a.locale,metadata:a.metadata,autoInjectAnalyticsMetadata:a.autoInjectAnalyticsMetadata,apiBaseUrl:a.proxyUrl,telemetry:{version:`0.9.5`},onFinished:S,onClose:()=>{b(!0),C?.()},options:a.options}),[a.surveyId,a.publishableKey,s,a.locale,a.metadata,a.autoInjectAnalyticsMetadata,a.proxyUrl,a.options,S,C]);if(!x)return null;let T=v(P,{template:`Stepper`,channel:a.channel,scriptBaseUrl:a.proxyUrl,onError:a.onError,props:w});return v(m,{fallback:v(_,{}),children:a.container?a.container({survey:T}):T})}function z(s){let c=e({surveyId:s.surveyId,override:s.respondent}),h=o({publishableKey:s.publishableKey,apiBaseUrl:s.proxyUrl}),{isAvailable:g,isSettled:b}=r({client:h,surveyId:s.surveyId}),{state:x,isSettled:S}=t({client:h,surveyId:s.surveyId,respondent:c,enabled:i(s.isSurveyVisible)}),[C,w]=p(!1),T=b&&g&&S&&C&&n(x,s.isSurveyVisible),[E,D]=p(!1),[k,A]=p(!1),{onError:j,channel:M,proxyUrl:N}=s,F=f(j);u(()=>{F.current=j},[j]),u(()=>{if(!(b&&g))return;let e=!1;return O(M,N).then(()=>{e||w(!0)}).catch(e=>F.current?.(e instanceof Error?e:Error(String(e)))),()=>{e=!0}},[b,g,M,N]);let I=T&&E,L=l(()=>D(!0),[]),R=s.onFinished,z=d(()=>({surveyId:s.surveyId,publishableKey:s.publishableKey,respondent:c,locale:s.locale,metadata:s.metadata,autoInjectAnalyticsMetadata:s.autoInjectAnalyticsMetadata,apiBaseUrl:s.proxyUrl,telemetry:{version:`0.9.5`},isOpen:E,onFinished:e=>{A(!0),R?.(e)},onClose:()=>{D(!1)},onDismiss:()=>{D(!1)},options:s.options}),[s.surveyId,s.publishableKey,c,s.locale,s.metadata,s.autoInjectAnalyticsMetadata,s.proxyUrl,s.options,E,R]);return T?y(m,{fallback:v(_,{}),children:[s.trigger?s.trigger({onClick:L,isOpen:E,isSubmitted:k}):v(a,{onClick:L,isWidgetOpen:E}),I?v(P,{template:`TriggerPopover`,channel:s.channel,scriptBaseUrl:s.proxyUrl,onError:s.onError,props:z}):null]}):null}function B(e){return e.trim().split(`-`)[0]?.toLowerCase()??``}function V(e){return e.split(`,`).map(e=>{let[t,...n]=e.split(`;`),r=n.map(e=>e.trim()).find(e=>e.startsWith(`q=`)),i=r?Number(r.slice(2)):1;return{tag:B(t??``),quality:i}}).filter(({quality:e})=>e>0).sort((e,t)=>t.quality-e.quality)}function H(e,t){for(let{tag:n}of V(e)){let e=t.find(e=>e===n);if(e)return e}}function U({preferred:e,explicit:t,available:n=s,base:r=`en`}={}){let i=t??e;return(i?H(i,n):void 0)??r}function W(){if(!(typeof navigator>`u`))return navigator.languages.length>0?navigator.languages.join(`,`):navigator.language}const G=({preferred:e,explicit:t}={})=>U({preferred:e??W(),explicit:t});function K({surveyId:e,publishableKey:n,respondent:i,proxyUrl:a}){let s=o({publishableKey:n,apiBaseUrl:a}),{isAvailable:c,isSettled:l}=r({client:s,surveyId:e}),{state:u,isSettled:d}=t({client:s,surveyId:e,respondent:i});if(!i)return null;if(!(!l||!d))return c?{lastRespondedAt:u.lastRespondedAt?new Date(u.lastRespondedAt):null,lastDismissedAt:u.lastDismissedAt?new Date(u.lastDismissedAt):null}:null}const q=({delay:e})=>{let[t,n]=c.useState(!1);return c.useEffect(()=>{let t=setTimeout(()=>{n(!0)},e);return()=>clearTimeout(t)},[]),{isVisible:t}},J=({visits:e,respondent:t})=>{let[n,r]=h(`cfti:${d(()=>window.location.pathname,[])}:visits:${t??``}`,0);return u(()=>{r(e=>e+1)},[r]),{isVisible:n>=e,reset:l(()=>r(0),[r])}},Y=({visits:e,respondent:t})=>{let[n,r]=g(`cfti:${d(()=>window.location.pathname,[])}:visits:${t??``}`,0);return u(()=>{r(e=>e+1)},[r]),{isVisible:n>=e,reset:l(()=>r(0),[r])}},X=({threshold:e})=>{let[t,n]=c.useState(!1);return c.useEffect(()=>{let t=()=>{window.scrollY>=e&&n(!0)};return t(),window.addEventListener(`scroll`,t,{passive:!0}),()=>window.removeEventListener(`scroll`,t)},[e]),{isVisible:t}};export{F as EmbeddedConfetti,I as ModalConfetti,L as PopoverConfetti,R as StepperConfetti,z as TriggerPopoverConfetti,G as useResolveLocale,K as useRespondentState,q as useVisibleAfterDelay,J as useVisibleAfterPageVisits,X as useVisibleAfterScroll,Y as useVisibleAfterSessionPageVisits};
|
|
1
|
+
import{a as e,i as t,o as n,r,s as i,t as a}from"./DefaultConfettiTrigger-DfKhP7hV.js";import{Z as o}from"./Button-BGUCuTdV.js";import{a as s}from"./src-CzDdylBF.js";import c,{useCallback as l,useEffect as u,useMemo as d,useRef as f,useState as p}from"react";import{ErrorBoundary as m}from"react-error-boundary";import{useLocalStorage as h,useSessionStorage as g}from"usehooks-ts";import{Fragment as _,jsx as v,jsxs as y}from"react/jsx-runtime";const b=`confetti:ready`,x=`https://confetti.gov.sg`,S={promise:null,channel:null,url:null};function C(){S.promise=null,S.channel=null,S.url=null}function w(){S.promise=null}function T(e){return new URL(``,e).href}function E(e,t,n){let r=new URL(e);return r.pathname.endsWith(`/`)||(r.pathname+=`/`),new URL(`widget/v1/${t}.${n}`,r).href}function D(e=`stable`,t=x){if(typeof window>`u`)return Promise.reject(Error(`[confetti] No window found, SSR environments are not supported`));let n;try{n=T(t)}catch{return Promise.reject(Error(`[confetti] Invalid URL: ${t}`))}if(S.promise)return S.channel===e?S.url===n?S.promise:Promise.reject(Error(`[confetti] Cannot switch baseUrl from ${String(S.url)} to ${n} on the same page`)):Promise.reject(Error(`[confetti] Cannot switch channel from ${String(S.channel)} to ${e} on the same page`));let r=window.__confetti;if(r){let t=String(r.channel);return t===e?S.url!==null&&S.url!==n?Promise.reject(Error(`[confetti] Cannot switch URL from ${S.url} to ${n} on the same page`)):M(r):Promise.reject(Error(`[confetti] Cannot switch channel from ${t} to ${e} on the same page`))}let i=k(n,e);return S.channel=e,S.url=n,S.promise=i,i}function O(e=`stable`,t=x){if(typeof window>`u`)return Promise.resolve();let n;try{n=T(t)}catch{return Promise.reject(Error(`[confetti] Invalid URL: ${t}`))}return A(n,e)}async function k(e,t){let n=!!document.querySelector(`link[data-confetti-loader]`),r,i=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`[confetti] Script load timeout`)),1e4)});try{let[,n]=await Promise.race([i,Promise.all([A(e,t),j(e,t)])]);return clearTimeout(r),w(),n}catch(e){throw clearTimeout(r),n||document.querySelector(`link[data-confetti-loader]`)?.remove(),document.querySelector(`script[data-confetti-loader]`)?.remove(),C(),e}}function A(e,t){return new Promise((n,r)=>{if(document.querySelector(`link[data-confetti-loader]`)){n();return}let i=document.createElement(`link`);i.rel=`stylesheet`,i.href=E(e,t,`css`),i.crossOrigin=`anonymous`,i.dataset.confettiLoader=``,i.onload=()=>n(),i.onerror=e=>{i.remove(),console.error(`[confetti] Stylesheet load failed. If your site uses a Content-Security-Policy, ensure style-src includes https://confetti.gov.sg (and script-src for the bundle).`),r(Error(`[confetti] Stylesheet load failed (check CSP allowlist for confetti.gov.sg)`,{cause:e}))},document.head.appendChild(i)})}function j(e,t){return new Promise((n,r)=>{let i=()=>{let e=window.__confetti;if(!e){r(Error(`[confetti] Ready event fired but global state is missing`));return}M(e).then(n,r)};if(window.addEventListener(b,i,{once:!0}),document.querySelector(`script[data-confetti-loader]`))return;let a=document.createElement(`script`);a.src=E(e,t,`js`),a.async=!0,a.crossOrigin=`anonymous`,a.dataset.confettiLoader=``,a.onerror=e=>{window.removeEventListener(b,i),console.error(`[confetti] Script load failed. If your site uses a Content-Security-Policy, ensure script-src includes https://confetti.gov.sg (and style-src for the CSS).`),r(Error(`[confetti] Script load failed (check CSP allowlist for confetti.gov.sg)`,{cause:e}))},document.head.appendChild(a)})}function M(e){let t=Number(e.protocolVersion);return Number.isFinite(t)?t===1?Promise.resolve(e):Promise.reject(Error(`[confetti] Wire protocol v${t} does not match expected v1`)):Promise.reject(Error(`[confetti] Wire protocol value is not a number (got ${String(e.protocolVersion)})`))}function N(e){let t=f(null),n=f(null),r=f(e.props),i=e.channel??`stable`,a=e.scriptBaseUrl??`https://confetti.gov.sg`;r.current=e.props,u(()=>{if(!e.element)return;let o=!1;return D(i,a).then(i=>{o||!e.element||(n.current=i,t.current=i.mount({template:e.template,element:e.element,props:r.current}))}).catch(t=>e.onError?.(t instanceof Error?t:Error(String(t)))),()=>{o=!0,t.current&&n.current&&n.current.unmount(t.current),t.current=null,n.current=null}},[i,a,e.element,e.template]),u(()=>{t.current&&n.current&&n.current.update(t.current,e.props)},[e.props])}function P(e){let[t,n]=p(null);return N({...e,element:t}),v(m,{fallback:v(_,{}),children:v(`div`,{ref:n,"data-confetti-mount":!0})})}function F(a){let s=e({surveyId:a.surveyId,override:a.respondent}),c=o({publishableKey:a.publishableKey,apiBaseUrl:a.proxyUrl}),{isAvailable:l,isSettled:u}=r({client:c,surveyId:a.surveyId}),{state:f,isSettled:h}=t({client:c,surveyId:a.surveyId,respondent:s,enabled:i(a.isSurveyVisible)}),g=n(f,a.isSurveyVisible),[y,b]=p(!1),x=u&&l&&h&&g&&!y,S=a.onFinished,C=a.onClose,w=d(()=>({surveyId:a.surveyId,publishableKey:a.publishableKey,respondent:s,locale:a.locale,metadata:a.metadata,autoInjectAnalyticsMetadata:a.autoInjectAnalyticsMetadata,apiBaseUrl:a.proxyUrl,telemetry:{version:`0.9.7`},onFinished:S,onClose:()=>{b(!0),C?.()},options:a.options}),[a.surveyId,a.publishableKey,s,a.locale,a.metadata,a.autoInjectAnalyticsMetadata,a.proxyUrl,a.options,S,C]);if(!x)return null;let T=v(P,{template:`Embedded`,channel:a.channel,scriptBaseUrl:a.proxyUrl,onError:a.onError,props:w});return v(m,{fallback:v(_,{}),children:a.container?a.container({survey:T}):T})}function I(a){let s=e({surveyId:a.surveyId,override:a.respondent}),c=o({publishableKey:a.publishableKey,apiBaseUrl:a.proxyUrl}),{isAvailable:l,isSettled:u}=r({client:c,surveyId:a.surveyId}),{state:f,isSettled:h}=t({client:c,surveyId:a.surveyId,respondent:s,enabled:i(a.isSurveyVisible)}),g=n(f,a.isSurveyVisible),[y,b]=p(!1),x=u&&l&&h&&g&&!y,S=a.onFinished,C=a.onDismiss,w=a.onClose,T=d(()=>({surveyId:a.surveyId,publishableKey:a.publishableKey,respondent:s,locale:a.locale,metadata:a.metadata,autoInjectAnalyticsMetadata:a.autoInjectAnalyticsMetadata,apiBaseUrl:a.proxyUrl,telemetry:{version:`0.9.7`},closeOnFinishMs:a.closeOnFinishMs,isDismissable:a.isDismissable,onFinished:S,onClose:()=>{b(!0),w?.()},onDismiss:()=>{C?.()},options:a.options}),[a.surveyId,a.publishableKey,s,a.locale,a.metadata,a.autoInjectAnalyticsMetadata,a.proxyUrl,a.closeOnFinishMs,a.isDismissable,a.options,S,C,w]);return x?v(m,{fallback:v(_,{}),children:v(P,{template:`Modal`,channel:a.channel,scriptBaseUrl:a.proxyUrl,onError:a.onError,props:T})}):null}function L(a){let s=e({surveyId:a.surveyId,override:a.respondent}),c=o({publishableKey:a.publishableKey,apiBaseUrl:a.proxyUrl}),{isAvailable:l,isSettled:u}=r({client:c,surveyId:a.surveyId}),{state:f,isSettled:h}=t({client:c,surveyId:a.surveyId,respondent:s,enabled:i(a.isSurveyVisible)}),g=n(f,a.isSurveyVisible),[y,b]=p(!1),x=u&&l&&h&&g&&!y,S=a.onFinished,C=a.onDismiss,w=a.onClose,T=d(()=>({surveyId:a.surveyId,publishableKey:a.publishableKey,respondent:s,locale:a.locale,metadata:a.metadata,autoInjectAnalyticsMetadata:a.autoInjectAnalyticsMetadata,apiBaseUrl:a.proxyUrl,telemetry:{version:`0.9.7`},closeOnFinishMs:a.closeOnFinishMs,onFinished:S,onClose:()=>{b(!0),w?.()},onDismiss:()=>{C?.()},options:a.options}),[a.surveyId,a.publishableKey,s,a.locale,a.metadata,a.autoInjectAnalyticsMetadata,a.proxyUrl,a.closeOnFinishMs,a.options,S,C,w]);return x?v(m,{fallback:v(_,{}),children:v(P,{template:`Popover`,channel:a.channel,scriptBaseUrl:a.proxyUrl,onError:a.onError,props:T})}):null}function R(a){let s=e({surveyId:a.surveyId,override:a.respondent}),c=o({publishableKey:a.publishableKey,apiBaseUrl:a.proxyUrl}),{isAvailable:l,isSettled:u}=r({client:c,surveyId:a.surveyId}),{state:f,isSettled:h}=t({client:c,surveyId:a.surveyId,respondent:s,enabled:i(a.isSurveyVisible)}),g=n(f,a.isSurveyVisible),[y,b]=p(!1),x=u&&l&&h&&g&&!y,S=a.onFinished,C=a.onClose,w=d(()=>({surveyId:a.surveyId,publishableKey:a.publishableKey,respondent:s,locale:a.locale,metadata:a.metadata,autoInjectAnalyticsMetadata:a.autoInjectAnalyticsMetadata,apiBaseUrl:a.proxyUrl,telemetry:{version:`0.9.7`},onFinished:S,onClose:()=>{b(!0),C?.()},options:a.options}),[a.surveyId,a.publishableKey,s,a.locale,a.metadata,a.autoInjectAnalyticsMetadata,a.proxyUrl,a.options,S,C]);if(!x)return null;let T=v(P,{template:`Stepper`,channel:a.channel,scriptBaseUrl:a.proxyUrl,onError:a.onError,props:w});return v(m,{fallback:v(_,{}),children:a.container?a.container({survey:T}):T})}function z(s){let c=e({surveyId:s.surveyId,override:s.respondent}),h=o({publishableKey:s.publishableKey,apiBaseUrl:s.proxyUrl}),{isAvailable:g,isSettled:b}=r({client:h,surveyId:s.surveyId}),{state:x,isSettled:S}=t({client:h,surveyId:s.surveyId,respondent:c,enabled:i(s.isSurveyVisible)}),[C,w]=p(!1),T=b&&g&&S&&C&&n(x,s.isSurveyVisible),[E,D]=p(!1),[k,A]=p(!1),{onError:j,channel:M,proxyUrl:N}=s,F=f(j);u(()=>{F.current=j},[j]),u(()=>{if(!(b&&g))return;let e=!1;return O(M,N).then(()=>{e||w(!0)}).catch(e=>F.current?.(e instanceof Error?e:Error(String(e)))),()=>{e=!0}},[b,g,M,N]);let I=T&&E,L=l(()=>D(!0),[]),R=s.onFinished,z=d(()=>({surveyId:s.surveyId,publishableKey:s.publishableKey,respondent:c,locale:s.locale,metadata:s.metadata,autoInjectAnalyticsMetadata:s.autoInjectAnalyticsMetadata,apiBaseUrl:s.proxyUrl,telemetry:{version:`0.9.7`},isOpen:E,onFinished:e=>{A(!0),R?.(e)},onClose:()=>{D(!1)},onDismiss:()=>{D(!1)},options:s.options}),[s.surveyId,s.publishableKey,c,s.locale,s.metadata,s.autoInjectAnalyticsMetadata,s.proxyUrl,s.options,E,R]);return T?y(m,{fallback:v(_,{}),children:[s.trigger?s.trigger({onClick:L,isOpen:E,isSubmitted:k}):v(a,{onClick:L,isWidgetOpen:E}),I?v(P,{template:`TriggerPopover`,channel:s.channel,scriptBaseUrl:s.proxyUrl,onError:s.onError,props:z}):null]}):null}function B(e){return e.trim().split(`-`)[0]?.toLowerCase()??``}function V(e){return e.split(`,`).map(e=>{let[t,...n]=e.split(`;`),r=n.map(e=>e.trim()).find(e=>e.startsWith(`q=`)),i=r?Number(r.slice(2)):1;return{tag:B(t??``),quality:i}}).filter(({quality:e})=>e>0).sort((e,t)=>t.quality-e.quality)}function H(e,t){for(let{tag:n}of V(e)){let e=t.find(e=>e===n);if(e)return e}}function U({preferred:e,explicit:t,available:n=s,base:r=`en`}={}){let i=t??e;return(i?H(i,n):void 0)??r}function W(){if(!(typeof navigator>`u`))return navigator.languages.length>0?navigator.languages.join(`,`):navigator.language}const G=({preferred:e,explicit:t}={})=>U({preferred:e??W(),explicit:t});function K({surveyId:e,publishableKey:n,respondent:i,proxyUrl:a}){let s=o({publishableKey:n,apiBaseUrl:a}),{isAvailable:c,isSettled:l}=r({client:s,surveyId:e}),{state:u,isSettled:d}=t({client:s,surveyId:e,respondent:i});if(!i)return null;if(!(!l||!d))return c?{lastRespondedAt:u.lastRespondedAt?new Date(u.lastRespondedAt):null,lastDismissedAt:u.lastDismissedAt?new Date(u.lastDismissedAt):null}:null}const q=({delay:e})=>{let[t,n]=c.useState(!1);return c.useEffect(()=>{let t=setTimeout(()=>{n(!0)},e);return()=>clearTimeout(t)},[]),{isVisible:t}},J=({visits:e,respondent:t})=>{let[n,r]=h(`cfti:${d(()=>window.location.pathname,[])}:visits:${t??``}`,0);return u(()=>{r(e=>e+1)},[r]),{isVisible:n>=e,reset:l(()=>r(0),[r])}},Y=({visits:e,respondent:t})=>{let[n,r]=g(`cfti:${d(()=>window.location.pathname,[])}:visits:${t??``}`,0);return u(()=>{r(e=>e+1)},[r]),{isVisible:n>=e,reset:l(()=>r(0),[r])}},X=({threshold:e})=>{let[t,n]=c.useState(!1);return c.useEffect(()=>{let t=()=>{window.scrollY>=e&&n(!0)};return t(),window.addEventListener(`scroll`,t,{passive:!0}),()=>window.removeEventListener(`scroll`,t)},[e]),{isVisible:t}};export{F as EmbeddedConfetti,I as ModalConfetti,L as PopoverConfetti,R as StepperConfetti,z as TriggerPopoverConfetti,G as useResolveLocale,K as useRespondentState,q as useVisibleAfterDelay,J as useVisibleAfterPageVisits,X as useVisibleAfterScroll,Y as useVisibleAfterSessionPageVisits};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./src-
|
|
1
|
+
import"./src-CzDdylBF.js";import{z as e}from"zod";const t=({answer:e,condition:t})=>{let n=t.value.value;switch(t.operator){case`equal`:return e===n;case`not-equal`:return e!==n;case`greater`:return typeof e==`number`&&typeof n==`number`&&e>n;case`greater-or-equal`:return typeof e==`number`&&typeof n==`number`&&e>=n;case`less`:return typeof e==`number`&&typeof n==`number`&&e<n;case`less-or-equal`:return typeof e==`number`&&typeof n==`number`&&e<=n;case`contains`:return Array.isArray(e)&&typeof n==`string`&&e.includes(n);case`not-contains`:return Array.isArray(e)&&typeof n==`string`&&!e.includes(n)}},n=({position:e,value:t})=>{switch(t.type){case`next`:return e+1;case`jump`:return t.target;case`end`:return null}},r=e=>e==null||Array.isArray(e)&&e.length===0,i=({position:e,question:i,answer:a})=>{let o=i.routingLogic;if(o.type===`always`)return n({position:e,value:o.target});if(r(a)&&i.required)return null;let s=r(a)?void 0:o.cases.find(e=>t({answer:a,condition:e}));return n({position:e,value:s?.target??o.default})},a=(e,t,{forceReachableIds:n}={})=>{let r=[...e].sort((e,t)=>e.position-t.position),a=new Set,o=new Set(n);for(let e=0;e<r.length;e++){let n=r[e];if(n){if(e===0||o.has(n.id)){a.add(n.id);continue}for(let o=0;o<e;o++){let s=r[o];if(!(!s||!a.has(s.id))&&i({position:o,question:s,answer:t[s.id]})===e){a.add(n.id);break}}}}return a},o=t,s=`cfti-mask`,c=`cfti-block`,l=`__confetti_bug_report_recording_event`,u=e.object({detail:e.object({isRecording:e.boolean()})});export{o as a,u as i,s as n,a as o,l as r,c as t};
|
package/build/internals.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { p as BinaryOperatorCondition } from "./index-Bw3Vmeyu.js";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
|
|
4
4
|
//#region src/core/logic/routing.d.ts
|
|
@@ -6,7 +6,24 @@ declare const evaluateCondition: ({
|
|
|
6
6
|
answer,
|
|
7
7
|
condition
|
|
8
8
|
}: {
|
|
9
|
-
answer:
|
|
9
|
+
answer: string | number | string[] | {
|
|
10
|
+
title: string;
|
|
11
|
+
description?: string | undefined;
|
|
12
|
+
screenshotDataUrl?: string | undefined;
|
|
13
|
+
recordingEventsJson?: string | undefined;
|
|
14
|
+
metadata?: {
|
|
15
|
+
[x: string]: string | undefined;
|
|
16
|
+
userAgent?: string | undefined;
|
|
17
|
+
screenResolution?: string | undefined;
|
|
18
|
+
viewportSize?: string | undefined;
|
|
19
|
+
pageUrl?: string | undefined;
|
|
20
|
+
pageTitle?: string | undefined;
|
|
21
|
+
referrer?: string | undefined;
|
|
22
|
+
datadogTraceId?: string | undefined;
|
|
23
|
+
datadogSessionId?: string | undefined;
|
|
24
|
+
datadogSessionReplayLink?: string | undefined;
|
|
25
|
+
} | undefined;
|
|
26
|
+
} | undefined;
|
|
10
27
|
condition: BinaryOperatorCondition;
|
|
11
28
|
}) => boolean;
|
|
12
29
|
//#endregion
|
package/build/internals.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,i as t,n,r,t as i}from"./internals-
|
|
1
|
+
import{a as e,i as t,n,r,t as i}from"./internals-B--R9Zxw.js";export{i as BUG_REPORT_BLOCK_CLASS,n as BUG_REPORT_MASK_CLASS,r as __INTERNAL_BUG_REPORT_RECORDING_EVENT,t as internalBugReportRecordingEventSchema,e as unstableInternalConfettiEvaluateCondition};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z as e}from"zod";const t=e.object({type:e.literal(`next`)}),n=e.object({type:e.literal(`end`)}),r=e.object({type:e.literal(`jump`),target:e.number({error:`Target question is required`})}),i=e.discriminatedUnion(`type`,[t,r,n]),a=e.object({type:e.literal(`value`),value:e.union([e.string().check(e.trim(),e.minLength(1,{error:`Value is required`}),e.maxLength(2048)),e.number({error:`Value is required`})])}),o=e.object({type:e.literal(`binary-operator`),operator:e.union([e.literal(`equal`),e.literal(`not-equal`),e.literal(`greater`),e.literal(`greater-or-equal`),e.literal(`less`),e.literal(`less-or-equal`),e.literal(`contains`),e.literal(`not-contains`)]),value:a,target:i}),s=e.object({type:e.literal(`switch`),cases:e.array(o),default:i}),c=e.object({type:e.literal(`always`),target:i}),l=e.discriminatedUnion(`type`,[c,s]),u=e.string().check(e.trim(),e.maxLength(2048),e.url({protocol:/^(https|mailto)/,error:`Link must start with https:// or mailto:`})),d=e.optional(e.string().check(e.trim(),e.maxLength(50))),f=e.object({value:e.string().check(e.trim(),e.minLength(1,{error:`Value is required`}),e.maxLength(200)),label:e.optional(e.string().max(200)),description:e.optional(e.string().check(e.trim(),e.maxLength(200))),translationId:e.optional(e.cuid2().max(200))}),p=e.array(f).max(100).check(e.superRefine((e,t)=>{let n=new Set;for(let r of e)if(r.translationId!==void 0){if(n.has(r.translationId)){t.addIssue({code:`custom`,message:`Option translation ids must be unique within a question`});return}n.add(r.translationId)}})),m=e.nullable(e.object({label:e.string().check(e.trim(),e.minLength(1,{error:`Value is required`}),e.maxLength(200)),max:e.number().max(2e3),description:e.optional(e.string().check(e.trim(),e.maxLength(200)))})),h=e.optional(e.boolean()),ee=e.object({type:e.literal(`rating`),buttonLabel:d,shouldAutoProgress:h,scale:e.number().check(e.gte(2),e.lte(10)),labels:e.optional(e.object({lower:e.optional(e.pipe(e.string().check(e.trim(),e.maxLength(100)),e.transform(e=>e===``?void 0:e))),upper:e.optional(e.pipe(e.string().check(e.trim(),e.maxLength(100)),e.transform(e=>e===``?void 0:e)))})),display:e.optional(e.literal([`star`,`emoji`,`number`]))}),te=e.object({type:e.literal(`open-ended`),placeholder:e.optional(e.string().max(200)),buttonLabel:d,max:e.number().max(2e3)}),ne=e.object({type:e.literal(`single-select`),shouldAutoProgress:h,options:p,buttonLabel:d,editable:m}),re=e.object({type:e.literal(`multi-select`),buttonLabel:d,options:p,editable:m,max:e.optional(e.number()),display:e.optional(e.literal([`checkbox`,`tag`]))}),ie=e.object({type:e.literal(`statement`),buttonLabel:d,buttonUrl:e.optional(u)}),g=e.object({type:e.literal(`bug-report`),placeholder:e.optional(e.string().max(200)),buttonLabel:d,enableScreenshot:e.boolean(),enableRecording:e.boolean(),detailsLabel:e.string().check(e.trim(),e.minLength(1,{error:`Label is required`}),e.maxLength(128)),detailsPlaceholder:e.optional(e.string().max(200)),redactClasses:e.optional(e.array(e.string().max(128)).max(100))}),_=e.discriminatedUnion(`type`,[ee,ne,te,re,ie,g]),v=e=>e.trim()===``?void 0:e,y=t=>e.string().max(t).transform(v),b=y(50).optional(),ae=y(128).optional(),x=e.object({label:y(200).optional(),description:y(200).optional()}),S=e.optional(e.object({label:y(200).optional(),description:y(200).optional()})),oe=e.object({type:e.literal(`rating`),buttonLabel:b,labels:e.optional(e.object({lower:y(100).optional(),upper:y(100).optional()}))}),se=e.object({type:e.literal(`open-ended`),placeholder:y(200).optional(),buttonLabel:b}),ce=e.object({type:e.literal(`single-select`),buttonLabel:b,options:e.optional(e.record(e.string(),x)),editable:S}),le=e.object({type:e.literal(`multi-select`),buttonLabel:b,options:e.optional(e.record(e.string(),x)),editable:S}),ue=e.object({type:e.literal(`statement`),buttonLabel:b}),de=e.object({type:e.literal(`bug-report`),placeholder:y(200).optional(),buttonLabel:b,detailsLabel:ae,detailsPlaceholder:y(200).optional()}),fe=e.discriminatedUnion(`type`,[oe,se,ce,le,ue,de]),C=`__CONFETTI_CHECKBOX_Others`,w=`__CONFETTI_RADIO_Others`,pe=e.url({protocol:/^https$/,hostname:/^(?:app\.datadoghq\.(?:com|eu)|(?:app\.)?(?:us3|us5|ap1|ap2|uk1)\.datadoghq\.com|app\.ddog-gov\.com|(?:app\.)?us2\.ddog-gov\.com)$/}).max(2048),me=e.optional(e.looseObject({userAgent:e.string().check(e.trim(),e.maxLength(1e3)),screenResolution:e.string().check(e.trim(),e.maxLength(100)),viewportSize:e.string().check(e.trim(),e.maxLength(100)),pageUrl:e.string().max(2048),pageTitle:e.string().check(e.trim(),e.maxLength(1e3)),referrer:e.string().max(2048),datadogTraceId:e.optional(e.string().max(128)),datadogSessionId:e.optional(e.string().max(128)),datadogSessionReplayLink:e.catch(e.optional(pe),void 0)}).partial().catchall(e.optional(e.string().max(1e3)))),he=e.cuid2().max(200),T=e.object({type:e.literal(`bug-report`),id:he,title:e.string(),description:e.string().nullable(),metadata:e.record(e.string(),e.string()),hasScreenshot:e.boolean(),hasRecording:e.boolean(),url:e.url()}),E=e.looseObject({type:e.literal([0,1,2,3,4,5,6]),data:e.unknown(),timestamp:e.number(),delay:e.optional(e.number())});e.array(E);const D=e.array(E),O=e.string().max(10485760,{abort:!0}).check(e.refine(e=>{try{return D.safeParse(JSON.parse(e)).success}catch{return!1}},{error:`Invalid recording events`})),k=e.string().max(10485760,{abort:!0}).check(e.regex(/^data:image\/(png|jpeg|jpg|webp|gif);base64,[A-Za-z0-9+/]+=*$/,{error:`Invalid image data URL`})),A=t=>e.object({title:e.string().check(e.trim(),...t?[e.minLength(1,{error:`Title is required`})]:[],e.maxLength(256)),description:e.optional(e.string().check(e.trim(),e.maxLength(4096))),screenshotDataUrl:e.optional(k),recordingEventsJson:e.optional(O),metadata:me});A(!0);const j=A(!1),M=(e,{required:t})=>A(t),N=e=>{if(!e)return!1;try{let t=JSON.parse(e);return Array.isArray(t)&&t.length>0}catch{return!1}},P=e=>!e.title.trim()&&!e.description?.trim()&&!e.screenshotDataUrl&&!N(e.recordingEventsJson),F=t=>e.preprocess(t=>{let n=e.string().regex(/^(10|[1-9])$/).safeParse(t);return n.success?Number(n.data):t},e.number({error:`Please select a rating`}).check(e.int(),e.gte(1),e.lte(t))),I=({scale:t},{required:n})=>{let r=F(t);return n?r:e.optional(r)},L=({maxLength:t},{required:n})=>e.string().check(e.trim(),...n?[e.minLength(1,{error:`This field is required`})]:[],e.maxLength(t??2e3,{error:({maximum:e})=>`Please enter less than ${e} characters`})),R=({options:t,editable:n},r)=>{let i=new Set(t.map(e=>e.value));return e.string({error:`Please select an option`}).check(e.trim(),e.superRefine((e,t)=>{if(i.has(e))return;let a=n?!e||e===r?`Please fill out the free text field`:e.length>n.max?`Please enter less than ${n.max} characters`:void 0:`Please select an option`;a&&t.addIssue({code:`custom`,message:a})}))},ge=(t,{required:n})=>{let r=R(t,w);return n?r:e.optional(r)},_e=(t,{required:n})=>{let{options:r,editable:i,max:a}=t,o=new Set(r.map(e=>e.value));return e.array(R(t,C)).check(...n?[e.minLength(1,{error:`Please select at least one option`})]:[],e.maxLength(a??r.length+ +!!i,{error:({maximum:e})=>`Please select less than ${e} options`}),e.refine(e=>e.filter(e=>!o.has(e)).length<=1,{error:`Please select an option`}))},ve=()=>e.optional(e.string().max(2048)),ye=(t,n)=>{switch(t.type){case`rating`:return I({scale:t.scale},n);case`open-ended`:return L({maxLength:t.max},n);case`single-select`:return ge(t,n);case`multi-select`:return _e(t,n);case`statement`:return ve();case`bug-report`:return M({},n);default:return e.never()}},z=[`en`,`zh`,`ms`,`ta`],B=e.enum(z),V=e.cuid2().max(200),be=e.object({title:e.string().check(e.trim(),e.maxLength(500)),description:e.string().check(e.trim(),e.maxLength(1e3)),buttonText:e.string().check(e.trim(),e.maxLength(100))}),H=e.object({id:e.string(),title:e.string(),description:e.nullable(e.string()),position:e.number(),required:e.boolean(),properties:_,routingLogic:l}),xe=e.object({title:y(200).optional(),description:y(1e3).optional(),backButtonLabel:b,confirmation:e.optional(e.object({title:y(500).optional(),description:y(1e3).optional(),buttonText:y(100).optional()}))});e.partialRecord(B,xe);const Se=e.object({title:y(500).optional(),description:y(1e3).optional(),properties:e.optional(fe)});e.partialRecord(B,Se);const Ce=e.object({title:e.string(),description:e.nullable(e.string()),questions:e.array(H),confirmation:be,isBackNavigationAllowed:e.boolean(),backButtonLabel:e.nullable(e.string().check(e.trim(),e.maxLength(50)))});e.object({locale:e.optional(B)}),e.object({cursor:e.optional(e.string().check(e.minLength(1),e.maxLength(100))),limit:e.optional(e.number().check(e.int(),e.gte(1),e.lte(100)))});const U=e.object({id:e.string(),title:e.string(),description:e.nullable(e.string()),status:e.enum([`active`,`inactive`]),createdAt:e.date(),updatedAt:e.date()});e.object({data:e.array(U),nextCursor:e.nullable(e.string()),limit:e.number(),links:e.object({self:e.string(),next:e.nullable(e.string())})}),e.object({surveyId:V});const we=H;e.object({data:e.object({...U.shape,questions:e.array(we)})}),e.object({surveyId:V,responseId:e.union([e.cuid2().max(200),e.uuid()])});const Te=e.catch(e.object({type:e.enum([`embedded`,`popover`,`modal`]),version:e.string().check(e.trim(),e.minLength(1),e.maxLength(50)),build:e.string().check(e.trim(),e.minLength(1),e.maxLength(50))}).partial(),{}),Ee=e.record(e.string().trim().min(1).max(200),e.union([e.string().check(e.trim(),e.maxLength(2e3)),e.number(),e.array(e.string().check(e.trim(),e.maxLength(2e3))).check(e.maxLength(1024)),j])),De=e.array(e.enum([`bugReport`])),W=1e3,G=e.string().check(e.trim(),e.maxLength(W)),Oe=e.record(G,G),K=e.string().trim().min(1).max(W),q=e.discriminatedUnion(`code`,[e.object({code:e.literal(`metadata_value_truncated`),key:K}).strict(),e.object({code:e.literal(`metadata_value_invalid`),key:K}).strict(),e.object({code:e.literal(`metadata_key_invalid`),position:e.number().int().positive().max(2**53-1)}).strict(),e.object({code:e.literal(`metadata_key_duplicate`),key:K}).strict(),e.object({code:e.literal(`metadata_entry_limit`),droppedCount:e.number().int().positive().max(2**53-1)}).strict(),e.object({code:e.literal(`metadata_container_invalid`)}).strict(),e.object({code:e.literal(`metadata_warning_details_omitted`),count:e.number().int().positive().max(2**53-1)}).strict(),e.object({code:e.literal(`metadata_warning_report_invalid`)}).strict()]),ke=e.object({metadata:e.array(q).min(1).max(20)}).strict(),Ae=e.object({metadata:e.array(q).min(1)}).strict(),J=(e,t)=>Math.min(2**53-1,e+t),Y=e=>{let t=[],n=0;for(let r of e)r.code===`metadata_warning_details_omitted`?n=J(n,r.count):t.push(r);let r=n>0||t.length>20?19:20,i=t.slice(0,r);return n=J(n,t.length-i.length),n>0?[...i,{code:`metadata_warning_details_omitted`,count:n}]:i},X=e=>{let t=Y(e);return t.length>0?{metadata:t}:void 0},je=e=>{if(e===void 0)return[];let t=Ae.safeParse(e);return t.success?Y(t.data.metadata):[{code:`metadata_warning_report_invalid`}]},Me=e=>{if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Reflect.getPrototypeOf(e);return t===Object.prototype||t===null},Ne=t=>{if(t===void 0)return{metadata:{},warnings:[]};if(!Me(t))return{metadata:{},warnings:[{code:`metadata_container_invalid`}]};let n=new Map,r=[],i=0;for(let[a,[o,s]]of Object.entries(t).entries()){let t=o.trim();if(t.length===0||t.length>1e3){r.push({code:`metadata_key_invalid`,position:a+1});continue}let c=e.string().safeParse(s);if(!c.success){r.push({code:`metadata_value_invalid`,key:t});continue}if(n.has(t)){r.push({code:`metadata_key_duplicate`,key:t});continue}if(n.size>=20){i+=1;continue}let l=c.data.trim(),u=l.length>1e3?`${l.slice(0,W-11)}[truncated]`:l;u!==l&&r.push({code:`metadata_value_truncated`,key:t}),n.set(t,u)}return i>0&&r.push({code:`metadata_entry_limit`,droppedCount:i}),{metadata:Object.fromEntries(n),warnings:Y(r)}},Z=({metadata:e,warnings:t})=>{let n=Ne(e);return{metadata:n.metadata,warnings:X([...n.warnings,...je(t)])}};Oe.check(e.refine(e=>Object.keys(e).length<=20,`At most 20 metadata entries are allowed.`)),e.object({respondent:e.string().check(e.trim(),e.minLength(1),e.maxLength(200)),data:Ee,metadata:e.unknown().optional(),warnings:e.unknown().optional(),telemetry:e.optional(Te)}).transform(e=>{let{metadata:t,warnings:n,...r}=e,{metadata:i,warnings:a}=Z({metadata:t,warnings:n});return{...r,metadata:i,...a&&{warnings:a}}});const Pe=e.object({id:e.string(),createdAt:e.date(),warnings:e.optional(ke)});e.object({surveyId:V,respondent:e.string().check(e.trim(),e.minLength(1),e.maxLength(200))}),e.object({surveyId:V,respondent:e.string().check(e.trim(),e.minLength(1),e.maxLength(200))}),e.object({surveyId:V});const Fe=e.object({lastRespondedAt:e.nullable(e.union([e.iso.datetime(),e.date()])),lastViewedAt:e.nullable(e.union([e.iso.datetime(),e.date()])),lastDismissedAt:e.nullable(e.union([e.iso.datetime(),e.date()]))});e.object({type:e.enum([`view`,`dismiss`])}),e.object({}),e.object({surveyId:V}),e.object({respondent:e.optional(e.string().check(e.trim(),e.minLength(1),e.maxLength(200))),after:e.optional(e.iso.datetime({offset:!0,local:!0})),before:e.optional(e.iso.datetime({offset:!0,local:!0})),cursor:e.optional(e.string().check(e.minLength(1),e.maxLength(100))),limit:e.optional(e.number().check(e.int(),e.gte(1),e.lte(100))),expand:e.optional(De)});const Ie=e.object({id:e.string(),respondent:e.string(),data:e.record(e.string(),e.union([e.string(),e.number(),e.array(e.string()),T])),clientMetadata:e.record(e.string(),e.string()),createdAt:e.date()});e.object({data:e.array(Ie),nextCursor:e.nullable(e.string()),limit:e.number(),links:e.object({self:e.string(),next:e.nullable(e.string())})});const Q=e.number().check(e.int(),e.gte(0));e.object({data:e.object({totalViews:Q,uniqueViewers:Q,totalDismissals:Q,uniqueDismissers:Q,totalResponses:Q,uniqueResponders:Q})}),e.object({questionIds:e.array(e.string().max(200)).check(e.minLength(1)),timeRange:e.union([e.enum([`last-7-days`,`last-30-days`]),e.string().check(e.regex(/^q[1-4]-\d{4}$/)),e.string().check(e.regex(/^custom_\d{4}-\d{2}-\d{2}_\d{4}-\d{2}-\d{2}$/))])});const $=e.record(e.string(),e.record(e.string(),e.number()));e.object({data:e.object({current:$,previousQuarter:e.nullable($)})});export{z as a,D as c,u as d,Ce as i,C as l,Pe as n,ye as o,Z as r,P as s,Fe as t,w as u};
|
|
1
|
+
import{z as e}from"zod";const t=e.object({type:e.literal(`next`)}),n=e.object({type:e.literal(`end`)}),r=e.object({type:e.literal(`jump`),target:e.number({error:`Target question is required`})}),i=e.discriminatedUnion(`type`,[t,r,n]),a=e.object({type:e.literal(`value`),value:e.union([e.string().check(e.trim(),e.minLength(1,{error:`Value is required`}),e.maxLength(2048)),e.number({error:`Value is required`})])}),o=e.object({type:e.literal(`binary-operator`),operator:e.union([e.literal(`equal`),e.literal(`not-equal`),e.literal(`greater`),e.literal(`greater-or-equal`),e.literal(`less`),e.literal(`less-or-equal`),e.literal(`contains`),e.literal(`not-contains`)]),value:a,target:i}),s=e.object({type:e.literal(`switch`),cases:e.array(o),default:i}),c=e.object({type:e.literal(`always`),target:i}),l=e.discriminatedUnion(`type`,[c,s]),u=e.string().check(e.trim(),e.maxLength(2048),e.url({protocol:/^(https|mailto)/,error:`Link must start with https:// or mailto:`})),d=e.optional(e.string().check(e.trim(),e.maxLength(50))),f=e.object({value:e.string().check(e.trim(),e.minLength(1,{error:`Value is required`}),e.maxLength(200)),label:e.optional(e.string().max(200)),description:e.optional(e.string().check(e.trim(),e.maxLength(200))),translationId:e.optional(e.cuid2().max(200))}),p=e.array(f).max(100).check(e.superRefine((e,t)=>{let n=new Set;for(let r of e)if(r.translationId!==void 0){if(n.has(r.translationId)){t.addIssue({code:`custom`,message:`Option translation ids must be unique within a question`});return}n.add(r.translationId)}})),m=e.nullable(e.object({label:e.string().check(e.trim(),e.minLength(1,{error:`Value is required`}),e.maxLength(200)),max:e.number().max(2e3),description:e.optional(e.string().check(e.trim(),e.maxLength(200)))})),h=e.optional(e.boolean()),ee=e.object({type:e.literal(`rating`),buttonLabel:d,shouldAutoProgress:h,scale:e.number().check(e.gte(2),e.lte(10)),labels:e.optional(e.object({lower:e.optional(e.pipe(e.string().check(e.trim(),e.maxLength(100)),e.transform(e=>e===``?void 0:e))),upper:e.optional(e.pipe(e.string().check(e.trim(),e.maxLength(100)),e.transform(e=>e===``?void 0:e)))})),display:e.optional(e.literal([`star`,`emoji`,`number`]))}),te=e.object({type:e.literal(`open-ended`),placeholder:e.optional(e.string().max(200)),buttonLabel:d,max:e.number().max(2e3)}),ne=e.object({type:e.literal(`single-select`),shouldAutoProgress:h,options:p,buttonLabel:d,editable:m}),re=e.object({type:e.literal(`multi-select`),buttonLabel:d,options:p,editable:m,max:e.optional(e.number()),display:e.optional(e.literal([`checkbox`,`tag`]))}),ie=e.object({type:e.literal(`statement`),buttonLabel:d,buttonUrl:e.optional(u)}),g=e.object({type:e.literal(`bug-report`),placeholder:e.optional(e.string().max(200)),buttonLabel:d,enableScreenshot:e.boolean(),enableRecording:e.boolean(),detailsLabel:e.string().check(e.trim(),e.minLength(1,{error:`Label is required`}),e.maxLength(128)),detailsPlaceholder:e.optional(e.string().max(200)),redactClasses:e.optional(e.array(e.string().max(128)).max(100))}),_=e.discriminatedUnion(`type`,[ee,ne,te,re,ie,g]),v=e=>e.trim()===``?void 0:e,y=t=>e.string().max(t).transform(v),b=y(50).optional(),ae=y(128).optional(),x=e.object({label:y(200).optional(),description:y(200).optional()}),S=e.optional(e.object({label:y(200).optional(),description:y(200).optional()})),oe=e.object({type:e.literal(`rating`),buttonLabel:b,labels:e.optional(e.object({lower:y(100).optional(),upper:y(100).optional()}))}),se=e.object({type:e.literal(`open-ended`),placeholder:y(200).optional(),buttonLabel:b}),ce=e.object({type:e.literal(`single-select`),buttonLabel:b,options:e.optional(e.record(e.string(),x)),editable:S}),le=e.object({type:e.literal(`multi-select`),buttonLabel:b,options:e.optional(e.record(e.string(),x)),editable:S}),ue=e.object({type:e.literal(`statement`),buttonLabel:b}),de=e.object({type:e.literal(`bug-report`),placeholder:y(200).optional(),buttonLabel:b,detailsLabel:ae,detailsPlaceholder:y(200).optional()}),fe=e.discriminatedUnion(`type`,[oe,se,ce,le,ue,de]),C=`__CONFETTI_CHECKBOX_Others`,w=`__CONFETTI_RADIO_Others`,pe=e.url({protocol:/^https$/,hostname:/^(?:app\.datadoghq\.(?:com|eu)|(?:app\.)?(?:us3|us5|ap1|ap2|uk1)\.datadoghq\.com|app\.ddog-gov\.com|(?:app\.)?us2\.ddog-gov\.com)$/}).max(2048),me=e.optional(e.looseObject({userAgent:e.string().check(e.trim(),e.maxLength(1e3)),screenResolution:e.string().check(e.trim(),e.maxLength(100)),viewportSize:e.string().check(e.trim(),e.maxLength(100)),pageUrl:e.string().max(2048),pageTitle:e.string().check(e.trim(),e.maxLength(1e3)),referrer:e.string().max(2048),datadogTraceId:e.optional(e.string().max(128)),datadogSessionId:e.optional(e.string().max(128)),datadogSessionReplayLink:e.catch(e.optional(pe),void 0)}).partial().catchall(e.optional(e.string().max(1e3)))),he=e.cuid2().max(200),T=e.object({type:e.literal(`bug-report`),id:he,title:e.string(),description:e.string().nullable(),metadata:e.record(e.string(),e.string()),hasScreenshot:e.boolean(),hasRecording:e.boolean(),url:e.url()}),E=e.looseObject({type:e.literal([0,1,2,3,4,5,6]),data:e.unknown(),timestamp:e.number(),delay:e.optional(e.number())});e.array(E);const D=e.array(E),O=e.string().max(10485760,{abort:!0}).check(e.refine(e=>{try{return D.safeParse(JSON.parse(e)).success}catch{return!1}},{error:`Invalid recording events`})),k=e.string().max(10485760,{abort:!0}).check(e.regex(/^data:image\/(png|jpeg|jpg|webp|gif);base64,[A-Za-z0-9+/]+=*$/,{error:`Invalid image data URL`})),A=t=>e.object({title:e.string().check(e.trim(),...t?[e.minLength(1,{error:`Title is required`})]:[],e.maxLength(256)),description:e.optional(e.string().check(e.trim(),e.maxLength(4096))),screenshotDataUrl:e.optional(k),recordingEventsJson:e.optional(O),metadata:me});A(!0);const j=A(!1),M=(e,{required:t})=>A(t),N=e=>{if(!e)return!1;try{let t=JSON.parse(e);return Array.isArray(t)&&t.length>0}catch{return!1}},P=e=>!e.title.trim()&&!e.description?.trim()&&!e.screenshotDataUrl&&!N(e.recordingEventsJson),F=t=>e.preprocess(t=>{let n=e.string().regex(/^(10|[1-9])$/).safeParse(t);return n.success?Number(n.data):t},e.number({error:`Please select a rating`}).check(e.int(),e.gte(1),e.lte(t))),I=({scale:t},{required:n})=>{let r=F(t);return n?r:e.optional(r)},L=({maxLength:t},{required:n})=>e.string().check(e.trim(),...n?[e.minLength(1,{error:`This field is required`})]:[],e.maxLength(t??2e3,{error:({maximum:e})=>`Please enter less than ${e} characters`})),R=({options:t,editable:n},r)=>{let i=new Set(t.map(e=>e.value));return e.string({error:`Please select an option`}).check(e.trim(),e.superRefine((e,t)=>{if(i.has(e))return;let a=n?!e||e===r?`Please fill out the free text field`:e.length>n.max?`Please enter less than ${n.max} characters`:void 0:`Please select an option`;a&&t.addIssue({code:`custom`,message:a})}))},ge=(t,{required:n})=>{let r=R(t,w);return n?r:e.optional(r)},_e=(t,{required:n})=>{let{options:r,editable:i,max:a}=t,o=new Set(r.map(e=>e.value));return e.array(R(t,C)).check(...n?[e.minLength(1,{error:`Please select at least one option`})]:[],e.maxLength(a??r.length+ +!!i,{error:({maximum:e})=>`Please select less than ${e} options`}),e.refine(e=>e.filter(e=>!o.has(e)).length<=1,{error:`Please select an option`}))},ve=()=>e.optional(e.string().max(2048)),ye=(t,n)=>{switch(t.type){case`rating`:return I({scale:t.scale},n);case`open-ended`:return L({maxLength:t.max},n);case`single-select`:return ge(t,n);case`multi-select`:return _e(t,n);case`statement`:return ve();case`bug-report`:return M({},n);default:return e.never()}},z=[`en`,`zh`,`ms`,`ta`],B=e.enum(z),V=e.cuid2().max(200),be=e.object({title:e.string().check(e.trim(),e.maxLength(500)),description:e.string().check(e.trim(),e.maxLength(1e3)),buttonText:e.string().check(e.trim(),e.maxLength(100))}),H=e.object({id:e.string(),title:e.string(),description:e.nullable(e.string()),position:e.number(),required:e.boolean(),properties:_,routingLogic:l}),xe=e.object({title:y(200).optional(),description:y(1e3).optional(),backButtonLabel:b,confirmation:e.optional(e.object({title:y(500).optional(),description:y(1e3).optional(),buttonText:y(100).optional()}))});e.partialRecord(B,xe);const Se=e.object({title:y(500).optional(),description:y(1e3).optional(),properties:e.optional(fe)});e.partialRecord(B,Se);const Ce=e.object({title:e.string(),description:e.nullable(e.string()),questions:e.array(H),confirmation:be,isBackNavigationAllowed:e.boolean(),backButtonLabel:e.nullable(e.string().check(e.trim(),e.maxLength(50)))});e.object({locale:e.optional(B)}),e.object({cursor:e.optional(e.string().check(e.minLength(1),e.maxLength(100))),limit:e.optional(e.number().check(e.int(),e.gte(1),e.lte(100)))});const U=e.object({id:e.string(),title:e.string(),description:e.nullable(e.string()),status:e.enum([`active`,`inactive`]),createdAt:e.date(),updatedAt:e.date()});e.object({data:e.array(U),nextCursor:e.nullable(e.string()),limit:e.number(),links:e.object({self:e.string(),next:e.nullable(e.string())})}),e.object({surveyId:V});const we=H;e.object({data:e.object({...U.shape,questions:e.array(we)})}),e.object({surveyId:V,responseId:e.union([e.cuid2().max(200),e.uuid()])});const Te=e.catch(e.object({type:e.enum([`embedded`,`popover`,`modal`]),version:e.string().check(e.trim(),e.minLength(1),e.maxLength(50)),build:e.string().check(e.trim(),e.minLength(1),e.maxLength(50))}).partial(),{}),Ee=e.record(e.string().trim().min(1).max(200),e.union([e.string().check(e.trim(),e.maxLength(2e3)),e.number(),e.array(e.string().check(e.trim(),e.maxLength(2e3))).check(e.maxLength(1024)),j])),De=e.array(e.enum([`bugReport`])),W=1e3,G=e.string().check(e.trim(),e.maxLength(W)),Oe=e.record(G,G),K=e.string().trim().min(1).max(W),q=e.discriminatedUnion(`code`,[e.object({code:e.literal(`metadata_value_truncated`),key:K}).strict(),e.object({code:e.literal(`metadata_value_invalid`),key:K}).strict(),e.object({code:e.literal(`metadata_key_invalid`),position:e.number().int().positive().max(2**53-1)}).strict(),e.object({code:e.literal(`metadata_key_duplicate`),key:K}).strict(),e.object({code:e.literal(`metadata_entry_limit`),droppedCount:e.number().int().positive().max(2**53-1)}).strict(),e.object({code:e.literal(`metadata_container_invalid`)}).strict(),e.object({code:e.literal(`metadata_warning_details_omitted`),count:e.number().int().positive().max(2**53-1)}).strict(),e.object({code:e.literal(`metadata_warning_report_invalid`)}).strict()]),ke=e.object({metadata:e.array(q).min(1).max(20)}).strict(),Ae=e.object({metadata:e.array(q).min(1)}).strict(),J=(e,t)=>Math.min(2**53-1,e+t),Y=e=>{let t=[],n=0;for(let r of e)r.code===`metadata_warning_details_omitted`?n=J(n,r.count):t.push(r);let r=n>0||t.length>20?19:20,i=t.slice(0,r);return n=J(n,t.length-i.length),n>0?[...i,{code:`metadata_warning_details_omitted`,count:n}]:i},X=e=>{let t=Y(e);return t.length>0?{metadata:t}:void 0},je=e=>{if(e===void 0)return[];let t=Ae.safeParse(e);return t.success?Y(t.data.metadata):[{code:`metadata_warning_report_invalid`}]},Me=e=>{if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Reflect.getPrototypeOf(e);return t===Object.prototype||t===null},Ne=t=>{if(t===void 0)return{metadata:{},warnings:[]};if(!Me(t))return{metadata:{},warnings:[{code:`metadata_container_invalid`}]};let n=new Map,r=[],i=0;for(let[a,[o,s]]of Object.entries(t).entries()){let t=o.trim();if(t.length===0||t.length>1e3){r.push({code:`metadata_key_invalid`,position:a+1});continue}let c=e.string().safeParse(s);if(!c.success){r.push({code:`metadata_value_invalid`,key:t});continue}if(n.has(t)){r.push({code:`metadata_key_duplicate`,key:t});continue}if(n.size>=20){i+=1;continue}let l=c.data.trim(),u=l.length>1e3?`${l.slice(0,W-11)}[truncated]`:l;u!==l&&r.push({code:`metadata_value_truncated`,key:t}),n.set(t,u)}return i>0&&r.push({code:`metadata_entry_limit`,droppedCount:i}),{metadata:Object.fromEntries(n),warnings:Y(r)}},Z=({metadata:e,warnings:t})=>{let n=Ne(e);return{metadata:n.metadata,warnings:X([...n.warnings,...je(t)])}};Oe.check(e.refine(e=>Object.keys(e).length<=20,`At most 20 metadata entries are allowed.`)),e.object({respondent:e.string().check(e.trim(),e.minLength(1),e.maxLength(200)),data:Ee,metadata:e.unknown().optional(),warnings:e.unknown().optional(),telemetry:e.optional(Te)}).transform(e=>{let{metadata:t,warnings:n,...r}=e,{metadata:i,warnings:a}=Z({metadata:t,warnings:n});return{...r,metadata:i,...a&&{warnings:a}}});const Pe=e.record(e.string(),e.union([e.string(),e.number(),e.array(e.string())])),Fe=e.object({id:e.string(),createdAt:e.date(),data:e.optional(e.nullable(Pe)),warnings:e.optional(ke)});e.object({surveyId:V,respondent:e.string().check(e.trim(),e.minLength(1),e.maxLength(200))}),e.object({surveyId:V,respondent:e.string().check(e.trim(),e.minLength(1),e.maxLength(200))}),e.object({surveyId:V});const Ie=e.object({lastRespondedAt:e.nullable(e.union([e.iso.datetime(),e.date()])),lastViewedAt:e.nullable(e.union([e.iso.datetime(),e.date()])),lastDismissedAt:e.nullable(e.union([e.iso.datetime(),e.date()]))});e.object({type:e.enum([`view`,`dismiss`])}),e.object({}),e.object({surveyId:V}),e.object({respondent:e.optional(e.string().check(e.trim(),e.minLength(1),e.maxLength(200))),after:e.optional(e.iso.datetime({offset:!0,local:!0})),before:e.optional(e.iso.datetime({offset:!0,local:!0})),cursor:e.optional(e.string().check(e.minLength(1),e.maxLength(100))),limit:e.optional(e.number().check(e.int(),e.gte(1),e.lte(100))),expand:e.optional(De)});const Le=e.object({id:e.string(),respondent:e.string(),data:e.record(e.string(),e.union([e.string(),e.number(),e.array(e.string()),T])),clientMetadata:e.record(e.string(),e.string()),createdAt:e.date()});e.object({data:e.array(Le),nextCursor:e.nullable(e.string()),limit:e.number(),links:e.object({self:e.string(),next:e.nullable(e.string())})});const Q=e.number().check(e.int(),e.gte(0));e.object({data:e.object({totalViews:Q,uniqueViewers:Q,totalDismissals:Q,uniqueDismissers:Q,totalResponses:Q,uniqueResponders:Q})}),e.object({questionIds:e.array(e.string().max(200)).check(e.minLength(1)),timeRange:e.union([e.enum([`last-7-days`,`last-30-days`]),e.string().check(e.regex(/^q[1-4]-\d{4}$/)),e.string().check(e.regex(/^custom_\d{4}-\d{2}-\d{2}_\d{4}-\d{2}-\d{2}$/))])});const $=e.record(e.string(),e.record(e.string(),e.number()));e.object({data:e.object({current:$,previousQuarter:e.nullable($)})});export{z as a,D as c,u as d,Ce as i,C as l,Fe as n,ye as o,Z as r,P as s,Ie as t,w as u};
|
package/build/static.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as Locale
|
|
2
|
-
import {
|
|
1
|
+
import { r as Locale } from "./index-Bw3Vmeyu.js";
|
|
2
|
+
import { E as FinishResult, M as WithProxyable, O as OptionallyDismissable, S as ConfettiContainer, T as Dismissable, d as RespondentVisibilityProviderProps, f as WithVisibilityControl, j as ResponseAnswer, t as BaseConfettiProps, w as Containable, x as Closable } from "./Confetti-D_KmrN8z.js";
|
|
3
3
|
|
|
4
4
|
//#region src/templates/EmbeddedConfettiContent.d.ts
|
|
5
5
|
interface EmbeddedConfettiContentProps extends Omit<BaseConfettiProps, 'isSurveyVisible'>, Closable {
|
|
@@ -77,7 +77,7 @@ interface TriggerChildProps extends Pick<ConfettiTriggerProps, 'surveyId' | 'pub
|
|
|
77
77
|
* Invoked when the user completes the survey. Marks the trigger button as
|
|
78
78
|
* submitted, then calls the trigger-level `onFinished`.
|
|
79
79
|
*/
|
|
80
|
-
onFinished: (result?:
|
|
80
|
+
onFinished: (result?: FinishResult) => void;
|
|
81
81
|
/**
|
|
82
82
|
* Invoked on every close path: the close button, the close-on-finish timer,
|
|
83
83
|
* and the Thank-You button. Collapses the popover back to the trigger
|
|
@@ -110,4 +110,4 @@ declare const ConfettiTrigger: ({
|
|
|
110
110
|
...providerProps
|
|
111
111
|
}: ConfettiTriggerProps) => import("react").JSX.Element;
|
|
112
112
|
//#endregion
|
|
113
|
-
export { type ConfettiContainer, ConfettiTrigger, type ConfettiTriggerProps, EmbeddedConfetti, type EmbeddedConfettiProps, ModalConfetti, type ModalConfettiProps, PopoverConfetti, type PopoverConfettiProps, StepperConfetti, type StepperConfettiProps, type TriggerChildProps, type TriggerRenderProps };
|
|
113
|
+
export { type ConfettiContainer, ConfettiTrigger, type ConfettiTriggerProps, EmbeddedConfetti, type EmbeddedConfettiProps, type FinishResult, ModalConfetti, type ModalConfettiProps, PopoverConfetti, type PopoverConfettiProps, type ResponseAnswer, StepperConfetti, type StepperConfettiProps, type TriggerChildProps, type TriggerRenderProps };
|
package/build/static.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./DefaultConfettiTrigger-
|
|
1
|
+
import{t as e}from"./DefaultConfettiTrigger-DfKhP7hV.js";import{f as t,m as n,t as r}from"./ModalContainer-igsKZUi1.js";import{a as i,d as a,h as o,i as s,m as c,n as l,p as u,r as d,t as f}from"./Embed-BKSP4LXK.js";import{useState as p}from"react";import{ErrorBoundary as m}from"react-error-boundary";import{Fragment as h,jsx as g,jsxs as _}from"react/jsx-runtime";const v=({onClose:e,locale:r,...a})=>g(m,{fallback:g(h,{}),children:g(n,{type:`embedded`,children:g(t,{...a,locale:r,children:g(o,{...a,shouldAutoSubmit:!1,locale:r,children:({questions:t,update:n,submit:o,isSubmitted:c,errors:l,answers:u})=>c?g(s,{onClose:e,locale:r}):g(f,{onSubmit:o,locale:r,children:t.filter(({visible:e})=>!!e).map(e=>g(i,{question:e,defaultAnswer:u[e.id]??void 0,error:l[e.id]||``,maskAllInputs:a.options?.bugReport?.maskAllInputs,locale:r,onChange:t=>n({question:e.position,answer:t})},e.id))})})})})}),y=e=>{let{respondent:t}=c();return g(v,{...e,respondent:t})};function b(e){let[t,n]=p(!1),{respondent:r,isSurveyVisible:i,proxyUrl:a,container:o,...s}=e;if(t)return null;let c=g(y,{...s,apiBaseUrl:a,onClose:()=>{n(!0),s.onClose?.()}});return g(u,{surveyId:s.surveyId,publishableKey:s.publishableKey,apiBaseUrl:a,respondent:r,isSurveyVisible:i,children:o?o({survey:c}):c})}const x=({onDismiss:e,onClose:a,onFinished:c,closeOnFinishMs:l,isDismissable:u,locale:d,...p})=>g(m,{fallback:g(h,{}),children:g(n,{type:`modal`,children:g(t,{...p,locale:d,children:g(r,{onDismiss:e,onClose:a,closeOnFinishMs:l,isDismissable:u,locale:d,children:({setIsSubmitted:e,setIsFinished:t})=>g(o,{...p,shouldAutoSubmit:!1,locale:d,onSubmitted:()=>e(),onFinished:e=>{t(),c?.(e)},children:({questions:e,update:t,errors:n,submit:r,isSubmitted:o,answers:c})=>o?g(s,{onClose:a,locale:d}):g(f,{onSubmit:r,locale:d,children:e.filter(({visible:e})=>!!e).map(e=>g(i,{question:e,defaultAnswer:c[e.id]??void 0,error:n[e.id]||``,maskAllInputs:p.options?.bugReport?.maskAllInputs,locale:d,onChange:n=>t({question:e.position,answer:n})},e.id))})})})})})}),S=e=>{let{respondent:t}=c();return g(x,{...e,respondent:t})};function C(e){let[t,n]=p(!1),{respondent:r,isSurveyVisible:i,proxyUrl:a,...o}=e;return t?null:g(u,{surveyId:o.surveyId,publishableKey:o.publishableKey,apiBaseUrl:a,respondent:r,isSurveyVisible:i,children:g(S,{...o,apiBaseUrl:a,onClose:()=>{n(!0),o.onClose?.()}})})}const w=({onDismiss:e,onClose:r,onFinished:c,closeOnFinishMs:u,locale:f,...p})=>g(m,{fallback:g(h,{}),children:g(n,{type:`popover`,children:g(t,{...p,locale:f,children:g(a,{onDismiss:e,onClose:r,closeOnFinishMs:u,locale:f,children:({setIsSubmitted:e,setIsFinished:t})=>g(o,{...p,shouldAutoSubmit:!0,locale:f,onSubmitted:()=>e(),onFinished:e=>{t(),c?.(e)},children:({current:e,questions:t,answers:n,update:a,back:o,canGoBack:c,backButtonLabel:u,saveAnswer:m,isSubmitted:_})=>{let v=e===t.length-1;if(_)return g(s,{onClose:r,locale:f});let y=t[e];return y?g(l,{isLastQuestion:v,question:y,defaultAnswer:n[y.id]??void 0,backButton:c?g(d,{onPress:o,locale:f,children:u}):void 0,locale:f,saveAnswer:e=>m(y.id,e),onSubmit:t=>a({question:e,answer:t}),children:e=>g(i,{maskAllInputs:p.options?.bugReport?.maskAllInputs,locale:f,...e})},y.id):g(h,{})}})})})})}),T=e=>{let{respondent:t}=c();return g(w,{...e,respondent:t})};function E(e){let[t,n]=p(!1),{respondent:r,isSurveyVisible:i,proxyUrl:a,...o}=e;return t?null:g(u,{surveyId:o.surveyId,publishableKey:o.publishableKey,apiBaseUrl:a,respondent:r,isSurveyVisible:i,children:g(T,{...o,apiBaseUrl:a,onClose:()=>{n(!0),o.onClose?.()}})})}const D=({onClose:e,locale:n,...r})=>g(m,{fallback:g(h,{}),children:g(t,{...r,locale:n,children:g(o,{...r,shouldAutoSubmit:!0,locale:n,children:({current:t,questions:a,answers:o,update:c,back:u,canGoBack:f,backButtonLabel:p,saveAnswer:m,isSubmitted:_})=>{let v=t===a.length-1;if(_)return g(s,{onClose:e,locale:n});let y=a[t];return y?g(l,{isLastQuestion:v,question:y,defaultAnswer:o[y.id]??void 0,backButton:f?g(d,{onPress:u,locale:n,children:p}):void 0,locale:n,saveAnswer:e=>m(y.id,e),onSubmit:e=>c({question:t,answer:e}),children:e=>g(i,{maskAllInputs:r.options?.bugReport?.maskAllInputs,locale:n,...e})},y.id):g(h,{})}})})}),O=e=>{let{respondent:t}=c();return g(D,{...e,respondent:t})};function k(e){let[t,n]=p(!1),{respondent:r,isSurveyVisible:i,proxyUrl:a,container:o,...s}=e;if(t)return null;let c=g(O,{...s,apiBaseUrl:a,onClose:()=>{n(!0),s.onClose?.()}});return g(u,{surveyId:s.surveyId,publishableKey:s.publishableKey,apiBaseUrl:a,respondent:r,isSurveyVisible:i,children:o?o({survey:c}):c})}const A=({trigger:e,children:t,onFinished:n,...r})=>{let[i,a]=p(!1),[o,s]=p(!1);return _(h,{children:[e({onClick:()=>a(!0),isWidgetOpen:i,hasSubmitted:o}),i&&t({...r,onDismiss:()=>a(!1),onFinished:e=>{s(!0),n?.(e)},onClose:()=>a(!1)})]})},j=({trigger:t=t=>g(e,{...t}),children:n,metadata:r,autoInjectAnalyticsMetadata:i,options:a,onFinished:o,proxyUrl:s,...c})=>g(m,{fallback:g(h,{}),children:g(u,{...c,apiBaseUrl:s,children:g(A,{trigger:t,surveyId:c.surveyId,publishableKey:c.publishableKey,proxyUrl:s,metadata:r,autoInjectAnalyticsMetadata:i,options:a,onFinished:o,children:n})})});export{j as ConfettiTrigger,b as EmbeddedConfetti,C as ModalConfetti,E as PopoverConfetti,k as StepperConfetti};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opengovsg/confetti",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.7",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"description": "Widgets for Confetti",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"ky": "^1.14.2",
|
|
76
76
|
"react-error-boundary": "^6.1.1",
|
|
77
77
|
"usehooks-ts": "^3.1.1",
|
|
78
|
-
"zod": "4.
|
|
78
|
+
"zod": "4.6.7"
|
|
79
79
|
},
|
|
80
80
|
"peerDependencies": {
|
|
81
81
|
"react": "^18.2.0 || ^19.0.0",
|
|
@@ -92,7 +92,6 @@
|
|
|
92
92
|
"@types/react-dom": "^19.2.5",
|
|
93
93
|
"@vitest/coverage-v8": "4.1.11",
|
|
94
94
|
"dotenv-cli": "^11.0.0",
|
|
95
|
-
"esbuild": "^0.28.1",
|
|
96
95
|
"postcss": "^8.5.28",
|
|
97
96
|
"postcss-cli": "^11.0.1",
|
|
98
97
|
"postcss-preset-env": "^11.5.2",
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,I as s,J as c,K as l,M as u,N as d,O as f,P as p,S as m,T as h,U as g,W as _,X as v,Y as y,Z as ee,a as te,b as ne,c as re,f as ie,g as ae,h as oe,j as b,k as x,l as S,m as se,p as ce,q as le,s as ue,t as de,u as fe,v as pe,w as C,x as me,y as he,z as ge}from"./Button-BGUCuTdV.js";import{i as _e,n as ve,r as ye}from"./src-C4lgg92q.js";import{i as be,r as xe,t as Se}from"./internals-BLvZj8JP.js";import w,{createContext as T,forwardRef as Ce,useCallback as E,useContext as D,useEffect as O,useMemo as k,useReducer as we,useRef as A,useState as j}from"react";import{useTimeout as Te}from"usehooks-ts";import{z as M}from"zod";import{Fragment as Ee,jsx as N,jsxs as De}from"react/jsx-runtime";import Oe from"clsx";import ke,{flushSync as Ae}from"react-dom";const je=new Set([`checkbox`,`radio`,`range`,`color`,`file`,`image`,`button`,`submit`,`reset`]);function P(e){return e instanceof HTMLInputElement&&!je.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function Me(e,t){let{id:n,"aria-label":r,"aria-labelledby":i}=e;return n=le(n),i&&r?i=[...new Set([n,...i.trim().split(/\s+/)])].join(` `):i&&=i.trim().split(/\s+/).join(` `),!r&&!i&&t&&(r=t),{id:n,"aria-label":r,"aria-labelledby":i}}const Ne=new Set([`Arab`,`Syrc`,`Samr`,`Mand`,`Thaa`,`Mend`,`Nkoo`,`Adlm`,`Rohg`,`Hebr`]),Pe=new Set([`ae`,`ar`,`arc`,`bcc`,`bqi`,`ckb`,`dv`,`fa`,`glk`,`he`,`ku`,`mzn`,`nqo`,`pnb`,`ps`,`sd`,`ug`,`ur`,`yi`]);function Fe(e){if(Intl.Locale){let t=new Intl.Locale(e).maximize(),n=typeof t.getTextInfo==`function`?t.getTextInfo():t.textInfo;if(n)return n.direction===`rtl`;if(t.script)return Ne.has(t.script)}let t=e.split(`-`)[0];return Pe.has(t)}const Ie=Symbol.for(`react-aria.i18n.locale`);function Le(){let e=typeof window<`u`&&window[Ie]||typeof navigator<`u`&&(navigator.language||navigator.userLanguage)||`en-US`;try{Intl.DateTimeFormat.supportedLocalesOf([e])}catch{e=`en-US`}return{locale:e,direction:Fe(e)?`rtl`:`ltr`}}let Re=Le(),F=new Set;function ze(){Re=Le();for(let e of F)e(Re)}function Be(){let e=c(),[t,n]=j(Re);return O(()=>(F.size===0&&window.addEventListener(`languagechange`,ze),F.add(n),()=>{F.delete(n),F.size===0&&window.removeEventListener(`languagechange`,ze)}),[]),e?{locale:typeof window<`u`&&window[Ie]||`en-US`,direction:`ltr`}:t}const Ve=w.createContext(null);function He(){let e=Be();return D(Ve)||e}const Ue=Symbol.for(`react-aria.i18n.locale`),We=Symbol.for(`react-aria.i18n.strings`);let I;var Ge=class e{constructor(e,t=`en-US`){this.strings=Object.fromEntries(Object.entries(e).filter(([,e])=>e)),this.defaultLocale=t}getStringForLocale(e,t){let n=this.getStringsForLocale(t)[e];if(!n)throw Error(`Could not find intl message ${e} in ${t} locale`);return n}getStringsForLocale(e){let t=this.strings[e];return t||(t=Ke(e,this.strings,this.defaultLocale),this.strings[e]=t),t}static getGlobalDictionaryForPackage(t){if(typeof window>`u`)return null;let n=window[Ue];if(I===void 0){let t=window[We];if(!t)return null;I={};for(let r in t)I[r]=new e({[n]:t[r]},n)}let r=I?.[t];if(!r)throw Error(`Strings for package "${t}" were not included by LocalizedStringProvider. Please add it to the list passed to createLocalizedStringDictionary.`);return r}};function Ke(e,t,n=`en-US`){if(t[e])return t[e];let r=qe(e),i=Je(e);if(i&&t[`${r}-${i}`])return t[`${r}-${i}`];if(t[r])return t[r];for(let e in t)if(e.startsWith(r+`-`))return t[e];return t[n]}function qe(e){return Intl.Locale?new Intl.Locale(e).language:e.split(`-`)[0]}function Je(e){if(Intl.Locale)return new Intl.Locale(e).script}const Ye=new Map,Xe=new Map;var Ze=class{constructor(e,t){this.locale=e,this.strings=t}format(e,t){let n=this.strings.getStringForLocale(e,this.locale);return typeof n==`function`?n(t,this):n}plural(e,t,n=`cardinal`){let r=t[`=`+e];if(r)return typeof r==`function`?r():r;let i=this.locale+`:`+n,a=Ye.get(i);return a||(a=new Intl.PluralRules(this.locale,{type:n}),Ye.set(i,a)),r=t[a.select(e)]||t.other,typeof r==`function`?r():r}number(e){let t=Xe.get(this.locale);return t||(t=new Intl.NumberFormat(this.locale),Xe.set(this.locale,t)),t.format(e)}select(e,t){let n=e[t]||e.other;return typeof n==`function`?n():n}};const Qe=new WeakMap;function $e(e){let t=Qe.get(e);return t||(t=new Ge(e),Qe.set(e,t)),t}function et(e,t){return t&&Ge.getGlobalDictionaryForPackage(t)||$e(e)}function tt(e,t){let{locale:n}=He(),r=et(e,t);return k(()=>new Ze(n,r),[n,r])}const nt=typeof document<`u`?w.useInsertionEffect??w.useLayoutEffect:()=>{};function rt(e,t,n){let[r,i]=j(e||t),a=A(r),o=A(e!==void 0),s=e!==void 0;O(()=>{o.current,o.current=s},[s]);let c=s?e:r;nt(()=>{a.current=c});let[,l]=we(()=>({}),{});return[c,E((e,...t)=>{let r=typeof e==`function`?e(a.current):e;Object.is(a.current,r)||(a.current=r,i(r),l(),n?.(r,...t))},[n])]}const it=T({}),at=T({}),ot=fe(function(e,n){[e,n]=a(e,n,at);let{elementType:r=`span`,...i}=e,o=t[r];return w.createElement(o,{className:`react-aria-Text`,...i,ref:n})});function L(e,t){if(!e)return!1;let n=window.getComputedStyle(e),r=document.scrollingElement||document.documentElement,i=/(auto|scroll)/.test(n.overflow+n.overflowX+n.overflowY);return e===r&&n.overflow!==`hidden`&&(i=!0),i&&t&&(i=e.scrollHeight!==e.clientHeight||e.scrollWidth!==e.clientWidth),i}function st(e,t){let n=e;for(L(n,t)&&(n=n.parentElement);n&&!L(n,t);)n=n.parentElement;return n||document.scrollingElement||document.documentElement}const ct={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 lt(e={}){let{style:t,isFocusable:n}=e,[r,i]=j(!1),{focusWithinProps:a}=te({isDisabled:!n,onFocusWithinChange:e=>i(e)}),o=k(()=>r?t:t?{...ct,...t}:ct,[r]);return{visuallyHiddenProps:{...a,style:o}}}function ut(e){let{children:t,elementType:n=`div`,isFocusable:r,style:i,...a}=e,{visuallyHiddenProps:o}=lt(e);return w.createElement(n,_(a,o),t)}var dt=class{constructor(e,t,n,r){this._walkerStack=[],this._currentSetFor=new Set,this._acceptNode=e=>{if(e.nodeType===Node.ELEMENT_NODE){let t=e.shadowRoot;if(t){let e=this._doc.createTreeWalker(t,this.whatToShow,{acceptNode:this._acceptNode});return this._walkerStack.unshift(e),NodeFilter.FILTER_ACCEPT}else if(typeof this.filter==`function`)return this.filter(e);else if(this.filter?.acceptNode)return this.filter.acceptNode(e);else if(this.filter===null)return NodeFilter.FILTER_ACCEPT}return NodeFilter.FILTER_SKIP},this._doc=e,this.root=t,this.filter=r??null,this.whatToShow=n??NodeFilter.SHOW_ALL,this._currentNode=t,this._walkerStack.unshift(e.createTreeWalker(t,n,this._acceptNode));let i=t.shadowRoot;if(i){let e=this._doc.createTreeWalker(i,this.whatToShow,{acceptNode:this._acceptNode});this._walkerStack.unshift(e)}}get currentNode(){return this._currentNode}set currentNode(e){if(!C(this.root,e))throw Error(`Cannot set currentNode to a node that is not contained by the root node.`);let t=[],n=e,r=e;for(this._currentNode=e;n&&n!==this.root;)if(n.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let e=n,i=this._doc.createTreeWalker(e,this.whatToShow,{acceptNode:this._acceptNode});t.push(i),i.currentNode=r,this._currentSetFor.add(i),n=r=e.host}else n=n.parentNode;let i=this._doc.createTreeWalker(this.root,this.whatToShow,{acceptNode:this._acceptNode});t.push(i),i.currentNode=r,this._currentSetFor.add(i),this._walkerStack=t}get doc(){return this._doc}firstChild(){let e=this.currentNode,t=this.nextNode();return C(e,t)?(t&&(this.currentNode=t),t):(this.currentNode=e,null)}lastChild(){let e=this._walkerStack[0].lastChild();return e&&(this.currentNode=e),e}nextNode(){let e=this._walkerStack[0].nextNode();if(e){if(e.shadowRoot){let t;if(typeof this.filter==`function`?t=this.filter(e):this.filter?.acceptNode&&(t=this.filter.acceptNode(e)),t===NodeFilter.FILTER_ACCEPT)return this.currentNode=e,e;let n=this.nextNode();return n&&(this.currentNode=n),n}return e&&(this.currentNode=e),e}else if(this._walkerStack.length>1){this._walkerStack.shift();let e=this.nextNode();return e&&(this.currentNode=e),e}else return null}previousNode(){let e=this._walkerStack[0];if(e.currentNode===e.root){if(this._currentSetFor.has(e))if(this._currentSetFor.delete(e),this._walkerStack.length>1){this._walkerStack.shift();let e=this.previousNode();return e&&(this.currentNode=e),e}else return null;return null}let t=e.previousNode();if(t){if(t.shadowRoot){let e;if(typeof this.filter==`function`?e=this.filter(t):this.filter?.acceptNode&&(e=this.filter.acceptNode(t)),e===NodeFilter.FILTER_ACCEPT)return t&&(this.currentNode=t),t;let n=this.lastChild();return n&&(this.currentNode=n),n}return t&&(this.currentNode=t),t}else if(this._walkerStack.length>1){this._walkerStack.shift();let e=this.previousNode();return e&&(this.currentNode=e),e}else return null}nextSibling(){return null}previousSibling(){return null}parentNode(){return null}};function ft(e,t,n,r){return f()?new dt(e,t,n,r):e.createTreeWalker(t,n,r)}const pt=w.createContext(null),mt=`react-aria-focus-scope-restore`;let R=null;function ht(e){let{children:t,contain:n,restoreFocus:r,autoFocus:a}=e,o=A(null),s=A(null),c=A([]),{parentNode:l}=D(pt)||{},u=k(()=>new jt({scopeRef:c}),[c]);y(()=>{let e=l||G.root;if(G.getTreeNode(e.scopeRef)&&R&&!St(R,e.scopeRef)){let t=G.getTreeNode(R);t&&(e=t)}e.addChild(u),G.addNode(u)},[u,l]),y(()=>{let e=G.getTreeNode(c);e&&(e.contain=!!n)},[n]),y(()=>{let e=o.current?.nextSibling,t=[],n=e=>e.stopPropagation();for(;e&&e!==s.current;)t.push(e),e.addEventListener(mt,n),e=e.nextSibling;return c.current=t,()=>{for(let e of t)e.removeEventListener(mt,n)}},[t]),Et(c,r,n),yt(c,n),Ot(c,r,n),Tt(c,a),O(()=>{let e=i(b(c.current?c.current[0]:void 0)),t=null;if(V(e,c.current)){for(let n of G.traverse())n.scopeRef&&V(e,n.scopeRef.current)&&(t=n);t===G.getTreeNode(c)&&(R=t.scopeRef)}},[c]),y(()=>()=>{let e=G.getTreeNode(c)?.parent?.scopeRef??null;(c===R||St(c,R))&&(!e||G.getTreeNode(e))&&(R=e),G.removeTreeNode(c)},[c]);let d=k(()=>gt(c),[]),f=k(()=>({focusManager:d,parentNode:u}),[u,d]);return w.createElement(pt.Provider,{value:f},w.createElement(`span`,{"data-focus-scope-start":!0,hidden:!0,ref:o}),t,w.createElement(`span`,{"data-focus-scope-end":!0,hidden:!0,ref:s}))}function gt(e){return{focusNext(t={}){let n=e.current,{from:r,tabbable:a,wrap:o,accept:s}=t,c=r||i(b(n[0]??void 0)),l=n[0].previousElementSibling,u=W(z(n),{tabbable:a,accept:s},n);u.currentNode=V(c,n)?c:l;let d=u.nextNode();return!d&&o&&(u.currentNode=l,d=u.nextNode()),d&&U(d,!0),d},focusPrevious(t={}){let n=e.current,{from:r,tabbable:a,wrap:o,accept:s}=t,c=r||i(b(n[0]??void 0)),l=n[n.length-1].nextElementSibling,u=W(z(n),{tabbable:a,accept:s},n);u.currentNode=V(c,n)?c:l;let d=u.previousNode();return!d&&o&&(u.currentNode=l,d=u.previousNode()),d&&U(d,!0),d},focusFirst(t={}){let n=e.current,{tabbable:r,accept:i}=t,a=W(z(n),{tabbable:r,accept:i},n);a.currentNode=n[0].previousElementSibling;let o=a.nextNode();return o&&U(o,!0),o},focusLast(t={}){let n=e.current,{tabbable:r,accept:i}=t,a=W(z(n),{tabbable:r,accept:i},n);a.currentNode=n[n.length-1].nextElementSibling;let o=a.previousNode();return o&&U(o,!0),o}}}function z(e){return e[0].parentElement}function B(e){let t=G.getTreeNode(R);for(;t&&t.scopeRef!==e;){if(t.contain)return!1;t=t.parent}return!0}function _t(e){if(!e.form)return Array.from(b(e).querySelectorAll(`input[type="radio"][name="${CSS.escape(e.name)}"]`)).filter(e=>!e.form);let t=e.form.elements.namedItem(e.name),n=u(e);return t instanceof n.RadioNodeList?Array.from(t).filter(e=>e instanceof n.HTMLInputElement):t instanceof n.HTMLInputElement?[t]:[]}function vt(e){if(e.checked)return!0;let t=_t(e);return t.length>0&&!t.some(e=>e.checked)}function yt(e,t){let n=A(void 0),a=A(void 0);y(()=>{let o=e.current;if(!t){a.current&&=(cancelAnimationFrame(a.current),void 0);return}let s=b(o?o[0]:void 0),c=t=>{if(t.key!==`Tab`||t.altKey||t.ctrlKey||t.metaKey||!B(e)||t.isComposing)return;let n=i(s),r=e.current;if(!r||!V(n,r))return;let a=W(z(r),{tabbable:!0},r);if(!n)return;a.currentNode=n;let o=t.shiftKey?a.previousNode():a.nextNode();o||=(a.currentNode=t.shiftKey?r[r.length-1].nextElementSibling:r[0].previousElementSibling,t.shiftKey?a.previousNode():a.nextNode()),t.preventDefault(),o&&(U(o,!0),o instanceof u(o).HTMLInputElement&&o.select())},l=t=>{(!R||St(R,e))&&V(r(t),e.current)?(R=e,n.current=r(t)):B(e)&&!H(r(t),e)?n.current?U(n.current):R&&R.current&&wt(R.current):B(e)&&(n.current=r(t))},d=t=>{a.current&&cancelAnimationFrame(a.current),a.current=requestAnimationFrame(()=>{let a=ae(),o=(a===`virtual`||a===null)&&ne()&&pe(),c=i(s);if(!o&&c&&B(e)&&!H(c,e)){R=e;let i=r(t);i&&i.isConnected?(n.current=i,U(n.current)):R.current&&wt(R.current)}})};return s.addEventListener(`keydown`,c,!1),s.addEventListener(`focusin`,l,!1),o?.forEach(e=>e.addEventListener(`focusin`,l,!1)),o?.forEach(e=>e.addEventListener(`focusout`,d,!1)),()=>{s.removeEventListener(`keydown`,c,!1),s.removeEventListener(`focusin`,l,!1),o?.forEach(e=>e.removeEventListener(`focusin`,l,!1)),o?.forEach(e=>e.removeEventListener(`focusout`,d,!1))}},[e,t]),y(()=>()=>{a.current&&cancelAnimationFrame(a.current)},[a])}function bt(e){return H(e)}function V(e,t){return!e||!t?!1:t.some(t=>C(t,e))}function H(e,t=null){if(e instanceof Element&&e.closest(`[data-react-aria-top-layer]`))return!0;for(let{scopeRef:n}of G.traverse(G.getTreeNode(t)))if(n&&V(e,n.current))return!0;return!1}function xt(e){return H(e,R)}function St(e,t){let n=G.getTreeNode(t)?.parent;for(;n;){if(n.scopeRef===e)return!0;n=n.parent}return!1}function U(e,t=!1){if(e!=null&&!t)try{se(e)}catch{}else if(e!=null)try{e.focus()}catch{}}function Ct(e,t=!0){let n=e[0].previousElementSibling,r=z(e),i=W(r,{tabbable:t},e);i.currentNode=n;let a=i.nextNode();return t&&!a&&(r=z(e),i=W(r,{tabbable:!1},e),i.currentNode=n,a=i.nextNode()),a}function wt(e,t=!0){U(Ct(e,t))}function Tt(e,t){let n=w.useRef(t);O(()=>{n.current&&(R=e,!V(i(b(e.current?e.current[0]:void 0)),R.current)&&e.current&&wt(e.current)),n.current=!1},[e])}function Et(e,t,n){y(()=>{if(t||n)return;let i=e.current,a=b(i?i[0]:void 0),o=t=>{let n=r(t);V(n,e.current)?R=e:bt(n)||(R=null)};return a.addEventListener(`focusin`,o,!1),i?.forEach(e=>e.addEventListener(`focusin`,o,!1)),()=>{a.removeEventListener(`focusin`,o,!1),i?.forEach(e=>e.removeEventListener(`focusin`,o,!1))}},[e,t,n])}function Dt(e){let t=G.getTreeNode(R);for(;t&&t.scopeRef!==e;){if(t.nodeToRestore)return!1;t=t.parent}return t?.scopeRef===e}function Ot(e,t,n){let r=A(typeof document<`u`?i(b(e.current?e.current[0]:void 0)):null);y(()=>{let r=e.current,a=b(r?r[0]:void 0);if(!t||n)return;let o=()=>{(!R||St(R,e))&&V(i(a),e.current)&&(R=e)};return a.addEventListener(`focusin`,o,!1),r?.forEach(e=>e.addEventListener(`focusin`,o,!1)),()=>{a.removeEventListener(`focusin`,o,!1),r?.forEach(e=>e.removeEventListener(`focusin`,o,!1))}},[e,n]),y(()=>{let r=b(e.current?e.current[0]:void 0);if(!t)return;let i=t=>{if(t.key!==`Tab`||t.altKey||t.ctrlKey||t.metaKey||!B(e)||t.isComposing)return;let n=r.activeElement;if(!H(n,e)||!Dt(e))return;let i=G.getTreeNode(e);if(!i)return;let a=i.nodeToRestore,o=W(r.body,{tabbable:!0});o.currentNode=n;let s=t.shiftKey?o.previousNode():o.nextNode();if((!a||!a.isConnected||a===r.body)&&(a=void 0,i.nodeToRestore=void 0),(!s||!H(s,e))&&a){o.currentNode=a;do s=t.shiftKey?o.previousNode():o.nextNode();while(H(s,e));t.preventDefault(),t.stopPropagation(),s?U(s,!0):bt(a)?U(a,!0):n.blur()}};return n||r.addEventListener(`keydown`,i,!0),()=>{n||r.removeEventListener(`keydown`,i,!0)}},[e,t,n]),y(()=>{let n=b(e.current?e.current[0]:void 0);if(!t)return;let a=G.getTreeNode(e);if(a)return a.nodeToRestore=r.current??void 0,()=>{let r=G.getTreeNode(e);if(!r)return;let a=r.nodeToRestore,o=i(n);if(t&&a&&(o&&H(o,e)||o===n.body&&Dt(e))){let t=G.clone();requestAnimationFrame(()=>{if(n.activeElement===n.body){let n=t.getTreeNode(e);for(;n;){if(n.nodeToRestore&&n.nodeToRestore.isConnected){kt(n.nodeToRestore);return}n=n.parent}for(n=t.getTreeNode(e);n;){if(n.scopeRef&&n.scopeRef.current&&G.getTreeNode(n.scopeRef)){let e=Ct(n.scopeRef.current,!0);if(e){kt(e);return}}n=n.parent}}})}}},[e,t])}function kt(e){e.dispatchEvent(new CustomEvent(mt,{bubbles:!0,cancelable:!0}))&&U(e)}function W(e,t,r){let i=t?.tabbable?n:m,a=b(e?.nodeType===Node.ELEMENT_NODE?e:null),o=ft(a,e||a,NodeFilter.SHOW_ELEMENT,{acceptNode(e){return C(t?.from,e)||t?.tabbable&&e.tagName===`INPUT`&&e.getAttribute(`type`)===`radio`&&(!vt(e)||o.currentNode.tagName===`INPUT`&&o.currentNode.type===`radio`&&o.currentNode.name===e.name)?NodeFilter.FILTER_REJECT:i(e)&&(!r||V(e,r))&&(!t?.accept||t.accept(e))?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});return t?.from&&(o.currentNode=t.from),o}var At=class e{constructor(){this.fastMap=new Map,this.root=new jt({scopeRef:null}),this.fastMap.set(null,this.root)}get size(){return this.fastMap.size}getTreeNode(e){return this.fastMap.get(e)}addTreeNode(e,t,n){let r=this.fastMap.get(t??null);if(!r)return;let i=new jt({scopeRef:e});r.addChild(i),i.parent=r,this.fastMap.set(e,i),n&&(i.nodeToRestore=n)}addNode(e){this.fastMap.set(e.scopeRef,e)}removeTreeNode(e){if(e===null)return;let t=this.fastMap.get(e);if(!t)return;let n=t.parent;for(let e of this.traverse())e!==t&&t.nodeToRestore&&e.nodeToRestore&&t.scopeRef&&t.scopeRef.current&&V(e.nodeToRestore,t.scopeRef.current)&&(e.nodeToRestore=t.nodeToRestore);let r=t.children;n&&(n.removeChild(t),r.size>0&&r.forEach(e=>n&&n.addChild(e))),this.fastMap.delete(t.scopeRef)}*traverse(e=this.root){if(e.scopeRef!=null&&(yield e),e.children.size>0)for(let t of e.children)yield*this.traverse(t)}clone(){let t=new e;for(let e of this.traverse())t.addTreeNode(e.scopeRef,e.parent?.scopeRef??null,e.nodeToRestore);return t}},jt=class{constructor(e){this.children=new Set,this.contain=!1,this.scopeRef=e.scopeRef}addChild(e){this.children.add(e),e.parent=this}removeChild(e){this.children.delete(e),e.parent=void 0}};let G=new At;const Mt=typeof HTMLElement<`u`&&`inert`in HTMLElement.prototype;function Nt(e){return e.dataset.liveAnnouncer===`true`||e.dataset.reactAriaTopLayer!==void 0}let K=new WeakMap,q=[];function Pt(t,n){let r=u(t?.[0]),i=n instanceof r.Element?{root:n}:n,a=i?.root??document.body,o=i?.shouldUseInert&&Mt,s=new Set(t),c=new Set,l=e=>o&&e instanceof r.HTMLElement?e.inert:e.getAttribute(`aria-hidden`)===`true`,d=(e,t)=>{o&&e instanceof r.HTMLElement?e.inert=t:t?e.setAttribute(`aria-hidden`,`true`):(e.removeAttribute(`aria-hidden`),e instanceof r.HTMLElement&&(e.inert=!1))},p=new Set;if(f()){let n=a.getRootNode();for(let r of t){let t=r.getRootNode();for(;e(t)&&t!==n;)p.add(t),t=t.host.getRootNode()}}let m=e=>{for(let t of e.querySelectorAll(`[data-live-announcer], [data-react-aria-top-layer]`))s.add(t);let t=e=>{if(c.has(e)||s.has(e)||e.parentElement&&c.has(e.parentElement)&&e.parentElement.getAttribute(`role`)!==`row`)return NodeFilter.FILTER_REJECT;for(let t of s)if(C(e,t))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},n=ft(b(e),e,NodeFilter.SHOW_ELEMENT,{acceptNode:t}),r=t(e);if(r===NodeFilter.FILTER_ACCEPT&&h(e),r!==NodeFilter.FILTER_REJECT){let e=n.nextNode();for(;e!=null;)h(e),e=n.nextNode()}},h=e=>{let t=K.get(e)??0;l(e)&&t===0||(t===0&&d(e,!0),c.add(e),K.set(e,t+1))};q.length&&q[q.length-1].disconnect(),m(a);let g=new MutationObserver(e=>{for(let t of e)if(t.type===`childList`){if(t.target.isConnected&&![...s,...c].some(e=>C(e,t.target)))for(let e of t.addedNodes)(e instanceof HTMLElement||e instanceof SVGElement)&&Nt(e)?s.add(e):e instanceof Element&&m(e);if(f()){for(let e of p)if(!e.isConnected){g.disconnect();break}}}});g.observe(a,{childList:!0,subtree:!0});let _=new Set;if(f())for(let e of p){let t=new MutationObserver(e=>{for(let t of e)if(t.type===`childList`){if(t.target.isConnected&&![...s,...c].some(e=>C(e,t.target)))for(let e of t.addedNodes)(e instanceof HTMLElement||e instanceof SVGElement)&&Nt(e)?s.add(e):e instanceof Element&&m(e);if(f()){for(let e of p)if(!e.isConnected){g.disconnect();break}}}});t.observe(e,{childList:!0,subtree:!0}),_.add(t)}let v={visibleNodes:s,hiddenNodes:c,observe(){g.observe(a,{childList:!0,subtree:!0})},disconnect(){g.disconnect()}};return q.push(v),()=>{if(g.disconnect(),f())for(let e of _)e.disconnect();for(let e of c){let t=K.get(e);t!=null&&(t===1?(d(e,!1),K.delete(e)):K.set(e,t-1))}v===q[q.length-1]?(q.pop(),q.length&&q[q.length-1].observe()):q.splice(q.indexOf(v),1)}}function Ft(e){let{ref:t,onInteractOutside:n,isDisabled:r,onInteractOutsideStart:i}=e,a=A({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}),o=oe(e=>{n&&It(e,t)&&(i&&i(e),a.current.isPointerDown=!0)}),s=oe(e=>{n&&n(e)});O(()=>{let e=a.current;if(r)return;let n=t.current,i=b(n);if(typeof PointerEvent<`u`){let n=n=>{e.isPointerDown&&It(n,t)&&s(n),e.isPointerDown=!1};return i.addEventListener(`pointerdown`,o,!0),i.addEventListener(`click`,n,!0),()=>{i.removeEventListener(`pointerdown`,o,!0),i.removeEventListener(`click`,n,!0)}}},[t,r])}function It(e,t){if(e.button>0)return!1;let n=r(e);if(n){let e=n.ownerDocument;if(!e||!C(e.documentElement,n)||n.closest(`[data-react-aria-top-layer]`))return!1}return t.current?!e.composedPath().includes(t.current):!1}const J=[];function Lt(e,t){let{onClose:n,shouldCloseOnBlur:i,isOpen:a,isDismissable:o=!1,isKeyboardDismissDisabled:s=!1,shouldCloseOnInteractOutside:c}=e,l=A(void 0);O(()=>{if(a&&!J.includes(t))return J.push(t),()=>{let e=J.indexOf(t);e>=0&&J.splice(e,1)}},[a,t]);let u=()=>{J[J.length-1]===t&&n&&n()},d=e=>{let n=J[J.length-1];l.current=n,(!c||c(r(e)))&&n===t&&e.stopPropagation()},f=e=>{(!c||c(r(e)))&&(J[J.length-1]===t&&e.stopPropagation(),l.current===t&&u()),l.current=void 0},{keyboardProps:p}=ce({shortcuts:{Escape:()=>{if(!s){u();return}return!1}}});Ft({ref:t,onInteractOutside:o&&a?f:void 0,onInteractOutsideStart:d});let{focusWithinProps:m}=te({isDisabled:!i,onBlurWithin:e=>{!e.relatedTarget||xt(e.relatedTarget)||(!c||c(e.relatedTarget))&&n?.()}});return{overlayProps:{...p,...m},underlayProps:{}}}const Y=typeof document<`u`&&window.visualViewport;let X=0,Rt;function zt(e={}){let{isDisabled:t}=e;y(()=>{if(!t)return X++,X===1&&(Rt=me()&&he()?Vt():Bt()),()=>{X--,X===0&&Rt()}},[t])}function Bt(){let e=window.innerWidth-document.documentElement.clientWidth;return v(e>0&&(`scrollbarGutter`in document.documentElement.style?x(document.documentElement,`scrollbar-gutter`,`stable`):x(document.documentElement,`padding-right`,`${e}px`)),x(document.documentElement,`overflow`,`hidden`))}function Vt(){let e=x(document.documentElement,`overflow`,`hidden`),t,n=!1,a=e=>{let i=r(e);t=L(i)?i:st(i,!0),n=!1;let a=i.ownerDocument.defaultView.getSelection();a&&!a.isCollapsed&&a.containsNode(i,!0)&&(n=!0),e.composedPath().some(e=>e instanceof HTMLInputElement&&e.type===`range`)&&(n=!0),`selectionStart`in i&&`selectionEnd`in i&&i.selectionStart<i.selectionEnd&&i.ownerDocument.activeElement===i&&(n=!0)},o=document.createElement(`style`),s=re();s&&(o.nonce=s),o.textContent=`@layer {
|
|
2
|
-
* {
|
|
3
|
-
overscroll-behavior: contain;
|
|
4
|
-
}
|
|
5
|
-
}`,document.head.prepend(o);let c=e=>{if(!(e.touches.length===2||n)){if(!t||t===document.documentElement||t===document.body){e.preventDefault();return}t.scrollHeight===t.clientHeight&&t.scrollWidth===t.clientWidth&&e.preventDefault()}},l=e=>{let t=r(e),n=e.relatedTarget;n&&P(n)?(n.focus({preventScroll:!0}),Ht(n,P(t))):n||(t.parentElement?.closest(`[tabindex]`))?.focus({preventScroll:!0})},u=HTMLElement.prototype.focus;Reflect.defineProperty(HTMLElement.prototype,"focus",{configurable:!0,writable:!0,value:function(e){let t=i(),n=t!=null&&P(t);u.call(this,{...e,preventScroll:!0}),(!e||!e.preventScroll)&&Ht(this,n)}});let f=v(d(document,`touchstart`,a,{passive:!1,capture:!0}),d(document,`touchmove`,c,{passive:!1,capture:!0}),d(document,`blur`,l,!0));return()=>{e(),f(),o.remove(),Reflect.defineProperty(HTMLElement.prototype,"focus",{configurable:!0,writable:!0,value:u})}}function Ht(e,t){t||!Y?Ut(e):Y.addEventListener(`resize`,()=>Ut(e),{once:!0})}function Ut(e){let t=document.scrollingElement||document.documentElement,n=e;for(;n&&n!==t;){let e=st(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;Y&&(n=Math.min(n,Y.offsetTop+Y.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}}var Wt={};Wt={dismiss:`تجاهل`};var Gt={};Gt={dismiss:`Отхвърляне`};var Kt={};Kt={dismiss:`Odstranit`};var qt={};qt={dismiss:`Luk`};var Jt={};Jt={dismiss:`Schließen`};var Yt={};Yt={dismiss:`Απόρριψη`};var Xt={};Xt={dismiss:`Dismiss`};var Zt={};Zt={dismiss:`Descartar`};var Qt={};Qt={dismiss:`Lõpeta`};var $t={};$t={dismiss:`Hylkää`};var en={};en={dismiss:`Rejeter`};var tn={};tn={dismiss:`התעלם`};var nn={};nn={dismiss:`Odbaci`};var rn={};rn={dismiss:`Elutasítás`};var an={};an={dismiss:`Ignora`};var on={};on={dismiss:`閉じる`};var sn={};sn={dismiss:`무시`};var cn={};cn={dismiss:`Atmesti`};var ln={};ln={dismiss:`Nerādīt`};var un={};un={dismiss:`Lukk`};var dn={};dn={dismiss:`Negeren`};var fn={};fn={dismiss:`Zignoruj`};var pn={};pn={dismiss:`Descartar`};var mn={};mn={dismiss:`Dispensar`};var hn={};hn={dismiss:`Revocare`};var gn={};gn={dismiss:`Пропустить`};var _n={};_n={dismiss:`Zrušiť`};var vn={};vn={dismiss:`Opusti`};var yn={};yn={dismiss:`Odbaci`};var bn={};bn={dismiss:`Avvisa`};var xn={};xn={dismiss:`Kapat`};var Sn={};Sn={dismiss:`Скасувати`};var Cn={};Cn={dismiss:`取消`};var wn={};wn={dismiss:`關閉`};var Tn={};Tn={"ar-AE":Wt,"bg-BG":Gt,"cs-CZ":Kt,"da-DK":qt,"de-DE":Jt,"el-GR":Yt,"en-US":Xt,"es-ES":Zt,"et-EE":Qt,"fi-FI":$t,"fr-FR":en,"he-IL":tn,"hr-HR":nn,"hu-HU":rn,"it-IT":an,"ja-JP":on,"ko-KR":sn,"lt-LT":cn,"lv-LV":ln,"nb-NO":un,"nl-NL":dn,"pl-PL":fn,"pt-BR":pn,"pt-PT":mn,"ro-RO":hn,"ru-RU":gn,"sk-SK":_n,"sl-SI":vn,"sr-SP":yn,"sv-SE":bn,"tr-TR":xn,"uk-UA":Sn,"zh-CN":Cn,"zh-TW":wn};function En(e){return e&&e.__esModule?e.default:e}function Dn(e){let{onDismiss:t,...n}=e,r=Me(n,tt(En(Tn),`@react-aria/overlays`).format(`dismiss`)),i=()=>{t&&t()};return w.createElement(ut,null,w.createElement(`button`,{...r,tabIndex:-1,onClick:i,style:{width:1,height:1}}))}function On({children:e}){let t=k(()=>({register:()=>{}}),[]);return w.createElement(ue.Provider,{value:t},e)}const kn=T({});function An(){return D(kn)??{}}const jn=w.createContext(null);function Mn(e){let t=c(),{portalContainer:n=t?null:document.body,isExiting:r}=e,[i,a]=j(!1),o=k(()=>({contain:i,setContain:a}),[i,a]),{getContainer:s}=An();if(!e.portalContainer&&s&&(n=s()),!n)return null;let l=e.children;return e.disableFocusManagement||(l=w.createElement(ht,{restoreFocus:!0,contain:(e.shouldContainFocus||i)&&!r},l)),l=w.createElement(jn.Provider,{value:o},w.createElement(On,null,w.createElement(ie.Provider,{value:null},l))),ke.createPortal(l,n)}function Nn(){let e=D(jn)?.setContain;y(()=>{e?.(!0)},[e])}function Pn(e){let[t,n]=rt(e.isOpen,e.defaultOpen||!1,e.onOpenChange),[r,i]=j(null);return{isOpen:t,setOpen:n,open:E(()=>{n(!0)},[n]),close:E(()=>{n(!1)},[n]),toggle:E(()=>{n(!t)},[n,t]),point:r,setPoint:i}}function Fn(e,t=!0){let[n,r]=j(!0),i=n&&t;return y(()=>{if(i&&e.current&&`getAnimations`in e.current)for(let t of e.current.getAnimations())t instanceof CSSTransition&&t.cancel()},[e,i]),Ln(e,i,E(()=>r(!1),[])),i}function In(e,t){let[n,r]=j(t?`open`:`closed`);switch(n){case`open`:t||r(`exiting`);break;case`closed`:case`exiting`:t&&r(`open`);break}let i=n===`exiting`;return Ln(e,i,E(()=>{r(e=>e===`exiting`?`closed`:e)},[])),i}function Ln(e,t,n){y(()=>{if(t&&e.current){if(!(`getAnimations`in e.current)){n();return}let t=e.current.getAnimations();if(t.length===0){n();return}let r=!1;return Promise.allSettled(t.map(e=>e.finished)).then(()=>{r||Ae(()=>{n()})}),()=>{r=!0}}},[e,t,n])}function Rn(e,t){let{role:n=`dialog`}=e,r=l();r=e[`aria-label`]?void 0:r;let a=l();a=n===`alertdialog`&&!e[`aria-describedby`]?a:void 0;let o=A(!1);O(()=>{if(t.current&&!h(t.current)){se(t.current);let e=setTimeout(()=>{(i()===t.current||i()===document.body)&&(o.current=!0,t.current&&(t.current.blur(),se(t.current)),o.current=!1)},500);return()=>{clearTimeout(e)}}},[t]),Nn(),A(!1),O(()=>{});let s=e[`aria-describedby`]??a;return{dialogProps:{...S(e,{labelable:!0}),role:n,tabIndex:-1,"aria-labelledby":e[`aria-labelledby`]??r,"aria-describedby":s,onBlur:e=>{o.current&&e.stopPropagation()}},titleProps:{id:r},contentProps:{id:a}}}const zn=T(null),Bn=T(null),Vn=Ce(function(e,n){let r=e[`aria-labelledby`];[e,n]=a(e,n,zn);let{dialogProps:i,titleProps:o,contentProps:c}=Rn({...e,"aria-labelledby":r},n),l=D(Bn);!i[`aria-label`]&&!i[`aria-labelledby`]&&e[`aria-labelledby`]&&(i[`aria-labelledby`]=e[`aria-labelledby`]);let u=s({defaultClassName:`react-aria-Dialog`,className:e.className,style:e.style,children:e.children,values:{close:l?.close||(()=>{})}}),d=S(e,{global:!0});return w.createElement(t.section,{..._(d,u,i),render:e.render,ref:n,slot:e.slot||void 0},w.createElement(p,{values:[[it,{slots:{[ge]:{},title:{...o,level:2}}}],[at,{slots:{[ge]:{},description:c}}],[de,{slots:{[ge]:{},close:{onPress:()=>l?.close()}}}]]},u.children))});function Hn(e,t,n){let{overlayProps:r,underlayProps:i}=Lt({...e,isOpen:t.isOpen,onClose:t.close},n);return zt({isDisabled:!t.isOpen}),Nn(),O(()=>{if(t.isOpen&&n.current)return Pt([n.current],{shouldUseInert:!0})},[t.isOpen,n]),{modalProps:_(r),underlayProps:i}}let Z=typeof document<`u`&&window.visualViewport;function Un(){let e=c(),[t,n]=j(()=>e?{width:0,height:0}:Wn());return O(()=>{let e=e=>{n(t=>e.width===t.width&&e.height===t.height?t:e)},t=()=>{Z&&Z.scale>1||e(Wn())},a,o=t=>{Z&&Z.scale>1||P(r(t))&&(a=requestAnimationFrame(()=>{let t=i();(!t||!P(t))&&e({width:document.documentElement.clientWidth,height:document.documentElement.clientHeight})}))};return e(Wn()),me()&&he()&&window.addEventListener(`blur`,o,!0),Z?Z.addEventListener(`resize`,t):window.addEventListener(`resize`,t),()=>{cancelAnimationFrame(a),me()&&he()&&window.removeEventListener(`blur`,o,!0),Z?Z.removeEventListener(`resize`,t):window.removeEventListener(`resize`,t)}},[]),t}function Wn(){return{width:Z?Math.min(Z.width*Z.scale,document.documentElement.clientWidth):document.documentElement.clientWidth,height:Z?Z.height*Z.scale:document.documentElement.clientHeight}}const Gn=T(null),Kn=T(null),qn=Ce(function(e,t){if(D(Kn))return w.createElement(Zn,{...e,modalRef:t},e.children);let{isDismissable:n,isKeyboardDismissDisabled:r,isOpen:i,defaultOpen:a,onOpenChange:o,children:s,isEntering:c,isExiting:l,UNSTABLE_portalContainer:u,shouldCloseOnInteractOutside:d,...f}=e;return w.createElement(Yn,{isDismissable:n,isKeyboardDismissDisabled:r,isOpen:i,defaultOpen:a,onOpenChange:o,isEntering:c,isExiting:l,UNSTABLE_portalContainer:u,shouldCloseOnInteractOutside:d},w.createElement(Zn,{...f,modalRef:t},s))});function Jn(e,t){[e,t]=a(e,t,Gn);let n=D(Bn),r=Pn(e),i=e.isOpen!=null||e.defaultOpen!=null||!n?r:n,o=g(t),s=A(null),l=In(o,i.isOpen),u=In(s,i.isOpen),d=l||u||e.isExiting||!1,f=c();return!i.isOpen&&!d||f?null:w.createElement(Xn,{...e,state:i,isExiting:d,overlayRef:o,modalRef:s})}const Yn=Ce(Jn);function Xn({UNSTABLE_portalContainer:e,...n}){let r=n.modalRef,{state:i}=n,{modalProps:a,underlayProps:o}=Hn(n,i,r),c=Fn(n.overlayRef)||n.isEntering||!1,l=s({...n,defaultClassName:`react-aria-ModalOverlay`,values:{isEntering:c,isExiting:n.isExiting,state:i}}),u=Un(),d,f;if(typeof document<`u`){let e=L(document.body)?document.body:document.scrollingElement||document.documentElement,t=e.getBoundingClientRect().width%1,n=e.getBoundingClientRect().height%1;d=e.scrollWidth-t,f=e.scrollHeight-n}let m={...l.style,"--visual-viewport-width":u.width+`px`,"--visual-viewport-height":u.height+`px`,"--page-width":d===void 0?void 0:d+`px`,"--page-height":f===void 0?void 0:f+`px`};return w.createElement(Mn,{isExiting:n.isExiting,portalContainer:e},w.createElement(t.div,{..._(S(n,{global:!0}),o),...l,style:m,ref:n.overlayRef,"data-entering":c||void 0,"data-exiting":n.isExiting||void 0},w.createElement(p,{values:[[Kn,{modalProps:a,modalRef:r,isExiting:n.isExiting,isDismissable:n.isDismissable}],[Bn,i]]},l.children)))}function Zn(e){let{modalProps:n,modalRef:r,isExiting:i,isDismissable:a}=D(Kn),c=D(Bn),l=g(k(()=>o(e.modalRef,r),[e.modalRef,r])),u=Fn(l),d=s({...e,defaultClassName:`react-aria-Modal`,values:{isEntering:u,isExiting:i,state:c}});return w.createElement(t.div,{..._(S(e,{global:!0}),n),...d,ref:l,"data-entering":u||void 0,"data-exiting":i||void 0},a&&w.createElement(Dn,{onDismiss:c.close}),d.children)}const Qn=M.union([M.string(),M.number(),M.boolean()]),$n=[`id`,`email`,`name`],er=M.function(),tr=e=>M.custom(t=>M.object({[e]:er}).safeParse(t).success),nr=tr(`get_distinct_id`),rr=tr(`get_session_id`),ir=tr(`getUser`),ar=tr(`getInternalContext`),or=M.string(),sr=M.record(M.string(),M.unknown()),cr=M.object({session_id:M.string().optional()}),lr=(e,t)=>{if(!(typeof window>`u`))return t.safeParse(window[e]).data},ur=()=>{try{let e=lr(`posthog`,nr);return or.safeParse(e?.get_distinct_id()).data}catch{return}},dr=()=>{try{let e=lr(`posthog`,rr);return or.safeParse(e?.get_session_id()).data}catch{return}},fr=()=>{try{let e=lr(`DD_RUM`,ir),t=sr.safeParse(e?.getUser());return!t.success||Object.keys(t.data).length===0?void 0:t.data}catch{return}},pr=()=>{try{let e=lr(`DD_RUM`,ar);return cr.safeParse(e?.getInternalContext()).data?.session_id}catch{return}},mr=e=>{let t={...e},n=fr(),r;try{r=JSON.stringify(n)}catch{r=void 0}let i=[[`posthog_distinct_id`,ur()],[`posthog_session_id`,dr()],[`datadog_rum_user`,r],[`datadog_rum_session_id`,pr()],...$n.map(e=>[`datadog_rum_user_${e}`,Qn.safeParse(n?.[e]).data?.toString()])];for(let[e,n]of i)Object.prototype.hasOwnProperty.call(t,e)||n===void 0||n.trim()===``||(t[e]=n);return t},hr=(e,t=!1)=>t?mr(e):e,gr=T({}),_r=()=>D(gr),vr=T({}),yr=({type:e,children:t})=>{let n=k(()=>({type:e}),[e]);return N(vr.Provider,{value:n,children:t})},br=()=>D(vr),xr=T(null),Sr=({children:e,surveyId:t,publishableKey:n,respondent:r,metadata:i={},autoInjectAnalyticsMetadata:a=!1,locale:o,apiBaseUrl:s})=>{let{type:c}=br(),l=_r(),u=l.version??`0.9.5`,d=l.build,f=ee({publishableKey:n,apiBaseUrl:s}),p=A(void 0),[m,h]=j(),g=m?.client===f&&m.surveyId===t?m.data:void 0;O(()=>{let e=new AbortController;return(async()=>{try{let n=`api/v1/cfti/${encodeURIComponent(t)}${o?`?locale=${encodeURIComponent(o)}`:``}`,r=await f.get(n,{signal:e.signal}).json(),i=_e.safeParse(r);if(!i.success||e.signal.aborted)return;h({client:f,surveyId:t,data:i.data})}catch{}})(),()=>e.abort()},[f,o,t]);let _=E(async({answers:e})=>{let n=crypto.randomUUID(),o=ye({metadata:hr(i,a)}),s=await f.put(`api/v1/cfti/${encodeURIComponent(t)}/response/${encodeURIComponent(n)}`,{json:{respondent:r,data:Object.fromEntries(Object.entries(e).filter(e=>e[1]!==void 0)),metadata:o.metadata,warnings:o.warnings,telemetry:{...c!==void 0&&{type:c},version:u,...d&&{build:d}}}}).json();return ve.parse({...s,createdAt:new Date(s.createdAt)})},[a,d,f,i,r,t,u,c]),v=E(()=>{f.post(`api/v1/cfti/${encodeURIComponent(t)}/respondent/${encodeURIComponent(r)}/event`,{json:{type:`dismiss`}}).catch(()=>{})},[f,r,t]);return O(()=>{let e=p.current;e?.client===f&&e.surveyId===t&&e.respondent===r||g&&r&&(p.current={client:f,surveyId:t,respondent:r},f.post(`api/v1/cfti/${encodeURIComponent(t)}/respondent/${encodeURIComponent(r)}/event`,{json:{type:`view`}}).catch(()=>{}))},[f,r,g,t]),g?N(xr.Provider,{value:{submit:_,dismiss:v,surveyId:t,survey:g,metadata:i},children:e}):null},Cr=e=>D(xr)?N(Ee,{children:e.children}):N(Sr,{...e}),wr=()=>{let e=D(xr);if(!e)throw Error(`useSurvey must be used within a SurveyProvider`);return e},Tr={en:{skip:`Skip`,next:`Next`,back:`Back`,submit:`Submit`,submitAnotherResponse:`Submit another response`,other:`Other`,dismiss:`Dismiss`,close:`Close`,optional:`(optional)`,startTyping:`Start typing...`,feedbackSubmitted:`Feedback submitted!`,surveyDialog:`Survey`,unsupportedQuestionType:`Unsupported question type`,bugReportTitlePlaceholder:`Brief description of the issue`,bugReportDetailsPlaceholder:`Steps to reproduce, expected vs actual behavior, etc.`,attachments:`Attachments`,capturing:`Capturing...`,screenshot:`Screenshot`,screenshotPreview:`Screenshot preview`,removeScreenshot:`Remove screenshot`,loadingRecordingPreview:`Loading recording preview...`,removeRecording:`Remove recording`,record:`Record`,captureError:`Failed to capture screenshot. Please try again.`,recordingError:`Failed to start recording. Please try again.`},zh:{skip:`跳过`,next:`下一步`,back:`上一步`,submit:`提交`,submitAnotherResponse:`提交另一份回复`,other:`其他`,dismiss:`忽略`,close:`关闭`,optional:`(选填)`,startTyping:`开始输入…`,feedbackSubmitted:`反馈已提交!`,surveyDialog:`调查对话框`,unsupportedQuestionType:`不支持的问题类型`,bugReportTitlePlaceholder:`在此输入问题标题`,bugReportDetailsPlaceholder:`在此输入问题内容`,attachments:`附件`,capturing:`截屏中…`,screenshot:`截图`,screenshotPreview:`截图预览`,removeScreenshot:`移除截图`,loadingRecordingPreview:`录像加载中…`,removeRecording:`移除录像`,record:`录制`,captureError:`截图失败,请重试。`,recordingError:`录制启动失败,请重试。`},ms:{skip:`Langkau`,next:`Seterusnya`,back:`Kembali`,submit:`Hantar`,submitAnotherResponse:`Hantar respons lain`,other:`Lain-lain`,dismiss:`Tutup`,close:`Tutup`,optional:`(Pilihan)`,startTyping:`Mula menaip...`,feedbackSubmitted:`Maklum balas dihantar!`,surveyDialog:`Tinjauan`,unsupportedQuestionType:`Jenis soalan tidak disokong`,bugReportTitlePlaceholder:`Penerangan ringkas tentang isu`,bugReportDetailsPlaceholder:`Langkah untuk mengulang semula, tingkah laku dijangka berbanding sebenar, dll.`,attachments:`Lampiran`,capturing:`Sedang menangkap...`,screenshot:`Tangkapan skrin`,screenshotPreview:`Pratonton tangkapan skrin`,removeScreenshot:`Alih keluar tangkapan skrin`,loadingRecordingPreview:`Memuatkan pratonton rakaman...`,removeRecording:`Alih keluar rakaman`,record:`Rakam`,captureError:`Gagal menangkap tangkapan skrin. Sila cuba lagi.`,recordingError:`Gagal memulakan rakaman. Sila cuba lagi.`},ta:{skip:`தவிர்க்கவும்`,next:`அடுத்து`,back:`பின்செல்`,submit:`சமர்ப்பிக்கவும்`,submitAnotherResponse:`மற்றொரு பதிலைச் சமர்ப்பிக்கவும்`,other:`மற்றவை`,dismiss:`மூடு`,close:`மூடு`,optional:`(கட்டாயமில்லை)`,startTyping:`தட்டச்சு செய்யத் தொடங்கவும்...`,feedbackSubmitted:`கருத்து சமர்ப்பிக்கப்பட்டது!`,surveyDialog:`கருத்துக்கணிப்பு`,unsupportedQuestionType:`ஆதரிக்கப்படாத கேள்வி வகை`,bugReportTitlePlaceholder:`சிக்கலின் சுருக்கமான விளக்கம்`,bugReportDetailsPlaceholder:`சிக்கல் எப்படி ஏற்பட்டது, நீங்கள் என்ன எதிர்பார்த்தீர்கள், மேலும் என்ன நடந்தது என்பதை விவரிக்கவும்`,attachments:`இணைப்புகள்`,capturing:`ஸ்கிரீன்ஷாட் எடுக்கப்படுகிறது...`,screenshot:`ஸ்கிரீன்ஷாட்`,screenshotPreview:`ஸ்கிரீன்ஷாட் முன்னோட்டம்`,removeScreenshot:`ஸ்கிரீன்ஷாட்டை அகற்று`,loadingRecordingPreview:`பதிவு முன்னோட்டம் தயாராகிறது...`,removeRecording:`பதிவை அகற்று`,record:`பதிவுசெய்`,captureError:`ஸ்கிரீன்ஷாட் எடுக்க முடியவில்லை. மீண்டும் முயற்சிக்கவும்.`,recordingError:`பதிவைத் தொடங்க முடியவில்லை. மீண்டும் முயற்சிக்கவும்.`}},Q=(e=`en`)=>Tr[e],$=(e,t,n)=>!e||e===Tr.en[t]?Q(n)[t]:e,Er=(e,t)=>e===Tr.en.other?Q(t).other:e,Dr=(e,t)=>$(e,`close`,t),Or=(e,t)=>$(e,`feedbackSubmitted`,t),kr=(e,t)=>$(e,`bugReportTitlePlaceholder`,t),Ar=(e,t)=>$(e,`bugReportDetailsPlaceholder`,t),jr=()=>{let[e,t]=j(!1);return O(()=>{let e=e=>{let n=be.safeParse(e);n.error||t(n.data.detail.isRecording)};return document.addEventListener(xe,e),()=>document.removeEventListener(xe,e)},[]),e},Mr=({className:e,iconClassName:t,onClose:n,locale:r})=>jr()?null:N(`button`,{type:`button`,className:e,"aria-label":Q(r).dismiss,onClick:n,children:N(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 16 16`,fill:`none`,className:t,children:N(`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`})})}),Nr=({children:e,classNames:t,isDismissable:n,onDismiss:r,onClose:i,closeOnFinishMs:a,isSubmitted:o,onSubmitted:s,locale:c})=>{let{survey:l,surveyId:u,dismiss:d}=wr(),[f,p]=j(!1);return Te(()=>{l&&i?.()},f?a:null),De(Vn,{"aria-label":Q(c).surveyDialog,id:`${u}-popover`,className:Oe(`confetti-modal-dialog ${Se}`,t?.dialog),children:[n&&N(Mr,{className:Oe(`confetti-modal-dialog-close`,t?.closeButton),iconClassName:t?.icon,locale:c,onClose:async()=>{!o&&!f&&(await d(),r?.()),i?.()}}),typeof e==`function`?e({setIsSubmitted:()=>s?.(),setIsFinished:()=>p(!0)}):e]})},Pr=({children:e,classNames:t,onDismiss:n,onClose:r,isDismissable:i=!0,closeOnFinishMs:a=3e3,locale:o})=>{let{dismiss:s}=wr(),[c,l]=j(!1);return N(Yn,{isOpen:!0,isDismissable:i,isKeyboardDismissDisabled:!i,onOpenChange:async e=>{e||(c||(await s(),n?.()),r?.())},className:Oe(`confetti-modal-overlay ${Se}`,t?.overlay),children:N(qn,{className:Oe(`confetti-modal ${Se}`,t?.modal),children:N(Nr,{classNames:t,isDismissable:i,onDismiss:n,onClose:r,closeOnFinishMs:a,isSubmitted:c,onSubmitted:()=>l(!0),locale:o,children:e})})})};export{ot as _,Q as a,He as b,Dr as c,xr as d,Cr as f,ut as g,W as h,jr as i,Or as l,yr as m,Nr as n,Ar as o,wr as p,Mr as r,kr as s,Pr as t,Er as u,at as v,Me as x,rt as y};
|