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/README.md +137 -0
- package/dist/favicon.ico +0 -0
- package/dist/index.d.ts +76 -0
- package/dist/index.js +3425 -0
- package/dist/index.umd.cjs +34 -0
- package/dist/logo192.png +0 -0
- package/dist/logo512.png +0 -0
- package/dist/manifest.json +25 -0
- package/dist/robots.txt +3 -0
- package/dist/yv_logo.svg +20 -0
- package/package.json +81 -0
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
|
+
};
|