@opengovsg/confetti 0.9.6 → 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.
@@ -1,4 +1,4 @@
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-CY-dkNEH.js";
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
 
@@ -1 +1 @@
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-CC1CtU6n.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.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(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};
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};
@@ -1,4 +1,4 @@
1
- import { r as Locale } from "./index-CY-dkNEH.js";
1
+ import { r as Locale } from "./index-Bw3Vmeyu.js";
2
2
 
3
3
  //#region src/components/container/ModalContainer.d.ts
4
4
  interface ModalContainerProps {
@@ -2,4 +2,4 @@ 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 a
2
2
  * {
3
3
  overscroll-behavior: contain;
4
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=>M.custom(t=>M.object({[e]:$n}).safeParse(t).success),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.6`,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};
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-DQBUwHtc.js";
1
+ import { r as ModalContent } from "./ModalContainer-DQD9jvoG.js";
2
2
  export { ModalContent as UnstableModalContent };
@@ -1 +1 @@
1
- import{n as e}from"./ModalContainer-CC1CtU6n.js";export{e as UnstableModalContent};
1
+ import{n as e}from"./ModalContainer-igsKZUi1.js";export{e as UnstableModalContent};
@@ -1,6 +1,6 @@
1
- import { c as MultiSelectQuestionProperties, d as StatementQuestionProperties, f as TextQuestionProperties, l as RatingQuestionProperties, r as Locale, u as SingleSelectQuestionProperties } from "./index-CY-dkNEH.js";
2
- import { n as ModalContainerProps, t as ModalContainer } from "./ModalContainer-DQBUwHtc.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-2TBhK5S4.js";
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
@@ -1 +1 @@
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-CC1CtU6n.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-BOZRR5fH.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};
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
package/build/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { r as Locale } from "./index-CY-dkNEH.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-2TBhK5S4.js";
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';
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-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.6`},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.6`},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.6`},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.6`},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.6`},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,4 +1,4 @@
1
- import { p as BinaryOperatorCondition } from "./index-CY-dkNEH.js";
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
package/build/static.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { r as Locale } from "./index-CY-dkNEH.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-2TBhK5S4.js";
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 {
package/build/static.js CHANGED
@@ -1 +1 @@
1
- import{t as e}from"./DefaultConfettiTrigger-DfKhP7hV.js";import{f as t,m as n,t as r}from"./ModalContainer-CC1CtU6n.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-BOZRR5fH.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};
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.6",
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.4.3"
78
+ "zod": "4.6.7"
79
79
  },
80
80
  "peerDependencies": {
81
81
  "react": "^18.2.0 || ^19.0.0",