youverify-liveness-web 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js ADDED
@@ -0,0 +1,3425 @@
1
+ (function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode('@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap";*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.static{position:static}.absolute{position:absolute}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-12{margin-bottom:3rem}.mt-12{margin-top:3rem}.flex{display:flex}.hidden{display:none}.h-10{height:2.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-full{height:100%}.w-10{width:2.5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-7{width:1.75rem}.w-full{width:100%}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-125{--tw-scale-x: 1.25;--tw-scale-y: 1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-col{flex-direction:column}.justify-center{justify-content:center}.border-t{border-top-width:1px}.p-0{padding:0}.text-xs{font-size:.75rem;line-height:1rem}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.opacity-0{opacity:0}.opacity-100{opacity:1}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.subtext{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.subtext:where([liveness-web-sdk-color-scheme=dark],[liveness-web-sdk-color-scheme=dark] *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.divider{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.divider:where([liveness-web-sdk-color-scheme=dark],[liveness-web-sdk-color-scheme=dark] *){--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}.dark\\:block:where([liveness-web-sdk-color-scheme=dark],[liveness-web-sdk-color-scheme=dark] *){display:block}.dark\\:hidden:where([liveness-web-sdk-color-scheme=dark],[liveness-web-sdk-color-scheme=dark] *){display:none}._root_1c7fw_1{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:DM Sans,sans-serif;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;height:100vh;width:100vw;height:-webkit-fill-available;align-items:center;justify-content:center;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1)}._root_1c7fw_1[data-closed]{opacity:0}._root_1c7fw_1._modal_1c7fw_9{background-color:#0000004d}@media (min-width: 768px){._root_1c7fw_1._modal_1c7fw_9{padding:1rem}._root_1c7fw_1._modal_1c7fw_9 ._container_1c7fw_12{border-radius:.75rem}._root_1c7fw_1._page_1c7fw_15{padding:0}}._root_1c7fw_1 ._close_1c7fw_18{position:absolute;top:.5rem;left:.5rem;display:flex;align-items:center;justify-content:center;height:1.5rem;width:1.5rem;border-radius:9999px;background-color:#00000080}._root_1c7fw_1 ._close_1c7fw_18 svg{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}._root_1c7fw_1 ._close_1c7fw_18 svg:hover{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}._root_1c7fw_1 ._container_1c7fw_12{height:100%;width:100%;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}._root_1c7fw_1 ._container_1c7fw_12:where([liveness-web-sdk-color-scheme=dark],[liveness-web-sdk-color-scheme=dark] *){--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}._root_dndkf_1{height:100%}._root_dndkf_1 ._container_dndkf_4{display:flex;height:100%}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7{display:none;width:20%;flex-direction:column;justify-content:space-between}@media (min-width: 1280px){._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7{display:flex}}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7{padding-top:.75rem;padding-bottom:.75rem}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11{padding-left:1.5rem;padding-right:1.5rem}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11 ol{position:relative;margin:0;list-style-type:none;padding:0}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11 ol li{counter-increment:item;margin-bottom:24px;position:relative;font-size:.875rem;line-height:1.25rem;display:flex;align-items:center}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11 ol li:before{width:28px;height:28px;border-radius:9999px;border-width:2px;--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11 ol li:where([liveness-web-sdk-color-scheme=dark],[liveness-web-sdk-color-scheme=dark] *):before{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11 ol li:before{margin-right:1rem;display:flex;align-items:center;justify-content:center;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11 ol li:where([liveness-web-sdk-color-scheme=dark],[liveness-web-sdk-color-scheme=dark] *):before{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11 ol li:before{content:counter(item);flex-shrink:0}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11 ol li._active_dndkf_32{font-weight:500}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11 ol li._active_dndkf_32:where([liveness-web-sdk-color-scheme=dark],[liveness-web-sdk-color-scheme=dark] *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11 ol li._active_dndkf_32:before{background-color:var(--branding-color);border-style:none;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11 ol li._completed_dndkf_39{font-weight:500;text-decoration-line:line-through}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11 ol li._completed_dndkf_39:where([liveness-web-sdk-color-scheme=dark],[liveness-web-sdk-color-scheme=dark] *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11 ol li._completed_dndkf_39:before{background-color:var(--branding-color);border-style:none;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11 ol li:after{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11 ol li:where([liveness-web-sdk-color-scheme=dark],[liveness-web-sdk-color-scheme=dark] *):after{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11 ol li:after{top:28px;bottom:-24px;left:14px;content:"";position:absolute;width:1px}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 ._info_dndkf_11 ol li:last-child:after{content:none}._root_dndkf_1 ._container_dndkf_4 ._lhs_dndkf_7 footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem}._root_dndkf_1 ._container_dndkf_4 ._rhs_dndkf_62{display:none;width:20%}._root_dndkf_1 ._container_dndkf_4 ._rhs_dndkf_62>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}._root_dndkf_1 ._container_dndkf_4 ._rhs_dndkf_62{padding-top:.75rem;padding-bottom:.75rem}@media (min-width: 1280px){._root_dndkf_1 ._container_dndkf_4 ._rhs_dndkf_62{display:block}}._root_dndkf_1 ._container_dndkf_4 ._rhs_dndkf_62 ._profile_dndkf_65{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem}._root_dndkf_1 ._container_dndkf_4 ._rhs_dndkf_62 ._profile_dndkf_65 ._avatar_dndkf_68{height:2.5rem;width:2.5rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}._root_dndkf_1 ._container_dndkf_4 ._rhs_dndkf_62 ._profile_dndkf_65 ._avatar_dndkf_68:where([liveness-web-sdk-color-scheme=dark],[liveness-web-sdk-color-scheme=dark] *){--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}._root_dndkf_1 ._container_dndkf_4 ._rhs_dndkf_62 ._profile_dndkf_65 ._avatar_dndkf_68{display:flex;align-items:center;justify-content:center;font-size:1.125rem;line-height:1.75rem;font-weight:500}._root_dndkf_1 ._container_dndkf_4 ._rhs_dndkf_62 ._profile_dndkf_65 h4{margin-bottom:-.25rem;text-overflow:ellipsis;font-weight:600;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}._root_dndkf_1 ._container_dndkf_4 ._rhs_dndkf_62 ._profile_dndkf_65 h4:where([liveness-web-sdk-color-scheme=dark],[liveness-web-sdk-color-scheme=dark] *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}._root_dndkf_1 ._container_dndkf_4 ._rhs_dndkf_62 ._profile_dndkf_65 p{margin-top:0;margin-bottom:0;font-size:.75rem;line-height:1rem}._root_dndkf_1 ._container_dndkf_4 ._rhs_dndkf_62 footer>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}._root_dndkf_1 ._container_dndkf_4 ._rhs_dndkf_62 footer{padding-left:1.5rem;padding-right:1.5rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}._root_dndkf_1 ._container_dndkf_4 ._main_dndkf_81{flex:1 1 0%}@media (min-width: 768px){._root_dndkf_1 ._container_dndkf_4 ._main_dndkf_81{padding-top:1rem;padding-bottom:1rem}}._root_dndkf_1 ._container_dndkf_4 ._main_dndkf_81 ._content_dndkf_84{margin-left:auto;margin-right:auto;height:100%;width:100%;overflow:hidden;border-radius:1rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}._root_dndkf_1 ._container_dndkf_4 ._main_dndkf_81 ._content_dndkf_84:where([liveness-web-sdk-color-scheme=dark],[liveness-web-sdk-color-scheme=dark] *){--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}._root_dndkf_1 ._container_dndkf_4 ._main_dndkf_81 ._content_dndkf_84{max-width:500px}._root_dndkf_1 ._container_dndkf_4 ._main_dndkf_81 ._completed_dndkf_39{display:flex;height:100%;width:100%;align-items:center;justify-content:center}._root_135td_1 ._container_135td_1 ._brand_135td_1{display:flex;align-items:center;gap:7px;font-weight:600}._root_1w5nq_1{position:relative;height:100%;width:100%}._root_1w5nq_1 video{height:100%;width:100%;object-fit:cover;transform:scaleX(-1)}._container_1ap2u_1{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-image:radial-gradient(circle at 50% 50%,transparent 1400px,rgba(255,255,255,0) 100%)}._container_1ap2u_1:where([liveness-web-sdk-color-scheme=dark],[liveness-web-sdk-color-scheme=dark] *){background-image:radial-gradient(circle at 50% 50%,transparent 1400px,rgba(0,0,0,0) 100%)}._container_1ap2u_1{z-index:1}._container_1ap2u_1:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;background-image:radial-gradient(circle at 50% 50%,transparent 140px,rgba(255,255,255,.5) 101px)}._container_1ap2u_1:where([liveness-web-sdk-color-scheme=dark],[liveness-web-sdk-color-scheme=dark] *):before{background-image:radial-gradient(circle at 50% 50%,transparent 140px,rgba(0,0,0,.8) 101px)}._container_1ap2u_1:before{transition:opacity .3s linear}._container_1ap2u_1._focused_1ap2u_12:before{opacity:1}._container_1ap2u_1 ._progress_1ap2u_15{position:relative;height:280px;width:280px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid gray}._container_1ap2u_1 ._progress_1ap2u_15 div{position:absolute;height:3px;transform-origin:50%;border-radius:2px;width:5px;background-color:gray;transition-property:background-color,transform,width;transition-duration:.3s;transition-timing-function:ease-in-out}._container_1ap2u_1 ._progress_1ap2u_15 div._completed_1ap2u_36{width:20px;background-color:#07da63}._container_1ap2u_1 ._marker_1ap2u_40{position:relative;width:280px;height:280px}._container_1ap2u_1 ._marker_1ap2u_40>div{position:absolute;height:1.75rem;width:1.75rem;border-width:2px;--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}._container_1ap2u_1 ._marker_1ap2u_40>div:first-child{top:-.25rem;left:-.25rem;border-top-left-radius:50%;border-bottom-width:0px;border-right-width:0px}._container_1ap2u_1 ._marker_1ap2u_40>div:nth-child(2){top:-.25rem;right:-.25rem;border-top-right-radius:50%;border-bottom-width:0px;border-left-width:0px}._container_1ap2u_1 ._marker_1ap2u_40>div:nth-child(3){bottom:-.25rem;left:-.25rem;border-bottom-left-radius:50%;border-top-width:0px;border-right-width:0px}._container_1ap2u_1 ._marker_1ap2u_40>div:last-child{bottom:-.25rem;right:-.25rem;border-bottom-right-radius:50%;border-top-width:0px;border-left-width:0px}._root_13gis_1{height:100%;text-align:center}._root_13gis_1 ._container_13gis_4{position:relative;height:100%}._root_13gis_1 ._container_13gis_4 ._progress_13gis_7{background-color:var(--branding-color);position:absolute;top:0;left:0;height:4px;border-radius:.5rem;z-index:2}._root_13gis_1 ._container_13gis_4 ._intro_13gis_12{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 1rem}._root_13gis_1 ._container_13gis_4 ._content_13gis_15{height:75%;width:100%}._root_13gis_1 ._container_13gis_4 ._branding_13gis_18{position:absolute;left:0;right:0;bottom:1.5rem;text-align:center;font-size:.75rem;line-height:1rem;font-weight:500;display:flex;align-items:center;justify-content:center}._root_13gis_1 ._container_13gis_4 ._branding_13gis_18>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}._root_13gis_1 ._container_13gis_4 ._instructions_13gis_22{margin-left:auto;margin-right:auto;padding:1rem 1rem 1.5rem;text-align:center;max-width:400px}._root_13gis_1 ._container_13gis_4 h2{margin-top:.5rem;margin-bottom:.5rem;font-size:1.5rem;line-height:2rem;font-weight:900}._root_13gis_1 ._container_13gis_4 h2:where([liveness-web-sdk-color-scheme=dark],[liveness-web-sdk-color-scheme=dark] *){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}._root_13gis_1 ._container_13gis_4 p{font-size:.875rem;line-height:1.25rem;font-weight:300;max-width:400px}._root_13gis_1 ._container_13gis_4 button{color:var(--branding-color);border-color:var(--branding-color);border-radius:9999px;border-width:2px;padding:.5rem 2rem;font-weight:500}._root_13gis_1 ._container_13gis_4 button:hover{background-color:var(--branding-color);--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}._root_56kz0_1{text-align:center;display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem .75rem}._root_56kz0_1 h2{margin-top:.5rem;margin-bottom:.5rem;font-size:1.5rem;line-height:2rem;font-weight:900}._root_56kz0_1 h2:where([liveness-web-sdk-color-scheme=dark],[liveness-web-sdk-color-scheme=dark] *){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}._root_56kz0_1 p{font-size:.875rem;line-height:1.25rem;font-weight:300;max-width:400px}._root_56kz0_1 button{color:var(--branding-color);border-color:var(--branding-color);border-radius:9999px;border-width:2px;padding:.5rem 2rem;font-weight:500}._root_56kz0_1 button:hover{background-color:var(--branding-color);--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}._root_gcbg2_1{position:absolute;top:0;right:0;bottom:0;left:0}._root_gcbg2_1 ._sticker_gcbg2_4{position:absolute}._root_gcbg2_1 ._sticker_gcbg2_4._no_gcbg2_7{top:2.5rem;left:1.5rem;border-width:4px;--tw-border-opacity: 1;border-color:rgb(248 113 113 / var(--tw-border-opacity));padding:.5rem 1rem;--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);stroke:#fff;font-size:2.25rem;line-height:2.5rem;font-weight:900;letter-spacing:.1em;--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity));transform:rotate(335deg)}._root_gcbg2_1 ._sticker_gcbg2_4._yes_gcbg2_12{top:2.5rem;right:1.5rem;border-width:4px;--tw-border-opacity: 1;border-color:rgb(74 222 128 / var(--tw-border-opacity));padding:.5rem 1rem;--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);stroke:#fff;font-size:2.25rem;line-height:2.5rem;font-weight:900;letter-spacing:.1em;--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity));transform:rotate(45deg)}')),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
+ import * as Xe from "react";
3
+ import F, { useRef as x, useCallback as P, useEffect as H, useState as j, useMemo as G, useLayoutEffect as Zr, createContext as oe, useContext as _, forwardRef as Jr, Fragment as re, isValidElement as Xr, cloneElement as zr, createElement as $r, useId as et, useSyncExternalStore as _r, useReducer as eo, createRef as to } from "react";
4
+ import no, { createPortal as kn } from "react-dom";
5
+ var Ht = { exports: {} }, Qe = {};
6
+ /**
7
+ * @license React
8
+ * react-jsx-runtime.production.min.js
9
+ *
10
+ * Copyright (c) Facebook, Inc. and its affiliates.
11
+ *
12
+ * This source code is licensed under the MIT license found in the
13
+ * LICENSE file in the root directory of this source tree.
14
+ */
15
+ var Cn;
16
+ function ro() {
17
+ if (Cn) return Qe;
18
+ Cn = 1;
19
+ var e = F, t = Symbol.for("react.element"), n = Symbol.for("react.fragment"), r = Object.prototype.hasOwnProperty, o = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, i = { key: !0, ref: !0, __self: !0, __source: !0 };
20
+ function s(l, a, d) {
21
+ var u, m = {}, h = null, p = null;
22
+ d !== void 0 && (h = "" + d), a.key !== void 0 && (h = "" + a.key), a.ref !== void 0 && (p = a.ref);
23
+ for (u in a) r.call(a, u) && !i.hasOwnProperty(u) && (m[u] = a[u]);
24
+ if (l && l.defaultProps) for (u in a = l.defaultProps, a) m[u] === void 0 && (m[u] = a[u]);
25
+ return { $$typeof: t, type: l, key: h, ref: p, props: m, _owner: o.current };
26
+ }
27
+ return Qe.Fragment = n, Qe.jsx = s, Qe.jsxs = s, Qe;
28
+ }
29
+ var Pe = {};
30
+ /**
31
+ * @license React
32
+ * react-jsx-runtime.development.js
33
+ *
34
+ * Copyright (c) Facebook, Inc. and its affiliates.
35
+ *
36
+ * This source code is licensed under the MIT license found in the
37
+ * LICENSE file in the root directory of this source tree.
38
+ */
39
+ var Tn;
40
+ function oo() {
41
+ return Tn || (Tn = 1, process.env.NODE_ENV !== "production" && function() {
42
+ var e = F, t = Symbol.for("react.element"), n = Symbol.for("react.portal"), r = Symbol.for("react.fragment"), o = Symbol.for("react.strict_mode"), i = Symbol.for("react.profiler"), s = Symbol.for("react.provider"), l = Symbol.for("react.context"), a = Symbol.for("react.forward_ref"), d = Symbol.for("react.suspense"), u = Symbol.for("react.suspense_list"), m = Symbol.for("react.memo"), h = Symbol.for("react.lazy"), p = Symbol.for("react.offscreen"), v = Symbol.iterator, E = "@@iterator";
43
+ function A(c) {
44
+ if (c === null || typeof c != "object")
45
+ return null;
46
+ var g = v && c[v] || c[E];
47
+ return typeof g == "function" ? g : null;
48
+ }
49
+ var y = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
50
+ function b(c) {
51
+ {
52
+ for (var g = arguments.length, w = new Array(g > 1 ? g - 1 : 0), R = 1; R < g; R++)
53
+ w[R - 1] = arguments[R];
54
+ B("error", c, w);
55
+ }
56
+ }
57
+ function B(c, g, w) {
58
+ {
59
+ var R = y.ReactDebugCurrentFrame, O = R.getStackAddendum();
60
+ O !== "" && (g += "%s", w = w.concat([O]));
61
+ var L = w.map(function(I) {
62
+ return String(I);
63
+ });
64
+ L.unshift("Warning: " + g), Function.prototype.apply.call(console[c], console, L);
65
+ }
66
+ }
67
+ var T = !1, C = !1, M = !1, N = !1, k = !1, q;
68
+ q = Symbol.for("react.module.reference");
69
+ function le(c) {
70
+ return !!(typeof c == "string" || typeof c == "function" || c === r || c === i || k || c === o || c === d || c === u || N || c === p || T || C || M || typeof c == "object" && c !== null && (c.$$typeof === h || c.$$typeof === m || c.$$typeof === s || c.$$typeof === l || c.$$typeof === a || // This needs to include all possible module reference object
71
+ // types supported by any Flight configuration anywhere since
72
+ // we don't know which Flight build this will end up being used
73
+ // with.
74
+ c.$$typeof === q || c.getModuleId !== void 0));
75
+ }
76
+ function ie(c, g, w) {
77
+ var R = c.displayName;
78
+ if (R)
79
+ return R;
80
+ var O = g.displayName || g.name || "";
81
+ return O !== "" ? w + "(" + O + ")" : w;
82
+ }
83
+ function $(c) {
84
+ return c.displayName || "Context";
85
+ }
86
+ function W(c) {
87
+ if (c == null)
88
+ return null;
89
+ if (typeof c.tag == "number" && b("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof c == "function")
90
+ return c.displayName || c.name || null;
91
+ if (typeof c == "string")
92
+ return c;
93
+ switch (c) {
94
+ case r:
95
+ return "Fragment";
96
+ case n:
97
+ return "Portal";
98
+ case i:
99
+ return "Profiler";
100
+ case o:
101
+ return "StrictMode";
102
+ case d:
103
+ return "Suspense";
104
+ case u:
105
+ return "SuspenseList";
106
+ }
107
+ if (typeof c == "object")
108
+ switch (c.$$typeof) {
109
+ case l:
110
+ var g = c;
111
+ return $(g) + ".Consumer";
112
+ case s:
113
+ var w = c;
114
+ return $(w._context) + ".Provider";
115
+ case a:
116
+ return ie(c, c.render, "ForwardRef");
117
+ case m:
118
+ var R = c.displayName || null;
119
+ return R !== null ? R : W(c.type) || "Memo";
120
+ case h: {
121
+ var O = c, L = O._payload, I = O._init;
122
+ try {
123
+ return W(I(L));
124
+ } catch {
125
+ return null;
126
+ }
127
+ }
128
+ }
129
+ return null;
130
+ }
131
+ var ae = Object.assign, ue = 0, fe, me, Te, se, U, K, it;
132
+ function Ae() {
133
+ }
134
+ Ae.__reactDisabledLog = !0;
135
+ function Ye() {
136
+ {
137
+ if (ue === 0) {
138
+ fe = console.log, me = console.info, Te = console.warn, se = console.error, U = console.group, K = console.groupCollapsed, it = console.groupEnd;
139
+ var c = {
140
+ configurable: !0,
141
+ enumerable: !0,
142
+ value: Ae,
143
+ writable: !0
144
+ };
145
+ Object.defineProperties(console, {
146
+ info: c,
147
+ log: c,
148
+ warn: c,
149
+ error: c,
150
+ group: c,
151
+ groupCollapsed: c,
152
+ groupEnd: c
153
+ });
154
+ }
155
+ ue++;
156
+ }
157
+ }
158
+ function Le() {
159
+ {
160
+ if (ue--, ue === 0) {
161
+ var c = {
162
+ configurable: !0,
163
+ enumerable: !0,
164
+ writable: !0
165
+ };
166
+ Object.defineProperties(console, {
167
+ log: ae({}, c, {
168
+ value: fe
169
+ }),
170
+ info: ae({}, c, {
171
+ value: me
172
+ }),
173
+ warn: ae({}, c, {
174
+ value: Te
175
+ }),
176
+ error: ae({}, c, {
177
+ value: se
178
+ }),
179
+ group: ae({}, c, {
180
+ value: U
181
+ }),
182
+ groupCollapsed: ae({}, c, {
183
+ value: K
184
+ }),
185
+ groupEnd: ae({}, c, {
186
+ value: it
187
+ })
188
+ });
189
+ }
190
+ ue < 0 && b("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
191
+ }
192
+ }
193
+ var he = y.ReactCurrentDispatcher, Rt;
194
+ function at(c, g, w) {
195
+ {
196
+ if (Rt === void 0)
197
+ try {
198
+ throw Error();
199
+ } catch (O) {
200
+ var R = O.stack.trim().match(/\n( *(at )?)/);
201
+ Rt = R && R[1] || "";
202
+ }
203
+ return `
204
+ ` + Rt + c;
205
+ }
206
+ }
207
+ var Dt = !1, st;
208
+ {
209
+ var br = typeof WeakMap == "function" ? WeakMap : Map;
210
+ st = new br();
211
+ }
212
+ function un(c, g) {
213
+ if (!c || Dt)
214
+ return "";
215
+ {
216
+ var w = st.get(c);
217
+ if (w !== void 0)
218
+ return w;
219
+ }
220
+ var R;
221
+ Dt = !0;
222
+ var O = Error.prepareStackTrace;
223
+ Error.prepareStackTrace = void 0;
224
+ var L;
225
+ L = he.current, he.current = null, Ye();
226
+ try {
227
+ if (g) {
228
+ var I = function() {
229
+ throw Error();
230
+ };
231
+ if (Object.defineProperty(I.prototype, "props", {
232
+ set: function() {
233
+ throw Error();
234
+ }
235
+ }), typeof Reflect == "object" && Reflect.construct) {
236
+ try {
237
+ Reflect.construct(I, []);
238
+ } catch (X) {
239
+ R = X;
240
+ }
241
+ Reflect.construct(c, [], I);
242
+ } else {
243
+ try {
244
+ I.call();
245
+ } catch (X) {
246
+ R = X;
247
+ }
248
+ c.call(I.prototype);
249
+ }
250
+ } else {
251
+ try {
252
+ throw Error();
253
+ } catch (X) {
254
+ R = X;
255
+ }
256
+ c();
257
+ }
258
+ } catch (X) {
259
+ if (X && R && typeof X.stack == "string") {
260
+ for (var D = X.stack.split(`
261
+ `), V = R.stack.split(`
262
+ `), Y = D.length - 1, Q = V.length - 1; Y >= 1 && Q >= 0 && D[Y] !== V[Q]; )
263
+ Q--;
264
+ for (; Y >= 1 && Q >= 0; Y--, Q--)
265
+ if (D[Y] !== V[Q]) {
266
+ if (Y !== 1 || Q !== 1)
267
+ do
268
+ if (Y--, Q--, Q < 0 || D[Y] !== V[Q]) {
269
+ var te = `
270
+ ` + D[Y].replace(" at new ", " at ");
271
+ return c.displayName && te.includes("<anonymous>") && (te = te.replace("<anonymous>", c.displayName)), typeof c == "function" && st.set(c, te), te;
272
+ }
273
+ while (Y >= 1 && Q >= 0);
274
+ break;
275
+ }
276
+ }
277
+ } finally {
278
+ Dt = !1, he.current = L, Le(), Error.prepareStackTrace = O;
279
+ }
280
+ var Se = c ? c.displayName || c.name : "", Fe = Se ? at(Se) : "";
281
+ return typeof c == "function" && st.set(c, Fe), Fe;
282
+ }
283
+ function Cr(c, g, w) {
284
+ return un(c, !1);
285
+ }
286
+ function Tr(c) {
287
+ var g = c.prototype;
288
+ return !!(g && g.isReactComponent);
289
+ }
290
+ function ct(c, g, w) {
291
+ if (c == null)
292
+ return "";
293
+ if (typeof c == "function")
294
+ return un(c, Tr(c));
295
+ if (typeof c == "string")
296
+ return at(c);
297
+ switch (c) {
298
+ case d:
299
+ return at("Suspense");
300
+ case u:
301
+ return at("SuspenseList");
302
+ }
303
+ if (typeof c == "object")
304
+ switch (c.$$typeof) {
305
+ case a:
306
+ return Cr(c.render);
307
+ case m:
308
+ return ct(c.type, g, w);
309
+ case h: {
310
+ var R = c, O = R._payload, L = R._init;
311
+ try {
312
+ return ct(L(O), g, w);
313
+ } catch {
314
+ }
315
+ }
316
+ }
317
+ return "";
318
+ }
319
+ var He = Object.prototype.hasOwnProperty, dn = {}, fn = y.ReactDebugCurrentFrame;
320
+ function lt(c) {
321
+ if (c) {
322
+ var g = c._owner, w = ct(c.type, c._source, g ? g.type : null);
323
+ fn.setExtraStackFrame(w);
324
+ } else
325
+ fn.setExtraStackFrame(null);
326
+ }
327
+ function Fr(c, g, w, R, O) {
328
+ {
329
+ var L = Function.call.bind(He);
330
+ for (var I in c)
331
+ if (L(c, I)) {
332
+ var D = void 0;
333
+ try {
334
+ if (typeof c[I] != "function") {
335
+ var V = Error((R || "React class") + ": " + w + " type `" + I + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof c[I] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
336
+ throw V.name = "Invariant Violation", V;
337
+ }
338
+ D = c[I](g, I, R, w, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
339
+ } catch (Y) {
340
+ D = Y;
341
+ }
342
+ D && !(D instanceof Error) && (lt(O), b("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", R || "React class", w, I, typeof D), lt(null)), D instanceof Error && !(D.message in dn) && (dn[D.message] = !0, lt(O), b("Failed %s type: %s", w, D.message), lt(null));
343
+ }
344
+ }
345
+ }
346
+ var Rr = Array.isArray;
347
+ function Bt(c) {
348
+ return Rr(c);
349
+ }
350
+ function Dr(c) {
351
+ {
352
+ var g = typeof Symbol == "function" && Symbol.toStringTag, w = g && c[Symbol.toStringTag] || c.constructor.name || "Object";
353
+ return w;
354
+ }
355
+ }
356
+ function Br(c) {
357
+ try {
358
+ return mn(c), !1;
359
+ } catch {
360
+ return !0;
361
+ }
362
+ }
363
+ function mn(c) {
364
+ return "" + c;
365
+ }
366
+ function hn(c) {
367
+ if (Br(c))
368
+ return b("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", Dr(c)), mn(c);
369
+ }
370
+ var Ue = y.ReactCurrentOwner, Mr = {
371
+ key: !0,
372
+ ref: !0,
373
+ __self: !0,
374
+ __source: !0
375
+ }, pn, gn, Mt;
376
+ Mt = {};
377
+ function Ir(c) {
378
+ if (He.call(c, "ref")) {
379
+ var g = Object.getOwnPropertyDescriptor(c, "ref").get;
380
+ if (g && g.isReactWarning)
381
+ return !1;
382
+ }
383
+ return c.ref !== void 0;
384
+ }
385
+ function jr(c) {
386
+ if (He.call(c, "key")) {
387
+ var g = Object.getOwnPropertyDescriptor(c, "key").get;
388
+ if (g && g.isReactWarning)
389
+ return !1;
390
+ }
391
+ return c.key !== void 0;
392
+ }
393
+ function Or(c, g) {
394
+ if (typeof c.ref == "string" && Ue.current && g && Ue.current.stateNode !== g) {
395
+ var w = W(Ue.current.type);
396
+ Mt[w] || (b('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', W(Ue.current.type), c.ref), Mt[w] = !0);
397
+ }
398
+ }
399
+ function Nr(c, g) {
400
+ {
401
+ var w = function() {
402
+ pn || (pn = !0, b("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", g));
403
+ };
404
+ w.isReactWarning = !0, Object.defineProperty(c, "key", {
405
+ get: w,
406
+ configurable: !0
407
+ });
408
+ }
409
+ }
410
+ function Lr(c, g) {
411
+ {
412
+ var w = function() {
413
+ gn || (gn = !0, b("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", g));
414
+ };
415
+ w.isReactWarning = !0, Object.defineProperty(c, "ref", {
416
+ get: w,
417
+ configurable: !0
418
+ });
419
+ }
420
+ }
421
+ var Gr = function(c, g, w, R, O, L, I) {
422
+ var D = {
423
+ // This tag allows us to uniquely identify this as a React Element
424
+ $$typeof: t,
425
+ // Built-in properties that belong on the element
426
+ type: c,
427
+ key: g,
428
+ ref: w,
429
+ props: I,
430
+ // Record the component responsible for creating this element.
431
+ _owner: L
432
+ };
433
+ return D._store = {}, Object.defineProperty(D._store, "validated", {
434
+ configurable: !1,
435
+ enumerable: !1,
436
+ writable: !0,
437
+ value: !1
438
+ }), Object.defineProperty(D, "_self", {
439
+ configurable: !1,
440
+ enumerable: !1,
441
+ writable: !1,
442
+ value: R
443
+ }), Object.defineProperty(D, "_source", {
444
+ configurable: !1,
445
+ enumerable: !1,
446
+ writable: !1,
447
+ value: O
448
+ }), Object.freeze && (Object.freeze(D.props), Object.freeze(D)), D;
449
+ };
450
+ function Sr(c, g, w, R, O) {
451
+ {
452
+ var L, I = {}, D = null, V = null;
453
+ w !== void 0 && (hn(w), D = "" + w), jr(g) && (hn(g.key), D = "" + g.key), Ir(g) && (V = g.ref, Or(g, O));
454
+ for (L in g)
455
+ He.call(g, L) && !Mr.hasOwnProperty(L) && (I[L] = g[L]);
456
+ if (c && c.defaultProps) {
457
+ var Y = c.defaultProps;
458
+ for (L in Y)
459
+ I[L] === void 0 && (I[L] = Y[L]);
460
+ }
461
+ if (D || V) {
462
+ var Q = typeof c == "function" ? c.displayName || c.name || "Unknown" : c;
463
+ D && Nr(I, Q), V && Lr(I, Q);
464
+ }
465
+ return Gr(c, D, V, O, R, Ue.current, I);
466
+ }
467
+ }
468
+ var It = y.ReactCurrentOwner, vn = y.ReactDebugCurrentFrame;
469
+ function Ge(c) {
470
+ if (c) {
471
+ var g = c._owner, w = ct(c.type, c._source, g ? g.type : null);
472
+ vn.setExtraStackFrame(w);
473
+ } else
474
+ vn.setExtraStackFrame(null);
475
+ }
476
+ var jt;
477
+ jt = !1;
478
+ function Ot(c) {
479
+ return typeof c == "object" && c !== null && c.$$typeof === t;
480
+ }
481
+ function En() {
482
+ {
483
+ if (It.current) {
484
+ var c = W(It.current.type);
485
+ if (c)
486
+ return `
487
+
488
+ Check the render method of \`` + c + "`.";
489
+ }
490
+ return "";
491
+ }
492
+ }
493
+ function kr(c) {
494
+ return "";
495
+ }
496
+ var An = {};
497
+ function Kr(c) {
498
+ {
499
+ var g = En();
500
+ if (!g) {
501
+ var w = typeof c == "string" ? c : c.displayName || c.name;
502
+ w && (g = `
503
+
504
+ Check the top-level render call using <` + w + ">.");
505
+ }
506
+ return g;
507
+ }
508
+ }
509
+ function wn(c, g) {
510
+ {
511
+ if (!c._store || c._store.validated || c.key != null)
512
+ return;
513
+ c._store.validated = !0;
514
+ var w = Kr(g);
515
+ if (An[w])
516
+ return;
517
+ An[w] = !0;
518
+ var R = "";
519
+ c && c._owner && c._owner !== It.current && (R = " It was passed a child from " + W(c._owner.type) + "."), Ge(c), b('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', w, R), Ge(null);
520
+ }
521
+ }
522
+ function yn(c, g) {
523
+ {
524
+ if (typeof c != "object")
525
+ return;
526
+ if (Bt(c))
527
+ for (var w = 0; w < c.length; w++) {
528
+ var R = c[w];
529
+ Ot(R) && wn(R, g);
530
+ }
531
+ else if (Ot(c))
532
+ c._store && (c._store.validated = !0);
533
+ else if (c) {
534
+ var O = A(c);
535
+ if (typeof O == "function" && O !== c.entries)
536
+ for (var L = O.call(c), I; !(I = L.next()).done; )
537
+ Ot(I.value) && wn(I.value, g);
538
+ }
539
+ }
540
+ }
541
+ function Yr(c) {
542
+ {
543
+ var g = c.type;
544
+ if (g == null || typeof g == "string")
545
+ return;
546
+ var w;
547
+ if (typeof g == "function")
548
+ w = g.propTypes;
549
+ else if (typeof g == "object" && (g.$$typeof === a || // Note: Memo only checks outer props here.
550
+ // Inner props are checked in the reconciler.
551
+ g.$$typeof === m))
552
+ w = g.propTypes;
553
+ else
554
+ return;
555
+ if (w) {
556
+ var R = W(g);
557
+ Fr(w, c.props, "prop", R, c);
558
+ } else if (g.PropTypes !== void 0 && !jt) {
559
+ jt = !0;
560
+ var O = W(g);
561
+ b("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", O || "Unknown");
562
+ }
563
+ typeof g.getDefaultProps == "function" && !g.getDefaultProps.isReactClassApproved && b("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
564
+ }
565
+ }
566
+ function Hr(c) {
567
+ {
568
+ for (var g = Object.keys(c.props), w = 0; w < g.length; w++) {
569
+ var R = g[w];
570
+ if (R !== "children" && R !== "key") {
571
+ Ge(c), b("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", R), Ge(null);
572
+ break;
573
+ }
574
+ }
575
+ c.ref !== null && (Ge(c), b("Invalid attribute `ref` supplied to `React.Fragment`."), Ge(null));
576
+ }
577
+ }
578
+ var xn = {};
579
+ function bn(c, g, w, R, O, L) {
580
+ {
581
+ var I = le(c);
582
+ if (!I) {
583
+ var D = "";
584
+ (c === void 0 || typeof c == "object" && c !== null && Object.keys(c).length === 0) && (D += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
585
+ var V = kr();
586
+ V ? D += V : D += En();
587
+ var Y;
588
+ c === null ? Y = "null" : Bt(c) ? Y = "array" : c !== void 0 && c.$$typeof === t ? (Y = "<" + (W(c.type) || "Unknown") + " />", D = " Did you accidentally export a JSX literal instead of a component?") : Y = typeof c, b("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", Y, D);
589
+ }
590
+ var Q = Sr(c, g, w, O, L);
591
+ if (Q == null)
592
+ return Q;
593
+ if (I) {
594
+ var te = g.children;
595
+ if (te !== void 0)
596
+ if (R)
597
+ if (Bt(te)) {
598
+ for (var Se = 0; Se < te.length; Se++)
599
+ yn(te[Se], c);
600
+ Object.freeze && Object.freeze(te);
601
+ } else
602
+ b("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
603
+ else
604
+ yn(te, c);
605
+ }
606
+ if (He.call(g, "key")) {
607
+ var Fe = W(c), X = Object.keys(g).filter(function(Vr) {
608
+ return Vr !== "key";
609
+ }), Nt = X.length > 0 ? "{key: someKey, " + X.join(": ..., ") + ": ...}" : "{key: someKey}";
610
+ if (!xn[Fe + Nt]) {
611
+ var qr = X.length > 0 ? "{" + X.join(": ..., ") + ": ...}" : "{}";
612
+ b(`A props object containing a "key" prop is being spread into JSX:
613
+ let props = %s;
614
+ <%s {...props} />
615
+ React keys must be passed directly to JSX without using spread:
616
+ let props = %s;
617
+ <%s key={someKey} {...props} />`, Nt, Fe, qr, Fe), xn[Fe + Nt] = !0;
618
+ }
619
+ }
620
+ return c === r ? Hr(Q) : Yr(Q), Q;
621
+ }
622
+ }
623
+ function Ur(c, g, w) {
624
+ return bn(c, g, w, !0);
625
+ }
626
+ function Qr(c, g, w) {
627
+ return bn(c, g, w, !1);
628
+ }
629
+ var Pr = Qr, Wr = Ur;
630
+ Pe.Fragment = r, Pe.jsx = Pr, Pe.jsxs = Wr;
631
+ }()), Pe;
632
+ }
633
+ process.env.NODE_ENV === "production" ? Ht.exports = ro() : Ht.exports = oo();
634
+ var f = Ht.exports, Ze = {}, We = no;
635
+ if (process.env.NODE_ENV === "production")
636
+ Ze.createRoot = We.createRoot, Ze.hydrateRoot = We.hydrateRoot;
637
+ else {
638
+ var ut = We.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
639
+ Ze.createRoot = function(e, t) {
640
+ ut.usingClientEntryPoint = !0;
641
+ try {
642
+ return We.createRoot(e, t);
643
+ } finally {
644
+ ut.usingClientEntryPoint = !1;
645
+ }
646
+ }, Ze.hydrateRoot = function(e, t, n) {
647
+ ut.usingClientEntryPoint = !0;
648
+ try {
649
+ return We.hydrateRoot(e, t, n);
650
+ } finally {
651
+ ut.usingClientEntryPoint = !1;
652
+ }
653
+ };
654
+ }
655
+ const Kn = typeof document < "u" ? F.useLayoutEffect : () => {
656
+ };
657
+ function io(e) {
658
+ const t = x(null);
659
+ return Kn(() => {
660
+ t.current = e;
661
+ }, [
662
+ e
663
+ ]), P((...n) => {
664
+ const r = t.current;
665
+ return r == null ? void 0 : r(...n);
666
+ }, []);
667
+ }
668
+ const tt = (e) => {
669
+ var t;
670
+ return (t = e == null ? void 0 : e.ownerDocument) !== null && t !== void 0 ? t : document;
671
+ }, Be = (e) => e && "window" in e && e.window === e ? e : tt(e).defaultView || window;
672
+ function ao(e) {
673
+ var t;
674
+ return typeof window > "u" || window.navigator == null ? !1 : ((t = window.navigator.userAgentData) === null || t === void 0 ? void 0 : t.brands.some((n) => e.test(n.brand))) || e.test(window.navigator.userAgent);
675
+ }
676
+ function so(e) {
677
+ var t;
678
+ return typeof window < "u" && window.navigator != null ? e.test(((t = window.navigator.userAgentData) === null || t === void 0 ? void 0 : t.platform) || window.navigator.platform) : !1;
679
+ }
680
+ function co() {
681
+ return so(/^Mac/i);
682
+ }
683
+ function lo() {
684
+ return ao(/Android/i);
685
+ }
686
+ function uo(e) {
687
+ return e.mozInputSource === 0 && e.isTrusted ? !0 : lo() && e.pointerType ? e.type === "click" && e.buttons === 1 : e.detail === 0 && !e.pointerType;
688
+ }
689
+ class fo {
690
+ isDefaultPrevented() {
691
+ return this.nativeEvent.defaultPrevented;
692
+ }
693
+ preventDefault() {
694
+ this.defaultPrevented = !0, this.nativeEvent.preventDefault();
695
+ }
696
+ stopPropagation() {
697
+ this.nativeEvent.stopPropagation(), this.isPropagationStopped = () => !0;
698
+ }
699
+ isPropagationStopped() {
700
+ return !1;
701
+ }
702
+ persist() {
703
+ }
704
+ constructor(t, n) {
705
+ this.nativeEvent = n, this.target = n.target, this.currentTarget = n.currentTarget, this.relatedTarget = n.relatedTarget, this.bubbles = n.bubbles, this.cancelable = n.cancelable, this.defaultPrevented = n.defaultPrevented, this.eventPhase = n.eventPhase, this.isTrusted = n.isTrusted, this.timeStamp = n.timeStamp, this.type = t;
706
+ }
707
+ }
708
+ function Yn(e) {
709
+ let t = x({
710
+ isFocused: !1,
711
+ observer: null
712
+ });
713
+ Kn(() => {
714
+ const r = t.current;
715
+ return () => {
716
+ r.observer && (r.observer.disconnect(), r.observer = null);
717
+ };
718
+ }, []);
719
+ let n = io((r) => {
720
+ e == null || e(r);
721
+ });
722
+ return P((r) => {
723
+ if (r.target instanceof HTMLButtonElement || r.target instanceof HTMLInputElement || r.target instanceof HTMLTextAreaElement || r.target instanceof HTMLSelectElement) {
724
+ t.current.isFocused = !0;
725
+ let o = r.target, i = (s) => {
726
+ t.current.isFocused = !1, o.disabled && n(new fo("blur", s)), t.current.observer && (t.current.observer.disconnect(), t.current.observer = null);
727
+ };
728
+ o.addEventListener("focusout", i, {
729
+ once: !0
730
+ }), t.current.observer = new MutationObserver(() => {
731
+ if (t.current.isFocused && o.disabled) {
732
+ var s;
733
+ (s = t.current.observer) === null || s === void 0 || s.disconnect();
734
+ let l = o === document.activeElement ? null : document.activeElement;
735
+ o.dispatchEvent(new FocusEvent("blur", {
736
+ relatedTarget: l
737
+ })), o.dispatchEvent(new FocusEvent("focusout", {
738
+ bubbles: !0,
739
+ relatedTarget: l
740
+ }));
741
+ }
742
+ }), t.current.observer.observe(o, {
743
+ attributes: !0,
744
+ attributeFilter: [
745
+ "disabled"
746
+ ]
747
+ });
748
+ }
749
+ }, [
750
+ n
751
+ ]);
752
+ }
753
+ function mo(e) {
754
+ let { isDisabled: t, onFocus: n, onBlur: r, onFocusChange: o } = e;
755
+ const i = P((a) => {
756
+ if (a.target === a.currentTarget)
757
+ return r && r(a), o && o(!1), !0;
758
+ }, [
759
+ r,
760
+ o
761
+ ]), s = Yn(i), l = P((a) => {
762
+ const d = tt(a.target);
763
+ a.target === a.currentTarget && d.activeElement === a.target && (n && n(a), o && o(!0), s(a));
764
+ }, [
765
+ o,
766
+ n,
767
+ s
768
+ ]);
769
+ return {
770
+ focusProps: {
771
+ onFocus: !t && (n || o || r) ? l : void 0,
772
+ onBlur: !t && (r || o) ? i : void 0
773
+ }
774
+ };
775
+ }
776
+ let nt = null, Ut = /* @__PURE__ */ new Set(), ze = /* @__PURE__ */ new Map(), je = !1, Qt = !1;
777
+ const ho = {
778
+ Tab: !0,
779
+ Escape: !0
780
+ };
781
+ function en(e, t) {
782
+ for (let n of Ut) n(e, t);
783
+ }
784
+ function po(e) {
785
+ return !(e.metaKey || !co() && e.altKey || e.ctrlKey || e.key === "Control" || e.key === "Shift" || e.key === "Meta");
786
+ }
787
+ function mt(e) {
788
+ je = !0, po(e) && (nt = "keyboard", en("keyboard", e));
789
+ }
790
+ function ne(e) {
791
+ nt = "pointer", (e.type === "mousedown" || e.type === "pointerdown") && (je = !0, en("pointer", e));
792
+ }
793
+ function Hn(e) {
794
+ uo(e) && (je = !0, nt = "virtual");
795
+ }
796
+ function Un(e) {
797
+ e.target === window || e.target === document || (!je && !Qt && (nt = "virtual", en("virtual", e)), je = !1, Qt = !1);
798
+ }
799
+ function Qn() {
800
+ je = !1, Qt = !0;
801
+ }
802
+ function Pt(e) {
803
+ if (typeof window > "u" || ze.get(Be(e))) return;
804
+ const t = Be(e), n = tt(e);
805
+ let r = t.HTMLElement.prototype.focus;
806
+ t.HTMLElement.prototype.focus = function() {
807
+ je = !0, r.apply(this, arguments);
808
+ }, n.addEventListener("keydown", mt, !0), n.addEventListener("keyup", mt, !0), n.addEventListener("click", Hn, !0), t.addEventListener("focus", Un, !0), t.addEventListener("blur", Qn, !1), typeof PointerEvent < "u" ? (n.addEventListener("pointerdown", ne, !0), n.addEventListener("pointermove", ne, !0), n.addEventListener("pointerup", ne, !0)) : (n.addEventListener("mousedown", ne, !0), n.addEventListener("mousemove", ne, !0), n.addEventListener("mouseup", ne, !0)), t.addEventListener("beforeunload", () => {
809
+ Pn(e);
810
+ }, {
811
+ once: !0
812
+ }), ze.set(t, {
813
+ focus: r
814
+ });
815
+ }
816
+ const Pn = (e, t) => {
817
+ const n = Be(e), r = tt(e);
818
+ t && r.removeEventListener("DOMContentLoaded", t), ze.has(n) && (n.HTMLElement.prototype.focus = ze.get(n).focus, r.removeEventListener("keydown", mt, !0), r.removeEventListener("keyup", mt, !0), r.removeEventListener("click", Hn, !0), n.removeEventListener("focus", Un, !0), n.removeEventListener("blur", Qn, !1), typeof PointerEvent < "u" ? (r.removeEventListener("pointerdown", ne, !0), r.removeEventListener("pointermove", ne, !0), r.removeEventListener("pointerup", ne, !0)) : (r.removeEventListener("mousedown", ne, !0), r.removeEventListener("mousemove", ne, !0), r.removeEventListener("mouseup", ne, !0)), ze.delete(n));
819
+ };
820
+ function go(e) {
821
+ const t = tt(e);
822
+ let n;
823
+ return t.readyState !== "loading" ? Pt(e) : (n = () => {
824
+ Pt(e);
825
+ }, t.addEventListener("DOMContentLoaded", n)), () => Pn(e, n);
826
+ }
827
+ typeof document < "u" && go();
828
+ function Wn() {
829
+ return nt !== "pointer";
830
+ }
831
+ const vo = /* @__PURE__ */ new Set([
832
+ "checkbox",
833
+ "radio",
834
+ "range",
835
+ "color",
836
+ "file",
837
+ "image",
838
+ "button",
839
+ "submit",
840
+ "reset"
841
+ ]);
842
+ function Eo(e, t, n) {
843
+ var r;
844
+ const o = typeof window < "u" ? Be(n == null ? void 0 : n.target).HTMLInputElement : HTMLInputElement, i = typeof window < "u" ? Be(n == null ? void 0 : n.target).HTMLTextAreaElement : HTMLTextAreaElement, s = typeof window < "u" ? Be(n == null ? void 0 : n.target).HTMLElement : HTMLElement, l = typeof window < "u" ? Be(n == null ? void 0 : n.target).KeyboardEvent : KeyboardEvent;
845
+ return e = e || (n == null ? void 0 : n.target) instanceof o && !vo.has(n == null || (r = n.target) === null || r === void 0 ? void 0 : r.type) || (n == null ? void 0 : n.target) instanceof i || (n == null ? void 0 : n.target) instanceof s && (n == null ? void 0 : n.target.isContentEditable), !(e && t === "keyboard" && n instanceof l && !ho[n.key]);
846
+ }
847
+ function Ao(e, t, n) {
848
+ Pt(), H(() => {
849
+ let r = (o, i) => {
850
+ Eo(!!(n != null && n.isTextInput), o, i) && e(Wn());
851
+ };
852
+ return Ut.add(r), () => {
853
+ Ut.delete(r);
854
+ };
855
+ }, t);
856
+ }
857
+ function wo(e) {
858
+ let { isDisabled: t, onBlurWithin: n, onFocusWithin: r, onFocusWithinChange: o } = e, i = x({
859
+ isFocusWithin: !1
860
+ }), s = P((d) => {
861
+ i.current.isFocusWithin && !d.currentTarget.contains(d.relatedTarget) && (i.current.isFocusWithin = !1, n && n(d), o && o(!1));
862
+ }, [
863
+ n,
864
+ o,
865
+ i
866
+ ]), l = Yn(s), a = P((d) => {
867
+ !i.current.isFocusWithin && document.activeElement === d.target && (r && r(d), o && o(!0), i.current.isFocusWithin = !0, l(d));
868
+ }, [
869
+ r,
870
+ o,
871
+ l
872
+ ]);
873
+ return t ? {
874
+ focusWithinProps: {
875
+ // These should not have been null, that would conflict in mergeProps
876
+ onFocus: void 0,
877
+ onBlur: void 0
878
+ }
879
+ } : {
880
+ focusWithinProps: {
881
+ onFocus: a,
882
+ onBlur: s
883
+ }
884
+ };
885
+ }
886
+ let ht = !1, Lt = 0;
887
+ function Wt() {
888
+ ht = !0, setTimeout(() => {
889
+ ht = !1;
890
+ }, 50);
891
+ }
892
+ function Fn(e) {
893
+ e.pointerType === "touch" && Wt();
894
+ }
895
+ function yo() {
896
+ if (!(typeof document > "u"))
897
+ return typeof PointerEvent < "u" ? document.addEventListener("pointerup", Fn) : document.addEventListener("touchend", Wt), Lt++, () => {
898
+ Lt--, !(Lt > 0) && (typeof PointerEvent < "u" ? document.removeEventListener("pointerup", Fn) : document.removeEventListener("touchend", Wt));
899
+ };
900
+ }
901
+ function xo(e) {
902
+ let { onHoverStart: t, onHoverChange: n, onHoverEnd: r, isDisabled: o } = e, [i, s] = j(!1), l = x({
903
+ isHovered: !1,
904
+ ignoreEmulatedMouseEvents: !1,
905
+ pointerType: "",
906
+ target: null
907
+ }).current;
908
+ H(yo, []);
909
+ let { hoverProps: a, triggerHoverEnd: d } = G(() => {
910
+ let u = (p, v) => {
911
+ if (l.pointerType = v, o || v === "touch" || l.isHovered || !p.currentTarget.contains(p.target)) return;
912
+ l.isHovered = !0;
913
+ let E = p.currentTarget;
914
+ l.target = E, t && t({
915
+ type: "hoverstart",
916
+ target: E,
917
+ pointerType: v
918
+ }), n && n(!0), s(!0);
919
+ }, m = (p, v) => {
920
+ if (l.pointerType = "", l.target = null, v === "touch" || !l.isHovered) return;
921
+ l.isHovered = !1;
922
+ let E = p.currentTarget;
923
+ r && r({
924
+ type: "hoverend",
925
+ target: E,
926
+ pointerType: v
927
+ }), n && n(!1), s(!1);
928
+ }, h = {};
929
+ return typeof PointerEvent < "u" ? (h.onPointerEnter = (p) => {
930
+ ht && p.pointerType === "mouse" || u(p, p.pointerType);
931
+ }, h.onPointerLeave = (p) => {
932
+ !o && p.currentTarget.contains(p.target) && m(p, p.pointerType);
933
+ }) : (h.onTouchStart = () => {
934
+ l.ignoreEmulatedMouseEvents = !0;
935
+ }, h.onMouseEnter = (p) => {
936
+ !l.ignoreEmulatedMouseEvents && !ht && u(p, "mouse"), l.ignoreEmulatedMouseEvents = !1;
937
+ }, h.onMouseLeave = (p) => {
938
+ !o && p.currentTarget.contains(p.target) && m(p, "mouse");
939
+ }), {
940
+ hoverProps: h,
941
+ triggerHoverEnd: m
942
+ };
943
+ }, [
944
+ t,
945
+ n,
946
+ r,
947
+ o,
948
+ l
949
+ ]);
950
+ return H(() => {
951
+ o && d({
952
+ currentTarget: l.target
953
+ }, l.pointerType);
954
+ }, [
955
+ o
956
+ ]), {
957
+ hoverProps: a,
958
+ isHovered: i
959
+ };
960
+ }
961
+ function bo(e = {}) {
962
+ let { autoFocus: t = !1, isTextInput: n, within: r } = e, o = x({
963
+ isFocused: !1,
964
+ isFocusVisible: t || Wn()
965
+ }), [i, s] = j(!1), [l, a] = j(() => o.current.isFocused && o.current.isFocusVisible), d = P(() => a(o.current.isFocused && o.current.isFocusVisible), []), u = P((p) => {
966
+ o.current.isFocused = p, s(p), d();
967
+ }, [
968
+ d
969
+ ]);
970
+ Ao((p) => {
971
+ o.current.isFocusVisible = p, d();
972
+ }, [], {
973
+ isTextInput: n
974
+ });
975
+ let { focusProps: m } = mo({
976
+ isDisabled: r,
977
+ onFocusChange: u
978
+ }), { focusWithinProps: h } = wo({
979
+ isDisabled: !r,
980
+ onFocusWithinChange: u
981
+ });
982
+ return {
983
+ isFocused: i,
984
+ isFocusVisible: l,
985
+ focusProps: r ? h : m
986
+ };
987
+ }
988
+ var Co = Object.defineProperty, To = (e, t, n) => t in e ? Co(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, Gt = (e, t, n) => (To(e, typeof t != "symbol" ? t + "" : t, n), n);
989
+ let Fo = class {
990
+ constructor() {
991
+ Gt(this, "current", this.detect()), Gt(this, "handoffState", "pending"), Gt(this, "currentId", 0);
992
+ }
993
+ set(t) {
994
+ this.current !== t && (this.handoffState = "pending", this.currentId = 0, this.current = t);
995
+ }
996
+ reset() {
997
+ this.set(this.detect());
998
+ }
999
+ nextId() {
1000
+ return ++this.currentId;
1001
+ }
1002
+ get isServer() {
1003
+ return this.current === "server";
1004
+ }
1005
+ get isClient() {
1006
+ return this.current === "client";
1007
+ }
1008
+ detect() {
1009
+ return typeof window > "u" || typeof document > "u" ? "server" : "client";
1010
+ }
1011
+ handoff() {
1012
+ this.handoffState === "pending" && (this.handoffState = "complete");
1013
+ }
1014
+ get isHandoffComplete() {
1015
+ return this.handoffState === "complete";
1016
+ }
1017
+ }, Ie = new Fo();
1018
+ function Et(e) {
1019
+ return Ie.isServer ? null : e instanceof Node ? e.ownerDocument : e != null && e.hasOwnProperty("current") && e.current instanceof Node ? e.current.ownerDocument : document;
1020
+ }
1021
+ function At(e) {
1022
+ typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => {
1023
+ throw t;
1024
+ }));
1025
+ }
1026
+ function Ce() {
1027
+ let e = [], t = { addEventListener(n, r, o, i) {
1028
+ return n.addEventListener(r, o, i), t.add(() => n.removeEventListener(r, o, i));
1029
+ }, requestAnimationFrame(...n) {
1030
+ let r = requestAnimationFrame(...n);
1031
+ return t.add(() => cancelAnimationFrame(r));
1032
+ }, nextFrame(...n) {
1033
+ return t.requestAnimationFrame(() => t.requestAnimationFrame(...n));
1034
+ }, setTimeout(...n) {
1035
+ let r = setTimeout(...n);
1036
+ return t.add(() => clearTimeout(r));
1037
+ }, microTask(...n) {
1038
+ let r = { current: !0 };
1039
+ return At(() => {
1040
+ r.current && n[0]();
1041
+ }), t.add(() => {
1042
+ r.current = !1;
1043
+ });
1044
+ }, style(n, r, o) {
1045
+ let i = n.style.getPropertyValue(r);
1046
+ return Object.assign(n.style, { [r]: o }), this.add(() => {
1047
+ Object.assign(n.style, { [r]: i });
1048
+ });
1049
+ }, group(n) {
1050
+ let r = Ce();
1051
+ return n(r), this.add(() => r.dispose());
1052
+ }, add(n) {
1053
+ return e.includes(n) || e.push(n), () => {
1054
+ let r = e.indexOf(n);
1055
+ if (r >= 0) for (let o of e.splice(r, 1)) o();
1056
+ };
1057
+ }, dispose() {
1058
+ for (let n of e.splice(0)) n();
1059
+ } };
1060
+ return t;
1061
+ }
1062
+ function wt() {
1063
+ let [e] = j(Ce);
1064
+ return H(() => () => e.dispose(), [e]), e;
1065
+ }
1066
+ let Z = (e, t) => {
1067
+ Ie.isServer ? H(e, t) : Zr(e, t);
1068
+ };
1069
+ function Oe(e) {
1070
+ let t = x(e);
1071
+ return Z(() => {
1072
+ t.current = e;
1073
+ }, [e]), t;
1074
+ }
1075
+ let S = function(e) {
1076
+ let t = Oe(e);
1077
+ return F.useCallback((...n) => t.current(...n), [t]);
1078
+ };
1079
+ function Ro(e) {
1080
+ let t = e.width / 2, n = e.height / 2;
1081
+ return { top: e.clientY - n, right: e.clientX + t, bottom: e.clientY + n, left: e.clientX - t };
1082
+ }
1083
+ function Do(e, t) {
1084
+ return !(!e || !t || e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom);
1085
+ }
1086
+ function Bo({ disabled: e = !1 } = {}) {
1087
+ let t = x(null), [n, r] = j(!1), o = wt(), i = S(() => {
1088
+ t.current = null, r(!1), o.dispose();
1089
+ }), s = S((l) => {
1090
+ if (o.dispose(), t.current === null) {
1091
+ t.current = l.currentTarget, r(!0);
1092
+ {
1093
+ let a = Et(l.currentTarget);
1094
+ o.addEventListener(a, "pointerup", i, !1), o.addEventListener(a, "pointermove", (d) => {
1095
+ if (t.current) {
1096
+ let u = Ro(d);
1097
+ r(Do(u, t.current.getBoundingClientRect()));
1098
+ }
1099
+ }, !1), o.addEventListener(a, "pointercancel", i, !1);
1100
+ }
1101
+ }
1102
+ });
1103
+ return { pressed: n, pressProps: e ? {} : { onPointerDown: s, onPointerUp: i, onClick: i } };
1104
+ }
1105
+ let Mo = oe(void 0);
1106
+ function qn() {
1107
+ return _(Mo);
1108
+ }
1109
+ function qt(...e) {
1110
+ return Array.from(new Set(e.flatMap((t) => typeof t == "string" ? t.split(" ") : []))).filter(Boolean).join(" ");
1111
+ }
1112
+ function be(e, t, ...n) {
1113
+ if (e in t) {
1114
+ let o = t[e];
1115
+ return typeof o == "function" ? o(...n) : o;
1116
+ }
1117
+ let r = new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((o) => `"${o}"`).join(", ")}.`);
1118
+ throw Error.captureStackTrace && Error.captureStackTrace(r, be), r;
1119
+ }
1120
+ var pt = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(pt || {}), xe = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(xe || {});
1121
+ function ee({ ourProps: e, theirProps: t, slot: n, defaultTag: r, features: o, visible: i = !0, name: s, mergeRefs: l }) {
1122
+ l = l ?? Io;
1123
+ let a = Vn(t, e);
1124
+ if (i) return dt(a, n, r, s, l);
1125
+ let d = o ?? 0;
1126
+ if (d & 2) {
1127
+ let { static: u = !1, ...m } = a;
1128
+ if (u) return dt(m, n, r, s, l);
1129
+ }
1130
+ if (d & 1) {
1131
+ let { unmount: u = !0, ...m } = a;
1132
+ return be(u ? 0 : 1, { 0() {
1133
+ return null;
1134
+ }, 1() {
1135
+ return dt({ ...m, hidden: !0, style: { display: "none" } }, n, r, s, l);
1136
+ } });
1137
+ }
1138
+ return dt(a, n, r, s, l);
1139
+ }
1140
+ function dt(e, t = {}, n, r, o) {
1141
+ let { as: i = n, children: s, refName: l = "ref", ...a } = St(e, ["unmount", "static"]), d = e.ref !== void 0 ? { [l]: e.ref } : {}, u = typeof s == "function" ? s(t) : s;
1142
+ "className" in a && a.className && typeof a.className == "function" && (a.className = a.className(t)), a["aria-labelledby"] && a["aria-labelledby"] === a.id && (a["aria-labelledby"] = void 0);
1143
+ let m = {};
1144
+ if (t) {
1145
+ let h = !1, p = [];
1146
+ for (let [v, E] of Object.entries(t)) typeof E == "boolean" && (h = !0), E === !0 && p.push(v.replace(/([A-Z])/g, (A) => `-${A.toLowerCase()}`));
1147
+ if (h) {
1148
+ m["data-headlessui-state"] = p.join(" ");
1149
+ for (let v of p) m[`data-${v}`] = "";
1150
+ }
1151
+ }
1152
+ if (i === re && (Object.keys(Re(a)).length > 0 || Object.keys(Re(m)).length > 0)) if (!Xr(u) || Array.isArray(u) && u.length > 1) {
1153
+ if (Object.keys(Re(a)).length > 0) throw new Error(['Passing props on "Fragment"!', "", `The current component <${r} /> is rendering a "Fragment".`, "However we need to passthrough the following props:", Object.keys(Re(a)).concat(Object.keys(Re(m))).map((h) => ` - ${h}`).join(`
1154
+ `), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".', "Render a single element as the child so that we can forward the props onto that element."].map((h) => ` - ${h}`).join(`
1155
+ `)].join(`
1156
+ `));
1157
+ } else {
1158
+ let h = u.props, p = h == null ? void 0 : h.className, v = typeof p == "function" ? (...y) => qt(p(...y), a.className) : qt(p, a.className), E = v ? { className: v } : {}, A = Vn(u.props, Re(St(a, ["ref"])));
1159
+ for (let y in m) y in A && delete m[y];
1160
+ return zr(u, Object.assign({}, A, m, d, { ref: o(u.ref, d.ref) }, E));
1161
+ }
1162
+ return $r(i, Object.assign({}, St(a, ["ref"]), i !== re && d, i !== re && m), u);
1163
+ }
1164
+ function Io(...e) {
1165
+ return e.every((t) => t == null) ? void 0 : (t) => {
1166
+ for (let n of e) n != null && (typeof n == "function" ? n(t) : n.current = t);
1167
+ };
1168
+ }
1169
+ function Vn(...e) {
1170
+ if (e.length === 0) return {};
1171
+ if (e.length === 1) return e[0];
1172
+ let t = {}, n = {};
1173
+ for (let r of e) for (let o in r) o.startsWith("on") && typeof r[o] == "function" ? (n[o] != null || (n[o] = []), n[o].push(r[o])) : t[o] = r[o];
1174
+ if (t.disabled || t["aria-disabled"]) for (let r in n) /^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(r) && (n[r] = [(o) => {
1175
+ var i;
1176
+ return (i = o == null ? void 0 : o.preventDefault) == null ? void 0 : i.call(o);
1177
+ }]);
1178
+ for (let r in n) Object.assign(t, { [r](o, ...i) {
1179
+ let s = n[r];
1180
+ for (let l of s) {
1181
+ if ((o instanceof Event || (o == null ? void 0 : o.nativeEvent) instanceof Event) && o.defaultPrevented) return;
1182
+ l(o, ...i);
1183
+ }
1184
+ } });
1185
+ return t;
1186
+ }
1187
+ function jo(...e) {
1188
+ if (e.length === 0) return {};
1189
+ if (e.length === 1) return e[0];
1190
+ let t = {}, n = {};
1191
+ for (let r of e) for (let o in r) o.startsWith("on") && typeof r[o] == "function" ? (n[o] != null || (n[o] = []), n[o].push(r[o])) : t[o] = r[o];
1192
+ for (let r in n) Object.assign(t, { [r](...o) {
1193
+ let i = n[r];
1194
+ for (let s of i) s == null || s(...o);
1195
+ } });
1196
+ return t;
1197
+ }
1198
+ function J(e) {
1199
+ var t;
1200
+ return Object.assign(Jr(e), { displayName: (t = e.displayName) != null ? t : e.name });
1201
+ }
1202
+ function Re(e) {
1203
+ let t = Object.assign({}, e);
1204
+ for (let n in t) t[n] === void 0 && delete t[n];
1205
+ return t;
1206
+ }
1207
+ function St(e, t = []) {
1208
+ let n = Object.assign({}, e);
1209
+ for (let r of t) r in n && delete n[r];
1210
+ return n;
1211
+ }
1212
+ let Oo = "button";
1213
+ function No(e, t) {
1214
+ var n;
1215
+ let r = qn(), { disabled: o = r || !1, autoFocus: i = !1, ...s } = e, { isFocusVisible: l, focusProps: a } = bo({ autoFocus: i }), { isHovered: d, hoverProps: u } = xo({ isDisabled: o }), { pressed: m, pressProps: h } = Bo({ disabled: o }), p = jo({ ref: t, type: (n = s.type) != null ? n : "button", disabled: o || void 0, autoFocus: i }, a, u, h), v = G(() => ({ disabled: o, hover: d, focus: l, active: m, autofocus: i }), [o, d, l, m, i]);
1216
+ return ee({ ourProps: p, theirProps: s, slot: v, defaultTag: Oo, name: "Button" });
1217
+ }
1218
+ let Lo = J(No), Go = "div";
1219
+ var gt = ((e) => (e[e.None = 1] = "None", e[e.Focusable = 2] = "Focusable", e[e.Hidden = 4] = "Hidden", e))(gt || {});
1220
+ function So(e, t) {
1221
+ var n;
1222
+ let { features: r = 1, ...o } = e, i = { ref: t, "aria-hidden": (r & 2) === 2 ? !0 : (n = o["aria-hidden"]) != null ? n : void 0, hidden: (r & 4) === 4 ? !0 : void 0, style: { position: "fixed", top: 1, left: 1, width: 1, height: 0, padding: 0, margin: -1, overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", borderWidth: "0", ...(r & 4) === 4 && (r & 2) !== 2 && { display: "none" } } };
1223
+ return ee({ ourProps: i, theirProps: o, slot: {}, defaultTag: Go, name: "Hidden" });
1224
+ }
1225
+ let Vt = J(So), ko = oe(null);
1226
+ function Ko({ children: e }) {
1227
+ let t = _(ko);
1228
+ if (!t) return F.createElement(F.Fragment, null, e);
1229
+ let { target: n } = t;
1230
+ return n ? kn(F.createElement(F.Fragment, null, e), n) : null;
1231
+ }
1232
+ let Zn = Symbol();
1233
+ function Yo(e, t = !0) {
1234
+ return Object.assign(e, { [Zn]: t });
1235
+ }
1236
+ function de(...e) {
1237
+ let t = x(e);
1238
+ H(() => {
1239
+ t.current = e;
1240
+ }, [e]);
1241
+ let n = S((r) => {
1242
+ for (let o of t.current) o != null && (typeof o == "function" ? o(r) : o.current = r);
1243
+ });
1244
+ return e.every((r) => r == null || (r == null ? void 0 : r[Zn])) ? void 0 : n;
1245
+ }
1246
+ let tn = oe(null);
1247
+ tn.displayName = "DescriptionContext";
1248
+ function Jn() {
1249
+ let e = _(tn);
1250
+ if (e === null) {
1251
+ let t = new Error("You used a <Description /> component, but it is not inside a relevant parent.");
1252
+ throw Error.captureStackTrace && Error.captureStackTrace(t, Jn), t;
1253
+ }
1254
+ return e;
1255
+ }
1256
+ function Ho() {
1257
+ let [e, t] = j([]);
1258
+ return [e.length > 0 ? e.join(" ") : void 0, G(() => function(n) {
1259
+ let r = S((i) => (t((s) => [...s, i]), () => t((s) => {
1260
+ let l = s.slice(), a = l.indexOf(i);
1261
+ return a !== -1 && l.splice(a, 1), l;
1262
+ }))), o = G(() => ({ register: r, slot: n.slot, name: n.name, props: n.props, value: n.value }), [r, n.slot, n.name, n.props, n.value]);
1263
+ return F.createElement(tn.Provider, { value: o }, n.children);
1264
+ }, [t])];
1265
+ }
1266
+ let Uo = "p";
1267
+ function Qo(e, t) {
1268
+ let n = et(), r = qn(), { id: o = `headlessui-description-${n}`, ...i } = e, s = Jn(), l = de(t);
1269
+ Z(() => s.register(o), [o, s.register]);
1270
+ let a = r || !1, d = G(() => ({ ...s.slot, disabled: a }), [s.slot, a]), u = { ref: l, ...s.props, id: o };
1271
+ return ee({ ourProps: u, theirProps: i, slot: d, defaultTag: Uo, name: s.name || "Description" });
1272
+ }
1273
+ let Po = J(Qo), Wo = Object.assign(Po, {});
1274
+ var Xn = ((e) => (e.Space = " ", e.Enter = "Enter", e.Escape = "Escape", e.Backspace = "Backspace", e.Delete = "Delete", e.ArrowLeft = "ArrowLeft", e.ArrowUp = "ArrowUp", e.ArrowRight = "ArrowRight", e.ArrowDown = "ArrowDown", e.Home = "Home", e.End = "End", e.PageUp = "PageUp", e.PageDown = "PageDown", e.Tab = "Tab", e))(Xn || {});
1275
+ let qo = oe(() => {
1276
+ });
1277
+ function Vo({ value: e, children: t }) {
1278
+ return F.createElement(qo.Provider, { value: e }, t);
1279
+ }
1280
+ let Zo = class extends Map {
1281
+ constructor(t) {
1282
+ super(), this.factory = t;
1283
+ }
1284
+ get(t) {
1285
+ let n = super.get(t);
1286
+ return n === void 0 && (n = this.factory(t), this.set(t, n)), n;
1287
+ }
1288
+ };
1289
+ function zn(e, t) {
1290
+ let n = e(), r = /* @__PURE__ */ new Set();
1291
+ return { getSnapshot() {
1292
+ return n;
1293
+ }, subscribe(o) {
1294
+ return r.add(o), () => r.delete(o);
1295
+ }, dispatch(o, ...i) {
1296
+ let s = t[o].call(n, ...i);
1297
+ s && (n = s, r.forEach((l) => l()));
1298
+ } };
1299
+ }
1300
+ function $n(e) {
1301
+ return _r(e.subscribe, e.getSnapshot, e.getSnapshot);
1302
+ }
1303
+ let Jo = new Zo(() => zn(() => [], { ADD(e) {
1304
+ return this.includes(e) ? this : [...this, e];
1305
+ }, REMOVE(e) {
1306
+ let t = this.indexOf(e);
1307
+ if (t === -1) return this;
1308
+ let n = this.slice();
1309
+ return n.splice(t, 1), n;
1310
+ } }));
1311
+ function Ke(e, t) {
1312
+ let n = Jo.get(t), r = et(), o = $n(n);
1313
+ if (Z(() => {
1314
+ if (e) return n.dispatch("ADD", r), () => n.dispatch("REMOVE", r);
1315
+ }, [n, e]), !e) return !1;
1316
+ let i = o.indexOf(r), s = o.length;
1317
+ return i === -1 && (i = s, s += 1), i === s - 1;
1318
+ }
1319
+ let Zt = /* @__PURE__ */ new Map(), $e = /* @__PURE__ */ new Map();
1320
+ function Rn(e) {
1321
+ var t;
1322
+ let n = (t = $e.get(e)) != null ? t : 0;
1323
+ return $e.set(e, n + 1), n !== 0 ? () => Dn(e) : (Zt.set(e, { "aria-hidden": e.getAttribute("aria-hidden"), inert: e.inert }), e.setAttribute("aria-hidden", "true"), e.inert = !0, () => Dn(e));
1324
+ }
1325
+ function Dn(e) {
1326
+ var t;
1327
+ let n = (t = $e.get(e)) != null ? t : 1;
1328
+ if (n === 1 ? $e.delete(e) : $e.set(e, n - 1), n !== 1) return;
1329
+ let r = Zt.get(e);
1330
+ r && (r["aria-hidden"] === null ? e.removeAttribute("aria-hidden") : e.setAttribute("aria-hidden", r["aria-hidden"]), e.inert = r.inert, Zt.delete(e));
1331
+ }
1332
+ function Xo(e, { allowed: t, disallowed: n } = {}) {
1333
+ let r = Ke(e, "inert-others");
1334
+ Z(() => {
1335
+ var o, i;
1336
+ if (!r) return;
1337
+ let s = Ce();
1338
+ for (let a of (o = n == null ? void 0 : n()) != null ? o : []) a && s.add(Rn(a));
1339
+ let l = (i = t == null ? void 0 : t()) != null ? i : [];
1340
+ for (let a of l) {
1341
+ if (!a) continue;
1342
+ let d = Et(a);
1343
+ if (!d) continue;
1344
+ let u = a.parentElement;
1345
+ for (; u && u !== d.body; ) {
1346
+ for (let m of u.children) l.some((h) => m.contains(h)) || s.add(Rn(m));
1347
+ u = u.parentElement;
1348
+ }
1349
+ }
1350
+ return s.dispose;
1351
+ }, [r, t, n]);
1352
+ }
1353
+ function _n(e, t, n) {
1354
+ let r = Oe((o) => {
1355
+ let i = o.getBoundingClientRect();
1356
+ i.x === 0 && i.y === 0 && i.width === 0 && i.height === 0 && n();
1357
+ });
1358
+ H(() => {
1359
+ if (!e) return;
1360
+ let o = t === null ? null : t instanceof HTMLElement ? t : t.current;
1361
+ if (!o) return;
1362
+ let i = Ce();
1363
+ if (typeof ResizeObserver < "u") {
1364
+ let s = new ResizeObserver(() => r.current(o));
1365
+ s.observe(o), i.add(() => s.disconnect());
1366
+ }
1367
+ if (typeof IntersectionObserver < "u") {
1368
+ let s = new IntersectionObserver(() => r.current(o));
1369
+ s.observe(o), i.add(() => s.disconnect());
1370
+ }
1371
+ return () => i.dispose();
1372
+ }, [t, r, e]);
1373
+ }
1374
+ let Jt = ["[contentEditable=true]", "[tabindex]", "a[href]", "area[href]", "button:not([disabled])", "iframe", "input:not([disabled])", "select:not([disabled])", "textarea:not([disabled])"].map((e) => `${e}:not([tabindex='-1'])`).join(","), zo = ["[data-autofocus]"].map((e) => `${e}:not([tabindex='-1'])`).join(",");
1375
+ var pe = ((e) => (e[e.First = 1] = "First", e[e.Previous = 2] = "Previous", e[e.Next = 4] = "Next", e[e.Last = 8] = "Last", e[e.WrapAround = 16] = "WrapAround", e[e.NoScroll = 32] = "NoScroll", e[e.AutoFocus = 64] = "AutoFocus", e))(pe || {}), Xt = ((e) => (e[e.Error = 0] = "Error", e[e.Overflow = 1] = "Overflow", e[e.Success = 2] = "Success", e[e.Underflow = 3] = "Underflow", e))(Xt || {}), $o = ((e) => (e[e.Previous = -1] = "Previous", e[e.Next = 1] = "Next", e))($o || {});
1376
+ function _o(e = document.body) {
1377
+ return e == null ? [] : Array.from(e.querySelectorAll(Jt)).sort((t, n) => Math.sign((t.tabIndex || Number.MAX_SAFE_INTEGER) - (n.tabIndex || Number.MAX_SAFE_INTEGER)));
1378
+ }
1379
+ function ei(e = document.body) {
1380
+ return e == null ? [] : Array.from(e.querySelectorAll(zo)).sort((t, n) => Math.sign((t.tabIndex || Number.MAX_SAFE_INTEGER) - (n.tabIndex || Number.MAX_SAFE_INTEGER)));
1381
+ }
1382
+ var er = ((e) => (e[e.Strict = 0] = "Strict", e[e.Loose = 1] = "Loose", e))(er || {});
1383
+ function ti(e, t = 0) {
1384
+ var n;
1385
+ return e === ((n = Et(e)) == null ? void 0 : n.body) ? !1 : be(t, { 0() {
1386
+ return e.matches(Jt);
1387
+ }, 1() {
1388
+ let r = e;
1389
+ for (; r !== null; ) {
1390
+ if (r.matches(Jt)) return !0;
1391
+ r = r.parentElement;
1392
+ }
1393
+ return !1;
1394
+ } });
1395
+ }
1396
+ var ni = ((e) => (e[e.Keyboard = 0] = "Keyboard", e[e.Mouse = 1] = "Mouse", e))(ni || {});
1397
+ typeof window < "u" && typeof document < "u" && (document.addEventListener("keydown", (e) => {
1398
+ e.metaKey || e.altKey || e.ctrlKey || (document.documentElement.dataset.headlessuiFocusVisible = "");
1399
+ }, !0), document.addEventListener("click", (e) => {
1400
+ e.detail === 1 ? delete document.documentElement.dataset.headlessuiFocusVisible : e.detail === 0 && (document.documentElement.dataset.headlessuiFocusVisible = "");
1401
+ }, !0));
1402
+ function ge(e) {
1403
+ e == null || e.focus({ preventScroll: !0 });
1404
+ }
1405
+ let ri = ["textarea", "input"].join(",");
1406
+ function oi(e) {
1407
+ var t, n;
1408
+ return (n = (t = e == null ? void 0 : e.matches) == null ? void 0 : t.call(e, ri)) != null ? n : !1;
1409
+ }
1410
+ function ii(e, t = (n) => n) {
1411
+ return e.slice().sort((n, r) => {
1412
+ let o = t(n), i = t(r);
1413
+ if (o === null || i === null) return 0;
1414
+ let s = o.compareDocumentPosition(i);
1415
+ return s & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : s & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;
1416
+ });
1417
+ }
1418
+ function _e(e, t, { sorted: n = !0, relativeTo: r = null, skipElements: o = [] } = {}) {
1419
+ let i = Array.isArray(e) ? e.length > 0 ? e[0].ownerDocument : document : e.ownerDocument, s = Array.isArray(e) ? n ? ii(e) : e : t & 64 ? ei(e) : _o(e);
1420
+ o.length > 0 && s.length > 1 && (s = s.filter((p) => !o.some((v) => v != null && "current" in v ? (v == null ? void 0 : v.current) === p : v === p))), r = r ?? i.activeElement;
1421
+ let l = (() => {
1422
+ if (t & 5) return 1;
1423
+ if (t & 10) return -1;
1424
+ throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last");
1425
+ })(), a = (() => {
1426
+ if (t & 1) return 0;
1427
+ if (t & 2) return Math.max(0, s.indexOf(r)) - 1;
1428
+ if (t & 4) return Math.max(0, s.indexOf(r)) + 1;
1429
+ if (t & 8) return s.length - 1;
1430
+ throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last");
1431
+ })(), d = t & 32 ? { preventScroll: !0 } : {}, u = 0, m = s.length, h;
1432
+ do {
1433
+ if (u >= m || u + m <= 0) return 0;
1434
+ let p = a + u;
1435
+ if (t & 16) p = (p + m) % m;
1436
+ else {
1437
+ if (p < 0) return 3;
1438
+ if (p >= m) return 1;
1439
+ }
1440
+ h = s[p], h == null || h.focus(d), u += l;
1441
+ } while (h !== i.activeElement);
1442
+ return t & 6 && oi(h) && h.select(), 2;
1443
+ }
1444
+ function tr() {
1445
+ return /iPhone/gi.test(window.navigator.platform) || /Mac/gi.test(window.navigator.platform) && window.navigator.maxTouchPoints > 0;
1446
+ }
1447
+ function ai() {
1448
+ return /Android/gi.test(window.navigator.userAgent);
1449
+ }
1450
+ function si() {
1451
+ return tr() || ai();
1452
+ }
1453
+ function qe(e, t, n, r) {
1454
+ let o = Oe(n);
1455
+ H(() => {
1456
+ if (!e) return;
1457
+ function i(s) {
1458
+ o.current(s);
1459
+ }
1460
+ return document.addEventListener(t, i, r), () => document.removeEventListener(t, i, r);
1461
+ }, [e, t, r]);
1462
+ }
1463
+ function nr(e, t, n, r) {
1464
+ let o = Oe(n);
1465
+ H(() => {
1466
+ if (!e) return;
1467
+ function i(s) {
1468
+ o.current(s);
1469
+ }
1470
+ return window.addEventListener(t, i, r), () => window.removeEventListener(t, i, r);
1471
+ }, [e, t, r]);
1472
+ }
1473
+ const Bn = 30;
1474
+ function ci(e, t, n) {
1475
+ let r = Ke(e, "outside-click"), o = Oe(n), i = P(function(a, d) {
1476
+ if (a.defaultPrevented) return;
1477
+ let u = d(a);
1478
+ if (u === null || !u.getRootNode().contains(u) || !u.isConnected) return;
1479
+ let m = function h(p) {
1480
+ return typeof p == "function" ? h(p()) : Array.isArray(p) || p instanceof Set ? p : [p];
1481
+ }(t);
1482
+ for (let h of m) {
1483
+ if (h === null) continue;
1484
+ let p = h instanceof HTMLElement ? h : h.current;
1485
+ if (p != null && p.contains(u) || a.composed && a.composedPath().includes(p)) return;
1486
+ }
1487
+ return !ti(u, er.Loose) && u.tabIndex !== -1 && a.preventDefault(), o.current(a, u);
1488
+ }, [o]), s = x(null);
1489
+ qe(r, "pointerdown", (a) => {
1490
+ var d, u;
1491
+ s.current = ((u = (d = a.composedPath) == null ? void 0 : d.call(a)) == null ? void 0 : u[0]) || a.target;
1492
+ }, !0), qe(r, "mousedown", (a) => {
1493
+ var d, u;
1494
+ s.current = ((u = (d = a.composedPath) == null ? void 0 : d.call(a)) == null ? void 0 : u[0]) || a.target;
1495
+ }, !0), qe(r, "click", (a) => {
1496
+ si() || s.current && (i(a, () => s.current), s.current = null);
1497
+ }, !0);
1498
+ let l = x({ x: 0, y: 0 });
1499
+ qe(r, "touchstart", (a) => {
1500
+ l.current.x = a.touches[0].clientX, l.current.y = a.touches[0].clientY;
1501
+ }, !0), qe(r, "touchend", (a) => {
1502
+ let d = { x: a.changedTouches[0].clientX, y: a.changedTouches[0].clientY };
1503
+ if (!(Math.abs(d.x - l.current.x) >= Bn || Math.abs(d.y - l.current.y) >= Bn)) return i(a, () => a.target instanceof HTMLElement ? a.target : null);
1504
+ }, !0), nr(r, "blur", (a) => i(a, () => window.document.activeElement instanceof HTMLIFrameElement ? window.document.activeElement : null), !0);
1505
+ }
1506
+ function rt(...e) {
1507
+ return G(() => Et(...e), [...e]);
1508
+ }
1509
+ function rr(e, t, n, r) {
1510
+ let o = Oe(n);
1511
+ H(() => {
1512
+ e = e ?? window;
1513
+ function i(s) {
1514
+ o.current(s);
1515
+ }
1516
+ return e.addEventListener(t, i, r), () => e.removeEventListener(t, i, r);
1517
+ }, [e, t, r]);
1518
+ }
1519
+ function li() {
1520
+ let e;
1521
+ return { before({ doc: t }) {
1522
+ var n;
1523
+ let r = t.documentElement, o = (n = t.defaultView) != null ? n : window;
1524
+ e = Math.max(0, o.innerWidth - r.clientWidth);
1525
+ }, after({ doc: t, d: n }) {
1526
+ let r = t.documentElement, o = Math.max(0, r.clientWidth - r.offsetWidth), i = Math.max(0, e - o);
1527
+ n.style(r, "paddingRight", `${i}px`);
1528
+ } };
1529
+ }
1530
+ function ui() {
1531
+ return tr() ? { before({ doc: e, d: t, meta: n }) {
1532
+ function r(o) {
1533
+ return n.containers.flatMap((i) => i()).some((i) => i.contains(o));
1534
+ }
1535
+ t.microTask(() => {
1536
+ var o;
1537
+ if (window.getComputedStyle(e.documentElement).scrollBehavior !== "auto") {
1538
+ let l = Ce();
1539
+ l.style(e.documentElement, "scrollBehavior", "auto"), t.add(() => t.microTask(() => l.dispose()));
1540
+ }
1541
+ let i = (o = window.scrollY) != null ? o : window.pageYOffset, s = null;
1542
+ t.addEventListener(e, "click", (l) => {
1543
+ if (l.target instanceof HTMLElement) try {
1544
+ let a = l.target.closest("a");
1545
+ if (!a) return;
1546
+ let { hash: d } = new URL(a.href), u = e.querySelector(d);
1547
+ u && !r(u) && (s = u);
1548
+ } catch {
1549
+ }
1550
+ }, !0), t.addEventListener(e, "touchstart", (l) => {
1551
+ if (l.target instanceof HTMLElement) if (r(l.target)) {
1552
+ let a = l.target;
1553
+ for (; a.parentElement && r(a.parentElement); ) a = a.parentElement;
1554
+ t.style(a, "overscrollBehavior", "contain");
1555
+ } else t.style(l.target, "touchAction", "none");
1556
+ }), t.addEventListener(e, "touchmove", (l) => {
1557
+ if (l.target instanceof HTMLElement) {
1558
+ if (l.target.tagName === "INPUT") return;
1559
+ if (r(l.target)) {
1560
+ let a = l.target;
1561
+ for (; a.parentElement && a.dataset.headlessuiPortal !== "" && !(a.scrollHeight > a.clientHeight || a.scrollWidth > a.clientWidth); ) a = a.parentElement;
1562
+ a.dataset.headlessuiPortal === "" && l.preventDefault();
1563
+ } else l.preventDefault();
1564
+ }
1565
+ }, { passive: !1 }), t.add(() => {
1566
+ var l;
1567
+ let a = (l = window.scrollY) != null ? l : window.pageYOffset;
1568
+ i !== a && window.scrollTo(0, i), s && s.isConnected && (s.scrollIntoView({ block: "nearest" }), s = null);
1569
+ });
1570
+ });
1571
+ } } : {};
1572
+ }
1573
+ function di() {
1574
+ return { before({ doc: e, d: t }) {
1575
+ t.style(e.documentElement, "overflow", "hidden");
1576
+ } };
1577
+ }
1578
+ function fi(e) {
1579
+ let t = {};
1580
+ for (let n of e) Object.assign(t, n(t));
1581
+ return t;
1582
+ }
1583
+ let Me = zn(() => /* @__PURE__ */ new Map(), { PUSH(e, t) {
1584
+ var n;
1585
+ let r = (n = this.get(e)) != null ? n : { doc: e, count: 0, d: Ce(), meta: /* @__PURE__ */ new Set() };
1586
+ return r.count++, r.meta.add(t), this.set(e, r), this;
1587
+ }, POP(e, t) {
1588
+ let n = this.get(e);
1589
+ return n && (n.count--, n.meta.delete(t)), this;
1590
+ }, SCROLL_PREVENT({ doc: e, d: t, meta: n }) {
1591
+ let r = { doc: e, d: t, meta: fi(n) }, o = [ui(), li(), di()];
1592
+ o.forEach(({ before: i }) => i == null ? void 0 : i(r)), o.forEach(({ after: i }) => i == null ? void 0 : i(r));
1593
+ }, SCROLL_ALLOW({ d: e }) {
1594
+ e.dispose();
1595
+ }, TEARDOWN({ doc: e }) {
1596
+ this.delete(e);
1597
+ } });
1598
+ Me.subscribe(() => {
1599
+ let e = Me.getSnapshot(), t = /* @__PURE__ */ new Map();
1600
+ for (let [n] of e) t.set(n, n.documentElement.style.overflow);
1601
+ for (let n of e.values()) {
1602
+ let r = t.get(n.doc) === "hidden", o = n.count !== 0;
1603
+ (o && !r || !o && r) && Me.dispatch(n.count > 0 ? "SCROLL_PREVENT" : "SCROLL_ALLOW", n), n.count === 0 && Me.dispatch("TEARDOWN", n);
1604
+ }
1605
+ });
1606
+ function mi(e, t, n = () => ({ containers: [] })) {
1607
+ let r = $n(Me), o = t ? r.get(t) : void 0, i = o ? o.count > 0 : !1;
1608
+ return Z(() => {
1609
+ if (!(!t || !e)) return Me.dispatch("PUSH", t, n), () => Me.dispatch("POP", t, n);
1610
+ }, [e, t]), i;
1611
+ }
1612
+ function hi(e, t, n = () => [document.body]) {
1613
+ let r = Ke(e, "scroll-lock");
1614
+ mi(r, t, (o) => {
1615
+ var i;
1616
+ return { containers: [...(i = o.containers) != null ? i : [], n] };
1617
+ });
1618
+ }
1619
+ function pi(e) {
1620
+ let t = { called: !1 };
1621
+ return (...n) => {
1622
+ if (!t.called) return t.called = !0, e(...n);
1623
+ };
1624
+ }
1625
+ function gi(e = 0) {
1626
+ let [t, n] = j(e), r = P((a) => n(a), [t]), o = P((a) => n((d) => d | a), [t]), i = P((a) => (t & a) === a, [t]), s = P((a) => n((d) => d & ~a), [n]), l = P((a) => n((d) => d ^ a), [n]);
1627
+ return { flags: t, setFlag: r, addFlag: o, hasFlag: i, removeFlag: s, toggleFlag: l };
1628
+ }
1629
+ var vi = ((e) => (e[e.None = 0] = "None", e[e.Closed = 1] = "Closed", e[e.Enter = 2] = "Enter", e[e.Leave = 4] = "Leave", e))(vi || {});
1630
+ function Ei(e) {
1631
+ let t = {};
1632
+ for (let n in e) e[n] === !0 && (t[`data-${n}`] = "");
1633
+ return t;
1634
+ }
1635
+ function Ai(e, t, n, r) {
1636
+ let [o, i] = j(n), { hasFlag: s, addFlag: l, removeFlag: a } = gi(e && o ? 3 : 0), d = x(!1), u = x(!1), m = wt();
1637
+ return Z(function h() {
1638
+ var p;
1639
+ if (!e) return;
1640
+ n && i(!0);
1641
+ let v = t.current;
1642
+ return v ? ((p = r == null ? void 0 : r.start) == null || p.call(r, n), wi(v, { inFlight: d, prepare() {
1643
+ u.current ? u.current = !1 : u.current = d.current, d.current = !0, !u.current && (n ? (l(3), a(4)) : (l(4), a(2)));
1644
+ }, run() {
1645
+ u.current ? n ? (a(3), l(4)) : (a(4), l(3)) : n ? a(1) : l(1);
1646
+ }, done() {
1647
+ var E;
1648
+ u.current && typeof v.getAnimations == "function" && v.getAnimations().length > 0 || (d.current = !1, a(7), n || i(!1), (E = r == null ? void 0 : r.end) == null || E.call(r, n));
1649
+ } })) : n ? (l(3), m.nextFrame(() => h())) : void 0;
1650
+ }, [e, n, t, m]), e ? [o, { closed: s(1), enter: s(2), leave: s(4), transition: s(2) || s(4) }] : [n, { closed: void 0, enter: void 0, leave: void 0, transition: void 0 }];
1651
+ }
1652
+ function wi(e, { prepare: t, run: n, done: r, inFlight: o }) {
1653
+ let i = Ce();
1654
+ return xi(e, { prepare: t, inFlight: o }), i.nextFrame(() => {
1655
+ i.add(yi(e, r)), n();
1656
+ }), i.dispose;
1657
+ }
1658
+ function yi(e, t) {
1659
+ let n = pi(t), r = Ce();
1660
+ if (!e) return r.dispose;
1661
+ let { transitionDuration: o, transitionDelay: i } = getComputedStyle(e), [s, l] = [o, i].map((d) => {
1662
+ let [u = 0] = d.split(",").filter(Boolean).map((m) => m.includes("ms") ? parseFloat(m) : parseFloat(m) * 1e3).sort((m, h) => h - m);
1663
+ return u;
1664
+ }), a = s + l;
1665
+ if (a !== 0) {
1666
+ let d = r.group((u) => {
1667
+ let m = u.setTimeout(() => {
1668
+ n(), u.dispose();
1669
+ }, a);
1670
+ u.addEventListener(e, "transitionrun", (h) => {
1671
+ h.target === h.currentTarget && (m(), u.addEventListener(e, "transitioncancel", (p) => {
1672
+ p.target === p.currentTarget && (n(), d());
1673
+ }));
1674
+ });
1675
+ });
1676
+ r.addEventListener(e, "transitionend", (u) => {
1677
+ u.target === u.currentTarget && (n(), r.dispose());
1678
+ });
1679
+ } else n();
1680
+ return r.dispose;
1681
+ }
1682
+ function xi(e, { inFlight: t, prepare: n }) {
1683
+ if (t != null && t.current) {
1684
+ n();
1685
+ return;
1686
+ }
1687
+ let r = e.style.transition;
1688
+ e.style.transition = "none", n(), e.offsetHeight, e.style.transition = r;
1689
+ }
1690
+ function nn(e, t) {
1691
+ let n = x([]), r = S(e);
1692
+ H(() => {
1693
+ let o = [...n.current];
1694
+ for (let [i, s] of t.entries()) if (n.current[i] !== s) {
1695
+ let l = r(t, o);
1696
+ return n.current = t, l;
1697
+ }
1698
+ }, [r, ...t]);
1699
+ }
1700
+ let yt = oe(null);
1701
+ yt.displayName = "OpenClosedContext";
1702
+ var ce = ((e) => (e[e.Open = 1] = "Open", e[e.Closed = 2] = "Closed", e[e.Closing = 4] = "Closing", e[e.Opening = 8] = "Opening", e))(ce || {});
1703
+ function xt() {
1704
+ return _(yt);
1705
+ }
1706
+ function bi({ value: e, children: t }) {
1707
+ return F.createElement(yt.Provider, { value: e }, t);
1708
+ }
1709
+ function Ci({ children: e }) {
1710
+ return F.createElement(yt.Provider, { value: null }, e);
1711
+ }
1712
+ function Ti(e) {
1713
+ function t() {
1714
+ document.readyState !== "loading" && (e(), document.removeEventListener("DOMContentLoaded", t));
1715
+ }
1716
+ typeof window < "u" && typeof document < "u" && (document.addEventListener("DOMContentLoaded", t), t());
1717
+ }
1718
+ let ye = [];
1719
+ Ti(() => {
1720
+ function e(t) {
1721
+ t.target instanceof HTMLElement && t.target !== document.body && ye[0] !== t.target && (ye.unshift(t.target), ye = ye.filter((n) => n != null && n.isConnected), ye.splice(10));
1722
+ }
1723
+ window.addEventListener("click", e, { capture: !0 }), window.addEventListener("mousedown", e, { capture: !0 }), window.addEventListener("focus", e, { capture: !0 }), document.body.addEventListener("click", e, { capture: !0 }), document.body.addEventListener("mousedown", e, { capture: !0 }), document.body.addEventListener("focus", e, { capture: !0 });
1724
+ });
1725
+ function or(e) {
1726
+ let t = S(e), n = x(!1);
1727
+ H(() => (n.current = !1, () => {
1728
+ n.current = !0, At(() => {
1729
+ n.current && t();
1730
+ });
1731
+ }), [t]);
1732
+ }
1733
+ function Fi() {
1734
+ let e = typeof document > "u";
1735
+ return "useSyncExternalStore" in Xe ? ((t) => t.useSyncExternalStore)(Xe)(() => () => {
1736
+ }, () => !1, () => !e) : !1;
1737
+ }
1738
+ function ot() {
1739
+ let e = Fi(), [t, n] = Xe.useState(Ie.isHandoffComplete);
1740
+ return t && Ie.isHandoffComplete === !1 && n(!1), Xe.useEffect(() => {
1741
+ t !== !0 && n(!0);
1742
+ }, [t]), Xe.useEffect(() => Ie.handoff(), []), e ? !1 : t;
1743
+ }
1744
+ let ir = oe(!1);
1745
+ function Ri() {
1746
+ return _(ir);
1747
+ }
1748
+ function Mn(e) {
1749
+ return F.createElement(ir.Provider, { value: e.force }, e.children);
1750
+ }
1751
+ function Di(e) {
1752
+ let t = Ri(), n = _(sr), r = rt(e), [o, i] = j(() => {
1753
+ var s;
1754
+ if (!t && n !== null) return (s = n.current) != null ? s : null;
1755
+ if (Ie.isServer) return null;
1756
+ let l = r == null ? void 0 : r.getElementById("headlessui-portal-root");
1757
+ if (l) return l;
1758
+ if (r === null) return null;
1759
+ let a = r.createElement("div");
1760
+ return a.setAttribute("id", "headlessui-portal-root"), r.body.appendChild(a);
1761
+ });
1762
+ return H(() => {
1763
+ o !== null && (r != null && r.body.contains(o) || r == null || r.body.appendChild(o));
1764
+ }, [o, r]), H(() => {
1765
+ t || n !== null && i(n.current);
1766
+ }, [n, i, t]), o;
1767
+ }
1768
+ let ar = re, Bi = J(function(e, t) {
1769
+ let n = e, r = x(null), o = de(Yo((u) => {
1770
+ r.current = u;
1771
+ }), t), i = rt(r), s = Di(r), [l] = j(() => {
1772
+ var u;
1773
+ return Ie.isServer ? null : (u = i == null ? void 0 : i.createElement("div")) != null ? u : null;
1774
+ }), a = _(zt), d = ot();
1775
+ return Z(() => {
1776
+ !s || !l || s.contains(l) || (l.setAttribute("data-headlessui-portal", ""), s.appendChild(l));
1777
+ }, [s, l]), Z(() => {
1778
+ if (l && a) return a.register(l);
1779
+ }, [a, l]), or(() => {
1780
+ var u;
1781
+ !s || !l || (l instanceof Node && s.contains(l) && s.removeChild(l), s.childNodes.length <= 0 && ((u = s.parentElement) == null || u.removeChild(s)));
1782
+ }), d ? !s || !l ? null : kn(ee({ ourProps: { ref: o }, theirProps: n, slot: {}, defaultTag: ar, name: "Portal" }), l) : null;
1783
+ });
1784
+ function Mi(e, t) {
1785
+ let n = de(t), { enabled: r = !0, ...o } = e;
1786
+ return r ? F.createElement(Bi, { ...o, ref: n }) : ee({ ourProps: { ref: n }, theirProps: o, slot: {}, defaultTag: ar, name: "Portal" });
1787
+ }
1788
+ let Ii = re, sr = oe(null);
1789
+ function ji(e, t) {
1790
+ let { target: n, ...r } = e, o = { ref: de(t) };
1791
+ return F.createElement(sr.Provider, { value: n }, ee({ ourProps: o, theirProps: r, defaultTag: Ii, name: "Popover.Group" }));
1792
+ }
1793
+ let zt = oe(null);
1794
+ function Oi() {
1795
+ let e = _(zt), t = x([]), n = S((i) => (t.current.push(i), e && e.register(i), () => r(i))), r = S((i) => {
1796
+ let s = t.current.indexOf(i);
1797
+ s !== -1 && t.current.splice(s, 1), e && e.unregister(i);
1798
+ }), o = G(() => ({ register: n, unregister: r, portals: t }), [n, r, t]);
1799
+ return [t, G(() => function({ children: i }) {
1800
+ return F.createElement(zt.Provider, { value: o }, i);
1801
+ }, [o])];
1802
+ }
1803
+ let Ni = J(Mi), cr = J(ji), Li = Object.assign(Ni, { Group: cr });
1804
+ function Gi(e, t = typeof document < "u" ? document.defaultView : null, n) {
1805
+ let r = Ke(e, "escape");
1806
+ rr(t, "keydown", (o) => {
1807
+ r && (o.defaultPrevented || o.key === Xn.Escape && n(o));
1808
+ });
1809
+ }
1810
+ function Si() {
1811
+ var e;
1812
+ let [t] = j(() => typeof window < "u" && typeof window.matchMedia == "function" ? window.matchMedia("(pointer: coarse)") : null), [n, r] = j((e = t == null ? void 0 : t.matches) != null ? e : !1);
1813
+ return Z(() => {
1814
+ if (!t) return;
1815
+ function o(i) {
1816
+ r(i.matches);
1817
+ }
1818
+ return t.addEventListener("change", o), () => t.removeEventListener("change", o);
1819
+ }, [t]), n;
1820
+ }
1821
+ function ki({ defaultContainers: e = [], portals: t, mainTreeNodeRef: n } = {}) {
1822
+ var r;
1823
+ let o = x((r = n == null ? void 0 : n.current) != null ? r : null), i = rt(o), s = S(() => {
1824
+ var l, a, d;
1825
+ let u = [];
1826
+ for (let m of e) m !== null && (m instanceof HTMLElement ? u.push(m) : "current" in m && m.current instanceof HTMLElement && u.push(m.current));
1827
+ if (t != null && t.current) for (let m of t.current) u.push(m);
1828
+ for (let m of (l = i == null ? void 0 : i.querySelectorAll("html > *, body > *")) != null ? l : []) m !== document.body && m !== document.head && m instanceof HTMLElement && m.id !== "headlessui-portal-root" && (m.contains(o.current) || m.contains((d = (a = o.current) == null ? void 0 : a.getRootNode()) == null ? void 0 : d.host) || u.some((h) => m.contains(h)) || u.push(m));
1829
+ return u;
1830
+ });
1831
+ return { resolveContainers: s, contains: S((l) => s().some((a) => a.contains(l))), mainTreeNodeRef: o, MainTreeNode: G(() => function() {
1832
+ return n != null ? null : F.createElement(Vt, { features: gt.Hidden, ref: o });
1833
+ }, [o, n]) };
1834
+ }
1835
+ function rn() {
1836
+ let e = x(!1);
1837
+ return Z(() => (e.current = !0, () => {
1838
+ e.current = !1;
1839
+ }), []), e;
1840
+ }
1841
+ var Je = ((e) => (e[e.Forwards = 0] = "Forwards", e[e.Backwards = 1] = "Backwards", e))(Je || {});
1842
+ function Ki() {
1843
+ let e = x(0);
1844
+ return nr(!0, "keydown", (t) => {
1845
+ t.key === "Tab" && (e.current = t.shiftKey ? 1 : 0);
1846
+ }, !0), e;
1847
+ }
1848
+ function lr(e) {
1849
+ if (!e) return /* @__PURE__ */ new Set();
1850
+ if (typeof e == "function") return new Set(e());
1851
+ let t = /* @__PURE__ */ new Set();
1852
+ for (let n of e.current) n.current instanceof HTMLElement && t.add(n.current);
1853
+ return t;
1854
+ }
1855
+ let Yi = "div";
1856
+ var De = ((e) => (e[e.None = 0] = "None", e[e.InitialFocus = 1] = "InitialFocus", e[e.TabLock = 2] = "TabLock", e[e.FocusLock = 4] = "FocusLock", e[e.RestoreFocus = 8] = "RestoreFocus", e[e.AutoFocus = 16] = "AutoFocus", e))(De || {});
1857
+ function Hi(e, t) {
1858
+ let n = x(null), r = de(n, t), { initialFocus: o, initialFocusFallback: i, containers: s, features: l = 15, ...a } = e;
1859
+ ot() || (l = 0);
1860
+ let d = rt(n);
1861
+ Wi(l, { ownerDocument: d });
1862
+ let u = qi(l, { ownerDocument: d, container: n, initialFocus: o, initialFocusFallback: i });
1863
+ Vi(l, { ownerDocument: d, container: n, containers: s, previousActiveElement: u });
1864
+ let m = Ki(), h = S((y) => {
1865
+ let b = n.current;
1866
+ b && ((B) => B())(() => {
1867
+ be(m.current, { [Je.Forwards]: () => {
1868
+ _e(b, pe.First, { skipElements: [y.relatedTarget, i] });
1869
+ }, [Je.Backwards]: () => {
1870
+ _e(b, pe.Last, { skipElements: [y.relatedTarget, i] });
1871
+ } });
1872
+ });
1873
+ }), p = Ke(!!(l & 2), "focus-trap#tab-lock"), v = wt(), E = x(!1), A = { ref: r, onKeyDown(y) {
1874
+ y.key == "Tab" && (E.current = !0, v.requestAnimationFrame(() => {
1875
+ E.current = !1;
1876
+ }));
1877
+ }, onBlur(y) {
1878
+ if (!(l & 4)) return;
1879
+ let b = lr(s);
1880
+ n.current instanceof HTMLElement && b.add(n.current);
1881
+ let B = y.relatedTarget;
1882
+ B instanceof HTMLElement && B.dataset.headlessuiFocusGuard !== "true" && (ur(b, B) || (E.current ? _e(n.current, be(m.current, { [Je.Forwards]: () => pe.Next, [Je.Backwards]: () => pe.Previous }) | pe.WrapAround, { relativeTo: y.target }) : y.target instanceof HTMLElement && ge(y.target)));
1883
+ } };
1884
+ return F.createElement(F.Fragment, null, p && F.createElement(Vt, { as: "button", type: "button", "data-headlessui-focus-guard": !0, onFocus: h, features: gt.Focusable }), ee({ ourProps: A, theirProps: a, defaultTag: Yi, name: "FocusTrap" }), p && F.createElement(Vt, { as: "button", type: "button", "data-headlessui-focus-guard": !0, onFocus: h, features: gt.Focusable }));
1885
+ }
1886
+ let Ui = J(Hi), Qi = Object.assign(Ui, { features: De });
1887
+ function Pi(e = !0) {
1888
+ let t = x(ye.slice());
1889
+ return nn(([n], [r]) => {
1890
+ r === !0 && n === !1 && At(() => {
1891
+ t.current.splice(0);
1892
+ }), r === !1 && n === !0 && (t.current = ye.slice());
1893
+ }, [e, ye, t]), S(() => {
1894
+ var n;
1895
+ return (n = t.current.find((r) => r != null && r.isConnected)) != null ? n : null;
1896
+ });
1897
+ }
1898
+ function Wi(e, { ownerDocument: t }) {
1899
+ let n = !!(e & 8), r = Pi(n);
1900
+ nn(() => {
1901
+ n || (t == null ? void 0 : t.activeElement) === (t == null ? void 0 : t.body) && ge(r());
1902
+ }, [n]), or(() => {
1903
+ n && ge(r());
1904
+ });
1905
+ }
1906
+ function qi(e, { ownerDocument: t, container: n, initialFocus: r, initialFocusFallback: o }) {
1907
+ let i = x(null), s = Ke(!!(e & 1), "focus-trap#initial-focus"), l = rn();
1908
+ return nn(() => {
1909
+ if (e === 0) return;
1910
+ if (!s) {
1911
+ o != null && o.current && ge(o.current);
1912
+ return;
1913
+ }
1914
+ let a = n.current;
1915
+ a && At(() => {
1916
+ if (!l.current) return;
1917
+ let d = t == null ? void 0 : t.activeElement;
1918
+ if (r != null && r.current) {
1919
+ if ((r == null ? void 0 : r.current) === d) {
1920
+ i.current = d;
1921
+ return;
1922
+ }
1923
+ } else if (a.contains(d)) {
1924
+ i.current = d;
1925
+ return;
1926
+ }
1927
+ if (r != null && r.current) ge(r.current);
1928
+ else {
1929
+ if (e & 16) {
1930
+ if (_e(a, pe.First | pe.AutoFocus) !== Xt.Error) return;
1931
+ } else if (_e(a, pe.First) !== Xt.Error) return;
1932
+ if (o != null && o.current && (ge(o.current), (t == null ? void 0 : t.activeElement) === o.current)) return;
1933
+ console.warn("There are no focusable elements inside the <FocusTrap />");
1934
+ }
1935
+ i.current = t == null ? void 0 : t.activeElement;
1936
+ });
1937
+ }, [o, s, e]), i;
1938
+ }
1939
+ function Vi(e, { ownerDocument: t, container: n, containers: r, previousActiveElement: o }) {
1940
+ let i = rn(), s = !!(e & 4);
1941
+ rr(t == null ? void 0 : t.defaultView, "focus", (l) => {
1942
+ if (!s || !i.current) return;
1943
+ let a = lr(r);
1944
+ n.current instanceof HTMLElement && a.add(n.current);
1945
+ let d = o.current;
1946
+ if (!d) return;
1947
+ let u = l.target;
1948
+ u && u instanceof HTMLElement ? ur(a, u) ? (o.current = u, ge(u)) : (l.preventDefault(), l.stopPropagation(), ge(d)) : ge(o.current);
1949
+ }, !0);
1950
+ }
1951
+ function ur(e, t) {
1952
+ for (let n of e) if (n.contains(t)) return !0;
1953
+ return !1;
1954
+ }
1955
+ function dr(e) {
1956
+ var t;
1957
+ return !!(e.enter || e.enterFrom || e.enterTo || e.leave || e.leaveFrom || e.leaveTo) || ((t = e.as) != null ? t : mr) !== re || F.Children.count(e.children) === 1;
1958
+ }
1959
+ let bt = oe(null);
1960
+ bt.displayName = "TransitionContext";
1961
+ var Zi = ((e) => (e.Visible = "visible", e.Hidden = "hidden", e))(Zi || {});
1962
+ function Ji() {
1963
+ let e = _(bt);
1964
+ if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
1965
+ return e;
1966
+ }
1967
+ function Xi() {
1968
+ let e = _(Ct);
1969
+ if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
1970
+ return e;
1971
+ }
1972
+ let Ct = oe(null);
1973
+ Ct.displayName = "NestingContext";
1974
+ function Tt(e) {
1975
+ return "children" in e ? Tt(e.children) : e.current.filter(({ el: t }) => t.current !== null).filter(({ state: t }) => t === "visible").length > 0;
1976
+ }
1977
+ function fr(e, t) {
1978
+ let n = Oe(e), r = x([]), o = rn(), i = wt(), s = S((p, v = xe.Hidden) => {
1979
+ let E = r.current.findIndex(({ el: A }) => A === p);
1980
+ E !== -1 && (be(v, { [xe.Unmount]() {
1981
+ r.current.splice(E, 1);
1982
+ }, [xe.Hidden]() {
1983
+ r.current[E].state = "hidden";
1984
+ } }), i.microTask(() => {
1985
+ var A;
1986
+ !Tt(r) && o.current && ((A = n.current) == null || A.call(n));
1987
+ }));
1988
+ }), l = S((p) => {
1989
+ let v = r.current.find(({ el: E }) => E === p);
1990
+ return v ? v.state !== "visible" && (v.state = "visible") : r.current.push({ el: p, state: "visible" }), () => s(p, xe.Unmount);
1991
+ }), a = x([]), d = x(Promise.resolve()), u = x({ enter: [], leave: [] }), m = S((p, v, E) => {
1992
+ a.current.splice(0), t && (t.chains.current[v] = t.chains.current[v].filter(([A]) => A !== p)), t == null || t.chains.current[v].push([p, new Promise((A) => {
1993
+ a.current.push(A);
1994
+ })]), t == null || t.chains.current[v].push([p, new Promise((A) => {
1995
+ Promise.all(u.current[v].map(([y, b]) => b)).then(() => A());
1996
+ })]), v === "enter" ? d.current = d.current.then(() => t == null ? void 0 : t.wait.current).then(() => E(v)) : E(v);
1997
+ }), h = S((p, v, E) => {
1998
+ Promise.all(u.current[v].splice(0).map(([A, y]) => y)).then(() => {
1999
+ var A;
2000
+ (A = a.current.shift()) == null || A();
2001
+ }).then(() => E(v));
2002
+ });
2003
+ return G(() => ({ children: r, register: l, unregister: s, onStart: m, onStop: h, wait: d, chains: u }), [l, s, r, m, h, u, d]);
2004
+ }
2005
+ let mr = re, hr = pt.RenderStrategy;
2006
+ function zi(e, t) {
2007
+ var n, r;
2008
+ let { transition: o = !0, beforeEnter: i, afterEnter: s, beforeLeave: l, afterLeave: a, enter: d, enterFrom: u, enterTo: m, entered: h, leave: p, leaveFrom: v, leaveTo: E, ...A } = e, y = x(null), b = dr(e), B = de(...b ? [y, t] : t === null ? [] : [t]), T = (n = A.unmount) == null || n ? xe.Unmount : xe.Hidden, { show: C, appear: M, initial: N } = Ji(), [k, q] = j(C ? "visible" : "hidden"), le = Xi(), { register: ie, unregister: $ } = le;
2009
+ Z(() => ie(y), [ie, y]), Z(() => {
2010
+ if (T === xe.Hidden && y.current) {
2011
+ if (C && k !== "visible") {
2012
+ q("visible");
2013
+ return;
2014
+ }
2015
+ return be(k, { hidden: () => $(y), visible: () => ie(y) });
2016
+ }
2017
+ }, [k, y, ie, $, C, T]);
2018
+ let W = ot();
2019
+ Z(() => {
2020
+ if (b && W && k === "visible" && y.current === null) throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?");
2021
+ }, [y, k, W, b]);
2022
+ let ae = N && !M, ue = M && C && N, fe = x(!1), me = fr(() => {
2023
+ fe.current || (q("hidden"), $(y));
2024
+ }, le), Te = S((Ye) => {
2025
+ fe.current = !0;
2026
+ let Le = Ye ? "enter" : "leave";
2027
+ me.onStart(y, Le, (he) => {
2028
+ he === "enter" ? i == null || i() : he === "leave" && (l == null || l());
2029
+ });
2030
+ }), se = S((Ye) => {
2031
+ let Le = Ye ? "enter" : "leave";
2032
+ fe.current = !1, me.onStop(y, Le, (he) => {
2033
+ he === "enter" ? s == null || s() : he === "leave" && (a == null || a());
2034
+ }), Le === "leave" && !Tt(me) && (q("hidden"), $(y));
2035
+ });
2036
+ H(() => {
2037
+ b && o || (Te(C), se(C));
2038
+ }, [C, b, o]);
2039
+ let U = !(!o || !b || !W || ae), [, K] = Ai(U, y, C, { start: Te, end: se }), it = Re({ ref: B, className: ((r = qt(A.className, ue && d, ue && u, K.enter && d, K.enter && K.closed && u, K.enter && !K.closed && m, K.leave && p, K.leave && !K.closed && v, K.leave && K.closed && E, !K.transition && C && h)) == null ? void 0 : r.trim()) || void 0, ...Ei(K) }), Ae = 0;
2040
+ return k === "visible" && (Ae |= ce.Open), k === "hidden" && (Ae |= ce.Closed), K.enter && (Ae |= ce.Opening), K.leave && (Ae |= ce.Closing), F.createElement(Ct.Provider, { value: me }, F.createElement(bi, { value: Ae }, ee({ ourProps: it, theirProps: A, defaultTag: mr, features: hr, visible: k === "visible", name: "Transition.Child" })));
2041
+ }
2042
+ function $i(e, t) {
2043
+ let { show: n, appear: r = !1, unmount: o = !0, ...i } = e, s = x(null), l = dr(e), a = de(...l ? [s, t] : t === null ? [] : [t]);
2044
+ ot();
2045
+ let d = xt();
2046
+ if (n === void 0 && d !== null && (n = (d & ce.Open) === ce.Open), n === void 0) throw new Error("A <Transition /> is used but it is missing a `show={true | false}` prop.");
2047
+ let [u, m] = j(n ? "visible" : "hidden"), h = fr(() => {
2048
+ n || m("hidden");
2049
+ }), [p, v] = j(!0), E = x([n]);
2050
+ Z(() => {
2051
+ p !== !1 && E.current[E.current.length - 1] !== n && (E.current.push(n), v(!1));
2052
+ }, [E, n]);
2053
+ let A = G(() => ({ show: n, appear: r, initial: p }), [n, r, p]);
2054
+ _n(n, s, () => m("hidden")), Z(() => {
2055
+ n ? m("visible") : !Tt(h) && s.current !== null && m("hidden");
2056
+ }, [n, h]);
2057
+ let y = { unmount: o }, b = S(() => {
2058
+ var T;
2059
+ p && v(!1), (T = e.beforeEnter) == null || T.call(e);
2060
+ }), B = S(() => {
2061
+ var T;
2062
+ p && v(!1), (T = e.beforeLeave) == null || T.call(e);
2063
+ });
2064
+ return F.createElement(Ct.Provider, { value: h }, F.createElement(bt.Provider, { value: A }, ee({ ourProps: { ...y, as: re, children: F.createElement(pr, { ref: a, ...y, ...i, beforeEnter: b, beforeLeave: B }) }, theirProps: {}, defaultTag: re, features: hr, visible: u === "visible", name: "Transition" })));
2065
+ }
2066
+ function _i(e, t) {
2067
+ let n = _(bt) !== null, r = xt() !== null;
2068
+ return F.createElement(F.Fragment, null, !n && r ? F.createElement($t, { ref: t, ...e }) : F.createElement(pr, { ref: t, ...e }));
2069
+ }
2070
+ let $t = J($i), pr = J(zi), on = J(_i), ve = Object.assign($t, { Child: on, Root: $t });
2071
+ var ea = ((e) => (e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e))(ea || {}), ta = ((e) => (e[e.SetTitleId = 0] = "SetTitleId", e))(ta || {});
2072
+ let na = { 0(e, t) {
2073
+ return e.titleId === t.id ? e : { ...e, titleId: t.id };
2074
+ } }, an = oe(null);
2075
+ an.displayName = "DialogContext";
2076
+ function Ft(e) {
2077
+ let t = _(an);
2078
+ if (t === null) {
2079
+ let n = new Error(`<${e} /> is missing a parent <Dialog /> component.`);
2080
+ throw Error.captureStackTrace && Error.captureStackTrace(n, Ft), n;
2081
+ }
2082
+ return t;
2083
+ }
2084
+ function ra(e, t) {
2085
+ return be(t.type, na, e, t);
2086
+ }
2087
+ let In = J(function(e, t) {
2088
+ let n = et(), { id: r = `headlessui-dialog-${n}`, open: o, onClose: i, initialFocus: s, role: l = "dialog", autoFocus: a = !0, __demoMode: d = !1, ...u } = e, m = x(!1);
2089
+ l = function() {
2090
+ return l === "dialog" || l === "alertdialog" ? l : (m.current || (m.current = !0, console.warn(`Invalid role [${l}] passed to <Dialog />. Only \`dialog\` and and \`alertdialog\` are supported. Using \`dialog\` instead.`)), "dialog");
2091
+ }();
2092
+ let h = xt();
2093
+ o === void 0 && h !== null && (o = (h & ce.Open) === ce.Open);
2094
+ let p = x(null), v = de(p, t), E = rt(p), A = o ? 0 : 1, [y, b] = eo(ra, { titleId: null, descriptionId: null, panelRef: to() }), B = S(() => i(!1)), T = S((U) => b({ type: 0, id: U })), C = ot() ? A === 0 : !1, [M, N] = Oi(), k = { get current() {
2095
+ var U;
2096
+ return (U = y.panelRef.current) != null ? U : p.current;
2097
+ } }, { resolveContainers: q, mainTreeNodeRef: le, MainTreeNode: ie } = ki({ portals: M, defaultContainers: [k] }), $ = h !== null ? (h & ce.Closing) === ce.Closing : !1;
2098
+ Xo(d || $ ? !1 : C, { allowed: S(() => {
2099
+ var U, K;
2100
+ return [(K = (U = p.current) == null ? void 0 : U.closest("[data-headlessui-portal]")) != null ? K : null];
2101
+ }), disallowed: S(() => {
2102
+ var U, K;
2103
+ return [(K = (U = le.current) == null ? void 0 : U.closest("body > *:not(#headlessui-portal-root)")) != null ? K : null];
2104
+ }) }), ci(C, q, (U) => {
2105
+ U.preventDefault(), B();
2106
+ }), Gi(C, E == null ? void 0 : E.defaultView, (U) => {
2107
+ U.preventDefault(), U.stopPropagation(), document.activeElement && "blur" in document.activeElement && typeof document.activeElement.blur == "function" && document.activeElement.blur(), B();
2108
+ }), hi(d || $ ? !1 : C, E, q), _n(C, p, B);
2109
+ let [W, ae] = Ho(), ue = G(() => [{ dialogState: A, close: B, setTitleId: T }, y], [A, y, B, T]), fe = G(() => ({ open: A === 0 }), [A]), me = { ref: v, id: r, role: l, tabIndex: -1, "aria-modal": d ? void 0 : A === 0 ? !0 : void 0, "aria-labelledby": y.titleId, "aria-describedby": W }, Te = !Si(), se = De.None;
2110
+ return C && !d && (se |= De.RestoreFocus, se |= De.TabLock, a && (se |= De.AutoFocus), Te && (se |= De.InitialFocus)), F.createElement(Ci, null, F.createElement(Mn, { force: !0 }, F.createElement(Li, null, F.createElement(an.Provider, { value: ue }, F.createElement(cr, { target: p }, F.createElement(Mn, { force: !1 }, F.createElement(ae, { slot: fe }, F.createElement(N, null, F.createElement(Qi, { initialFocus: s, initialFocusFallback: p, containers: q, features: se }, F.createElement(Vo, { value: B }, ee({ ourProps: me, theirProps: u, slot: fe, defaultTag: oa, features: ia, visible: A === 0, name: "Dialog" })))))))))), F.createElement(Ko, null, F.createElement(ie, null)));
2111
+ }), oa = "div", ia = pt.RenderStrategy | pt.Static;
2112
+ function aa(e, t) {
2113
+ let { transition: n = !1, open: r, ...o } = e, i = xt(), s = e.hasOwnProperty("open") || i !== null, l = e.hasOwnProperty("onClose");
2114
+ if (!s && !l) throw new Error("You have to provide an `open` and an `onClose` prop to the `Dialog` component.");
2115
+ if (!s) throw new Error("You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.");
2116
+ if (!l) throw new Error("You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.");
2117
+ if (!i && typeof e.open != "boolean") throw new Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${e.open}`);
2118
+ if (typeof e.onClose != "function") throw new Error(`You provided an \`onClose\` prop to the \`Dialog\`, but the value is not a function. Received: ${e.onClose}`);
2119
+ return (r !== void 0 || n) && !o.static ? F.createElement(ve, { show: r, transition: n, unmount: o.unmount }, F.createElement(In, { ref: t, ...o })) : F.createElement(In, { ref: t, open: r, ...o });
2120
+ }
2121
+ let sa = "div";
2122
+ function ca(e, t) {
2123
+ let n = et(), { id: r = `headlessui-dialog-panel-${n}`, transition: o = !1, ...i } = e, [{ dialogState: s }, l] = Ft("Dialog.Panel"), a = de(t, l.panelRef), d = G(() => ({ open: s === 0 }), [s]), u = S((m) => {
2124
+ m.stopPropagation();
2125
+ });
2126
+ return F.createElement(o ? on : re, null, ee({ ourProps: { ref: a, id: r, onClick: u }, theirProps: i, slot: d, defaultTag: sa, name: "Dialog.Panel" }));
2127
+ }
2128
+ let la = "div";
2129
+ function ua(e, t) {
2130
+ let { transition: n = !1, ...r } = e, [{ dialogState: o }] = Ft("Dialog.Backdrop"), i = G(() => ({ open: o === 0 }), [o]);
2131
+ return F.createElement(n ? on : re, null, ee({ ourProps: { ref: t, "aria-hidden": !0 }, theirProps: r, slot: i, defaultTag: la, name: "Dialog.Backdrop" }));
2132
+ }
2133
+ let da = "h2";
2134
+ function fa(e, t) {
2135
+ let n = et(), { id: r = `headlessui-dialog-title-${n}`, ...o } = e, [{ dialogState: i, setTitleId: s }] = Ft("Dialog.Title"), l = de(t);
2136
+ H(() => (s(r), () => s(null)), [r, s]);
2137
+ let a = G(() => ({ open: i === 0 }), [i]);
2138
+ return ee({ ourProps: { ref: l, id: r }, theirProps: o, slot: a, defaultTag: da, name: "Dialog.Title" });
2139
+ }
2140
+ let ma = J(aa), gr = J(ca);
2141
+ J(ua);
2142
+ let ha = J(fa), pa = Object.assign(ma, { Panel: gr, Title: ha, Description: Wo });
2143
+ const ga = "_root_1c7fw_1", va = "_modal_1c7fw_9", Ea = "_container_1c7fw_12", Aa = "_page_1c7fw_15", wa = "_close_1c7fw_18", ft = {
2144
+ root: ga,
2145
+ modal: va,
2146
+ container: Ea,
2147
+ page: Aa,
2148
+ close: wa
2149
+ }, Ee = (e) => {
2150
+ const {
2151
+ children: t,
2152
+ size: n = "md",
2153
+ fill: r = "currentColor",
2154
+ stroke: o,
2155
+ strokeWidth: i,
2156
+ className: s = "",
2157
+ viewBox: l = "0 0 20 20"
2158
+ } = e, a = G(() => {
2159
+ switch (n) {
2160
+ case "sm":
2161
+ return "w-4 h-4";
2162
+ case "lg":
2163
+ return "w-7 h-7";
2164
+ case "xl":
2165
+ return "w-10 h-10";
2166
+ case "custom":
2167
+ return "";
2168
+ default:
2169
+ return "w-5 h-5";
2170
+ }
2171
+ }, [n]);
2172
+ return /* @__PURE__ */ f.jsx(
2173
+ "svg",
2174
+ {
2175
+ xmlns: "http://www.w3.org/2000/svg",
2176
+ viewBox: l,
2177
+ fill: r,
2178
+ stroke: o,
2179
+ strokeWidth: i,
2180
+ className: `${a} ${s}`,
2181
+ children: t
2182
+ }
2183
+ );
2184
+ }, ya = () => /* @__PURE__ */ f.jsx(Ee, { children: /* @__PURE__ */ f.jsx("path", { d: "M10 2a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 0110 2zM10 15a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 0110 15zM10 7a3 3 0 100 6 3 3 0 000-6zM15.657 5.404a.75.75 0 10-1.06-1.06l-1.061 1.06a.75.75 0 001.06 1.06l1.06-1.06zM6.464 14.596a.75.75 0 10-1.06-1.06l-1.06 1.06a.75.75 0 001.06 1.06l1.06-1.06zM18 10a.75.75 0 01-.75.75h-1.5a.75.75 0 010-1.5h1.5A.75.75 0 0118 10zM5 10a.75.75 0 01-.75.75h-1.5a.75.75 0 010-1.5h1.5A.75.75 0 015 10zM14.596 15.657a.75.75 0 001.06-1.06l-1.06-1.061a.75.75 0 10-1.06 1.06l1.06 1.06zM5.404 6.464a.75.75 0 001.06-1.06l-1.06-1.06a.75.75 0 10-1.061 1.06l1.06 1.06z" }) }), vr = (e) => /* @__PURE__ */ f.jsx(Ee, { ...e, children: /* @__PURE__ */ f.jsx(
2185
+ "path",
2186
+ {
2187
+ fillRule: "evenodd",
2188
+ d: "M7.455 2.004a.75.75 0 01.26.77 7 7 0 009.958 7.967.75.75 0 011.067.853A8.5 8.5 0 116.647 1.921a.75.75 0 01.808.083z",
2189
+ clipRule: "evenodd"
2190
+ }
2191
+ ) }), xa = (e) => /* @__PURE__ */ f.jsxs(Ee, { ...e, viewBox: "0 0 24 24", children: [
2192
+ /* @__PURE__ */ f.jsx("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
2193
+ /* @__PURE__ */ f.jsx("path", { d: "M19.07 4.93l-1.41 1.41C19.1 7.79 20 9.79 20 12c0 4.42-3.58 8-8 8s-8-3.58-8-8c0-4.08 3.05-7.44 7-7.93v2.02C8.16 6.57 6 9.03 6 12c0 3.31 2.69 6 6 6s6-2.69 6-6c0-1.66-.67-3.16-1.76-4.24l-1.41 1.41C15.55 9.9 16 10.9 16 12c0 2.21-1.79 4-4 4s-4-1.79-4-4c0-1.86 1.28-3.41 3-3.86v2.14c-.6.35-1 .98-1 1.72 0 1.1.9 2 2 2s2-.9 2-2c0-.74-.4-1.38-1-1.72V2h-1C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10c0-2.76-1.12-5.26-2.93-7.07z" })
2194
+ ] }), ba = (e) => /* @__PURE__ */ f.jsxs(Ee, { ...e, viewBox: "0 0 24 24", children: [
2195
+ /* @__PURE__ */ f.jsx("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
2196
+ /* @__PURE__ */ f.jsx("path", { d: "M3.72 6.04c.47.46 1.21.48 1.71.06.37-.32.69-.51.87-.43.5.2 0 1.03-.3 1.52-.25.42-2.86 3.89-2.86 6.31 0 1.28.48 2.34 1.34 2.98.75.56 1.74.73 2.64.46 1.07-.31 1.95-1.4 3.06-2.77 1.21-1.49 2.83-3.44 4.08-3.44 1.63 0 1.65 1.01 1.76 1.79-3.78.64-5.38 3.67-5.38 5.37 0 1.7 1.44 3.09 3.21 3.09 1.63 0 4.29-1.33 4.69-6.1h1.21c.69 0 1.25-.56 1.25-1.25s-.56-1.25-1.25-1.25h-1.22c-.15-1.65-1.09-4.2-4.03-4.2-2.25 0-4.18 1.91-4.94 2.84-.58.73-2.06 2.48-2.29 2.72-.25.3-.68.84-1.11.84-.45 0-.72-.83-.36-1.92.35-1.09 1.4-2.86 1.85-3.52.78-1.14 1.3-1.92 1.3-3.28C8.95 3.69 7.31 3 6.44 3c-1.09 0-2.04.63-2.7 1.22-.53.48-.53 1.32-.02 1.82zm10.16 12.51c-.31 0-.74-.26-.74-.72 0-.6.73-2.2 2.87-2.76-.3 2.69-1.43 3.48-2.13 3.48z" })
2197
+ ] }), Ca = (e) => /* @__PURE__ */ f.jsxs(Ee, { ...e, viewBox: "0 0 24 24", children: [
2198
+ /* @__PURE__ */ f.jsx("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
2199
+ /* @__PURE__ */ f.jsx("path", { d: "M3.72 6.04c.47.46 1.21.48 1.71.06.37-.32.69-.51.87-.43.5.2 0 1.03-.3 1.52-.25.42-2.86 3.89-2.86 6.31 0 1.28.48 2.34 1.34 2.98.75.56 1.74.73 2.64.46 1.07-.31 1.95-1.4 3.06-2.77 1.21-1.49 2.83-3.44 4.08-3.44 1.63 0 1.65 1.01 1.76 1.79-3.78.64-5.38 3.67-5.38 5.37 0 1.7 1.44 3.09 3.21 3.09 1.63 0 4.29-1.33 4.69-6.1h1.21c.69 0 1.25-.56 1.25-1.25s-.56-1.25-1.25-1.25h-1.22c-.15-1.65-1.09-4.2-4.03-4.2-2.25 0-4.18 1.91-4.94 2.84-.58.73-2.06 2.48-2.29 2.72-.25.3-.68.84-1.11.84-.45 0-.72-.83-.36-1.92.35-1.09 1.4-2.86 1.85-3.52.78-1.14 1.3-1.92 1.3-3.28C8.95 3.69 7.31 3 6.44 3c-1.09 0-2.04.63-2.7 1.22-.53.48-.53 1.32-.02 1.82zm10.16 12.51c-.31 0-.74-.26-.74-.72 0-.6.73-2.2 2.87-2.76-.3 2.69-1.43 3.48-2.13 3.48z" })
2200
+ ] }), Ta = (e) => /* @__PURE__ */ f.jsxs(Ee, { ...e, children: [
2201
+ /* @__PURE__ */ f.jsx("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
2202
+ /* @__PURE__ */ f.jsx("path", { d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zm0 7c-2.67 0-8 1.34-8 4v2c0 .55.45 1 1 1h14c.55 0 1-.45 1-1v-2c0-2.66-5.33-4-8-4zm6 5H6v-.99c.2-.72 3.3-2.01 6-2.01s5.8 1.29 6 2v1z" })
2203
+ ] }), Fa = (e) => /* @__PURE__ */ f.jsx(Ee, { ...e, children: /* @__PURE__ */ f.jsx("path", { d: "M18,10l-1.77-2.03l0.25-2.69l-2.63-0.6l-1.37-2.32L10,3.43L7.53,2.36L6.15,4.68L3.53,5.28l0.25,2.69L2,10l1.77,2.03 l-0.25,2.69l2.63,0.6l1.37,2.32L10,16.56l2.47,1.07l1.37-2.32l2.63-0.6l-0.25-2.69L18,10z M13.18,8.47l-4.24,4.24 c-0.2,0.2-0.51,0.2-0.71,0L6.82,11.3c-0.2-0.2-0.2-0.51,0-0.71s0.51-0.2,0.71,0l1.06,1.06l3.89-3.89c0.2-0.2,0.51-0.2,0.71,0 S13.38,8.28,13.18,8.47z" }) }), Ra = (e) => /* @__PURE__ */ f.jsx(Ee, { ...e, children: /* @__PURE__ */ f.jsx("path", { d: "M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z" }) }), Da = (e) => /* @__PURE__ */ f.jsxs(Ee, { ...e, viewBox: "0 0 99 32", children: [
2204
+ /* @__PURE__ */ f.jsxs("g", { clipPath: "url(#clip0_9581_165880)", children: [
2205
+ /* @__PURE__ */ f.jsx(
2206
+ "path",
2207
+ {
2208
+ d: "M98.9474 20.7006V2.701C98.9474 1.20997 97.7302 0 96.2304 0H87.4325H2.71699C1.21714 0 0 1.20997 0 2.701V29.299C0 30.79 1.21714 32 2.71699 32H86.6203C87.2911 32 87.938 31.7523 88.4388 31.3069L98.0489 22.7084C98.6191 22.1964 98.9474 21.4651 98.9474 20.7006Z",
2209
+ fill: "#46B2C8"
2210
+ }
2211
+ ),
2212
+ /* @__PURE__ */ f.jsx(
2213
+ "path",
2214
+ {
2215
+ d: "M24.3666 25.2683H20.593C19.3951 25.2683 18.4199 24.2989 18.4199 23.108V8.8908C18.4199 7.69988 19.3951 6.73047 20.593 6.73047H24.3642C25.5622 6.73047 26.5374 7.69988 26.5374 8.8908V23.1056C26.5398 24.2989 25.5646 25.2683 24.3666 25.2683ZM20.593 8.52161C20.3894 8.52161 20.2217 8.68596 20.2217 8.8908V23.1056C20.2217 23.3081 20.387 23.4748 20.593 23.4748H24.3642C24.5679 23.4748 24.7356 23.3104 24.7356 23.1056V8.8908C24.7356 8.68834 24.5703 8.52161 24.3642 8.52161H20.593Z",
2216
+ fill: "#C7E8EF"
2217
+ }
2218
+ ),
2219
+ /* @__PURE__ */ f.jsx(
2220
+ "path",
2221
+ {
2222
+ d: "M68.9385 6.74805H67.1367V25.2549H68.9385V6.74805Z",
2223
+ fill: "white"
2224
+ }
2225
+ ),
2226
+ /* @__PURE__ */ f.jsx(
2227
+ "path",
2228
+ {
2229
+ d: "M55.0725 8.52161V6.73047H47.8535V25.2683H55.0725V23.4748H49.6577V18.9874H52.9664V17.1963H49.6577V8.52161H55.0725Z",
2230
+ fill: "white"
2231
+ }
2232
+ ),
2233
+ /* @__PURE__ */ f.jsx(
2234
+ "path",
2235
+ {
2236
+ d: "M46.528 6.73828L44.4795 23.4993C44.283 24.5354 43.4061 25.2595 42.3447 25.2595C41.2833 25.2595 40.404 24.5354 40.2099 23.4993L40.2003 23.4421L38.1758 6.73828H39.9919L41.9853 23.1896C42.0404 23.4183 42.2081 23.4683 42.3447 23.4683C42.4789 23.4683 42.649 23.4183 42.7041 23.1896L44.7119 6.73828H46.528Z",
2237
+ fill: "white"
2238
+ }
2239
+ ),
2240
+ /* @__PURE__ */ f.jsx(
2241
+ "path",
2242
+ {
2243
+ d: "M36.9104 6.73047V23.1056C36.9104 24.2965 35.9353 25.2659 34.7373 25.2659H30.9685C29.7681 25.2659 28.793 24.2965 28.793 23.1056V6.73047H30.5947V23.1056C30.5947 23.3104 30.7624 23.4748 30.9685 23.4748H34.7373C34.9433 23.4748 35.1087 23.3081 35.1087 23.1056V6.73047H36.9104Z",
2244
+ fill: "#C7E8EF"
2245
+ }
2246
+ ),
2247
+ /* @__PURE__ */ f.jsx(
2248
+ "path",
2249
+ {
2250
+ d: "M78.6291 8.53181V6.73828H71.4102V25.2618H73.2143V18.9976H76.5231V17.2065H73.2143V8.53181H78.6291Z",
2251
+ fill: "white"
2252
+ }
2253
+ ),
2254
+ /* @__PURE__ */ f.jsx(
2255
+ "path",
2256
+ {
2257
+ d: "M15.8797 6.73047L13.3089 14.9764L10.9034 6.73047H9.02734L12.3793 18.2157V25.2516H14.181V18.2324L17.7653 6.73047H15.8797Z",
2258
+ fill: "#C7E8EF"
2259
+ }
2260
+ ),
2261
+ /* @__PURE__ */ f.jsx(
2262
+ "path",
2263
+ {
2264
+ d: "M85.7767 6.73047L83.2058 14.9764L80.7979 6.73047H78.9219L82.2738 18.2157V25.2516H84.0755V18.2324L87.6623 6.73047H85.7767Z",
2265
+ fill: "white"
2266
+ }
2267
+ ),
2268
+ /* @__PURE__ */ f.jsx(
2269
+ "path",
2270
+ {
2271
+ d: "M61.2349 18.4801C63.4535 17.5226 65.0085 15.3241 65.0085 12.7732V8.8908C65.0085 7.69988 64.0357 6.73047 62.8354 6.73047H59.0618C57.8638 6.73047 56.8887 7.69988 56.8887 8.8908V18.0918V18.9874V25.2493H58.6904V18.9898H58.7527C58.9659 18.9898 59.1768 18.9779 59.3828 18.9588L63.6093 25.254H65.78L61.2349 18.4801ZM58.6928 17.1986V8.89318C58.6928 8.68834 58.8581 8.52399 59.0618 8.52399H62.8354C63.039 8.52399 63.2044 8.69072 63.2044 8.89318V12.7756C63.2044 15.2146 61.2085 17.1986 58.7551 17.1986H58.6928Z",
2272
+ fill: "white"
2273
+ }
2274
+ )
2275
+ ] }),
2276
+ /* @__PURE__ */ f.jsx("defs", { children: /* @__PURE__ */ f.jsx("clipPath", { id: "clip0_9581_165880", children: /* @__PURE__ */ f.jsx("rect", { width: "98.9474", height: "32", fill: "white" }) }) })
2277
+ ] });
2278
+ class _t {
2279
+ static async loadDetector() {
2280
+ try {
2281
+ return await faceLandmarksDetection.createDetector("MediaPipeFaceMesh", {
2282
+ runtime: "mediapipe",
2283
+ refineLandmarks: !0,
2284
+ solutionPath: "https://cdn.jsdelivr.net/npm/@mediapipe/face_mesh"
2285
+ });
2286
+ } catch (t) {
2287
+ return Promise.reject(t);
2288
+ }
2289
+ }
2290
+ static async detectFaces(t, n) {
2291
+ try {
2292
+ return await t.estimateFaces(n);
2293
+ } catch (r) {
2294
+ return Promise.reject(r);
2295
+ }
2296
+ }
2297
+ }
2298
+ const Ba = "data:image/jpeg;base64,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", Er = (e, t, n, r) => {
2299
+ let o = 0, i = 0, s = t, l = n;
2300
+ const d = new OffscreenCanvas(t, n).getContext("2d");
2301
+ return d.drawImage(e, 0, 0), d.getImageData(o, i, s, l);
2302
+ }, Ma = (e) => new Promise((t) => {
2303
+ const n = document.createElement("canvas");
2304
+ n.getContext("2d").putImageData(e, 0, 0), n.toBlob((o) => t(o));
2305
+ });
2306
+ function Ar(e = {}) {
2307
+ const { onRecord: t = () => {
2308
+ }, onStop: n = () => {
2309
+ } } = e, r = x([]), o = x(null), i = x(null), s = P((m) => {
2310
+ r.current.push(m);
2311
+ }, []), l = P(async (m) => {
2312
+ if (o.current)
2313
+ return;
2314
+ const h = await Ma(m);
2315
+ o.current = h;
2316
+ }, []), a = P((m) => {
2317
+ m.data.size > 0 && t(m.data);
2318
+ }, []), d = P(() => {
2319
+ !i.current || i.current.state === "inactive" || (i.current.stop(), i.current.stream.getTracks().forEach((m) => m.stop()), n());
2320
+ }, []), u = P((m) => {
2321
+ i.current || (i.current = new MediaRecorder(m, {
2322
+ mimeType: "video/webm"
2323
+ }), i.current.ondataavailable = a, i.current.onstop = d, i.current.start(1e3));
2324
+ }, []);
2325
+ return {
2326
+ saveStream: s,
2327
+ savePhoto: l,
2328
+ start: u,
2329
+ stop: d,
2330
+ savedStreams: r,
2331
+ savedPhoto: o
2332
+ };
2333
+ }
2334
+ function ke(e, t) {
2335
+ return Math.sqrt(e ** 2 + t ** 2);
2336
+ }
2337
+ function Ia(e) {
2338
+ const t = e.slice();
2339
+ for (let n = t.length - 1; n > 0; n--) {
2340
+ const r = Math.floor(Math.random() * (n + 1));
2341
+ [t[n], t[r]] = [t[r], t[n]];
2342
+ }
2343
+ return t;
2344
+ }
2345
+ function jn(e, t) {
2346
+ return new File([new Blob(e)], `${Date.now()}`, {
2347
+ type: t
2348
+ });
2349
+ }
2350
+ const wr = {
2351
+ "complete-the-circle": {
2352
+ Icon: xa,
2353
+ name: "Complete The Circle ⭕️",
2354
+ description: "First position your face in the camera frame. Then move your head in a circle to show all the angles of your face"
2355
+ },
2356
+ "yes-or-no": {
2357
+ Icon: ba,
2358
+ name: "Yes or No ❓",
2359
+ description: "First position your face in the camera. Then tilt your head to the left to answer No and to the right to answer Yes"
2360
+ },
2361
+ motions: {
2362
+ Icon: Ca,
2363
+ name: "Motions 💫",
2364
+ description: "First position your face in the camera frame, then follow the instructions"
2365
+ },
2366
+ "facial-expressions": {
2367
+ Icon: vr,
2368
+ name: "Facial Expressions 🤪",
2369
+ description: "First position your face in the camera frame. Then move your head in a circle to show all the angles of your face"
2370
+ }
2371
+ }, yr = oe({
2372
+ tasks: [],
2373
+ namespace: "",
2374
+ user: void 0,
2375
+ currentTaskIndex: 0,
2376
+ completedCount: 0,
2377
+ nextTask: () => {
2378
+ },
2379
+ completed: !1,
2380
+ onRequestClose: () => {
2381
+ },
2382
+ faceDetector: null,
2383
+ saveStream: () => {
2384
+ },
2385
+ savePhoto: () => {
2386
+ }
2387
+ });
2388
+ let On, Nn = !1;
2389
+ function ja(e) {
2390
+ const {
2391
+ tasks: t,
2392
+ children: n,
2393
+ namespace: r,
2394
+ user: o,
2395
+ branding: i,
2396
+ onRequestClose: s,
2397
+ onSuccess: l = () => {
2398
+ }
2399
+ } = e, [a, d] = j(0), [u, m] = j(0), [h, p] = j(null), { saveStream: v, savePhoto: E, savedStreams: A, savedPhoto: y } = Ar(), b = G(
2400
+ () => u === t.length,
2401
+ [t, u]
2402
+ ), B = () => {
2403
+ m((M) => M + 1), d((M) => M + 1);
2404
+ }, T = (M) => {
2405
+ const N = new Image();
2406
+ N.src = Ba, N.onload = () => {
2407
+ const k = Er(N, N.width, N.height);
2408
+ _t.detectFaces(M, k);
2409
+ };
2410
+ }, C = async () => {
2411
+ const M = await _t.loadDetector();
2412
+ On = M, T(M), p(M);
2413
+ };
2414
+ return H(() => {
2415
+ if (Nn) {
2416
+ p(On);
2417
+ return;
2418
+ }
2419
+ C(), Nn = !0;
2420
+ }, []), H(() => {
2421
+ b && A.current.length > 0 && y.current && l({
2422
+ video: jn(A.current, "video/webm"),
2423
+ photo: jn([y.current], "image/png")
2424
+ });
2425
+ }, [b]), /* @__PURE__ */ f.jsx(
2426
+ yr.Provider,
2427
+ {
2428
+ value: {
2429
+ tasks: t,
2430
+ namespace: r,
2431
+ user: o,
2432
+ currentTaskIndex: a,
2433
+ completed: b,
2434
+ completedCount: u,
2435
+ nextTask: B,
2436
+ branding: i,
2437
+ onRequestClose: s,
2438
+ faceDetector: h,
2439
+ saveStream: v,
2440
+ savePhoto: E
2441
+ },
2442
+ children: n
2443
+ }
2444
+ );
2445
+ }
2446
+ function Ne() {
2447
+ return _(yr);
2448
+ }
2449
+ const Oa = "_root_dndkf_1", Na = "_container_dndkf_4", La = "_lhs_dndkf_7", Ga = "_info_dndkf_11", Sa = "_active_dndkf_32", ka = "_completed_dndkf_39", Ka = "_rhs_dndkf_62", Ya = "_profile_dndkf_65", Ha = "_avatar_dndkf_68", Ua = "_main_dndkf_81", Qa = "_content_dndkf_84", z = {
2450
+ root: Oa,
2451
+ container: Na,
2452
+ lhs: La,
2453
+ info: Ga,
2454
+ active: Sa,
2455
+ completed: ka,
2456
+ rhs: Ka,
2457
+ profile: Ya,
2458
+ avatar: Ha,
2459
+ main: Ua,
2460
+ content: Qa
2461
+ }, Pa = "_root_135td_1", Wa = "_container_135td_1", qa = "_brand_135td_1", kt = {
2462
+ root: Pa,
2463
+ container: Wa,
2464
+ brand: qa
2465
+ };
2466
+ function Va() {
2467
+ const { branding: e } = Ne();
2468
+ return /* @__PURE__ */ f.jsx("div", { className: kt.root, children: /* @__PURE__ */ f.jsx("div", { className: kt.container, children: /* @__PURE__ */ f.jsx("div", { className: kt.brand, children: (e == null ? void 0 : e.logo) && /* @__PURE__ */ f.jsx("img", { className: "h-10", src: e.logo, alt: "Logo" }) }) }) });
2469
+ }
2470
+ const Ln = "colorScheme";
2471
+ function Za() {
2472
+ const { namespace: e } = Ne(), t = () => {
2473
+ const o = localStorage.getItem(Ln);
2474
+ return !o && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : o;
2475
+ }, n = (o = null) => {
2476
+ o && localStorage.setItem(Ln, o);
2477
+ const i = `${e}-color-scheme`, s = document.documentElement;
2478
+ o && o === "dark" ? s == null || s.setAttribute(i, "dark") : s == null || s.removeAttribute(i);
2479
+ };
2480
+ return { setColorScheme: n, toggleColorScheme: () => {
2481
+ const o = t();
2482
+ return n(o === "dark" ? "light" : "dark");
2483
+ }, getColorScheme: t };
2484
+ }
2485
+ const Ja = "_root_1w5nq_1", Xa = {
2486
+ root: Ja
2487
+ };
2488
+ function sn(e) {
2489
+ const { children: t, onStream: n = () => {
2490
+ }, onRecord: r = () => {
2491
+ } } = e, o = x(null), i = x(0), s = x(null), { start: l, stop: a } = Ar({
2492
+ onRecord: r
2493
+ }), d = async () => {
2494
+ try {
2495
+ const h = await navigator.mediaDevices.getUserMedia({ video: !0 });
2496
+ s.current = h, l(h), o.current && (o.current.srcObject = h);
2497
+ } catch {
2498
+ }
2499
+ }, u = () => {
2500
+ s.current && (s.current.getTracks().forEach((h) => h.stop()), s.current = null, a(), o.current && (o.current.srcObject = null));
2501
+ }, m = () => {
2502
+ n(o), i.current = requestAnimationFrame(m);
2503
+ };
2504
+ return H(() => {
2505
+ const h = o.current;
2506
+ if (!h)
2507
+ return;
2508
+ const p = () => {
2509
+ i.current = requestAnimationFrame(m);
2510
+ };
2511
+ return d(), h.addEventListener("canplay", p), () => {
2512
+ h.removeEventListener("canplay", p), cancelAnimationFrame(i.current), u();
2513
+ };
2514
+ }, []), /* @__PURE__ */ f.jsxs("div", { className: Xa.root, children: [
2515
+ /* @__PURE__ */ f.jsx("video", { ref: o, autoPlay: !0, loop: !0, playsInline: !0 }),
2516
+ t
2517
+ ] });
2518
+ }
2519
+ const za = "_container_1ap2u_1", $a = "_focused_1ap2u_12", _a = "_progress_1ap2u_15", es = "_completed_1ap2u_36", ts = "_marker_1ap2u_40", Ve = {
2520
+ container: za,
2521
+ focused: $a,
2522
+ progress: _a,
2523
+ completed: es,
2524
+ marker: ts
2525
+ }, Gn = 360, ns = 50;
2526
+ function rs(e) {
2527
+ const {
2528
+ visitedSections: t,
2529
+ sectionsCount: n,
2530
+ faceDetected: r,
2531
+ divisions: o = ns
2532
+ } = e, i = G(() => {
2533
+ const s = [Ve.container];
2534
+ return r && s.push(Ve.focused), s.join(" ");
2535
+ }, [r]);
2536
+ return /* @__PURE__ */ f.jsxs("div", { className: i, children: [
2537
+ /* @__PURE__ */ f.jsx(
2538
+ ve,
2539
+ {
2540
+ as: "div",
2541
+ show: r,
2542
+ leave: "transition linear duration-300",
2543
+ leaveFrom: "scale-100 opacity-100",
2544
+ leaveTo: "scale-125 opacity-0",
2545
+ enter: "transition linear duration-300",
2546
+ enterFrom: "scale-125 opacity-0",
2547
+ enterTo: "scale-100 opacity-100",
2548
+ className: "absolute",
2549
+ children: /* @__PURE__ */ f.jsx("div", { className: Ve.progress, children: Array.from(Array(o).keys()).map((s) => {
2550
+ const l = s * Gn / o, a = Math.ceil(
2551
+ (l + 1) * n / Gn
2552
+ ), d = t.includes(a), u = d ? s - (a - 1) * (o / n) : 0, m = [];
2553
+ d && m.push(Ve.completed);
2554
+ const h = d ? "translateX(158px)" : "translateX(150px)";
2555
+ return /* @__PURE__ */ f.jsx(
2556
+ "div",
2557
+ {
2558
+ className: m.join(" "),
2559
+ style: {
2560
+ transform: `rotate(${l}deg) ${h}`,
2561
+ transitionDelay: `${u * 20}ms`
2562
+ }
2563
+ },
2564
+ `key-${s}`
2565
+ );
2566
+ }) })
2567
+ }
2568
+ ),
2569
+ /* @__PURE__ */ f.jsx(
2570
+ ve,
2571
+ {
2572
+ as: "div",
2573
+ show: !r,
2574
+ leave: "transition linear duration-200",
2575
+ leaveFrom: "scale-100 opacity-100",
2576
+ leaveTo: "scale-75 opacity-0",
2577
+ enter: "transition linear duration-200",
2578
+ enterFrom: "scale-75 opacity-0",
2579
+ enterTo: "scale-100 opacity-100",
2580
+ className: "absolute",
2581
+ children: /* @__PURE__ */ f.jsxs("div", { className: Ve.marker, children: [
2582
+ /* @__PURE__ */ f.jsx("div", {}),
2583
+ /* @__PURE__ */ f.jsx("div", {}),
2584
+ /* @__PURE__ */ f.jsx("div", {}),
2585
+ /* @__PURE__ */ f.jsx("div", {})
2586
+ ] })
2587
+ }
2588
+ )
2589
+ ] });
2590
+ }
2591
+ function os() {
2592
+ return { checkZoomLevel: (r, o) => {
2593
+ const { box: i } = r, { width: s, height: l } = i, a = s * l, d = o ** 2, u = a / d;
2594
+ if (u > 0.9)
2595
+ throw new Error("Move face farther from camera");
2596
+ if (u < 0.1)
2597
+ throw new Error("Move face closer to camera");
2598
+ }, checkFacialFeatures: (r, o) => {
2599
+ }, checkInFrame: (r, o) => {
2600
+ const { offsetX: i, offsetY: s } = o, { box: l } = r;
2601
+ if (!(l.xMin - i >= o.x && l.yMin - s >= o.y && l.xMax - i <= o.x + o.width && l.yMax - s <= o.y + o.height))
2602
+ throw new Error("Position head in frame");
2603
+ } };
2604
+ }
2605
+ function cn(e = {}) {
2606
+ const {
2607
+ validations: t = ["zoom"],
2608
+ frameSize: n,
2609
+ onFace: r = () => {
2610
+ },
2611
+ onError: o = () => {
2612
+ }
2613
+ } = e, { faceDetector: i } = Ne(), { checkFacialFeatures: s, checkZoomLevel: l, checkInFrame: a } = os(), d = x(null), u = (h, p) => {
2614
+ var v;
2615
+ try {
2616
+ if (h.length === 0)
2617
+ throw new Error("Detecting face...");
2618
+ if (h.length > 1)
2619
+ throw new Error("A maximum of 1 face is allowed");
2620
+ const E = d.current, A = (v = d.current) == null ? void 0 : v.parentElement;
2621
+ if (!E || !A)
2622
+ return;
2623
+ const y = h[0];
2624
+ for (const b of t)
2625
+ switch (b) {
2626
+ case "zoom":
2627
+ l(
2628
+ y,
2629
+ Math.min(A.clientHeight, A.clientWidth)
2630
+ );
2631
+ break;
2632
+ case "features":
2633
+ s(
2634
+ y,
2635
+ Math.min(A.clientHeight, A.clientWidth)
2636
+ );
2637
+ break;
2638
+ case "in-frame":
2639
+ if (!n)
2640
+ throw new Error(
2641
+ "Frame size is required to check if face is in frame"
2642
+ );
2643
+ const B = n + 100;
2644
+ a(y, {
2645
+ x: (A.clientWidth - B) / 2,
2646
+ y: (A.clientHeight - B) / 2,
2647
+ width: B,
2648
+ height: B,
2649
+ offsetX: (E.videoWidth - A.clientWidth) / 2,
2650
+ offsetY: (E.videoHeight - A.clientHeight) / 2
2651
+ });
2652
+ break;
2653
+ default:
2654
+ break;
2655
+ }
2656
+ r(y, p);
2657
+ } catch (E) {
2658
+ const { message: A } = E;
2659
+ o(A);
2660
+ }
2661
+ };
2662
+ return { detectFaces: async (h) => {
2663
+ if (!i)
2664
+ return;
2665
+ const { ref: p } = h;
2666
+ d.current = p.current;
2667
+ const v = d.current;
2668
+ if (!v)
2669
+ throw new Error("No Video Source detected");
2670
+ const { videoWidth: E, videoHeight: A } = v;
2671
+ if (E === 0 || A === 0)
2672
+ return;
2673
+ const y = Er(
2674
+ v,
2675
+ E,
2676
+ A
2677
+ // frameSize,
2678
+ ), b = await _t.detectFaces(i, y);
2679
+ u(b, y);
2680
+ } };
2681
+ }
2682
+ const is = 360, as = "#125766", ss = "_root_13gis_1", cs = "_container_13gis_4", ls = "_progress_13gis_7", us = "_intro_13gis_12", ds = "_content_13gis_15", fs = "_branding_13gis_18", ms = "_instructions_13gis_22", we = {
2683
+ root: ss,
2684
+ container: cs,
2685
+ progress: ls,
2686
+ intro: us,
2687
+ content: ds,
2688
+ branding: fs,
2689
+ instructions: ms
2690
+ }, hs = "_root_56kz0_1", ps = {
2691
+ root: hs
2692
+ };
2693
+ function vt(e) {
2694
+ const {
2695
+ Icon: t,
2696
+ description: n,
2697
+ title: r,
2698
+ actionText: o = "Okay, got it",
2699
+ onActionClick: i = () => {
2700
+ }
2701
+ } = e;
2702
+ return /* @__PURE__ */ f.jsxs("div", { className: ps.root, children: [
2703
+ /* @__PURE__ */ f.jsx(t, { size: "custom", className: "h-20 mx-auto mb-12" }),
2704
+ /* @__PURE__ */ f.jsx("h2", { children: r }),
2705
+ /* @__PURE__ */ f.jsx("p", { className: "subtext", children: n }),
2706
+ /* @__PURE__ */ f.jsx(Lo, { onClick: () => i(), className: "mt-12", children: o })
2707
+ ] });
2708
+ }
2709
+ function ln(e) {
2710
+ const { children: t, instruction: n, name: r, completed: o, onStart: i = () => {
2711
+ } } = e, [s, l] = j(!1), { completedCount: a, tasks: d, nextTask: u } = Ne(), m = G(() => wr[r], [r]), h = G(
2712
+ () => a * 100 / d.length,
2713
+ [a, d.length]
2714
+ );
2715
+ return /* @__PURE__ */ f.jsx("div", { className: we.root, children: /* @__PURE__ */ f.jsxs("div", { className: `${we.container} view`, children: [
2716
+ /* @__PURE__ */ f.jsx(
2717
+ "div",
2718
+ {
2719
+ style: { width: `${h}%` },
2720
+ className: we.progress
2721
+ }
2722
+ ),
2723
+ /* @__PURE__ */ f.jsx(
2724
+ ve,
2725
+ {
2726
+ show: !s && !o,
2727
+ as: "div",
2728
+ enter: "transform transition ease-in duration-300",
2729
+ enterFrom: "-translate-x-full",
2730
+ enterTo: "translate-x-0",
2731
+ leave: "transform transition ease-in duration-300",
2732
+ leaveFrom: "translate-x-0",
2733
+ leaveTo: "-translate-x-full",
2734
+ className: "absolute h-full w-full",
2735
+ children: /* @__PURE__ */ f.jsx("div", { className: `${we.intro}`, children: /* @__PURE__ */ f.jsx(
2736
+ vt,
2737
+ {
2738
+ Icon: m.Icon,
2739
+ title: `${m.name.slice(0, -2)}`,
2740
+ description: `${m.description}. Proper lightning helps with getting faster and more accurate results.`,
2741
+ onActionClick: async () => {
2742
+ await i(), l(!0);
2743
+ },
2744
+ actionText: "Okay, got it!"
2745
+ }
2746
+ ) })
2747
+ }
2748
+ ),
2749
+ /* @__PURE__ */ f.jsxs(
2750
+ ve,
2751
+ {
2752
+ as: "div",
2753
+ show: s && !o,
2754
+ enter: "transform transition ease-in duration-300",
2755
+ enterFrom: "translate-x-full",
2756
+ enterTo: "translate-x-0",
2757
+ leave: "transform transition ease-in duration-300",
2758
+ leaveFrom: "translate-x-0",
2759
+ leaveTo: "translate-x-full",
2760
+ className: "absolute w-full h-full",
2761
+ children: [
2762
+ /* @__PURE__ */ f.jsx("div", { className: `${we.content}`, children: t }),
2763
+ /* @__PURE__ */ f.jsxs("div", { className: "border-t divider", children: [
2764
+ /* @__PURE__ */ f.jsxs("div", { className: we.instructions, children: [
2765
+ /* @__PURE__ */ f.jsx("h2", { children: n.title }),
2766
+ /* @__PURE__ */ f.jsx("p", { className: "subtext", children: n.description })
2767
+ ] }),
2768
+ /* @__PURE__ */ f.jsxs("div", { className: we.branding, children: [
2769
+ /* @__PURE__ */ f.jsx("span", { children: "Powered by" }),
2770
+ " ",
2771
+ /* @__PURE__ */ f.jsx(Da, { size: "custom", className: "h-3" })
2772
+ ] })
2773
+ ] })
2774
+ ]
2775
+ }
2776
+ ),
2777
+ /* @__PURE__ */ f.jsx(
2778
+ ve,
2779
+ {
2780
+ show: o,
2781
+ as: "div",
2782
+ enter: "transform transition ease-in duration-300",
2783
+ enterFrom: "translate-x-full",
2784
+ enterTo: "translate-x-0",
2785
+ leave: "transform transition ease-in duration-300",
2786
+ leaveFrom: "translate-x-0",
2787
+ leaveTo: "translate-x-full",
2788
+ className: "absolute w-full h-full",
2789
+ children: /* @__PURE__ */ f.jsx("div", { className: `${we.intro}`, children: /* @__PURE__ */ f.jsx(
2790
+ vt,
2791
+ {
2792
+ Icon: m.Icon,
2793
+ title: "One task down!",
2794
+ description: `You have completed the ${m.name.slice(
2795
+ 0,
2796
+ -2
2797
+ )} task. Click on the button below button to proceed.`,
2798
+ onActionClick: () => u(),
2799
+ actionText: "Next"
2800
+ }
2801
+ ) })
2802
+ }
2803
+ )
2804
+ ] }) });
2805
+ }
2806
+ const gs = 1, Kt = 8;
2807
+ function vs(e) {
2808
+ const { difficulty: t } = e, { saveStream: n, savePhoto: r } = Ne(), [o, i] = j([]), [s, l] = j("Place face in frame"), [a, d] = j(!1), [u, m] = j(!1), h = x(/* @__PURE__ */ new Set()), p = x(!1), v = x(null), E = (C) => {
2809
+ const M = C * Kt, N = Math.ceil((M + 1) / is);
2810
+ h.current.has(N) || (h.current.add(N), i(Array.from(h.current))), h.current.size >= Kt && setTimeout(() => {
2811
+ m(!0);
2812
+ }, 1e3);
2813
+ }, A = (C, M) => {
2814
+ let k = Math.atan2(M, C) * (180 / Math.PI);
2815
+ return k < 0 && (k += 360), k;
2816
+ }, y = G(() => {
2817
+ if (h.current.size === 0)
2818
+ return 25;
2819
+ switch (t) {
2820
+ case "easy":
2821
+ return 5;
2822
+ case "hard":
2823
+ return 15;
2824
+ default:
2825
+ return 10;
2826
+ }
2827
+ }, []), b = (C) => {
2828
+ const { keypoints: M, box: N } = C, k = { x: N.width * 0.5, y: N.height * 0.5 }, q = M[gs], le = { y: q.y - N.yMin, x: q.x - N.xMin }, ie = k.x - le.x, $ = le.y - k.y;
2829
+ return Math.abs(ie) < y && Math.abs($) < y ? null : A(ie, $);
2830
+ }, { detectFaces: B } = cn({
2831
+ frameSize: 280,
2832
+ validations: ["zoom", "in-frame"],
2833
+ onFace: (C, M) => {
2834
+ r(M), d(!0), l("Slowly move head around to complete circle");
2835
+ const N = b(C);
2836
+ N && E(N);
2837
+ },
2838
+ onError: (C) => {
2839
+ l(C), i([]), h.current.clear(), v.current = null, p.current = !1;
2840
+ }
2841
+ }), T = (C) => {
2842
+ try {
2843
+ if (!C.current || u)
2844
+ return;
2845
+ const { videoWidth: M } = C.current;
2846
+ B({ ref: C, frameSize: M });
2847
+ } catch {
2848
+ }
2849
+ };
2850
+ return /* @__PURE__ */ f.jsx(f.Fragment, { children: /* @__PURE__ */ f.jsx(
2851
+ ln,
2852
+ {
2853
+ instruction: {
2854
+ title: s,
2855
+ description: a ? void 0 : "Always ensure face is in frame"
2856
+ },
2857
+ name: "complete-the-circle",
2858
+ completed: u,
2859
+ children: /* @__PURE__ */ f.jsx(sn, { onStream: T, onRecord: n, children: /* @__PURE__ */ f.jsx(
2860
+ rs,
2861
+ {
2862
+ faceDetected: a,
2863
+ sectionsCount: Kt,
2864
+ visitedSections: o
2865
+ }
2866
+ ) })
2867
+ }
2868
+ ) });
2869
+ }
2870
+ const Es = "_root_gcbg2_1", As = "_sticker_gcbg2_4", ws = "_no_gcbg2_7", ys = "_yes_gcbg2_12", Yt = {
2871
+ root: Es,
2872
+ sticker: As,
2873
+ no: ws,
2874
+ yes: ys
2875
+ };
2876
+ function xs(e) {
2877
+ const { show: t, stickers: n } = e;
2878
+ return /* @__PURE__ */ f.jsx(f.Fragment, { children: t && /* @__PURE__ */ f.jsx("div", { className: Yt.root, children: n.map((r) => /* @__PURE__ */ f.jsx(
2879
+ "div",
2880
+ {
2881
+ className: `${Yt.sticker} ${Yt[r]}`,
2882
+ children: r.toUpperCase()
2883
+ },
2884
+ `sticker-${r}`
2885
+ )) }) });
2886
+ }
2887
+ const bs = {
2888
+ question: "Are you alive?",
2889
+ errorMessage: "You have to be alive to proceed though",
2890
+ answer: !0
2891
+ }, Cs = "Wrong answer. Try again";
2892
+ function Ts(e) {
2893
+ const { difficulty: t, questions: n = [bs] } = e, [r, o] = j("Keep face in camera"), [i, s] = j(!1), [l, a] = j(!1), { saveStream: d, savePhoto: u } = Ne(), m = x("inactive"), h = x(0), p = x(!1), v = (T) => {
2894
+ const { keypoints: C } = T, M = C[1], N = C[9], k = M.x - N.x, q = M.y - N.y;
2895
+ return 90 - Math.atan2(q, k) * (180 / Math.PI);
2896
+ }, E = (T) => {
2897
+ m.current = "inactive", o(n[T].question), setTimeout(() => {
2898
+ m.current = "active";
2899
+ }, 2e3);
2900
+ }, A = G(() => {
2901
+ switch (t) {
2902
+ case "easy":
2903
+ return 2;
2904
+ case "hard":
2905
+ return 6;
2906
+ default:
2907
+ return 4;
2908
+ }
2909
+ }, []), y = (T) => {
2910
+ try {
2911
+ if (m.current = "inactive", Math.abs(T) < A)
2912
+ throw new Error("Tilt head further to answer");
2913
+ const C = T > 0, M = n[h.current].answer;
2914
+ if (C === M)
2915
+ h.current += 1, h.current === n.length ? a(!0) : E(h.current);
2916
+ else
2917
+ throw new Error(
2918
+ n[h.current].errorMessage || Cs
2919
+ );
2920
+ } catch (C) {
2921
+ o(C.message), setTimeout(() => {
2922
+ E(h.current);
2923
+ }, 2e3);
2924
+ }
2925
+ }, { detectFaces: b } = cn({
2926
+ onFace: (T, C) => {
2927
+ if (p.current || (s(!0), u(C), p.current = !0, E(h.current)), m.current === "inactive")
2928
+ return;
2929
+ const M = v(T);
2930
+ y(M);
2931
+ },
2932
+ onError: (T) => {
2933
+ o(T);
2934
+ }
2935
+ }), B = (T) => {
2936
+ try {
2937
+ if (!T.current || l)
2938
+ return;
2939
+ const { videoWidth: C } = T.current;
2940
+ b({ ref: T, frameSize: C });
2941
+ } catch {
2942
+ }
2943
+ };
2944
+ return /* @__PURE__ */ f.jsx(
2945
+ ln,
2946
+ {
2947
+ instruction: {
2948
+ title: r,
2949
+ description: i ? "" : "Move head left for No and right for Yes"
2950
+ },
2951
+ name: "yes-or-no",
2952
+ completed: l,
2953
+ children: /* @__PURE__ */ f.jsx(sn, { onStream: B, onRecord: d, children: /* @__PURE__ */ f.jsx(xs, { show: i, stickers: ["yes", "no"] }) })
2954
+ }
2955
+ );
2956
+ }
2957
+ function Fs(e = {}) {
2958
+ const { onChange: t = () => {
2959
+ } } = e, n = !!window.DeviceOrientationEvent, r = (o) => {
2960
+ t({
2961
+ alpha: o.alpha,
2962
+ beta: o.beta,
2963
+ gamma: o.gamma
2964
+ });
2965
+ };
2966
+ return H(() => (window.addEventListener("deviceorientation", r), () => {
2967
+ window.removeEventListener("deviceorientation", r);
2968
+ }), []), {
2969
+ canUse: n
2970
+ };
2971
+ }
2972
+ function Rs(e) {
2973
+ const { total: t, onMessage: n, onComplete: r, difficulty: o } = e, i = x(null), s = x(!0), l = x(null), a = x(null), d = x(0), u = x(!1), m = G(() => {
2974
+ switch (o) {
2975
+ case "easy":
2976
+ return 6;
2977
+ case "hard":
2978
+ return 10;
2979
+ default:
2980
+ return 8;
2981
+ }
2982
+ }, []), h = () => {
2983
+ if (d.current < t) {
2984
+ const E = t - d.current;
2985
+ let A = `Nod head ${E} `;
2986
+ E < t && (A += "more "), A += E > 1 ? "times" : "time", n(A);
2987
+ return;
2988
+ }
2989
+ u.current = !0, n("Great, hang on..."), setTimeout(() => {
2990
+ r();
2991
+ }, 500);
2992
+ }, { canUse: p } = Fs({
2993
+ onChange: (E) => {
2994
+ a.current = E;
2995
+ }
2996
+ });
2997
+ return { evaluate: (E) => {
2998
+ if (!p) {
2999
+ n("Cannot perform task. Transfer to mobile device to complete");
3000
+ return;
3001
+ }
3002
+ if (!a.current || !a.current.beta) {
3003
+ n("Cannot perform task. Transfer to mobile device to complete");
3004
+ return;
3005
+ }
3006
+ if (a.current.beta < 60 || a.current.beta > 100) {
3007
+ n("Keep phone in upright position to continue");
3008
+ return;
3009
+ }
3010
+ if (u.current)
3011
+ return;
3012
+ const { keypoints: A } = E, y = ke(
3013
+ A[6].x - A[8].x,
3014
+ A[6].y - A[8].y
3015
+ ), B = ke(
3016
+ A[2].x - A[1].x,
3017
+ A[2].y - A[1].y
3018
+ ) / y * 10;
3019
+ if (B > m) {
3020
+ if (i.current || !s.current)
3021
+ return;
3022
+ i.current = B, s.current = !1, l.current = setTimeout(() => {
3023
+ i.current = null;
3024
+ }, 3e3);
3025
+ } else
3026
+ i.current && i.current - B > m / 2 && (d.current += 1, i.current = null, l.current && clearTimeout(l.current)), s.current = !0;
3027
+ h();
3028
+ } };
3029
+ }
3030
+ function Ds(e) {
3031
+ const { onMessage: t, onComplete: n, difficulty: r } = e, o = x(!1), i = G(() => {
3032
+ switch (r) {
3033
+ case "easy":
3034
+ return 80;
3035
+ case "hard":
3036
+ return 120;
3037
+ default:
3038
+ return 100;
3039
+ }
3040
+ }, []);
3041
+ return { evaluate: (l) => {
3042
+ if (o.current)
3043
+ return;
3044
+ const { keypoints: a } = l, d = ke(
3045
+ a[6].x - a[8].x,
3046
+ a[6].y - a[8].y
3047
+ );
3048
+ if (ke(
3049
+ a[14].x - a[13].x,
3050
+ a[14].y - a[13].y
3051
+ ) / d * 100 > i) {
3052
+ o.current = !0, t("Awesome!"), setTimeout(() => {
3053
+ n();
3054
+ }, 500);
3055
+ return;
3056
+ }
3057
+ t("Open your mouth wide");
3058
+ } };
3059
+ }
3060
+ function Bs(e) {
3061
+ const { total: t, onMessage: n, onComplete: r, difficulty: o } = e, i = x(!0), s = x(!1), l = x(null), a = x(0), d = G(() => {
3062
+ switch (o) {
3063
+ case "easy":
3064
+ return {
3065
+ closed: 20,
3066
+ open: 30
3067
+ };
3068
+ case "hard":
3069
+ return {
3070
+ closed: 10,
3071
+ open: 30
3072
+ };
3073
+ default:
3074
+ return {
3075
+ closed: 15,
3076
+ open: 30
3077
+ };
3078
+ }
3079
+ }, []), u = (v) => {
3080
+ i.current && (v >= d.closed || (i.current = !1, l.current = Date.now()));
3081
+ }, m = (v) => {
3082
+ if (!i.current && !(v < d.open) && (i.current = !0, l.current)) {
3083
+ const E = Date.now(), A = l.current;
3084
+ (E - A) / 1e3 <= 2 && (a.current += 1);
3085
+ }
3086
+ }, h = () => {
3087
+ if (a.current < t) {
3088
+ const v = t - a.current;
3089
+ let E = `Blink right eye ${v} `;
3090
+ v < t && (E += "more "), E += v > 1 ? "times" : "time", n(E);
3091
+ return;
3092
+ }
3093
+ s.current = !0, n("Great, hang on..."), setTimeout(() => {
3094
+ r();
3095
+ }, 500);
3096
+ };
3097
+ return { evaluate: (v) => {
3098
+ if (s.current)
3099
+ return;
3100
+ const { keypoints: E } = v, A = ke(
3101
+ E[6].x - E[8].x,
3102
+ E[6].y - E[8].y
3103
+ ), b = ke(
3104
+ E[145].x - E[159].x,
3105
+ E[145].y - E[159].y
3106
+ ) / A * 100;
3107
+ u(b), m(b), h();
3108
+ } };
3109
+ }
3110
+ function Ms() {
3111
+ return {
3112
+ requestDeviceOrientationPermission: async () => {
3113
+ if (!window.DeviceOrientationEvent)
3114
+ throw new Error("Cannot continue. Transfer to mobile device to complete");
3115
+ const t = window.DeviceOrientationEvent;
3116
+ if (typeof t.requestPermission == "function" && await t.requestPermission() !== "granted")
3117
+ throw new Error("Permission for device orientation not granted");
3118
+ }
3119
+ };
3120
+ }
3121
+ var xr = /* @__PURE__ */ ((e) => (e.nod = "nod", e.open_mouth = "open_mouth", e.blink = "blink", e))(xr || {});
3122
+ const Sn = Ia(Object.keys(xr));
3123
+ function Is(e) {
3124
+ const { difficulty: t, maxBlinks: n = 5, maxNods: r = 5 } = e, o = x(0), [i, s] = j("Keep face in camera"), [l, a] = j(!1), [d, u] = j(null), m = x(!1), { requestDeviceOrientationPermission: h } = Ms(), p = () => {
3125
+ if (o.current === Sn.length - 1) {
3126
+ a(!0);
3127
+ return;
3128
+ }
3129
+ o.current += 1;
3130
+ }, v = Rs({
3131
+ total: Math.floor(Math.random() * r + 1),
3132
+ difficulty: t,
3133
+ onMessage: (T) => s(T),
3134
+ onComplete: p
3135
+ }), E = Ds({
3136
+ difficulty: t,
3137
+ onMessage: (T) => s(T),
3138
+ onComplete: p
3139
+ }), A = Bs({
3140
+ total: Math.floor(Math.random() * n + 1),
3141
+ difficulty: t,
3142
+ onMessage: (T) => s(T),
3143
+ onComplete: p
3144
+ }), { detectFaces: y } = cn({
3145
+ onFace: (T) => {
3146
+ switch (m.current || (m.current = !0), Sn[o.current]) {
3147
+ case "nod":
3148
+ v.evaluate(T);
3149
+ break;
3150
+ case "open_mouth":
3151
+ E.evaluate(T);
3152
+ break;
3153
+ case "blink":
3154
+ A.evaluate(T);
3155
+ break;
3156
+ }
3157
+ },
3158
+ onError: (T) => {
3159
+ s(T);
3160
+ }
3161
+ }), b = async (T) => {
3162
+ try {
3163
+ if (!T.current || l)
3164
+ return;
3165
+ const { videoWidth: C } = T.current;
3166
+ await y({ ref: T, frameSize: C, throttleInterval: 500 });
3167
+ } catch {
3168
+ }
3169
+ }, B = async () => {
3170
+ try {
3171
+ await h();
3172
+ } catch (T) {
3173
+ const C = T;
3174
+ s(C.message), u(C);
3175
+ }
3176
+ };
3177
+ return /* @__PURE__ */ f.jsx(
3178
+ ln,
3179
+ {
3180
+ instruction: {
3181
+ title: i,
3182
+ description: "Follow the directives as instructed"
3183
+ },
3184
+ name: "motions",
3185
+ completed: l,
3186
+ onStart: B,
3187
+ children: !d && /* @__PURE__ */ f.jsx(sn, { onStream: b })
3188
+ }
3189
+ );
3190
+ }
3191
+ function js() {
3192
+ var m;
3193
+ const { toggleColorScheme: e, getColorScheme: t, setColorScheme: n } = Za(), { user: r, tasks: o, currentTaskIndex: i, completed: s, onRequestClose: l } = Ne(), [a, d] = j(!1);
3194
+ H(() => {
3195
+ const h = t();
3196
+ n(h);
3197
+ }, []);
3198
+ const u = P(
3199
+ (h) => h === i ? z.active : i > h ? z.completed : "subtext",
3200
+ [i]
3201
+ );
3202
+ return /* @__PURE__ */ f.jsx("div", { className: z.root, children: /* @__PURE__ */ f.jsxs("div", { className: z.container, children: [
3203
+ /* @__PURE__ */ f.jsxs("div", { className: `${z.lhs} divider`, children: [
3204
+ /* @__PURE__ */ f.jsxs("div", { className: z.info, children: [
3205
+ /* @__PURE__ */ f.jsx(Va, {}),
3206
+ /* @__PURE__ */ f.jsx("div", { children: /* @__PURE__ */ f.jsx("p", { className: "text-xs m-0 p-0 subtext", children: "You have been given this set of tasks to complete. They are pretty easy to do but we will be guiding you every step of the way." }) }),
3207
+ /* @__PURE__ */ f.jsxs("ol", { children: [
3208
+ o.map((h, p) => /* @__PURE__ */ f.jsx("li", { className: u(p), children: wr[h.id].name }, `task-${p}`)),
3209
+ /* @__PURE__ */ f.jsx("li", { className: s ? z.active : "", children: "Complete! 🎉" })
3210
+ ] })
3211
+ ] }),
3212
+ /* @__PURE__ */ f.jsxs("footer", { className: "divider", children: [
3213
+ /* @__PURE__ */ f.jsx("div", { children: "Powered by Youverify" }),
3214
+ /* @__PURE__ */ f.jsxs("div", { onClick: () => e(), role: "button", children: [
3215
+ /* @__PURE__ */ f.jsx("div", { className: "dark:hidden", children: /* @__PURE__ */ f.jsx(vr, {}) }),
3216
+ /* @__PURE__ */ f.jsx("div", { className: "hidden dark:block", children: /* @__PURE__ */ f.jsx(ya, {}) })
3217
+ ] })
3218
+ ] })
3219
+ ] }),
3220
+ /* @__PURE__ */ f.jsx("div", { className: z.main, children: /* @__PURE__ */ f.jsxs("div", { className: z.content, children: [
3221
+ /* @__PURE__ */ f.jsx(
3222
+ ve,
3223
+ {
3224
+ show: !a,
3225
+ as: "div",
3226
+ leave: "transform transition duration-300",
3227
+ leaveFrom: "translate-y-0 opacity-100",
3228
+ leaveTo: "-translate-y-full opacity-0",
3229
+ enterFrom: "translate-y-full opacity-0",
3230
+ enterTo: "translate-y-0 opacity-100",
3231
+ className: "h-full w-full",
3232
+ children: /* @__PURE__ */ f.jsx("div", { className: z.completed, children: /* @__PURE__ */ f.jsx(
3233
+ vt,
3234
+ {
3235
+ Icon: Ta,
3236
+ title: "Liveness Check",
3237
+ description: "To ensure the security of your identity, we conduct a liveness check to verify that you are a real person actively engaging with the process.",
3238
+ actionText: "Start Liveness Test",
3239
+ onActionClick: () => d(!0)
3240
+ }
3241
+ ) })
3242
+ }
3243
+ ),
3244
+ o.map((h, p) => {
3245
+ let v;
3246
+ switch (h.id) {
3247
+ case "complete-the-circle":
3248
+ v = /* @__PURE__ */ f.jsx(vs, { ...h });
3249
+ break;
3250
+ case "yes-or-no":
3251
+ v = /* @__PURE__ */ f.jsx(Ts, { ...h });
3252
+ break;
3253
+ case "motions":
3254
+ v = /* @__PURE__ */ f.jsx(Is, { ...h });
3255
+ break;
3256
+ default:
3257
+ v = /* @__PURE__ */ f.jsx(re, {});
3258
+ break;
3259
+ }
3260
+ return /* @__PURE__ */ f.jsx(
3261
+ ve,
3262
+ {
3263
+ show: a && !s && i === p,
3264
+ appear: !0,
3265
+ as: "div",
3266
+ leave: "transform transition duration-300",
3267
+ leaveFrom: "translate-y-0 opacity-100",
3268
+ leaveTo: "-translate-y-full opacity-0",
3269
+ enterFrom: "translate-y-full opacity-0",
3270
+ enterTo: "translate-y-0 opacity-100",
3271
+ className: "h-full",
3272
+ children: v
3273
+ },
3274
+ `task-${p}`
3275
+ );
3276
+ }),
3277
+ /* @__PURE__ */ f.jsx(
3278
+ ve,
3279
+ {
3280
+ show: a && s,
3281
+ as: "div",
3282
+ leave: "transform transition duration-300",
3283
+ leaveFrom: "translate-y-0 opacity-100",
3284
+ leaveTo: "-translate-y-full opacity-0",
3285
+ enterFrom: "translate-y-full opacity-0",
3286
+ enterTo: "translate-y-0 opacity-100",
3287
+ className: "h-full w-full",
3288
+ children: /* @__PURE__ */ f.jsx("div", { className: z.completed, children: /* @__PURE__ */ f.jsx(
3289
+ vt,
3290
+ {
3291
+ Icon: Fa,
3292
+ title: "Successful",
3293
+ description: "Your Identity verification has been completed successfully. Thanks for your patience",
3294
+ actionText: "Close",
3295
+ onActionClick: () => l()
3296
+ }
3297
+ ) })
3298
+ }
3299
+ )
3300
+ ] }) }),
3301
+ /* @__PURE__ */ f.jsxs("div", { className: `${z.rhs} divider`, children: [
3302
+ r && /* @__PURE__ */ f.jsxs("div", { className: `${z.profile} divider`, children: [
3303
+ /* @__PURE__ */ f.jsx("div", { children: /* @__PURE__ */ f.jsxs("div", { className: z.avatar, children: [
3304
+ r.firstName.charAt(0).toUpperCase(),
3305
+ (m = r.lastName) == null ? void 0 : m.charAt(0).toUpperCase()
3306
+ ] }) }),
3307
+ /* @__PURE__ */ f.jsxs("div", { children: [
3308
+ /* @__PURE__ */ f.jsxs("h4", { children: [
3309
+ r.firstName,
3310
+ " ",
3311
+ r.lastName
3312
+ ] }),
3313
+ r.email && /* @__PURE__ */ f.jsx("p", { className: "subtext", children: r.email })
3314
+ ] })
3315
+ ] }),
3316
+ /* @__PURE__ */ f.jsxs("footer", { children: [
3317
+ /* @__PURE__ */ f.jsx("div", { children: "About · Terms · Help · Privacy · Contact" }),
3318
+ /* @__PURE__ */ f.jsx("div", { children: "© 2024 from Youverify Inc." })
3319
+ ] })
3320
+ ] })
3321
+ ] }) });
3322
+ }
3323
+ function Os(e) {
3324
+ const {
3325
+ tasks: t,
3326
+ namespace: n,
3327
+ user: r,
3328
+ branding: o,
3329
+ onClose: i = () => {
3330
+ },
3331
+ onSuccess: s,
3332
+ onFailure: l,
3333
+ presentation: a = "modal"
3334
+ } = e, [d, u] = j(e.show), m = () => {
3335
+ u(!1), i();
3336
+ };
3337
+ return /* @__PURE__ */ f.jsx(
3338
+ ja,
3339
+ {
3340
+ namespace: n,
3341
+ tasks: t,
3342
+ user: r,
3343
+ branding: o,
3344
+ onRequestClose: m,
3345
+ onSuccess: s,
3346
+ onFailure: l,
3347
+ children: /* @__PURE__ */ f.jsxs(
3348
+ pa,
3349
+ {
3350
+ id: n,
3351
+ open: a === "page" ? !0 : d,
3352
+ onClose: m,
3353
+ transition: !0,
3354
+ className: `${ft.root} ${ft[a]}`,
3355
+ style: {
3356
+ "--branding-color": (o == null ? void 0 : o.color) ?? as
3357
+ },
3358
+ children: [
3359
+ a === "modal" && /* @__PURE__ */ f.jsx(
3360
+ "div",
3361
+ {
3362
+ onClick: () => u(!1),
3363
+ role: "button",
3364
+ className: ft.close,
3365
+ children: /* @__PURE__ */ f.jsx(Ra, { className: "text-white" })
3366
+ }
3367
+ ),
3368
+ /* @__PURE__ */ f.jsx(gr, { className: `${ft.container}`, children: /* @__PURE__ */ f.jsx(js, {}) })
3369
+ ]
3370
+ }
3371
+ )
3372
+ }
3373
+ );
3374
+ }
3375
+ class ks {
3376
+ constructor(t) {
3377
+ this.tasks = [], this.container = null, this.namespace = "liveness-web-sdk", this.scriptsURLs = [
3378
+ "https://cdn.jsdelivr.net/npm/@mediapipe/face_mesh@0.4.1633559619/face_mesh.min.js",
3379
+ "https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-core@4.20.0/dist/tf-core.min.js",
3380
+ "https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-webgl@4.20.0/dist/tf-backend-webgl.min.js",
3381
+ "https://cdn.jsdelivr.net/npm/@tensorflow-models/face-landmarks-detection@1.0.5/dist/face-landmarks-detection.min.js"
3382
+ ], this.addedResources = [];
3383
+ const { presentation: n = "modal" } = t;
3384
+ this.presentation = n, this.props = t, t.tasks && (this.tasks = t.tasks), this.addResources(), n === "page" && this.start();
3385
+ }
3386
+ addResources() {
3387
+ for (const t of this.scriptsURLs) {
3388
+ const n = document.createElement("script");
3389
+ n.src = t, n.async = !1, this.addedResources.push(n), document.head.appendChild(n);
3390
+ }
3391
+ }
3392
+ removeResources() {
3393
+ for (const t of this.addedResources)
3394
+ document.head.removeChild(t);
3395
+ }
3396
+ async start(t) {
3397
+ if (t && (this.tasks = t), !this.tasks)
3398
+ throw new Error("Tasks cannot be empty!");
3399
+ this.container = document.createElement("div"), document.body.appendChild(this.container), Ze.createRoot(this.container).render(
3400
+ /* @__PURE__ */ f.jsx(F.StrictMode, { children: /* @__PURE__ */ f.jsx(
3401
+ Os,
3402
+ {
3403
+ namespace: this.namespace,
3404
+ presentation: this.props.presentation,
3405
+ show: !0,
3406
+ tasks: this.tasks,
3407
+ user: this.props.user,
3408
+ branding: this.props.branding,
3409
+ onClose: () => this.close(),
3410
+ onSuccess: this.props.onSuccess,
3411
+ onFailure: this.props.onFailure
3412
+ }
3413
+ ) })
3414
+ );
3415
+ }
3416
+ close() {
3417
+ this.container && this.presentation !== "page" && document.body.removeChild(this.container), this.props.onClose && this.props.onClose();
3418
+ }
3419
+ terminate() {
3420
+ this.removeResources();
3421
+ }
3422
+ }
3423
+ export {
3424
+ ks as default
3425
+ };